KR20050041854A - Storage medium storing program management information, reproducing apparatus for the storage medium, and method therefor - Google Patents
Storage medium storing program management information, reproducing apparatus for the storage medium, and method therefor Download PDFInfo
- Publication number
- KR20050041854A KR20050041854A KR1020040045406A KR20040045406A KR20050041854A KR 20050041854 A KR20050041854 A KR 20050041854A KR 1020040045406 A KR1020040045406 A KR 1020040045406A KR 20040045406 A KR20040045406 A KR 20040045406A KR 20050041854 A KR20050041854 A KR 20050041854A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- application
- title
- program
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
본 발명은 동영상을 이용한 부가 기능을 제공하기 위한 프로그램 기반의 프로그램 어플리케이션과 이를 관리하기 위한 관리 정보가 기록된 저장 매체에 관한 것으로서, 본 발명에 따른 저장 매체는 동영상 데이터를 재생하기 위한 재생 모드 데이터와, 동영상 데이터를 이용한 부가 기능을 제공하는 복수개의 프로그램 어플리케이션을 포함하는 프로그램 데이터와, 재생 모드 데이터와 상기 프로그램 데이터의 실행을 제어하기 위한 시스템 데이터와, 프로그램 어플리케이션의 실행을 타이틀 단위로 관리하기 위한 관리 정보를 포함하며, 부가 기능을 제공하기 위한 프로그램 기반의 복수개의 어플리케이션을 타이틀 단위로 관리할 수 있도록 하여, 복수개의 어플리케이션 실행시 메모리를 원할히 관리할 수 있도록 한다.The present invention relates to a storage medium in which a program-based program application for providing an additional function using a moving picture and a management information for managing the same are recorded. The storage medium according to the present invention relates to a reproduction mode data for reproducing moving picture data. Program data including a plurality of program applications that provide additional functions using moving picture data, system data for controlling the execution mode data and execution of the program data, and management for managing the execution of the program application on a title basis. It includes information and can manage a plurality of program-based applications for providing additional functions in units of titles, so that memory can be easily managed when a plurality of applications are executed.
Description
본 발명은 저장 매체에 기록된 데이터의 재생에 관한 것으로서, 구체적으로는 동영상을 이용한 부가 기능을 제공하기 위한 프로그램과 이를 관리하기 위한 관리 정보가 기록된 저장 매체, 그 저장 매체를 재생하기 위한 방법 및 재생 장치에 관한 것이다.The present invention relates to the reproduction of data recorded in a storage medium, and more particularly, to a program for providing an additional function using a moving picture, a storage medium on which management information for managing the same is recorded, a method for reproducing the storage medium, and A reproduction apparatus is related.
현재의 저장 매체에 기록된 동영상 데이터는 압축 부호화된 동영상 정보 및 동영상 정보의 재생을 제어하기 위한 네비게이션 정보를 포함하고 있다. The moving picture data recorded in the current storage medium includes compressed coded moving picture information and navigation information for controlling reproduction of the moving picture information.
보다 구체적으로, 동영상 정보는 MPEG(Motion Picture Experts Group) 표준에 따라 부호화된 비디오, 오디오, 및/또는 서브 타이틀을 포함하는 동영상 스트림(Audio-Visual Stream)으로 구성된다. 여기에, 동영상 스트림의 부호화 속성 또는 랜덤 액세스를 위한 엔트리 포인트(entry point) 등의 부가 정보와 동영상의 재생 순서를 정하여 만든 플레이리스트(playlist) 등을 더 포함할 수 있다. More specifically, the video information consists of a video stream (Audio-Visual Stream) including video, audio, and / or subtitles encoded according to the Motion Picture Experts Group (MPEG) standard. The apparatus may further include additional information such as an encoding attribute of the video stream or an entry point for random access, a playlist, etc., which is determined by a playback order of the video.
한편, 네비게이션 정보는 전술한 플레이리스트를 재생시키는 명령이나, 다른 플레이 리스트로 분기하는 명령 등의 동영상 정보의 재생을 제어하는 네비게이션 커맨드(navigation command)로 이루어져 있다. 이에 따라, 저장 매체의 네비게이션 정보를 참고하여, 동영상 정보를 재생할 수 있으며, 사용자는 고화질의 영화 등의 동영상을 시청할 수 있다.On the other hand, the navigation information is composed of a navigation command for controlling the reproduction of moving picture information such as a command for reproducing the above-described playlist or a command for branching to another playlist. Accordingly, the moving picture information can be reproduced by referring to the navigation information of the storage medium, and the user can watch a moving picture such as a high quality movie.
이와 같은, 종래의 기본 데이터 재생 기능에 부가하여, 사용자와의 상호 작용성을 보다 보강하기 위한 프로그래밍 기능을 추가한 어플리케이션에 대한 요구가 있어 왔다. 하지만, 종래의 동영상을 기록한 기록 매체로는, 재생되는 동영상을 이용한 게임이나 채팅 등 사용자와의 인터랙티브 기능을 제공하는 프로그램을 동영상 정보와 함께 하나의 저장 매체에 기록할 수 없다는 문제점이 있었다. In addition to the conventional basic data reproduction function, there is a demand for an application in which a programming function for reinforcing interaction with a user is added. However, there has been a problem that a conventional recording medium for recording a moving picture cannot record a program providing an interactive function with a user, such as a game or a chat using a moving picture, together with the moving picture information in a single storage medium.
본 발명은 전술한 문제점을 해결하기 위한, 동영상을 이용한 부가 기능을 제공하기 위한 프로그램 기반의 어플리케이션이 기록된 저장 매체 및 그 저장 매체를 재생하기 위한 방법 및 재생 장치를 포함한다. The present invention includes a storage medium in which a program-based application for providing an additional function using a moving image, and a method and a reproduction device for reproducing the storage medium for solving the above-mentioned problems.
상기 과제를 달성하기 위한 본 발명에 따른 저장 매체는, 동영상 데이터를 재생하기 위한 재생 모드 데이터와, 동영상 데이터를 이용하여 부가 기능을 제공하기 위한 복수개의 프로그램 어플리케이션을 포함하는 프로그램 데이터와, 재생 모드 데이터와 프로그램 데이터의 실행을 제어하기 위한 시스템 데이터와, 프로그램 어플리케이션의 실행을 타이틀 단위로 관리하기 위한 관리 정보를 포함한다.The storage medium according to the present invention for achieving the above object is a reproduction mode data for reproducing moving image data, program data including a plurality of program applications for providing additional functions using the moving image data, and reproduction mode data And system data for controlling the execution of program data, and management information for managing execution of the program application on a title basis.
또한, 상기 관리 정보는 특정 타이틀에 포함되는 프로그램 어플리케이션들에 대한 정보를 포함하는 것이 바람직하다.In addition, the management information preferably includes information about program applications included in a specific title.
또한, 상기 재생 모드 데이터는 압축 부호화된 동영상 정보와 동영상 정보의 재생을 제어하기 위한 네비게이션 정보를 포함하는 것이 바람직하다.In addition, the reproduction mode data preferably includes compression-encoded moving picture information and navigation information for controlling reproduction of moving picture information.
또한, 상기 관리 정보는 타이틀 내에서 최초로 실행되는 프로그램 어플리케이션에 대한 정보 및 타이틀 내에 포함되는 프로그램 어플리케이션들의 위치 정보 중 적어도 하나 이상을 포함하는 것이 바람직하다.In addition, the management information preferably includes at least one of information about a program application first executed in a title and location information of program applications included in the title.
또한, 상기 관리 정보는 타이틀 내에 포함되는 프로그램 어플리케이션들의 시작 시점 정보, 타이틀 내에 포함되는 프로그램 어플리케이션들의 종료 시점 정보, 타이틀 내에 포함되는 프로그램 어플리케이션의 시작 방법 정보, 타이틀 내에 포함되는 프로그램 어플리케이션의 종료 방법 정보, 및 타이틀 내에 포함되는 프로그램 어플리케이션에 대한 메모리 할당량 정보 중 적어도 하나 이상을 포함하는 것이 바람직하다.The management information may include start time information of program applications included in a title, end time information of program applications included in a title, start method information of a program application included in a title, end method information of a program application included in a title, And memory allocation information for the program application included in the title.
한편, 본 발명의 다른 실시예로서, 상기 관리 정보는 특정 타이틀에 대한 정보와, 특정 타이틀에 포함되는 어플리케이션들에 대한 기본 정보, 속성 정보 및 동작 정보와, 부가 정보 중 적어도 하나를 포함하는 것이 바람직하다.Meanwhile, as another embodiment of the present invention, the management information preferably includes at least one of information on a specific title, basic information, attribute information, operation information, and additional information about applications included in the specific title. Do.
또한, 상기 특정 타이틀에 대한 정보는 관리될 타이틀의 번호 및 타이틀 이름을 포함하는 것이 바람직하다.In addition, the information on the specific title preferably includes the number of the title to be managed and the title name.
또한, 상기 어플리케이션에 대한 기본 정보는, 실행될 어플리케이션의 저장 위치, 어플리케이션의 이름, 어플리케이션이 실행되는 타이틀에 대한 정보 및 타이틀에 따라 처음 실행되는 어플리케이션임을 나타내는 엔트리 포인트 정보 중 적어도 하나를 포함하는 것이 바람직하다.The basic information on the application may include at least one of a storage location of an application to be executed, a name of the application, information on a title on which the application is executed, and entry point information indicating that the application is first executed according to the title. .
또한, 상기 어플리케이션에 대한 속성 정보는, 실행될 어플리케이션의 버전 정보, 하나의 타이틀 내에서만 동작하는지 또는 한 타이틀의 범위를 벗어나서 동작할 수 있는지를 나타내는 타이틀 간의 실행 제한 정보, 및 어플리케이션이 처음 저장되어 실행되었던 저장 매체가 재생 장치내에 있는 경우에만 동작하는지 또는 처음 저장되어 실행되었던 저장 매체를 제거하고 새로운 저장 매체가 재생 장치 내에 있어도 연속적으로 실행될 수 있는지를 나타내는 어플리케이션에 실행 제한 정보 중 적어도 하나를 포함하는 것이 바람직하다.In addition, the attribute information for the application includes version information of the application to be executed, execution restriction information between titles indicating whether the operation can be performed within one title or outside the range of one title, and the application was first stored and executed. It is preferable to include at least one of execution restriction information in an application indicating whether the storage medium operates only when the storage medium is in the playback device or whether the storage medium that was first stored and executed can be removed and whether the new storage medium can be continuously executed even in the playback device. Do.
또한, 상기 어플리케이션에 대한 동작 정보는, 어플리케이션의 실행 방법, 실행 시작 시간 정보, 종료 방법, 종료 시간 정보, 필요한 메모리 정보, 및 어플리케이션이 실행되기 위해 필요한 초기 정보 또는 상기 초기 정보의 획득 방법을 포함하는 실행 시작 파리미터 정보, 일시 정지 시간 정보, 프리로드 여부 정보, 및 프리패치 정보 중 적어도 하나를 포함하는 것이 바람직하다.In addition, the operation information for the application includes an application execution method, execution start time information, termination method, termination time information, necessary memory information, and initial information necessary for the application to be executed or a method of acquiring the initial information. It is preferable to include at least one of execution start parameter information, pause time information, preload information, and prefetch information.
또한, 상기 프리로드 여부 정보는, 저장 매체로부터 어플리케이션을 미리 버퍼링할지 여부를 지시하는 정보인 것이 바람직하다.In addition, the preload information is preferably information indicating whether to buffer the application in advance from the storage medium.
또한, 상기 프리패치 정보는, 프리로드 버퍼로부터 어플리케이션을 시스템 메모리에 미리 로드할 시간 정보인 것이 바람직하다.The prefetch information is preferably time information for preloading the application into the system memory from the preload buffer.
또한, 상기 시작 시점 정보, 상기 종료 시점 정보, 상기 일시 정지 시간 정보, 및 상기프리패치 정보는, 그 속성 값으로 재생 모드 데이터에 포함된 동영상 데이터의 재생 경로 구분자 정보 및/또는 재생 경로에 지정된 시간 값을 갖는 것이 바람직하다.Further, the start time point information, the end time point information, the pause time information, and the prefetch information may include play path identifier information of the video data included in play mode data and / or time designated in the play path as the attribute value. It is desirable to have a value.
또한, 상기 재생 경로 구분자 정보는 동영상 데이터의 재생 단위인 플레이리스트 내에 재생 소단위인 플레이아이템의 구분자를 포함하는 것이 바람직하다.In addition, the reproduction path separator information may include a separator of a playitem that is a reproduction subunit in a playlist that is a reproduction unit of video data.
또한, 상기 부가 정보는, 관리 정보에 대한 버전 정보를 포함하는 것이 바람직하다.In addition, the additional information preferably includes version information on management information.
또한, 상기 프로그램 데이터는 복수개의 타이틀에 대해 적용되는 프로그램 기반의 타이틀 비제한 프로그램 어플리케이션을 포함하며, 관리 정보는 타이틀 비제한 프로그램 어플리케이션이 실행되는 타이틀들에 대한 정보를 포함하는 것이 바람직하다.In addition, the program data may include a program-based title unrestricted program application applied to a plurality of titles, and the management information may include information about titles on which the title unrestricted program application is executed.
또한, 상기 타이틀 별로 하나의 메인 프로그램 어플리케이션을 포함하며, 메인 프로그램 어플리케이션은 동일 타이틀내에 포함된 복수개의 서브 프로그램 어플리케이션을 제어하기 위한 제어 정보를 포함하는 것이 바람직하다.In addition, it is preferable that each title includes one main program application, and the main program application includes control information for controlling a plurality of subprogram applications included in the same title.
또한, 상기 제어 정보는 서브 프로그램 어플리케이션을 실행시키기 위한 명령어 또는 이벤트와, 서브 프로그램 어플리케이션을 종료시키기 위한 명령어 또는 이벤트를 포함하는 것이 바람직하다.In addition, the control information preferably includes a command or event for executing a subprogram application and a command or event for terminating the subprogram application.
또한, 상기 제어 정보는 복수개의 타이틀에 대해 실행되는 타이틀 비제한 프로그램 어플리케이션에 적용되는 실행 명령어와, 특정 타이틀 내에서만 실행되는 타이틀 제한 프로그램 어플리케이션에 적용되는 실행 명령어를 별도로 포함하는 것이 바람직하다.In addition, the control information preferably includes an execution command applied to a title unrestricted program application executed for a plurality of titles and an execution command applied to a title restricted program application executed only within a specific title.
또한, 상기 프로그램 데이터는 자바 프로그램 어플리케이션 또는 HTML 프로그램 어플리케이션 중 어느 하나인 것이 바람직하다.In addition, the program data is preferably one of a Java program application or HTML program application.
또한, 상기 프로그램 데이터는 동영상 정보를 이용한 게임 기능, 동영상의 일부를 재생하면서 디렉터의 코멘트를 표시하는 기능, 동영상의 일부를 재생하면서 관련된 정보를 표시하는 기능, 및 동영상을 재생하면서 채팅을 할 수 있는 기능 중 적어도 하나의 기능을 제공하는 프로그램을 포함하는 것이 바람직하다.The program data may include a game function using video information, a function of displaying a comment of a director while playing a part of a video, a function of displaying related information while playing a part of a video, and a chat while playing a video. It is desirable to include a program that provides at least one of the functions.
한편, 상기 과제를 달성하기 위해, 본 발명에 따른 동영상 데이터 재생 장치는 동영상 데이터를 재생하기 위한 재생 모드 데이터와, 동영상 데이터를 이용한 부가 기능을 제공하는 복수개의 프로그램 어플리케이션을 포함하는 프로그램 데이터와, 재생 모드 데이터와 프로그램 데이터의 실행을 제어하기 위한 시스템 데이터와, 프로그램 데이터의 프로그램 어플리케이션을 타이틀 단위로 관리하기 위한 관리 정보를 포함하는 것을 특징으로 하는 저장 매체로부터 관리 정보를 독출하기 위한 독출부와, 독출된 관리 정보에 기초하여, 프로그램 어플리케이션의 실행을 타이틀 단위로 제어하는 재생부를 포함한다.On the other hand, in order to achieve the above object, the video data reproducing apparatus according to the present invention is a reproduction mode data for reproducing the video data, program data including a plurality of program applications for providing additional functions using the video data, and playback A reading unit for reading management information from a storage medium, comprising: system data for controlling execution of mode data and program data; management information for managing program applications of program data on a title basis; On the basis of the management information thus provided, a playback unit for controlling the execution of the program application on a title basis is included.
한편, 상기 과제를 달성하기 위해, 본 발명에 따른 동영상 데이터 재생 방법은, 동영상 데이터를 재생하기 위한 재생 모드 데이터와, 동영상 데이터를 이용한 부가 기능을 제공하는 복수개의 프로그램 어플리케이션을 포함하는 프로그램 데이터와, 재생 모드 데이터와 프로그램 데이터의 실행을 제어하기 위한 시스템 데이터와, 프로그램 데이터의 프로그램 어플리케이션을 타이틀 단위로 관리하기 위한 관리 정보를 포함하는 것을 특징으로 하는 저장 매체로부터 관리 정보를 독출하는 단계와, 독출된 관리 정보에 기초하여, 프로그램 어플리케이션의 실행을 타이틀 단위로 제어하는 단계를 포함한다. On the other hand, in order to achieve the above object, the video data reproduction method according to the present invention, the program data including a reproduction mode data for playing the video data, a plurality of program applications for providing additional functions using the video data, Reading management information from a storage medium comprising system data for controlling the execution of the reproduction mode data and the program data, and management information for managing the program application of the program data on a per-title basis; And controlling the execution of the program application on a title basis based on the management information.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 바람직한 실시예에 따른 저장 매체에 기록된 데이터의 종류를 나타내는 도면이다.1 is a diagram showing the type of data recorded on a storage medium according to a preferred embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 저장 매체에는 코어 데이터(110), 시스템 데이터(120), 프로그램 데이터(130) 및 관리 정보(140)가 기록된다.Referring to FIG. 1, core data 110, system data 120, program data 130, and management information 140 are recorded in a storage medium according to the present invention.
코어 데이터(110)는, 동영상 데이터 및 동영상 재생을 위한 명령어들의 집합인 네비게이션 데이터를 포함한다. 이는, 코어 모드를 위한 데이터라고도 하며, 혹은 코어 데이터는 대표적인 비디오 어플리케이션인 DVD와 같이 영화를 감상하기 위해 필요한 데이터를 재생하는 모드이므로 영화 모드라고도 한다. 또한, 선택적으로 사용자와의 인터랙티브를 강화하기 위한 프로그래밍 기능을 가진 프로그램 데이터(130)를 포함하여 풀 데이터(data for full mode) 또는 풀 모드용 데이터라고도 한다.The core data 110 includes video data and navigation data which is a set of instructions for video playback. This data is also referred to as data for the core mode, or the core data is also called a movie mode because it is a mode for reproducing data necessary for watching a movie, such as a typical video application DVD. It is also referred to as data for full mode or data for full mode, including program data 130 having a programming function to selectively enhance interaction with a user.
시스템 데이터(120)는, 재생 장치의 초기화시에 최초로 읽혀지는 데이터로서, 스타트업 정보(start up information) 및 타이틀 정보(title information)를 포함한다. 스타트업 정보는 저장 매체가 재생 장치에 의해 재생될 때 최초로 재생될 오브젝트의 위치를 지시한다. 타이틀 정보는 재생될 각 오브젝트의 위치를 알려주는 엔트리 포인트 정보를 포함한다.The system data 120 is data read first at the time of initialization of the playback apparatus, and includes start up information and title information. The startup information indicates the position of the object to be reproduced first when the storage medium is reproduced by the reproduction device. The title information includes entry point information indicating the position of each object to be reproduced.
프로그램 데이터(program data)(130)는, 동영상의 재생 외에 부가 기능, 예를 들어 사용자와의 인터랙티브 기능, 동영상을 이용한 게임 기능, 동영상의 일부를 재생하면서 디렉터의 코멘트(Director's Commentary)를 표시하는 기능, 동영상의 일부를 재생하면서 기타 부가 정보를 표시하는 기능, 또는 동영상을 재생하면서 채팅을 할 수 있는 기능 등을 제공하는 오브젝트를 적어도 하나 이상 포함할 수 있다. 프로그램 데이터에는 동영상과 함께 프로그램을 실행하기 위해, 후술하는 동영상 정보를 재생하는 프리젠테이션 엔진에 대한 API(Application Program Interface) 함수가 포함될 수 있다.The program data 130 may display additional functions such as an interactive function with a user, a game function using a video, and a director's commentary while playing a part of the video in addition to playing the video. , At least one object providing a function of displaying other additional information while playing a part of a video, or a function of chatting while playing a video. The program data may include an API (Application Program Interface) function for a presentation engine that plays video information, which will be described later, to execute a program together with the video.
관리 정보(management information)(140)는, 저장 매체에 기록된 동영상 데이터 재생시 부가 기능이 함께 제공되는 경우, 프로그램 데이터(130)의 프로그램 어플리케이션의 재생을 효율적으로 관리하기 위한 정보로서 보다 상세한 설명은 후술한다.The management information 140 is information for efficiently managing the reproduction of the program application of the program data 130 when the additional function is provided when the moving picture data recorded on the storage medium is provided. It will be described later.
본 발명에 따른 저장 매체는 그 재생 장치에의 삽입과 이탈이 용이한 착탈식이며, 재생 장치의 광학 장치를 이용하여 데이터를 읽어낼 수 있는 광 디스크인 것이 바람직하다. 예를 들면, CD-ROM, DVD와 같은 광 디스크가 포함될 수 있으며, 이후 개발되는 광디스크가 포함될 수 있다.The storage medium according to the present invention is preferably a removable disk which can be easily inserted into and detached from the reproduction device, and which can read data using the optical device of the reproduction device. For example, an optical disc such as a CD-ROM or a DVD may be included, and an optical disc to be developed later may be included.
도 2는 본 발명에 따른 데이터가 기록된 저장 매체로부터 데이터를 재생하기 위한 재생 장치를 도시하는 도면이다.2 is a diagram showing a reproduction apparatus for reproducing data from a storage medium in which data is recorded according to the present invention.
도 2를 참조하면, 재생 장치는 독출부(240), 버퍼부(260), 및 재생부(280)를 포함한다.Referring to FIG. 2, the reproducing apparatus includes a reading unit 240, a buffer unit 260, and a reproducing unit 280.
독출부(240)는, 저장 매체(220)로부터 재생될 데이터를 판독한다. 저장 매체(220)가 광디스크인 경우, 독출부는 광 디스크에 기록된 데이터를 읽어들일 수 있는 광학 장치를 포함한다.The read unit 240 reads data to be reproduced from the storage medium 220. When the storage medium 220 is an optical disc, the reading unit includes an optical device capable of reading data recorded on the optical disc.
버퍼부(260)는, 독출부(240)에서 읽어들인 데이터를 일시 저장한다.The buffer unit 260 temporarily stores the data read by the reading unit 240.
재생부(280)는, 버퍼부(260)에 저장된 시스템 데이터 및 관리 정보에 따라 데이터를 재생한다. 재생된 데이터는 디스플레이 장치(도시되지 않음)를 통해 디스플레이된다.The reproduction unit 280 reproduces the data in accordance with the system data and management information stored in the buffer unit 260. The reproduced data is displayed via a display device (not shown).
도 3은 도 2에 도시된 버퍼부(260) 및 재생부(280)를 보다 구체적으로 설명하기 위한 도면이다.FIG. 3 is a diagram for describing the buffer unit 260 and the reproducing unit 280 shown in FIG. 2 in more detail.
도 3을 참조하면, 버퍼부(260)는 독출부(240)로부터 입력되는 데이터를 데이터 타입에 따라 임시 저장하기 위한 프로그램 데이터 버퍼(262), 네비게이션 데이터 버퍼(264), 동영상 데이터 버퍼(266), 시스템 데이터 및 관리 정보 버퍼(268)를 포함한다. 또한, 재생부(280)는 재생되는 데이터 타입에 따라 각각의 재생 기능을 갖는 재생 엔진들, 즉 프로그램 엔진(282), 네비게이션 엔진(284), 프리젠테이션 엔진(286)과, 어플리케이션 매니저(288) 및 블랜더(290)를 포함한다.Referring to FIG. 3, the buffer unit 260 may include a program data buffer 262, a navigation data buffer 264, and a video data buffer 266 for temporarily storing data input from the reader 240 according to a data type. System data and management information buffer 268. In addition, the playback unit 280 may include playback engines having respective playback functions, that is, a program engine 282, a navigation engine 284, a presentation engine 286, and an application manager 288 according to the type of data to be played back. And blender 290.
프로그램 엔진(282)은, 프로그램 데이터 버퍼(262)로부터 프로그램 데이터를 입력받아 재생한다. 즉, 게임, 채팅, 디렉터스 코멘터리(director's commentary) 등의 기능을 구현하는 특정 프로그램을 실행한다. 이에 따라, 동영상을 이용한 사용자와의 상호 작용을 강화하는 것이 가능하다. The program engine 282 receives program data from the program data buffer 262 and reproduces it. That is, it executes a specific program that implements functions such as game, chat, and director's commentary. Accordingly, it is possible to enhance the interaction with the user using the video.
이때, 프로그램 엔진은 API(Application Program Interface) 함수를 사용하여 후술하는 동영상을 재생하는 프리젠테이션 엔진(286)을 제어한다.In this case, the program engine controls the presentation engine 286 that plays a video, which will be described later, using an API (Application Program Interface) function.
네비게이션 엔진(284)은, 네비게이션 데이터 버퍼(264)로부터 네비게이션 데이터를 입력 받아 동영상 데이터의 재생을 제어한다. 이때, 네비게이션 엔진(284)은 프로그램 엔진과 마찬가지로 동영상을 재생하는 명령들로 구성된 API 함수를 통해 프리젠테이션 엔진(286)이 동영상 정보를 재생하는 것을 제어한다.The navigation engine 284 receives navigation data from the navigation data buffer 264 and controls reproduction of moving image data. In this case, the navigation engine 284 controls the presentation engine 286 to play the video information through an API function configured to play a video like the program engine.
프리젠테이션 엔진(286)은, 동영상 데이터용 버퍼(266)로부터 동영상 스트림, 정지 영상, 또는 데이터 파일을 입력 받아, 이를 복호화하여 재생한다.The presentation engine 286 receives a video stream, a still picture, or a data file from the video data buffer 266, decodes it, and plays it.
한편, 어플리케이션 매니저(288)는, 시스템 데이터 및 관리 정보 버퍼(268)로부터 시스템 데이터 및 관리 정보를 입력 받아, 전술한 재생 엔진(282, 284, 286)의 동영상 정보의 재생 및 부가 기능의 제공을 위한 프로그램 데이터의 실행을 제어한다. On the other hand, the application manager 288 receives the system data and the management information from the system data and the management information buffer 268 to provide the reproduction of the video information of the playback engines 282, 284, and 286 and the provision of additional functions. Controls the execution of program data.
즉, 프로그램 엔진(282) 및 네비게이션 엔진(284)을 제어하여, 프리젠테이션 엔진(286)에서의 동영상 데이터의 재생 및 부가 기능 수행이 가능하도록 한다. 또한, 시스템 데이터의 스타트 업 정보의 엔트리 포인트를 기초로 최초로 재생하여야 할 데이터를 결정한다. 재생 중에는 시스템 테이터를 참조하여 타이틀 검색에 의한 각 타이틀의 엔트리 포인트를 해당 타이틀을 재생하는 재생 엔진으로 전달하여 재생할 수 있도록 한다. That is, the program engine 282 and the navigation engine 284 are controlled to enable the presentation engine 286 to play video data and perform additional functions. Further, the data to be reproduced first is determined based on the entry point of the startup information of the system data. During playback, the entry point of each title by title search is referred to the system data to be delivered to the playback engine that plays the title.
한편, 어플리케이션 매니저(288)는, 프로그램을 위한 풀 모드가 선택된 경우에는 각 타이틀이 실행되기 전에 시스템 데이터 및 관리 정보 버퍼(268)에 저장된 관리 정보를 참조하여 복수개의 어플리케이션을 타이틀 단위로 관리한다. 또한, 복수의 어플리케이션 실행 시 메모리를 원활히 관리할 수 있도록 제어한다. On the other hand, when the full mode for the program is selected, the application manager 288 manages a plurality of applications in units of titles by referring to the management data stored in the system data and the management information buffer 268 before each title is executed. In addition, the control to smoothly manage the memory when a plurality of applications are executed.
또한, 선택적으로 어플리케이션 매니저(288)는, 사용자의 입력을 처리하기 위한 사용자 입력 수신부 및 처리부(도시되지 않음)를 포함하며, 사용자의 입력을 해당하는 엔진에 전달한다.In addition, the application manager 288 optionally includes a user input receiver and a processor (not shown) for processing a user's input, and transmits the user's input to a corresponding engine.
블랜더(290)는, 전술한 프로그램 엔진(282)에서 프리젠테이션 엔진(286)에 대한 API 함수를 이용하여 재생한 그래픽 화면이나, 프리젠테이션 엔진(286)에서 재생한 동영상 화면을 오버레이하여 하나의 영상으로 만들어 출력한다. 이에 따라, 동영상을 재생하면서 동시에 프로그램 기반의 프로그램 데이터를 사용하여 부가 기능을 구현하는 것이 가능하다. The blender 290 overlays a graphic screen reproduced using the API function for the presentation engine 286 in the aforementioned program engine 282 or a video screen reproduced in the presentation engine 286 to display one image. And print it out. Accordingly, it is possible to implement an additional function using program-based program data while playing a video.
도 4는 시스템 데이터(120)를 이용하여 코어 데이터를 네비게이션하는 방법을 설명하기 위한 도면이다.4 is a diagram for describing a method of navigating core data using the system data 120.
도 4를 참조하면, 시스템 데이터(120)는 스타트업 데이터(422), 메뉴 데이터(424) 및 타이틀 정보로서 타이틀 #1(426), 타이틀 #2(428), 타이틀 #3(430), 타이틀 #4(432), 타이틀 #5(434) 등을 포함한다.Referring to FIG. 4, system data 120 includes title # 1 426, title # 2 428, title # 3 430, title as startup data 422, menu data 424, and title information. # 4 432, title # 5 434, and the like.
스타트업 데이터(422)는, 저장 매체가 재생 장치에 의해 재생되는 경우, 최초로 재생되는 타이틀의 시작 위치를 지시한다.The startup data 422 indicates the start position of the title to be reproduced first when the storage medium is reproduced by the reproduction apparatus.
메뉴 데이터(424)는, 메뉴를 화면에 표시하여 사용자가 메뉴를 통해 타이틀에 접근할 수 있도록 한다.Menu data 424 displays a menu on the screen so that a user can access the title through the menu.
타이틀 정보들(426, 428, 430 등)은 사용자가 특정 재생 장면에 액세스할 수 있도록 하는 논리적 개념으로서, 해당 타이틀에 포함된 무비 오브젝트(movie object)의 재생 시작 위치를 알려주는 엔트리 포인트 정보(entry point information)를 포함한다. 즉, 타이틀 정보는 사용자가 특정 재생 장면에 액세스 할 수 있도록 하는 링크 정보로서 사용된다. 예를 들어, 타이틀 정보(426)는 무비 오브젝트 #2(444)에 대한 재생 시작 위치를 알려주는 엔트리 포인트 정보를 포함한다.Title information (426, 428, 430, etc.) is a logical concept that allows a user to access a specific playback scene. Entry point information (entry) indicating the playback start position of a movie object included in the title is provided. point information). In other words, the title information is used as link information for allowing a user to access a specific playback scene. For example, the title information 426 includes entry point information indicating the playback start position for the movie object # 2 444.
이하에서는, 도 3 및 도 4를 참조하여 코어 데이터를 네비게이션하는 방법을 설명한다.Hereinafter, a method of navigating core data will be described with reference to FIGS. 3 and 4.
도 3을 참조하면, 재생 장치 초기화시 독출부(240)을 통해 판독된 시스템 데이터는 시스템 데이터 및 관리 정보 버퍼(268)를 거쳐 어플리케이션 매니저(288)로 전달되며, 어플리케이션 매니저(288)는 도 4에 도시된 바와 같은 시스템 데이터내의 스타트 업 데이터(422), 메뉴(424), 및 타이틀 정보들(426, 428, 430 등)의 엔트리 포인트를 참조한다.Referring to FIG. 3, system data read through the reading unit 240 is transferred to the application manager 288 through the system data and the management information buffer 268 when the playback device is initialized. Reference is made to the entry point of the startup data 422, the menu 424, and the title information 426, 428, 430, etc., in the system data as shown in FIG.
어플리케이션 매니저(288)는 참조된 시스템 데이터내의 엔트리 포인트, 즉 최초 재생되어야할 무비 오브젝트의 엔트리 포인트를 네비게이션 엔진(284)로 전달한다.The application manager 288 delivers the entry point in the referenced system data, that is, the entry point of the movie object to be reproduced first, to the navigation engine 284.
네비게이션 엔진(284)는 해당 무비 오브젝트에 포함된 네비게이션 커맨드, 예를 들어 도 4에 도시된 PlayPL(#1)를 프리젠테이션 엔진(286)으로 전달한다.The navigation engine 284 delivers a navigation command included in the movie object, for example, PlayPL # 1 shown in FIG. 4, to the presentation engine 286.
프리젠테이션 엔진(286)은 네비게이션 엔진(284)으로부터 전달된 네비게이션 커맨드(PlayPL(#1))와 동영상 데이터 버퍼(266)로부터 전달된 동영상 데이터를 이용하여 코어 모드 재생, 즉 동영상 재생을 수행한다.The presentation engine 286 performs core mode playback, that is, video playback using the navigation command PlayPL (# 1) transmitted from the navigation engine 284 and the video data transmitted from the video data buffer 266.
본 실시예에서는 최초로 재생되는 무비 오브젝트 내에 포함되는 네비게이션 커맨드에 의해 재생을 진행한 후, 현재 무비 오브젝트 내의 최종 네비게이션 커맨드에 의해 다음 무비 오브젝트의 재생 동작이 수행된다. 예를 들어, 도 4를 참조하면, 무비 오브젝트 #1 내의 최종 네비게이션 커맨드인 JumpObject(#2)에 의해 타이틀 #1에 해당하는 무비 오브젝트 #2가 재생된다.In the present embodiment, playback is performed by the navigation command included in the first movie object to be played back, and then the playback operation of the next movie object is performed by the last navigation command in the current movie object. For example, referring to FIG. 4, the movie object # 2 corresponding to the title # 1 is played by JumpObject (# 2) which is the last navigation command in the movie object # 1.
사용자에 의해 별도의 타이틀 전환이 없는 경우라면, 도 4에 실선 화살표를 따라 도시된 바와 같이, 각각의 무비 오브젝트들은 전술한 방식으로 하나의 시퀀스를 따라 재생을 지속하게 되고, 도 4의 무비 오브젝트 #7과 같이 마지막까지 재생을 하게되면, 컨텐츠 제작자가 설정한 무비 오브젝트의 마지막 네비게이션 커맨드에 따라 정지 상태(stop state)로 가거나, 마지막 장면에서 프리즈(freeze)되도록 하는 것이 가능하다.If there is no separate title change by the user, as shown by the solid arrows in FIG. 4, each movie object continues to play along one sequence in the manner described above, and the movie object # of FIG. When playing to the end as shown in 7, it is possible to go to the stop state or freeze at the last scene according to the last navigation command of the movie object set by the content creator.
일반적인 코어 모드, 즉 동영상 재생에서는 도 4에서와 같이 하나의 타이틀 정보가 하나의 무비 오브젝트를 실행하며, 만약 복수개의 무비 오브젝트를 실행하는 경우에도, 하나의 무비 오브젝트가 끝난 후 다음 무비 오브젝트를 재생하는 것과 같이 연속적 재생은 허용하지만, 2개 이상의 무비 오브젝트가 동시에 재생되는 것은 정의하고 있지 않다. 따라서, 특정 타이틀 정보에 따른 동영상 데이터의 재생 범위를 특정 무비 오브젝트가 재생되는 동안 또는 연속된 무비 오브젝트가 재생되는 동안으로 명확히 구분하는 것이 가능하다.In general core mode, that is, video playback, one title information executes one movie object as shown in FIG. 4, and even if a plurality of movie objects are executed, the next movie object is played after the completion of one movie object. This allows continuous playback, but does not define that two or more movie objects can be played at the same time. Therefore, it is possible to clearly classify the reproduction range of the moving picture data according to the specific title information while the specific movie object is reproduced or while the continuous movie object is reproduced.
한편, 도 4에 도시된 바와 같이 시스템 데이터(120)에 포함된 타이틀 정보(426, 428, 430 등)는, 사용자에게 특정 재생 장면으로의 접근, 즉 랜덤 액세스(random access)을 허용하기 위한 논리적 개념이다. 해당 타이틀에 해당하는 무비 오브젝트의 재생 시작 위치인, 엔트리 포인트 정보와 사용자에 의한 타이틀 접속 유무에 관한 정보를 포함할 수 있다. 이에 따라, 전술한 연속적인 재생 이외에도 특정 재생 장면을 검색하여 그로부터 재생을 계속할 수도 있다. Meanwhile, as shown in FIG. 4, title information 426, 428, 430, etc. included in the system data 120 is logical for allowing a user to access a specific playback scene, that is, random access. Concept. It may include entry point information, which is a playback start position of a movie object corresponding to the title, and information about whether a title is connected by a user. Accordingly, in addition to the continuous playback described above, it is also possible to search for a specific playback scene and continue playback therefrom.
도 5는 시스템 데이터를 이용하여 풀 모드, 예를 들어 동영상 데이터의 재생시 부가 기능을 제공하는 모드의 일 예로 자바 어플리케이션을 네비게이션하는 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing a method of navigating a Java application as a full mode, for example, a mode for providing an additional function when playing video data using system data.
이하에서는, 도 3 및 도 5를 참조하여 풀 모드의 일 예로 자바 프로그램 기반의 어플리케이션을 네비게이션하는 방법을 설명한다.Hereinafter, a method of navigating a Java program based application will be described as an example of a pull mode with reference to FIGS. 3 and 5.
도 3을 참조하면, 도 4에 따른 코어 모드와 마찬가지로 재생 장치 초기화시 독출부(240)을 통해 판독된 시스템 데이터는 시스템 데이터 및 관리 정보 버퍼(268)를 거쳐 어플리케이션 매니저(288)로 전달되며, 어플리케이션 매니저(288)는 시스템 데이터내의 스타트 업 데이터(522), 메뉴(524) 및 타이틀 정보들(526, 528, 530 등)의 엔트리 포인트를 참조한다.Referring to FIG. 3, as in the core mode of FIG. 4, system data read through the readout unit 240 is initialized through the system data and management information buffer 268 to the application manager 288 when the playback apparatus is initialized. The application manager 288 refers to the entry point of the startup data 522, the menu 524 and the title information 526, 528, 530, etc. in the system data.
어플리케이션 매니저(288)는 참조된 시스템 데이터내의 엔트리 포인트, 즉 최초 재생되어야할 자바 어플리케이션의 엔트리 포인트를 자바 엔진, 즉 도 3의 프로그램 엔진(282)에 전달하며, 자바 엔진은 해당 자바 어플리케이션을 재생한다.The application manager 288 transmits the entry point in the referenced system data, that is, the entry point of the Java application to be played first, to the Java engine, that is, the program engine 282 of FIG. 3, which plays the Java application. .
도 5를 참조하면, 하나의 타이틀 정보에 대응하는 자바 어플리케이션은 복수개가 존재할 수 있다. 이는, 복수개의 자바 어플리케이션이 동시에 동작할 수 있기 때문이다. 도 5에 도시된 각 자바 어플리케이션들, 즉 JAVA App #1, JAVA App #2, JAVA App #3, JAVA App #4,... 등은 자바 프로그램에서 제공하는 명령어들로 구성되어 있는데, 명령어들은 기록된 순서에 따라 실행되나, 하나의 명령어가 실행되고 있는 동안에도 다른 명령어가 실행될 수 있도록 설계되어 있다. 또한, 정해진 모든 명령어가 모두 실행된 경우에도 자바 어플리케이션은 종료되지 않는다. 이는, 자바 어플리케이션이 종료되기 위해서는 종료에 관계된 명령어, 예를 들어 (ex, exit())가 실행되어야 하기 때문이다. 따라서, 종료에 관계된 명령어가 실행되지 않는 한, 하나의 타이틀 정보에 연관된 복수개의 자바 어플리케이션이 각각의 라이프 사이클(life cycle)을 가지고 계속 재생을 수행하게 된다. Referring to FIG. 5, there may be a plurality of Java applications corresponding to one title information. This is because a plurality of Java applications can run simultaneously. Each of the Java applications illustrated in FIG. 5, that is, JAVA App # 1, JAVA App # 2, JAVA App # 3, JAVA App # 4, ..., etc., is composed of instructions provided by a Java program. It is executed in the order in which it is written, but it is designed so that other instructions can be executed while one instruction is being executed. Also, even if all the specified commands are executed, the Java application does not terminate. This is because a command related to termination, for example (ex, exit ()), must be executed in order for the Java application to terminate. Therefore, as long as the instruction related to termination is not executed, a plurality of Java applications associated with one title information continue to play with their respective life cycles.
이러한 특성 때문에, 특정 자바 어플리케이션은 타이틀의 개념과 상관없이 계속 재생 상태에 있게 되며, 이러한 이유로 특정 타이틀과 관련된 자바 어플리케이션들의 재생 범위가 불명료해진다. 또한, 타이틀을 전환한 경우, 각각의 라이프 사이클에 의해 재생되고 있는 복수개의 자바 어플리케이션의 재생은 어떻게 되는지가 불명료해지는 문제점이 발생한다. Because of this feature, certain Java applications remain in play regardless of the concept of a title, which makes the range of playback of Java applications associated with a particular title unclear. In addition, when the title is switched, a problem arises in that it becomes unclear how the reproduction of the plurality of Java applications being reproduced by each life cycle occurs.
본 발명에서는, 이러한 문제점을 해결하기 위해, 도 1에 도시된 프로그램 관리 정보(140), 예를 들어 후술되는 자바 프로그램 관리 정보를 사용한다. 본 발명에 사용되는 자바 프로그램 관리 정보는 도 1에 도시된 바와 같이 다른 데이터와 별도로 존재한다. 자바 프로그램 관리 정보의 형태는 예를 들어 바이너리 또는 텍스트 형태일 수 있다.In the present invention, in order to solve this problem, the program management information 140 shown in FIG. 1, for example, Java program management information described below is used. Java program management information used in the present invention is separate from other data as shown in FIG. The form of Java program management information may be in binary or text form, for example.
보다 구체적으로 도 6은 본 발명의 일 실시예에 따른 프로그램 관리 정보를 이용하여 풀 모드 데이터를 네비게이션하는 방법을 설명하기 위한 도면이다.More specifically, FIG. 6 is a diagram for describing a method of navigating full mode data using program management information according to an exemplary embodiment.
도 6을 참조하면, 어플리케이션 매니저(288)는 시스템 데이터(120)의 타이틀 정보인 타이틀 #1에 의해 재생이 시작되는 자바 프로그램 어플리케이션인 JAVA App. #3을 실행시키기 위하여, 먼저 프로그램 관리 정보(140) 중 해당하는 타이틀 및 어플리케이션에 대한 관리 정보(타이틀 #1의 JAVA App. #3)를 읽어들이고, 읽어들인 관리 정보에 기초하여 해당 자바 프로그램을 실행시킨다. Referring to FIG. 6, the application manager 288 is a JAVA App which is a Java program application whose reproduction is started by title # 1 which is title information of the system data 120. In order to execute # 3, first, the management information (JAVA App. # 3 of Title # 1) of the corresponding title and application of the program management information 140 is read, and the corresponding Java program is read based on the read management information. Run it.
이에 따라, 전술한 자바 어플리케이션의 특성에도 불구하고, 특정 타이틀과 관련된 자바 어플리케이션들의 재생 범위가 명료해지며, 타이틀의 전환이 있는 경우에도 관리 정보에 기초하여 해당 어플리케이션의 실행을 제어할 수 있다.Accordingly, despite the above-described characteristics of the Java application, the reproduction range of the Java applications related to the specific title is clear, and even when the title is changed, the execution of the application can be controlled based on the management information.
이하에서는, 본 발명의 일 실시예에 따른 관리 정보(140)의 구체적인 예를 살펴본다.Hereinafter, a specific example of the management information 140 according to an embodiment of the present invention will be described.
도 7은 본 발명의 일 실시예에 따른 자바 프로그램 관리 정보를 테이블화한 일 실시예를 나타내는 도면이다.7 is a diagram illustrating an embodiment in which Java program management information is tabulated according to an embodiment of the present invention.
도 7을 참조하면, 타이틀 별로 해당하는 자바 프로그램 어플리케이션의 관리 정보가 도시되어 있다. Referring to FIG. 7, management information of a Java program application corresponding to each title is illustrated.
전술한 바와 같이, 특정 타이틀과 연관된 각 자바 어플리케이션들은 실행 순서에 관계없이 재생될 수 있으며, 하나 이상의 어플리케이션이 동시에 재생될 수 있으나, 어플리케이션의 종료 시점을 예측하는 것은 불가능하다.As described above, each Java application associated with a particular title may be played in any order, and one or more applications may be played at the same time, but it is impossible to predict the end time of the application.
따라서, 본 발명의 일 실시예에 따른 자바 프로그램 관리 정보(140)는, 특정 시간 또는 특정 상황, 예를 들어 특정 타이틀과 연관된 자바 어플리케이션의 상태를 확인하기 위해 다음과 같은 정보를 포함한다.Therefore, the Java program management information 140 according to an embodiment of the present invention includes the following information to check the status of a Java application associated with a specific time or a specific situation, for example, a specific title.
1) 타이틀 정보(710): 타이틀은 사용자가 인식할 수 있는 논리적인 단위로서, 사용자는 타이틀 정보를 통해 저장 매체에 저장된 정보에 임의로 접근하는 것이 가능하다. 타이틀의 한 가지 예로서, 사용자에게 제공되는 메뉴를 들 수 있다.1) Title information 710: A title is a logical unit that can be recognized by the user, and the user can arbitrarily access information stored in the storage medium through the title information. One example of a title is a menu provided to a user.
2) 타이틀에 연관된 자바 어플리케이션 정보(720): 하나의 타이틀에는 복수개의 자바 어플리케이션이 연관될 수 있다. 특정 타이틀에 연관된 자바 어플리케이션 정보는 특정 타이틀에서 함께 실행될 수 있는 자바 어플리케이션들의 정보를 포함한다. 예를 들어, 타이틀 #1 (526)에 연관된 자바 어플리케이션 정보는 JAVA App #3, JAVA App #4, JAVA App #5, JAVA App #9에 대한 정보를 포함한다. 2) Java application information 720 associated with a title: A plurality of Java applications may be associated with one title. Java application information associated with a particular title includes information of Java applications that can be run together in a particular title. For example, the Java application information associated with title # 1 526 includes information about JAVA App # 3, JAVA App # 4, JAVA App # 5, and JAVA App # 9.
3) 자바 어플리케이션의 동작 및 상태 정보(730): 자바 어플리케이션의 동작 및 상태 정보는 자바 어플리케이션의 동작 및 상태 정보를 알려주는 것으로서, 하나의 타이틀에서 자바 어플리케이션이 시작하는 시기, 시작하는 방법, 종료하는 시기, 종료하는 방법에 관한 정보들을 포함한다. 또한, 타이틀에서 지정하고 있는 최초 실행 어플리케이션으로 사용자 입력 또는 네비게이션 커맨드에 의해 타이틀이 선택되었을 때, 제일 먼저 시작되어야 하는 어플리케이션에 대한 정보도 포함되어 있으며, 해당 자바 어플리케이션의 메모리 할당량 정보도 포함될 수 있다.3) Java application operation and status information 730: The operation and status information of the Java application to inform the operation and status information of the Java application, when the Java application starts, how to start, and terminates in one title Includes information about when and how to end. In addition, when a title is selected by a user input or a navigation command as the first execution application designated by the title, information about an application to be started first is also included, and memory allocation information of the corresponding Java application may be included.
한편, 선택적으로 하나의 타이틀은 하나의 메인 자바 어플리케이션으로 이루어지며, 메인 자바 어플리케이션과 함께 재생되어 질 수 있는 서브 자바 어플리케이션들은 메인 자바 어플리케이션 내의 프로그램에 의해 실행된다. 예를 들어, 도 6의 JAVA APP #3는 메인 자바 어플리케이션으로 기능하며, JAVA APP #4 및 JAVA APP #5는 JAVA APP #3의 서브 자바 어플리케이션으로 기능한다. 따라서, JAVA APP #4 및 JAVA APP #5는 JAVA APP #3내의 프로그램에 의해 실행된다. Alternatively, one title may consist of one main Java application, and sub-Java applications that can be played with the main Java application are executed by a program in the main Java application. For example, JAVA APP # 3 of FIG. 6 functions as a main Java application, and JAVA APP # 4 and JAVA APP # 5 function as sub-Java applications of JAVA APP # 3. Therefore, JAVA APP # 4 and JAVA APP # 5 are executed by the program in JAVA APP # 3.
또한, 선택적으로 서브 자바 어플리케이션들은 메인 자바 어플리케이션 내의 프로그램 명령어나 특정 이벤트에 의해 종료되거나, 또는 메인 자바 어플리케이션이 종료되면 함께 종료된다는 규칙을 추가로 정하는 것도 가능하다.In addition, it is also possible to further define a rule that sub-Java applications are terminated by a program command or a specific event in the main Java application, or terminated when the main Java application terminates.
한편, 상기의 자바 어플리케이션은 두 가지 형태로 재생이 가능하다.On the other hand, the Java application can be played in two forms.
첫 번째는, 타이틀 내에서 동작하는 타이틀 제한(bound) 자바 어플리케이션(704, 706 등)이다. 타이틀 제한 자바 어플리케이션은 라이프 사이클(life cycle)의 범위가 타이틀의 재생 범위와 같거나, 타이틀의 재생 범위 이내이며, 타이틀이 변경되는 경우 타이틀 제한 자바 어플리케이션은 종료된다. 예를 들어, 타이틀 내의 어느 어플리케이션이 다른 타이틀을 호출하여 타이틀이 변경되는 경우, 타이틀 제한 자바 어플리케이션은 즉시 종료된다. 타이틀 제한 자바 어플리케이션의 예는 도 6에 도시된 JAVA APP #3, JAVA APP #4, 및 JAVA APP #5이며, 이들의 라이프 사이클은 타이틀 #1의 재생 범위 이내이다.The first is a title bound Java application (704, 706, etc.) running within the title. In the title limiting Java application, the life cycle range is equal to or within the playing range of the title, and if the title is changed, the title limiting Java application is terminated. For example, if an application in a title changes another title by calling another title, the title limit Java application terminates immediately. Examples of the title restriction Java application are JAVA APP # 3, JAVA APP # 4, and JAVA APP # 5 shown in FIG. 6, and their life cycle is within the playback range of Title # 1.
두 번째는, 타이틀 범위와 상관없이 동작하는 타이틀 비제한(unbound) 자바 어플리케이션(708)이다. 타이틀 비제한 자바 어플리케이션의 라이프 사이클의 범위는 타이틀 간에 겹쳐 있거나, 디스크의 라이프 사이클의 범위와 일치할 수 있으며, 타이틀이 변경되더라도 강제적으로 종료되지는 않는다. 타이틀 비제한 자바 어플리케이션의 예는 도 6에 도시된 JAVA APP #9이며, JAVA App #9의 라이프 사이클은 타이틀 #1의 재생 범위와 일치하지 않으며, 타이틀 #1의 재생이 종료하더라도, 종료되지 않으며, 라이프 사이클의 범위가 타이틀 #1 및 #2 사이에 겹쳐 있다.The second is a title unbound Java application 708 that operates regardless of the title range. The lifecycle of an unrestricted Java application can overlap between titles, or coincide with the lifecycle of a disc. It does not forcefully terminate when a title is changed. An example of a title-unrestricted Java application is JAVA APP # 9 shown in FIG. 6, the life cycle of JAVA App # 9 does not match the playback range of Title # 1, and even if the playback of Title # 1 ends, it does not end. , The life cycle spans between titles # 1 and # 2.
따라서, 선택적으로 상기 자바 타이틀 관리 정보 중 어플리케이션 정보에는 각 어플리케이션이 타이틀 제한 어플리케이션인지 혹은 타이틀 비제한 어플리케이션인지를 나타내는 정보가 더 포함될 수 있으며, 디스크에 있는 타이틀 비제한 어플리케이션을 하나의 단위로 묶어서 관리하는 것도 가능하다.Accordingly, optionally, the application information of the Java title management information may further include information indicating whether each application is a title restricted application or a title unrestricted application, and the title unrestricted applications on the disc are bundled and managed as one unit. It is also possible.
또한, 선택적으로 하나의 타이틀이 하나의 메인 자바 어플리케이션으로 이루어진 경우, 메인 자바 어플리케이션이 서브 자바 어플리케이션을 실행시킬 때 사용하는 명령어를 타이틀 제한용과 타이틀 비제한용으로 나누어 이러한 정보를 추가하는 것도 가능하다.In addition, when one title is composed of one main Java application, it is also possible to add such information by dividing the command used when the main Java application executes the sub-Java application into a title restriction and a title restriction.
이러한 명령어의 예는 이하에 예시된 바와 같다.Examples of such instructions are as illustrated below.
1) 타이틀 제한용 어플리케이션을 실행하는 경우: 1) When running the title limit application:
exec ("JAVA application name", bound)exec ("JAVA application name", bound)
2) 타이틀 비제한용 어플리케이션을 실행하는 경우: 2) When running an application without title restrictions:
exec ("JAVA application name", unbound)exec ("JAVA application name", unbound)
또한, 선택적으로 도 7에 도시된 방식에 따라 메뉴(702)도 타이틀과 동일한 형식으로 분류하는 것이 가능하다.Also, optionally, the menu 702 can also be classified in the same format as the title in the manner shown in FIG.
한편, 자바 프로그램 관리 정보는 프로그램 모드 선택시, 즉 부가 기능 모드 선택시에 각 자바 타이틀이 실행되기 전에 참조되어, 복수개의 자바 어플리케이션을 타이틀 단위로 관리할 수 있도록 하며, 복수개의 어플리케이션 실행시 메모리를 원할히 관리할 수 있도록 한다.On the other hand, the Java program management information is referred to before each Java title is executed when the program mode is selected, that is, when the add-on mode is selected, so that a plurality of Java applications can be managed in units of titles. Allow for good management.
즉, 타이틀 단위로 동작하는 어플리케이션이 정해지면, 타이틀 단위로 각 어플리케이션이 필요로 하는 메모리를 파악할 수 있으며, 타이틀 단위에서 필요한 메모리의 파악이 가능하다. 또한, 타이틀 내에서 동작하지만, 어플리케이션의 특성에 따라 시작 시간 및 종료 시간을 정하여 동시에 실행되지 않는 어플리케이션이 존재할 수 있으며, 이러한 어플리케이션은 동일한 메모리 공간을 사용하는 것이 가능하므로, 필요로 하는 메모리의 양을 줄이는 것이 가능하게 된다. In other words, when an application operating in a title unit is determined, the memory required for each application in the title unit can be grasped, and the memory required in the title unit can be grasped. In addition, there may be applications that operate within the title but do not execute simultaneously by setting start time and end time according to the characteristics of the application. Since such applications may use the same memory space, the amount of memory required may be increased. It is possible to reduce.
또한, 상기에서는 자바 어플리케이션이 사용된 실시예를 들어 설명하였지만, 선택적으로 HTML(Hyper Text Markup Language)와 같은 마크업 언어 또는 다른 어플리케이션에 대해서도 동일한 방식을 적용하는 것이 가능하다.In addition, although the above has been described with reference to an embodiment in which a Java application is used, the same method may be selectively applied to a markup language such as HTML (Hyper Text Markup Language) or another application.
한편, 이하에서는, 본 발명에 따른 관리 정보(140)의 또 다른 실시예를 구체적으로 설명한다. 본 발명의 다른 실시예에 따르면, 전술한 문제점을 해결하기 위하여 어플리케이션의 상태 및 동작 등을 관리하는 관리 정보를 정의한다. 관리 정보 테이블은 타이틀 정보, 어플리케이션의 기본 정보, 어플리케이션의 속성 정보, 어플리케이션의 동작 정보 및 부가 정보 등을 포함한다. 이에 따라 재생 장치는 관리 정보 테이블에서 제공되는 정보를 이용하여 풀 모드로 동작하게 된다. 이하에서는 관리 정보 테이블을 구성하고 있는 정보를 살펴 본다.In the following, another embodiment of the management information 140 according to the present invention will be described in detail. According to another embodiment of the present invention, in order to solve the above problems, management information for managing the state and operation of the application is defined. The management information table includes title information, basic information of the application, attribute information of the application, operation information and additional information of the application, and the like. Accordingly, the playback apparatus operates in the pull mode by using the information provided in the management information table. Hereinafter, the information constituting the management information table will be described.
도 8은 본 발명의 일 실시예에 따른 프로그램 관리 정보의 구성의 일 실시예를 나타내는 도면이다.8 is a diagram illustrating an embodiment of a configuration of program management information according to an embodiment of the present invention.
도 8을 참조하면, 본 발명의 다른 실시예에 따른 프로그램 관리 정보(140)는, 적어도 하나 이상의 타이틀 정보(810, 820 등)를 포함하며, 각 타이틀 정보는 연관된 복수의 어플리케이션에 대한 관리 정보(812, 814 등)를 포함한다.Referring to FIG. 8, the program management information 140 according to another embodiment of the present invention includes at least one or more title information (810, 820, etc.), and each title information includes management information (for a plurality of related applications). 812, 814, etc.).
도 9는 본 발명의 일 실시예에 따른 어플리케이션에 대한 관리 정보의 구성의 일 실시예를 나타내는 도면이다.9 is a diagram illustrating an embodiment of configuration of management information for an application according to an embodiment of the present invention.
도 9를 참조하면, 각 어플리케이션 관리 정보(812, 814 등)는 어플리케이션 이름(910), 어플리케이션의 기본 정보(920), 어플리케이션의 속성 정보(930) 및 동작 정보(940)등을 포함한다.Referring to FIG. 9, each application management information 812, 814, etc. may include an application name 910, basic information 920 of an application, attribute information 930 of an application, operation information 940, and the like.
도 10은 도 8 및 도 9의 구성에 기초하여 본 발명의 일 실시예에 따른 자바 프로그램 관리 정보를 테이블화한 일 실시예를 나타내는 도면이다.FIG. 10 illustrates a table listing Java program management information according to an embodiment of the present invention based on the configuration of FIGS. 8 and 9.
도 10을 참조하면, 자바 프로그램 관리 정보(140)는, 타이틀 정보(1010), 어플리케이션의 기본 정보(1020), 어플리케이션의 속성 정보(1030) 및 어플리케이션의 동작 정보(1040)등을 포함한다. Referring to FIG. 10, the Java program management information 140 includes title information 1010, basic information 1020 of an application, attribute information 1030 of an application, operation information 1040 of an application, and the like.
타이틀은, 무비 모드와 마찬가지로 사용자가 인식할 수 있는 논리적인 단위로서, 사용자는 타이틀 정보를 통해 저장 매체에 저장된 정보에 임의로 접근하는 것이 가능하다. 타이틀의 한 가지 예로서, 사용자에게 제공되는 메뉴를 들 수 있다. 타이틀 정보(1010)는, 저장 매체에 기록된 타이틀 번호, 타이틀 이름 등을 나타낸다. 타이틀 번호는 저장 매체에 기록된 복수의 타이틀을 구분하기 위한 구분자의 역할을 한다. 타이틀 이름은 사용자가 타이틀을 구분할 수 있는 구분자의 역할 및 타이틀의 내용을 요약해서 나타내는 역할을 한다. The title is a logical unit that can be recognized by the user as in the movie mode, and the user can arbitrarily access the information stored in the storage medium through the title information. One example of a title is a menu provided to a user. The title information 1010 indicates a title number, title name, and the like recorded on the storage medium. The title number serves as a separator for distinguishing a plurality of titles recorded on the storage medium. The title name serves as a delimiter in which the user can distinguish the title, and summarizes the contents of the title.
어플리케이션의 기본 정보(1020)는, 타이틀에 포함된 각 어플리케이션의 저장 위치, 어플리케이션의 이름, 어플리케이션이 실행되는 타이틀에 대한 정보 및 엔트리 포인트 정보 등을 포함한다. 어플리케이션의 저장 위치는, 저장매체에 저장되어 있는 어플리케이션의 위치 및 파일 이름을 나타내는 정보이다. 어플리케이션 이름은, 다른 어플리케이션과 구분되어 사용자 혹은 다른 어플리케이션에게 제공될 수 있는 정보를 의미한다. 어플리케이션이 실행되는 타이틀에 대한 정보는, 어플리케이션이 동작하게 되는 타이틀에 대한 정보로서, 타이틀 번호 등이 포함된다. 엔트리 포인트 정보는, 사용자의 선택 혹은 네비게이션 커맨드와 같은 명령에 의해 타이틀이 실행될 때, 해당 타이틀에서 최초로 실행될 수 있는 어플리케이션임을 나타내는 정보이다. The basic information 1020 of the application includes a storage location of each application included in the title, the name of the application, information on a title on which the application is executed, entry point information, and the like. The storage location of the application is information representing the location and file name of the application stored in the storage medium. The application name refers to information that can be provided to a user or another application separately from other applications. The information on the title on which the application is executed is information on the title on which the application is to be operated, and includes a title number and the like. The entry point information is information indicating that the application can be executed first in the title when the title is executed by a user's selection or a command such as a navigation command.
어플리케이션의 속성 정보(1030)는, 어플리케이션의 버전 정보, 타이틀간의 실행 제한 정보, 어플리케이션 실행 제한 정보 등을 포함한다. 어플리케이션 버전 정보는, 어플리케이션의 버전을 나타내는 것으로 다운로드 등을 통해 향상된 기능으로 어플리케이션을 업그레이드할 때 유용하게 사용될 수 있다. 인터넷 등을 통해 동일한 이름의 어플리케이션을 다운로드 할 때, 현재 저장 매체에 있는 동일한 이름의 어플리케이션의 버전 정보를 비교하여 높은 버전인 경우에만 다운로드 및 업그레이드를 실행하는데 사용될 수 있다. 타이틀 간의 실행 제한 정보는, 하나의 타이틀 내에서만 동작할 수 있는지, 타이틀의 변화에 관계없이 계속 동작할 수 있는지를 나타낸다. 또한 같은 시리즈의 다른 저장매체로 변경되었을 경우에도 계속적으로 동작을 시킬 수 있는지에 관한 정보를 포함하고 있다. 즉, 어플리케이션이 처음 저장되어 실행되었던 저장 매체가 재생 장치내에 있는 경우에만 동작하는지 또는 처음 저장되어 실행되었던 저장 매체를 제거하고 새로운 저장 매체가 재생 장치 내에 있어도 연속적으로 실행될 수 있는지를 나타내는 어플리케이션에 실행 제한 정보가 포함된다. 또한, 어플리케이션의 실행 제한 정보는, 어플리케이션의 유효 기간을 나타낸 정보 또는 어플리케이션의 동작을 보장할 수 있는 하드웨어 버전 정보 등을 더 포함할 수 있다.The attribute information 1030 of the application includes version information of the application, execution restriction information between titles, application execution restriction information, and the like. The application version information indicates the version of the application and may be usefully used when upgrading the application with an improved function through download or the like. When downloading the application of the same name through the Internet, etc., the version information of the application of the same name currently in the storage medium can be compared and used to execute the download and upgrade only when the higher version. Execution restriction information between titles indicates whether operation can be performed only within one title or operation can continue regardless of title change. It also contains information on whether it is possible to continue operating even if it is changed to another storage medium of the same series. That is, the execution restriction on the application indicating whether the application operates only when the storage medium in which the application was first stored and executed is in the playback device, or removes the storage medium in which the application was initially stored and is executed continuously even if the new storage medium is in the playback device. Information is included. In addition, the execution restriction information of the application may further include information indicating the valid period of the application or hardware version information for ensuring the operation of the application.
어플리케이션의 동작 정보(1040)는, 어플리케이션의 실행 방법, 실행 시작 시간 정보, 종료 방법, 종료 시간 정보, 필요한 메모리 정보 및/또는 실행 시작 파라미터 정보 등을 포함한다. 어플리케이션 실행 방법으로는, 어플리케이션의 실행을 시작하기 위한 방법 혹은 이벤트를 정의한다. 실행 시작 시간 정보는, 어플리케이션이 미디어 시간 등과 같은 시간 정보에 의해 시작하는 경우, 그 시간 정보를 나타낸다. 예를 들어 시작 시간 정보가 0이면, 어플리케이션은 타이틀이 선택되자 마자 바로 실행될 수 있다. 한편, 어플리케이션 종료 방법은 어플리케이션의 실행을 종료하기 위한 방법 또는 이벤트를 정의하고 있다. 종료 시간 정보는 미디어 시간 등과 같은 시간 정보에 의해 종료되는 경우, 그 시간 정보를 나타낸다. 필요한 메모리 정보는, 어플리케이션이 동작하기 위해 필요로 되는 메모리의 크기를 나타낸다. 실행 시작 파라미터 정보는. 어플리케이션이 실행할 때 필요한 외부 정보를 나타내는 것으로 현재 동작중인 어플리케이션의 상태 정보, 플레이어의 상태 정보, 혹은 미리 결정된 임의의 데이터들이 포함될 수 있다. 또는 초기 정보를 알기 위해 확인해야 하는 메모리 혹은 레지스터 정보로 대신할 수도 있다.The operation information 1040 of the application includes an execution method of the application, execution start time information, termination method, end time information, necessary memory information and / or execution start parameter information, and the like. As an application execution method, a method or event for starting execution of an application is defined. The execution start time information indicates the time information when the application starts with time information such as media time. For example, if the start time information is 0, the application can be executed as soon as the title is selected. On the other hand, the application termination method defines a method or event for terminating the execution of the application. The end time information indicates the time information when it is terminated by time information such as media time. The necessary memory information indicates the size of the memory required for the application to operate. Execution start parameter information. The external information required when the application is executed may include the state information of the currently running application, the state information of the player, or any predetermined data. Alternatively, it can be replaced with memory or register information that needs to be checked for initial information.
부가 정보는(1002), 관리 정보 테이블의 버전 정보 등이 포함된다. 관리 정보 테이블의 버전 정보를 비교함으로써, 인터넷 등을 통해 현재 저장매체에 저장된 관리 정보 테이블보다 향상된 테이블로 업그레이드할 수 있다.The additional information 1002 includes version information of the management information table and the like. By comparing the version information of the management information table, it is possible to upgrade to an improved table than the management information table currently stored in the storage medium through the Internet.
한편, 도 11은 본 발명에 따른 자바 프로그램 관리 정보를 테이블화한 다른 실시예를 나타내는 도면이다.11 is a diagram illustrating another embodiment in which Java program management information is tabulated according to the present invention.
도 11을 참조하면, 자바 프로그램 관리 정보(140)는, 타이틀 정보(1110), 어플리케이션의 기본 정보(1120), 어플리케이션의 속성 정보(1130) 및 어플리케이션의 동작 정보(1140)등을 포함한다. Referring to FIG. 11, the Java program management information 140 includes title information 1110, basic information 1120 of an application, attribute information 1130 of an application, operation information 1140 of an application, and the like.
타이틀 정보, 어플리케이션의 기본 정보, 어플리케이션의 속성 정보, 및 부가 정보에 대한 설명은 도 10의 실시예와 동일하다. 다만, 어플리케이션 동작 정보(1140)는, 도 10과는 다른 실행 시작 시간 정보, 종료 시간 정보를 포함하며, 또한, 프리로드 정보, 프리패치 정보, 및 일시 정지 시간 정보를 더 포함한다. The description of the title information, the basic information of the application, the attribute information of the application, and the additional information is the same as in the embodiment of FIG. However, the application operation information 1140 includes execution start time information and end time information different from FIG. 10, and further includes preload information, prefetch information, and pause time information.
도 10에 도시된 실행 시작 시간 정보는 일반적으로 단순 재생을 위한 동영상 데이터의 시간 정보를 기준으로 애플리케이션의 실행 시점을 결정하며, 따라서 그 속성값은 시간값을 갖는다. 그러나, 도 11에 도시된 실행 시작 시간 정보는 동영상 데이터의 단순 재생 이외에도 다양한 인터렉티브 기능을 제공하는 어플리케이션의 재생에 응용될 수 있다. 예를 들면, 다중 스토리를 재생을 위하여, 복수의 재생 경로를 가진 동영상 데이터의 경우, 어플리케이션의 시간 시작 시간 정보 및 종료 시간 정보로서 시간 값만을 사용하면, 재생 가능한 모든 경로마다 해당 시간 값이 달라질 우려가 있으며, 이에 따라 제작자가 원하지 않는 곳에서도 어플리케이션이 실행되는 문제가 발생할 수 있다.The execution start time information shown in FIG. 10 generally determines the execution time of the application based on the time information of the video data for simple reproduction, and thus the attribute value has a time value. However, the execution start time information shown in FIG. 11 may be applied to reproduction of an application that provides various interactive functions in addition to simple reproduction of moving image data. For example, in the case of video data having a plurality of playback paths for playing multiple stories, if only the time value is used as the time start time information and the end time information of the application, the corresponding time value may change for every playable path. As a result, there may be a problem that the application is executed even where the producer does not want.
따라서, 본 실시예는 애플리케이션의 실행 시작 시간 정보 및 종료 시간 정보에 전술한 시간 값외에, 다중 경로를 구분할 수 있는 정보를 더 추가하는 것을 특징으로 한다. 예를 들어, 고화질 동영상의 재생을 위한 BD-ROM의 경우, 실행 시작 시간 정보 또는 종료 시간 정보로서, 재생의 순서를 정적으로 기록하고 있는 플레이리스트(PlayList)에 포함된 기본 재생 단위인 플레이아이템(PlayItem)의 구분자를 더 포함하는 것이 바람직하다. 이에 따라, 재생장치는 실행 시작 시간 정보 및 종료 시간 정보를 해석할 때, 플레이아이템의 구분자와 시간값을 이용하여, 속성 값에서 지시하는 플레이아이템에 정의된 시간값에 따라 어플리케이션을 실행시키거나 종료시킬 수 있다.Therefore, the present embodiment is characterized by further adding information for distinguishing multiple paths, in addition to the above-described time value, to the execution start time information and the end time information of the application. For example, in the case of a BD-ROM for playing a high-definition video, as a start start time information or end time information, a playitem (a basic play unit) included in a playlist (PlayList) that records recording order statically ( It is preferable to further include a separator of PlayItem). Accordingly, the playback device executes or terminates the application according to the time value defined in the playitem indicated by the attribute value by using the delimiter and the time value of the playitem when interpreting the execution start time information and the end time information. You can.
또한, 프리로드 정보는 사용자에 의해 선택되거나 또는 정해진 재생 순서에 의하여 특정 타이틀이 시작되기 전에, 해당 타이틀에 포함된 각각의 어플리케이션들을 프리로드 버퍼에 저장할지를 결정하는 정보이다. 다양한 애플리케이션과 함께 동영상 데이터가 재생되는 타이틀의 경우, 동영상 데이터의 끊김없는(seamless) 재생을 보장하기 위하여, 저장 매체로부터 동영상 데이터가 미리 버퍼링되어야 한다. 그러나, 어플리케이션을 실행시키기 위해 저장 매체로부터 어플리케이션 데이터를 읽어들이게 되면, 동영상 데이터의 버퍼링이 끊겨, 끊김없는 재생을 보장할 수 없게 된다. 따라서 동영상 데이터의 재생이 시작되기 전에 동영상 데이터와 함께 재생될 애플리케이션들을 프리로드 버퍼로 미리 읽어 들여 실행시킨다. 본 실시예에 포함된 프리로딩 정보는 특정 타이틀에 포함된 여러 어플리케이션 데이터들의 프리 로드 여부를 결정할 수 있도록 한다. In addition, the preload information is information for determining whether to store respective applications included in the title in the preload buffer before the specific title is selected by the user or by a predetermined playback order. In the case of a title in which moving picture data is played with various applications, the moving picture data must be buffered in advance from the storage medium in order to ensure seamless playback of the moving picture data. However, when the application data is read from the storage medium to execute the application, the buffering of the moving picture data is broken, and seamless playback cannot be guaranteed. Therefore, applications to be played with the video data are read in advance into the preload buffer before execution of the video data is started. The preloading information included in the present embodiment may determine whether to preload various application data included in a specific title.
한편, 프리패치 정보는 특정 타이틀이 시작된 후, 버퍼링된 해당 애플리케이션을 시스템 메모리로 읽어 들이는 시간을 지시한다. 이는 해당 애플리케이션이 곧 시작할 것임을 나타내는 사전 예지 사항이기도 하다. 여기서 사용되는 시간 정보도 전술한 실행 시작 시간 정보와 같이 플레이아이템의 구분자와 시간값을 가지는 것이 바람직하다.Meanwhile, the prefetch information indicates a time for reading the buffered application into the system memory after the start of a specific title. This is also a preliminary prediction that the application will start soon. It is preferable that the time information used herein also has a separator and a time value of the playitem as in the above-described execution start time information.
나아가, 일시 정지 시간 정보는 어플리케이션이 실행 중 일지 정지할 시간을 지시한다. 어플리케이션의 일시 정지는 어플리케이션이 사용하던 리소스(resources) 중 일부를 시스템으로 반환하여 다른 어플리케이션이 일시적으로 동작할 수 있도록 하는 것을 말한다. 일시 정지 시간 정보에는 일시 정지한 어플리케이션이 다시 시작되는 시간 및 방법이 더 포함될 수도 있다. 사용되는 시간값은 전술한 실행시작 시간 정보와 동일한 형태를 갖는 것이 바람직하다.Furthermore, the pause time information indicates a time at which the application is to be paused while running. Suspending an application refers to returning some of the resources used by the application to the system so that other applications can operate temporarily. The pause time information may further include a time and a method of restarting the paused application. The time value used preferably has the same form as the execution start time information described above.
이하에서는 전술한 프로그램 관리정보 테이블의 구조를 기초로 동영상 데이터와 함께 어플리케이션 데이터를 재생하는 방법을 설명한다. Hereinafter, a method of reproducing application data together with moving image data based on the structure of the program management information table described above will be described.
도 12는 본 발명에 따른 저장 매체에 기록된 데이터의 재생 방법을 나타내는 플로차트이다.12 is a flowchart showing a method of reproducing data recorded on a storage medium according to the present invention.
도 12를 참조하면, 먼저 시스템 데이터를 읽어 실행될 타이틀을 선택한다(1202 단계). 사용자로부터 재생될 타이틀에 대한 선택정보를 받을 수도 있고, 전술한 시스템 데이터의 스타트업 정보에 따라 재생될 타이틀이 자동 선택될 수도 있다. 선택된 타이틀이 풀 모드의 프로그램 데이터(어플리케이션 데이터)인지 확인한다(1204 단계). 어플리케이션 데이터가 아니면, 영화 모드로 선택된 타이틀을 재생한다(1206 단계). 만약 어플리케이션 데이터이면, 전술한 프로그램 관리 정보에 기초하여 선택된 타이틀에 포함된 어플리케이션 데이터를 실행시킨다. 프로그램 관리 정보에 포함된, 어플리케이션 데이터의 위치, 시작 방법, 시작 시간, 종료 방법, 종료 시간, 일시 정지 시간, 메모리의 할당량, 타이틀 제한 또는 비제한 정보, 프리로드 정보 등을 이용하여, 선택된 타이틀에 포함된 어플리케이션 데이터를 실행/일시정지/종료시킨다(1208 단계).12, first, a title to be executed by reading system data is selected (step 1202). The user may receive selection information on the title to be reproduced, or the title to be reproduced may be automatically selected according to the above-mentioned startup information of the system data. Check whether the selected title is the program data (application data) in the full mode (step 1204). If not the application data, the title selected in the movie mode is played back (step 1206). If it is application data, the application data included in the selected title is executed based on the above program management information. By using the location, start method, start time, end method, end time, pause time, memory quota, title limit or unrestricted information, preload information, etc., included in the program management information, Run / pause / terminate the included application data (step 1208).
보다 구체적으로, 도 13은 도 12에 도시된 재생 방법의 상세 플로차트이다.More specifically, FIG. 13 is a detailed flowchart of the reproduction method shown in FIG.
도 13을 참조하면, 프로그램 관리 정보가 포함된 저장 매체에 기록된 데이터를 재생하는 과정이 도시되어 있다.Referring to FIG. 13, a process of reproducing data recorded on a storage medium including program management information is shown.
1) 재생장치가 저장 매체에서 시스템 데이터(120)를 로드한다(1302 단계). 시스템 데이터에는 저장 매체가 포함하고 있는 타이틀 정보 및 최초 실행 시작 정보가 포함되어 있다. 1) The playback apparatus loads the system data 120 from the storage medium (step 1302). The system data includes title information and first execution start information included in the storage medium.
2) 실행될 타이틀을 선택한다(1304 단계). 타이틀이 선택되는 방법은 크게 두 가지로 나뉜다. 하나는 제작자가 정해놓은 최초 실행 시작 정보를 기초로 네비게이션에 의해 특정 타이틀을 선택하는 것이고, 다른 하나는 사용자가 직접 타이틀 검색을 통해 특정 타이틀을 선택하는 것이다.2) Select the title to be executed (step 1304). There are two ways to select a title. One is to select a specific title by navigation based on the initial execution start information set by the producer, and the other is to select a specific title through the title search directly by the user.
3) 선택된 타이틀이 프로그램 기능을 제공하는 어플리케이션 데이터를 포함하는지 확인한다(1306 단계). 만약, 포함하지 않으면, 단순한 동영상 데이터 이므로 선택된 타이틀을 영화 모드로 재생하면 된다(1308 단계). 반면, 포함하면, 재생장치는 프로그램 관리 정보 테이블(140)에서 해당 타이틀에 해당하는 프로그램 관리 정보를 검색한다(1310 단계). 3) Check whether the selected title includes application data providing a program function (step 1306). If it is not included, the selected title is simply moving image data, so the selected title can be played in the movie mode (step 1308). On the other hand, if included, the playback apparatus retrieves program management information corresponding to the title from the program management information table 140 (step 1310).
5) 검색된 프로그램 관리 정보 중 프리로딩 정보를 읽는다. 프리로딩 정보에는 프리로드 여부가 속성으로서 기록되어 있다. 만약, 프리로드해야 하면, 프로그램 관리 정보 테이블에서 프리로드 해야 할 어플리케이션 데이터의 저장 위치 및 이름을 획득하여 해당하는 어플리케이션 데이터를 프리로드 버퍼로 읽어들인다. 만약, 프리로드가 필요하지 않다면, 프로그램 관리 정보 테이블에서 엔트리 포인트 정보를 읽어 해당하는 어플리케이션 데이터를 로드한다(1312 단계)5) Read the preloading information among the retrieved program management information. In the preloading information, whether or not to preload is recorded as an attribute. If preloading is required, the storage location and name of the application data to be preloaded are acquired from the program management information table, and the corresponding application data is read into the preload buffer. If the preload is not necessary, the entry point information is read from the program management information table and the corresponding application data is loaded (step 1312).
6) 검색된 프로그램 관리 정보 중 실행 시작 시간, 시작 방법, 종료 시간, 종료 방법, 일시 저장 시간 등의 어플리케이션 동작 정보(1070 또는 1170)에 따라 프로그램 엔진을 통해 어플리케이션 데이터를 실행/일시 정지/종료시킨다(1314 단계). 6) execute / pause / terminate the application data through the program engine according to the application operation information 1070 or 1170 such as execution start time, start method, end time, end method, and temporary storage time among the retrieved program management information ( Step 1314).
7) 또한, 어플리케이션이 실행되는 동안, 어플리케이션 동작 정보(1070 또는 1170) 중 프리패치 정보에 따라, 이후에 실행될 어플리케이션 데이터를 버퍼로부터 시스템 메모리로 미리 읽어 들일 수도 있다. 시스템 메모리에 로드된 어플리케이션 데이터는 전술한 시작 시간 또는 시작 방법 정보에 정의된 때에 프로그램 엔진을 통해 실행된다.7) Also, while the application is running, the application data to be executed later may be read from the buffer into the system memory according to the prefetch information in the application operation information 1070 or 1170. Application data loaded into the system memory is executed through the program engine at the time defined in the above-described start time or start method information.
8) 어플리케이션이 실행 중에 다른 타이틀이 선택되면, 현재까지 실행되던 모든 어플리케이션을 종료하고, 상기 1306 단계부터 반복한다.8) If another title is selected while the application is running, all applications that have been executed so far are terminated and the process is repeated from step 1306.
상술한 바와 같이, 본 발명에 따른 관리 정보 테이블은 타이틀을 기준으로 어플리케이션에 대한 관리 정보를 정리하는 방식을 사용한다. As described above, the management information table according to the present invention uses a method of organizing management information about an application based on a title.
본 발명에 따른 저장 매체를 재생하는 재생 장치 중의 어플리케이션 매니저(288)는, 시스템 데이터(120)에서 지정하고 있는 어플리케이션을 실행시키기 위해 이상에서 살펴본 관리 정보 테이블의 내용을 참조하여 해당 어플리케이션을 실행시킨다. The application manager 288 in the playback apparatus for reproducing the storage medium according to the present invention executes the application by referring to the contents of the management information table described above in order to execute the application specified by the system data 120.
이와 달리, 관리 정보 테이블의 내용이 시스템 데이터에 함께 포함되어, 어플리케이션 매니저(288)가 시스템 데이터를 참조하여 포함된 관리 정보를 참조하여 어플리케이션을 실행시킬 수도 있다. Alternatively, the contents of the management information table may be included in the system data so that the application manager 288 may execute the application with reference to the included management information with reference to the system data.
나아가, 살펴본 실시예와 같이 타이틀 별로 관리 정보를 정리하는 대신, 개별 어플리케이션 별로 해당 관리 정보를 정리하는 방법을 사용할 수도 있다.Furthermore, instead of organizing management information by title as in the above-described embodiment, a method of organizing corresponding management information by individual applications may be used.
또한, 선택적으로 도 7에 도시된 방식에 따라 메뉴도 타이틀과 동일한 형식으로 분류하는 것이 가능하다.It is also possible to optionally classify the menus in the same format as the titles according to the scheme shown in FIG.
한편, 자바 프로그램 관리 정보는 프로그램 모드 선택시, 즉 부가 기능 모드 선택시에 각 자바 타이틀이 실행되기 전에 참조되어, 복수개의 자바 어플리케이션을 타이틀 단위로 관리할 수 있도록 하며, 복수개의 어플리케이션 실행시 메모리를 원할히 관리할 수 있도록 한다.On the other hand, the Java program management information is referred to before each Java title is executed when the program mode is selected, that is, when the add-on mode is selected, so that a plurality of Java applications can be managed in units of titles. Allow for good management.
즉, 타이틀 단위로 동작하는 어플리케이션이 정해지면, 타이틀 단위로 각 어플리케이션이 필요로 하는 메모리를 파악할 수 있으며, 타이틀 단위에서 필요한 메모리의 파악이 가능하다. 또한, 타이틀 내에서 동작하지만, 어플리케이션의 특성에 따라 시작 시간 및 종료 시간을 정하여 동시에 실행되지 않는 어플리케이션이 존재할 수 있으며, 이러한 어플리케이션은 동일한 메모리 공간을 사용하는 것이 가능하므로, 필요로 하는 메모리의 양을 줄이는 것이 가능하게 된다. In other words, when an application operating in a title unit is determined, the memory required for each application in the title unit can be grasped, and the memory required in the title unit can be grasped. In addition, there may be applications that operate within the title but do not execute simultaneously by setting start time and end time according to the characteristics of the application. Since such applications may use the same memory space, the amount of memory required may be increased. It is possible to reduce.
또한, 상기에서는 자바 어플리케이션이 사용된 실시예를 들어 설명하였지만, 선택적으로 HTML 또는 다른 어플리케이션에 대해서도 동일한 방식을 적용하는 것이 가능하다.In addition, although the above has been described with reference to an embodiment in which a Java application is used, the same method may be selectively applied to HTML or another application.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
상술한 바와 같이, 본 발명에 따른 저장 매체를 사용하는 경우, 동영상 재생시 부가 기능을 제공하기 위한 프로그램 기반의 복수개의 어플리케이션을 타이틀 단위로 관리하는 것이 가능하며, 또한 복수개의 어플리케이션 실행시 메모리를 원할히 관리할 수 있다는 장점이 있다.As described above, in the case of using the storage medium according to the present invention, it is possible to manage a plurality of program-based applications for providing additional functions when reproducing a moving picture in title units, and to facilitate memory when executing a plurality of applications. It has the advantage of being manageable.
도 1은 본 발명의 일 실시예에 따른 저장 매체에 기록되는 데이터의 종류를 나타내는 도면,1 is a diagram showing the type of data recorded on a storage medium according to one embodiment of the present invention;
도 2는 본 발명의 일 실시예에 따른 저장 매체로부터 데이터를 재생하기 위한 재생 장치,2 is a playback apparatus for reproducing data from a storage medium according to an embodiment of the present invention;
도 3은 도 2에 도시된 재생 장치를 보다 구체적으로 설명하기 위한 도면,FIG. 3 is a diagram for explaining the playback apparatus illustrated in FIG. 2 in more detail;
도 4는 본 발명의 일 실시예에 따른 코어 데이터를 네비게이션하는 방법을 설명하기 위한 도면,4 is a view for explaining a method for navigating core data according to an embodiment of the present invention;
도 5는 본 발명의 일 실시예에 따른 풀 모드 데이터를 네비게이션하는 방법을 설명하기 위한 도면,5 is a view for explaining a method for navigating full mode data according to an embodiment of the present invention;
도 6은 본 발명의 일 실시예에 따른 프로그램 관리 정보를 이용하여 풀 모드 데이터를 네비게이션하는 방법을 설명하기 위한 도면,6 is a view for explaining a method for navigating full mode data using program management information according to an embodiment of the present invention;
도 7은 본 발명의 일 실시예에 따른 자바 프로그램 관리 정보를 테이블화한 일 실시예를 나타내는 도면,7 is a diagram illustrating an embodiment in which Java program management information is tabulated according to an embodiment of the present invention;
도 8은 본 발명의 일 실시예에 따른 프로그램 관리 정보의 구성의 일 실시예를 나타내는 도면,8 is a diagram illustrating an embodiment of a configuration of program management information according to an embodiment of the present invention;
도 9는 본 발명의 일 실시예에 따른 어플리케이션 관리 정보의 구성의 일 실시예를 나타내는 도면,9 is a diagram illustrating an embodiment of a configuration of application management information according to an embodiment of the present invention;
도 10은 도 8 및 도 9의 구성에 기초하여 본 발명의 일 실시예에 따른 자바 프로그램 관리 정보를 테이블화한 일 실시예를 나타내는 도면,FIG. 10 is a diagram illustrating an embodiment in which Java program management information is tabulated based on the configuration of FIGS. 8 and 9;
도 11은 본 발명에 따른 자바 프로그램 관리 정보를 테이블화한 다른 실시예를 나타내는 도면,11 is a diagram showing another embodiment in which Java program management information is tabulated according to the present invention;
도 12는 본 발명에 따른 코어 모드 또는 풀 모드 데이터의 재생 방법을 나타내는 플로차트,12 is a flowchart showing a method of reproducing core mode or full mode data according to the present invention;
도 13은 도 12에 도시된 재생 방법의 상세 플로차트이다.FIG. 13 is a detailed flowchart of the reproduction method shown in FIG. 12.
Claims (25)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/974,030 US8218951B2 (en) | 2003-10-30 | 2004-10-27 | Storage medium storing program management information, and reproducing method and apparatus |
EP04793594A EP1680733A4 (en) | 2003-10-30 | 2004-10-28 | Storage medium storing program management information, and reproducing method and apparatus |
PCT/KR2004/002737 WO2005043377A1 (en) | 2003-10-30 | 2004-10-28 | Storage medium storing program management information, and reproducing method and apparatus |
TW93132708A TWI260536B (en) | 2003-10-30 | 2004-10-28 | Storage medium storing program management information, and reproducing method and apparatus |
JP2006537878A JP4768624B2 (en) | 2003-10-30 | 2004-10-28 | Recording medium on which program management information is recorded, method for reproducing the same, and apparatus therefor |
JP2010265740A JP5254304B2 (en) | 2003-10-30 | 2010-11-29 | Recording medium on which program management information is recorded, method for reproducing the same, and apparatus therefor |
US13/465,718 US9002182B2 (en) | 2003-10-30 | 2012-05-07 | Storage medium storing program management information, and reproducing method and apparatus |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20030076218 | 2003-10-30 | ||
KR1020030076218 | 2003-10-30 | ||
KR10-2003-0076218 | 2003-10-30 | ||
KR1020040008466 | 2004-02-09 | ||
KR10-2004-0008466 | 2004-02-09 | ||
KR1020040008466A KR20050041833A (en) | 2003-10-30 | 2004-02-09 | Storage medium storing program management information, reproducing apparatus for the storage medium, and method therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050041854A true KR20050041854A (en) | 2005-05-04 |
KR100561433B1 KR100561433B1 (en) | 2006-03-17 |
Family
ID=37243242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040045406A KR100561433B1 (en) | 2003-10-30 | 2004-06-18 | Storage medium storing program management information, reproducing apparatus for the storage medium, and method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100561433B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100732855B1 (en) * | 2005-10-06 | 2007-06-27 | 에스케이 텔레콤주식회사 | Contents service system using application program interface and method therefore |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08287653A (en) * | 1995-04-12 | 1996-11-01 | Fujitsu Ltd | Optical recording medium |
KR100771264B1 (en) * | 2001-05-12 | 2007-10-29 | 엘지전자 주식회사 | Medium on recorded script files, and method and apparatus for reproducing them |
KR20010069858A (en) * | 2001-05-15 | 2001-07-25 | 양덕준 | System and method for playing multimedia file |
JP2002245754A (en) * | 2001-12-28 | 2002-08-30 | Nec Corp | Disk storage medium, video editing and reproducing method therefor and video editing and reproducing device therefor |
-
2004
- 2004-06-18 KR KR1020040045406A patent/KR100561433B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100732855B1 (en) * | 2005-10-06 | 2007-06-27 | 에스케이 텔레콤주식회사 | Contents service system using application program interface and method therefore |
Also Published As
Publication number | Publication date |
---|---|
KR100561433B1 (en) | 2006-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100601677B1 (en) | Method of reproducing along with data recorded on storage medium and downloaded data and apparatus thereof | |
US9002182B2 (en) | Storage medium storing program management information, and reproducing method and apparatus | |
US8582960B2 (en) | Storage medium storing moving-image data that includes mode information, and reproducing apparatus and method | |
JP5254304B2 (en) | Recording medium on which program management information is recorded, method for reproducing the same, and apparatus therefor | |
KR100561479B1 (en) | Information storage medium storing a plurality of titles, reproducing apparatus and method thereof | |
KR100677132B1 (en) | Storage medium recording multimedia data for reproduction of audio-visual data and programming function, and reproducing apparatus and method thereof | |
JP2007535857A (en) | Recording medium recording application having programming function, reproducing apparatus, and reproducing method thereof | |
KR20050048416A (en) | Storage medium including preloading data, display playback device and display playback method thereof | |
KR100561404B1 (en) | Audio-video data playback device setting up player mode information of which, Storage medium, and display playback method thereof | |
KR100561433B1 (en) | Storage medium storing program management information, reproducing apparatus for the storage medium, and method therefor | |
KR100694123B1 (en) | Storage medium including audio-visual data and application programs, apparatus and method thereof | |
KR20060031750A (en) | Storage medium recording multimedia data for reproduction of audio-visual data and programming function, and reproducing apparatus and method thereof | |
KR100561483B1 (en) | Information storage medium storing a plurality of titles, reproducing apparatus and method thereof | |
JP2006164509A (en) | Information recording medium on which a plurality of titles to be reproduced by animation are recorded, and its play back device and method | |
KR100813957B1 (en) | Storage medium including meta data for enhanced search and event-generation, display playback device and display playback method thereof | |
KR100965893B1 (en) | Display playback method of storage medium containing audio-visual data including mode information | |
JP2009032342A (en) | Information storage medium, information reproducing device, and information reproducing method | |
KR20060069733A (en) | Av data reproducing apparatus and method which containing memory management table, and memory management method therein | |
KR20050109254A (en) | Reproducing apparatus reproducing downloaded data via network, reproducing method, and storage medium thereof | |
KR20060059572A (en) | Storage medium including information for playing back playlist automatically and apparatus and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090226 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |