KR20180030143A - 이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화 - Google Patents

이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화 Download PDF

Info

Publication number
KR20180030143A
KR20180030143A KR1020187004411A KR20187004411A KR20180030143A KR 20180030143 A KR20180030143 A KR 20180030143A KR 1020187004411 A KR1020187004411 A KR 1020187004411A KR 20187004411 A KR20187004411 A KR 20187004411A KR 20180030143 A KR20180030143 A KR 20180030143A
Authority
KR
South Korea
Prior art keywords
media item
rendering
terminal
media
rendered
Prior art date
Application number
KR1020187004411A
Other languages
English (en)
Other versions
KR102051985B1 (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 KR20180030143A publication Critical patent/KR20180030143A/ko
Application granted granted Critical
Publication of KR102051985B1 publication Critical patent/KR102051985B1/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

복수의 네트워크화된 단말기들 간의 미디어 렌더링을 동기화하는 기술들이 개시된다. 제1 단말기는 단말기들 상에 렌더링될 미디어 아이템의 제1 부분과 네트워크 시간을 상관시키는 또 다른 단말기로부터 통신을 수신할 수 있다(258). 단말기들은 미디어의 제1 부분과 네트워크 시간과의 상관 관계로부터, 그리고 단말기들 사이에서 협의된 재생 속도로부터, 다른 네트워크 시간들에서 렌더링될 미디어 아이템의 다른 부분들을 식별할 수 있다. 단말기들 각각은 네트워크 시간이 진행됨에 따라 미디어 아이템의 적당한 부분들을 렌더링할 수 있다. 또한, 단말기들은 공통 렌더링 세션의 과정 동안 재생 모드들을 바꾸기 위해 다른 데이터를 교환할 수 있다.

Description

이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화
본 개시내용은 네트워크화된 디바이스들에 대한 미디어 렌더링 응용 프로그램들, 특히 방송 전달 동작들을 모방하기 위해 미디어 렌더링을 동기화하는 기술들에 관한 것이다.
최신 통신 네트워크들은 비디오 데이터를 포함하여 상이한 타입들의 데이터의 호스트의 전달을 지원한다. 특히 단일 디스플레이 디바이스에서 관중이 비디오를 소모하는 많은 응용 프로그램들에서, 비디오의 렌더링 및 네트워크 전달에서의 왜곡(skew)들은 시청 경험에 악영향을 미치지 않는다. 3 명의 별개 관중들이 3 곳의 별개 위치들에서 공통 미디어 아이템을 리뷰하는 예시를 고려하자. 관중들이 "라이브" 비디오 피드를 시청하고 있다 하더라도, 관중 1에 대한 비디오 렌더링이 관중 2에 대한 동일 비디오 렌더링 1 초 전, 그리고 관중 3에 대한 비디오 렌더링 3 초 전에 발생하는 경우에는 관중들의 시청 경험은 악영향을 받지 않을 수 있다.
그러나, 3 명의 관중들이 서로 협력하여 비디오를 리뷰하려고 시도하고 있고, 서로 통신을 하는 경우(예를 들어, 오디오 컨퍼런스에 의함), 그러한 왜곡들은 시청 경험에 영향을 미칠 수 있다. 한 명의 관중 멤버에 의한 실황 방송(commentary)은, 예를 들어, 실황 방송이 다른 위치들에 있는 다른 관중 멤버들에게 아직 제시되지 않은 비디오와 관련된 경우, 또는 실황 방송이 너무 오래 전에 렌더링되어 다른 위치들에 있는 관중 멤버들이 그의 콘텐츠를 기억하는데 어려움이 있는 비디오와 관련된 경우 이해하기 어려울 수 있다.
미디어 전달 프로토콜들은 종종 렌더링될 미디어 콘텐츠를 위해 미디어 서버들에게 요청하라고 렌더링 단말기들에게 요구한다. 단일 미디어 아이템은, 단말기에 의해 개별적으로 요청되고 디코딩 및 렌더링을 위해 다운로드 및 버퍼링되는 다양한 전달 유닛들("세그먼트들")로 세그먼트화될 수 있다. 2 개 이상의 단말기가 공통 미디어 아이템을 렌더링할 시에, 각각의 단말기는, 다른 단말기들에 의해 어떠한 요청들이 이루어지든 간에 관계없이, 미디어 서버로부터 세그먼트들을 요청한다. 그러한 시스템들에서 미디어 렌더링 동작들을 적절히 동기화하는 기술이 알려져 있지 않다.
도 1은 본 개시내용의 다양한 실시예들과 함께 사용되기에 적합한 미디어 분배 시스템의 단순화된 블록 다이어그램이다.
도 2는 본 개시내용의 일 실시예에 따른, 단말기들 간의 미디어 렌더링을 동기화하는 프로세스를 도시한다.
도 3은 본 개시내용의 일 실시예에 따른, 단말기(300)의 기능적 블록 다이어그램이다.
본 개시내용의 실시예들은 복수의 네트워크화된 단말기들 간의 미디어 렌더링을 동기화하는 기술들을 제공한다. 제1 단말기는 단말기들 상에서 렌더링될 미디어 아이템의 제1 부분과 네트워크 시간을 상관시키는 또 다른 단말기로부터 통신을 수신할 수 있다. 단말기들은 미디어의 제1 부분과 네트워크 시간과의 상관 관계로부터, 그리고 단말기들 사이에서 협의된 재생 속도로부터, 다른 네트워크 시간들에서 렌더링될 미디어 아이템의 다른 부분들을 식별할 수 있다. 단말기들 각각은 네트워크 시간이 진행됨에 따라 미디어 아이템의 적당한 부분들을 렌더링할 수 있다. 또한, 단말기들은 공통 렌더링 세션의 과정 동안 재생 모드들을 바꾸기 위해 다른 데이터를 교환할 수 있다.
도 1은 본 개시내용의 다양한 실시예들과 함께 사용되기에 적합한 미디어 분배 시스템(100)의 단순화된 블록 다이어그램이다. 시스템(100)은 네트워크(130)에 의해 상호 통신에 제공되는 미디어 소스(110) 및 하나 이상의 클라이언트 단말기들(120.1 내지 120.4)(집합적으로 120으로 참조됨)을 포함할 수 있다. 미디어 소스(110)는 단말기들(120)에 의해 다운로드 및 렌더링될 수 있는 다양한 미디어 아이템들(140)을 저장할 수 있다. 네트워크(130)는 통신 패브릭(communication fabric)을 나타내고, 상기 통신 패브릭을 통해 미디어 아이템들(140)은 미디어 소스(110)로부터 단말기(들)(120)로 전달될 수 있다.
도 1은 본 개시내용의 일 실시예에 따른, 미디어 아이템(140)의 예시적인 컴포넌트들을 도시한다. 미디어 아이템(140)은 미디어 아이템(140)의 다른 컴포넌트들(144 내지 148)을 기술하는 정보를 포함한 매니페스트 파일(manifest file)(142)을 포함할 수 있다. 오디오/시각적 콘텐츠를 나타내는 단일 미디어 아이템(140)은 통상적으로 미디어 아이템의 시각적 콘텐츠를 나타내지만 상이한 데이터 전송 속도들로 각각 코딩되는 코딩 비디오의 여러 인스턴스들을 포함할 것이다. 예를 들어, 단일 미디어 아이템(140)은 5 Mbps 스트림(144), 2 Mbps 스트림(145) 및 500 Kbps 스트림(146)에 의해 제시될 수 있다. 미디어 아이템은 또한 상이한 오디오 트랙들, 예를 들어 영어 트랙(147), 스페인어 트랙(148) 및 다른 언어들(히브리어, 중국어, 기타 등등)로 된 트랙들(도시되지 않음)에 대한 스트림들(147 및 148)을 포함할 수 있다. 예를 들어, 자막 방송(close captioning) 등 다른 목적들을 위한 트랙들을 포함하는 것도 허용된다. 이들 스트림들(144 내지 148)은 통상적으로 다운로드를 위해 개별적으로 패키지화된 유닛들("세그먼트들"이라고 함)로 구조화된다. 매니페스트 파일(142)은 상이한 스트림들을 식별하는 데이터, 그들 속성들 및 각각의 트랙에 대한 세그먼트들이 독출될 수 있는 제공 네트워크 식별자들을 저장할 수 있다.
동작 동안, 주어진 단말기(120.1)는 미디어 아이템(140)에 대해 이용 가능한 모든 스트림들(144 내지 148)을 소비하지 않을 것으로 예상된다. 대신에, 단말기(120.1)는 단말기의 렌더링 환경에 적당한 오디오 및 비디오 스트림들(예로, 스트림들(145 및 147))을 식별할 것으로 예상된다. 상이한 환경에서 동작되는 또 다른 단말기(120.2)는 다운로드 및 디스플레이를 위해 상이한 스트림들(예로, 스트림들(144 및 148))을 선택할 수 있다. 상이한 환경들은 디바이스들(120.1 내지 120.4), 예를 들어, 그들 각자의 디스플레이들의 해상도들 사이의 리소스 차이들, 및 스트림 디코딩을 위해 이용 가능한 프로세싱 리소스들 간의 차이들에 의해 영향을 받을 수 있으며, 또한 네트워크(130)에 의해 각각의 단말기(120.1, 120.2, 120.3, 및 120.4)로 제공될 수 있는 대역폭에서의 차이들에 의해 영향을 받을 수 있다.
도 1은 미디어 아이템(140)의 단순화된 아키텍처를 도시한다. 실제로, 매니페스트 파일(142)은 미디어 아이템의 부분들 각자에 관한 정보를 각각 제공하는 파일들의 어레이에 의해 나타낼 수 있다.
도 1에 도시된 바와 같이, 단말기들(120)은 스마트 폰들(120.1, 120.2), 태블릿 컴퓨터들(120.3) 및 디스플레이들(120.4)로 도시되지만, 본 개시내용의 원리들은 그렇게 제한되지는 않는다. 본 개시내용의 실시예들은 퍼스널 컴퓨터들(데스크톱 및 랩톱 컴퓨터 둘 다), 컴퓨터 서버들, 셋톱 박스들, 미디어 재생기들, 및/또는 게이밍 플랫폼들과 함께 응용 프로그램에 이른다. 네트워크(130)는, 예를 들어, 유선 및/또는 무선 통신 네트워크들을 포함하여, 미디어 소스(110)와 단말기들(120) 사이에서 코딩된 비디오 데이터를 전하는 임의의 수의 네트워크들을 나타낸다. 통신 네트워크(130)는 회선 교환형(circuit-switched) 및/또는 패킷 교환형(packet-switched) 채널들에서 데이터를 교환할 수 있다. 대표적인 네트워크들은 전기 통신 네크워크들(telecommunications networks), 근거리 네트워크들(local area networks), 광역 네트워크들(wide area networks) 및/또는 인터넷을 포함한다. 본 논의의 목적들을 위해, 네트워크(130)의 아키텍처 및 토폴로지는 이하에서 설명하지 않는 한, 본 개시내용의 동작에 중요하지 않다.
도 2는 본 개시내용의 일 실시예에 따른, 단말기들 간의 미디어 렌더링을 동기화하는 프로세스(200)를 도시한다. 도 2는 한 쌍의 단말기들(210, 220), 미디어 소스(230) 및 클록 기준(clock reference)(240)을 도시한다. 동기화된 렌더링 세션은 단말기들(210, 220) 사이에서 세션을 구축하는 초기화 단계(250)로 시작될 수 있다. 초기화 단계(250)는, 단말기들(210, 220)이 세션 동안 사용될 클록 기준(240)을 지정하는, 단말기들(210, 220) 사이에서 교환되는 제1 통신 흐름(252)을 포함할 수 있다. 초기화 단계(250)의 일부로서, 단말기들(210) 중 하나("1 차" 단말기로 지정됨)는, 렌더링될 미디어 아이템을 식별하고(메시지(254)) 세션 동안 사용될 재생 속도를 식별하며(메시지(256)) 미디어 시간에 대응되는 공유 네트워크 시간을 식별하는(메시지(258)) 다른 단말기(220)("2 차" 단말기)로 메시지들을 송신할 수 있다. 2 차 단말기(220)는 동기식으로 렌더링될 미디어 시간의 네트워크 위치를 식별하기 위해 미디어 아이템 식별자(254)를 사용할 수 있다. 2 차 단말기(220)는 1 차 단말기(210)에 의해 이루어진 임의의 요청들과 관계없이, 미디어 소스(230)로부터 미디어 아이템을 요청할 수 있다. 2 차 단말기(220)는 또한 2 차 단말기(220)에 적당한 미디어 아이템으로부터 스트림들을 선택할 수 있고; 단말기의 선택은 1 차 단말기(210)에 의해 이루어진 선택들과 관계없이, 이루어질 수 있다.
2 차 단말기(220)는 네트워크 시간과 미디어 아이템에서의 포인트를 상관시키기 위해, 미디어 시간 및 공유 시간 식별자들(메시지(258))을 사용할 수 있다. 재생 속도와 함께 사용된 이러한 상관 관계는, 미디어 아이템의 어느 요소들이 추후에 렌더링되어야 하는지를 2 차 단말기(220)가 식별하는 것을 허용한다.
일단 초기화 단계(250)가 종료되면, 단말기들(210, 220)은 세션의 각자의 렌더링 단계들(260, 270)에 진입할 수 있다. 렌더링 단계들(260, 270) 동안, 각각의 단말기의 동작들은 다른 것과 관계없이 발생할 수 있지만, 그럼에도 불구하고 단말기들(210, 220)은 동기화된 비디오를 렌더링한다. 각각의 단말기(210, 220)는 미디어 소스로부터 미디어 아이템의 선택된 스트림들을 다운로드할 수 있다(메시지 흐름들(262, 272)). 각각의 단말기(210, 220)는 그의 렌더링 동작을 클록 기준과 동기화시킬 수 있다(메시지 흐름들(264, 274)). 각각의 단말기(210, 220)는 초기화 단계(250)에서 식별된 재생 속도 및 상관 관계에 기초하여, 미디어 아이템의 어느 부분이 각각의 단말기에서 현재 "시간"에 렌더링되어야 하는지를 결정함으로써, 국부적으로 미디어 아이템의 일부분을 렌더링할 수 있다(박스들(266, 276)). 이들 동작들은, 렌더링 세션이 미디어 아이템의 끝에 도달하거나, 사용자 동작이 일반적인 재생으로 하여금 중단되게 하는 것과 같은 미리 결정된 정지 조건에 도달할 때까지, 비디오 세션 전체에 걸쳐 반복적으로 발생될 수 있다.
본 개시내용의 실시예들은, 비디오 렌더링 세션이 단말기들(210, 200) 사이의 다른 상호 작용들(280)과 병행으로 발생될 수 있음을 고려한다. 예를 들어, 단말기들(210, 220)은 그들 사이에서 오디오 또는 오디오/시각적 컨퍼런스를 지원할 수 있으며, 이는 각각의 단말기에 있는 시청자들이 렌더링되고 있는 미디어 아이템에 관해 의견을 말하는 것을 허용한다. 대안적으로, 상호 작용들(280)은 인스턴트 메시징 세션들, 채팅 응용 프로그램들, 트위팅(tweeting), 소셜 네트워킹 피드들 등과 같은 다른 형태들을 취할 수 있다. 단말기들(210, 220)은 각각의 단말기에 있는 시청자들이 미디어 아이템의 노트들 또는 주석들을 전개시키는 것을 허용하는 공동 문서 오더링 응용 프로그램(joint document-authoring application)을 지원할 수 있다.
도 2가 단지 2 개의 단말기들(210, 220) 사이의 렌더링 세션을 도시하지만, 본 개시내용의 원리들은 그렇게 제한되지는 않는다. 실제로, 렌더링 세션은 임의로 선택된 개수(N)의 단말기들을 포함할 수 있다. 그러한 응용 프로그램들에서, 통신 흐름들(252)은 N 개의 단말기들 간에 공유될 수 있다. 1 차 단말기(210)는 초기화 단계를 완료하기 위해 다른 N-1 개의 2 차 단말기들로 메시지들(254 내지 258)을 전송할 수 있다. 그 이후에, 단말기들은 그들 렌더링 단계들(260, 270)을 서로 병행하여 처리할 수 있다.
클록 기준(240)은 다양한 기술들 중 어느 것에 의해 얻어질 수 있다. 예를 들어, 여러 네트워킹 프로토콜들은 표준들로서 네트워크 시간 프로토콜(Network Time Protocol; NTP), IEEE 1588 및 IEEE 802.1을 포함하여, 네트워크 요소들에 대한 클록 기준들을 정의한다. 단말기들(210, 220)은 렌더링 동안 사용되는 이들 프로토콜들 중 어느 것에 의해 제공된 타이밍 기준들에 의존할 수 있다. 단말기들이 렌더링 세션에서 사용되는 클록 기준들을 지정할 시에(메시지(252)), 단말기들(210, 220)은 그러한 타이밍 기준들을 공급하는 적당한 네트워크 요소를 지정할 수 있다. 단말기들(210, 220) 각각은, (예컨대, 박스들(266, 276)에서) 단말기마다 변경될 수 있는 각각의 단말기의 로컬 동작 시간과, 사용된 클록 기준(240)에 의해 정의된 네트워크 시간 사이의 상관 관계를 전개시키기 위해, 클록 기준(240)을 참조할 수 있다.
실제로, 개별 단말기들(210, 220)은 이들 클록 소스들에 관해 드리프트를 나타낼 수 있는 로컬 클록들에 따라 동작될 수 있다. 예를 들어, 주어진 단말기의 클록은 다른 디바이스들에서 렌더링하는 것보다 0.01% 빠른 속도로 렌더링을 발생시킬 수 있다. 단말기는 그의 동작을 조정하기 위해 주기적으로 그의 동작들을 클록 기준(240)과 재동기화시킬 수 있다. 추가적으로, 단말기(220)는 렌더링 세션의 과정에 걸쳐 클록 드리프트 오차를 추적할 수 있으며, 오차가 재료인 것으로 결정되는 경우(예컨대, 미리 결정된 임계치를 넘음), 단말기(220)는 (예컨대, 앞서 말한 예시에서 0.01% 오차를 무효화시키기 위해) 그러한 클록 드리프트를 보상하는 로컬 재생 속도를 계산할 수 있다.
도 2는, 2 개의 단말기들이 비디오를 일정한 재생 속도로 렌더링할 시에 발생될 수 있는 통신 흐름 및 동작들을 도시한다. 본 개시내용의 실시예들은 또한 도 2에 도시된 일정한 재생 예시와 상이한 렌더링 모드들을 지원하는 통신 흐름들을 제공한다. 그들은 다음을 포함한다:
재생 일시 정지: 이러한 모드에서, 단말기들(210, 220) 각각은 미디어 아이템의 렌더링 타임라인 내의 미리 결정된 포인트에서 미디어 아이템의 렌더링을 일시 정지시킬 수 있다. 이러한 모드를 지원하기 위해, 일시 정지 커맨드가 입력되었던 단말기(예로, 단말기(220))는, 일시 정지 커맨드가 입력되었다는 것을 식별하고 일시 정지 동작의 효과가 발휘되는 미디어 시간을 식별하는 세션의 다른 단말기(들)(210)로 메시지를 송신할 수 있다. 세션에서 각각의 단말기(210, 220)는 일시 정지 메시지에서 식별된 미디어 시간에서, 렌더링을 일시 정지시킬 수 있다.
재생 재개: 단말기는 일반적인 재생을 재개하여 이전에 부과된 일시 정지 동작을 해제할 수 있다. 이러한 모드를 지원하기 위해, 개시 단말기(210)(일시 정지 동작을 이행했던 동일한 단말기일 필요는 없음)는 일지 정지가 해제되었다는 것을 식별하고 해제의 효과가 발휘되는 네트워크 시간 기준을 식별하는 메시지를 송신할 수 있다. 이러한 메시지에 기초하여, 각각의 수신 단말기는 그의 네트워크 시간과 미디어 아이템의 타임라인 사이에서 새로운 상관 관계를 생성할 수 있고, 새로운 상관 관계를 사용하여 렌더링을 재개할 수 있다.
재생 스캔: 이러한 모드에서, 단말기들(210, 220) 각각은 재생 속도 메시지(256)에서 식별되었던 디폴트 속도로부터 대체 속도로 재생 속도를 바꾸어야 한다. 재생 속도들은 일반적인 렌더링 속도들(예컨대, 디폴드 속도의 2 배, 4 배, 8 배 또는 16 배)로부터 증가될 수 있거나, 그들은 일반적인 속도들(예컨대, 디폴트 속도의 ½ 배 또는 ¼ 배)로부터 감소될 수 있다. 게다가, 재생 속도들은 일반적인 재생과는 역방향으로 스캔을 허용하는 음의 값들일 수 있다. 그러한 재생 모드들을 지원하기 위해, 개시 단말기는 스캔 모드가 입력되고 있음을 식별하고 새로운 재생 속도를 식별하며 스캔 모드의 효과가 발휘되는 미디어 시간을 식별하는 다른 단말기(210)로 메시지를 송신할 수 있다. 각각의 단말기(210, 220)는 새로운 메시지에 제공된 정보를 사용하여 그 자신의 현재 시간과 미디어 아이템의 타임라인 사이에서 새로운 상관 관계를 정의할 수 있다.
재생 탐색: 이러한 모드에서, 단말기들(210, 220)은 미디어 아이템의 타임라인 내의 제1 위치로부터 제2 위치로 점프해야 한다. 탐색 모드를 지원하기 위해, 개시 단말기는 탐색 모드가 입력되었음을 식별하고 재생이 점프해야 하는 미디어 아이템에서의 새로운 위치 및 새로운 위치에서의 렌더링이 시작되어야 하는 네트워크 시간을 식별하는 다른 단말기(210)로 메시지를 송신할 수 있다. 각각의 단말기(210, 220)는 새로운 메시지에 제공된 정보를 사용하여 그 자신의 현재 시간과 미디어 아이템의 타임라인 사이에서 새로운 상관 관계를 정의할 수 있다.
재생 스크럽: 이러한 모드에서, 제1 단말기(210)에 있는 사용자는 슬라이더와 같은 사용자 인터페이스 제어를 사용하여 미디어 아이템의 타임라인에 걸쳐 스크롤한다. 제1 단말기에서, 스크롤 동작은 불규칙할 수 있는, 사용자에 의해 결정된 속도로 타임라인을 통해 진행된다. 제1 단말기(210)는, 새로운 프레임의 디스플레이가 요구될 시에, 스크롤 동작의 위치에 기초하여, 미디어 아이템으로부터 선택될 수 있는 타임라인으로부터의 프레임들을 주기적인 속도로 디스플레이할 수 있다.
스크럽 동작 동안, 제1 단말기(210)는, 스크럽이 개시되었음을 나타내고 스크럽 동작이 시작되었을 시의 네트워크 시간을 식별하는 다른 단말기(들)(220)로 메시지를 전송할 수 있다. 다른 단말기들(220)은, 일시 정지 메시지가 수신되었던 것처럼 응답하여, 나타낸 네트워크 시간에서 렌더링되었을 프레임에서 재생을 일시 정지시킬 수 있다.
스크럽 동작이 완료될 시에, 렌더링은 인터페이스 제어에 의해 식별된 미디어 시간 내의 위치에서, 제1 단말기(210)에서 재개할 것이다. 제1 단말기(210)는, 랜더링이 재개되어야 하는 미디어 아이템의 일부분을 식별하고 렌더링이 시작되어야 하는 네트워크 시간을 식별하는 다른 단말기들(220)로 또 다른 메시지를 전송할 수 있다. 다른 단말기들(220)은 탐색 메시지가 수신되었던 것처럼 응답할 수 있으며, 식별된 위치로 점프하고 식별된 네트워크 시간에서 렌더링을 시작할 수 있다.
옵션으로, 스크럽 동작이 진행 중에 있는 동안, 제1 단말기(210)는, 스크럽 동작의 진행 동안에 제1 단말기(210)에 디스플레이되었던 미디어 아이템으로부터 프레임들을 식별하고 이들 식별된 프레임들이 디스플레이되었을 시의 네트워크 시간들을 식별하는 다른 단말기들(220)로 추가적인 메시지들을 전송할 수 있다. 이에 응답하여, 다른 단말기들(220)은 네트워크 시간들에서 식별된 프레임들을 디스플레이할 수 있다. 그러한 메시지들의 송신은 단말기들(210 및 220)에서의 로딩에 기여할 수 있고, 그러므로, 그러한 단말기들은 최상의 방식으로 이들 추가적인 메시지들을 송신 또는 프로세싱할 수 있다.
본 개시내용의 실시예들은 또한 이들 메시지들이 추가적인 기능성을 제공하기 위해, 서로 종속으로 연결되는 것을 허용한다. 예를 들어, 단말기들(210, 220)은, 단말기들(210, 220) 상에서 동기식으로 제1 미디어 아이템의 렌더링을 중지시키는 일시 정지 메시지를 송신하고, 이어서 단말기들(210, 220) 상에서 동기식으로 새로운 미디어 아이템의 렌더링을 시작하기 위해 초기화 단계(250)를 다시 이행함으로써 일반적인 텔레비전 프로그래밍의 변화 채널들을 모방할 수 있다.
본 개시내용의 동기화된 렌더링 기술들은 다양한 사용 경우들에서의 응용 프로그램에 이른다. 상기에서 논의된 하나의 예시에서, 공통 소셜 그룹의 멤버들은 단말기들(210, 220) 사이의 보충 컨퍼런스에 참여하는 동안 미디어 아이템을 시청할 수 있다. 이로써, 시청자들이 미디어 아이템에 대한 실황 방송 또는 다른 반응을 제의함에 따라, 그들의 실황 방송은 미디어 아이템의 동일한 부분을 동기식으로 관찰할 다른 시청자들에게 의미가 있을 것으로 예상된다.
또 다른 사용 경우에서, 시청자들은 공통 대형 디스플레이 앞에 있는 것과 같은 공통 시청 영역에 모일 수 있다. 일부 시청자들은 공통 디스플레이에 의해 출력되고 있는 언어와 상이한 언어를 사용하여, 미디어 아이템을 보는 것이 보다 쉽다는 것을 발견할 수 있다. 이러한 시나리오에서, 선택 시청자들은 메인 디스플레이와 동기화되지만 퍼스널 헤드폰들을 통해 대체 언어 오디오를 출력하는 (퍼스널 미디어 재생기 또는 스마트 폰과 같은) 보충 디바이스를 이행할 수 있다. 대체 오디오 트랙들의 선택은 또한 상술된 소셜 그룹 사용 경우와 같은, 다른 시청 환경들에서 지원될 수 있다.
이와 유사하게, 또 다른 커뮤니티 시청 환경에서, 시청자들은 커뮤니티 디스플레이 디바이스 상에 출력되는 미디어 아이템을 볼 수 있다. 주변의 시청 조건들(예컨대, 잡음 또는 디스플레이가 음소거됨)은 오디오가 소정의 청취자들에 의해 청취되는 것을 방지할 수 있다. 이러한 시나리오에서, 선택 시청자들은, 메인 디스플레이와 동기화되지만 퍼스널 헤드폰들을 통해 오디오를 출력하는 보충 디바이스를 이행할 수 있다.
추가로 커뮤니티 시청 환경에서, 공통 미디어 아이템은, 서로 근접하여 위치된 복수의 디스플레이들 상에서 렌더링될 수 있다. 그러한 환경들에서, 비동기화된 렌더링은, 특히 공통 세트의 장면 변화들이 상이한 디스플레이들 상에서 상이한 시간들에서 나타남에 따라 시청자들에게 매우 가시적일 수 있다. 본 개시내용의 동기화 기술들을 사용하여, 공통 시청 영역에서의 디스플레이들은 미디어 아이템의 렌더링을 동기화할 수 있으며, 이는 디스플레이들에 걸친 미디어 아이템들의 렌더링 사이의 왜곡을 최소화할 수 있다.
또한, 동기화 기술들은 시청자들이 공통 시청 영역에서 상이한 디스플레이들 상에 전달되는 상이한 비디오 스트림들을 선택할 수 있는 사용 경우들에서의 응용 프로그램에 이를 수 있다. 예를 들어, 콘서트 화면을 나타내는 미디어 아이템은 콘서트에서 상이한 수행자들에게 지향되는 상이한 비디오 스트림들을 가질 수 있다. 제1 비디오 스트림은 리드 싱어의 비디오를 포함할 수 있고, 제2 비디오 스트림은 기타리스트의 비디오를 포함할 수 있으며, 제3 비디오 스트림은 드러머의 비디오를 포함할 수 있다. 스포츠 이벤트를 수반하는 또 다른 예시에서, 상이한 비디오 스트림들은 이벤트에서 상이한 수행자들에게 집중될 수 있다. 관중 멤버들은 퍼스널 미디어 재생기들을 메인 디스플레이와 동기화시키고 렌더링을 위해 이들 대안 비디오 스트림들 중 하나를 선택할 수 있다. 이러한 방식으로, 퍼스널 미디어 디바이스에서 대안 비디오 스트림의 렌더링은 메인 디스플레이의 렌더링과 동기화될 수 있다.
동기화 기술들은, 미디어 아이템이 라이브 생성 비디오인 비디오 컨퍼러싱 응용 프로그램에서의 응용 프로그램에 이를 수 있다. 그러한 일 실시예에서, 원격 참가자는, 메인 디스플레이가 또 다른 디바이스 상에서 비디오 파일을 렌더링하는 동안, 퍼스널 디바이스(예컨대, 스마트 폰 또는 태블릿 컴퓨터) 상에서 미디어 아이템을 시청할 수 있다. 3 명 이상의 비디오 참가자들(이들 각각은 그 자신의 미디어 아이템을 생성함)을 수반하는 비디오컨퍼런스에서, 운영자들은 다른 단말기들에 적용될 수 있는 디폴트 렌더링 기법과 상이한 방식으로 미디어 아이템들의 로컬 렌더링을 제어할 수 있다. 예를 들어, 운영자는, 모든 미디어 아이템들이 단말기에 있는 윈도우들 각자에 디스플레이되고 현재 말하는 사람의 윈도우들이 말하지 않는 참가자들보다 큰 크기로 렌더링되는 렌더링 기법을 선택할 수 있다. 디폴트 렌더링 기법은 그러한 향상들을 적용하지 않을 수 있고, 대신에 그러한 미디어 아이템들에서 발생하는 활동(예컨대, 말하기 대 말하지 않기)에 상관없이, 동일한 크기의 윈도우들로 모든 미디어 아이템들을 렌더링할 수 있다.
앞서 말한 논의는 각각의 단말기가 공통 미디어 소스(230)로부터 미디어 아이템을 다운로드하는 네트워킹 환경을 제시하였다. 본 개시내용의 원리들은, 미디어 아이템의 여분의 복사본들을 저장하는 여러 미디어 소스들(도시되지 않음)이 네트워크에 존재하는 환경들에서의 응용 프로그램에 이른다. 이로써, 제1 단말기(210)는 제1 미디어 소스(230)로부터 미디어 아이템을 다운로드할 수 있고, 제2 단말기(220)는 또 다른 미디어 소스(도시되지 않음)로부터 미디어 아이템을 다운로드할 수 있다.
본 개시내용의 원리들은 또한 하나의 단말기(210)가 미디어 아이템(또는 그의 일부분들)을 또 다른 단말기(220)에 공급하는 네트워킹 환경들에서의 응용 프로그램에 이른다. 이러한 실시예에서, 제1 단말기(210)는 미디어 아이템의 일부분들을 다운로드하고 그들 부분들을 로컬 저장부에 저장할 수 있다. 대안적으로, 제1 단말기(210)는, 예를 들어, 로컬 이미징 시스템에 의해 비디오 데이터를 캡처함으로써 미디어 아이템을 오더링할 수 있다. 어떠한 경우에도, 제1 단말기(210)는 또한 그가 저장하는 미디어 아이템의 일부분(들)을 식별하기 위하여 제2 단말기(220)와 통신할 수 있다. 이러한 상황에서, 단말기(220)는, 단말기(210) 또는 미디어 소스(230) 중 어떤 실체가 미디어 아이템의 그들 일부분들을 공급하라고 요청할 것인지를 결정하는 재량을 가진다. 제2 단말기(220)는 미디어 아이템들에 대한 그의 요청들을 발행할 실체를 선택할 시에 네트워크 로딩 조건들 및 다른 리소스 제약들을 추정할 수 있다.
추가로, 도 2는 각각의 단말기(210, 220)가 세션 초기화의 완료 이후에만 미디어 아이템들을 다운로드하는 것을 도시하지만, 본 개시내용의 원리들은 그렇게 제한되지는 않는다. 본 개시내용의 실시예들은 단말기(210)(또는 모든 단말기들)가 또 다른 단말기(220)와 함께 동기화된 렌더링 세션을 개시하기 이전에 미디어 아이템 전체를 다운로드하는 것을 허용한다. 이러한 경우에, 미디어 아이템을 미리 저장하는 단말기(들)(210)는 상술된 바와 같이 렌더링을 동기화하는 것만을 필요로 한다.
앞서 말한 논의는, 제1 단말기(210)가 1 차 단말기로서 지정되고 다른 단말기(들)가 2 차 단말기들로서 지정되는 구현예를 기술하였다. 일 실시예에서, 이들 단말기들의 역할들은 공통 세션 동안에 변화될 수 있다. 예를 들어, 제1 단말기(210)는 1 차 단말기로서 세션을 개시할 수 있고, 이때 다른 단말기(들)는 2 차 단말기들의 역할을 취한다. 어떤 이유로, 제1 단말기(210)에 있는 사용자가 세션으로부터 이탈하는 경우, 또 다른 단말기(예로, 단말기(220))는 세션의 후속 부분에 대해 1 차 단말기의 역할을 맡을 수 있다. 1 차 단말기의 역할은 또한 세션을 지원하는 사용자 인터페이스 제어를 통해 입력된 고속(express) 사용자 커맨드에 의해 변화될 수 있다.
추가적으로, 도 2에 도시되지 않았지만, 다른 단말기들(도시되지 않음)은 이미 진행 중인 세션에 합류할 수 있다. 새로운 단말기가 세션에 합류될 시에, 단말기, 즉 1 차 단말기 또는 2 차 단말기들 중 하나는, 클록 기준, 미디어 아이템, 재생 속도, 및 미디어 시간과 재생 시간 사이의 상관 관계를 식별하는 새로운 단말기로, 메시지들(252 내지 258)과 유사한 메시지들을 송신할 수 있다. 그 이후에, 새로운 단말기는 다른 단말기들의 재생과 동기화되고 미디어 아이템의 렌더링을 시작할 수 있다.
도 3은 본 개시내용의 일 실시예에 따른, 단말기(300)의 기능적 블록 다이어그램이다. 단말기(300)는 프로세싱 시스템(310), 메모리 시스템(320), 디스플레이(330), 트랜시버(TX/RX)(340) 및 입/출력(I/O) 유닛들(350)을 포함할 수 있다.
프로세싱 시스템(310)은, 단말기(300)로 하여금 도 2에 도시된 것들과 같은 다른 실체들과 상호 작용하여, 렌더링을 동기화하게 함으로써 단말기(300)의 동작을 제어할 수 있다. 메모리 시스템(320)은 프로세싱 시스템(310)이 실행할 수 있는 명령어들을 저장할 수 있고, 또한 그로부터 생성된 응용 프로그램 데이터(320)를 저장할 수 있다. 프로세싱 시스템(310)의 아키텍처는 단말기마다 변경될 수 있다. 통상적으로, 프로세싱 시스템(310)은 중앙 프로세싱 유닛을 포함할 것이고; 그는 또한 개별 응용 프로그램 필요성에 적합할 수 있는 바와 같이, 그래픽 프로세서들, 디지털 신호 프로세서들 및 응용 주문형 집적 회로들(도시되지 않음)을 포함할 수 있다. 메모리 시스템(320)의 아키텍처는 또한 단말기마다 변경될 수 있다. 통상적으로, 메모리 시스템(320)은 하나 이상의 전기, 광학 및/또는 자기 저장 디바이스들(또한 도시되지 않음)을 포함할 것이다. 메모리 시스템(320)은 프로세싱 시스템 전체에 걸쳐 분배될 수 있다. 예를 들어, 메모리 시스템은 프로세싱 시스템(310)의 중앙 프로세서와 함께 공통 집적 회로 상에 제공된 캐시 메모리를 포함할 수 있다. 메모리 시스템(320)은 또한 메모리 제어기를 통해 프로세싱 시스템(310)에 결합된 랜덤 액세스 메인 메모리를 포함할 수 있고, 그는 또한 장기 저장을 위해 비휘발성 메모리 디바이스(들)를 포함할 수 있다.
프로세싱 시스템(310)은 운영 체제(360) 및 하나 이상의 응용 프로그램의 프로그램들(370)을 포함하여, 동작 동안 다양한 프로그램들을 실행할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 단말기(300)는 가능하게는 다른 응용 프로그램들과 함께, 미디어 렌더링 응용 프로그램(372), 컨퍼런싱 응용 프로그램(374)을 실행할 수 있다. 미디어 렌더링 응용 프로그램(372)은 앞서 말한 논의에서 기술된 바와 같이 미디어 아이템들의 다운로드, 디코딩 및 동기화된 디스플레이를 관리할 수 있다. 컨퍼런싱 응용 프로그램(374)은 논의된 바와 같이 단말기(300)와 또 다른 단말기(도시되지 않음) 사이에서 컨퍼런싱 교환을 지원할 수 있다.
렌더링 응용 프로그램(372)은 응용 프로그램의 관리를 위해 한 세트의 사용자 인터페이스 제어들(378)을 정의할 수 있다. 이로써, 사용자 인터페이스 제어들은 단말기(300)가 적용되는 렌더링 사용 경우에 따라 변경될 수 있다. 예를 들어, 디폴트 UI 제어들(378)은 운영자가 전술된 일시 정지, 재개 스캔, 탐색 및 스크럽 동작들을 수행하는 것을 허용할 수 있다. 그러나, 일부 응용 프로그램들에서, 이들 제어들에 대한 응용 프로그램들을 거부하는 것이 유리할 수 있다. 예를 들어, 많은 관중이 시청하는 동기화된 콘텐츠를 다수의 디스플레이들이 디스플레이하고 있는 환경(예를 들어, 레스토랑 또는 헬스 클럽)에서, 개별 사용자들이 예를 들어, 콘텐츠를 일시 정지하거나 스킵함으로써 미디어 렌더링을 제어하는 능력을 거부하는 것이 유리할 수 있다.
앞서 말한 논의는 다양한 컴포넌트들을 포함하는 단말기들의 정황으로 본 발명의 실시예들의 동작을 기술하였다. 보통, 이들 컴포넌트들은 전자 디바이스들로서 제공된다. 그들은 주문형 집적 회로들, 필드 프로그래밍가능 게이트 어레이들 및/또는 디지털 신호 프로세서들과 같은 집적 회로들로 구현될 수 있다. 대안적으로, 그들은, 퍼스널 컴퓨터들, 노트북 컴퓨터들, 태블릿 컴퓨터들, 스마트폰들, 셋탑 박스들, 게이밍 플랫폼들, 휴대용 미디어 재생기들 및/또는 컴퓨터 서버들 상에서 실행되는 컴퓨터 프로그램들로 구현될 수 있다. 그러한 컴퓨터 프로그램들은 통상적으로 전자-, 자기- 및/또는 광학-기반 저장 디바이스들과 같은 물리적 저장 매체에 저장되며, 이 경우에 그들은 운영 체제의 제어 하에 프로세서로 판독되어 실행된다. 그리고, 물론, 이들 컴포넌트들은 필요에 따라, 전용 하드웨어 컴포넌트들 및 프로그래밍된 범용 프로세서들에 걸쳐 기능성을 분배시키는 하이브리드 시스템들로서 제공될 수 있다.
게다가, 앞서 말한 논의가 매니페스트 파일 및 상이한 스트림들의 정황으로 미디어 아이템(140)(도 1)을 기술하였지만, 본 개시내용의 원리들은 상이한 아키텍처들을 갖는 미디어 아이템들에 적용된다. 예를 들어, 미디어 아이템은 타임라인들의 모든 미디어 콘텐츠 및 메타데이터 디스크립션(metadata description)들이 다운로드 가능한 단일 파일로 제공되는 플랫 파일(flat file)의 아키텍처를 가질 수 있다. 추가로, 미디어 아이템은 그 자체가 비디오 파일일 필요는 없고; 본 개시내용의 원리들은, 오디오 전용 콘텐츠, 게이밍 콘텐츠 등을 나타내는 미디어 아이템들에 적용된다. 이로써, 미디어 아이템들은 미디어 아이템들의 특성에 적당한, 디스플레이들 및/또는 스피커들과 같은, 미디어 싱크 디바이스들을 통해 렌더링될 것이다.
본 발명의 여러 실시예들이 본 명세서에 구체적으로 예시 및/또는 기술된다. 그러나, 본 발명의 수정들 및 변형들이 본 발명의 사상 및 의도된 범주로부터 벗어남이 없이 상기의 교시들에 의해 그리고 첨부된 특허청구범위의 범위 내에 포함된다는 것이 인지될 것이다.

Claims (27)

  1. 단말기들 간에 미디어 렌더링을 동기화하는 방법으로서, 제1 단말기에서:
    동기화된 렌더링 세션의 또 다른 단말기로부터 수신된 통신에 응답하여, 렌더링될 미디어 아이템의 제1 부분과 네트워크 시간을 상관시키는 단계(258),
    상기 미디어 아이템의 콘텐츠를 네트워크 위치로부터 독출하는 단계(262),
    상기 제1 부분과 네트워크 시간과의 상기 상관 관계로부터, 그리고 다른 단말기로부터 통신으로 수신된 재생 속도로부터, 상기 렌더링될 미디어 아이템의 제2 부분 및 상기 제2 부분이 렌더링될 시간을 식별하는 단계, 및
    상기 제2 부분이 렌더링될 시간에서 상기 미디어 아이템의 제2 부분을 렌더링하는 단계(266)를 포함하는, 방법.
  2. 제1항에 있어서, 상기 식별하는 단계는 상기 제1 단말기에서 현재 시간과 상기 네트워크 시간을 상관시키는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 다른 단말기로부터 상기 미디어 아이템의 식별을 수신하는 단계(254)를 추가로 포함하는, 방법.
  4. 제1항에 있어서, 상기 다른 단말기와 함께, 상기 네트워크 시간의 소스의 식별을 협의하는 단계를 추가로 포함하는, 방법.
  5. 제1항에 있어서, 현재 시간이 상기 렌더링 세션 전체에 걸쳐 진행됨에 따라, 정지 조건이 발생될 때까지 상기 식별하는 단계 및 렌더링하는 단계를 반복하는 단계를 포함하는, 방법.
  6. 제5항에 있어서, 상기 정지 조건은 렌더링이 상기 미디어 아이템의 끝에 도달할 시에 발생되는, 방법.
  7. 제5항에 있어서, 상기 정지 조건은 대체 렌더링 모드를 식별하는 새로운 통신인, 방법.
  8. 제7항에 있어서, 상기 대체 렌더링 모드는 일시 정지 동작이고, 상기 방법은 그 이후에, 상기 새로운 통신에서 식별된 상기 미디어 아이템의 위치에서 렌더링을 일시 정지시키는 단계를 포함하는, 방법.
  9. 제7항에 있어서, 상기 대체 렌더링 모드는 스캔 동작이고, 상기 방법은 그 이후에, 상기 새로운 통신에서 식별된 대체 재생 속도로 상기 미디어 아이템을 렌더링하되, 상기 새로운 통신에 의해 식별된 상기 미디어 아이템에서의 위치에서 시작하여 렌더링하는 단계를 포함하는, 방법.
  10. 제7항에 있어서, 상기 대체 렌더링 모드는 탐색 동작이고, 상기 방법은 그 이후에, 상기 렌더링이 상기 새로운 통신에서 식별된 상기 미디어 아이템에서의 제1 위치에 도달할 시에, 상기 미디어 아이템을 렌더링하되, 상기 네트워크 시간과 상기 미디어 아이템 사이의 새로운 상관 관계를 사용하여 상기 미디어 아이템에서의 제2 위치에서 시작하여 렌더링하는 단계를 포함하는, 방법.
  11. 제7항에 있어서, 상기 제1 단말기는 상기 새로운 통신을 상기 다른 단말기로 송신하는, 방법.
  12. 제7항에 있어서, 상기 제1 단말기는 상기 새로운 통신을 상기 다른 단말기로부터 수신하는, 방법.
  13. 단말기들 간에 미디어 렌더링을 동기화하는 방법으로서, 제1 단말기에서:
    동기화된 렌더링 세션을 초기화하는 또 다른 단말기로 통신을 송신하는 단계 - 상기 통신은 렌더링될 미디어 아이템의 제1 부분과 네트워크 시간을 상관시키는 표시자들 및 재생 속도를 포함함 - (258),
    상기 미디어 아이템의 콘텐츠를 네트워크 위치로부터 독출하는 단계(262),
    상기 제1 부분과 네트워크 시간과의 상기 상관 관계 및 상기 재생 속도로부터, 상기 렌더링될 미디어 아이템의 제2 부분 및 상기 제2 부분이 렌더링될 시간을 식별하는 단계, 및
    상기 제2 부분이 렌더링될 시간에서 상기 미디어 아이템의 제2 부분을 렌더링하는 단계(266)를 포함하는, 방법.
  14. 제13항에 있어서, 상기 식별하는 단계는 상기 제1 단말기에서 현재 시간과 상기 네트워크 시간을 상관시키는 단계를 포함하는, 방법.
  15. 제13항에 있어서, 상기 다른 단말기로부터 상기 미디어 아이템의 식별을 수신하는 단계를 추가로 포함하는, 방법.
  16. 제13항에 있어서, 상기 다른 단말기와 함께, 상기 네트워크 시간의 소스의 식별을 협의하는 단계를 추가로 포함하는, 방법.
  17. 제13항에 있어서, 현재 시간이 상기 렌더링 세션 전체에 걸쳐 진행됨에 따라, 정지 조건이 발생될 때까지 상기 식별하는 단계 및 렌더링하는 단계를 반복하는 단계를 추가로 포함하는, 방법.
  18. 제17항에 있어서, 상기 렌더링이 상기 미디어 아이템의 끝에 도달할 때까지 상기 식별하는 단계 및 렌더링하는 단계를 반복하는 단계를 추가로 포함하는, 방법.
  19. 제17항에 있어서, 새로운 통신이 일시 정지 동작을 식별할 시에, 상기 새로운 통신에서 식별된 상기 미디어 아이템의 위치에서 렌더링을 일시 정지시키는 단계를 추가로 포함하는, 방법.
  20. 제17항에 있어서, 새로운 통신이 스캔 동작을 식별할 시에:
    상기 새로운 통신에서 식별된 대체 재생 속도로 상기 미디어 아이템을 렌더링하되, 상기 새로운 통신에 의해 식별된 상기 미디어 아이템에서의 위치에서 시작하여 렌더링하는 단계를 추가로 포함하는, 방법.
  21. 제17항에 있어서, 새로운 통신이 탐색 동작을 식별할 시에:
    상기 렌더링이 상기 새로운 통신에서 식별된 상기 미디어 아이템에서의 제1 위치에 도달할 때까지, 상기 식별하는 단계 및 렌더링하는 단계를 반복하는 단계, 및
    그 이후에, 상기 미디어 아이템을 렌더링하되, 상기 네트워크 시간과 상기 미디어 아이템 사이의 새로운 상관 관계를 사용하여 상기 미디어 아이템에서의 제2 위치에서 시작하여 렌더링하는 단계를 추가로 포함하는, 방법.
  22. 단말기로서,
    네트워크에 연결된 트랜시버(340),
    미디어 싱크 디바이스,
    프로그램 명령어들을 실행하는 프로세싱 시스템(310) - 상기 프로세싱 시스템은:
    상기 트랜시버(340)로 하여금, 네트워크 리소스로부터, 렌더링될 미디어 아이템을 다운로드하게 하고,
    상기 트랜시버(340)로 하여금, 상기 미디어 아이템의 제1 부분과 제1 네트워크 시간을 상관시키는 또 다른 단말기로부터, 표시자들을 수신하게 하고,
    상기 미디어 싱크 디바이스로 하여금, 현재 네트워크 시간에서, 상기 상관된 제1 네트워크 시간 및 상기 제1 부분에 의해, 그리고 재생 속도에 의해 결정된 바와 같이, 상기 현재 네트워크 시간과 상관된 상기 미디어 아이템의 제2 부분을 렌더링하게 함 - 을 포함하는, 단말기.
  23. 제22항에 있어서, 상기 미디어 아이템은 상기 단말기와 다른 단말기 사이의 통신에서 식별되는, 단말기.
  24. 제22항에 있어서, 상기 제1 네트워크 시간의 소스의 식별은 상기 단말기들 사이에서 협의되는, 단말기.
  25. 단말기로서,
    네트워크에 연결된 트랜시버(340),
    미디어 싱크 디바이스,
    프로그램 명령어들을 실행하는 프로세싱 시스템(310) - 상기 프로세싱 시스템은:
    상기 트랜시버(340)로 하여금, 네트워크 리소스로부터, 렌더링될 미디어 아이템을 다운로드하게 하고,
    현재 네트워크 시간에서, 상기 미디어 아이템의 제1 부분과 네트워크 시간과의 상관 관계 및 렌더링되는 재생 속도로부터, 상기 렌더링될 미디어 아이템의 제2 부분을 식별하며,
    상기 미디어 싱크 디바이스로 하여금, 상기 현재 네트워크 시간과 상관된 상기 미디어 아이템의 제2 부분을 렌더링하게 함 - 을 포함하는, 단말기.
  26. 명령어들을 저장하는 컴퓨터 판독 가능 저장 디바이스로서, 상기 명령어들은 프로세싱 디바이스에 의해 실행될 시에 상기 프로세싱 디바이스로 하여금:
    동기화된 렌더링 세션의 또 다른 디바이스로부터 수신된 통신에 응답하여, 렌더링될 미디어 아이템의 제1 부분과 네트워크 시간을 상관시키게 하고(258),
    상기 미디어 아이템의 콘텐츠를 네트워크 위치로부터 독출하게 하고(262),
    상기 제1 부분과 네트워크 시간과의 상기 상관 관계로부터, 그리고 다른 단말기로부터 통신으로 수신된 재생 속도로부터, 상기 렌더링될 미디어 아이템의 제2 부분 및 상기 제2 부분이 렌더링될 시간을 식별하게 하며,
    상기 제2 부분을 렌더링하는 상기 시간에서 상기 미디어 아이템의 제2 부분을 렌더링하게 하는(266), 컴퓨터 판독 가능 저장 디바이스.
  27. 명령어들을 저장하는 컴퓨터 판독 가능 저장 디바이스로서, 상기 명령어들은 프로세싱 디바이스에 의해 실행될 시에 상기 프로세싱 디바이스로 하여금:
    동기화된 렌더링 세션을 초기화하는 또 다른 디바이스로 통신을 송신하게 하고 - 상기 통신은 렌더링될 미디어 아이템의 제1 부분과 네트워크 시간을 상관시키는 표시자들 및 재생 속도를 포함함 - (258),
    상기 미디어 아이템의 콘텐츠를 네트워크 위치로부터 독출하게 하고(262),
    상기 제1 부분과 네트워크 시간과의 상기 상관 관계 및 상기 재생 속도로부터, 상기 렌더링될 미디어 아이템의 제2 부분 및 상기 제2 부분이 렌더링될 시간을 식별하게 하며,
    상기 제2 부분을 렌더링하는 상기 시간에서 상기 미디어 아이템의 제2 부분을 렌더링하게 하는(266), 컴퓨터 판독 가능 저장 디바이스.
KR1020187004411A 2015-09-30 2016-08-29 이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화 KR102051985B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201514871879A 2015-09-30 2015-09-30
US14/871,879 2015-09-30
PCT/US2016/049280 WO2017058437A1 (en) 2015-09-30 2016-08-29 Synchronization of media rendering in heterogeneous networking environments

Publications (2)

Publication Number Publication Date
KR20180030143A true KR20180030143A (ko) 2018-03-21
KR102051985B1 KR102051985B1 (ko) 2019-12-04

Family

ID=56985667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187004411A KR102051985B1 (ko) 2015-09-30 2016-08-29 이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화

Country Status (6)

Country Link
US (1) US10582158B2 (ko)
JP (2) JP6941093B2 (ko)
KR (1) KR102051985B1 (ko)
CN (1) CN107852523B (ko)
DE (1) DE112016004480T5 (ko)
WO (1) WO2017058437A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509726B2 (en) 2017-10-20 2022-11-22 Apple Inc. Encapsulating and synchronizing state interactions between devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009060512A (ja) * 2007-09-03 2009-03-19 Sharp Corp 携帯端末、再生装置、コンテンツ再生システム、コンテンツ再生プログラム、コンピュータ読み取り可能な記録媒体、及び携帯端末の制御方法
JP2009290557A (ja) * 2008-05-29 2009-12-10 Sony Corp 情報処理装置、情報処理方法、プログラムおよび情報処理システム
US20110218656A1 (en) * 2010-03-02 2011-09-08 Microsoft Corporation Social media playback
WO2014194236A2 (en) * 2013-05-31 2014-12-04 Sonic Ip, Inc. Playback synchronization across playback devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088774B1 (en) * 2002-05-29 2006-08-08 Microsoft Corporation Media stream synchronization
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
KR100565333B1 (ko) 2004-06-22 2006-03-30 엘지전자 주식회사 휴대단말기의 비디오 오디오 동기장치 및 방법
CN100514992C (zh) * 2007-03-30 2009-07-15 中国联合网络通信集团有限公司 一种移动终端帧动画的处理方法
WO2009038402A1 (en) 2007-09-21 2009-03-26 Lg Electronics Inc. Digital broadcasting system and data processing method in the digital broadcasting system
JP2011501260A (ja) * 2007-10-12 2011-01-06 ザロム、ロニー 同期的にビデオを共有するシステムおよび方法
JP5230744B2 (ja) 2008-08-29 2013-07-10 株式会社ソニー・コンピュータエンタテインメント 情報処理システムおよび情報処理装置
EP2180655A1 (en) * 2008-10-27 2010-04-28 Thomson Licensing SA Method of transmission af a digital content stream and corresponding method of reception
WO2010138776A2 (en) * 2009-05-27 2010-12-02 Spot411 Technologies, Inc. Audio-based synchronization to media
JP2011228487A (ja) * 2010-04-20 2011-11-10 Universal Tokki Corp 磁場生成装置およびこれを有する船舶
EP3418917B1 (en) * 2010-05-04 2022-08-17 Apple Inc. Methods and systems for synchronizing media
US9094564B2 (en) * 2010-05-07 2015-07-28 Microsoft Technology Licensing, Llc Clock synchronization for shared media playback
CN101990101A (zh) * 2010-11-04 2011-03-23 武汉钢铁(集团)公司 实时多媒体混合编解码方法
KR101750139B1 (ko) 2011-02-11 2017-06-22 인터디지탈 패튼 홀딩스, 인크 협업 세션 중에 이동국 미디어 플로우를 동기화하는 방법 및 장치
US9414105B2 (en) * 2011-02-14 2016-08-09 Blackfire Research Corporation Mobile source device media playback over rendering devices at lifestyle-determined locations
CN109068154B (zh) 2011-09-23 2021-01-26 韩国电子通信研究院 传送媒体数据的方法以及接收媒体数据的方法
US9654817B2 (en) * 2012-01-27 2017-05-16 Avaya Inc. System and method to synchronize video playback on mobile devices
JP5924728B2 (ja) * 2012-02-02 2016-05-25 日本放送協会 信号処理装置及びプログラム
US8933312B2 (en) * 2012-06-01 2015-01-13 Makemusic, Inc. Distribution of audio sheet music as an electronic book
CN103890783B (zh) * 2012-10-11 2017-02-22 华为技术有限公司 一种实现视频遮挡的方法、装置和系统
CN103106679B (zh) * 2013-01-05 2016-03-30 广东威创视讯科技股份有限公司 分布式3d多通道渲染方法、系统和平台
JP2014239278A (ja) 2013-06-06 2014-12-18 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009060512A (ja) * 2007-09-03 2009-03-19 Sharp Corp 携帯端末、再生装置、コンテンツ再生システム、コンテンツ再生プログラム、コンピュータ読み取り可能な記録媒体、及び携帯端末の制御方法
JP2009290557A (ja) * 2008-05-29 2009-12-10 Sony Corp 情報処理装置、情報処理方法、プログラムおよび情報処理システム
US20110218656A1 (en) * 2010-03-02 2011-09-08 Microsoft Corporation Social media playback
WO2014194236A2 (en) * 2013-05-31 2014-12-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9100687B2 (en) * 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices

Also Published As

Publication number Publication date
DE112016004480T5 (de) 2018-07-19
US20170289500A1 (en) 2017-10-05
US10582158B2 (en) 2020-03-03
CN107852523B (zh) 2021-01-19
JP6941093B2 (ja) 2021-09-29
KR102051985B1 (ko) 2019-12-04
WO2017058437A1 (en) 2017-04-06
CN107852523A (zh) 2018-03-27
JP2018530944A (ja) 2018-10-18
JP2020174378A (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
US11871088B2 (en) Systems, apparatus, and methods for providing event video streams and synchronized event information via multiple Internet channels
CN109565620B (zh) 计算设备、用于生成和接收低延迟视频流的方法
US9584835B2 (en) System and method for broadcasting interactive content
TWI437877B (zh) 資訊處理系統、資訊處理裝置、程式產品及電腦可讀取之記錄媒體
US11051050B2 (en) Live streaming with live video production and commentary
US10887646B2 (en) Live streaming with multiple remote commentators
US20020184314A1 (en) Method and system for transmitting multicast data signals
US20140344854A1 (en) Method and System for Displaying Speech to Text Converted Audio with Streaming Video Content Data
CA2953311A1 (en) System and method for multi-user digital interactive experience
KR102051985B1 (ko) 이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화
JP2024048339A (ja) サーバ、端末及びコンピュータプログラム
CN110832871B (zh) 一种用于将用户产生的内容实时合并到广播媒体流中的方法、服务器系统及计算机可读介质
US11856242B1 (en) Synchronization of content during live video stream
JP5581437B1 (ja) 映像提供システムおよびプロラム
US11778011B2 (en) Live streaming architecture with server-side stream mixing
US20230156267A1 (en) Multiview synchronized communal system and method
JP2022066944A (ja) 情報処理装置、コンピュータプログラムおよび情報処理システム
Park et al. A Study on Video Stream Synchronization from Multi-Source to Multi-Screen
CN113612728A (zh) 流媒体播放方法、传输设备和系统
Boronat et al. Future Issues and Challenges in Distributed Media Synchronization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant