KR101102679B1 - Recording medium, playback apparatus and method, recording method, and computer-readable medium - Google Patents

Recording medium, playback apparatus and method, recording method, and computer-readable medium Download PDF

Info

Publication number
KR101102679B1
KR101102679B1 KR1020097022115A KR20097022115A KR101102679B1 KR 101102679 B1 KR101102679 B1 KR 101102679B1 KR 1020097022115 A KR1020097022115 A KR 1020097022115A KR 20097022115 A KR20097022115 A KR 20097022115A KR 101102679 B1 KR101102679 B1 KR 101102679B1
Authority
KR
South Korea
Prior art keywords
information
graphics
button
stream
page
Prior art date
Application number
KR1020097022115A
Other languages
Korean (ko)
Other versions
KR20090121408A (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 파나소닉 주식회사
Publication of KR20090121408A publication Critical patent/KR20090121408A/en
Application granted granted Critical
Publication of KR101102679B1 publication Critical patent/KR101102679B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/309Table of contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • 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/2541Blu-ray discs; Blue laser DVR discs
    • 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

BD-ROM은 비디오 스트림과 그래픽스 스트림을 저장한다. 비디오 스트림은 동영상을 나타낸다. 그래픽스 스트림은 동영상 위에 멀티-페이지 메뉴를 오버레이하는데 사용되고, 인터랙티브 제어정보(ICS)와 멀티페이지 메뉴를 생성하는데 사용되는 그래픽스 데이터(ODS)를 포함한다. 인터랙티브 제어정보를 포함하는 PES 패킷에 부착된 PTS는 비디오 스트림 재생 처리에 따라 멀티페이지 메뉴의 메인 페이지의 첫 번째 표시를 위한 타이밍을 나타낸다. 또한, 인터랙티브 제어정보는 멀티-페이지 메뉴의 페이지 상 버튼이 자동을 활성화되는 타임아웃을 나타내는 정보(selection_time_out_pts)와 멀티-페이지 메뉴의 서브 페이지가 자동으로 제거되는 타임아웃을 나타내는 정보(user_time_out_duration)를 포함한다.

Figure R1020097022115

BDROM, 오버레이, 멀티페이지, 메뉴, 대화형, 버튼

BD-ROM stores video streams and graphics streams. The video stream represents a video. The graphics stream is used to overlay a multi-page menu over a moving image and includes interactive control information (ICS) and graphics data (ODS) used to generate a multipage menu. The PTS attached to the PES packet containing the interactive control information indicates the timing for the first display of the main page of the multipage menu according to the video stream reproduction processing. In addition, the interactive control information includes information (selection_time_out_pts) indicating the timeout when the on-page button of the multi-page menu is automatically activated and information (user_time_out_duration) indicating the timeout when the subpage of the multi-page menu is automatically removed. do.

Figure R1020097022115

BDROM, Overlay, Multipage, Menu, Interactive, Buttons

Description

기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체{RECORDING MEDIUM, PLAYBACK APPARATUS AND METHOD, RECORDING METHOD, AND COMPUTER-READABLE MEDIUM}RECORDING MEDIUM, PLAYBACK APPARATUS AND METHOD, RECORDING METHOD, AND COMPUTER-READABLE MEDIUM}

본 발명은 사용자 인터페이스 제어 분야에 관한 것이다. 더 구체적으로, 본 발명은 기록매체의 재생을 위한 사용자 인터페이스를 구비한 소비자 재생장치에서뿐만 아니라 소비자 영화 분배를 위해 사용된 기록매체의 개량에 관한 것이다.The present invention relates to the field of user interface control. More specifically, the present invention relates to an improvement of a record carrier used for consumer movie distribution as well as in a consumer playback device having a user interface for playback of the record carrier.

메뉴 구조체를 이용하는 사용자 인터페이스는 재생을 위한 언어와 챕터(chapter)의 선택과 같은 사용자 조작을 수신하기 위한 필수 기능이다. The user interface using the menu structure is an essential function for receiving user operations such as the selection of languages and chapters for playback.

영화가 챕터와 같은 다수의 사용자-선택가능한 옵션을 제공할 때, 모든 옵션이 단일 화면 표시에 제공될 수 없는 경우가 있을 수 있다. 따라서, 다수의 페이지가 사용자 조작에 응답하여 순차적으로 표시되는 멀티-페이지 메뉴에 대한 요구가 있어, 다양한 옵션이 메뉴의 각 페이지에 적절하게 표시된다.When a movie provides multiple user-selectable options, such as chapters, there may be cases where not all options can be provided in a single screen display. Thus, there is a need for a multi-page menu in which a plurality of pages are displayed sequentially in response to a user operation, so that various options are appropriately displayed on each page of the menu.

그러나, 불행하게 너무 많은 페이지가 표시되면, 이 페이지들은 화면의 대부분을 차지하며, 이에 따라 화면에 역시 표시되는 메인 영화를 시청하는 것을 방해한다. 이러한 문제는 사용자가 더 이상 흥미를 갖지 않는 각 페이지를 제거하는 조작을 반복하면 피할 수 있다. 그러나, 이러한 번거로운 조작을 계속해야 하는 필요성은 사용자가 영화를 시청하는 것을 방해하는 또 다른 요소일 수 있다.However, unfortunately if too many pages are displayed, these pages occupy most of the screen, thus preventing viewing the main movie which is also displayed on the screen. This problem can be avoided by repeating the operation of removing each page that the user is no longer interested in. However, the need to continue this cumbersome operation may be another factor that prevents the user from watching a movie.

또한, DVD가 제공하는 인터랙티브(interactive) 제어는 다음의 단점을 갖는다. 표시될 각 메뉴에 대해, 페이지정보를 판독하기 위해서 DVD에 대한 액세스가 이루어질 필요가 있다. 이 액세스 때문에, 비디오 재생에 중단 없이 메뉴 페이지를 표시할 수 없다. 이러한 중단 때문에 사용자는 영화에 집중하여 즐기는 것이 어렵게 된다.In addition, the interactive control provided by DVD has the following disadvantages. For each menu to be displayed, access to the DVD needs to be made to read the page information. Because of this access, the menu page cannot be displayed without interruption in video playback. This interruption makes it difficult for the user to concentrate on the movie.

본 발명은 비디오 재생을 방해하지 않을 멀티-페이지 메뉴의 표시를 지원하는 기록매체를 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a recording medium supporting the display of a multi-page menu that will not interfere with video playback.

상기한 목적을 달성하기 위하여, 본 발명의 기록매체는, 비디오 스트림 및 그래픽스 스트림이 기록되어 있는 기록매체로, 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하고, 대화제어 세그먼트는 복수의 페이지정보와 시간정보 및 스트림 모델정보를 포함하며, 복수의 페이지정보는 멀티페이지 메뉴의 화면 구성을 규정하는 정보이고, 각 페이지정보는 하나 이상의 버튼정보를 포함하며, 각 버튼정보는 그래픽스 오브젝트를 버튼 부재의 한 상태로 표시시킴으로써 멀티페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이고, 상기 시간정보는 타임아웃정보를 포함하고, 상기 타임아웃정보는 멀티페이지 메뉴의 각 페이지 내에 존재하는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 소정 시간 경과 후에 활성화(activate) 시키는 시각을 나타내며, 상기 시간정보는 컴포지션 타임아웃정보를 더 포함하고, 상기 컴포지션 타임아웃정보는 대화제어를 종료시키는 시각을 나타내며, 상기 스트림 모델정보는, 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되는가, 그래픽스 스트림이 비디오 스트림과 다중화되지 않고 기록매체에 기록되는가를 나타내고, 상기 타임아웃정보 및 상기 컴포지션 타임아웃정보는 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되어 있는 경우에만 유효해지는 것을 특징으로 한다.In order to achieve the above object, the recording medium of the present invention is a recording medium in which a video stream and a graphics stream are recorded, the graphics stream including at least one conversation control segment and an object definition segment defining a graphics object. The control segment includes a plurality of page information, time information, and stream model information. The plurality of page information is information defining a screen configuration of a multipage menu, each page information includes one or more button information, and each button information. Is information for realizing an interactive screen configuration on each page constituting a multipage menu by displaying a graphic object in a state of a button member, wherein the time information includes timeout information, and the timeout information is a multipage menu. Out of buttons present within each page of Indicates a time for activating a button member which is in a selected state after a predetermined time elapses, wherein the time information further includes composition timeout information, and the composition timeout information indicates a time for ending conversation control. The stream model information indicates whether the graphics stream is multiplexed with the video stream and recorded on the recording medium, or the graphics stream is recorded on the recording medium without being multiplexed with the video stream. The timeout information and the composition timeout information include It is characterized in that it becomes valid only when the stream is multiplexed with the video stream and recorded on the recording medium.

상기한 구조를 갖는 기록매체에 의하면, 비디오 스트림에 다중화된 그래픽스 스트림의 대화제어 세그먼트는 동화상의 재생의 진행에 수반한 멀티페이지 메뉴의 표시상태를 규정하는 시간정보를 포함하고 있으므로, 영화의 재생이 풍경이 재생되고 있는 장면에서 다수의 페이지를 자동으로 표시할 수 있게 한다. 또한, 영화 재생이 클라이맥스 장면에 도달한 경우 장면으로부터 이 페이지를 자동으로 제거할 수 있다. 이러한 제어에 의하면, 멀티-페이지 메뉴는 영화 재생 시청을 방해하지 않고 표시된다. 결과적으로, 사용자는 방해가 되는 디스플레이 없이 영화 재생을 시청하면서 멀티-페이지 메뉴가 제공하는 편리함을 즐길 수 있다.According to the recording medium having the above-described structure, since the dialogue control segment of the graphics stream multiplexed in the video stream contains time information that defines the display state of the multipage menu accompanying the progression of the moving image, the reproduction of the movie is difficult. Allows you to automatically display multiple pages in the scene from which the scenery is being played. You can also automatically remove this page from the scene when movie playback reaches the climax scene. According to this control, the multi-page menu is displayed without disturbing the movie playback viewing. As a result, the user can enjoy the convenience provided by the multi-page menu while watching movie playback without disturbing display.

또한, 멀티-페이지 메뉴 동작을 제어하는데 사용되는 정보는 그래픽스 스트림에 포함되며, 그래픽스 스트림은 비디오 스트림으로 다중화된다. 이 구조는 재생장치가 비디오 스트림 판독을 방해하지 않고 멀티-페이지 메뉴의 표시를 위해 필요한 정보를 판독하도록 한다. 따라서, 멀티-페이지 메뉴의 페이지는 비디오 프레임 속도와 동기하여 부드럽게 표시된다.In addition, information used to control the multi-page menu operation is included in the graphics stream, which is multiplexed into the video stream. This structure allows the playback device to read the information necessary for the display of the multi-page menu without disturbing the reading of the video stream. Thus, the pages of the multi-page menu are displayed smoothly in synchronization with the video frame rate.

(제 1 실시예)(First embodiment)

이하, 본 발명에 따른 기록매체의 실시예에 대해 설명한다. 먼저, 본 발명을 실시하는 한 형태인 기록매체의 사용에 대해 설명한다. 도 1은 본 발명에 따른 기록매체의 사용패턴을 나타낸다. 도면에서, BD-ROM(100)이 본 발명에 따른 기록매체이다. BD-ROM(100)은 재생장치(200), 리모트 컨트롤러(300), 및 텔레비전(400)으로 구성된 홈 씨어터 시스템에 영화를 제공하기 위해 사용된다.Hereinafter, an embodiment of a recording medium according to the present invention will be described. First, the use of a recording medium which is one embodiment of the present invention will be described. 1 shows a usage pattern of a recording medium according to the present invention. In the figure, the BD-ROM 100 is a recording medium according to the present invention. The BD-ROM 100 is used to provide a movie to a home theater system composed of a playback apparatus 200, a remote controller 300, and a television 400.

이것으로 본 발명에 따른 기록매체의 사용에 대한 설명을 마친다. 다음, 본 발명을 실시하는 다른 형태인 기록매체의 제작에 대해 설명한다. 기록매체는 BD-ROM의 애플리케이션 층에 개선을 함으로써 실시된다. 도 2는 BD-ROM(100)의 구조 예를 나타낸다.This concludes the description of the use of the recording medium according to the present invention. Next, the production of a recording medium which is another embodiment of the present invention will be described. The recording medium is implemented by improving the application layer of the BD-ROM. 2 shows a structural example of the BD-ROM 100.

도면에서, BD-ROM(100)은 제 4 레벨에 도시되고, BD-ROM의 트랙은 제 3 레벨에 도시된다. 트랙은 실제 BD-ROM의 중심에서 외측으로 나선형을 그리지만, 도면에서는 직선으로 펼쳐진다. 트랙은 리드-인(lead-in) 영역, 볼륨 영역, 및 리드-아웃(lead-out) 영역으로 구성된다. 볼륨 영역은 물리층, 파일 시스템층, 및 애플리케이션층의 층 모델을 갖는다. 디렉터리 구조에서, 제 1 레벨은 BD-ROM의 애플리케이션층의 포맷(애플리케이션 포맷)을 나타낸다.In the figure, the BD-ROM 100 is shown at the fourth level, and the tracks of the BD-ROM are shown at the third level. The track spirals outward from the center of the actual BD-ROM, but in the figure unfolds in a straight line. The track is composed of a lead-in area, a volume area, and a lead-out area. The volume area has a layer model of physical layer, file system layer, and application layer. In the directory structure, the first level represents the format (application format) of the application layer of the BD-ROM.

도면에서, BD-ROM은 루트 디렉터리, 루트 디렉터리 아래에 BDMV 디렉터리, 그리고 BDMV 디렉터리 아래에 STREAM 디렉터리를 갖는다.In the figure, the BD-ROM has a root directory, a BDMV directory under the root directory, and a STREAM directory under the BDMV directory.

STREAM 디렉터리는 AV 클립과 서브(sub) 클립을 포함한다. AV 클립과 서브 클립은 "00001.m2ts", "00002.m2ts", 및 "00003.m2ts"과 같이 STREAM 디렉터리에서 파일로 포함된다. STREAM 디렉터리의 각 파일은 단일화된 포맷의 파일명 "xxxxx.m2ts"(여기서 x는 임의의 정수이다)를 갖는다.The STREAM directory contains AV clips and sub clips. AV clips and sub clips are included as files in the STREAM directory, such as "00001.m2ts", "00002.m2ts", and "00003.m2ts". Each file in the STREAM directory has the file name "xxxxx.m2ts" in a unified format, where x is any integer.

<AV 클립 구조><AV clip structure>

이제, AV 클립에 대해 설명한다. 도 3은 AV 클립의 구조를 도식적으로 나타낸 도면이다.Now, the AV clip will be described. 3 is a diagram schematically showing the structure of an AV clip.

도면에서, 중간레벨은 AV 클립을 나타낸다. 이 AV 클립은 다음과 같이 생성할 수 있다. 상부 제 1 레벨에 나타낸 다수의 비디오 프레임(화상 pj1, pj2, pj3,...)으로 구성된 비디오 스트림과 다수의 오디오 프레임으로 구성된 오디오 스트림은 모두 개별적으로 하부 제 2 레벨에 나타낸 PES 패킷으로 변화되고, 상부 제 3 레벨에 나타낸 TS 패킷으로 더 변화된다. 마찬가지로, 하부 제 1 레벨에 나타낸 프리젠테이션 그래픽스 스트림(이하, "PG 스트림"이라 함)과 인터랙티브 그래픽스 스트림(이하, "IG 스트림"이라 함)은 모두 개별적으로 하부 제 2 레벨에 나타낸 PES 패킷으로 변화되고, 하부 제 3 레벨에 나타낸 TS 패킷으로 더 변화된다. 비디오, 오디오, PG 및 IG의 이들 TS 패킷은 다중화되어 AV 패킷을 형성한다.In the figure, the intermediate level represents an AV clip. This AV clip can be generated as follows. The video stream consisting of a plurality of video frames (pictures pj1, pj2, pj3, ...) and the audio stream consisting of a plurality of audio frames, both shown in the upper first level, are all individually transformed into PES packets shown in the lower second level. Is further changed to the TS packet shown in the upper third level. Similarly, both presentation graphics streams (hereinafter referred to as "PG streams") and interactive graphics streams (hereinafter referred to as "IG streams") shown at the lower first level are individually changed to PES packets shown at the lower second level. And the TS packet shown in the lower third level is further changed. These TS packets of video, audio, PG and IG are multiplexed to form an AV packet.

PG와 IG 스트림은 그래픽스를 비디오 스트림의 각 화상과 합성하는데 사용되는 스트림 포맷의 데이터이다. 화상 위에 중첩하기 위해 PG 및 IG 스트림이 실행하는 데이터 엔티티(entity)는 "그래픽스 오브젝트(graphics object)"라 부른다. PG and IG streams are data in the stream format used to combine graphics with each picture of the video stream. The data entity executed by the PG and IG streams to superimpose on the picture is called a "graphics object".

PG 스트림은 그래픽스 오브젝트를 사용하여 서브타이틀의 표시를 위해 사용 되는 그래픽스 스트림이다.A PG stream is a graphics stream used for the presentation of subtitles using graphics objects.

IG 스트림은 그래픽스 오브젝트의 인터랙티브 디스플레이를 위해 사용되는 그래픽스 스트림이다. 이것으로 AV 클립 구조에 대한 설명을 끝마친다. 다음, AV 클립과 서브 클립에 대해 설명한다. 서브 클립은 다중화되지 않는다. 오히려, 서브 클립은 IG 스트림, 오디오 스트림, 및 텍스트 데이터만을 포함하는 파일이다. 서브 클립으로 저장된 IG 스트림은 AV 클립과의 동기 재생을 위하여 미리 메모리에 로드된다. 서브 클립을 미리 메모리에 로딩하는 이 동작은 "프리로딩(preloading)"이라 한다.An IG stream is a graphics stream used for interactive display of graphics objects. This concludes the description of the AV clip structure. Next, the AV clip and the sub clip will be described. Sub clips are not multiplexed. Rather, a subclip is a file containing only an IG stream, an audio stream, and text data. The IG stream stored as the sub clip is loaded into the memory in advance for synchronous reproduction with the AV clip. This operation of loading a sub clip into memory in advance is called "preloading".

다음, IG 스트림에 대해 설명한다. 도 4a는 IG 스트림의 구조를 나타내는 도면이다. 제 1 레벨에, AV 클립을 구성하는 TS 패킷 열이 도시된다. 제 2 레벨에, 그래픽스 스트림을 구성하는 PES 패킷 열이 도시된다. 제 2 레벨에 나타낸 PES 패킷은 제 1 레벨에 나타낸 TS 패킷 열 내 기설정된 PID를 갖는 TS 패킷의 페이로드(payload)를 연쇄 결합(concatenate)함으로써 형성된다. PG스트림은 본 발명의 요지가 아니므로 추가 설명을 하지 않는다.Next, the IG stream will be described. 4A is a diagram illustrating the structure of an IG stream. At the first level, TS packet strings that make up the AV clip are shown. At the second level, the PES packet strings that make up the graphics stream are shown. The PES packet shown in the second level is formed by concatenating the payload of a TS packet having a preset PID in the TS packet column shown in the first level. The PG stream is not a subject matter of the present invention and no further explanation is provided.

제 3 레벨에, 그래픽스 스트림의 구조가 도시된다. 그래픽스 스트림은 ICS(Interactive Composition Segment), PDS(Palette Definition Segment), ODS(Object Definition Segment), 및 END(End of Display Set Segment)를 포함하는 기능 세그먼트들로 구성된다. 이들 기능 세그먼트 중에서 ICS는 디스플레이 합성 세그먼트인 반면, PDS, ODS, 및 END는 정의 세그먼트이다. 각 기능 세그먼트는 PES 패킷과 일-대-일로 또는 일-대-다수로 대응한다. 즉, 하나의 기능 세그먼트는 단일 세그먼트로 변화된 후, 또는 다수의 PES 패킷으로 단편화(fragment)되고 변화된 후, BD-ROM(100)에 기록된다.At the third level, the structure of the graphics stream is shown. The graphics stream is composed of functional segments including an Interactive Composition Segment (ICS), a Palette Definition Segment (PDS), an Object Definition Segment (ODS), and an End of Display Set Segment (END). Of these functional segments, ICS is a display synthesis segment, while PDS, ODS, and END are positive segments. Each functional segment corresponds to a PES packet one-to-one or one-to-many. That is, one functional segment is written to the BD-ROM 100 after being changed into a single segment or after being fragmented and changed into multiple PES packets.

이하, 이들 기능 세그먼트를 하나씩 설명한다.Hereinafter, these functional segments will be described one by one.

ICS는 그래픽스의 인터랙티브 디스플레이 합성을 정의하기 위해 사용되는 기능 세그먼트이다. 인터랙티브 디스플레이 합성의 일 예가 멀티-페이지 메뉴이다.ICS is a functional segment used to define the interactive display synthesis of graphics. One example of interactive display synthesis is a multi-page menu.

ODS는 다수의 런-렝스(run-length) 데이터 부분으로 구성된 런-렝스 부호화 그래픽스 오브젝트이다. 런-렝스 데이터는 픽셀 값과 픽셀 값의 연속 길이를 나타내는 픽셀 코드를 사용한 픽셀 열을 나타낸다. 픽셀 코드는 1에서 255까지의 값 중의 하나를 나타내는 8-비트 값이다. 이 픽셀 코드의 사용을 통하여, 런-렝스 데이터는 풀 컬러(16,777,216 컬러) 중 임의의 256 픽셀 컬러를 설정한다.ODS is a run-length encoded graphics object composed of a plurality of run-length data portions. Run-length data represents a column of pixels using a pixel code representing the pixel value and the continuous length of the pixel value. The pixel code is an 8-bit value representing one of the values from 1 to 255. Through the use of this pixel code, the run-length data sets any 256 pixel color of full color (16,777,216 colors).

PDS는 팔레트 데이터를 저장하는 기능 세그먼트이다. 팔레트 데이터는 1 내지 255의 픽셀 코드와 픽셀 값의 조합을 나타낸다. 여기서 사용된 픽셀 값은 적색차 성분(Cr 값), 청색차 성분(Cb 값), 밝기 성분(Y 값), 및 투명도(T 값)로 구성된다. 런-렝스 데이터의 각 부분의 픽셀 코드를 팔레트 데이터가 나타내는 픽셀 값으로 대체함으로써 색이 만들어진다.PDS is a functional segment for storing palette data. The palette data represents a combination of pixel codes and pixel values of 1 to 255. The pixel value used here is composed of a red difference component (Cr value), a blue difference component (Cb value), a brightness component (Y value), and transparency (T value). Colors are created by replacing the pixel code of each part of the run-length data with the pixel values represented by the palette data.

END는 기능 세그먼트의 전달이 완료되었다는 명확한 지시를 제공한다. END는 그래픽스 세그먼트에 최종 세그먼트로 삽입된다. 이것으로 각 기능 세그먼트에 대한 설명을 끝마친다.END provides a clear indication that the delivery of the functional segment is complete. END is inserted into the graphics segment as the final segment. This concludes the description of each functional segment.

도 4b는 기능 세그먼트를 운반하는 PES 패킷을 나타내는 도면이다. 도면에 도시한 바와 같이, 각 PES 패킷은 패킷 헤더와 페이로드로 구성된다. 페이로드는 기능 세그먼트를 운반하는 엔티티이고, 패킷 헤더는 기능 세그먼트와 관련된 DTS와 PTS를 운반한다. 이하, 기능 세그먼트를 운반하는 PES패킷의 패킷 헤더의 DTS와 PTS를 그 기능 세그먼트의 DTS와 PTS로 간단히 기재한다. 4B is a diagram illustrating a PES packet carrying a functional segment. As shown in the figure, each PES packet consists of a packet header and a payload. The payload is the entity carrying the functional segment, and the packet header carries the DTS and PTS associated with the functional segment. Hereinafter, the DTS and PTS of the packet header of the PES packet carrying the functional segment will be briefly described as the DTS and PTS of the functional segment.

이들 다양한 종류의 기능 세그먼트는 도 5에 나타낸 것과 같은 논리 구조를 정의한다. 도면에서, 제 1 레벨은 Epoch를 나타내고, 제 2 레벨은 DS(Display Set)를 나타내며, 제 3 레벨은 DS의 종류를 나타낸다. 도 4a의 제 3 레벨에 나타낸 기능 세그먼트는 이 도면의 제 4 레벨에 나타낸다.These various kinds of functional segments define a logical structure as shown in FIG. In the figure, the first level represents Epoch, the second level represents DS (Display Set), and the third level represents the type of DS. The functional segments shown in the third level of FIG. 4A are shown in the fourth level of this figure.

제 1 레벨의 Epoch는 AV 클립 재생 시간 축 위에 연속 메모리 관리의 하나의 시간 단위를 말하며, 또한 이 시간 단위에 할당된 데이터 그룹을 말한다. 여기서 언급한 메모리는 그래픽스 오브젝트의 한 화면을 저장하기 위한 그래픽스 플레인(graphics plane)과 비압축 그래픽스 데이터를 저장하기 위한 오브젝트 버퍼를 포함한다. 연속 메모리 관리는 그래픽스 플레인과 오브젝트 버퍼 어느 것도 전체 Epoch에서 비워지지 않으며, 그래픽스의 클리어링(clearing)과 렌더링(rendering)이 (전체 그래픽스 플레인이나 전체 오브젝트 버퍼를 클리어링하는 수단을 비우기 위해) 그래픽스 플레인의 기설정된 직사각 영역 내에만 수행되는 것을 의미한다. 이 직사각 영역의 크기와 위치는 전체 Epoch에서 고정된다. 그래픽스의 클리어링과 렌더링이 그래픽스 플레인의 이 고정된 직사각 영역 내에서 수행되는 한, 연속적인 재생이 보장된다. 다시 말해, Epoch는 AV 클립 재생 시간 축 상의 연속 재생의 시간 단위이다. 그래픽스 플레인의 그래픽스 클리어링/렌더링 영역을 변경하기 위하여, 변경이 이루어지는 재생 시간 축의 지점을 정의하고, 그 지점으로부터 이후로 새로운 Epoch를 설정하는 것이 필요하다. 이 경우, 두 Epoch 간의 경계는 연속하지 않는다. The first level of Epoch refers to one time unit of continuous memory management on the AV clip playback time axis, and also refers to the data group assigned to this time unit. The memory mentioned here includes a graphics plane for storing one screen of graphics objects and an object buffer for storing uncompressed graphics data. Continuous memory management ensures that neither the graphics plane nor the object buffer is emptied in the entire epoch, and graphics clearing and rendering (to free up the means for clearing the entire graphics plane or the entire object buffer) It means that it is performed only within the set rectangular area. The size and position of this rectangular region is fixed in the entire epoch. As long as the clearing and rendering of the graphics is performed within this fixed rectangular region of the graphics plane, continuous playback is guaranteed. In other words, Epoch is a time unit of continuous playback on the AV clip playback time axis. In order to change the graphics clearing / rendering area of the graphics plane, it is necessary to define a point on the playback time axis at which the change is made and to set a new Epoch from that point onwards. In this case, the boundary between two epochs is not continuous.

여기서 말하는 연속 재생이란 그래픽스의 클리어링과 렌더링이 각각 기설정된 수의 비디오 프레임으로 끝나는 것을 의미한다. IG 스트림의 경우, 비디오 프레임의 수는 4 내지 5이다. 비디오 프레임의 수는 전체 그래픽스 플레인에 대한 고정 직사각 영역의 비 및 오브젝트 버퍼와 그래픽스 플레인 간의 전송속도에 기초하여 결정된다.Continuous playback herein means that graphics clearing and rendering ends with a predetermined number of video frames, respectively. For an IG stream, the number of video frames is 4-5. The number of video frames is determined based on the ratio of the fixed rectangular region to the entire graphics plane and the transfer rate between the object buffer and the graphics plane.

제 2 레벨의 DS는 그래픽스 스트림에 포함된 기능 세그먼트 그룹으로 하나의 완전한 디스플레이 합성을 제공한다. 도 5에서, 점선 hk1은 제 2 레벨의 DS가 어떤 Epoch에 속하는지를 보여준다. DS1, DS2, DS3, ..., 및 DSn이 제 1 레벨의 첫 번째 Epoch에 속하는 것으로 나타난다. The second level of DS provides one complete display synthesis with a group of functional segments included in the graphics stream. In FIG. 5, the dotted line hk1 shows which Epoch belongs to the second level of DS. DS 1 , DS 2 , DS 3 , ..., and DS n appear to belong to the first Epoch of the first level.

제 3 레벨은 DS의 종류를 보여준다. Epoch의 첫 번째 DS는 "Epoch Start" DS이다. Epoch의 첫 번째 것을 제외한 각 DS는 "Acquisition Point" DS이거나 "Normal Case" DS, 또는 "Epoch Continue" DS이다. DS를 "Acquisition Point", "Normal Case", 및 "Epoch Continue" 순서로 나타내지만, 이 순서는 단순히 예이고 다른 순서로 정렬될 수 있다.The third level shows the kind of DS. Epoch's first DS is the "Epoch Start" DS. Each DS except the first one of Epoch is an "Acquisition Point" DS, a "Normal Case" DS, or an "Epoch Continue" DS. Although the DS is shown in the order of "Acquisition Point", "Normal Case", and "Epoch Continue", this order is merely an example and can be arranged in a different order.

Epoch Start DS는 "new display" 효과를 제공하고 새로운 Epoch의 시작을 지시한다. 따라서, Epoch Start DS는 다음 화면 합성을 위해 필요한 모든 기능 세그먼트를 포함한다. Epoch Start DS는, 영화에서 챕터의 시작과 같이 스킵 동작이 이 루어지기 쉬운 지점에 제공된다. The Epoch Start DS provides a "new display" effect and indicates the start of a new Epoch. Thus, Epoch Start DS contains all the functional segments needed for the next screen synthesis. The Epoch Start DS is provided at points where skipping is likely to occur, such as the beginning of a chapter in a movie.

Acquisition Point DS는 "display refresh" 디스플레이 효과를 제공하며, 앞선 Epoch Start DS와 내용에서 동일하다. Acquisition Point DS는 Epoch의 시작이 아니지만, 다음 화면 합성을 위해 필요한 모든 기능 세그먼트를 포함한다. 따라서, 재생이 Acquisition Point DS로부터 시작될 때 그래픽스는 신뢰성있게 표시될 수 있다. 즉, Acquisition Point DS는 디스플레이 합성이 Epoch의 중간지점으로부터 이루어질 수 있도록 한다.The Acquisition Point DS provides a "display refresh" display effect and is identical in content to the earlier Epoch Start DS. The Acquisition Point DS is not the beginning of Epoch, but includes all the functional segments needed for the next scene synthesis. Thus, the graphics can be displayed reliably when playback starts from the Acquisition Point DS. In other words, Acquisition Point DS allows display synthesis to occur from the midpoint of the Epoch.

Acquisition Point DS는 스킵 동작이 이루어질 수 있는 지점, 가령 시간 검색에 의해 지정될 수 있는 지점에 제공된다. 시간 검색은 사용자가 분/초로 입력한 시간에 대응하는 재생지점을 찾는 동작이다. 시간 입력은 10분 및 10초와 같이 상대적으로 큰 단위로 이루어진다. 따라서, Acquisition Point DS는 10분 및 10초 단위로 이루어지는 시간 검색에 의해 지정될 수 있는 지점에 제공된다. 시간 검색에 의해 지정될 수 있는 이러한 지점에 Acquisition Point DS를 제공함으로써, 시간 검색이 수행될 때 그래픽스 스트림의 재생이 부드럽게 실행될 수 있다.An Acquisition Point DS is provided at a point where a skip operation can be made, for example a point that can be designated by a time search. The time search is an operation for finding a playback point corresponding to the time input by the user in minutes / seconds. The time input is in relatively large units, such as 10 minutes and 10 seconds. Thus, Acquisition Point DS is provided at a point that can be designated by a time search made in units of 10 minutes and 10 seconds. By providing the Acquisition Point DS at this point that can be specified by the temporal search, playback of the graphics stream can be smoothly performed when the temporal search is performed.

Normal Case DS는 "dispaly update" 디스플레이 효과를 제공하며, 바로 앞선 디스플레이 합성과의 차이만을 포함한다. 예를 들어, DSv가 바로 앞선 DSu와 내용에서 동일하지만 디스플레이 합성에서 다르다면, DSv는 ICS나 ODS만을 포함하는 Normal Case DS이다. 이에 따라 DS에서 중첩하는 ODS를 제공할 필요가 없어져서 BD-ROM(100)에 저장되는 데이터량이 감소한다. Normal Case DS는 중첩 데이터 없이 차이를 포함하므로, Normal Case DS만을 가지고는 디스플레이 합성을 표시할 수 없 다.The Normal Case DS provides a "dispaly update" display effect and only includes the difference from the previous display synthesis. For example, if the DSv is the same in content as the previous DSu but different in display synthesis, then the DSv is a Normal Case DS that contains only ICS or ODS. This eliminates the need to provide overlapping ODSs in the DS, thereby reducing the amount of data stored in the BD-ROM 100. Since the Normal Case DS contains the difference without overlapping data, the display composition cannot be displayed only with the Normal Case DS.

Epoch Continue DS는 하나의 Epoch가 다른 AV 클립으로부터 계속되는 것을 AV 클립의 시작에서 나타낸다. 예를 들어, DSn은 "Epoch Continue"를 나타내는 값을 갖는 합성상태 필드를 포함한다. 이 경우, 두 DS가 서로 다른 AV 클립에 있더라도 DSn은 바로 앞선 DSn-1과 같은 Epoch에 속한다. DSn과 DSn-1이 같은 Epoch에 속하기 때문에, 두 DS 간에 AV 클립의 경계가 있더라도 그래픽스 플레인과 오브젝트 버퍼를 비우는 것은 없을 것이다. The Epoch Continue DS indicates at the start of an AV clip that one Epoch continues from another AV clip. For example, DS n includes a composite state field with a value representing "Epoch Continue." In this case, even though the two DSs are in different AV clips, DS n belongs to the same Epoch as the previous DS n-1 . Since DS n and DS n-1 belong to the same Epoch, there will be no emptying of the graphics plane and object buffer even if there is an AV clip boundary between the two DSs.

도 5에서, 점선 kz1은 제 4 레벨의 기능 세그먼트가 어떤 DS에 속하는지를 보여준다. 도 4a와 도 5에 도시한 기능 세그먼트가 같기 때문에, 도 4a에 도시한 기능 세그먼트는 Epoch Start DS에 속하는 것을 알게 된다. Acquisition Point DS에 속하는 기능 세그먼트는 Epoch Start DS에 속하는 것과 동일하다. 또한, 기능 세그먼트의 일부가 Normal Case DS에서 생략되는 것을 제외하고, Normal Case DS에 속하는 기능 세그먼트는 Epoch Start DS에 속하는 것과 동일하다. In FIG. 5, the dotted line kz1 shows which DS the functional segment of the fourth level belongs to. Since the functional segments shown in Figs. 4A and 5 are the same, it is found that the functional segments shown in Fig. 4A belong to the Epoch Start DS. The functional segments belonging to the Acquisition Point DS are the same as those belonging to the Epoch Start DS. Also, except that some of the functional segments are omitted from the Normal Case DS, the functional segments belonging to the Normal Case DS are the same as those belonging to the Epoch Start DS.

이것으로 기능 세그먼트가 정의하는 논리 구조에 대한 설명을 끝마친다. 다음, ICS와 ODS를 갖는 DS를 AV 클립 재생 시간 축에 배치하는 것에 대해 설명한다. Epoch는 연속 메모리 관리의 시간 단위이고 하나 이상의 DS를 포함하기 때문에, 그러한 DS가 AV 클립 재생 시간 축에 어떻게 배치되는지가 중요하다. "AV 클립 재생 시간 축"은 AV 클립에 다중화된 개별 화상들의 디코드 타이밍과 재생 타이밍을 정의하는데 사용되는 시간 축을 의미하는 것에 유의하라. 디코드 타이밍과 재생 타이 밍은 90KHz의 시간 정확도(time accuracy)로 표시된다. DS내 ICS나 ODS의 DTS 및 PTS는 어떤 동기 제어가 구현되는지에 기초한 타이밍을 보여준다. DS는, ICS와 ODS에 부착된 각 DTS와 PTS와 관련하여 동기 제어를 실행함으로써 AV 클립 재생 시간 축에 배치된다. This concludes the description of the logical structure defined by the functional segment. Next, arranging DSs having ICS and ODS on the AV clip playback time axis will be described. Since Epoch is a time unit of continuous memory management and contains one or more DSs, it is important how such DSs are placed on the AV clip playback time axis. Note that the "AV clip reproduction time axis" means the time axis used to define the decoding timing and the reproduction timing of individual pictures multiplexed in the AV clip. Decode timing and playback timing are displayed with a time accuracy of 90 KHz. The DTS and PTS of ICS or ODS in DS show timing based on which synchronization control is implemented. The DS is placed on the AV clip playback time axis by performing synchronous control in association with each DTS and PTS attached to the ICS and the ODS.

Epoch 내 임의의 한 DS를 DSn으로 나타내고 DSn은 도 6에 도시한 바와 같은 DTS 및 PTS 설정에 기초하여 AV 클립 재생 시간 축에 배치되는 것으로 가정한다.Indicates the Epoch within any one of the DS as DS n DS and n is assumed to be placed in the AV Clip playback time axis on the basis of the DTS and PTS set as shown in FIG.

도 6은 DSn이 배치되는 AV 클립 재생 시간 축을 나타낸다. 도면에서, DSn 기간은 DSn(DTS(DSn[ICS]))에 속하는 ICS의 DTS 값이 나타내는 시간에서 시작하여 DSn(PTS(DSn[ICS]))에 속하는 END의 PTS 값이 나타내는 시간에 종료한다. DSn의 첫 번째 표시를 위한 표시 타이밍은 ICS(PTS(DSn[ICS]))의 PTS 값으로 나타낸다. 비디오 스트림 내 원하는 화상의 표시 타이밍에 대응하도록 PTS(DSn[ICS]) 값을 조절함으로써, DSn의 첫 번째 표시는 비디오 스트림과 동기될 것이다.6 shows an AV clip playback time axis in which DS n is arranged. In the figure, the DS n period starts at the time indicated by the DTS value of the ICS belonging to DS n (DTS (DS n [ICS])) and the PTS value of END belonging to DS n (PTS (DS n [ICS])) End at the time indicated. Display timing for the first display of the DS n represents the PTS value of the ICS (PTS (DS n [ICS ])). By adjusting the PTS (DS n [ICS]) value to correspond to the display timing of the desired picture in the video stream, the first indication of DS n will be synchronized with the video stream.

PTS(DSn[ICS]) 값은 ODS을 디코딩하는데 걸리는 시간(DECODEDURATION)과 디코드된 그래픽스 오브젝트를 전송하는데 걸리는 시간(TRANSFERDURATION)의 합이다. 첫 번째 표시를 위해 필요한 ODS의 디코딩은 DECODEDURATION 이내에 완료된다. 도 6에 도시한 기간 mc1은 DSn 내 임의의 한 ODS인 ODSm을 디코딩하는데 요구되는 시간이다. 디코드 기간 mc1의 시작은 DTS(ODSn[ODSm])으로 나타내고, 디코드 기간 mc1의 끝은 PTS(ODSn[ODSm])으로 나타낸다.The PTS (DS n [ICS]) value is the sum of the time it takes to decode the ODS (DECODEDURATION) and the time it takes to transmit the decoded graphics object (TRANSFERDURATION). The decoding of the ODS necessary for the first indication is completed within DECODEDURATION. The period mc1 shown in FIG. 6 is a time required for decoding ODS m which is any one ODS in DS n . The start of the decoding period mc1 is represented by DTS (ODS n [ODS m ]), and the end of the decoding period mc1 is represented by PTS (ODS n [ODS m ]).

Epoch는 상기한 바와 같이 Epoch 내 모든 ODS를 AV 클립 재생 시간 축에 배치함으로써 정의된다. 이것으로 AV 클립 재생 시간 축에의 배치에 대한 설명을 끝마친다.Epoch is defined by placing all ODS in the Epoch on the AV clip playback time axis as described above. This concludes the discussion on the AV clip playback time axis.

제 1 실시예의 특징의 하나는 AV 재생의 진행에 따라 멀티-페이지 메뉴의 동작을 제어하는 것이다. 이 특징을 구현하는 신규한 구조는 ICS에서 제공되는 interactive_composition 구조체에 있다. 이하, interactive_composition 구조체에 대해 설명한다.One of the features of the first embodiment is to control the operation of the multi-page menu as the AV playback proceeds. The new structure that implements this feature is in the interactive_composition structure provided by ICS. Hereinafter, the interactive_composition structure will be described.

도 7a와 7b는 interactive_composition 구조체와 ICS 간의 관계를 나타내는 도면이다. interactive_composition 구조체와 ICS는 도 7a에 도시한 바와 같이 일-대-일 대응, 또는 도 7b에 도시한 바와 같이 일-대-다수의 대응일 수 있다.7A and 7B are diagrams illustrating a relationship between an interactive_composition structure and an ICS. The interactive_composition structure and the ICS may be a one-to-one correspondence as shown in FIG. 7A, or a one-to-many correspondence as shown in FIG. 7B.

일-대-일 대응은 interactive_composition 구조체가 하나의 ICS에 포함될 만큼 충분히 작은 경우에 적용될 수 있다.The one-to-one correspondence can be applied when the interactive_composition structure is small enough to be included in one ICS.

일-대-다수 대응은 interactive_composition 구조체가 하나의 ICS에 의해 운반되어 다수의 ICS에 저장되도록 단편화되기에는 크기가 너무 큰 경우에 적용할 수 있다. interactive_composition 구조체는 다수의 ICS에 저장되도록 단편화될 수 있기 때문에, interactive_composition 구조체의 크기에 가해지는 제한은 없다. 상기와 같이, 하나의 interactive_composition 구조체는 다수의 ICS에 대응할 수 있다. 그러나, 간단히 하기 위하여, 이하의 설명은 ICS와 interactive_composition 구조 체가 일-대-일 대응에 있는 것을 전제조건으로 한다.The one-to-many correspondence is applicable when the interactive_composition structure is too large to be fragmented to be carried by one ICS and stored in multiple ICSs. Since the interactive_composition structure can be fragmented to be stored in multiple ICSs, there is no limit on the size of the interactive_composition structure. As described above, one interactive_composition structure may correspond to multiple ICSs. However, for simplicity, the following description presupposes that the ICS and interactive_composition structure are in a one-to-one correspondence.

도 8은 ICS의 내부 구조를 나타내는 도면이다. ICS는 하나의 interactive_composition 구조체 또는 하나의 interactive_composition 구조체의 단편을 포함한다. 도 8의 왼쪽에 도시한 바와 같이, ICS는 다음의 필드로 구성된다: ICS의 세그먼트 타입을 나타내는 "segment_descriptor"; 비디오 플레인의 폭과 높이를 픽셀과 관련 비디오 스트림의 프레임 속도로 나타내는 "video_descriptor"; composition_state를 나타내고 ICS가 속하는 DS 종류가 Normal Case DS, Acquisition Point DS, Epoch Start DS, 또는 Effect_Sequence인지를 나타내는 정보인 "composition_descriptor"; 및 ICS가 전체 interactive_composition 구조체를 운반하는지 또는 interactive_composition 구조체의 한 단편을 운반하는지를 나타내는 "interactive_composition_data_fragment"이다. 8 is a view showing the internal structure of the ICS. ICS includes one interactive_composition structure or a fragment of one interactive_composition structure. As shown on the left side of Fig. 8, the ICS consists of the following fields: "segment_descriptor" indicating a segment type of the ICS; "Video_descriptor" representing the width and height of the video plane in pixels and the frame rate of the associated video stream; " composition_descriptor " indicating information of composition_state and indicating whether the DS type to which the ICS belongs is a Normal Case DS, an Acquisition Point DS, an Epoch Start DS, or an Effect_Sequence; And "interactive_composition_data_fragment" indicating whether the ICS carries the entire interactive_composition structure or a fragment of the interactive_composition structure.

화살표 cu1로 지시한 바와 같이, 도 8은 interactive_composition 구조체의 내부 구조를 상세하게 나타낸다. interactive_composition 구조체는 다음의 필드를 갖는다. 즉, "interactive_composition_length", "stream_model", user_interface_model", "composition_time_out_pts", "selection_time_out_pts", "user_time_out_duration", 표시를 위해 이용할 수 있는 멀티-페이지 메뉴의 각 페이지에 대한 "page_information (1), (2)...(i)...(number_of_page_1)"이다.As indicated by arrow cu1, FIG. 8 details the internal structure of the interactive_composition structure. The interactive_composition structure has the following fields. That is, "interactive_composition_length", "stream_model", user_interface_model "," composition_time_out_pts "," selection_time_out_pts "," user_time_out_duration "," page_information (1), (2) for each page of the multi-page menu available for display. .. (i) ... (number_of_page_1) ".

interactive_composition_length 필드는 interactive_composition 구조체의 길이를 나타낸다.The interactive_composition_length field represents the length of the interactive_composition structure.

"stream_model" 필드는 관련된 interactive_composition 구조체의 스트림 모 델의 종류를 나타낸다. 스트림 모델은 interactive_composition 구조체가 BD-ROM에 어떻게 저장되고 데이터가 재생장치의 버퍼(이하, "합성 버퍼"라 함)에 의해 어떻게 처리될 것인지를 보여준다. 구체적으로, 스트림 모델은, (i) 그래픽스 스트림이 AV에 다중화되고 분리 로드되어 합성 버퍼에 로드되거나, 또는 (ii) 그래픽스 스트림이 AV 클립과는 별개의 파일의 서브 클립으로서 저장되고 합성 버퍼에 미리 로드되는지를 보여준다. stream_model 필드는, 합성 버퍼가 interactive_composition 구조체가 미리 로드되거나 다중화되는지에 따라 서로 다른 처리를 수행할 필요가 있기 때문에 interactive_composition 구조체에 제공된다. 도 9는 "Multiplexed" ICS에 대해 수행되는 처리를 나타내는 도면이다. 도면에서, AV 클립에 다중화된 비디오 스트림은 제 4 레벨에 나타내고, AV 클립에 다중화된 그래픽스 스트림은 제 3 레벨에 나타낸다. 그래픽스 스트림은 3개의 DS, 즉 DS1, DS2, 및 DS8을 포함한다. 제 2 레벨은 AV 재생 처리를 나타낸다. 제 1 레벨은 AV 재생의 서로 다른 시간에서 합성 버퍼에 저장된 콘텐츠를 나타낸다. 현재 재생지점이 AV 클립에 다중화된 DS1의 선두에 도달한 경우, DS1은 화살표 pf1으로 지시한 합성 버퍼에 로드된다. 그 결과, 합성 버퍼는 DS1[ICS]를 저장한다. 이어, 현재 재생지점이 AV 클립에 다중화된 DS2의 선두에 도달한 경우, DS2는 화살표 pf2로 지시한 합성 버퍼에 로드된다. 그 결과, 합성 버퍼는 DS2[ICS]를 저장한다. 즉, stream_model이 "Multiplexed"인 경우, 하나 이상의 interactive_composition 구조체가 있다. 재생장치는 현재 저장된 interactive_composition 구조체를 버리고 현재 재생지점에 위치하는 다른 interactive_composition 구조체를 로드한다. 따라서, 합성 버퍼는 한 번에 하나의 interactive_composition 구조체를 저장한다.The "stream_model" field indicates the type of stream model of the associated interactive_composition structure. The stream model shows how the interactive_composition structure is stored on the BD-ROM and how the data will be processed by the player's buffer (hereinafter referred to as the "synthesis buffer"). Specifically, the stream model can be configured such that (i) the graphics stream is multiplexed and loaded separately into the AV and loaded into the synthesis buffer, or (ii) the graphics stream is stored as a subclip of a file separate from the AV clip and pre-stored in the synthesis buffer. Show if it is loaded. The stream_model field is provided in the interactive_composition structure because the synthesis buffer needs to perform different processing depending on whether the interactive_composition structure is preloaded or multiplexed. 9 is a diagram illustrating a process performed for a "Multiplexed" ICS. In the figure, the video stream multiplexed in the AV clip is shown at the fourth level, and the graphics stream multiplexed in the AV clip is shown at the third level. The graphics stream includes three DSs, namely DS1, DS2, and DS8. The second level represents AV playback processing. The first level represents the content stored in the synthesis buffer at different times of AV playback. When the current playback point reaches the head of DS1 multiplexed in the AV clip, DS1 is loaded into the synthesis buffer indicated by arrow pf1. As a result, the synthesis buffer stores DS1 [ICS]. Then, when the current playback point reaches the head of DS2 multiplexed in the AV clip, DS2 is loaded into the synthesis buffer indicated by arrow pf2. As a result, the synthesis buffer stores DS2 [ICS]. In other words, if stream_model is "Multiplexed", there is more than one interactive_composition structure. The player discards the currently stored interactive_composition structure and loads another interactive_composition structure located at the current playback point. Thus, the synthesis buffer stores one interactive_composition structure at a time.

이러한 폐기와 로딩 동작은 특히 스킵 동작시 효과적이다. 스킵 동작이 실행될 때, 현재 재생지점과 관련한 interactive_composition 구조체는 더 이상 필요하지 않다. 따라서, 재생장치는 현재 합성 버퍼의 interactive_composition 구조체를 버린다. 도 9에 도시한 바와 같이, 스킵 동작 am1이 실행될 때, 합성 버퍼는 스킵 동작의 실행 타이밍 am2에서 저장된 콘텐츠를 버린다. 이어, 스킵 목적지에 위치하는 DS8[ICS]가 화살표 pf3으로 지시한 바와 같이 합성 버퍼에 로드된다.Such discarding and loading operations are particularly effective during skip operations. When the skip operation is performed, the interactive_composition structure associated with the current playback point is no longer needed. Thus, the playback device discards the interactive_composition structure of the current synthesis buffer. As shown in Fig. 9, when the skip operation am1 is executed, the synthesis buffer discards the content stored at the execution timing am2 of the skip operation. Then, DS8 [ICS] located at the skip destination is loaded into the synthesis buffer as indicated by the arrow pf3.

상기와 같이, "Multiplexed" 타입 스트림 모델의 경우, AV 재생을 진행함에 따라 저장된 interactive_composition 구조체를 버리기 위하여 합성 버퍼가 필요하다. 반면에, "preload" 타입 스트림 모델의 경우, 저장된 interactive_composition 구조체를 버리는데 합성 버퍼가 전혀 필요하지 않다. AV 재생이 진행함에 따라 합성 버퍼가 저장된 interactive_composition 구조체를 버린다면, 버린 것과 동일한 interactive_composition 구조체가 BD-ROM으로부터 다시 로드될 필요가 있다. 동일한 interactive_composition 구조체를 다시 로딩하는 이 쓸모없는 동작은 추가 부하를 가져온다. 도 10은 합성 버퍼의 콘텐츠를 나타내는 도면이다. 제 1 내지 제 4 레벨 각각에 나타나는 것에 대해서 도 10은 도 9와 유사하다. 그러나, 도 10은 서로 다른 시간에 저장된 합성 버퍼의 콘텐츠에 대해서 도 9와 다르다. 구체적으로, 현재 재생지점이 DS1이 다중화된 곳에 도달하더라도, DS1의 ICS는 (도면에 "×" 표식으로 지시한) 합성 버퍼에 로드되지 않는다. As described above, in the case of the "Multiplexed" type stream model, a synthesis buffer is needed to discard the stored interactive_composition structure as the AV playback progresses. On the other hand, for the "preload" type stream model, no composition buffer is needed to discard the stored interactive_composition structure. If the AV buffer discards the interactive_composition structure in which the synthesis buffer is stored, the same interactive_composition structure as the discard needs to be reloaded from the BD-ROM. This useless operation of reloading the same interactive_composition structure introduces additional load. 10 is a diagram illustrating the contents of a synthesis buffer. FIG. 10 is similar to FIG. 9 for what appears at each of the first to fourth levels. However, FIG. 10 differs from FIG. 9 for the contents of the synthesis buffer stored at different times. Specifically, even if the current playback point reaches where the DS1 is multiplexed, the ICS of the DS1 is not loaded into the synthesis buffer (indicated by the "x" mark in the figure).

마찬가지로, 현재 재생지점이 DS2가 다중화된 곳에 도달하더라도, DS2의 ICS 는 (도면에 "×" 표식으로 지시한) 합성 버퍼에 로드되지 않는다. 유사하게, 합성 버퍼에 저장된 콘텐츠는 스킵 동작이 실행되더라도, 폐기되지 않고 유지된다. interactive_composition 구조체는 제어하는 주체(그래픽스 컨트롤러)가 AV 재생의 진행에 따라 저장된 interactive_composition 구조체를 폐기할지 또는 AV 재생의 진행에 관계없이 저장된 interactive_composition 구조체를 유지할지를 정확하게 판정하도록 하기 위한 stream_model 필드를 구비한다. 이로써 stream_model 필드에 대한 설명을 끝마친다.Likewise, even if the current playback point reaches where the DS2 is multiplexed, the ICS of the DS2 is not loaded into the synthesis buffer (indicated by the "x" mark in the figure). Similarly, the content stored in the synthesis buffer is maintained without discarding even if the skip operation is executed. The interactive_composition structure includes a stream_model field for accurately determining whether the controlling entity (graphics controller) discards the stored interactive_composition structure according to the progress of the AV playback or maintains the stored interactive_composition structure regardless of the progress of the AV playback. This concludes the description of the stream_model field.

도 8로 돌아가서, "user_interface_model"은 interactive_composition 구조체에 대해 사용될 사용자 인터페이스 모델의 종류를 나타낸다. user_interface_model은 "Always-On U/I" 또는 "Pop-Up U/I" 중의 하나를 나타낸다. Always-On U/I가 사용될 때, 메뉴는 화면에 나타나고 AV 클립 재생에 따라 사라진다. Pop-Up U/I가 사용될 때, 메뉴는 화면에 나타나고 사용자 조작에 응답하여 사라진다.Returning to Fig. 8, "user_interface_model" indicates the type of user interface model to be used for the interactive_composition structure. user_interface_model represents one of "Always-On U / I" or "Pop-Up U / I". When Always-On U / I is used, the menu appears on the screen and disappears as the AV clip plays. When Pop-Up U / I is used, the menu appears on the screen and disappears in response to user operation.

composition_time_out_pts는 ICS가 속하는 Epoch의 종료 시간(Epoch End)을 보여준다. ICS가 정의하는 인터랙티브 제어는 Epoch End에서 더 이상 유효하지 않다. 즉, composition_time_out_pts 필드가 나타내는 시점은 유효 인터랙티브 제어기간의 끝이다.composition_time_out_pts shows the end time of the Epoch to which the ICS belongs. Interactive controls defined by ICS are no longer valid at the Epoch End. That is, the time point indicated by the composition_time_out_pts field is the end between the effective interactive controllers.

"selection_time_out_pts" 필드는 버튼선택 종료시간을 나타낸다. selection_time_out_pts 값이 나타내는 시간에, 현재 선택되어 있는 버튼이 자동으로 활성화된다. 버튼은 멀티-페이지 메뉴에 옵션을 표시하는 요소임을 유의하라. selection_time_out_pts 필드는 버튼을 활성화하기 위한 사용자 상호작용을 위한 유효 상호작용 기간이다.The "selection_time_out_pts" field represents the button selection end time. At the time indicated by the selection_time_out_pts value, the currently selected button is automatically activated. Note that the button is the element that displays the options in the multi-page menu. The selection_time_out_pts field is a valid interaction period for user interaction to activate a button.

도면에 나타낸 IF문(if(stream_model == '0b'))은 상기한 "composition_time_out_pts"과 "selection_time_out_pts" 필드가 "stream_model" 필드가 "Multiplexed" 타입을 나타내는 경우에만 제공되는 선택적 기능이라는 것을 의미한다. 스트림 모델이 "Preload" 타입인 ICS의 경우, "composition_time_out_pts"과 "selection_time_out_pts" 필드 어느 것도 제공되지 않는다.The IF statement (if (stream_model == '0b')) shown in the figure means that the "composition_time_out_pts" and "selection_time_out_pts" fields described above are optional functions provided only when the "stream_model" field indicates a "Multiplexed" type. In the case of an ICS of which the stream model is a "Preload" type, neither the "composition_time_out_pts" nor the "selection_time_out_pts" fields are provided.

user_time_out_duration 필드는 사용자 조작에 응답하여 표시된 화면상의 페이지가 제거되는 타임아웃(timeout)을 나타낸다. Always-On U/I가 사용될 때, 두 번째 페이지 이후의 페이지(서브 페이지라 함)가 사용자 조작에 대응하여 표시된다. 따라서, user_time_out_duration이 정의하는 타임아웃 후, 첫 번째 페이지를 화면 위에 남겨두고 모든 서브 페이지는 화면에서 제거된다. Pop-Up I/O가 사용될 때, 서브 페이지뿐만 아니라 멀티-페이지 메뉴의 모든 페이지가 사용자 조작에 대응하여 표시된다. 따라서, user_time_out_duration 이후, 어떤 페이지도 남겨두지 않고 모든 화면상 페이지는 제거된다(No Menu Display).The user_time_out_duration field represents a timeout in which the page on the screen displayed in response to the user operation is removed. When Always-On U / I is used, pages after the second page (called subpages) are displayed in response to user interaction. Therefore, after the timeout defined by user_time_out_duration, the first page is left on the screen and all subpages are removed from the screen. When Pop-Up I / O is used, not only subpages but all pages of the multi-page menu are displayed corresponding to user operations. Therefore, after user_time_out_duration, all on-screen pages are removed without leaving any pages (No Menu Display).

다음, Epoch의 selection_time_out_pts와 composition_time_out_pts 필드의 의미에 대해 설명한다.Next, the meaning of the selection_time_out_pts and composition_time_out_pts fields of the Epoch will be described.

도 11은 DSn이 Epoch Start DS(n = 1)인 경우 DSn에 속하는 ICS의 selection_time_out_pts와 composition_time_out_pts 필드의 기능을 설명하는 타이밍 차트이다. 타이밍 차트는 composition_time_out_pts 값이 Epoch의 끝(Epoch End)을 특정하는 것을 보여준다. 인터랙티브 디스플레이는 PTS(DSn[ICS])에서 Epoch END까지의 기간 동안 유효하다. 이 기간을 "인터랙티브 디스플레이기간"으로 부른다.FIG. 11 is a timing chart illustrating functions of selection_time_out_pts and composition_time_out_pts fields of ICS belonging to DS n when DS n is Epoch Start DS (n = 1). The timing chart shows that the composition_time_out_pts value specifies the end of the epoch. The interactive display is valid for a period from PTS (DS n [ICS]) to Epoch END. This period is referred to as the "interactive display period".

selection_time_out_pts는 Epoch END를 앞서는 시간을 특정한다. 사용자 상호작용은 PTS(DSn[ICS])에서 selection_time_out_pts 값이 특정하는 시간까지의 기간 동안 이루어질 수 있다. 이 기간을 "유효 상호작용 기간"이라 부른다. 상기와 같이, selection_time_out_pts 필드는 인터랙티브 디스플레이의 첫 번째 표시로부터 시작하고 인터랙티브 디스플레이가 사용자 상호작용에 대해 이용가능한 기간의 종료시간을 정의한다. composition_time_out_pts 필드는 인터랙티브 디스플레이의 첫 번째 표시로부터 시작하고 Epoch의 인터랙티브 디스플레이가 유효하게 남아 표시되는 기간을 정의한다. 이것으로 selection_time_out_pts와 composition_time_out_pts 필드에 대한 설명을 끝마친다. 다음, selection_time_out_pts, composition_time_out_pts, 및 user_time_out_duration 필드가 정의하는 멀티-페이지 메뉴 상태변화에 대해 설명한다.selection_time_out_pts specifies the time that precedes the Epoch END. User interaction may occur for a period up to the time specified by the selection_time_out_pts value in the PTS (DS n [ICS]). This period is called the "effective interaction period". As above, the selection_time_out_pts field defines the end time of a period starting from the first display of the interactive display and available for user interaction. The composition_time_out_pts field defines a period starting from the first display of the interactive display and remaining in the interactive display of the Epoch. This concludes the description of the selection_time_out_pts and composition_time_out_pts fields. Next, the multi-page menu state change defined by the selection_time_out_pts, composition_time_out_pts, and user_time_out_duration fields will be described.

도 12a는 selection_time_out_pts, composition_time_out_pts, 및 user_time_out_duration 필드에 기초한 멀티-페이지 메뉴의 상태변화를 보여주는 도면이다. 도 12a는 Pop-Up U/I가 사용될 때 멀티-페이지 메뉴의 상태변화를 나타 내는 도면이다. 도면에 나타낸 멀티-페이지 메뉴는 다음의 세 가지 상태를 갖는다. 즉, No Menu Display, 1st Page Only, Multi-Page Exist이다.12A illustrates a state change of a multi-page menu based on selection_time_out_pts, composition_time_out_pts, and user_time_out_duration fields. 12A illustrates a state change of a multi-page menu when Pop-Up U / I is used. The multi-page menu shown in the figure has the following three states. That is, No Menu Display, 1st Page Only, and Multi-Page Exist.

1st Page Only는 멀티-페이지 메뉴의 첫 번째 페이지만이 표시되는 상태이다.1st Page Only displays only the first page of the multi-page menu.

Multi-Page Exist는 두 번째 페이지 이후의 페이지(서브 페이지)가 첫 번째 페이지에 더하여 표시되는 상태이다.In Multi-Page Exist, the page after the second page (the sub page) is displayed in addition to the first page.

화살표 jt1은 No Menu Display 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 이벤트 "Pop-Up_On"에 의해 시작된다. "Pop-Up_On"은 메뉴 호출을 위한 사용자 조작에 대응하여 재생장치 내부에 생성된 이벤트이다.Arrow jt1 represents the change from the No Menu Display state to the 1st Page Only state. This state change is triggered by the event "Pop-Up_On". "Pop-Up_On" is an event generated inside the playback apparatus in response to a user operation for a menu call.

화살표 jt2는 1st Page Only 상태에서 No Menu Display 상태로의 변화를 나타낸다. 이 상태 변화는 이벤트 "Pop-Up_Off"에 의해 시작된다. "Pop-Up_Off"는 메뉴 제거를 위한 사용자 조작에 대응하여 재생장치 내부에 생성된 이벤트이다.Arrow jt2 represents the change from the 1st Page Only state to the No Menu Display state. This state change is triggered by the event "Pop-Up_Off". "Pop-Up_Off" is an event generated inside the playback apparatus in response to a user operation for removing a menu.

화살표 jt3과 jt4는 1st Page Only 상태에서 No Menu Display 상태로, 그리고 Multi-Page Exist 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 selection_time_out_pts가 정의한 타임아웃 시 생성된 이벤트 "ChangeButtonPage"에 의해 시작된다. ChangeButtonPage는 메뉴 페이지를 스위칭하기 위한 사용자 조작에 대응하여 재생장치 내부에 생성된 이벤트이다. 이 이벤트는 메뉴 페이지를 스위칭하기 위한 사용자 조작이 이루어진다는 전제로 생성된다. selection_time_out_pts는 메뉴 페이지를 스위칭하기 위한 사용자 조작을 수신하기 위해 버튼을 강제로 무효화하기 위한 시간을 나타낸다. 따라서, selection_time_out_pts 필드에 대한 설명은 "1st Page Only -> Multi-Page Exist -> 1st Page Only"의 상태 변화를 구현한다.Arrows jt3 and jt4 represent the transition from the 1st Page Only state to the No Menu Display state and from the Multi-Page Exist state to the 1st Page Only state. This state change is triggered by the event "ChangeButtonPage" generated on timeout defined by selection_time_out_pts. ChangeButtonPage is an event generated inside the playback apparatus in response to a user operation for switching a menu page. This event is generated on the premise that a user operation for switching a menu page is made. selection_time_out_pts represents the time for forcibly invalidating a button to receive a user operation for switching a menu page. Therefore, the description of the selection_time_out_pts field implements a state change of "1st Page Only-> Multi-Page Exist-> 1st Page Only".

화살표 jt5는 1st Page Only 상태에서 No Menu Display 상태로의 변화를 나타낸다. 화살표 jt6은 Multi-Page Exist 상태에서 No Menu Display 상태로의 변화를 나타낸다. 상태 변화 jt6은 user_time_out_duration의 타임아웃에 의해 시작된다.Arrow jt5 indicates the change from the 1st Page Only state to the No Menu Display state. Arrow jt6 indicates the change from the Multi-Page Exist state to the No Menu Display state. State change jt6 is started by the timeout of user_time_out_duration.

도면에서, 1st Page Only 상태(jt5)와 Multi-Page Exist 상태(jt6)로부터 No Menu Display 상태로의 변화는 user_time_out_duration 필드에 의해 정의된다. 즉, AV 재생이 클라이맥스 장면에 도달하는 경우 화면상 메뉴 페이지가 자동으로 제거되는 그러한 제어를 정의할 수 있다. 이러한 제어에 의하면, 메뉴 페이지가 비디오 스트림 재생의 시청을 방해하는 것을 없앤다.In the figure, the change from the 1st Page Only state jt5 and the Multi-Page Exist state jt6 to the No Menu Display state is defined by the user_time_out_duration field. That is, it is possible to define such a control that the on-screen menu page is automatically removed when the AV playback reaches the climax scene. This control eliminates the menu page from disturbing viewing of the video stream playback.

도 12b는 Always-On U/I가 사용될 때, 멀티-페이지 메뉴의 상태 변화를 나타낸다. 화살표 at1은 No Menu Display 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 이벤트 "Epoch Start"에 의해 시작된다. "Epoch Start"은 현재 재생지점이 interactive_composition 구조체와 관련된 PTS에 대응하는 지점에 도달한 것으로 보여주는 이벤트이다. 첫 번째 페이지가 비디오 스트림 재생이 진행함에 따라 어떠한 사용자 조작을 기다리지 않고 자동으로 표시되는 것을 보여준다.12B shows the state change of the multi-page menu when Always-On U / I is used. Arrow at1 indicates the change from the No Menu Display state to the 1st Page Only state. This state change is triggered by the event "Epoch Start". "Epoch Start" is an event that indicates that the current playback point has reached the point corresponding to the PTS associated with the interactive_composition structure. The first page shows that as the video stream plays, it is automatically displayed without waiting for any user interaction.

화살표 at2는 1st Page Only 상태에서 Multi-Page Exist 상태로의 변화를 나타내고, 화살표 at3는 Multi-Page Exist 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 selection_time_out_pts가 정의한 유효 상호작용 기간의 타임아웃 시 생성된 이벤트 ChangeButtonPage에 의해 시작된다.Arrow at2 represents the change from the 1st Page Only state to the Multi-Page Exist state, and arrow at3 represents the change from the Multi-Page Exist state to the 1st Page Only state. This state change is initiated by the event ChangeButtonPage generated at the timeout of the valid interaction period defined by selection_time_out_pts.

화살표 at4는 Multi-Page Exist 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 user_time_out_duration의 타임아웃에 의해 시작된다. 이 상태 변화으로부터도 명확한 것처럼, Always-On U/I가 사용될 때, 상태 변화는 user_time_out_duration의 타임아웃 시 No Menu Display 상태로가 아니라 1st Page Only 상태로 이루어진다.Arrow at4 represents the change from the Multi-Page Exist state to the 1st Page Only state. This state change is initiated by the timeout of user_time_out_duration. As is clear from this state change, when Always-On U / I is used, the state change is made to the 1st Page Only state instead of the No Menu Display state at the timeout of user_time_out_duration.

화살표 at5는 1st Page Only 상태에서 No Menu Display 상태로의 변화를 나타낸다. 이 상태 변화는 composition_time_out_pts 중의 시간에 의해 시작된다. composition_time_out_pts는 Epoch의 끝(Epoch END)을 나타내는 것에 유의하라.Arrow at5 represents the change from the 1st Page Only state to the No Menu Display state. This state change is started by the time in composition_time_out_pts. Note that composition_time_out_pts represents the end of the epoch.

도 12a와 12b로부터 분명한 것처럼, 멀티-페이지 메뉴 동작은 interactive_composition 구조체에서 제공되는 selection_time_out_pts, user_time_out_duration, 및 composition_time_out_pts 필드에 의해 정의된다.As is apparent from FIGS. 12A and 12B, the multi-page menu operation is defined by the selection_time_out_pts, user_time_out_duration, and composition_time_out_pts fields provided in the interactive_composition structure.

도 13-15는 상기한 것처럼 정의한 제어하에 제공된 화면 표시를 보여준다. 도 13은 멀티-페이지 메뉴를 포함하는 디스플레이 시나리오를 보여준다. 이 시나리오에서, 멀티-페이지 메뉴는 처음에 화면에 표시되지 않는다. 멀티-페이지 메뉴의 첫 번째 페이지는 현재 재생지점이 지점 t에 도달한 경우 표시되고, 서브 페이지는 지점 t2에 추가로 표시된다. 현재 재생지점이 지점 t3에 도달한 경우, 화면상 서브 페이지는 첫 번째 페이지만을 화면에 남겨두고 제거된다. 이어 첫 번째 페이지는 화면상에 표시된 메뉴 없음 페이지를 남기고 지점 t4에서 제거된다. 13-15 show screen displays provided under the control defined as described above. 13 shows a display scenario including a multi-page menu. In this scenario, the multi-page menu is not initially displayed on the screen. The first page of the multi-page menu is displayed when the current playback point reaches point t, and the sub page is further displayed at point t2. If the current playback point reaches point t3, the subpage on the screen is removed leaving only the first page on the screen. The first page is then removed at point t4, leaving the no menu page displayed on the screen.

도 13의 하단에, 상기한 디스플레이 시나리오를 달성하는 interactive_composition 구조체가 기술된다. PTS(DSn[ICS])는 지점 t1에 대응하는 값으로 설정되고, selection_time_out_pts는 지점 t2에 대응하는 값으로 설정되고, user_time_out_duration은 지점 t3에 대응하는 값으로 설정되고, composition_time_out_pts는 지점 t4에 대응하는 값으로 설정된다. 이 설정에 따르면, 멀티-페이지 메뉴는 도 13에 도시한 상태 변화를 수행한다.At the bottom of FIG. 13, an interactive_composition structure is described that achieves the display scenario described above. PTS (DS n [ICS]) is set to a value corresponding to point t1, selection_time_out_pts is set to a value corresponding to point t2, user_time_out_duration is set to a value corresponding to point t3, and composition_time_out_pts corresponds to point t4 It is set to a value. According to this setting, the multi-page menu performs the state change shown in FIG.

이하, 구체 예를 참조하여 selection_time_out_pts 값의 설정을 상세하게 설명한다.Hereinafter, the setting of the selection_time_out_pts value will be described in detail with reference to specific examples.

도 14a-14c는 selection_time_out_pts가 정의한 디스플레이 예를 보여준다. 도 14a에 도시된 바와 같이, t1 지점에서, 멀티-페이지 메뉴의 첫 번째 페이지가 비디오 스트림의 화상과 오버레이된다. t2 지점에 표시된 화상은 풍경 장면으로 AV 클립의 스토리에서 덜 중요하다. 이 화상은 사용자에 대해 귀중한 콘텐츠를 표시하지 않기 때문에, selection_time_out_pts 값은 t2 지점의 첫 번째 페이지에 표시된 버튼을 자동으로 활성화하도록 설정된다. 결과적으로, 서브 페이지가 도 14b에 나타낸 풍경 화면과 오버레이되어, 도 14c에 나타낸 합성 영상이 화면에 나타난다.14A-14C show display examples defined by selection_time_out_pts. As shown in FIG. 14A, at point t1, the first page of the multi-page menu is overlaid with the picture of the video stream. The picture displayed at the t2 point is a landscape scene and is less important in the story of the AV clip. Since this picture does not display valuable content for the user, the selection_time_out_pts value is set to automatically activate the button displayed on the first page at point t2. As a result, the sub page is overlaid with the landscape screen shown in FIG. 14B, and the composite image shown in FIG. 14C appears on the screen.

유사한 방법으로, 구체적인 디스플레이 예를 참조하여 user_time_out_duration에 대해 설명한다. 도 15a-15d는 user_time_out_duration이 정의한 표시 예를 나타낸다. 이 예에서, 멀티-페이지 메뉴는 다수의 서브 페이지(두 번째, 세 번째, 및 네 번째 페이지)가 도 15a와 같이 화면에 표시되는 Multi-Page Exist 상태에 있다. 이 Multi-Page Exist 상태에서, 멀티-페이지 메뉴의 페이 지들은 비디오 스트림에 포함된 화상과 오버레이된다. 여기서, t3 지점에 표시될 화상은 도 15b에 도시된 바와 같은 캐릭터 영상이다. 이 경우, 화상과 오버레이된 다수의 서브 페이지는 도 15c에 도시된 바와 같이 캐릭터 영상의 대부분을 덮게 된다. 그 결과, 캐릭터 영상의 얼굴 표정을 볼 수 없다. 이러한 방해를 피하기 위해서, user_time_out_duration은 t3 지점 바로 전의 시간에 대응하는 값으로 설정된다. 이러한 설정에 의하면, 멀티-페이지 메뉴는 Multi-Page Exist 상태에서 1st Page Only 상태로 상태 변화를 한다. 그 결과, 도 15d에 도시된 바와 같은 합성 영상이 t3 지점에 표시된다. 여기서, 첫 번째 페이지는 캐릭터 영상을 지나치게 가리지 않고 단독으로 화면에 표시된다. 또한, 멀티-페이지 메뉴의 모든 페이지를 제거하지 않고 첫 번째 페이지가 화면에 남기 때문에, 메뉴를 다시 호출할 필요가 없다.In a similar manner, user_time_out_duration will be described with reference to a specific display example. 15A-15D show examples of display defined by user_time_out_duration. In this example, the multi-page menu is in a Multi-Page Exist state where multiple subpages (second, third, and fourth pages) are displayed on the screen as shown in FIG. 15A. In this Multi-Page Exist state, the pages of the multi-page menu are overlaid with the picture contained in the video stream. Here, the image to be displayed at the point t3 is a character image as shown in Fig. 15B. In this case, the plurality of subpages overlaid with the image cover most of the character image as shown in FIG. 15C. As a result, the facial expressions of the character video cannot be seen. To avoid this disturbance, user_time_out_duration is set to a value corresponding to the time just before the point t3. According to this setting, the multi-page menu changes state from the Multi-Page Exist state to the 1st Page Only state. As a result, the composite image as shown in Fig. 15D is displayed at the point t3. Here, the first page is displayed on the screen alone without overly obstructing the character image. Also, since the first page remains on the screen without removing all pages of the multi-page menu, there is no need to call the menu again.

상기한 바와 같이, 제 1 실시예에 따르면, 그래픽스 스트림에 다중화된 ICS는 AV 재생 진행에 따라 멀티-페이지 메뉴의 작용을 정의하는 제어 정보를 포함한다. 이에 따라, 풍경 장면과 같이 덜 중요한 장면을 재생하는 중에 다수의 페이지가 표시되는 그러한 제어를 정의할 수 있다. 이러한 제어에 의하면, 메인 콘텐츠인 AV 클립의 재생을 방해하지 않고 메뉴 페이지가 표시된다. 따라서, 사용자는 멀티-페이지 메뉴 기능의 편리함을 즐기면서 AV 재생의 시청에 집중할 수 있다.As described above, according to the first embodiment, the ICS multiplexed on the graphics stream includes control information defining the action of the multi-page menu as the AV playback progresses. Accordingly, it is possible to define such a control in which a large number of pages are displayed while playing a less important scene such as a landscape scene. According to this control, a menu page is displayed without interrupting the reproduction of the AV clip as the main content. Thus, the user can concentrate on watching the AV reproduction while enjoying the convenience of the multi-page menu function.

(제 2 실시예)(Second embodiment)

제 2 실시예는 멀티-페이지 메뉴의 페이지를 표시하기 위한 디스플레이 합성 에 관한 것이다. 제 2 실시예에 따르면, 디스플레이 합성은 버튼이라 불리는 다수의 그래픽 요소를 화면에 표시하도록 설계된다. 또한, 메뉴 페이지를 삽입하기 전 및/또는 제거한 후 애니메이션 효과가 화면에 표시된다.The second embodiment is directed to display composition for displaying pages of a multi-page menu. According to a second embodiment, display composition is designed to display a number of graphical elements called buttons on the screen. In addition, animation effects are displayed on the screen before and / or after removing a menu page.

도 16은 멀티-페이지 메뉴의 여러 페이지 중 임의의 것(x 번째 페이지)과 관련한 페이지정보의 내부 구조를 나타내는 도면이다. 도면의 좌측에 도시한 바와 같이, 페이지정보(x)는 다음 필드로 구성된다. 즉, 페이지(x)를 고유하게 식별하는 식별자를 나타내는 "page_id"; "UO_mask_table"; 페이지(x)를 화면에 삽입할 때 표시되는 애니메이션 효과를 특정하는 "in_effects"; 페이지 x를 화면에서 제거한 후 표시되는 애니메이션 효과를 특정하는 "out_effects"; 페이지(x)에 대한 애니메이션 효과를 표시하는 때 수행되는 애니메이션 프레임 속도를 나타내는 "animation_frame_rate_code"; "default_selected_button_id_ref"; "default_activated_button_id_ref"; "pallet_id_ref"; 및 페이지(x)에 표시되는 버튼 중 하나와 각각 관련된 "button_info (1), (2) ... (number_of_button - 1)"이다.FIG. 16 is a diagram showing the internal structure of page information relating to any of the multiple pages of the multi-page menu (the x-th page). As shown on the left side of the drawing, the page information x is composed of the following fields. That is, "page_id" representing an identifier that uniquely identifies page x; "UO_mask_table"; "In_effects" for specifying animation effects to be displayed when the page (x) is inserted into the screen; "Out_effects"; which specifies the animation effect displayed after page x is removed from the screen; "Animation_frame_rate_code", which indicates the animation frame rate performed when displaying the animation effect for page (x); "default_selected_button_id_ref"; "default_activated_button_id_ref"; "pallet_id_ref"; And "button_info (1), (2) ... (number_of_button-1)" associated with one of the buttons displayed on the page x, respectively.

UO_mask_table 필드는 페이지(x)에 대한 사용자 조작의 허가와 금지를 나타낸다. 이 필드가 "prohibited"를 나타내는 값으로 설정되면, 재생장치에 대한 대응 사용자 조작은 페이지(x)가 활성화된 동안 무효하다. The UO_mask_table field represents permission and prohibition of user operation on the page x. If this field is set to a value indicating "prohibited", the corresponding user operation on the playback apparatus is invalid while page x is activated.

default_selected_button_id_ref 필드는 페이지(x)의 표시를 시작할 때 디폴트로 선택된 버튼이 동적으로 또는 정적으로 결정되었는지를 보여준다. 이 필드가 "0xFF"로 설정된 때, 디폴트 선택 버튼은 동적으로 결정된다. 그 경우, 재생장치의 Player Status Register(PSR)에 보유한 값이 우선적으로 해석되고, PSR이 나타낸 버튼이 선택된 상태로 된다. 반면, 이 필드가 "0xFF" 이외의 값으로 설정된 경우, 디폴트로 선택된 버튼은 정적으로 결정된다. 그 경우, PSR은 default_selected_button_id_ref 값으로 오버라이트되고, 이 필드가 특정한 버튼이 선택된 상태로 된다. The default_selected_button_id_ref field shows whether the default selected button was dynamically or statically determined when starting the display of page x. When this field is set to "0xFF", the default selection button is dynamically determined. In that case, the value held in the Player Status Register (PSR) of the playback apparatus is interpreted first, and the button indicated by the PSR is selected. On the other hand, if this field is set to a value other than "0xFF", the button selected by default is statically determined. In that case, the PSR is overwritten with the default_selected_button_id_ref value, and this field is left with a specific button selected.

default_activated_button_id_ref 필드는 default_selected_button_id_ref 필드 값이 규정한 시간에 자동으로 활성화되는 버튼을 나타낸다. default_activated_button_id_ref 필드 값이 "FF"로 설정된 경우, 타임 아웃 시에 선택된 상태에 있는 버튼이 자동으로 활성화된다. 반면, 이 필드가 "00"나 "FF" 중 어느 것도 아닌 값으로 설정된 경우, 그 값은 자동으로 활성화되는 버튼을 정적으로 특정하는 유효 버튼 번호로 해석된다.The default_activated_button_id_ref field represents a button that is automatically activated at a time defined by the default_selected_button_id_ref field value. When the value of the default_activated_button_id_ref field is set to "FF", the button in the selected state is automatically activated at the time-out. On the other hand, if this field is set to a value of neither "00" nor "FF", the value is interpreted as a valid button number that statically specifies a button that is automatically activated.

pallet_id_ref 필드는 후술하는 CLUT 유닛에 설정되는 팔레트와 관련된 ID를 나타낸다. The pallet_id_ref field represents an ID associated with a pallet set in a CLUT unit described later.

각 button_info 구조체는 페이지(x)에 표시되는 버튼을 정의하는 정보이다. 상기한 필드에 의하여, 멀티-페이지 메뉴의 각 페이지가 정의된다. 다음, button_info 구조체의 내부 구조에 대해 설명한다. 설명에서, 페이지(x) 상의 임의의 버튼 하나를 button(i)로 정의한다. 도 16에서, 화살표 cx1은 button_info(i)의 내부 구조가 상세하게 보이도록 발췌된 것을 나타낸다.Each button_info structure is information defining a button displayed on the page (x). By the above fields, each page of the multi-page menu is defined. Next, the internal structure of the button_info structure will be described. In the description, any one button on page x is defined as button (i). In FIG. 16, arrow cx1 shows that the internal structure of button_info (i) is extracted in detail.

페이지 상에 표시되는 각 버튼은 정상상태(normal state), 선택된 상태(selected state), 및 활성화 상태(activated state)인 세 가지 상태를 갖는다. 버튼이 정상상태에 있을 때, 버튼은 단순히 표시된다. 버튼이 선택된 상태에 있을 때, 버튼은 사용자 조작의 결과로 현재 포커싱되지만 아직 활성화되지는 않는다. 버튼이 활성화 상태에 있을 때, 버튼은 활성화된다. 각 버튼은 이 세 가지 상태를 갖기 때문에, button_info(i)는 다음의 정보를 구비한다.Each button displayed on the page has three states: a normal state, a selected state, and an activated state. When the button is in the normal state, the button is simply displayed. When the button is in the selected state, the button is currently focused as a result of user manipulation but is not yet activated. When the button is in an active state, the button is activated. Since each button has these three states, button_info (i) has the following information.

button_id 필드는 interactive_composition 구조체의 button(i)를 고유하게 식별하는 값을 나타낸다. The button_id field represents a value that uniquely identifies button (i) of the interactive_composition structure.

button_numeric_select_value 필드는 button(i)가 숫자로 선택할 수 있는지를 나타내는 플래그이다.The button_numeric_select_value field is a flag indicating whether button (i) can select numbers.

auto_action_flag 필드는 button(i)가 자동으로 활성화될 수 있는지를 나타낸다. auto_action_flag 필드가 ON("1"의 비트 값)으로 설정된 경우, button(i)는 선택시 선택된 상태가 아니라 직접 활성화 상태로 변화한다. 반면, auto_action_flag 필드가 OFF("0"의 비트 값)로 설정된 경우, button(i)는 선택시 활성화 상태가 아니라 선택된 상태로 변화한다.The auto_action_flag field represents whether button (i) can be automatically activated. When the auto_action_flag field is set to ON (bit value of "1"), button (i) changes to the direct activation state, not the selected state at the time of selection. On the other hand, when the auto_action_flag field is set to OFF (bit value of "0"), the button (i) changes to the selected state instead of the activated state at the time of selection.

button_horizontal_position 필드와 button_vertical_position 필드는 각각 인터랙티브 디스플레이상 button(i)의 최상 좌측 픽셀의 수평 및 수직 위치를 특정한다.The button_horizontal_position field and the button_vertical_position field specify the horizontal and vertical positions of the leftmost pixel of button (i) on the interactive display, respectively.

neighbor_info 구조체는 button(i)가 선택된 상태에 있을 때 상하좌우 방향으로 포커스를 이동하기 위하여 이루어진 사용자 조작에 대응하여 선택된 상태를 수신하는 버튼을 나타낸다. neighbor_info 구조체는 upper_button_id_ref, lower_button_id_ref, left_button_id_ref, 및 right_button_id_ref 필드로 구성된 다.The neighbor_info structure represents a button that receives a selected state in response to a user operation made to move focus in the up, down, left, and right directions when the button (i) is in the selected state. The neighbor_info structure consists of the upper_button_id_ref, lower_button_id_ref, left_button_id_ref, and right_button_id_ref fields.

upper_button_id_ref 필드는 button(i)가 선택된 상태에 있는 동안 상방향으로 포커스를 이동하도록 지시하는 사용자 조작이 이루어지면 선택된 상태를 수신하는 버튼의 버튼 번호를 특정한다. 상방향 이동 동작은 리모트 컨트롤러의 Move Up 키를 눌러 실행된다. 이 필드가 button(i)와 같은 번호로 설정되면, Move Up 키에 대한 사용자 조작은 무시된다.The upper_button_id_ref field specifies the button number of the button that receives the selected state when a user operation instructing to move the focus upward while button (i) is in the selected state is made. Upward movement is performed by pressing Move Up key on the remote controller. If this field is set to the same number as button (i), user manipulation of the Move Up key is ignored.

마찬가지로, lower_button_id_ref 필드, left_button_id_ref 필드, right_button_id_ref 필드 각각은 포커스를 아래, 좌측 또는 우측 방향으로 이동하라는 사용자 조작 지시가 이루어지면 선택된 상태를 수신하는 버튼의 버튼 번호를 특정한다. 각 조작은 리모트 컨트롤러의 Move Down 키, Move Left 키, 및 move Right 키를 눌러 실행된다. 이들 필드가 button(i)와 같은 버튼 번호로 설정되면, 이들 키에 대한 사용자 조작은 무시된다.Similarly, each of the lower_button_id_ref field, left_button_id_ref field, and right_button_id_ref field specifies the button number of the button that receives the selected state when a user manipulation instruction to move the focus down, left or right direction is made. Each operation is performed by pressing the Move Down key, Move Left key, and move Right key of the remote controller. If these fields are set to button numbers such as button (i), user operations on these keys are ignored.

normal_state_info 구조체는 button(i)의 정상상태를 정의하며, normal_start_object_id_ref, normal_end_object_id_ref, 및 normal_repeat_flag 필드로 구성된다.The normal_state_info structure defines the normal state of button (i), and is composed of normal_start_object_id_ref, normal_end_object_id_ref, and normal_repeat_flag fields.

normal_start_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값 중 최초 값을 특정한다. The normal_start_object_id_ref field specifies the initial value of the object_id value consecutively assigned to the ODS sequence used to indicate the normal state of the button (i) by animation.

normal_end_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값 중 최종 값을 특정 한다. normal_end_object_id_ref 필드가 normal_start_object_id_ref와 같은 ID 값을 특정하면, 그 ID로 식별되는 그래픽스 오브젝트의 정적 영상이 button(i)로 표시된다.The normal_end_object_id_ref field specifies the final value of the object_id values consecutively assigned to the ODS sequence used to indicate the normal state of the button (i) by animation. When the normal_end_object_id_ref field specifies an ID value such as normal_start_object_id_ref, the static image of the graphics object identified by the ID is displayed as button (i).

normal_repeat_flag 필드는 정상상태의 button(i)의 애니메이션이 연속하여 반복될 지의 여부를 특정한다.The normal_repeat_flag field specifies whether the animation of the button (i) in the normal state is repeated continuously.

selected_state_info 구조체는 button(i)의 선택된 상태를 정의한다. selected_state_info 구조체는 selected_state_sound_id_ref, selected_start_object_id_ref, selected_end_object_id_ref, 및 selected_repeat_flag 필드로 구성된다.The selected_state_info structure defines the selected state of button (i). The selected_state_info structure is composed of selected_state_sound_id_ref, selected_start_object_id_ref, selected_end_object_id_ref, and selected_repeat_flag fields.

selected_state_sound_id_ref 필드는 button(i)가 선택된 상태로 될 때 클릭 음으로 재생될 음 데이터를 특정한다. 음 데이터는 sound.bdmv라는 파일에 포함된 음 데이터 부분의 sound_id에 의해 특정된다. 이 필드가 "0xFF"로 설정된 경우, 음 데이터는 button(i)의 선택된 상태와 관련되지 않고 따라서 button(i)가 선택된 상태로 변경될 때 클릭 음이 재생되지 않는다.The selected_state_sound_id_ref field specifies sound data to be reproduced as a click sound when button (i) is selected. The sound data is specified by the sound_id of the sound data portion contained in the file called sound.bdmv. When this field is set to "0xFF", note data is not related to the selected state of the button (i) and therefore the click sound is not played when the button (i) is changed to the selected state.

selected_start_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최초 값을 특정한다. The selected_start_object_id_ref field specifies the initial value of the object_id value assigned consecutively to the ODS sequence used to indicate the normal state of button (i) by animation.

selected_end_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최종 값을 특정한다. selected_end_object_id_ref 필드가 selected_start_object_id_ref와 같은 ID 값을 특정하면, 그 ID로 식별되는 그래픽스 오브젝트의 정적 영상은 button(i)로 표시된다.The selected_end_object_id_ref field specifies the final value of the object_id value assigned consecutively to the ODS sequence used to indicate the steady state of button (i) with animation. If the selected_end_object_id_ref field specifies an ID value such as selected_start_object_id_ref, the static image of the graphics object identified by the ID is indicated by button (i).

selected_repeat_flag 필드는 선택된 상태의 button(i)의 애니메이션이 연속하여 반복될 지의 여부를 특정한다. selected_start_object_id_ref와 selected_end_object_id_ref가 같은 값을 가지면, selected_repeat_flag 필드는 "00" 값으로 설정된다.The selected_repeat_flag field specifies whether the animation of the button (i) in the selected state is to be repeated continuously. If selected_start_object_id_ref and selected_end_object_id_ref have the same value, the selected_repeat_flag field is set to a value of "00".

activated_state_info 구조체는 button(i)의 활성화 상태를 정의하며, activated_state_sound_id_ref, activated_start_object_id_ref, 및 activated_end_object_id_ref 필드로 구성된다.The activated_state_info structure defines the activation state of button (i), and is composed of activated_state_sound_id_ref, activated_start_object_id_ref, and activated_end_object_id_ref fields.

activated_state_sound_id_ref 필드는 button(i)가 활성화 상태로 될 때 클릭 음으로 재생될 음 데이터를 특정한다. 음 데이터는 sound.bdmv 파일에 포함된 음 데이터 부분의 sound_id에 의해 특정된다. 이 필드가 "0xFF"로 설정된 경우, 음 데이터는 button(i)의 활성화 상태와 관련되지 않고 따라서 button(i)가 활성화 상태로 변경될 때 클릭 음이 재생되지 않는다.The activated_state_sound_id_ref field specifies sound data to be reproduced as a click sound when button (i) is activated. Sound data is specified by sound_id of the sound data portion contained in the sound.bdmv file. If this field is set to "0xFF", the note data is not related to the activation state of button (i) and therefore the click tone is not played when the button (i) is changed to the activation state.

activated_start_object_id_ref 필드는 애니메이션으로 button(i)의 활성화 상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최초 값을 특정한다. The activated_start_object_id_ref field specifies the initial value of the object_id value consecutively assigned to the ODS sequence used to indicate the activation state of the button (i) by animation.

activated_end_object_id_ref 필드는 애니메이션으로 button(i)의 활성화 상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최종 값을 특정한다.The activated_end_object_id_ref field specifies the final value of the object_id value assigned consecutively to the ODS sequence used to indicate the activation state of the button (i) by animation.

"navigation_command" 구조체는 button(i)가 활성화될 때 실행될 네비게이션 명령을 나타낸다. 네비게이션 명령의 대표적인 예가 SetButtonPage 명령이다. SetButtonPage 명령은 재생장치가 선택된 상태의 페이지 상의 버튼 중 원하는 것과 함께 멀티-페이지 메뉴의 원하는 페이지를 표시하도록 지시한다. 이러한 네비게이션 명령에 의하면, 콘텐츠 제작자는 오소링 시 쉽게 페이지 변환을 기술할 수 있다.The "navigation_command" structure represents a navigation command to be executed when button (i) is activated. A typical example of a navigation command is the SetButtonPage command. The SetButtonPage command instructs the playback device to display the desired page of the multi-page menu along with the desired one of the buttons on the page in the selected state. According to such a navigation command, a content creator can easily describe page conversion in authoring.

이것으로 button_info 구조체에 대한 설명을 끝마친다. 이하, 도 17에 도시한 바와 같이, 버튼 O-A 내지 O-D의 상태 변화를 정의하는 button_info 서술의 일 예를 나타내는 도 18을 참조한다. 도 17에서, 화살표 hh1과 hh2는 버튼 O-A와 관련된 button_info(1)의 neighbor_info() 구조체가 정의한 상태 변화를 표시한다. button_info(1)에서, lower_button_id_ref 필드는 버튼 O-C를 특정하는 값으로 설정된다. 따라서, 버튼 O-A가 선택된 상태에 있는 동안 Move Down 키에 대해 사용자 조작이 이루어지면(도 17, up1), 버튼 O-C는 선택된 상태를 수신한다(sj1). button_info(1)의 right_button_id_ref 필드는 버튼 O-B를 특정하는 값으로 설정된다. 따라서, 버튼 O-A가 선택된 상태에 있는 동안 Move Right 키에 대해 사용자 조작이 이루어지면(도 17, up2), 버튼 O-B는 선택된 상태를 수신한다(sj2). This concludes the description of the button_info structure. Hereinafter, as shown in FIG. 17, reference is made to FIG. 18 showing an example of the button_info description for defining the state change of the buttons O-A to O-D. In Fig. 17, arrows hh1 and hh2 indicate a state change defined by the neighbor_info () structure of button_info (1) associated with the button O-A. In button_info (1), the lower_button_id_ref field is set to a value specifying button O-C. Therefore, if a user operation is made to the Move Down key while the button O-A is in the selected state (Fig. 17, up1), the button O-C receives the selected state (sj1). The right_button_id_ref field of button_info (1) is set to a value specifying button O-B. Thus, if user manipulation is made to the Move Right key while the button O-A is in the selected state (FIG. 17, up2), the button O-B receives the selected state (sj2).

도 17의 화살표 hh3은 버튼 O-C와 관련된 button_info(2)의 neighbor_info() 구조체가 정의한 버튼 상태 변화를 표시한다. button_info(2)에서, upper_button_id_ref 필드는 버튼 O-A를 특정하는 값으로 설정된다. 따라서, 버튼 O-C가 선택된 상태에 있는 동안 Move Up 키에 대해 사용자 조작이 이루어지 면(up3), 버튼 O-A는 선택된 상태를 수신한다(sj3). Arrow hh3 in Fig. 17 indicates a button state change defined by the neighbor_info () structure of button_info (2) related to the button O-C. In button_info (2), the upper_button_id_ref field is set to a value specifying button O-A. Thus, if a user operation is made to the Move Up key while the button O-C is in the selected state (up3), the button O-A receives the selected state (sj3).

이하, 버튼 O-A, O-B, O-C, 및 O-D의 그래픽 영상에 대해 설명한다. 도 18에 도시한 ICS를 구비한 DSn은 도 19에 도시한 그래픽 영상에 대응하는 ODS 11-19를 포함한다. button_info(0)의 normal_start_object_id_ref와 normal_end_object_id_ref 필드는 각각 ODS 11과 13을 특정한다. 따라서, 버튼 O-A의 정상상태는 ODS 11-13 시퀀스를 이용하여 애니메이션으로 표시된다. 마찬가지로, button_info(0)의 selected_start_object_id_ref와 selected_end_object_id_ref 필드는 각각 ODS 14과 16을 특정한다. 따라서, 버튼 O-A의 정상상태는 ODS 14-16 시퀀스를 이용하여 애니메이션으로 표시된다. 이러한 설정에 의하면, 버튼 O-A를 선택된 상태로 하기 위해 사용자 조작이 이루어진 경우, 버튼 O-A로 기능하는 그래픽 영상은 ODS 11-13을 이용하여 표시되는 것에서 ODS 14-16을 이용하여 표시되는 것으로 변경된다. 여기서, normal_state_info() 구조체의 normal_repeat_flag 필드가 값 "1"로 설정되면, ODS 11-13의 애니메이tus화 표시는 "(A)→"와 "→(A)"로 나타낸 것처럼 반복된다. 마찬가지로, selected_state_info() 구조체의 selected_repeat_flag 필드가 값 "1"로 설정되면, ODS 14-16의 애니메이션화 표시는 "(B)→"와 "→(B)"로 나타낸 것처럼 반복된다. Hereinafter, graphic images of the buttons OA, OB, OC, and OD will be described. DS n with ICS shown in FIG. 18 includes ODS 11-19 corresponding to the graphic image shown in FIG. The normal_start_object_id_ref and normal_end_object_id_ref fields of button_info (0) specify ODSs 11 and 13, respectively. Thus, the normal state of the button OA is animated by using the ODS 11-13 sequence. Similarly, the selected_start_object_id_ref and selected_end_object_id_ref fields of button_info (0) specify ODS 14 and 16, respectively. Thus, the normal state of the button OA is animated by using the ODS 14-16 sequence. According to this setting, when a user operation is made to make the button OA selected, the graphic image functioning as the button OA is changed from being displayed using the ODS 11-13 to being displayed using the ODS 14-16. Here, when the normal_repeat_flag field of the normal_state_info () structure is set to the value "1", the animated display of ODS 11-13 is repeated as shown by "(A) →" and "→ (A)". Similarly, if the selected_repeat_flag field of the selected_state_info () structure is set to the value "1", the animated display of ODS 14-16 is repeated as shown by "(B) →" and "→ (B)".

상기와 같이, 애니메이션으로 표시될 수 있는 복수의 ODS 세트는 버튼 O-A, O-B, O-C, 및 O-D와 관련된다. 따라서, ICS가 ODS를 참조함으로써, 버튼으로 기능하는 캐릭터 영상이 사용자 조작에 따라 얼굴 표정을 바꾸는 그러한 제어가 정의된 다. As above, the plurality of ODS sets that can be displayed in animation are associated with buttons O-A, O-B, O-C, and O-D. Thus, by the ICS referring to the ODS, such a control is defined in which a character image functioning as a button changes a facial expression in accordance with user manipulation.

이것으로 button_info 구조체에 대한 설명을 끝마친다. 다음, 애니메이션 효과에 대해 설명한다. 도 16에 도시한 바와 같이, in-effect 필드와 out-effect 필드는 각각 effect_sequence 구조체를 특정한다. 도 20은 effect_sequence 구조체를 나타내는 도면이다. 도면의 좌측에 도시한 바와 같이, effect_sequence 구조체는 window_info(0), (1), (2)...(number_of_windows - 1); 및 effect_info(0), (1), (2)...(number_of_effects - 1)로 구성된다.This concludes the description of the button_info structure. Next, the animation effect will be described. As shown in Fig. 16, the in-effect field and the out-effect field specify an effect_sequence structure, respectively. 20 is a diagram illustrating an effect_sequence structure. As shown on the left side of the drawing, the effect_sequence structure includes window_info (0), (1), (2) ... (number_of_windows-1); And effect_info (0), (1), (2) ... (number_of_effects-1).

애니메이션 효과는 고정된 주기로 디스플레이 합성을 갱신함으로써 표시할 수 있다. 각 effect_info 구조체는 하나의 디스플레이 합성을 정의하는 정보 부분이다. 화살표 ec1은 effect_info의 내부 구조가 상세하게 나타나도록 발췌된 것을 보여준다. 도면에 도시한 바와 같이, effect_info 구조체는 상기한 고정 주기, 즉 관련된 디스플레이 합성이 표시될 시간을 나타내는 effect_duration; 관련된 디스플레이 합성에 대해 사용되는 팔레트를 특정하는 pallet_id_ref; 및 디스플레이 합성의 상세를 특정하는 composition_object(0), (1), (2) ... (number_of_composition_object - 1)으로 구성된다.Animation effects can be displayed by updating the display composition at fixed intervals. Each effect_info structure is an information part that defines one display composition. The arrow ec1 shows the details of the internal structure of effect_info. As shown in the figure, the effect_info structure includes an effect_duration representing the fixed period, i.e., the time for which the associated display composition is to be displayed; Pallet_id_ref specifying a pallet to be used for associated display composition; And composition_object (0), (1), (2) ... (number_of_composition_object-1) specifying the details of the display composition.

각 window_info 구조체는 디스플레이 합성이 만들어지는 그래픽스 플레인의 윈도 또는 영역을 정의한다. 화살표 wc1으로 나타낸 바와 같이, window_info는 상세하게 나타내도록 발췌된다. 도면에 도시한 바와 같이, window_info는 다음 필드로 구성된다. 그래픽스 플레인의 윈도를 고유하게 식별하는 "window_id"; 윈도의 최상부 좌측 픽셀의 수평 위치를 특정하는 "window_horizontal_position"; 윈도의 최상부 좌측 픽셀의 수직 위치를 특정하는 "window_vertical_position"; 윈도의 폭을 특정하는 "window_width"; 및 윈도의 높이를 특정하는 "window_height"이다.Each window_info structure defines a window or area of the graphics plane on which display composition is to be made. As indicated by arrow wc1, window_info is extracted to show details. As shown in the figure, window_info is composed of the following fields. "Window_id" that uniquely identifies the window of the graphics plane; "Window_horizontal_position" which specifies the horizontal position of the top left pixel of the window; "Window_vertical_position" which specifies the vertical position of the top left pixel of the window; "Window_width" to specify the width of the window; And "window_height" which specifies the height of the window.

이하, window_horizontal_position, window_vertical_position, window_width,및 window_height 필드 각각에 설정될 수 있는 값에 대해 설명한다. 이들 필드는 video_height와 video_width로 정의되는 높이와 폭을 갖는 2차원 그래픽스 플레인 내 좌표에 대응하는 값으로 설정된다.Hereinafter, values that can be set in the window_horizontal_position, window_vertical_position, window_width, and window_height fields will be described. These fields are set to values corresponding to coordinates in the two-dimensional graphics plane with height and width defined by video_height and video_width.

window_horizontal_position 필드는 그래픽스 플레인의 픽셀의 수평 어드레스를 나타내기 때문에, 이 필드는 "1"부터 video_width 값까지의 값으로 한다. 마찬가지로, window_vertical_position 필드는 그래픽스 플레인의 픽셀의 수직 어드레스를 나타내기 때문에, 이 필드는 "1"부터 video_height 값까지의 값으로 한다. Since the window_horizontal_position field indicates the horizontal address of the graphics plane's pixels, this field should be a value from "1" to a video_width value. Similarly, since the window_vertical_position field indicates the vertical address of the pixel of the graphics plane, this field is set to a value from "1" to a video_height value.

window_width 필드는 그래픽스 플레인의 윈도의 폭을 나타내기 때문에, 이 필드는 "1"부터 video_width 값에서 window_horizontal_position 값을 감산하여 산출된 값까지의 값을 취한다. 마찬가지로, window_height 필드는 그래픽스 플레인의 윈도의 높이를 나타내기 때문에, 이 필드는 "1"부터 video_height 값에서 window_vertical_position 값을 감산하여 산출된 값까지의 값을 취한다. Since the window_width field represents the width of the window of the graphics plane, this field takes a value from "1" to a value calculated by subtracting the window_horizontal_position value from the video_width value. Similarly, since the window_height field indicates the height of the window of the graphics plane, this field takes a value from "1" to a value calculated by subtracting the window_vertical_position value from the video_height value.

상기와 같이, window_info는 그래픽스 플레인의 윈도의 크기와 위치를 정의하는 window_horizontal_position, window_vertical_position, window_width,및 window_height 필드를 구비한다.As described above, window_info has window_horizontal_position, window_vertical_position, window_width, and window_height fields that define the size and position of the window of the graphics plane.

이하, 초당 24프레임의 속도로 그래픽의 디스플레이 합성을 나타내는 프레임워크(framework)를 구현하기 위한 윈도 크기에 대한 제한에 대해 설명한다. 이 프 레임 속도는 비디오 스트림 재생에 적용되는 비디오 프레임 속도에 대응한다. 이 프레임워크에 의하면, 그래픽스 오브젝트는 비디오 스트림과 구체적으로 동기하여 표시된다. 프레임워크를 구현하기 위하여, 윈도는 비디오 프레임 속도로 클리어링되고 렌더링되어야 한다. 여기서, 오브젝트 버퍼에서 그래픽스 플레인으로의 필요한 전송속도에 대해 고려한다. Hereinafter, a limitation on the window size for implementing a framework representing display composition of graphics at a rate of 24 frames per second will be described. This frame rate corresponds to the video frame rate applied to playing the video stream. According to this framework, graphics objects are displayed in synchronism with the video stream specifically. In order to implement the framework, the window must be cleared and rendered at the video frame rate. Here, consider the required transfer rate from the object buffer to the graphics plane.

먼저, 윈도 크기에 대한 제한을 조사한다. Rc를 오브젝트 버퍼에서 그래픽스 플레인으로의 전송속도라 정의하자. 최악의 시나리오로, 윈도의 클리어링과 렌더링은 Rc로 수행될 필요가 있다. 다시 말해, 클리어링과 렌더링은 Rc의 반(Rc/2)으로 수행될 필요가 있다. First, investigate the limits on the window size. Define Rc as the transfer rate from the object buffer to the graphics plane. In the worst case scenario, clearing and rendering of windows need to be done with Rc. In other words, clearing and rendering need to be performed in half of Rc (Rc / 2).

따라서, 다음의 식을 만족할 필요가 있다.Therefore, it is necessary to satisfy the following equation.

(윈도 크기) × (프레임 속도) ≒ Rc/2(Window size) × (Frame rate) ≒ Rc / 2

프레임 속도가 24일 때, RC는 다음의 식으로 표현된다.When the frame rate is 24, RC is expressed by the following equation.

Rc = (윈도 크기) × 2 × 24Rc = (window size) × 2 × 24

그래픽스 플레인의 총 필셀 수가 1920 × 1080이고 픽셀당 인덱스의 비트 길이가 8비트인 경우, 그래픽스 플레인의 총 용량은 2 Mbyte(≒ 1920 × 1080 × 8)이다.If the total number of pixels in the graphics plane is 1920 × 1080 and the bit length of the index per pixel is 8 bits, the total capacity of the graphics plane is 2 Mbytes (≒ 1920 × 1080 × 8).

Rc가 128Mbps이고 윈도 크기가 그래픽스 플레인의 1/A인 경우, 다음의 식을 만족한다.If Rc is 128Mbps and the window size is 1 / A of the graphics plane, the following equation is satisfied.

128,000,000 = 1920 × 1080 × 1/A × 8 × 2 × 24128,000,000 = 1920 × 1080 × 1 / A × 8 × 2 × 24

1/A ≒ 0.16 (= 128,000,000/(1920 × 1080 × 8 × 2 × 24))1 / A ≒ 0.16 (= 128,000,000 / (1920 × 1080 × 8 × 2 × 24))

따라서, 윈도 크기를 전체 그래픽스 플레인의 16%로 제한함으로써, 애니메이션 효과가 128Mbps의 전송속도로 렌더링되는 한 비디오 스트림과의 애니메이션 효과 간의 동기는 보장된다. Thus, by limiting the window size to 16% of the entire graphics plane, synchronization between animation effects with the video stream is ensured as long as the animation effects are rendered at 128 Mbps.

예를 들어, 윈도의 클리어링 및 렌더링 속도를 나타내는 effect_duration이 비디오 프레임 속도의 1/2 또는 1/4이라고 가정하자. 이 경우, 윈도 크기는 Rc가 동일하더라도 전체 그래픽스 플레인의 32% 또는 64%만큼 클 수 있다. 즉, effect_sequence 구조체는 effect_duration이 더 큰 윈도 크기에 대해 더 길게 그리고 더 작은 윈도 크기에 대해 더 짧게 결정되는 특징을 구비한다. 이것으로 윈도 크게에 대한 설명을 끝마친다. 다음, 윈도 위치에 대해 설명한다. 상기한 바와 같이, 윈도의 위치와 크기는 한 Epoch를 통하여 고정된다.For example, suppose that the effect_duration representing the window's clearing and rendering speed is 1/2 or 1/4 of the video frame rate. In this case, the window size can be as large as 32% or 64% of the overall graphics plane, even if Rc is the same. That is, the effect_sequence structure has the feature that the effect_duration is determined longer for larger window sizes and shorter for smaller window sizes. This concludes the description of Windows. Next, the window position will be described. As mentioned above, the position and size of the window are fixed through one epoch.

윈도의 위치와 크기는 다음의 이유로 한 Epoch 기간 동안 고정된다. 윈도의 크기와 위치가 변경되면, 그래픽스 플레인의 기록 어드레스가 변경될 필요가 있으며, 이는 오버헤드(overhead)를 초래한다. 오버헤드는 필연적으로 오브젝트 버퍼에서 그래픽스 플레인으로의 전송속도를 감소시킨다.The position and size of the window are fixed during the Epoch period for the following reasons. If the size and position of the window changes, the write address of the graphics plane needs to be changed, which causes overhead. The overhead inevitably reduces the transfer rate from the object buffer to the graphics plane.

하나의 윈도에 한 번에 렌더링되도록 허용된 그래픽스 오브젝트의 개수에는 제한이 있다. 그래픽스 오브젝트의 개수는 디코드된 그래픽스 오브젝트를 전송할 때 초래하는 오버헤드를 줄이기 위하여 제한된다. 구체적으로, 여기서 언급하는 오버헤드는 그래픽스 플레인의 에지부의 어드레스를 설정할 때 초래된다. 이 오버헤드는 에지부의 수가 더 크면 증가한다. There is a limit to the number of graphics objects allowed to be rendered at one time in a window. The number of graphics objects is limited to reduce the overhead incurred when sending decoded graphics objects. Specifically, the overhead referred to here is incurred when setting the address of the edge portion of the graphics plane. This overhead increases if the number of edge portions is larger.

하나의 윈도에 표시될 수 있는 그래픽스 오브젝트의 개수에 제한이 없으면, 그래픽스 오브젝트를 그래픽스 플레인이 전송할 때 오버헤드가 무제한으로 초래되며, 이는 전송 부하의 변동을 증가시킨다. 반면, 하나의 윈도의 그래픽스 오브젝트의 개수를 두 개로 제한하면, 오버헤드의 예의 개수가 많아야 넷이라는 가정으로 전송속도 Rc가 설정될 수 있다. 따라서, 전송속도 Rc의 최소 기준이 쉽게 결정될 수 있다.If there is no limit to the number of graphics objects that can be displayed in one window, an unlimited overhead is incurred when the graphics plane transmits the graphics objects, which increases the variation in the transmission load. On the other hand, if the number of graphics objects in one window is limited to two, the transmission rate Rc may be set on the assumption that the number of examples of the overhead is large. Therefore, the minimum criterion of the transmission rate Rc can be easily determined.

effect_info 구조체로 돌아와서, effect_duration은 윈도 크기에 따라 결정된다. 이하, effect_duration이 결정되는 방법에 대해 설명한다. 도 21a는 effect_duration이 결정되는 방법을 도식적으로 설명하는 도면이다. 도면에서, (j+1) 번째 디스플레이 합성은 j 번째 디스플레이 합성의 표시로부터 다수의 비디오 프레임 이후에 표시된다. 이 다수의 비디오 프레임의 개수가 effect_duration이다. effect_duration을 계산하기 위해서, 각 디스플레이 합성의 표시를 위해 렌더링될 총 데이터 크기가 알려져야 한다. 여기서, effect_sequence는 number_of_windows 필드 값이 지시하는 개수의 윈도를 구비한다. 따라서, j 번째 디스플레이 합성의 표시를 위해 렌더링될 필요가 있는 데이터의 총 크기는 중괄호 br로 나타낸 바와 같이 윈도 (0) 내지 (number_of_windows - 1)의 총 크기와 같다.Returning to the effect_info structure, the effect_duration is determined by the window size. The following describes how the effect_duration is determined. 21A is a diagram schematically illustrating how the effect_duration is determined. In the figure, the (j + 1) th display composition is displayed after multiple video frames from the indication of the jth display composition. The number of these multiple video frames is effect_duration. In order to calculate the effect_duration, the total data size to be rendered for the display of each display composition must be known. Here, effect_sequence has a number of windows indicated by the number_of_windows field value. Thus, the total size of data that needs to be rendered for display of the jth display composition is equal to the total size of windows (0) to (number_of_windows-1), as indicated by the braces br.

상기와 같이, j 번째 디스플레이 합성은 윈도 (0) 내지 (number_of_windows - 1)를 구비한다. 따라서, 윈도의 총 데이터 크기를 재생장치의 전송속도(128Mbps)로 나누고 PTS의 시간 정확도(90Khz)를 곱하여 그 결과는 90KHz로 표시된다. 그 결과 값이 effect_sequence의 j 번째 디스플레이 합성이 표시되는 기간이다. 도 21b는 effect_duration을 계산하기 위한 식을 나타낸다.As above, the j th display synthesis has windows (0) to (number_of_windows-1). Therefore, the total data size of the window is divided by the transmission speed of the playback device (128 Mbps) and multiplied by the time accuracy of the PTS (90 Khz) to display the result at 90 KHz. The result is the period during which the jth display synthesis of effect_sequence is displayed. 21B shows an equation for calculating the effect_duration.

이 명세서에서, 연산자 "ceil()"는 정수로 반올림한 값을 돌려주는 나눗셈을 나타낸다.In this specification, the operator "ceil ()" denotes a division that returns a value rounded to an integer.

도 22는 in-effect 애니메이션의 측정 예를 나타내는 도면이다. in-effect 애니메이션은 화면에서 캐릭터 영상의 손바닥에서 빛이 나타나고 빛이 사라진 후 메뉴가 서서히 올라오도록 영상을 표시한다. 그래픽스 데이터의 크기는 메뉴가 화면에 완전하게 보일 때(effect(4)) in-effect 내에서 가장 크다. 따라서, 윈도의 window_width와 window_height는 effect(4)의 데이터 크기에 기초하여 결정된다. 여기서 결정된 윈도 크기가 전체 그래픽스 플레인의 약 50%인 것으로 가정한다. 이 윈도 크기는 그래픽스 플레인의 16%인 상기한 윈도 크기에 거의 3배 정도 크다. 결과적으로, 이 in-effect에 대한 effect_duration은 디스플레이 합성이 128Mbps의 속도로 적절하게 갱신되도록 하기 위하여 더 길게 결정된다. effect(0), (1), (2), 및 (3)의 각 effect_duration은 상대적으로 길게 설정된다. 이 설정에 의하면, 각 디스플레이 합성은 비디오 프레임 세 개마다 렌더링되어 in-effect 애니메이션이 연속하여 표시되는 것을 보장한다. 같은 체계가 out-effect에 적용된다. 도 23은 window_width, window_height, 및 effect_duration 필드 값이 상기한 방법으로 결정되는 out-effect 애니메이션을 보여주는 도면이다.22 is a diagram illustrating a measurement example of an in-effect animation. The in-effect animation displays the image so that the light appears in the palm of the character's image on the screen and the menu slowly rises after the light disappears. The size of the graphics data is largest in the in-effect when the menu is completely visible on the screen (effect (4)). Therefore, window_width and window_height of the window are determined based on the data size of the effect (4). Assume that the window size determined here is about 50% of the total graphics plane. This window size is almost three times larger than the above window size, which is 16% of the graphics plane. As a result, the effect_duration for this in-effect is determined longer so that the display synthesis is properly updated at a rate of 128 Mbps. Each effect_duration of effects (0), (1), (2), and (3) is set relatively long. With this setup, each display composition is rendered every three video frames to ensure that in-effect animations are displayed in succession. The same scheme applies to out-effects. FIG. 23 is a diagram illustrating an out-effect animation in which the window_width, window_height, and effect_duration field values are determined in the above-described manner.

상기한 바와 같이, 제 2 실시예에 따르면, window_info는 렌더링을 위한 그래픽스 플레인의 영역을 정의하고, effect_info는 렌더링 영역이 갱신되는 간격 주기를 정의한다. 따라서, 주기는 렌더링 영역이 더 크게 설정될 때 더 길게 조정될 수 있고, 렌더링 영역이 더 작게 설정될 때 더 짧게 조정될 수 있다. 이러한 설정에 의하면, 재생장치가 그래픽스 데이터를 고정된 전송속도로 전송하는 한 애니메이션 효과의 연속적인 표시가 보장된다.As described above, according to the second embodiment, window_info defines an area of the graphics plane for rendering, and effect_info defines an interval period in which the rendering area is updated. Thus, the period can be adjusted longer when the rendering area is set larger, and shorter when the rendering area is set smaller. This setting ensures continuous display of animation effects as long as the playback device transmits the graphics data at a fixed transmission rate.

(제 3 실시예)(Third embodiment)

본 발명의 제 3 실시예는 스크롤(Scroll), 와이프-인/아웃(Wipe-In/Out), 및 컷-인/아웃(Cut-In/Out)과 같은 애니메이션 효과의 표시에 대한 개선에 관한 것이다. 애니메이션 효과를 달성하기 위한 구조체는 도 20에 도시한 composition_object 구조체에 있다. 도 24는 임의의 composition_object(i)의 내부 구조를 상세하게 보여주는 도면이다. 도면에 도시한 바와 같이, composition_object(i)는 다음의 필드로 구성된다. 즉, "object_id_ref"; "window_id_ref"; object_cropped_flag"; "composition_object_horizontal_position"; "composition_object_vertical_position"; 및 "cropping_rectangle_info(1), (2) ... (n)"이다.A third embodiment of the present invention relates to an improvement in the display of animation effects such as scroll, wipe-in / out, and cut-in / out. will be. The structure for achieving the animation effect is in the composition_object structure shown in FIG. FIG. 24 shows the internal structure of an arbitrary composition_object (i) in detail. As shown in the figure, composition_object (i) is composed of the following fields. That is, "object_id_ref"; "window_id_ref"; object_cropped_flag ";" composition_object_horizontal_position ";" composition_object_vertical_position "; and" cropping_rectangle_info (1), (2) ... (n) ".

object_id_ref 필드는 그래픽스 오브젝트 식별자(object_id)용 기준 값을 나타낸다. 기준 값은 composition_object(i)에 따라 디스플레이 합성을 생성하는데 사용되는 그래픽스 오브젝트를 식별하는 object_id에 대응한다.The object_id_ref field represents a reference value for the graphics object identifier object_id. The reference value corresponds to object_id which identifies the graphics object used to generate the display composition according to composition_object (i).

window_id_ref 필드는 윈도우 식별자(window_id)용 기준 값을 나타낸다. 기준 값은 composition_object(i)에 따라 디스플레이 합성이 렌더링되는 윈도우를 식별하는 window_id에 대응한다.The window_id_ref field represents a reference value for the window identifier window_id. The reference value corresponds to window_id which identifies the window in which the display composition is rendered according to composition_object (i).

object_cropped_flag 필드는 오브젝트 버퍼에 크롭된 그래픽스 오브젝트가 표시될 것인지 표시되지 않을 것인지를 지시하는 플래그를 나타낸다. 이 필드가 "1"로 설정되는 경우, 오브젝트 버퍼에 크롭된 그래픽스 오브젝트는 표시된다. 반면, 이 필드가 "0"으로 설정되는 경우, 크롭된 그래픽스 오브젝트는 표시되지 않는다.The object_cropped_flag field represents a flag indicating whether a graphics object cropped in the object buffer is displayed or not. If this field is set to '1', graphics objects cropped to the object buffer are displayed. On the other hand, if this field is set to "0", the cropped graphics object is not displayed.

composition_object_horizontal_position 필드는 그래픽스 플레인의 그래픽스 오브젝트의 최상부 좌측 픽셀의 수평 위치를 나타낸다. The composition_object_horizontal_position field represents the horizontal position of the top left pixel of the graphics object of the graphics plane.

composition_object_vertical_position 필드는 그래픽스 플레인의 그래픽스 오브젝트의 최상부 좌측 픽셀의 수직 위치를 나타낸다. The composition_object_vertical_position field represents the vertical position of the top left pixel of the graphics object of the graphics plane.

cropping_rectangle 구조체는 object_cropped_flag 필드가 "1"로 설정될 때 유효하다. 도 24에서, 화살표 wd2는 cropping_rectangle의 내부 구조가 상세하게 보이도록 발췌된 것을 나타낸다. 도면에 도시한 바와 같이, cropping_rectangle 구조체는 다음의 필드로 구성된다. 즉, "object_cropping_horizontal_position"; "object_cropping_vertical_position" ; "object_cropping_width"; 및 "object_cropping_height"이다. The cropping_rectangle structure is valid when the object_cropped_flag field is set to "1". In FIG. 24, arrow wd2 shows that the internal structure of cropping_rectangle is extracted in detail. As shown in the figure, the cropping_rectangle structure is composed of the following fields. That is, "object_cropping_horizontal_position"; "object_cropping_vertical_position"; "object_cropping_width"; And "object_cropping_height".

object_cropping_horizontal_position 필드는 크롭핑 사각의 최상부 좌측 코너의 수평 위치를 나타낸다. 크롭핑 사각은 크롭될 그래픽스 오브젝트의 영역을 정의한다.The object_cropping_horizontal_position field represents the horizontal position of the top left corner of the cropping rectangle. The cropping rectangle defines the area of the graphics object to be cropped.

object_cropping_vertical_position 필드는 크롭핑 사각의 최상부 좌측 코너의 수직 위치를 나타낸다. The object_cropping_vertical_position field represents the vertical position of the top left corner of the cropping rectangle.

object_cropping_width 필드는 크롭핑 사각의 폭을 나타낸다.The object_cropping_width field represents the width of the cropping rectangle.

object_cropping_height 필드는 크롭핑 사각의 높이를 나타낸다.The object_cropping_height field represents the height of the cropping rectangle.

이것으로 composition_object 구조체에 대한 설명을 끝마친다. 다음, omposition_object 구조체에 대한 구체 예에 대해 설명한다.This concludes the description of the composition_object structure. Next, specific examples of the omposition_object structure will be described.

도 25는 Right-Scroll 애니메이션 효과를 표시하는 in-effect의 구체 예를 나타내는 도면이다. 이 예의 in-effect 애니메이션은 언어 선택메뉴가 화면의 우측 가장자리로부터 점차 나타나도록 영상을 표시한다. 이 in-effect 애니메이션에 대해, composition_object(0), composition_object(1), composition_object(2), 및 composition_object(3)은 각각 지점 t0, t1, t2, 및 t에 부여된다. 또한, ICS와 DS 각각에 관련된 effect_info 구조체는 다음의 window_info 구조체와 composition_object 구조체를 포함하도록 정의된다.25 is a diagram illustrating a specific example of an in-effect that displays a Right-Scroll animation effect. The in-effect animation in this example displays the image so that the language selection menu gradually appears from the right edge of the screen. For this in-effect animation, composition_object (0), composition_object (1), composition_object (2), and composition_object (3) are given to points t0, t1, t2, and t, respectively. In addition, the effect_info structure related to each of ICS and DS is defined to include the following window_info structure and composition_object structure.

이하, 각 composition_object 구조체의 설정에 대해 설명한다. 도 26-29는 각각 composition_object 구조체의 예제 설정을 설명한다. 도 26은 composition_object(0) 구조체의 예를 보여주는 도면이다.The setting of each composition_object structure will be described below. 26-29 illustrate example settings of the composition_object structure, respectively. 26 is a diagram illustrating an example of a composition_object (0) structure.

도면에서, window_horizontal_position과 window_vertical_position 필드는 그래픽스 플레인의 윈도의 최상부 좌측 픽셀 LPO의 좌표를 특정한다. window_width와 window_height 필드는 윈도의 폭과 높이를 특정한다.In the figure, the window_horizontal_position and window_vertical_position fields specify the coordinates of the top left pixel LPO of the window of the graphics plane. The window_width and window_height fields specify the width and height of the window.

도면에 도시한 바와 같이, object_cropping_horizontal_position과 object_cropping_vertical_position 필드는 크롭될 그래픽스 오브젝트의 영역을 결정하는데 사용되는 기준점 ST1을 특정한다. 기준점 ST1은 오브젝트 버퍼의 그래픽스 오브젝트의 최상부 좌측 모서리에 원점을 갖는 좌표계에 기초하여 지정된다. 기준점 ST1으로부터 object_cropping_width와 object_cropping_height 필드에 의해 특정된 길이와 폭을 갖는 영역은 크롭핑 사각(도면에서 실선 박스)으로 결정된다. 그래픽스 오브젝트의 크롭된 부분은 window_horizontal_position과 window_vertical_position 필드가 특정하는 최상부 좌측 픽셀 LPO를 갖는 위치의 그래픽스 플레인에서 렌더링된다. 이 예에서, 우측으로부터 언어 선택메뉴의 약 1/4이 그래픽스 플레인의 윈도 내에서 렌더링된다. 그 결과, 언어 선택메뉴의 우측 1/4이 비디오 위에 중첩된 합성 영상으로서 표시된다.As shown in the figure, the object_cropping_horizontal_position and object_cropping_vertical_position fields specify the reference point ST1 used to determine the area of the graphics object to be cropped. The reference point ST1 is specified based on a coordinate system having an origin in the upper left corner of the graphics object of the object buffer. The area having the length and width specified by the object_cropping_width and object_cropping_height fields from the reference point ST1 is determined by the cropping rectangle (solid line box in the figure). The cropped portion of the graphics object is rendered in the graphics plane at the position with the top left pixel LPO specified by the window_horizontal_position and window_vertical_position fields. In this example, about one quarter of the language selection menu from the right is rendered in the window of the graphics plane. As a result, the right quarter of the language selection menu is displayed as a composite image superimposed on the video.

도 27, 28, 및 29는 각각 composition_object(1) 구조체, composition_object(2) 구조체, 및 composition_object(30 구조체의 예를 나타내는 도면이다. 각 도면에 나타낸 window_info 구조체는 도 26에 나타낸 것과 동일하다. 따라서, 설명은 생략한다. 그러나, 도 27에 도시한 composition_object(1) 구조체는 도 26에 나타낸 것과 다르다. 도 27에서, object_cropping_horizontal_position과 object_cropping_vertical_position 필드는 오브젝트 버퍼에 저장된 언어 선택 메뉴의 1/4이 아닌 대략 우측 절반의 최상부 좌측 픽셀의 좌표를 특정한다. object_cropping_width와 object_cropping_height 필드는 언어 선택메뉴의 우측 절반의 높이와 폭을 특정한다. 마찬가지로, 도 28에서, composition_object(2) 구조체의 각 필드는 함께 우측으로부터 언어 선택메뉴의 약 3/4를 특정한다. 도 29에서, composition_object(3) 구조체의 각 필드는 함께 우측으로부터 언어 선택메뉴의 전체 부분을 특정한다. 도 27, 28, 및 29에 도시한 그래픽스 오브젝트의 크롭된 부분을 그래픽스 플레인에 렌더링함으로써, 우측으로부터 언어 선택메뉴의 절반, 3/4 그리고 전체 언어 선택메뉴가 비디오 위에 오버레이된다.27, 28, and 29 are diagrams showing examples of the composition_object (1) structure, the composition_object (2) structure, and the composition_object (30 structure), respectively. The window_info structure shown in each drawing is the same as that shown in FIG. The description is omitted, but the composition_object (1) structure shown in Fig. 27 is different from that shown in Fig. 26. In Fig. 27, the object_cropping_horizontal_position and object_cropping_vertical_position fields are approximately right half of the language selection menu stored in the object buffer. Specifies the coordinates of the top left pixel of the object_cropping_width and object_cropping_height fields specify the height and width of the right half of the language selection menu, similarly, in Figure 28, each field of the composition_object (2) structure together is a language selection menu from the right side. Specifies approximately three quarters of the two in Fig. 29, each field of the composition_object (3) structure is right together. Specifies the entire portion of the language selection menu from .. By rendering the cropped portion of the graphics object shown in Figs. Is overlaid on the video.

상기한 바와 같이, 본 발명의 제 3 실시예에 따르면, composition_object 구조체에 의해 애니메이션 효과는 원하는 대로 쉽게 정의된다. 예를 들어, 오브젝트 버퍼에 저장된 그래픽스 오브젝트가 화면에 점차 나타나거나 화면에서 점차 사라지도록 렌더링되는 것이 쉽게 정의된다.As described above, according to the third embodiment of the present invention, the animation effect is easily defined as desired by the composition_object structure. For example, it is easily defined that a graphics object stored in an object buffer is rendered to gradually appear on the screen or gradually disappear from the screen.

(제 4 실시예)(Example 4)

본 발명의 제 4 실시예는 DS의 ODS 순서의 최적화를 통하여 이루어진 개선에 관한 것이다. 상기한 바와 같이, DS의 ODS는 interactive_composition에 의해 참조되어 in-effect나 out-effect 애니메이션 또는 버튼의 한 상태를 표시할 수 있다. DS의 ODS 순서는 ODS가 in-effect 애니메이션, out-effect 애니메이션 또는 버튼 상태에 사용되느냐에 따라 결정된다.A fourth embodiment of the present invention relates to improvements made through optimization of the ODS order of DS. As described above, the ODS of the DS may be referenced by interactive_composition to indicate an in-effect or out-effect animation or a state of a button. The ODS order of the DS is determined by whether the ODS is used for in-effect animation, out-effect animation, or button state.

구체적으로, DS의 ODS는, (1) Page[0]에 대한 out-effect 애니메이션의 표시 를 위해 사용되는 ODS, (2) 버튼의 정상상태의 표시를 위해 사용되는 ODS, (3) 버튼의 선택된 상태의 표시를 위해 사용되는 ODS, (4) 버튼의 활성화 상태의 표시를 위해 사용되는 ODS, (5) Page[0]에 대한 in-effect와 이후의 Page[1]에 대한 in-effect 및 out-effect의 표시를 위해 사용되는 ODS로 분류된다. 즉, 동일한 표시와 관련된 ODS는 동일한 그룹에 들어간다. in-effect와 관련된 ODS 그룹은 "in-effect 그룹"으로 불린다. 각 버튼상태에 관련된 ODS 그룹은 "버튼-상태 그룹"으로 불린다. Page[0]의 out-effect, Page[1]의 in-effect 및 out-effect와 관련된 ODS는 "나머지 그룹"으로 불린다.Specifically, the ODS of DS is selected from (1) ODS used for display of out-effect animation for Page [0], (2) ODS used for display of steady state of button, and (3) button selected. ODS used to indicate status, (4) ODS used to indicate activation status of button, (5) in-effect for Page [0] and subsequent in-effect and out for Page [1] Classified as an ODS used to indicate -effect. That is, ODSs associated with the same indication are in the same group. ODS groups associated with in-effects are called "in-effect groups". The ODS group associated with each button state is called a "button-state group". ODSs associated with out-effects of Page [0], in-effects of Page [1], and out-effects are called "rest groups".

이들 ODS 그룹은 다음의 순서로 정렬된다. 즉, in-effect 그룹 -> 정상상태 그룹 -> 선택된 상태 그룹 -> 활성화 상태 그룹 -> 나머지 그룹이다. 이와 같이, DS의 ODS 순서는 ODS가 관련된 표시 대상에 기초하여 결정된다.These ODS groups are arranged in the following order. That is, in-effect group-> steady state group-> selected state group-> active state group-> remaining group. In this way, the ODS order of the DS is determined based on the display object to which the ODS is related.

다음, DSn의 ODS의 순서에 대해 구체적으로 설명한다. 도 30은 DS의 ODS 순서를 나타내는 도면이다.Next, the order of ODS of DS n is demonstrated concretely. 30 is a diagram illustrating an ODS order of DSs.

도면에서, ODS1-ODSg는 Page[0]에 대한 in-effect와 관련된 ODS 그룹에 속한다(in-effect 그룹).In the figure, ODS 1 -ODS g belongs to the ODS group associated with the in-effect for Page [0] (in-effect group).

ODSg+1-ODSh는 버튼의 정상상태와 관련된 ODS 그룹에 속한다(정상상태용 ODS).ODS g + 1 -ODS h belongs to the ODS group associated with the normal state of the button (normal state ODS).

ODSh+1-ODSi는 버튼의 선택된 상태와 관련된 ODS 그룹에 속한다(선택된 상태용 ODS).ODS h + 1 -ODS i belongs to the ODS group associated with the selected state of the button (ODS for the selected state).

ODSi+1-ODSjj는 버튼의 활성화 상태와 관련된 ODS 그룹에 속한다(활성화 상태용 ODS).ODS i + 1 -ODSj j belongs to the ODS group associated with the activation state of the button (ODS for activation state).

ODSj+1-ODSk는 Page[0]의 out-effect에 관련된 ODS 그룹과 이후 Page[1]으로부터의 페이지의 in-effect 및 out-effect에 관련된 ODS에 속한다(나머지 그룹).ODS j + 1 -ODS k belongs to the ODS group related to the out-effect of Page [0] and to the ODS related to the in-effect and out-effect of the page from Page [1] (the remaining group).

ODS 그룹은 다음 순서로 정렬된다. in-effect 그룹 -> 정상상태 그룹 -> 선택된 상태 그룹 -> 활성화 상태 그룹 -> 나머지 그룹이다. 이 순서는 인터랙티브의 첫 번째 표시에 요구되는 ODS가 첫 번째로 판독되고 디스플레이 갱신 이후에만 요구되는 ODS는 나중에 판독되도록 결정된다.ODS groups are sorted in the following order: in-effect group-> steady state group-> selected state group-> active state group-> remaining group. This order is determined so that the ODS required for the first display of the interactive is read first and the ODS required only after the display update is read later.

다음, 다중-참조가 있을 경우 ODS 순서에 대해 설명한다. 여기에 사용되는 "다중-참조(multiple-reference)"라는 용어는 동일한 object_id는 ICS의 normal_state_info, selected_state_info, 및 activated_state_info 중 둘 이상의 부분에 의해 참조되는 것을 의미한다. 예를 들어, 다중-참조에 의하여, 정상상태의 버튼을 렌더링하는데 이용되는 특정 그래픽스 오브젝트는 선택된 상태의 다른 버튼을 렌더링하는데 공통으로 사용된다. 다시 말해, 그래픽스 오브젝트는 공유되어 ODS의 수를 줄일 수 있다. 여기서,다중-참조를 구비한 ODS가 어떤 버튼상태에 속하는지에 대한 문제가 생긴다.Next, the ODS order is described when there are multi-references. The term " multiple-reference " as used herein means that the same object_id is referenced by two or more portions of normal_state_info, selected_state_info, and activated_state_info of the ICS. For example, by multi-reference, a particular graphics object used to render a button in a steady state is commonly used to render another button in a selected state. In other words, graphics objects can be shared to reduce the number of ODS. Here, a problem arises as to which button state the ODS with multi-reference belongs to.

구체적으로, 하나의 ODS가 선택된 상태의 다른 버튼뿐만 아니라 정상상태의 하나의 버튼에 관련되는 경우, ODS가 정상상태용 버튼상태 그룹이나 선택된 상태의 버튼상태 그룹에 속하는지가 결정될 필요가 있다.Specifically, if one ODS is related to one button in the normal state as well as other buttons in the selected state, it is necessary to determine whether the ODS belongs to the button state group for the normal state or the button state group in the selected state.

그러한 경우, ODS는 ICS에 먼저 나타나는 버튼상태 그룹에 위치한다.In that case, the ODS is placed in the button state group that appears first in the ICS.

예를 들어, ODS가 정상상태 그룹과 선택된 상태 그룹 모두에 의해 참조된다면, ODS는 정상상태 그룹(N-ODS)에 위치하지만 선택된 상태 그룹(S-ODS)에는 위치하지 않는다. 또한, ODS가 선택된 상태 그룹과 활성화 상태 그룹 모두에 의해 참조된다면, ODS는 선택된 상태 그룹(S-ODS)에 위치하지만 활성화 상태 그룹(A-ODS)에는 위치하지 않는다. 이러한 방법으로, 각 ODS가 둘 이상의 다른 state_info 구조체에 의해 참조될 때, ODS는 DS에서 한 번만 나타나고 버튼상태 그룹의 첫 번째 것에 위치한다.For example, if an ODS is referenced by both a steady state group and a selected state group, the ODS is located in the steady state group (N-ODS) but not in the selected state group (S-ODS). Also, if the ODS is referenced by both the selected state group and the activation state group, the ODS is located in the selected state group (S-ODS) but not in the activation state group (A-ODS). In this way, when each ODS is referenced by two or more different state_info structures, the ODS appears only once in the DS and is located in the first of the button state groups.

이는 애니메이션 효과에 관련된 ODS에도 동일하게 적용된다. 그래픽스 오브젝트가 Page[0]용 in-effect 및 out-effect에 공통으로 사용된다면, 그래픽스 오브젝트는 DS에 한 번만 나타나고 in-effect 그룹에 위치한다. 마찬가지로, 그래픽스 오브젝트가 Page[0]용 in-effect와 이후의 Page[1]용 in-effect 또는 out-effect에 공통으로 사용된다면, 그래픽스 오브젝트는 DS에 한 번만 나타나고 in-effect 그룹에 위치한다. 이것으로 ODS에 대한 다중-참조가 있는 경우 ODS 순서에 대한 설명을 끝마친다.The same applies to ODS related to animation effects. If a graphics object is commonly used for in-effects and out-effects for Page [0], the graphics object appears only once in the DS and is located in the in-effect group. Similarly, if a graphics object is commonly used for in-effects for Page [0] and subsequent in-effects or out-effects for Page [1], the graphics object appears only once in the DS and is located in the in-effect group. This concludes the description of ODS order when there are multiple references to ODS.

상기한 바와 같이 ODS에 대한 가능한 다중-참조 때문에, DSn은 상기한 모든 ODS 그룹을 포함하지 않을 수 있다. 예들 들어, DSn은 다중-참조 때문에 선택된 상태 그룹을 포함하지 않을 수 있다. 또한, DSn은 in-effect 그룹 ODS를 포함하지 않을 수 있다. 이는 in-effect가 인터랙티브 디스플레이의 표시에 필수적이지 않기 때문이다.Because of the possible multi-reference to ODS as described above, DS n may not include all of the ODS groups described above. For example, DS n may not include the selected state group because of multi-referencing. In addition, DS n may not include an in-effect group ODS. This is because in-effects are not essential for the display of interactive displays.

이하, 선택된 상태용 버튼상태 그룹(S-ODS)의 ODS 순서에 대해 설명한다. S-ODS 중, 어떤 ODS가 선두에 위치해야하는지는 디폴트 선택버튼이 정적으로 또는 동적으로 결정되느냐에 따른다. interactive_composition의 default_selected_button_id_ref 필드가 "00" 이외의 유효값으로 설정되면, 디폴트 선택버튼은 정적으로 결정된다. 이 유효값은 디폴트로 선택될 버튼을 특정한다. default_selected_button_id_ref 필드가 유효하고 특정된 디폴트 선택버튼과 관련된 ODS가 N-ODS에 없다면, 그 ODS는 S-ODS의 선두에 위치한다.The following describes the ODS order of the button state group (S-ODS) for the selected state. Of the S-ODS, which ODS should be placed first depends on whether the default selection button is determined statically or dynamically. If the default_selected_button_id_ref field of the interactive_composition is set to a valid value other than "00", the default selection button is statically determined. This valid value specifies the button to be selected by default. If the default_selected_button_id_ref field is valid and the ODS associated with the specified default selected button is not in the N-ODS, the ODS is placed at the head of the S-ODS.

반면, default_selected_button_id_ref 필드가 "00"으로 설정되면, 재생장치의 상태에 따라 다른 버튼이 디폴트 버튼으로 동적으로 결정된다.On the other hand, when the default_selected_button_id_ref field is set to "00", another button is dynamically determined as the default button according to the state of the playback apparatus.

default_selected_button_id_ref 필드는, 예를 들어, DS가 다중화된 AV 클립이 다수의 재생경로의 합류 지점의 역할을 하는 경우, "00"값으로 설정된다. 그 경우, 어떤 재생경로가 선택되느냐에 따라 다른 버튼이 디폴트로 선택될 필요가 있다. 따라서, S-ODS에 특정 ODS를 둘 필요가 없다.The default_selected_button_id_ref field is set to a value of "00", for example, when a DS multiplexed AV clip serves as a joining point of multiple playback paths. In that case, different buttons need to be selected by default depending on which playback path is selected. Therefore, there is no need to put a specific ODS in the S-ODS.

도 31은 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우와 버튼 B를 특정하는 유효값으로 설정되는 경우 사이에 S-ODS의 ODS 순서가 어떻게 다른지를 보여주는 도면이다. 도면에서, 화살표 ss1은 default_selected_button_id_ref 필드가 버튼 B를 식별하는 button_id를 특정하는 경우에 S-ODS의 ODS 순서를 나타낸다. 화살표 ss2는 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우에 S-ODS의 ODS 순 서를 나타낸다. 도면에 도시한 바와 같이, default_selected_button_id_ref 필드가 버튼 B를 특정하는 경우, 버튼 B의 선택된 상태와 관련된 ODS(버튼 B용 ODS)는 S-ODS의 선두에 위치하며, 다른 버튼과 관련된 ODS(버튼 A, C, 및 D용 ODS)가 뒤따른다. 반면, default_selected_button_id_ref 필드가 "00"으로 설정되는 경우, 버튼 A의 선택된 상태와 관련된 ODS(버튼 B용 ODS)는 S-ODS의 선두에 위치한다. 상기한 바와 같이, S-ODS의 ODS 순서는 default_selected_button_id_ref 필드 값이 값을 갖느냐 갖지않느냐에 따라 다르다.FIG. 31 is a diagram showing how the ODS order of S-ODS is different between the case where the default_selected_button_id_ref field is set to "00" and the case where the button B is set to a valid value for specifying the button B. FIG. In the figure, arrow ss1 indicates the ODS order of S-ODS when the default_selected_button_id_ref field specifies button_id identifying button B. The arrow ss2 indicates the ODS order of the S-ODS when the default_selected_button_id_ref field is set to "00". As shown in the figure, when the default_selected_button_id_ref field specifies button B, the ODS (ODS for Button B) associated with the selected state of Button B is located at the head of the S-ODS, and the ODS (Button A, ODS for C, and D). On the other hand, when the default_selected_button_id_ref field is set to "00", the ODS (ODS for Button B) related to the selected state of Button A is located at the head of the S-ODS. As described above, the ODS order of the S-ODS depends on whether or not the default_selected_button_id_ref field value has a value.

제 4 실시예에 따르면, DS의 ODS는 DS에 나타나는 순서로 정렬된다. 따라서, 다수의 그래픽 요소를 포함하는 디스플레이 합성은 부드럽게 표시될 수 있다.According to the fourth embodiment, the ODSs of the DSs are arranged in the order in which they appear in the DSs. Thus, a display composition comprising a plurality of graphic elements can be displayed smoothly.

(제 5 실시예)(Fifth Embodiment)

제 5 실시예에서, AV 클립의 시간 축에 DS를 부여하는 방법을 설명한다. 본 발명의 제 5 실시예에서, PTS와 DTS 값을 어떻게 설정하는지를 설명한다.In the fifth embodiment, a method of giving DS to the time axis of an AV clip will be described. In the fifth embodiment of the present invention, how to set PTS and DTS values will be described.

먼저, ODS의 PTS와 DTS에 기초하여 동기 제어에 영향을 주는 메커니즘을 설명한다.First, a mechanism for influencing synchronous control based on PTS and DTS of ODS will be described.

DTS는 90KHz의 시간 정확도로 관련 ODS의 디코딩이 개시되어야 하는 시간을 나타낸다. PTS는 디코딩을 완료하기 위한 마감시간을 나타낸다.The DTS represents the time at which the decoding of the associated ODS should be started with a time accuracy of 90 KHz. PTS represents the deadline for completing decoding.

ODS의 디코딩은 즉시 완료될 수 없으며, 일정한 기간이 걸린다. ODS를 디코딩하는 개시 및 종료시간을 명시적으로 나타내기 위하여, DTS 및 PTS는 디코딩 개시시간과 디코딩 마감시간을 나타낸다.The decoding of the ODS cannot be completed immediately, it takes a certain period of time. In order to explicitly indicate the start and end time of decoding the ODS, the DTS and PTS indicate the decoding start time and the decoding dead time.

PTS 값은 관련 ODS의 디코딩이 완료되어 그 결과에 따른 비압축 그래픽스 오브젝트가 재생장치의 오브젝트 버퍼에 이용가능하게 되어야 하는 마감시간을 나타낸다. The PTS value indicates the dead time after which the decoding of the associated ODS has been completed and the resulting uncompressed graphics object should be available in the object buffer of the playback device.

DSn에 속하는 임의의 ODSj의 디코딩 개시시간은 90KHz의 시간 정확도로 DTS(DSn[ODS])로 나타낸다. 따라서, ODSj의 디코딩 마감시간은 DTS(DSn[ODS]) 값과 디코딩에 걸릴 수 있는 최대 시간의 합으로 결정된다.Decoding start time of arbitrary ODS belonging to the DS j n represents a time accuracy of 90KHz by DTS (DS n [ODS]) . Therefore, the decoding dead time of ODSj is determined by the sum of the DTS (DS n [ODS]) value and the maximum time that can be decoded.

여기서, SIZE(ODSn[ODSj])가 압축해제 후의 ODSj의 크기를 나타내고, Rd가 ODSj의 디코딩 속도를 나타내며, 디코딩에 걸리는 최대시간은 ceil(SIZE(ODSn[ODSj]))인 것으로 하자.Where SIZE (ODS n [ODS j ]) represents the size of ODS j after decompression, Rd represents the decoding speed of ODS j , and the maximum time to decode is ceil (SIZE (ODS n [ODS j ])) Let's be.

이 최대시간은 90KHz의 정확도로 변환하고 그 결과를 ODSj의 DTS에 더함으로써, PTS가 나타내는 디코딩 마감시간은 90KHz의 정확도로 계산된다.By converting this maximum time to an accuracy of 90 KHz and adding the result to the DTS of ODS j, the decoding deadline represented by the PTS is calculated with an accuracy of 90 KHz.

DSn에 속하는 ODSj의 PTS는 다음 식으로 표현될 수 있다.The PTS of ODS j belonging to DS n may be expressed by the following equation.

PTS(DS[ODSj]) = DTS(DSn[ODSj]) + 90,000 + ceil(SIZE(ODSn[ODSj])/Rd)PTS (DS [ODS j ]) = DTS (DS n [ODS j ]) + 90,000 + ceil (SIZE (ODS n [ODS j ]) / Rd)

또한, 두 인접한 ODS (ODSj와 ODSj+1) 간의 관계는 다음 식을 만족할 필요가 있다.In addition, the relationship between two adjacent ODSs (ODS j and ODS j + 1 ) needs to satisfy the following equation.

PTS(DSn[ODSj]) ≤ DTS(DSn[ODSj+1])PTS (DS n [ODS j ]) ≤ DTS (DS n [ODS j + 1 ])

이것으로 ODS의 PTS 및 DTS에 대한 설명을 끝마친다. 다음, ICS의 PTS에 대해 설명한다. ICS는 DSn의 첫 번째 ODS의 디코딩 개시시간 전(즉, DTS(DSn[ODS1])이 나타내는 시간 전) 그리고 또한 DSn의 첫 번째 표시가 유효하기 전(즉, PTS(DSn[PDS1])이 나타내는 시간 전)에 재생장치의 합성 버퍼에 로드되어야 한다. 따라서, 다음 식을 만족할 필요가 있다.This concludes the description of PTS and DTS in ODS. Next, the PTS of the ICS will be described. ICS before the decoding start time of the first ODS of DS n (ie, before the time indicated by DTS (DS n [ODS 1 ])) and also before the first indication of DS n is valid (ie, PTS (DS n [ Before the time indicated by the PDS 1 ]). Therefore, it is necessary to satisfy the following equation.

DTS(DSn[ICS]) ≤ DTS(DSn[ODS1])DTS (DS n [ICS]) ≤ DTS (DS n [ODS 1 ])

DTS(DSn[ICS]) ≤ PTS(DSn[PDS1])DTS (DS n [ICS]) ≤ PTS (DS n [PDS 1 ])

다음, DSn의 ICS의 OTS에 대해 설명한다. PTS(DSn[ICS]) 값은 다음 식을 만족하도록 설정된다.Next, OTS of ICS of DS n will be described. The PTS (DS n [ICS]) value is set to satisfy the following equation.

PTS(DSn[ICS]) ≥ PTS(DSn[ICS]) + DECODEDURATION + TRANSFERDURATIONPTS (DS n [ICS]) ≥ PTS (DS n [ICS]) + DECODEDURATION + TRANSFERDURATION

DECODEDURATION은 DSn(ICS)의 첫 번째 표시에 필요한 그래픽스 오브젝트를 디코딩하는데 걸리는 시간을 나타낸다. 디코딩 개시시간은 최초의 DTS(ICS) 값과 동일하다. 여기서, LASTODSPTS가 DSn(ICS)의 첫 번째 표시에 필요한 그래픽스 오브젝트 중 가장 최근에 디코딩이 완료된 그래픽스 오브젝트에 관련된 PTS를 나타내고, DECODEDURATION은 LASTODSPTS(DSn) - DTS(DSn[ICS])과 같은 것으로 하자.DECODEDURATION represents the time taken to decode the graphics object needed for the first representation of DS n (ICS). The decoding start time is equal to the original DTS (ICS) value. Where LASTODSPTS represents the PTS associated with the most recently decoded graphics object of the graphics objects required for the first representation of DS n (ICS), and DECODEDURATION is equal to LASTODSPTS (DS n )-DTS (DS n [ICS]). Let's do it.

LASTODSPTS 값은 default_selected_button_id_ref 설정과 DS의 ODS 순서에 따라 다른 값을 취한다. 도 32a, 32b, 33a, 33b, 및 33c는 ODS의 DTS를 사용하여 LASTODSPTS 설정을 설명하는 다른 ODS 순서를 나타낸다.The LASTODSPTS value takes a different value depending on the default_selected_button_id_ref setting and the ODS order of the DS. 32A, 32B, 33A, 33B, and 33C illustrate different ODS sequences describing the LASTODSPTS setting using the DTS of the ODS.

도 32a는 디폴트로 선택된 버튼이 정적으로 결정되는 경우, 즉 default_selected_button_id_ref 필드가 0이 아닌 값으로 설정되는 경우를 나타낸다. 이 경우, LASTODSPTS는 S-ODS 내 첫 번째 ODS의 PTS 값(즉, PTS(DSn[ODSh+1)의 값)을 취한다. 도면에서, ODSh+1은 실선 박스 내에 들어있다.32A illustrates a case where a button selected as a default is statically determined, that is, a default_selected_button_id_ref field is set to a non-zero value. In this case, LASTODSPTS takes the PTS value of the first ODS in the S-ODS (ie, the value of PTS (DS n [ODS h + 1 )). In the figure, ODS h + 1 is contained in a solid line box.

도 32b는 디폴트로 선택된 버튼이 동적으로 결정되는 경우, 즉 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우를 나타낸다. 이 경우, LASTODSPTS는 S-ODS 중 최종 ODS의 PTS 값(즉, PTS(DSn[ODSi)의 값)을 취한다. 도면에서, ODSi는 실선 박스 내에 들어있다.32B illustrates a case where a button selected as a default is dynamically determined, that is, when a default_selected_button_id_ref field is set to "00". In this case, LASTODSPTS takes the PTS value of the last ODS (ie, the value of PTS (DS n [ODS i )) of the S-ODS. In the figure, ODS i is contained in a solid line box.

도 33a는 선택된 상태와 관련된 ODS를 포함하지 않는다. 이 경우, LASTODSPTS는 N-ODS 중 최종 ODS의 PTS 값(즉, PTS(DSn[ODSh)의 값)을 취한다. 도면 에서, ODSh는 실선 박스 내에 들어있다.33A does not include the ODS associated with the selected state. In this case, LASTODSPTS takes the PTS value of the last ODS of the N-ODS (ie, the value of PTS (DS n [ODS h )). In the figure, ODS h is contained in a solid line box.

도 33b는 정상상태와 관련된 ODS를 포함하지 않는다. 이 경우, LASTODSPTS는 in-effect ODS 중 최종 ODS의 PTS 값(즉, PTS(DSn[ODSg)의 값)을 취한다. 도면에서, ODSg는 실선 박스 내에 들어있다.33B does not include ODS associated with steady state. In this case, LASTODSPTS takes the PTS value of the last ODS in the in-effect ODS (ie, the value of PTS (DS n [ODS g )). In the figure, ODS g is contained in a solid line box.

도 33c는 ODS를 전혀 포함하지 않는다. 이 경우, LASTODSPTS는 DSn의 ICS에 특정된 DTS 값(즉, DTS(DSn[ICS])의 값)을 취한다. 도면에서, ICS는 실선 박스 내에 들어있다.33C does not include ODS at all. In this case, LASTODSPTS takes a DTS value specific to the ICS of DS n (ie, the value of DTS (DS n [ICS])). In the figure, the ICS is enclosed in a solid line box.

상기한 서술은 DSn이 Epoch Start DS가 아닌 경우에도 적용됨에 유의하라. DSn이 Epoch Start DS이면, 다른 서술이 적용된다.Note that the above description applies even when DS n is not Epoch Start DS. If DS n is Epoch Start DS, the other description applies.

Epoch Start DS의 경우, 그래픽스 플레인은 완전히 클리어링될 수 있다. 그래픽스 플레인을 클리어링하는데 걸리는 시간은 LASTODSPTS(DSn) - DTS(DSn[ICS])에 의해 계산된 시간보다 더 길 수 있다. BD-ROM용 대상 디코더 모델에 따라, 그래픽스 디코딩과 그래픽스 플레인 클리어링은 다른 프로세싱 유닛에 의해 수행된다(그래픽스 프로세서는 디코딩을 수행한다). 따라서, 그래픽스 디코딩과 플레인 클리어링은 병행하여 수행된다. 디코딩이 첫 번째 디스플레이 합성의 표시를 위해 필요한 그래픽스 데이터에 대해 완료되더라도, 플레인이 클리어되지 않았으면 그래픽스 데이터는 그래픽스 플레인에 렌더링되지 않는다. 따라서, DECODEDURATION은 플레인 클리어 기간과 동일한 값으로 설정될 필요가 있다. 그래픽스 플레인이 각각 video_width와 video_height 필드 값과 같은 폭과 높이를 갖는 것으로 가정한다. 또한, 오브젝트 버퍼와 그래픽스 플레인 간의 전송속도는 128Mbps이다. 전체 그래픽스 플레인을 클리어하기 위해서, 재생장치가 8 × video_width × video_height의 크기를 갖는 그래픽스 플레인을 128Mbps의 전송속도로 오버라이트하도록 요구된다. 이 오버라이트에 걸리는 기간을 90KHz로 표시하면, 그래픽스 플레인을 클리어링하는데 걸리는 시간("PLANECLEARTIME" 이라 함)은 다음 식으로 계산된다.In the case of the Epoch Start DS, the graphics plane can be completely cleared. The time taken to clear the graphics plane may be longer than the time calculated by LASTODSPTS (DS n )-DTS (DS n [ICS]). According to the target decoder model for BD-ROM, graphics decoding and graphics plane clearing are performed by different processing units (the graphics processor performs decoding). Thus, graphics decoding and plane clearing are performed in parallel. Although decoding is completed for the graphics data required for the display of the first display composition, the graphics data is not rendered to the graphics plane if the plane is not cleared. Therefore, DECODEDURATION needs to be set to the same value as the plane clear period. Assume that the graphics plane has the same width and height as the video_width and video_height field values, respectively. In addition, the transfer rate between the object buffer and the graphics plane is 128Mbps. In order to clear the entire graphics plane, the playback device is required to overwrite the graphics plane having a size of 8 x video_width x video_height at a transmission rate of 128 Mbps. If the period of overwriting is indicated at 90 KHz, the time taken to clear the graphics plane (called "PLANECLEARTIME") is calculated by the following equation.

PLANECLEARTIME = ceil((90,000 × 8 × DSn[ICS].video_width PLANECLEARTIME = ceil ((90,000 × 8 × DS n [ICS] .video_width

× DSn[ICS].video_height)/128,000,000)× DS n [ICS] .video_height) / 128,000,000

도 34a는 LASTODSPTS(DSn) - DTS(DSn[ICS])에 의해 계산된 값과 PLANECLEARTIME 값으로부터 DECODEDURATION 값을 얻기 위한 알고리즘을 보여준다. 이 알고리즘에서, LASTODSPTS(DSn) - DTS(DSn[ICS]) 값과 PLANECLEARTIME 값 중 더 큰 것이 DECODEDURATION 값으로 결정된다.Figure 34a is LASTODSPTS (DS n) - shows the algorithm for obtaining a value from the value DECODEDURATION and PLANECLEARTIME value calculated by the DTS (DS n [ICS]) . In this algorithm, LASTODSPTS (DS n) - DTS to more of (DS n [ICS]) value and the largest value is determined as PLANECLEARTIME DECODEDURATION value.

도면에 도시한 바와 같이, DSn(ICS)의 composition_state 필드는, DSn이 Epoch Start DS가 아니면(if(DSn(ICS).composition_state==EPOCH_START)else), LASTODSPTS(DSn) - DTS(DSn[ICS]) 값은 DECODEDURATION 값으로 결정된다(return(LASTODSPTS(DSn) - DTS(DSn[ICS]))). 반면, DSn(ICS)의 composition_state 필드는, DSn이 Epoch Start DS이면(if(DSn(ICS).composition_state==EPOCH_START)else), LASTODSPTS(DSn) - DTS(DSn[ICS]) 값과 PLANECLEARTIME 값 중 더 큰 것이 DECODEDURATION 값으로 결정된다(return(amxLASTODSPTS(DSn) - DTS(DSn[ICS])))). As shown in the figure, composition_state field of DS n (ICS) is, n DS is not an Epoch Start DS (if (DS n (ICS) .composition_state == EPOCH_START) else), LASTODSPTS (DS n) - DTS ( The DS n [ICS]) value is determined as the DECODEDURATION value (return (LASTODSPTS (DS n )-DTS (DS n [ICS]))). On the other hand, the composition_state field of DS n (ICS), if DS n is Epoch Start DS (if (DS n (ICS) .composition_state == EPOCH_START) else), LASTODSPTS (DS n )-DTS (DS n [ICS]) The larger of the value and the PLANECLEARTIME value is determined as the DECODEDURATION value (return (amxLASTODSPTS (DS n )-DTS (DS n [ICS]))).

도 34b와 34c는 PLANECLEARTIME 값이 LASTODSPTS(DSn) - DTS(DSn[ICS]) 값보다 더 큰지에 따라 DECODEDURATION 설정의 예를 보여주는 도면이다. PLANECLEARTIME 값이 LASTODSPTS(DSn) - DTS(DSn[ICS]) 값보다 더 크면, 도 34b에 도시한 바와 같이, PLANECLEARTIME이 DECODEDURATION 값으로 결정된다. 반면, PLANECLEARTIME 값이 LASTODSPTS(DSn) - DTS(DSn[ICS]) 값보다 더 작으면, 도 34c에 도시한 바와 같이, LASTODSPTS(DSn) - DTS(DSn[ICS]) 값이 DECODEDURATION 값으로 결정된다.Figure 34b and 34c are PLANECLEARTIME value LASTODSPTS (DS n) - a view showing an example of a set according to the DECODEDURATION greater than the DTS (DS n [ICS]) value. (DS n) value is PLANECLEARTIME LASTODSPTS - DTS (DS n [ICS ]) is greater than the value, as shown in Figure 34b, this is determined in the DECODEDURATION PLANECLEARTIME value. On the other hand, (DS n) is PLANECLEARTIME value LASTODSPTS - DTS (DS n [ICS ]) if less than the value, as shown in Figure 34c, LASTODSPTS (DS n) - DTS (DS n [ICS]) value is DECODEDURATION It is determined by the value.

TRANSFERDURATION은 오브젝트 버퍼에서 그래픽스 플레인으로 첫 번째 디스플레이 합성의 표시에 필요한 그래픽스 데이터를 전송하는데 걸리는 시간을 나타낸다. DS 내 첫 번째 디스플레이 합성은 in-effect가 DS에 제공되느냐와 디폴트로 선택된 버튼이 정적으로 또는 동적으로 결정되는지에 따라 다르다. 따라서, TRANSFERDURATION은 또한 첫 번째 디스플레이 합성에 따라 다르다. 첫 번째 디스플레이 합성이 in-effect에 관련된다면, in-effect 표시에 필요한 비압축 그래픽스를 전송하는데 걸리는 시간은 TRANSFERDURATION으로 결정된다. TRANSFERDURATION represents the time it takes to transfer the graphics data needed for the display of the first display composition from the object buffer to the graphics plane. The first display composition in the DS depends on whether an in-effect is provided to the DS and whether the default selected button is determined statically or dynamically. Thus, TRANSFERDURATION also depends on the first display synthesis. If the first display synthesis is related to an in-effect, the time taken to transmit uncompressed graphics required for the in-effect representation is determined by TRANSFERDURATION.

여기서, DSn[ICS]가 정의하는 in-effect는 Page[0]을 도입하기 위한 것으로 number_of_window 필드 값이 지시하는 개수의 윈도에 렌더링된다. 따라서, in-effect의 첫 번째 디스플레이 합성에 대해 필요한 그래픽스 데이터의 총 크기는 윈도 (0) 내지 (number_of_windows - 1)의 총 크기와 동일하다. 따라서, in-effect 시퀀스(EFFECTTD) 내 첫 번째 디스플레이 합성의 표시에 필요한 그래픽스 데이터를 전송하는데 걸리는 시간은 계산하기 위하여, 총 윈도 크기는 재생장치의 전송속도(128Mbps)로 나누어진다. 그 결과를 PTS의 시간 정확도(90KHz)로 표현하려면, 그 결과에 90KHz를 곱한다. EFFECTTD를 계산하기 위한 식은 도 35a에 도시된다.Here, the in-effect defined by DS n [ICS] is to introduce Page [0] and is rendered in the number of windows indicated by the number_of_window field value. Thus, the total size of graphics data required for the first display synthesis of the in-effect is equal to the total size of windows (0) to (number_of_windows-1). Thus, to calculate the time it takes to transfer the graphics data required for the display of the first display composition in the in-effect sequence (EFFECTTD), the total window size is divided by the transmission speed (128 Mbps) of the playback device. To express the result as the time accuracy of the PTS (90 KHz), multiply the result by 90 KHz. The equation for calculating EFFECTTD is shown in FIG. 35A.

반면, DSn이 어떤 in-effect도 구비하지 않으면, DSn[ICS]의 표시를 위한 첫 번째 디스플레이 합성은 멀티-페이지 메뉴의 Page[0]이다. 디폴트로 선택된 버튼이 정적으로 특정되면, 디폴트로 선택된 버튼의 선택된 상태와 다른 버튼의 정상상태에 필요한 비압축 데이터가 오브젝트 버퍼로부터 그래픽스 플레인으로 전송되지마자 멀티-페이지 메뉴가 표시된다.On the other hand, if the DSn does not have any in-effect, the first display composition for the display of DS n [ICS] is Page [0] of the multi-page menu. If the button selected by default is statically specified, the multi-page menu is displayed as soon as uncompressed data necessary for the selected state of the button selected by default and the normal state of the other buttons is transferred from the object buffer to the graphics plane.

여기서, DSn[ICS]와 관련된 멀티-페이지 메뉴의 Page[0]는 number_of_button 필드 값이 지시하는 수의 버튼을 포함한다. 따라서, 첫 번째 디스플레이 합성의 표시에 필요한 데이터 크기는 다음과 같이 계산된다. 먼저, 그 페이지의 모든 버튼의 정상상태와 관련된 그래픽스 데이터에 대해 총 크기가 계산되며, 이는 (0) 내지 (number_of_Button - 1)의 DSn(ICS).Page[0].Buttons에 의해 특정된다. 이어, 계산된 총 크기에, Page[0]의 디폴트 선택된 버튼의 선택된 상태에 관련된 그래픽스 데 이터의 크기(SBSIZE(DSn, DSn[ICS].PAGE[0].default_selected_button_id_ref))를 더한다. 또한, 결과값으로부터, 첫 번째 디스플레이 합성의 표시를 위해 필요한 데이터 크기를 얻기 위해 디폴트 선택된 버튼의 정상상태에 관련된 그래픽스 데이터의 크기(NBSIZE(DSn, DSn[ICS].PAGE[0].default_selected_button_id_ref))를 감산한다. Here, Page [0] of the multi-page menu associated with DS n [ICS] includes the number of buttons indicated by the number_of_button field value. Therefore, the data size required for the display of the first display composition is calculated as follows. First, the total size is calculated for the graphics data related to the steady state of all the buttons of the page, which is specified by DS n (ICS) .Page [0] .Buttons of (0) to (number_of_Button-1). Then, to the total size calculated, the size of graphics data (SBSIZE (DS n , DS n [ICS] .PAGE [0] .default_selected_button_id_ref)) related to the selected state of the default selected button of Page [0] is added. Also, from the resulting value, the size of the graphics data related to the steady state of the default selected button (NBSIZE (DS n , DS n [ICS] .PAGE [0] .default_selected_button_id_ref) to obtain the data size required for the display of the first display composition. Subtract)).

첫 번째 디스플레이 합성의 표시를 위해 필요한 계산된 데이터는 재생장치의 전송속도(128Mbps)로 나뉘고, PTS의 시간정확도(90KHz)로 그 결과를 표현하기 위하여 90KHz를 곱한다. 이어, 첫 번째 페이지를 표시하는데 걸리는 전송기간이 계산된다. 도 35b는 in-effect가 제공되지 않고 디폴트로 선택된 버튼이 정적으로 결정되는 경우 PAGEDEFAULTTD(DSn)를 계산하는 식을 나타낸다. The calculated data needed for the display of the first display synthesis is divided by the transmission speed of the playback device (128 Mbps) and multiplied by 90 KHz to express the result by the time accuracy (90 KHz) of the PTS. Then, the transmission period for displaying the first page is calculated. 35B shows an equation for calculating PAGEDEFAULTTD (DSn) when no in-effect is provided and the default selected button is statically determined.

디폴트로 선택된 버튼이 동적으로 결정되는 경우, Page[0]의 어떤 버튼이 디폴트로 선택될지가 알려지지 않았기 때문에 도 35b에 나타낸 식은 적용할 수 없다. 따라서, TRANSFERDURATION은 최악의 경우에 대해 계산되어야 한다. 최악의 경우는 가장 큰 크기를 갖는 버튼이 DSn(ICS).Page[0]이 정의한 버튼 중에 디폴트로 선택되는 경우이다. DSn(ICS).Page[0]의 버튼 중, 가장 큰 크기를 갖는 버튼은 LRG{button: button ∈ DSn[ICS].Page[0].Button}으로 나타낸다.When the button selected by default is dynamically determined, the equation shown in Fig. 35B is not applicable because it is not known which button of Page [0] is selected by default. Therefore, TRANSFERDURATION should be calculated for the worst case. The worst case is when the button with the largest size is selected by default among the buttons defined by DS n (ICS) .Page [0]. Among the buttons of DS n (ICS) .Page [0], the button having the largest size is represented by LRG {button: button ∈ DS n [ICS] .Page [0] .Button}.

이어, 상기한 최악의 경우에 전송하는데 필요한 데이터 크기(최대 데이터 크기)는 다음과 같이 계산된다. 먼저, Page[0]의 모든 버튼((0) 내지 (number_of_Button - 1)의 Page[0].Button)의 총 크기를 계산한다. 이렇게 계산된 총 크기에, 버튼의 크기 LRG{BSIZE(DSn, LRG(button: button ∈ DSn[ICS].Page[0].Button}))를 더한다. 또한, 결과값으로부터, 버튼의 정상상태와 관련된 그래픽스 데이터의 크기 LRG{NBSIZE(DSn, LRG(button: button ∈ DSn[ICS].Page[0].Button}))를 빼어 최대 데이터 크기를 얻는다.Then, the data size (maximum data size) required for transmission in the worst case is calculated as follows. First, the total size of all buttons of Page [0] (Page [0] .Button of (0) to (number_of_Button-1)) is calculated. The total size calculated is added to the button size LRG {BSIZE (DS n , LRG (button: button ∈ DS n [ICS] .Page [0] .Button})). Also, the maximum data size is subtracted from the result value by subtracting the size of the graphics data LRG {NBSIZE (DS n , LRG (button: button ∈ DS n [ICS] .Page [0] .Button})) related to the normal state of the button. Get

상기한 방법으로 계산된 최대 데이터 크기는 재생장치의 전송속도(128Mbps)로 나뉘고, PTS의 시간정확도(90KHz)로 그 결과를 표현하기 위하여 90KHz를 곱한다. 이어, 멀티-페이지 메뉴의 첫 번째 페이지를 표시하는데 걸리는 전송기간이 계산된다. 도 35c는 in-effect가 제공되지 않고 디폴트로 선택된 버튼이 동적으로 결정되는 경우 PAGEDEFAULTTD(DSn)를 계산하는 식을 나타낸다. The maximum data size calculated by the above method is divided by the transmission speed (128 Mbps) of the playback apparatus, and multiplied by 90 KHz to express the result by the time accuracy (90 KHz) of the PTS. Then, the transmission period for displaying the first page of the multi-page menu is calculated. 35C shows an equation for calculating PAGEDEFAULTTD (DS n ) when no in-effect is provided and the default selected button is dynamically determined.

도 36은 TRANSFERDURATION으로서 EFFECTTD, PAGEDEFAULTTD, 및 PAGENODEFAULTTD 중 하나를 선택적으로 결정하기 위한 알고리즘을 나타내는 도면이다. 도면에 도시한 바와 같이, 적어도 하나의 0n-effect가 제공되면(if (DSn[ICS].PAFE[0].IN_EFFECT.number_of_effects ! = 0)), EFFECTTD는 TRANSFERDURATION으로 결정된다(return EFFECTTD(DSn)). Page[0]를 도입하는데 in-effect가 제공되지 않고 디폴트 선택된 버튼이 동적으로 특정되지 않으면(DSn[ICS.PAGE[0].default_selected_button_id_ref == OxFFFF]), PAGENODEFAULTTD가 TRANSFERDURATION으로 결정된다(return PAGENODEFAULTTD(DSn)). Page[0]를 도입 하는데 in-effect가 제공되지 않고 디폴트 선택된 버튼이 동적으로 특정되지 않으면(DSn[ICS.PAGE[0].default_selected_button_id_ref == OxFFFF]), PAGEDEFAULTTD가 TRANSFERDURATION으로 결정된다(return PAGEDEFAULTTD(DSn)). 36 illustrates an algorithm for selectively determining one of EFFECTTD, PAGEDEFAULTTD, and PAGENODEFAULTTD as TRANSFERDURATION. As shown in the figure, if at least one 0n-effect is provided (if (DS n [ICS] .PAFE [0] .IN_EFFECT.number_of_effects! = 0)), EFFECTTD is determined to be TRANSFERDURATION (return EFFECTTD (DS). n )). If no in-effect is provided to introduce Page [0] and the default selected button is not dynamically specified (DS n [ICS.PAGE [0] .default_selected_button_id_ref == OxFFFF]), PAGENODEFAULTTD is determined to be TRANSFERDURATION (return PAGENODEFAULTTD). (DS n )). If no in-effect is provided to introduce Page [0] and the default selected button is not dynamically specified (DS n [ICS.PAGE [0] .default_selected_button_id_ref == OxFFFF]), PAGEDEFAULTTD is determined to be TRANSFERDURATION (return PAGEDEFAULTTD). (DS n )).

상기한 바와 같이, 본 발명의 제 5 실시예에 따르면, ICS의 DTS 및 PTS값은 ODS의 데이터 크기에 따라 최적으로 결정된다. 따라서, 인터랙티브 제어가 지연없이 부드럽게 수행된다.As described above, according to the fifth embodiment of the present invention, the DTS and PTS values of the ICS are optimally determined according to the data size of the ODS. Thus, interactive control is performed smoothly without delay.

(제 6 실시예)(Sixth Embodiment)

본 발명의 제 6 실시예는 제 1 내지 제 5 실시예에서 기술한 BD-ROM의 재생에 사용되는 재생장치에 관한 것이다. 도 37은 재생장치의 내부 구조를 나타내는 도면이다. 제 6 실시예에 따른 재생장치는 도 37에 도시한 내부 구조에 기초하여 산업적으로 제조된다. 재생장치는 주로 시스템 LSI와 구동 디바이스의 두 부분으로 구성된다. 재생장치는 이들 부분을 장치의 캐비넷과 기판에 장착함으로써 산업적으로 제조될 수 있다. 시스템 LSI는 재생장치의 기능을 달성하도록 다양한 처리유닛을 포함하는 집적회로이다.A sixth embodiment of the present invention relates to a playback device used for playback of a BD-ROM described in the first to fifth embodiments. 37 shows the internal structure of the playback apparatus. The reproducing apparatus according to the sixth embodiment is industrially manufactured based on the internal structure shown in FIG. The playback apparatus mainly consists of two parts, a system LSI and a driving device. The reproducing apparatus can be produced industrially by mounting these parts to the cabinet and the substrate of the apparatus. The system LSI is an integrated circuit including various processing units to achieve the function of the playback apparatus.

상기한 방법으로 제조된 재생장치는 BD 드라이브(1), 판독버퍼(2), 디멀티플렉서(De-MUX; 3), 비디오 디코더(4), 비디오 플레인(5), P-그래픽스 디코더(6), 프리젠테이션 플레인(7), 가산기(8), I-그래픽스 디코더(9), 인터랙티브 그래픽스 플레인(10), 가산기(11), 오디오 디코더(13), CLUT(Color Lookup Table) 유닛(14, 15), PRS 세트(16), 시스템 클록(17), user_timeout 타이머(18), selection_timeout 타이머(19), composition_timeout 타이머(20), effect_duration 타이머(21), 조작 수신부(22), 및 상태제어부(23)로 구성된다.The playback device manufactured by the above-described method includes a BD drive 1, a read buffer 2, a demultiplexer (De-MUX) 3, a video decoder 4, a video plane 5, a P-graphics decoder 6, Presentation plane (7), adder (8), I-graphics decoder (9), interactive graphics plane (10), adder (11), audio decoder (13), color lookup table (CLUT) units (14, 15) , PRS set 16, system clock 17, user_timeout timer 18, selection_timeout timer 19, composition_timeout timer 20, effect_duration timer 21, operation receiver 22, and state controller 23. It is composed.

BD 드라이브(1)는 BD-ROM의 로딩, 판독, 및 추출을 수행한다. BD 드라이브(1)는 BD-ROM(100)에 액세스한다.The BD drive 1 performs loading, reading, and extraction of a BD-ROM. The BD drive 1 accesses the BD-ROM 100.

판독버퍼(2)는 FIFO(first-in first-out) 메모리이다. 따라서, BD-ROM에서 판독된 TS 패킷은 이들이 도착한 것과 같은 순서로 판독버퍼(2)로부터 제거된다. The read buffer 2 is a first-in first-out memory. Therefore, TS packets read from the BD-ROM are removed from the read buffer 2 in the same order as they arrived.

De-MUX(3)는 판독버퍼(2)로부터 TS 패킷을 판독하고 이들을 PES 패킷으로 변환한다. 그 결과 PES 패킷 중, 기설정된 스트림 PID를 갖는 PES 패킷은 비디오 디코더(4), 오디오 디코더(13), P-그래픽스 디코더(6), 및 I-그래픽스 디코더(9) 중의 하나로 출력된다.De-MUX 3 reads TS packets from read buffer 2 and converts them into PES packets. As a result, among the PES packets, a PES packet having a predetermined stream PID is output to one of the video decoder 4, the audio decoder 13, the P-graphics decoder 6, and the I-graphics decoder 9.

비디오 디코더(4)는 De-MUX(3)로부터 수신한 PES 패킷을 해독하고, 그 결과의 비압축 화상 데이터를 비디오 플레인(5)에 렌더링한다.The video decoder 4 decodes the PES packet received from the De-MUX 3 and renders the resulting uncompressed image data on the video plane 5.

비디오 플레인(5)은 비압축 화상 데이터를 저장하기 위한 플레인 메모리이다. "플레인(plane)"이라는 용어는 한 화면의 픽셀 데이터를 저장하기 위한 재생장치의 메모리 영역을 말한다. 다수의 플레인을 제공함으로써, 재생장치는 각 플레인에 저장된 데이터를 픽셀 단위로 더하여 하나의 비디오 출력을 생성하며, 이에 따라 다수의 그래픽 영상이 하나의 합성 영상로 오버레이된다. 비디오 플레인(5)의 해상도는 1920 × 1080이다. 화상 데이터는 YUV 값으로 표현된 16-비트 픽셀 값으로 비디오 플레인(5)에 저장된다.The video plane 5 is a plane memory for storing uncompressed image data. The term " plane " refers to a memory region of a playback device for storing pixel data of one screen. By providing multiple planes, the playback device adds data stored in each plane pixel by pixel to produce a single video output, whereby multiple graphical images are overlaid onto one composite image. The resolution of video plane 5 is 1920 × 1080. The picture data is stored in the video plane 5 as 16-bit pixel values expressed as YUV values.

P-그래픽스 디코더(6)는 BD-ROM이나 HD로부터 판독한 그래픽스 스트림을 디코드하고, 그 결과의 비압축 그래픽스를 프리젠테이션 그래픽스 플레인(7)에 렌더링한다. 그래픽스 스트림이 디코드되고 렌더링될 때, 서브타이틀이 화면에 나타난다. The P-graphics decoder 6 decodes the graphics stream read from the BD-ROM or HD, and renders the resulting uncompressed graphics to the presentation graphics plane 7. When the graphics stream is decoded and rendered, subtitles appear on the screen.

프리젠테이션 플레인(7)은 한 화면의 비압축 그래픽스를 저장하기 위한 영역을 갖는 메모리이다. 이 플레인의 해상도는 1920 × 1080이고, 비압축 그래픽스는 인덱스 컬러로 표현된 8-비트 픽셀 데이터로 프리젠테이션 플레인(7)에 저장된다. CLUT를 이용하여 인덱스 컬러를 변환함으로써, 프리젠테이션 플레인(7)에 저장된 비압축 그래픽스가 표시된다.The presentation plane 7 is a memory having an area for storing uncompressed graphics of one screen. The resolution of this plane is 1920 × 1080, and uncompressed graphics are stored in the presentation plane 7 as 8-bit pixel data expressed in index color. By converting the index color using the CLUT, uncompressed graphics stored in the presentation plane 7 are displayed.

가산기(8)는 비압축 화상 데이터 (i)를 프리젠테이션 플레인(7)에 저장된 콘텐츠와 오버레이한다. The adder 8 overlays the uncompressed image data i with the content stored in the presentation plane 7.

I-그래픽스 디코더(9)는 BD-ROM이나 HD로부터 판독한 IG 스트림을 디코드하고, 그 결과의 비압축 그래픽스를 인터랙티브 그래픽스 플레인(10)에 렌더링한다.The I-graphics decoder 9 decodes the IG stream read from the BD-ROM or HD, and renders the resulting uncompressed graphics into the interactive graphics plane 10.

인터랙티브 그래픽스 플레인(10)에 I-그래픽스 디코더(9)에 의해 디코드된 비압축 그래픽스 데이터가 렌더링된다.The uncompressed graphics data decoded by the I-graphics decoder 9 is rendered in the interactive graphics plane 10.

가산기(11)는 인터랙티브 그래픽스 플레인(10)의 데이터를 가산기(8)의 출력(즉, 비압축 화상 데이터와 프리젠테이션 플레인(7)에 저장된 콘텐츠를 오버레이함으로써 만들어진 임시 비디오 데이터와)과 오버레이 시켜 최종 비디오 출력을 만든다.The adder 11 overlays the data of the interactive graphics plane 10 with the output of the adder 8 (i.e., temporary video data created by overlaying content stored in the presentation plane 7 with uncompressed image data). Create a video output.

오디오 디코더(13)는 De-MUX(3)로부터 수신한 PES 패킷을 디코드하여 비압축 오디오 데이터를 출력한다.The audio decoder 13 decodes the PES packet received from the De-MUX 3 and outputs uncompressed audio data.

CLUT 유닛(14)은 프리젠테이션 플레인(7)에 저장된 비압축 그래픽스의 인덱스 컬러를 Y, Cr, 및 Cb 값으로 변환한다.The CLUT unit 14 converts the index color of the uncompressed graphics stored in the presentation plane 7 into Y, Cr, and Cb values.

CLUT 유닛(15)은 인터랙티브 그래픽스 플레인(10)에 저장된 비압축 그래픽스의 인덱스 컬러를 Y, Cr, 및 Cb 값으로 변환한다.The CLUT unit 15 converts the index color of the uncompressed graphics stored in the interactive graphics plane 10 into Y, Cr, and Cb values.

PRS 세트(16)는 재생장치 내에 제공된 레지스터 세트이다. 레지스터 세트는 64개의 재생장치상태 레지스터(PSR)와 4,096개의 범용 레지스터(GPR)를 포함한다. 64개의 재생장치상태 레지스터는 재생장치의 현재 상태를 나타낸다. 구체적으로, PSR 5-8은 현재의 재생지점을 나타낸다. PRS 8은 현재 재생지점을 나타내는 0 내지 0xFFFFFFFF 범위의 값(현재 PTM: 표시 시간)을 45KHz로 취한다. PSR 11은 현재 활성화 페이지(현재 페이지)의 page_id를 나타낸다. PSR 10은 현재 페이지의 선택된 상태의 버튼(현재 버튼)을 나타낸다.The PRS set 16 is a register set provided in the playback apparatus. The register set includes 64 playback device status registers (PSR) and 4,096 general purpose registers (GPR). 64 playback device status registers indicate the current status of the playback device. Specifically, PSR 5-8 indicates the current playback point. PRS 8 takes a value (current PTM: display time) in the range of 0 to 0xFFFFFFFF representing the current playback point at 45 KHz. PSR 11 indicates the page_id of the current activation page (current page). PSR 10 represents a button (current button) in the selected state of the current page.

시스템 클록(17)은 클록 신호를 생성한다. De-MUX(3)는 클록 신호에 동기하여 PES 패킷의 변환을 수행한다.System clock 17 generates a clock signal. De-MUX 3 performs conversion of the PES packet in synchronization with the clock signal.

user_timeout 타이머(18)는 PTS(DSn[ICS])에 의해 특정된 때의 user_time_out_duration 필드 값으로 설정된다. user_time_out_duration 필드 값이 설정된 때, 타이머(18)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(18)는 사용자 조작이 수신될 때마다 user_time_out_duration 필드 값으로 다시 리셋된다. 타이머(18)가 0에 도달하기 전에 사용자 조작이 수신되지 않으면, 타이 머(18)는 타임아웃 된다. The user_timeout timer 18 is set to the value of the user_time_out_duration field at the time specified by the PTS (DS n [ICS]). When the value of the user_time_out_duration field is set, the timer 18 starts counting the tick of the system clock towards zero. The timer 18 is reset again to the value of the user_time_out_duration field each time a user operation is received. If no user operation is received before the timer 18 reaches zero, the timer 18 times out.

selection_timeout 타이머(19)는 PTS(DSn[ICS])에 의해 특정된 때의 selection_time_out_duration 필드 값으로 설정된다. selection_time_out_duration 필드 값이 설정된 때, 타이머(19)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(18)는 사용자 조작이 수신될 때마다 selection_time_out_duration 필드 값으로 다시 리셋된다. 타이머(19)가 0에 도달하기 전에 사용자 조작이 수신되지 않으면, 타이머(18)는 타임아웃 된다. 타이머(19)가 타임아웃 될 때, 도 9에 도시한 유효 상호작용 기간이 종료된 것을 알게 된다.The selection_timeout timer 19 is set to the value of the selection_time_out_duration field when specified by the PTS (DS n [ICS]). When the selection_time_out_duration field value is set, the timer 19 starts counting the tick of the system clock towards zero. The timer 18 is reset again to the selection_time_out_duration field value each time a user operation is received. If no user operation is received before the timer 19 reaches zero, the timer 18 times out. When the timer 19 times out, it is known that the valid interaction period shown in Fig. 9 has ended.

composition_timeout 타이머(20)는 PTS(DSn[ICS])에 의해 특정된 때의 composition_time_out_pts 필드 값으로 설정된다. composition_time_out_pts 필드 값이 설정된 때, 타이머(20)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(20)는 사용자 조작이 수신되더라도 리셋되지 않는다. 타이머(20)가 0에 도달한 때, 즉, 타이머(20)가 타임아웃 될 때, Epoch END가 도달한 것을 알게 된다.The composition_timeout timer 20 is set to the composition_time_out_pts field value at the time specified by the PTS (DS n [ICS]). When the composition_time_out_pts field value is set, the timer 20 starts counting the tick of the system clock towards zero. The timer 20 is not reset even if a user operation is received. When the timer 20 reaches zero, that is, when the timer 20 times out, it knows that the Epoch END has reached.

effect_duration 타이머(21)는 DSn이 Epoch Start DS이면 PTS(DSn[ICS])에 의해 특정된 때의 effect_duration 필드 값으로 설정된다. effect_duration 필드 값이 설정된 때, 타이머(21)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(21)는 사용자 조작이 수신되더라도 리셋되지 않는다. 타이머(20)가 0에 도달한 때, 즉, 타이머(20)가 타임아웃 될 때, 애니메이션 효과의 다음 디스플레이 합성이 표시될 필요가 있다는 것을 알게 된다.The effect_duration timer 21 is set to the value of the effect_duration field at the time specified by PTS (DS n [ICS]) if DS n is Epoch Start DS. When the value of the effect_duration field is set, the timer 21 starts counting the tick of the system clock towards zero. The timer 21 is not reset even if a user operation is received. When the timer 20 reaches zero, that is, when the timer 20 times out, it is seen that the next display composition of the animation effect needs to be displayed.

조작 수신부(22)는 리모트 컨트롤러나 재생장치의 전면 패널에 행해진 사용자 조작을 수신하고, 수신한 사용자 조작을 나타내는 정보(이하, 이 정보를 "UO"라 함)를 I-그래픽스 디코더(9)에 출력한다.The operation receiving unit 22 receives a user operation performed on the front panel of the remote controller or the playback apparatus, and transmits information indicating the received user operation (hereinafter, this information is referred to as "UO") to the I-graphics decoder 9. Output

상태제어부(23)는 I-그래픽스 디코더(9)로부터의 지시에 따라 PRS에 원하는 값을 설정한다. 이러한 지시는, (i) 직접 어드레싱(addressing)이나, (ii) 간접 어드레싱을 통하여 주어질 수 있다. 직접 어드레싱의 경우, I-그래픽스 디코더(9)는 설정될 즉시 값을 PSR 세트(16)의 적절한 레지스터에 출력한다. 간접 어드레싱의 경우, I-그래픽스 디코더(9)는 재생장치 상태나 사용자 선호의 변화의 통보를 출력한다. 이러한 통보를 수신한 경우, 상태제어부(23)는 변화를 반영하기 위하여 설정될 값을 결정하고, 결정된 값을 PRS 세트(16)의 적절한 레지스터에 설정한다. 상태제어부(23)는 "재생조건이 변경될 때의 절차" 또는 "변경이 요청될 때의 절차"를 수행함으로써 그 값을 결정한다. 이하, PSR 11(현재 페이지)와 PSR 10(현재 버튼)을 설정하기 위해 수행되는 절차를 설명한다.The state controller 23 sets a desired value in the PRS in accordance with the instruction from the I-graphics decoder 9. This indication may be given through (i) direct addressing or (ii) indirect addressing. In the case of direct addressing, the I-graphics decoder 9 outputs the value to the appropriate register of the PSR set 16 as soon as it is set. In the case of indirect addressing, the I-graphics decoder 9 outputs a notification of a change in the playback device status or user preference. Upon receiving such notification, the state controller 23 determines the value to be set to reflect the change and sets the determined value in the appropriate register of the PRS set 16. The state control unit 23 determines the value by performing "procedure when the reproduction condition is changed" or "procedure when a change is requested". The procedure performed to set the PSR 11 (current page) and PSR 10 (current button) is described below.

도 38a는 PSR 11에 대해 수행되는 "재생조건이 변경될 때의 절차"의 플로차트이다. 이 절차는 ICS의 첫 번째 page_info 구조체를 PSR 11에 설정하도록 수행된다(단계 S99).38A is a flowchart of "procedure when the reproduction condition is changed" performed for PSR11. This procedure is performed to set the first page_info structure of ICS to PSR 11 (step S99).

도 38b는 PSR 11에 대해 수행되는 "변경이 요청될 때의 절차"의 플로차트이다. 사용자 조작이 수신되고 페이지 번호 X를 갖는 페이지가 표시되도록 요청된 것으로 가정한다. 사용자 조작에 응답하여, 상태제어부(23)는 X가 유효값인지를 판정한다(단계 S100). X가 유효값이면, PSR 11은 값 X로 설정된다(단계 S101). X가 무 효하면, PSR 11은 변화하지 않는다(단계 S102).38B is a flowchart of “procedure when a change is requested” performed for PSR 11. Assume that a user operation has been received and a page with page number X is requested to be displayed. In response to the user operation, the state control unit 23 determines whether X is a valid value (step S100). If X is a valid value, PSR 11 is set to the value X (step S101). If X is invalid, PSR 11 does not change (step S102).

PSR 11의 값은 상기한 바와 같이 변화한다. PSR 10으로 돌아가서, "재생조건이 변경될 때의 절차" 또는 "변경이 요청될 때의 절차"에 대해 설명한다.The value of PSR 11 changes as described above. Returning to PSR 10, the "procedure when the reproduction condition is changed" or the "procedure when a change is requested" will be described.

도 39a는 PSR 10에 대해 수행되는, "재생조건이 변경될 때의 절차"의 플로차트이다.39A is a flowchart of "procedure when the reproduction condition is changed" performed for PSR10.

먼저, 상태제어부(23)는 현재 페이지에 관련된 default_selected_button_id_ref 필드 값이 유효한지를 판정한다(단계 S111). 단계 S111에서의 판정이 YES이면, default_selected_button_id_ref 필드 값은 PSR 10에 설정된다(단계 S112).First, the state controller 23 determines whether the default_selected_button_id_ref field value related to the current page is valid (step S111). If the determination in step S111 is YES, the default_selected_button_id_ref field value is set in PSR 10 (step S112).

default_selected_button_id_ref 필드 값이 무효하면, 이어 PSR 10이 유효값을 보유하는지를 판정한다(단계 S113). PSR 10이 유효하면, PSR 10은 현재 보유값이 유지되도록 변화하지 않는다(단계 S114). 반면, PSR 10이 무효하면, PSR 10은 현재페이지의 첫 번째 button_info 구조체를 식별하는 button_id_ref 필드 값으로 설정된다(단계 S115).If the value of the default_selected_button_id_ref field is invalid, then it is determined whether the PSR 10 holds a valid value (step S113). If PSR 10 is valid, PSR 10 does not change so that the current holding value is maintained (step S114). On the other hand, if PSR 10 is invalid, PSR 10 is set to a button_id_ref field value that identifies the first button_info structure of the current page (step S115).

도 39b는 PSR 10에 대해서 수행되는, "변경이 요청될 때의 절차"의 플로차트이다. 사용자 조작이 이루어지고 버튼번호 X를 갖는 버튼이 선택되도록 요청된 것으로 가정한다. 사용자 조작에 응답하여, 상태제어부(23)는 X가 유효한 button_id 필드 값인지를 판정한다(단계 S116). X가 유효값이면, PSR 10은 값 X로 설정된다(단계 S118). X가 무효값이면, PSR 10은 변화하지 않으며 따라서 현재 보유한 값이 유지된다(단계 S117). 상기한 절차에 의하면, PSR 10과 11은 언제나 현재 값을 보 유하는 것이 보장된다. 이것으로 재생장치의 내부 구조에 대한 설명을 끝마친다.39B is a flowchart of “procedure when a change is requested”, performed for PSR 10. Assume that a user operation is made and a button having the button number X is selected to be selected. In response to the user operation, the state control unit 23 determines whether X is a valid button_id field value (step S116). If X is a valid value, PSR 10 is set to the value X (step S118). If X is an invalid value, PSR 10 does not change and thus the value currently held is maintained (step S117). According to the above procedure, it is assured that PSRs 10 and 11 always retain their current values. This concludes the description of the internal structure of the playback apparatus.

<I-그래픽스 디코더(9)의 내부 구조><Internal structure of I-graphics decoder 9>

다음, 도 40을 참조하여 I-그래픽스 디코더(9)의 내부 구조에 대해 설명한다. 도면에 도시한 바와 같이, I-그래픽스 디코더는 부호화 데이터 버퍼(33), 스트림 그래픽스 프로세서(34), 오브젝트 버퍼(35), 합성 버퍼(36), 및 그래픽스 컨트롤러(37)로 구성된다.Next, the internal structure of the I-graphics decoder 9 will be described with reference to FIG. As shown in the figure, the I-graphics decoder is composed of an encoded data buffer 33, a stream graphics processor 34, an object buffer 35, a synthesis buffer 36, and a graphics controller 37.

부호화 데이터 버퍼(33)는 ICS, PDS, 및 ODS를 그들의 DTS 및 PTS와 함께 임시로 저장하기 위한 버퍼이다.The encoded data buffer 33 is a buffer for temporarily storing ICS, PDS, and ODS together with their DTS and PTS.

스트림 그래픽스 프로세서(34)는 ODS를 디코드하고 그 결과의 비압툭 그래픽스 오브젝트를 오브젝트 버퍼(35)에 출력한다.Stream graphics processor 34 decodes the ODS and outputs the resulting non-pressured graphics object to object buffer 35.

오브젝트 버퍼(35)는 스트림 그래픽스 프로세서(34)에 의해 디코드된 다수의 비압축 그래픽스 오브젝트(도면에 박스로 표시)를 저장하기 위한 버퍼이다.The object buffer 35 is a buffer for storing a plurality of uncompressed graphics objects (marked with boxes in the drawing) decoded by the stream graphics processor 34.

합성 버퍼(36)는 ICS를 저장하기 위한 버퍼이다. 합성 버퍼(36)는 그래픽스 컨트롤러(36)에 ICS 내에 제공된 page_info 구조체와 각 page_info 구조체 내에 제공된 button_info 구조체를 제공한다.The synthesis buffer 36 is a buffer for storing the ICS. The synthesis buffer 36 provides the graphics controller 36 with the page_info structure provided in the ICS and the button_info structure provided in each page_info structure.

그래픽스 컨트롤러(37)는 합성 버퍼(37)에 저장된 ICS를 디코드하고 디코드된 ICS에 기초하여 디스플레이 합성을 조립한다. 즉, 그래픽스 컨트롤러(37)는 PSR 11의 값이 식별하는 page_info 구조체(현재 page_info 구조체)를 참조하여 오브젝트 버퍼(15)로부터 그래픽스 오브젝트를 판독하고, 판독한 그래픽스 오브젝트를 인 터랙티브 그래픽스 플레인(10)에 렌더링한다. 여기에 판독된 그래픽스 오브젝트는 현재 페이지에 관련된 각 button_info 구조체의 normal_start_object_id_ref 필드 값 내지 normal_end_object_id_ref 필드 값에 의해 특정된 그래픽스 오브젝트 시퀀스이다. PSR 10이 특정한 button_info 구조체에 대해서, normal_start_object_id_ref 필드 값 내지 normal_end_object_id_ref 필드 값에 의해 특정된 그래픽스 오브젝트 시퀀스는 오브젝트 버퍼(15)로부터 판독된다. 도 40에서, 화살표 bg1, bg2, bg3, 및 bg4는 그래픽스 컨트롤러(37)가 수행한 그래픽스 오브젝트의 렌더링을 도식적으로 나타낸다. 렌더링 결과, 버튼 O-A, O-B, O-C, 및 O-D를 포함하는 페이지는 인터랙티브 그래픽스 플레인(10)에 저장되어 비디오와 오버레이된다.The graphics controller 37 decodes the ICS stored in the synthesis buffer 37 and assembles the display composition based on the decoded ICS. That is, the graphics controller 37 reads the graphics object from the object buffer 15 with reference to the page_info structure (current page_info structure) identified by the value of PSR 11, and reads the read graphics object into the interactive graphics plane 10. Render to. The graphics object read here is a sequence of graphics objects specified by the value of the normal_start_object_id_ref field value to the normal_end_object_id_ref field value of each button_info structure related to the current page. For the button_info structure specified by PSR 10, the graphics object sequence specified by the normal_start_object_id_ref field value or the normal_end_object_id_ref field value is read from the object buffer 15. In FIG. 40, arrows bg1, bg2, bg3, and bg4 diagrammatically represent the rendering of the graphics object performed by the graphics controller 37. As a result of the rendering, the page including buttons O-A, O-B, O-C, and O-D is stored in the interactive graphics plane 10 and overlaid with the video.

이것으로 그래픽스 컨트롤러(37)가 수행하는 절차에 대한 대략적인 설명을 끝마친다. 또한, 그래픽스 컨트롤러(37)는 PSR 10 또는 PSR 11의 값의 변화, 타이머(18-21)의 타임아웃, 또는 합성 타임아웃 타이머(20)가 수신한 사용자 조작에 응답하여 디스플레이 합성을 갱신한다. 그래픽스 컨트롤러(37)가 수행하는 절차를 도 41-47을 참조하여 상세하게 설명한다.This concludes the general description of the procedure that the graphics controller 37 performs. The graphics controller 37 also updates the display composition in response to a change in the value of the PSR 10 or PSR 11, a timeout of the timers 18-21, or a user operation received by the synthesis timeout timer 20. The procedure performed by the graphics controller 37 will be described in detail with reference to FIGS. 41-47.

도 41은 그래픽스 컨트롤러(37)가 수행하는 절차의 메인 루틴의 플로차트이다. 메인 루틴에서, 단계 S1-S6은 루프를 형성한다. 각 루프 반복에서, 특정 이벤트가 발생했는지에 대해 판정이 이루어지며(단계 S1-S4), 멀티-페이지 메뉴의 디스플레이 합성은 애니메이션화 표시를 위한 연속적인 디스플레이 합성으로 갱신되고(단계 S5), 사용자 조작에 따라 처리가 수행된다(UO 처리)(단계 S6). 단계 S1-S4에 서 어떠한 판정이라도 YES라면, 대응하는 단계가 수행되고 처리는 메인 루틴으로 돌아간다.41 is a flowchart of the main routine of the procedure that the graphics controller 37 performs. In the main routine, steps S1-S6 form a loop. At each loop iteration, a determination is made as to whether a particular event has occurred (steps S1-S4), and the display composition of the multi-page menu is updated with successive display composition for the animated display (step S5), Processing is performed accordingly (UO processing) (step S6). If any determination is YES in steps S1-S4, the corresponding step is performed and processing returns to the main routine.

단계 S1에서, 현재 재생지점이 PTS(DSn[ICS])가 특정한 지점에 도달하였는지에 대해 판정이 이루어진다. 단계 S1의 판정이 YES이면, 상기한 "재생조건이 변경될 때의 처리"가 수행된다. 그 결과, 멀티-페이지 메뉴의 첫 번째 페이지인 Page[0]이 현재 페이지로 설정된다(단계 S7). 이어, user_timeout 타이머(18), selection_timeout 타이머(19), composition_timeout 타이머(20)은 모두 리셋되고(단계 S8), 현재 페이지가 화면에 표시된다(단계 S9). 이어 처리는 다음 루프의 반복을 위하여 단계 S1으로 돌아간다.In step S1, a determination is made as to whether the current playback point has reached the specified point in the PTS (DS n [ICS]). If the determination of step S1 is YES, the above-described "processing when the reproduction condition is changed" is performed. As a result, Page [0], which is the first page of the multi-page menu, is set as the current page (step S7). Then, the user_timeout timer 18, the selection_timeout timer 19, and the composition_timeout timer 20 are all reset (step S8), and the current page is displayed on the screen (step S9). The process then returns to step S1 for the repetition of the next loop.

단계 S2에서, user_timeout 타이머(18)가 타임아웃하였는지에 대해 판정이 이루어진다. 단계 S2의 판정이 YES이면, 단계 S11-S14의 루프가 수행된다. 각 루프 반복에서, 멀티-페이지 메뉴의 임의의 Page[j]가 화면에서 제거되고(단계 S13), Page[j]에 대해 제공된 out-effect 애니메이션의 재생이 뒤따른다(단계 S14). 루프는 Page[0]로부터 이후로 ICS 내에 정의된 각 페이지에 대해 반복된다(단계 S11 및 S12).In step S2, a determination is made whether the user_timeout timer 18 has timed out. If the determination of step S2 is YES, the loops of steps S11-S14 are performed. In each loop iteration, any Page [j] of the multi-page menu is removed from the screen (step S13), followed by the playback of the out-effect animation provided for Page [j] (step S14). The loop is repeated for each page defined in the ICS from page [0] onwards (steps S11 and S12).

단계 S3에서, selection_timeout 타이머(19)가 타임아웃하였는지에 대해 판정이 이루어진다. 단계 S3의 판정이 YES이면, 현재 페이지의 버튼이 자동으로 활성화된다(자동-활성화: 단계 S10). 이어 처리는 다음 루프 반복을 위하여 단계 S1으로 돌아간다.In step S3, a determination is made whether the selection_timeout timer 19 has timed out. If the determination of step S3 is YES, the button of the current page is automatically activated (auto-activation: step S10). Processing then returns to step S1 for the next loop iteration.

단계 S4에서, composition_timeout 타이머(20)가 타임아웃하였는지에 대해 판정이 이루어진다. 단계 S4의 판정이 YES이면, 멀티-페이지 메뉴의 첫 번째 페이지인 Page[0]가 화면에서 제거되고(단계 S15), Page[0]에 대해 제공된 out-effect 애니메이션의 재생이 뒤따른다(단계 S16). 이어 처리는 다음 루프 반복을 위하여 단계 S1으로 돌아간다.In step S4, a determination is made as to whether the composition_timeout timer 20 has timed out. If the determination of step S4 is YES, the first page of the multi-page menu, Page [0], is removed from the screen (step S15), followed by the playback of the out-effect animation provided for Page [0] (step S16). ). Processing then returns to step S1 for the next loop iteration.

이하, 멀티-페이지 메뉴의 첫 번째 표시에 대해 설명한다. 첫 번째 표시는, 상태제어부(23)가 상기한 "재생조건이 변경될 때의 절차"를 수행하여 Page[0]를 현재 페이지로 설정한 후, 도 42에 도시한 단계 S15-S23을 통하여 실행된다. 단계 S24에서, 현재 페이지에 대한 in-effect 애니메이션이 수행된다. 현재 버튼은 PSR 10에 의해 특정된다. 따라서, 단계 S25에서, "재생조건이 변경될 때의 절차"는 PSR 10에 대해 수행되어 현재 버튼이 결정된다. 이어, 처리는 단계 S17-S22로 이동한다.The first display of the multi-page menu will be described below. The first display is executed through steps S15-S23 shown in FIG. 42 after the state control unit 23 performs the above-described "procedure when the reproduction condition is changed" to set Page [0] to the current page. do. In step S24, an in-effect animation on the current page is performed. The current button is specified by the PSR 10. Thus, in step S25, " procedure when the reproduction condition is changed " is performed for PSR 10 to determine the current button. The process then moves to steps S17-S22.

단계 S17과 S22는 현재 페이지에 제공되는 각 button_info 구조체에 대해 반복되는 루프를 형성한다(단계 S17과 S18). 현재 루프 반복에서 처리될 button_info 구조체는 button_info(p)로 지정된다.Steps S17 and S22 form a loop that is repeated for each button_info structure provided in the current page (steps S17 and S18). The button_info structure to be processed in the current loop iteration is specified by button_info (p).

단계 S19에서, button_info(p)가 현재 버튼에 관련되는지에 대해 판정이 이루어진다. 단계 S19의 판정이 YES이면, 단계 S20이 다음에 수행된다. YES가 아니면, 단계 S21이다음에 수행된다.In step S19, a determination is made whether button_info (p) is related to the current button. If the determination of step S19 is YES, step S20 is performed next. If not YES, step S21 is performed next.

단계 S21에서, 오브젝트 버퍼(35)의 그래픽스 오브젝트 중, normal_start_object_id_ref 필드 값이 특정하는 것이 그래픽스 오브젝트 (p)로 지 정된다.In step S21, among the graphics objects of the object buffer 35, it is designated as the graphics object p that the normal_start_object_id_ref field value specifies.

단계 S20에서, 오브젝트 버퍼(35)의 그래픽스 오브젝트 중, selected_start_object_id_ref 필드 값이 특정하는 것이 그래픽스 오브젝트 (p)로 지정된다.In step S20, it is designated as the graphics object p that the selected_start_object_id_ref field value is specified among the graphics objects in the object buffer 35.

일단 그래픽스 오브젝트 (p)가 단계 S20 또는 S21에서 지정되면, 그래픽스 오브젝트 (p)는 button_horizontal_postition과 button_vertaical_postition 필드 값이 특정하는 위치에서 인터랙티브 그래픽스 플레인(10)에 렌더링된다(단계 S22). 현재 페이지에 제공되는 각 button_info 구조체에 대해 상기 단계를 반복함으로써, 각 버튼 상태와 관련된 다수의 그래픽스 오브젝트 중, 첫 번째 그래픽스 오브젝트가 각 버튼에 대해 인터랙티브 그래픽스 플레인(10)에 렌더링된다. 상기 단계를 반복한 후, CLUT 유닛(15)은 현재 페이지의 pallet_id_ref 필드 값이 특정하는 팔레트 데이터를 사용하여 현재 페이지를 표시하도록 설정되다(단계 S23). 이것으로 도 42에 도시한 플로차트에 대한 설명을 끝마친다.Once the graphics object p is specified in step S20 or S21, the graphics object p is rendered to the interactive graphics plane 10 at the position specified by the button_horizontal_postition and button_vertaical_postition field values (step S22). By repeating the above steps for each button_info structure provided on the current page, the first graphics object of the plurality of graphics objects associated with each button state is rendered in the interactive graphics plane 10 for each button. After repeating the above steps, the CLUT unit 15 is set to display the current page using pallet data specified by the pallet_id_ref field value of the current page (step S23). This concludes the description of the flowchart shown in FIG.

도 43은 in-effect 애니메이션의 재생 절차의 플로차트이다. 플로차트에서, 변수 t는 in-effect를 위해 정의된 effect_sequence 내 디스플레이 합성 중 임의의 것을 나타낸다. 또한, 변수 u는 effect(t)에 대해 사용되는 composition_object 중 임의의 하나의 composition_object를 나타낸다. 플로차트에 도시한 바와 같이, 먼저 변수 t와 u는 "0"으로 초기화된다(단계 S30). 이어, effect_duration 타이머(21)는 effect(t).effect_duration 필드 값으로 설정되고(단계 S31), CLUT 유닛(14, 15)은 표시를 위한 effect(t).pallet_id_ref 필드 값에 의해 식별되는 팔레 트 데이터를 사용하도록 설정된다(단계 S32). 이어, 단계 S33-S40의 루프가 수행된다. 이 루프는 2-레벨 루프이다. 제 1 레벨 루프(단계 S33-S37)는 변수 u를 제어변수로 사용하고, 반면 제 2 레벨 루프는 변수 t를 제어변수로 사용한다.43 is a flowchart of a playback procedure of an in-effect animation. In the flowchart, the variable t represents any of the display synthesis in the effect_sequence defined for the in-effect. Also, the variable u represents any one composition_object of the composition_object used for the effect (t). As shown in the flowchart, variables t and u are initially initialized to "0" (step S30). The effect_duration timer 21 is then set to the value of the effect (t) .effect_duration field (step S31), and the CLUT units 14 and 15 are palette data identified by the value of the effect (t) .pallet_id_ref field for display. Is set to be used (step S32). Then, the loop of steps S33-S40 is performed. This loop is a two-level loop. The first level loop (steps S33-S37) uses the variable u as the control variable, while the second level loop uses the variable t as the control variable.

제 1 레벨 루프에서, effect(t)에 관련된 composition_object(u) 구조체 내에 제공된 object_cropped_flag 필드가 "0"으로 설정된다(단계 S33). 이 필드가 "0"으로 설정되면, composition(u)에 대해 그래픽스 오브젝트가 화면에 표시되지 않는다(단계 S35). 반면, 이 필드가 "1"로 설정되면, composition_object(u)의 object_cropping_horizontal_position, object_cropping_vertical_position, cropping_width, 및 cropping_height 필드에 따라 오브젝트가 크롭된다. 그래픽스 오브젝트의 크롭된 부분은 composition_object(u) 내 composition_object_horizontal_position과 composition_object_vertical_position에 의해 특정되는 위치에서 composition_object(u)의 window_id_ref 필드에 의해 식별되는 윈도 내에 렌더링된다(단계 S34). 이어, 변수 u는 "1"만큼 증가한다. 제 1 레벨 루프는 변수 u가 number_of_composition_object 필드 값과 같아질 때까지 반복된다.In the first level loop, the object_cropped_flag field provided in the composition_object (u) structure related to the effect (t) is set to "0" (step S33). If this field is set to "0", no graphics object is displayed on the screen for composition (u) (step S35). On the other hand, if this field is set to "1", the object is cropped according to the object_cropping_horizontal_position, object_cropping_vertical_position, cropping_width, and cropping_height fields of composition_object (u). The cropped portion of the graphics object is rendered in the window identified by the window_id_ref field of composition_object (u) at the position specified by composition_object_horizontal_position and composition_object_vertical_position in composition_object (u) (step S34). Then, the variable u increases by "1". The first level loop is repeated until the variable u is equal to the value of the number_of_composition_object field.

제 2 레벨 루프에서, 각 제 1 루프 레벨(단계 S33-S37) 반복 동안, 다음의 단계가 수행된다. effect_duration 타임아웃 후(단계 S38), 변수 t는 "1"만큼 증가하고, 변수 u는 "0"으로 초기화된다(단계 S39). 제2 레벨 루프는 변수 t가 number_of_effect(t) 필드 값과 같아질 때까지 반복된다(단계 S40). 이것으로 In-effect 재생 절차에 대한 설명을 끝마친다. out-effect 재생 절차는 기본적으로 상 기한 절차와 같기 때문에 이에 대해서는 설명하지 않는 것에 유의하라.In the second level loop, during each first loop level (steps S33-S37) repetition, the following step is performed. After the effect_duration timeout (step S38), the variable t is increased by "1", and the variable u is initialized to "0" (step S39). The second level loop is repeated until the variable t is equal to the number_of_effect (t) field value (step S40). This concludes the description of the in-effect playback procedure. Note that the out-effect playback procedure is basically the same as the procedure described above, so we won't explain it.

in-effect 재생 직후, 현재 페이지가 표시되고 첫 번째 디스플레이는 애니메이션화 표시를 위해 갱신된다. 현재 페이지의 첫 번째 디스플레이 합성은 각 button_info 구조체에 제공된 normal_start_object_id_ref와 selected_start_object_id_ref 필드 값에 관련된 그래픽스 오브젝트를 인터랙티브 그래픽스 플레인(10)에 렌더링함으로써 표시된다. 각 버튼은 메인 루틴의 각 루프 반복 동안 인터랙티브 그래픽스 플레인(10)의 버튼 영상을 갱신함으로써 애니메이션으로 표시된다. 각 버튼 영상은 인터랙티브 그래픽스 플레인(10)을 버튼과 관련된 그래픽스 오브젝트 시퀀스 중 임의의 것(q번째 그래픽스 오브젝트)으로 오버라이트함으로써 갱신된다. 즉, 각 버튼은 각 button_info 구조체 내에 제공된 normal_state_info와 selected_state_info 필드와 관련된 그래픽스 오브젝트 시퀀스를 인터랙티브 그래픽스 플레인(10)에 하나씩 렌더링함으로써 애니메이션으로 표시된다. 변수 q는 각 button_info 구조체 내에 제공된 normal_state_info와 selected_state_info 필드와 관련된 개별 그래픽스 오브젝트 특정하는데 사용되는 것에 유의하라.Immediately after playing the in-effect, the current page is displayed and the first display is updated for animated display. The first display composition of the current page is displayed by rendering graphics objects associated with the normal_start_object_id_ref and selected_start_object_id_ref field values provided in each button_info structure to the interactive graphics plane 10. Each button is animated by updating the button image of the interactive graphics plane 10 during each loop iteration of the main routine. Each button image is updated by overwriting the interactive graphics plane 10 with any of the sequence of graphics objects associated with the button (qth graphics object). That is, each button is animated by rendering one graphics object sequence associated with the normal_state_info and selected_state_info fields provided in each button_info structure to the interactive graphics plane 10. Note that the variable q is used to specify individual graphics objects associated with the normal_state_info and selected_state_info fields provided in each button_info structure.

이하, 도 44를 참조하여, 애니메이션화 표시를 위한 디스플레이 갱신 절차에 대해 설명한다. 첫 번째 디스플레이 합성이 아직 표시되지 않았으면, 어떠한 동작도 수행하지 않고 처리는 메인 루틴으로 돌아간다. 반면, 첫 번째 디스플레이 합성이 표시되었으면, 단계 S42-S53이 수행된다. 단계 S41-S55는 단계S42-S55가 ICS의 각 button_info 구조체에 대해 반복되는 루프를 형성한다(단계 S42와 S43).A display update procedure for displaying an animation is described below with reference to FIG. 44. If the first display composition has not been displayed yet, no action is taken and processing returns to the main routine. On the other hand, if the first display composition is displayed, steps S42-S53 are performed. Steps S41-S55 form a loop in which steps S42-S55 are repeated for each button_info structure of the ICS (steps S42 and S43).

단계 S44에서, 변수 q는 button_info(p)에 대응하는 변수 animation(p) 값으로 설정된다. 그 결과, 변수 q는 button_info(p)의 현재 프레임 번호를 나타낸다.In step S44, the variable q is set to a variable animation (p) value corresponding to button_info (p). As a result, the variable q represents the current frame number of button_info (p).

단계 S45에서, button_info(p)가 현재 선택된 상태의 버튼(즉, 현재 버튼)에 대응하는지에 대해 판정이 이루어진다. In step S45, a determination is made as to whether button_info (p) corresponds to the button in the currently selected state (i.e., the current button).

button_info(p)가 현재 버튼에 대응하지 않으면, 변수 q는 ID(q)를 얻기 위하여 button_info(p)의 normal_start_object_id_ref 필드 값에 추가된다(단계 S46).If button_info (p) does not correspond to the current button, the variable q is added to the normal_start_object_id_ref field value of button_info (p) to obtain ID (q) (step S46).

button_info(p)가 현재 버튼에 대응하면, 단계 S47이 수행된다. If button_info (p) corresponds to the current button, step S47 is performed.

단계 S47에서, 현재 버튼이 활성화 상태인지에 대해 판정이 이루어진다. 단계 S47에서의 판정이 YES이면, 변수 q는 button_info(p)의 activated_start_object_id_ref 필드 값에 추가되어 ID(q)를 취득한다(단계 S54). 이어, button_info(p)에 관련된 네비게이션 명령 중 하나가 실행된다(단계 S55).In step S47, a determination is made as to whether the current button is active. If the determination in step S47 is YES, the variable q is added to the activated_start_object_id_ref field value of button_info (p) to obtain ID (q) (step S54). Then, one of the navigation commands related to button_info (p) is executed (step S55).

반면, 현재 버튼이 활성화 상태에 있지 않으면, 변수 q는 button_info(p)의 selected_start_object_id_ref 필드 값에 추가되어 ID(q)를 취득한다(단계 S48). On the other hand, if the current button is not in the active state, the variable q is added to the selected_start_object_id_ref field value of button_info (p) to obtain ID (q) (step S48).

일단 ID(q)를 취득하면, 오브젝트 버퍼(35)에 저장된 그래픽스 오브젝트 중, ID(q)에 식별되는 것이 인터랙티브 그래픽스 플레인(10)에 렌더링된다. 인터랙티브 그래픽스 플레인(10)의 렌더링 위치는 button-info(p)의 button_horizontal_postition과 button_vertaical_postition 필드에 의해 특정된다. Once the ID q is acquired, the one identified in the ID q among the graphics objects stored in the object buffer 35 is rendered in the interactive graphics plane 10. The rendering position of the interactive graphics plane 10 is specified by the button_horizontal_postition and button_vertaical_postition fields of button-info (p).

루프 반복을 통하여, 현재 버튼의 선택(또는 활성화)상태에 관련된 그래픽스 오브젝트의 q번째 것이 인터랙티브 그래픽스 플레인(10)에 렌더링된다.Through loop iteration, the q th of the graphics object related to the selected (or activated) state of the current button is rendered in the interactive graphics plane 10.

단계 S50에서, normal_start_object_id_ref 필드 값과 변수 q의 합이 normal_end_object_id_ref 필드 값에 도달하였는지에 대해 판정이 이루어진다. 합이 normal_end_object_id_ref 필드 값에 도달하였으면, 변수 q는 "1"만큼 증가하고 증가한 변수 q는 변수 animation(p)로 설정된다(단계 S51). 반면, 합이 normal_end_object_id_ref 필드 값에 도달하지 않았으면, repeat_flag 필드가 "1"로 설정되었는지에 대해 판정이 이루어진다(단계 S52). repeat_flag 필드가 "1"로 설정되면, 변수 animation(p)는 "0"으로 초기화된다(단계 S53). 상기 단계는 ICS의 각 button_info 구조체에 대해 반복되고(단계 S42와 S43), 이어 처리는 메인 루틴으로 복귀한다.In step S50, a determination is made as to whether the sum of the normal_start_object_id_ref field value and the variable q has reached the normal_end_object_id_ref field value. If the sum reaches the value of the normal_end_object_id_ref field, the variable q is increased by "1" and the increased variable q is set to the variable animation (p) (step S51). On the other hand, if the sum has not reached the normal_end_object_id_ref field value, a determination is made as to whether the repeat_flag field is set to "1" (step S52). If the repeat_flag field is set to "1", the variable animation (p) is initialized to "0" (step S53). The above steps are repeated for each button_info structure of the ICS (steps S42 and S43), and then processing returns to the main routine.

상기한 단계 S41-S53을 통하여, 화면에 표시되는 각 버튼 영상은 메인 루틴이 수행될 때마다 새로운 그래픽스 오브젝트로 갱신된다. 따라서, 메인 루틴을 반복함으로써, 버튼 영상은 애니메이션으로 표시된다. 버튼을 애니메이션으로 표시할 때, 그래픽스 컨트롤러(37)는 animation_frame_rate_code를 유지하도록 각 그래픽스 오브젝트를 표시하는 기간을 조정한다. 이것으로 애니메이션화 표시에 대한 절차의 설명을 끝마친다. Through the above steps S41-S53, each button image displayed on the screen is updated with a new graphics object each time the main routine is performed. Thus, by repeating the main routine, the button image is displayed in animation. When displaying a button as an animation, the graphics controller 37 adjusts the period for displaying each graphics object so as to maintain animation_frame_rate_code. This concludes the description of the procedure for displaying animation.

상기한 단계 S47에서, 현재 버튼이 활성화 상태에 있는 것으로 판정되면, 현재 버튼과 관련된 네비게이션 명령이 단계 S55에서 실행될 필요가 있다. 도 45는 네비게이션 명령을 실행하기 위한 절차의 플로차트이다. 먼저, 네비게이션 명령이 SetButtonPage 명령인지에 대해 판정이 이루어진다(단계 S56). 네비게이션 명령이 SetButtonPage 명령이 아니면, 네비게이션 명령이 간단히 실행된다(단계 S57). 반면, 네비게이션 명령이 SetButtonPage 명령이면, 네비게이션 명령의 연산수에 의해 특정되는 버튼 번호를 PRS 10에 설정할 뿐만 아니라 네비게이션 명령의 연산수에 의해 특정되는 페이지 번호를 페이지 번호 X로 지정하도록 상태제어부(23)에 지시를 한다(단계 S58). 이어, 상태제어부(23)는 PSR 11에 대해서 "변경이 요청될 때의 절차"를 실행한다(단계 S59). 상기한 바와 같이, PSR 11은 현재 표시된 페이지(즉, 현재 페이지)를 나타내는 값을 보유한다. 따라서, PSR 11에 대해서 "변경이 요청될 때의 절차"를 수행함으로써, 현재 페이지가 결정된다. 이어, 상태제어부(23)는 PSR 10에 대해서 "재생조건이 변경될 때의 절차"를 수행한다(단계 S60). 이것으로 도 45에 도시한 플로차트의 설명을 끝마친다.In step S47 described above, if it is determined that the current button is in the activated state, a navigation command associated with the current button needs to be executed in step S55. 45 is a flowchart of a procedure for executing a navigation command. First, a determination is made as to whether the navigation command is a SetButtonPage command (step S56). If the navigation command is not a SetButtonPage command, the navigation command is simply executed (step S57). On the other hand, if the navigation command is a SetButtonPage command, the state control unit 23 not only sets the button number specified by the number of operations of the navigation command in the PRS 10 but also designates the page number specified by the number of operations of the navigation command as the page number X. (Step S58). Subsequently, the state control unit 23 executes the "procedure when a change is requested" for the PSR11 (step S59). As noted above, PSR 11 holds a value indicating the currently displayed page (ie, the current page). Thus, by performing the " procedure when a change is requested " for the PSR 11, the current page is determined. Subsequently, the state control unit 23 performs the "procedure when the reproduction condition is changed" with respect to the PSR 10 (step S60). This concludes the description of the flowchart shown in FIG. 45.

이것으로 네비게이션 명령을 실행하기 위한 절차의 설명을 끝마친다. 상기한 바와 같이, 네비게이션 명령은 관련된 버튼이 활성화될 때 실행된다. 버튼 상태 변화는 사용자 조작(UO)에 응답하여 다음의 절차를 통하여 표시된다. 플로차트에 도시한 바와 같이, 특정 이벤트가 발생하였는지에 대해 단계 S61-S64에서 판정이 이루어진다. 각 이벤트의 발생은 특정 단계가 수행되는 것을 요구한다. 그 후 처리는 메인 루틴으로 복귀한다. 구체적으로, 단계 S61에서, UO_mask_table 필드가 "1"로 설정되었는지에 대해 판정이 이루어진다. 이 필드가 "1"로 설정되면, 처리는 어떠한 단계도 수행하지 않고 메인 루틴으로 복귀한다.This concludes the description of the procedure for executing navigation commands. As mentioned above, navigation commands are executed when the associated button is activated. The button state change is displayed in the following procedure in response to a user operation (UO). As shown in the flowchart, a determination is made in steps S61-S64 as to whether a specific event has occurred. The occurrence of each event requires a specific step to be performed. Processing then returns to the main routine. Specifically, in step S61, a determination is made as to whether the UO_mask_table field is set to "1". If this field is set to '1', processing returns to the main routine without performing any step.

단계 S62에서, 리모트 컨트롤러의 Move Up, Down, Left, 및 Right 키 중 어느 것이든 물렸는지에 대해 판정이 이루어진다. 어떠한 키든 눌린 경우, user_timeout 타이머(18)과 selection_timeout 타이머(19)는 리셋된다(단계 S65). 이어, 다른 버튼이 새로운 현재 버튼으로 지정되고(단계 S66), 새로이 지정된 현재 버튼의 auto_action_flag가 "01"로 설정되었는지에 대한 판정이 뒤따른다(단계 S67). auto_action_flag가 "01"로 설정되지 않으면, 처리는 메인 루틴으로 복귀한다. 반면, auto_action_flag가 "01"로 설정되면, current button(i)가 활성화된다(단계 S69). 이어 변수 animation(i)는 "0"으로 설정된다(단계 S70).In step S62, a determination is made as to whether any of the Move Up, Down, Left, and Right keys of the remote controller is bitten. If any key is pressed, the user_timeout timer 18 and the selection_timeout timer 19 are reset (step S65). Then, another button is designated as the new current button (step S66), followed by a determination as to whether auto_action_flag of the newly specified current button is set to "01" (step S67). If auto_action_flag is not set to "01", the process returns to the main routine. On the other hand, when auto_action_flag is set to "01", the current button (i) is activated (step S69). Then the variable animation (i) is set to "0" (step S70).

단계 S63에서, 숫자 입력이 되었는지에 대해 판정이 이루어진다. 숫자 입력이 되면, user_timeout 타이머(18)과 selection_timeout 타이머(19)는 리셋되고(단계 S71), 다른 버튼이 새로운 현재 버튼으로 지정된다(단계 S72). 이어 처리는 메인 루틴으로 복귀한다.In step S63, a determination is made as to whether numeric input has been made. When the number is input, the user_timeout timer 18 and the selection_timeout timer 19 are reset (step S71), and another button is designated as the new current button (step S72). Processing then returns to the main routine.

단계 S64에서, 리모트 컨트롤러의 활성화 키가 눌렸는지에 대해 판정이 이루어진다. 활성화 키가 눌리면, user_timeout 타이머(18)과 selection_timeout 타이머(19)는 리셋되고(단계 S68), current button(i)이 활성화된다(단계 S69). 버튼 상태 변화 후, 변수 animation(i)는 "0"으로 설정된다(단계 S70). 상기한 새로운 현재 버튼을 지정하는 단계 S66은 도 47에 도시한 서브루틴을 호출함으로써 수행되는 것에 유의하라. 이하, 도면을 참조하여 서브루틴에 대해 설명한다.In step S64, a determination is made as to whether the activation key of the remote controller has been pressed. When the activation key is pressed, the user_timeout timer 18 and the selection_timeout timer 19 are reset (step S68), and the current button (i) is activated (step S69). After the button state change, the variable animation (i) is set to "0" (step S70). Note that step S66 of specifying the new current button described above is performed by calling the subroutine shown in FIG. Hereinafter, the subroutine will be described with reference to the drawings.

도 47은 현재 버튼 변경 절차의 플로차트이다. 먼저, 현재 버튼에 관련된 neighbor_info 내 upper_button_id_ref, lower_button_id_ref, left_button_id_ref, 및 right_button_id_ref 필드 중 어느 것이 눌린 키에 대응하는지가 결정된다(단계 S75).47 is a flowchart of the current button change procedure. First, it is determined which of the upper_button_id_ref, lower_button_id_ref, left_button_id_ref, and right_button_id_ref fields in neighbor_info related to the current button corresponds to the pressed key (step S75).

여기서, button(Y)는 현재 버튼을 의미하고, button X는 upper_button_id_ref, lower_button_id_ref, left_button_id_ref, 및 right_button_id_ref 필드 중 어느 하나에 의해 특정된 버튼을 의미하는 것으로 한다(단계 S76). 이어, 상태제어부(23)는 "변경이 요청될 때의 절차"를 PSR 10에 대해서 수행한다(단계 S77). 그 결과, PSR 10은 값 X로 설정된다.Here, button (Y) means the current button, and button X means the button specified by any one of the upper_button_id_ref, lower_button_id_ref, left_button_id_ref, and right_button_id_ref fields (step S76). Subsequently, the state control unit 23 performs a "procedure when a change is requested" to the PSR 10 (step S77). As a result, PSR 10 is set to the value X.

이후, 변수 animation(X)와 animation(Y)는 "0"으로 설정되고(단계 S78), 메인 루틴으로 복귀한다.Thereafter, the variables animation (X) and animation (Y) are set to "0" (step S78), and the process returns to the main routine.

상기한 바와 같이, UO 처리에서, UO에 응답하여 버튼이 활성화된다. 그러나, 활성화 상태로의 버튼 상태 변화는 selection_time_out_pts가 타임아웃할 때에도 이루어진다. 이하, 도 48을 참조하여, selection_time_out_pts의 타임아웃 시 버튼의 자동-활성화를 위한 절차에 대해 설명한다.As described above, in the UO processing, the button is activated in response to the UO. However, the button state change to the active state is also made when selection_time_out_pts times out. Hereinafter, a procedure for auto-activation of a button upon timeout of selection_time_out_pts will be described with reference to FIG. 48.

도 48은 버튼의 자동-활성화 절차의 플로차트이다. 먼저, default_activated_button_id_ref 필드가 "00"이나 "FF"로 설정되었는지에 대해 판정이 이루어진다(단계 S91). 이 필드가 "00"으로 설정되면, 처리는 어떤 단계도 수행하지 않고 메인 루틴으로 복귀한다. 반면, default_activated_button_id_ref가 "FF"로 설정되면, current button(i)이 활성화된다(단계 S93). 이후, 변수 animation(X)와 animation(Y)는 "0"으로 설정되고(단계 S94), 메인 루틴으로 복귀한다.48 is a flowchart of an auto-activation procedure of a button. First, a determination is made as to whether the default_activated_button_id_ref field is set to "00" or "FF" (step S91). If this field is set to "00", the process returns to the main routine without performing any step. On the other hand, if default_activated_button_id_ref is set to "FF", the current button (i) is activated (step S93). Thereafter, the variables animation (X) and animation (Y) are set to "0" (step S94), and the process returns to the main routine.

default_activated_button_id_ref 필드 값이 "00"이나 "FF" 어느 것도 아니면, default_activated_button_id_ref 필드 값이 특정한 버튼이 새로운 current button(i)로 결정된다(단계 S92). 따라서, default_activated_button_id_ref 필드 값이 특정하는 버튼이 활성화 상태를 수신한다(단계 S93). 이후, 변수 animation(X)와 animation(Y)는 "0"으로 설정되고(단계 S94), 메인 루틴으로 복귀한다.If the default_activated_button_id_ref field value is neither "00" nor "FF", a button whose default_activated_button_id_ref field value is specified is determined as a new current button (i) (step S92). Therefore, the button specified by the default_activated_button_id_ref field value receives the activated state (step S93). Thereafter, the variables animation (X) and animation (Y) are set to "0" (step S94), and the process returns to the main routine.

상기한 단계를 통하여, 선택된 상태의 버튼은 기설정된 기간 종료시 자동으로 활성화 상태로 된다. 이것으로 도 47에 도시한 플로차트에 대한 설명을 끝마친다.Through the above steps, the button in the selected state is automatically activated at the end of the preset period. This concludes the description of the flowchart shown in FIG. 47.

<Pop-Up U/I에서 그래픽스 디스플레이의 턴 온/오프><Turning On / Off the Graphics Display in Pop-Up U / I>

상기한 설명은 user_interface_model이 Always-On U/I를 나타내는 경우에 I-그래픽스 디코더(9)에 의해 수행되는 절차에 관련한다. Pop-Up U/I가 사용되는 경우에, I-그래픽스 디코더(9)는 다음과 같이 동작한다. 먼저, Always-On U/I 경우와 유사하게, I-그래픽스 디코더(9)는 디코딩을 수행하여 오브젝트 버퍼(35)의 디코드된 그래픽스 오브젝트를 취득한다. 이어, I-그래픽스 디코더(9)는 PTS(DSn[ICS])가 나타내는 시간에 그래픽스 오브젝트를 인터랙티브 그래픽스 플레인(10)에 렌더링한다. 이 시점까지, I-그래픽스 디코더(9)는 Always-On U/I가 사용되는 경우와 유사하게 동작한다. 그러나, 이후에 수행되는 처리는 그래픽스 컨트롤러(37)가 인터랙티브 그래픽스 플레인(10)에 저장된 페이지를 오버레이하지 않는다는 점에서 다르고, 따라서 페이지가 표시되지 않는다. 즉, 그래픽스 컨트롤러(37)는 인터랙티브 그래픽스 플레인(10)에 저장된 데이터를 CLUT 유닛(15)에 출력하지 않음으로써 페이지를 "턴 오프(turn off)"한다. 페이지가 화면에 표시되지 않은(즉, 턴 오프된) 채로, 그래픽스 컨트롤러(37)는 Pop-Up_on을 위한 사용자 조작을 대기한다. Pop-Up_on을 위한 사용자 조작에 응답하여, 그래픽스 컨트롤러(37)는 인터랙티브 그래픽스 플레인(10)에 저장된 데이터를 그래픽스 데이터가 비디오 데이터와 오버레이되는 CLUT 유닛(15)에 출력한다. 그 결과, 페이지는 "턴 온(turn on)"되거나 화면에 표시된다. 상기와 같이, 그래픽스 컨트롤러(37)는 그래픽스 디스플레이를 턴 온 및 오프하여 Pop-Up 디스플레이를 구현한다.The above description relates to the procedure performed by the I-graphics decoder 9 when the user_interface_model indicates Always-On U / I. In the case where Pop-Up U / I is used, the I-graphics decoder 9 operates as follows. First, similarly to the Always-On U / I case, the I-graphics decoder 9 performs decoding to obtain a decoded graphics object of the object buffer 35. The I-graphics decoder 9 then renders the graphics object to the interactive graphics plane 10 at the time indicated by the PTS (DS n [ICS]). Up to this point, the I-graphics decoder 9 operates similarly to the case where Always-On U / I is used. However, the processing performed thereafter is different in that the graphics controller 37 does not overlay the page stored in the interactive graphics plane 10, so that the page is not displayed. That is, the graphics controller 37 "turns off" the page by not outputting the data stored in the interactive graphics plane 10 to the CLUT unit 15. With the page not displayed on the screen (ie, turned off), the graphics controller 37 waits for a user operation for Pop-Up_on. In response to the user manipulation for Pop-Up_on, the graphics controller 37 outputs the data stored in the interactive graphics plane 10 to the CLUT unit 15 in which the graphics data is overlaid with the video data. As a result, the page is " turned on " or displayed on the screen. As described above, the graphics controller 37 turns the graphics display on and off to implement a pop-up display.

이후 수행되는 동작에서, Always-On U/I와 Pop-Up U/I 사이에 차이는 없다. 메인 페이지의 어떤 버튼이든 활성화될 때, 활성화버튼에 관련된 네비게이션 명령이 실행된다. selection_timeout 타이머(19)가 타임아웃 할 때, 메인 페이지의 현재 저튼은 자동으로 활성화되고 서브 페이지가 화면에 표시된다.In subsequent operations, there is no difference between Always-On U / I and Pop-Up U / I. When any button on the main page is activated, the navigation commands associated with the active button are executed. When the selection_timeout timer 19 times out, the current page of the main page is automatically activated and the sub page is displayed on the screen.

사용자 조작이 Pop-Up_off를 위해 이루어질 때, 그래픽스 컨트롤러(37)는 모든 화면상 페이지를 턴 오프하며, 이에 따라 화면에 표시된 페이지를 남기지 않는다. When a user operation is made for Pop-Up_off, the graphics controller 37 turns off all on-screen pages, thus leaving no page displayed on the screen.

사용자 조작이 일정한 시간 동안 이루어지지 않으면, user_timeout 타이머(18)는 0을 향해 카운트를 한다. user_timeout 타이머(18)가 타임아웃 할 때, 그래픽스 컨트롤러(37)고 모든 화면상 페이지를 턴 오프하며, 이에 따라 화면에 표시된 페이지를 남기지 않는다. 상기한 턴 온 및 턴 오프 절차는 도 12a에 도시한 상태 변화를 구현하기 위해 수행된다.If the user operation is not made for a certain time, the user_timeout timer 18 counts toward zero. When the user_timeout timer 18 times out, the graphics controller 37 turns off all on-screen pages, thus leaving no page displayed on the screen. The above turn on and turn off procedure is performed to implement the state change shown in FIG. 12A.

상기와 같이, 턴 온 및 턴 오프 동작을 통하여 Pop-Up U/I가 실행된다.As described above, Pop-Up U / I is executed through the turn on and turn off operations.

상기한 바와 같이, 본 발명의 제 6 실시예는 제 1 내지 제 5 실시예에서 기술한 데이터 구조를 갖는 BD-ROM을 지원하는 재생장치의 산업 생산을 구현한다. 이것은 제 1 내지 제 5 실시예에 따라 BD-ROM의 광범위한 사용에 도움이 된다.As described above, the sixth embodiment of the present invention implements the industrial production of the playback apparatus supporting the BD-ROM having the data structure described in the first to fifth embodiments. This is helpful for widespread use of the BD-ROM according to the first to fifth embodiments.

(제 7 실시예)(Example 7)

본 발명의 제 7 실시예는 BD-ROM의 제조방법에 관한 것이다. 도 49는 제 1 내지 제 5 실시예에 따른 BD-ROM의 제조방법의 플로차트이다.A seventh embodiment of the present invention relates to a method of manufacturing a BD-ROM. Fig. 49 is a flowchart of the manufacturing method of the BD-ROM according to the first to fifth embodiments.

제조방법은 비디오, 오디오 등을 기록하는 자료제작단계(단계 S201), 오소링(authoring) 장치를 이용하여 애플리케이션 포맷을 생성하는 오소링단계(단계 S202), 및 BD-ROM의 원본 마스터(master)를 생성하고 인쇄(stamping)과 접착(bonding)으로 BD-ROM을 완성하는 프레싱단계(단계 S203)를 포함한다.The manufacturing method includes a data production step (step S201) for recording video, audio, etc., an authoring step (step S202) for generating an application format using an authoring device, and an original master of a BD-ROM. And a pressing step (step S203) of completing the BD-ROM by stamping and bonding.

BD-ROM 오소링단계는 다음의 단계 S204-S213을 포함한다.The BD-ROM authoring step includes the following steps S204-S213.

이하, 단계 S204-S213에 대해 설명한다. 단계 S240에서, 제어정보, 팔레트 정의 정보, 및 그래픽스가 생성된다. 단계 S205에서, 제어정보, 팔레트 정의 정보, 및 그래픽스가 기능 세그먼트로 변환된다. 단계 S206에서, 각 ICS의 PTS는 동기될 화상의 디스플레이 타이밍에 기초하여 설정된다. 단계 S207에서, DTS[ODS]와 PTS[ODS]가 PTS[ICS]에 기초하여 설정된다. 단계 S208에서, DTS[ICS]와 PTS[PDS]가 DTS[ODS]에 기초하여 설정된다.Hereinafter, steps S204-S213 will be described. In step S240, control information, palette definition information, and graphics are generated. In step S205, control information, palette definition information, and graphics are converted into functional segments. In step S206, the PTS of each ICS is set based on the display timing of the image to be synchronized. In step S207, DTS [ODS] and PTS [ODS] are set based on PTS [ICS]. In step S208, DTS [ICS] and PTS [PDS] are set based on DTS [ODS].

단계 S209에서, 재생장치 모델의 각 버퍼의 점유 변화가 그래프화 된다. 단 계 S210에서, 그래프화 된 변화가 재생장치 모델의 제한을 만족하는지에 대해 판정이 이루어진다. 판정이 부정적이면, 각 기능 세그먼트의 DTS와 PTS는 단계 S211에서 다시 기록된다. 판정이 긍정적이면, 그래픽스 스트림이 단계 S212에서 생성되고, 그래픽스 스트림은 단계 S213에서 별개로 생성된 비디오 스트림과 오디오 스트림으로 다중화되어 AV 클립을 형성한다. 이 후, AV 클립은 Blu-ray 디스크 판독전용 포맷에 적용되어 애플리케이션 포맷을 완성한다.In step S209, the occupancy change of each buffer of the playback device model is graphed. In step S210, a determination is made whether the graphed change satisfies the limitation of the playback apparatus model. If the determination is negative, the DTS and PTS of each functional segment are recorded again in step S211. If the determination is affirmative, the graphics stream is generated in step S212, and the graphics stream is multiplexed into a video stream and an audio stream separately generated in step S213 to form an AV clip. The AV clip is then applied to the Blu-ray Disc read only format to complete the application format.

(변형예)(Variation)

본 발명은 상기한 실시예들을 통하여 기술되었지만, 본 발명에 이러한 특정 실시예에 한정되지 않는다. 본 발명은 이하의 변형예 (A) 내지 (L) 중 어느 것으로 실시할 수 있다. 이 명세서의 각 청구항에 기술된 발명은 상기한 실시예와 이하의 변형예의 확장 및 일반화를 포함한다. 확장과 일반화의 정도는 본 발명이 만들어진 때 본 발명의 기술분야의 당업자의 수준에 좌우된다.Although the present invention has been described through the above embodiments, the present invention is not limited to this specific embodiment. This invention can be implemented in any of the following modifications (A)-(L). The invention described in each claim of this specification includes extensions and generalizations of the above embodiments and the following modifications. The degree of extension and generalization depends upon the level of skill in the art when the present invention is made.

(A) 상기한 실시예는 BD-ROM이 기록매체로 사용되는 경우를 기술한다, 그러나, 본 발명의 주요 특징은 기록매체에 기록된 그래픽스 스트림에 있으며, 이는 BD-ROM의 물리적 특성에 의존하지 않는다. 따라서, 본 발명은 그래픽스 스트림을 기록할 수 있는 어떠한 기록매체에도 적용할 수 있다. 그러한 기록매체의 예로는, DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R, CD-R, 또는 CD-RW와 같은 광 디스크; PD나 MO와 같은 자기-광 디스크; CompactFlash 카드, SmartMedia 카드, Memory Stick 카드, MultiMediaCard, 또는 PCMCIA 카드와 같은 반도체 메모리 카드; 플렉시블 디스크, SuperDisk, Zip, 또는 Click!과 같은 자기디스크; ORB, Jaz, SparQ, SyJet, EZFley, 또는 Microdrive와 같은 리무버블 하드 디스크, 및 넌-리무버블 하드 디스크를 들 수 있다.(A) The above embodiment describes the case where the BD-ROM is used as a recording medium, but the main feature of the present invention is in the graphics stream recorded on the recording medium, which does not depend on the physical characteristics of the BD-ROM. Do not. Thus, the present invention can be applied to any recording medium capable of recording a graphics stream. Examples of such recording media include optical disks such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD + RW, DVD + R, CD-R, or CD-RW; Magneto-optical disks such as PD or MO; Semiconductor memory cards such as CompactFlash cards, SmartMedia cards, Memory Stick cards, MultiMediaCards, or PCMCIA cards; Magnetic disks such as flexible disks, SuperDisk, Zip, or Click !; Removable hard disks such as ORB, Jaz, SparQ, SyJet, EZFley, or Microdrive, and non-removable hard disks.

(B) 상기한 실시예는 재생장치가 BD-ROM의 AV 클립을 디코드하고 디코드한 AV 클립을 텔레비전에 출력하는 경우를 기술한다. 대안으로, 재생장치는 CD 드라이브만을 구비하고, 나머지 구성요소는 텔레비전에 제공될 수 있다. 이 경우, 재생장치와 텔레비전은 IEEE1394 커넥터로 연결된 홈 네트워크에 포함될 수 있다. 상기의 실시예는 재생장치가 텔레비전에 연결되는 경우를 기술하였지만, 그 대신 재생장치는 디스플레이 장치에 통합될 수 있다. 또한, 재생장치는 처리의 필수 부분을 실행하는 시스템 LSI(집적회로)만을 포함할 수 있다. 재생장치와 집적회로는 모두 이 명세서에 기술된 발명이다. 따라서, 재생장치가 관련되느냐 집적회로가 관련되느냐에 관계없이, 제 6 실시예에서 설명한 재생장치의 내부 구조에 기초하여 재생장치를 제조하는 행위는 본 발명을 실시하는 행위이다. 또한, 이 재생장치를 유상 양도(즉, 판매용) 또는 무상 양도(즉, 선물로)하거나, 리스 및 수입하는 행위는 본 발명을 실시하는 행위이다. 마찬가지로, 상점앞 진열, 카탈로그, 또는 브로슈어를 이용하여 재생장치의 양도나 리스를 위한 제공 행위는 본 발명을 실시하는 행위이다.(B) The above embodiment describes a case in which the playback device decodes an AV clip of a BD-ROM and outputs the decoded AV clip to a television. Alternatively, the playback device may have only a CD drive and the remaining components may be provided to the television. In this case, the playback device and the television may be included in a home network connected with an IEEE 1394 connector. Although the above embodiment has described the case where the playback device is connected to a television, the playback device may instead be integrated into the display device. Also, the playback apparatus may include only system LSIs (integrated circuits) that perform essential parts of the processing. Both the reproducing apparatus and the integrated circuit are inventions described in this specification. Therefore, regardless of whether the playback device is associated or the integrated circuit is involved, the manufacturing of the playback device based on the internal structure of the playback device described in the sixth embodiment is the practice of the present invention. In addition, the act of transferring the reproducing apparatus for a fee (that is, for sale) or for a fee (that is, as a gift), leasing, or importing the reproducing apparatus is the practice of the present invention. Similarly, the act of transferring or leasing a playback device using a storefront display, a catalog, or a brochure is an act of practicing the present invention.

(C) 플로차트에 도시한 프로그램을 이용한 정보 처리는 실제 하드웨어 자원을 이용하여 구현된다. 따라서, 플로차트에 도시된 절차 단계를 기술하는 프로그램은 그 자체로 발명이다. 상기한 실시예는 모두 프로그램이 재생장치에 포함되는 경우에 관련하지만, 프로그램은 재생장치와 독립하여 사용될 수 있다. 프로그램을 실시하는 행위는, (1) 제조행위, (2) 유무상 양도 행위, (3) 리스 행위, (4) 수입 행위, (5) 양방향 전기통신망을 통하여 공중에 제공하는 행위, 및 (6) 상점앞 진열, 카탈로그, 또는 브로슈어를 사용한 양도나 리스를 위한 제공 행위를 포함한다.(C) Information processing using the program shown in the flowchart is implemented using actual hardware resources. Thus, the program describing the procedure steps shown in the flowchart is an invention in itself. Although all of the above embodiments relate to the case where a program is included in the playback apparatus, the program can be used independently of the playback apparatus. The conduct of the program may include: (1) manufacturing, (2) grants of gratuitous payment, (3) leasing, (4) importation, (5) providing to the public through a two-way telecommunication network, and (6) This includes any acts of transfer or lease using storefront displays, catalogs or brochures.

(D) 각 플로차트에서 시계열로 실행되는 단계들의 시간 요소는 본 발명의 필수 요소로 간주될 수 있다. 이에 따라, 이들 플로차트가 나타내는 재생방법은 하나의 발명이다. 각 플로차트에 나타낸 처리가 의도된 목적과 의도된 효과를 달성하기 위하여 시계열로 단계를 수행함으로써 실행된다면, 본 발명의 재생방법을 실시하는 행위로 간주될 수 있다.(D) The time element of the steps executed in time series in each flowchart can be considered an essential element of the present invention. Accordingly, the reproduction method represented by these flowcharts is one invention. If the processing shown in each flowchart is executed by performing the steps in time series to achieve the intended purpose and the intended effect, it can be regarded as an act of implementing the reproducing method of the present invention.

(E) BD-ROM에 AV 클립을 기록할 때, 확장 헤더가 AV 클립의 각 TS 패킷에 추가될 수 있다, 확장 헤더는 TP_extra_header로 불리며, arrival_time_stamp와 copy_permission_indicator를 포함하고, 4바이트의 데이터 길이를 갖는다. TP_extra_header를 구비한 TS 패킷(이하, "EX TS 패킷"이라 함)은 32 패킷 단위로 그룹화되고, 각 그룹은 3개의 섹터로 기록된다. 32 EX TS 패킷로 구성된 하나의 그룹은 6,144 바이트(= 32 × 192)를 가지며, 이는 6144 바이트(= 2048 × 3)인 3개 의 섹터의 크기와 같다. 3개의 섹터에 포함된 32 EX TS 패킷은 "정렬 단위(Aligned Unit)"로 불린다.(E) When recording an AV clip on a BD-ROM, an extended header can be added to each TS packet of the AV clip. The extended header is called TP_extra_header, includes arrival_time_stamp and copy_permission_indicator, and has a data length of 4 bytes. . TS packets with TP_extra_header (hereinafter referred to as "EX TS packets") are grouped in units of 32 packets, and each group is recorded in three sectors. One group of 32 EX TS packets has 6,144 bytes (= 32 × 192), which is equal to the size of three sectors of 6144 bytes (= 2048 × 3). 32 EX TS packets included in three sectors are called "Aligned Units".

IEEE1394 커넥터로 연결된 홈 네트워크에서, 재생장치는 다음의 방법으로 정렬단위를 송신한다. 재생장치는 정렬단위의 각 32 EX TS 패킷으로부터 TP_extra_header를 제거하고, DTCP 규격에 따라 각 TS 패킷의 몸체를 암호화하고, 암호화된 TS 패킷을 출력한다. TS 패킷을 출력할 때, 재생장치는 인접하는 TS 패킷 사이에 동기 패킷을 삽입한다. 동기 패킷이 삽입되는 위치는 TP_extra_header의 arrival_time_stamp가 나타내는 시간에 기초한다. 재생장치는 TS 패킷 뿐만 아니라 DTCP_descriptor를 출력한다. DTCP_descriptor는 TP_extra_header의 copy_permission_indicator에 대응한다. "복제 금지"를 지시하는 DTCP_descriptor의 제공으로, IEEE1394 커넥터를 통하여 연결된 홈 네트워크에서 TS 패킷을 사용하는 경우, TS 패킷이 다른 장치에 기록되는 것을 방지할 수 있다. In a home network connected by an IEEE 1394 connector, the playback apparatus transmits the alignment unit in the following manner. The playback apparatus removes the TP_extra_header from each 32 EX TS packets in the alignment unit, encrypts the body of each TS packet according to the DTCP standard, and outputs the encrypted TS packet. When outputting TS packets, the playback apparatus inserts sync packets between adjacent TS packets. The position at which the sync packet is inserted is based on the time indicated by arrival_time_stamp of the TP_extra_header. The playback device outputs the DTCP_descriptor as well as the TS packet. DTCP_descriptor corresponds to copy_permission_indicator of TP_extra_header. By providing the DTCP_descriptor indicating "repeat prohibited", when the TS packet is used in the home network connected via the IEEE1394 connector, the TS packet can be prevented from being recorded in another device.

(F) 상기한 실시예는 블루-레이 디스크 판독전용 포맷의 AV 클립이 디지털 스트림으로 사용되는 경우에 관련하지만, 본 발명은 DVD-Video 포맷의 VOB(비디오 오브젝트) 또는 DVD-Video 기록 포맷으로 실시할 수 있다. VOB는 ISO/IEC 13818-1 기준에 따르고 비디오 스트림과 오디오 스트림을 다중화함으로써 취득되는 프로그램 스트림이다. 또한, AV 클립의 비디오 스트림은 MPEG4 비디오 스트림이나 WMV 비디오 스트림일 수 있다. 또한, AV 클립의 오디오 스트림은 선형 PCM 오디오 스트림, 돌비 AC-3 오디오 스트림, MP3 오디오 스트림, MPEG-AAA 오디오 스트림, 또는 DTS 오디오 스트림일 수 있다.(F) The above embodiment relates to the case where an AV clip of a Blu-ray Disc read-only format is used as a digital stream, but the present invention is implemented in a VOB (video object) or DVD-Video recording format in DVD-Video format. can do. The VOB is a program stream obtained according to the ISO / IEC 13818-1 standard and obtained by multiplexing a video stream and an audio stream. In addition, the video stream of the AV clip may be an MPEG4 video stream or a WMV video stream. The audio stream of the AV clip may also be a linear PCM audio stream, a Dolby AC-3 audio stream, an MP3 audio stream, an MPEG-AAA audio stream, or a DTS audio stream.

(G) 상기한 실시예에서 기술한 영화는 아날로그 방송에 의해 방소송된 아날로그 영상신호를 인코딩함으로써 취득한 것일 수 있다. 또한, 영화는 디지털 방송에 의해 방송된 트랜스포트 스트림으로 구성된 스트림 데이터일 수 있다.(G) The movie described in the above embodiment may be obtained by encoding an analog video signal broadcasted by analog broadcasting. In addition, the movie may be stream data composed of a transport stream broadcast by digital broadcasting.

선택적으로, 비디오테이프에 기록된 아날로그/디지털 영상신호는 콘텐츠를 얻기 위하여 인코드될 수 있다. 또한, 비디오 카메라로 직접 캡처한 아날로그/디지털 영상신호가 콘텐츠를 얻기 위해 인코드될 수 있다. 분배서버를 통하여 분배된 디지털 작품이 적용될 수도 있다.Optionally, the analog / digital video signal recorded on the videotape can be encoded to obtain content. In addition, analog / digital video signals captured directly with a video camera can be encoded to obtain content. Digital works distributed through a distribution server may be applied.

(H) 상기한 실시예에서 설명한 그래픽스 오브젝트는 런-렝스(run-length) 인코드된 라스터 데이터이다. 런-렝스 인코딩은 서브타이틀의 압축과 해제에 적합하기 때문에 그래픽스 오브젝트의 압축과 인코딩에 런-렝스 인코딩이 사용된다. 서브타이틀은 수평방향에서 같은 픽셀 값의 연속 길이가 상대적으로 긴 특성을 갖는다, 따라서, 런-렝스 인코딩을 사용하여 압축을 수행함으로써, 높은 압축률을 얻을 수 있다. 또한, 런-렝스 인코딩은 압축해제에 대한 로드를 줄이고, 따라서 디코딩을 소프트웨어로 구현하는데 적합하다. 그럼에도, 그래픽스 오브젝트에 대해 런-렝스 인코딩의 사용이 본 발명에 필수적이지 않다. 예를 들어, 그래픽스 오브젝트는 PNG 데이터일 수 있다. 또한, 그래픽스 오브젝트는 라스터 데이터 대신 벡터 데이터일 수 있다, 또한, 그래픽스 오브젝트는 투명 패턴일 수 있다.(H) The graphics object described in the above embodiment is run-length encoded raster data. Because run-length encoding is suitable for the compression and decompression of subtitles, run-length encoding is used to compress and encode graphics objects. The subtitle has a characteristic that a continuous length of the same pixel value is relatively long in the horizontal direction, and thus, a high compression ratio can be obtained by performing compression using run-length encoding. Run-length encoding also reduces the load on decompression and is therefore suitable for implementing decoding in software. Nevertheless, the use of run-length encoding for graphics objects is not essential to the invention. For example, the graphics object may be PNG data. Also, the graphics object may be vector data instead of raster data, and the graphics object may be a transparent pattern.

(I) 전송속도 Rc는 그래픽스 플레인의 클리어링과 렌더링이 수직회귀시간 내에 완료되도록 결정될 수 있다. 수직회귀시간이 1/29.93초의 25%이라고 가정하자. 이때 Rc는 1 Gbps인 것으로 결정된다. 이러한 방법으로 Rc를 결정함으로써, 그래픽스는 부드럽게 표시될 수 있으며, 이는 실제 사용에 중요한 영향을 얻는다. (I) The transmission rate Rc may be determined such that the clearing and rendering of the graphics plane is completed within the vertical regression time. Assume that the vertical regression time is 25% of 1 / 29.93 seconds. At this time, Rc is determined to be 1 Gbps. By determining Rc in this way, the graphics can be displayed smoothly, which has a significant impact on actual use.

또한, 라인 스캔과 동기한 기록이 수직회귀시간 내 기록과 함께 사용될 수 있다. 이는 전송속도 Rc가 256Mbps라면 부드러운 프리젠테이션을 보장한다.In addition, recording synchronized with the line scan can be used with recording in the vertical regression time. This ensures a smooth presentation if the transfer rate Rc is 256Mbps.

(J) 상기한 실시예는 재생장치가 그래픽스 플레인을 구비한 경우에 관련한다. 선택적으로, 재생장치는 한 라인의 비압축 픽셀을 저장하기 위한 라인 버퍼를 포함할 수 있다. 영상신호로의 변환이 각 수평 열(라인)에 대해 수행되기 때문에 영상신호로의 변환은 라인 버퍼로 동일하게 수행될 수 있다.(J) The above embodiment relates to the case where the playback apparatus is provided with a graphics plane. Optionally, the playback device may include a line buffer for storing one line of uncompressed pixels. Since the conversion to the video signal is performed for each horizontal column (line), the conversion to the video signal can be performed equally to the line buffer.

(K) 다수의 재생경로의 병합 지점의 경우, 선택되는 재생경로에 따라 디폴트로 다른 버튼이 선택될 필요가 있다. 따라서, 재생경로가 실제 선택되는 시점에 각 재생경로에 고유한 값이 재생장치의 레지스터에 저장되는 정적 시나리오에서 그러한 재생제어를 정의하는 것이 바람직하다. 재생절차는 레지스터 값에 의해 특정되는 버튼이 선택된 상태로 되도록 설정될 수 있다. 이러한 방법으로, 취해진 재생경로에 따라 다른 버튼이 선택된 상태로 된다. (K) In the case of merging points of a plurality of reproduction paths, different buttons need to be selected by default according to the reproduction path selected. Therefore, it is desirable to define such playback control in a static scenario in which a value unique to each playback path is stored in a register of the playback apparatus at the time when the playback path is actually selected. The regeneration procedure can be set so that the button specified by the register value is selected. In this way, different buttons are selected according to the playback path taken.

(L) 제 6 실시예에 설명한 그래픽스 플레인은 바람직하게 이중버퍼 구조를 갖는다. 그래픽스 플레인이 이중버퍼 구조를 가지면, 크기가 큰 그래픽스 데이터가 렌더링될 필요가 있는 경우라도, 각 디스플레이 합성은 두 버퍼 사이를 스위칭함으로써 순간적으로 표시될 수 있다. 따라서, 이중버퍼 구조는 전체-화면 크기의 메뉴가 표시될 필요가 있는 경우 효과적이다.(L) The graphics plane described in the sixth embodiment preferably has a double buffer structure. If the graphics plane has a double buffer structure, even if large graphics data needs to be rendered, each display composition can be instantaneously displayed by switching between two buffers. Therefore, the double buffer structure is effective when a full-screen size menu needs to be displayed.

본 발명에 따른 재생장치는 개인 용도, 예를 들어, 홈 씨어터 시스템에 적합한다. 본 발병의 상기의 실시예는 내부 구조를 개시하기 때문에, 내부 구조를 갖는 재생장치가 대량으로 생산될 수 있다. 따라서, 본 발명에 따른 재생장치는 품질에서 산업적으로 사용할 수 있고 산업상 유용성을 갖는다.The playback device according to the invention is suitable for personal use, for example a home theater system. Since the above embodiment of the present invention discloses an internal structure, a reproducing apparatus having an internal structure can be produced in large quantities. Thus, the reproducing apparatus according to the present invention can be used industrially in quality and has industrial utility.

도 1은 본 발명에 따른 기록매체의 사용패턴을 나타내는 도면이다.1 is a view showing a usage pattern of a recording medium according to the present invention.

도 2는 BD-ROM의 예시 구조를 나타내는 도면이다.2 is a diagram illustrating an exemplary structure of a BD-ROM.

도 3은 AV 클립의 구조를 도식적으로 나타내는 도면이다.3 is a diagram schematically showing the structure of an AV clip.

도 4a는 인터랙티브 그래픽스 스트림의 구조를 나타내는 도면이다.4A is a diagram illustrating the structure of an interactive graphics stream.

도 4b는 기능 세그먼트를 운반하는 PES 패킷을 나타내는 도면이다.4B is a diagram illustrating a PES packet carrying a functional segment.

도 5는 여러 종류의 기능 세그먼트가 정의하는 논리 구조를 나타내는 도면이다. 5 is a diagram illustrating a logic structure defined by various types of functional segments.

도 6은 DSn이 할당된 AV 클립 재생 시간 축을 나타내는 도면이다. 6 is a diagram illustrating an AV clip playback time axis to which DS n is assigned.

도 7a와 7b는 interactive_composition 구조체와 ICS 간의 관계를 나타내는 도면이다.7A and 7B are diagrams illustrating a relationship between an interactive_composition structure and an ICS.

도 8은 ICS의 내부 구조를 나타내는 도면이다.8 is a view showing the internal structure of the ICS.

도 9는 stream_model이 "Multiplexed" 타입을 나타내는 경우 ICS에 대해 수행되는 처리를 나타내는 도면이다.9 is a diagram illustrating a process performed for ICS when stream_model represents a "Multiplexed" type.

도 10은 stream_model이 "Preload" 타입을 나타내는 경우 ICS에 대해 수행되는 처리를 나타내는 도면이다.10 is a diagram illustrating a process performed for ICS when stream_model represents a "Preload" type.

도 11은 DSn이 Epoch Start DS(n = 1)인 경우 DSn에 속하는 ICS의 selection_time_out_pts와 composition_time_out_pts 필드의 기능을 설명하는 타이밍 차트이다.FIG. 11 is a timing chart illustrating functions of selection_time_out_pts and composition_time_out_pts fields of ICS belonging to DS n when DS n is Epoch Start DS (n = 1).

도 12a는 Pop-Up U/I가 사용될 때 멀티-페이지 메뉴의 상태 변화를 나타내는 도면이다.12A is a diagram illustrating a state change of a multi-page menu when Pop-Up U / I is used.

도 12b는 Always-On U/I가 사용될 때 멀티-페이지 메뉴의 상태 변화를 나타내는 도면이다.12B illustrates a state change of a multi-page menu when Always-On U / I is used.

도 13은 멀티-페이지 메뉴를 통합하는 디스플레이 시나리오이다.13 is a display scenario incorporating a multi-page menu.

도 14a-14c는 selection_time_out_pts이 정의하는 디스플레이 예를 나타낸다.14A-14C illustrate display examples defined by selection_time_out_pts.

도 15a-15d는 user_time_out_duration이 정의하는 디스플레이 예를 나타낸다.15A-15D illustrate display examples defined by user_time_out_duration.

도 16은 멀티-페이지 메뉴의 여러 페이지 중 임의의 것(x 번째 페이지)과 관련한 페이지정보의 내부 구조를 나타내는 도면이다.FIG. 16 is a diagram showing the internal structure of page information relating to any of the multiple pages of the multi-page menu (the x-th page).

도 17은 버튼 O-A. O-B, O-C, 및 O-D의 상태 변화를 나타내는 도면이다.17 shows button O-A. It is a figure which shows the state change of O-B, O-C, and O-D.

도 18은 도 17에 나타낸 버튼 상태 변화를 정의하는 button_info 서술의 일 예를 나타내는 도면이다.FIG. 18 is a diagram illustrating an example of the button_info description for defining the button state change illustrated in FIG. 17.

도 19는 ODS 11-19에서 끌어낸 그래픽 영상을 나타내는 도면이다.19 is a diagram illustrating a graphic image drawn from ODS 11-19.

도 20은 effect_sequence 구조체를 나타내는 도면이다.20 is a diagram illustrating an effect_sequence structure.

도 21a는 effect_duration이 결정되는 방법을 도식적으로 설명하는 도면이다.21A is a diagram schematically illustrating how the effect_duration is determined.

도 21b는 effect_duration을 계산하기 위한 식을 나타낸다.21B shows an equation for calculating the effect_duration.

도 22는 in-effect 애니메이션의 특정 예를 나타내는 도면이다.22 is a diagram illustrating a specific example of an in-effect animation.

도 23은 window_width, window_height, 및 effect_duration 필드 값에 따라 표시된 out_effect를 나타내는 도면이다.FIG. 23 is a diagram illustrating out_effect displayed according to window_width, window_height, and effect_duration field values.

도 24는 임의의 composition_object(i)의 내부 구조를 상세하게 나타낸 도면이다.Fig. 24 is a detailed diagram showing the internal structure of an arbitrary composition_object (i).

도 25는 Right-Scroll 애니메이션 효과를 표시한 in-effect의 특정 예를 나타내는 도면이다.25 is a diagram illustrating a specific example of an in-effect displaying a Right-Scroll animation effect.

도 26은 도 25에 도시한 in-effect를 구현하는 composition_object(0) 구조체의 일 예를 나타내는 도면이다.FIG. 26 is a diagram illustrating an example of a composition_object (0) structure implementing the in-effect shown in FIG. 25.

도 27은 도 25에 도시한 in-effect를 구현하는 composition_object(1) 구조체의 일 예를 나타내는 도면이다.FIG. 27 is a diagram illustrating an example of a composition_object (1) structure implementing the in-effect shown in FIG. 25.

도 28은 도 25에 도시한 in-effect를 구현하는 composition_object(2) 구조체의 일 예를 나타내는 도면이다.FIG. 28 is a diagram illustrating an example of a composition_object (2) structure implementing the in-effect shown in FIG. 25.

도 29는 도 25에 도시한 in-effect를 구현하는 composition_object(3) 구조체의 일 예를 나타내는 도면이다.FIG. 29 is a diagram illustrating an example of a composition_object (3) structure implementing the in-effect shown in FIG. 25.

도 30은 DSn 내의 ODS의 순서를 나타내는 도면이다.30 is a diagram illustrating the order of ODS in DS n .

도 31은 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우와 버튼 B를 특정하는 유효 값으로 설정되는 경우 사이에서 S-ODS 내의 ODS의 순서가 어떻게 다른지를 나타내는 도면이다.FIG. 31 is a diagram showing how the order of ODSs in the S-ODS is different between the case where the default_selected_button_id_ref field is set to "00" and the case where it is set to a valid value specifying button B. FIG.

도 32a는 디폴트 선택된 버튼이 정적으로 결정되는 경우에 LASTODSPTS를 나 타내는 도면이다.32A shows LASTODSPTS when the default selected button is statically determined.

도 32b는 디폴트 선택된 버튼이 동적으로 결정되는 경우에 LASTODSPTS를 나타내는 도면이다.32B illustrates LASTODSPTS when the default selected button is dynamically determined.

도 33a는 DS가 선택된 상태에 관련한 ODS를 포함하지 않는 경우에 LASTODSPTS를 나타내는 도면이다.33A illustrates LASTODSPTS when the DS does not include an ODS related to the selected state.

도 33b는 DS가 정상상태에 관련한 ODS를 포함하지 않는 경우에 LASTODSPTS를 나타내는 도면이다.33B illustrates LASTODSPTS when the DS does not include an ODS related to a steady state.

도 33c는 DS가 ODS를 전혀 포함하지 않는 경우에 LASTODSPTS를 나타내는 도면이다.33C shows LASTODSPTS when the DS does not contain ODS at all.

도 34a는 LASTODSPTS(DSn- DTS(DSn[ICS])이 산출한 값과 PLANECLEARTIME의 값으로부터 DECODEDURATION 값을 취득하기 위한 알고리즘을 나타내는 도면이다.34A is a diagram illustrating an algorithm for obtaining a DECODEDURATION value from a value calculated by LASTODSPTS (DS n -DTS (DS n [ICS])) and a PLANECLEARTIME value.

도 34b와 34c는 DECODEDURATION 값을 산출하는 방법의 일 예를 나타내는 도면이다.34B and 34C are diagrams illustrating an example of a method of calculating a DECODEDURATION value.

도 35a는 EFFECTTD를 산출하기 위한 식을 나타내는 도면이다.35A is a diagram illustrating an equation for calculating EFFECTTD.

도 35b는 in-effect가 제공되지 않고 디폴트 선택된 버튼이 정적으로 결정되는 경우에 PAGEDEFAULTTD를 산출하기 위한 식을 나타내는 도면이다.35B is a diagram illustrating an equation for calculating PAGEDEFAULTTD when no in-effect is provided and the default selected button is statically determined.

도 35c는 in-effect가 제공되지 않고 디폴트 선택된 버튼이 동적으로 결정되는 경우에 PAGENODEFAULTTD를 산출하기 위한 식을 나타내는 도면이다.35C is a diagram illustrating an equation for calculating PAGENODEFAULTTD when no in-effect is provided and a default selected button is dynamically determined.

도 36은 TRANSFERDURATION으로서 EFFECTTD, PAGEDEFAULTTD, 및 PAGENODEFAULTTD 중 하나를 선택적으로 결정하기 위한 알고리즘을 나타내는 도면이다.36 illustrates an algorithm for selectively determining one of EFFECTTD, PAGEDEFAULTTD, and PAGENODEFAULTTD as TRANSFERDURATION.

도 37은 본 발명에 따른 재생장치의 내부 구조를 나타내는 도면이다.37 shows the internal structure of the playback apparatus according to the present invention.

도 38a는 PSR 11에 의해 수행되는, "재생조건이 변경될 때의 절차"의 플로차트이다.38A is a flowchart of "procedure when the reproduction condition is changed" performed by PSR11.

도 38b는 PSR 11에 의해 수행되는, "변경이 요청될 때의 절차"의 플로차트이다.38B is a flowchart of “procedure when a change is requested” performed by PSR 11.

도 39a는 PSR 10에 의해 수행되는, "재생조건이 변경될 때의 절차"의 플로차트이다.39A is a flowchart of "procedure when the reproduction condition is changed" performed by PSR10.

도 39b는 PSR 10에 의해 수행되는, "변경이 요청될 때의 절차"의 플로차트이다.39B is a flowchart of “procedure when a change is requested” performed by PSR 10.

도 40은 I-그래픽스 디코더(9)의 내부 구조를 나타내는 도면이다.40 is a diagram showing the internal structure of the I-graphics decoder 9.

도 41은 그래픽스 컨트롤러(37)가 수행하는 절차의 메인 루틴의 플로차트이다.41 is a flowchart of the main routine of the procedure that the graphics controller 37 performs.

도 42는 첫 번째 표시를 위한 절차의 플로차트이다.42 is a flowchart of the procedure for the first indication.

도 43은 in-effect 애니메이션의 재생을 위한 절차의 플로차트이다.43 is a flowchart of a procedure for reproduction of an in-effect animation.

도 44는 애니메이션에서 표시 버튼을 위한 디스플레이 갱신 절차의 플로차트이다.44 is a flowchart of a display update procedure for a display button in an animation.

도 45는 네비게이션 명령을 실행하기 위한 절차의 플로차트이다.45 is a flowchart of a procedure for executing a navigation command.

도 46은 UO를 처리하기 위한 절차를 나타낸다.46 shows a procedure for processing a UO.

도 47은 현재 버튼 변경 절차의 플로차트이다.47 is a flowchart of the current button change procedure.

도 48은 버튼의 자동-활성화를 위한 절차의 플로차트이다.48 is a flowchart of a procedure for auto-activation of a button.

도 49는 제 1 내지 제 5 실시예에 따른 BD-ROM의 제작 프로세스의 플로차트이다.Fig. 49 is a flowchart of the production process of the BD-ROM according to the first to fifth embodiments.

Claims (11)

비디오 스트림 및 그래픽스 스트림이 기록되어 있는 기록매체로,A recording medium that records video streams and graphics streams. 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하고,The graphics stream includes one or more conversation control segments and an object definition segment defining graphics objects, 대화제어 세그먼트는 복수의 페이지정보와 시간정보 및 스트림 모델정보를 포함하며,The conversation control segment includes a plurality of page information, time information, and stream model information. 복수의 페이지정보는 멀티페이지 메뉴의 화면 구성을 규정하는 정보이고, 각 페이지정보는 하나 이상의 버튼정보를 포함하며, 각 버튼정보는 그래픽스 오브젝트를 버튼 부재의 한 상태로 표시시킴으로써 멀티페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이고,The plurality of page information is information defining a screen configuration of the multipage menu, each page information includes one or more button information, and each button information constitutes a multipage menu by displaying a graphics object in a state of a button member. Information that realizes interactive screen composition on each page, 상기 시간정보는 타임아웃정보를 포함하고,The time information includes timeout information, 상기 타임아웃정보는 멀티페이지 메뉴의 각 페이지 내에 존재하는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 소정 시간 경과 후에 활성화(activate) 시키는 시각을 나타내며,The timeout information indicates a time of activating a button member which is in a selected state among the button members existing in each page of the multipage menu after a predetermined time elapses. 상기 시간정보는 컴포지션 타임아웃정보를 더 포함하고,The time information further includes composition timeout information, 상기 컴포지션 타임아웃정보는 대화제어를 종료시키는 시각을 나타내며,The composition timeout information indicates a time at which conversation control ends. 상기 스트림 모델정보는,The stream model information, 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되는가,Is the graphics stream multiplexed with the video stream and recorded on the record carrier, 그래픽스 스트림이 비디오 스트림과 다중화되지 않고 기록매체에 기록되는가를 나타내고,Indicates that the graphics stream is recorded on the recording medium without being multiplexed with the video stream, 상기 타임아웃정보 및 상기 컴포지션 타임아웃정보는 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되어 있는 경우에만 유효해지는 것을 특징으로 하는 기록매체.Wherein the timeout information and the composition timeout information are valid only when a graphics stream is multiplexed with a video stream and recorded on a recording medium. 삭제delete 삭제delete 삭제delete 비디오 스트림 및 그래픽스 스트림을 재생하는 재생장치로,A playback device that plays video and graphics streams. 비디오 스트림을 디코드하여 동화상을 얻는 비디오 디코더와,A video decoder for decoding a video stream to obtain a moving picture; 그래픽스 스트림을 디코드하여 그래픽스 오브젝트를 얻는 그래픽스 디코더를 포함하고,A graphics decoder for decoding a graphics stream to obtain a graphics object, 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하고,The graphics stream includes one or more conversation control segments and an object definition segment defining graphics objects, 대화제어 세그먼트는 복수의 페이지정보와 시간정보 및 스트림 모델정보를 포함하며,The conversation control segment includes a plurality of page information, time information, and stream model information. 복수의 페이지정보는 멀티페이지 메뉴의 화면 구성을 규정하는 정보이고, 각 페이지정보는 하나 이상의 버튼정보를 포함하며, 각 버튼정보는 그래픽스 오브젝트를 버튼 부재의 한 상태로 표시시킴으로써 멀티페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이고,The plurality of page information is information defining a screen configuration of the multipage menu, each page information includes one or more button information, and each button information constitutes a multipage menu by displaying a graphics object in a state of a button member. Information that realizes interactive screen composition on each page, 상기 시간정보는 타임아웃정보를 포함하고,The time information includes timeout information, 상기 타임아웃정보는 표시되고 있는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 소정 시간 경과 후에 활성화시키는 시각을 나타내며,The timeout information indicates a time for activating a button member which is in a selected state among the displayed button members after a predetermined time elapses, 상기 시간정보는 컴포지션 타임아웃정보를 더 포함하고,The time information further includes composition timeout information, 상기 컴포지션 타임아웃정보는 대화제어를 종료시키는 시각을 나타내며,The composition timeout information indicates a time at which conversation control ends. 상기 스트림 모델정보는,The stream model information, 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되는가,Is the graphics stream multiplexed with the video stream and recorded on the record carrier, 그래픽스 스트림이 비디오 스트림과 다중화되지 않고 기록매체에 기록되는가를 나타내고,Indicates that the graphics stream is recorded on the recording medium without being multiplexed with the video stream, 상기 타임아웃정보는 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되어 있는 경우에만 유효해지며,The timeout information is valid only when the graphics stream is multiplexed with the video stream and recorded on the recording medium. 상기 그래픽스 디코더는 타임아웃의 제어를 상기 타임아웃정보와 상기 컴포지션 타임아웃정보 및 상기 스트림 모델정보에 의거하여 실행하는 것이고, 상기 스트림 모델정보가 그래픽스 스트림이 비디오 스트림과 다중화되어 기록매체에 기록되어 있는 경우에, 표시되고 있는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 상기 타임아웃정보에서 나타내는 시각에 의거하여 활성화시키고, 상기 컴포지션 타임아웃정보에서 나타내는 시각에 의거하여 대화제어를 종료시키는 것을 특징으로 하는 재생장치.The graphics decoder controls timeout based on the timeout information, the composition timeout information, and the stream model information, wherein the stream model information is recorded on a recording medium in which a graphics stream is multiplexed with a video stream. In this case, the button member being selected from among the displayed button members is activated based on the time indicated by the timeout information, and the conversation control is terminated based on the time indicated by the composition timeout information. Regeneration device. 삭제delete 삭제delete 삭제delete 비디오 스트림 및 그래픽스 스트림이 기록되는 기록방법으로,A recording method in which a video stream and a graphics stream are recorded. 비디오 스트림 및 그래픽스 스트림을 포함하는 애플리케이션 데이터를 작성하는 작성스텝과,A creation step of creating application data including a video stream and a graphics stream; 작성한 데이터를 기록매체에 기록하는 기록스텝을 가지며,A recording step of recording the created data on a recording medium; 상기 작성스텝은,The creation step is 동화상의 소재를 인코드하여 상기 비디오 스트림을 얻는 제 1 서브스텝과,A first substep of encoding a material of a moving picture to obtain the video stream; 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 작성하여 상기 그래픽스 스트림을 얻는 제 2 서브스텝을 포함하고,A second substep of creating at least one conversation control segment and an object definition segment defining a graphics object to obtain said graphics stream, 대화제어 세그먼트는 복수의 페이지정보와 시간정보 및 스트림 모델정보를 기술하며,The conversation control segment describes a plurality of page information, time information, and stream model information. 복수의 페이지정보는 멀티페이지 메뉴의 화면 구성을 규정하는 정보이며, 각 페이지정보는 하나 이상의 버튼 정보를 포함하고, 각 버튼 정보는 그래픽스 오브젝트를 버튼 부재의 한 상태로 표시시킴으로써 멀티페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이며,The plurality of page information is information for defining the screen configuration of the multipage menu, each page information includes one or more button information, and each button information constitutes a multipage menu by displaying a graphics object in a state of a button member. Information that realizes interactive screen composition on each page. 상기 제 2 서브스텝은 비디오 스트림의 재생시간 축 중 멀티페이지 메뉴의 표시상태를 천이시킬 시점을 시간정보에 정의해 두는 수순을 포함하고,The second substep includes a procedure of defining, in time information, a time point at which the display state of the multipage menu is to be transitioned among the playback time axes of the video stream, 상기 제 2 서브스텝에서는 대화제어 세그먼트에 복수의 페이지정보와 시간정보 및 스트림 모델정보를 기술하며,In the second substep, a plurality of page information, time information, and stream model information are described in a conversation control segment. 상기 제 2 서브스텝에 의해 정의되는 상기 시간정보는 타임아웃정보를 포함하고,The time information defined by the second substep includes timeout information, 상기 타임아웃정보는 멀티페이지 메뉴의 각 페이지 내에 존재하는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 소정 시간 경과 후에 활성화시키는 시각을 나타내며,The timeout information indicates a time for activating a button member which is in a selected state among the button members existing in each page of the multipage menu after a predetermined time elapses. 상기 시간정보는 컴포지션 타임아웃정보를 더 포함하고,The time information further includes composition timeout information, 상기 컴포지션 타임아웃정보는 대화제어를 종료시키는 시각을 나타내며,The composition timeout information indicates a time at which conversation control ends. 상기 스트림 모델정보는,The stream model information, 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되는가,Is the graphics stream multiplexed with the video stream and recorded on the record carrier, 그래픽스 스트림이 비디오 스트림과 다중화되지 않고 기록매체에 기록되는가를 나타내고,Indicates that the graphics stream is recorded on the recording medium without being multiplexed with the video stream, 상기 타임아웃정보 및 상기 컴포지션 타임아웃정보는 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되어 있는 경우에만 유효해지는 것을 특징으로 하는 기록방법.And the timeout information and the composition timeout information are valid only when a graphics stream is multiplexed with a video stream and recorded on a recording medium. 비디오 스트림 및 그래픽스 스트림의 재생을 컴퓨터에 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체로,A computer-readable recording medium recording a program for causing a computer to play a video stream and a graphics stream. 비디오 스트림을 디코드하여 동화상을 얻는 스텝과,Decoding a video stream to obtain a moving picture; 그래픽스 스트림을 디코드하여 그래픽스 오브젝트를 얻는 스텝을 포함하고,Decoding the graphics stream to obtain a graphics object, 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하며,The graphics stream contains one or more conversation control segments and an object definition segment that defines the graphics objects. 상기 각 대화제어 세그먼트는 복수의 페이지정보와 시간정보 및 스트림 모델정보를 포함하고,Each conversation control segment includes a plurality of page information, time information, and stream model information. 복수의 페이지정보는 멀티페이지 메뉴의 화면 구성을 규정하는 정보이고, 각 페이지정보는 하나 이상의 버튼정보를 포함하며, 각 버튼정보는 그래픽스 오브젝트를 버튼 부재의 한 상태로 표시시킴으로써 멀티페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이고,The plurality of page information is information defining a screen configuration of the multipage menu, each page information includes one or more button information, and each button information constitutes a multipage menu by displaying a graphics object in a state of a button member. Information that realizes interactive screen composition on each page, 상기 시간정보는 타임아웃정보를 포함하고,The time information includes timeout information, 상기 타임아웃정보는 표시되고 있는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 소정 시간 경과 후에 활성화시키는 시각을 나타내며,The timeout information indicates a time for activating a button member which is in a selected state among the displayed button members after a predetermined time elapses, 상기 시간정보는 컴포지션 타임아웃정보를 더 포함하고,The time information further includes composition timeout information, 상기 컴포지션 타임아웃정보는 대화제어를 종료시키는 시각을 나타내며,The composition timeout information indicates a time at which conversation control ends. 상기 스트림 모델정보는,The stream model information, 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되는가,Is the graphics stream multiplexed with the video stream and recorded on the record carrier, 그래픽스 스트림이 비디오 스트림과 다중화되지 않고 기록매체에 기록되는가를 나타내고,Indicates that the graphics stream is recorded on the recording medium without being multiplexed with the video stream, 상기 타임아웃정보는 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되어 있는 경우에만 유효해지며,The timeout information is valid only when the graphics stream is multiplexed with the video stream and recorded on the recording medium. 상기 그래픽스 스트림을 디코드하는 스텝은 타임아웃의 제어를 상기 타임아웃정보와 상기 컴포지션 타임아웃정보 및 상기 스트림 모델정보에 의거하여 실행하는 것이고, 상기 스트림 모델정보가 그래픽스 스트림이 비디오 스트림과 다중화되어 기록매체에 기록되어 있는 경우에, 표시되고 있는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 상기 타임아웃정보에서 나타내는 시각에 의거하여 활성화시키고, 상기 컴포지션 타임아웃정보에서 나타내는 시각에 의거하여 대화제어를 종료시키는 것을 특징으로 하는 컴퓨터 판독 가능한 기록매체.The step of decoding the graphics stream is to control a timeout based on the timeout information, the composition timeout information, and the stream model information, wherein the stream model information is multiplexed with the video stream and the recording medium. Is recorded on the basis of the time indicated by the timeout information, and the dialog control is performed based on the time indicated by the composition timeout information. And terminating the computer readable recording medium. 비디오 스트림 및 그래픽스 스트림을 재생하는 재생방법으로,A playback method for playing video streams and graphics streams. 비디오 스트림을 디코드하여 동화상을 얻는 스텝과,Decoding a video stream to obtain a moving picture; 그래픽스 스트림을 디코드하여 그래픽스 오브젝트를 얻는 스텝을 포함하고,Decoding the graphics stream to obtain a graphics object, 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하며,The graphics stream contains one or more conversation control segments and an object definition segment that defines the graphics objects. 대화제어 세그먼트는 복수의 페이지정보와 시간정보 및 스트림 모델정보를 포함하고,The conversation control segment includes a plurality of page information, time information and stream model information. 복수의 페이지정보는 멀티페이지 메뉴의 화면 구성을 규정하는 정보이며, 각 페이지정보는 하나 이상의 버튼정보를 포함하고, 각 버튼정보는 그래픽스 오브젝트를 버튼 부재의 한 상태로 표시시킴으로써 멀티페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이고,The plurality of page information is information for defining the screen configuration of the multipage menu, each page information includes one or more button information, and each button information constitutes a multipage menu by displaying a graphics object in a state of a button member. Information that realizes interactive screen composition on each page, 상기 시간정보는 타임아웃정보를 포함하고,The time information includes timeout information, 상기 타임아웃정보는 표시되고 있는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 소정 시간 경과 후에 활성화시키는 시각을 나타내며,The timeout information indicates a time for activating a button member which is in a selected state among the displayed button members after a predetermined time elapses, 상기 시간정보는 컴포지션 타임아웃정보를 더 포함하고,The time information further includes composition timeout information, 상기 컴포지션 타임아웃정보는 대화제어를 종료시키는 시각을 나타내며,The composition timeout information indicates a time at which conversation control ends. 상기 스트림 모델정보는,The stream model information, 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되는가,Is the graphics stream multiplexed with the video stream and recorded on the record carrier, 그래픽스 스트림이 비디오 스트림과 다중화되지 않고 기록매체에 기록되는가를 나타내고,Indicates that the graphics stream is recorded on the recording medium without being multiplexed with the video stream, 상기 타임아웃정보는 그래픽스 스트림이 비디오 스트림과 다중화되어서 기록매체에 기록되어 있는 경우에만 유효해지며,The timeout information is valid only when the graphics stream is multiplexed with the video stream and recorded on the recording medium. 상기 그래픽스 스트림은 디코드하는 스텝은 타임아웃의 제어를 상기 타임아웃정보와 상기 컴포지션 타임아웃정보 및 상기 스트림 모델정보에 의거하여 실행하는 것이고, 상기 스트림 모델정보가 그래픽스 스트림이 비디오 스트림과 다중화되어 기록매체에 기록되어 있는 경우에, 표시되고 있는 버튼 부재 중 선택되어 있는 상태로 되어 있는 버튼 부재를 상기 타임아웃정보에서 나타내는 시각에 의거하여 활성화시키고, 상기 컴포지션 타임아웃정보에서 나타내는 시각에 의거하여 대화제어를 종료시키는 것을 특징으로 하는 재생방법.The step of decoding the graphics stream is to control the timeout based on the timeout information, the composition timeout information, and the stream model information. Is recorded on the basis of the time indicated by the timeout information, and the dialog control is performed based on the time indicated by the composition timeout information. The playback method characterized in that the termination.
KR1020097022115A 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable medium KR101102679B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US51931703P 2003-11-12 2003-11-12
US60/519,317 2003-11-12
PCT/JP2004/017215 WO2005048261A1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067011262A Division KR101129121B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, and recording method

Publications (2)

Publication Number Publication Date
KR20090121408A KR20090121408A (en) 2009-11-25
KR101102679B1 true KR101102679B1 (en) 2012-01-05

Family

ID=34590392

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020067011262A KR101129121B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, and recording method
KR1020097022101A KR101076130B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable medium
KR1020097022105A KR101102639B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable medium
KR1020097022115A KR101102679B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable medium

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020067011262A KR101129121B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, and recording method
KR1020097022101A KR101076130B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable medium
KR1020097022105A KR101102639B1 (en) 2003-11-12 2004-11-12 Recording medium, playback apparatus and method, recording method, and computer-readable medium

Country Status (7)

Country Link
US (4) US7634739B2 (en)
EP (1) EP1683155A1 (en)
JP (4) JP4170362B2 (en)
KR (4) KR101129121B1 (en)
CN (4) CN101661767B (en)
TW (1) TWI382404B (en)
WO (1) WO2005048261A1 (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100871528B1 (en) * 2003-06-30 2008-12-05 파나소닉 주식회사 Recording medium, reproduction device, recording method, and reproduction method
KR20050066264A (en) * 2003-12-26 2005-06-30 엘지전자 주식회사 Method for managing and reproducing a menu information of high density optical disc
KR20050066265A (en) * 2003-12-26 2005-06-30 엘지전자 주식회사 Method for managing and reproducing a menu information of high density optical disc
KR100782808B1 (en) * 2004-01-13 2007-12-06 삼성전자주식회사 Storage medium recording interactive graphic stream and reproducing apparatus thereof
CN100591115C (en) 2004-01-13 2010-02-17 松下电器产业株式会社 Recording medium and recording method
US8190003B2 (en) * 2004-01-14 2012-05-29 Samsung Electronics Co., Ltd. Storage medium storing interactive graphics stream activated in response to user's command, and reproducing apparatus for reproducing from the same
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
CN1922870B (en) * 2004-02-17 2010-05-05 松下电器产业株式会社 Recording medium and reproduction method
US7852351B2 (en) * 2004-05-21 2010-12-14 Lsi Corporation Multiplexed button data system
KR100677129B1 (en) 2004-09-03 2007-02-02 삼성전자주식회사 Storage medium recording interactive graphic stream and reproducing apparatus and method thereof
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US7500175B2 (en) * 2005-07-01 2009-03-03 Microsoft Corporation Aspects of media content rendering
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
JP2007048348A (en) * 2005-08-08 2007-02-22 Toshiba Corp Information storage medium, information reproducing apparatus, information reproducing method, and information reproducing program
US20080238938A1 (en) 2005-08-29 2008-10-02 Eklund Don Effects for interactive graphic data in disc authoring
US8650541B2 (en) * 2006-08-04 2014-02-11 Apple Inc. Graphical motion composition files and methods for formatting and organization thereof
JP4858059B2 (en) * 2006-10-02 2012-01-18 ソニー株式会社 Playback device, display control method, and display control program
US8050533B2 (en) 2008-09-30 2011-11-01 Panasonic Corporation Recording medium on which 3D video is recorded, playback apparatus for playing back 3D video, and system LSI
US20100107090A1 (en) * 2008-10-27 2010-04-29 Camille Hearst Remote linking to media asset groups
US20110060993A1 (en) * 2009-09-08 2011-03-10 Classified Ventures, Llc Interactive Detailed Video Navigation System
US8605324B2 (en) * 2010-03-05 2013-12-10 Kabushiki Kaisha Toshiba Image processing system, image processing method, and computer readable recording medium storing program thereof
US8621351B2 (en) * 2010-08-31 2013-12-31 Blackberry Limited Methods and electronic devices for selecting and displaying thumbnails
KR101313592B1 (en) * 2012-04-13 2013-10-01 애니포인트 미디어 그룹 Computing device and method for streaming
US9423925B1 (en) * 2012-07-11 2016-08-23 Google Inc. Adaptive content control and display for internet media
KR20140031758A (en) * 2012-09-05 2014-03-13 삼성전자주식회사 Information storage medium recorded interactive graphic data for controlling menu of av data by using pointing device, and reproducing method and apparatus thereof
CN103870130B (en) * 2012-12-14 2017-03-22 北京新媒传信科技有限公司 Method and system for presenting interface in terminal
WO2016038811A1 (en) * 2014-09-12 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Recording medium, playback device, and playback method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0886276A2 (en) * 1997-06-20 1998-12-23 Pioneer Electronic Corporation Information record medium, and information reproducing apparatus and method

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2116713A (en) * 1982-03-09 1983-09-28 Tecalemit Electronics Ltd Vibration monitoring apparatus
JP3178531B2 (en) 1988-11-15 2001-06-18 株式会社日立製作所 Menu presentation method and data processing device
US5680151A (en) * 1990-06-12 1997-10-21 Radius Inc. Method and apparatus for transmitting video, data over a computer bus using block transfers
US5287182A (en) * 1992-07-02 1994-02-15 At&T Bell Laboratories Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks
US5600573A (en) * 1992-12-09 1997-02-04 Discovery Communications, Inc. Operations center with video storage for a television program packaging and delivery system
US5648813A (en) * 1993-10-20 1997-07-15 Matsushita Electric Industrial Co. Ltd. Graphical-interactive-screen display apparatus and peripheral units
US5664133A (en) * 1993-12-13 1997-09-02 Microsoft Corporation Context sensitive menu system/menu behavior
US6217234B1 (en) * 1994-07-29 2001-04-17 Discovision Associates Apparatus and method for processing data with an arithmetic unit
JP3172643B2 (en) * 1994-11-14 2001-06-04 シャープ株式会社 Digital recording and playback device
AU698969B2 (en) * 1995-04-14 1998-11-12 Kabushiki Kaisha Toshiba Recording medium, device and method for recording data on the medium, and device and method for reproducing data from the medium
JPH0916665A (en) * 1995-07-04 1997-01-17 Funai Denki Kenkyusho:Kk Video cd ordering system
JPH09102940A (en) 1995-08-02 1997-04-15 Sony Corp Encoding method, encoder, decoder, recording medium and transmitting method for moving image signal
CN100351911C (en) * 1995-08-21 2007-11-28 松下电器产业株式会社 Multimedia optical disk reproducing device for realizing unexpected scene unfold according to interactive control
JPH09128408A (en) * 1995-08-25 1997-05-16 Hitachi Ltd Media for interactive recording and reproducing and reproducing device
DE19545882B4 (en) * 1995-12-08 2004-04-08 Yes International Ag System for displaying visual information
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
JP3345412B2 (en) * 1996-03-29 2002-11-18 松下電器産業株式会社 Recording method, reproducing apparatus, and reproducing method for recording medium with improved performance of interactive reproduction progress
DE69709004T2 (en) * 1996-03-29 2002-05-02 Matsushita Electric Ind Co Ltd OPTICAL MULTIMEDIA DISC WITH IMPROVED INTERACTIVE PLAYBACK AND RECORDING METHOD AND DEVICE
US5918012A (en) * 1996-03-29 1999-06-29 British Telecommunications Public Limited Company Hyperlinking time-based data files
EP0814419A2 (en) 1996-06-19 1997-12-29 Knowledge Information Research Institute Method of and device for executing a software and medium for distribution
JPH10105452A (en) * 1996-06-19 1998-04-24 Chishiki Joho Kenkyusho:Kk Method and device for executing software and software flow medium
US5929850A (en) * 1996-07-01 1999-07-27 Thomson Consumer Electronices, Inc. Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
JPH10145722A (en) * 1996-11-07 1998-05-29 Sony Corp Reproducing control data generation device and method therefor
US6243086B1 (en) * 1997-05-29 2001-06-05 Matsushita Electric Industrial Co., Ltd. Reproduction apparatus
JP4416846B2 (en) * 1997-08-22 2010-02-17 ソニー株式会社 Computer-readable recording medium recording menu control data, and menu control method and apparatus
US5949752A (en) 1997-10-30 1999-09-07 Wea Manufacturing Inc. Recording media and methods for display of graphic data, text, and images
JP3376265B2 (en) * 1997-12-25 2003-02-10 株式会社東芝 Object sharing system for multiple contents
US6121968A (en) * 1998-06-17 2000-09-19 Microsoft Corporation Adaptive menus
AU4944699A (en) * 1998-06-29 2000-01-17 Limt Technology Ab Method and apparatus for splicing data streams
US20030001880A1 (en) * 2001-04-18 2003-01-02 Parkervision, Inc. Method, system, and computer program product for producing and distributing enhanced media
US7100193B2 (en) 2000-03-29 2006-08-29 Intellocity Usa, Inc. Rate controlled insertion of asynchronous data into a synchronous stream
KR20010086133A (en) 1999-10-21 2001-09-07 요트.게.아. 롤페즈 Playback apparatus and method for playback of a record carrier
US6580442B1 (en) * 1999-12-01 2003-06-17 Ericsson Inc. Touch-based information processing device and method
US6661438B1 (en) * 2000-01-18 2003-12-09 Seiko Epson Corporation Display apparatus and portable information processing apparatus
US7099567B2 (en) * 2000-04-21 2006-08-29 Matsushita Electric Industrial Co., Ltd. Video processing method and video processing apparatus
JP4734690B2 (en) * 2000-04-28 2011-07-27 ソニー株式会社 Signal transmission method and signal transmission device
FR2812237B1 (en) * 2000-07-26 2002-12-27 Secap DEVICE AND METHOD FOR CENTRALIZED PRINTING AND MAILING OF MAIL
JPWO2002028100A1 (en) * 2000-09-29 2004-02-12 株式会社東芝 Recording / reproducing apparatus and recording reservation method of the recording / reproducing apparatus
JP2002135676A (en) * 2000-10-27 2002-05-10 Canon Inc Tv signal receiver, its processing method and recording medium
WO2002079902A2 (en) 2000-12-01 2002-10-10 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
US20020010715A1 (en) * 2001-07-26 2002-01-24 Garry Chinn System and method for browsing using a limited display device
US6959116B2 (en) * 2001-09-18 2005-10-25 Emc Corporation Largest magnitude indices selection for (run, level) encoding of a block coded picture
US9497452B2 (en) * 2002-01-22 2016-11-15 Broadcom Corporation System and method of transmission and reception of video using compressed differential time stamps
US20040047588A1 (en) * 2002-03-27 2004-03-11 Tomoyuki Okada Package medium, reproduction apparatus, and reproduction method
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US7360160B2 (en) 2002-06-20 2008-04-15 At&T Intellectual Property, Inc. System and method for providing substitute content in place of blocked content
US9445133B2 (en) * 2002-07-10 2016-09-13 Arris Enterprises, Inc. DVD conversion for on demand
JP3717880B2 (en) 2002-10-01 2005-11-16 パイオニア株式会社 Information recording medium, information recording apparatus and method, information reproducing apparatus and method, information recording / reproducing apparatus and method, computer program for recording or reproduction control, and data structure including control signal
US8145033B2 (en) 2003-02-05 2012-03-27 Lg Electronics Inc. Recording medium having data structure for managing reproducton duration of still pictures recorded thereon and recording and reproducing methods and apparatuses
US20040160463A1 (en) * 2003-02-18 2004-08-19 Battles Amy E. System and method for displaying menu information in an electronic display
KR100930351B1 (en) 2003-02-25 2009-12-08 엘지전자 주식회사 How to manage graphics and subtitle data on high density optical discs
KR100903257B1 (en) 2003-02-28 2009-06-17 파나소닉 주식회사 Integrated circuit for presents an interactive display with animation, and reproduction device
EP1465047A1 (en) * 2003-04-03 2004-10-06 Deutsche Thomson-Brandt Gmbh Method for presenting menu buttons
US7233316B2 (en) 2003-05-01 2007-06-19 Thomson Licensing Multimedia user interface
CN1833286B (en) 2003-07-01 2012-01-18 日本先锋公司 Information recording medium, information recording device and method, information reproduction device and method, information recording/reproduction device and method, computer program for recording
CN1856075B (en) 2003-07-01 2011-06-08 日本先锋公司 Information recording apparatus and method, information reproducing apparatus and method
DE602004030960D1 (en) 2003-07-03 2011-02-17 Panasonic Corp Recording apparatus and method, recording medium and reproducing apparatus and method
KR100969966B1 (en) * 2003-10-06 2010-07-15 디즈니엔터프라이지즈,인크. System and method of playback and feature control for video players
KR101102630B1 (en) 2003-11-12 2012-01-04 파나소닉 주식회사 Recording medium, playback apparatus and method, recording method, and computer-readable medium
US8000580B2 (en) * 2004-11-12 2011-08-16 Panasonic Corporation Recording medium, playback apparatus and method, recording method, and computer-readable program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0886276A2 (en) * 1997-06-20 1998-12-23 Pioneer Electronic Corporation Information record medium, and information reproducing apparatus and method

Also Published As

Publication number Publication date
US20100046608A1 (en) 2010-02-25
KR101076130B1 (en) 2011-10-21
WO2005048261A1 (en) 2005-05-26
US8490017B2 (en) 2013-07-16
KR20090121406A (en) 2009-11-25
CN1879170A (en) 2006-12-13
KR20090121408A (en) 2009-11-25
TWI382404B (en) 2013-01-11
JP2008251153A (en) 2008-10-16
TW200527388A (en) 2005-08-16
JP4476339B2 (en) 2010-06-09
US20060291810A1 (en) 2006-12-28
CN101661789A (en) 2010-03-03
JP4500859B2 (en) 2010-07-14
CN101661766B (en) 2011-07-27
EP1683155A1 (en) 2006-07-26
KR20090121407A (en) 2009-11-25
CN101661767A (en) 2010-03-03
CN101661766A (en) 2010-03-03
CN101661789B (en) 2011-07-27
JP2007515025A (en) 2007-06-07
US20100050126A1 (en) 2010-02-25
US20100046932A1 (en) 2010-02-25
KR101129121B1 (en) 2012-03-27
US7634739B2 (en) 2009-12-15
JP2008257846A (en) 2008-10-23
KR20060115749A (en) 2006-11-09
KR101102639B1 (en) 2012-01-04
JP2008262678A (en) 2008-10-30
CN101661767B (en) 2011-07-27
JP4476338B2 (en) 2010-06-09
CN100550178C (en) 2009-10-14
JP4170362B2 (en) 2008-10-22

Similar Documents

Publication Publication Date Title
KR101102679B1 (en) Recording medium, playback apparatus and method, recording method, and computer-readable medium
JP4496170B2 (en) Recording method, playback device, program, and playback method
JP4649491B2 (en) Recording medium, reproducing apparatus, recording method, program, reproducing method
EP2257059B1 (en) Recording medium, reproduction device, recording method, program, and reproduction method
US8000580B2 (en) Recording medium, playback apparatus and method, recording method, and computer-readable program

Legal Events

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