KR20070092080A - 기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치 - Google Patents

기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치 Download PDF

Info

Publication number
KR20070092080A
KR20070092080A KR1020060071398A KR20060071398A KR20070092080A KR 20070092080 A KR20070092080 A KR 20070092080A KR 1020060071398 A KR1020060071398 A KR 1020060071398A KR 20060071398 A KR20060071398 A KR 20060071398A KR 20070092080 A KR20070092080 A KR 20070092080A
Authority
KR
South Korea
Prior art keywords
angle
title
application
recording medium
angle change
Prior art date
Application number
KR1020060071398A
Other languages
English (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 KR20070092080A publication Critical patent/KR20070092080A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/4221Dedicated function buttons, e.g. for the control of an EPG, subtitles, aspect ratio, picture-in-picture or teletext
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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

Abstract

본 발명은 멀티앵글 타이틀을 재생하는 기록매체 재생방법 및 재생장치, 기록매체와 기록매체 기록방법 및 기록장치에 관한 것이다.
본 발명은 기록매체에 기록된 타이틀을 재생하는 기록매체 재생방법에 있어서, 어플리케이션의 실행에 따라 상기 타이틀을 재생하되, 상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생방법 및 재생장치를 제공한다.
아울러, 상기와 같이 타이틀의 재생앵글을 변경하도록 프로그램된 어플리케이션을 포함하는 기록매체와 상기 어플리케이션을 기록매체에 기록하는 기록매체 기록방법 및 기록장치를 제공한다.
광디스크, 멀티앵글, 자바

Description

기록매체 재생방법 및 재생장치, 기록매체와 기록매체 기록방법 및 기록장치 {Method and apparatus for reproducing recording medium, recording medium and method and apparatus for recording recording medium}
도 1은 본 발명의 개념적 이해를 돕기 위해 나타낸 것으로, 광 기록재생장치와 주변기기 간의 통합적 사용의 일 예를 보여주기 위해 나타낸 것이다.
도 2는 본 발명의 기록매체 내에 기록되는 파일구조에 대한 하나의 실시예를 도시한 것이다.
도 3은 멀티 앵글 타이틀(Multi-angle Title) 구현에 관한 일 실시예를 도시한 것이다.
도 4은 본 발명에 의해 광디스크에 기록되는 데이터 기록구조를 도시한 것이다.
도 5는 본 발명의 광 기록재생장치의 전체 구성에 관한 일 실시예를 나타낸 것이다.
도 6는 본 발명의 재생시스템을 활용한 데이터 재생장치의 일 실시예를 도시한 것이다.
도 7a ~ 7b는 본 발명의 타이틀의 재생상태정보를 저장하는 메모리 유닛의 일 실시예를 도시한 것이다.
도 8a ~ 도 8b는 본 발명에 따라 BD-J 모드에서 사용자명령에 의한 앵글 체인지를 구현하는 제 1 실시예를 도시한 것이다.
도 9는 본 발명에 따라 BD-J 모드에서 사용자명령에 의한 앵글 체인지를 구현하는 제 2 실시예를 도시한 것이다.
도 10은 본 발명에 따라 BD-J 모드에서 사용자명령에 의한 앵글 체인지를 구현하는 제 3 실시예를 도시한 것이다.
도 11은 본 발명에 따라 앵글 체인지를 수행할 수 있는 어플리케이션의 일 실시예를 도시한 것이다.
*도면의 주요부분에 대한 부호의 설명
11 : 픽업 12 : 제어부
13 : 신호처리부 15 : 로컬 스토리지
17 : 재생시스템
40 : 가상 파일 시스템(virtual File System)
42 : BD-J 오브젝트(BD-J Object)
42a : 키 인터레스트 테이블(Key Interest Table)
42b : 터미널 정보(Terminal Information)
42c : 어플리케이션 매니지먼트 테이블(Application Management Table)
42d : 어플리케이션 캐쉬 정보(Applicatio Cache Information)
51 : 가상 파일구조(Virtual package)
17 : 재생시스템 (playback system)
171 : 모듈 매니저(Module Manager)
172 : 키 이벤트 핸들러(Key Event Handler)
173 : 네비게이터(Navigator)
174 : BD-J 모듈(BD-J Module) 175 : HDMV 모듈(Movie Module)
176 : 플레이백 컨트롤 엔진(Playback control engine)
177 : 프리젠테이션 엔진(Presentation engine)
174a: 어플리케이션 매니저(Application Manager)
174b : 자바가상머신(Java VM)
174c : 어플리케이션 캐쉬 매니저(Application Cache Manager)
174d : 어플리케이션 캐쉬(Application Cache)
175a : 컨맨드 프로세스(command processor)
176a : 플레이백 컨트롤 펑션(Playback control functions)
176b : 플레이어 레지스터(Player registers)
본 발명은 콘텐츠 제공자에 의해 제공된 데이터의 재생에 관한 것으로, 특히 상기 데이터를 보호할 수 있는 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법 및 기록장치에 관한 것이다.
기록매체로서 대용량의 데이터를 기록할 수 있는 광 디스크가 널리 사용되고 있다. 그 중에서도 최근에는 고화질의 비디오 데이터와 고음질의 오디오 데이터를 장시간 동안 기록하여 저장할 수 있는 새로운 고밀도 기록매체, 예를 들어 블루레이 디스크(BD: Blu-ray Disc)와 고밀도 디지털 비디오 디스크(HD-DVD: High Definition Digital Versatile Disc) 등이 개발되고 있다.
차세대 기록매체 기술인 고밀도 기록매체는 기존의 DVD를 현저하게 능가하는 데이터를 구비할 수 있는 차세대 광기록 솔루션으로 근래에 다른 디지털기기와 함께 이에 대한 개발이 진행되고 있다. 아울러, 고밀도 기록매체 규격을 응용한 광기록재생장치의 개발도 시작되었다.
상기 고밀도 기록매체 및 광기록재생장치의 개발에 따라, 다양한 속성의 데이터들을 콘텐츠로 하는 타이틀 예를 들어, 자바 플랫폼을 바탕으로 높은 인터액티버티를 가능하게 하는 타이틀의 기록 및 재생 또한 가능해지고 있다.
그러나, 아직 고밀도 기록매체 규격이 완전히 완비되지 못한 관계로 완성된 광기록재생장치를 개발하는 데 어려움이 따르는 것이 사실이다. 특히, 콘텐츠가 멀티앵글을 지원하는 경우, 콘텐츠의 재생 앵글을 변경하는 바람직한 방법 등이 알려진바 없어, 본격적인 고밀도 기록매체 기반의 광기록재생장치를 개발하는데 많은 제약이 따르는 실정이다.
본 발명은 상기와 같은 실정을 감안하여 창작된 것으로서, 멀티앵글을 지원하는 콘텐츠를 재생하는 데이터 재생방법 및 재생장치를 제공하는데 그 목적이 있다. 아울러, 앵글의 변경을 가능하게 하는 기록매체와 상기 기록매체에 데이터를 기록하는 데이터 기록방법 및 기록장치를 제공하고자 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 기록매체에 기록된 타이틀을 재생하는 기록매체 재생방법에 있어서, 어플리케이션의 실행에 따라 상기 타이틀을 재생하되, 상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생방법을 제공한다.
또한, 상기 어플리케이션은 상기 앵글 체인지 명령을 수신하기 위해, 상기 타이틀이 포함하는 앵글에 관련된 앵글체인지리스너 인터페이스(interface AngleChangeListener)를 상기 어플리케이션 내의 앵글컨트롤 인터페이스(interface AngleControl)를 구현하는 객체에 등록할 수 있다.
또한, 상기 앵글 체인지 명령은 상기 앵글컨트롤 인터페이스를 구현하는 객체에 수신되어, 상기 등록된 앵글체인지리스너에 의해 상기 앵글체인지리스터 인터페이스를 구현하는 객체에 송신될 수 있다.
또한, 상기 앵글 체인지 명령을 수신한 상기 앵글체인지리스너 인터페이스를 구현하는 객체는 "angleChange()"를 이용하여 상기 타이틀의 재생앵글을 변경할 수 있다.
또한, 상기 앵글 체인지 명령에 대응하는 앵글의 앵글넘버를 상기 타이틀의 재생상태를 저장하는 메모리에 설정하는 단계를 더 포함할 수 있다.
또한, 본 발명은 기록매체에 기록된 타이틀을 재생하는 기록매체 재생방법에 있어서, 어플리케이션의 실행에 따라 상기 타이틀을 재생하되, 상기 어플리케이션은 앵글 체인지 명령에 관련된 이벤트를 수신하고, 상기 타이틀의 재생상태를 저장하는 메모리로부터 앵글넘버를 확인하여, 상기 앵글넘버에 대응하는 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생방법을 제공한다.
또한, 상기 이벤트는 상기 타이틀의 플레이리스트를 지시하는 로케이터를 포함할 수 있다.
또한, 상기 이벤트는 재생중인 플레이아이템을 지시하는 로케이터를 포함할 수 있다.
또한, 상기 이벤트는 재생중인 스트림을 지시하는 로케이터를 포함할 수 있다.
또한, 상기 메모리는 "Player Status Registers"일 수 있다.
또한, 본 발명은 기록매체에 기록된 타이틀을 재생하는 기록매체 재생장치에 있어서, 상기 기록매체로부터 상기 타이틀과 관련된 데이터를 독출하는 재생부; 그리고 상기 타이틀과 관련된 어플리케이션의 실행하여 상기 타이틀을 재생하는 제어부를 포함하되, 상기 제어부는 앵글 체인지 명령을 생성하고, 상기 어플리케이션은 상기 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생장치를 제공한다.
또한, 상기 어플리케이션은 상기 앵글 체인지 명령을 수신하기 위해, 상기 타이틀이 포함하는 앵글에 관련된 앵글체인지리스너 인터페이스(interface AngleChangeListener)를 상기 어플리케이션 내의 앵글컨트롤 인터페이스(interface AngleControl)를 구현하는 객체에 등록할 수 있다.
또한, 상기 앵글 체인지 명령은 상기 앵글컨트롤 인터페이스를 구현하는 객체에 수신되어, 상기 등록된 앵글체인지리스너에 의해 상기 앵글체인지리스터 인터페이스를 구현하는 객체에 송신되고, 상기 앵글 체인지 명령을 수신한 상기 앵글체인지리스너 인터페이스를 구현하는 객체는 "angleChange()"를 이용하여 상기 타이틀의 재생앵글을 변경할 수 있다.
또한, 상기 기록매체 재생장치는 상기 타이틀의 재생상태를 저장하는 메모리를 더 포함하고, 상기 제어부는 상기 앵글 체인지 명령에 대응하는 앵글의 앵글넘버를 상기 설정하는 것을 특징으로 할 수 있다.
또한, 본 발명은 기록매체에 기록된 타이틀을 재생하는 기록매체 재생장치에 있어서, 상기 기록매체로부터 상기 타이틀과 관련된 데이터를 독출하는 재생부; 상기 타이틀의 재생상태를 저장하는 메모리; 그리고 상기 타이틀의 재생과 관련된 어플리케이션의 실행하여 상기 타이틀을 재생하는 제어부를 포함하되, 상기 제어부는 앵글 체인지 명령에 관련된 이벤트를 생성하고, 상기 이벤트를 수신한 어플리케이션은 상기 메모리로부터 앵글넘버를 확인하여, 상기 앵글넘버에 대응하는 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생장치를 제공한다.
또한, 상기 이벤트는 상기 타이틀의 플레이리스트를 지시하는 로케이터를 포 함할 수 있다.
또한, 상기 이벤트는 재생중인 플레이아이템을 지시하는 로케이터를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 이벤트는 재생중인 스트림을 지시하는 로케이터를 포함할 수 있다.
또한, 상기 메모리는 "Player Status Registers"일 수 있다.
또한, 본 발명은 타이틀을 포함하는 기록매체에 있어서, 상기 타이틀의 스트림 데이터가 기록되는 스트림 영역; 그리고 상기 타이틀의 재생과 관련된 어플리케이션이 기록되는 프로그램 영역을 구비하되, 상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하도록 프로그램된 것을 특징으로 하는 기록매체를 제공한다.
또한, 상기 어플리케이션은 상기 앵글 체인지 명령의 수신에 이용되는 앵글체인지리스너 인터페이스와, 상기 타이틀의 앵글 체인지를 가능하게 하는 앵글컨트롤 인터페이스를 포함할 수 있다.
또한, 상기 앵글컨트롤 인터페이스는 "addAngleChangeListener()", "getAvailableAngle()", "getCurrentAngle()", "removeAnlgeChangeListener", "selectAngle()"와 "selectDefaultAngle()" 메쏘드들을 포함할 수 있다.
또한, 본 발명은 타이틀을 기록매체에 기록하는 기록매체 기록방법에 있어서, 상기 타이틀의 스트림 데이터와 상기 타이틀의 재생과 관련된 어플리케이션을 상기 기록매체에 기록하되, 상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하도록 프로그램된 것을 특징으로 하는 기록매체 기록방법을 제공한다.
또한, 상기 어플리케이션은 상기 앵글 체인지 명령의 수신에 이용되는 앵글체인지리스너 인터페이스와 상기 타이틀의 앵글 체인지를 가능하게 하는 앵글컨트롤 인터페이스를 포함하고, 상기 앵글컨트롤 인터페이스는 "addAngleChangeListener()", "getAvailableAngle()", "getCurrentAngle()", "removeAnlgeChangeListener", "selectAngle()"와 "selectDefaultAngle()" 메쏘드들을 포함할 수 있다.
또한, 본 발명은 타이틀을 기록매체에 기록하는 기록매체 기록장치에 있어서, 상기 기록매체 데이터를 기록하는 기록부; 그리고 상기 타이틀의 스트림 데이터와 상기 타이틀의 재생과 관련된 어플리케이션을 기록하도록 상기 기록부를 제어하는 제어부를 포함하되, 상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하도록 프로그램된 것을 특징으로 하는 기록매체 기록장치를 제공한다.
또한, 상기 어플리케이션은 상기 앵글 체인지 명령의 수신에 이용되는 앵글체인지리스너 인터페이스와 상기 타이틀의 앵글 체인지를 가능하게 하는 앵글컨트롤 인터페이스를 포함하고, 상기 앵글컨트롤 인터페이스는 "addAngleChangeListener()", "getAvailableAngle()", "getCurrentAngle()", "removeAnlgeChangeListener", "selectAngle()"와 "selectDefaultAngle()" 메쏘드들을 포함할 수 있다.
이하, 본 발명은 설명의 편의를 위해 기록매체로서 광 디스크(optical disc) 특히 "블루레이 디스크(BD)"를 예로 하여 설명하고자 하나, 본 발명의 기술사상은 HD-DVD를 비롯한 다른 기록매체에도 동일하게 적용 가능함은 자명하다.
관련하여, 본 발명에서 "로컬 스토리지(Local Storage)"라 함은, 광기록재생장치(도 1) 내에 구비된 일종의 저장수단으로서, 필요한 정보 및 데이터를 사용자가 임의로 저장하여 활용할 수 있는 요소를 의미한다. 즉, 현재 일반적으로 사용되는 로컬 스토리지로는 "하드디스크(hard disk)", "시스템 메모리(system memory)", "플래쉬 메모리(flash memory)"등이 있을 수 있으나, 본 발명이 반드시 이에 한정되는 것은 아니다.
특히, 본 발명과 관련하여, 상기 "로컬 스토리지(Local Storage)"는 기록매체(예를 들어, 블루레이 디스크)와 연관된 데이터를 저장하는 수단으로도 활용되며, 상기 기록매체와 연관되어 로컬 스토리지 내에 저장되는 데이터는 외부로부터 다운로드(download) 받은 데이터가 일반적이다.
관련하여, 기록매체로부터 일부 허용된 데이터를 직접 독출하거나, 또는 기록매체의 기록재생과 관련된 시스템데이터(예를 들어, 메타데이터(metadata) 등)를 생성하여, 로컬 스토리지 내에 저장하는 것도 가능함은 자명하다.
관련하여, 본 발명에서는 설명의 편의를 위해, 상기 기록매체 내에 기록된 데이터를 "오리지널 데이터(original data)"로 명명하고, 상기 로컬 스토리지 내에 저장된 데이터 중 기록매체와 관련된 데이터를 "어디셔널 데이터(additional data)"로 명명하고자 한다.
또한, 본 발명에서 "타이틀(Title)"이라 함은, 사용자와의 인터페이스를 이루는 재생단위를 말한다. 각각의 타이틀은 특정의 오브젝트(Object)와 링크(link)되어 있다. 특히, 상기 오브젝트(Object) 내의 커맨드(command) 혹은 프로그램에 따라 디스크 내 기록된 해당 타이틀에 관련된 스트림이 재생된다. 특히, 본 발명에서는 설명의 편의를 위해 디스크 내 엠펙(MPEG) 압축방식에 의한 고화질의 동영상 정보가 기록된 타이틀 중 끊김 없는 멀티앵글, 멀티 스토리, 언어 크레딧, 디렉터 컷 등을 지원하는 타이틀을 특히 "HDMV 타이틀(Title)"이라 명한다. 또한, 엠펙(MPEG) 압축방식에 의한 고화질의 동영상 정보가 기록된 타이틀 중 기록매체 내 타이틀의 업데이트 또는 네트워크와의 연결성을 지원하여 높은 인터액티버티를 가능하게 하는 자바 프로그램 정보가 기록된 타이틀을 "BD-J 타이틀(BD-J Title)"이라 명할 것이다.
관련하여, 본 발명에서 타이틀이라 함은 인덱스 테이블에 존재하는 인덱싱 항목을 의미하기도 한다. 즉, 기록매체가 로딩되면 처음 재생되는 화면에 대한 정보를 가지는 "First Playback"과 메뉴화면을 제공하는 "Top Menu" 역시 상기 타이틀의 일종이라 하겠다. 즉, 사용자와 인터페이스를 이루는 재생단위이면, 그 명칭 여하에 관계없이 본 발명의 타이틀에 해당한다.
도 1은 본 발명의 개념적 이해를 돕기 위해 나타낸 것으로, 광 기록재생장치(10)와 주변기기 간의 통합적 사용의 일 예를 보여주기 위해 나타낸 것이다.
관련하여, 본 발명의 "광 기록재생장치(10)"는 여러 가지 규격의 광 디스크를 기록하거나 재생 가능한 기기로서, 설계에 따라서는 특정규격(예를 들면, BD)의 광 디스크만을 기록재생 가능하게 할 수도 있으며, 또한 기록은 제외하고 재생만 하는 것도 가능하다 할 것이다. 이하에서는 본 발명에서 해결하고자 하는 블루레이 디스크(BD)와 주변기기와의 연계성을 고려하여 이하 블루레이 디스크(BD)를 재생하는 플레이어(BD-Player) 또는 블루레이 디스크(BD)를 기록재생하는 리코더(BD-Recorder)를 예로 하여 설명하고자 한다. 관련하여, 본 발명의 "광 기록재생장치(10)"는 컴퓨터 등에 내장가능한 "드라이버(driver)"가 될 수 있음은 이미 널리 알려진 자명한 사실이다.
본 발명의 광 기록재생장치(10)는 광 디스크(30)를 기록재생하는 기능 이외에도, 외부입력신호를 수신받아 이를 신호처리한 후 또 다른 외부 디스플레이(20)를 통해 사용자에게 화면으로 전달하는 기능을 가지게 된다. 이 경우 입력가능한 외부신호에 대해서는 특별한 제한은 없으나, 디지털 방송(Digital multimedia broadcasting) 및 인터넷(Internet) 등이 대표적인 외부입력신호가 될 것이며, 특히, 인터넷(Internet)의 경우 현재 누구나 손쉽게 접근할 수 있는 매체로서 광 기록재생장치(10)를 통해 인터넷(Internet)상의 특정 데이터를 다운로드(download) 받아 활용할 수 있게 된다.
관련하여, 외부 소스(external source)로서 콘텐츠(contents)를 제공하는 자 를 총칭하여 "콘텐츠 제공자(CP:contents provider)"로 명명한다.
또한, 본 발명에서 콘텐츠(contents)라 함은 타이틀을 구성하는 내용으로서 기록매체의 제작자(author)에 의해 제공되는 데이터(data)를 의미한다.
오리지널 데이터와 어디셔널 데이터에 대해 구체적으로 설명하면, 예를 들어 광 디스크 내에 기록된 오리지널 데이터로는 특정 타이틀용의 멀티플렉싱된(multiplexed) AV스트림을 기록해두고, 인터넷상의 어디셔널 데이터로는 상기 오리지널 데이터의 오디오스트림(예를 들어, 한국어)과 상이한 오디오스트림(예를 들어, 영어)을 제공하면, 사용자에 따라서는 인터넷상의 어디셔널 데이터인 오디오스트림(예를 들어, 영어)을 다운로드 받아, 오리지널 테이터인 AV스트림과 함께 재생하거나, 또는 어디셔널 데이터만 재생하고자 하는 요구가 존재할 것이다. 이를 가능케 하기 위해서는 상기 오리지널 데이터와 어디셔널 데이터 간의 연관성을 규정하고, 이들 데이터들을 사용자의 요구에 따라 관리/재생하는 체계화된 방법이 필요하게 된다.
상기에서 설명의 편의를 위해 디스크 내에 기록된 신호를 오리지널 데이터로 하고, 디스크 외부에 존재하는 신호를 어디셔널 데이터라고 명명하였으나, 이는 각각의 데이터를 취득하는 방법에 따라 구분될 따름이지 오리지널 데이터와 어디셔널 데이터가 반드시 특정의 데이터로 한정되는 것은 아니라 할 것이다. 따라서, 어디셔널 데이터로서 일반적인 것은, 오디오(Audio), 프리젠테이션 그래픽(PG:Presentation Graphic), 인터액티브 그래픽(IG:Interactive Graphic), 텍스트 서브타이틀(Text subtitle)등이 될 수 있을 것이나, 이에 한정되지 않으며 상기 열거한 데이터들과 비디오(Video)를 전부 포함하는 멀티플렉싱된(multiplexed) AV스트림이 될 수도 있다. 즉, 광 디스크 외부에 존재하면서, 오리지널 데이터와 연관된 어떠한 속성의 데이터도 어디셔널 데이터로 가능하다.
또한, 어디셔널 데이터는 인덱스 파일(index) 또는 플레이리스트 파일(*.m2ts), 클립인포 파일(*,clpi) 별로 각각 다운로드 될 수도 있으나, 콘텐츠(contents) 단위 또는 타이틀(Title) 단위로 다운로드 될 수도 있다.
관련하여, 상기 사용자의 요구를 실현 가능케 하기 위하여는 오리지널 데이터와 어디셔널 데이터 상호 간에 연관된 파일구조를 가짐이 필수적이라 할 것인바, 이하 도 2 및 도 4를 통해 블루레이 디스크(BD)에서 사용가능한 파일구조 및 데이터 기록구조에 대해 상세히 설명하면 다음과 같다.
도 2는 본 발명의 기록매체, 즉 예를 들어 BD-ROM과 같은 디스크 내에 기록되는 파일구조에 대한 하나의 실시예를 도시한 것이다. 도 2의 파일구조를 설명하면 다음과 같다.
본 발명의 재생관리 파일구조는, 하나의 루트 디렉토리(root directory) 아래에 적어도 하나 이상의 BDMV디렉토리 (BDMV directory)가 존재하고, BDMV디렉토리 내에는 사용자와의 인터액티버티(interactivity)를 보장하기 위한 일반파일(상위파일) 정보로서 인덱스 파일("index.bdmv")과 오브젝트 파일("MovieObjet.bdmv")을 포함된다. 아울러, 실제 디스크 내에 기록된 데이터에 대한 정보와 이를 재생하는 방법 등에 대한 정보를 가지는 디렉토리로서, 플레이리스트 디렉토리 (PLAYLIST), 클립인포 디렉토리 (CLIPINF), 스트림 디렉토리 (STREAM)와, BD-J 오 브젝트 파일을 포함하는 BDJO 디렉토리(BDJO)와 JAR 파일을 포함하는 자바 디렉토리(JAR)가 구비되며, 디스크 재생에 관련된 보조데이터로 이루어진 보조데이터 디렉토리(AUXDATA)가 구비되어 진다. 이하 상기 디렉토리 및 디렉토리 내에 포함되는 파일에 대해 상세히 설명하면 다음과 같다.
스트림 디렉토리 (STREAM)는, 디스크 내에 특정 포맷으로 기록된 AV스트림 파일들이 존재하며, 예를 들어, 스트림파일(01000.m2ts, ...)의 확장명을 "*.m2ts" 로 사용한다. 즉, 스트림 파일 내에 본 발명과 관련된 콘텐츠로서 일반적으로 동영상 데이터가 기록되어 진다.
클립인포 디렉토리 (CLIPINF)는 상기 각각의 스트림 파일과 일대일 대응하는 클립인포 파일(01000.clpi,...)들로 구성되어 진다. 특히, 클립인포 파일(*.clpi)은 대응하는 스트림 파일의 속성정보 및 타임정보 (timing information)등을 기록하게 되며, 특히, 스트림 파일(*.m2ts)과 일대일 대응하는 클립인포 파일(*.clpi)을 묶어 BD 규격에서는 이를 "클립(clip)"이라고 명명한다. 즉, 하나의 스트림파일(*.m2ts)에 대해서는 반드시 대응하는 클립인포파일(*.clpi)이 존재하여야 함을 의미한다.
플레이리스트 디렉토리 (PLAYLIST)는 플레이리스트 파일(00000.mpls,...)들로 구성되며, 각각의 플레이리스트 파일(*.mpls)은 특정 클립(clip)이 재생되는 시간(playing interval)을 지정하는 적어도 하나 이상의 플레이아이템(PlayItem)을 포함하고 있으며, 플레이아이템 (PlayItem)은 재생을 원하는 특정 클립(clip), 즉 플레이아이템 (PlayItem)내에서 클립명 (clip_Information_File_name)으로 지정되 는 클립(clip)의 재생 시작시간(IN-Time)과 재생 종료시간(OUT-Time)에 대한 정보를 가지고 있다.
즉, 플레이리스트 파일(*.mpls)은 적어도 하나 이상의 플레이아이템 (PlayItem)의 조합에 의해 원하는 클립(clip)의 재생을 수행하는, 전체 재생관리 파일구조내의 기본적 재생관리 파일단위가 된다.
특히, 플레이리스트 파일(*.mpls)은 전술한 오브젝트 파일 내의 특정 오브젝트(Object)에 의한 커맨드(command)에 의해서만 동작되며, 따라서, 디스크 재생 시나리오 관점에서, 오브젝트(Object)는 동적인 시나리오(Dynamic scenario)를, 플레이리스트 파일(*.mpls)은 정적인 시나리오(Static scenario)를 수행 또는 관리하게 된다.
도 2에서, BD-J 오브젝트 디렉토리(BDJO)는 BD-J 타이틀을 재생하기 위한 BD-J 오브젝트 파일을 포함한다.
자바 디렉토리(JAR)는 JAR(Java archive) 파일(PPPPP.jar,...)들이 기록되어 있으며, 다양한 어플리케이션(application)이 상기 JAR 파일에 의해 구성될 수 있다. JAR(Java archive) 파일은 복수의 파일 모음을 배포하기 위해 사용되는 압축파일로서, 상기 JAR 파일에는 보통 특정 자바 프로그램과 관련된 자바 클래스(classes) 파일 및 보조 자원(auxiliary resources), 메타데이터 등이 저장된다.
보조데이터 디렉토리(AUXDATA)는 디스크 재생과 관련된 보조적인 정보를 포함하는 파일들로 구성되어 지는바, 예를 들어, 재생시 클릭 사운드(click sound) 및 메뉴 사운드(menu sound)정보 등을 제공하는 사운드파일("Sound.bdmv")과, 텍스 트 서브타이틀의 재생시 폰트(font)정보를 제공하는 폰트파일("11111.otf")들을 포함할 수 있다.
메타데이터 디렉토리(META)는 메타데이터(metadata)를 구비하는바, 상기 메타데이터는 데이터에 대한 데이터(data about a data)로서 서치파일 또는 디스크 라이브러리(Disc Library)에 대한 파일 등이 그 예이다.
관련하여, 상술한 파일 및 디렉토리의 위치는 일 실시예에 불과하며, 경우에 따라 그 위치가 변경될 수도 있다. 예를 들면, BD-J 오브젝트 디렉토리(BDJO)와 자바 디렉토리(JAR)를 서브 디렉토리로 갖는 디렉토리가 상기 루트 디렉토리 밑에 별도로 구성되거나, 자바 디렉토리가 상위 디렉토리로서 루트 디렉토리 밑에 구성될 수도 있을 것이다.
본 발명은 BD-J 모드에서의 멀티앵글 타이틀의 재생에 관한 것으로서, 멀티앵글 타이틀을 구성하는 플레이아이템은 둘 이상의 클립을 지정할 수 있다. 멀티 앵글 타이틀(Multi-angle Title) 구현에 관한 일 실시예를 도시한 도 3을 참조하여 구체적으로 설명하면 다음과 같다.
재생되는 앵글(presentation angle)에 따라, 예를 들면 게임에서 어떤 캐릭터를 뒤에서 보는 경우와 정면에서 보는 경우, 상공에서 보는 경우에 따라 또는 각기 다른 캐릭터 또는 액터의 관점에서 보는 경우 등에 따라 사용자에게 제공되는 이미지가 달라질 수 있다. 즉, 앵글(angle)이란 콘텐츠가 제공하는 각도 또는 보는 관점 내지 위치를 의미하며, 콘텐츠가 다양한 앵글을 제공하는 경우에 이를 멀티 앵글 타이틀이라 한다. 도 3를 참조하면, 멀티 앵글 타이틀이란 플레이아이템이 독 립된 복수의 클립(Parallel Clips)을 지정함으로써, 클립(clip)의 재생 시작시간(IN-Time)과 재생 종료시간(OUT-Time)에 대한 정보가 중복되어 타이틀 경로가 복수가 되는 것을 말한다. 따라서 멀티앵글을 통해 같은 시간 축에서 다양한 콘텐츠의 구현이 가능하게 된다.
도 3의 실시예에서, 플레이리스트#1(PlayList#1)은 세 개의 플레이아이템(PlayItem#1,#2,#3)으로 이루어진다. 상기 플레이아이템 중 플레이아이템#1은 클립#1을 지정하고 플레이아이템#3은 클립#3을 지정하여, 각각 하나의 클립의 재생 시작시간(IN-Time)과 재생 종료시간(OUT-Time)에 대한 정보를 가지고 있다. 그러나 플레이아이템#2는 클립#2-1과 클립#2-2의 두 개의 클립을 지정한다. 그러므로 사용자의 선호에 따라, 광기록재생장치(10)는 플레이아이템#2에서는 클립#2-1을 재생할 수도 있고 클립#2-2를 재생할 수도 있다. 따라서, 타이틀#1은 두 개의 재생경로를 갖게 되며, 사용자는 상기 타이틀#1의 재생 도중 재생경로를 변경하는 것이 가능하다. 결국, 이러한 멀티앵글구조에서는 다양한 재생경로를 갖게 되는바, 콘텐츠를 구성하는 장면은 앵글마다 장면을 구성하는 씬 타입, 액터, 캐릭터, 아이템 등과 같은 장면요소들이 달라지므로, 장면마다 다른 특징들을 갖게 된다.
관련하여, 하나의 플레이아이템 내 앵글들은 앵글넘버로 구분되며, 각 앵글넘버는 상 플레이아이템 내 각 앵글의 식별정보인 앵글 아이디(angle_id)에 '1'을 더해 얻어진다.
도 4은 본 발명에 의해 광디스크에 기록되는 데이터 기록구조를 도시한 것으로서, 상기 전술한 파일구조에 관련된 정보들이 디스크 내에 기록되는 형태를 보여 준다. 디스크의 내주로부터 보면, 전체 파일을 관리하기 위한 시스템 정보로서 파일시스템 정보 영역 (File System Information area)과, 기록된 스트림 (*.m2ts)을 재생하기 위한, 인덱스 파일, 오브젝트 파일, 플레이리스트 파일, 클립인포 파일 및 메타데이터 파일이 기록된 영역(이를 "database area"라고도 한다), 및 오디오/비디오/그래픽 등으로 구성된 스트림 또는 JAR 파일이 기록되는 스트림 영역 또는 데이터 영역(stream area or data area)이 존재함을 알 수 있다.
또한, 상기 데이터 영역 내의 콘텐츠를 재생하기 위한 파일정보 등을 기록하는 영역을 관리영역이라 하고, 상기 파일시스템 정보 영역 (File System Information area) 및 데이터베이스 영역(database area)이 이에 해당된다. 단, 도4의 각 영역은 하나의 예로 제시한 것으로서, 본 발명이 도 4와 같은 각 영역의 배열구조에 국한되지 않음은 자명할 것이다.
도 5는 본 발명의 광 기록재생장치(10)의 전체 구성에 관한 일 실시예를 나타낸 것이다.
우선 광 디스크에 기록된 오리지널 데이터 및 재생관리 파일정보를 포함한 관리정보를 재생하기 위한 픽업(11)과 픽업(11)의 동작을 제어하는 서보(14), 상기 픽업(11)으로부터 수신된 재생신호를 원하는 신호 값으로 복원해내거나, 기록될 신호를 광 디스크에 기록되는 신호로 변조(modulation)하여 전달하는 신호처리부(13)와 상기 동작을 제어하는 마이컴(16)이 기본적으로 구성된다.
픽업(11)과 서보(14), 신호처리부(13), 마이컴(16)를 통틀어, 기록재생부라 불리기도 한다. 재생의 관점에서, 상기 기록재생부는 제어부(12)의 제어에 따라 광 디스크(30) 또는 로컬 스토리지(15)로부터 데이터를 읽어 AV 디코더(17b)에 제공한다. 즉, 상기 기록부는 재생의 관점에서는 데이터를 읽어오는 재생부의 역할을 한다. 기록의 관점에서, 상기 기록재생부는 AV 인코더(18)에 의해 인코딩된 신호를 받아 비디오, 오디오 데이터 등을 광 디스크(30)에 기록하는 기록부가 된다.
또한, 제어부(12)는 사용자명령 등에 의해 광 디스크 외에 존재하는 어디셔널 데이터를 다운로드 받아 이를 로컬 스토리지(15)에 저장함과 아울러, 기록매체 데이터와 로컬 스토리지 내 데이터를 재생하기 위해 가상 파일구조(Virtual Package)를 생성하며, 상기 생성된 가상 파일구조(Virtual Package)를 활용하여 오리지널 데이터 및/또는 어디셔널 데이터를 사용자의 요구에 따라 재생하게 된다.
관련하여, 가상 파일구조(Virtual Package)는 가상 파일 시스템(Virtual File System)에 의해 수행되는 바인딩 동작(binding operation)을 통해 생성되며, 서로 다른 영역에 각각 저장되어 있는 디스크 내 오리지널 데이터로 구성된 오리지널 클립과 로컬 스토리지 내 어디셔널 데이터로 구성된 어디셔널 클립을 재생관리하는 파일구조가 된다.
또한, 재생시스템(17)은 제어부(12)의 제어에 따라 출력데이터를 최종적으로 디코딩하여 사용자에게 제공하게 되는바, 이는 특히 AV신호를 디코딩하는 디코더와, 전술한 특정 타이틀의 재생과 관련하여 오브젝트 커맨드 혹은 어플리케이션과, 제어부(12)를 통해 입력되는 사용자명령을 해석하여 재생방향을 결정하는 플레이어 모델로 구성된다.
관련하여, 제어부(12)와 마이컴(16)은 별개로 구비되어 동작할 수 있다. 또 한, 상기 제어부(12)와 마이컴(16)의 기능이 통합되어 하나의 유닛으로 동작하는 것도 가능하다.
또한, AV 인코더(18)는 광 디스크에 신호를 기록하는 기능의 수행을 위해 제어부(12)의 제어에 따라 입력신호를 특정포맷의 신호, 예를 들어 MPEG2 트랜스포트 스트림으로 변환하여 신호처리부(13)에 제공하게 된다.
도 6는 본 발명의 재생시스템(playback system)을 활용한 데이터 재생장치의 일 실시예를 도시한 것이다.
"재생시스템(playback system)"이라 함은, 광기록재생기 내에 구비되는 프로그램(소프트웨어) 및/또는 하드웨어로 구성되는 집합적 재생처리 수단으로서, 광기록재생기 내에 로딩된 기록매체를 재생함은 물론, 상기 기록매체에 관련되어 로컬 스토리지 내에 저장된(예를 들어, 외부로부터 다운로드 받은) 데이터를 함께 재생 및 관리하기 위한 시스템을 의미한다.
특히, 재생시스템(17)은 "User Event Manager(171)", "Module Manager(172)", "HDMV Module(174)", "BD-J Module(175)", "Playback control engine(176)", "Presentation engine(177)" 및 "Virtual File System(40)"으로 구성된다.
우선, 본 발명의 재생시스템(17, playback system)의 특징은 다음과 같다.
첫째, HDMV 타이틀을 위한 "HDMV Module(175)"과 BD-J 타이틀을 위한 "BD-J Module(174)"이 독립적으로 구성되고, 동시에 두 Module(174, 175)이 실행되지 않는다. 즉, HDMV 타이틀 재생 중에는 BD-J 타이틀을 재생할 수 없으며, 그 반대도 마찬가지이다.
둘째, HDMV 타이틀과 BD-J 타이틀은 각각 별도 방식의 사용자명령을 수신하며, 상호 간에는 사용자명령을 수행하는 방식이 독립적이다. 즉, 예를 들어, "Key Event Handler(171)"는 수신된 명령이 "User Operation(UO)"에 의한 사용자명령이면 이를 "Module Manager(172)" 로 전송하여 수행케 하고, 수신된 명령이 "Key Event"에 의한 사용자명령이면 이를 "BD-J Module(174)"로 전송한다.
세째, "Playback Control Engine(176)"의 관리(이를 "마스터(master)"라고도 한다)는 현재 동작중인 모듈(174, 175)중의 하나가 담당한다. 즉, HDMV 타이틀 재생중에는 "HDMV Module(175)"이 마스터(master)가 되고, BD-J 타이틀을 재생중에는 "BD-J Module(174)"이 마스터(master)가 된다.
관련하여, 본 발명의 재생시스템(17, playback system)에서 상기 "Module Manager(171)"와 "HDMV Module(175)", "BD-J Module(174)", "Playback Control Engine(176)"은 소프트웨어적인 처리가 가능하다. 실제 하드웨어 구성보다는 소프트웨어로 처리함이 설계에 더욱 유용하다. 단, "Presentation Engine(177)" 및 디코더와 플레인(Planes)은 하드웨어적으로 설계되는 것이 일반적이다. 특히, 소프트웨어적으로 처리되는 구성요소(예를 들어, 도면부호 171, 174, 175, 176)의 경우는 도 5에서 전술한 제어부(12)의 한 부분으로 구성될 수도 있다. 따라서, 본 발명의 구성은 그 의미로서 이해하여야 하며, 하드웨어적 구성인지 소프트웨어적 구성인지에 국한되지 않음을 밝혀두고자 한다. 이하,상기 재생시스템(17) 내 각 모듈의 기능 및 역할을 구체적으로 설명하면 다음과 같다.
우선, 가상 파일 시스템(40)은 기록매체에 기록된 오리지널 데이터와 로컬 스토리지의 어디셔널 데이터를 묶어 가상 파일구조(51, Virtual Package)를 생성한다. 다만, 로컬 스토리지에 상기 로딩된 기록매체에 대응하는 바인딩 유닛이 없는 경우, 상기 기록매체 내 디스크 파일구조(Disc Package)만을 이용하여 가상 파일구조(51)를 생성할 수 있다. 가상 파일 시스템(40)은 가상 파일구조의 바인딩 동작을 제공함과 아울러 상기 가상 파일구조(51)에 속하는 파일로의 엑세스 메카니즘을 제어한다.
가상 파일 시스템(40)에 의해 생성된 가상 파일구조(51)는 BD-J 모드와 HDMV 모드에 모두 사용된다. HDMV 모드와 BD-J 모드는 각각 기록매체의 재생모드로서, 상기 기록매체 내 HDMV 타이틀은 HDMV 모드에서, BD-J 타이틀은 BD-J 모드에서 재생된다. BD-J 모드는 자바 플랫폼을 기초로 하며, BD-J 모드에 이용되는 상기 자바 플랫폼을 BD-J 플랫폼이라고도 한다. 콘텐츠 제공자들은 기록매체에 다양한 방식(예를 들어, 전체 디스크를 위한 어플리케이션, 타이틀별 어플리케이션 등)으로 인터액티브 자바 어플리케이션들을 포함시킬 수 있다.
관련하여, 본 발명에서 어플리케이션이라 함은 일종의 실행 유닛(an execution unit)으로서, 사용자 또는 다른 어플리케이션에게 특정한 기능을 직접 수행하도록 설계된 프로그램을 말한다. 어플리케이션들은 API(Application Programming Interface)를 사용하여 다른 프로그램에 공식적으로 작업을 요청(request)하거나 통신하게 된다.
HDMV 모드에서 실행되는 어플리케이션을 HDMV 어플리케이션이라 하고 BD-J 모드에서 실행되는 어플리케이션을 BD-J 어플리케이션이라 한다. BD-J 어플리케이션은 "Application Management Table(42c)"에 등록된 자바 Xlet을 말한다. 기록매체 상의 각 BD-J 타이틀은 관련된 "Application Management Table(42c)"을 갖으며, 상기 "Application Management Table(42c)" 상기 타이틀의 BD-J 오브젝트(42)에 저장된다. HDMV 어플리케이션은 HDMV 플랫폼을 사용하고 BD-J 어플리케이션은 BD-J 플랫폼을 사용하여 특정한 기능을 수행하게 된다.
관련하여, 어플리케이션은 기록매체 또는 로컬 스토리지(15) 내에 존재할 수도 있다. 즉, 특정 어플리케이션을 구성하는 JAR 파일들은 기록매체에 존재할 수도 있으나, 로컬 스토리지에 존재할 수도 있다. 다만, 가상 파일 시스템(40)에 의해, 상기 JAR 파일은 HDMV 모드와 BD-J 모드 모두에서 엑세스가능하다.
HDMV 모드와 BD-J 모드는 각각 HDMV 타이틀을 위한 "HDMV Module(174)"과 BD-J 타이틀을 위한 "BD-J Module(175)"에 의하여 독립적으로 관리된다. 상기 "HDMV Module(175)" 및 "BD-J Module(174)"은 재생시스템(17)의 하드웨어적 구성으로부터 커맨드(command) 혹은 어플리케이션을 분리하여, 상기 커맨드 혹은 어플리케이션의 이동(portability)을 가능하게 한다. 상기 커맨드(command) 혹은 어플리케이션 등을 수신하여 처리하는 수단으로서, "HDMV Module(175)"내에는 "Command processor(175a)"가, "BD-J Module(174)"내에는 "Application manager(174a)", "Java VM(174b)", "Application Cache(174d)" 및 "Application Cache Manager(174c)"가 각각 구비되어 있다.
관련하여, 본 발명은 자바 플랫폼에 기초한 모드에서 재생되는 타이틀이 멀 티앵글 타이틀인 경우(이하, BD-J 멀티앵글 타이틀), 상기 멀티앵글 타이틀을 재생하는 방법에 관한 것이다.
본 발명에서 기록매체 및/또는 로컬 스토리지의 데이터를 재생하는 재생단위인 BD-J 타이틀은 어플리케이션 및 관련된 A/V 데이터로 구성될 수 있다. 다만, 경우에 따라 타이틀은 어플리케이션을 포함하지 않고, 단순히 A/V 데이터를 재생할 수도 있다. 예를 들면, 자동재생(autostart) 플레이리스트는 관련된 어플리케이션 없이 실행될 수도 있다. 마찬가지로, 타이틀이 반드시 A/V 데이터의 재생(presentation)을 포함할 필요가 있는 것은 아니다. 예를 들면, 게임과 같이 하나 또는 그 이상의 어플리케이션만으로 구성된 타이틀이 존재할 수도 있다.
이하에서는 도 6을 참조하여, 어플리케이션을 포함하여 구성된 타이틀 중 BD-J 타이틀의 재생에 대하여 설명한다.
인덱스 테이블의 각 타이틀은 각각 하나의 오브젝트에 연결된다. BD-J 타이틀은 하나의 BD-J 오브젝트(42)에 연결되며, 상기 BD-J 오브젝트는 "XXXXX.bdjo" 파일로서 기록매체에 저장된다. BD-J 오브젝트에는 BD-J 타이틀과 관련된 관리정보(management information)을 포함하는데, 상기 관리정보로는 "KeyInterestTable(42a)", "TerminalInfo(42b)", "AMT(42c)"과 "AppCacheInfo(42d) 등이 있다.
인덱싱 테이블 중 BD-J 타이틀의 재생명령이 내려지면, 상기 BD-J 타이틀을 활성화(activate)하기 위해, "Module Manager(171)"는 상기 BD-J 타이틀에 대응하는 BD-J 오브젝트 아이디(BD-J Object ID)를 "BD-J Module(174)에 보낸다. 상기 "BD-J Module(174)"은 수신한 BD-J 오브젝트 아이디에 대응하는 BD-J 오브젝트(42)를 로드한다. 상기 BD-J 오브젝트 내 "Application Management Table(AMT,42c)"은 "BD-J Module(174)"에 의해 "Application Manager(174a)"로 보내지게 되며, "Application Cache Information(AppCacheInfo, 42d)"은 "Application Cache Manager(174c)"로 보내지게 된다. 또한, "BD-J Module(173)"은 "KeyInterestTable(42a)"을 "User Event manager(171a)"로 로드하고, "Terminal Information(TerminalInfo, 42b)"를 "Module Manager(171)로 로드한다.
"Application Management Table(AMT,42c)"은 타이틀 단위로 이용가능하며, 실행될 어플리케이션들을 리스트하여 광기록재생장치가 재생되는 BD-J 타이틀과 관련된 어플리케이션을 구분할 수 있도록 한다. 또한, 상기 어플리케이션의 라이프사이클 관리 및 매개정보(parametrization data) 등과 같은 각 어플리케이션에 관한 포괄적인 재생정보를 제공한다. 상기 "Application Management Table(AMT,42c)"이 "Application Manager(174a)"로 로드되면, 상기 "Application Manager(174a)"는 상기 "Application Management Table(AMT,42c)"에 표시(describe)된 자동 실행(auto run) 어플리케이션을 실행시키게 된다. 상기 어플리케이션의 실행에 따라 상기 타이틀의 재생이 시작되게 된다.
상기 어플리케이션은 상기 타이틀의 재생을 위하여 특정 역할을 수행하는 코드들(예를 들어, 타이틀 재생시작 코드, 사용자명령을 수신하기 위한 코드, 사용자명령 따른 재생을 수행하기 위한 코드 등...)을 포함하여 구성된다. 이하, 상기 코드는 객체(object)라고 명명하여 설명한다. 본 발명의 어플리케이션은 클래스, 인 터페이스, 메쏘드 등을 이용하여 구성된다. 상기 클래스는 객체로 구체화되며, 인터페이스는 클래스로 구현(implements)되어 객체로 구체화되게 된다.
관련하여, 어플리케이션은 상기 "Application Management Table(42c)에 표시된 다른 어플리케이션을 실행시킬 수 있다. 이 경우, 실행중인 어플리케이션은 종료되며, 상기 다른 어플리케이션에 실행되어 그에 따라 타이틀이 재생된다.
"Application Manager(174a)"는 "Application Management Table(42c)"에 표시된 상기 어플리케이션을 실행하기 위해, 상기 어플리케이션을 구성하는 JAR 파일을 가상 파일구조(51) 또는 "Application Cache(174d)"로부터 "Java VM(174b)"에 로드한다. 상기 JAR 파일들에 대한 "java.io" 및 클래스 로딩을 통해 상기 어플리케이션이 실행되게 된다. "Application Manager(174b)"은 어플리케이션 관리 펑션을 포함하며, 상기 어플리케이션 관리 펑션에 의해 "Java VM(174b)"에서 실행되는(executed) 어플리케이션의 라이프사이클이 관리된다.
관련하여, "Application Cache(174d)"는 BD-J 모드를 위한 일종의 사전로드(preload) 버퍼로서, 어떤 파일들이 가상 파일구조(52)로부터 BD-J 모드를 위한 일종의 사전로드(preload) 버퍼인 "Application Cache(174d)"로 전달되어야 하는지는 BD-J 오브젝트(42)에 "AppCacheInfo(42d)"를 포함된 "AppCacheInfo(42d)"에 따라 결정된다.
상기 "Java VM(42c)" 내 어플리케이션의 실행에 따라, "Playback Control Engine(176)"은 실제 디스크 또는 로컬 스토리지에 존재하는 플레이리스트 파일 정보를 해석하고, 플레이어의 재생환경 및 재생상태가 저장되어 있는 "Player Registers(176b)를 참조하여 해당 플레이리스트를 실행하게 된다. 상기 플레이리스트의 실행에 의해 재생되는 클립들이 "Presentation Engine(177)"에 제공되고, "Presentation Engine(177)" 내 디코더를 통해 스트림의 종류에 따라 비디오/오디오/그래픽/텍스트서브타이틀 중 어느 하나로 디코딩된다. 상기 디코딩된 스트림은 플레인(Planes)을 통해 사용자에게 디스플레이될 것이다.
관련하여, "Playback Control Engine(176)"은 실제 모든 재생을 관리하는 "Playback Control Functions(176a)"과 플레이어의 재생환경 및 재생상태("Player status registers(PSR)" 및 "General purpose register(GPR)")를 저장하는 "Player Registers(176b)"로 구분된다. "Playback Control Functions(176a)"은 "Playback Control Engine(176)"의 핵심 유닛으로서, "Playback Control Functions(176a)"이 "Playback Control Engine(176)"을 의미하는 경우도 있다. "Player Registers(176b)" 중 "Player Status Registers"는 광기록재생장치(10)의 상태를 나타내며, "General Purpose Registers"는 일반적인 프로그래밍을 위해 사용되며 HDMV 어플리케이션과 BD-J 어플리케이션 사이에서의 데이터의 공유에 사용된다.
관련하여, 본 발명은 BD-J 멀티앵글 타이틀에 관한 것이므로, 멀티앵글 구조를 갖는 플레이아이템 내에서 프리젠트되는 앵글이 기록매체의 재생상태를 나타내는 메모리 유닛에 저장될 수 있다. 타이틀의 재생상태정보를 저장하는 메모리 유닛의 일 실시예를 도시한 도 7a ~ 도 7b를 참조하면, "Player Status Registers(PSRs)" 중 하나(이하, PSR3)에 프리젠트되는 앵글을 나타내는 정보가 저장될 수 있다.
상기 PSR3는 재생되는 타이틀이 멀티앵글 구조를 갖는 플레이아이템에서 어떤 앵글로 프리젠트되는지를 나타내는데 사용되며, 프리젠트되는 앵글에 해당하는 앵글넘버가 상기 PSR3에 저장되게 된다.
관련하여, BD-J 멀티앵글 타이틀을 재생하는 도중, 사용자명령에 의해 앵글 체인지가 요구되는 경우, 상기 타이틀이 상기 변경된 앵글로 프리젠트되어야 할 것이다. BD-J 타이틀은 보통 게임과 같이 사용자와 콘텐츠 간의 높은 인터액티버티가 요구되는 경우에 구성된다. 그러나, 어플리케이션이 상기 앵글 체인지 사용자명령을 어떻게 처리하여, 상기 타이틀을 상기 대응하는 앵글로 프리젠트할 것인지가 정의되어 있지 않아 문제된다. 본 발명은 상기 앵글 체인지 사용자명령을 처리하여, 상기 타이틀을 상기 사용자명령에 대응하는 앵글로 프리젠트하는 방법을 제공하고자 한다. 이하, 도 8a ~ 도 11을 참조하여, 사용자명령에 의한 앵글 체인지를 구현하는 프로세스의 실시예들을 설명한다.
도 8a ~ 도 8b는 본 발명에 따라 BD-J 모드에서 사용자명령에 의한 앵글 체인지를 구현하는 제 1 실시예를 도시한 것이다.
인덱스 테이블로부터 BD-J 타이틀이 선택되면, 상기 BD-J 타이틀에 대응하는 BD-J 오브젝트가 "BD-J Module(174)"에 의해 로드된다. "Application Manager(174a)"는 상기 BD-J 오브젝트의 "Application Management Table(42c)"에 표시된 어플리케이션을 "Java VM(174b)"에서 실행시킨다.
상기 "Java VM(174a)"에서 어플리케이션이 실행되면, 상기 어플리케이션은 "addAngleChangeListener()" 메쏘드를 콜(call)하여, 상기 BD-J 타이틀에 포함된 앵글과 관련된 앵글체인지리스너 인터페이스(interface AngleChangeListener)를, 현재 재생중인 플레이아이템에서 앵글의 변경(change)을 허용하는(allow) 인터페이스인 앵글컨트롤(AngleControl)에 등록한다(S10).
관련하여, 앵글체인지리스너는 앵글콘트롤(AngleControl)에 의해 발생되는 앵글체인지이벤트(AngleChangeEvent)를 처리하는 인터페이스로서, "addAngleChangeListener(AngleChangeListener listener)"를 이용하여, 상기 특정된 앵글체인지리스너(AngleChangeListener)가 광기록재생장치(10)의 앵글 체인지와 관련된 이벤트를 수신(receive)하도록 상기 앵글컨트롤 인터페이스(interface AngleControl)에 기입(subscribe)되게 된다. 상기 어플리케이션 내에서, 상기 앵글체인지리스너 인터페이스는 앵글어플리케이션 객체(도면에서, "Object of AngleApp")로 구현되며, 상기 앵글컨트롤 인터페이스는 앵글컨트롤 객체(도면에서, "Object of AngleCtrl")로 구현된다.
관련하여, 상기 앵글컨트롤 객체는 "addAngleChangeListener()" 외에, 이용가능한 앵글의 수를 제공하는 "getAvailableAngle()", 현재 프리젠트되는 앵글의 앵글넘버를 리턴하는 "getCurrentAngle()", 광기록재생장치(10)에서의 앵글 체인지에 관련된 이벤트를 수신하기 위한 특정 앵글체인지리스너(AngleChangeListener)를 삭제하는 "removeAnlgeChangeListener(AngleChangeListener listener)", 새로운 앵글을 선택하는 "selectAngle(int angleNo)", PSR3를 '1'로 설정하고 상기 앵글을 선택하는 "selectDefaultAngle()" 메쏘드를 포함한다.
상기 어플리케이션의 실행 중, 사용자가 리모콘(Remote Controller) 또는 키 보드(Keyboard), 게임패드 등을 이용하여 앵글 체인지 명령을 내리는 경우(S20), "RC Control Manager"는 이를 수신하여 자바 네이티브 인터페이스(Java Native Interface)를 통해 상기 앵글컨트롤 객체에 알린다(S30).
앵글 체인지 명령을 수신한 상기 앵글컨트롤 객체는 등록된 리스너(listener)를 이용하여, 재생 앵글(presentation angle)이 변경된다는 것을 앵글체인지리스너 인터페이스를 구현하는 객체(이하, "AngleApp" 객체)에 알린다(S40).
관련하여, 상기 등록된 앵글체인지리스너는 재생중인 플레이아이템이 갖는 앵글의 수 또는 앵글넘버 등이 될 수 있다. 예를 들어, 현재 재생중인 플레이아이템이 갖는 앵글의 수가 '3'이면, 상기 앵글의 수가 앵글체인지리스너로서 앵글컨트롤 객체에 등록될 수 있다. 상기 앵글컨트롤 객체는 앵글 넘버가 "1", "2", "3"인 앵글에 대한 앵글 체인지 명령을 상기 앵글어플리케이션 객체에 알릴 수 있으며, 앵글넘버가 "4" 이상인 앵글 체인지 명령은 알릴 수 없게 된다. 다시 말하면, 앵글 체인지 명령에 대응하는 앵글이 현재 재생중인 플레이아이템에 존재하지 않는 경우, 상기 어플리케이션은 상기 BD-J 타이틀의 재생앵글을 변경하지 않을 수 있다. 이 경우, 사용자에게 상기 앵글 체인지 명령이 유효하지 않음을 나타내는 정보(exeption)를 제공할 수도 있을 것이다.
상기 앵글 체인지 명령에 대응하는 앵글이 현재 재생중인 플레이아이템에 포함되는 경우, 상기 앵글어플리케이션 객체는 "angleChange()"를 콜하여, 상기 앵글컨트롤 객체에 의해 발생된 "AngleChangeEvents"를 전달하며, 상기 어플리케이션은 상기 BD-J 타이틀의 재생앵글을 상기 앵글로 변경하여 프리젠트하게 된다(S50). 상 기 어플리케이션은 상기 BD-J 타이틀의 재생상태를 나타내기 위해 상기 변경된 앵글의 앵글넘버를 PSR3에 설정할 수 있다(S60).
관련하여, 상기 어플리케이션은 상기 PSR3에 상기 앵글넘버를 설정하고 상기 앵글넘버에 해당하는 앵글로 상기 BD-J 타이틀을 재생할 수도 있으며, 상기 앵글로 BD-J 타이틀의 재생을 변경하면서 상기 PSR3에 상기 앵글넘버를 설정하는 것도 가능하다.
관련하여, 상기 "RC Control Manager"는 리모콘(RC) 또는 키보드 등을 통해 입력된 사용자 명령을 제어하는 모듈로서, 도 6을 참조하면, "Key Event Handler(172)", "User Event Manager(171a)" 등이 상기 "RC Control Manager"가 될 수 있다.
관련하여, 상기 "Key Event Handler(172)"는 키 이벤트들을 리모콘 또는 키보드 등으로부터 "HDMV Module(175)" 또는 "BD-J Module(174)", "Module Manager(171)/Navigator(173)" 중 어느 하나로 전달하는 역할을 한다. 예를 들어, 수신된 명령이 "User Operation(UO)"에 의한 사용자명령이면 이를 "Module Manager(172)" 로 전송하여 수행케 하고, 수신된 명령이 키 이벤트에 의한 사용자명령이면 이를 "BD-J Module(174)"로 전송한다.
또한, 상기 "User Event Manager(171a)"는, 사용자 이벤트가 발생하면, 상기 BD-J 오브젝트의 "KeyInterestTable(42a)" 내 상기 사용자 이벤트에 대응하는 플래그에 따라, "User Operation(UO)" 또는 키 이벤트를 발생시킨다. 예를 들어, 사용자 이벤트가 일어나고 "KeyInterestTable(42a)" 내 대응하는 플래그가 '1b'로 설정 된 경우, 상기 "User Event Manager(171a)"는 "User Operation"을 발생시켜 상기 "User Operation"을 "UO Controller"(미도시)에 보내는 것이 아니라, 어플리케이션이 상기 키 이벤트를 수신할 수 있도록 키 이벤트를 발생시켜 상기 키 이벤트를 "BD-J Module(174)"에 보낸다. 상기 "KeyInterestTable(42a)" 내 대응하는 플래그가 '0b'로 설정된 경우에는 "User Event Manager(171a)"는 "User Operation"을 발생시켜 "UO Controller"에 보내게 된다.
도 9는 본 발명에 따라 BD-J 모드에서 사용자명령에 의한 앵글 체인지를 구현하는 제 2 실시예를 도시한 것이다. 도 9의 실시예에서는, 앵글 체인지 명령을 수신한 "RC Control Manager"가 어플리케이션에 앵글 체인지 명령의 발생 사실을 어플리케이션에 알릴 뿐만 아니라, PSR3에 해당 앵글넘버를 설정한다는 점에 차이가 있다. 앵글 체인지 명령을 수신한 어플리케이션이 상기 BD-J 타이틀의 재생앵글을 해당 앵글로 변경하는 프로세스는 도 8a에서와 같다.
도 10은 본 발명에 따라 BD-J 모드에서 사용자명령에 의한 앵글 체인지를 구현하는 제 3 실시예를 도시한 것이다. 도 8a ~ 도 9과 마찬가지로, 어플리케이션이 실행되면, 상기 어플리케이션은 앵글 체인지에 대비하여 앵글체인지리스너를 등록하게 된다. 다만, 도 10의 실시예에서, "RC Control Manager"는 앵글 체인지 명령을 수신하는 경우, 상기 앵글 체인지 명령의 발생을 알리는 "MediaSelectEvent"를 생성하여 발(fire)하는 한편, PSR3에 해당 앵글넘버를 설정한다.
상기 "MediaSelectEvent"는 멀티앵글을 포함하는 플레이리스트의 로케이터를 지시하는 로케이터 오브젝트를 갖는다. 예를 들어, 재생중인 BD-J 타이틀의 플레이 리스트의 아이디가 '7'인 경우, 상기 "RC Control Manager"는 "MediaSelectEvent(javax.media.Controller controller, Locator[bd://PLAYLIST:00007] selection)을 생성할 수 있다.
상기 어플리케이션이 현재 재생중인 플레이리스트를 지시하는 로케이터를 갖는 상기 "MediaSelectEvent"를 수신하는 경우, 상기 어플리케이션은 "getAngle()" 메쏘드를 이용하여 PSR3에 설정된 앵글넘버를 확인한다. 상기 어플리케이션에 등록된 앵글체인지리스너에 의해 앵글 체인지의 발생이 앵글어플리케이션 객체에 알려지게 되면, 상기 앵글어플리케이션은 "angleChange()"를 이용하여, 상기 BD-J 타이틀의 재생앵글을 상기 앵글넘버의 앵글로 변경하에 프리젠트하게 된다.
관련하여, 상기 "RC Control Manager"는 재생중인 플레이리스트의 아이디가 '00007'이고, 재생중인 플레이아이템의 아이디가 '10'인 경우, 상기 현재 재생중인 플레이리스트의 현재 플레이아이템을 지시하는 로케이터(예를 들어, Locator[bd://PLAYLIST:00007.ITEM:10])를 갖는 "MediaSelectEvent"을 생성할 수도 있을 것이다. 또한, 재생중인 플레이리스트의 아이디가 '00007'이고, 재생중인 플레이아이템의 아이디가 '10'이며, 재생중인 주 비디오 스트림(Primary Video Stream)의 아이디가 '2'인 경우, 상기 스트림을 지시하는 로케이터(예를 들어, Locator[bd://PLAYLIST:00007.ITEM:10.V1:2])를 갖는 "MediaSelectEvent"를 생성하여 앵글 체인지 명령의 발생을 상기 어플리케이션에 알릴 수도 있을 것이다.
도 8a ~ 도 10에서 전술한 바와 같이 앵글 체인지 명령을 수신하고, 앵글 체인지를 수행할 수 있는 어플리케이션의 일 실시예가 도 11과 같이 표현될 수 있다.
전술한 본 발명에 의하면, BD-J 모드에서 앵글 체인지를 수행할 수 있게 된다. 따라서, 콘텐츠 제공자가 게임 등과 같은 BD-J 타이틀에서 앵글 체인지에 대한 높은 인터액티버티를 사용자에게 보장할 수 있게 되는 장점이 있다.
본 발명을 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
상기에서 설명한 본 발명에 따른 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법 및 기록장치에 의하면, 멀티앵글을 지원하는 콘텐츠를 재생함에 있어서, 타이틀의 재생 도중 사용자의 요구에 따라 인터액티브하게 앵글을 변경하여 콘텐츠를 재생하는 것이 가능하게 된다.

Claims (26)

  1. 기록매체에 기록된 타이틀을 재생하는 기록매체 재생방법에 있어서,
    어플리케이션의 실행에 따라 상기 타이틀을 재생하되,
    상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생방법.
  2. 제 1 항에 있어서,
    상기 어플리케이션은 상기 앵글 체인지 명령을 수신하기 위해, 상기 타이틀이 포함하는 앵글에 관련된 앵글체인지리스너 인터페이스(interface AngleChangeListener)를 상기 어플리케이션 내의 앵글컨트롤 인터페이스(interface AngleControl)를 구현하는 객체에 등록하는 것을 특징으로 하는 기록매체 재생방법.
  3. 제 2 항에 있어서,
    상기 앵글 체인지 명령은 상기 앵글컨트롤 인터페이스를 구현하는 객체에 수신되어, 상기 등록된 앵글체인지리스너에 의해 상기 앵글체인지리스터 인터페이스를 구현하는 객체에 송신되는 것을 특징으로 하는 기록매체 재생방법.
  4. 제 3 항에 있어서,
    상기 앵글 체인지 명령을 수신한 상기 앵글체인지리스너 인터페이스를 구현하는 객체는 "angleChange()"를 이용하여 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생방법.
  5. 제 1 항에 있어서,
    상기 앵글 체인지 명령에 대응하는 앵글의 앵글넘버를 상기 타이틀의 재생상태를 저장하는 메모리에 설정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 재생방법.
  6. 기록매체에 기록된 타이틀을 재생하는 기록매체 재생방법에 있어서,
    어플리케이션의 실행에 따라 상기 타이틀을 재생하되,
    상기 어플리케이션은 앵글 체인지 명령에 관련된 이벤트를 수신하고, 상기 타이틀의 재생상태를 저장하는 메모리로부터 앵글넘버를 확인하여, 상기 앵글넘버에 대응하는 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생방법.
  7. 제 6 항에 있어서,
    상기 이벤트는 상기 타이틀의 플레이리스트를 지시하는 로케이터를 포함하는 것을 특징으로 하는 기록매체 재생방법.
  8. 제 6 항에 있어서,
    상기 이벤트는 재생중인 플레이아이템을 지시하는 로케이터를 포함하는 것을 특징으로 하는 기록매체 재생방법.
  9. 제 6 항에 있어서,
    상기 이벤트는 재생중인 스트림을 지시하는 로케이터를 포함하는 것을 특징으로 하는 기록매체 재생방법.
  10. 제 6 항에 있어서,
    상기 메모리는 "Player Status Registers"인 것을 특징으로 하는 기록매체 재생방법.
  11. 기록매체에 기록된 타이틀을 재생하는 기록매체 재생장치에 있어서,
    상기 기록매체로부터 상기 타이틀과 관련된 데이터를 독출하는 재생부; 그리고
    상기 타이틀과 관련된 어플리케이션의 실행하여 상기 타이틀을 재생하는 제어부를 포함하되,
    상기 제어부는 앵글 체인지 명령을 생성하고,
    상기 어플리케이션은 상기 앵글 체인지 명령을 수신하여, 재생중인 플레이아 이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생장치.
  12. 제 11 항에 있어서,
    상기 어플리케이션은 상기 앵글 체인지 명령을 수신하기 위해, 상기 타이틀이 포함하는 앵글에 관련된 앵글체인지리스너 인터페이스(interface AngleChangeListener)를 상기 어플리케이션 내의 앵글컨트롤 인터페이스(interface AngleControl)를 구현하는 객체에 등록하는 것을 특징으로 하는 기록매체 재생장치.
  13. 제 12 항에 있어서,
    상기 앵글 체인지 명령은 상기 앵글컨트롤 인터페이스를 구현하는 객체에 수신되어, 상기 등록된 앵글체인지리스너에 의해 상기 앵글체인지리스터 인터페이스를 구현하는 객체에 송신되고,
    상기 앵글 체인지 명령을 수신한 상기 앵글체인지리스너 인터페이스를 구현하는 객체는 "angleChange()"를 이용하여 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생장치.
  14. 제 11 항에 있어서,
    상기 기록매체 재생장치는 상기 타이틀의 재생상태를 저장하는 메모리를 더 포함하고,
    상기 제어부는 상기 앵글 체인지 명령에 대응하는 앵글의 앵글넘버를 상기 설정하는 것을 특징으로 하는 데이터 재생장치.
  15. 기록매체에 기록된 타이틀을 재생하는 기록매체 재생장치에 있어서,
    상기 기록매체로부터 상기 타이틀과 관련된 데이터를 독출하는 재생부;
    상기 타이틀의 재생상태를 저장하는 메모리; 그리고
    상기 타이틀의 재생과 관련된 어플리케이션의 실행하여 상기 타이틀을 재생하는 제어부를 포함하되,
    상기 제어부는 앵글 체인지 명령에 관련된 이벤트를 생성하고,
    상기 이벤트를 수신한 어플리케이션은 상기 메모리로부터 앵글넘버를 확인하여, 상기 앵글넘버에 대응하는 앵글로 상기 타이틀의 재생앵글을 변경하는 것을 특징으로 하는 기록매체 재생장치.
  16. 제 15 항에 있어서,
    상기 이벤트는 상기 타이틀의 플레이리스트를 지시하는 로케이터를 포함하는 것을 특징으로 하는 기록매체 재생장치.
  17. 제 15 항에 있어서,
    상기 이벤트는 재생중인 플레이아이템을 지시하는 로케이터를 포함하는 것을 특징으로 하는 기록매체 재생장치.
  18. 제 15 항에 있어서,
    상기 이벤트는 재생중인 스트림을 지시하는 로케이터를 포함하는 것을 특징으로 하는 기록매체 재생장치.
  19. 제 15 항에 있어서,
    상기 메모리는 "Player Status Registers"인 것을 특징으로 하는 기록매체 재생장치.
  20. 타이틀을 포함하는 기록매체에 있어서,
    상기 타이틀의 스트림 데이터가 기록되는 스트림 영역; 그리고
    상기 타이틀의 재생과 관련된 어플리케이션이 기록되는 프로그램 영역을 구비하되,
    상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하도록 프로그램된 것을 특징으로 하는 기록매체.
  21. 제 20 항에 있어서,
    상기 어플리케이션은 상기 앵글 체인지 명령의 수신에 이용되는 앵글체인지 리스너 인터페이스와
    상기 타이틀의 앵글 체인지를 가능하게 하는 앵글컨트롤 인터페이스를 포함하는 것을 특징으로 하는 기록매체.
  22. 제 21 항에 있어서,
    상기 앵글컨트롤 인터페이스는 "addAngleChangeListener()", "getAvailableAngle()", "getCurrentAngle()", "removeAnlgeChangeListener", "selectAngle()"와 "selectDefaultAngle()" 메쏘드들을 포함하는 것을 특징으로 하는 기록매체.
  23. 타이틀을 기록매체에 기록하는 기록매체 기록방법에 있어서,
    상기 타이틀의 스트림 데이터와 상기 타이틀의 재생과 관련된 어플리케이션을 상기 기록매체에 기록하되,
    상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하도록 프로그램된 것을 특징으로 하는 기록매체 기록방법.
  24. 제 23 항에 있어서,
    상기 어플리케이션은 상기 앵글 체인지 명령의 수신에 이용되는 앵글체인지리스너 인터페이스와 상기 타이틀의 앵글 체인지를 가능하게 하는 앵글컨트롤 인터 페이스를 포함하고,
    상기 앵글컨트롤 인터페이스는 "addAngleChangeListener()", "getAvailableAngle()", "getCurrentAngle()", "removeAnlgeChangeListener", "selectAngle()"와 "selectDefaultAngle()" 메쏘드들을 포함하는 것을 특징으로 하는 기록매체 기록방법.
  25. 타이틀을 기록매체에 기록하는 기록매체 기록장치에 있어서,
    상기 기록매체 데이터를 기록하는 기록부; 그리고
    상기 타이틀의 스트림 데이터와 상기 타이틀의 재생과 관련된 어플리케이션을 기록하도록 상기 기록부를 제어하는 제어부를 포함하되,
    상기 어플리케이션은 앵글 체인지 명령을 수신하여, 재생중인 플레이아이템이 상기 앵글 체인지 명령에 대응하는 앵글을 갖는 경우, 상기 앵글로 상기 타이틀의 재생앵글을 변경하도록 프로그램된 것을 특징으로 하는 기록매체 기록장치.
  26. 제 25 항에 있어서,
    상기 어플리케이션은 상기 앵글 체인지 명령의 수신에 이용되는 앵글체인지리스너 인터페이스와 상기 타이틀의 앵글 체인지를 가능하게 하는 앵글컨트롤 인터페이스를 포함하고,
    상기 앵글컨트롤 인터페이스는 "addAngleChangeListener()", "getAvailableAngle()", "getCurrentAngle()", "removeAnlgeChangeListener", "selectAngle()"와 "selectDefaultAngle()" 메쏘드들을 포함하는 것을 특징으로 하는 기록매체 기록장치.
KR1020060071398A 2006-03-07 2006-07-28 기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치 KR20070092080A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US77944006A 2006-03-07 2006-03-07
US60/779,440 2006-03-07
US80896406A 2006-05-30 2006-05-30
US60/808,964 2006-05-30

Publications (1)

Publication Number Publication Date
KR20070092080A true KR20070092080A (ko) 2007-09-12

Family

ID=38689653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060071398A KR20070092080A (ko) 2006-03-07 2006-07-28 기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치

Country Status (1)

Country Link
KR (1) KR20070092080A (ko)

Similar Documents

Publication Publication Date Title
US8406602B2 (en) Recording medium having a data structure for managing graphic information and recording and reproducing methods and apparatuses
KR101049133B1 (ko) 기록매체, 기록매체의 재생방법과 재생장치
KR20060081331A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20060063602A (ko) 로컬 스토리지 데이터를 삭제하는 방법 및 장치
KR20060065474A (ko) 로컬스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20060081647A (ko) 기록매체, 로컬 스토리지를 이용한 기록매체 재생방법 및재생장치
US20080056676A1 (en) Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
KR20070022580A (ko) 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치
KR20070014946A (ko) 데이터 재생방법 및 재생장치 그리고 기록방법, 기록장치및 기록매체
US20070110400A1 (en) Apparatus for reproducing data and method thereof
KR20060047549A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
US20080056678A1 (en) Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
US20070041710A1 (en) Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
KR20070014941A (ko) 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
KR20070014948A (ko) 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
KR20070014944A (ko) 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치
KR20070092086A (ko) 데이터 재생방법 및 재생장치, 기록매체와, 데이터기록방법 및 기록장치
KR20070092080A (ko) 기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치
CN101019174A (zh) 使用本地存储再现记录在记录介质中的数据的方法和装置
KR20080036126A (ko) 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
WO2007024075A2 (en) Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
KR20060063597A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20070048728A (ko) 기록매체, 기록매체내의 콘텐츠 검색방법 및 콘텐츠재생방법과 재생장치
KR20070120001A (ko) 데이터를 재생하는 방법 및 장치 그리고 기록방법,기록장치 및 기록매체
WO2007024077A2 (en) Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination