KR101265890B1 - 대화형 멀티미디어 프레젠테이션 관리의 동기 특징 - Google Patents

대화형 멀티미디어 프레젠테이션 관리의 동기 특징 Download PDF

Info

Publication number
KR101265890B1
KR101265890B1 KR1020077030578A KR20077030578A KR101265890B1 KR 101265890 B1 KR101265890 B1 KR 101265890B1 KR 1020077030578 A KR1020077030578 A KR 1020077030578A KR 20077030578 A KR20077030578 A KR 20077030578A KR 101265890 B1 KR101265890 B1 KR 101265890B1
Authority
KR
South Korea
Prior art keywords
timing signal
time
presentation
application
video
Prior art date
Application number
KR1020077030578A
Other languages
English (en)
Other versions
KR20080021073A (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 KR20080021073A publication Critical patent/KR20080021073A/ko
Application granted granted Critical
Publication of KR101265890B1 publication Critical patent/KR101265890B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • 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/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • 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/32Indexing; 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 separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; 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 separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • 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/2579HD-DVDs [high definition DVDs]; AODs [advanced optical discs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

대화형 멀티미디어 프레젠테이션(120/127)은 프레젠테이션 재생 지속시간, 비디오 컨텐츠 컴포넌트(122)(비디오, 오디오, 데이터, 또는 이들의 임의의 조합을 포함할 수 있음), 및 대화형 컨텐츠 컴포넌트(124)를 가진다. 이 프레젠테이션을 재생하기 위한 방법 및 시스템은 특정 미디어 개체(125)가 렌더링 가능한 시간을 지정하는 것을 포함한다. 이 시간은 프레젠테이션의 재생 속도(480)에 기초하는 속도를 가지는 제1 타이밍 신호(471), 또는 지속적인 속도를 가지는 제2 타이밍 신호(401) 중 하나를 참조하는 애플리케이션 명령어를 이용하여 지정될 수 있다. 상술한 바와 같이 이용가능한 애플리케이션 명령어의 일례는 XML 데이터 구조와 관련되는 요소를 포함한다. 클록 속성 등의 요소의 속성은 이들 타이밍 신호 중 하나를 참조하는 요소에 대한 시간 값들을 제공하는 데에 이용될 수 있다. 이 속성은 비디오(122)와 프레젠테이션의 대화형 컨텐츠 컴포넌트(124) 간의 정확한 프레임 단위 동기화를 유지하는 데에 이용된다.
대화형 멀티미디어 프레젠테이션, 대화형 컨텐츠, 비디오 컨텐츠

Description

대화형 멀티미디어 프레젠테이션 관리의 동기 특징{SYNCHRONIZATION ASPECTS OF INTERACTIVE MULTIMEDIA PRESENTATION MANAGEMENT}
본 출원은 2005년 7월 1일 출원된 미국 가특허출원 제60/695,944호에 대해 우선권을 주장하고, 상기 가출원을 본 명세서에 참조로서 포함시킨다.
멀티미디어 플레이어는 사용자가 쓰기 위한 비디오, 오디오 또는 데이터 컨텐츠의 조합(combination)("멀티미디어 프레젠테이션")을 렌더링하는 장치이다. 현재 DVD 플레이어와 같은 멀티미디어 플레이어에서는, 비디오 컨텐츠를 재생하는 동안 사용자 대화성(user interactivity)이 제공된다 할지라도 그 정도가 미미한 실정이다 - 일반적으로 재생 속도를 조절하는 것 이외의 사용자 입력을 수신하기 위해서는 비디오 컨텐츠 재생이 중단(interrupt)된다. 예를 들어, 일반적으로 DVD 플레이어의 사용자는 오디오 코멘터리, 배우 기록, 또는 게임과 같은 피처(feature)를 선택 및 수신하도록 하는 옵션들을 포함하는 메뉴로 돌아가기 위해 재생 중인 영화를 멈추어야만 한다.
대화형(interactive) 멀티미디어 플레이어는 전통적인 비디오, 오디오 또는 데이터 컨텐츠와 병존하는 대화형 컨텐츠와의 조합("대화형 멀티미디어 프레젠테이션")을 렌더링하는 장치(하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있음)이다. 임의의 유형의 장치가 대화형 멀티미디어 플레이어일 수 있으나, 광 미디어 플레이어(예컨대, DVD 플레이어), 컴퓨터 및 기타 전자 장치와 같은 장치가 많은 양의 비교적 값싸고 이동 가능한 데이터 저장소로의 액세스를 제공하기 때문에, 상업적으로 가치있는 대화형 멀티미디어 프레젠테이션의 생성 및 그에 대한 소비자 수요를 가능하게 하는데 특히 적합하다.
일반적으로 대화형 컨텐츠로는, 단독으로 또는 다른 비디오, 오디오 또는 데이터 컨텐츠와 함께 제공될 수 있는 사용자가 선택 가능한(user-selectable) 가시의(visible) 또는 가청의(audible) 객체라면 어느 것도 그 대상이 될 수 있다. 가시의 객체의 한 종류는, 비디오 컨텐츠 내의 어떠한 것들(예컨대 영화에 나타나는 사람, 차 또는 건물)을 식별하거나 따르는데 사용될 수 있는 원과 같은 도형 객체(graphical object)이다. 가청의 객체의 한 종류는 리모트 컨트롤이나 마우스와 같은 장치를 사용하여 원과 같은 가시의 객체를 사용자가 선택하였음을 가리키도록 재생되는 클릭 소리이다. 대화형 컨텐츠의 다른 예에는 메뉴, 캡션 및 애니메이션이 포함되나, 이에 한정되지는 않는다.
대화형 멀티미디어 플레이어와 대화형 멀티미디어 프레젠테이션에 대한 투자를 강화하기 위해, 대화형 멀티미디어 프레젠테이션의 대화형 컨텐츠 컴포넌트와 그러한 프레젠테이션의 전통적인 비디오, 오디오 또는 데이터 컨텐츠와의 정확한 동기를 보장하는 것이 바람직하다. 정확한 동기는 일반적으로 비디오, 오디오 또는 데이터 컨텐츠 컴포넌트의 예측가능하고 글리치 없는(glitch-free) 재생을 우선시킨다. 예를 들어, 영화에서 원이 차 주변에 제공되면, 일반적으로 영화는 원이 그려지기를 기다리도록 멈추지 않고, 원은 차가 움직임에 따라 차를 따라가야 한 다.
본원에서의 청구 대상은 특정의 대화형 멀티미디어 프레젠테이션 시스템이나 그 특징들의 단점들의 일부 또는 전체를 해결하는 구현예에 한정되지 않음을 알 것이다.
일반적으로, 대화형 멀티미디어 프레젠테이션은 소정의 프레젠테이션 재생 지속시간, 비디오 컨텐츠 컴포넌트 및 대화형 컨텐츠 컴포넌트 중 하나 이상을 포함한다. 비디오 컨텐츠 컴포넌트는 예시의 목적으로 영화로서 지칭되나, 실제로 비디오, 오디오, 데이터, 또는 이들의 임의의 조합일 수 있다. 비디오 컨텐츠 컴포넌트는 비디오 컨텐츠 관리자에 의한 렌더링(rendering)을 위해 다수의 프레임 및/또는 샘플로 배치된다. 비디오 컨텐츠 관리자는 클록 신호와 같은 타이밍 신호에 기초한 속도로 (광 매체 또는 기타 소스와 같은) 하나 이상의 소스로부터 비디오 데이터(비디오, 오디오 또는 데이터 샘플, 또는 이들의 조합)를 수신한다. 타이밍 신호의 속도는 비디오 컨텐츠의 재생 속도에 기초하여 변한다(예를 들어, 영화는 멈춤, 느리게 감기, 빠르게 감기, 느리게 되감기, 또는 빠르게 되감기 될 수 있다).
대화형 컨텐츠는 연속적인 클록 신호와 같은 타이밍 신호에 기초한 속도로 대화형 컨텐츠 관리자에 의한 렌더링을 위해 배치된다. 프레젠테이션의 대화형 컨텐츠 컴포넌트는 하나 이상의 애플리케이션의 형태이다. 애플리케이션은 선언문(declarative) 형태나 스크립트 형태의 명령어를 포함한다. 선언문 형태의 한 유형은 확장성 생성 언어(extensible markup language: "XML")를 포함한다.
본원에 기술된 방법, 시스템, 장치, 및 제품들은 애플리케이션 명령어를 이용하여 특정 미디어 객체가 렌더링 가능한 시간, 또는 시간 간격을 지정하게 한다. 이 시간, 또는 시간 간격은, (비디오 컨텐츠 관리자에 의해 이용되는 타이밍 신호 등의) 대화형 멀티미디어 프레젠테이션의 재생 속도에 기초한 속도를 갖는 제1 타이밍 신호를 참조하거나, (대화형 컨텐츠 관리자에 의해 이용되는 타이밍 신호 등의) 연속적인 소정의 속도를 가지는 제2 타이밍 신호를 참조하여 특정가능하다.
상술한 바와 같이 이용가능한 애플리케이션 명령어의 일례로는 XML 데이터 구조와 관련된 마크업 요소를 들 수 있다. XML 데이터 구조의 예는 타이밍 문서나 컨테이너(container) 또는 기타 유형의 문서나 컨테이너이다. 마크업 요소의 특정 신택스 또는 이용 컨텍스트에 의해 정의된 마크업 요소의 속성은 제1 또는 제2 타이밍 신호 중 하나에 기초하여 시간을 지정하는 데에 이용될 수 있다. 예시적인 속성은 HD DVD(high-definition DVD) 영화에 관련된 애플리케이션에 이용되는 하나 이상의 XML 방식에 의해 지정되는 '클록' 속성이다.
이상의 설명은 단순화된 형태로 개념을 발췌하여 소개하기 위해 제공된다. 개념은 실시예 부분에서 더 설명된다. 이상에서 설명된 것 이외의 구성요소들 또는 단계들이 가능하며, 어떠한 구성요소나 단계도 반드시 요구되는 것은 아니다. 이상의 설명은 청구 대상의 핵심적인 특징이나 본질적인 특징을 식별하려는 의도가 아니며, 청구 대상의 범위를 결정하는데 도움으로서 사용하려는 의도도 아니다.
도 1은 대화형 멀티미디어 프레젠테이션 시스템의 단순화된 기능 블록도.
도 2는 도 1에 도시된 플레이리스트로부터 확인할 수 있는 예시적인 프레젠테이션 타임라인을 도시한 도면.
도 3은 도 1에 도시된 대화형 멀티미디어 프레젠테이션과 연관된 애플리케이션의 단순화된 기능 블록도.
도 4는 도 1의 타이밍 신호 관리 블록을 더 상세히 도시한 단순화된 기능 블록도.
도 5는 도 4에 도시된 소정의 시간 기준의 값에 관한 예시적인 사건의 효과를 연속적인 타이밍 신호에 대하여 나타내는 개략도.
도 6은 도 2에 도시된 소정의 시간 간격을 기준으로, 도 1에 도시된 대화형 멀티미디어 프레젠테이션의 총 경과 재생 시간을 결정하는 방법의 흐름도.
도 7은 대화형 멀티미디어 프레젠테이션을 재생하기 위해 도 4에 도시된 타이밍 신호 관리 블록의 소정의 특징을 사용하는 방법의 흐름도.
도 8은 도 1에 도시된 대화형 멀티미디어 프레젠테이션 시스템의 특징과 관련하여 사용가능한 범용 컴퓨팅 유닛의 단순화된 기능 블록도.
도 9는 도 1에 도시된 대화형 멀티미디어 프레젠테이션 시스템이 구현되거나 사용될 수 있는 운영 환경의 예시적인 구성의 단순화된 기능 블록도.
도 10은 도 1에 도시된 대화형 멀티미디어 프레젠테이션 시스템이 구현되거나 사용될 수 있는 클라이언트-서버 아키텍처의 단순화된 기능도.
동일한 부호가 동일한 컴포넌트를 가리키는 도면으로 돌아가서, 도 1은 대화형 멀티미디어 프레젠테이션 시스템("프레젠테이션 시스템")(100)의 단순화된 기능 블록도이다. 프레젠테이션 시스템(100)은 오디오/비디오 컨텐츠("AVC") 관리자(102), 대화형 컨텐츠("IC") 관리자(104), 프레젠테이션 관리자(106), 타이밍 신호 관리 블록(108) 및 믹서/렌더러(110)를 포함한다. 일반적으로, 설계 선택이 프레젠테이션 시스템(100)의 구체적인 기능이 어떻게 구현될지를 지시한다. 그러한 기능은 하드웨어, 소프트웨어 또는 펌웨어, 또는 이들의 조합을 사용하여 구현될 수 있다.
동작시, 프레젠테이션 시스템(100)은 대화형 멀티미디어 프레젠테이션 컨텐츠("프레젠테이션 컨텐츠")(120)를 처리한다. 프레젠테이션 컨텐츠(120)는 비디오 컨텐츠 컴포넌트("비디오 컴포넌트")(122) 및 대화형 컨텐츠 컴포넌트("IC 컴포넌트")(124)를 포함한다. 일반적으로 비디오 컴포넌트(122)와 IC 컴포넌트(124)는 각각 AVC 관리자(102)와 IC 관리자(104)에 의해 별개의 데이터 스트림으로서 처리되나, 그러할 필요는 없다.
또한, 프레젠테이션 시스템(100)은 재생된 프레젠테이션(played presentation)(127)으로서의 사용자(미도시)에 대한 프레젠테이션 컨텐츠(120)의 프레젠테이션을 용이하게 한다. 재생된 프레젠테이션(127)은 디스플레이나 스피커(미도시)와 같은 장치를 통해 사용자에 의해 수신 가능하고 믹서/렌더러(110)에 의해 생성되는 프레젠테이션 컨텐츠(120)와 연관된 가시의 및/또는 가청의 정보를 나타낸다. 논의의 목적으로, 프레젠테이션 컨텐츠(120)와 재생된 프레젠테이 션(127)은 임의의 포맷의 고화질 DVD 영화 컨텐츠를 나타낸다. 그러나, 프레젠테이션 컨텐츠(120)와 재생된 프레젠테이션(127)이 지금 알려져 있거나 추후에 개발될 임의의 유형의 대화형 멀티미디어 프레젠테이션일 수 있음을 알 것이다.
비디오 컴포넌트(122)는 프레젠테이션 컨텐츠(120)의 전통적인 비디오, 오디오 또는 데이터 컴포넌트를 나타낸다. 예를 들어, 영화는 일반적으로 하나 이상의 버전(예컨대, 성인 관객을 위한 버전 및 청소년 관객을 위한 버전), 하나 이상의 표제(131)와 각 표제에 관련된 하나 이상의 챕터(미도시)(표제는 이하에서 프레젠테이션 관리자(106)에 관련하여 더 설명됨), 하나 이상의 오디오 트랙(예컨대, 영화는 자막과 함께/자막 없이 하나 이상의 언어로 재생될 수 있음), 및 감독의 코멘터리, 추가적인 푸티지(footage), 트레일러 등과 같은 가외의 특징들을 가진다. 표제와 챕터 사이의 구별은 순전히 논리적인 구별임을 알 것이다. 예를 들어, 단일의 인지된 미디어 세그먼트는 단일의 표제/챕터의 일부이거나, 복수의 표제/챕터로 이루어질 수 있다. 적절한 논리적 구별을 결정하는 것은 컨텐츠 오소링 소스(content authoring source)에 달려 있다. 또한, 비디오 컴포넌트(122)가 영화로서 지칭되었으나, 비디오 컴포넌트(122)는 실제로 비디오, 오디오, 데이터, 또는 이들의 임의의 조합일 수 있음을 알 것이다.
비디오 컴포넌트(122)를 형성하는 비디오, 오디오 또는 데이터는 하나 이상의 미디어 소스(160)로부터 유래한다(예시의 목적으로 A/V 관리자(102) 내에 2 개의 미디어 소스(160)가 도시되어 있음). 미디어 소스는 비디오, 오디오 또는 데이터가 유도 또는 획득될 수 있는 임의의 장치, 위치 또는 데이터이다. 미디어 소스 의 예에는 네트워크, 하드 드라이브, 광 매체, 대안적인 물리 디스크, 및 구체적인 비디오, 오디오 또는 데이터의 저장 위치를 참조하는 데이터 구조가 포함되나, 이에 한정되지는 않는다.
특정 미디어 소스로부터의 비디오, 오디오 또는 데이터의 샘플의 그룹은 (비디오 컴포넌트(122), AVC 관리자(102) 및 플레이리스트(128) 내에 도시된) 클립(123)으로 지칭된다. AVC 관리자(102)를 참조하면, 클립(123)에 연관된 정보가 하나 이상의 미디어 소스(160)로부터 수신되고 디코더 블록(161)에서 디코딩된다. 디코더 블록(161)은 미디어 소스(160)로부터 수신되는 정보로부터 렌더링 가능한 비디오, 오디오 또는 데이터 컨텐츠를 검색하는데 사용되는 임의의 장치, 기술 또는 단계를 나타낸다. 디코더 블록(161)은, 예컨대 인코더/디코더 쌍, 디멀티플렉서(demultiplexer) 또는 디크립터(decrypter)를 포함할 수 있다. 디코더와 미디어 소스 사이의 일대일 관계가 도시되어 있으나, 하나의 디코더가 다수의 미디어 소스를 서브(serve)할 수 있으며, 그 반대일 수도 있음을 알 것이다.
오디오/비디오 컨텐츠 데이터("A/V 데이터")(132)는 AVC 관리자(102)에 의해 렌더링이 준비되고 믹서/렌더러(110)에 전송되는 비디오 컴포넌트(122)에 연관된 데이터이다. A/V 데이터(134)의 프레임은 일반적으로 각각의 액티브 클립(123)에 대하여 클립의 일부의 렌더링을 포함한다. 특정 프레임에서 렌더링된 클립의 정확한 부분 또는 양은 클립의 비디오, 오디오 또는 데이터 컨텐츠의 특성, 또는 클립을 인코딩 또는 디코딩하는데 사용되는 포맷, 기술 또는 속도와 같은 여러 요소에 기초할 수 있다.
IC 컴포넌트(124)는 미디어 객체(125)를 포함하는데, 이는 사용자가 선택할 수 있는 가시의 또는 가청의 객체로서, 선택적으로 가시의 또는 가청의 객체를 제공하기 위한 임의의 명령어(애플리케이션(155)으로 도시되고 있으며 이하에서 더 설명됨)와 함께, 비디오 컴포넌트(122)와 동시에 제공 가능하다. 미디어 객체(125)는 정적이거나 움직임이 가해질 수 있다. 미디어 객체의 예에는, 그 중에서도 특히 비디오 샘플 또는 클립, 오디오 샘플 또는 클립, 그래픽, 텍스트, 및 이들의 조합이 포함된다.
미디어 객체(125)는 하나 이상의 소스(미도시)로부터 유래한다. 소스는 미디어 객체가 유도 또는 획득될 수 있는 임의의 장치, 위치 또는 데이터이다. 미디어 객체(125)의 소스의 예에는 네트워크, 하드 드라이브, 광 매체, 대안적인 물리 디스크, 및 구체적인 미디어 객체의 저장 위치를 참조하는 데이터 구조가 포함되나, 이에 한정되지는 않는다. 미디어 객체(125)의 포맷의 예에는 PNG(portable network graphics), JPEG(joint photographic experts group), MPEG(moving picture experts group), MNG(multiple-image network graphics), AVI(audio video interleave), XML(extensible markup language), HTML(hypertext markup language), 및 XHTML(extensible HTML)이 포함되나, 이에 한정되지는 않는다.
애플리케이션(155)은 프레젠테이션 시스템(100)이 사용자에게 미디어 객체(125)를 제공하는 메커니즘을 제공한다. 애플리케이션(155)은 데이터 상에 소정의 동작을 전자적으로 제어하는 임의의 신호 처리 방법 또는 저장된 명령어(들)를 나타낸다. 논의의 목적으로 IC 컴포넌트(124)가 3개의 애플리케이션(155)을 포함 하는 것으로 가정되며, 이는 이하에서 도 2 및 3과 관련하여 더 설명된다. 제1 애플리케이션은 영화에 앞서 저작권 경고를 제공하고, 제2 애플리케이션은 영화의 시각적 특징들과 동시에 다수의 사용자 선택 가능한 아이템을 가지는 메뉴를 제공하는 소정의 미디어 객체를 제공하며, 제3 애플리케이션은 영화에 나타나는 하나 이상의 아이템(예컨대, 사람, 차, 건물 또는 제품)을 식별하거나 따르는데 사용될 수 있는 (원과 같은) 그래픽 오버레이(graphic overlay)를 제공하는 하나 이상의 미디어 객체를 제공한다.
대화형 컨텐츠 데이터("IC 데이터")(134)는 IC 관리자(104)에 의해 렌더링이 준비되고 믹서/렌더러(110)에 전달되는 IC 컴포넌트(124)와 연관된 데이터이다. 각 애플리케이션은 애플리케이션을 렌더링하는데 연관되는 하나 이상의 작업 아이템(미도시)을 가지는 연관된 큐(queue)(미도시)를 가진다.
AVC 관리자(104)와 IC 관리자(102) 모두와 통신하도록 구성되는 프레젠테이션 관리자(106)는 프레젠테이션 컨텐츠(120)의 처리 및 재생된 프레젠테이션(127)의 사용자에 대한 프레젠테이션을 용이하게 한다. 프레젠테이션 관리자(106)는 플레이리스트(128)에 대한 액세스를 가진다. 플레이리스트(128)는, 그 중에서도 특히, 사용자에게 제공가능한 (미디어 객체(125)를 포함하는) 애플리케이션(155)과 시간 순서의 클립(123)을 포함한다. 클립(123) 및 애플리케이션(155)/미디어 객체(125)는 하나 이상의 표제(131)를 형성하도록 배치될 수 있다. 예시의 목적으로, 하나의 표제(131)가 본 명세서에서 설명된다. 플레이리스트(128)는 XML(extensible markup language) 문서나 기타 데이터 구조를 사용하여 구현될 수 있다.
프레젠테이션 관리자(106)는 표제(131)에 대한 프레젠테이션 타임라인(130)을 확인하기 위해 플레이리스트(128)를 사용한다. 개념적으로, 프레젠테이션 타임라인(130)은 구체적인 클립(123)과 애플리케이션(155)이 사용자에게 제공가능한 때에 표제(131) 내의 시간을 가리킨다. 클립(123)과 애플리케이션(155)의 프레젠테이션 사이의 예시적인 관계를 나타내는 샘플 프레젠테이션 타임라인(130)이 도 2와 관련하여 도시되고 설명된다. 소정의 환경에서, 비디오 컨텐츠 타임라인("비디오 타임라인")(142)과 대화형 컨텐츠 타임라인("IC 타임라인")(144)을 확인하기 위해 플레이리스트(128) 및/또는 프레젠테이션 타임라인(130)을 사용하는 것도 유용하다.
프레젠테이션 관리자(106)는, 프레젠테이션 타임라인(130)에 관한 정보를 포함하나 이에 한정되지는 않는 정보를 AVC 관리자(102)와 IC 관리자(104)에 제공한다. 프레젠테이션 관리자(206)로부터의 입력에 기초하여, AVC 관리자(102)는 A/V 데이터(132)의 렌더링을 준비하고 IC 관리자(104)는 IC 데이터(134)의 렌더링을 준비한다.
타이밍 신호 관리 블록(108)은 각각 AVC 관리자(102)와 IC 관리자(104)에 의한 A/V 데이터(132)와 IC 데이터(134)의 준비 및 생성을 위한 타이밍을 제어하는데 사용되는 다양한 타이밍 신호(158)를 생성한다. 특히, 타이밍 신호(158)는 A/V 데이터(132)와 IC 데이터(134)의 프레임 레벨 동기화를 달성하는데 사용된다. 타이밍 신호 관리 블록(108)과 타이밍 신호(158)는 이하에서 도 4에 관련하여 상세히 설명된다.
믹서/렌더러는 비디오 평면(미도시)에서 A/V 데이터(132)를 렌더링하고 그래픽 평면(미도시)에서 IC 데이터(134)를 렌더링한다. 일반적으로 그래픽 평면은 사용자에 대한 재생된 프레젠테이션(127)을 생성하도록 비디오 평면 상으로 오버레이되나, 반드시 그러한 것은 아니다.
계속 도 1을 참조하여, 도 2는 플레이리스트(128) 내의 표제(131)에 대한 샘플 프레젠테이션 타임라인(130)을 도시한 도면이다. 수평축(220) 상에 시간이 도시되고 있다. 수직축(225) 상에 비디오 컴포넌트(122)(클립(123)이 도시됨)와 IC 컴포넌트(124)(미디어 객체(125)를 제공하는 애플리케이션(155)이 도시됨)에 관한 정보가 도시되고 있다. 두 개의 클립(123), 즉 제1 비디오 클립("비디오 클립 1")(230) 및 제2 비디오 클립("비디오 클립 2")(250)이 도시되어 있다. 논의의 목적으로, 도 1에 관하여 전술한 바와 같이, 제1 애플리케이션은 저작권 경고(260)를 포함하는 하나 이상의 미디어 객체(예컨대, 이미지 및/또는 텍스트) 제공에 대하여 책임이 있는 것으로 가정된다. 제2 애플리케이션은 메뉴(280)의 사용자 선택 가능 아이템(예컨대, 연관된 텍스트나 그래픽을 가지는 버튼)을 제공하는 소정의 미디어 객체 제공에 대한 책임이 있다. 제3 애플리케이션은 그래픽 오버레이(290)를 제공하는 하나 이상의 미디어 객체 제공에 대한 책임이 있다. 메뉴(280)는 비디오 클립 1(230)과 비디오 클립 2(250)와 동시에 디스플레이되며, 그래픽 오버레이(290)는 비디오 클립 1(230)과 메뉴(280)와 동시에 디스플레이 가능하다.
표제(131)가 사용자에게 제공 가능한, 수평축(220)에 따른 시간의 특정 양은 표제(131)의 재생 지속시간(292)으로 지칭된다. 재생 지속시간(292) 내의 구체적인 시간은 표제 시간(title time)으로 지칭된다. 네 개의 표제 시간("TT"), 즉 TT1(293), TT2(294), TT3(295) 및 TT4(296)가 프레젠테이션 타임라인(130) 상에 도시되어 있다. 표제는 한번 재생되거나 한번보다 많이(예컨대, 루핑(looping) 방식으로) 재생될 수 있기 때문에, 재생 지속시간(292)은 표제(131)의 한번의 반복(iteration)에 의하여 결정된다. 재생 지속시간(292)은, 소정의 재생 속도(예컨대, 보통 또는 1x 재생 속도), 소정의 프레임률 또는 소정의 타이밍 신호 상태를 포함하나 이에 한정되지는 않는 임의의 원하는 기준에 대하여 결정될 수 있다. 재생 속도, 프레임률 및 타이밍 신호는 이하에서 도 4와 관련하여 더 설명된다. 인코딩 기술, 디스플레이 기술 및 각 표제에 대한 미디어 객체와 클립 사이의 타이밍 관계와 재생 순서에 관한 구체적인 규칙과 같은 구현 특정적인(implementation-specific) 요소들이 표제의 재생 지속시간과 표제 시간의 정확한 값에 영향을 미칠 수 있음을 알 것이다. 재생 지속시간 및 표제 시간이라는 용어는 그러한 구현 특정적인 세부사항을 모두 포함하려는 의도이다. IC 컴포넌트(124)에 연관된 컨텐츠가 제공 가능한 표제 시간이 일반적으로 미리 결정되지만, 사용자가 그러한 컨텐츠와 상호작용할 때 취해지는 조치들이 재생된 프레젠테이션(127)이 재생되는 동안 사용자 입력에 기초해서만 결정될 수 있음을 알 것이다. 예를 들어, 사용자는 소정의 애플리케이션, 미디어 객체, 및/또는 그에 연관된 부가적인 컨텐츠를 재생된 프레젠테이션(127)의 재생 동안 선택, 활성화 또는 비활성화 할 수 있다.
재생 지속시간(292) 내의 다른 시간 및/또는 지속시간도 본 명세서에서 정의 되고 논의된다. 비디오 프레젠테이션 간격(240)은 비디오 컴포넌트(122)와 연관된 특정 컨텐츠가 재생 가능한 재생 지속시간(292)의 시작 시각과 종료 시각에 의해 정의된다. 예를 들어, 비디오 클립 1(230)은 표제 시간 TT2(294)와 TT4(296) 사이의 프레젠테이션 간격(240)을 가지고, 비디오 클립 2(250)는 표제 시간 TT3(295)와 TT4(296) 사이의 프레젠테이션 간격을 가진다. 애플리케이션 프레젠테이션 간격, 애플리케이션 재생 지속시간, 페이지 프레젠테이션 간격 및 페이지 지속시간도 이하에서 도 3과 관련하여 정의되고 논의된다.
계속 도 2를 참조하면, 재생 지속시간(292) 내에 두 가지 유형의 시간 간격이 제공된다. 시간 간격의 제1 유형은 비디오 컴포넌트(122)가 프레젠테이션에 대해 스케줄링 되지 않은 경우이다. 시간 간격 1(297), 저작권 경고(260)가 디스플레이될 때 영화의 프레젠테이션에 앞선 시간은 제1 유형의 시간 간격의 예이다. 저작권 경고(260)를 제공하는 애플리케이션이 시간 간격 1(297) 동안 프레젠테이션에 대해 스케줄링되지만, 제1 유형의 시간 간격 동안 프레젠테이션에 대해 스케줄링될 애플리케이션이 필요한 것은 아님을 알 것이다.
제2 유형의 시간 간격은 비디오 컴포넌트(122)가 프레젠테이션에 대해 스케줄링되는 경우이다. 시간 간격 2(298) 및 시간 간격 3(299)은 제2 유형의 시간 간격의 예이다. 때로는 제2 유형의 시간 간격 동안 하나보다 많은 비디오가 프레젠테이션에 대해 스케줄링될 수 있다. 종종 대화형 컨텐츠가 제2 유형의 시간 간격 동안 제공 가능하나, 항상 그러한 것은 아니다. 예를 들어, 시간 간격 2(298)에, 메뉴(280)와 그래픽 오버레이(290)가 비디오 클립(230)과 동시에 프레젠테이션에 대해 스케줄링된다. 시간 간격 3(299)에, 메뉴(280)가 비디오 클립 1(230)과 비디오 클립 2(250)와의 동시적인 프레젠테이션에 대해 스케줄링된다.
계속 도 1 및 2를 참조하여, 도 3은 단일의 애플리케이션(155)의 기능 블록도이다. 일반적으로 애플리케이션(155)은 미디어 객체(260, 280 및 290)를 제공하는 책임이 있는 애플리케이션을 나타낸다. 애플리케이션(155)은 (이하에서 더 설명되는) 명령어(304)를 포함한다. 애플리케이션(155)은 그 밖에 (이하에서 더 설명되는) 리소스 패키지 데이터 구조(340), 애플리케이션 재생 지속시간(320) 및 하나 이상의 애플리케이션 프레젠테이션 간격(321)과 연관된다.
애플리케이션 재생 지속시간(320)은, 애플리케이션(155)과 연관된 미디어 객체(125)가 재생된 프레젠테이션(127)의 수신에 의해 선택 가능하거나 재생된 프레젠테이션(127)으로 제공 가능한 재생 지속시간(292)의 (일부 또는 전체) 양을 기준으로 한 특정 양의 시간이다. 예를 들어, 도 2의 환경에서, 저작권 경고(260)에 대한 책임이 있는 애플리케이션(155)은 TT1(293)과 TT2(296) 사이의 시간의 양으로 이루어지는 애플리케이션 재생 지속시간을 가진다. 메뉴(280)에 대한 책임이 있는 애플리케이션은 TT2(294)와 TT4(296) 사이의 시간의 양으로 이루어지는 애플리케이션 재생 지속시간을 가진다. 그래픽 오버레이(290)에 대한 책임이 있는 애플리케이션은 TT2(294)와 TT3(295) 사이의 시간의 양으로 이루어지는 애플리케이션 재생 지속시간을 가진다.
특정 애플리케이션과 연관된 애플리케이션 재생 지속시간(320)이 프레젠테이션 타임라인 상에서 개념화될 때 획득되는 시작 및 종료 표제 시간에 의해 정의되 는 간격은 애플리케이션 프레젠테이션 간격(321)으로 지칭된다. 예를 들어, 저작권 경고(206)에 대한 책임이 있는 애플리케이션은 TT1(293)에서 시작하고 TT2(294)에서 종료하는 애플리케이션 프레젠테이션 간격을 가지고, 메뉴(280)에 대한 책임이 있는 애플리케이션은 TT2(294)에서 시작하고 TT4(296)에서 종료하는 애플리케이션 프레젠테이션 간격을 가지며, 그래픽 오버레이(290)에 대한 책임이 있는 애플리케이션은 TT2(294)에서 시작하고 TT3(295)에서 종료하는 애플리케이션 프레젠테이션 간격을 가진다.
다시 도 3을 참조하면, 일부 경우에, 애플리케이션(155)은 하나보다 많은 페이지를 가질 수 있다. 페이지는 특정 애플리케이션 재생 지속시간(320) 및/또는 애플리케이션 프레젠테이션 간격(321) 내에 동시에 제공 가능한 하나 이상의 미디어 객체의 논리적 그루핑(logical grouping)이다. 그러나, 특정 페이지에 연관된 미디어 객체는 동시에, 연속적으로, 또는 그 조합에 의해 제공될 수 있다. 도시된 바와 같이, 초기 페이지(들)(330)는 초기 미디어 객체(331)와 연관되고, 후속 페이지들(335)은 미디어 객체(들)(336)와 연관된다. 각 페이지는 차례로 자신의 페이지 지속시간을 가진다. 도시된 바와 같이, 초기 페이지(330)는 페이지 지속시간(332)을 가지고 후속 페이지(들)(335)는 페이지 지속시간(337)을 가진다. 페이지 지속시간은 특정 페이지에 연관된 미디어 객체(125)가 사용자에게 제공 가능한(및/또는 사용자에 의해 선택 가능한) 애플리케이션 재생 지속시간(330)의 (일부 또는 전체) 양을 기준으로 하는, 특정 양의 시간이다. 특정 페이지에 연관된 페이지 재생 지속시간이 프레젠테이션 타임라인 상에서 개념화될 때 획득되는 시작 및 종료 표제 시간에 의해 정의되는 간격은 페이지 프레젠테이션 간격(343)으로 지칭된다. 페이지 프레젠테이션 간격(343)은 애플리케이션 프레젠테이션 간격(321)의 하위 간격(sub-interval)이다. 구체적인 미디어 객체 프레젠테이션 간격(345)도 페이지 프레젠테이션 간격(343) 내에서 정의될 수 있다.
주어진 표제에 연관된 다수의 애플리케이션과 페이지, 및 각 애플리케이션 또는 페이지와 연관된 미디어 객체는, 일반적으로 설계 선택의 문제인 논리적 구별이다. 애플리케이션의 실행 동안 메모리로 로드되는 애플리케이션과 연관된 리소스의 양 또는 수를 관리(예컨대, 제한)하는 것이 바람직한 경우 다수의 페이지가 사용될 수 있다. 애플리케이션에 대한 리소스는 미디어 객체를 렌더링하기 위한 명령어(304) 뿐만 아니라, 애플리케이션에 의해 사용되는 미디어 객체를 포함한다. 예를 들어, 복수의 페이지를 가지는 애플리케이션이 제공 가능하면, 애플리케이션의 현재 제공 가능한 페이지와 연관된 리소스만을 메모리에 로드하는 것이 가능할 수 있다.
리소스 패키지 데이터 구조(340)는 애플리케이션의 실행 전에 메모리로의 애플리케이션 리소스의 로딩을 용이하게 하는데 사용된다. 리소스 패키지 데이터 구조(340)는 그 애플리케이션에 대한 리소스가 위치하는 메모리 위치를 참조한다. 리소스 패키지 데이터 구조(340)는 자신이 참조하는 리소스와 함께 또는 그와는 분리되어 임의의 바람직한 위치에 저장될 수 있다. 예를 들어, 리소스 패키지 데이터 구조(340)는 비디오 컴포넌트(122)로부터 분리된 영역에, 고화질 DVD와 같은 광 매체 상에 배치될 수 있다. 대안적으로, 리소스 패키지 데이터 구조(340)는 비디 오 컴포넌트(122)에 임베드될 수 있다. 다른 대안으로는, 리소스 패키지 데이터 구조는 원격에 위치할 수 있다. 원격 위치의 일례는 네트워킹된 서버(networked server)이다. 애플리케이션들 사이 및 애플리케이션 실행을 위한 리소스의 변환(transition)에 관한 토픽들은 본 명세서에서 상세히 논의되지 않는다.
다시 애플리케이션(155) 자체에 관하여, 명령어(304)는 실행될 때 사용자 입력에 기초하여 애플리케이션(155)과 연관된 미디어 객체(125)의 렌더링에 관련된 태스크를 수행한다. 사용자 입력(또는 그 결과)의 일 유형은 사용자 이벤트(user event)이다. 사용자 이벤트는 IC 컴포넌트(124)에 관련된 재생된 프레젠테이션(127)의 수신에 의해 개시되는 거동(action) 또는 사건(occurrence)이다. 사용자 이벤트들은 일반적으로 비동기(asynchronous)이나, 반드시 그러한 것은 아니다. 사용자 이벤트의 예에는 메뉴(280) 내에서의 버튼의 선택이나 그래픽 오버레이(290)에 연관된 원의 선택과 같은, 재생된 프레젠테이션(127) 내에서의 미디어 객체와의 사용자 상호작용이 포함되나, 이에 한정되지는 않는다. 그러한 상호작용은 키보드, 리모트 컨트롤, 마우스, 스타일러스 또는 음성 명령을 포함하는, 현재 알려져 있거나 추후에 개발되는 임의의 유형의 사용자 입력 장치를 사용하여 발생할 수 있다. 애플리케이션(155)은 사용자 이벤트 이외의 다른 이벤트에 응답할 수 있으나, 그러한 이벤트들은 본 명세서에서 구체적으로 논의되지 않음을 알 것이다.
일 구현예에서, 명령어(304)는 컴퓨터 판독 가능 매체에서 인코딩되는 컴퓨터 실행 가능 명령어이다(이하에서 도 9와 관련하여 더 설명됨). 본 명세서에서 개시되는 예에 따르면, 명령어(304)는 스크립트(308)나 마크업 요소(302, 306, 310, 312, 360)를 사용하여 구현된다. 스크립트나 마크업 요소는 단독으로 사용될 수 있으나, 일반적으로 스크립트와 마크업 요소의 조합이 고화질 DVD 영화에 대한 포괄적인 일련의 대화형 성능의 생성을 가능하게 한다.
스크립트(308)는 명령형(imperative) 프로그래밍 언어와 같은 비 평서형(non-declarative) 프로그래밍 언어로 쓰인 명령어(304)를 포함한다. 명령형 프로그래밍 언어는 프로세서에 의해 수행될 일련의 명령(command)에 의하여 연산을 기술한다. 스크립트(308)가 사용되는 대부분의 경우에, 스크립트는 사용자 이벤트에 응답하는데 사용된다. 그러나, 스크립트(308)는 마크업 요소를 단독으로 사용하여 쉽게 또는 능률적으로 구현되지 않는 문제들을 처리하는 것과 같은, 다른 환경에서 유용하다. 그러한 환경은 시스템 이벤트 및 리소스 관리(예컨대, 캐시에 저장되거나 영구적으로 저장된 리소스에 액세스하는 것)를 포함한다. 일 구현예에서, 스크립트(308)는 ECMA-262 규격에서 ECMA 인터내셔널(ECMA International)에 의해 정의된 ECMA스크립트(ECMAScript)이다. ECMA-262 하의 일반적인 스크립팅 프로그래밍 언어는 자바스크립트(JavaScript)와 J스크립트(JScript)를 포함한다. 일부 설정에서, 일련의 애플리케이션 프로그래밍 인터페이스들과 호스트 환경과 함께, ECMA-327과 같은 ECMA스크립트(262)의 부분집합을 사용하여 308을 구현하는 것이 바람직할 수 있다.
마크업 요소(302, 306, 310, 312 및 360)는 XML(Extensible Markup Language)과 같은 선언형(declarative) 프로그래밍 언어로 쓰인 명령어(304)를 나타낸다. XML에서, 요소들은 XML 문서 내의 스타트 태그(start-tag) 및 엔드 태 그(end-tag)를 사용하여 정의되는 정보의 논리 유닛이다. XML 문서는 파싱되거나(parsed) 파싱되지 않은(unparsed) 데이터를 포함하는 엔티티(entity)로 불리는(컨테이너로도 불림) 저장 유닛으로 이루어지는 데이터 객체이다. 파싱된 데이터는 캐릭터들로 이루어지고, 이들 중 일부는 캐릭터 데이터를 형성하고, 일부는 마크업을 형성한다. 마크업은 문서의 저장 레이아웃 및 논리 구조의 기술(description)을 인코딩한다. 하나의 XML 문서에는 하나의 루트 요소(root element)가 있으며, 이 중 어느 부분도 임의의 다른 요소의 컨텐츠 내에 나타나지 않는다. 모든 기타 요소들에 대하여, 기타 요소들의 컨텐츠 내의 스타트 태그와 엔드 태그는 서로 포개진다(nested).
XML 스키마는 XML 문서의 클래스의 신택스(syntax)의 정의이다. XML 스키마의 일 유형은 범용(general-purpose) 스키마이다. 일부 범용 스키마는 월드 와이드 웹 컨소시엄("W3C")에 의해 정의된다. XML 스키마의 다른 일 유형은 특수 목적(special-purpose) 스키마이다. 예를 들어, 고화질 DVD 환경에서, 하나 이상의 특수 목적 XML 스키마가 고화질 비디오에 대한 DVD 규격에 따른 XML 문서에 있어서의 사용을 위해 DVD 포럼(DVD Forum)에 의해 공포되어 왔다. 기타 대화형 멀티미디어 프레젠테이션을 위한 스키마는 물론, 고화질 DVD 영화에 대한 기타 스키마가 가능함을 알 것이다.
고수준에서, XML 스키마는 (1)요소 이름을 요소 유형에 연관시키는 전역적 요소 선언(global element declaration), 및 (2) 그 유형의 요소들에 대한 캐릭터 데이터, 하위 요소(sub-element) 및 속성(attribute)을 정의하는 유형 정의를 포함 한다. 요소의 속성은 이름/값 쌍을 사용하여 요소의 특정 특성을 지정하며, 하나의 속성은 하나의 요소 특성을 지정한다.
사용자 이벤트 요소(360)를 포함할 수 있는 컨텐츠 요소(302)는 애플리케이션(155)에 의해 사용자에게 제공가능한 특정 미디어 객체 요소(312)를 식별하는데 사용된다. 차례로, 미디어 객체 요소(312)는 일반적으로 특정 미디어 객체(125)를 정의하는 데이터가 배치된 위치를 지정한다. 예를 들어, 그러한 위치는 인터넷, 사설 관리 네트워크 또는 월드 와이드 웹과 같은, 유선 또는 무선의 공중 또는 사설 네트워크 상이나 광 매체 상의 위치를 포함하는, 영구적인 로컬 또는 원격 저장소 내의 위치일 수 있다. 미디어 객체 요소(312)에 의해 지정된 위치는, 리소스 패키지 데이터 구조(340)에 대한 참조와 같은, 위치에 대한 참조일 수 있다. 이러한 방식으로, 미디어 객체(125)의 위치는 간접적으로 지정될 수 있다.
타이밍 요소(306)는 특정 컨텐츠 요소(302)가 특정 애플리케이션(155)에 의해 사용자에게 제공가능한 시각 또는 그 동안의 시간 간격을 지정하는데 사용된다. 타이밍 요소의 예에는 XML 문서의 시간 컨테이너 내의 파(par), 타이밍(timing) 또는 시크(seq) 요소가 포함된다.
스타일 요소(310)는 일반적으로 특정 애플리케이션에 의해 사용자에게 제공가능한 특정 컨텐츠 요소(302)의 외관을 지정하는데 사용된다.
사용자 이벤트 요소(360)는 사용자 이벤트를 정의하거나 사용자 이벤트에 응답하는데 사용되는 컨텐츠 요소(302), 타이밍 요소(306) 또는 스타일 요소(310)를 나타낸다.
마크업 요소(302, 306, 310 및 360)는 연관된 미디어 객체 요소(312)/미디어 객체(125)의 소정의 특성을 지정하는데 사용가능한 속성을 가진다. 일 구현예에서, 이러한 속성/특성은 하나 이상의 클록 또는 타이밍 신호의 값을 나타낸다(이하에서 도 4와 관련하여 더 설명됨). 시간 또는 지속시간을 나타내는 특성을 가지는 마크업 요소의 속성을 이용하는 것은, 사용자가 재생된 프레젠테이션(127)을 수신하는 동안 IC 컴포넌트(124)와 비디오 컴포넌트(122) 사이의 동기가 이루어지는 하나의 방법이다.
마크업 요소를 포함하는 샘플 XML 문서가 이하에서 개시된다(스크립트(308)는 도시되지 않음). 샘플 XML 문서는 "id"라 불리는 미디어 객체 요소(312)를 참조하는 컨텐츠 요소(302) 상의 크롭 애니메이션(crop animation)을 수행하기 위한 타이밍 요소(306) 및 스타일 요소(310)를 포함한다. "id" 미디어 객체 요소와 연관된 미디어 객체(125)를 정의하는 데이터의 위치는 도시되지 않고 있다.
샘플 XML 문서는 "xml"이라 불리는 루트 요소로 시작한다. 루트 요소에 뒤따라, 다수의 명칭 공간(namespace) "xmlns" 필드가, 샘플 XML 문서에 대한 신택스를 정의하는 다양한 스키마 및 그 안의 스키마가 발견될 수 있는 월드 와이드 웹 상의 위치를 가리킨다. 예를 들어, 고화질 DVD 영화에 사용하기 위한 XML 문서의 컨텍스트에서, 명칭 공간 필드는 DVD 포럼과 연관된 웹사이트를 가리킬 수 있다.
"id"로 지칭되는 하나의 컨텐츠 요소(302)는 "body"로 라벨링된 태그에 의해 기술되는 컨테이너 내에서 정의된다. 컨텐츠 요소 "id"와 연관된 스타일 요소(310)(이 예에서 라벨 "styling" 하의 요소)는 "head"로 라벨링된 태그에 의해 기술되는 컨테이너 내에서 정의된다. 타이밍 요소(306)(라벨 "timing" 하의 요소)도 "head"로 라벨링된 태그에 의해 기술된 컨테이너 내에서 정의된다.
Figure 112007093913758-pct00001
Figure 112007093913758-pct00002
Figure 112007093913758-pct00003
도 1 내지 3을 계속 참조하여, 도 4는 타이밍 신호(158)와 타이밍 신호 관리 블록(108)의 다양한 컴포넌트들을 더 상세히 도시하는 단순화된 기능 블록도이다.
타이밍 신호 관리 블록(108)은 프레젠테이션 시스템(100) 내에서 특정 시간 또는 지속시간을 결정하는데 사용되는 클록 및/또는 타이밍 신호의 처리에 대한 책임이 있다. 도시된 바와 같이, 연속적인 타이밍 신호(401)가 클록 소스(402)에 의해 소정의 속도로 생성된다. 클록 소스(402)는 범용 컴퓨터나 특수 목적 전자 장치와 같은 프로세싱 시스템과 연관된 클록일 수 있다. 일반적으로 클록 소스(402)에 의해 생성된 타이밍 신호(401)는 실세계 클록에 따라 계속 변화한다 - 실시간(real time) 1초 내에, 클록 소스(402)는 소정의 속도로 타이밍 신호(401)의 1초 만큼을 생성한다. 타이밍 신호(401)는 IC 프레임률 계산기(404), A/V 프레임률 계산기(406), 시간 기준 계산기(408) 및 시간 기준 계산기(490)에 입력된다.
IC 프레임률 계산기(404)는 타이밍 신호(401)에 기초하여 타이밍 신호(405)를 생성한다. 타이밍 신호(405)는 IC 관리자(104)에 의해 IC 데이터(134)의 프레임이 생성되는 속도를 나타내는 "IC 프레임률"로서 지칭된다. IC 프레임률의 하나의 예시적인 값은 초당 30 프레임이다. IC 프레임률 계산기(404)는 타이밍 신호(405)를 생성하는 타이밍 신호(401)의 속도를 감소 또는 증가시킬 수 있다.
일반적으로 IC 데이터(134)의 프레임은 각각의 유효한 애플리케이션(155) 및/또는 그 페이지에 대하여, 관련있는 사용자 이벤트에 따른 유효한 애플리케이션 및/또는 페이지와 연관된 각 미디어 객체(125)의 렌더링을 포함한다. 예시의 목적으로, 유효한 애플리케이션은 프레젠테이션 타임라인(130)에 기초하여 재생 지속시간(292)의 현재 표제 시간이 포함되는 애플리케이션 프레젠테이션 간격(321)을 가지는 것이다. 애플리케이션이 하나보다 많은 애플리케이션 프레젠테이션 간격을 가질 수 있음을 알 것이다. 리소스 이용가능성이나 사용자 입력에 기초하여 애플리케이션의 상태에 관한 어떠한 구체적인 구별도 본 명세서에서 이루어지지 않음도 알 것이다.
A/V 프레임률 계산기(406)도 타이밍 신호(401)에 기초하여 타이밍 신호, 즉 타이밍 신호(407)를 생성한다. 타이밍 신호(407)는 "A/V 프레임률"로 지칭되며, 이는 AVC 관리자(102)에 의해 A/V 데이터(132)의 프레임이 생성되는 속도를 나타낸다. A/V 프레임률은 IC 프레임률(405)과 같거나 다를 수 있다. A/V 프레임률의 하나의 예시적인 값은 초당 24 프레임이다. A/V 프레임률 계산기(406)는 타이밍 신호(407)를 생성하기 위한 타이밍 신호(401)의 속도를 감소 또는 증가시킬 수 있다.
클록 소스(470)는 클립(123)에 연관된 정보가 미디어 소스(들)(161)로부터 생성되는 속도를 제어하는 타이밍 신호(471)를 생성한다. 클록 소스(470)는 클록(402)과 동일한 클록이거나, 클록 소스(402)와 동일한 클록에 기초할 수 있다. 대안적으로, 클록(470) 및 클록(402)은 모두 다르거나, 다른 소스를 가질 수 있다. 클록 소스(470)는 재생 속도 입력(480)에 기초하여 타이밍 신호(471)의 속도를 조절한다. 재생 속도 입력(480)은 재생된 프레젠테이션(127)의 재생 속도에 영향을 미치는 수신된 사용자 입력을 나타낸다. 예를 들어, 재생 속도는 사용자가 영화의 한 부분에서 다른 부분으로 점프하거나("트릭 플레이(trick play)"로 지칭됨), 사용자가 영화를 멈춤, 느리게 감기, 빠르게 감기, 느리게 되감기, 또는 빠르게 되감기 할 때 영향을 받는다. 트릭 플레이는 (도 2에 도시된) 메뉴(280)로부터 선택하거나 다른 방식으로 이루어질 수 있다.
시간 기준(452)은 액티브 클립(123)과 연관된 특정 프레젠테이션 간격(240) 내에서 경과된 시간의 양을 나타낸다. 본 명세서에서는 논의의 목적으로, 액티브 클립은 프레젠테이션 타임라인(130)에 기초하여 재생 지속시간(292)의 현재 표제 시간이 속하는 프레젠테이션 간격(240)을 가지는 것이다. 시간 기준(452)은 "경과 클립 재생 시간(들)"으로 지칭된다. 시간 기준 계산기(454)는 시간 기준(452)을 수신하고 미디어 시간 기준(455)을 생성한다. 미디어 시간 기준(455)은 하나 이상의 시간 기준(452)에 기초하여 경과된 재생 지속시간(292)의 총량을 나타낸다. 일반적으로, 둘 이상이 클립이 동시에 재생될 때, 단 하나의 시간 기준(452)이 미디어 시간 기준(455)을 생성하는데 사용된다. 다수의 클립에 기초하여 미디어 시간 기준(455)이 결정되는 방법과 미디어 시간 기준(455)을 결정하는 데 사용되는 특정 클립은 구현 선택의 문제이다.
시간 기준 계산기(408)는 타이밍 신호(401), 미디어 시간 기준(455) 및 재생 속도 입력(408)을 수신하고, 표제 시간 기준(409)을 생성한다. 표제 시간 기 준(409)은 시간 기준 계산기(408)에 대한 하나 이상의 입력에 기초하여 재생 지속시간(292) 내에서 경과된 시간의 총량을 나타낸다. 표제 시간을 계산하는 예시적인 방법은 도 6과 관련하여 도시 및 설명된다.
시간 기준 계산기(490)는 타이밍 신호(410) 및 표제 시간 기준(409)을 수신하고, 애플리케이션 시간 기준(들)(492) 및 페이지 시간 기준(들)(494)을 생성한다. 단일 애플리케이션 시간 기준(492)은, 연속적인 타이밍 신호(401)를 기준으로, (도 3과 관련하여 도시 및 논의된) 특정 애플리케이션 재생 지속시간(320)의 경과 시간의 양을 나타낸다. 애플리케이션 시간 기준(492)은, 표제 시간 기준(409)이 현재 표제 시간이 특정 애플리케이션의 애플리케이션 프레젠테이션 간격(321)에 포함됨을 가리킬 때 결정된다. 애플리케이션 시간 기준(492)은 애플리케이션 프레젠테이션 간격(321)의 완료시에 리셋(예컨대, 비활성이 되거나 다시 시작)한다. 또한, 애플리케이션 시간 기준(492)은 사용자 이벤트에 대한 응답으로, 또는 트릭 플레이가 발생할 때와 같은 기타 환경에서도 리셋할 수 있다.
페이지 시간 기준(494)은, 연속적인 타이밍 신호(401)를 기준으로, (도 3과 관련하여 도시 및 논의된) 단일 페이지 재생 지속시간(332, 337)의 경과 시간의 양을 나타낸다. 애플리케이션의 특정 페이지에 대한 페이지 시간 기준(494)은, 표제 시간 기준(409)이 현재 표제 시간이 적용가능한 페이지 프레젠테이션 간격(343) 내에 포함됨을 가리킬 때 결정된다. 페이지 프레젠테이션 간격은 애플리케이션 프레젠테이션 간격(321)의 하위 간격이다. 페이지 시간 기준(들)(494)은 적용가능한 페이지 프레젠테이션 간격(들)(343)의 완료시에 리셋할 수 있다. 또한, 페이지 시 간 기준(494)은 사용자 이벤트에 대한 응답으로, 또는 트릭 플레이가 발생할 때와 같은 기타 환경에서도 리셋할 수 있다. 페이지 프레젠테이션 간격(343) 및/또는 애플리케이션 프레젠테이션 간격(321)의 하위 간격일 수 있는 미디어 객체 프레젠테이션 간격(345)도 정의할 수 있음을 알 것이다.
표 1은 프레젠테이션 시스템(100)에 의해 재생된 프레젠테이션(127)의 재생 동안의 예시적인 사건들과, 그러한 사건들의 애플리케이션 시간 기준(492), 페이지 시간 기준(494), 표제 시간 기준(409) 및 미디어 시간 기준(455)에 대한 영향을 나타낸다.
사건 애플리케이션 시간(492) 페이지 시간(494) 표제 시간(409) 미디어 시간(455)
영화 시작 애플리케이션이 유효하지 않으면/유효할 때까지 비활성 적용가능한 페이지가 유효하지 않으면/유효할 때까지 비활성 시작(예컨대, 0에서) 시작(예컨대, 0에서)
다음 클립 시작 애플리케이션이 유효하지 않으면/유효할 때까지 비활성 적용가능한 페이지가 유효하지 않으면/유효할 때까지 비활성 이전 표제 시간 및 경과 클립 재생 시간에 기초하여 결정됨 리셋/재시작
다음 표제 시작 애플리케이션이 유효하지 않으면/유효할 때까지 비활성 적용가능한 페이지가 유효하지 않으면/유효할 때까지 비활성 리셋/재시작 리셋/재시작
애플리케이션 유효화 시작 적용가능한 페이지가 유효할 때 시작 계속/영향 없음 계속/영향 없음
트릭 플레이 표제 시간이 점프할 때 적용가능한 애플리케이션이 유효하면 리셋/재시작; 그렇지 않으면 비활성화 표제 시간이 점프할 때 적용가능한 페이지가 유효하면 리셋/재시작; 그렇지 않으면 비활성화 점프된 위치에 기초하여, 프레젠테이션 타임라인 상의 경과 재생 지속시간에 대응하는 시간으로 전진 또는 후퇴 표제 내의 점프된 위치에서 액티브 클립(들)의 경과 클립 재생 시간(들)에 대응하는 시간으로 전진 또는 후퇴
재생 속도 N배 변화 계속/영향 없음 계속/영향 없음 N배 빠르게 경과 N배 빠르게 경과
영화 멈춤 계속/영향 없음 계속/영향 없음 멈춤 멈춤
영화 재개 계속/영향 없음 계속/영향 없음 재개 재개
도 5는 재생된 프레젠테이션(127)의 재생 동안 소정의 사건들(502)이 애플리케이션 시간 기준(492), 페이지 시간 기준(들)(494), 표제 시간 기준(409) 및 미디어 시간 기준(455)에 미치는 영향을 더 상세히 나타내는 도식도이다. 사건(502) 및 그 영향은 타이밍 신호(401)와 같은 연속적인 타이밍 신호의 값에 대하여 도시되어 있다. 달리 지시되지 않으면, 고화질 DVD 영화의 특정 표제는 표준 속도에서 재생되며, 3개의 연속적으로 제공가능한 페이지를 가지는 단일 애플리케이션이 사용자 대화성(interactivity)을 제공한다.
영화는 타이밍 신호가 0의 값을 가질 때 재생을 시작한다. 타이밍 신호가 10의 값을 가질 때, 애플리케이션은 유효화되고 활성화된다. 애플리케이션의 페이지 1과 연관된 페이지 시간(494) 뿐만 아니라 애플리케이션 시간(492)도 0의 값을 가정한다. 페이지 2 및 페이지 3은 비활성이다. 표제 시간(409) 및 미디어 시간(455)은 모두 10의 값을 가진다.
애플리케이션의 페이지 2는 타이밍 신호 값 15에서 로드된다. 애플리케이션 시간 및 페이지 1 시간은 5의 값을 가지나, 표제 시간 및 미디어 시간은 15의 값을 가진다.
애플리케이션의 페이지 3은 타이밍 신호가 20의 값을 가질 때 로드된다. 애플리케이션 시간은 10의 값을 가지고, 페이지 2 시간은 5의 값을 가지며, 페이지 1 시간은 비활성이다. 표제 시간 및 미디어 시간은 20의 값을 가진다.
영화는 타이밍 신호 값 22에서 멈춘다. 애플리케이션 시간은 12의 값을 가지고, 페이지 3 시간은 2의 값을 가지며, 페이지 1 및 페이지 2는 비활성이다. 표제 시간 및 미디어 시간은 22의 값을 가진다. 영화는 타이밍 신호 값 24에서 재개한다. 그때는, 애플리케이션 시간은 14의 값을 가지고, 페이지 3 시간은 4의 값을 가지며, 표제 시간 및 미디어 시간은 22의 값을 가진다.
타이밍 신호 값 27에서, 새로운 클립이 시작한다. 애플리케이션 시간은 17의 값을 가지고, 페이지 3 시간은 7의 값을 가지며, 표제 시간은 25의 값을 가지고, 미디어 시간은 0으로 리셋된다.
사용자는 타이밍 신호 값 32에서 애플리케이션을 비활성화(de-activate)시킨다. 애플리케이션 시간은 22의 값을 가지고, 페이지 시간은 12의 값을 가지며, 표제 시간은 30의 값을 가지고, 미디어 시간은 5의 값을 가진다.
타이밍 신호 값 39에서, 사용자는 동일한 클립의 다른 부분으로, 뒤쪽으로 점프한다. 애플리케이션은 점프된 위치에서 유효한 것으로 가정되며, 그 후 곧 재활성화(re-activate)한다. 애플리케이션 시간은 0의 값을 가지고, 페이지 1 시간은 0의 값을 가지며, 다른 페이지들은 비활성이고, 표제 시간은 27의 값을 가지고, 미디어 시간은 2의 값을 가진다.
타이밍 신호 값 46에서, 사용자는 영화의 재생 속도를 표준 속도의 2배로 빠르게 감기로 변화시킨다. 빠르게 감기는 타이밍 신호 값 53까지 계속된다. 도시된 바와 같이, 애플리케이션 시간 및 페이지 시간은 연속적인 타이밍 신호에 따라 일정한 속도로 변화를 계속하며 영화의 재생속도의 변화에 영향을 받지 않으나, 표제 시간 및 미디어 시간은 영화의 재생 속도에 비례하여 변화한다. 애플리케이션의 특정 페이지가 로드될 때 표제 시간(409) 및/또는 미디어 시간(455)에 관련되어짐을 유의하여야 한다(도 3과 관련된 애플리케이션 프레젠테이션 간격(들)(321) 및 페이지 프레젠테이션 간격(들)(343)의 논의 참조).
타이밍 신호 값 48에서, 새로운 표제가 시작하며, 표제 시간(409) 및 미디어 시간(455)이 0의 값으로 리셋된다. 초기 표제에 관하여, 이는 표제 시간이 62의 값을 가지고 미디어 시간이 36의 값을 가질 때 발생한다. 애플리케이션 시간(492) 및 페이지 시간(494)의 리셋(미도시)은 표제 시간(409) 및 미디어 시간(455)의 리셋의 뒤에 일어난다.
다양한 타임라인, 클록 소스, 타이밍 신호 및 타이밍 신호 기준에 대한 액세스는 재생된 프레젠테이션(127) 내에서 IC 데이터(124)와 A/V 데이터(132)의 프레임 수준 동기화를 달성하고 사용자 상호작용의 주기 동안 그러한 프레임 수준 동기화를 유지하는 프레젠테이션 시스템(100)의 능력을 높인다.
도 1 내지 4를 계속 참조하여, 도 6은 프레젠테이션 컨텐츠(120)/재생된 프레젠테이션(127)의 IC 컴포넌트(124) 및 비디오 컴포넌트(122)와 같은 대화형 멀티미디어 프레젠테이션의 대화형 및 비디오 컴포넌트를 동기로 제공하기 위한, 프레젠테이션 시스템(100)과 같은 대화형 멀티미디어 프레젠테이션 시스템의 능력을 높이는 하나의 방법의 흐름도이다. 상기 방법은 프레젠테이션의 재생 지속시간(292)과 같은 재생 지속시간의 적어도 일부의 (표제 시간(409)으로 나타내어지는) 총 경과 재생 시간을 측정하도록 2개의 상이한 타이밍 신호를 사용하는 것을 포함한다.
상기 방법은 블록(600)에서 시작하고, 프레젠테이션의 재생 지속시간 내에서 논비디오 시간 간격(non-video time interval)이 식별되는 블록(602)으로 계속된다. 논비디오 시간 간격은 비디오 컴포넌트(122)가 프레젠테이션에 대해 스케줄링 되지 않는 것이다. 비디오 컴포넌트(122)가 프레젠테이션에 대해 스케줄링되지 않을 수 있으나, 기타 비디오(예컨대, 애플리케이션(155)과 연관된 비디오 데이터)가 프레젠테이션에 대해 스케줄링될 수 있음을 알 것이다.
논비디오 시간 간격이 식별될 수 있는 하나의 방법은 플레이리스트(128)와 같은 프레젠테이션에 대한 플레이리스트로부터 확인되는, 프레젠테이션 타임라인(130) 상의 재생 지속시간(292)을 참조하는 것이다. 예시의 목적으로 도 2를 참조하면, 저작권 경고(260)를 디스플레이하는 책임이 있는 애플리케이션이 유효할 때 영화에 앞서는 시간 간격인 시간 간격 1(297)은 논비디오 시간 간격이다. 시간 간격 1(297)은 표제 시간 TT1(293) 및 TT2(294) 사이에서 정의된다. 시간 간격 1(297) 동안 프레젠테이션에 대해 애플리케이션이 스케줄링되나, 논비디오 시간 간격 동안 프레젠테이션에 대해 애플리케이션이 스케줄링되는 것이 필요한 것은 아님을 알 것이다.
다시 도 6을 참조하면, 블록(604)에서, 논비디오 시간 간격 동안 연속적인 타이밍 신호를 사용하여 제1 경과 재생 시간이 측정된다. 제1 경과 재생 시간은 재생 지속시간(262)의 부분적인 경과 재생 시간이다. 표제 시간(409)에 의해 나타내어지는 제1 경과 재생 시간은 타이밍 신호(401)를 사용하여 시간 기준 계산기(408)에 의해 계산될 수 있다.
프레젠테이션의 재생 지속시간 내의 비디오 시간 간격은 블록(606)에서 식별된다. 비디오 시간 간격은 비디오 컴포넌트(122)가 프레젠테이션에 대해 스케줄링되는 것이다. 비디오 컴포넌트(122)가 비디오, 오디오, 데이터, 또는 이들의 임의의 조합을 포함할 수 있으며, 시각적 정보만을 나타내지 않음을 알 것이다. 도 2에 도시된 예시적인 프레젠테이션 타임라인(130)에서, 시간 간격 2(298) 및 시간 간격 3(299)은 모두 비디오 시간 간격이다. 하나보다 많은 클립이 비디오 시간 간격 동안 프레젠테이션에 대해 스케줄링될 수 있다. 특정 비디오 시간 간격 내에서 하나보다 많은 클립이 제공가능할 때(예컨대, 메인 영화와 화면 속 화면(picture-in-picture) 영화 모두가 재생될 때), 특정 클립이 메인 클립으로 간주된다. 일반적으로, 반드시 그러한 것은 아니지만, 메인 영화가 메인 클립으로 간주된다. 대화형 컨텐츠도 시간 간격(298) 및 시간 간격(299) 동안 제공가능하나, 대화형 컨텐츠는 비디오 시간 간격 동안 제공될 필요는 없다.
다시 도 6을 참조하면, 블록(608)에서, 비디오 시간 간격 동안, 프레젠테이션의 재생 속도에 기초하는 타이밍 신호를 사용하여 제2 경과 재생 시간이 측정된다. 제1 경과 재생 시간처럼, 제2 경과 재생 시간도 (도 4에 도시된) 표제 시간(409)에 의해 나타내어지는 재생 지속시간(262)의 부분적인 경과 재생 시간이다. 제2 경과 재생 시간은 미디어 시간 기준(455)을 사용하여 시간 기준 계산기(408)에 의해 계산될 수 있다. 미디어 시간 기준(455)은 클록 소스(470)에 의해 생성되는 타이밍 신호(471)에 간접적으로 기초한다. 미디어 시간 기준(455)이 타이밍 신호(471)에 간접적으로 기초하는 방식은, 클록 소스(470)가 재생 속도 입력(480)에 기초하여 타이밍 신호(471)의 속도를 조절하고, 클립(123)이 타이밍 신호(471)에 기초하여 미디어 소스(160)로부터 검색되며, 경과 클립 재생 시간(452)에 기초하여 미디어 시간 기준(455)을 생성하는 시간 기준 계산기(454)에 의해 경과 클립 재생 시간(452)이 수신되는 것이다. 대안적으로, 시간 기준 계산기(408)는 표제 시간(409)을 계산하기 위해 직접적으로 타이밍 신호(471)를 사용할 수 있다.
도 6의 마름모(610)와 후속하는 박스(612)에 지시된 바와 같이, 재생된 프레젠테이션(127)이 비디오 시간 간격 동안 계속되는 경우, 총 경과 재생 시간, 표제 시간(409)은 제2 경과 재생 시간을 사용하여 결정된다. 이러한 방식으로, 총 경과 재생 시간의 값은 비디오 컴포넌트(122)의 재생 동안 무엇이 일어나는지를 반영하고 우선순위를 매긴다. 예를 들어, 미디어 소스(160)로부터 클립(123)을 판독하는데 연관된 지연 또는 문제가 있으면, 하나 이상의 경과 클립 재생 시간(452)은 멈추고, 표제 시간(409)도 멈출 것이다. 표제 시간(409)에 기초하는 애플리케이션 프레젠테이션 간격(321)을 가지는 애플리케이션(155)을 포함하는 IC 컴포넌트(124)는, 이에 따라 비디오 컴포넌트(122)의 제공에 동기화된 채로 남겨지도록 허용된다. 그래픽 오버레이(290)가 뒤따르는 움직이는 차의 예에서, 미디어 소스(160)로부터 차의 푸티지(footage)를 판독하는데 지연 또는 문제가 있는 경우에라도 원은 차와 함께 움직일 것이다.
마름모(614)와 후속하는 박스(616)에 지시된 바와 같이, 재생된 프레젠테이션(127)이 논비디오 시간 간격 동안 계속되면, 총 경과 재생 시간, 표제 시간(409)은 제1 경과 재생 시간을 사용하여 결정된다. 따라서, 논비디오 시간 간격 동안, 재생된 프레젠테이션(127)의 정확한 진행이 타이밍 신호(401)와 같은 연속적인 타이밍 신호에 기초하여 표제 시간(409)을 계산함으로써 이루어진다.
재생 속도 기반 타이밍 신호(타이밍 신호(471) 및/또는 미디어 시간 기준(455))나 연속적인 타이밍 신호(타이밍 신호(401))에 기초하는 표제 시간(409)의 정확한 계산을 용이하게 하기 위하여, 일 유형의 시간 간격으로부터 다른 유형으로의 전이를 인식하되, 상기 전이에 적어도 한 단위의 표제 시간(409)만큼 앞서 인식하는 것이 바람직하다. 예를 들어, 논비디오 간격으로부터 비디오 간격으로의 전이 이전에, 비디오 간격 내에 제공될 A/V 데이터(132)의 첫번째 프레임(예컨대, 메인 비디오 클립의 첫번째 프레임)이 렌더링을 위해 준비될 수 있다. 이때, A/V 데이터(132)의 첫번째 프레임은 프레젠테이션 타임라인(130)에 기초하여 프레젠테이션에 대해 스케줄링되는 표제 시간에 제공가능할 것이다. 유사하게, 비디오 간격으로부터 논비디오 간격으로의 전이 전에, IC 데이터(134)의 첫번째 프레임이 먼저 렌더링될 수 있다.
도 1 내지 4를 계속 참조하여, 도 7은 프레젠테이션 컨텐츠(120)/재생된 프레젠테이션(127)의 IC 컴포넌트(124) 및 비디오 컴포넌트(122)와 같은 대화형 멀티미디어 프레젠테이션의 대화형 및 비디오 컴포넌트를 동기로 제공하기 위한, 프레젠테이션 시스템(100)과 같은 대화형 멀티미디어 프레젠테이션 시스템의 능력을 높이는 다른 하나의 방법의 흐름도이다. 상기 방법은 클록 소스를 액세스하는 것과 다양한 시간 기준을 형성하는 것을 포함한다.
프레젠테이션 시스템의 환경(100)에서, 프레젠테이션 컨텐츠(120)/재생된 프레젠테이션(127)은 재생 지속시간(292)을 가진다. IC 컴포넌트(124)는 하나 이상의 미디어 객체(125)를 렌더링하기 위한 명령어(304)를 가지는 애플리케이션(155)을 포함한다. 애플리케이션(155)은 재생 지속시간(292)의 환경에서 애플리케이션 프레젠테이션 간격(321)에 의해 나타내어지는 애플리케이션 재생 지속시간(320)을 가진다. 비디오 컴포넌트(122)는 하나 이상의 클립(123)을 포함한다.
상기 방법은 블록(700)에서 시작하고, 프레젠테이션의 재생 속도에 기초하여 제1 타이밍 신호가 생성되는 블록(702)에서 계속된다. 프레젠테이션 시스템(100)의 환경에서, 타이밍 신호(471)는 재생 속도 입력(480)에 기초하여 타이밍 신호(471)의 속도를 조절하는 클록 소스(470)에 의해 생성된다.
블록(704)에서, 제2 타이밍 신호가 연속적인 소정의 속도로 생성된다. 프레젠테이션 시스템(100)의 환경에서, 타이밍 신호(401)는 클록 소스(402)에 의해 생성된다.
블록(706)에서 표제 시간 기준이 형성된다. 프레젠테이션 시스템(100)의 환경에서, 시간 기준 계산기(408)가 타이밍 신호(401)에 기초하여 재생 지속시간(292)의 경과 재생 시간을 측정함으로써 표제 시간 기준(409)을 형성한다. 도 6과 관련하여 논의된 바와 같이, 표제 시간 기준(409)은 클록 소스(470)에 의해 생성된 타이밍 신호(471)에 간접적으로 기초할 수 있다. 대안적으로, 표제 시간 기준(409)은 타이밍 신호(471) 또는 재생 속도 입력(480)에 기초하는 다른 타이밍 신호에 직접적으로 기초할 수 있다. 미디어 시간 기준(455)은 표제 시간 기준(409)을 형성하도록 시간 기준 계산기(408)에 입력된다.
마름모(708)에서, 표제 시간이 애플리케이션 프레젠테이션 간격 내인지 여부가 판정된다. 표제 시간이 애플리케이션 프레젠테이션 간격 내가 아니면, 블록(715)에서 애플리케이션은 비활성으로 간주된다. 표제 시간이 애플리케이션 간격 내이면, 애플리케이션은 전술한 바와 같이 유효이다. 프레젠테이션 시스템(100)의 환경에서, 표제 시간 기준(409)이 적용가능한 애플리케이션 프레젠테이션 간격(321)에 포함되면, 연관된 애플리케이션(155)은 유효로 간주된다.
마름모(710)에서, 애플리케이션 리소스(예컨대, 리소스 패키지 데이터 구조(340)에 의해 참조되는 리소스)가 로드되는지 여부가 더 판정된다. 필요하다면 리소스 로딩이 블록(712)에서 수행된다. 프레젠테이션 시스템(100)의 환경에서, 애플리케이션이 초기에 유효화될 때나, 애플리케이션이 프레젠테이션의 재생 속도의 변화에 기초하여 유효화될 때(예컨대, 트릭 플레이 이후)와 같이, 특정 애플리케이션(155)을 재생하기 전에, 애플리케이션(155)에 대한 리소스가 파일 캐시와 같은 메모리에 로드된다. 리소스는 미디어 객체를 렌더링하기 위한 명령어(304) 뿐만 아니라 애플리케이션과 연관된 미디어 객체(125)를 포함한다. 특정 애플리케이션에 대한 명령어(304)와 미디어 객체(125)는 집합적으로 리소스 패키지로 지칭된다. 도 3과 관련하여 논의된 바와 같이, 리소스 패키지 데이터 구조(340)는 특정 애플리케이션의 리소스 패키지의 요소의 저장 위치를 참조한다. 리소스 패키지 데이터 구조(340)는 애플리케이션 리소스를 찾아내도록 비디오 컨텐츠 스트림에서 찾아내는 것보다는, 비디오 컴포넌트(122)로 임베드되고 비디오 컴포넌트로부터 직접 판독될 수 있다. 대안적으로, 리소스는 비디오 스트림 내에 직접 임베드되거나 (예컨대, 광 매체 상에 위치하는) 별도의 애플리케이션 패키지로부터 로드될 수 있다.
다시 도 7의 흐름도를 참조하면, 애플리케이션 시간 기준이 블록(714)에서 형성된다. 애플리케이션 시간 기준은 제2 타이밍 신호에 기초하여 애플리케이션 재생 지속시간의 경과 재생 시간을 측정함으로써 형성된다. 프레젠테이션 시스템(100)의 환경에서, 시간 기준(409)이 애플리케이션 프레젠테이션 간격(321)에 포함될 때, 애플리케이션 시간 기준(492)이 형성된다. 시간 기준 계산기(490)는 타이밍 신호(401)에 기초하여 애플리케이션 시간 기준(492)을 생성한다. 애플리케이션 프레젠테이션 간격(321)의 완료시에, 애플리케이션 시간 기준(492)은 리셋(예컨대, 비활성이 되거나 다시 시작)한다. 애플리케이션 시간 기준(492)은 트릭 플레이가 발생할 때와 같은 기타 환경에서도 리셋할 수 있다.
마름모(716)에서, 현재 경과 재생 시간이 적용가능한 페이지 프레젠테이션 간격 내인지 판정되고, 그렇다면, 블록(718)에서 페이지 시간 기준이 형성된다. 페이지 시간 기준은 제2 타이밍 신호(타이밍 신호(401))에 기초하여 적용가능한 페이지 재생 지속시간(332, 337)의 경과 재생 시간을 측정함으로써 형성된다. 현재 경과 재생 시간이 적용가능한 페이지 프레젠테이션 간격 내가 아니면, 블록(717)에서 적용가능한 페이지가 비활성으로 간주된다. 프레젠테이션 시스템(100)의 환경에서, 표제 시간 기준(409)이 적용가능한 페이지 프레젠테이션 간격(343)에 포함될 때 페이지 시간 기준(494)이 형성된다.
애플리케이션 및 페이지 시간 기준은 애플리케이션 프레젠테이션 간격이 끝날 때나, 재생 속도 입력(480) 또는 사용자 이벤트에 대한 응답과 같은 다른 환경에서 리셋할 수 있다. 예를 들어, 트릭 플레이 이후, 표제 시간(409)이 애플리케이션 프레젠테이션 간격(321) 내라고 가정하면, 애플리케이션(및 적용가능한 한에서 페이지 시간 기준)은 (0 또는 기타 시작 값에서) 재시작할 수 있다.
블록(720)에서, 명령어가 미디어 객체와 연관된다. 프레젠테이션 시스템(100)의 환경에서, 명령어의 일 유형은 애플리케이션(155)과 연관된 명령어(304)이다. 명령어(304)는 미디어 객체(들)(125)가 렌더링되는 시간 또는 그 동안의 지속시간을 정할 목적으로 하나 이상의 클록 또는 타이밍 신호의 상태를 참조하기 위해 단독으로 사용되거나 스크립트(308)와 조합하여 사용되는, XML 마크업 요소(302, 306, 310, 312, 360) 또는 그 속성과 같은 하나 이상의 선언형 언어 데이터 구조를 나타낸다. 컨텐츠 컨테이너, 타이밍 컨테이너 또는 스타일 컨테이너 내의 마크업 요소는 타이밍 신호(401) 또는 타이밍 신호(471)를 참조하거나, 이를 참조하는 하나 이상의 속성을 가질 수 있다.
요소 및 그 속성은 타이밍 신호(401) 및/또는 타이밍 신호(407)를 직접 또는 간접적으로 참조할 수 있다. 예를 들어, 타이밍 신호(401)는 클록 소스(402), IC 프레임률 계산기(404), A/V 프레임률 계산기(406), 애플리케이션 시간(492) 또는 페이지 시간(494)을 경유하여 간접적으로 참조될 수 있다. 유사하게, 타이밍 신호(407)는, 예컨대 클록 소스(470), 경과 클립 재생 시간(들)(452), 시간 기준 계산기(454), 미디어 시간 기준(455), 시간 기준 계산기(408) 또는 표제 시간 기준(409)을 경유하여 간접적으로 참조될 수 있다.
일례로, 하나 이상의 속성은 소정의 고화질 DVD 영화에 대하여 사용하기 위한 XML 스키마와 같은 특수 목적 XML 스키마에서 정의될 수 있다. 그러한 속성의 일례는 본 명세서에서 "클록 속성"으로 지칭되며, 이는 고화질 비디오에 대한 DVD 규격에 따르는 XML 문서에 있어서의 사용을 위해 DVD 포럼에 의해 공포된 하나 이상의 XML 스키마에 의해 정의된다. 클록 속성은 타이밍 신호(401) 또는 타이밍 신호(471)를 직접 또는 간접적으로 참조하기 위해 컨텐츠, 타이밍 또는 스타일 컨테이너 내의 다양한 요소들에 있어서 사용가능하다. 다른 일례로, 시간 컨테이너 내의 파, 타이밍 또는 시크 요소는 타이밍 신호(401) 또는 타이밍 신호(471)를 참조하거나, 이를 참조하는 하나 이상의 속성을 가질 수 있다. 이러한 방식으로, XML 문서의 타이밍 컨테이너 내의 마크업 요소는 페이지 시간 및 표제 시간 둘 다를 기준으로 미디어 객체 프레젠테이션 간격(345)을 정의하는데 사용될 수 있다. 또 다른 일례로, 일부 특정 지속시간이 경과한 때에 통지될 애플리케이션에 의해 사용될 수 있는 타이머 요소가 정의될 수 있다. 또 다른 일례로, 사용자 이벤트 및 기타 유형의 이벤트가 상이한 시간 스케일에 관련된 시간에 의해 정의될 수 있다. 특정 이벤트가 유효한 시간 또는 시간 간격은 타이밍 신호(401) 또는 타이밍 신호(471)를 참조하여 정해질 수 있다.
클록, 타이밍 신호, 시간 기준 계산기 및/또는 시간 기준에 대한 논리적 참조를 포함하는 표현들은 XML 문서 내의 요소 또는 요소의 속성을 사용하여 미디어 객체(125)를 제공하기 위한 조건을 정의하는 데에도 사용될 수 있다. 예를 들어, "AND", "OR" 및 "NOT"과 같은 불(Boolean) 연산자가 기타 연산자 또는 그 유형과 함께 그러한 표현 또는 조건을 정의하는데 사용될 수 있다.
마름모(722) 및 블록(724)에 지시된 바와 같이, 명령어에 기초하여 미디어 객체를 렌더링하기 위한 시간에 도달할 때 미디어 객체가 렌더링된다. 사용자 입력이 미디어 객체가 렌더링되는 여부 및 시기를 명령할 수 있기 때문에, 미디어 객체가 언제나 렌더링되지는 않음을 알 것이다.
프레젠테이션 시스템(100)의 환경에서, 특정 애플리케이션(155)의 실행 동안, 애플리케이션에 연관된 문서 객체 모델(document object model; "DOM") 트리(미도시)가 마크업 요소의 상태에 대한 컨텍스트를 유지하고, 애플리케이션에 연관된 스크립트 호스트(미도시)가 스크립트의 변수, 함수 및 기타 상태에 대한 컨텍스트를 유지한다. 애플리케이션 명령어(304)의 실행이 진행되고 사용자 입력이 수신되면, 임의의 영향을 받는 요소들의 특성들이 기록되고 재생된 프레젠테이션(127) 내에서 미디어 객체(125)의 행동(behavior)을 트리거하는데 사용될 수 있다. 프레젠테이션 컨텐츠(120)/재생된 프레젠테이션(127)의 대화형 및 비디오 컴포넌트 사이의 동기화는 DOM과 연관된 클록보다는 DOM 외부의 하나 이상의 클록에 기초하여 이루어짐을 알 수 있다.
명령어(304)의 실행으로부터 유래하는 작업 아이템(미도시)은 큐(들)(미도시)에 위치되며, IC 프레임률(405)에 의해 제공되는 속도로 수행된다. 작업 아이템의 수행으로부터 유래하는 IC 데이터(134)는 렌더러/믹서(110)로 전송된다. 믹서/렌더러(110)는 사용자에 대하여 재생된 프레젠테이션(127)의 대화형 부분을 생성하기 위해 그래픽 평면에서 IC 데이터(134)를 렌더링한다.
도 6 및 7에서 설명된 프로세스는 이하에서 도 8과 관련하여 논의되는 프로세서(802)와 같은 하나 이상의 일반적인 다목적 또는 단일 목적 프로세서에서 구현될 수 있다. 특별히 언급되지 않으면, 본 명세서에서 설명되는 방법들은 특정 순서 또는 차례에 제한되지 않는다. 또한, 설명되는 방법 또는 그 구성요소들의 일부는 동시에 발생하거나 수행될 수 있다.
도 8은 프레젠테이션 시스템(100)의 다양한 기능 컴포넌트들을 구현하는데 사용되거나, 이에 의해 액세스되거나, 이에 포함될 수 있는, 소정의 기능 컴포넌트들을 도시하는, 범용 컴퓨팅 유닛(800)의 블록도이다. 컴퓨팅 유닛(800)의 하나 이상의 컴포넌트들은 IC 관리자(104), 프레젠테이션 관리자(106) 및 AVC 관리자(102)를 구현하는데 사용되거나, 이에 의해 액세스 가능하거나, 이에 포함될 수 있다. 예를 들어, 도 8의 하나 이상의 컴포넌트들은 다양한 방식으로 (전체적 또는 부분적으로) 프레젠테이션 시스템(100)의 기능을 구현하도록 함께 또는 개별적으로 패키징될 수 있다.
프로세서(802)는 컴퓨터 판독 가능 매체(804)와 컴퓨터 프로그램(806)에 응답한다. 실제 또는 가상의 프로세서일 수 있는 프로세서(802)는 컴퓨터 실행 가능 명령어들을 실행함으로써 전자 장치의 기능을 제어한다. 프로세서(802)는 특정 프로세스를 수행하기 위해 어셈블리, 컴파일드 또는 머신 수준에서 명령어들을 실행할 수 있다. 그러한 명령어들은 소스 코드 또는 임의의 기타 알려진 컴퓨터 프로그램 디자인 도구를 사용하여 생성될 수 있다.
컴퓨터 판독 가능 매체(804)는 프로세서(802)에 의해 실행가능한 명령어와 같은 컴퓨터 판독 가능 데이터를 기록, 저장 또는 전송할 수 있는, 지금 알려져 있거나 추후에 개발되는, 임의의 형태의, 임의의 수의 로컬 또는 원격 장치들 및 그 조합을 나타낸다. 특히, 컴퓨터 판독 가능 매체(804)는 (예컨대, ROM(read only memory), 임의의 유형의 PROM(programmable ROM), RAM(random access memory) 또는 플래시 메모리와 같은) 반도체 메모리, (플로피 디스크 드라이브, 하드 디스크 드라이브, 자기 드럼, 자기 테이프 또는 자기 광 디스크와 같은) 자기 저장 장치, (임의의 유형의 컴팩트 디스크 또는 디지털 다기능 디스크와 같은) 광 저장 장치, 버블 메모리, 캐시 메모리, 코어 메모리, 홀로그래픽 메모리, 메모리 스틱, 종이 테이프, 펀치 카드, 또는 이들의 임의의 조합이거나, 이들을 포함할 수 있다. 또한, 컴퓨터 판독 가능 매체(804)는 전송 매체 및 그와 연관된 데이터를 포함할 수 있다. 전송 매체/데이터의 예에는 변조된 캐리어 신호에 의해 반송되는 패킷화된 또는 패킷화되지 않은 데이터와 같은, 유선 또는 무선 전송의 임의의 형태로 구현되는 데이터가 포함되나, 이에 한정되지는 않는다.
컴퓨터 프로그램(806)은 데이터 상의 소정의 연산을 전자적으로 제어하는 저장된 명령어 또는 임의의 신호 처리 방법을 나타낸다. 일반적으로, 컴퓨터 프로그램(806)은 컴포넌트 기반 소프트웨어 개발에 대한 공지된 절차에 따라 소프트웨어 컴포넌트로서 구현되고, (컴퓨터 판독 가능 매체(804)와 같은) 컴퓨터 판독 가능 매체에서 인코딩되는 컴퓨터 실행 가능 명령어이다. 컴퓨터 프로그램은 다양한 방식으로 조합 또는 분배될 수 있다.
프레젠테이션 시스템(100)의 환경에서 기술되는 함수/컴포넌트는 컴퓨터 프로그램의 임의의 특정 실시예에 의한 구현에 한정되지 않는다. 오히려, 함수는 데이터를 전달 또는 변환하는 프로세스이며, 일반적으로 프레젠테이션 시스템(100)의 기능 요소의 임의의 조합에 위치하거나 이에 의해 액세스되는, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 실행되거나, 이들에 의해 구현될 수 있다.
도 8을 계속 참조하여, 도 9는 프레젠테이션 시스템(100)의 전체 또는 일부가 구현 또는 사용될 수 있는 운영 환경(900)의 예시적인 구성의 블록도이다. 운영 환경(900)은 일반적으로 다양한 범용 또는 특수 목적 컴퓨팅 환경을 나타낸다. 운영 환경(900)은 적절한 운영 환경의 일례일 뿐이며, 본 명세서에서 기술되는 방법들 및 시스템(들)의 사용 또는 기능성의 범위에 관하여 어떠한 제한도 암시할 의도가 아니다. 예를 들어, 운영 환경(900)은 개인용 컴퓨터, 워크스테이션, 서버, 휴대용 장치, 랩탑, 태블릿과 같은 컴퓨터의 유형이나, 광 미디어 플레이어 또는 지금 알려져 있거나 추후에 개발되는 다른 유형의 미디어 플레이어와 같은 임의의 다른 유형의 전자 장치, 또는 그들의 임의의 애스펙트(aspect)일 수 있다. 또한, 운영 환경(900)은, 예컨대 분산 컴퓨팅 네트워크 또는 웹 서비스일 수 있다. 운영 환경(900)의 구체적인 예는 고화질 DVD 영화의 재생을 용이하게 하는, DVD 플레이어 또는 그와 연관된 운영 체제와 같은 환경이다.
도시된 바와 같이, 운영 환경(900)은 프로세서(802), 컴퓨터 판독 가능 매체(804) 및 컴퓨터 프로그램(806)을 포함하는 컴퓨팅 유닛(800)의 컴포넌트를 포함하거나 이에 액세스한다. 저장소(904)는 광 디스크 드라이브(906)에 의해 처리되는 광 디스크와 같이, 운영 환경(900)에 특히 연관된 추가적인 또는 상이한 컴퓨터 판독 가능 매체를 포함한다. 공지되어 있고 널리 이용가능한 요소인 하나 이상의 내부 버스(920)가 컴퓨팅 환경(900) 또는 그 요소 내에서나, 그로, 또는 그로부터 데이터, 주소, 제어 신호 및 기타 정보를 반송하는데 사용될 수 있다.
입력 인터페이스(들)(908)는 컴퓨팅 환경(900)으로의 입력을 제공한다. 입력은 사용자 인터페이스와 같은 임의의 유형의 지금 알려지거나 추후에 개발될 인터페이스를 사용하여 수집될 수 있다. 사용자 인터페이스는 리모트 컨트롤, 디스플레이, 마우스, 펜, 스타일러스, 트랙볼, 키보드, 마이크로폰, 스캐닝 장치, 및 데이터를 입력하는데 사용되는 모든 유형의 장치들과 같은 터치 입력(touch-input) 장치일 수 있다.
출력 인터페이스(들)(910)는 컴퓨팅 환경(900)으로부터의 출력을 제공한다. 출력 인터페이스(들)(910)의 예에는 디스플레이, 프린터, 스피커, (광 디스크 드라이브(906) 및 기타 디스크 드라이브와 같은) 드라이브 등이 포함된다.
외부 통신 인터페이스(들)(912)는 컴퓨터 판독 가능 매체, 또는 데이터 신호, 채널 신호와 같은 통신 매체를 통해 다른 엔티티로부터/로 정보를 수신하거나 정보를 송신하기 위한 컴퓨팅 환경(900)의 능력을 높이도록 이용가능하다. 외부 통신 인터페이스(들)(912)는 케이블 모뎀, 데이터 단말 장치, 미디어 플레이어, 데이터 저장 장치, 개인 휴대 정보 단말기, 또는 임의의 기타 장치 또는 컴포넌트/조합, 및 연관된 네트워크 지원 장치 및/또는 소프트웨어 또는 인터페이스이거나, 이를 포함할 수 있다.
도 10은 프레젠테이션 시스템(100) 또는 운영 환경(1000)이 사용될 수 있는 것과 관련된 클라이언트-서버 아키텍처(1000)의 단순화된 기능도이다. 프레젠테이션 시스템(100) 및/또는 운영 환경(900)의 하나 이상의 애스펙트들이 아키텍처(1000)의 클라이언트 사이드(1002)나 아키텍처(1000)의 서버 사이드(1004) 상에 나타내어질 수 있다. 도시된 바와 같이, (임의의 유형, 예컨대 유선 또는 무선의 임의의 공중 또는 사설 네트워크일 수 있는) 통신 프레임워크(1303)가 클라이언트 사이드(1002)와 서버 사이드(1004) 사이의 통신을 용이하게 한다.
클라이언트 사이드(1002) 상에서, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있는 하나 이상의 클라이언트(1006)가 클라이언트 데이터 스토어(1008)에 응답한다. 클라이언트 데이터 스토어(1008)는 클라이언트(1006)에 로컬인 정보를 저장하도록 이용되는 컴퓨터 판독 가능 매체(804)일 수 있다. 서버 사이드(1004) 상에서 하나 이상의 서버(1010)가 서버 데이터 스토어(1012)에 응답한다. 클라이언트 데이터 스토어(1008)처럼, 서버 데이터 스토어(1012)는 서버(1010)에 로컬인 정보를 저장하는데 이용되는 컴퓨터 판독 가능 매체(804)일 수 있다.
오디오/비디오 컨텐츠와 함께 동기로 사용자에게 대화형 컨텐츠를 제공하는데 사용되는 대화형 멀티미디어 프레젠테이션 시스템의 다양한 측면들이 설명되었다. 대화형 멀티미디어 프레젠테이션은 재생 지속시간, 가변 재생 속도, 비디오 컴포넌트 및 IC 컴포넌트를 가지는 것으로서 일반적으로 설명되었다. 그러나, 전술한 컴포넌트들이 사용될 필요는 없으며, 사용될 때 동시에 제공되는 컴포넌트일 필요는 없다는 것을 이해할 것이다. 컴퓨터 프로그램으로서 프레젠테이션 시스템(100)의 환경에서 설명된 함수/컴포넌트는 컴퓨터 프로그램의 임의의 구체적인 실시예에 의한 구현에 한정되지 않는다. 오히려, 함수는 데이터를 전달 또는 전송하는 프로세스이며, 일반적으로 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 실행되거나 이에 의해 구현될 수 있다.
본 명세서에서 대상이 구조적인 특징들 및/또는 방법론적인 행위들에 대하여 특정적인 언어로 기술되었으나, 청구범위에서 정의되는 대상이 이상에서 기술된 특징들 또는 행위들에 반드시 한정되는 것이 아님 또한 이해할 것이다. 오히려, 이상에서 기술된 구체적인 특징들 및 행위들은 청구범위를 구현하는 예시적인 형태로서 개시된다.
또한, 하나의 요소가 다른 요소에 대해 응답하는 것으로 나타내어진 경우, 그 요소들은 직접적으로 또는 간접적으로 결합될 수 있음을 이해할 것이다. 본 명세서에서 표현된 연결들은 요소들 사이의 결합 또는 통신 인터페이스를 이루기 위해 실제로 논리적 또는 물리적일 수 있다. 연결들은, 다른 방식들 중에서도 소프트웨어 프로세스 중에서의 프로세스간 통신 또는 네트워킹된 컴퓨터 중에서의 머신간 통신으로서 구현될 수 있다.
"예시적"이라는 단어는 보기, 사례 또는 예시로서 제공하는 것을 의미하기 위해 본 명세서에서 사용된다. 본 명세서에서 "예시적"인 것으로 기술된 임의의 구현예 또는 그 특징은 반드시 다른 구현예들 또는 그 특징들보다 바람직하거나 유리한 것으로서 구성되지는 않을 것이다.
이상에서 기술된 구체적인 실시예들과 다른 실시예들이 첨부된 청구범위의 사상 및 범주를 벗어나지 않고 고안될 수 있음을 알 수 있으므로, 본 명세서의 대상의 범주는 이하의 청구범위에 의해 결정될 것이다.

Claims (20)

  1. 재생 속도, 비디오 컨텐츠 컴포넌트 및 대화형 컨텐츠 컴포넌트를 가지는 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법 - 상기 비디오 컨텐츠 컴포넌트는 제1 프레임 속도(frame rate)로 생성된 오디오-비주얼 프레임의 세트를 포함하고, 상기 대화형 컨텐츠 컴포넌트는 복수의 미디어 객체를 렌더링하기 위한 명령어들을 가지는 애플리케이션을 포함하고, 각각의 미디어 객체는 상기 제1 프레임 속도와는 상이한 제2 프레임 속도로 생성된 대화형 컨텐츠 프레임의 세트로서 렌더링 가능함 - 으로서,
    상기 재생 속도에 기초하는 속도로 제1 타이밍 신호를 생성하는 단계 - 상기 제1 타이밍 신호는 상기 제1 프레임 속도와 연관됨 - ;
    미리 정해진 지속적인 속도(continuous rate)로 제2 타이밍 신호를 생성하는 단계 - 상기 제2 타이밍 신호는 상기 제2 프레임 속도와 연관됨 - ;
    미디어 객체가 렌더링 가능한 시간을 지정하는 명령어에 액세스하는 단계 - 상기 시간을 지정하는 명령어는 상기 제1 타이밍 신호 또는 상기 제2 타이밍 신호 중 어느 하나에 대한 논리적 참조(logical reference)를 통해 상기 시간을 지정하되, 상기 명령어는 상기 비디오 컨텐츠 컴포넌트가 프레젠테이션을 위해 스케줄링된 경우 상기 제1 타이밍 신호에 기초하여 상기 시간을 지정하고, 상기 명령어는 상기 비디오 컨텐츠 컴포넌트가 프레젠테이션을 위해 스케줄링되지 않은 경우 상기 제2 타이밍 신호에 기초하여 상기 시간을 지정함 - ; 및
    상기 대화형 멀티미디어 프레젠테이션을 재생하는 동안에 상기 미디어 객체를 상기 시간에 렌더링하되,
    상기 명령어가 상기 제1 타이밍 신호에 기초하여 상기 시간을 지정한 경우, 상기 미디어 객체와 연관된 상기 대화형 컨텐츠 프레임의 세트를 이루는 대화형 컨텐츠 프레임을 상기 비디오 컨텐츠 컴포넌트를 구성하는 상기 오디오-비주얼 프레임의 세트를 이루는 오디오-비주얼 프레임에 프레임 레벨(frame-level)로 동기화하여 렌더링하고,
    상기 명령어가 상기 제2 타이밍 신호에 기초하여 상기 시간을 지정한 경우, 상기 미디어 객체와 연관된 상기 대화형 컨텐츠 프레임의 세트를 이루는 대화형 컨텐츠 프레임을 상기 비디오 컨텐츠 컴포넌트와 독립적으로 렌더링하는 단계
    를 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 명령어는 애플리케이션 명령어를 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  5. 제4항에 있어서,
    상기 애플리케이션 명령어는 선언문(declarative) 형태인, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  6. 제5항에 있어서,
    상기 애플리케이션 명령어는 XML(extensible markup language) 데이터 구조와 연관된 요소를 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  7. 제6항에 있어서,
    상기 시간은 상기 요소의 속성을 이용하여 지정되는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  8. 제7항에 있어서,
    상기 속성은 클록 속성을 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  9. 제6항에 있어서,
    상기 XML 데이터 구조의 신택스(syntax)는 DVD 포럼에 의해 발행된 HD(high definition) 비디오에 대한 사양(specification)에 따르는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  10. 제4항에 있어서,
    상기 애플리케이션 명령어는 스크립트 형태인, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  11. 제1항에 있어서,
    상기 제1 타이밍 신호는 상기 비디오 컨텐츠 컴포넌트가 비디오 소스로부터 수신되는 속도를 조정하기 위해 이용되는 클록 입력을 포함하고,
    상기 비디오 컨텐츠 컴포넌트는 비디오, 오디오 및 데이터를 포함하는 그룹으로부터 선택된 샘플들을 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  12. 제1항에 있어서,
    상기 제2 타이밍 신호는 벽시계 신호를 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  13. 제1항에 있어서,
    상기 제1 타이밍 신호 및 상기 제2 타이밍 신호는 동일한 클록 신호로부터 유도되는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  14. 제1항에 있어서,
    상기 재생 속도는 멈춤, 느리게 감기, 빠르게 감기, 느리게 되감기 및 빠르게 되감기 중 하나를 포함하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 방법.
  15. 제1항의 단계들을 수행하기 위한 컴퓨터 실행 가능 명령어들로 인코딩되는, 컴퓨터 판독가능 저장 매체.
  16. 재생 속도, 비디오 컨텐츠 컴포넌트 및 대화형 컨텐츠 컴포넌트를 가지는 대화형 멀티미디어 프레젠테이션을 재생하기 위한 장치 - 상기 비디오 컨텐츠 컴포넌트는 제1 프레임 속도(frame rate)로 생성된 오디오-비주얼 프레임의 세트를 포함하고, 상기 대화형 컨텐츠 컴포넌트는 복수의 미디어 객체를 렌더링하기 위한 명령어들을 가지는 애플리케이션을 포함하고, 각각의 미디어 객체는 상기 제1 프레임 속도와는 상이한 제2 프레임 속도로 생성된 대화형 컨텐츠 프레임의 세트로서 렌더링 가능함 - 로서,
    컴퓨터 판독가능 기록 매체; 및
    상기 컴퓨터 판독가능 기록 매체 및 상기 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 프로그램에 반응하는 프로세서
    를 포함하고,
    상기 컴퓨터 프로그램이 상기 프로세서 내로 로딩되는 경우, 상기 컴퓨터 프로그램은,
    상기 재생 속도에 기초하는 속도를 가지는 제1 타이밍 신호에 액세스하는 단계 - 상기 제1 타이밍 신호는 상기 제1 프레임 속도와 연관됨 - ;
    미리 정해진 지속적인 속도(continuous rate)를 갖는 제2 타이밍 신호에 액세스하는 단계 - 상기 제2 타이밍 신호는 상기 제2 프레임 속도와 연관됨 - ;
    미디어 객체가 렌더링 가능한 시간을 지정하는 명령어에 액세스하는 단계 - 상기 시간을 지정하는 명령어는 상기 제1 타이밍 신호 또는 상기 제2 타이밍 신호 중 어느 하나에 대한 논리적 참조(logical reference)를 통해 상기 시간을 지정하되, 상기 명령어는 상기 비디오 컨텐츠 컴포넌트가 프레젠테이션을 위해 스케줄링된 경우 상기 제1 타이밍 신호에 기초하여 상기 시간을 지정하고, 상기 명령어는 상기 비디오 컨텐츠 컴포넌트가 프레젠테이션을 위해 스케줄링되지 않은 경우 상기 제2 타이밍 신호에 기초하여 상기 시간을 지정함 - ; 및
    상기 대화형 멀티미디어 프레젠테이션을 재생하는 동안에, 상기 명령어에 기초하여 상기 미디어 객체를 상기 시간에 렌더링하되,
    상기 명령어가 상기 제1 타이밍 신호에 기초하여 상기 시간을 지정한 경우, 상기 미디어 객체와 연관된 상기 대화형 컨텐츠 프레임의 세트를 이루는 대화형 컨텐츠 프레임을 상기 비디오 컨텐츠 컴포넌트를 구성하는 상기 오디오-비주얼 프레임의 세트를 이루는 오디오-비주얼 프레임에 프레임 레벨(frame-level)로 동기화하여 렌더링하고,
    상기 명령어가 상기 제2 타이밍 신호에 기초하여 상기 시간을 지정한 경우, 상기 미디어 객체와 연관된 상기 대화형 컨텐츠 프레임의 세트를 이루는 대화형 컨텐츠 프레임을 상기 비디오 컨텐츠 컴포넌트와 독립적으로 렌더링하는 단계
    를 수행하도록 동작하는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 장치.
  17. 삭제
  18. 제16항에 있어서,
    상기 프로세서는 광 디스크 플레이어와 연관되는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 장치.
  19. 제18항에 있어서,
    상기 광 디스크 플레이어는 DVD 포럼에 의해 발행된 HD 비디오에 대한 사양에 따르는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 장치.
  20. 제18항에 있어서,
    상기 프로세서는 전자 장치와 연관되는, 대화형 멀티미디어 프레젠테이션을 재생하기 위한 장치.
KR1020077030578A 2005-07-01 2006-06-20 대화형 멀티미디어 프레젠테이션 관리의 동기 특징 KR101265890B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US69594405P 2005-07-01 2005-07-01
US60/695,944 2005-07-01
US11/355,209 US8799757B2 (en) 2005-07-01 2006-02-15 Synchronization aspects of interactive multimedia presentation management
US11/355,209 2006-02-15

Publications (2)

Publication Number Publication Date
KR20080021073A KR20080021073A (ko) 2008-03-06
KR101265890B1 true KR101265890B1 (ko) 2013-05-20

Family

ID=37591293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077030578A KR101265890B1 (ko) 2005-07-01 2006-06-20 대화형 멀티미디어 프레젠테이션 관리의 동기 특징

Country Status (5)

Country Link
US (1) US8799757B2 (ko)
EP (1) EP1899970A4 (ko)
JP (1) JP5015149B2 (ko)
KR (1) KR101265890B1 (ko)
WO (1) WO2007005294A2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4232746B2 (ja) * 2005-02-24 2009-03-04 ソニー株式会社 再生装置、表示制御方法
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US7941522B2 (en) 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8305398B2 (en) * 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8108787B2 (en) * 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US7814412B2 (en) * 2007-01-05 2010-10-12 Microsoft Corporation Incrementally updating and formatting HD-DVD markup
US8331405B2 (en) * 2007-02-02 2012-12-11 Cisco Technology, Inc. Mechanism for channel synchronization
US9158776B2 (en) 2007-08-06 2015-10-13 Apple Inc. Slideshows comprising various forms of media
EP2048890A1 (en) * 2007-10-11 2009-04-15 Thomson Licensing System and method for an early start of audio-video rendering
EP2257040A1 (en) * 2009-05-29 2010-12-01 Thomson Licensing Method and apparatus for distributing a multimedia content
US20110060993A1 (en) * 2009-09-08 2011-03-10 Classified Ventures, Llc Interactive Detailed Video Navigation System
US9552330B2 (en) * 2012-03-23 2017-01-24 International Business Machines Corporation Indicating a page number of an active document page within a document
US9207834B2 (en) 2012-06-11 2015-12-08 Edupresent Llc Layered multimedia interactive assessment system
US20130336379A1 (en) * 2012-06-13 2013-12-19 Divx, Llc System and Methods for Encoding Live Multimedia Content with Synchronized Resampled Audio Data
US9535577B2 (en) 2012-07-16 2017-01-03 Questionmine, LLC Apparatus, method, and computer program product for synchronizing interactive content with multimedia
US9639623B2 (en) 2012-12-20 2017-05-02 Cable Television Laboratories, Inc. Method for remotely controlling a video playing within a first web page at a first device from a second device using a document object model
US9832178B2 (en) 2012-12-20 2017-11-28 Cable Television Laboratories, Inc. Administration of web page
US9613011B2 (en) 2012-12-20 2017-04-04 Cable Television Laboratories, Inc. Cross-reference of shared browser applications
US9413796B2 (en) * 2013-06-07 2016-08-09 Amx, Llc Customized information setup, access and sharing during a live conference
US10191647B2 (en) 2014-02-06 2019-01-29 Edupresent Llc Collaborative group video production system
US11831692B2 (en) * 2014-02-06 2023-11-28 Bongo Learn, Inc. Asynchronous video communication integration system
US10142585B2 (en) * 2015-04-28 2018-11-27 Rovi Guides, Inc. Methods and systems for synching supplemental audio content to video content
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
JP2018032912A (ja) * 2016-08-22 2018-03-01 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112268A1 (en) * 2001-09-11 2003-06-19 Sony Corporation Device for producing multimedia presentation

Family Cites Families (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195092A (en) 1987-08-04 1993-03-16 Telaction Corporation Interactive multimedia presentation & communication system
US5208745A (en) 1988-07-25 1993-05-04 Electric Power Research Institute Multimedia interface and method for computer system
WO1992021211A1 (en) 1991-05-21 1992-11-26 Videotelecom Corp. A multiple medium message recording system
JP2512250B2 (ja) 1991-09-13 1996-07-03 松下電器産業株式会社 動画表示ワ―クステ―ション
US5394547A (en) 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5452435A (en) 1993-03-31 1995-09-19 Kaleida Labs, Inc. Synchronized clocks and media players
US5515490A (en) 1993-11-05 1996-05-07 Xerox Corporation Method and system for temporally formatting data presentation in time-dependent documents
US5574934A (en) 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
JP2701724B2 (ja) * 1993-12-28 1998-01-21 日本電気株式会社 シナリオ編集装置
USRE44685E1 (en) * 1994-04-28 2013-12-31 Opentv, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system
US6122433A (en) * 1994-10-20 2000-09-19 Thomson Licensing S.A. HDTV trick play stream derivation for VCR
US5717468A (en) * 1994-12-02 1998-02-10 International Business Machines Corporation System and method for dynamically recording and displaying comments for a video movie
JP3701051B2 (ja) 1995-07-04 2005-09-28 パイオニア株式会社 情報記録装置及び情報再生装置
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
JP3471526B2 (ja) 1995-07-28 2003-12-02 松下電器産業株式会社 情報提供装置
US5966121A (en) 1995-10-12 1999-10-12 Andersen Consulting Llp Interactive hypervideo editing system and interface
US5760780A (en) 1996-01-31 1998-06-02 Hewlett-Packard Company Computer graphics system using caching of pixel Z values to improve rendering performance
US5631694A (en) 1996-02-01 1997-05-20 Ibm Corporation Maximum factor selection policy for batching VOD requests
US6240555B1 (en) 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
JP3617887B2 (ja) 1996-10-14 2005-02-09 シャープ株式会社 撮像装置
US5949410A (en) 1996-10-18 1999-09-07 Samsung Electronics Company, Ltd. Apparatus and method for synchronizing audio and video frames in an MPEG presentation system
US5877763A (en) 1996-11-20 1999-03-02 International Business Machines Corporation Data processing system and method for viewing objects on a user interface
US5893062A (en) * 1996-12-05 1999-04-06 Interval Research Corporation Variable rate video playback with synchronized audio
US6128712A (en) 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
TW405110B (en) * 1997-04-15 2000-09-11 Hitachi Ltd Method of digital image signal recording and/or regeneration and its device
KR100243209B1 (ko) * 1997-04-30 2000-02-01 윤종용 오류정정 능력을 개선한 디지털 기록/재생 장치와 그 방법
US6215505B1 (en) * 1997-06-20 2001-04-10 Nippon Telegraph And Telephone Corporation Scheme for interactive video manipulation and display of moving object on background image
US6069633A (en) 1997-09-18 2000-05-30 Netscape Communications Corporation Sprite engine
US6100881A (en) 1997-10-22 2000-08-08 Gibbons; Hugh Apparatus and method for creating interactive multimedia presentation using a shoot lost to keep track of audio objects of a character
US5956026A (en) * 1997-12-19 1999-09-21 Sharp Laboratories Of America, Inc. Method for hierarchical summarization and browsing of digital video
US6665835B1 (en) 1997-12-23 2003-12-16 Verizon Laboratories, Inc. Real time media journaler with a timing event coordinator
US6453459B1 (en) 1998-01-21 2002-09-17 Apple Computer, Inc. Menu authoring system and method for automatically performing low-level DVD configuration functions and thereby ease an author's job
US6385596B1 (en) 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6426778B1 (en) 1998-04-03 2002-07-30 Avid Technology, Inc. System and method for providing interactive components in motion video
US6067638A (en) 1998-04-22 2000-05-23 Scientific Learning Corp. Simulated play of interactive multimedia applications for error detection
EP1034656A2 (en) 1998-06-11 2000-09-13 Koninklijke Philips Electronics N.V. Trick play signal generation for a digital video recorder
US6212595B1 (en) 1998-07-29 2001-04-03 International Business Machines Corporation Computer program product for fencing a member of a group of processes in a distributed processing environment
US20030025599A1 (en) 2001-05-11 2003-02-06 Monroe David A. Method and apparatus for collecting, sending, archiving and retrieving motion video and still images and notification of detected events
US6715126B1 (en) 1998-09-16 2004-03-30 International Business Machines Corporation Efficient streaming of synchronized web content from multiple sources
JP3961693B2 (ja) 1998-09-28 2007-08-22 株式会社東芝 映像表示装置
WO2000028518A2 (en) 1998-11-09 2000-05-18 Broadcom Corporation Graphics display system
GB2344453B (en) 1998-12-01 2002-12-11 Eidos Technologies Ltd Multimedia editing and composition system having temporal display
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6384846B1 (en) 1998-12-11 2002-05-07 Hitachi America Ltd. Methods and apparatus for rendering multiple images using a limited rendering resource
GB2344925A (en) 1998-12-16 2000-06-21 Memory Corp Plc Optical storage disc storing compressed and uncompressed data
US6892351B2 (en) * 1998-12-17 2005-05-10 Newstakes, Inc. Creating a multimedia presentation from full motion video using significance measures
US6430570B1 (en) 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
CN100505076C (zh) 1999-03-30 2009-06-24 提维股份有限公司 多媒体可视的播放进度指示系统
US6711620B1 (en) 1999-04-14 2004-03-23 Matsushita Electric Industrial Co. Event control device and digital broadcasting system
US6340977B1 (en) 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6369830B1 (en) 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
US6629150B1 (en) 1999-06-18 2003-09-30 Intel Corporation Platform and method for creating and using a digital container
US6772413B2 (en) 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US20040220926A1 (en) 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
WO2001050401A1 (en) * 2000-01-06 2001-07-12 Hd Media, Inc. System and method for distributing and controlling the output of media in public spaces
US20020157103A1 (en) 2000-01-07 2002-10-24 Deyang Song Method for digital media playback in a broadcast network
US8117644B2 (en) 2000-01-07 2012-02-14 Pennar Software Corporation Method and system for online document collaboration
US20050251732A1 (en) 2000-01-20 2005-11-10 Interactual Technologies, Inc. System, method and article of manufacture for executing a multimedia event on a plurality of client computers using a synchronization host engine
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
CA2340144A1 (en) 2000-03-09 2001-09-09 Ethereal Minds, Inc. System and method for pre-loading still imagery data in an interactive multimedia presentation environment
US7725812B1 (en) * 2000-03-31 2010-05-25 Avid Technology, Inc. Authoring system for combining temporal and nontemporal digital media
US6628283B1 (en) 2000-04-12 2003-09-30 Codehorse, Inc. Dynamic montage viewer
DE10021286B4 (de) 2000-05-02 2005-03-10 Kara Can Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten
US6505153B1 (en) 2000-05-22 2003-01-07 Compaq Information Technologies Group, L.P. Efficient method for producing off-line closed captions
US7131143B1 (en) 2000-06-21 2006-10-31 Microsoft Corporation Evaluating initially untrusted evidence in an evidence-based security policy manager
US7669238B2 (en) 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
KR100424481B1 (ko) 2000-06-24 2004-03-22 엘지전자 주식회사 디지털 방송 부가서비스 정보의 기록 재생장치 및 방법과그에 따른 기록매체
US8495679B2 (en) 2000-06-30 2013-07-23 Thomson Licensing Method and apparatus for delivery of television programs and targeted de-coupled advertising
US7350204B2 (en) 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
JP2004507172A (ja) 2000-08-16 2004-03-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチメディアアプリケーションを再生する方法
AU2001224098A1 (en) 2000-08-25 2002-03-04 4C Soft Inc Electronic study method using multimedia
US6785729B1 (en) 2000-08-25 2004-08-31 International Business Machines Corporation System and method for authorizing a network user as entitled to access a computing node wherein authenticated certificate received from the user is mapped into the user identification and the user is presented with the opprtunity to logon to the computing node only after the verification is successful
US7200357B2 (en) 2000-10-20 2007-04-03 Universal Electronics Inc. Automotive storage and playback device and method for using the same
US20020099738A1 (en) 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US7210037B2 (en) 2000-12-15 2007-04-24 Oracle International Corp. Method and apparatus for delegating digital signatures to a signature server
US6728681B2 (en) 2001-01-05 2004-04-27 Charles L. Whitham Interactive multimedia book
US6792426B2 (en) 2001-01-10 2004-09-14 International Business Machines Corporation Generic servlet for browsing EJB entity beans
US6738911B2 (en) 2001-02-02 2004-05-18 Keith Hayes Method and apparatus for providing client-based network security
US20020138593A1 (en) 2001-03-26 2002-09-26 Novak Michael J. Methods and systems for retrieving, organizing, and playing media content
AUPR464601A0 (en) 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US20020188616A1 (en) 2001-06-07 2002-12-12 Chinnici Roberto R. Database access bridge system and process
EP1417555A2 (en) 2001-06-18 2004-05-12 Daon Holdings Limited An electronic data vault providing biometrically protected electronic signatures
WO2003005190A1 (en) 2001-07-06 2003-01-16 E-Genie Australia Pty Limited Method and system for computer software application execution
US6565153B2 (en) 2001-07-31 2003-05-20 Johnson Controls Technology Corporation Upper back support for a seat
EP1286349A1 (en) 2001-08-21 2003-02-26 Canal+ Technologies Société Anonyme File and content management
US6920613B2 (en) 2001-08-27 2005-07-19 Xerox Corporation Video/text bi-directional linkage for software fault clearance applications
FR2829644A1 (fr) 2001-09-10 2003-03-14 St Microelectronics Sa Procede securise de transmission de donnees multimedia
US7356763B2 (en) * 2001-09-13 2008-04-08 Hewlett-Packard Development Company, L.P. Real-time slide presentation multimedia data object and system and method of recording and browsing a multimedia data object
US7161599B2 (en) 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US20040205479A1 (en) 2001-10-30 2004-10-14 Seaman Mark D. System and method for creating a multimedia presentation
US20030152904A1 (en) 2001-11-30 2003-08-14 Doty Thomas R. Network based educational system
US6925499B1 (en) 2001-12-19 2005-08-02 Info Value Computing, Inc. Video distribution system using disk load balancing by file copying
US20030142137A1 (en) 2002-01-28 2003-07-31 International Business Machines Corporation Selectively adjusting the order of windows in response to a scroll wheel rotation
TWI247295B (en) 2002-03-09 2006-01-11 Samsung Electronics Co Ltd Reproducing method and apparatus for interactive mode using markup documents
KR100544180B1 (ko) 2002-03-09 2006-01-23 삼성전자주식회사 마크업 문서를 사용하여 av 데이터를 인터랙티브 모드로 재생하는 장치
US20030182364A1 (en) 2002-03-14 2003-09-25 Openwave Systems Inc. Method and apparatus for requesting and performing batched operations for web services
US7127700B2 (en) 2002-03-14 2006-10-24 Openwave Systems Inc. Method and apparatus for developing web services using standard logical interfaces to support multiple markup languages
US7496845B2 (en) 2002-03-15 2009-02-24 Microsoft Corporation Interactive presentation viewing system employing multi-media components
US7080043B2 (en) 2002-03-26 2006-07-18 Microsoft Corporation Content revocation and license modification in a digital rights management (DRM) system on a computing device
JP2003284003A (ja) 2002-03-27 2003-10-03 Sanyo Electric Co Ltd デジタル映像信号再生装置
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
JP4436617B2 (ja) 2002-04-26 2010-03-24 パナソニック株式会社 逆多重化装置
US7496599B2 (en) 2002-04-30 2009-02-24 Microsoft Corporation System and method for viewing relational data using a hierarchical schema
US6928619B2 (en) 2002-05-10 2005-08-09 Microsoft Corporation Method and apparatus for managing input focus and z-order
KR100866790B1 (ko) 2002-06-29 2008-11-04 삼성전자주식회사 인터렉티브 모드에서의 포커싱 방법 및 그 장치
US20040034622A1 (en) 2002-08-13 2004-02-19 Espinoza Danny Javier Applications software and method for authoring and communicating multimedia content in a multimedia object communication and handling platform
US7290057B2 (en) 2002-08-20 2007-10-30 Microsoft Corporation Media streaming of web content data
US7038581B2 (en) 2002-08-21 2006-05-02 Thomson Licensing S.A. Method for adjusting parameters for the presentation of multimedia objects
US20040107179A1 (en) 2002-08-22 2004-06-03 Mdt, Inc. Method and system for controlling software execution in an event-driven operating system environment
US20040039909A1 (en) 2002-08-22 2004-02-26 David Cheng Flexible authentication with multiple levels and factors
JP2004086551A (ja) 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd イベント制御装置及び方法
EP1551027A4 (en) 2002-09-12 2009-08-05 Panasonic Corp RECORDING MEDIUM, REPRODUCTION DEVICE, PROGRAM, REPRODUCTION METHOD, AND RECORDING METHOD
US7519616B2 (en) 2002-10-07 2009-04-14 Microsoft Corporation Time references for multimedia objects
US7840856B2 (en) 2002-11-07 2010-11-23 International Business Machines Corporation Object introspection for first failure data capture
US7328076B2 (en) 2002-11-15 2008-02-05 Texas Instruments Incorporated Generalized envelope matching technique for fast time-scale modification
KR100484181B1 (ko) 2002-12-02 2005-04-20 삼성전자주식회사 멀티미디어 문서 저작 장치 및 방법
CA2414053A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7290263B1 (en) 2002-12-19 2007-10-30 Extreme, Networks, Inc. Method and system for a scriptable command line interface
JP3840183B2 (ja) * 2003-01-10 2006-11-01 株式会社東芝 情報再生装置及び情報再生方法
WO2004063900A2 (en) 2003-01-10 2004-07-29 Nexaweb Technologies, Inc. System and method for network-based computing
JP2004221900A (ja) 2003-01-14 2004-08-05 Sony Corp 画像情報復号装置及び画像情報復号方法
US7302057B2 (en) 2003-01-31 2007-11-27 Realnetworks, Inc. Method and process for transmitting video content
KR101019360B1 (ko) * 2003-01-31 2011-03-07 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법
US7437659B2 (en) 2003-02-03 2008-10-14 Microsoft Corporation Automatic correction, and skipping of document design problems based on document types
US20040187157A1 (en) 2003-03-18 2004-09-23 Yen-Hwong Chong Multifunctional integrated multimedia viewer system
US7735104B2 (en) 2003-03-20 2010-06-08 The Directv Group, Inc. System and method for navigation of indexed video content
US7620301B2 (en) 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
JP4727908B2 (ja) * 2003-04-23 2011-07-20 シャープ株式会社 コンテンツ再生装置、コンピュータプログラム、及び記録媒体
US20040221174A1 (en) 2003-04-29 2004-11-04 Eric Le Saint Uniform modular framework for a host computer system
US6906643B2 (en) 2003-04-30 2005-06-14 Hewlett-Packard Development Company, L.P. Systems and methods of viewing, modifying, and interacting with “path-enhanced” multimedia
JP2004357275A (ja) 2003-05-07 2004-12-16 Nec Corp 映像記録装置、記録媒体、映像記録方法及びプログラム
US20040244003A1 (en) 2003-05-30 2004-12-02 Vidiator Enterprises Inc. Apparatus and method for task scheduling for media processing
US7739715B2 (en) * 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
EP2068563B1 (en) 2003-06-30 2010-11-10 Panasonic Corporation Recording medium, reproduction device, recording method, program, and reproduction method
CN101241735B (zh) 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
KR20050022072A (ko) 2003-08-26 2005-03-07 삼성전자주식회사 인터렉티브 데이터 처리방법 및 장치
JP4719150B2 (ja) 2003-09-17 2011-07-06 パナソニック株式会社 アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム
TW200518070A (en) * 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
US7511718B2 (en) 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US8065616B2 (en) * 2003-10-27 2011-11-22 Nokia Corporation Multimedia presentation editor for a small-display communication terminal or computing device
JP4199804B2 (ja) * 2003-11-12 2008-12-24 パナソニック株式会社 再生装置、記録方法、プログラム、再生方法
CN101661767B (zh) 2003-11-12 2011-07-27 松下电器产业株式会社 记录介质、再现装置和方法、记录方法以及计算机可读取程序
JP4507569B2 (ja) 2003-11-19 2010-07-21 ソニー株式会社 情報処理装置および情報処理方法、プログラム、並びに記録媒体
US7681114B2 (en) 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
US7882034B2 (en) 2003-11-21 2011-02-01 Realnetworks, Inc. Digital rights management for content rendering on playback devices
EP1536606A1 (fr) 2003-11-27 2005-06-01 Nagracard S.A. Méthode d'authentification d'applications
CN1757074A (zh) 2003-11-28 2006-04-05 索尼株式会社 再现设备、再现方法、再现程序、和记录介质
US20050128520A1 (en) 2003-12-16 2005-06-16 Jeff Glickman Digital signature protection for software
US20050149729A1 (en) 2003-12-24 2005-07-07 Zimmer Vincent J. Method to support XML-based security and key management services in a pre-boot execution environment
JP4166707B2 (ja) 2004-01-20 2008-10-15 パイオニア株式会社 映像内容認識装置、録画装置、映像内容認識方法、録画方法、映像内容認識プログラム、および録画プログラム
US7801303B2 (en) 2004-03-01 2010-09-21 The Directv Group, Inc. Video on demand in a broadcast network
JP4009634B2 (ja) 2004-03-04 2007-11-21 日本電気株式会社 アクセス制御方法、アクセス制御システム、メタデータ制御機、及び送信系装置
JP2005318472A (ja) 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
US7509497B2 (en) 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
US8201191B2 (en) 2004-06-30 2012-06-12 Time Warner Cable Inc. Apparatus and methods for implementation of network software interfaces
US20060041522A1 (en) 2004-08-18 2006-02-23 Xerox Corporation. Abstract document management systems and methods
JP4039417B2 (ja) 2004-10-15 2008-01-30 株式会社日立製作所 記録再生装置
US7593980B2 (en) 2004-11-30 2009-09-22 Cisco Technology, Inc. Application server system and method
US20060123451A1 (en) 2004-12-07 2006-06-08 Showtime Networks Inc. Enhanced content in an on-demand environment
WO2006123799A1 (en) 2005-05-18 2006-11-23 Matsushita Electric Industrial Co., Ltd. Content reproduction apparatus
KR20060125465A (ko) 2005-06-02 2006-12-06 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 저장방법및 저장장치
US8108787B2 (en) 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006079A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
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
US20070006078A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US7941522B2 (en) 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US7721308B2 (en) 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8020084B2 (en) 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US20070174387A1 (en) 2006-01-20 2007-07-26 International Business Machines Corporation Methods and apparatus for implementing real-time collective moderation of collaborative environments
US7861150B2 (en) * 2006-11-07 2010-12-28 Microsoft Corporation Timing aspects of media content rendering
US8495592B2 (en) 2006-11-28 2013-07-23 International Business Machines Corporation Presenting completion progress status of an installer via join points

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112268A1 (en) * 2001-09-11 2003-06-19 Sony Corporation Device for producing multimedia presentation

Also Published As

Publication number Publication date
WO2007005294A2 (en) 2007-01-11
JP5015149B2 (ja) 2012-08-29
EP1899970A4 (en) 2011-12-21
US20070006063A1 (en) 2007-01-04
KR20080021073A (ko) 2008-03-06
WO2007005294A3 (en) 2007-06-07
US8799757B2 (en) 2014-08-05
EP1899970A2 (en) 2008-03-19
JP2009500911A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
KR101265890B1 (ko) 대화형 멀티미디어 프레젠테이션 관리의 동기 특징
KR101265936B1 (ko) 대화형 멀티미디어 프레젠테이션 관리의 동기 특징
KR101231323B1 (ko) 대화형 멀티미디어 환경에서의 상태 변경에 대한 선언적응답
KR101246976B1 (ko) 미디어 콘텐츠 렌더링의 특징
KR101354739B1 (ko) 상호작용 멀티미디어 프리젠테이션을 위한 상태 기초타이밍
KR101365829B1 (ko) 대화형 멀티미디어 프리젠테이션을 재생하는 방법을 수행하는 컴퓨터 실행가능 명령어들이 인코딩된 컴퓨터 판독가능 매체, 및 대화형 멀티미디어 프리젠테이션을 재생하는 프리젠테이션 시스템 및 장치
US8020084B2 (en) Synchronization aspects of interactive multimedia presentation management
US20070006065A1 (en) Conditional event timing for interactive multimedia presentations
KR101265840B1 (ko) 대화형 멀티미디어 프레젠테이션 관리의 동기 특징
JP2009500909A5 (ko)

Legal Events

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

Payment date: 20160419

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 7