KR100517506B1 - 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체 - Google Patents

인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체 Download PDF

Info

Publication number
KR100517506B1
KR100517506B1 KR20030057991A KR20030057991A KR100517506B1 KR 100517506 B1 KR100517506 B1 KR 100517506B1 KR 20030057991 A KR20030057991 A KR 20030057991A KR 20030057991 A KR20030057991 A KR 20030057991A KR 100517506 B1 KR100517506 B1 KR 100517506B1
Authority
KR
South Korea
Prior art keywords
event
av
information
engine
storage medium
Prior art date
Application number
KR20030057991A
Other languages
English (en)
Other versions
KR20040018934A (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
Priority to KR1020020050524 priority Critical
Priority to KR20020050524 priority
Priority to KR1020020073476 priority
Priority to KR20020073476 priority
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority claimed from TW92123380A external-priority patent/TWI234392B/zh
Publication of KR20040018934A publication Critical patent/KR20040018934A/ko
Application granted granted Critical
Publication of KR100517506B1 publication Critical patent/KR100517506B1/ko

Links

Abstract

재생 장치, 그 사용자 입력 처리 방법 및 그 정보저장매체가 개시된다.
상기 정보저장매체는 AV 데이터; 및 상기 AV 데이터를 인터랙티브 모드로 재생하기 위해 필요한 적어도 하나의 마크업 문서를 포함하고, 상기 마크업 문서에는 사용자로부터의 키 입력 이벤트가 디폴트로 AV 데이터를 재생하는 AV 재생 엔진으로 전달될 것을 요구하는 제1 이벤트 정보가 기록되어 있는 것을 특징으로 한다. 이에 의해, 제한된 사용자 입력 장치로도 효과적으로 인터랙티브 컨텐츠를 제어할 수 있다.

Description

인터랙티브 모드로 AV 데이터를 재생하는 장치, 그 사용자 입력 처리 방법 및 그 정보저장매체{Apparatus for reproducing AV data in interactive mode, method for handling user input and information storage medium therefor}

본 발명은 AV 데이터를 인터랙티브 모드로 재생하는 장치, 그 사용자 입력 처리 방법 및 정보저장매체에 관한 것이다.

PC를 기반으로 AV 데이터를 인터랙티브 모드로 재생할 수 있는 DVD(이하 "인터랙티브 DVD"라 함)가 판매되고 있다. 인터랙티브 DVD에는 종래 DVD-Video 규격에 따라 AV 데이터가 기록되어 있는 한편, 인터랙티브 기능을 지원하기 위한 마크업 문서가 더 기록되어 있다. 인터랙티브-DVD에 기록된 AV 데이터는 두 가지 모드로 디스플레이될 수 있다. 하나는 일반 DVD-Video와 동일한 방식으로 디스플레이되는 비디오 모드이고, 다른 하나는 AV 데이터가 재생되어 표시되는 AV 화면이 마크업 문서에 정의된 표시창에 매립되어 마크업 문서와 함께 디스플레이되는 인터랙티브 모드이다. 예를 들어, AV 데이터가 영화 타이틀일 경우 표시창에는 영화가 상영되고 나머지 부분에는 영화의 대본, 줄거리, 출연배우의 사진, 등 다양한 부가 정보가 표시될 수 있다. 부가 정보는 타이틀(AV 데이터)과 동기되어 표시되기도 한다. 예를 들어, 특정 출연배우가 등장하기 시작할 때 그 배우에 대한 이력 정보가 담긴 마크업 문서가 호출되어 표시되는 경우를 들 수 있다.

인터랙티브 모드의 경우, 마크업 문서를 해석하여 보여주기 위한 재생 엔진과 DVD-Video 포맷의 AV 데이터를 재생하기 위한 AV 재생 엔진, 즉 2 개의 재생 엔진이 필요하게 된다. 다시 말해, 인터랙티브 모드에서는 사용자가 네비게이션할 수 있는 두 개의 커다란 도메인, 즉 마크업 문서와 DVD-Video가 존재한다. 이들 두 도메인은 제어 방식 및 네비게이션 방식이 서로 다르기 때문에 제어 명령 키와 네비게이션을 위한 키가 각각 존재하는 것이 바람직하다. 실제로, 종래 인터랙티브 DVD의 경우 마크업 문서를 위한 재생 엔진 역할은 PC에 탑재된 브라우저가 담당하였고, 네비게이션을 위한 네비게이션 키로서 PC의 사용자 입력 장치, 즉 입력 키의 갯수가 비교적 많은 키보드와 마크업 문서의 어디든지 포인팅이 가능한 마우스를 사용하였으므로 큰 문제가 없었다.

그러나, 리모트 콘트롤러와 같이 키의 개수가 제한된 사용자 입력 장치를 사용하는 가정용 기기로서 인터랙티브 모드를 지원하는 재생 장치를 구현하고자 할 경우 네비게이션 키를 각각 구비하는 것이 효율적이지 못한 문제점이 있다.

따라서, 본 발명의 목적은, 제한된 개수의 키만을 갖는 사용자 입력 장치로도 효과적으로 사용자 입력을 처리하여, AV 데이터를 인터랙티브 모드로 재생할 수 있는 재생 장치, 그 사용자 입력 처리 방법, 및 그 정보저장매체를 제공하는 것이다.

본 발명의 다른 목적은 인터랙티브 컨텐츠 제작자가 보다 효율적인 사용자 인터랙션이 가능한 인터랙티브 컨텐츠를 제작할 수 있도록 사용자 입력을 적절히 처리할 수 있는 재생 장치, 그 사용자 입력 처리 방법 및 그 정보저장매체를 제공하는 것이다.

상기 목적은, 본 발명에 따라, AV 데이터; 및 상기 AV 데이터를 인터랙티브 모드로 재생하기 위해 필요한 적어도 하나의 마크업 문서를 포함하고, 상기 마크업 문서에는 사용자로부터의 키 입력 이벤트가 디폴트로 AV 데이터를 재생하는 AV 재생 엔진으로 전달될 것을 요구하는 제1 이벤트 정보가 기록되어 있는 것을 특징으로 하는 정보저장매체에 의해서도 달성된다.

상기 키 입력 이벤트는 상기 마크업 문서를 해석하여 실행하는 ENAV 엔진을 경유하여 상기 AV 재생 엔진으로 전달되는 것이 바람직하다.

상기 키 입력 이벤트는 상기 마크업 문서를 해석하여 실행하는 ENAV 엔진에 구비된 인터페이스 핸드러를 경유하여 상기 AV 재생 엔진으로 전달되는 것이 바람직하다.

상기 인터페이스 핸들러는 상기 키 입력 이벤트에 대응되도록 미리 정의된 상기 AV 재생 엔진의 동작을 수행시키기 위한 재생 제어 명령을 전달하는 것이 바람직하다.

상기 제1 이벤트 정보는 스크립트 언어 및 마크업 언어 중 적어도 하나를 사용하여 기록되거나, 자바 스크립트 및 XML 중 적어도 하나를 사용하여 기록되는 것이 바람직하다.

상기 마크업 문서에는 상기 키 입력 이벤트를 상기 AV 데이터를 디코딩하는 AV 재생 엔진으로 전달하는 것을 금지하는 제2 이벤트 정보가 기록되고, 상기 제2 이벤트 정보는 API를 사용하여 기록되는 것이 바람직하다.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 재생된 AV 데이터가 마크업 문서와 함께 표시되는 인터랙티브 모드에서 사용자 입력을 처리하는 방법에 있어서, (a) 사용자로부터 키 입력 이벤트가 발생하면 상기 마크업 문서를 해석하여 실행하는 프젠테이션 엔진으로 전달하는 단계; 및 (b) 상기 ENAV 엔진은 상기 키 입력 이벤트를 디폴트로 상기 AV 데이터를 재생하기 위한 AV 재생 엔진으로 전달하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.

상기 (a)단계는 상기 키 입력 이벤트가 상기 마크업 문서에 기록된 제1 이벤트 정보에 의해 발생하는 단계를 포함하고, 상기 (b)단계는 상응하는 재생 제어 명령을 상기 AV 재생 엔진으로 전달함에 의해 상기 키입력 이벤트를 처리하는 단계를 포함하거나, 상기 (a)단계는 상기 키 입력 이벤트가 상기 마크업 문서에 기록된 제1 이벤트 정보인 상기 마크업 문서에 마련된 버튼이 클릭되는 온클릭 이벤트에 의해 발생하는 단계를 포함하고, 상기 (b)단계는 상응하는 재생 제어 명령을 상기 AV 재생 엔진으로 전달함에 의해 상기 온클릭 이벤트를 처리하는 단계를 포함하는 것이 바람직하다.

또한, 재생된 AV 데이터가 마크업 문서와 함께 표시되는 인터랙티브 모드에서 사용자 입력을 처리하는 방법에 있어서, (a) 사용자로부터 키 입력 이벤트를 디폴트로 상기 AV 데이터를 디코딩하는 AV 재생 엔진으로 전달하는 단계; 및 (b) 상기 마크업 문서에 기록된 제2 이벤트 정보에 따른 제2 이벤트가 발생되면 상기 키 입력 이벤트를 상기 AV 재생 엔진으로 전달하는 것을 금지하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.

상기 (b)단계는 API를 사용하여 기록된 상기 제2 이벤트 정보에 따라 상기 제2 이벤트를 발생시키는 단계를 더 포함하거나, 상기 마크업 문서에 기록된 제3 이벤트 정보에 따른 제3 이벤트가 발생되면, 그에 대응하도록 상기 마크업 화면을 제어하는 단계를 더 포함하는 것이 바람직하다.

이하, 첨부된 도면을 참조하여 본 발명 바람직한 실시예를 상세히 설명한다. 이하에서 「인터랙티브 컨텐츠」는 인터랙티브 모드에서 사용자에게 보여지거나 보여질 수 있는 컨텐츠를 망라하는 의미로 사용된다. 즉, 인터랙티브 컨텐츠는 AV 데이터는 물론, 마크업 문서 및 상기 마크업 문서에 삽입되거나 링크된 프로그램 코드 및/또는 리소스 파일 등을 말한다. 예를 들어, DVD-Video를 인터랙티브 모드로 재생할 때 인터랙티브 컨텐츠는 크게 DVD-Video 컨텐츠(AV 컨텐츠) 및 마크업 문서로 구분된다. 「마크업 문서」는 XML, HTML, 등 마크업 언어로 작성된 문서로서, A.xml과 같은 문서는 물론 A.xml에 삽입되는 A.png, A.jpg, A.mpeg 등을 포함하는 마크업 리소스를 의미한다. 다시 말해, 본 실시예에서 마크업 문서는 AV 데이터를 인터랙티브 모드로 재생하기 위해 필요한 어플리케이션 역할을 하는 한편, AV 데이터와 함께 사용자에게 디스플레이되는 인터랙티브 컨텐츠 역할을 동시에 수행한다.

도 1은 본 발명의 바람직한 실시예에 따른 재생 시스템의 개요도이다.

도 1을 참조하면, 재생 시스템은 본 실시예에 따른 정보저장매체인 DVD(300), 재생 장치(200), 본 실시예에 따른 디스플레이 장치로서 TV(100), 사용자 입력 장치로서 리모트 콘트롤러(400)를 포함한다. 리모트 콘트롤러(400)는 사용자의 제어 명령을 입력받아 재생 장치(200)로 전달한다. 재생 장치(200)는 DVD(300)에 기록된 AV 데이터를 인터랙티브 모드로 재생한다. 재생 장치(200)에 구비된 DVD 드라이브에 DVD(300)가 로드되고 사용자가 인터랙티브 모드를 선택하면 재생 장치(200)는 대응하는 마크업 문서를 사용하여 해당 AV 데이터를 인터랙티브 모드로 재생하여 TV(100)로 전달한다. TV(100)에는 재생된 AV 데이터에 따른 AV 화면이 마크업 문서로부터 얻어진 마크업 화면에 매립되어 함께 표시된다. 「인터랙티브 모드」는 AV 화면을 마크업 문서에 정의된 표시창에 디스플레이하는 방식, 즉 마크업 화면에 AV 화면이 매립되도록 디스플레이하는 방식을 말한다. 여기서, AV 화면은 DVD(300)에 기록된 DVD-Video 데이터가 재생 장치(200)에 의해 재생되어 TV(100)에 표시되는 화면을 가리키고 마크업 화면은 DVD(300)에 기록된 마크업 문서가 재생 장치(200)에 의해 해석되고 실행되어 TV(100)에 표시되는 화면을 가리킨다. AV 화면이 매립된 마크업 화면, 즉 인터랙티브 모드에서 보여지는 화면은 인터랙티브 화면이라고 부른다. 한편, 「비디오 모드」는 AV 데이터를 종래 DVD-Video에 정의된 바에 따라 재생하는 방식, 즉 해당 AV 데이터를 재생하여 얻어진 AV 화면만을 디스플레이하는 방식을 말한다. 본 실시예에서 재생 장치(200)는 인터랙티브 모드와 비디오 모드를 지원할 뿐 아니라, 인터랙티브 모드의 하위 디스플레이 모드로서 풀 스크린 모드를 지원한다. 풀 스크린 모드는 본 출원인에 의해 2002년 2월 7일자로 출원된 한국 특허출원 제02-7031호 「모드 표시정보가 기록된 정보저장매체, 그 재생장치 및 재생방법」에 정의된 디스플레이 모드로서, 인터랙티브 모드에서 AV 화면이 확대되어 화면 가득차게 보여지는 모드를 의미한다. 나아가, 본 실시예에서 재생 장치(200)는 네트워크로부터 마크업 문서를 가져올 수 있다.

도 2는 도 1의 리모트 콘트롤러(400)의 일 예이다.

도 2를 참조하면, 리모트 콘트롤러(400)에는 다양한 기능 키들이 마련되어 있다. TV 버튼(41)은 외부로부터 수신된 방송 신호를 TV(100)를 통해 시청하기 위한 키이고, DVD 버튼(42)은 재생 장치(200)로부터 제공된 AV 데이터로서 본 실시예에 따른 비디오 타이틀을 TV(100)를 통해 시청하기 위한 키이다. 리모트 콘트롤러(400)의 상단 전면에는 채널 번호 등을 선택하기 위한 숫자/특수문자 키들(43)이 배치되어 있다. Setup(44)은 재생 장치(200)를 셋업하기 위해 OSD(On Screen Display) 메뉴를 호출하는 키이고, H/E(45)는 언어전환 키이며, SP(46)는 space 키이고, DEL(47)은 delete 키이다. Screen(48)은 인터랙티브 모드에서 AV 화면의 디스플레이 모드(매립 모드와 풀 스크린 모드 상호 간)를 변환하기 위한 키이고, Menu(49)는 메뉴 화면을 호출하기 위한 키이며, Content(50)는 인터넷으로부터 소정 정보를 다운로드받기 위한 키이다. 인터랙티브 화면에서 포커스 또는 하이라이트 정보를 이동시키는 방향키들로서, 참조번호 52는 up 키, 참조번호 53은 left 키, 참조번호 54는 down 키, 참조번호 55는 right 키이다. OK(51)는 포커스 또는 하이라이트 정보가 위치된 마크업 문서의 엘리먼트 또는 메뉴를 선택하기 위한 키이다.

비디오 타이틀을 재생하기 위한 키들로서, 참조번호 56은 preview 키이고, 참조번호 57은 next 키이며, 참조번호 58은 fastrewind 키이고, 참조번호 59는 stop 키이며, 참조번호 60은 play/pause 키이고, 참조번호 61은 fastforward 키이다. 비디오 타이틀을 재생할 때, 사용자는 Audio(62)를 사용하여 오디오의 언어를 전환할 수 있고, Sub title(63)을 사용하여 자막의 언어를 전환할 수 있으며, Angle(64)을 사용하여 화면의 앵글을 전환할 수 있다.

Focus change(65)는 본 실시예에 따라 인터랙티브 화면 상에서 서로 다른 도메인, 즉 AV 화면에서 마크업 화면 또는 마크업 화면에서 AV 화면으로 포커스를 이동시키는데 사용된다.

Return(66)은 계층구조로 이루어진 메뉴에 있어서 계층 간 이동을 위해 사용된다. Exit(67)는 메뉴 화면에서 비디오 타이틀의 재생 화면으로 이동하기 위한 키이다. 도 2의 리모트 콘트롤러(400)는 비디오 타이틀이 기록된 DVD(300)에 대응되도록 마련된 일 예이므로, 구체적인 기능 키 및 그 개수는 변경될 수 있다. 또한, 기능 키 중 적어도 일부를 OSD 메뉴로 편입시킬 수 있으며 그 반대로 OSD 메뉴의 일부를 기능 키로 구현할 수 있다.

도 3은 본 발명의 바람직한 실시예에 따른 재생 장치(200)의 블럭도이다.

도 3을 참조하면, 재생장치는 리더(2), ENAV 엔진(3), AV 재생 엔진(4), 및 블렌더(7)를 포함한다.

리더(2)는 ENAV 엔진(3)로부터의 제어 신호에 따라 DVD(300)로부터 AV 데이터, 즉 본 실시예에서의 DVD-Video 데이터 및 마크업 문서를 읽어낸다. 마크업 문서에는 본 발명에 따른 이벤트 정보로서, 제1 이벤트 정보, 제2 이벤트 정보 및 제3 이벤트 정보 중 적어도 하나가 기록된다. 제1 이벤트 정보는 인터랙티브 모드에서 AV 화면을 제어하기 위한 정보, 즉 DVD-Video 데이터의 재생을 위한 AV 재생 엔진(4)의 동작을 제어하기 위한 정보이고, 제2 이벤트 정보는 사용자 입력이 AV 재생 엔진(4)으로 전달되는 것을 금지하기 위한 정보를 말한다. 제3 이벤트 정보는 사용자 입력이 AV 재생 엔진(4)으로 전달되거나 금지될 때 ENAV 엔진(3)의 동작을 제어하는 정보를 말한다.

제1 이벤트 정보에 따라 제1 이벤트가 발생되고 제2 이벤트 정보에 따라 제2 이벤트가 발생되며 제3 이벤트 정보에 따라 제3 이벤트가 발생된다.

AV 재생 엔진(4)은 독출된 AV 데이터를 재생한다. 본 실시예에서 AV 데이터는 DVD-Video 데이터로 기록되어 있으므로 본 실시예에서 AV 재생 엔진(4)은 DVD-Video 데이터를 재생하는 DVD-Video 재생 엔진으로 구현된다. AV 재생 엔진(4)은 API(Application Program Interface)를 통해 ENAV 엔진(3)과 커뮤니케이션한다. 즉, ENAV 엔진(3)으로부터의 요구에 응답하여 AV 재생 엔진(4)의 동작 상태(status)를 알려주는 속성(property)을 ENAV 엔진(3)으로 알려주고, 트리거(trigger)를 ENAV 엔진(3)으로 보내준다. 트리거란 예를 들면, 인터랙티브 모드로 스타워즈가 상영될 때 AV 화면에 전투 장면이 표시되면 대응하는 퀴즈가 마크업 화면에 표시되도록 하는 경우 전투 장면이 표시되는 시점을 전후하여 ENAV 엔진(3)으로 이를 알려주는 것을 가리킨다.

나아가, AV 재생 엔진(4)은 리모트 콘트롤러(400)에 마련된 소정 키를 통한 사용자로부터의 키 입력 이벤트가 발생하면 이를 ENAV 엔진(3)을 경유하여 수신한다. 다시 말해, 사용자가 리모트 콘트롤러(400)에 마련된 소정 키를 누르면, 키 입력 이벤트가 발생되고, 발생된 키 입력 이벤트는 AV 재생 엔진(3)으로 전달되어 DVD-Video의 재생을 제어하게 된다. 또는, 제1 이벤트가 발생하면, 제1 이벤트에 의해 정의되는 동작을 취한다. 다만, 전술한 것과 같이 제2 이벤트가 발생되면, AV 재생 엔진(4)은 사용자로부터의 키 입력 이벤트를 전달받을 수 없게 된다.

ENAV 엔진(3)은 마크업 언어, 스크립트 언어 및/또는 기타 프로그램 언어로 작성된 마크업 문서를 검증하고 해석하여 실행하는 해석 엔진이다. 본 실시예에서 ENAV 엔진(3)은 인터랙티브 모드에서 DVD(300)에 기록된 DVD-Video 데이터를 인터랙티브 모드로 재생하기 위해, 마크업 문서를 검증하고 해석하여 레이아웃한다. 특히, ENAV 엔진(3)은 본 발명에 따라 마크업 문서에 제1 이벤트 정보가 기록되어 있고 그에 따른 조건이 만족되어 제1 이벤트가 발생하면 이를 AV 재생 엔진(4)으로 전달하거나, 사용자로부터의 키 입력 이벤트가 발생하면 이를 디폴트로 AV 재생 엔진(4)으로 전달한다. 특정한 경우, 마크업 문서에 제2 이벤트 정보가 기록되어 있고 그에 따른 조건이 만족되어 제2 이벤트가 발생하면, 사용자로부터의 키 입력 이벤트의 전달을 금한다. 나아가, ENAV 엔진(3)은 사용자 입력이 직접 AV 재생 엔진(4)으로 전달되거나 금지될 때, 마크업 문서에 제3 이벤트 정보가 기록되어 있고 그에 따른 조건이 만족되어 제3 이벤트가 발생하면, 그에 대응하는 동작을 취한다.

한편, ENAV 엔진(3)은 다양한 플러그-인을 포함할 수 있다. 플러그-인은 마크업 문서에 포함되거나 마크업 문서에 링크된 다양한 포맷의 파일을 열 수 있게 해준다. 예를 들면, 윈도우 미디어 플레이어용 AV 데이터를 재생하기 위해 ENAV 엔진(3)은 윈도우 미디어 플레이어를 불러올 수 있다. 또한, ENAV 엔진(3)은 네트워크에 접속하여 마크업 문서 등 필요한 정보를 가져올 수 있다.

블렌더(7)는 재생된 DVD-Video 스트림과 해석된 마크업 문서를 블렌딩하여 출력한다. 이에, TV(100)에는 마크업 화면(22)과 AV 화면(21)으로 구성된 인터랙티브 화면이 표시된다.

도 4는 본 발명에 따른 ENAV 엔진(3)의 동작을 보다 상세히 설명하기 위한 도 3의 부분 상세 블록도이다.

도 4를 참조하면, ENAV 엔진(3)은 파서 & 인터프리터(15), 디코더(25) 및 인터페이스 핸들러(35)를 구비한다. 인터페이스 핸들러(35)는 사용자로부터 키 입력 이벤트가 발생하면 이를 디폴트로 AV 재생 엔진(4)으로 전달한다.

파서 & 인터프리터(15)는 마크업 문서를 파싱하고 마크업 문서 및 마크업 문서에 기록된 스크립트 코드를 해석한다. 스크립트 코드는 인터랙티브 모드에서 마크업 문서에 포함된 오브젝트를 다이나믹하게 콘트롤하기 위해 사용된다. 이벤트는 오브젝트를 콘트롤하기 위한 이벤트 핸들러(함수)를 활성화시키기 위한 트리거 역할을 수행한다. 본 실시예에서 파서 & 인터프리터(15)는 마크업 문서에 마크업 언어 및/또는 스크립트 언어로 기록된 이벤트 정보를 해석하고, 인터페이스 핸들러(35)로부터 전달된 이벤트가 해석된 이벤트 정보에 따라 처리되도록 대응 커맨드를 인터페이스 핸들러(35)로 전달한다.

또한, 인터페이스 핸들러(35)는 AV 재생 엔진(4)으로부터의 트리거를 파서 & 인터프리터(15)가 해석할 수 있는 이벤트로 변환하고, AV 재생 엔진(4)으로부터 전달된 상태(status)를 파서 & 인터프리터(15)가 이해할 수 있는 속성(property)으로 변환해주며, 파서 & 인터프리터(15)로부터의 커맨드를 이벤트 핸들러를 통해 처리하거나, AV 재생 엔진(4)이 이해할 수 있는 제어 명령 콘트롤로 변환시켜 전달해준다.

본 실시예에서, 인터페이스 핸들러(35)는 인터랙티브 모드에서 AV 화면을 제어하기 위해, 제1 이벤트 정보에 따른 제1 이벤트가 발생하면 이를 AV 재생 엔진(4)으로 전달한다. 또한, 사용자로부터 키 입력 이벤트가 발생되면 리모트 컨트롤러(400)에 마련된 키에 할당된 KeyCode를 매개변수로 갖는 API 커맨드 InputRCKey를 사용하여 경로 A를 통해 제어 명령을 AV 재생 엔진(4)으로 전달한다. 또한, 제2 이벤트 정보에 따른 제2 이벤트가 발생하면, 사용자로부터 키 입력 이벤트가 발생하더라도 이를 AV 재생 엔진(4)로 전달하지 않는다. 나아가, 인터랙티브 모드에서 마크업 화면을 제어하기 위한 사용자 입력, 즉 제3 이벤트 정보에 따른 제3 이벤트가 발생하면 대응하는 동작을 취할 수 있도록 이를 파서&인터프리터15)로 전달한다.

디코더(25)는 파서 & 인터프리터(15)로부터의 명령에 따라 인터랙티브 컨텐츠를 디코딩하고 렌더링한다. 렌더링이란 마크업 문서의 페이지 레이아웃 및 AV 출력을 콘트롤하는 것을 의미한다.

이하에서는, 본 발명에 따른 이벤트에 대해 상술한다.

제1 이벤트 정보는 사용자에 의해 이벤트가 발생되었는지 여부를 검사하기 위한 이벤트 등록 정보를 포함하고, 제1 이벤트가 발생되었을 때 AV 재생 엔진(4)의 동작을 제어함에 의해 이를 처리하기 위한 이벤트 처리 정보를 포함한다. 제1 이벤트 정보는 제1 이벤트가 발생되도록 마크업 문서에 기록된 정보로서, 이벤트 등록 정보는 제1 이벤트를 등록하기 위한 것이고, 이벤트 처리 정보는 제1 이벤트를 처리하기 위한 것이다.

<제1 이벤트 구현 예 1>

제1 이벤트의 등록은 키 입력 이벤트의 발생 여부를 검사하기 위한 키입력 이벤트 리스너(listener)에 의해 구현되고, 제1 이벤트의 처리는 AV 재생 엔진(4)의 동작을 제어하기 위한 키입력 이벤트 핸들러에 의해 구현된다.

<제1 이벤트 구현 예 2>

제1 이벤트의 등록은 마크업 언어에 정의된 온클릭 이벤트에 의해 구현되고, 제1 이벤트의 처리는 온 클릭 이벤트에 응답하여 AV 재생 엔진(4)으로 하여금 대응 동작을 수행하도록 해주는 함수에 의해 구현된다. 여기서, 키입력 이벤트 핸들러 또는 함수는 사용자가 누른 키 또는 버튼에 대응하는 제어 명령을 AV 재생 엔진(4)으로 전달하는 역할을 맡게 된다.

다음은 <제1 이벤트 구현 예 1>에 따른 마크업 문서의 소스 코드를 나타낸다.

<?xml version ="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//DVD//DTD XHTML DVD-HTML 1.0//EN""http://www.dvdforum.org/envideo/dtd/dvdhtml-1-0.dtd"><html><head><title>Example 1</title><script type= "text/javascript"> function RcKeyEventHandler(evt) { if(evt.keyCode == 12) dvdVideo.InputRCKey(12); }</script><script type= "text/javascript">function setupEventHandler(){// eventHandler is registered to bodyNode and Interactive ContentsbodyNode.addEventListener("rckeypress",RcKeyEventHandler,true);}</script></head> <body id="bodyNode" onload="setupEventHandler()".............................................................................</body></html>

<제1 이벤트 구현 예 1>의 마크업 문서에 따르면, 다음과 같이, 이벤트 등록 정보가 JavaScript 언어로 기록되어 있다.

<script type= "text/javascript">function setupEventHandler(){// eventHandler is registered to bodyNode and Interactive ContentsbodyNode.addEventListener("rckeypress",RcKeyEventHandler,true);}</script>

이에 따르면, rckeypress라는 이벤트가 발생하면(사용자가 리모트 컨트롤러(400)의 소정 키를 누르면), 함수 RcKeyEventHandler가 호출됨을 알 수 있다.

또한, 이벤트 처리 정보는, 다음과 같이, JavaScript 언어로 기록되어 있다.

<script type= "text/javascript"> function RcKeyEventHandler(evt) { if(evt.keyCode == 12) dvdVideo.InputRCKey(12); }</script>

이에 따르면, RcKeyEventHandler는 키코드가 12일 때 dvdVideo.InputRCKey(12)를 실행함을 알 수 있다. 즉, 사용자가 누른 키에 할당된 코드가 12일 때 ENAV 엔진(3)은 AV 재생 엔진(4)으로 하여금 키코드 12에 할당된 재생 제어 동작을 수행하도록 커맨드 API dvdVideo.InputRCKey를 사용하여 대응 제어 명령을 AV 재생 엔진(4)으로 전달함을 알 수 있다.

즉, 마크업 문서의 body 내에 리모트 컨트롤러(400)의 키 입력 이벤트를 등록하여 사용자가 리모트 컨트롤러(400)의 키를 누르면 이를 ENAV 엔진(3)에서 수신하여 AV 재생 엔진(4)으로 전달되도록 할 수 있다. 마크업 문서 제작자는 리모트 컨트롤러(400)에 마련된 키를 선별하고 사용자가 선별된 키를 누르면 그에 해당하는 제어 명령을 AV 재생 엔진(4)으로 전송하는 방식에 의해 DVD-video의 재생을 제어할 수 있게 된다.

다음은 <제1 이벤트 구현 예 2>에 따른 마크업 문서의 소스 코드를 나타낸다.

<?xml version ="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//DVD//DTD XHTML DVD-HTML 1.0//EN""http://www.dvdforum.org/envideo/dtd/dvdhtml-1-0.dtd"><html><head><title>Example 2</title><script type="text/javascript"><-- function Btn_PlayPause(){ dvdVideo.InputRCKey(12);}--></script></head><body> <table border="0" width="720" height="480"><tr> <td width="277" height="184" align="left" valign="top"><object data="dvd:" width="277" height="184" border="0"/></td><td width="443" height="480" align="left" valign="top" rowspan="2"><img src="b1.png" width="443" height="400 border="0"/><button name="PlayPause" value="PLAY/PAUSE" onclick="Btn_PlayPause()"></td></tr><tr><td width="277" height="296"><img src="b2.png" width="277" height="296" border="0"/></td></tr></table></body></html>

<제1 이벤트 구현 예 2>의 마크업 문서에 따르면, 다음과 같이, 이벤트 등록 정보가 마크업 언어로 기록되어 있다.

<button name="PlayPause" value="PLAY/PAUSE" onclick="Btn_PlayPause()">

즉, 도 6에 도시된 바와 같이 AV 화면(26)과 Play/Pause 키(36)가 구비된 마크업 화면(16)이 함께 표시된 인터랙티브 화면에 있어서, 온클릭 이벤트가 발생하면(사용자가 Play/Pause 키(36)을 누르면) 함수 Btn_PlayPause()가 호출됨을 알 수 있다.

또한, 이벤트 처리 정보는, 다음과 같이, JavaScript 언어로 기록되어 있다.

<script type="text/javascript"><-- function Btn_PlayPause(){ dvdVideo.InputRCKey(12);}--></script>

이에 따르면, 함수 Btn_PlayPause는 API 커맨드 dvdVideo.InputRCKey(12)를 실행함을 알 수 있다. 즉, 사용자가 인터랙티브 화면 상에 표시된 Play/Pause키(36)를 누르면 ENAV 엔진(3)은 AV 재생 엔진(4)으로 하여금 키코드 12에 할당된 재생 제어 동작을 수행하도록 API 커맨드 dvdVideo.InputRCKey를 사용하여 대응 제어 명령을 AV 재생 엔진(4)으로 전달함을 알 수 있다.

마크업 문서 내에 존재하는 버튼의 onclick() 이벤트에 API 커맨드 dvdVideo.InputRCKey(keyCode);를 연결하여 사용함으로써, 사용자가 마크업 문서의 버튼을 클릭하면 대응하는 제어 명령을 AV 재생 엔진(4)으로 전달할 수 있게 해주는 방식에 의해 인터랙티브 컨텐츠 제작자의 의도에 따라 DVD-video의 재생을 제어할 수 있게 된다.

이처럼 제1 이벤트 정보를 마크업 문서에 기록하는 방식을 사용하여, 사용자로부터의 키 입력 이벤트를 AV 재생 엔진(4)으로 전달하면, 인터랙티브 컨텐츠 제작자로 하여금 필요에 따라 사용자의 입력을 AV 재생 엔진(4)으로 전달할 수 있게 된다.

물론, 제1 이벤트 정보를 마크업 문서에 기록해둠으로써 사용자로부터의 키 입력 이벤트를 처리하는 방식을 사용하지 않고서도, ENAV 엔진(3)은 키 입력 이벤트가 발생하면, API 커멘트를 통해 대응하는 제어 명령을 디폴트로 AV 재생 엔진(4)으로 전달함으로써, 키 입력 이벤트를 처리할 수 있다.

본 발명에 따른 제2 이벤트는 API 커맨드를 통해 구현된다. API 커맨드 EnableRCKeyInput()는 인터랙티브 컨텐츠가 저장된 정보저장매체인 DVD(300)의 재생을 지원하기 위한 AV 재생 엔진(4)과 ENAV 엔진(3)의 인터페이스를 위한 API 커맨드로서 다음과 같이 정의된다.

[object].EnableRCKeyInput(x)

1. 요약

이 커맨드는 사용자 입력을 AV 재생 엔진(4)으로 전달하는 것을 금지하는 API로서, 본 실시예에서 [object]는 dvdVideo이다.

2. 파라미터(parameter)

x = 0: disable

x = 1: enable

3. 반환값(return value)

Number Name Description 0 OK Successful -1 GeneralError Unknown error condition

마크업 문서 내에 스크립트 언어로 기록된 제2 이벤트 정보를 통해 제2 이벤트, 즉 EnableRCKeyInput(0)이 발생하게 되면 사용자 입력은 ENAV 엔진(3)으로는 전달되지만, AV 재생 엔진(4)으로는 전달되는 것이 금지된다. 예를 들어, 인터랙티브 컨텐츠 제작자가 소정 사용자 입력에 따라 마크업 문서의 디스플레이만을 변경시키기 위해, 사용자 입력이 AV 재생 엔진(4)에의 전달을 금지하는 API 커맨드 EnableRCKeyInput(0)이 발생되도록 하는 제2 이벤트 정보가 기록된 마크업 문서를 제작하는 경우가 이에 해당된다.

다음은 제2 이벤트 정보가 기록된 마크업 문서의 일 예이다.

<?xml version ="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//DVD//DTD XHTML DVD-HTML 1.0//EN""http://www.dvdforum.org/envideo/dtd/dvdhtml-1-0.dtd"><html><head><title>Prevent Default</title><script type="text/javascript"> function RcKeyEventHandler(evt) { switch(evt.keyCode) { case 23 : evt.preventDefault(); case 24 : evt.preventDefault(); case 25 : evt.preventDefault(); case 26 : evt.preventDefault(); case 27 : evt.preventDefault(); } }</script><script type="text/javascript">function setupEventHandler(){// eventHandler is registered to bodyNode and Interactive ContentsbodyNode.addEventListener("rckeypress",RcKeyEventHandler,true);}</script></head> <body id=bodyNode" onload="setupEventHandler()".............................................................................</body></html>

위의 예에서와 같이 제2 이벤트 정보가 기록된 마크업 문서를 처리하는 AV 재생 엔진(4)은 디폴트 동작이 정의되어 있는 사용자 입력인 방향키(52,53,54,55)가 들어와도 그 동작을 취하지 않게 된다.

이와 같은 상태에서, 컨텐츠 제작자는 원하는 사용자 입력에 반응하는 ENAV 엔진(3)의 동작을 정의하는 제3 이벤트 정보를 더 추가할 수 있다.

제3 이벤트 정보는 사용자 입력이 곧바로 AV 재생 엔진(4)으로 전달될 경우라도 ENAV 엔진(3)은 사용자 입력을 전달받아 소정 동작을 취하도록 하기 위한 것이다. 다만, 도 7a 및 7b를 참조하여 후술하는 바와 같이, OK키(51)와 방향키(52,53,54,55) 이외에는 어떤 디폴트 동작도 정의하고 있지 않다. 따라서, 이 경우에는 OK키(51)와 방향키(52,53,54,55) 이외에 어떤 사용자 입력이 들어와도 ENAV 엔진(3)은 동작을 취하지 않는다. 그러나, 경우에 따라서 마크업 문서 제작자는 정의된 디폴트 동작을 수행하지 않도록 하기 위해 제3 이벤트 정보를 마크업 문서에 기록함으로써 사용자가 OK키(51)와 방향키(52,53,54,55)를 눌러도 포커스나 하이라이트 정보가 이동되지 않도록 할 수 있다.

도 7a 및 7b는 「미리 결정된 AV 재생 엔진(4) 및 ENAV 엔진(3)의 동작 정보」의 일 예를 보여준다.

「미리 결정된 AV 재생 엔진(4) 및 ENAV 엔진(3)의 동작 정보」는 사용자가 리모트 콘트롤러(400)에 마련된 키를 눌렀을 때 (즉, 사용자에 의해 키입력 이벤트 RCKeyEvent가 발생하였을 때) AV 재생 엔진(4)의 동작 및/또는 ENAV 엔진(3)의 동작을 정의한 것이다. 리모트 콘트롤러(400)에 마련된 키에 대응되도록 AV 재생 엔진(4) 및 ENAV 엔진(3)의 동작을 정의해 둠으로써, 통상 재생 장치 제작자와 컨텐츠 제작자가 별개로 존재할 가능성이 높은 상황에서도 「미리 결정된 AV 재생 엔진(4) 및 ENAV 엔진(3)의 동작 정보」에 따라 제작된 재생 장치와 컨텐츠는 상호 정합성이 높아지게 된다. 또한, 복수의 컨텐츠 제작자들이 존재하더라도 「미리 결정된 AV 재생 엔진(4) 및 ENAV 엔진(3)의 동작 정보」를 기초로 본 발명에 따른 사용자 입력 처리 방법을 사용하여 컨텐츠를 제작하면 AV 재생 엔진(4)과 정합되면서도, AV 컨텐츠와 마크업 컨텐츠를 보다 인터랙티브하게 제어할 수 있도록 제작할 수 있게 된다.

도 7a 및 7b에 따르면, ENAV 엔진(3)의 디폴트 동작은 대부분 정의되어 있지 않다. 인터랙티브 콘텐츠 제작자는 스크립트 언어를 사용하여 ENAV 엔진(3)으로 하여금 원하는 동작을 수행하도록 마크업 문서를 제작할 수 있다. "keyCode" 속성은 사용자가 누른 키에 미리 정해진 키코드를 가리키며, "keyName"은 눌려진 키의 이름을 가리킨다. AV 재생 엔진(4)의 동작 설명은 DVD-video Specifications for Read Only Disc/Part 3. Video Specifications Version 1.0을 기초로 기술된 것이다.

한편, 주1), 주2), 주3), 주4), 주5), 주6), 주7), 및 주8)에 대한 설명은 다음과 같다.

주1) - ENAV 엔진(3)에서 디폴트(default) 동작이 설정되어 있지 않는 키에 대해서는 그 "keyCode" 또는 "keyName"을 마크업 문서에서 "accesskey" 속성값으로 사용함으로써 특정 엘리먼트를 직접 포커싱할 수 있는 접속키로 사용할 수 있다.

주2) - 기본적으로 Screen 키(48)에 대해서는 ENAV 엔진(3)의 디폴트 동작이 정의되어 있지 않으나, 인터랙티브 모드(매립 모드)에서 풀 스크린 모드를 지원하기 위한 스크립트 코드가 기록된 마크업 문서를 제작한 경우 다음과 같은 동작이 정의된다.

[object].FullScreen(x)

1. 요약

DVD-Video를 매립 모드나 풀스크린 모드로 세팅한다. 본 실시예에서 오브젝트 [object]는 dvdVideo이다.

2. 파라미터(parameter)

x = 0: 매립 모드로 세팅

x = 1: 풀스크린 모드로 세팅

3. 반환값(return value)

Number Name Description 0 OK Successful -1 General error Unknown error condition

주3) - 마크업 문서의 엘리먼트 중 DVD-Video를 매립하고 있는 오브젝트 엘리먼트로 포커스를 이동하고 DVD-Video를 네비게이션할 수 있는 상태로 전환한다. 다시 말해, 도 2의 방향키(52, 53, 54, 55)들을 사용하여 하이라이트 정보를 이동시키고 OK키(51)를 사용하여 해당 메뉴를 선택하거나 DVD 재생 제어 키들을 사용하여 DVD-Video를 네비게이션할 수 있다. DVD-Video를 네비게이션하는 방법의 일 예는 본 출원인이 2002년 6월 27일자로 출원한 한국 특허출원 제02-37515호 「인터랙티브 모드에서의 포커싱 방법, 그 장치 및 정보저장매체」에 상세히 기술되어 있다.

이미 DVD-Video를 네비게이션하고 있는 상태이면 이전에 포커싱된 마크업 문서의 엘리먼트로 포커싱을 이동한다.

주4) - Play/Pause 키(60)는 DVD-video의 재생 및 일시정지를 함께 수행하기 위해 다음과 같은 알고리즘에 의한다. AV 재생 엔진(4)의 동작 상태, 즉 DVD-Video의 재생 상태가 정지(stop)이면 DVD-video의 첫 번째 재생 프로그램 체인(First Play PGC)을 재생하고, 재생 상태가 재생 중(play)이면 Pause_On()을 수행하며, 재생 상태가 일시정지(pause)이면 Pause_Off()를 한다. Pause_On()과 Pause_Off()는 DVD-video Specifications for Read Only Disc/Part 3. Video Specifications Version 1.0에 정의된 사용자 동작 기능(User Operation function) 중의 하나이다.

주5) - 현재 PTT(Part of Title) number에서 이전 PTT number로 이동하여 재생하는 기능을 제공한다. 동일한 타이틀 내에서 현재(current) PTT number보다 1 작은 PTT number가 존재하지 없으면 현재 타이틀의 이전 타이틀에 존재하는 마지막 PTT number를 재생하게 된다. 타이틀 번호가 가장 작은 타이틀의 첫 번째 PTT number에서는 타이틀 번호가 가장 큰 타이틀의 마지막 PTT number로 이동하여 재생한다. PTT number에 대한 상세한 설명은 DVD-Video Specifications for Read Only Disc/Part 3. Video Specifications Version 1.0에 기술되어 있다.

주6) - 현재 PTT number에서 다음 PTT number로 이동하여 재생하는 기능을 제공한다. 동일한 타이틀 내에서 현재 PTT number보다 1큰 PTT number가 존재하지 않으면 현재 타이틀의 다음 타이틀에 존재하는 첫 번째 PTT number를 재생하게 된다. 타이틀 번호가 가장 큰 타이틀의 마지막 PTT number에서는 타이틀 번호가 가장 작은 타이틀의 첫 번째 PTT number로 이동하여 재생한다.

주7) - 서브 픽처(sub picture) 전환을 수행한다. 기본적으로, 서브 픽처는 화면에 표시하지 않는 것이 디폴트로 설정되어 있다. 따라서, 화면에 서브 픽처를 표시하고자 할 경우 사용자는 서브 픽처를 표시하도록 재생장치(200)의 설정을 바꾸어주어야 한다. 서브 픽처가 표시되도록 설정을 바꿔주면, 재생장치(200)에 설정된 0 에서 31 중 어느 하나의 서브 픽처 스트림 번호를 갖는 특정 서브 픽처 스트림이 표시된다. 사용자가 Subtitle 키(63)를 누를 때마다 특정 서브 픽처 스트림 번호에 1을 더한 서브 픽처 스트림 번호를 갖는 서브 픽처 스트림이 표시된다. 단, 마지막 서브 픽처 스트림 번호 다음에는 다시 0번 스트림 번호로 전환된다. 서브 픽처 전환에 관한 상세한 설명은 DVD-Video Specifications for Read Only Disc/Part 3. Video Specifications Version 1.0에 기술되어 있다.

주8) - 앵글 전환을 수행한다. 앵글 번호 1로 디스플레이되는 것이 디폴트이고, 사용자가 Angle 키(64)를 눌러 앵글을 전환할 때마다 앵글 번호에 1을 더한 앵글 번호가 표시된다. 마지막 앵글 번호에서 다시 Angle 키(64)를 누르면 다시 앵글 번호 1이 된다. 앵글 전환에 관한 상세한 설명은 DVD-Video Specifications for Read Only Disc/Part 3. Video Specifications Version 1.0에 기술되어 있다.

주9) - 오디오 전환이 수행된다. 기본적으로, 오디오 스트림은 포함되어 있지 않거나 선택되어 있지 않는 것이 디폴트이다. 오디오 스트림이 선택된 후에는 Audio 키(62)를 누를 때마다 오디오 스트림 번호에 1을 더한 번호를 갖는 오디오 스트림이 표시된다. 마지막 오디오 스트림 번호에서 다시 Audio 키(62)를 누르면 다시 오디오 스트림 번호 1이 된다. 오디오 스트림 전환에 관한 상세한 설명은 DVD-video Specifications for Read Only Disc/Part 3. Video Specifications Version 1.0에 기술되어 있다.

다음 표는 RCKeyEvent의 키들의 동작을 정의한 것이다.

interface RCKeyEvent : UIEvent {const unsigned long VK_0 = 0; // keyCode is "0", keyName is "0"const unsigned long VK_1 = 1; // "1"const unsigned long VK_2 = 2; // "2"const unsigned long VK_3 = 3; // "3"const unsigned long VK_4 = 4; // "4"const unsigned long VK_5 = 5; // "5"const unsigned long VK_6 = 6; // "6"const unsigned long VK_7 = 7; // "7"const unsigned long VK_8 = 8; // "8"const unsigned long VK_9 = 9; // "9"const unsigned long VK_A = 10; // keyCode is "10", keyName is "A"const unsigned long VK_B = 11; // "B"const unsigned long VK_PLAY_PAUSE = 12; // "PlayPause"const unsigned long VK_STOP = 13; // "Stop"const unsigned long VK_FF= 14; // "FastForward"const unsigned long VK_FR= 15; // "FastRewind"const unsigned long VK_SKIP_PREV = 16; // "Prev"const unsigned long VK_SKIP_NEXT = 17; // "Next"const unsigned long VK_SUBTITLE = 18; // "Subtitle"const unsigned long VK_ANGLE = 19; // "Angle"const unsigned long VK_AUDIO = 20; // "Audio"(계속)

const unsigned long VK_ROOTMENU = 21; // "RootMenu"const unsigned long VK_TITLEMENU = 22; // "TitleMenu"const unsigned long VK_UP = 23; // "Up"const unsigned long VK_LEFT = 24; // "Left"const unsigned long VK_RIGHT = 25; // "Right"const unsigned long VK_DOWN = 26; // "Down"const unsigned long VK_OK = 27; // "OK"const unsigned long VK_RETURN = 28; // "Return"const unsigned long VK_EXIT = 29; // "Exit"const unsigned long VK_CONTENT_INFO = 30; // "Content"const unsigned long VK_SCREEN_MODE = 31; // "Screen"const unsigned long VK_FOCUS_CHANGE = 32; // "FocusChange"readonly attribute unsigned long keyCode;readonly attribute DOMString keyName;void initRCKeyEvent (in DOMString typeArg,in boolean canBubbleArg,in boolean cancelableArg,in unsigned long keyCode,in unsigned long keyName);

상기의 구성을 바탕으로, 본 발명의 바람직한 실시예에 따라, 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하면 다음과 같다.

도 7은 본 발명의 일 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트이다.

도 7을 참조하면, 마크업 문서에 기록된 제1 이벤트 정보를 통해 제1 이벤트로서 키 입력 이벤트가 발생하거나 사용자가 리모트 컨트롤러(400)의 소정 키를 눌러 키 입력 이벤트가 발생되면(701단계), 이는 ENAV 엔진(3)을 통해 AV 재생 엔진(4)으로 전달된다(702단계). ENAV 엔진(3)은 제2 이벤트가 발생하면(703단계), 앞으로의 사용자 입력이 직접 AV 재생 엔진(4)으로 전달되는 것을 금지한다(704단계).

한편, ENAV 엔진(3)은 사용자 입력이 마크업 문서에 기록된 제2 이벤트 정보에 매칭되어 그에 따른 제2 이벤트가 발생되면(703단계), 상응하는 재생 제어 명령을 AV 재생 엔진(4)으로 전달한다(704단계).

도 8은 본 발명의 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트이다.

도 8을 참조하면, 마크업 문서에 기록된 제1 이벤트 정보를 통해 제1 이벤트로서 키 입력 이벤트가 발생하거나 사용자가 리모트 컨트롤러(400)의 소정 키를 눌러 키 입력 이벤트가 발생되면(801단계), 이는 ENAV 엔진(3)을 통해 AV 재생 엔진(4)으로 전달된다(802단계). 또한, ENAV 엔진(3)은 제3 이벤트가 발생되면(803단계), 제3 이벤트에 대해 미리 정해진 동작을 수행한다(804단계).

도 9는 본 발명의 또 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트이다.

도 9를 참조하면, 사용자가 리모트 콘트롤러(400)의 소정 키를 누르면(901단계), 키 입력 이벤트가 발생하고(902단계), ENAV 엔진(3)의 인터페이스 핸들러(35)는 발생된 키 입력 이벤트에 상응하는 재생 제어 명령을 AV 재생 엔진(4)으로 전달함에 의해 키 입력 이벤트를 처리한다(903단계).

도 10은 본 발명의 또 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트이다.

도 10을 참조하면, 사용자가 리모트 컨트롤러(400)의 소정 키를 누르면(1001단계), 키 입력 이벤트는 ENAV 엔진(3)의 인터페이스 핸들러(35)로 전달되고, ENAV 엔진(3)의 인터페이스 핸들러(35)는 키 입력 이벤트를 AV 재생 엔진(4)으로 전달한다(1002단계). 이에, AV 재생 엔진(4)은 해당 동작을 수행한다(1003단계). 예를 들어, 사용자가 fastforward 키(61)를 누르면 도 6a 및 6b에 정의되어 있는 「미리 결정된 ENAV 엔진(3) 및 AV 재생 엔진(4)의 동작 정보」에 따라 AV 재생 엔진(4)은 FORWARD_SCAN(SPEED)을 수행한다.

도 11은 본 발명의 또 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트이다.

도 11을 참조하면, 사용자가 마크업 문서에 마련된 버튼을 클릭하여(1101단계), 온클릭 이벤트가 발생되면(1102단계), ENAV 엔진(3)의 인터페이스 핸들러(35)는 온클릭 이벤트에 상응하는 재생 제어 명령을 AV 재생 엔진(4)으로 전달함에 의해 온클릭 이벤트를 처리한다(1103단계).

한편, 전술한 인터랙티브 모드에서 사용자 입력 처리 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 인터랙티브 모드에서 사용자 입력 처리 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.

전술한 바와 같이, 본 발명에 따르면 인터랙티브 모드에서 제한된 사용자 입력장치로도 효과적으로 인터랙티브 컨텐츠를 제어할 수 있는 방법, 그 장치 및 그 정보저장매체가 제공된다. 이에 따르면, 사용자 입력이 ENAV 엔진으로 전달된 다음 필요에 따라 ENAV 엔진이 대응 재생 제어 명령을 AV 재생 엔진으로 전달하거나 사용자 입력이 ENAV 엔진을 통하지 않고 직접 AV 재생 엔진으로 전달되도록 함으로써 인터랙티브 모드에서 마크업 컨텐츠와 AV 컨텐츠를 인터랙티브하게 제어할 수 있게 된다.

다시 말해, 종래 마크업 문서를 해석하고 디스플레이하는 마크업 문서 뷰어(예: 브라우저)가 사용하는 사용자 입력에 관한 방식 및 정의를 활용하면서도 인터랙티브 모드에서 사용자 입력을 적절히 처리해 줄 수 있게 된다. 이에, 인터랙티브 모드에서도 사용자는 키입력의 혼동없이 편리하게 인터랙티브 화면(마크업 화면 및 AV 화면)을 네비게이션하거나 인터랙티브 화면에 표시된(마크업 문서에 포함된) 오브젝트를 제어할 수 있게 된다.

도 1은 본 발명의 바람직한 실시예에 따른 재생 시스템의 개요도,

도 2는 리모트 콘트롤러(400)의 일 예,

도 3은 본 발명의 바람직한 실시예에 따른 재생 장치(200)의 블록도,

도 4는 본 발명에 따른 ENAV 엔진(5)의 동작을 보다 상세히 설명하기 위한 도 3의 부분 상세 블록도,

도 5는 인터랙티브 화면의 일 예,

도 6a 및 6b는 「미리 결정된 ENAV 엔진(5) 및 AV 재생 엔진(4)의 동작 정보」의 일 구현예,

도 7은 본 발명의 일 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트,

도 8은 본 발명의 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트,

도 9는 본 발명의 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트,

도 10은 본 발명의 또 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트,

도 11은 본 발명의 또 다른 실시예에 따라 인터랙티브 모드에서 사용자 입력을 처리하는 방법을 설명하기 위한 플로우챠트이다.

Claims (11)

  1. AV 데이터; 및
    상기 AV 데이터를 인터랙티브 모드로 재생하기 위해 필요한 적어도 하나의 마크업 문서를 포함하고,
    상기 마크업 문서에는 사용자로부터의 키 입력 이벤트가 디폴트로 AV 데이터를 재생하는 AV 재생 엔진으로 전달될 것을 요구하는 제1 이벤트 정보가 기록되어 있는 것을 특징으로 하는 정보저장매체.
  2. 제1항에 있어서,
    상기 제1 이벤트 정보는 사용자에 의해 이벤트가 발생되었는지 여부를 검사하기 위한 이벤트 등록 정보 및 키입력 이벤트가 발생되었을 때 AV 재생 엔진의 동작을 제어함에 의해 상기 이벤트를 처리하기 위한 이벤트 처리 정보를 포함하는 것을 특징으로 하는 정보저장매체.
  3. 제2항에 있어서,
    상기 이벤트 등록 정보는 상기 마크업 언어에 정의된 온클릭 이벤트를 사용하여 기록되고, 상기 이벤트 처리 정보는 상기 온클릭 이벤트에 응답하여 상기 AV 재생 엔진으로 하여금 대응 동작을 수행하게 하는 함수에 의해 구현됨을 특징으로 하는 정보저장매체.
  4. 제2항에 있어서,
    상기 이벤트 등록 정보는 키입력 이벤트의 발생 여부를 검사하기 위한 키입력 이벤트 리스너(listener)를 사용하여 기록되고, 상기 이벤트 처리 정보는 상기 AV 재생 엔진의 동작을 제어하기 위한 키입력 이벤트 핸들러를 사용하여 기록됨을 특징으로 하는 정보저장매체.
  5. 제1항에 있어서,
    상기 키 입력 이벤트는 상기 마크업 문서를 해석하여 실행하는 ENAV 엔진을 경유하여 상기 AV 재생 엔진으로 전달되는 것을 특징으로 하는 정보저장매체.
  6. 제1항에 있어서,
    상기 키 입력 이벤트는 상기 마크업 문서를 해석하여 실행하는 ENAV 엔진에 구비된 인터페이스 핸드러를 경유하여 상기 AV 재생 엔진으로 전달되는 것을 특징으로 하는 정보저장매체.
  7. 제6항에 있어서,
    상기 인터페이스 핸들러는 상기 키 입력 이벤트에 대응되도록 미리 정의된 상기 AV 재생 엔진의 동작을 수행시키기 위한 재생 제어 명령을 전달함을 특징으로 하는 정보저장매체.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 제1 이벤트 정보는 스크립트 언어 및 마크업 언어 중 적어도 하나를 사용하여 기록됨을 특징으로 하는 정보저장매체.
  9. 제8항에 있어서,
    상기 제1 이벤트 정보는 자바 스크립트 및 XML 중 적어도 하나를 사용하여 기록됨을 특징으로 하는 정보저장매체.
  10. 제1항에 있어서,
    상기 마크업 문서에는
    상기 키 입력 이벤트를 상기 AV 데이터를 디코딩하는 AV 재생 엔진으로 전달하는 것을 금지하는 제2 이벤트 정보가 기록됨을 특징으로 하는 정보저장매체.
  11. 제10항에 있어서,
    상기 제2 이벤트 정보는 API를 사용하여 기록됨을 특징으로 하는 정보저장매체.
KR20030057991A 2002-08-26 2003-08-21 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체 KR100517506B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020020050524 2002-08-26
KR20020050524 2002-08-26
KR1020020073476 2002-11-25
KR20020073476 2002-11-25

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
TW92123380A TWI234392B (en) 2002-08-26 2003-08-26 Apparatus for reproducing AV data in interactive mode, method of handling user input, and information storage medium
MYPI20033214 MY140344A (en) 2002-08-26 2003-08-26 Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor
US10/647,440 US20040114914A1 (en) 2002-08-26 2003-08-26 Apparatus for reproducing AV data in interactive mode, method of handling user input, and information storage medium therefor
JP2005501238A JP4290695B2 (ja) 2002-08-26 2003-08-26 インタラクティブモードでavデータを再生する装置、そのユーザ入力処理方法及びその情報保存媒体
PL03374881A PL374881A1 (xx) 2002-08-26 2003-08-26 Urządzenie do odtwarzania danych audiowizualnych w trybie interakcyjnym, sposób obsługiwania wejścia użytkownika i służący do tego pamięciowy nośnik informacji
AU2003253468A AU2003253468A1 (en) 2002-08-26 2003-08-26 Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor
BR0313688A BR0313688A (pt) 2002-08-26 2003-08-26 Mìdia de armazenamento de informações, método de processamento de uma entrada de usuário em um modo interativo em que dados de av são reproduzidos com um documento de marcação, aparelho para reprodução de dados de av em um modo interativo, dispositivo de reprodução, e método de processamento de uma entrada de usuário em um modo interativo
CA 2494560 CA2494560A1 (en) 2002-08-26 2003-08-26 Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor
MXPA05002034A MXPA05002034A (es) 2002-08-26 2003-08-26 Aparato que reproduce datos av en modo interactivo, metodo de manipulacion de entrada de ususario y medio de almacenamiento de informacion para el mismo.
EP03792876A EP1540647A4 (en) 2002-08-26 2003-08-26 Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor
CN 03820056 CN1679105B (zh) 2002-08-26 2003-08-26 以交互模式再现av数据的装置以及处理用户输入的方法
US10/647,445 US7962015B2 (en) 2002-08-26 2003-08-26 Apparatus for reproducing AV data in interactive mode, method of handling user input, and information storage medium therefor
US10/647,443 US20040114915A1 (en) 2002-08-26 2003-08-26 Apparatus for reproducing AV data in interactive mode, method of handling user input, and information storage medium therefor
PCT/KR2003/001724 WO2004019318A2 (en) 2002-08-26 2003-08-26 Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR20030058786A Division KR100509504B1 (ko) 2002-08-26 2003-08-25 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체
KR20030058787A Division KR100509505B1 (ko) 2002-08-26 2003-08-25 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체

Publications (2)

Publication Number Publication Date
KR20040018934A KR20040018934A (ko) 2004-03-04
KR100517506B1 true KR100517506B1 (ko) 2005-09-28

Family

ID=35847718

Family Applications (3)

Application Number Title Priority Date Filing Date
KR20030057991A KR100517506B1 (ko) 2002-08-26 2003-08-21 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체
KR20030058786A KR100509504B1 (ko) 2002-08-26 2003-08-25 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체
KR20030058787A KR100509505B1 (ko) 2002-08-26 2003-08-25 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR20030058786A KR100509504B1 (ko) 2002-08-26 2003-08-25 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체
KR20030058787A KR100509505B1 (ko) 2002-08-26 2003-08-25 인터랙티브 모드로 av 데이터를 재생하는 장치, 그사용자 입력 처리 방법 및 그 정보저장매체

Country Status (3)

Country Link
KR (3) KR100517506B1 (ko)
MY (1) MY140344A (ko)
RU (1) RU2298844C2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004019318A2 (en) 2002-08-26 2004-03-04 Samsung Electronics Co., Ltd. Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor
KR100636141B1 (ko) * 2004-04-30 2006-10-18 삼성전자주식회사 프로그래밍 기능을 가진 어플리케이션을 기록한 저장매체, 재생 장치 및 그 재생 방법
KR100765756B1 (ko) * 2005-08-16 2007-10-15 삼성전자주식회사 버튼에 대한 사용자 조작 정보를 포함하는 저장 매체, 그재생장치 및 그 재생방법
KR100990531B1 (ko) 2009-06-23 2010-10-29 동서대학교산학협력단 다중입력장치 호환성을 제공하는 클래스 구현 방법

Also Published As

Publication number Publication date
MY140344A (en) 2009-12-31
KR100509504B1 (ko) 2005-08-22
RU2298844C2 (ru) 2007-05-10
KR100509505B1 (ko) 2005-08-22
RU2005105323A (ru) 2005-09-10
KR20040018961A (ko) 2004-03-04
KR20040018960A (ko) 2004-03-04
KR20040018934A (ko) 2004-03-04

Similar Documents

Publication Publication Date Title
CN100338564C (zh) 显示控制设备、显示控制方法以及记录介质
US9170700B2 (en) Playing and editing linked and annotated audiovisual works
US7830570B2 (en) Device and method for edition of moving picture data
CA2241346C (en) Information record medium, and information reproducing apparatus and method
US7821881B2 (en) Reproduction device, reproduction method, reproduction program, and recording medium
US20070092205A1 (en) Information playback system using information storage medium
US20060184980A1 (en) Method of enabling an application program running on an electronic device to provide media manipulation capabilities
US20060136246A1 (en) Hierarchical program guide
CN100354855C (zh) 不访问原始原材料的交互式介质创作方法
US8090240B2 (en) Moving picture data edition device and moving picture data edition method
TWI239514B (en) Optical disk apparatus and optical disk processing method and optical disc
US7925138B2 (en) Information storage medium, information reproducing apparatus, and information reproducing method
KR100788655B1 (ko) 스타일 정보를 포함하는 텍스트 기반의 서브 타이틀데이터가 기록된 저장 매체, 재생 장치 및 그 재생 방법
US20110033169A1 (en) Information reproducing system using information storage medium
CA2409083C (en) Method and apparatus for reproducing contents from information storage medium in interactive mode
KR100511785B1 (ko) 멀티미디어 컨텐츠 기술 메타데이터 저작 시스템 및 저작방법
JP2007501486A (ja) テキスト字幕をダウンロードするための情報を保存する情報記録媒体、字幕再生方法及びその装置
US20040001706A1 (en) Method and apparatus for moving focus for navigation in interactive mode
EP1531475A2 (en) Reproducing apparatus and reproducing method
US8208788B2 (en) Information storage medium, information reproducing apparatus, and information reproducing method
US20040247292A1 (en) Reproducing method and apparatus for interactive mode using markup documents
KR100491399B1 (ko) 디지털 정보 매체를 이용하는 향상된 내비게이션 시스템
JP4677400B2 (ja) ユーザーのプロファイリングに基づくビデオ用言語のフィルタリング
CN1700329B (zh) 再现装置、再现方法、再现程序和记录介质
US20020194618A1 (en) Video reproduction apparatus, video reproduction method, video reproduction program, and package media for digital video content

Legal Events

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

Payment date: 20120830

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee