KR20180019575A - 미디어―시간이 맞춰진 웹 상호작용들 - Google Patents

미디어―시간이 맞춰진 웹 상호작용들 Download PDF

Info

Publication number
KR20180019575A
KR20180019575A KR1020177036256A KR20177036256A KR20180019575A KR 20180019575 A KR20180019575 A KR 20180019575A KR 1020177036256 A KR1020177036256 A KR 1020177036256A KR 20177036256 A KR20177036256 A KR 20177036256A KR 20180019575 A KR20180019575 A KR 20180019575A
Authority
KR
South Korea
Prior art keywords
track
media content
media
dom
rendering
Prior art date
Application number
KR1020177036256A
Other languages
English (en)
Inventor
기리다 다티 맨디암
찰스 넝 로
고든 켄트 워커
토마스 스톡햄머
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20180019575A publication Critical patent/KR20180019575A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • 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/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • G06F16/4393Multimedia presentations, e.g. slide shows, multimedia albums
    • G06F17/30056
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • H04L65/4084
    • H04L65/4092
    • H04L65/607
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Abstract

미디어 콘텐츠를 렌더링하는 예시적인 방법은, 컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서, 스트리밍 미디어 콘텐츠를 수신하는 단계를 포함한다. 방법은 또한 미디어 콘텐츠와 연관된 복수의 트랙들을 식별하는 단계를 포함한다. 복수의 트랙들은 시간 인터벌들의 세트에서 실행할 하나 또는 그 초과의 UI(user interface) 이벤트들을 지정하는 DOM 트랙을 포함하고, 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응한다. 방법은 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙을 렌더링하는 단계를 더 포함한다.

Description

미디어―시간이 맞춰진 웹 상호작용들
발명자들: Giridhar Dhati MANDYAM; Charles Nung LO; Gordon Kent WALKER; 및 Thomas STOCKHAMMER
[0001] 본 출원은 2016년 6월 17일에 출원된 미국 정식 출원 제15/185,676 호의 우선권, 및 2015년 6월 18일에 출원된 미국 가특허 출원 제62/181,700 호의 이점을 주장하고, 이로써 상기 출원들은, 전체적으로 그리고 적용 가능한 모든 목적을 위해 아래에 완전히 제시된 것처럼, 전체 내용이 인용에 의해 본원에 통합된다.
[0002] 본 개시내용은 일반적으로 스트리밍 미디어 콘텐츠에 관한 것이며, 더 상세하게는, 스트리밍 미디어 콘텐츠와 시간이 맞춰진 사용자 상호작용을 제공하는 것에 관한 것이다.
[0003] 미디어 콘텐츠 제공자 또는 분배자는, 다양한 사용자 엔드 디바이스들, 이를테면, 텔레비전들, 노트북 컴퓨터들 및 모바일 핸드셋들의 형태를 취할 수 있는 스트리밍 클라이언트들에 미디어 콘텐츠를 스트리밍할 수 있다. 미디어 콘텐츠는 다양한 팩터들, 이를테면, 네트워크 조건들, 디바이스 능력 및 사용자 선택에 적응적으로 기반하여 스트리밍 서버로부터 스트리밍 클라이언트로 전달될 수 있다. TS(transport system)의 수신 시에, 스트리밍 클라이언트는 TS 내로부터 정보를 추출하기 위해 TS를 파싱(parse)할 수 있다. 적응형 스트리밍 기술들은 구현되거나 개발되고 있는 다양한 기술들 또는 표준들, 이를테면, DASH(Dynamic Adaptive Streaming over HTTP(Hypertext Transfer Protocol)), HLS(HTTP Live Streaming), ATS(Adaptive Transport Streaming), 또는 IIS(Internet Information Services) 스무스 스트리밍을 포함할 수 있다.
[0004] 예컨대, 적응형 스트리밍의 하나의 타입으로서, DASH는 국제 표준의 ISO(International Organization for Standardization) 및 IEC(International Electrotechnical Commission)에 의해 정의되었다. 일반적으로 ISO/IEC 23009- 1로서 식별되는 표준은 "정보 기술 ― DASH(Dynamic adaptive streaming over HTTP) ― 파트 1 : 미디어 프리젠테이션 설명 및 세그먼트 포맷들"이라는 명칭이다.
[0005] 일부 실시예들에 따라, 미디어 콘텐츠를 렌더링하는 방법은, 컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서, 스트리밍 미디어 콘텐츠를 수신하는 단계; 미디어 콘텐츠와 연관된 복수의 트랙들을 식별하는 단계 ― 복수의 트랙들은 시간 인터벌들의 세트에서 실행할 하나 또는 그 초과의 UI(User Interface) 이벤트들을 지정하는 DOM(Document Object Model) 트랙을 포함하고, 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응함 ― ; 및 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙을 렌더링하는 단계를 포함한다.
[0006] 일부 실시예들에 따라, 미디어 콘텐츠를 렌더링하기 위한 시스템은 스트리밍 미디어 콘텐츠를 수신하는 네트워크 인터페이스를 포함한다. 시스템은 또한 네트워크 인터페이스에 커플링된 스트리밍 미디어 플레이어를 포함한다. 스트리밍 미디어 플레이어는 미디어 콘텐츠와 연관된 복수의 트랙들을 식별하고, 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙을 렌더링한다. 부가적으로, 복수의 트랙들은 DOM 트랙을 포함한다. DOM 트랙은 시간 인터벌들의 세트에서 실행할 하나 또는 그 초과의 UI 이벤트들을 지정하고, 시간 인터벌들의 세트는 타임라인에 대응한다.
[0007] 일부 실시예들에 따라, 기계-판독 가능 매체는, 하나 또는 그 초과의 프로세서들에 의해 실행될 때, 하나 또는 그 초과의 프로세서들로 하여금 방법을 수행하게 하도록 적응된 복수의 기계-판독 가능 명령들을 포함하고, 방법은, 컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서, 스트리밍 미디어 콘텐츠를 수신하는 단계; 미디어 콘텐츠와 연관된 복수의 트랙들을 식별하는 단계 ― 복수의 트랙들은 시간 인터벌들의 세트에서 실행할 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 포함하고, 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응함 ― ; 및 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙을 렌더링하는 단계를 포함한다.
[0008] 일부 실시예들에 따라, 미디어 콘텐츠를 렌더링하기 위한 장치는 스트리밍 미디어 콘텐츠를 수신하기 위한 수단을 포함한다. 장치는 또한 미디어 콘텐츠와 연관된 복수의 트랙들을 식별하기 위한 수단을 포함한다. 복수의 트랙들은 시간 인터벌들의 세트에서 실행할 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 포함한다. 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응한다. 장치는 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙을 렌더링하기 위한 수단을 더 포함한다.
[0009] 일부 실시예들에 따라, 미디어 콘텐츠와 연관된 DOM 트랙을 생성하는 방법은 시간 인터벌들의 세트를 수신하는 단계를 포함한다. 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖는다. 방법은 또한 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행할 하나 또는 그 초과의 UI 이벤트들을 결정하는 단계를 포함한다. 방법은 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 결정된 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하는 단계를 더 포함한다.
[0010] 일부 실시예들에 따라, 미디어 콘텐츠와 연관된 DOM 트랙을 생성하기 위한 시스템은 시간 인터벌들의 세트를 수신하는 스트리밍 서버를 포함한다. 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖는다. 스트리밍 서버는 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행할 하나 또는 그 초과의 UI 이벤트들을 결정한다. 스트리밍 서버는 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행할 결정된 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성한다.
[0011] 일부 실시예들에 따라, 기계-판독 가능 매체는, 하나 또는 그 초과의 프로세서들에 의해 실행될 때, 하나 또는 그 초과의 프로세서들로 하여금 방법을 수행하게 하도록 적응된 복수의 기계-판독 가능 명령들을 포함하고, 방법은 시간 인터벌들의 세트를 수신하는 단계 ― 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 가짐 ― ; 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행할 하나 또는 그 초과의 UI 이벤트들을 결정하는 단계; 및 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 결정된 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하는 단계를 포함한다.
[0012] 일부 실시예들에 따라, 미디어 콘텐츠와 연관된 DOM 트랙을 생성하기 위한 장치는 시간 인터벌들의 세트를 수신하기 위한 수단을 포함한다. 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖는다. 장치는 또한 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행할 하나 또는 그 초과의 UI 이벤트들을 결정하기 위한 수단을 포함한다. 장치는 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 결정된 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하기 위한 수단을 더 포함한다.
[0013] 본 명세서의 일부를 형성하는 첨부된 도면들은 본 발명의 실시예들을 예시하고, 설명과 함께, 실시예들의 원리들을 설명하도록 추가적으로 기능한다. 도면들에서, 유사한 참조 번호들은 동일하거나 기능적으로 유사한 엘리먼트들을 표시할 수 있다. 엘리먼트가 처음 나타나는 도면은 일반적으로, 대응하는 참조 번호의 최좌측 숫자에 의해 표시된다.
[0014] 도 1은 일부 실시예들에 따른, 미디어 콘텐츠를 렌더링하기 위한 시스템을 예시하는 블록도이다.
[0015] 도 2는 일부 실시예들에 따른, DOM 트랙을 생성하기 위한 프로세스 흐름을 예시하는 블록도이다.
[0016] 도 3은 일부 실시예들에 따른, 비디오 뷰포트에 제한되는 레이아웃을 포함하는 DOM 트랙에 지정된 UI 이벤트의 예이다.
[0017] 도 4는 일부 실시예들에 따른, 비디오 뷰포트에 제한되지 않는 레이아웃을 포함하는 DOM 트랙에 지정된 UI 이벤트의 예이다.
[0018] 도 5는 일부 실시예들에 따른, 미디어 콘텐츠를 스트리밍하기 위한 프로세스 흐름을 예시하는 블록도이다.
[0019] 도 6은 일부 실시예들에 따른, 미디어 콘텐츠를 렌더링하는 방법을 예시하는 간략한 흐름도이다.
[0020] 도 7은 일부 실시예들에 따른, 미디어 콘텐츠와 연관된 DOM 트랙을 생성하는 방법을 예시한 간략한 흐름도이다.
[0021] 도 8은 일부 실시예들에 따른, 디지털 신호 프로세서를 포함하는 무선 디바이스를 예시하는 블록도이다.
I. 개요
II. 예시적인 시스템 아키텍처
III. 예시적인 방법들
VI. 예시적인 컴퓨팅 시스템
I. 개요
[0022] 다음의 개시내용이 본 개시내용의 상이한 특징들을 구현하기 위한 많은 상이한 실시예들 또는 예들을 제공한다는 것이 이해될 것이다. 몇몇 실시예들은, 이들 특정 세부사항들 중 일부 또는 전부 없이 실시될 수 있다. 본 개시내용을 간략히 하기 위해, 컴포넌트들, 모듈들, 및 어레인지먼트들의 특정 예들이 아래에 설명된다. 이들은, 물론, 단지 예들이고, 제한적인 것으로 의도되지 않는다.
[0023] 일부 실시예들에서, 미디어 콘텐츠를 렌더링하는 방법은, 컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서, 스트리밍 미디어 콘텐츠를 수신하는 단계; 미디어 콘텐츠와 연관된 복수의 트랙들을 식별하는 단계 ― 복수의 트랙들은 시간 인터벌들의 세트에서 실행할 하나 또는 그 초과의 UI(User Interface) 이벤트들을 지정하는 DOM 트랙을 포함하고, 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응함 ― ; 및 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙을 렌더링하는 단계를 포함한다.
II. 예시적인 시스템 아키텍처
[0024] 도 1은 일부 실시예들에 따른, 미디어 콘텐츠를 렌더링하기 위한 시스템(100)을 예시하는 블록도이다. 시스템(100)은 스트리밍 서버(102), 클라이언트(104), 및 네트워크(108)를 통해 커플링된 미디어 콘텐츠 인코더(106)를 포함한다. 하나의 스트리밍 서버, 하나의 클라이언트 및 하나의 미디어 콘텐츠 인코더가 예시되지만, 이는 제한적인 것으로 의도되지 않고, 시스템(100)은 하나 또는 그 초과의 스트리밍 서버들, 클라이언트들 및/또는 미디어 콘텐츠 인코더들을 포함할 수 있다.
[0025] 네트워크(108)는 사설 네트워크(예컨대, LAN(local area network), WAN(wide area network), 인트라넷 등), 공개 네트워크(예컨대, 인터넷) 또는 이들의 조합일 수 있다. 네트워크는 다양한 구성들을 포함하고, 인터넷, 월드 와이드 웹, 인트라넷들, 가상 사설 네트워크들, 광역 네트워크들, 로컬 네트워크들, 하나 또는 그 초과의 회사들에 대해 독점적인 통신 프로토콜들을 사용하는 사설 네트워크들, 셀룰러 및 다른 무선 네트워크들, IRC(Internet relay chat channels), 인스턴트 메시징, SMTP(simple mail transfer protocols), 이더넷, WiFi, 및 HTTP 및 전술된 것의 다양한 조합들을 포함하는 다양한 프로토콜들을 사용할 수 있다.
[0026] 시스템(100)은 클라이언트(104)의 사용자에게 풍부한 웹 상호작용들을 제공할 수 있다. 스트리밍 서버(102), 클라이언트(104) 및 미디어 콘텐츠 인코더(106)는 특정 프로토콜들을 사용하여 서로 통신하고, 특정 포맷들의 파일들을 교환한다. 일부 파일들은, 파일들의 크기를 감소시키도록 설계된 특정 코덱을 사용하여 인코딩된 데이터를 포함한다. 콘텐츠 제공자(112)는 로우(raw) 미디어 파일들(110)을 인코딩을 위한 미디어 콘텐츠 인코더(106)에 제공할 수 있다. 미디어 콘텐츠 인코더(106)는 로우 미디어 파일들(110)(예컨대, 오디오 및 비디오 파일들)을, 네트워크(108)를 통해 스트리밍될 수 있는 포맷으로 변환한다. 콘텐츠 생성기(112)는 사람 또는 컴퓨팅 디바이스일 수 있다. 미디어 콘텐츠 인코더(106)가 로우 미디어 파일들(110)을 인코딩한 후에, 미디어 콘텐츠 인코더(106)는 데이터베이스(116) 내의 저장을 위해 인코딩된 미디어 파일들을 스트리밍 서버(102)로 전송할 수 있다. 미디어 콘텐츠 인코더(106)는, 데이터베이스(116)에 저장되고 스트리밍 서버(102)에 의해 액세스 가능한 미디어 콘텐츠 스트림들을 생성할 수 있다.
[0027] 클라이언트(104)는 네트워크 인터페이스(130), 스트리밍 미디어 플레이어(120) 및 브라우저(122)를 포함한다. 스트리밍 미디어 플레이어(120)가 브라우저(122)에 통합되는 것으로 예시되지만, 이는 제한적인 것으로 의도되지 않고, 스트리밍 미디어 플레이어(120) 및 브라우저(122)가 서로 상호작용하는 별개의 컴포넌트들일 수 있다는 것이 이해되어야 한다. 스트리밍 미디어 플레이어(120)는 미디어 콘텐츠 스트림들을 렌더링할 수 있는 클라이언트 애플리케이션이다. 미디어 콘텐츠는 클라이언트(104)에 의해 요청되고 스트리밍 서버(102)로부터 수신될 수 있고, 미디어 콘텐츠는 미디어 콘텐츠 스트림들을 전달하도록 설계된 소프트웨어의 특수화된 조각일 수 있다. 클라이언트(104)는 임의의 클라이언트 디바이스, 이를테면, 핸드-헬드 텔레폰(예컨대, 스마트폰), PDA(personal digital assistant), 태블릿, 데스크톱 또는 랩톱일 수 있다. 다른 디바이스들은 본 개시내용의 범위 내에 있다.
[0028] 인코딩된 미디어 파일들(118)은 로우 미디어 파일들(110)의 인코딩되고 스트리밍 가능한 버전일 수 있다. 인코딩된 미디어 파일들(118)은 클라이언트(104)로 전송되고 클라이언트(104)에 의해 스트리밍될 수 있는 스트리밍 포맷이다. 일부 예들에서, 인코딩된 미디어 파일들(118)은, 복수의 트랙들을 포함하는 미디어 파일로 패키징된다. 복수의 트랙들은 비디오 데이터를 갖는 비디오 트랙, 오디오 데이터를 갖는 오디오 트랙 등을 포함할 수 있다.
[0029] 일부 예들에서, 콘텐츠 생성기(112)는 부가적인 트랙들을 생성하기 위해, 인코딩된 미디어 파일들(118)(또는 로우 미디어 파일들(110))에 대해 추가의 프로세싱을 수행할 수 있다. 예컨대, 콘텐츠 생성기(112)는 비디오 및/또는 오디오 트랙들과 연관된 폐쇄 캡셔닝 데이터를 갖는 폐쇄 캡셔닝 트랙, 비디오 및/또는 오디오 트랙들과 연관된 DOM(document object model) 트랙 데이터를 갖는 DOM 트랙, 또는 다른 트랙들을 생성할 수 있다. DOM 트랙은, 스트리밍 미디어 콘텐츠의 재생에 따라 시간이 맞춰지는 웹 UI(user interface) 이벤트들을 설명하는 데이터의 콜렉션을 나타낼 수 있다. 예에서, 콘텐츠 생성기(112)는, 미디어 콘텐츠가 클라이언트(104)에서 스트리밍되는 동안에 발생하는 특정 이벤트들을 갖기를 원할 수 있다. 부가적으로, 콘텐츠 생성기(112)는 스트리밍 미디어 콘텐츠의 시간이 맞춰진 재생과 동기화하여 이벤트들이 발생하기를 원할 수 있고, DOM 트랙을 생성함으로써 이를 달성할 수 있다.
[0030] 예에서, DOM 트랙은 ISO(International Organization for Standardization) BMFF(Base Media File Format)에 저장된다. 이러한 예에서, DOM 트랙은 별개의 트랙으로서 무비 헤더로 공지될 수 있다. ISO BMFF 초기화 세그먼트는 단일 무비 헤더 박스(moov)가 후속되는 단일 파일 타입 박스(ftyp)로서 정의될 수 있다. 다른 예에서, DOM 트랙은 DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol)의 표현(representation)으로서 분배된다. 멀티미디어 파일들의 하나 또는 그 초과의 표현들(즉, 상이한 분해능들 또는 비트 레이트들의 버전들)이 이용 가능할 수 있고, 표현 선택은 다양한 팩터들, 이를테면, 네트워크 조건들, 디바이스 능력들 및 사용자 선호도들에 기반할 수 있다. 이러한 예에서, DOM 트랙은 클라이언트 선택을 위한 별개의 적응 세트로서 MPD(media presentation description) 파일로 시그널링될 수 있다. 적응 세트는 하나 또는 그 초과의 미디어 콘텐츠 스트림들을 포함한다. 표현은 적응 세트가 상이한 방식들로 인코딩된 동일한 콘텐츠를 포함하도록 허용한다. 다른 예에서, DOM 트랙은 MMT(MPEG(Moving Picture Experts Group) Media Transport)의 애셋(asset)으로서 분배된다. 다른 예에서, DOM 트랙은 MMT의 애셋으로서 분배된다. 다른 예에서, DOM 트랙은 MPEG-2 전송 스트림의 엘리멘터리 스트림으로서 분배된다.
[0031] 도 2는 일부 실시예들에 따른, DOM 트랙을 생성하기 위한 프로세스 흐름(200)을 예시하는 블록도이다. 도 2는 하나 또는 그 초과의 트랙들을 생성하는 미디어 편집 툴(202)을 포함한다. 일부 예들에서, 미디어 편집 툴(202)에 의해 생성되는 하나 또는 그 초과의 트랙들은 인코딩된 미디어 파일들(118)에 포함된다. 미디어 편집 툴(202)은, 비디오 트랙 및/또는 오디오 트랙과 연관된 폐쇄 캡셔닝 트랙(206)을 생성하는 폐쇄 캡셔닝 트랙 생성기(204)를 포함한다. 미디어 편집 툴(202)은 또한 비디오 트랙 및/또는 오디오 트랙과 연관된 DOM 트랙(210)을 생성하는 DOM 트랙 생성기(208)를 포함한다. 폐쇄 캡셔닝 트랙(206)은 DOM 트랙(210)과 별개인 트랙일 수 있다.
[0032] 콘텐츠 생성기(112)는, 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 하나 또는 그 초과의 UI 이벤트들과 함께, 스트리밍 포맷의 미디어 콘텐츠의 시간이 맞추진 재생에 대응하는 시간 인터벌들의 세트를 미디어 편집 툴(202)에 제공할 수 있다. UI 이벤트는, UI 이벤트가 시간 인터벌 동안에 실행되어야 하면, 그 시간 인터벌에 대응할 수 있다. 일부 예들에서, UI 이벤트들은 대응하는 시간 인터벌에서 웹페이지의 상황에서 실행된다. 미디어 편집 툴(202)은 시간 인터벌들의 세트를 수신할 수 있고, 여기서 각각의 시간 인터벌은, 클라이언트에 제공될 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖는다. 미디어 편집 툴(202)은 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 하나 또는 그 초과의 UI 이벤트들을 결정하고, 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 결정된 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙(210)을 생성할 수 있다.
[0033] UI 이벤트는 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 따라 실행된다. DOM 트랙(210)에 지정된 시간 인터벌들의 세트는 스트리밍 가능한 미디어 콘텐츠와 연관된 비디오 트랙 및/또는 오디오 트랙의 시간이 맞춰진 재생에 대응한다. UI 이벤트에 대응하고 DOM 트랙(210)에 지정된 시간들은 DOM 트랙(210)과 연관된 비디오 트랙 및/또는 오디오 트랙의 타임라인을 따른다. 예컨대, 콘텐츠 생성기(112)는, 스트리밍 가능한 미디어 콘텐츠에서 11 초의 시작 시간 및 13 초의 종료 시간을 갖는 시간 인터벌 동안에 UI 이벤트가 발생(예컨대, 비디오 트랙이 렌더링되는 동일하거나 상이한 웹페이지에서 팝업을 디스플레이)하기를 원할 수 있다. 이러한 예에서, UI 이벤트는, 비디오 트랙이 시간 11-13 초에서 렌더링되는 동안에, 실행된다.
[0034] DOM 트랙(210)에 지정된 UI 이벤트는 다양한 방식들로 정의될 수 있다. 일부 예들에서, UI 이벤트는 스트리밍 가능한 미디어 콘텐츠에 따라 시간이 맞춰진 웹 코드 스니펫(web code snippet)을 실행함으로써 실행된다. 예에서, UI 이벤트는 HTML(HyperText Markup Language)을 사용하여 정의된다. 다른 예에서, UI 이벤트는 JAVASCRIPT®을 사용하여 정의된다. 트레이드마크들은 그들 개개의 소유자들의 재산들(properties)이다.
[0035] 일부 예들에서, UI 이벤트는 클라이언트(104)에서 디스플레이되는 웹페이지의 상황에서 실행된다. 예에서, UI 이벤트는 클라이언트(104)에서의 비디오 "뷰포트"에 제한된다. 이러한 예에서, 오브젝트(예컨대, 이미지, 팝업, 텍스트 등)는, 클라이언트(104)에서 재생되는 비디오 위에 중첩(superimpose)될 수 있다. UI 이벤트는 비디오 트랙을 디스플레이하는 비디오 뷰포트 내에서 실행될 수 있다. 도 3은 일부 실시예들에 따른, 비디오 뷰포트에 제한되는 레이아웃을 포함하는 DOM 트랙에 지정된 UI 이벤트의 예이다. 도 3에 예시된 예에서, UI 이벤트(302)는 <DOMCueViewportRestricted> 및 </DOMCueViewportRestricted> 태그들 내에 삽입되고, UI 이벤트(302)는 JAVASCRIPT®을 사용하여 정의된다. 클라이언트(104)에 있는 스트리밍 미디어 플레이어(120)는 비디오 뷰포트 내에서 UI 이벤트(302)를 실행하는 법을 알 수 있는데, 왜냐하면, UI 이벤트(302)가 <DOMCueViewportRestricted> 및 </DOMCueViewportRestricted> 태그들 내에 삽입되기 때문이다.
[0036] 다른 예에서, UI 이벤트는 비디오 뷰포트에 제한되지 않고, 오브젝트는 비디오 위에 중첩되지 않는다. 예에서, "당신이 이러한 제품에 관한 더 많은 정보를 원한다면 OK를 누르세요"를 포함하는 다이얼로그 박스가 (예컨대, 스트리밍 미디어 플레이어(120)를 통해) 클라이언트(104)에서 디스플레이된다. 사용자가 다이얼로그 박스 내의 "OK" 옵션을 선택하면, 브라우저(122)는, 사용자를 사용자가 제품에 관한 더 많은 정보를 획득할 수 있는 제품 웹페이지로 사용자를 인도하는 새로운 탭을 개방할 수 있다. 예컨대, 상품들 또는 서비스들의 제공자들은, 비지니스를 증가시키고 그리고/또는 자신들의 제품들에 관한 더 많은 정보를 사용자들에게 제공하기 위해 자신들의 제안들에 관한 더 많은 정보를 제공하기를 원할 수 있다. UI 이벤트는 비디오 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행될 수 있다. 도 4는, 일부 실시예들에 따른, 비디오 뷰포트에 제한되지 않는 레이아웃을 포함하는 DOM 트랙에 지정된 UI 이벤트의 예이다. 도 4에 예시된 예에서, UI 이벤트들(402 및 404)은 <DOMCue> 및 </DOMCue> 태그들 내에 삽입된다. UI 이벤트(402)는 JAVASCRIPT®을 사용하여 정의되고, UI 이벤트(404)는 HTML을 사용하여 정의된다. HTML 다큐멘트는 UI 이벤트(404)의 <DOMCue> 및 </DOMCue> 태그들에 임베딩된다. 클라이언트(104)의 스트리밍 미디어 플레이어(120)는 비디오 뷰포트 외부에서 UI 이벤트들(402 및 404)을 실행하는 법을 알 수 있는데, 그 이유는, UI 이벤트들(402 및 404)이 <<DOMCue> 및 </DOMCue> 태그들 내에 삽입되기 때문이다.
[0037] 스트리밍 서버(102)는, 다양한 엔드-사용자 디바이스들, 이를테면, 다른 디바이스들 중에서도, 텔레비전들, 노트북 컴퓨터들 및 모바일 핸드셋들의 형태를 취할 수 있는 스트리밍 클라이언트들에 미디어 콘텐츠를 스트리밍할 수 있다. 도 5는 일부 실시예들에 따른, 스트리밍 미디어 콘텐츠(502)에 대한 프로세스 흐름(500)을 예시한 블록도이다. 도 5에서, 스트리밍 서버(102)는, 몇몇의 미디어 컴포넌트들을 포함할 수 있는 스트리밍 미디어 콘텐츠(502)를 클라이언트(104)로 전송한다. 도 5에서, 스트리밍 미디어 콘텐츠(502)는 비디오 트랙(118A), 오디오 트랙(118B), 폐쇄 캡셔닝 트랙(206) 및 DOM 트랙(210)을 포함하는 복수의 트랙들을 포함한다. 일부 예들에서, 스트리밍 미디어 콘텐츠(502)는 또한, 스트리밍 미디어 콘텐츠(502)에 포함되는 트랙들의 리스트를 제공하는 MDP(media presentation description) 파일(504)을 포함한다. MDP 파일(504)은 XML(extensible markup language) 파일 또는 스트리밍 미디어 콘텐츠(502), 이를테면, 그의 다양한 표현들, 파일들 및 연관된 정보가 리트리브(retrieve)될 수 있는 URL(Uniform Resource Locator) 어드레스들, 및 다른 특성들을 설명하는 다큐멘트일 수 있다. 스트리밍 미디어 콘텐츠(502)에 포함되는 트랙들 각각은 MPD 파일(504)에 지정된 상이한 특성들을 가질 수 있다.
[0038] 네트워크 인터페이스(130)는 네트워크(108)를 통해 데이터를 수신하고, 네트워크(108)를 통해 데이터를 송신한다. 일부 예들에서, 네트워크 인터페이스(130)는 스트리밍 미디어 콘텐츠(502)를 수신하고, 이를 스트리밍 미디어 플레이어(120)에 전달한다. 스트리밍 미디어 플레이어(120)는 스트리밍 미디어 콘텐츠(502)를 프로세싱한다. MPD 파일(504)은 비디오 트랙(118A) 및 그의 위치, 오디오 트랙(118B) 및 그의 위치, 폐쇄 캡셔닝 트랙(206) 및 그의 위치, 및 DOM 트랙(210) 및 그의 위치에 대한 정보를 스트리밍 미디어 플레이어(120)에 제공한다. 스트리밍 미디어 플레이어(120)는 비디오 트랙(118A), 오디오 트랙(118B), 폐쇄 캡셔닝 트랙(206), 및 DOM 트랙(210)을 스트리밍할 수 있다.
[0039] 스트리밍 미디어 플레이어(120)는 DOM 트랙(210)을 프로세싱 및 스트리밍하는 DOM 렌더러(520)를 포함한다. DOM 렌더러(520)는, 비디오 트랙(118A), 오디오 트랙(118B) 및/또는 폐쇄 캡셔닝 트랙(206)과 시간이 맞춰진 DOM 트랙(210)을 파싱 및 렌더링한다. DOM 렌더러(520)는 트랙에 지정된 시간 인터벌들의 세트에 따라 DOM 트랙(210)을 스트리밍한다. 예컨대, DOM 렌더러(520)는 DOM 트랙(210)을 파싱 및 해석하고, 특정 태그들(예컨대, <DOMCue> 및 </DOMCue> 태그들, <DOMCueViewportRestricted> 및 </DOMCueViewportRestricted> 태그들 등)에 의해 DOM 트랙(210)에서 커맨드들을 인식한다.
[0040] 일부 실시예들에서, DOM 렌더러(520)는 스트리밍 미디어 콘텐츠(502)와 연관된 복수의 트랙들을 식별한다. 도 5에서, 복수의 트랙들은, 시간 인터벌들의 세트에서 실행하기 위한 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙(210)을 포함하고, 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응한다. 일부 예들에서, UI 이벤트들은 하나 또는 그 초과의 웹페이지들에서 실행된다. 각각의 시간 인터벌들은 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖는다. DOM 렌더러(520)는 스트리밍 미디어 콘텐츠의 타임라인에 따라 DOM 트랙(210)을 렌더링한다.
[0041] 일부 예들에서, 브라우저(122)는 DOM 엘리먼트인 비디오 태그를 포함한다. 브라우저(122)에 의해 디스플레이되는 웹페이지는 DOM 트랙(210)을 프로세싱을 위해 비디오 태그에 전달할 수 있다. 일부 예들에서, 스트리밍 미디어 플레이어(120)는 브라우저(122)의 네이티브 미디어 플레이어이다.
[0042] DOM 렌더러(520)는 UI 이벤트들의 대응하는 시간 인터벌들에서 DOM 트랙(210)에 지정된 UI 이벤트들을 실행한다. 예컨대, 도 3을 참조하면, DOM 렌더러(520)는 미디어 콘텐츠(502)의 스트리밍 동안에 11 초의 시작 시간 및 13 초의 종료 시간을 갖는 시간 인터벌 동안에 UI 이벤트(302)를 실행할 수 있다. UI 이벤트(302)는 스트리밍 미디어 콘텐츠(502)의 타임라인에 따라 시간이 맞춰진다. 예컨대, 시작 및 종료 시간들은 오디오 트랙(118A) 및/또는 오디오 트랙(118B)에서 상이한 시점들이다.
[0043] DOM 렌더러(520)는, 웹 코드 스니펫들(예컨대, HTML, JAVASCRIPT 등)의 형태인 UI 이벤트들을 실행한다. UI 이벤트들은 비디오 트랙(118A), 오디오 트랙(118B) 및/또는 폐쇄 캡셔닝 트랙(206)과 시간이 맞춰진다. 일부 예들에서, 스트리밍 미디어 플레이어(120)는 오브젝트들(예컨대, 팝업들, 다이얼로그 박스들 등)을 디스플레이하고, 여기서 오브젝트들은 웹페이지들의 상황에서 스트리밍 미디어 콘텐츠(502)와 시간이 맞춰진다.
III. 예시적인 방법들
[0044] 도 6은 일부 실시예들에 따른, 미디어 콘텐츠를 렌더링하는 방법(600)을 예시하는 간략한 흐름도이다. 방법(600)은 비제한적인 것으로 의미되지 않고, 다른 애플리케이션들에서 사용될 수 있다.
[0045] 방법(600)은 블록들(602-606)을 포함한다. 블록(602)에서, 스트리밍 미디어 콘텐츠는 컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서 수신된다. 블록(604)에서, 미디어 콘텐츠와 연관된 복수의 트랙들이 식별되고, 복수의 트랙들은 시간 인터벌들의 세트에서 실행하기 위한 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 포함하고, 시간 인터벌들의 세트는 스트리밍 미디어 콘텐츠에 따른 타임라인에 대응한다. 블록(606)에서, DOM 트랙은 스트리밍 미디어 콘텐츠의 타임라인에 따라 렌더링된다.
[0046] 위에서 논의되는 블록들(602-606) 전에, 동안에, 또는 후에 부가적인 프로세스들이 수행될 수 있다는 것이 또한 이해된다. 본원에서 설명되는 방법(600)의 블록들 중 하나 또는 그 초과가 요구될 때 상이한 시퀀스로 생략, 조합, 또는 수행될 수 있다는 것이 또한 이해된다.
[0047] 도 7은 일부 실시예들에 따른, 미디어 콘텐츠와 연관된 DOM 트랙을 생성하는 방법(700)을 예시하는 간략한 흐름도이다. 방법(700)은 제한적인 것으로 의미되지 않고, 다른 애플리케이션들에서 사용될 수 있다.
[0048] 방법(700)은 블록들(702-706)을 포함한다. 블록(702)에서, 시간 인터벌들의 세트가 수신되고, 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖는다. 블록(704)에서, 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 하나 또는 그 초과의 UI(user interface) 이벤트들이 결정된다. 블록(706)에서, 시간 인터벌들의 세트의 각각의 시간 인터벌 동안에 실행하기 위한 결정된 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙이 생성된다.
[0049] 위에서 논의되는 블록들(702-706) 전에, 동안에, 또는 후에 부가적인 프로세스들이 수행될 수 있다는 것이 또한 이해된다. 본원에서 설명되는 방법(700)의 블록들 중 하나 또는 그 초과가 요구될 때 생략, 조합, 또는 상이한 시퀀스로 수행될 수 있다는 것이 또한 이해된다.
[0050] 위에서 논의되고 여기서 추가로 강조되는 바와 같이, 도 1-7은 단지 예들이고, 이들는 청구항들의 범위를 과도하게 제한하지 않아야 한다.
IV. 예시적인 컴퓨팅 시스템
[0051] 도 8은 본원에 개시된 실시예들 중 임의의 것을 구현하기에 적합한 예시적인 컴퓨터 시스템(800)의 블록도이다. 다양한 구현들에서, 컴퓨터 시스템(800)은 스트리밍 서버(102)가 실행되는 클라이언트(104) 또는 컴퓨팅 디바이스일 수 있다. 컴퓨터 시스템(800)은 입력/출력(I/O) 컴포넌트(804)에 커플링된 제어 유닛(801)을 포함한다.
[0052] 제어 유닛(801)은, 하나 또는 그 초과의 CPU들(809)을 포함할 수 있고, 부가적으로, 플로피 디스크, 플렉서블(flexible) 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 랜덤 액세스 메모리(RAM), 프로그래밍가능 판독-전용 메모리(PROM), 소거가능 ROM(EPROM), FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 및/또는 프로세서 또는 컴퓨터가 판독하도록 적응되는 임의의 다른 매체를 포함하는 그룹으로부터 각각 선택된 하나 또는 그 초과의 저장 디바이스들을 포함할 수 있다. 하나 또는 그 초과의 저장 디바이스들은, 컴퓨터 네트워크(예컨대, 네트워크(108))를 사용하여 컴퓨터 시스템(800)에 커플링되는 하나 또는 그 초과의 컴퓨팅 디바이스들 및/또는 컴퓨터 프로그램들(예컨대, 클라이언트들)에게 이용 가능하게 될 수 있는 저장된 정보를 포함할 수 있다.
[0053] 컴퓨터 시스템(800)은 컴퓨터 시스템(800)의 다양한 컴포넌트들 사이에서 정보 데이터, 신호들 및 정보를 통신하기 위한 버스(802) 또는 다른 통신 메커니즘을 포함한다. 컴포넌트들은 키패드/키보드로부터의 키들을 선택하는 것 또는 하나 이상의 버튼들 또는 링크들을 선택하는 것 등과 같이 사용자 동작들을 프로세싱하기 위한 I/O 컴포넌트(804)를 포함하고, 대응하는 신호를 버스(802)로 전송한다. I/O 컴포넌트(804)는 또한 디스플레이(811)와 같은 출력 컴포넌트, 및 커서 제어부(813)(이를테면, 키보드, 키패드, 마우스 등)와 같은 입력 제어부를 포함할 수 있다. 오디오 I/O 컴포넌트(805)는 또한, 오디오 신호들을 정보 신호들로 변환함으로써 사용자가 정보를 입력하기 위한 음성을 사용하도록 허용하기 위해 포함될 수 있다. 오디오 I/O 컴포넌트(805)는 사용자가 오디오를 히어링하도록 허용할 수 있다. 예에서, 클라이언트(104)의 사용자는 커서 제어부(813) 및/또는 오디오 I/O 컴포넌트(805)를 사용하여 스트리밍 미디어 콘텐츠(502)를 요청할 수 있다. 예에서, 스트리밍 미디어 플레이어(120)는 오디오 I/O 컴포넌트(805)를 사용하여 오디오 트랙(118B)을 렌더링할 수 있다.
[0054] 트랜시버 또는 네트워크 인터페이스(130)는 통신 링크(818)를 통해 컴퓨터 시스템(800)과 다른 디바이스들(예컨대, 스트리밍 서버(102)) 사이에서 네트워크로 신호들을 송신 및 수신한다. 실시예에서, 송신은 무선이지만, 다른 송신 매체들 및 방법들이 또한 적합할 수 있다. 부가적으로, 디스플레이(811)는 통신 링크(818)를 통해 제어 유닛(801)에 커플링될 수 있다.
[0055] 마이크로-제어기, DSP(digital signal processor) 또는 다른 프로세싱 컴포넌트일 수 있는 CPU(809)는, 이를테면, 컴퓨터 시스템(800)의 디스플레이(811) 상의 디스플레이 또는 통신 링크(818)를 통한 다른 디바이스들로의 송신을 위해 이들 다양한 신호들을 프로세싱한다. 예에서, 스트리밍 미디어 플레이어(120)는 비디오 트랙(118A)을 디스플레이(811)로 렌더링할 수 있다.
[0056] 컴퓨터 시스템(800)의 컴포넌트들은 또한 시스템 메모리 컴포넌트(834)(예컨대, RAM), 정적 저장 컴포넌트(816)(예컨대, ROM) 및/또는 컴퓨터 판독 가능 매체(817)를 포함한다. 컴퓨터 시스템(800)은 시스템 메모리 컴포넌트(834)에 포함된 명령들의 하나 또는 그 초과의 시퀀스들을 실행함으로써 CPU(809) 및 다른 컴포넌트들에 의해 특정 동작들을 수행한다. 로직은 실행을 위해 명령들을 CPU(809)에 제공하는데 참여하는 임의의 매체를 지칭할 수 있는 컴퓨터 판독 가능 매체(817)에 인코딩될 수 있다. 그러한 매체는 비휘발성 매체들, 휘발성 매체들 및 송신 매체들을 포함하는 많은 형태들을 취할 수 있지만, 이에 제한되지 않는다. 다양한 구현들에서, 비휘발성 매체들은 광학 또는 자기 디스크들 또는 고체-상태 드라이브들을 포함하고, 휘발성 매체들은 시스템 메모리 컴포넌트(814)와 같은 동적 메모리를 포함하고, 송신 매체들은 버스(802)를 포함하는 와이어들을 비롯하여, 동축 케이블들, 구리 와이어, 및 광섬유들을 포함한다. 실시예에서, 로직은 비일시적인 컴퓨터 판독 가능 매체에 인코딩된다. 컴퓨터 판독 가능 매체(817)는 CPU(809)에 의해 또는 CPU(809)와 관련하여 사용되는 명령들을 포함, 저장, 통신, 전파 또는 송신할 수 있는 임의의 장치일 수 있다. 컴퓨터 판독 가능 매체(817)는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 디바이스 또는 전파 매체, 또는 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독하도록 적응되는 임의의 다른 매체일 수 있다. 예에서, 송신 매체는 라디오파, 광학 및 적외선 데이터 통신들 동안에 생성되는 것들과 같이 음향 또는 광파들의 형태를 취할 수 있다.
[0057] 본 개시내용의 다양한 실시예들에서, 본 개시내용을 실시하기 위한 명령 시퀀스들(예컨대, 방법(600) 및 방법(700))의 실행은 컴퓨터 시스템(800)에 의해 수행될 수 있다. 본 개시내용의 다양한 다른 실시예들에서, 통신 링크(818)에 의해 네트워크(예컨대, 이를테면, LAN, WLAN, PTSN, 및/또는 원격통신들, 모바일 및 셀룰러 폰 네트워크들을 포함하는 다양한 다른 유선 또는 무선 네트워크들)에 커플링된 복수의 컴퓨터 시스템들(800)은 서로 합동으로 본 개시내용을 실시하기 위해 명령 시퀀스들을 수행할 수 있다.
[0058] 적용 가능한 경우에, 본 개시내용에 의해 제공된 다양한 실시예들은 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 결합들을 사용하여 구현될 수 있다. 또한 적용 가능한 경우에, 본원에 제시된 다양한 하드웨어 컴포넌트들 및/또는 소프트웨어 컴포넌트들은 본 개시내용의 사상으로부터 벗어나지 않고서 소프트웨어, 하드웨어 및/또는 둘 모두를 포함하는 합성 컴포넌트들로 결합될 수 있다. 적용 가능한 경우에, 본원에 제시된 다양한 하드웨어 컴포넌트들 및/또는 소프트웨어 컴포넌트들은 본 개시내용의 사상으로부터 벗어나지 않고서 소프트웨어, 하드웨어 및/또는 둘 모두를 포함하는 서브-컴포넌트들로 분리될 수 있다. 또한, 적용 가능한 경우에, 소프트웨어 컴포넌트들이 하드웨어 컴포넌트들로서 구현될 수 있고, 그 역도 가능하다는 것이 고려된다.
[0059] 본 개시내용에 따른 애플리케이션 소프트웨어는 하나 또는 그 초과의 컴퓨터 판독 가능 매체들 상에 저장될 수 있다. 본원에 식별된 애플리케이션 소프트웨어가 하나 또는 그 초과의 범용 또는 특수 목적 컴퓨터들 및/또는 컴퓨터 시스템들을 사용하여 구현되거나, 네트워킹되거나 기타 등등일 수 있다는 것이 또한 고려된다. 적용 가능한 경우에, 본원에 설명된 다양한 블록들의 순서는 변경되고, 합성 블록들로 결합되고 그리고/또는 서브-블록들로 분리되어 본원에 설명된 특징들을 제공할 수 있다.
[0060] 상술된 개시내용은 개시된 특정 사용 분야 또는 정확한 형태들로 본 개시내용을 제한하도록 의도되지 않는다. 이로써, 본원에 명시적으로 설명되든지 또는 암시되든지 간에, 본 개시내용에 대한 다양한 대안적인 실시예들 및/또는 수정들이 본 개시내용을 고려하여 가능하다는 것이 고려된다. 본 개시내용의 범위에서 벗어나지 않고서 형태 및 세부사항에서 변화들이 이루어질 수 있다. 따라서, 본 개시내용은 청구항들에 의해서만 제한된다.

Claims (22)

  1. 미디어 콘텐츠를 렌더링하는 방법으로서,
    컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서, DOM 트랙 및 미디어 트랙을 포함하는 스트리밍 미디어 콘텐츠를 수신하는 단계 ― 상기 DOM 트랙은 상기 미디어 트랙의 시간이 맞춰진 재생(timed playback)에 대응하는 시간 인터벌에서 실행할 UI(user interface) 이벤트를 지정하고, 상기 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트(video viewport)의 외부에서 실행됨 ― ;
    상기 미디어 트랙을 렌더링하는 단계; 및
    상기 시간 인터벌에 따라 상기 DOM 트랙을 렌더링하는 단계를 포함하는,
    미디어 콘텐츠를 렌더링하는 방법.
  2. 제1 항에 있어서,
    상기 스트리밍 미디어 콘텐츠는 비디오 트랙을 포함하는,
    미디어 콘텐츠를 렌더링하는 방법.
  3. 제2 항에 있어서,
    상기 스트리밍 미디어 콘텐츠는 오디오 트랙을 포함하고, 상기 방법은,
    상기 오디오 트랙을 렌더링하는 단계를 더 포함하는,
    미디어 콘텐츠를 렌더링하는 방법.
  4. 제1 항에 있어서,
    상기 스트리밍 미디어 콘텐츠는 폐쇄 캡셔닝 트랙(closed captioning track)을 포함하고, 상기 방법은,
    상기 폐쇄 캡셔닝 트랙을 렌더링하는 단계를 더 포함하는,
    미디어 콘텐츠를 렌더링하는 방법.
  5. 제1 항에 있어서,
    상기 UI 이벤트는 제1 웹페이지에서 실행되는 웹 UI 이벤트이고, 상기 미디어 트랙을 렌더링하는 단계는 제2 웹페이지에서 상기 미디어 트랙을 렌더링하는 단계를 포함하는,
    미디어 콘텐츠를 렌더링하는 방법.
  6. 제1 항에 있어서,
    상기 UI 이벤트는 JAVASCRIPT로 정의되는,
    미디어 콘텐츠를 렌더링하는 방법.
  7. 제1 항에 있어서,
    상기 UI 이벤트는 HTML(HyperText Markup Language)로 정의되는,
    미디어 콘텐츠를 렌더링하는 방법.
  8. 제1 항에 있어서,
    상기 UI 이벤트는 비디오 태그 내에 삽입되는,
    미디어 콘텐츠를 렌더링하는 방법.
  9. 제1 항에 있어서,
    상기 DOM 트랙은 ISO(International Organization for Standardization) 기반 미디어 파일 포맷으로 저장되는,
    미디어 콘텐츠를 렌더링하는 방법.
  10. 제1 항에 있어서,
    상기 DOM 트랙은 DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol)의 표현(representation)으로서 분배되고, 클라이언트 선택을 위해 별개의 적응 세트로서 MPD(media presentation description) 파일로 시그널링되는,
    미디어 콘텐츠를 렌더링하는 방법.
  11. 제1 항에 있어서,
    상기 DOM 트랙은 MMT(MPEG(Moving Picture Experts Group) Media Transport)의 애셋(asset)으로서 분배되고, MMT의 애셋으로서 분배되는,
    미디어 콘텐츠를 렌더링하는 방법.
  12. 제1 항에 있어서,
    상기 DOM 트랙은 MPEG-2 전송 스트림의 엘리멘터리 스트림(elementary stream)으로서 분배되는,
    미디어 콘텐츠를 렌더링하는 방법.
  13. 미디어 콘텐츠를 렌더링하기 위한 시스템으로서,
    DOM 트랙 및 미디어 트랙을 포함하는 스트리밍 미디어 콘텐츠를 수신하는 네트워크 인터페이스 ― 상기 DOM 트랙은 상기 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시간 인터벌에서 실행할 UI(user interface) 이벤트를 지정하고, 상기 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행됨 ― ; 및
    상기 네트워크 인터페이스에 커플링된 스트리밍 미디어 플레이어를 포함하고,
    상기 스트리밍 미디어 플레이어는 상기 미디어 트랙을 렌더링하고, 상기 시간 인터벌에 따라 상기 DOM 트랙을 렌더링하는,
    미디어 콘텐츠를 렌더링하기 위한 시스템.
  14. 복수의 기계-판독 가능 명령들을 포함하는 기계-판독 가능 저장 매체로서,
    상기 복수의 기계-판독 가능 명령들은, 하나 또는 그 초과의 프로세서들에 의해 실행될 때, 상기 하나 또는 그 초과의 프로세서들로 하여금 방법을 수행하게 하도록 적응되고, 상기 방법은,
    컴퓨팅 디바이스 상에서 실행되는 클라이언트 애플리케이션에서, DOM 트랙 및 미디어 트랙을 포함하는 스트리밍 미디어 콘텐츠를 수신하는 단계 ― 상기 DOM 트랙은 상기 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시간 인터벌에서 실행할 UI(user interface) 이벤트를 지정하고, 상기 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행됨 ― ;
    상기 미디어 트랙을 렌더링하는 단계; 및
    상기 시간 인터벌에 따라 상기 DOM 트랙을 렌더링하는 단계를 포함하는,
    기계-판독 가능 저장 매체.
  15. 미디어 콘텐츠를 렌더링하기 위한 장치로서,
    DOM 트랙 및 미디어 트랙을 포함하는 스트리밍 미디어 콘텐츠를 수신하기 위한 수단 ― 상기 DOM 트랙은 상기 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시간 인터벌에서 실행할 UI(user interface) 이벤트를 지정하고, 상기 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행됨 ― ;
    상기 미디어 트랙을 렌더링하기 위한 수단; 및
    상기 시간 인터벌에 따라 상기 DOM 트랙을 렌더링하기 위한 수단을 포함하는,
    미디어 콘텐츠를 렌더링하기 위한 장치.
  16. 미디어 콘텐츠와 연관된 DOM(document object model) 트랙을 생성하는 방법으로서,
    시간 인터벌들의 세트를 수신하는 단계 ― 상기 세트의 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠에 포함되는 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 가짐 ― ;
    상기 시간 인터벌들의 세트 동안에 실행할 하나 또는 그 초과의 UI(user interface) 이벤트들을 결정하는 단계 ― 적어도 하나의 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행됨 ― ; 및
    상기 시간 인터벌들의 세트 동안에 실행할 상기 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하는 단계를 포함하는,
    미디어 콘텐츠와 연관된 DOM 트랙을 생성하는 방법.
  17. 미디어 콘텐츠와 연관된 DOM(document object model) 트랙을 생성하기 위한 시스템으로서,
    시간 인터벌들의 세트를 수신하는 스트리밍 서버를 포함하고, 상기 세트의 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠에 포함되는 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 갖고,
    상기 스트리밍 서버는 상기 시간 인터벌들의 세트 동안에 실행할 하나 또는 그 초과의 UI(user interface) 이벤트들을 결정하고, 적어도 하나의 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행되고, 그리고
    상기 스트리밍 서버는 상기 시간 인터벌들의 세트 동안에 실행할 상기 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하는,
    미디어 콘텐츠와 연관된 DOM 트랙을 생성하기 위한 시스템.
  18. 복수의 기계-판독 가능 명령들을 포함하는 기계-판독 가능 저장 매체로서,
    상기 복수의 기계-판독 가능 명령들은, 하나 또는 그 초과의 프로세서들에 의해 실행될 때, 상기 하나 또는 그 초과의 프로세서들로 하여금 방법을 수행하게 하도록 적응되고, 상기 방법은,
    시간 인터벌들의 세트를 수신하는 단계 ― 상기 세트의 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠에 포함되는 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 가짐 ― ;
    상기 시간 인터벌들의 세트 동안에 실행할 하나 또는 그 초과의 UI(user interface) 이벤트들을 결정하는 단계 ― 적어도 하나의 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행됨 ― ; 및
    상기 시간 인터벌들의 세트 동안에 실행할 상기 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하는 단계를 포함하는,
    기계-판독 가능 저장 매체.
  19. 미디어 콘텐츠와 연관된 DOM(document object model) 트랙을 생성하기 위한 장치로서,
    시간 인터벌들의 세트를 수신하기 위한 수단 ― 상기 세트의 각각의 시간 인터벌은 스트리밍 가능한 미디어 콘텐츠에 포함되는 미디어 트랙의 시간이 맞춰진 재생에 대응하는 시작 및 종료 시간들을 가짐 ― ;
    상기 시간 인터벌들의 세트 동안에 실행할 하나 또는 그 초과의 UI(user interface) 이벤트들을 결정하기 위한 수단 ― 적어도 하나의 UI 이벤트는 상기 미디어 트랙을 디스플레이하는 비디오 뷰포트의 외부에서 실행됨 ― ; 및
    상기 시간 인터벌들의 세트 동안에 실행할 상기 하나 또는 그 초과의 UI 이벤트들을 지정하는 DOM 트랙을 생성하기 위한 수단을 포함하는,
    미디어 콘텐츠와 연관된 DOM 트랙을 생성하기 위한 장치.
  20. 제3 항에 있어서,
    상기 비디오 트랙 및 오디오 트랙은 상기 시간 인터벌 동안에 렌더링되는,
    미디어 콘텐츠를 렌더링하는 방법.
  21. 제13 항에 있어서,
    상기 미디어 트랙은 비디오 트랙 및 오디오 트랙을 포함하고, 상기 비디오 트랙 및 오디오 트랙은 상기 시간 인터벌 동안에 렌더링되는,
    미디어 콘텐츠를 렌더링하기 위한 시스템.
  22. 제13 항에 있어서,
    상기 UI 이벤트는 제1 웹페이지에서 실행되는 웹 UI 이벤트이고, 상기 미디어 트랙은 제2 웹페이지에서 렌더링되는,
    미디어 콘텐츠를 렌더링하기 위한 시스템.
KR1020177036256A 2015-06-18 2016-06-18 미디어―시간이 맞춰진 웹 상호작용들 KR20180019575A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562181700P 2015-06-18 2015-06-18
US62/181,700 2015-06-18
US15/185,676 2016-06-17
US15/185,676 US20160373498A1 (en) 2015-06-18 2016-06-17 Media-timed web interactions
PCT/US2016/038265 WO2016205768A1 (en) 2015-06-18 2016-06-18 Media-timed web interactions

Publications (1)

Publication Number Publication Date
KR20180019575A true KR20180019575A (ko) 2018-02-26

Family

ID=56404293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036256A KR20180019575A (ko) 2015-06-18 2016-06-18 미디어―시간이 맞춰진 웹 상호작용들

Country Status (8)

Country Link
US (1) US20160373498A1 (ko)
EP (1) EP3311584A1 (ko)
JP (1) JP2018524893A (ko)
KR (1) KR20180019575A (ko)
CN (1) CN107710777A (ko)
BR (1) BR112017027380A2 (ko)
TW (1) TW201703537A (ko)
WO (1) WO2016205768A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10917477B2 (en) * 2016-05-25 2021-02-09 Samsung Electronics Co., Ltd. Method and apparatus for MMT integration in CDN
US10887645B2 (en) * 2017-07-13 2021-01-05 Qualcomm Incorporated Processing media data using file tracks for web content
US10733225B1 (en) * 2017-09-06 2020-08-04 Snap Inc. Scaled delivery of media content
US11321516B2 (en) * 2018-01-19 2022-05-03 Qualcomm Incorporated Processing dynamic web content of an ISO BMFF web resource track
CN108509189B (zh) * 2018-04-13 2019-09-10 南京新贝金服科技有限公司 一种基于dom的h5时间选择器的组件统一实现方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US20070006078A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
CN101246491B (zh) * 2008-03-11 2014-11-05 孟智平 一种在网页中使用描述文件的方法和系统
CN101998162B (zh) * 2009-08-28 2013-03-20 中国移动通信集团公司 实现移动终端中多媒体节目互动业务的方法、系统及装置
US9438654B2 (en) * 2013-04-18 2016-09-06 Futurewei Technologies, Inc. Fragment interface into dynamic adaptive streaming over hypertext transfer protocol presentations
CN103384311B (zh) * 2013-07-18 2018-10-16 博大龙 互动视频批量自动生成方法
US20150074129A1 (en) * 2013-09-12 2015-03-12 Cisco Technology, Inc. Augmenting media presentation description and index for metadata in a network environment
CN104093079B (zh) * 2014-05-29 2015-10-07 腾讯科技(深圳)有限公司 基于多媒体节目的交互方法、终端、服务器和系统
CN103997691B (zh) * 2014-06-02 2016-01-13 合一网络技术(北京)有限公司 视频交互的方法和系统
CN104113786A (zh) * 2014-06-26 2014-10-22 小米科技有限责任公司 信息获取方法及装置
CN104135671A (zh) * 2014-07-25 2014-11-05 宁波创视信息技术有限公司 电视视频内容互动问答方法

Also Published As

Publication number Publication date
EP3311584A1 (en) 2018-04-25
CN107710777A (zh) 2018-02-16
JP2018524893A (ja) 2018-08-30
WO2016205768A1 (en) 2016-12-22
TW201703537A (zh) 2017-01-16
BR112017027380A2 (pt) 2019-12-03
US20160373498A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
US10560726B2 (en) System and method for delivery and caching of personalized media streaming content
JP6570646B2 (ja) オーディオビデオファイルのライブストリーミング方法、システム及びサーバー
US11537562B2 (en) Auxiliary manifest file to provide timed metadata
CN104396263B (zh) 用于流送媒体内容的实时复用变换的方法和系统
EP2475146B1 (en) Anchoring and sharing time positions and media reception information on a presentation timeline for multimedia content streamed over a network
KR20180019575A (ko) 미디어―시간이 맞춰진 웹 상호작용들
CN107251521B (zh) 用于在通信系统中发送和接收媒体信息的方法
CN110870282B (zh) 使用网络内容的文件轨处理媒体数据
WO2014201883A1 (en) Method and device for playing streaming media, and non-transitory storage medium
CN109587514B (zh) 一种视频播放方法、介质和相关装置
JP2022524073A (ja) Httpによる動的適応ストリーミングのための方法及び装置
JPWO2016174960A1 (ja) 受信装置、送信装置、およびデータ処理方法
EP2704449A1 (en) Rendering time control
EP3214845A1 (en) Reception device, transmission device, and data processing method
CA2944985C (en) Receiver, transmitter, data communication method, and data processing method
KR102533674B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US10547878B2 (en) Hybrid transmission protocol
CN111869225B (zh) 信息处理装置、信息处理方法及非暂时性计算机可读存储介质
CN112188256A (zh) 信息处理方法、信息提供方法、装置、电子设备及存储介质
US10484725B2 (en) Information processing apparatus and information processing method for reproducing media based on edit file
CN113364728B (zh) 媒体内容接收方法、装置、存储介质和计算机设备
CN106330667A (zh) 一种微信明信片生成方法及系统
CN117319692A (zh) 时移播放方法和装置、计算设备、存储介质
CN116962366A (zh) 一种媒体数据传输方法、装置、电子设备和存储介质