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

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

Info

Publication number
KR101129121B1
KR101129121B1 KR1020067011262A KR20067011262A KR101129121B1 KR 101129121 B1 KR101129121 B1 KR 101129121B1 KR 1020067011262 A KR1020067011262 A KR 1020067011262A KR 20067011262 A KR20067011262 A KR 20067011262A KR 101129121 B1 KR101129121 B1 KR 101129121B1
Authority
KR
South Korea
Prior art keywords
page
button
graphics
menu
time
Prior art date
Application number
KR1020067011262A
Other languages
English (en)
Other versions
KR20060115749A (ko
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 KR20060115749A publication Critical patent/KR20060115749A/ko
Application granted granted Critical
Publication of KR101129121B1 publication Critical patent/KR101129121B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/309Table of contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Abstract

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

Description

기록매체, 재생장치 및 방법, 기록방법{RECORDING MEDIUM, PLAYBACK APPARATUS AND METHOD, AND RECORDING METHOD}
본 발명은 사용자 인터페이스 제어 분야에 관한 것이다. 더 구체적으로, 본 발명은 기록매체의 재생을 위한 사용자 인터페이스를 구비한 소비자 재생장치에서뿐만 아니라 소비자 영화 분배를 위해 사용된 기록매체의 개량에 관한 것이다.
메뉴 구조체를 이용하는 사용자 인터페이스는 재생을 위한 언어와 챕터(chapter)의 선택과 같은 사용자 조작을 수신하기 위한 필수 기능이다.
영화가 챕터와 같은 다수의 사용자-선택가능한 옵션을 제공할 때, 모든 옵션이 단일 화면 표시에 제공될 수 없는 경우가 있을 수 있다. 따라서, 다수의 페이지가 사용자 조작에 응답하여 순차적으로 표시되는 멀티-페이지 메뉴에 대한 요구가 있어, 다양한 옵션이 메뉴의 각 페이지에 적절하게 표시된다.
그러나, 불행하게 너무 많은 페이지가 표시되면, 이 페이지들은 화면의 대부분을 차지하며, 이에 따라 화면에 역시 표시되는 메인 영화를 시청하는 것을 방해한다. 이러한 문제는 사용자가 더 이상 흥미를 갖지 않는 각 페이지를 제거하는 조작을 반복하면 피할 수 있다. 그러나, 이러한 번거로운 조작을 계속해야 하는 필요 성은 사용자가 영화를 시청하는 것을 방해하는 또 다른 요소일 수 있다.
또한, DVD가 제공하는 인터랙티브(interactive) 제어는 다음의 단점을 갖는다. 표시될 각 메뉴에 대해, 페이지 정보를 판독하기 위해서 DVD에 대한 액세스가 이루어질 필요가 있다. 이 액세스 때문에, 비디오 재생에 중단 없이 메뉴 페이지를 표시할 수 없다. 이러한 중단 때문에 사용자는 영화에 집중하여 즐기는 것이 어렵게 된다.
본 발명은 비디오 재생을 방해하지 않을 멀티-페이지 메뉴의 표시를 지원하는 기록매체를 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여, 본 발명의 기록매체는, 비디오 스트림 및 그래픽스 스트림이 기록된 기록매체로, 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하고, 그래픽스 스트림은 비디오 스트림과 다중화되어 있고, 그래픽스 스트림은 메뉴를 구성하는 것이며, 상기 메뉴는 비디오 스트림을 디코드함으로써 얻어진 동화상에 합성하여 표시되는 것이고, 상기 대화제어 세그먼트는 복수의 페이지 정보와 시간정보를 포함하고,
상기 시간정보는 비디오 스트림의 재생시간 축에 관련된 프리젠테이션 타임스탬프, 셀렉션 타임아웃 타임스탬프(selection timeout timestamp), 유저 타임아웃 듀레이션(user timeout duration)이며, 프리젠테이션 타임스탬프는 메뉴에서의 첫 번째 페이지(first page)를 현재 페이지로서 표시하게 하는 타이밍을 나타내고, 복수의 페이지 정보는 버튼정보를 포함하고, 버튼 정보는 버튼 부재의 한 상태를 나타내기 위해서 사용되며, 페이지에서의 대화적인 화면구성을 실현하는 것이고, 세트 버튼 페이지(Set Button Page) 커맨드를 포함하며, 세트 버튼 페이지 커맨드는 대응하는 버튼 부재가 활성화(active) 상태가 된 때에 첫 번째 페이지 이외의 다른 페이지를 현재 페이지로서 설정하는 처리를 재생장치가 행하도록 하는 커맨드이고, 셀렉션 타임아웃 타임스탬프는 현재 페이지에서의 버튼 부재를 자동으로 활성화하여 세트 버튼 페이지 커맨드를 재생장치에 실행시키기 위한 타임아웃 시간을 나타내며, 유저 타임아웃 듀레이션은 현재 페이지를 첫 번째 페이지로 되돌려서 첫 번째 페이지만이 표시되고 있는 상태로 하기 위한 타임아웃 시간을 나타내는 것을 특징으로 한다.
상기한 구조를 갖는 기록매체에 의하면, 그래픽스 스트림에 다중화되는 인터랙티브 제어정보는 제어정보를 포함한다. 제어정보는 영화 재생 처리에 따라 멀티-페이지 동작을 정의한다. 이 구조는, 예를 들어, 영화 재생이 풍경을 보이고 있는 시간 동안 다수의 페이지를 자동으로 표시할 수 있게 한다. 또한, 영화 재생이 클라이맥스 장면에 도달한 경우 장면으로부터 이 페이지를 자동으로 제거할 수 있다. 이러한 제어에 의하면, 멀티-페이지 메뉴는 영화 재생 시청을 방해하지 않고 표시된다. 결과적으로, 사용자는 방해가 되는 디스플레이 없이 영화 재생을 시청하면서 멀티-페이지 메뉴가 제공하는 편리함을 즐길 수 있다.
또한, 멀티-페이지 메뉴 동작을 제어하는데 사용되는 정보는 그래픽스 스트림에 포함되며, 그래픽스 스트림은 비디오 스트림으로 다중화된다. 이 구조는 재생장치가 비디오 스트림 판독을 방해하지 않고 멀티-페이지 메뉴의 표시를 위해 필요한 정보를 판독하도록 한다. 따라서, 멀티-페이지 메뉴의 페이지는 비디오 프레임 속도와 동기하여 부드럽게 표시된다.
도 1은 본 발명에 따른 기록매체의 사용패턴을 나타내는 도면이다.
도 2는 BD-ROM의 예시 구조를 나타내는 도면이다.
도 3은 AV 클립의 구조를 도식적으로 나타내는 도면이다.
도 4a는 인터랙티브 그래픽스 스트림의 구조를 나타내는 도면이다.
도 4b는 기능 세그먼트를 운반하는 PES 패킷을 나타내는 도면이다.
도 5는 여러 종류의 기능 세그먼트가 정의하는 논리 구조를 나타내는 도면이다.
도 6은 DSn이 할당된 AV 클립 재생 시간 축을 나타내는 도면이다.
도 7a와 7b는 interactive_composition 구조체와 ICS 간의 관계를 나타내는 도면이다.
도 8은 ICS의 내부 구조를 나타내는 도면이다.
도 9는 stream_model이 "Multiplexed" 타입을 나타내는 경우 ICS에 대해 수행되는 처리를 나타내는 도면이다.
도 10은 stream_model이 "Preload" 타입을 나타내는 경우 ICS에 대해 수행되는 처리를 나타내는 도면이다.
도 11은 DSn이 Epoch Start DS(n = 1)인 경우 DSn에 속하는 ICS의 selection_time_out_pts와 composition_time_out_pts 필드의 기능을 설명하는 타이밍 차트이다.
도 12a는 Pop-Up U/I가 사용될 때 멀티-페이지 메뉴의 상태 변화를 나타내는 도면이다.
도 12b는 Always-On U/I가 사용될 때 멀티-페이지 메뉴의 상태 변화를 나타내는 도면이다.
도 13은 멀티-페이지 메뉴를 통합하는 디스플레이 시나리오이다.
도 14a-14c는 selection_time_out_pts이 정의하는 디스플레이 예를 나타낸다.
도 15a-15d는 user_time_out_duration이 정의하는 디스플레이 예를 나타낸다.
도 16은 멀티-페이지 메뉴의 여러 페이지 중 임의의 것(x 번째 페이지)과 관 련한 페이지 정보의 내부 구조를 나타내는 도면이다.
도 17은 버튼 O-A. O-B, O-C, 및 O-D의 상태 변화를 나타내는 도면이다.
도 18은 도 17에 나타낸 버튼 상태 변화를 정의하는 button_info 서술의 일 예를 나타내는 도면이다.
도 19는 ODS 11-19에서 끌어낸 그래픽 영상을 나타내는 도면이다.
도 20은 effect_sequence 구조체를 나타내는 도면이다.
도 21a는 effect_duration이 결정되는 방법을 도식적으로 설명하는 도면이다.
도 21b는 effect_duration을 계산하기 위한 식을 나타낸다.
도 22는 in-effect 애니메이션의 특정 예를 나타내는 도면이다.
도 23은 window_width, window_height, 및 effect_duration 필드 값에 따라 표시된 out_effect를 나타내는 도면이다.
도 24는 임의의 composition_object(i)의 내부 구조를 상세하게 나타낸 도면이다.
도 25는 Right-Scroll 애니메이션 효과를 표시한 in-effect의 특정 예를 나타내는 도면이다.
도 26은 도 25에 도시한 in-effect를 구현하는 composition_object(0) 구조체의 일 예를 나타내는 도면이다.
도 27은 도 25에 도시한 in-effect를 구현하는 composition_object(1) 구조체의 일 예를 나타내는 도면이다.
도 28은 도 25에 도시한 in-effect를 구현하는 composition_object(2) 구조체의 일 예를 나타내는 도면이다.
도 29는 도 25에 도시한 in-effect를 구현하는 composition_object(3) 구조체의 일 예를 나타내는 도면이다.
도 30은 DSn 내의 ODS의 순서를 나타내는 도면이다.
도 31은 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우와 버튼 B를 특정하는 유효 값으로 설정되는 경우 사이에서 S-ODS 내의 ODS의 순서가 어떻게 다른지를 나타내는 도면이다.
도 32a는 디폴트 선택된 버튼이 정적으로 결정되는 경우에 LASTODSPTS를 나타내는 도면이다.
도 32b는 디폴트 선택된 버튼이 동적으로 결정되는 경우에 LASTODSPTS를 나타내는 도면이다.
도 33a는 DS가 선택된 상태에 관련한 ODS를 포함하지 않는 경우에 LASTODSPTS를 나타내는 도면이다.
도 33b는 DS가 정상 상태에 관련한 ODS를 포함하지 않는 경우에 LASTODSPTS를 나타내는 도면이다.
도 33c는 DS가 ODS를 전혀 포함하지 않는 경우에 LASTODSPTS를 나타내는 도면이다.
도 34a는 LASTODSPTS(DSn- DTS(DSn[ICS])이 산출한 값과 PLANECLEARTIME의 값으로부터 DECODEDURATION 값을 취득하기 위한 알고리즘을 나타내는 도면이다.
도 34b와 34c는 DECODEDURATION 값을 산출하는 방법의 일 예를 나타내는 도면이다.
도 35a는 EFFECTTD를 산출하기 위한 식을 나타내는 도면이다.
도 35b는 in-effect가 제공되지 않고 디폴트 선택된 버튼이 정적으로 결정되는 경우에 PAGEDEFAULTTD를 산출하기 위한 식을 나타내는 도면이다.
도 35c는 in-effect가 제공되지 않고 디폴트 선택된 버튼이 동적으로 결정되는 경우에 PAGENODEFAULTTD를 산출하기 위한 식을 나타내는 도면이다.
도 36은 TRANSFERDURATION으로서 EFFECTTD, PAGEDEFAULTTD, 및 PAGENODEFAULTTD 중 하나를 선택적으로 결정하기 위한 알고리즘을 나타내는 도면이다.
도 37은 본 발명에 따른 재생장치의 내부 구조를 나타내는 도면이다.
도 38a는 PSR 11에 의해 수행되는, "재생조건이 변경될 때의 절차"의 플로차트이다.
도 38b는 PSR 11에 의해 수행되는, "변경이 요청될 때의 절차"의 플로차트이다.
도 39a는 PSR 10에 의해 수행되는, "재생조건이 변경될 때의 절차"의 플로차트이다.
도 39b는 PSR 10에 의해 수행되는, "변경이 요청될 때의 절차"의 플로차트이다.
도 40은 I-그래픽스 디코더(9)의 내부 구조를 나타내는 도면이다.
도 41은 그래픽스 컨트롤러(37)가 수행하는 절차의 메인 루틴의 플로차트이다.
도 42는 첫 번째 표시를 위한 절차의 플로차트이다.
도 43은 in-effect 애니메이션의 재생을 위한 절차의 플로차트이다.
도 44는 애니메이션에서 표시 버튼을 위한 디스플레이 갱신 절차의 플로차트이다.
도 45는 네비게이션 명령을 실행하기 위한 절차의 플로차트이다.
도 46은 UO를 처리하기 위한 절차를 나타낸다.
도 47은 현재 버튼 변경 절차의 플로차트이다.
도 48은 버튼의 자동-활성화를 위한 절차의 플로차트이다.
도 49는 제 1 내지 제 5 실시예에 따른 BD-ROM의 제작 프로세스의 플로차트이다.
(제 1 실시예)
이하, 본 발명에 따른 기록매체의 실시예에 대해 설명한다. 먼저, 본 발명을 실시하는 한 형태인 기록매체의 사용에 대해 설명한다. 도 1은 본 발명에 따른 기록매체의 사용패턴을 나타낸다. 도면에서, BD-ROM(100)이 본 발명에 따른 기록매체이다. BD-ROM(100)은 재생장치(200), 리모트 컨트롤러(300), 및 텔레비전(400)으로 구성된 홈 씨어터 시스템에 영화를 제공하기 위해 사용된다.
이것으로 본 발명에 따른 기록매체의 사용에 대한 설명을 마친다. 다음, 본 발명을 실시하는 다른 형태인 기록매체의 제작에 대해 설명한다. 기록매체는 BD-ROM의 애플리케이션 층에 개선을 함으로써 실시된다. 도 2는 BD-ROM(100)의 구조 예를 나타낸다.
도면에서, BD-ROM(100)은 제 4 레벨에 도시되고, BD-ROM의 트랙은 제 3 레벨에 도시된다. 트랙은 실제 BD-ROM의 중심에서 외측으로 나선형을 그리지만, 도면에서는 직선으로 펼쳐진다. 트랙은 리드-인(lead-in) 영역, 볼륨 영역, 및 리드-아웃(lead-out) 영역으로 구성된다. 볼륨 영역은 물리층, 파일 시스템층, 및 애플리케이션층의 층 모델을 갖는다. 디렉터리 구조에서, 제 1 레벨은 BD-ROM의 애플리케이션층의 포맷(애플리케이션 포맷)을 나타낸다.
도면에서, BD-ROM은 루트 디렉터리, 루트 디렉터리 아래에 BDMV 디렉터리, 그리고 BDMV 디렉터리 아래에 STREAM 디렉터리를 갖는다.
STREAM 디렉터리는 AV 클립과 서브(sub) 클립을 포함한다. AV 클립과 서브 클립은 "00001.m2ts", "00002.m2ts", 및 "00003.m2ts"과 같이 STREAM 디렉터리에서 파일로 포함된다. STREAM 디렉터리의 각 파일은 단일화된 포맷의 파일명 "xxxxx.m2ts"(여기서 x는 임의의 정수이다)를 갖는다.
<AV 클립 구조>
이제, AV 클립에 대해 설명한다. 도 3은 AV 클립의 구조를 도식적으로 나타낸 도면이다.
도면에서, 중간레벨은 AV 클립을 나타낸다. 이 AV 클립은 다음과 같이 생성할 수 있다. 상부 제 1 레벨에 나타낸 다수의 비디오 프레임(화상 pj1, pj2, pj3,...)으로 구성된 비디오 스트림과 다수의 오디오 프레임으로 구성된 오디오 스트림은 모두 개별적으로 하부 제 2 레벨에 나타낸 PES 패킷으로 변화되고, 상부 제 3 레벨에 나타낸 TS 패킷으로 더 변화된다. 마찬가지로, 하부 제 1 레벨에 나타낸 프리젠테이션 그래픽스 스트림(이하, "PG 스트림"이라 함)과 인터랙티브 그래픽스 스트림(이하, "IG 스트림"이라 함)은 모두 개별적으로 하부 제 2 레벨에 나타낸 PES 패킷으로 변화되고, 하부 제 3 레벨에 나타낸 TS 패킷으로 더 변화된다. 비디오, 오디오, PG 및 IG의 이들 TS 패킷은 다중화되어 AV 패킷을 형성한다.
PG와 IG 스트림은 그래픽스를 비디오 스트림의 각 화상과 합성하는데 사용되는 스트림 포맷의 데이터이다. 화상 위에 중첩하기 위해 PG 및 IG 스트림이 실행하는 데이터 엔티티(entity)는 "그래픽스 오브젝트(graphics object)"라 부른다.
PG 스트림은 그래픽스 오브젝트를 사용하여 서브타이틀의 표시를 위해 사용되는 그래픽스 스트림이다.
IG 스트림은 그래픽스 오브젝트의 인터랙티브 디스플레이를 위해 사용되는 그래픽스 스트림이다. 이것으로 AV 클립 구조에 대한 설명을 끝마친다. 다음, AV 클립과 서브 클립에 대해 설명한다. 서브 클립은 다중화되지 않는다. 오히려, 서브 클립은 IG 스트림, 오디오 스트림, 및 텍스트 데이터만을 포함하는 파일이다. 서브 클립으로 저장된 IG 스트림은 AV 클립과의 동기 재생을 위하여 미리 메모리에 로드된다. 서브 클립을 미리 메모리에 로딩하는 이 동작은 "프리로딩(preloading)"이라 한다.
다음, IG 스트림에 대해 설명한다. 도 4a는 IG 스트림의 구조를 나타내는 도면이다. 제 1 레벨에, AV 클립을 구성하는 TS 패킷 열이 도시된다. 제 2 레벨에, 그래픽스 스트림을 구성하는 PES 패킷 열이 도시된다. 제 2 레벨에 나타낸 PES 패킷은 제 1 레벨에 나타낸 TS 패킷 열 내 기설정된 PID를 갖는 TS 패킷의 페이로드(payload)를 연쇄 결합(concatenate)함으로써 형성된다. PG스트림은 본 발명의 요지가 아니므로 추가 설명을 하지 않는다.
제 3 레벨에, 그래픽스 스트림의 구조가 도시된다. 그래픽스 스트림은 ICS(Interactive Composition Segment), PDS(Palette Definition Segment), ODS(Object Definition Segment), 및 END(End of Display Set Segment)를 포함하는 기능 세그먼트들로 구성된다. 이들 기능 세그먼트 중에서 ICS는 디스플레이 합성 세그먼트인 반면, PDS, ODS, 및 END는 정의 세그먼트이다. 각 기능 세그먼트는 PES 패킷과 일-대-일로 또는 일-대-다수로 대응한다. 즉, 하나의 기능 세그먼트는 단일 세그먼트로 변화된 후, 또는 다수의 PES 패킷으로 단편화(fragment)되고 변화된 후, BD-ROM(100)에 기록된다.
이하, 이들 기능 세그먼트를 하나씩 설명한다.
ICS는 그래픽스의 인터랙티브 디스플레이 합성을 정의하기 위해 사용되는 기능 세그먼트이다. 인터랙티브 디스플레이 합성의 일 예가 멀티-페이지 메뉴이다.
ODS는 다수의 런-렝스(run-length) 데이터 부분으로 구성된 런-렝스 부호화 그래픽스 오브젝트이다. 런-렝스 데이터는 픽셀 값과 픽셀 값의 연속 길이를 나타 내는 픽셀 코드를 사용한 픽셀 열을 나타낸다. 픽셀 코드는 1에서 255까지의 값 중의 하나를 나타내는 8-비트 값이다. 이 픽셀 코드의 사용을 통하여, 런-렝스 데이터는 풀 컬러(16,777,216 컬러) 중 임의의 256 픽셀 컬러를 설정한다.
PDS는 팔레트 데이터를 저장하는 기능 세그먼트이다. 팔레트 데이터는 1 내지 255의 픽셀 코드와 픽셀 값의 조합을 나타낸다. 여기서 사용된 픽셀 값은 적색차 성분(Cr 값), 청색차 성분(Cb 값), 밝기 성분(Y 값), 및 투명도(T 값)로 구성된다. 런-렝스 데이터의 각 부분의 픽셀 코드를 팔레트 데이터가 나타내는 픽셀 값으로 대체함으로써 색이 만들어진다.
END는 기능 세그먼트의 전달이 완료되었다는 명확한 지시를 제공한다. END는 그래픽스 세그먼트에 최종 세그먼트로 삽입된다. 이것으로 각 기능 세그먼트에 대한 설명을 끝마친다.
도 4b는 기능 세그먼트를 운반하는 PES 패킷을 나타내는 도면이다. 도면에 도시한 바와 같이, 각 PES 패킷은 패킷 헤더와 페이로드로 구성된다. 페이로드는 기능 세그먼트를 운반하는 엔티티이고, 패킷 헤더는 기능 세그먼트와 관련된 DTS와 PTS를 운반한다. 이하, 기능 세그먼트를 운반하는 PES패킷의 패킷 헤더의 DTS와 PTS를 그 기능 세그먼트의 DTS와 PTS로 간단히 기재한다.
이들 다양한 종류의 기능 세그먼트는 도 5에 나타낸 것과 같은 논리 구조를 정의한다. 도면에서, 제 1 레벨은 Epoch를 나타내고, 제 2 레벨은 DS(Display Set)를 나타내며, 제 3 레벨은 DS의 종류를 나타낸다. 도 4a의 제 3 레벨에 나타낸 기능 세그먼트는 이 도면의 제 4 레벨에 나타낸다.
제 1 레벨의 Epoch는 AV 클립 재생 시간 축 위에 연속 메모리 관리의 하나의 시간 단위를 말하며, 또한 이 시간 단위에 할당된 데이터 그룹을 말한다. 여기서 언급한 메모리는 그래픽스 오브젝트의 한 화면을 저장하기 위한 그래픽스 플레인(graphics plane)과 비압축 그래픽스 데이터를 저장하기 위한 오브젝트 버퍼를 포함한다. 연속 메모리 관리는 그래픽스 플레인과 오브젝트 버퍼 어느 것도 전체 Epoch에서 비워지지 않으며, 그래픽스의 클리어링(clearing)과 렌더링(rendering)이 (전체 그래픽스 플레인이나 전체 오브젝트 버퍼를 클리어링하는 수단을 비우기 위해) 그래픽스 플레인의 기설정된 직사각 영역 내에만 수행되는 것을 의미한다. 이 직사각 영역의 크기와 위치는 전체 Epoch에서 고정된다. 그래픽스의 클리어링과 렌더링이 그래픽스 플레인의 이 고정된 직사각 영역 내에서 수행되는 한, 연속적인 재생이 보장된다. 다시 말해, Epoch는 AV 클립 재생 시간 축 상의 연속 재생의 시간 단위이다. 그래픽스 플레인의 그래픽스 클리어링/렌더링 영역을 변경하기 위하여, 변경이 이루어지는 재생 시간 축의 지점을 정의하고, 그 지점으로부터 이후로 새로운 Epoch를 설정하는 것이 필요하다. 이 경우, 두 Epoch 간의 경계는 연속하지 않는다.
여기서 말하는 연속 재생이란 그래픽스의 클리어링과 렌더링이 각각 기설정된 수의 비디오 프레임으로 끝나는 것을 의미한다. IG 스트림의 경우, 비디오 프레임의 수는 4 내지 5이다. 비디오 프레임의 수는 전체 그래픽스 플레인에 대한 고정 직사각 영역의 비 및 오브젝트 버퍼와 그래픽스 플레인 간의 전송속도에 기초하여 결정된다.
제 2 레벨의 DS는 그래픽스 스트림에 포함된 기능 세그먼트 그룹으로 하나의 완전한 디스플레이 합성을 제공한다. 도 5에서, 점선 hk1은 제 2 레벨의 DS가 어떤 Epoch에 속하는지를 보여준다. DS1, DS2, DS3, ..., 및 DSn이 제 1 레벨의 첫 번째 Epoch에 속하는 것으로 나타난다.
제 3 레벨은 DS의 종류를 보여준다. Epoch의 첫 번째 DS는 "Epoch Start" DS이다. Epoch의 첫 번째 것을 제외한 각 DS는 "Acquisition Point" DS이거나 "Normal Case" DS, 또는 "Epoch Continue" DS이다. DS를 "Acquisition Point", "Normal Case", 및 "Epoch Continue" 순서로 나타내지만, 이 순서는 단순히 예이고 다른 순서로 정렬될 수 있다.
Epoch Start DS는 "new display" 효과를 제공하고 새로운 Epoch의 시작을 지시한다. 따라서, Epoch Start DS는 다음 화면 합성을 위해 필요한 모든 기능 세그먼트를 포함한다. Epoch Start DS는, 영화에서 챕터의 시작과 같이 스킵 동작이 이루어지기 쉬운 지점에 제공된다.
Acquisition Point DS는 "display refresh" 디스플레이 효과를 제공하며, 앞선 Epoch Start DS와 내용에서 동일하다. Acquisition Point DS는 Epoch의 시작이 아니지만, 다음 화면 합성을 위해 필요한 모든 기능 세그먼트를 포함한다. 따라서, 재생이 Acquisition Point DS로부터 시작될 때 그래픽스는 신뢰성있게 표시될 수 있다. 즉, Acquisition Point DS는 디스플레이 합성이 Epoch의 중간지점으로부터 이루어질 수 있도록 한다.
Acquisition Point DS는 스킵 동작이 이루어질 수 있는 지점, 가령 시간 검색에 의해 지정될 수 있는 지점에 제공된다. 시간 검색은 사용자가 분/초로 입력한 시간에 대응하는 재생지점을 찾는 동작이다. 시간 입력은 10분 및 10초와 같이 상대적으로 큰 단위로 이루어진다. 따라서, Acquisition Point DS는 10분 및 10초 단위로 이루어지는 시간 검색에 의해 지정될 수 있는 지점에 제공된다. 시간 검색에 의해 지정될 수 있는 이러한 지점에 Acquisition Point DS를 제공함으로써, 시간 검색이 수행될 때 그래픽스 스트림의 재생이 부드럽게 실행될 수 있다.
Normal Case DS는 "dispaly update" 디스플레이 효과를 제공하며, 바로 앞선 디스플레이 합성과의 차이만을 포함한다. 예를 들어, DSv가 바로 앞선 DSu와 내용에서 동일하지만 디스플레이 합성에서 다르다면, DSv는 ICS나 ODS만을 포함하는 Normal Case DS이다. 이에 따라 DS에서 중첩하는 ODS를 제공할 필요가 없어져서 BD-ROM(100)에 저장되는 데이터량이 감소한다. Normal Case DS는 중첩 데이터 없이 차이를 포함하므로, Normal Case DS만을 가지고는 디스플레이 합성을 표시할 수 없다.
Epoch Continue DS는 하나의 Epoch가 다른 AV 클립으로부터 계속되는 것을 AV 클립의 시작에서 나타낸다. 예를 들어, DSn은 "Epoch Continue"를 나타내는 값을 갖는 합성상태 필드를 포함한다. 이 경우, 두 DS가 서로 다른 AV 클립에 있더라도 DSn은 바로 앞선 DSn-1과 같은 Epoch에 속한다. DSn과 DSn-1이 같은 Epoch에 속하기 때문에, 두 DS 간에 AV 클립의 경계가 있더라도 그래픽스 플레인과 오브젝트 버퍼 를 비우는 것은 없을 것이다.
도 5에서, 점선 kz1은 제 4 레벨의 기능 세그먼트가 어떤 DS에 속하는지를 보여준다. 도 4a와 도 5에 도시한 기능 세그먼트가 같기 때문에, 도 4a에 도시한 기능 세그먼트는 Epoch Start DS에 속하는 것을 알게 된다. Acquisition Point DS에 속하는 기능 세그먼트는 Epoch Start DS에 속하는 것과 동일하다. 또한, 기능 세그먼트의 일부가 Normal Case DS에서 생략되는 것을 제외하고, Normal Case DS에 속하는 기능 세그먼트는 Epoch Start DS에 속하는 것과 동일하다.
이것으로 기능 세그먼트가 정의하는 논리 구조에 대한 설명을 끝마친다. 다음, ICS와 ODS를 갖는 DS를 AV 클립 재생 시간 축에 배치하는 것에 대해 설명한다. Epoch는 연속 메모리 관리의 시간 단위이고 하나 이상의 DS를 포함하기 때문에, 그러한 DS가 AV 클립 재생 시간 축에 어떻게 배치되는지가 중요하다. "AV 클립 재생 시간 축"은 AV 클립에 다중화된 개별 화상들의 디코드 타이밍과 재생 타이밍을 정의하는데 사용되는 시간 축을 의미하는 것에 유의하라. 디코드 타이밍과 재생 타이밍은 90KHz의 시간 정확도(time accuracy)로 표시된다. DS내 ICS나 ODS의 DTS 및 PTS는 어떤 동기 제어가 구현되는지에 기초한 타이밍을 보여준다. DS는, ICS와 ODS에 부착된 각 DTS와 PTS와 관련하여 동기 제어를 실행함으로써 AV 클립 재생 시간 축에 배치된다.
Epoch 내 임의의 한 DS를 DSn으로 나타내고 DSn은 도 6에 도시한 바와 같은 DTS 및 PTS 설정에 기초하여 AV 클립 재생 시간 축에 배치되는 것으로 가정한다.
도 6은 DSn이 배치되는 AV 클립 재생 시간 축을 나타낸다. 도면에서, DSn 기간은 DSn(DTS(DSn[ICS]))에 속하는 ICS의 DTS 값이 나타내는 시간에서 시작하여 DSn(PTS(DSn[ICS]))에 속하는 END의 PTS 값이 나타내는 시간에 종료한다. DSn의 첫 번째 표시를 위한 표시 타이밍은 ICS(PTS(DSn[ICS]))의 PTS 값으로 나타낸다. 비디오 스트림 내 원하는 화상의 표시 타이밍에 대응하도록 PTS(DSn[ICS]) 값을 조절함으로써, DSn의 첫 번째 표시는 비디오 스트림과 동기될 것이다.
PTS(DSn[ICS]) 값은 ODS을 디코딩하는데 걸리는 시간(DECODEDURATION)과 디코드된 그래픽스 오브젝트를 전송하는데 걸리는 시간(TRANSFERDURATION)의 합이다. 첫 번째 표시를 위해 필요한 ODS의 디코딩은 DECODEDURATION 이내에 완료된다. 도 6에 도시한 기간 mc1은 DSn 내 임의의 한 ODS인 ODSm을 디코딩하는데 요구되는 시간이다. 디코드 기간 mc1의 시작은 DTS(ODSn[ODSm])으로 나타내고, 디코드 기간 mc1의 끝은 PTS(ODSn[ODSm])으로 나타낸다.
Epoch는 상기한 바와 같이 Epoch 내 모든 ODS를 AV 클립 재생 시간 축에 배치함으로써 정의된다. 이것으로 AV 클립 재생 시간 축에의 배치에 대한 설명을 끝마친다.
제 1 실시예의 특징의 하나는 AV 재생의 진행에 따라 멀티-페이지 메뉴의 동작을 제어하는 것이다. 이 특징을 구현하는 신규한 구조는 ICS에서 제공되는 interactive_composition 구조체에 있다. 이하, interactive_composition 구조체에 대해 설명한다.
도 7a와 7b는 interactive_composition 구조체와 ICS 간의 관계를 나타내는 도면이다. interactive_composition 구조체와 ICS는 도 7a에 도시한 바와 같이 일-대-일 대응, 또는 도 7b에 도시한 바와 같이 일-대-다수의 대응일 수 있다.
일-대-일 대응은 interactive_composition 구조체가 하나의 ICS에 포함될 만큼 충분히 작은 경우에 적용될 수 있다.
일-대-다수 대응은 interactive_composition 구조체가 하나의 ICS에 의해 운반되어 다수의 ICS에 저장되도록 단편화되기에는 크기가 너무 큰 경우에 적용할 수 있다. interactive_composition 구조체는 다수의 ICS에 저장되도록 단편화될 수 있기 때문에, interactive_composition 구조체의 크기에 가해지는 제한은 없다. 상기와 같이, 하나의 interactive_composition 구조체는 다수의 ICS에 대응할 수 있다. 그러나, 간단히 하기 위하여, 이하의 설명은 ICS와 interactive_composition 구조체가 일-대-일 대응에 있는 것을 전제조건으로 한다.
도 8은 ICS의 내부 구조를 나타내는 도면이다. ICS는 하나의 interactive_composition 구조체 또는 하나의 interactive_composition 구조체의 단편을 포함한다. 도 8의 왼쪽에 도시한 바와 같이, ICS는 다음의 필드로 구성된다: ICS의 세그먼트 타입을 나타내는 "segment_descriptor"; 비디오 플레인의 폭과 높이를 픽셀과 관련 비디오 스트림의 프레임 속도로 나타내는 "video_descriptor"; composition_state를 나타내고 ICS가 속하는 DS 종류가 Normal Case DS, Acquisition Point DS, Epoch Start DS, 또는 Effect_Sequence인지를 나타내는 정보인 "composition_descriptor"; 및 ICS가 전체 interactive_composition 구조체를 운반하는지 또는 interactive_composition 구조체의 한 단편을 운반하는지를 나타내는 "interactive_composition_data_fragment"이다.
화살표 cu1로 지시한 바와 같이, 도 8은 interactive_composition 구조체의 내부 구조를 상세하게 나타낸다. interactive_composition 구조체는 다음의 필드를 갖는다. 즉, "interactive_composition_length", "stream_model", user_interface_model", "composition_time_out_pts", "selection_time_out_pts", "user_time_out_duration", 표시를 위해 이용할 수 있는 멀티-페이지 메뉴의 각 페이지에 대한 "page_information (1), (2)...(i)...(number_of_page_1)"이다.
interactive_composition_length 필드는 interactive_composition 구조체의 길이를 나타낸다.
"stream_model" 필드는 관련된 interactive_composition 구조체의 스트림 모델의 종류를 나타낸다. 스트림 모델은 interactive_composition 구조체가 BD-ROM에 어떻게 저장되고 데이터가 재생장치의 버퍼(이하, "합성 버퍼"라 함)에 의해 어떻게 처리될 것인지를 보여준다. 구체적으로, 스트림 모델은, (i) 그래픽스 스트림이 AV에 다중화되고 분리 로드되어 합성 버퍼에 로드되거나, 또는 (ii) 그래픽스 스트림이 AV 클립과는 별개의 파일의 서브 클립으로서 저장되고 합성 버퍼에 미리 로드되는지를 보여준다. stream_model 필드는, 합성 버퍼가 interactive_composition 구조체가 미리 로드되거나 다중화되는지에 따라 서로 다른 처리를 수행할 필요가 있기 때문에 interactive_composition 구조체에 제공된다. 도 9는 "Multiplexed" ICS에 대해 수행되는 처리를 나타내는 도면이다. 도면에서, AV 클립에 다중화된 비디오 스트림은 제 4 레벨에 나타내고, AV 클립에 다중화된 그래픽스 스트림은 제 3 레벨에 나타낸다. 그래픽스 스트림은 3개의 DS, 즉 DS1, DS2, 및 DS8을 포함한다. 제 2 레벨은 AV 재생 처리를 나타낸다. 제 1 레벨은 AV 재생의 서로 다른 시간에서 합성 버퍼에 저장된 콘텐츠를 나타낸다. 현재 재생지점이 AV 클립에 다중화된 DS1의 선두에 도달한 경우, DS1은 화살표 pf1으로 지시한 합성 버퍼에 로드된다. 그 결과, 합성 버퍼는 DS1[ICS]를 저장한다. 이어, 현재 재생지점이 AV 클립에 다중화된 DS2의 선두에 도달한 경우, DS2는 화살표 pf2로 지시한 합성 버퍼에 로드된다. 그 결과, 합성 버퍼는 DS2[ICS]를 저장한다. 즉, stream_model이 "Multiplexed"인 경우, 하나 이상의 interactive_composition 구조체가 있다. 재생장치는 현재 저장된 interactive_composition 구조체를 버리고 현재 재생지점에 위치하는 다른 interactive_composition 구조체를 로드한다. 따라서, 합성 버퍼는 한 번에 하나의 interactive_composition 구조체를 저장한다.
이러한 폐기와 로딩 동작은 특히 스킵 동작시 효과적이다. 스킵 동작이 실행될 때, 현재 재생지점과 관련한 interactive_composition 구조체는 더 이상 필요하지 않다. 따라서, 재생장치는 현재 합성 버퍼의 interactive_composition 구조체를 버린다. 도 9에 도시한 바와 같이, 스킵 동작 am1이 실행될 때, 합성 버퍼는 스킵 동작의 실행 타이밍 am2에서 저장된 콘텐츠를 버린다. 이어, 스킵 목적지에 위치하는 DS8[ICS]가 화살표 pf3으로 지시한 바와 같이 합성 버퍼에 로드된다.
상기와 같이, "Multiplexed" 타입 스트림 모델의 경우, AV 재생을 진행함에 따라 저장된 interactive_composition 구조체를 버리기 위하여 합성 버퍼가 필요하다. 반면에, "preload" 타입 스트림 모델의 경우, 저장된 interactive_composition 구조체를 버리는데 합성 버퍼가 전혀 필요하지 않다. AV 재생이 진행함에 따라 합성 버퍼가 저장된 interactive_composition 구조체를 버린다면, 버린 것과 동일한 interactive_composition 구조체가 BD-ROM으로부터 다시 로드될 필요가 있다. 동일한 interactive_composition 구조체를 다시 로딩하는 이 쓸모없는 동작은 추가 부하를 가져온다. 도 10은 합성 버퍼의 콘텐츠를 나타내는 도면이다. 제 1 내지 제 4 레벨 각각에 나타나는 것에 대해서 도 10은 도 9와 유사하다. 그러나, 도 10은 서로 다른 시간에 저장된 합성 버퍼의 콘텐츠에 대해서 도 9와 다르다. 구체적으로, 현재 재생지점이 DS1이 다중화된 곳에 도달하더라도, DS1의 ICS는 (도면에 "×" 표식으로 지시한) 합성 버퍼에 로드되지 않는다.
마찬가지로, 현재 재생지점이 DS2가 다중화된 곳에 도달하더라도, DS2의 ICS는 (도면에 "×" 표식으로 지시한) 합성 버퍼에 로드되지 않는다. 유사하게, 합성 버퍼에 저장된 콘텐츠는 스킵 동작이 실행되더라도, 폐기되지 않고 유지된다. interactive_composition 구조체는 제어하는 주체(그래픽스 컨트롤러)가 AV 재생의 진행에 따라 저장된 interactive_composition 구조체를 폐기할지 또는 AV 재생의 진행에 관계없이 저장된 interactive_composition 구조체를 유지할지를 정확하게 판정하도록 하기 위한 stream_model 필드를 구비한다. 이로써 stream_model 필드에 대한 설명을 끝마친다.
도 8로 돌아가서, "user_interface_model"은 interactive_composition 구조체에 대해 사용될 사용자 인터페이스 모델의 종류를 나타낸다. user_interface_model은 "Always-On U/I" 또는 "Pop-Up U/I" 중의 하나를 나타낸다. Always-On U/I가 사용될 때, 메뉴는 화면에 나타나고 AV 클립 재생에 따라 사라진다. Pop-Up U/I가 사용될 때, 메뉴는 화면에 나타나고 사용자 조작에 응답하여 사라진다.
composition_time_out_pts는 ICS가 속하는 Epoch의 종료 시간(Epoch End)을 보여준다. ICS가 정의하는 인터랙티브 제어는 Epoch End에서 더 이상 유효하지 않다. 즉, composition_time_out_pts 필드가 나타내는 시점은 유효 인터랙티브 제어기간의 끝이다.
"selection_time_out_pts" 필드는 버튼선택 종료시간을 나타낸다. selection_time_out_pts 값이 나타내는 시간에, 현재 선택되어 있는 버튼이 자동으로 활성화된다. 버튼은 멀티-페이지 메뉴에 옵션을 표시하는 요소임을 유의하라. selection_time_out_pts 필드는 버튼을 활성화하기 위한 사용자 상호작용을 위한 유효 상호작용 기간이다.
도면에 나타낸 IF문(if(stream_model == '0b'))은 상기한 "composition_time_out_pts"과 "selection_time_out_pts" 필드가 "stream_model" 필드가 "Multiplexed" 타입을 나타내는 경우에만 제공되는 선택적 기능이라는 것을 의미한다. 스트림 모델이 "Preload" 타입인 ICS의 경우, "composition_time_out_pts"과 "selection_time_out_pts" 필드 어느 것도 제공되지 않는다.
user_time_out_duration 필드는 사용자 조작에 응답하여 표시된 화면상의 페이지가 제거되는 타임아웃(timeout)을 나타낸다. Always-On U/I가 사용될 때, 두 번째 페이지 이후의 페이지(서브 페이지라 함)가 사용자 조작에 대응하여 표시된다. 따라서, user_time_out_duration이 정의하는 타임아웃 후, 첫 번째 페이지를 화면 위에 남겨두고 모든 서브 페이지는 화면에서 제거된다. Pop-Up I/O가 사용될 때, 서브 페이지뿐만 아니라 멀티-페이지 메뉴의 모든 페이지가 사용자 조작에 대응하여 표시된다. 따라서, user_time_out_duration 이후, 어떤 페이지도 남겨두지 않고 모든 화면상 페이지는 제거된다(No Menu Display).
다음, Epoch의 selection_time_out_pts와 composition_time_out_pts 필드의 의미에 대해 설명한다.
도 11은 DSn이 Epoch Start DS(n = 1)인 경우 DSn에 속하는 ICS의 selection_time_out_pts와 composition_time_out_pts 필드의 기능을 설명하는 타이밍 차트이다. 타이밍 차트는 composition_time_out_pts 값이 Epoch의 끝(Epoch End)을 특정하는 것을 보여준다. 인터랙티브 디스플레이는 PTS(DSn[ICS])에서 Epoch END까지의 기간 동안 유효하다. 이 기간을 "인터랙티브 디스플레이기간"으로 부른다.
selection_time_out_pts는 Epoch END를 앞서는 시간을 특정한다. 사용자 상호작용은 PTS(DSn[ICS])에서 selection_time_out_pts 값이 특정하는 시간까지의 기 간 동안 이루어질 수 있다. 이 기간을 "유효 상호작용 기간"이라 부른다. 상기와 같이, selection_time_out_pts 필드는 인터랙티브 디스플레이의 첫 번째 표시로부터 시작하고 인터랙티브 디스플레이가 사용자 상호작용에 대해 이용가능한 기간의 종료시간을 정의한다. composition_time_out_pts 필드는 인터랙티브 디스플레이의 첫 번째 표시로부터 시작하고 Epoch의 인터랙티브 디스플레이가 유효하게 남아 표시되는 기간을 정의한다. 이것으로 selection_time_out_pts와 composition_time_out_pts 필드에 대한 설명을 끝마친다. 다음, selection_time_out_pts, composition_time_out_pts, 및 user_time_out_duration 필드가 정의하는 멀티-페이지 메뉴 상태변화에 대해 설명한다.
도 12a는 selection_time_out_pts, composition_time_out_pts, 및 user_time_out_duration 필드에 기초한 멀티-페이지 메뉴의 상태변화를 보여주는 도면이다. 도 12a는 Pop-Up U/I가 사용될 때 멀티-페이지 메뉴의 상태변화를 나타내는 도면이다. 도면에 나타낸 멀티-페이지 메뉴는 다음의 세 가지 상태를 갖는다. 즉, No Menu Display, 1st Page Only, Multi-Page Exist이다.
1st Page Only는 멀티-페이지 메뉴의 첫 번째 페이지만이 표시되는 상태이다.
Multi-Page Exist는 두 번째 페이지 이후의 페이지(서브 페이지)가 첫 번째 페이지에 더하여 표시되는 상태이다.
화살표 jt1은 No Menu Display 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 이벤트 "Pop-Up_On"에 의해 시작된다. "Pop-Up_On"은 메뉴 호출을 위한 사용자 조작에 대응하여 재생장치 내부에 생성된 이벤트이다.
화살표 jt2는 1st Page Only 상태에서 No Menu Display 상태로의 변화를 나타낸다. 이 상태 변화는 이벤트 "Pop-Up_Off"에 의해 시작된다. "Pop-Up_Off"는 메뉴 제거를 위한 사용자 조작에 대응하여 재생장치 내부에 생성된 이벤트이다.
화살표 jt3과 jt4는 1st Page Only 상태에서 No Menu Display 상태로, 그리고 Multi-Page Exist 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 selection_time_out_pts가 정의한 타임아웃 시 생성된 이벤트 "ChangeButtonPage"에 의해 시작된다. ChangeButtonPage는 메뉴 페이지를 스위칭하기 위한 사용자 조작에 대응하여 재생장치 내부에 생성된 이벤트이다. 이 이벤트는 메뉴 페이지를 스위칭하기 위한 사용자 조작이 이루어진다는 전제로 생성된다. selection_time_out_pts는 메뉴 페이지를 스위칭하기 위한 사용자 조작을 수신하기 위해 버튼을 강제로 무효화하기 위한 시간을 나타낸다. 따라서, selection_time_out_pts 필드에 대한 설명은 "1st Page Only -> Multi-Page Exist -> 1st Page Only"의 상태 변화를 구현한다.
화살표 jt5는 1st Page Only 상태에서 No Menu Display 상태로의 변화를 나타낸다. 화살표 jt6은 Multi-Page Exist 상태에서 No Menu Display 상태로의 변화를 나타낸다. 상태 변화 jt6은 user_time_out_duration의 타임아웃에 의해 시작된다.
도면에서, 1st Page Only 상태(jt5)와 Multi-Page Exist 상태(jt6)로부터 No Menu Display 상태로의 변화는 user_time_out_duration 필드에 의해 정의된다. 즉, AV 재생이 클라이맥스 장면에 도달하는 경우 화면상 메뉴 페이지가 자동으로 제거되는 그러한 제어를 정의할 수 있다. 이러한 제어에 의하면, 메뉴 페이지가 비디오 스트림 재생의 시청을 방해하는 것을 없앤다.
도 12b는 Always-On U/I가 사용될 때, 멀티-페이지 메뉴의 상태 변화를 나타낸다. 화살표 at1은 No Menu Display 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 이벤트 "Epoch Start"에 의해 시작된다. "Epoch Start"은 현재 재생지점이 interactive_composition 구조체와 관련된 PTS에 대응하는 지점에 도달한 것으로 보여주는 이벤트이다. 첫 번째 페이지가 비디오 스트림 재생이 진행함에 따라 어떠한 사용자 조작을 기다리지 않고 자동으로 표시되는 것을 보여준다.
화살표 at2는 1st Page Only 상태에서 Multi-Page Exist 상태로의 변화를 나타내고, 화살표 at3는 Multi-Page Exist 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 selection_time_out_pts가 정의한 유효 상호작용 기간의 타임아웃 시 생성된 이벤트 ChangeButtonPage에 의해 시작된다.
화살표 at4는 Multi-Page Exist 상태에서 1st Page Only 상태로의 변화를 나타낸다. 이 상태 변화는 user_time_out_duration의 타임아웃에 의해 시작된다. 이 상태 변화으로부터도 명확한 것처럼, Always-On U/I가 사용될 때, 상태 변화는 user_time_out_duration의 타임아웃 시 No Menu Display 상태로가 아니라 1st Page Only 상태로 이루어진다.
화살표 at5는 1st Page Only 상태에서 No Menu Display 상태로의 변화를 나타낸다. 이 상태 변화는 composition_time_out_pts 중의 시간에 의해 시작된다. composition_time_out_pts는 Epoch의 끝(Epoch END)을 나타내는 것에 유의하라.
도 12a와 12b로부터 분명한 것처럼, 멀티-페이지 메뉴 동작은 interactive_composition 구조체에서 제공되는 selection_time_out_pts, user_time_out_duration, 및 composition_time_out_pts 필드에 의해 정의된다.
도 13-15는 상기한 것처럼 정의한 제어하에 제공된 화면 표시를 보여준다. 도 13은 멀티-페이지 메뉴를 포함하는 디스플레이 시나리오를 보여준다. 이 시나리오에서, 멀티-페이지 메뉴는 처음에 화면에 표시되지 않는다. 멀티-페이지 메뉴의 첫 번째 페이지는 현재 재생지점이 지점 t에 도달한 경우 표시되고, 서브 페이지는 지점 t2에 추가로 표시된다. 현재 재생지점이 지점 t3에 도달한 경우, 화면상 서브 페이지는 첫 번째 페이지만을 화면에 남겨두고 제거된다. 이어 첫 번째 페이지는 화면상에 표시된 메뉴 없음 페이지를 남기고 지점 t4에서 제거된다.
도 13의 하단에, 상기한 디스플레이 시나리오를 달성하는 interactive_composition 구조체가 기술된다. PTS(DSn[ICS])는 지점 t1에 대응하는 값으로 설정되고, selection_time_out_pts는 지점 t2에 대응하는 값으로 설정되고, user_time_out_duration은 지점 t3에 대응하는 값으로 설정되고, composition_time_out_pts는 지점 t4에 대응하는 값으로 설정된다. 이 설정에 따르면, 멀티-페이지 메뉴는 도 13에 도시한 상태 변화를 수행한다.
이하, 구체 예를 참조하여 selection_time_out_pts 값의 설정을 상세하게 설명한다.
도 14a-14c는 selection_time_out_pts가 정의한 디스플레이 예를 보여준다. 도 14a에 도시된 바와 같이, t1 지점에서, 멀티-페이지 메뉴의 첫 번째 페이지가 비디오 스트림의 화상과 오버레이된다. t2 지점에 표시된 화상은 풍경 장면으로 AV 클립의 스토리에서 덜 중요하다. 이 화상은 사용자에 대해 귀중한 콘텐츠를 표시하지 않기 때문에, selection_time_out_pts 값은 t2 지점의 첫 번째 페이지에 표시된 버튼을 자동으로 활성화하도록 설정된다. 결과적으로, 서브 페이지가 도 14b에 나타낸 풍경 화면과 오버레이되어, 도 14c에 나타낸 합성 영상이 화면에 나타난다.
유사한 방법으로, 구체적인 디스플레이 예를 참조하여 user_time_out_duration에 대해 설명한다. 도 15a-15d는 user_time_out_duration이 정의한 표시 예를 나타낸다. 이 예에서, 멀티-페이지 메뉴는 다수의 서브 페이지(두 번째, 세 번째, 및 네 번째 페이지)가 도 15a와 같이 화면에 표시되는 Multi-Page Exist 상태에 있다. 이 Multi-Page Exist 상태에서, 멀티-페이지 메뉴의 페이지들은 비디오 스트림에 포함된 화상과 오버레이된다. 여기서, t3 지점에 표시될 화상은 도 15b에 도시된 바와 같은 캐릭터 영상이다. 이 경우, 화상과 오버레이된 다수의 서브 페이지는 도 15c에 도시된 바와 같이 캐릭터 영상의 대부분을 덮게 된다. 그 결과, 캐릭터 영상의 얼굴 표정을 볼 수 없다. 이러한 방해를 피하기 위해서, user_time_out_duration은 t3 지점 바로 전의 시간에 대응하는 값으로 설정된다. 이러한 설정에 의하면, 멀티-페이지 메뉴는 Multi-Page Exist 상태에서 1st Page Only 상태로 상태 변화를 한다. 그 결과, 도 15d에 도시된 바와 같은 합성 영상이 t3 지점에 표시된다. 여기서, 첫 번째 페이지는 캐릭터 영상을 지나치게 가리 지 않고 단독으로 화면에 표시된다. 또한, 멀티-페이지 메뉴의 모든 페이지를 제거하지 않고 첫 번째 페이지가 화면에 남기 때문에, 메뉴를 다시 호출할 필요가 없다.
상기한 바와 같이, 제 1 실시예에 따르면, 그래픽스 스트림에 다중화된 ICS는 AV 재생 진행에 따라 멀티-페이지 메뉴의 작용을 정의하는 제어 정보를 포함한다. 이에 따라, 풍경 장면과 같이 덜 중요한 장면을 재생하는 중에 다수의 페이지가 표시되는 그러한 제어를 정의할 수 있다. 이러한 제어에 의하면, 메인 콘텐츠인 AV 클립의 재생을 방해하지 않고 메뉴 페이지가 표시된다. 따라서, 사용자는 멀티-페이지 메뉴 기능의 편리함을 즐기면서 AV 재생의 시청에 집중할 수 있다.
(제 2 실시예)
제 2 실시예는 멀티-페이지 메뉴의 페이지를 표시하기 위한 디스플레이 합성에 관한 것이다. 제 2 실시예에 따르면, 디스플레이 합성은 버튼이라 불리는 다수의 그래픽 요소를 화면에 표시하도록 설계된다. 또한, 메뉴 페이지를 삽입하기 전 및/또는 제거한 후 애니메이션 효과가 화면에 표시된다.
도 16은 멀티-페이지 메뉴의 여러 페이지 중 임의의 것(x 번째 페이지)과 관련한 페이지 정보의 내부 구조를 나타내는 도면이다. 도면의 좌측에 도시한 바와 같이, 페이지 정보(x)는 다음 필드로 구성된다. 즉, 페이지(x)를 고유하게 식별하는 식별자를 나타내는 "page_id"; "UO_mask_table"; 페이지(x)를 화면에 삽입할 때 표시되는 애니메이션 효과를 특정하는 "in_effects"; 페이지 x를 화면에서 제거한 후 표시되는 애니메이션 효과를 특정하는 "out_effects"; 페이지(x)에 대한 애니메이션 효과를 표시하는 때 수행되는 애니메이션 프레임 속도를 나타내는 "animation_frame_rate_code"; "default_selected_button_id_ref"; "default_activated_button_id_ref"; "pallet_id_ref"; 및 페이지(x)에 표시되는 버튼 중 하나와 각각 관련된 "button_info (1), (2) ... (number_of_button - 1)"이다.
UO_mask_table 필드는 페이지(x)에 대한 사용자 조작의 허가와 금지를 나타낸다. 이 필드가 "prohibited"를 나타내는 값으로 설정되면, 재생장치에 대한 대응 사용자 조작은 페이지(x)가 활성화된 동안 무효하다.
default_selected_button_id_ref 필드는 페이지(x)의 표시를 시작할 때 디폴트로 선택된 버튼이 동적으로 또는 정적으로 결정되었는지를 보여준다. 이 필드가 "0xFF"로 설정된 때, 디폴트 선택 버튼은 동적으로 결정된다. 그 경우, 재생장치의 Player Status Register(PSR)에 보유한 값이 우선적으로 해석되고, PSR이 나타낸 버튼이 선택된 상태로 된다. 반면, 이 필드가 "0xFF" 이외의 값으로 설정된 경우, 디폴트로 선택된 버튼은 정적으로 결정된다. 그 경우, PSR은 default_selected_button_id_ref 값으로 오버라이트되고, 이 필드가 특정한 버튼이 선택된 상태로 된다.
default_activated_button_id_ref 필드는 default_selected_button_id_ref 필드 값이 규정한 시간에 자동으로 활성화되는 버튼을 나타낸다. default_activated_button_id_ref 필드 값이 "FF"로 설정된 경우, 타임 아웃 시에 선택된 상태에 있는 버튼이 자동으로 활성화된다. 반면, 이 필드가 "00"나 "FF" 중 어느 것도 아닌 값으로 설정된 경우, 그 값은 자동으로 활성화되는 버튼을 정적으로 특정하는 유효 버튼 번호로 해석된다.
pallet_id_ref 필드는 후술하는 CLUT 유닛에 설정되는 팔레트와 관련된 ID를 나타낸다.
각 button_info 구조체는 페이지(x)에 표시되는 버튼을 정의하는 정보이다. 상기한 필드에 의하여, 멀티-페이지 메뉴의 각 페이지가 정의된다. 다음, button_info 구조체의 내부 구조에 대해 설명한다. 설명에서, 페이지(x) 상의 임의의 버튼 하나를 button(i)로 정의한다. 도 16에서, 화살표 cx1은 button_info(i)의 내부 구조가 상세하게 보이도록 발췌된 것을 나타낸다.
페이지 상에 표시되는 각 버튼은 정상상태(normal state), 선택된 상태(selected state), 및 활성화 상태(activated state)인 세 가지 상태를 갖는다. 버튼이 정상상태에 있을 때, 버튼은 단순히 표시된다. 버튼이 선택된 상태에 있을 때, 버튼은 사용자 조작의 결과로 현재 포커싱되지만 아직 활성화되지는 않는다. 버튼이 활성화 상태에 있을 때, 버튼은 활성화된다. 각 버튼은 이 세 가지 상태를 갖기 때문에, button_info(i)는 다음의 정보를 구비한다.
button_id 필드는 interactive_composition 구조체의 button(i)를 고유하게 식별하는 값을 나타낸다.
button_numeric_select_value 필드는 button(i)가 숫자로 선택할 수 있는지를 나타내는 플래그이다.
auto_action_flag 필드는 button(i)가 자동으로 활성화될 수 있는지를 나타낸다. auto_action_flag 필드가 ON("1"의 비트 값)으로 설정된 경우, button(i)는 선택시 선택된 상태가 아니라 직접 활성화 상태로 변화한다. 반면, auto_action_flag 필드가 OFF("0"의 비트 값)로 설정된 경우, button(i)는 선택시 활성화 상태가 아니라 선택된 상태로 변화한다.
button_horizontal_position 필드와 button_vertical_position 필드는 각각 인터랙티브 디스플레이상 button(i)의 최상 좌측 픽셀의 수평 및 수직 위치를 특정한다.
neighbor_info 구조체는 button(i)가 선택된 상태에 있을 때 상하좌우 방향으로 포커스를 이동하기 위하여 이루어진 사용자 조작에 대응하여 선택된 상태를 수신하는 버튼을 나타낸다. neighbor_info 구조체는 upper_button_id_ref, lower_button_id_ref, left_button_id_ref, 및 right_button_id_ref 필드로 구성된다.
upper_button_id_ref 필드는 button(i)가 선택된 상태에 있는 동안 상방향으로 포커스를 이동하도록 지시하는 사용자 조작이 이루어지면 선택된 상태를 수신하는 버튼의 버튼 번호를 특정한다. 상방향 이동 동작은 리모트 컨트롤러의 Move Up 키를 눌러 실행된다. 이 필드가 button(i)와 같은 번호로 설정되면, Move Up 키에 대한 사용자 조작은 무시된다.
마찬가지로, lower_button_id_ref 필드, left_button_id_ref 필드, right_button_id_ref 필드 각각은 포커스를 아래, 좌측 또는 우측 방향으로 이동하 라는 사용자 조작 지시가 이루어지면 선택된 상태를 수신하는 버튼의 버튼 번호를 특정한다. 각 조작은 리모트 컨트롤러의 Move Down 키, Move Left 키, 및 move Right 키를 눌러 실행된다. 이들 필드가 button(i)와 같은 버튼 번호로 설정되면, 이들 키에 대한 사용자 조작은 무시된다.
normal_state_info 구조체는 button(i)의 정상상태를 정의하며, normal_start_object_id_ref, normal_end_object_id_ref, 및 normal_repeat_flag 필드로 구성된다.
normal_start_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값 중 최초 값을 특정한다.
normal_end_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값 중 최종 값을 특정한다. normal_end_object_id_ref 필드가 normal_start_object_id_ref와 같은 ID 값을 특정하면, 그 ID로 식별되는 그래픽스 오브젝트의 정적 영상이 button(i)로 표시된다.
normal_repeat_flag 필드는 정상상태의 button(i)의 애니메이션이 연속하여 반복될 지의 여부를 특정한다.
selected_state_info 구조체는 button(i)의 선택된 상태를 정의한다. selected_state_info 구조체는 selected_state_sound_id_ref, selected_start_object_id_ref, selected_end_object_id_ref, 및 selected_repeat_flag 필드로 구성된다.
selected_state_sound_id_ref 필드는 button(i)가 선택된 상태로 될 때 클릭 음으로 재생될 음 데이터를 특정한다. 음 데이터는 sound.bdmv라는 파일에 포함된 음 데이터 부분의 sound_id에 의해 특정된다. 이 필드가 "0xFF"로 설정된 경우, 음 데이터는 button(i)의 선택된 상태와 관련되지 않고 따라서 button(i)가 선택된 상태로 변경될 때 클릭 음이 재생되지 않는다.
selected_start_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최초 값을 특정한다.
selected_end_object_id_ref 필드는 애니메이션으로 button(i)의 정상상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최종 값을 특정한다. selected_end_object_id_ref 필드가 selected_start_object_id_ref와 같은 ID 값을 특정하면, 그 ID로 식별되는 그래픽스 오브젝트의 정적 영상은 button(i)로 표시된다.
selected_repeat_flag 필드는 선택된 상태의 button(i)의 애니메이션이 연속하여 반복될 지의 여부를 특정한다. selected_start_object_id_ref와 selected_end_object_id_ref가 같은 값을 가지면, selected_repeat_flag 필드는 "00" 값으로 설정된다.
activated_state_info 구조체는 button(i)의 활성화 상태를 정의하며, activated_state_sound_id_ref, activated_start_object_id_ref, 및 activated_end_object_id_ref 필드로 구성된다.
activated_state_sound_id_ref 필드는 button(i)가 활성화 상태로 될 때 클릭 음으로 재생될 음 데이터를 특정한다. 음 데이터는 sound.bdmv 파일에 포함된 음 데이터 부분의 sound_id에 의해 특정된다. 이 필드가 "0xFF"로 설정된 경우, 음 데이터는 button(i)의 활성화 상태와 관련되지 않고 따라서 button(i)가 활성화 상태로 변경될 때 클릭 음이 재생되지 않는다.
activated_start_object_id_ref 필드는 애니메이션으로 button(i)의 활성화 상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최초 값을 특정한다.
activated_end_object_id_ref 필드는 애니메이션으로 button(i)의 활성화 상태를 표시하는데 사용된 ODS 시퀀스에 연속하여 부여된 object_id 값의 최종 값을 특정한다.
"navigation_command" 구조체는 button(i)가 활성화될 때 실행될 네비게이션 명령을 나타낸다. 네비게이션 명령의 대표적인 예가 SetButtonPage 명령이다. SetButtonPage 명령은 재생장치가 선택된 상태의 페이지 상의 버튼 중 원하는 것과 함께 멀티-페이지 메뉴의 원하는 페이지를 표시하도록 지시한다. 이러한 네비게이션 명령에 의하면, 콘텐츠 제작자는 오소링 시 쉽게 페이지 변환을 기술할 수 있다.
이것으로 button_info 구조체에 대한 설명을 끝마친다. 이하, 도 17에 도시한 바와 같이, 버튼 O-A 내지 O-D의 상태 변화를 정의하는 button_info 서술의 일 예를 나타내는 도 18을 참조한다. 도 17에서, 화살표 hh1과 hh2는 버튼 O-A와 관련된 button_info(1)의 neighbor_info() 구조체가 정의한 상태 변화를 표시한다. button_info(1)에서, lower_button_id_ref 필드는 버튼 O-C를 특정하는 값으로 설정된다. 따라서, 버튼 O-A가 선택된 상태에 있는 동안 Move Down 키에 대해 사용자 조작이 이루어지면(도 17, up1), 버튼 O-C는 선택된 상태를 수신한다(sj1). button_info(1)의 right_button_id_ref 필드는 버튼 O-B를 특정하는 값으로 설정된다. 따라서, 버튼 O-A가 선택된 상태에 있는 동안 Move Right 키에 대해 사용자 조작이 이루어지면(도 17, up2), 버튼 O-B는 선택된 상태를 수신한다(sj2).
도 17의 화살표 hh3은 버튼 O-C와 관련된 button_info(2)의 neighbor_info() 구조체가 정의한 버튼 상태 변화를 표시한다. button_info(2)에서, upper_button_id_ref 필드는 버튼 O-A를 특정하는 값으로 설정된다. 따라서, 버튼 O-C가 선택된 상태에 있는 동안 Move Up 키에 대해 사용자 조작이 이루어지면(up3), 버튼 O-A는 선택된 상태를 수신한다(sj3).
이하, 버튼 O-A, O-B, O-C, 및 O-D의 그래픽 영상에 대해 설명한다. 도 18에 도시한 ICS를 구비한 DSn은 도 19에 도시한 그래픽 영상에 대응하는 ODS 11-19를 포함한다. button_info(0)의 normal_start_object_id_ref와 normal_end_object_id_ref 필드는 각각 ODS 11과 13을 특정한다. 따라서, 버튼 O-A의 정상상태는 ODS 11-13 시퀀스를 이용하여 애니메이션으로 표시된다. 마찬가지로, button_info(0)의 selected_start_object_id_ref와 selected_end_object_id_ref 필드는 각각 ODS 14과 16을 특정한다. 따라서, 버튼 O-A의 정상상태는 ODS 14-16 시퀀스를 이용하여 애니메이션으로 표시된다. 이러한 설정에 의하면, 버튼 O-A를 선택된 상태로 하기 위해 사용자 조작이 이루어진 경우, 버튼 O-A로 기능하는 그래픽 영상은 ODS 11-13을 이용하여 표시되는 것에서 ODS 14-16을 이용하여 표시되는 것으로 변경된다. 여기서, normal_state_info() 구조체의 normal_repeat_flag 필드가 값 "1"로 설정되면, ODS 11-13의 애니메이tus화 표시는 "(A)→"와 "→(A)"로 나타낸 것처럼 반복된다. 마찬가지로, selected_state_info() 구조체의 selected_repeat_flag 필드가 값 "1"로 설정되면, ODS 14-16의 애니메이션화 표시는 "(B)→"와 "→(B)"로 나타낸 것처럼 반복된다.
상기와 같이, 애니메이션으로 표시될 수 있는 복수의 ODS 세트는 버튼 O-A, O-B, O-C, 및 O-D와 관련된다. 따라서, ICS가 ODS를 참조함으로써, 버튼으로 기능하는 캐릭터 영상이 사용자 조작에 따라 얼굴 표정을 바꾸는 그러한 제어가 정의된다.
이것으로 button_info 구조체에 대한 설명을 끝마친다. 다음, 애니메이션 효과에 대해 설명한다. 도 16에 도시한 바와 같이, in-effect 필드와 out-effect 필드는 각각 effect_sequence 구조체를 특정한다. 도 20은 effect_sequence 구조체를 나타내는 도면이다. 도면의 좌측에 도시한 바와 같이, effect_sequence 구조체는 window_info(0), (1), (2)...(number_of_windows - 1); 및 effect_info(0), (1), (2)...(number_of_effects - 1)로 구성된다.
애니메이션 효과는 고정된 주기로 디스플레이 합성을 갱신함으로써 표시할 수 있다. 각 effect_info 구조체는 하나의 디스플레이 합성을 정의하는 정보 부분이다. 화살표 ec1은 effect_info의 내부 구조가 상세하게 나타나도록 발췌된 것을 보여준다. 도면에 도시한 바와 같이, effect_info 구조체는 상기한 고정 주기, 즉 관련된 디스플레이 합성이 표시될 시간을 나타내는 effect_duration; 관련된 디스플레이 합성에 대해 사용되는 팔레트를 특정하는 pallet_id_ref; 및 디스플레이 합성의 상세를 특정하는 composition_object(0), (1), (2) ... (number_of_composition_object - 1)으로 구성된다.
각 window_info 구조체는 디스플레이 합성이 만들어지는 그래픽스 플레인의 윈도 또는 영역을 정의한다. 화살표 wc1으로 나타낸 바와 같이, window_info는 상세하게 나타내도록 발췌된다. 도면에 도시한 바와 같이, window_info는 다음 필드로 구성된다. 그래픽스 플레인의 윈도를 고유하게 식별하는 "window_id"; 윈도의 최상부 좌측 픽셀의 수평 위치를 특정하는 "window_horizontal_position"; 윈도의 최상부 좌측 픽셀의 수직 위치를 특정하는 "window_vertical_position"; 윈도의 폭을 특정하는 "window_width"; 및 윈도의 높이를 특정하는 "window_height"이다.
이하, window_horizontal_position, window_vertical_position, window_width,및 window_height 필드 각각에 설정될 수 있는 값에 대해 설명한다. 이들 필드는 video_height와 video_width로 정의되는 높이와 폭을 갖는 2차원 그래픽스 플레인 내 좌표에 대응하는 값으로 설정된다.
window_horizontal_position 필드는 그래픽스 플레인의 픽셀의 수평 어드레스를 나타내기 때문에, 이 필드는 "1"부터 video_width 값까지의 값으로 한다. 마 찬가지로, window_vertical_position 필드는 그래픽스 플레인의 픽셀의 수직 어드레스를 나타내기 때문에, 이 필드는 "1"부터 video_height 값까지의 값으로 한다.
window_width 필드는 그래픽스 플레인의 윈도의 폭을 나타내기 때문에, 이 필드는 "1"부터 video_width 값에서 window_horizontal_position 값을 감산하여 산출된 값까지의 값을 취한다. 마찬가지로, window_height 필드는 그래픽스 플레인의 윈도의 높이를 나타내기 때문에, 이 필드는 "1"부터 video_height 값에서 window_vertical_position 값을 감산하여 산출된 값까지의 값을 취한다.
상기와 같이, window_info는 그래픽스 플레인의 윈도의 크기와 위치를 정의하는 window_horizontal_position, window_vertical_position, window_width,및 window_height 필드를 구비한다.
이하, 초당 24프레임의 속도로 그래픽의 디스플레이 합성을 나타내는 프레임워크(framework)를 구현하기 위한 윈도 크기에 대한 제한에 대해 설명한다. 이 프레임 속도는 비디오 스트림 재생에 적용되는 비디오 프레임 속도에 대응한다. 이 프레임워크에 의하면, 그래픽스 오브젝트는 비디오 스트림과 구체적으로 동기하여 표시된다. 프레임워크를 구현하기 위하여, 윈도는 비디오 프레임 속도로 클리어링되고 렌더링되어야 한다. 여기서, 오브젝트 버퍼에서 그래픽스 플레인으로의 필요한 전송속도에 대해 고려한다.
먼저, 윈도 크기에 대한 제한을 조사한다. Rc를 오브젝트 버퍼에서 그래픽스 플레인으로의 전송속도라 정의하자. 최악의 시나리오로, 윈도의 클리어링과 렌더링은 Rc로 수행될 필요가 있다. 다시 말해, 클리어링과 렌더링은 Rc의 반(Rc/2)으로 수행될 필요가 있다.
따라서, 다음의 식을 만족할 필요가 있다.
(윈도 크기) × (프레임 속도) ≒ Rc/2
프레임 속도가 24일 때, RC는 다음의 식으로 표현된다.
Rc = (윈도 크기) × 2 × 24
그래픽스 플레인의 총 필셀 수가 1920 × 1080이고 픽셀당 인덱스의 비트 길이가 8비트인 경우, 그래픽스 플레인의 총 용량은 2 Mbyte(≒ 1920 × 1080 × 8)이다.
Rc가 128Mbps이고 윈도 크기가 그래픽스 플레인의 1/A인 경우, 다음의 식을 만족한다.
128,000,000 = 1920 × 1080 × 1/A × 8 × 2 × 24
1/A ≒ 0.16 (= 128,000,000/(1920 × 1080 × 8 × 2 × 24))
따라서, 윈도 크기를 전체 그래픽스 플레인의 16%로 제한함으로써, 애니메이션 효과가 128Mbps의 전송속도로 렌더링되는 한 비디오 스트림과의 애니메이션 효 과 간의 동기는 보장된다.
예를 들어, 윈도의 클리어링 및 렌더링 속도를 나타내는 effect_duration이 비디오 프레임 속도의 1/2 또는 1/4이라고 가정하자. 이 경우, 윈도 크기는 Rc가 동일하더라도 전체 그래픽스 플레인의 32% 또는 64%만큼 클 수 있다. 즉, effect_sequence 구조체는 effect_duration이 더 큰 윈도 크기에 대해 더 길게 그리고 더 작은 윈도 크기에 대해 더 짧게 결정되는 특징을 구비한다. 이것으로 윈도 크게에 대한 설명을 끝마친다. 다음, 윈도 위치에 대해 설명한다. 상기한 바와 같이, 윈도의 위치와 크기는 한 Epoch를 통하여 고정된다.
윈도의 위치와 크기는 다음의 이유로 한 Epoch 기간 동안 고정된다. 윈도의 크기와 위치가 변경되면, 그래픽스 플레인의 기록 어드레스가 변경될 필요가 있으며, 이는 오버헤드(overhead)를 초래한다. 오버헤드는 필연적으로 오브젝트 버퍼에서 그래픽스 플레인으로의 전송속도를 감소시킨다.
하나의 윈도에 한 번에 렌더링되도록 허용된 그래픽스 오브젝트의 개수에는 제한이 있다. 그래픽스 오브젝트의 개수는 디코드된 그래픽스 오브젝트를 전송할 때 초래하는 오버헤드를 줄이기 위하여 제한된다. 구체적으로, 여기서 언급하는 오버헤드는 그래픽스 플레인의 에지부의 어드레스를 설정할 때 초래된다. 이 오버헤드는 에지부의 수가 더 크면 증가한다.
하나의 윈도에 표시될 수 있는 그래픽스 오브젝트의 개수에 제한이 없으면, 그래픽스 오브젝트를 그래픽스 플레인이 전송할 때 오버헤드가 무제한으로 초래되며, 이는 전송 부하의 변동을 증가시킨다. 반면, 하나의 윈도의 그래픽스 오브젝트 의 개수를 두 개로 제한하면, 오버헤드의 예의 개수가 많아야 넷이라는 가정으로 전송속도 Rc가 설정될 수 있다. 따라서, 전송속도 Rc의 최소 기준이 쉽게 결정될 수 있다.
effect_info 구조체로 돌아와서, effect_duration은 윈도 크기에 따라 결정된다. 이하, effect_duration이 결정되는 방법에 대해 설명한다. 도 21a는 effect_duration이 결정되는 방법을 도식적으로 설명하는 도면이다. 도면에서, (j+1) 번째 디스플레이 합성은 j 번째 디스플레이 합성의 표시로부터 다수의 비디오 프레임 이후에 표시된다. 이 다수의 비디오 프레임의 개수가 effect_duration이다. effect_duration을 계산하기 위해서, 각 디스플레이 합성의 표시를 위해 렌더링될 총 데이터 크기가 알려져야 한다. 여기서, effect_sequence는 number_of_windows 필드 값이 지시하는 개수의 윈도를 구비한다. 따라서, j 번째 디스플레이 합성의 표시를 위해 렌더링될 필요가 있는 데이터의 총 크기는 중괄호 br로 나타낸 바와 같이 윈도 (0) 내지 (number_of_windows - 1)의 총 크기와 같다.
상기와 같이, j 번째 디스플레이 합성은 윈도 (0) 내지 (number_of_windows - 1)를 구비한다. 따라서, 윈도의 총 데이터 크기를 재생장치의 전송속도(128Mbps)로 나누고 PTS의 시간 정확도(90Khz)를 곱하여 그 결과는 90KHz로 표시된다. 그 결과 값이 effect_sequence의 j 번째 디스플레이 합성이 표시되는 기간이다. 도 21b는 effect_duration을 계산하기 위한 식을 나타낸다.
이 명세서에서, 연산자 "ceil()"는 정수로 반올림한 값을 돌려주는 나눗셈을 나타낸다.
도 22는 in-effect 애니메이션의 측정 예를 나타내는 도면이다. in-effect 애니메이션은 화면에서 캐릭터 영상의 손바닥에서 빛이 나타나고 빛이 사라진 후 메뉴가 서서히 올라오도록 영상을 표시한다. 그래픽스 데이터의 크기는 메뉴가 화면에 완전하게 보일 때(effect(4)) in-effect 내에서 가장 크다. 따라서, 윈도의 window_width와 window_height는 effect(4)의 데이터 크기에 기초하여 결정된다. 여기서 결정된 윈도 크기가 전체 그래픽스 플레인의 약 50%인 것으로 가정한다. 이 윈도 크기는 그래픽스 플레인의 16%인 상기한 윈도 크기에 거의 3배 정도 크다. 결과적으로, 이 in-effect에 대한 effect_duration은 디스플레이 합성이 128Mbps의 속도로 적절하게 갱신되도록 하기 위하여 더 길게 결정된다. effect(0), (1), (2), 및 (3)의 각 effect_duration은 상대적으로 길게 설정된다. 이 설정에 의하면, 각 디스플레이 합성은 비디오 프레임 세 개마다 렌더링되어 in-effect 애니메이션이 연속하여 표시되는 것을 보장한다. 같은 체계가 out-effect에 적용된다. 도 23은 window_width, window_height, 및 effect_duration 필드 값이 상기한 방법으로 결정되는 out-effect 애니메이션을 보여주는 도면이다.
상기한 바와 같이, 제 2 실시예에 따르면, window_info는 렌더링을 위한 그래픽스 플레인의 영역을 정의하고, effect_info는 렌더링 영역이 갱신되는 간격 주기를 정의한다. 따라서, 주기는 렌더링 영역이 더 크게 설정될 때 더 길게 조정될 수 있고, 렌더링 영역이 더 작게 설정될 때 더 짧게 조정될 수 있다. 이러한 설정에 의하면, 재생장치가 그래픽스 데이터를 고정된 전송속도로 전송하는 한 애니메이션 효과의 연속적인 표시가 보장된다.
(제 3 실시예)
본 발명의 제 3 실시예는 스크롤(Scroll), 와이프-인/아웃(Wipe-In/Out), 및 컷-인/아웃(Cut-In/Out)과 같은 애니메이션 효과의 표시에 대한 개선에 관한 것이다. 애니메이션 효과를 달성하기 위한 구조체는 도 20에 도시한 composition_object 구조체에 있다. 도 24는 임의의 composition_object(i)의 내부 구조를 상세하게 보여주는 도면이다. 도면에 도시한 바와 같이, composition_object(i)는 다음의 필드로 구성된다. 즉, "object_id_ref"; "window_id_ref"; object_cropped_flag"; "composition_object_horizontal_position"; "composition_object_vertical_position"; 및 "cropping_rectangle_info(1), (2) ... (n)"이다.
object_id_ref 필드는 그래픽스 오브젝트 식별자(object_id)용 기준 값을 나타낸다. 기준 값은 composition_object(i)에 따라 디스플레이 합성을 생성하는데 사용되는 그래픽스 오브젝트를 식별하는 object_id에 대응한다.
window_id_ref 필드는 윈도우 식별자(window_id)용 기준 값을 나타낸다. 기준 값은 composition_object(i)에 따라 디스플레이 합성이 렌더링되는 윈도우를 식별하는 window_id에 대응한다.
object_cropped_flag 필드는 오브젝트 버퍼에 크롭된 그래픽스 오브젝트가 표시될 것인지 표시되지 않을 것인지를 지시하는 플래그를 나타낸다. 이 필드가 "1"로 설정되는 경우, 오브젝트 버퍼에 크롭된 그래픽스 오브젝트는 표시된다. 반면, 이 필드가 "0"으로 설정되는 경우, 크롭된 그래픽스 오브젝트는 표시되지 않는다.
composition_object_horizontal_position 필드는 그래픽스 플레인의 그래픽스 오브젝트의 최상부 좌측 픽셀의 수평 위치를 나타낸다.
composition_object_vertical_position 필드는 그래픽스 플레인의 그래픽스 오브젝트의 최상부 좌측 픽셀의 수직 위치를 나타낸다.
cropping_rectangle 구조체는 object_cropped_flag 필드가 "1"로 설정될 때 유효하다. 도 24에서, 화살표 wd2는 cropping_rectangle의 내부 구조가 상세하게 보이도록 발췌된 것을 나타낸다. 도면에 도시한 바와 같이, cropping_rectangle 구조체는 다음의 필드로 구성된다. 즉, "object_cropping_horizontal_position"; "object_cropping_vertical_position" ; "object_cropping_width"; 및 "object_cropping_height"이다.
object_cropping_horizontal_position 필드는 크롭핑 사각의 최상부 좌측 코너의 수평 위치를 나타낸다. 크롭핑 사각은 크롭될 그래픽스 오브젝트의 영역을 정의한다.
object_cropping_vertical_position 필드는 크롭핑 사각의 최상부 좌측 코너의 수직 위치를 나타낸다.
object_cropping_width 필드는 크롭핑 사각의 폭을 나타낸다.
object_cropping_height 필드는 크롭핑 사각의 높이를 나타낸다.
이것으로 composition_object 구조체에 대한 설명을 끝마친다. 다음, omposition_object 구조체에 대한 구체 예에 대해 설명한다.
도 25는 Right-Scroll 애니메이션 효과를 표시하는 in-effect의 구체 예를 나타내는 도면이다. 이 예의 in-effect 애니메이션은 언어 선택메뉴가 화면의 우측 가장자리로부터 점차 나타나도록 영상을 표시한다. 이 in-effect 애니메이션에 대해, composition_object(0), composition_object(1), composition_object(2), 및 composition_object(3)은 각각 지점 t0, t1, t2, 및 t에 부여된다. 또한, ICS와 DS 각각에 관련된 effect_info 구조체는 다음의 window_info 구조체와 composition_object 구조체를 포함하도록 정의된다.
이하, 각 composition_object 구조체의 설정에 대해 설명한다. 도 26-29는 각각 composition_object 구조체의 예제 설정을 설명한다. 도 26은 composition_object(0) 구조체의 예를 보여주는 도면이다.
도면에서, window_horizontal_position과 window_vertical_position 필드는 그래픽스 플레인의 윈도의 최상부 좌측 픽셀 LPO의 좌표를 특정한다. window_width와 window_height 필드는 윈도의 폭과 높이를 특정한다.
도면에 도시한 바와 같이, object_cropping_horizontal_position과 object_cropping_vertical_position 필드는 크롭될 그래픽스 오브젝트의 영역을 결정하는데 사용되는 기준점 ST1을 특정한다. 기준점 ST1은 오브젝트 버퍼의 그래픽스 오브젝트의 최상부 좌측 모서리에 원점을 갖는 좌표계에 기초하여 지정된다. 기준점 ST1으로부터 object_cropping_width와 object_cropping_height 필드에 의해 특정된 길이와 폭을 갖는 영역은 크롭핑 사각(도면에서 실선 박스)으로 결정된다. 그래픽스 오브젝트의 크롭된 부분은 window_horizontal_position과 window_vertical_position 필드가 특정하는 최상부 좌측 픽셀 LPO를 갖는 위치의 그래픽스 플레인에서 렌더링된다. 이 예에서, 우측으로부터 언어 선택메뉴의 약 1/4이 그래픽스 플레인의 윈도 내에서 렌더링된다. 그 결과, 언어 선택메뉴의 우측 1/4이 비디오 위에 중첩된 합성 영상으로서 표시된다.
도 27, 28, 및 29는 각각 composition_object(1) 구조체, composition_object(2) 구조체, 및 composition_object(30 구조체의 예를 나타내는 도면이다. 각 도면에 나타낸 window_info 구조체는 도 26에 나타낸 것과 동일하다. 따라서, 설명은 생략한다. 그러나, 도 27에 도시한 composition_object(1) 구조체는 도 26에 나타낸 것과 다르다. 도 27에서, object_cropping_horizontal_position과 object_cropping_vertical_position 필드는 오브젝트 버퍼에 저장된 언어 선택메뉴의 1/4이 아닌 대략 우측 절반의 최상부 좌측 픽셀의 좌표를 특정한다. object_cropping_width와 object_cropping_height 필드는 언어 선택메뉴의 우측 절반의 높이와 폭을 특정한다. 마찬가지로, 도 28에서, composition_object(2) 구조체의 각 필드는 함께 우측으로부터 언어 선택메뉴의 약 3/4를 특정한다. 도 29에서, composition_object(3) 구조체의 각 필드는 함께 우측으로부터 언어 선택메뉴의 전체 부분을 특정한다. 도 27, 28, 및 29에 도시한 그래픽스 오브젝트의 크롭된 부분을 그래픽스 플레인에 렌더링함으로써, 우측으로부터 언어 선택메뉴의 절반, 3/4 그리고 전체 언어 선택메뉴가 비디오 위에 오버레이된다.
상기한 바와 같이, 본 발명의 제 3 실시예에 따르면, composition_object 구조체에 의해 애니메이션 효과는 원하는 대로 쉽게 정의된다. 예를 들어, 오브젝트 버퍼에 저장된 그래픽스 오브젝트가 화면에 점차 나타나거나 화면에서 점차 사라지도록 렌더링되는 것이 쉽게 정의된다.
(제 4 실시예)
본 발명의 제 4 실시예는 DS의 ODS 순서의 최적화를 통하여 이루어진 개선에 관한 것이다. 상기한 바와 같이, DS의 ODS는 interactive_composition에 의해 참조되어 in-effect나 out-effect 애니메이션 또는 버튼의 한 상태를 표시할 수 있다. DS의 ODS 순서는 ODS가 in-effect 애니메이션, out-effect 애니메이션 또는 버튼 상태에 사용되느냐에 따라 결정된다.
구체적으로, DS의 ODS는, (1) Page[0]에 대한 out-effect 애니메이션의 표시를 위해 사용되는 ODS, (2) 버튼의 정상상태의 표시를 위해 사용되는 ODS, (3) 버튼의 선택된 상태의 표시를 위해 사용되는 ODS, (4) 버튼의 활성화 상태의 표시를 위해 사용되는 ODS, (5) Page[0]에 대한 in-effect와 이후의 Page[1]에 대한 in-effect 및 out-effect의 표시를 위해 사용되는 ODS로 분류된다. 즉, 동일한 표시와 관련된 ODS는 동일한 그룹에 들어간다. in-effect와 관련된 ODS 그룹은 "in-effect 그룹"으로 불린다. 각 버튼상태에 관련된 ODS 그룹은 "버튼-상태 그룹"으로 불린다. Page[0]의 out-effect, Page[1]의 in-effect 및 out-effect와 관련된 ODS는 "나머지 그룹"으로 불린다.
이들 ODS 그룹은 다음의 순서로 정렬된다. 즉, in-effect 그룹 -> 정상상태 그룹 -> 선택된 상태 그룹 -> 활성화 상태 그룹 -> 나머지 그룹이다. 이와 같이, DS의 ODS 순서는 ODS가 관련된 표시 대상에 기초하여 결정된다.
다음, DSn의 ODS의 순서에 대해 구체적으로 설명한다. 도 30은 DS의 ODS 순서를 나타내는 도면이다.
도면에서, ODS1-ODSg는 Page[0]에 대한 in-effect와 관련된 ODS 그룹에 속한다(in-effect 그룹).
ODSg+1-ODSh는 버튼의 정상상태와 관련된 ODS 그룹에 속한다(정상상태용 ODS).
ODSh+1-ODSi는 버튼의 선택된 상태와 관련된 ODS 그룹에 속한다(선택된 상태용 ODS).
ODSi+1-ODSjj는 버튼의 활성화 상태와 관련된 ODS 그룹에 속한다(활성화 상태용 ODS).
ODSj+1-ODSk는 Page[0]의 out-effect에 관련된 ODS 그룹과 이후 Page[1]으로부터의 페이지의 in-effect 및 out-effect에 관련된 ODS에 속한다(나머지 그룹).
ODS 그룹은 다음 순서로 정렬된다. in-effect 그룹 -> 정상상태 그룹 -> 선택된 상태 그룹 -> 활성화 상태 그룹 -> 나머지 그룹이다. 이 순서는 인터랙티브의 첫 번째 표시에 요구되는 ODS가 첫 번째로 판독되고 디스플레이 갱신 이후에만 요 구되는 ODS는 나중에 판독되도록 결정된다.
다음, 다중-참조가 있을 경우 ODS 순서에 대해 설명한다. 여기에 사용되는 "다중-참조(multiple-reference)"라는 용어는 동일한 object_id는 ICS의 normal_state_info, selected_state_info, 및 activated_state_info 중 둘 이상의 부분에 의해 참조되는 것을 의미한다. 예를 들어, 다중-참조에 의하여, 정상상태의 버튼을 렌더링하는데 이용되는 특정 그래픽스 오브젝트는 선택된 상태의 다른 버튼을 렌더링하는데 공통으로 사용된다. 다시 말해, 그래픽스 오브젝트는 공유되어 ODS의 수를 줄일 수 있다. 여기서,다중-참조를 구비한 ODS가 어떤 버튼상태에 속하는지에 대한 문제가 생긴다.
구체적으로, 하나의 ODS가 선택된 상태의 다른 버튼뿐만 아니라 정상상태의 하나의 버튼에 관련되는 경우, ODS가 정상상태용 버튼상태 그룹이나 선택된 상태의 버튼상태 그룹에 속하는지가 결정될 필요가 있다.
그러한 경우, ODS는 ICS에 먼저 나타나는 버튼상태 그룹에 위치한다.
예를 들어, ODS가 정상상태 그룹과 선택된 상태 그룹 모두에 의해 참조된다면, ODS는 정상상태 그룹(N-ODS)에 위치하지만 선택된 상태 그룹(S-ODS)에는 위치하지 않는다. 또한, ODS가 선택된 상태 그룹과 활성화 상태 그룹 모두에 의해 참조된다면, ODS는 선택된 상태 그룹(S-ODS)에 위치하지만 활성화 상태 그룹(A-ODS)에는 위치하지 않는다. 이러한 방법으로, 각 ODS가 둘 이상의 다른 state_info 구조체에 의해 참조될 때, ODS는 DS에서 한 번만 나타나고 버튼상태 그룹의 첫 번째 것에 위치한다.
이는 애니메이션 효과에 관련된 ODS에도 동일하게 적용된다. 그래픽스 오브젝트가 Page[0]용 in-effect 및 out-effect에 공통으로 사용된다면, 그래픽스 오브젝트는 DS에 한 번만 나타나고 in-effect 그룹에 위치한다. 마찬가지로, 그래픽스 오브젝트가 Page[0]용 in-effect와 이후의 Page[1]용 in-effect 또는 out-effect에 공통으로 사용된다면, 그래픽스 오브젝트는 DS에 한 번만 나타나고 in-effect 그룹에 위치한다. 이것으로 ODS에 대한 다중-참조가 있는 경우 ODS 순서에 대한 설명을 끝마친다.
상기한 바와 같이 ODS에 대한 가능한 다중-참조 때문에, DSn은 상기한 모든 ODS 그룹을 포함하지 않을 수 있다. 예들 들어, DSn은 다중-참조 때문에 선택된 상태 그룹을 포함하지 않을 수 있다. 또한, DSn은 in-effect 그룹 ODS를 포함하지 않을 수 있다. 이는 in-effect가 인터랙티브 디스플레이의 표시에 필수적이지 않기 때문이다.
이하, 선택된 상태용 버튼상태 그룹(S-ODS)의 ODS 순서에 대해 설명한다. S-ODS 중, 어떤 ODS가 선두에 위치해야하는지는 디폴트 선택버튼이 정적으로 또는 동적으로 결정되느냐에 따른다. interactive_composition의 default_selected_button_id_ref 필드가 "00" 이외의 유효값으로 설정되면, 디폴트 선택버튼은 정적으로 결정된다. 이 유효값은 디폴트로 선택될 버튼을 특정한다. default_selected_button_id_ref 필드가 유효하고 특정된 디폴트 선택버튼과 관련된 ODS가 N-ODS에 없다면, 그 ODS는 S-ODS의 선두에 위치한다.
반면, default_selected_button_id_ref 필드가 "00"으로 설정되면, 재생장치의 상태에 따라 다른 버튼이 디폴트 버튼으로 동적으로 결정된다.
default_selected_button_id_ref 필드는, 예를 들어, DS가 다중화된 AV 클립이 다수의 재생경로의 합류 지점의 역할을 하는 경우, "00"값으로 설정된다. 그 경우, 어떤 재생경로가 선택되느냐에 따라 다른 버튼이 디폴트로 선택될 필요가 있다. 따라서, S-ODS에 특정 ODS를 둘 필요가 없다.
도 31은 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우와 버튼 B를 특정하는 유효값으로 설정되는 경우 사이에 S-ODS의 ODS 순서가 어떻게 다른지를 보여주는 도면이다. 도면에서, 화살표 ss1은 default_selected_button_id_ref 필드가 버튼 B를 식별하는 button_id를 특정하는 경우에 S-ODS의 ODS 순서를 나타낸다. 화살표 ss2는 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우에 S-ODS의 ODS 순서를 나타낸다. 도면에 도시한 바와 같이, default_selected_button_id_ref 필드가 버튼 B를 특정하는 경우, 버튼 B의 선택된 상태와 관련된 ODS(버튼 B용 ODS)는 S-ODS의 선두에 위치하며, 다른 버튼과 관련된 ODS(버튼 A, C, 및 D용 ODS)가 뒤따른다. 반면, default_selected_button_id_ref 필드가 "00"으로 설정되는 경우, 버튼 A의 선택된 상태와 관련된 ODS(버튼 B용 ODS)는 S-ODS의 선두에 위치한다. 상기한 바와 같이, S-ODS의 ODS 순서는 default_selected_button_id_ref 필드 값이 값을 갖느냐 갖지않느냐에 따라 다르다.
제 4 실시예에 따르면, DS의 ODS는 DS에 나타나는 순서로 정렬된다. 따라서, 다수의 그래픽 요소를 포함하는 디스플레이 합성은 부드럽게 표시될 수 있다.
(제 5 실시예)
제 5 실시예에서, AV 클립의 시간 축에 DS를 부여하는 방법을 설명한다. 본 발명의 제 5 실시예에서, PTS와 DTS 값을 어떻게 설정하는지를 설명한다.
먼저, ODS의 PTS와 DTS에 기초하여 동기 제어에 영향을 주는 메커니즘을 설명한다.
DTS는 90KHz의 시간 정확도로 관련 ODS의 디코딩이 개시되어야 하는 시간을 나타낸다. PTS는 디코딩을 완료하기 위한 마감시간을 나타낸다.
ODS의 디코딩은 즉시 완료될 수 없으며, 일정한 기간이 걸린다. ODS를 디코딩하는 개시 및 종료시간을 명시적으로 나타내기 위하여, DTS 및 PTS는 디코딩 개시시간과 디코딩 마감시간을 나타낸다.
PTS 값은 관련 ODS의 디코딩이 완료되어 그 결과에 따른 비압축 그래픽스 오브젝트가 재생장치의 오브젝트 버퍼에 이용가능하게 되어야 하는 마감시간을 나타낸다.
DSn에 속하는 임의의 ODSj의 디코딩 개시시간은 90KHz의 시간 정확도로 DTS(DSn[ODS])로 나타낸다. 따라서, ODSj의 디코딩 마감시간은 DTS(DSn[ODS]) 값과 디코딩에 걸릴 수 있는 최대 시간의 합으로 결정된다.
여기서, SIZE(ODSn[ODSj])가 압축해제 후의 ODSj의 크기를 나타내고, Rd가 ODSj의 디코딩 속도를 나타내며, 디코딩에 걸리는 최대시간은 ceil(SIZE(ODSn[ODSj]))인 것으로 하자.
이 최대시간은 90KHz의 정확도로 변환하고 그 결과를 ODSj의 DTS에 더함으로써, PTS가 나타내는 디코딩 마감시간은 90KHz의 정확도로 계산된다.
DSn에 속하는 ODSj의 PTS는 다음 식으로 표현될 수 있다.
PTS(DS[ODSj]) = DTS(DSn[ODSj]) + 90,000 + ceil(SIZE(ODSn[ODSj])/Rd)
또한, 두 인접한 ODS (ODSj와 ODSj+1) 간의 관계는 다음 식을 만족할 필요가 있다.
PTS(DSn[ODSj]) ≤ DTS(DSn[ODSj+1])
이것으로 ODS의 PTS 및 DTS에 대한 설명을 끝마친다. 다음, ICS의 PTS에 대해 설명한다. ICS는 DSn의 첫 번째 ODS의 디코딩 개시시간 전(즉, DTS(DSn[ODS1])이 나타내는 시간 전) 그리고 또한 DSn의 첫 번째 표시가 유효하기 전(즉, PTS(DSn[PDS1])이 나타내는 시간 전)에 재생장치의 합성 버퍼에 로드되어야 한다. 따라서, 다음 식을 만족할 필요가 있다.
DTS(DSn[ICS]) ≤ DTS(DSn[ODS1])
DTS(DSn[ICS]) ≤ PTS(DSn[PDS1])
다음, DSn의 ICS의 OTS에 대해 설명한다. PTS(DSn[ICS]) 값은 다음 식을 만족하도록 설정된다.
PTS(DSn[ICS]) ≥ PTS(DSn[ICS]) + DECODEDURATION + TRANSFERDURATION
DECODEDURATION은 DSn(ICS)의 첫 번째 표시에 필요한 그래픽스 오브젝트를 디코딩하는데 걸리는 시간을 나타낸다. 디코딩 개시시간은 최초의 DTS(ICS) 값과 동일하다. 여기서, LASTODSPTS가 DSn(ICS)의 첫 번째 표시에 필요한 그래픽스 오브젝트 중 가장 최근에 디코딩이 완료된 그래픽스 오브젝트에 관련된 PTS를 나타내고, DECODEDURATION은 LASTODSPTS(DSn) - DTS(DSn[ICS])과 같은 것으로 하자.
LASTODSPTS 값은 default_selected_button_id_ref 설정과 DS의 ODS 순서에 따라 다른 값을 취한다. 도 32a, 32b, 33a, 33b, 및 33c는 ODS의 DTS를 사용하여 LASTODSPTS 설정을 설명하는 다른 ODS 순서를 나타낸다.
도 32a는 디폴트로 선택된 버튼이 정적으로 결정되는 경우, 즉 default_selected_button_id_ref 필드가 0이 아닌 값으로 설정되는 경우를 나타낸다. 이 경우, LASTODSPTS는 S-ODS 내 첫 번째 ODS의 PTS 값(즉, PTS(DSn[ODSh+1)의 값)을 취한다. 도면에서, ODSh+1은 실선 박스 내에 들어있다.
도 32b는 디폴트로 선택된 버튼이 동적으로 결정되는 경우, 즉 default_selected_button_id_ref 필드가 "00"으로 설정되는 경우를 나타낸다. 이 경우, LASTODSPTS는 S-ODS 중 최종 ODS의 PTS 값(즉, PTS(DSn[ODSi)의 값)을 취한다. 도면에서, ODSi는 실선 박스 내에 들어있다.
도 33a는 선택된 상태와 관련된 ODS를 포함하지 않는다. 이 경우, LASTODSPTS는 N-ODS 중 최종 ODS의 PTS 값(즉, PTS(DSn[ODSh)의 값)을 취한다. 도면에서, ODSh는 실선 박스 내에 들어있다.
도 33b는 정상상태와 관련된 ODS를 포함하지 않는다. 이 경우, LASTODSPTS는 in-effect ODS 중 최종 ODS의 PTS 값(즉, PTS(DSn[ODSg)의 값)을 취한다. 도면에서, ODSg는 실선 박스 내에 들어있다.
도 33c는 ODS를 전혀 포함하지 않는다. 이 경우, LASTODSPTS는 DSn의 ICS에 특정된 DTS 값(즉, DTS(DSn[ICS])의 값)을 취한다. 도면에서, ICS는 실선 박스 내에 들어있다.
상기한 서술은 DSn이 Epoch Start DS가 아닌 경우에도 적용됨에 유의하라. DSn이 Epoch Start DS이면, 다른 서술이 적용된다.
Epoch Start DS의 경우, 그래픽스 플레인은 완전히 클리어링될 수 있다. 그래픽스 플레인을 클리어링하는데 걸리는 시간은 LASTODSPTS(DSn) - DTS(DSn[ICS])에 의해 계산된 시간보다 더 길 수 있다. BD-ROM용 대상 디코더 모델에 따라, 그래픽스 디코딩과 그래픽스 플레인 클리어링은 다른 프로세싱 유닛에 의해 수행된다(그래픽스 프로세서는 디코딩을 수행한다). 따라서, 그래픽스 디코딩과 플레인 클리어링은 병행하여 수행된다. 디코딩이 첫 번째 디스플레이 합성의 표시를 위해 필요한 그래픽스 데이터에 대해 완료되더라도, 플레인이 클리어되지 않았으면 그래픽스 데이터는 그래픽스 플레인에 렌더링되지 않는다. 따라서, DECODEDURATION은 플레인 클리어 기간과 동일한 값으로 설정될 필요가 있다. 그래픽스 플레인이 각각 video_width와 video_height 필드 값과 같은 폭과 높이를 갖는 것으로 가정한다. 또한, 오브젝트 버퍼와 그래픽스 플레인 간의 전송속도는 128Mbps이다. 전체 그래픽스 플레인을 클리어하기 위해서, 재생장치가 8 × video_width × video_height의 크기를 갖는 그래픽스 플레인을 128Mbps의 전송속도로 오버라이트하도록 요구된다. 이 오버라이트에 걸리는 기간을 90KHz로 표시하면, 그래픽스 플레인을 클리어링하는데 걸리는 시간("PLANECLEARTIME" 이라 함)은 다음 식으로 계산된다.
PLANECLEARTIME = ceil((90,000 × 8 × DSn[ICS].video_width
× DSn[ICS].video_height)/128,000,000)
도 34a는 LASTODSPTS(DSn) - DTS(DSn[ICS])에 의해 계산된 값과 PLANECLEARTIME 값으로부터 DECODEDURATION 값을 얻기 위한 알고리즘을 보여준다. 이 알고리즘에서, LASTODSPTS(DSn) - DTS(DSn[ICS]) 값과 PLANECLEARTIME 값 중 더 큰 것이 DECODEDURATION 값으로 결정된다.
도면에 도시한 바와 같이, DSn(ICS)의 composition_state 필드는, DSn이 Epoch Start DS가 아니면(if(DSn(ICS).composition_state==EPOCH_START)else), LASTODSPTS(DSn) - DTS(DSn[ICS]) 값은 DECODEDURATION 값으로 결정된다(return(LASTODSPTS(DSn) - DTS(DSn[ICS]))). 반면, DSn(ICS)의 composition_state 필드는, DSn이 Epoch Start DS이면(if(DSn(ICS).composition_state==EPOCH_START)else), LASTODSPTS(DSn) - DTS(DSn[ICS]) 값과 PLANECLEARTIME 값 중 더 큰 것이 DECODEDURATION 값으로 결정된다(return(amxLASTODSPTS(DSn) - DTS(DSn[ICS])))).
도 34b와 34c는 PLANECLEARTIME 값이 LASTODSPTS(DSn) - DTS(DSn[ICS]) 값보다 더 큰지에 따라 DECODEDURATION 설정의 예를 보여주는 도면이다. PLANECLEARTIME 값이 LASTODSPTS(DSn) - DTS(DSn[ICS]) 값보다 더 크면, 도 34b에 도시한 바와 같이, PLANECLEARTIME이 DECODEDURATION 값으로 결정된다. 반면, PLANECLEARTIME 값이 LASTODSPTS(DSn) - DTS(DSn[ICS]) 값보다 더 작으면, 도 34c에 도시한 바와 같이, LASTODSPTS(DSn) - DTS(DSn[ICS]) 값이 DECODEDURATION 값으로 결정된다.
TRANSFERDURATION은 오브젝트 버퍼에서 그래픽스 플레인으로 첫 번째 디스플레이 합성의 표시에 필요한 그래픽스 데이터를 전송하는데 걸리는 시간을 나타낸다. DS 내 첫 번째 디스플레이 합성은 in-effect가 DS에 제공되느냐와 디폴트로 선택된 버튼이 정적으로 또는 동적으로 결정되는지에 따라 다르다. 따라서, TRANSFERDURATION은 또한 첫 번째 디스플레이 합성에 따라 다르다. 첫 번째 디스플레이 합성이 in-effect에 관련된다면, in-effect 표시에 필요한 비압축 그래픽스를 전송하는데 걸리는 시간은 TRANSFERDURATION으로 결정된다.
여기서, DSn[ICS]가 정의하는 in-effect는 Page[0]을 도입하기 위한 것으로 number_of_window 필드 값이 지시하는 개수의 윈도에 렌더링된다. 따라서, in-effect의 첫 번째 디스플레이 합성에 대해 필요한 그래픽스 데이터의 총 크기는 윈도 (0) 내지 (number_of_windows - 1)의 총 크기와 동일하다. 따라서, in-effect 시퀀스(EFFECTTD) 내 첫 번째 디스플레이 합성의 표시에 필요한 그래픽스 데이터를 전송하는데 걸리는 시간은 계산하기 위하여, 총 윈도 크기는 재생장치의 전송속도(128Mbps)로 나누어진다. 그 결과를 PTS의 시간 정확도(90KHz)로 표현하려면, 그 결과에 90KHz를 곱한다. EFFECTTD를 계산하기 위한 식은 도 35a에 도시된다.
반면, DSn이 어떤 in-effect도 구비하지 않으면, DSn[ICS]의 표시를 위한 첫 번째 디스플레이 합성은 멀티-페이지 메뉴의 Page[0]이다. 디폴트로 선택된 버튼이 정적으로 특정되면, 디폴트로 선택된 버튼의 선택된 상태와 다른 버튼의 정상상태에 필요한 비압축 데이터가 오브젝트 버퍼로부터 그래픽스 플레인으로 전송되지마자 멀티-페이지 메뉴가 표시된다.
여기서, DSn[ICS]와 관련된 멀티-페이지 메뉴의 Page[0]는 number_of_button 필드 값이 지시하는 수의 버튼을 포함한다. 따라서, 첫 번째 디스플레이 합성의 표시에 필요한 데이터 크기는 다음과 같이 계산된다. 먼저, 그 페이지의 모든 버튼의 정상상태와 관련된 그래픽스 데이터에 대해 총 크기가 계산되며, 이는 (0) 내지 (number_of_Button - 1)의 DSn(ICS).Page[0].Buttons에 의해 특정된다. 이어, 계산된 총 크기에, Page[0]의 디폴트 선택된 버튼의 선택된 상태에 관련된 그래픽스 데이터의 크기(SBSIZE(DSn, DSn[ICS].PAGE[0].default_selected_button_id_ref))를 더한다. 또한, 결과값으로부터, 첫 번째 디스플레이 합성의 표시를 위해 필요한 데이터 크기를 얻기 위해 디폴트 선택된 버튼의 정상상태에 관련된 그래픽스 데이터의 크기(NBSIZE(DSn, DSn[ICS].PAGE[0].default_selected_button_id_ref))를 감산한다.
첫 번째 디스플레이 합성의 표시를 위해 필요한 계산된 데이터는 재생장치의 전송속도(128Mbps)로 나뉘고, PTS의 시간정확도(90KHz)로 그 결과를 표현하기 위하 여 90KHz를 곱한다. 이어, 첫 번째 페이지를 표시하는데 걸리는 전송기간이 계산된다. 도 35b는 in-effect가 제공되지 않고 디폴트로 선택된 버튼이 정적으로 결정되는 경우 PAGEDEFAULTTD(DSn)를 계산하는 식을 나타낸다.
디폴트로 선택된 버튼이 동적으로 결정되는 경우, Page[0]의 어떤 버튼이 디폴트로 선택될지가 알려지지 않았기 때문에 도 35b에 나타낸 식은 적용할 수 없다. 따라서, TRANSFERDURATION은 최악의 경우에 대해 계산되어야 한다. 최악의 경우는 가장 큰 크기를 갖는 버튼이 DSn(ICS).Page[0]이 정의한 버튼 중에 디폴트로 선택되는 경우이다. DSn(ICS).Page[0]의 버튼 중, 가장 큰 크기를 갖는 버튼은 LRG{button: button ∈ DSn[ICS].Page[0].Button}으로 나타낸다.
이어, 상기한 최악의 경우에 전송하는데 필요한 데이터 크기(최대 데이터 크기)는 다음과 같이 계산된다. 먼저, Page[0]의 모든 버튼((0) 내지 (number_of_Button - 1)의 Page[0].Button)의 총 크기를 계산한다. 이렇게 계산된 총 크기에, 버튼의 크기 LRG{BSIZE(DSn, LRG(button: button ∈ DSn[ICS].Page[0].Button}))를 더한다. 또한, 결과값으로부터, 버튼의 정상상태와 관련된 그래픽스 데이터의 크기 LRG{NBSIZE(DSn, LRG(button: button ∈ DSn[ICS].Page[0].Button}))를 빼어 최대 데이터 크기를 얻는다.
상기한 방법으로 계산된 최대 데이터 크기는 재생장치의 전송속도(128Mbps)로 나뉘고, PTS의 시간정확도(90KHz)로 그 결과를 표현하기 위하여 90KHz를 곱한 다. 이어, 멀티-페이지 메뉴의 첫 번째 페이지를 표시하는데 걸리는 전송기간이 계산된다. 도 35c는 in-effect가 제공되지 않고 디폴트로 선택된 버튼이 동적으로 결정되는 경우 PAGEDEFAULTTD(DSn)를 계산하는 식을 나타낸다.
도 36은 TRANSFERDURATION으로서 EFFECTTD, PAGEDEFAULTTD, 및 PAGENODEFAULTTD 중 하나를 선택적으로 결정하기 위한 알고리즘을 나타내는 도면이다. 도면에 도시한 바와 같이, 적어도 하나의 0n-effect가 제공되면(if (DSn[ICS].PAFE[0].IN_EFFECT.number_of_effects ! = 0)), EFFECTTD는 TRANSFERDURATION으로 결정된다(return EFFECTTD(DSn)). Page[0]를 도입하는데 in-effect가 제공되지 않고 디폴트 선택된 버튼이 동적으로 특정되지 않으면(DSn[ICS.PAGE[0].default_selected_button_id_ref == OxFFFF]), PAGENODEFAULTTD가 TRANSFERDURATION으로 결정된다(return PAGENODEFAULTTD(DSn)). Page[0]를 도입하는데 in-effect가 제공되지 않고 디폴트 선택된 버튼이 동적으로 특정되지 않으면(DSn[ICS.PAGE[0].default_selected_button_id_ref == OxFFFF]), PAGEDEFAULTTD가 TRANSFERDURATION으로 결정된다(return PAGEDEFAULTTD(DSn)).
상기한 바와 같이, 본 발명의 제 5 실시예에 따르면, ICS의 DTS 및 PTS값은 ODS의 데이터 크기에 따라 최적으로 결정된다. 따라서, 인터랙티브 제어가 지연없이 부드럽게 수행된다.
(제 6 실시예)
본 발명의 제 6 실시예는 제 1 내지 제 5 실시예에서 기술한 BD-ROM의 재생에 사용되는 재생장치에 관한 것이다. 도 37은 재생장치의 내부 구조를 나타내는 도면이다. 제 6 실시예에 따른 재생장치는 도 37에 도시한 내부 구조에 기초하여 산업적으로 제조된다. 재생장치는 주로 시스템 LSI와 구동 디바이스의 두 부분으로 구성된다. 재생장치는 이들 부분을 장치의 캐비넷과 기판에 장착함으로써 산업적으로 제조될 수 있다. 시스템 LSI는 재생장치의 기능을 달성하도록 다양한 처리유닛을 포함하는 집적회로이다.
상기한 방법으로 제조된 재생장치는 BD 드라이브(1), 판독버퍼(2), 디멀티플렉서(De-MUX; 3), 비디오 디코더(4), 비디오 플레인(5), P-그래픽스 디코더(6), 프리젠테이션 플레인(7), 가산기(8), I-그래픽스 디코더(9), 인터랙티브 그래픽스 플레인(10), 가산기(11), 오디오 디코더(13), CLUT(Color Lookup Table) 유닛(14, 15), PRS 세트(16), 시스템 클록(17), user_timeout 타이머(18), selection_timeout 타이머(19), composition_timeout 타이머(20), effect_duration 타이머(21), 조작 수신부(22), 및 상태제어부(23)로 구성된다.
BD 드라이브(1)는 BD-ROM의 로딩, 판독, 및 추출을 수행한다. BD 드라이브(1)는 BD-ROM(100)에 액세스한다.
판독버퍼(2)는 FIFO(first-in first-out) 메모리이다. 따라서, BD-ROM에서 판독된 TS 패킷은 이들이 도착한 것과 같은 순서로 판독버퍼(2)로부터 제거된다.
De-MUX(3)는 판독버퍼(2)로부터 TS 패킷을 판독하고 이들을 PES 패킷으로 변 환한다. 그 결과 PES 패킷 중, 기설정된 스트림 PID를 갖는 PES 패킷은 비디오 디코더(4), 오디오 디코더(13), P-그래픽스 디코더(6), 및 I-그래픽스 디코더(9) 중의 하나로 출력된다.
비디오 디코더(4)는 De-MUX(3)로부터 수신한 PES 패킷을 해독하고, 그 결과의 비압축 화상 데이터를 비디오 플레인(5)에 렌더링한다.
비디오 플레인(5)은 비압축 화상 데이터를 저장하기 위한 플레인 메모리이다. "플레인(plane)"이라는 용어는 한 화면의 픽셀 데이터를 저장하기 위한 재생장치의 메모리 영역을 말한다. 다수의 플레인을 제공함으로써, 재생장치는 각 플레인에 저장된 데이터를 픽셀 단위로 더하여 하나의 비디오 출력을 생성하며, 이에 따라 다수의 그래픽 영상이 하나의 합성 영상로 오버레이된다. 비디오 플레인(5)의 해상도는 1920 × 1080이다. 화상 데이터는 YUV 값으로 표현된 16-비트 픽셀 값으로 비디오 플레인(5)에 저장된다.
P-그래픽스 디코더(6)는 BD-ROM이나 HD로부터 판독한 그래픽스 스트림을 디코드하고, 그 결과의 비압축 그래픽스를 프리젠테이션 그래픽스 플레인(7)에 렌더링한다. 그래픽스 스트림이 디코드되고 렌더링될 때, 서브타이틀이 화면에 나타난다.
프리젠테이션 플레인(7)은 한 화면의 비압축 그래픽스를 저장하기 위한 영역을 갖는 메모리이다. 이 플레인의 해상도는 1920 × 1080이고, 비압축 그래픽스는 인덱스 컬러로 표현된 8-비트 픽셀 데이터로 프리젠테이션 플레인(7)에 저장된다. CLUT를 이용하여 인덱스 컬러를 변환함으로써, 프리젠테이션 플레인(7)에 저장된 비압축 그래픽스가 표시된다.
가산기(8)는 비압축 화상 데이터 (i)를 프리젠테이션 플레인(7)에 저장된 콘텐츠와 오버레이한다.
I-그래픽스 디코더(9)는 BD-ROM이나 HD로부터 판독한 IG 스트림을 디코드하고, 그 결과의 비압축 그래픽스를 인터랙티브 그래픽스 플레인(10)에 렌더링한다.
인터랙티브 그래픽스 플레인(10)에 I-그래픽스 디코더(9)에 의해 디코드된 비압축 그래픽스 데이터가 렌더링된다.
가산기(11)는 인터랙티브 그래픽스 플레인(10)의 데이터를 가산기(8)의 출력(즉, 비압축 화상 데이터와 프리젠테이션 플레인(7)에 저장된 콘텐츠를 오버레이함으로써 만들어진 임시 비디오 데이터와)과 오버레이 시켜 최종 비디오 출력을 만든다.
오디오 디코더(13)는 De-MUX(3)로부터 수신한 PES 패킷을 디코드하여 비압축 오디오 데이터를 출력한다.
CLUT 유닛(14)은 프리젠테이션 플레인(7)에 저장된 비압축 그래픽스의 인덱스 컬러를 Y, Cr, 및 Cb 값으로 변환한다.
CLUT 유닛(15)은 인터랙티브 그래픽스 플레인(10)에 저장된 비압축 그래픽스의 인덱스 컬러를 Y, Cr, 및 Cb 값으로 변환한다.
PRS 세트(16)는 재생장치 내에 제공된 레지스터 세트이다. 레지스터 세트는 64개의 재생장치상태 레지스터(PSR)와 4,096개의 범용 레지스터(GPR)를 포함한다. 64개의 재생장치상태 레지스터는 재생장치의 현재 상태를 나타낸다. 구체적으로, PSR 5-8은 현재의 재생지점을 나타낸다. PRS 8은 현재 재생지점을 나타내는 0 내지 0xFFFFFFFF 범위의 값(현재 PTM: 표시 시간)을 45KHz로 취한다. PSR 11은 현재 활성화 페이지(현재 페이지)의 page_id를 나타낸다. PSR 10은 현재 페이지의 선택된 상태의 버튼(현재 버튼)을 나타낸다.
시스템 클록(17)은 클록 신호를 생성한다. De-MUX(3)는 클록 신호에 동기하여 PES 패킷의 변환을 수행한다.
user_timeout 타이머(18)는 PTS(DSn[ICS])에 의해 특정된 때의 user_time_out_duration 필드 값으로 설정된다. user_time_out_duration 필드 값이 설정된 때, 타이머(18)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(18)는 사용자 조작이 수신될 때마다 user_time_out_duration 필드 값으로 다시 리셋된다. 타이머(18)가 0에 도달하기 전에 사용자 조작이 수신되지 않으면, 타이머(18)는 타임아웃 된다.
selection_timeout 타이머(19)는 PTS(DSn[ICS])에 의해 특정된 때의 selection_time_out_duration 필드 값으로 설정된다. selection_time_out_duration 필드 값이 설정된 때, 타이머(19)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(18)는 사용자 조작이 수신될 때마다 selection_time_out_duration 필드 값으로 다시 리셋된다. 타이머(19)가 0에 도달하기 전에 사용자 조작이 수신되지 않으면, 타이머(18)는 타임아웃 된다. 타이머(19)가 타임아웃 될 때, 도 9에 도시한 유효 상호작용 기간이 종료된 것을 알게 된다.
composition_timeout 타이머(20)는 PTS(DSn[ICS])에 의해 특정된 때의 composition_time_out_pts 필드 값으로 설정된다. composition_time_out_pts 필드 값이 설정된 때, 타이머(20)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(20)는 사용자 조작이 수신되더라도 리셋되지 않는다. 타이머(20)가 0에 도달한 때, 즉, 타이머(20)가 타임아웃 될 때, Epoch END가 도달한 것을 알게 된다.
effect_duration 타이머(21)는 DSn이 Epoch Start DS이면 PTS(DSn[ICS])에 의해 특정된 때의 effect_duration 필드 값으로 설정된다. effect_duration 필드 값이 설정된 때, 타이머(21)는 시스템 클록의 똑딱거림을 0을 향해 세기 시작한다. 타이머(21)는 사용자 조작이 수신되더라도 리셋되지 않는다. 타이머(20)가 0에 도달한 때, 즉, 타이머(20)가 타임아웃 될 때, 애니메이션 효과의 다음 디스플레이 합성이 표시될 필요가 있다는 것을 알게 된다.
조작 수신부(22)는 리모트 컨트롤러나 재생장치의 전면 패널에 행해진 사용자 조작을 수신하고, 수신한 사용자 조작을 나타내는 정보(이하, 이 정보를 "UO"라 함)를 I-그래픽스 디코더(9)에 출력한다.
상태제어부(23)는 I-그래픽스 디코더(9)로부터의 지시에 따라 PRS에 원하는 값을 설정한다. 이러한 지시는, (i) 직접 어드레싱(addressing)이나, (ii) 간접 어드레싱을 통하여 주어질 수 있다. 직접 어드레싱의 경우, I-그래픽스 디코더(9)는 설정될 즉시 값을 PSR 세트(16)의 적절한 레지스터에 출력한다. 간접 어드레싱의 경우, I-그래픽스 디코더(9)는 재생장치 상태나 사용자 선호의 변화의 통보를 출력 한다. 이러한 통보를 수신한 경우, 상태제어부(23)는 변화를 반영하기 위하여 설정될 값을 결정하고, 결정된 값을 PRS 세트(16)의 적절한 레지스터에 설정한다. 상태제어부(23)는 "재생조건이 변경될 때의 절차" 또는 "변경이 요청될 때의 절차"를 수행함으로써 그 값을 결정한다. 이하, PSR 11(현재 페이지)와 PSR 10(현재 버튼)을 설정하기 위해 수행되는 절차를 설명한다.
도 38a는 PSR 11에 대해 수행되는 "재생조건이 변경될 때의 절차"의 플로차트이다. 이 절차는 ICS의 첫 번째 page_info 구조체를 PSR 11에 설정하도록 수행된다(단계 S99).
도 38b는 PSR 11에 대해 수행되는 "변경이 요청될 때의 절차"의 플로차트이다. 사용자 조작이 수신되고 페이지 번호 X를 갖는 페이지가 표시되도록 요청된 것으로 가정한다. 사용자 조작에 응답하여, 상태제어부(23)는 X가 유효값인지를 판정한다(단계 S100). X가 유효값이면, PSR 11은 값 X로 설정된다(단계 S101). X가 무효하면, PSR 11은 변화하지 않는다(단계 S102).
PSR 11의 값은 상기한 바와 같이 변화한다. PSR 10으로 돌아가서, "재생조건이 변경될 때의 절차" 또는 "변경이 요청될 때의 절차"에 대해 설명한다.
도 39a는 PSR 10에 대해 수행되는, "재생조건이 변경될 때의 절차"의 플로차트이다.
먼저, 상태제어부(23)는 현재 페이지에 관련된 default_selected_button_id_ref 필드 값이 유효한지를 판정한다(단계 S111). 단계 S111에서의 판정이 YES이면, default_selected_button_id_ref 필드 값은 PSR 10에 설정된다(단계 S112).
default_selected_button_id_ref 필드 값이 무효하면, 이어 PSR 10이 유효값을 보유하는지를 판정한다(단계 S113). PSR 10이 유효하면, PSR 10은 현재 보유값이 유지되도록 변화하지 않는다(단계 S114). 반면, PSR 10이 무효하면, PSR 10은 현재페이지의 첫 번째 button_info 구조체를 식별하는 button_id_ref 필드 값으로 설정된다(단계 S115).
도 39b는 PSR 10에 대해서 수행되는, "변경이 요청될 때의 절차"의 플로차트이다. 사용자 조작이 이루어지고 버튼번호 X를 갖는 버튼이 선택되도록 요청된 것으로 가정한다. 사용자 조작에 응답하여, 상태제어부(23)는 X가 유효한 button_id 필드 값인지를 판정한다(단계 S116). X가 유효값이면, PSR 10은 값 X로 설정된다(단계 S118). X가 무효값이면, PSR 10은 변화하지 않으며 따라서 현재 보유한 값이 유지된다(단계 S117). 상기한 절차에 의하면, PSR 10과 11은 언제나 현재 값을 보유하는 것이 보장된다. 이것으로 재생장치의 내부 구조에 대한 설명을 끝마친다.
<I-그래픽스 디코더(9)의 내부 구조>
다음, 도 40을 참조하여 I-그래픽스 디코더(9)의 내부 구조에 대해 설명한다. 도면에 도시한 바와 같이, I-그래픽스 디코더는 부호화 데이터 버퍼(33), 스트림 그래픽스 프로세서(34), 오브젝트 버퍼(35), 합성 버퍼(36), 및 그래픽스 컨트롤러(37)로 구성된다.
부호화 데이터 버퍼(33)는 ICS, PDS, 및 ODS를 그들의 DTS 및 PTS와 함께 임 시로 저장하기 위한 버퍼이다.
스트림 그래픽스 프로세서(34)는 ODS를 디코드하고 그 결과의 비압툭 그래픽스 오브젝트를 오브젝트 버퍼(35)에 출력한다.
오브젝트 버퍼(35)는 스트림 그래픽스 프로세서(34)에 의해 디코드된 다수의 비압축 그래픽스 오브젝트(도면에 박스로 표시)를 저장하기 위한 버퍼이다.
합성 버퍼(36)는 ICS를 저장하기 위한 버퍼이다. 합성 버퍼(36)는 그래픽스 컨트롤러(36)에 ICS 내에 제공된 page_info 구조체와 각 page_info 구조체 내에 제공된 button_info 구조체를 제공한다.
그래픽스 컨트롤러(37)는 합성 버퍼(37)에 저장된 ICS를 디코드하고 디코드된 ICS에 기초하여 디스플레이 합성을 조립한다. 즉, 그래픽스 컨트롤러(37)는 PSR 11의 값이 식별하는 page_info 구조체(현재 page_info 구조체)를 참조하여 오브젝트 버퍼(15)로부터 그래픽스 오브젝트를 판독하고, 판독한 그래픽스 오브젝트를 인터랙티브 그래픽스 플레인(10)에 렌더링한다. 여기에 판독된 그래픽스 오브젝트는 현재 페이지에 관련된 각 button_info 구조체의 normal_start_object_id_ref 필드 값 내지 normal_end_object_id_ref 필드 값에 의해 특정된 그래픽스 오브젝트 시퀀스이다. PSR 10이 특정한 button_info 구조체에 대해서, normal_start_object_id_ref 필드 값 내지 normal_end_object_id_ref 필드 값에 의해 특정된 그래픽스 오브젝트 시퀀스는 오브젝트 버퍼(15)로부터 판독된다. 도 40에서, 화살표 bg1, bg2, bg3, 및 bg4는 그래픽스 컨트롤러(37)가 수행한 그래픽스 오브젝트의 렌더링을 도식적으로 나타낸다. 렌더링 결과, 버튼 O-A, O-B, O-C, 및 O-D를 포함하는 페이지는 인터랙티브 그래픽스 플레인(10)에 저장되어 비디오와 오버레이된다.
이것으로 그래픽스 컨트롤러(37)가 수행하는 절차에 대한 대략적인 설명을 끝마친다. 또한, 그래픽스 컨트롤러(37)는 PSR 10 또는 PSR 11의 값의 변화, 타이머(18-21)의 타임아웃, 또는 합성 타임아웃 타이머(20)가 수신한 사용자 조작에 응답하여 디스플레이 합성을 갱신한다. 그래픽스 컨트롤러(37)가 수행하는 절차를 도 41-47을 참조하여 상세하게 설명한다.
도 41은 그래픽스 컨트롤러(37)가 수행하는 절차의 메인 루틴의 플로차트이다. 메인 루틴에서, 단계 S1-S6은 루프를 형성한다. 각 루프 반복에서, 특정 이벤트가 발생했는지에 대해 판정이 이루어지며(단계 S1-S4), 멀티-페이지 메뉴의 디스플레이 합성은 애니메이션화 표시를 위한 연속적인 디스플레이 합성으로 갱신되고(단계 S5), 사용자 조작에 따라 처리가 수행된다(UO 처리)(단계 S6). 단계 S1-S4에서 어떠한 판정이라도 YES라면, 대응하는 단계가 수행되고 처리는 메인 루틴으로 돌아간다.
단계 S1에서, 현재 재생지점이 PTS(DSn[ICS])가 특정한 지점에 도달하였는지에 대해 판정이 이루어진다. 단계 S1의 판정이 YES이면, 상기한 "재생조건이 변경될 때의 처리"가 수행된다. 그 결과, 멀티-페이지 메뉴의 첫 번째 페이지인 Page[0]이 현재 페이지로 설정된다(단계 S7). 이어, user_timeout 타이머(18), selection_timeout 타이머(19), composition_timeout 타이머(20)은 모두 리셋되고 (단계 S8), 현재 페이지가 화면에 표시된다(단계 S9). 이어 처리는 다음 루프의 반복을 위하여 단계 S1으로 돌아간다.
단계 S2에서, user_timeout 타이머(18)가 타임아웃하였는지에 대해 판정이 이루어진다. 단계 S2의 판정이 YES이면, 단계 S11-S14의 루프가 수행된다. 각 루프 반복에서, 멀티-페이지 메뉴의 임의의 Page[j]가 화면에서 제거되고(단계 S13), Page[j]에 대해 제공된 out-effect 애니메이션의 재생이 뒤따른다(단계 S14). 루프는 Page[0]로부터 이후로 ICS 내에 정의된 각 페이지에 대해 반복된다(단계 S11 및 S12).
단계 S3에서, selection_timeout 타이머(19)가 타임아웃하였는지에 대해 판정이 이루어진다. 단계 S3의 판정이 YES이면, 현재 페이지의 버튼이 자동으로 활성화된다(자동-활성화: 단계 S10). 이어 처리는 다음 루프 반복을 위하여 단계 S1으로 돌아간다.
단계 S4에서, composition_timeout 타이머(20)가 타임아웃하였는지에 대해 판정이 이루어진다. 단계 S4의 판정이 YES이면, 멀티-페이지 메뉴의 첫 번째 페이지인 Page[0]가 화면에서 제거되고(단계 S15), Page[0]에 대해 제공된 out-effect 애니메이션의 재생이 뒤따른다(단계 S16). 이어 처리는 다음 루프 반복을 위하여 단계 S1으로 돌아간다.
이하, 멀티-페이지 메뉴의 첫 번째 표시에 대해 설명한다. 첫 번째 표시는, 상태제어부(23)가 상기한 "재생조건이 변경될 때의 절차"를 수행하여 Page[0]를 현재 페이지로 설정한 후, 도 42에 도시한 단계 S15-S23을 통하여 실행된다. 단계 S24에서, 현재 페이지에 대한 in-effect 애니메이션이 수행된다. 현재 버튼은 PSR 10에 의해 특정된다. 따라서, 단계 S25에서, "재생조건이 변경될 때의 절차"는 PSR 10에 대해 수행되어 현재 버튼이 결정된다. 이어, 처리는 단계 S17-S22로 이동한다.
단계 S17과 S22는 현재 페이지에 제공되는 각 button_info 구조체에 대해 반복되는 루프를 형성한다(단계 S17과 S18). 현재 루프 반복에서 처리될 button_info 구조체는 button_info(p)로 지정된다.
단계 S19에서, button_info(p)가 현재 버튼에 관련되는지에 대해 판정이 이루어진다. 단계 S19의 판정이 YES이면, 단계 S20이 다음에 수행된다. YES가 아니면, 단계 S21이다음에 수행된다.
단계 S21에서, 오브젝트 버퍼(35)의 그래픽스 오브젝트 중, normal_start_object_id_ref 필드 값이 특정하는 것이 그래픽스 오브젝트 (p)로 지정된다.
단계 S20에서, 오브젝트 버퍼(35)의 그래픽스 오브젝트 중, selected_start_object_id_ref 필드 값이 특정하는 것이 그래픽스 오브젝트 (p)로 지정된다.
일단 그래픽스 오브젝트 (p)가 단계 S20 또는 S21에서 지정되면, 그래픽스 오브젝트 (p)는 button_horizontal_postition과 button_vertaical_postition 필드 값이 특정하는 위치에서 인터랙티브 그래픽스 플레인(10)에 렌더링된다(단계 S22). 현재 페이지에 제공되는 각 button_info 구조체에 대해 상기 단계를 반복함으로써, 각 버튼 상태와 관련된 다수의 그래픽스 오브젝트 중, 첫 번째 그래픽스 오브젝트가 각 버튼에 대해 인터랙티브 그래픽스 플레인(10)에 렌더링된다. 상기 단계를 반복한 후, CLUT 유닛(15)은 현재 페이지의 pallet_id_ref 필드 값이 특정하는 팔레트 데이터를 사용하여 현재 페이지를 표시하도록 설정되다(단계 S23). 이것으로 도 42에 도시한 플로차트에 대한 설명을 끝마친다.
도 43은 in-effect 애니메이션의 재생 절차의 플로차트이다. 플로차트에서, 변수 t는 in-effect를 위해 정의된 effect_sequence 내 디스플레이 합성 중 임의의 것을 나타낸다. 또한, 변수 u는 effect(t)에 대해 사용되는 composition_object 중 임의의 하나의 composition_object를 나타낸다. 플로차트에 도시한 바와 같이, 먼저 변수 t와 u는 "0"으로 초기화된다(단계 S30). 이어, effect_duration 타이머(21)는 effect(t).effect_duration 필드 값으로 설정되고(단계 S31), CLUT 유닛(14, 15)은 표시를 위한 effect(t).pallet_id_ref 필드 값에 의해 식별되는 팔레트 데이터를 사용하도록 설정된다(단계 S32). 이어, 단계 S33-S40의 루프가 수행된다. 이 루프는 2-레벨 루프이다. 제 1 레벨 루프(단계 S33-S37)는 변수 u를 제어변수로 사용하고, 반면 제 2 레벨 루프는 변수 t를 제어변수로 사용한다.
제 1 레벨 루프에서, effect(t)에 관련된 composition_object(u) 구조체 내에 제공된 object_cropped_flag 필드가 "0"으로 설정된다(단계 S33). 이 필드가 "0"으로 설정되면, composition(u)에 대해 그래픽스 오브젝트가 화면에 표시되지 않는다(단계 S35). 반면, 이 필드가 "1"로 설정되면, composition_object(u)의 object_cropping_horizontal_position, object_cropping_vertical_position, cropping_width, 및 cropping_height 필드에 따라 오브젝트가 크롭된다. 그래픽스 오브젝트의 크롭된 부분은 composition_object(u) 내 composition_object_horizontal_position과 composition_object_vertical_position에 의해 특정되는 위치에서 composition_object(u)의 window_id_ref 필드에 의해 식별되는 윈도 내에 렌더링된다(단계 S34). 이어, 변수 u는 "1"만큼 증가한다. 제 1 레벨 루프는 변수 u가 number_of_composition_object 필드 값과 같아질 때까지 반복된다.
제 2 레벨 루프에서, 각 제 1 루프 레벨(단계 S33-S37) 반복 동안, 다음의 단계가 수행된다. effect_duration 타임아웃 후(단계 S38), 변수 t는 "1"만큼 증가하고, 변수 u는 "0"으로 초기화된다(단계 S39). 제2 레벨 루프는 변수 t가 number_of_effect(t) 필드 값과 같아질 때까지 반복된다(단계 S40). 이것으로 In-effect 재생 절차에 대한 설명을 끝마친다. out-effect 재생 절차는 기본적으로 상기한 절차와 같기 때문에 이에 대해서는 설명하지 않는 것에 유의하라.
in-effect 재생 직후, 현재 페이지가 표시되고 첫 번째 디스플레이는 애니메이션화 표시를 위해 갱신된다. 현재 페이지의 첫 번째 디스플레이 합성은 각 button_info 구조체에 제공된 normal_start_object_id_ref와 selected_start_object_id_ref 필드 값에 관련된 그래픽스 오브젝트를 인터랙티브 그래픽스 플레인(10)에 렌더링함으로써 표시된다. 각 버튼은 메인 루틴의 각 루프 반복 동안 인터랙티브 그래픽스 플레인(10)의 버튼 영상을 갱신함으로써 애니메이션으로 표시된다. 각 버튼 영상은 인터랙티브 그래픽스 플레인(10)을 버튼과 관련 된 그래픽스 오브젝트 시퀀스 중 임의의 것(q번째 그래픽스 오브젝트)으로 오버라이트함으로써 갱신된다. 즉, 각 버튼은 각 button_info 구조체 내에 제공된 normal_state_info와 selected_state_info 필드와 관련된 그래픽스 오브젝트 시퀀스를 인터랙티브 그래픽스 플레인(10)에 하나씩 렌더링함으로써 애니메이션으로 표시된다. 변수 q는 각 button_info 구조체 내에 제공된 normal_state_info와 selected_state_info 필드와 관련된 개별 그래픽스 오브젝트 특정하는데 사용되는 것에 유의하라.
이하, 도 44를 참조하여, 애니메이션화 표시를 위한 디스플레이 갱신 절차에 대해 설명한다. 첫 번째 디스플레이 합성이 아직 표시되지 않았으면, 어떠한 동작도 수행하지 않고 처리는 메인 루틴으로 돌아간다. 반면, 첫 번째 디스플레이 합성이 표시되었으면, 단계 S42-S53이 수행된다. 단계 S41-S55는 단계S42-S55가 ICS의 각 button_info 구조체에 대해 반복되는 루프를 형성한다(단계 S42와 S43).
단계 S44에서, 변수 q는 button_info(p)에 대응하는 변수 animation(p) 값으로 설정된다. 그 결과, 변수 q는 button_info(p)의 현재 프레임 번호를 나타낸다.
단계 S45에서, button_info(p)가 현재 선택된 상태의 버튼(즉, 현재 버튼)에 대응하는지에 대해 판정이 이루어진다.
button_info(p)가 현재 버튼에 대응하지 않으면, 변수 q는 ID(q)를 얻기 위하여 button_info(p)의 normal_start_object_id_ref 필드 값에 추가된다(단계 S46).
button_info(p)가 현재 버튼에 대응하면, 단계 S47이 수행된다.
단계 S47에서, 현재 버튼이 활성화 상태인지에 대해 판정이 이루어진다. 단계 S47에서의 판정이 YES이면, 변수 q는 button_info(p)의 activated_start_object_id_ref 필드 값에 추가되어 ID(q)를 취득한다(단계 S54). 이어, button_info(p)에 관련된 네비게이션 명령 중 하나가 실행된다(단계 S55).
반면, 현재 버튼이 활성화 상태에 있지 않으면, 변수 q는 button_info(p)의 selected_start_object_id_ref 필드 값에 추가되어 ID(q)를 취득한다(단계 S48).
일단 ID(q)를 취득하면, 오브젝트 버퍼(35)에 저장된 그래픽스 오브젝트 중, ID(q)에 식별되는 것이 인터랙티브 그래픽스 플레인(10)에 렌더링된다. 인터랙티브 그래픽스 플레인(10)의 렌더링 위치는 button-info(p)의 button_horizontal_postition과 button_vertaical_postition 필드에 의해 특정된다.
루프 반복을 통하여, 현재 버튼의 선택(또는 활성화)상태에 관련된 그래픽스 오브젝트의 q번째 것이 인터랙티브 그래픽스 플레인(10)에 렌더링된다.
단계 S50에서, normal_start_object_id_ref 필드 값과 변수 q의 합이 normal_end_object_id_ref 필드 값에 도달하였는지에 대해 판정이 이루어진다. 합이 normal_end_object_id_ref 필드 값에 도달하였으면, 변수 q는 "1"만큼 증가하고 증가한 변수 q는 변수 animation(p)로 설정된다(단계 S51). 반면, 합이 normal_end_object_id_ref 필드 값에 도달하지 않았으면, repeat_flag 필드가 "1"로 설정되었는지에 대해 판정이 이루어진다(단계 S52). repeat_flag 필드가 "1"로 설정되면, 변수 animation(p)는 "0"으로 초기화된다(단계 S53). 상기 단계는 ICS의 각 button_info 구조체에 대해 반복되고(단계 S42와 S43), 이어 처리는 메인 루틴으로 복귀한다.
상기한 단계 S41-S53을 통하여, 화면에 표시되는 각 버튼 영상은 메인 루틴이 수행될 때마다 새로운 그래픽스 오브젝트로 갱신된다. 따라서, 메인 루틴을 반복함으로써, 버튼 영상은 애니메이션으로 표시된다. 버튼을 애니메이션으로 표시할 때, 그래픽스 컨트롤러(37)는 animation_frame_rate_code를 유지하도록 각 그래픽스 오브젝트를 표시하는 기간을 조정한다. 이것으로 애니메이션화 표시에 대한 절차의 설명을 끝마친다.
상기한 단계 S47에서, 현재 버튼이 활성화 상태에 있는 것으로 판정되면, 현재 버튼과 관련된 네비게이션 명령이 단계 S55에서 실행될 필요가 있다. 도 45는 네비게이션 명령을 실행하기 위한 절차의 플로차트이다. 먼저, 네비게이션 명령이 SetButtonPage 명령인지에 대해 판정이 이루어진다(단계 S56). 네비게이션 명령이 SetButtonPage 명령이 아니면, 네비게이션 명령이 간단히 실행된다(단계 S57). 반면, 네비게이션 명령이 SetButtonPage 명령이면, 네비게이션 명령의 연산수에 의해 특정되는 버튼 번호를 PRS 10에 설정할 뿐만 아니라 네비게이션 명령의 연산수에 의해 특정되는 페이지 번호를 페이지 번호 X로 지정하도록 상태제어부(23)에 지시를 한다(단계 S58). 이어, 상태제어부(23)는 PSR 11에 대해서 "변경이 요청될 때의 절차"를 실행한다(단계 S59). 상기한 바와 같이, PSR 11은 현재 표시된 페이지(즉, 현재 페이지)를 나타내는 값을 보유한다. 따라서, PSR 11에 대해서 "변경이 요청될 때의 절차"를 수행함으로써, 현재 페이지가 결정된다. 이어, 상태제어부(23)는 PSR 10에 대해서 "재생조건이 변경될 때의 절차"를 수행한다(단계 S60). 이것으로 도 45에 도시한 플로차트의 설명을 끝마친다.
이것으로 네비게이션 명령을 실행하기 위한 절차의 설명을 끝마친다. 상기한 바와 같이, 네비게이션 명령은 관련된 버튼이 활성화될 때 실행된다. 버튼 상태 변화는 사용자 조작(UO)에 응답하여 다음의 절차를 통하여 표시된다. 플로차트에 도시한 바와 같이, 특정 이벤트가 발생하였는지에 대해 단계 S61-S64에서 판정이 이루어진다. 각 이벤트의 발생은 특정 단계가 수행되는 것을 요구한다. 그 후 처리는 메인 루틴으로 복귀한다. 구체적으로, 단계 S61에서, UO_mask_table 필드가 "1"로 설정되었는지에 대해 판정이 이루어진다. 이 필드가 "1"로 설정되면, 처리는 어떠한 단계도 수행하지 않고 메인 루틴으로 복귀한다.
단계 S62에서, 리모트 컨트롤러의 Move Up, Down, Left, 및 Right 키 중 어느 것이든 물렸는지에 대해 판정이 이루어진다. 어떠한 키든 눌린 경우, user_timeout 타이머(18)과 selection_timeout 타이머(19)는 리셋된다(단계 S65). 이어, 다른 버튼이 새로운 현재 버튼으로 지정되고(단계 S66), 새로이 지정된 현재 버튼의 auto_action_flag가 "01"로 설정되었는지에 대한 판정이 뒤따른다(단계 S67). auto_action_flag가 "01"로 설정되지 않으면, 처리는 메인 루틴으로 복귀한다. 반면, auto_action_flag가 "01"로 설정되면, current button(i)가 활성화된다(단계 S69). 이어 변수 animation(i)는 "0"으로 설정된다(단계 S70).
단계 S63에서, 숫자 입력이 되었는지에 대해 판정이 이루어진다. 숫자 입력이 되면, user_timeout 타이머(18)과 selection_timeout 타이머(19)는 리셋되고(단 계 S71), 다른 버튼이 새로운 현재 버튼으로 지정된다(단계 S72). 이어 처리는 메인 루틴으로 복귀한다.
단계 S64에서, 리모트 컨트롤러의 활성화 키가 눌렸는지에 대해 판정이 이루어진다. 활성화 키가 눌리면, user_timeout 타이머(18)과 selection_timeout 타이머(19)는 리셋되고(단계 S68), current button(i)이 활성화된다(단계 S69). 버튼 상태 변화 후, 변수 animation(i)는 "0"으로 설정된다(단계 S70). 상기한 새로운 현재 버튼을 지정하는 단계 S66은 도 47에 도시한 서브루틴을 호출함으로써 수행되는 것에 유의하라. 이하, 도면을 참조하여 서브루틴에 대해 설명한다.
도 47은 현재 버튼 변경 절차의 플로차트이다. 먼저, 현재 버튼에 관련된 neighbor_info 내 upper_button_id_ref, lower_button_id_ref, left_button_id_ref, 및 right_button_id_ref 필드 중 어느 것이 눌린 키에 대응하는지가 결정된다(단계 S75).
여기서, button(Y)는 현재 버튼을 의미하고, button X는 upper_button_id_ref, lower_button_id_ref, left_button_id_ref, 및 right_button_id_ref 필드 중 어느 하나에 의해 특정된 버튼을 의미하는 것으로 한다(단계 S76). 이어, 상태제어부(23)는 "변경이 요청될 때의 절차"를 PSR 10에 대해서 수행한다(단계 S77). 그 결과, PSR 10은 값 X로 설정된다.
이후, 변수 animation(X)와 animation(Y)는 "0"으로 설정되고(단계 S78), 메인 루틴으로 복귀한다.
상기한 바와 같이, UO 처리에서, UO에 응답하여 버튼이 활성화된다. 그러나, 활성화 상태로의 버튼 상태 변화는 selection_time_out_pts가 타임아웃할 때에도 이루어진다. 이하, 도 48을 참조하여, selection_time_out_pts의 타임아웃 시 버튼의 자동-활성화를 위한 절차에 대해 설명한다.
도 48은 버튼의 자동-활성화 절차의 플로차트이다. 먼저, default_activated_button_id_ref 필드가 "00"이나 "FF"로 설정되었는지에 대해 판정이 이루어진다(단계 S91). 이 필드가 "00"으로 설정되면, 처리는 어떤 단계도 수행하지 않고 메인 루틴으로 복귀한다. 반면, default_activated_button_id_ref가 "FF"로 설정되면, current button(i)이 활성화된다(단계 S93). 이후, 변수 animation(X)와 animation(Y)는 "0"으로 설정되고(단계 S94), 메인 루틴으로 복귀한다.
default_activated_button_id_ref 필드 값이 "00"이나 "FF" 어느 것도 아니면, default_activated_button_id_ref 필드 값이 특정한 버튼이 새로운 current button(i)로 결정된다(단계 S92). 따라서, default_activated_button_id_ref 필드 값이 특정하는 버튼이 활성화 상태를 수신한다(단계 S93). 이후, 변수 animation(X)와 animation(Y)는 "0"으로 설정되고(단계 S94), 메인 루틴으로 복귀한다.
상기한 단계를 통하여, 선택된 상태의 버튼은 기설정된 기간 종료시 자동으로 활성화 상태로 된다. 이것으로 도 47에 도시한 플로차트에 대한 설명을 끝마친다.
<Pop-Up U/I에서 그래픽스 디스플레이의 턴 온/오프>
상기한 설명은 user_interface_model이 Always-On U/I를 나타내는 경우에 I-그래픽스 디코더(9)에 의해 수행되는 절차에 관련한다. Pop-Up U/I가 사용되는 경우에, I-그래픽스 디코더(9)는 다음과 같이 동작한다. 먼저, Always-On U/I 경우와 유사하게, I-그래픽스 디코더(9)는 디코딩을 수행하여 오브젝트 버퍼(35)의 디코드된 그래픽스 오브젝트를 취득한다. 이어, I-그래픽스 디코더(9)는 PTS(DSn[ICS])가 나타내는 시간에 그래픽스 오브젝트를 인터랙티브 그래픽스 플레인(10)에 렌더링한다. 이 시점까지, I-그래픽스 디코더(9)는 Always-On U/I가 사용되는 경우와 유사하게 동작한다. 그러나, 이후에 수행되는 처리는 그래픽스 컨트롤러(37)가 인터랙티브 그래픽스 플레인(10)에 저장된 페이지를 오버레이하지 않는다는 점에서 다르고, 따라서 페이지가 표시되지 않는다. 즉, 그래픽스 컨트롤러(37)는 인터랙티브 그래픽스 플레인(10)에 저장된 데이터를 CLUT 유닛(15)에 출력하지 않음으로써 페이지를 "턴 오프(turn off)"한다. 페이지가 화면에 표시되지 않은(즉, 턴 오프된) 채로, 그래픽스 컨트롤러(37)는 Pop-Up_on을 위한 사용자 조작을 대기한다. Pop-Up_on을 위한 사용자 조작에 응답하여, 그래픽스 컨트롤러(37)는 인터랙티브 그래픽스 플레인(10)에 저장된 데이터를 그래픽스 데이터가 비디오 데이터와 오버레이되는 CLUT 유닛(15)에 출력한다. 그 결과, 페이지는 "턴 온(turn on)"되거나 화면에 표시된다. 상기와 같이, 그래픽스 컨트롤러(37)는 그래픽스 디스플레이를 턴 온 및 오프하여 Pop-Up 디스플레이를 구현한다.
이후 수행되는 동작에서, Always-On U/I와 Pop-Up U/I 사이에 차이는 없다. 메인 페이지의 어떤 버튼이든 활성화될 때, 활성화버튼에 관련된 네비게이션 명령이 실행된다. selection_timeout 타이머(19)가 타임아웃 할 때, 메인 페이지의 현재 저튼은 자동으로 활성화되고 서브 페이지가 화면에 표시된다.
사용자 조작이 Pop-Up_off를 위해 이루어질 때, 그래픽스 컨트롤러(37)는 모든 화면상 페이지를 턴 오프하며, 이에 따라 화면에 표시된 페이지를 남기지 않는다.
사용자 조작이 일정한 시간 동안 이루어지지 않으면, user_timeout 타이머(18)는 0을 향해 카운트를 한다. user_timeout 타이머(18)가 타임아웃 할 때, 그래픽스 컨트롤러(37)고 모든 화면상 페이지를 턴 오프하며, 이에 따라 화면에 표시된 페이지를 남기지 않는다. 상기한 턴 온 및 턴 오프 절차는 도 12a에 도시한 상태 변화를 구현하기 위해 수행된다.
상기와 같이, 턴 온 및 턴 오프 동작을 통하여 Pop-Up U/I가 실행된다.
상기한 바와 같이, 본 발명의 제 6 실시예는 제 1 내지 제 5 실시예에서 기술한 데이터 구조를 갖는 BD-ROM을 지원하는 재생장치의 산업 생산을 구현한다. 이것은 제 1 내지 제 5 실시예에 따라 BD-ROM의 광범위한 사용에 도움이 된다.
(제 7 실시예)
본 발명의 제 7 실시예는 BD-ROM의 제조방법에 관한 것이다. 도 49는 제 1 내지 제 5 실시예에 따른 BD-ROM의 제조방법의 플로차트이다.
제조방법은 비디오, 오디오 등을 기록하는 자료제작단계(단계 S201), 오소링(authoring) 장치를 이용하여 애플리케이션 포맷을 생성하는 오소링단계(단계 S202), 및 BD-ROM의 원본 마스터(master)를 생성하고 인쇄(stamping)과 접착(bonding)으로 BD-ROM을 완성하는 프레싱단계(단계 S203)를 포함한다.
BD-ROM 오소링단계는 다음의 단계 S204-S213을 포함한다.
이하, 단계 S204-S213에 대해 설명한다. 단계 S240에서, 제어정보, 팔레트 정의 정보, 및 그래픽스가 생성된다. 단계 S205에서, 제어정보, 팔레트 정의 정보, 및 그래픽스가 기능 세그먼트로 변환된다. 단계 S206에서, 각 ICS의 PTS는 동기될 화상의 디스플레이 타이밍에 기초하여 설정된다. 단계 S207에서, DTS[ODS]와 PTS[ODS]가 PTS[ICS]에 기초하여 설정된다. 단계 S208에서, DTS[ICS]와 PTS[PDS]가 DTS[ODS]에 기초하여 설정된다.
단계 S209에서, 재생장치 모델의 각 버퍼의 점유 변화가 그래프화 된다. 단계 S210에서, 그래프화 된 변화가 재생장치 모델의 제한을 만족하는지에 대해 판정이 이루어진다. 판정이 부정적이면, 각 기능 세그먼트의 DTS와 PTS는 단계 S211에서 다시 기록된다. 판정이 긍정적이면, 그래픽스 스트림이 단계 S212에서 생성되고, 그래픽스 스트림은 단계 S213에서 별개로 생성된 비디오 스트림과 오디오 스트림으로 다중화되어 AV 클립을 형성한다. 이 후, AV 클립은 Blu-ray 디스크 판독전용 포맷에 적용되어 애플리케이션 포맷을 완성한다.
(변형예)
본 발명은 상기한 실시예들을 통하여 기술되었지만, 본 발명에 이러한 특정 실시예에 한정되지 않는다. 본 발명은 이하의 변형예 (A) 내지 (L) 중 어느 것으로 실시할 수 있다. 이 명세서의 각 청구항에 기술된 발명은 상기한 실시예와 이하의 변형예의 확장 및 일반화를 포함한다. 확장과 일반화의 정도는 본 발명이 만들어진 때 본 발명의 기술분야의 당업자의 수준에 좌우된다.
(A) 상기한 실시예는 BD-ROM이 기록매체로 사용되는 경우를 기술한다, 그러나, 본 발명의 주요 특징은 기록매체에 기록된 그래픽스 스트림에 있으며, 이는 BD-ROM의 물리적 특성에 의존하지 않는다. 따라서, 본 발명은 그래픽스 스트림을 기록할 수 있는 어떠한 기록매체에도 적용할 수 있다. 그러한 기록매체의 예로는, DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R, CD-R, 또는 CD-RW와 같은 광 디스크; PD나 MO와 같은 자기-광 디스크; CompactFlash 카드, SmartMedia 카드, Memory Stick 카드, MultiMediaCard, 또는 PCMCIA 카드와 같은 반도체 메모리 카드; 플렉시블 디스크, SuperDisk, Zip, 또는 Click!과 같은 자기디스크; ORB, Jaz, SparQ, SyJet, EZFley, 또는 Microdrive와 같은 리무버블 하드 디스크, 및 넌-리무버블 하드 디스크를 들 수 있다.
(B) 상기한 실시예는 재생장치가 BD-ROM의 AV 클립을 디코드하고 디코드한 AV 클립을 텔레비전에 출력하는 경우를 기술한다. 대안으로, 재생장치는 CD 드라이브만을 구비하고, 나머지 구성요소는 텔레비전에 제공될 수 있다. 이 경우, 재생장 치와 텔레비전은 IEEE1394 커넥터로 연결된 홈 네트워크에 포함될 수 있다. 상기의 실시예는 재생장치가 텔레비전에 연결되는 경우를 기술하였지만, 그 대신 재생장치는 디스플레이 장치에 통합될 수 있다. 또한, 재생장치는 처리의 필수 부분을 실행하는 시스템 LSI(집적회로)만을 포함할 수 있다. 재생장치와 집적회로는 모두 이 명세서에 기술된 발명이다. 따라서, 재생장치가 관련되느냐 집적회로가 관련되느냐에 관계없이, 제 6 실시예에서 설명한 재생장치의 내부 구조에 기초하여 재생장치를 제조하는 행위는 본 발명을 실시하는 행위이다. 또한, 이 재생장치를 유상 양도(즉, 판매용) 또는 무상 양도(즉, 선물로)하거나, 리스 및 수입하는 행위는 본 발명을 실시하는 행위이다. 마찬가지로, 상점앞 진열, 카탈로그, 또는 브로슈어를 이용하여 재생장치의 양도나 리스를 위한 제공 행위는 본 발명을 실시하는 행위이다.
(C) 플로차트에 도시한 프로그램을 이용한 정보 처리는 실제 하드웨어 자원을 이용하여 구현된다. 따라서, 플로차트에 도시된 절차 단계를 기술하는 프로그램은 그 자체로 발명이다. 상기한 실시예는 모두 프로그램이 재생장치에 포함되는 경우에 관련하지만, 프로그램은 재생장치와 독립하여 사용될 수 있다. 프로그램을 실시하는 행위는, (1) 제조행위, (2) 유무상 양도 행위, (3) 리스 행위, (4) 수입 행위, (5) 양방향 전기통신망을 통하여 공중에 제공하는 행위, 및 (6) 상점앞 진열, 카탈로그, 또는 브로슈어를 사용한 양도나 리스를 위한 제공 행위를 포함한다.
(D) 각 플로차트에서 시계열로 실행되는 단계들의 시간 요소는 본 발명의 필수 요소로 간주될 수 있다. 이에 따라, 이들 플로차트가 나타내는 재생방법은 하나의 발명이다. 각 플로차트에 나타낸 처리가 의도된 목적과 의도된 효과를 달성하기 위하여 시계열로 단계를 수행함으로써 실행된다면, 본 발명의 재생방법을 실시하는 행위로 간주될 수 있다.
(E) BD-ROM에 AV 클립을 기록할 때, 확장 헤더가 AV 클립의 각 TS 패킷에 추가될 수 있다, 확장 헤더는 TP_extra_header로 불리며, arrival_time_stamp와 copy_permission_indicator를 포함하고, 4바이트의 데이터 길이를 갖는다. TP_extra_header를 구비한 TS 패킷(이하, "EX TS 패킷"이라 함)은 32 패킷 단위로 그룹화되고, 각 그룹은 3개의 섹터로 기록된다. 32 EX TS 패킷로 구성된 하나의 그룹은 6,144 바이트(= 32 × 192)를 가지며, 이는 6144 바이트(= 2048 × 3)인 3개의 섹터의 크기와 같다. 3개의 섹터에 포함된 32 EX TS 패킷은 "정렬 단위(Aligned Unit)"로 불린다.
IEEE1394 커넥터로 연결된 홈 네트워크에서, 재생장치는 다음의 방법으로 정렬단위를 송신한다. 재생장치는 정렬단위의 각 32 EX TS 패킷으로부터 TP_extra_header를 제거하고, DTCP 규격에 따라 각 TS 패킷의 몸체를 암호화하고, 암호화된 TS 패킷을 출력한다. TS 패킷을 출력할 때, 재생장치는 인접하는 TS 패킷 사이에 동기 패킷을 삽입한다. 동기 패킷이 삽입되는 위치는 TP_extra_header의 arrival_time_stamp가 나타내는 시간에 기초한다. 재생장치는 TS 패킷 뿐만 아니라 DTCP_descriptor를 출력한다. DTCP_descriptor는 TP_extra_header의 copy_permission_indicator에 대응한다. "복제 금지"를 지시하는 DTCP_descriptor의 제공으로, IEEE1394 커넥터를 통하여 연결된 홈 네트워크에서 TS 패킷을 사용하는 경우, TS 패킷이 다른 장치에 기록되는 것을 방지할 수 있다.
(F) 상기한 실시예는 블루-레이 디스크 판독전용 포맷의 AV 클립이 디지털 스트림으로 사용되는 경우에 관련하지만, 본 발명은 DVD-Video 포맷의 VOB(비디오 오브젝트) 또는 DVD-Video 기록 포맷으로 실시할 수 있다. VOB는 ISO/IEC 13818-1 기준에 따르고 비디오 스트림과 오디오 스트림을 다중화함으로써 취득되는 프로그램 스트림이다. 또한, AV 클립의 비디오 스트림은 MPEG4 비디오 스트림이나 WMV 비디오 스트림일 수 있다. 또한, AV 클립의 오디오 스트림은 선형 PCM 오디오 스트림, 돌비 AC-3 오디오 스트림, MP3 오디오 스트림, MPEG-AAA 오디오 스트림, 또는 DTS 오디오 스트림일 수 있다.
(G) 상기한 실시예에서 기술한 영화는 아날로그 방송에 의해 방소송된 아날로그 영상신호를 인코딩함으로써 취득한 것일 수 있다. 또한, 영화는 디지털 방송에 의해 방송된 트랜스포트 스트림으로 구성된 스트림 데이터일 수 있다.
선택적으로, 비디오테이프에 기록된 아날로그/디지털 영상신호는 콘텐츠를 얻기 위하여 인코드될 수 있다. 또한, 비디오 카메라로 직접 캡처한 아날로그/디지털 영상신호가 콘텐츠를 얻기 위해 인코드될 수 있다. 분배서버를 통하여 분배된 디지털 작품이 적용될 수도 있다.
(H) 상기한 실시예에서 설명한 그래픽스 오브젝트는 런-렝스(run-length) 인코드된 라스터 데이터이다. 런-렝스 인코딩은 서브타이틀의 압축과 해제에 적합하기 때문에 그래픽스 오브젝트의 압축과 인코딩에 런-렝스 인코딩이 사용된다. 서브타이틀은 수평방향에서 같은 픽셀 값의 연속 길이가 상대적으로 긴 특성을 갖는다, 따라서, 런-렝스 인코딩을 사용하여 압축을 수행함으로써, 높은 압축률을 얻을 수 있다. 또한, 런-렝스 인코딩은 압축해제에 대한 로드를 줄이고, 따라서 디코딩을 소프트웨어로 구현하는데 적합하다. 그럼에도, 그래픽스 오브젝트에 대해 런-렝스 인코딩의 사용이 본 발명에 필수적이지 않다. 예를 들어, 그래픽스 오브젝트는 PNG 데이터일 수 있다. 또한, 그래픽스 오브젝트는 라스터 데이터 대신 벡터 데이터일 수 있다, 또한, 그래픽스 오브젝트는 투명 패턴일 수 있다.
(I) 전송속도 Rc는 그래픽스 플레인의 클리어링과 렌더링이 수직회귀시간 내에 완료되도록 결정될 수 있다. 수직회귀시간이 1/29.93초의 25%이라고 가정하자. 이때 Rc는 1 Gbps인 것으로 결정된다. 이러한 방법으로 Rc를 결정함으로써, 그래픽스는 부드럽게 표시될 수 있으며, 이는 실제 사용에 중요한 영향을 얻는다.
또한, 라인 스캔과 동기한 기록이 수직회귀시간 내 기록과 함께 사용될 수 있다. 이는 전송속도 Rc가 256Mbps라면 부드러운 프리젠테이션을 보장한다.
(J) 상기한 실시예는 재생장치가 그래픽스 플레인을 구비한 경우에 관련한다. 선택적으로, 재생장치는 한 라인의 비압축 픽셀을 저장하기 위한 라인 버퍼를 포함할 수 있다. 영상신호로의 변환이 각 수평 열(라인)에 대해 수행되기 때문에 영상신호로의 변환은 라인 버퍼로 동일하게 수행될 수 있다.
(K) 다수의 재생경로의 병합 지점의 경우, 선택되는 재생경로에 따라 디폴트로 다른 버튼이 선택될 필요가 있다. 따라서, 재생경로가 실제 선택되는 시점에 각 재생경로에 고유한 값이 재생장치의 레지스터에 저장되는 정적 시나리오에서 그러한 재생제어를 정의하는 것이 바람직하다. 재생절차는 레지스터 값에 의해 특정되는 버튼이 선택된 상태로 되도록 설정될 수 있다. 이러한 방법으로, 취해진 재생경로에 따라 다른 버튼이 선택된 상태로 된다.
(L) 제 6 실시예에 설명한 그래픽스 플레인은 바람직하게 이중버퍼 구조를 갖는다. 그래픽스 플레인이 이중버퍼 구조를 가지면, 크기가 큰 그래픽스 데이터가 렌더링될 필요가 있는 경우라도, 각 디스플레이 합성은 두 버퍼 사이를 스위칭함으로써 순간적으로 표시될 수 있다. 따라서, 이중버퍼 구조는 전체-화면 크기의 메뉴가 표시될 필요가 있는 경우 효과적이다.
본 발명에 따른 재생장치는 개인 용도, 예를 들어, 홈 씨어터 시스템에 적합한다. 본 발병의 상기의 실시예는 내부 구조를 개시하기 때문에, 내부 구조를 갖는 재생장치가 대량으로 생산될 수 있다. 따라서, 본 발명에 따른 재생장치는 품질에서 산업적으로 사용할 수 있고 산업상 유용성을 갖는다.

Claims (28)

  1. 비디오 스트림 및 그래픽스 스트림이 기록된 기록매체로,
    그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하고,
    그래픽스 스트림은 비디오 스트림과 다중화되어 있고, 그래픽스 스트림은 메뉴를 구성하는 것이며, 상기 메뉴는 비디오 스트림을 디코드함으로써 얻어진 동화상에 합성하여 표시되는 것이고,
    상기 대화제어 세그먼트는 복수의 페이지 정보와 시간정보를 포함하고,
    상기 시간정보는 비디오 스트림의 재생시간 축에 관련된 프리젠테이션 타임스탬프, 셀렉션 타임아웃 타임스탬프(selection timeout timestamp), 유저 타임아웃 듀레이션(user timeout duration)이며,
    프리젠테이션 타임스탬프는 메뉴에서의 첫 번째 페이지(first page)를 현재 페이지로서 표시하게 하는 타이밍을 나타내고,
    복수의 페이지 정보는 버튼정보를 포함하고, 버튼 정보는 버튼 부재의 한 상태를 나타내기 위해서 사용되며, 페이지에서의 대화적인 화면구성을 실현하는 것이고, 세트 버튼 페이지(Set Button Page) 커맨드를 포함하며, 세트 버튼 페이지 커맨드는 대응하는 버튼 부재가 활성화(active) 상태가 된 때에 첫 번째 페이지 이외의 다른 페이지를 현재 페이지로서 설정하는 처리를 재생장치가 행하도록 하는 커맨드이고,
    셀렉션 타임아웃 타임스탬프는 현재 페이지에서의 버튼 부재를 자동으로 활성화하여 세트 버튼 페이지 커맨드를 재생장치에 실행시키기 위한 타임아웃 시간을 나타내며,
    유저 타임아웃 듀레이션은 현재 페이지를 첫 번째 페이지로 되돌려서 첫 번째 페이지만이 표시되고 있는 상태로 하기 위한 타임아웃 시간을 나타내는 것을 특징으로 하는 기록매체.
  2. 청구항 1에 있어서,
    상기 기록매체에 있어서, 사용자 인터페이스 모델 정보는 Always-on을 나타내고 있는 경우에는 대화화면은 사용자 조작에 의해 표시되지 않고,
    사용자 인터페이스 모델 정보가 Pop-up을 나타내고 있는 경우에는 대화화면은 사용자 조작에 의해서 표시되는 것을 특징으로 하는 기록매체.
  3. 비디오 스트림 및 그래픽스 스트림을 재생하는데 사용되는 재생장치로,
    비디오 스트림을 디코드함으로써 동화상을 얻는 비디오 디코더와,
    그래픽스 스트림을 디코드하는 그래픽스 디코더를 구비하고,
    그래픽스 스트림은 비디오 스트림과 다중화되어 있고, 그래픽스 스트림은 메뉴를 구성하는 것이며, 상기 메뉴는 비디오 스트림을 디코드함으로써 얻어진 동화상에 합성하여 표시되는 것이고,
    상기 그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하며, 상기 대화제어 세그먼트는 복수의 페이지 정보와 시간정보를 포함하고,
    상기 시간정보는 비디오 스트림의 재생시간 축에 관련된 프리젠테이션 타임스탬프, 셀렉션 타임아웃 타임스탬프, 유저 타임아웃 듀레이션이며,
    프리젠테이션 타임스탬프는 메뉴에서의 첫 번째 페이지를 현재 페이지로서 표시하게 하는 타이밍을 나타내고,
    복수의 페이지 정보는 버튼정보를 포함하며, 버튼정보는 버튼 부재의 한 상태를 나타내기 위해서 사용되고, 페이지에서의 대화적인 화면구성을 실현하는 것이며, 세트 버튼 페이지 커맨드를 포함하고, 세트 버튼 페이지 커맨드는 대응하는 버튼 부재가 활성화 상태가 된 때에 첫 번째 페이지 이외의 다른 페이지를 현재 페이지로서 설정하는 처리를 재생장치가 행하도록 하는 커맨드이고,
    셀렉션 타임아웃 타임스탬프는 현재 페이지에서의 버튼 부재를 자동으로 활성화하여 세트 버튼 페이지 커맨드를 재생장치에 실행시키기 위한 타임아웃 시간을 나타내며,
    유저 타임아웃 듀레이션은 현재 페이지를 첫 번째 페이지로 되돌려서 첫 번째 페이지만이 표시되고 있는 상태로 하기 위한 타임아웃 시간을 나타내는 것을 특징으로 하는 재생장치.
  4. 청구항 3에 있어서,
    상기 재생장치에 있어서, 사용자 인터페이스 모델 정보는 Always-on을 나타내고 있는 경우에는 대화화면은 사용자 조작에 의해서 표시되지 않고,
    사용자 인터페이스 모델 정보가 Pop-up을 나타내고 있는 경우에는 대화화면은 사용자 조작에 의해서 표시되는 것을 특징으로 하는 재생장치.
  5. 삭제
  6. 기록매체에 대한 기록방법으로,
    애플리케이션 데이터를 생성하는 스텝과,
    애플리케이션 데이터를 기록매체에 기록하는 스텝을 포함하고,
    애플리케이션 데이터는 비디오 스트림과 그래픽스 스트림을 포함하고, 비디오 스트림은 복수의 픽처로 구성되는 동화상을 나타내는 것이며,
    그래픽스 스트림은 비디오 스트림과 다중화되어 있고, 그래픽스 스트림은 메뉴를 구성하는 것이며, 상기 메뉴는 비디오 스트림을 디코드함으로써 얻어진 동화상에 합성하여 표시되는 것이고,
    그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 오브젝트 정의 세그먼트를 포함하고,
    상기 대화제어 세그먼트는 복수의 페이지 정보와 시간정보를 포함하며,
    상기 시간정보는 비디오 스트림의 재생시간 축에 관련된 프리젠테이션 타임스탬프, 셀렉션 타임아웃 타임스탬프, 유저 타임아웃 듀레이션이고,
    프리젠테이션 타임스탬프는 메뉴에서의 첫 번째 페이지를 현재 페이지로서 표시하게 하는 타이밍을 나타내며,
    복수의 페이지 정보는 버튼정보를 포함하고, 버튼정보는 버튼 부재의 한 상태를 나타내기 위해서 사용되며, 페이지에서의 대화적인 화면구성을 실현하는 것이고, 세트 버튼 페이지 커맨드를 포함하며, 세트 버튼 페이지 커맨드는 대응하는 버튼 부재가 활성화 상태가 된 때에 첫 번째 페이지 이외의 다른 페이지를 현재 페이지로서 설정하는 처리를 재생장치가 행하도록 하는 커맨드이고,
    셀렉션 타임아웃 타임스탬프는 현재 페이지에서의 버튼 부재를 자동으로 활성화하여 세트 버튼 페이지 커맨드를 재생장치에 실행시키기 위한 타임아웃 시간을 나타내고,
    유저 타임아웃 듀레이션은 현재 페이지를 첫 번째 페이지로 되돌려서 첫 번째 페이지만이 표시되고 있는 상태로 하기 위한 타임아웃 시간을 나타내는 것을 특징으로 하는 기록방법.
  7. 삭제
  8. 비디오 스트림과 그래픽스 스트림을 재생하는 재생방법으로,
    비디오 스트림을 디코드하여 동화상을 얻는 스텝과,
    그래픽스 스트림을 디코드하는 스텝을 포함하고,
    상기 그래픽스 스트림은 비디오 스트림과 다중화되어 있고, 그래픽스 스트림은 메뉴를 구성하는 것이며, 상기 메뉴는 비디오 스트림을 디코드함으로써 얻어진 동화상에 합성하여 표시되는 것이고,
    그래픽스 스트림은 하나 이상의 대화제어 세그먼트와 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트를 포함하며, 상기 대화제어 세그먼트는 복수의 페이지 정보와 시간정보를 포함하고,
    상기 시간정보는 비디오 스트림의 재생시간 축에 관련된 프리젠테이션 타임스탬프, 셀렉션 타임아웃 타임스탬프, 유저 타임아웃 듀레이션이고,
    프리젠테이션 타임스탬프는 메뉴에서의 첫 번째 페이지를 현재 페이지로서 표시하게 하는 타이밍을 나타내며,
    복수의 페이지 정보는 버튼 정보를 포함하고, 버튼정보는 버튼 부재의 한 상태를 나타내기 위해서 사용되며, 페이지에서의 대화적인 화면구성을 실현하는 것이고, 세트 버튼 페이지 커맨드를 포함하며, 세트 버튼 페이지 커맨드는 대응하는 버튼 부재가 활성화 상태가 된 때에 첫 번째 페이지 이외의 다른 페이지를 현재 페이지로서 설정하는 처리를 재생장치가 행하도록 하는 커맨드이고,
    셀렉션 타임아웃 타임스탬프는 현재 페이지에서의 버튼 부재를 자동으로 활성화하여 세트 버튼 페이지 커맨드를 재생장치에 실행시키기 위한 타임아웃 시간을 나타내고,
    유저 타임아웃 듀레이션은 현재 페이지를 첫 번째 페이지로 되돌려서 첫 번째 페이지만이 표시되고 있는 상태로 하기 위한 타임아웃 시간을 나타내는 것을 특징으로 하는 재생방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020067011262A 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법 KR101129121B1 (ko)

Applications Claiming Priority (3)

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

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020097022105A Division KR101102639B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
KR1020097022101A Division KR101076130B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
KR1020097022115A Division KR101102679B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체

Publications (2)

Publication Number Publication Date
KR20060115749A KR20060115749A (ko) 2006-11-09
KR101129121B1 true KR101129121B1 (ko) 2012-03-27

Family

ID=34590392

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020067011262A KR101129121B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법
KR1020097022105A KR101102639B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
KR1020097022115A KR101102679B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
KR1020097022101A KR101076130B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020097022105A KR101102639B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
KR1020097022115A KR101102679B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
KR1020097022101A KR101076130B1 (ko) 2003-11-12 2004-11-12 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체

Country Status (7)

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

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2347701T3 (es) * 2003-06-30 2010-11-03 Panasonic Corporation Medio de grabacion, aparato de reproduccion, metodo de grabacion, programa y metodo de reproduccion.
KR20050066265A (ko) * 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
KR20050066264A (ko) 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
JP4426534B2 (ja) 2004-01-13 2010-03-03 パナソニック株式会社 記録媒体再生システム、再生装置
KR100782808B1 (ko) * 2004-01-13 2007-12-06 삼성전자주식회사 인터렉티브 그래픽 스트림을 기록한 저장 매체 및 그 재생장치
US8175444B2 (en) * 2004-01-14 2012-05-08 Samsung Electronics Co., Ltd. Method of reproducing from storage medium storing interactive graphics stream activated in response to user's command
KR100561417B1 (ko) * 2004-02-09 2006-03-16 삼성전자주식회사 Av 데이터의 재생상태를 전환할 수 있는 인터랙티브그래픽 스트림을 기록한 정보저장매체, 그 재생방법 및 장치
EP1718073B1 (en) * 2004-02-17 2011-12-28 Panasonic Corporation Recording medium, reproduction device, program, and reproduction method
US7852351B2 (en) * 2004-05-21 2010-12-14 Lsi Corporation Multiplexed button data system
KR100677129B1 (ko) * 2004-09-03 2007-02-02 삼성전자주식회사 인터랙티브 그래픽 스트림을 기록한 저장 매체, 그 재생장치 및 재생 방법
US7500175B2 (en) * 2005-07-01 2009-03-03 Microsoft Corporation Aspects of media content rendering
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
JP2007048348A (ja) * 2005-08-08 2007-02-22 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及び情報再生プログラム
US20080238938A1 (en) * 2005-08-29 2008-10-02 Eklund Don Effects for interactive graphic data in disc authoring
US8650541B2 (en) * 2006-08-04 2014-02-11 Apple Inc. Graphical motion composition files and methods for formatting and organization thereof
JP4858059B2 (ja) * 2006-10-02 2012-01-18 ソニー株式会社 再生装置、表示制御方法および表示制御プログラム
US8050533B2 (en) 2008-09-30 2011-11-01 Panasonic Corporation Recording medium on which 3D video is recorded, playback apparatus for playing back 3D video, and system LSI
US20100107090A1 (en) * 2008-10-27 2010-04-29 Camille Hearst Remote linking to media asset groups
US20110060993A1 (en) * 2009-09-08 2011-03-10 Classified Ventures, Llc Interactive Detailed Video Navigation System
US8605324B2 (en) * 2010-03-05 2013-12-10 Kabushiki Kaisha Toshiba Image processing system, image processing method, and computer readable recording medium storing program thereof
US8621351B2 (en) * 2010-08-31 2013-12-31 Blackberry Limited Methods and electronic devices for selecting and displaying thumbnails
KR101313592B1 (ko) * 2012-04-13 2013-10-01 애니포인트 미디어 그룹 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치
US9423925B1 (en) * 2012-07-11 2016-08-23 Google Inc. Adaptive content control and display for internet media
KR20140031758A (ko) * 2012-09-05 2014-03-13 삼성전자주식회사 포인팅 디바이스를 이용하여 aⅴ 데이터의 메뉴를 제어하기 위한 인터랙티브 그래픽 데이터를 기록한 정보저장매체, 그 재생방법 및 장치
CN103870130B (zh) * 2012-12-14 2017-03-22 北京新媒传信科技有限公司 一种终端中呈现界面的方法和系统
EP4280598A3 (en) * 2014-09-12 2024-02-21 Panasonic Intellectual Property Corporation of America Recording medium, playback device, and playback method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0088627A2 (en) * 1982-03-09 1983-09-14 Tecalemit Electronics Limited Vibration monitoring apparatus

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178531B2 (ja) * 1988-11-15 2001-06-18 株式会社日立製作所 メニュー提示方法およびデータ処理装置
US5680151A (en) * 1990-06-12 1997-10-21 Radius Inc. Method and apparatus for transmitting video, data over a computer bus using block transfers
US5828907A (en) * 1992-06-30 1998-10-27 Discovision Associates Token-based adaptive video processing arrangement
US5287182A (en) * 1992-07-02 1994-02-15 At&T Bell Laboratories Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks
US5600573A (en) 1992-12-09 1997-02-04 Discovery Communications, Inc. Operations center with video storage for a television program packaging and delivery system
US5648813A (en) * 1993-10-20 1997-07-15 Matsushita Electric Industrial Co. Ltd. Graphical-interactive-screen display apparatus and peripheral units
US5664133A (en) * 1993-12-13 1997-09-02 Microsoft Corporation Context sensitive menu system/menu behavior
JP3172643B2 (ja) * 1994-11-14 2001-06-04 シャープ株式会社 ディジタル記録再生装置
WO1996032720A1 (fr) * 1995-04-14 1996-10-17 Kabushiki Kaisha Toshiba Support d'enregistrement, dispositif et procede pour l'enregistrement des donnees sur le support, et dispositif et procede pour la reproduction des donnees a partir du support
JPH0916665A (ja) * 1995-07-04 1997-01-17 Funai Denki Kenkyusho:Kk ビデオcd発注システム
JPH09102940A (ja) 1995-08-02 1997-04-15 Sony Corp 動画像信号の符号化方法、符号化装置、復号化装置、記録媒体及び伝送方法
KR100371429B1 (ko) * 1995-08-21 2003-03-15 마츠시타 덴끼 산교 가부시키가이샤 대화제어에기초하여의외성넘치는장면전개를실현할수있는멀티미디어광디스크및그재생장치와재생방법
JPH09128408A (ja) * 1995-08-25 1997-05-16 Hitachi Ltd インタラクティブ記録再生用メディア及び再生装置
DE19545882B4 (de) * 1995-12-08 2004-04-08 Yes International Ag System zum Wiedergeben von visuellen Informationen
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US5918012A (en) * 1996-03-29 1999-06-29 British Telecommunications Public Limited Company Hyperlinking time-based data files
EP1134988A1 (en) * 1996-03-29 2001-09-19 Matsushita Electric Industrial Co., Ltd. Multimedia optical disc having improved interactive reproduction procedure, a reproduction apparatus and a method for such a disc
JP3345412B2 (ja) * 1996-03-29 2002-11-18 松下電器産業株式会社 インタラクティブな再生進行の性能を向上させた記録媒体の記録方法、再生装置および再生方法
EP0814419A2 (en) 1996-06-19 1997-12-29 Knowledge Information Research Institute Method of and device for executing a software and medium for distribution
JPH10105452A (ja) * 1996-06-19 1998-04-24 Chishiki Joho Kenkyusho:Kk ソフトウェア実行方法および装置ならびにソフトウェア流通媒体
US5929850A (en) * 1996-07-01 1999-07-27 Thomson Consumer Electronices, Inc. Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
JPH10145722A (ja) * 1996-11-07 1998-05-29 Sony Corp 再生制御データ生成装置およびその方法
US6243086B1 (en) * 1997-05-29 2001-06-05 Matsushita Electric Industrial Co., Ltd. Reproduction apparatus
JP3655433B2 (ja) * 1997-06-20 2005-06-02 パイオニア株式会社 コンピュータ読み取り可能な記録媒体及び情報再生装置
JP4416846B2 (ja) * 1997-08-22 2010-02-17 ソニー株式会社 メニュー制御用データを記録したコンピュータ読み取り可能な記録媒体ならびにメニュー制御方法および装置
US5949752A (en) 1997-10-30 1999-09-07 Wea Manufacturing Inc. Recording media and methods for display of graphic data, text, and images
JP3376265B2 (ja) * 1997-12-25 2003-02-10 株式会社東芝 複数コンテンツのオブジェクト共有化システム
US6121968A (en) * 1998-06-17 2000-09-19 Microsoft Corporation Adaptive menus
AU4944699A (en) * 1998-06-29 2000-01-17 Limt Technology Ab Method and apparatus for splicing data streams
US20030001880A1 (en) * 2001-04-18 2003-01-02 Parkervision, Inc. Method, system, and computer program product for producing and distributing enhanced media
US7100193B2 (en) * 2000-03-29 2006-08-29 Intellocity Usa, Inc. Rate controlled insertion of asynchronous data into a synchronous stream
JP2003512789A (ja) 1999-10-21 2003-04-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 再生装置及び記録担体を再生するための方法
US6580442B1 (en) * 1999-12-01 2003-06-17 Ericsson Inc. Touch-based information processing device and method
US6661438B1 (en) * 2000-01-18 2003-12-09 Seiko Epson Corporation Display apparatus and portable information processing apparatus
US7099567B2 (en) * 2000-04-21 2006-08-29 Matsushita Electric Industrial Co., Ltd. Video processing method and video processing apparatus
JP4734690B2 (ja) * 2000-04-28 2011-07-27 ソニー株式会社 信号送出方法及び信号送出装置
FR2812237B1 (fr) * 2000-07-26 2002-12-27 Secap Dispositif et procede de commande centralisee d'impression et de conditionnement de courrier
WO2002028100A1 (fr) * 2000-09-29 2002-04-04 Kabushiki Kaisha Toshiba Appareil d'enregistrement/de lecture et procede de programmation d'enregistrement de l'appareil d'enregistrement/de lecture
JP2002135676A (ja) * 2000-10-27 2002-05-10 Canon Inc テレビジョン信号受信装置、その処理方法及び記録媒体
WO2002079902A2 (en) * 2000-12-01 2002-10-10 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
US20020010715A1 (en) * 2001-07-26 2002-01-24 Garry Chinn System and method for browsing using a limited display device
US6959116B2 (en) 2001-09-18 2005-10-25 Emc Corporation Largest magnitude indices selection for (run, level) encoding of a block coded picture
US9497452B2 (en) * 2002-01-22 2016-11-15 Broadcom Corporation System and method of transmission and reception of video using compressed differential time stamps
US20040047588A1 (en) * 2002-03-27 2004-03-11 Tomoyuki Okada Package medium, reproduction apparatus, and reproduction method
WO2003096669A2 (en) * 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
US7360160B2 (en) 2002-06-20 2008-04-15 At&T Intellectual Property, Inc. System and method for providing substitute content in place of blocked content
US9445133B2 (en) * 2002-07-10 2016-09-13 Arris Enterprises, Inc. DVD conversion for on demand
JP3717880B2 (ja) 2002-10-01 2005-11-16 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
US8145033B2 (en) * 2003-02-05 2012-03-27 Lg Electronics Inc. Recording medium having data structure for managing reproducton duration of still pictures recorded thereon and recording and reproducing methods and apparatuses
US20040160463A1 (en) * 2003-02-18 2004-08-19 Battles Amy E. System and method for displaying menu information in an electronic display
KR100930351B1 (ko) 2003-02-25 2009-12-08 엘지전자 주식회사 고밀도 광디스크의 그래픽 및 서브타이틀 데이터관리방법
KR100886528B1 (ko) * 2003-02-28 2009-03-02 파나소닉 주식회사 애니메이션을 수반한 대화화면의 표시를 실현할 수 있는 기록매체, 재생장치, 기록방법, 컴퓨터 판독 가능한 기록매체, 재생방법
EP1465047A1 (en) 2003-04-03 2004-10-06 Deutsche Thomson-Brandt Gmbh Method for presenting menu buttons
US7233316B2 (en) * 2003-05-01 2007-06-19 Thomson Licensing Multimedia user interface
EP1648168A4 (en) 2003-07-01 2006-08-09 Pioneer Corp DATA RECORDING MEDIUM, DATA RECORDING DEVICE, DATA READING DEVICE AND METHOD, DATA RECORDING / READING DEVICE AND METHOD, COMPUTER CONTROL PROGRAM FOR RECORDING OR READING, AND DATA STRUCTURE CONTAINING A DATA RECORDING DEVICE COMM SIGNAL
JP3859169B2 (ja) 2003-07-01 2006-12-20 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
AU2004300623C1 (en) 2003-07-03 2010-04-29 Panasonic Corporation Recording medium, reproduction apparatus, recording method, integrated circuit, program, and reproduction method
CA2541154C (en) * 2003-10-06 2012-07-17 Disney Enterprises, Inc. System and method of playback and feature control for video players
KR101102630B1 (ko) 2003-11-12 2012-01-04 파나소닉 주식회사 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
US8000580B2 (en) * 2004-11-12 2011-08-16 Panasonic Corporation Recording medium, playback apparatus and method, recording method, and computer-readable program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0088627A2 (en) * 1982-03-09 1983-09-14 Tecalemit Electronics Limited Vibration monitoring apparatus

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101129121B1 (ko) 기록매체, 재생장치 및 방법, 기록방법
JP4649491B2 (ja) 記録媒体、再生装置、記録方法、プログラム、再生方法
EP2257059B1 (en) Recording medium, reproduction device, recording method, program, and reproduction method
US8000580B2 (en) Recording medium, playback apparatus and method, recording method, and computer-readable program

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200206

Year of fee payment: 9