KR20160019087A - 미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 컴퓨터 판독 가능 매체들 - Google Patents

미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 컴퓨터 판독 가능 매체들 Download PDF

Info

Publication number
KR20160019087A
KR20160019087A KR1020167000201A KR20167000201A KR20160019087A KR 20160019087 A KR20160019087 A KR 20160019087A KR 1020167000201 A KR1020167000201 A KR 1020167000201A KR 20167000201 A KR20167000201 A KR 20167000201A KR 20160019087 A KR20160019087 A KR 20160019087A
Authority
KR
South Korea
Prior art keywords
media
media content
content item
computing device
content
Prior art date
Application number
KR1020167000201A
Other languages
English (en)
Other versions
KR102151680B1 (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 KR20160019087A publication Critical patent/KR20160019087A/ko
Application granted granted Critical
Publication of KR102151680B1 publication Critical patent/KR102151680B1/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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04L65/4069
    • 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
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • H04N21/42207
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42208Display device provided on the remote control
    • H04N21/42209Display device provided on the remote control for displaying non-command information, e.g. electronic program guide [EPG], e-mail, messages or a second television channel
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/4222Remote control device emulator integrated into a non-television apparatus, e.g. a PDA, media center or smart toy
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/47End-user applications
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N5/4401
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42224Touch pad or touch panel provided on the remote control
    • 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/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

미디어를 제시하기 위한 시스템들, 방법들 및 매체들이 제공된다. 일부 구현예들에서, 미디어 컨텐츠를 제시하기 위한 시스템이 제공되며, 상기 시스템은 하드웨어 프로세서를 포함하며, 상기 하드웨어 프로세서는: 미디어 플레이백 디바이스(media playback device)와의 연결을 설정하고; 미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하고; 지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하고; 상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는제시되는아이템의 소스(source)의 식별 정보를 수신하고; 상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하고; 및 상기 미디어 컨텐츠 아이템이 상기 미디어 플레이백 디바이스를 사용하여 제시되도록 프로그래밍된다.

Description

미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 컴퓨터 판독 가능 매체들{SYSTEM, METHOD AND COMPUTER-READABLE MEDIUM FOR PRESENTING MEDIA CONTENT}
관련 출원들에 대한 상호 참조
본 출원은 2013년 6월 6일 출원된 미국 가출원 번호 제61/831,887호 및 2013년 6월 6일 출원된 미국 가출원 번호 제61/831,915호에 대해 우선권을 주장하며, 각각은 그 전체가 본 명세서에 참조로서 통합된다.
미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 매체들이 제공된다.
퍼스널 전자적 디바이스들은 소비를 위한 미디어 컨텐츠를 발견하거나 브라우징하는데 자주 사용되며, 텔레비전들과 같이 보다 큰 디스플레이들을 갖는 디바이스들이 미디어 컨텐츠를 소비하는데 자주 사용된다. 그러나, 퍼스널 전자적 디바이스로부터 발견된 미디어 컨텐츠를 텔레비전에 재생하는 것은 복잡할 수 있고, 퍼스널 전자적 디바이스에 의해 검색되고 제시를 위해 텔레비전에 송신되는 미디어 컨텐츠를 일반적으로 요구하며, 이는 퍼스널 전자적 디바이스와 텔레비전을 연결하기 위한 비싸고, 불편하며 및/또는 복잡한 장치를 일반적으로 수반한다.
따라서, 미디어 컨텐츠를 제기하기 위한 새로운 시스템들, 방법들 및 매체들이 바람직하다.
개시된 발명의 일부 구현예들에 따라, 미디어 컨텐츠를 제시하기 위한 메커니즘들이 제공된다.
일부 구현예들에 따르면, 컨텐츠를 제시하기 위한 시스템이 제공되며, 상기 시스템은 하드웨어 프로세서를 포함하며, 상기 하드웨어 프로세서는 미디어 플레이백 디바이스(media playback device)와의 연결을 설정하고; 미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하고; 지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하고; 상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하고; 상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하고; 및 상기 미디어 컨텐츠 아이템이 상기 미디어 플레이백 디바이스를 사용하여 제시되도록 프로그래밍된다.
개시된 본 발명의 일부 구현예들에 따르면, 컨텐츠를 제시하기 위한 방법이 제공되며, 상기 방법은 미디어 플레이백 디바이스(media playback device)와의 연결을 설정하는 단계; 미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하는 단계; 지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하는 단계; 상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하는 단계; 상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하는 단계; 및 상기 미디어 컨텐츠 아이템이 상기 미디어 플레이백 디바이스를 사용하여 제시되게 하는 단계를 포함한다.
개시된 본 발명의 일부 구현예들에 따르면, 컴퓨터로 실행가능한 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체가 제공되며, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 컨텐츠를 제시하기 위한 방법을 수행하게 하며, 상기 방법은 미디어 플레이백 디바이스(media playback device)와의 연결을 설정하는 단계; 미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하는 단계; 지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하는 단계; 상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하는 단계; 상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하는 단계; 및 상기 미디어 컨텐츠 아이템이 상기 미디어 플레이백 디바이스를 사용하여 제시되게 하는 단계를 포함한다.
개시된 본 발명의 일부 구현예들에 따르면, 컨텐츠를 제시하기 위한 시스템이 제공되며, 상기 시스템은 미디어 플레이백 디바이스(media playback device)와의 연결을 설정하기 위한 수단들; 미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하기 위한 수단들; 지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하기 위한 수단들; 상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하기 위한 수단들; 상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하기 위한 수단들; 및 상기 미디어 컨텐츠 아이템이 상기 미디어 플레이백 디바이스를 사용하여 제시되게 하기 위한 수단들을 포함한다.
일부 구현예들에서, 상기 시스템은 상기 통신 채널을 통해 상기 컴퓨팅 디바이스로부터의 상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 명령을 수신하기 위한 수단들; 및 상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 상기 수신된 명령에 응답하여, 상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시가 멈춰지게 하기 위한 수단들을 더 포함한다.
일부 구현예들에서, 상기 시스템은 상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시의 상태를 상기 통신 채널을 통해 상기 컴퓨팅 디바이스에 송신하기 위한 수단들을 더 포함한다.
일부 구현예들에서, 상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠의 부분에 관련된 타이밍 정보를 포함한다.
일부 구현예들에서, 상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보를 더 포함한다.
일부 구현예들에서, 상기 시스템은 상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 타이밍 정보를 수신하기 위한 수단들; 및 상기 미디어 플레이백 디바이스를 사용하는 상기 미디어 컨텐츠 아이템의 제시가 상기 수신된 타이밍 정보에 기초하여 상기 미디어 컨텐츠 아이템에서의 특정 시간에 시작되게 하기 위한 수단들을 더 포함한다.
일부 구현예들에서, 상기 컨텐츠 아이템의 소스(source)의 식별 정보는 적어도 URL(Uniform Resource Identifier)의 부분을 포함한다.
개시된 본 발명의 다양한 오브젝트들, 구성들, 및 이점들은 다음의 도면들과 관련하여 고려되었을 때, 개시된 본 발명의 후속하는 상세한 설명을 참조하여 더 완전히 인식될 수 있으며, 도면들에서 동일한 참조 기호들 동일한 엘리먼트들을 식별한다.
도 1은 개시된 본 발명의 일부 구현예들에 따라 미디어 컨텐츠를 제시하기 위한 시스템의 예시를 도시한다.
도 2는 개시된 본 발명의 일부 구현예들에 따라 미디어 컨텐츠를 제시하기 위한 프로세스의 예시를 도시한다.
도 3은 개시된 본 발명의 일부 구현예들에 따라 미디어 수신 디바이스를 사용하여 미디어 컨텐츠를 수신하고 제시하기 위한 프로세스의 예시를 도시한다.
도 4는 개시된 본 발명의 일부 구현예들에 따라 컴퓨팅 디바이스의 잠금화면(lock screen)으로부터 미디어 수신 디바이스에 송신될 명령들을 생성하기 위한 프로세스의 예시를 도시한다.
도 5a-5b는 일부 구현예들에 따라 미디어 수신 디바이스를 제어하기위한 잠금화면 사용자 인터페이스의 예시들을 도시한다.
도 6은 개시된 본 발명의 일부 구현예들에 따라 컴퓨팅 디바이스에 제공된 통지로부터 미디어 컨텐츠 아이템의 제시를 제어하기 위한 프로세스의 예시를 도시한다.
도 7a-7f는 개시된 본 발명의 일부 구현예들에 따라 컴퓨팅 디바이스와 함께 사용되는 컨텐츠를 제시하기 위한 본 명세서에 기술된 메커니즘들을 사용하는 것의 예시를 도시한다.
도 8a-8e는 개시된 본 발명의 일부 구현예들에 따라 브라우저를 실행하는 컴퓨팅 디바이스와 함께 사용되는 컨텐츠를 제시하기 위한 본 명세서에 기술된 메커니즘들을 사용하는 것의 예시를 도시한다.
도 9는 개시된 본 발명의 일부 구현예들에 따라 본 명세서에 기술된 바와 같이 컨텐츠를 제시하기 위한 메커니즘들이 구현될 수 있는 시스템의 일반화된 개략도의 예시를 도시한다.
도 10은 개시된 본 발명의 일부 구현예들에 따라 도 9에 도시된 컴퓨팅 디바이스, 미디어 수신 디바이스 및 컨텐츠 전달 서버(content delivery server)를 구현하는데 사용될 수 있는 하드웨어의 예시를 도시한다.
개시된 본 발명의 일부 구현예들에 따르면, 미디어 컨텐츠를 제시하기 위한 (시스템들, 방법들 및 매체를 포함하는) 메커니즘들이 제공된다.
일부 구현예들에서, 이들 메커니즘들은 사용자로 하여금 스마트폰, 타블렛 컴퓨터 또는 퍼스널 컴퓨터와 같은 컴퓨팅 디바이스에서 발견되는 미디어 컨텐츠가 고화질 텔레비전과 같은 보다 크고 및/또는 보다 높은 화질의 디스플레이에 제시되도록 하게 하며, 동시에 사용자로 하여금 컨텐츠를 발견하는데 사용되는 디바이스(예를 들면, 스마트폰 등)에서 미디어 컨텐츠의 제시를 제어하게 한다. 일부 구현예들에서, 유선 및/또는 무선 네트워크와 같은 네트워크에 연결하기 위한 송신기/수신기를 포함하는 미디어 수신 디바이스는 컨텐츠를 발견하는데 사용된 컴퓨팅 디바이스에 의해 식별된 컨텐츠를 스트리밍(stream)하기 위해 텔레비전에 연결된다. 일부 구현예들에서, 컨텐츠는 컨텐츠를 발견하는데 사용된 컴퓨팅 디바이스로부터 직접적으로 수신되기보다는 컨텐츠 소스(content source)로부터 미디어 수신 디바이스에 의해 수신되며, 이는 컴퓨팅 디바이스가 웹 브라우징, 이메일 등과 같은 다른 목적들을 위해 사용되게 하며, 동시에 컨텐츠는 미디어 수신 디바이스에 의해 제시된다.
이들 메커니즘들은 다양한 적용들에서 사용된다. 예를 들면, 이들 메커니즘들은 큰 디스플레이에서 컨텐츠를 제시하는데 사용된다. 다른 예시로서, 이들 메커니즘들은 익숙한 인터페이스(예를 들면, 스마트폰의 터치 인터페이스, 퍼스널 컴퓨터의 웹 브라우저 등)에서 컨텐츠를 발견하고 및/또는 브라우징하지만, 그러나 동시에 더 많은 사용자들에 의해 쉽게 보여질 수 있는 큰 디스플레이에서 컨텐츠를 제시하지는 않게 사용된다. 또 다른 예시로서, 이들 메커니즘들은 다수의 사용자들이 동시에 발견하게 하고 공용 디스플레이를 사용하여 컨텐츠를 공유하게 한다.
도 1로 돌아가면, 미디어 컨텐츠를 제시하기 위한 시스템의 예시(100)가 일부 구현예들을 따라 도시된다. 일부 구현예들에서, 시스템(100)은 미디어 수신 디바이스(102)를 포함하며, 이는 입력/출력 커넥터(104)를 포함한다. 입력/출력 커넥터(104)는 미디어 플레이백 디바이스(106)와 통신하기 위한 임의의 적절한 입력 및/또는 출력 커넥터이다. 예를 들면, 입력/출력 커넥터(104)는 HDMI(High-Definition Multimedia Interface) 포트, USB(Universal Serial Bus) 커넥터(예를 들면, USB 3.0 커넥터), THUNDERBOLT 커넥터, DVI(Digital Visual Interface) 커넥터, TOSLINK 커넥터(예를 들면, 광섬유 오디오 커넥터), S-Video(Separate Video) 커넥터, 임의의 다른 적절한 커넥터 및/또는 커넥터들의 임의의 적절한 조합일 수 있다.
일부 구현예들에서, 미디어 플레이백 디바이스(106)는 미디어 컨텐츠의 하나 이상의 소스들로부터 수신된 미디어를 제시하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 디바이스이다. 예를 들면, 미디어 플레이백 디바이스(106)는 텔레비전, 스마트 텔레비전, 모니터, 셋톱박스, 오디오 비디오(AV) 수신기, 임의의 기타 적절한 미디어 플레이백 디바이스 및/또는 그것들의 임의의 적절한 조합일 수 있다. 더 구체적으로, 미디어 플레이백 디바이스(106)는 디스플레이(108), 스피커들, 아날로그 및/또는 디지털 비디오 및/또는 오디오 데이터와 같은 미디어 컨텐츠를 렌더링하기 위한 하드웨어 및/또는 소프트웨어, 전원 공급기 등을 포함한다. 미디어 플레이백 디바이스(106)는 다양한 소스들로부터 비디오 및/또는 오디오 데이터를 수신하기 위한 다양한 입력 포트들을 포함한다. 상기 입력 포트들은 하나 이상의 HDMI 포트들, 하나 이상의 컴포넌트 비디오 포트들, 하나 이상의 컴포지트 비디오(composite video) 포트들, 하나 이상의 USB 포트들, 하나 이상의 S-Video 포트들, 하나 이상의 TOSLINK 포트들, 하나 이상의 동축 포트들(coaxial ports), 하나 이상의 이더넷(Ethernet) 포트들(유선이든지 또는 무선이든지) 등을 포함한다.
일부 구현예들에서, 미디어 수신 디바이스(102)는 커넥션(110)에 의해 미디어 플레이백 디바이스(106)에 연결된다. 미디어 수신 디바이스(102) 및 미디어 플레이백 디바이스(106)는 임의의 적절한 기법(들)을 사용하여 연결된다. 예를 들면, 커넥션(110)은 미디어 플레이백 디바이스(106)의 대응하는 리셉터클 포트(receptacle port)에 삽입된 미디어 수신 디바이스(102)의 입력/출력 커넥터(104)의 플러그를 포함한다. 다른 예시로서, HDMI 케이블과 같은 적절한 케이블은 입력/출력 커넥터(104)와 미디어 플레이백 디바이스(106)의 포트와의 사이에 연결된다. 추가적으로 또는 대안적으로, 미디어 수신 디바이스(102)는 미디어 플레이백 디바이스(106)의 하드웨어 및/또는 소프트웨어로서 포함된다.
일부 구현예들에서, 미디어 수신 디바이스(102)는 통신 링크(114)를 사용하여 컴퓨팅 디바이스(112)에 연결된다. 컴퓨팅 디바이스(112)는 스마트폰, 타블렛 컴퓨터, 웨어러블 컴퓨터, 랩톱 컴퓨터, 퍼스널 컴퓨터, 전자 판독기, 디지털 미디어 수신기, 스마트 텔레비전, 게임 콘솔, 임의의 기타 적절한 컴퓨팅 디바이스 또는 그것들의 임의의 적절한 조합과 같은 임의의 적절한 컴퓨팅 디바이스이다. 일부 구현예들에서, 통신 링크(114)는 예를 들면, 도 9와 관련하여 아래에 기술된 바와 같이 임의의 적절한 통신 링크를 포함한다. 추가적으로, 통신 링크(114)는 유선 및/또는 무선 연결들을 가지는 근거리 네트워크(LAN)와 같은 네트워크를 포함한다. 추가적으로 또는 대안적으로, 통신 링크(114)는 애드혹(ad hoc) 무선 네트워크와 같은, 컴퓨팅 디바이스(112)와 미디어 수신 디바이스(102)와의 사이에 무선 연결을 포함한다. 일부 구현예들에서, 통신 링크 상의 컴퓨팅 디바이스(112)와 미디어 수신 디바이스(102)와의 사이의 통신들은 임의의 적절한 암호화(encryption) 기법(들)을 사용하여 암호화된다. 예를 들면, 컴퓨팅 디바이스(112)로부터 미디어 수신 디바이스(114)로 송신되는 메시지들은 예를 들면, 메시지들의 암호화 및 복호화(decryption)를 위한 공용키-개인키 쌍(public key-private key pair)을 사용하는 임의의 적절한 암호화 스키마(scheme)를 사용하여 암호화된다. 다른 예시로서, 통신 링크(114) 상의 통신들은 TLS(Transport Layer Security)를 사용하여 암호화된다.
일부 구현예들에서, 컴퓨팅 디바이스(112)는 사용자 인터페이스를 사용자에게 제시하기 위한 디스플레이(116)를 포함한다. 본 명세서에 기술된 일부 예시들에서(예를 들면, 도 4 내지 7f와 관련하여 기술된 예시들), 컴퓨팅 디바이스(112)는 스마트폰 또는 타블렛 컴퓨터와 같은 모바일 컴퓨팅 디바이스이고, 디스플레이(116)는 입력을 수신하고 사용자 인터페이스 및/또는 미디어 컨텐츠를 사용자에게 디스플레이하기 위한 터치스크린을 포함한다. 일부 구현예들에서, 컴퓨팅 디바이스(112)는 컴퓨팅 디바이스(112)의 볼륨을 제어하기 위한 볼륨 제어들(118)을 더 포함한다.
일부 구현예들에서, 컴퓨팅 디바이스(112)는 통신 링크(122)를 통해서 컨텐츠 발견 서버(content discovery server)(121)와 통신한다. 컴퓨팅 디바이스(112)는 컨텐츠 전달 서버(120)에 의해 사용가능하게 된 컨텐츠를 발견하고 및/또는 브라우징하는데 사용된다. 예를 들면, 사용자는 제시될 미디어 컨텐츠를 찾기 위해 컴퓨팅 디바이스(112)를 사용한다. 일부 구현예들에서, 상기 미디어 컨텐츠는 컴퓨팅 디바이스(112)의 디스플레이(116)를 사용하여 제시된다. 일부 구현예들에서, 컴퓨팅 디바이스(112)는, 컨텐츠 전달 서버(120)로부터 미디어 컨텐츠 아이템을 요청하고 통신 링크(123)를 통해 미디어 컨텐츠 아이템을 수신함으로써, 컨텐츠 발견 서버(121)를 사용하여 선택된 미디어 컨텐츠 아이템을 제시한다. 일부 구현예들에서, 컨텐츠 전달 서버(120) 및/또는 컨텐츠 발견 서버(121) 각각은 임의의 적절한 수의 서버들에서 구현된다. 추가적으로 또는 대안적으로, 일부 구현예들에서, 컨텐츠 전달 서버(120) 및 컨텐츠 발견 서버(121)에 의해 수행되는 기능들은 동일한 디바이스(예를 들면, 일반적 서버 컴퓨터)에 의해 수행될 수 있다.
일부 구현예들에서, 통신 링크들(122 및/또는 123)은 근거리 네트워크(예를 들면, 홈 네트워크) 및/또는 비-로컬 네트워크(예를 들면, 인터넷)을 포함한다. 예를 들면, 컴퓨팅 디바이스(112)는 홈 네트워크와 같은 일반적 LAN에 연결되고, 인터넷을 통해 컨텐츠 발견 서버(121) 및/또는 컨텐츠 전달 서버(120)에 연결된다. 다른 예시로서, 컨텐츠 전달 서버(120) 및/또는 컨텐츠 발견 서버(121)는 컴퓨팅 디바이스(112)에 공통되는 LAN에 연결된다. 더 구체적인 예시로서, 컨텐츠 전달 서버(120) 및/또는 컨텐츠 발견 서버(121)는 컴퓨팅 디바이스(112)로부터 원격으로 위치되고, 통신 링크들(122 및/또는 123)은 컨텐츠 전달 서버(120)로부터 컨텐츠에 엑세스하고 및/또는 컨텐츠 발견 서버(121)를 사용하여 컨텐츠를 발견하기 위한 인터넷과 같은 비-로컬 네트워크를 포함한다. 다른 더 구체적인 예시로서, 컨텐츠 전달 서버(120) 및/또는 컨텐츠 발견 서버(121)는 컴퓨팅 디바이스(112) 로컬에 위치되고, 통신 링크들(122 및/또는 123)은 컨텐츠 전달 서버(120) 및/또는 컨텐츠 발견 서버(121)에 연결되는 홈 네트워크와 같은 로컬 네트워크를 포함한다. 상기 예시에서, 통신 링크들(122 및/또는 123)(만약 존재하는 경우)의 비-로컬 네트워크는 컨텐츠 전달 서버(120)로부터 컨텐츠에 엑세스하고 및/또는 컨텐츠 발견 서버(121)를 사용하여 컨텐츠를 발견할 때 사용되지 않는다.
일부 구현예들에서, 컴퓨팅 디바이스(112)의 사용자는 컨텐츠 전달 서버(120)에 의해 사용가능하게 된 미디어 컨텐츠가 미디어 수신 디바이스(102)에 전송되게 하며, 이는 결국 미디어 컨텐츠가 미디어 수신 디바이스(102)가 연결된 미디어 플레이백 디바이스(106)의 디스플레이(108)에 제시되게 한다. 일부 구현예들에서, 미디어 수신 디바이스(102)는 연결(110)을 통해 미디어 플레이백 디바이스(106)로부터 전원을 수신하며, 전원이 연결(110)을 통해 수신되는 때에만 미디어 컨텐츠를 수신하는 것이 가능하다(예를 들면, 미디어 수신 디바이스(102)가 연결된 포트가 활동적인 입력 포트(active input port)로서 선택된 때).
일부 구현예들에서, 만약 사용자가 컨텐츠 전달 서버(120)로부터 제시될 미디어 컨텐츠 아이템을 선택한 경우, 사용자는 미디어 컨텐츠 아이템이 미디어 수신 디바이스(102)를 사용하여 제시되게 하기 위해 선택된 미디어 컨텐츠 아이템과 관련하여, 사용자에게 제시된 아이콘을 선택한다. 일부 구현예들에 따라, 미디어 수신 디바이스(102)를 사용하여 미디어 컨텐츠 아이템을 제시하는 것은 예를 들면 도 2와 관련하여 후술된다.
일부 구현예들에서, 미디어 컨텐츠 아이템이 미디어 수신 디바이스(102)를 사용하여 컨텐츠 전달 서버(120)로부터 제시될 때, 미디어 컨텐츠 아이템은 통신 링크(124)를 통해 미디어 수신 디바이스(102)에 전송된다. 통신 링크(124)는 근거리 네트워크(예를 들면, 홈 네트워크) 및/또는 비-로컬 네트워크(예를 들면, 인터넷)를 포함한다. 예를 들면, 미디어 수신 디바이스(102) 및 컴퓨팅 디바이스(112)는 둘 다 홈 네트워크와 같은 일반적 LAN에 연결되며, 인터넷을 통해 컨텐츠 전달 서버(120)에 연결된다. 다른 예시로서, 컨텐츠 전달 서버(120)는 컴퓨팅 디바이스(112) 및/또는 미디어 수신 디바이스(102)에 공통되는 LAN에 연결된다. 더 구체적인 예시로서, 컨텐츠 전달 서버(120)는 미디어 수신 디바이스(102) 및/또는 컴퓨팅 디바이스(112)로부터 원격으로 위치되며, 통신 링크(124)는 컨텐츠 전달 서버(120)으로부터 컨텐츠를 엑세스하기 위한 인터넷과 같은 비-로컬 네트워크를 포함한다. 다른 더 구체적인 예시로서, 컨텐츠 전달 서버는 미디어 수신 디바이스(102) 및/또는 컴퓨팅 디바이스(112) 로컬에 위치되며, 통신 링크(124)는 미디어 수신 디바이스(102) 및 컨텐츠 전달 서버(120) 둘 다 연결된 홈 네트워크와 같은 로컬 네트워크를 포함한다. 상기 예시에서, 통신 링크(124)(만약 존재하는 경우)의 비-로컬 네트워크는 컨텐츠 전달 서버(120)로부터 컨텐츠에 엑세스할 때 사용되지 않는다.
일부 구현예들에서, 사용자는 컴퓨팅 디바이스(112)의 메모리로부터 미디어 수신 디바이스(102)를 사용하여 제시될 미디어 컨텐츠 아이템을 선택한다(예를 들면, 사용자는 컴퓨팅 디바이스(112) 로컬에 저장된 비디오를 선택한다.). 추가적으로 또는 대안적으로, 사용자는 동일한 근거리 네트워크에 존재하는 다른 컴퓨팅 디바이스에 저장된 미디어 수신 디바이스(102)를 사용하여 제시될 미디어 컨텐츠 아이템을 선택한다(예를 들면, 네트워크 결합 스토리지, 홈 네트워크 상 퍼스널 컴퓨터의 메모리, 동일한 네트워크 상 서버의 메모리 등). 근거리 네트워크에 연결된 컴퓨팅 디바이스에 저장된 상기 미디어 컨텐츠 아이템은 컨텐츠 전달 서버(120)를 통해 전송되지 않고, 통신 링크(114)(또는 임의의 기타 적절한 통신 링크)를 통해 컴퓨팅 디바이스(112)로부터 미디어 수신기(102)에 전송된다.
도 2는 개시된 본 발명의 일부 구현예들에 따라 미디어 컨텐츠를 제시하기 위한 프로세스의 예시(200)를 도시한다. (202)에서, 컨텐츠 제시 어플리케이션이 센더 어플리케이션(sender application)을 가지는 컴퓨팅 디바이스에서 시작된다. 컨텐츠 제시 어플리케이션은 제시될 컨텐츠를 발견하고 및/또는 브라우징하기와 같은 임의의 적절한 컨텐츠 제시 기능들, 렌더링 및/또는 (스틸 이미지들을 포함하는) 비디오 및/또는 오디오 컨텐츠와 같은 컨텐츠의 제시를 가능하게 하기 위한 소프트웨어를 포함한다.
일부 구현예들에서, 센더 어플리케이션은 컨텐츠 제시 어플리케이션의 부분으로서 및/또는 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스의 운영체재에 의해 실행되는 별도의 어플리케이션으로서 통합된다. 일부 구현예들에서, 센더 어플리케이션은 예를 들면, 후술된 바와 같이 리시버 어플리케이션(receiver application)과의 통신을 위한 API(application programming interface)이다. 상기 센더 어플리케이션은 컴퓨팅 디바이스(112)와 같은 컴퓨팅 디바이스로부터 명령들을 수신하고, 이들 명령들을 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))에 송신하도록 구성된다. 여러 구성들 가운데에서도 특히, 센더 어플리케이션은 컴퓨팅 디바이스가 다음 기능들을 수행하도록 지시한다: 컴퓨팅 디바이스가 미디어 수신 디바이스들의 실재를 발견하기 위해 어플리케이션을 실행하게 하기(예를 들면, 홈 네트워크 상 미디어 수신 디바이스들(102), 또는 그와 유사한 것); 센더 어플리케이션을 실행하는 컴퓨팅 디바이스와 통신하는 미디어 수신 디바이스의 선택을 수신; 및 통신들을 송신 및/또는 수신할 수 있도록 선택된 미디어 수신 디바이스와 하나 이상의 통신 채널들을 설정.
일부 구현예들에서, 센더 어플리케이션은 여러 구성들 가운데에서도 특히, 상기 기능들을 수행하기 위한 SDK(software developer kit) (예를 들면, Content Sender SDK)의 하나 이상의 부분들과 같은 표준 소프트웨어 명령어들의 세트를 포함한다. 예를 들면, 센더 어플리케이션은 재생, 멈춤, 정지 및 볼륨 제어와 같은 미디어 수신 디바이스(미디어 수신 디바이스(102)와 같은)의 특정 제어들을 노출한다. 추가적으로, 센더 어플리케이션은 주기적으로 미디어 수신 디바이스로부터 예를 들면, 미디어 컨텐츠 아이템이 재생되고 있는지, 미디어 컨텐츠 아이템의 식별, 미디어 컨텐츠 아이템의 시간 등에 관한 상태 업데이트들을 수신한다.
일부 구현예들에서, 센더 어플리케이션은 컨텐츠 제시 어플리케이션을 시작하는 컴퓨팅 디바이스에 응답하여 시작한다. 대안적으로, 센더 어플리케이션은 컴퓨팅 디바이스가 시작되고 백그라운드 어플리케이션으로서 실행되는 때 시작하거나, 또는 미디어 수신 디바이스에 미디어 컨텐츠를 제시하기 위해 센더 어플리케이션을 사용하기 위한 기능에 대응하는 아이콘을 선택하는 사용자에 응답하여 시작한다.
(204)에서, 컨텐츠 제시 어플리케이션은 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스를 사용하여 컨텐츠를 발견하고 및/또는 브라우징한다. 예를 들면, 컨텐츠 제시 어플리케이션은 어플리케이션의 사용자가 비디오 공유 서비스의 사용자들에 의해 업로드된 비디오들을 볼 수 있게 하는 비디오 공유 서비스를 위한 어플리케이션이다. 상기 컨텐츠 제시 어플리케이션은 어플리케이션의 사용자가 검색 기능들, 추천들, 큐레이팅된 리스트들, 채널들, 무작위로 또는 사용자에 의해 컨텐츠의 발견 및/또는 브라우징을 용이하게 하기 위한 임의의 기타 적절한 기법들을 사용하여 시청할 비디오들을 발견하게 한다. 다른 예시로서, 컨텐츠 제시 어플리케이션은 여러 구성들 가운데에서도 특히, 사용자가 웹 페이지들을 발견하고 및/또는 브라우징하게 하는 웹 브라우저이다.
(206)에서, 센더 어플리케이션은 센더 어플리케이션을 실행하는 컴퓨팅 디바이스가 컴퓨팅 디바이스가 연결된 네트워크(예를 들면, 홈 네트워크)에 존재하는 미디어 수신 디바이스들(예를 들면, 미디어 수신 디바이스(102))을 발견하게 한다. 네트워크 상 특정 주소에 메시지를 멀티캐스팅하기(multicasting), 멀티캐스트 메시지를 수신한 네트워크 상 디바이스들로부터 응답들을 청취(listen)하기 위한 이벤트 리스너(event listener) 런칭하기(launching)와 같은 임의의 적절한 기법(들)이 디바이스들을 발견하는데 사용된다. 추가적으로, 일부 구현예들에서, 프로세스(200)를 실행하는 디바이스와 관련된 이벤트 리스너는 상기 디바이스에 의해 이전에 전송된 멀티캐스트 메시지에 대한 응답이 아닌 미디어 수신 디바이스(예를 들면 미디어 수신 디바이스(102))로부터 송신된 메시지들을 청취한다. 상기 메시지는 미디어 수신 디바이스에 의해 송신된 브로드캐스트(broadcast), 멀티캐스트(multicast), 또는 유니캐스트(unicast) 메시지다. 일부 구현예들에서, 주기적으로 또는 임의의 기타 적절한 시간에, (210)과 관련하여 후술될 바와 같이 "보내기(send)" 아이콘을 선택하는 사용자에 응답하여, 센더 어플리케이션은 컨텐츠 제시 어플리케이션을 런칭하는 및/또는 센더 어플리케이션을 시작하는 컴퓨팅 디바이스에 응답하여 (206)에서 디바이스들을 시작하고 발견한다.
(208)에서, 컨텐츠 제시 어플리케이션은 제시될 미디어 컨텐츠 아이템의 사용자 표시를 수신하고, 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스에서 미디어 컨텐츠 아이템의 제시를 시작한다. 추가적으로 또는 대안적으로, 선택된 미디어 컨텐츠 아이템은 선택에 따라 컴퓨팅 디바이스에 제시되지 않고, 대신에 컨텐츠 제시 어플리케이션은 미디어 컨텐츠 아이템을 제시하기 위한 사용자 지시를 대기한다.
(210)에서, 컨텐츠 제시 어플리케이션 및/또는 센더 어플리케이션은 사용자가 선택된 미디어 컨텐츠 아이템을 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))에 송신하기 위해 "보내기" 아이콘(또는 음성 명령, 텍스트 명령 입력하기 등과 같은 미디어 컨텐츠 아이템을 미디어 수신 디바이스에 송신하기 위한 임의의 기타 적절한 지시)을 선택했는지 결정한다. 사용자가 "보내기" 아이콘을 선택했는지의 결정은 예를 들면, 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스로부터 "보내기" 아이콘의 사용자 선택이 수신되었다는 것을 표시하는 신호를 수신함으로써와 같은 임의의 적절한 기법 사용한다. 만약 컨텐츠 제시 어플리케이션 및/또는 센더 어플리케이션이 "보내기" 아이콘의 사용자 선택이 수신되지 않았다고 결정하면, 프로세스(200)는 (208)로 되돌아가고 (만약 제시되는 경우) 선택된 미디어 컨텐츠 아이템을 제시하기 위해 계속한다. 다르게는, 만약 컨텐츠 제시 어플리케이션 및/또는 센더 어플리케이션이 "보내기" 아이콘의 사용자 선택이 수신되었다고 결정하면((210)에서 "예"), 프로세스(200)는 (212)로 진행한다.
(212)에서, 센더 어플리케이션은 센더 어플리케이션을 실행하는 컴퓨팅 디바이스가 선택된 미디어 컨텐츠 아이템이 제시되게 하는 미디어 수신 디바이스들의 리스트를 제시하게 한다. 미디어 수신 디바이스들(예를 들면, 미디어 수신 디바이스(102)를 포함하는)의 리스트는 (206)에서 발견된 미디어 수신 디바이스들에 기초하여 생성된다. 일부 구현예들에서, 이전에 센더 어플리케이션을 사용하여 미디어 컨텐츠 아이템들을 제시하는데 사용된 디바이스들은 디바이스가 (206)에서 발견 요청에 응답했는지와 관계없이 리스트에 포함된다. 예를 들면, 이전에 사용되었던 디바이스들은 디바이스들의 리스트에서 디바이스가 발견되지 않았다는 표시(예를 들면, 디바이스가 오프라인 또는 네트워크 내에 있지 않다)와 함께 사용자에게 제시된다. 일부 구현예들에서, 예를 들면, 만약 사용자가 이전에 컨텐츠를 제시하는데 사용하기 위한 기본 미디어 수신 디바이스를 선택한 경우, 및/또는 만약 (206)에서 디바이스 발견 중에 단지 1 개의 미디어 수신 디바이스가 감지된 경우, 디바이스들의 리스트를 사용자에게 제시하는 것은 생략된다. 일부 구현예들에서, (201)에서 "보내기" 사용자 인터페이스 엘리먼트의 선택에 응답하여(예를 들면, (210)에서 "예"), 및/또는 임의의 기타 적절한 시간에, (206)에서 디바이스 발견은 (208)에서 컨텐츠의 제시와 병행하여 수행된다.
(214)에서, 센더 어플리케이션은 (208)에서 선택된 컨텐츠를 제시하는데 사용하기 위한 미디어 수신 디바이스의 지시를 수신한다. 예를 들면, 센더 어플리케이션은 (208)에서 선택된 미디어 컨텐츠 아이템을 제시하는데 사용하기 위한 미디어 수신 디바이스로서 사용자에 의해 선택된 디바이스의 센더 어플리케이션을 실행하는 컴퓨팅 디바이스로부터 신호를 수신한다.
일부 구현예들에서, 센더 어플리케이션을 실행하는 컴퓨팅 디바이스와 선택된 미디어 수신 디바이스와의 사이에 통신 세션은 (214)에서 미디어 디바이스의 선택을 수신하는 것에 응답하여 개시된다. 세션의 개시는 센더 어플리케이션을 실행하는 컴퓨팅 디바이스와 리시버 어플리케이션을 실행하는 선택된 미디어 수신 디바이스와의 사이에 안전한(secure) 연결이 생성되게 한다. 이 세션은 네트워크를 통해 호출(call)을 선택된 미디어 수신 디바이스에 송신하는 것과 (208)에서 선택된 미디어 컨텐츠 아이템이 선택된 미디어 수신 디바이스를 사용하여 제시되게 하기 위한 어플리케이션을 런칭하는 것을 포함한다.
일부 구현예들에서, 세션을 개시하는 것은 선택된 미디어 수신 디바이스에서 실행하는 리시버 어플리케이션으로부터 통신들을 수신하기 위한 리스너를 런칭하는 것을 더 포함한다. 세션이 개시된 이후, 채널은 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스에서 실행하는 센더 어플리케이션과 선택된 미디어 수신 디바이스에서 실행하는 리시버 어플리케이션(도 3과 관련하여 후술함)과의 사이에서 직접적으로 통신하기 위해 생성된다. 이 채널은 선택된 미디어 컨텐츠 아이템을 제시하기 위한 명령, 미디어 컨텐츠 아이템을 재생하기 위한 명령, 미디어 컨텐츠 아이템을 멈추기 위한 명령 등과 같은 명령들을 센더 어플리케이션을 실행하는 컴퓨팅 디바이스로부터 리시버 어플리케이션을 실행하는 선택된 미디어 리시버 어플리케이션으로 송신하는데 사용된다. 센더 어플리케이션을 실행하는 컴퓨팅 디바이스와 미디어 수신 디바이스는 상기 기술된 바와 같이 그들 사이에 채널이 설정된 경우 본 명세서에서 때때로 쌍을 이룬 디바이스들(paired devices)로서 참조된다. 일부 구현예들에서, 추가적으로 또는 대안적으로, 센더 어플리케이션은 특정 컨텐츠(예를 들면, (208)에서 선택된 컨텐츠)를 제시하기 위한 명령들 및/또는 지시들과 같은 임의의 적절한 명령들 및/또는 지시들을 상기 기술된 채널을 통해 및/또는 비-지속적 연결(non-persistent connection)을 사용하여 송신할 수 있다. 예를 들면, 명령들 및/또는 지시들은 요청을 일시적 채널(예를 들면, 미디어 수신 디바이스로 주소화된 하이퍼텍스트 트랜스퍼 프로토콜(Hypertext Transfer Protocol) 메시지들을 사용하는 통신)을 사용하여 미디어 수신 디바이스에 보냄으로써 비-지속적 연결을 통해 송신된다. 일부 구현예들에서, 특정 명령들 및/또는 지시들은 미디어 수신 디바이스의 초기화(initialization) 기간 동안에 및/또는 지속적 연결이 설정되기에 앞서, 미디어 수신 디바이스의 리시버 어플리케이션이 런칭되는 때, 지속적 통신 채널의 초기화 동안에 및/또는 임의의 기타 적절한 타이밍에 비-지속적 연결을 사용하여 송신된다.
일부 구현예들에서, 센더 어플리케이션을 실행하는 컴퓨팅 디바이스와 미디어 리시버 디바이스와의 사이에 채널이 생성된 때, 센더 어플리케이션은 (204)에서 컨텐츠를 발견하고 및/또는 브라우징하고 및/또는 (208)에서 컨텐츠를 선택하기 위해 사용되는 컨텐츠 제시 어플리케이션에 대응하는 컨텐츠 스트리밍 어플리케이션을 런칭하기 위한 지시들을 보낸다.
(216)에서, 센더 어플리케이션은 미디어 컨텐츠 아이템의 소스가 로컬(예를 들면, 센더 어플리케이션을 실행하는 컴퓨팅 디바이스) 또는 원격(예를 들면, 컨텐츠 전달 서버, 네트워크 결합 스토리지, 네트워크 상 퍼스널 컴퓨터 등)인지 결정한다. 만약 센더 어플리케이션이 미디어 컨텐츠의 소스가 원격((216)에서 "원격")이라고 결정하면, 프로세스(200)는 (218)로 진행한다.
(218)에서, 센더 어플리케이션은 선택된 미디어 수신 디바이스가 컨텐츠 아이템이 사용가능한 원격 소스로부터(예를 들면, 원격 서버, 네트워크 결합 스토리지 등) HTTP(hypertext transfer protocol), 임의의 적절한 스트리밍 프로토콜, FTP(file transfer protocol), DLNA(Digital Living Network Alliance) 표준들에 대응하는 프로토콜들 또는 임의의 기타 적절한 프로토콜과 같은 임의의 적절한 통신 프로토콜들을 사용하여 컨텐츠 아이템을 요청하게 한다. 일부 구현예들에서, 만약 미디어 컨텐츠 아이템이 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스에 의해 제시되었던 경우, 상기 컴퓨팅 디바이스는 미디어 컨텐츠 아이템을 제시하는 것을 중단하면서, 미디어 리시버 어플리케이션은 미디어 컨텐츠 아이템이 제시되게 한다.
다르게는, 만약 센더 어플리케이션이 미디어 컨텐츠 아이템의 소스가 로컬((216)에서 "로컬")이라고 결정하면, 프로세스(200)는 (220)으로 진행한다.
(220)에서, 센더 어플리케이션은 컨텐츠 제시 어플리케이션을 실행하는 컴퓨팅 디바이스로 하여금 네트워크를 통해 컨텐츠를 선택된 미디어 수신 디바이스로 전송하게 한다. 그 후 센더 어플리케이션은 선택된 미디어 수신 디바이스로 하여금 센더 어플리케이션을 실행하는 컴퓨팅 디바이스와 선택된 미디어 리시버 디바이스와의 사이에 설정된 채널을 사용하여 컨텐츠를 제시하게 한다. 일부 구현예들에서, 프로세스(200)를 실행하는 디바이스로부터(예를 들면, 컴퓨팅 디바이스(112)) 선택된 미디어 수신 디바이스(예를 들면 미디어 수신 디바이스(112))로 컨텐츠를 송신하기 위한 채널은 명령들 및/또는 지시들을 미디어 수신 디바이스(112)로 송신하기 위한 채널이 아닌 별도의 채널이다. 예를 들면, 명령들 및/또는 지시들을 송신하기 위한 채널은 제어 채널이고, 컨텐츠를 송신하기 위한 채널은 데이터 채널이다. 대안적으로, 컨텐츠는 명령들 및/또는 지시들과 동일한 채널을 통해 송신될 수 있다.
일부 구현예들에서, 미디어 컨텐츠 아이템은 컴퓨팅 디바이스(112)에 의해 렌더링되는 웹 페이지 또는 웹페이지의 부분을 포함한다. 상기 구현예들에서, 웹페이지는 로컬에 저장된 미디어 컨텐츠 아이템으로 여겨지며, 비디오 오브젝트로서 컴퓨팅 디바이스(112)로부터 미디어 리시버(102)(예를 들면, 홈 네트워크와 같은 네트워크를 통해)로 직접적으로 전송된다(예를 들면, 웹페이지는 컴퓨팅 디바이스(112)에 의해 렌더링되고 컨텐츠에 대응하는 비디오는 미디어 리시버(102)에 전송된다). 대안적으로, 웹페이지는 원격 미디어 컨텐츠 아이템으로 여겨지며, 미디어 수신 디바이스(102)에 의해 요청되고 예를 들면, 미디어 수신 디바이스(102)에 의해 런칭된 웹 브라우저 어플리케이션을 사용하여 렌더링된다.
도 3은 리시버 어플리케이션을 실행하는 미디어 수신 디바이스를 사용하여 미디어 컨텐츠를 수신하고 제시하기 위한 프로세스의 예시(300)를 도시한다. 상기 기술된 바와 같이, 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))는 센더 어플리케이션을 실행하고 있는 컴퓨팅 디바이스들로부터 요청들과 명령들을 수신하기 위한 리시버 어플리케이션을 실행한다. 발견 요청이 센더 어플리케이션으로부터 수신되었을 때, 리시버 어플리케이션은 미디어 수신 디바이스로 하여금 발견 요청에 응답하게 하고, 채널이 설정될 것이라는 것을 표시하는 센더 어플리케이션에 응답하여 발견 요청을 송신하는 컴퓨팅 디바이스와 제어 및/또는 데이터 채널을 설정하게 한다.
일부 구현예들에서, 리시버 어플리케이션은 상기 기술된 바와 같이 센더 어플리케이션과의 통신을 위한 API(application programming interface)이다. 상기 리시버 어플리케이션은 컴퓨팅 디바이스(112)와 같은 컴퓨팅 디바이스에서 실행하는 센터 어플리케이션으로부터 명령들을 수신하기 위해 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))에 의해 실행된다. 여러 구성들 가운데에서도 특히, 리시버 어플리케이션은 다음 기능들을 수행한다: 센더 어플리케이션을 실행하는 컴퓨팅 디바이스에 의해 송신된 발견 요청들에 응답; 통신들을 송신 및/또는 수신할 수 있도록 컴퓨팅 디바이스와 하나 이상의 통신 채널들 설정; 컨텐츠를 제시하기 위한 스트리밍 어플리케이션 다운로드 및/또는 런칭; 및 하나 이상의 통신 채널들을 통해 수신된 지시들을 미디어 컨텐츠 아이템을 제시하기 위해 미디어 수신 디바이스에 의해 사용되는 스트리밍 어플리케이션에 릴레이(relay).
일부 구현예들에서, 리시버 어플리케이션은 상기 기능들을 수행하기 위한 SDK(software developer kit) (예를 들면, Content Sender SDK)의 하나 이상의 부분들과 같은 표준 소프트웨어 명령어들의 세트를 포함한다. 예를 들면, 리시버 어플리케이션은 센더 어플리케이션을 실행하는 컴퓨팅 디바이스(예를 들면, 컴퓨팅 디바이스(112))로부터 발견 요청들을 수신하기 위한 리스너를 런칭하고, 명령들 및/또는 메시지들을 송신하고 수신하기 위한 컴퓨팅 디바이스와 지속적 연결을 생성하고, 스트리밍 어플리케이션을 다운로드하고 렌더링하고, 센더 어플리케이션을 실행하는 컴퓨팅 디바이스로부터 명령들을 수신하고, 및 (예를 들면, 기본 포맷으로 또는 스트리밍 어플리케이션과 관련된 컨텐츠의 소스에 특정된 포맷으로) 스트리밍 어플리케이션에 명령을 릴레이할 수 있다. 추가적으로, 리시버 어플리케이션은 예를 들면, 미디어 컨텐츠 아이템이 재생되고 있는지, 미디어 컨텐츠 아이템의 식별, 미디어 컨텐츠 아이템의 시간 등에 관한 미디어 수신 디바이스로부터 상태 업데이트들을 주기적으로 송신한다. 일부 구현예들에서, 특정 컨텐츠 제시 어플리케이션 및/또는 컨텐츠 스트리밍 어플리케이션에 특유한 명령들은 리시버 어플리케이션에 의해 송신되고 및/또는 수신된다. 상기 어플리케이션 특유 명령들은 센더 어플리케이션 및 수신 어플리케이션을 통해 컨텐츠 제시 어플리케이션으로부터 스트리밍 어플리케이션에 및 그 역으로 릴레이된다. 예를 들면, 미디어 컨텐츠를 수신하고 제시하기 위해 인증 토큰을 요구하는 스트리밍 어플리케이션은 리시버 어플리케이션 및 센더 어플리케이션을 통해 컨텐츠 제시 어플리케이션으로부터 상기 인증 토큰을 요구한다.
일부 구현예들에서, 리시버 어플리케이션은 개시된 미디어 수신 디바이스에 응답하여 시작한다(예를 들면, 전원 켬). 추가적으로, 리시버 어플리케이션은 백그라운드 어플리케이션으로서 실행되고 및/또는 센더 어플리케이션으로부터 발견 요청을 수신하는 미디어 수신 디바이스에서 실행되는 리스너 어플리케이션에 응답하여 시작한다.
일부 구현예들에서, 리시버 어플리케이션을 실행하는 미디어 수신 디바이스는 센더 어플리케이션을 실행하는 컴퓨팅 디바이스에서 실행하는 컨텐츠 제시 어플리케이션에 대응하는 컨텐츠 스트리밍 어플리케이션을 런칭하기 위한 지시들을 수신한다. 상기 지시들은 컨텐츠 스트리밍 어플리케이션이 다운로드될 수 있는 주소 정보(예를 들면, URI, URL, URN, IP 주소 및/또는 임의의 기타 적절한 주소 정보), 컨텐츠 스트리밍 어플리케이션에 대응하는 소프트웨어, 런칭하기 위해 미리 설치된 컨텐츠 스트리밍 어플리케이션의 지시, 또는 컨텐츠 스트리밍 어플리케이션을 런칭하기 위한 임의의 기타 적절한 지시들을 포함한다.
일부 구현예들에서, 리시버 어플리케이션은 미디어 수신 디바이스로 하여금 수신된 주소로부터 컨텐츠 스트리밍 어플리케이션을 다운로드하게 한다. 그 후 컨텐츠 스트리밍 어플리케이션은 컨텐츠 아이템(예를 들면, (208)에서 선택된 컨텐츠 아이템)을 렌더링하기 위해 미디어 수신 어플리케이션에 의해 렌더링된다. 컨텐츠 스트리밍 어플리케이션은 미디어 수신 디바이스가 컨텐츠 아이템을 연결된 미디어 플레이백 디바이스에서 제시하게 하기 위한 임의의 적절한 소프트웨어를 포함한다. 예를 들면, 스트리밍 어플리케이션은 HTML(hypertext markup language), JS(JavaScript) 또는 임의의 기타 적절한 프로그래밍 언어를 포함한다.
일부 구현예들에서, 리시버 어플리케이션이 컨텐츠 스트리밍 어플리케이션을 런칭할 때, 리시버 어플리케이션은 어플리케이션 컨텍스트(application context)가 생성되도록 한다. 예를 들면, "플링(Fling)"으로 식별된 어플리케이션 컨텍스트는 컨텐츠 스트리밍 어플리케이션에 의해 리시버 어플리케이션으로부터 수신될 메시지들에 대한 출처(origin)로서 생성된다. 일부 구현예들에서, 컨텐츠 스트리밍 어플리케이션이 렌더링을 완료한 때, 리시버 어플리케이션은 센더 어플리케이션으로부터 수신된 명령들에 대한 임의의 적절한 타겟(target)을 셋팅(setting)한다. 예를 들면, 리시버 어플리케이션은 컨텐츠 스트리밍 어플리케이션의 비디오 태그(video tag)를 센더 어플리케이션으로부터 수신된 명령들에 대한 타겟으로서 셋팅한다. 다른 예시로서, 리시버 어플리케이션은 컨텐츠 스트리밍 어플리케이션의 비디오 엘리먼트를 센더 어플리케이션으로부터 수신된 명령들에 대한 타겟으로서 셋팅한다. 그 후 이들 명령들은 센더 어플리케이션으로부터 명령을 수신함에 따라 미디어 수신 디바이스에 의해 실행된다. 추가적으로 또는 대안적으로, 센터로부터 수신된 명령들에 대한 목적지는 특정 이벤트 핸들러(event handler)로 셋팅될 수 있으며, 이는 명령들을 수신하고 수신된 명령에 어떻게 적절하게 응답할지 결정한다.
(302)에서, 리시버 어플리케이션을 실행하는 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102)는 센더 어플리케이션에 의해 구체화된 컨텐츠가 스트리밍 어플리케이션이 런칭된 이후에 미디어 플레이백 디바이스(예를 들면, 미디어 플레이백 디바이스(106))에 제시되게 한다. 컨텐츠는 센더 어플리케이션에 의해 구체화된 특정 주소로부터 요청되고 및/또는 센더 어플리케이션을 실행하는 컴퓨팅 디바이스로부터 수신된다.
(304)에서, 리시버 어플리케이션을 실행하는 미디어 수신 디바이스는 채널이 설정된 임의의 컴퓨팅 디바이스들에 상태를 주기적으로 송신한다. 상기 상태는 예를 들면, 재생/멈춤 상태, 미디어 컨텐츠 아이템의 완료 퍼센트(completion percentage), 제시되는 미디어 컨텐츠 아이템에 관련된 메타데이터 및/또는 임의의 기타 적절한 정보를 포함한다.
(306)에서, 리시버 어플리케이션을 실행하는 미디어 수신 디바이스는 지시들을 미디어 수신 어플리케이션에 연결된 컴퓨팅 디바이스들로부터 수신한다. 예를 들면, 지시들은 재생 명령, 멈춤 명령, 볼륨 명령 등을 포함한다.
(308)에서, 리시버 어플리케이션을 실행하는 미디어 수신 디바이스는 연결된 디바이스로부터 수신된 지시들에 기초하여 액션들을 수행한다. 예를 들면, 미디어 수신 디바이스는 멈춤 명령을 수신하는 것에 응답하여 미디어 컨텐츠 아이템이 제시되게 하는 스트리밍 어플리케이션이 미디어 컨텐츠 아이템의 제시를 멈추도록 지시한다. 이후 (308)에서 임의의 액션들이 수행된 이후에, 프로세스(300)는 (304)로 되돌아가고 상태 업데이트들 송신을 계속한다. 일부 구현예들에서, 센더 어플리케이션을 실행하는 컴퓨팅 디바이스는 상태 업데이트를 위한 요청을 송신하고, 리시버 어플리케이션은 상태 업데이트가 비동시적으로 송신되게 한다(예를 들면, 특정 기간에 대응하지 않게, 상태 업데이트는 명령들의 소정의 서브셋 중에 명령이 수신되는 때마다 송신될 수 있는 등).
일부 구현예에서, 미디어 수신 디바이스는 단일의 동시적 미디어 스트림 플레이백을 지원하도록 구성된다. 예를 들면, 미디어 수신 디바이스에서 실행하는 DOM(document object model)은 임의의 주어진 시간에 단지 1개의 액티브 비디오 엘리먼트가 생성되고 및/또는 실행되도록 구성된다.
일부 구현예들에서, 미디어 수신 디바이스는 포맷들의 소정의 서브셋 중 1 개로 수신된 미디어 컨텐츠를 제시하도록 구성된다. 임의의 적절한 비디오 및/또는 오디오 포맷들이 사용되며, 이는 임의의 적절한 비디오 및/또는 오디오 인코딩 및/또는 디코딩 프로토콜들, 코드, 소프트웨어 등을 포함한다. 예를 들면, 미디어 수신 디바이스는 Widevine, Playready과 같은 DRM(digital rights management) 포맷들의 소정의 서브셋 또는 임의의 기타 적절한 DRM 포맷을 지원한다. 다른 예시로서, 미디어 수신 디바이스는 VP8과 같은 비디오 포맷들의 소정의 서브셋 또는 임의의 기타 적절한 비디오 포맷을 지원한다. 또 다른 예시로서, 미디어 수신 디바이스는 MP3, CELT/OPUS과 같은 오디오 포맷들의 소정의 서브셋 또는 임의의 기타 적절한 오디오 포맷을 지원한다. 또 다른 예시로서, 미디어 수신 디바이스는 MP4, fMP4(fragmented MP4), WebM과 같은 오디오-비디오 포맷들의 소정의 서브셋 또는 임의의 기타 적절한 오디오-비디오 포맷을 지원한다(예를 들면, 컨테이너 포맷들). 추가적 예시로서, 미디어 수신 디바이스는 임의의 적절한 스트리밍 기법(들)에 기초한 적응적 비트레이트 스트리밍(adaptive bitrate streaming)과 같은 미디어 스트리밍 포맷들의 소정의 서브셋 또는 임의의 기타 적절한 미디어 스트리밍 포맷을 지원한다. 일부 구현예들에서, 미디어 수신 디바이스에 의해 수신된 오디오 및/또는 비디오는 임의의 적절한 암호화 기법(들)을 사용하여 암호화된다. 예를 들면, 미디어 수신 디바이스에 의해 수신된 오디오 및/또는 비디오는 CENC(Common Encryption Scheme) 또는 임의의 기타 적절한 암호화 스키마를 사용하여 암호화된다.
일부 구현예들에서, 센더 어플리케이션에 의해 송신된 명령들은 다음을 포함한다.
LOAD(로드)
일부 구현예들에서, LOAD 명령은 "source"에 대한 필드들을 포함하며, 이는 <content id>, "title"에 대한 필드, "autoplay"에 대한 불리언(Boolean)(예를 들면, true/false) 필드, "content_info" 필드, 및/또는 임의의 기타 적절한 필드를 포함한다. 이 명령은 새로운 컨텐츠를 미디어 플레이어에 로딩하는데 사용된다. <content id>는 로딩될 미디어의 식별을 포함하며, 이는 임의의 적절한 포맷을 가진다. 예를 들면, <content id>는 컨텐츠의 특정 소스 및/또는 컨텐츠의 아이템을 구체화하기 위한 URI(uniform resource identifier), URL(uniform resource locator), URN(uniform resource name), IP 주소, 및/또는 임의의 기타 적절한 정보를 포함한다. 일부 구현예들에서, <content id>는 소스의 식별 정보 및/또는 소스로부터 사용가능한 미디어 컨텐츠 아이템의 식별 정보를 포함한다. 이 필드의 포맷은 컨텐츠 제시 어플리케이션, 컨텐츠 스트리밍 어플리케이션, 미디어 플레이어 및/또는 임의의 기타 적절한 기법(들)에 의해 정의된다.
만약 LOAD에서 autoplay 필드가 "true"로 특정되면, 컨텐츠 스트리밍 어플리케이션은 컨텐트가 로딩될 때 컨텐츠 재생을 시작한다. 일부 구현예들에서, 만약 autoplay 필드가 특정되지 않은 경우 조차도, 미디어 스트리밍 어플리케이션은 플레이백을 즉시 시작하도록 구성된다. 만약 플레이백이 시작되면, 상태 메시지에서 플레이어 상태는 "재생중"으로 셋팅되며, 다른 경우에는 "멈춤"으로 셋팅된다.
title 필드는 로딩되는 컨텐츠에 대한 사용자 판독가능 설명적 문자열(user readable descriptive string)을 선택적으로 제공한다. 만약 제공된 경우, 문자열은 컨텐츠 스트리밍 어플리케이션 및/또는 리시버 어플리케이션으로부터 송신된 각 STATUS 오브젝트의 title 필드에 대한 초기값으로서 컨텐츠 스트리밍 어플리케이션에 의해 사용된다. LOAD 메시지에서 제목이 제공여부와 관계없이, 컨텐츠 스트리밍 어플리케이션은 컨텐츠 스트리밍 어플리케이션의 구현에 기초하여 임의의 포인트에서 title 필드를 수정한다.
content_info 필드는 로딩되고 있는 컨텐츠 예를 들면, TV서비스의 식별, 에피소드 숫자 등에 대한 더 상세한 정보를 줄 수 있는 JSON 오브젝트를 포함한다. 만약 제공된 경우, content_info 오브젝트는 각 STATUS 메세지의 content_info 필드의 초기값으로서 사용된다(후술함). 컨텐츠 스트리밍 어플리케이션 및/또는 리시버 어플리케이션은 예를 들면, 제시될 미디어 컨텐츠 아이템과 함께 수신된 메타데이터에 기초하여 임의의 포인트에서 content_info를 수정한다.
PLAY(재생)
일부 구현예들에서, PLAY 명령은 로드 호출(load call)과 함께 로딩된 컨텐츠의 플레이백이 시작되게 하고, 및/또는 현재 로딩된 컨텐츠의 플레이백 위치를 변경한다. PLAY 명령은 position 필드를 포함하며, 이는 초들(seconds)로 주어지며, 현재 컨텐츠에서 플레이백을 시작할 위치를 특정한다. 만약 포지션이 특정되지 않으면, 플레이백은 현재 위치부터 계속된다. 만약 제공된 위치가 현재 컨텐츠의 유효한 위치들의 범위 밖이면, 컨텐츠 스트리밍 어플리케이션은 가능한 한 요청된 위치에 가까운 유효한 위치를 결정한다. 일부 구현예들에서, PLAY 명령이 수신되면, STATUS 메시지가 리시버 어플리케이션에 의해 쌍을 이룬 컴퓨팅 디바이스들에 송신된다.
STOP(정지)
일부 구현예들에서, STOP 명령은 컨텐츠의 플레이백이 멈춰지게 한다. 일부 구현예들에서, STOP 명령이 수신되면, STATUS 메시지가 리시버 어플리케이션에 의해 쌍을 이룬 컴퓨팅 디바이스들에 송신된다.
VOLUME(볼륨)
일부 구현예들에서, VOLUME 메시지는 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))에 의한 볼륨 출력이 조절되게 하고 및/또는 명령들이 미디어 플레이백 디바이스에 의한 볼륨 출력을 변경하기 위해 미디어 스트리밍 디바이스에 연결된 미디어 플레이백 디바이스에 발행되게 한다. VOLUME 메시지는 셋팅될 볼륨에 대한 필드를 포함한다. 상기 필드는 0.0에서 1.0과 같이 소정의 범위에서 숫자로 주어지며, 각 십진법의 값은 특정 볼륨에 대응한다. 추가적으로, 일부 구현예들에서, VOLUME 메시지는 볼륨이 음소거되거나 음소거되지 않게(예를 들면, 볼륨의 현재 상태에 기초하여) 구체화하기 위한 muted 필드를 포함한다. 일부 구현예들에서, muted 필드는 만약 현재 음소거되지 않은 경우, true이면 볼륨이 음소거되게 하고, 만약 현재 음소거된 경우, false이면 현재 음소거 상태와 관련하여 아무런 액션도 이루어지지 않게 하는 불리언 플래그(Boolean flag)이다.
STATUS(상태)
STATUS 메시지는 컨텐츠 스트리밍 어플리케이션 및/또는 미디어 수신 어플리케이션에서 실행하는 리시버 어플리케이션으로부터 센더 어플리케이션 및/또는 쌍을 이룬 컴퓨팅 디바이스에서 실행하는 컨텐츠 제시 어플리케이션에게로 송신된다. 이 상태 메시지는 컨텐츠 스트리밍 어플리케이션 및/또는 컨텐츠 스트리밍 어플리케이션에 의해 현재 제시되는 컨텐츠의 상태에 관한 상태 정보를 포함한다. 상기 상태 정보는 상태 오브젝트를 포함한다.
일부 구현예들에서, 상태 오브젝트는 "event_sequence", "state", "active_input", "content_id", "title", "time_progress", "current_time", "duration", "volume", "content_info", "error"에 대한 필드들 및 임의의 기타 적절한 필드들을 포함한다.
일부 구현예들에서, "event_sequence"는 동작들(예를 들면, 로드, 재생 등)에 응답하여 수신되고, 요청하지 않은 상태 업데이트들(예를 들면, 주기적 업데이트들)로부터 수신된 상태 이벤트들의 상대적인 위치를 식별하는데 사용되는 시퀀스 번호를 포함한다. 동작에 응답하여 상태 이벤트가 수신되면, 상기 응답의 시퀀스 번호보다 작은 시퀀스 번호와 함께 수신된 임의의 상태 이벤트는 무시된다. 추가적으로, 플레이어 상태 메시지들은 명령을 송신 및/또는 수신하는데 사용되는 채널과 다른 별도의 채널에서 전달된다. 따라서 event_sequence는 명령들에 관한 순서가 된다.
일부 구현예들에서, "state"는 컨텐츠 및/또는 컨텐츠 스트리밍 어플리케이션의 현재 상태를 포함한다. 일부 구현예들에서, 이는 0부터 2까지 정수에 의해 제시되며, 0은 IDLE에 대응하고, 1은 STOPPED에 대응하고, 2는 PLAYING에 대응한다. 일부 구현예들에서, 만약 "state"가 IDLE에 대응하면, "sequence_number"와 "error"를 제외한 모든 필드들은 무시된다.
일부 구현예들에서, "active_input"은 컨텐츠 스트리밍 어플리케이션을 실행하는 디바이스에 의해 출력되고 있는 컨텐츠가 컨텐트 스트리밍 어플리케이션을 실행하는 디바이스에 연결된 디스플레이에 의해 제시되는지 표시하기 위한 불리언(예를 들면, true/false) 필드이다. 예를 들면, "active_input"은 컨텐츠 스트리밍 어플리케이션을 실행하는 디바이스에 연결된 텔레비전의 HDMI 입력 포트가 텔레비전의 현재 선택된 입력인지 표시한다.
일부 구현예들에서, "content_id"는 컨텐츠 스트리밍 어플리케이션에 의해 현재 로딩되고 있는 컨텐츠의 서비스-특유의 식별자를 포함하며, 이는 자유로운 형태의 문자열이고 컨텐츠 스트리밍 어플리케이션에 특유하다.
일부 구현예들에서, "title"은 컨텐츠 스트리밍 어플리케이션에 의해 현재 로딩되는 컨텐츠의 설명적 제목을 포함한다. 일부 구현예들에서, 컨텐츠 스트리밍 어플리케이션은 LOAD 메시지에서 주어진 "content_id" 또는 "title"에 기초하여 제목 정보를 독립적으로 검색한다.
일부 구현예들에서, "time_progress"는 현재 로딩되는 컨텐츠의 미디어 시간이 진행 중인지의 표시를 포함한다. 일부 구현예들에서, "time_progress"의 값이 false이면, 센더 어플리케이션을 실행하는 컴퓨팅 디바이스는 미디어 시간을 추정하는 것을 멈추도록 지시 받는다. 일부 구현예들에서, "time_progress"는 미디어 시간이 임의의 상태에서 멈출 수 있으므로(예를 들면, 오류 때문에, 버퍼링 때문에 등) "state"와는 독립적이다.
일부 구현예들에서, "current_time"은 컨텐츠의 시작과 관련하여 컨텐츠 스트리밍 어플리케이션의 현재 위치를 포함하며, 이는 초들(seconds)로 주어진다. 만약 컨텐츠가 실시간 스트리밍 컨텐츠이면, "current_time"은 실시간 스트리밍의 시작부터의 시간을 초들로 표현한다.
일부 구현예들에서, "duration"은 현재 재생 중인 컨텐츠의 길이의 표현을 포함하며, 이는 초들로 주어진다. 만약 컨텐츠가 실시간 스트리밍이면, 이 필드는 눌(null)로 셋팅된다.
일부 구현예들에서, "volume"은 현재 볼륨 레벨을 포함하며, 예를 들면 0.0과 1.0과의 사이의 값에 의해 표시된다.
일부 구현예들에서, "content_info"는 서비스 특유의 오브젝트를 포함하며, 이는 현재 컨텐츠에 관한 상세한 정보를 제공한다. 일부 구현예들에서, "content_info"의 초기값은 LOAD 메시지에서 센더 어플리케이션에 의해 제공된다. 일부 구현예들에서, 컨텐츠 스트리밍 어플리케이션은 컨텐츠 스트리밍 어플리케이션에 의해 획득된 정보를 제공하기 위해 "content_info"의 컨텐츠를 수정한다.
일부 구현예들에서, "identity"는 자동적으로 식별된 인증 토큰을 포함한다. 이는 컨텐츠 전달 네트워크 서비스 제공자, 디지털 저작권들 관리 서버와 같은 외부 시스템들 및/또는 임의의 기타 적절한 외부 시스템과의 통신이 수행될 때 사용된다. 운영 체재 식별 또는 디바이스 식별 토큰보다는 외부 시스템들과 통신할 때 리시버 어플리케이션을 실행하는 미디어 수신 디바이스를 식별하는데 인증 토큰이 사용된다. 이는 예를 들면, 디지털 수신 디바이스의 프라이버시(privacy) 또는 보안을 향상시킨다.
일부 구현예들에서, "error"는 미디어 수신 디바이스에 의해 접한 최근의 오류를 포함한다. 만약 접한 오류가 없다면, "error"는 눌(null)로 셋팅된다. 추가적으로, "error"는 "Error Domain"을 포함하며, 이는 리시버 어플리케이션, 컨텐츠 스트리밍 어플리케이션 등과 같은 개별적 어플리케이션들에 대응하는 오류들을 제공하는데 사용된다.
일부 구현예들에서, 다수의 컴퓨팅 디바이스들(112)이 동일한 또는 서로 다른 컨텐츠 제시 어플리케이션들을 사용하여 컨텐츠를 일반적 미디어 플레이백 디바이스에 송신하는데 사용된다. 상기 구현예에서, 미디어 수신 디바이스(102)는 현재 제시되는 컨텐츠를 중단하고, 현재 제시되는 컨텐츠의 제시 이후에 제시될 큐(queue)에 새롭게 송신된 컨텐츠를 추가하고, 컨텐츠의 디스플레이를 못하게되었다는 것을 표시하는 메시지를 반환하도록 또는 어떤 컨텐츠를 제시할 지 결정하기 위한 임의의 기타 적절한 기법(들)로 구성된다. 일부 구현예들에서, 미디어 수신 디바이스(102)에서 실행하는 컨텐츠 스트리밍 어플리케이션의 셋팅들은 현재 제시된 컨텐츠를 중단할지, 새로운 컨텐츠 아이템을 큐에 추가할지, 새로운 컨텐츠 아이템을 수락하기를 거절할지 또는 어떤 컨텐츠를 제시할지 결정하기 위한 임의의 기타 적절한 기법(들)을 결정한다.
도 4는 일부 구현예들에 따라 센더 어플리케이션을 실행하는 컴퓨팅 디바이스의 잠금화면으로부터 미디어 수신 디바이스에 송신될 명령들을 생성하기 위한 프로세스의 예시(400)를 도시한다. (402)에서, 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))는 컴퓨팅 디바이스(예를 들면, 컴퓨팅 디바이스(112))로부터 적절한 명령에 응답하여 컨텐츠의 플레이백을 시작함으로써 컨텐츠가 제시되게 한다.
(404)에서, 송신 어플리케이션을 실행하는 컴퓨팅 디바이스(112)는 컴퓨팅 디바이스의 잠금화면으로 들어가고, 이는 사용자가 컴퓨팅 디바이스의 구성들의 일부에 엑세스하기 이전에 컴퓨팅 디바이스를 "잠금해제"하기 위한 액션을 수행해야만 하는 화면이다. 추가적으로 또는 대안적으로, 컴퓨팅 디바이스(112)는 "슬립 모드"에 들어가며, 슬립 모드에서 컴퓨팅 디바이스는 저전력 상태(예를 들면 디스플레이를 끔으로써)에 진입한다. 일부 구현예들에서, 컴퓨팅 디바이스는 메시지 수신하기(예를 들면, 전화, 문자 메시지 등), 특정 사용자 입력(예를 들면, 특정 버튼에 버튼 누름, 사용자에 의한 컴퓨팅 디바이스의 특정 움직임 등)과 같은 특정 이벤트들 및/또는 임의의 기타 적절한 이벤트에 응답하여 슬립 모드로부터 깨어난다.
(406)에서, 만약 컴퓨팅 디바이스(112)가 슬립 모드에 있으면, 상기 기술된 바와 같이 컴퓨팅 디바이스(106)는 슬립 모드로부터 깨어나기 위한 표시를 수신한다.
(408)에서, 컴퓨팅 디바이스(112)는 사용자 입력들을 수신하고 센더 어플리케이션은 사용자 입력들에 응답하여 미디어 수신 디바이스(102)에 송신하기 위한 명령들을 생성한다.
일부 구현예들에서, 미디어 수신 디바이스를 사용하여 미디어 컨텐츠가 제시되게 하는 컴퓨팅 디바이스와 동일하지 않은 제2 컴퓨팅 디바이스는 미디어 수신 다바이스에 연결되고 미디어 수신 디바이스에서 컨텐츠의 제시를 제어한다. 예를 들면, 제2 컴퓨팅 디바이스는 미디어 수신 디바이스와 쌍을 이루기 위한 아이콘을 선택함으로써 미디어 플레이백 디바이스에서 컨텐츠를 제시하는데 사용되는 미디어 수신 디바이스에 연결된다. 특정 디바이스가 선택될 수 있고, 만약 제2 컴퓨팅 디바이스가 구체적인 기준을 만족하면(예를 들면, 동일한 네트워크에 있거나, 미디어 수신 디바이스와 연결되게 하거나, 미디어 수신 디바이스가 다수의 컴퓨팅 디바이스들로부터 제어를 수락하도록 구성되는 등), 제2 컴퓨팅 디바이스는 연결되고 미디어 수신 디바이스에서 미디어 컨텐츠의 제시를 제어한다.
일부 구현예들에서, 미디어 수신 디바이스에 연결된 제2 컴퓨팅 디바이스는 예를 들면, 잠금화면으로부터 미디어 컨텐츠의 제시의 특정 속성들을 제어하는데 사용된다. 추가적으로, 컨텐츠 아이템을 제시하는데 사용되는 특정 컨텐츠 제시 어플리케이션을 가지지 않는 제2 컴퓨팅 디바이스는 그럼에도 불구하고 재생/멈춤, 볼륨, 탐색 등과 같은 컨텐츠 아이템의 제시의 양태들을 제어하는데 사용되지만, 추가적인 미디어 컨텐츠 아이템들에 대한 발견 및/또는 브라우징은 금지된다.
도 5a는 일부 구현예들에 따라 잠금화면 사용자 인터페이스의 예시를 도시한다. 도 5a에 도시된 예시에서, 컴퓨팅 디바이스(112)는 미디어 수신 디바이스(102)로 하여금 제시될 미디어 컨텐츠 아이템을 미디어 플레이백 디바이스(106)의 화면에 제시되게 한다. 일부 구현예들에서, 송신 어플리케이션을 실행하는 컴퓨팅 디바이스(112)의 잠금화면에서, 정보는 제시되는 미디어 컨텐츠의 식별에 관하여 사용자에게 제시되며, 이 정보는 제목 정보, 에피소드 정보 등을 포함한다. 또한 잠금화면은 미디어 플레이백 디바이스(106)에서 미디어 컨텐츠 아이템의 플레이백을 제어하기 위한 제어들(502-506)을 포함한다. 예를 들면, 잠금화면은 미디어 컨텐츠 아이템의 제시를 재생 또는 멈춤 (또는 중지)할지 제어하는데 사용되는 재생 아이콘(502), 행동을 제어하는데 사용되는 뒤로 가기 또는 이전 트랙 아이콘(504) 및 앞으로 가기 또는 다음 트랙 아이콘(506)을 포함한다. 일부 구현예들에서, 만약 컴퓨팅 디바이스(112)가 제어들(502-506) 중 하나에 대한 사용자 입력을 감지하면, 송신 어플리케이션은 대응하는 명령을 만들어내고, 명령은 컴퓨팅 디바이스(112)와 미디어 수신 디바이스(102)와의 사이에 설정된 채널을 통해 송신된다. 미디어 수신 디바이스(102)는 리시버 어플리케이션을 사용하여 명령을 수신하고, 컨텐츠가 제시되게 하는 컨텐츠 스트리밍 어플리케이션은 수신된 명령에 응답하여 컨텐츠의 제시를 제어한다.
일부 구현예들에서, 잠금화면은 특정 위치부터 미디어 컨텐츠를 재생하는데 사용되는 스크러버(scrubber)(예를 들면, 미디어 컨텐츠의 진행 시간을 표시하는 바), 스크러버를 사용하여 특정 시간의 사용자 선택에 의해 표시되는 시간에 컨텐츠의 스크린샷을 사용자에게 제시하는 미리보기 기능, 잠금화면에서 제시된 제목에 의해 식별되는 컨텐츠를 제시하는데 사용되는 미디어 수신 디바이스의 식별과 같은 다른 사용자 인터페이스 아이템들 및/또는 정보 및/또는 임의의 기타 적절한 정보 또는 인터페이스 아이템들을 포함한다.
도 5b는 개시된 본 발명의 일부 구현예들에 따라 컴퓨팅 디바이스의 잠금화면으로부터의 볼륨의 제어의 예시를 도시한다. 도 5b에 도시된 예시에서, 잠금화면에서 컴퓨팅 디바이스(112)는 예를 들면, 미디어 수신 디바이스(102)를 사용한 미디어 컨텐츠의 제시 동안에 잠금화면에서 볼륨 제어(118)의 작동을 감지하는 컴퓨팅 디바이스(112)에 응답하여, 송신 어플리케이션은 볼륨을 변경하기 위해 명령을 VOLUME 명령으로서 미디어 수신 디바이스에 송신한다. 구체적인 볼륨은 볼륨 제어(118)의 각 작동에 대해 소정의 양을 변경한다(예를 들면, 볼륨은 각 누름에 대해 0.1씩 변경된다). 일부 구현예들에서, 미디어 수신 디바이스(102)는 VOLUME 명령을 수신하는 리시버 어플리케이션에 응답하여 출력 볼륨이 변경되게 하고, 현재 볼륨(510)을 미디어 플레이백 디바이스(106)의 디스플레이(108)에 제시되게 한다.
도 6은 일부 구현에들에 따라 컴퓨팅 디바이스에서 제공된 통지로부터 미디어 컨텐츠 아이템의 제시를 제어하기 위한 프로세스의 예시(600)를 도시한다. (602)에서, 미디어 수신 디바이스(예를 들면, 미디어 수신 디바이스(102))는 컴퓨팅 디바이스(예를 들면, 컴퓨팅 디바이스(112))로부터의 적절한 명령에 응답하여 컨텐츠의 플레이백을 시작함으로써 컨텐츠가 제시되게 한다.
(604)에서, 컨텐츠가 제시되게 하는 컴퓨팅 디바이스(112)는 컨텐츠의 제시를 개시하는데 사용된 컨텐츠 제시 어플리케이션을 벗어나 탐색한다. 예를 들면, 컴퓨팅 디바이스(112)가 웹 브라우저 어플리케이션을 오픈하게 하는 사용자 지시에 응답하여 웹 브라우저 어플리케이션이 컴퓨팅 디바이스(112)에 의해 오픈된다. 다른 예시로서, 컴퓨팅 디바이스(112)의 홈화면을 탐색하는 사용자에 응답하여 컨텐츠 제시 어플리케이션은 최소화되거나 백그라운드 모드에 놓여진다.
(606)에서, 컴퓨팅 디바이스(112)를 실행하는 센더 어플리케이션은 미디어 수신 디바이스(102)를 사용하여 제시되는 컨텐츠의 상태를 수신한다. 컨텐츠의 상태를 수신하는 것에 응답하여, 센더 어플리케이션 및/또는 실행될 수 있는 컨텐츠 제시 어플리케이션은 예를 들면, 백그라운드 상태에서, 컨텐츠의 상태에 관련된 통지를 생성하고 및/또는 업데이트한다. 일부 구현예들에서, 컴퓨팅 디바이스(112)는 상기 통지를 소정의 입력을 수신함으로써 엑세스될 수 있는 통지 센터 또는 통지 페이지에 위치시킨다.
(608)에서, 컴퓨팅 디바이스(112)는 (606)에서 생성되고 및/또는 업데이트된 통시를 통해 컨텐츠의 제시를 제어하기 위한 입력을 수신한다. 예를 들면, 소정의 입력을 수신함에 응답하여 컴퓨팅 디바이스는 통지 페이지를 오픈하고, 특정 명령에 대응하는 추가적 입력을 수신한다. 더 구체적으로, 멈춤 명령에 대응하는 입력이 수신되고, 센더 어플리케이션은 통지에서 상기 입력을 수심함에 대응하여 멈춤 명령을 생성한다. 다른 예시로서, 컨텐츠 제시 어플리케이션을 오픈하는 지시에 대응하는 입력이 수신된다.
도 7a-7f는 컴퓨팅 디바이스(112)가 사용된 컨텐츠를 제시하기 위한 본 명세서에 기술된 메커니즘들을 사용하는 예시를 도시하며, 이는 개시된 본 발명의 일부 구현예들에 따라 프로세스(200) 및 프로세스(400) 각각의 적어도 한 부분을 포함한다.
도 7a는 디스플레이(116)를 사용하여 미디어 컨텐츠 아이템의 제시하는데 사용되는 컴퓨팅 디바이스(112)의 예시를 도시한다. 도 7a에 도시된 예시에서, 미디어 컨텐츠 아이템은 컨텐츠 제시 어플리케이션을 사용하여 제시되는 텔레비전 시리즈의 에피소드이며, 컨텐츠 제시 어플리케이션은 사용자가 다양한 디바이스들에서 플레이백하기 위한 영화들 및 텔레비전 쇼들의 스트리밍을 용이하게 하는 서비스에 엑세스하게 한다. 컨텐츠 제시 어플리케이션은 사용자 인터페이스는 아이콘(702)을 포함하며, 아이콘(702)은 컴퓨팅 디바이스(112)에서 실행하는 센더 어플리케이션 및/또는 컨텐츠 제시 어플리케이션이 디스플레이(116)에서 제시되는 컨텐츠가 미디어 수신 디바이스(102)와 같은 미디어 수신 디바이스를 사용하여 제시되게 하기 위한 메커니즘들을 개시하게 한다. 일부 구현예들에서, 만약 컨텐츠 아이템이 미디어 수신 디바이스(102)에 의해 제시되지 않으면서 미디어 플레이백 디바이스(106)에서 미디어 수신 디바이스(102)에 대응하는 입력이 선택되면, 미디어 수신 디바이스(102)에 의해 기본화면이 제시된다.
도 7b는 아이콘(702)의 선택에 대응하는 입력을 수신하는 컴퓨팅 디바이스(112)에 응답하여 센더 어플리케이션에 의해 제시되는 사용자 인터페이스의 예시를 도시한다. 도 7b에 도시된 예시에서, 센더 어플리케이션은 선택된 미디어 컨텐츠 아이템(예를 들면, 도 7a에서 디스플레이(116)에 제시되는 텔레비전 쇼)이 제시되게 하는 미디어 수신 디바이스들의 리스트(704)를 제시한다. 일부 구현예들에서, 리스트(704)가 제시되면, 미디어 컨텐츠 아이템의 플레이백은 사용자 선택을 대기하면서 멈춰지거나 다르게는 금지된다. 대안적으로, 리스트(704)는 컴퓨팅 디바이스(112)에 의해 미디어 컨텐츠 아이템의 플레이백 동안에 제시된다.
도 7c는 컨텐츠 제시 어플리케이션이 컴퓨팅 디바이스(112)에서 활동적인 동안에, 미디어 플래이백 디바이스(106)의 디스플레이(108)에서 미디어 수신 디바이스(102)에 의해 제시되는 미디어 컨텐츠 아이템의 예시를 도시한다. 일부 구현예들에서, 미디어 컨텐츠에 관련된 정보는 컨텐츠가 미디어 수신 디바이스(102)를 사용하여 제시되는 동안에 컴퓨팅 디바이스(112)에 제시된다.
도 7d는 컴퓨팅 디바이스(112)가 홈화면에 있는 동안에, 미디어 플레이백 디바이스(106)의 디스플레이(108)에서 미디어 수신 디바이스(102)에 의해 제시되는 미디어 컨텐츠 아이템의 예시를 도시한다. 일부 구현예들에서, 사용자는 통지 화면으로 탐색하기 위해 컴퓨팅 디바이스(112)의 터치화면의 상부 베젤(top bezel)로부터 스와이핑(swipe)과 같은 소정의 액션을 수행한다.
도 7e는 컴퓨팅 디바이스(112)가 통지 화면에 있는 동안, 미디어 플레이백 디바이스(106)의 디스플레이(108)에서 미디어 수신 디바이스(102)에 의해 제시되는 미디어 컨텐츠 아이템의 예시를 도시한다. 도 6과 관련하여 상기 기술된 바와 같이, 통지(706)는 미디어 수신 디바이스(102)를 사용하여 제시되는 미디어 컨텐츠 아이템에 대응하는 것으로 생성되고, 통지(706)는 예를 들면, 멈춤 아이콘이 선택되었다는 지시를 수신함으로써 미디어 제시 디바이스(102)에 의한 미디어 컨텐츠의 제시를 제어하는데 사용된다.
도 7f는 사용자가 디스플레이되고 있는 미디어 컨텐츠에 대응하는 아이콘을 선택하는 예시를 도시한다. 상기 아이콘의 선택은 예를 들면 도 7c에 도시된 바와 같이 컴퓨팅 디바이스(112)로 하여금 컨텐츠 제시 어플리케이션을 탐색하게 한다.
일부 구현예들, 예를 들면, 도 7e 및 7f에 도시된 바와 같이 상기 통지에서 쇼 제목, 에피소드 제목, 커버 아트 등과 같은 정보가 디스플레이된다.
도 8a-8e는 센더 어플리케이션을 포함하는 브라우저를 실행하는 컴퓨팅 디바이스에서 사용된 컨텐츠를 제시하기 위한 본 명세서에 기술된 메커니즘들을 사용하는 예시를 도시하며, 이 예시는 개시된 본 발명의 일부 구현예들에서 따르는 프로세스(200) 및 프로세스(400) 각각의 적어도 한 부분을 포함한다.
도 8a는 미디어 컨텐츠 아이템을 제시하는데 사용되는 브라우저(802)의 예시를 도시한다. 도 8a에서 도시된 예시에서, 미디어 컨텐츠 아이템은 비디오 공유 서비스의 웹 페이지를 사용하여 제시된 비디오 공유 서비스의 사용자들이 사용가능한 비디오이며, 비디오 공유 서비스는 사용자들이 비디오 공유 서비스에 의해 사용가능하게 된 비디오들에 엑세스하게 한다. 웹 페이지의 사용자 인터페이스는 아이콘(804)을 포함하며, 아이콘(804)은 센더 어플리케이션 및/또는 브라우저(802)가 웹 페이지에서 제시되는 컨텐츠가 미디어 수신 디바이스(102)와 같은 미디어 수신 디바이스를 사용하여 제시되게 하기 위한 메커니즘들을 개시하게 한다. 일부 구현예들에서, 만약 미디어 수신 디바이스(102)에 대응하는 입력이 컨텐츠 아이템이 미디어 수신 디바이스(102)에 의해 제시되고 있지 않으면서 미디어 플레이백 디바이스(106)에서 선택되면, 기본 화면이 도 8a에 도시된 바와 같이 미디어 수신 디바이스(102)에 의해 제시된다.
도 8b는 선택된 미디어 컨텐츠 아이템이 제시되게 하는(예를 들면, 도 8b에서 플레이되는 비디오) 미디어 리시버 디바이스들의 리스트(806)에서 아이콘(804)의 선택이 수신된 후 브라우저(802)의 예시를 도시한다. 추가적으로 또는 대안적으로, 일부 구현예들에서, 리스트(806)는 아이콘(804)의 선택 후 아이콘(804)으로부터 드롭-다운(drop-down) 리스트로서 제시되며, 및/또는 리스트(806)는 제목바에서 아이콘의 선택에 응답하여 제목바로부터 드롭-다운으로서(예를 들면 도 8b에 도시된 바와 같이) 제시된다. 일부 구현예들에서, 도 8c은 미디어 플레이백 디바이스(106)에 연결된 미디어 수신 디바이스(102)에 대응하는 리스트(806)에서 미디어 수신 디바이스를 선택하는 커서를 도시한다.
도 8d는 미디어 플레이백 디바이스(106)의 디스플레이(108) 상에 미디어 수신 디바이스(102)에 의해 제시되는 브라우저(802)에서 제시되는 비디오의 예시를 도시한다. 일부 구현예들에서, 미디어 컨텐츠 아이템이 미디어 플레이백 디바이스(102)에 의해 제시되는 때, 상기를 표시하는 메시지가 브라우저(802)에서 비디오 대신에 제시된다. 추가적으로, 미디어 수신 디바이스(102)에 의한 제시를 제어하기 위한 제어들(808)은 브라우저(802)에 의해 사용자에게 제시된다. 일부 구현예들에서, 미디어 컨텐츠 아이템이 미디어 수신 어플리케이션에 의해 예를 들면, 디스플레이(108)에 초기에 제시된 때, 제목 등과 같은 미디어 컨텐츠 아이템을 식별하는 정보는 오버레이로서 또는 그와 유사한 것으로서 제시된다.
도 8e는 브라우저(802)에서 제시되는 비디오가 디스플레이(108)에서 전체 화면 모드로 제시되는 예시를 도시한다.
도 9는 본 명세서에서 기술된 컨텐츠를 제시하기 위한 메커니즘들이 일부 구현예들에 따라 구현되는 시스템의 일반화된 개략도의 예시(900)를 도시한다. 도시된 바와 같이, 시스템(900)은 하나 이상의 컴퓨팅 디바이스들(112)을 포함한다. 컴퓨팅 디바이스들(112)은 상호간 로컬에 있거나 상호간 원격에 있을 수 있다. 컴퓨팅 디바이스들(112)은 하나 이상의 통신 링크들(902)에 의해 통신 네트워크(904)에 연결되며, 통신 네트워크(904)는 통신 링크(906)를 통해 미디어 수신 디바이스(들)(102)에, 통신 링크(908)을 통해 컨텐츠 전달 서버(120)에, 통신 링크(912)를 통해 컨텐츠 발견 서버(121)에, 및 통신 링크들(902)를 통해 다른 컴퓨팅 디바이스들(112)에 링크된다.
일부 구현예들에서, 각각의 컴퓨팅 디바이스들(112), 컨텐츠 전달 서버(120), 컨텐츠 발견 서버(121) 및 미디어 수신 디바이스(102)는 컴퓨터와 같은 임의의 범용 디바이스 또는 클라이언트, 서버 등과 같은 전용 디바이스이다. 임의의 이들 범용 또는 전용 디바이스들은 (마이크로프로세서, 디지털 신호 프로세서, 컨트롤러 등인) 하드웨어 프로세서, 메모리, 통신 인터페이스들, 디스플레이 컨트롤러들, 입력 디바이스들 등과 같은 임의의 적절한 컴포넌트들을 포함한다. 예를 들면, 컴퓨팅 디바이스(112)는 스마트폰, 타블렛 컴퓨터, 웨어러블 컴퓨터, 퍼스널 컴퓨터, 랩톱 컴퓨터, 게임 콘솔, 디지털 미디어 리시버, 셋톱 박스, 스마트 텔레비전, 서버 등으로서 구현된다.
통신들 네트워크(904)는 임의의 적절한 컴퓨터 네트워크 또는 인터넷, 인트라넷, 광역 네트워크(WAN), 근거리 네트워크(LAN), 무선 네트워크, 디지털 스크라이버 라인(DSL) 네트워크, 프레임 릴레이 네트워크, 비대칭 트랜스퍼 모드(ATM) 네트워크, 가상 사설 네트워크(VPN) 등을 포함하는 상기 네트워크들의 조합이다. 통신 링크들(902, 906, 908 및 912)는 컴퓨팅 디바이스들(112), 미디어 수신 디바이스(102), 컨텐츠 전달 서버(120) 및 컨텐츠 발견 서버(121) 사이에 데이터를 통신하기 위한, 네트워크 링크들, 다이얼-업 링크들, 무선 링크들, 유선 링크들과 같은 적절한 통신 링크들, 임의의 기타 적절한 통신 링크들 또는 상기 링크들의 임의의 적절한 조합이다. 컴퓨팅 디바이스들(112)는 임의의 적절한 기법(들)을 사용하여 컴퓨팅 디바이스(112) 로컬에 저장되거나 또는 컨텐츠 전달 서버(120)에 원격으로 저장된 컨텐츠를 발견, 브라우징, 다운로드, 스트리밍, 저장, 플레이백, 전송 및/또는 다르게는 재생한다.
시스템(900)은 예를 들면, 도 1과 관련하여 상기 기술된 바와 같이 미디어 수신 디바이스(102)를 포함하며, 하나 이상의 컴퓨팅 디바이스들(112)에서 설치된 및/또는 실행하는 미디어 수신 어플리케이션(910)을 포함하며, 미디어 수신 어플리케이션(910)은 컴퓨팅 디바이스(112)를 사용하여 미디어 수신 디바이스(102)의 기능들을 복제한다.
시스템(900)은 하나 이상의 컨텐츠 전달 서버들(120)을 포함한다. 컨텐츠 전달 서버(120)는 컨텐츠를 제시하기 위해 본 명세서에 기술된 메커니즘들에 따라 미디어 컨텐츠 아이템들에 엑세스를 제공하기 위한 프로세서, 컴퓨터, 데이터 프로세싱 디바이스 및/또는 상기 디바이스들의 임의의 적절한 조합과 같은 임의의 적절한 서버이다.
시스템(900)은 하나 이상의 컨텐츠 발견 서버들(121)을 포함한다. 컨텐츠 발견 서버(121)는 컨텐츠를 제시하기 위해 본 명세서에 기술된 메커니즘들에 따라 컨텐츠 전달 서버(120)에서 엑세스 가능한 미디어 컨텐츠 아이템들의 발견 및/또는 브라우징을 용이하게 하기 위한, 프로세서, 컴퓨터, 데이터 프로세싱 디바이스 및/또는 상기 디바이스들의 임의의 적절한 조합과 같은 임의의 적절한 서버이다.
일부 구현예들에서, 도 1과 관련하여 상기 기술된 통신 링크(114)는 통신 링크(902), 통신 네트워크(904) 및 통신 링크(906)을 포함하고, 도 1과 관련하여 상기 기술된 통신 링크(122)는 통신 링크(902), 통신 네트워크(904) 및 통신 링크(908)을 포함하고, 도 1과 관련하여 상기 기술된 통신 링크(124)는 통신 링크(906), 통신 네트워크(904) 및 통신 링크(908)을 포함한다.
도 10은 개시된 본 발명의 일부 구현예들에 따라 도 9에 도시된 컴퓨팅 디바이스들(112), 미디어 수신 디바이스(102) 및 컨텐츠 전달 서버(120) 중 하나를 구현하는데 사용되는 하드웨어의 예시(1000)를 도시한다. 도 10을 참조하면, 컴퓨팅 디바이스(112)는 상호 연결될 수 있는 하드웨어 프로세서(1012), 디스플레이/입력 디바이스(1014), 메모리(1016), 및 트랜스미터/리시버(1018)를 포함한다. 일부 구현예들에서, 메모리(1016)는 하드웨어 프로세서(1012)를 제어하기 위한 컴퓨터 프로그램을 저장하기 위한 (비-일시적 컴퓨터 판독가능 매체와 같은) 스토리지 디바이스를 포함한다.
하드웨어 프로세서(1012)는 디스플레이/입력 디바이스(1014)에 미디어 컨텐츠 및/또는 사용자가 여러 구성들 가운데에서도 특히, 디스플레이/입력 디바이스(1014)에 제시된 미디어 컨텐츠를 미디어 수신 디바이스(102)와 같은 미디어 수신 디바이스에 제시되게 하는 인터페이스를 제시하기 위한 컴퓨터 프로그램을 사용한다. 통신 링크(902) 또는 임의의 기타 통신 링크들을 통해 수시된 데이터는 임의의 적절한 소스로부터 수신될 수 있다는 점을 주목해야 한다. 일부 구현예들에서, 하드웨어 프로세서(1012)는 예를 들면, 트랜스미터/리시버(1018)와 같은 트랜스미터(transmitter), 리시버(receiver), 트랜스미터/리시버, 트랜스시버(transceiver) 또는 임의의 기타 적절한 통신 디바이스를 사용하여, 통신 링크(902) 또는 임의의 기타 통신 링크들을 통해 데이터를 송신하고 수신한다. 디스플레이/입력 디바이스(1014)는 터치스크린, 평판 디스플레이, CRT 디스플레이, 프로젝터, 스피커(들), 및/또는 임의의 기타 적절한 디스플레이 및/또는 제시 디바이스들을 포함하며, 컴퓨터 키보드, 컴퓨터 마우스, 마이크, 터치패드, 음성 인식 회로, 터치스크린의 터치 인터페이스 및/또는 임의의 기타 적절한 입력 디바이스를 더 포함한다. 트랜스미터/리시버(1018)는 여러 구성들 가운데에서도 특히, 오디오 및/또는 비디오 컨텐츠를 포함하는 미디어 컨텐츠를 전송하고 및/또는 수신하기 위한 임의의 적절한 트랜스미터 및/또는 리시버를 포함한다.
미디어 수신 디바이스(102)는 상호 연결될 수 있는 하드웨어 프로세서(1022), 디스플레이 출력(1024), 메모리(1026) 및 트랜스미터/리시버(1028)을 포함한다. 일부 구현예들에서, 메모리(1026)는 하드웨어 프로세서(1022)를 제어하기 위한 컴퓨터 프로그램을 저장하기 위한 (비-일시적 컴퓨터 판독가능 매체와 같은) 스토리지 디바이스를 포함한다.
하드웨어 프로세서(1022)는 미디어 플레이백 디바이스에서 미디어 컨텐츠 및 사용자 인터페이스를 제시하기 위한 디스플레이 출력(1024)에 미디어 컨텐츠 및/또는 사용자 인터페이스를 제공하기 위해 컴퓨터 프로그램을 사용한다. 통신 링크(906) 또는 임의의 기타 통신 링크들을 통해 수신된 데이터는 임의의 적절한 소스로부터 수신될 수 있다는 것을 주목해야 한다. 일부 구현예들에서, 하드웨어 프로세서(1022)는 예를 들면, 트랜스미터/리시버(1028)과 같은 트랜스미터(transmitter), 리시버(receiver), 트랜스미터/리시버, 트랜스시버(transceiver) 또는 임의의 기타 적절한 통신 디바이스를 사용하여, 통신 링크(906) 또는 임의의 기타 통신 링크들을 통해 데이터를 송신하고 수신한다. 디스플레이 출력(1024)은 미디어 컨텐츠를 미디어 플레이백 디바이스에 임의의 적절한 포맷으로 출력하기 위한 하드웨어, 소프트웨어 및/또는 펌웨어를 포함하며, 도 1과 관련하여 상기 기술된 바와 같이 입력/출력 커넥터(104)를 포함한다. 트랜스미터/리시버(1028)는 여러 구성들 가운데에서도 특히, 오디오 및/또는 비디오 컨텐츠를 포함하는 미디어 컨텐츠를 전송하고 및/또는 수신하기 위한 임의의 적절한 트랜스미터 및/또는 리시버를 포함한다.
컨텐츠 전달 서버(120)는 상호 연결될 수 있는 하드웨어 프로세서(1032), 디스플레이/입력 디바이스(1034), 메모리(1036) 및 트랜스미터/리시버(1028)을 포함한다. 일부 구현예들에서, 메모리(1036)는 통신 링크(908)을 통해 또는 그와 유사한 것을 통해 수신된 데이터를 저장하기 위한 스토리지 디바이스를 포함한다. (비-일시적 컴퓨터 판독가능 매체와 같은) 스토리지 디바이스는 하드웨어 프로세서(1032)를 제어하기 위한 서버 프로그램을 더 포함한다.
하드웨어 프로세서(1032)는 컴퓨팅 디바이스 및/또는 미디어 수신 디바이스(102)와 통신하고 뿐만 아니라 미디어 컨텐츠에 엑세스를 제공하기 위해 서버 프로그램을 사용한다. 통신 링크(908) 또는 임의의 기타 통신 링크들을 통해 수신된 데이터는 임의의 적절한 소스로부터 수신된다는 점을 주목해야 한다. 일부 구현예들에서, 하드웨어 프로세서(1032)는 예를 들면, 트랜스미터/리시버(1038)과 같은 트랜스미터(transmitter), 리시버(receiver), 트랜스미터/리시버, 트랜스시버(transceiver) 또는 임의의 기타 적절한 통신 디바이스를 사용하여, 통신 링크(908) 또는 임의의 기타 통신 링크들을 통해 데이터를 송신하고 수신한다. 일부 구현예들에서, 하드웨어 프로세서(1032)는 하나 이상의 사용자들에 의해 전송된 명령들 및/또는 값들을 수신한다. 디스플레이/입력 디바이스(1034)는 터치스크린, 평판 디스플레이, CRT 디스플레이, 프로젝터, 스피커(들), 및/또는 임의의 기타 적절한 디스플레이 및/또는 제시 디바이스들을 포함하며, 컴퓨터 키보드, 컴퓨터 마우스, 마이크, 터치패드, 음성 인식 회로, 터치스크린의 터치 인터페이스 및/또는 임의의 기타 적절한 입력 디바이스를 더 포함한다. 트랜스미터/리시버(1018)는 여러 구성들 가운데에서도 특히, 오디오 및/또는 비디오 컨텐츠를 포함하는 미디어 컨텐츠를 전송하고 및/또는 수신하기 위한 임의의 적절한 트랜스미터 및/또는 리시버를 포함한다.
일부 구현예들에서, 컨텐츠 전달 서버(120)은 1 개의 서버로 구현되거나 또는 임의의 적절한 수의 서버들로서 분산된다. 예를 들면, 다수의 서버들(120)은 안정성을 증가시키기 위해 및/또는 서버(120)가 컴퓨팅 디바이스들(112) 및/또는 미디어 수신 디바이스(102)와 통신하는 속도를 증가시키기 위해 다양한 장소들에서 구현된다.
일부 구현예들에서, 컨텐츠 전달 서버(121)는 컨텐츠 전달 서버(120)와 유사한 하드웨어를 사용하여 구현되나, 컨텐츠 전달 서버(120)로부터 엑세스가능한 미디어 컨텐츠 아이템들의 발견 및/또는 브라우징을 용이하게 하기 위한 서버 프로그램을 포함한다.
하나의 특정 구현예에서, 센더 어플리케이션, 리시버 어플리케이션, 컨텐츠 제시 어플리케이션 및/또는 컨텐츠 스트리밍 어플리케이션을 포함하는 본 명세서에 기술된 메커니즘들은 서버-사이드 소프르웨어, 서버-사이드 하드웨어, 클라이언트-사이드 소프트웨어, 클라이언트-사이드 하드웨어 또는 그것들의 임의의 적절한 조합을 포함한다. 예를 들면, 센더 어플리케이션, 리시버 어플리케이션, 컨텐츠 제시 어플리케이션 및/또는 컨텐츠 스트리밍 어플리케이션은 하드웨어 프로세서(1012), 하드웨어 프로세서(1022) 및/또는 하드웨어 프로세서(1032)에 의해 인식가능한 프로그래밍 언어로 작성된 컴퓨터 프로그램을 포함한다(예를 들면, Java, C, Objective-C, C++, C#, Javascript, Visual Basic과 같은 프로그래밍 언어 또는 임의의 기타 적절한 접근들로 작성된 프로그램). 다른 예시로서, 센더 어플리케이션, 리시버 어플리케이션, 컨텐츠 제시 어플리케이션 및/또는 컨텐츠 스트리밍 어플리케이션은 하나 이상의 웹 페이지들 또는 웹 페이지 부분들(예를 들면, HTML(Hyper Text Markup Language)과 같은 임의의 적절한 인코딩을 통해), DHTML(Dynamic Hyper Text Markup Language), XML(Extensible Markup Language), JSP(javasejava Pages), ASP(Active Server Pages), Cold Fusion 대응하는 코드 또는 임의의 기타 적절한 접근들을 포함한다.
일부 구현예들에서, 임의의 적절한 컴퓨터 판독가능 매체들이 본 명세서에 기술된 기능들 및/또는 프로세스들을 수행하기 위한 명령어들을 저장하기 위해 사용된다. 예를 들면, 일부 구현예들에서, 컴퓨터 판독가능 매체들은 일시적 또는 비-일시적이다. 예를 들면, 비-일시적 컴퓨터 판독가능한 매체들은 (하드 디스크들, 플로피 디스크들 등과 같은) 자기적 매체들, (컴팩트 디스크, 디지털 비디오 디스크들, 블루-레이 디스크들 등과 같은) 광학적 매체들 매체들, (플래시 메모리, EPROM(electrically programmable read only memory), EEPROM(electrically erasable programmable read only memory) 등과 같은) 반도체 매체들, 전송 중에 순간적이지 않거나 영구성의 외관이 없지 않은 임의의 적절한 매체들과 같은 매체들 및/또는 임의의 적절한 유형적 매체들을 포함한다. 다른 예시로서, 일시적 컴퓨터 판독가능 매체들은 네트워크들 상에, 유선들, 컨턱터들, 광섬유들, 회로들, 전송 중에 순간적이지 않거나 영구성의 외관이 없지 않은 임의의 적절한 매체들 및/또는 임의의 적절한 무형적 매체들에서 신호들을 포함한다.
도 2 내지 8의 프로세스들의 상기 기술된 단계들은 도면들에서 도시되고 기술된 순서와 시퀀스에 제한되지 않고 임의의 순서 또는 시퀀스로 실행되거나 또는 수행될 수 있다는 것을 이해해야 한다. 또한, 도 2 내지 8의 프로세스들의 상기 단계들의 일부는 지연 및 프로세싱 시간을 줄이기 위해 실질적으로 적절한 곳에서 동시적으로 또는 병렬적으로 실행되거나 또는 수행될 수 있다.
또한, 본 명세서에서 사용된 바와 같이, 용어 메커니즘은 하드웨어, 소프트웨어, 펌웨어 또는 그것들의 임의의 적절한 조합을 포함한다는 점을 주목해야 한다.
따라서, 미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 매체들이 제공된다.
비록 발명이 전술한 도시적인 구현예들로 기술되고 도시되었지만, 본 개시는 단지 예시로서 이루어졌다는 점 및 본 발명의 구현예의 세부사항들에서 다수의 변경들이 단지 다음의 청구항들에 의해 제한되는 본 발명의 정신과 범위로부터 벗어남 없이 이루어질 수 있다는 점이 이해되어야 한다. 개시된 구현예들의 구성들은 다양한 방식들로 조합되고 재배열될 수 있다.

Claims (21)

  1. 컨텐츠를 제시하기 위한 시스템으로서,
    하드웨어 프로세서를 포함하며, 상기 하드웨어 프로세서는:
    미디어 플레이백 디바이스(media playback device)와의 연결을 설정하고;
    미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하고;
    지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하고;
    상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하고;
    상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하고; 및
    상기 미디어 플레이백 디바이스를 사용하여 상기 미디어 컨텐츠 아이템이 제시되도록 프로그래밍된 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  2. 제1항에 있어서, 상기 하드웨어 프로세서는
    상기 통신 채널을 통해 상기 컴퓨팅 디바이스로부터의 상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 명령을 수신하고; 및
    상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 상기 수신된 명령에 응답하여, 상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시를 멈추도록 더 구성되는 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  3. 제1항에 있어서, 상기 하드웨어 프로세서는
    상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시의 상태를 상기 통신 채널을 통해 상기 컴퓨팅 디바이스에 송신하도록 더 구성되는 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  4. 제3항에 있어서,
    상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠의 부분에 관련된 타이밍 정보를 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  5. 제3항에 있어서,
    상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보를 더 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  6. 제1항에 있어서, 상기 하드웨어 프로세서는
    상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 타이밍 정보를 수신하고; 및
    상기 미디어 플레이백 디바이스를 사용하여 상기 미디어 컨텐츠 아이템을 제시는 것이 상기 수신된 타이밍 정보에 기초하여 상기 미디어 컨텐츠 아이템에서의 특정 시간에 시작되게 하도록 더 구성되는 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  7. 제1항에 있어서,
    상기 미디어 컨텐츠 아이템의 소스의 식별 정보는 IP주소 정보를 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 시스템.
  8. 컨텐츠를 제시하기 위한 방법으로서,
    미디어 플레이백 디바이스(media playback device)와의 연결을 설정하는 단계;
    미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하는 단계;
    지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하는 단계;
    상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하는 단계;
    상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하는 단계; 및
    상기 미디어 플레이백 디바이스를 사용하여 상기 미디어 컨텐츠 아이템이 제시되게 하는 단계를 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  9. 제8항에 있어서,
    상기 통신 채널을 통해 상기 컴퓨팅 디바이스로부터의 상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 명령을 수신하는 단계; 및
    상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 상기 수신된 명령에 응답하여, 상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시가 멈춰지게 하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  10. 제8항에 있어서,
    상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시의 상태를 상기 통신 채널을 통해 상기 컴퓨팅 디바이스에 송신하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  11. 제10항에 있어서,
    상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠의 부분에 관련된 타이밍 정보를 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  12. 제10항에 있어서,
    상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보를 더 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  13. 제8항에 있어서,
    상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 타이밍 정보를 수신하는 단계; 및
    상기 미디어 플레이백 디바이스를 사용하여 상기 미디어 컨텐츠 아이템을 제시하는 것이 상기 수신된 타이밍 정보에 기초하여 상기 미디어 컨텐츠 아이템에서의 특정 시간에 시작되게 하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  14. 제8항에 있어서,
    상기 미디어 컨텐츠 아이템의 소스의 식별 정보는 IP주소 정보를 포함하는 것을 특징으로 하는 컨텐츠를 제시하기 위한 방법.
  15. 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 컨텐츠를 제시하기 위한 방법을 수행하게 하는 컴퓨터로 실행가능한 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 방법은:
    미디어 플레이백 디바이스(media playback device)와의 연결을 설정하는 단계;
    미디어 컨텐츠 아이템을 제시하는 컴퓨팅 디바이스로부터의 발견 요청(discovery request)에 응답하는 단계;
    지속적 통신 채널(persistent communication channel)을 설정하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하여, 네트워크를 통해 상기 컴퓨팅 디바이스와 지속적 통신 채널을 설정하는 단계;
    상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보와 상기 컴퓨팅 디바이스에 의해 제시되는 상기 컨텐츠 아이템의 소스(source)의 식별 정보를 수신하는 단계;
    상기 미디어 컨텐츠 아이템의 상기 식별된 소스로부터의 상기 미디어 컨텐츠 아이템을 미디어 컨텐츠의 스트림(stream)으로서 요청하는 단계; 및
    상기 미디어 플레이백 디바이스를 사용하여 상기 미디어 컨텐츠 아이템이 제시되게 하는 단계를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 방법은:
    상기 통신 채널을 통해 상기 컴퓨팅 디바이스로부터의 상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 명령을 수신하는 단계; 및
    상기 미디어 컨텐츠 아이템의 제시를 멈추기 위한 상기 수신된 명령에 응답하여, 상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시가 멈춰지게 하는 단계를 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  17. 제15항에 있어서,
    상기 미디어 플레이백 디바이스에 의한 상기 미디어 컨텐츠 아이템의 제시의 상태를 상기 통신 채널을 통해 상기 컴퓨팅 디바이스에 송신하는 단계를 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  18. 제17항에 있어서,
    상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠의 부분에 관련된 타이밍 정보를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  19. 제17항에 있어서,
    상기 상태는 상기 미디어 플레이백 디바이스를 사용하여 현재 제시되는 상기 미디어 컨텐츠 아이템의 식별 정보를 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  20. 제15항에 있어서,
    상기 방법은:
    상기 컴퓨팅 디바이스에 의해 제시되는 상기 미디어 컨텐츠 아이템의 타이밍 정보를 수신하는 단계; 및
    상기 미디어 플레이백 디바이스를 사용하는 상기 미디어 컨텐츠 아이템의 제시가 상기 수신된 타이밍 정보에 기초하여 상기 미디어 컨텐츠 아이템에서의 특정 시간에 시작되게 하는 단계를 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  21. 제15항에 있어서,
    상기 미디어 컨텐츠 아이템의 소스의 식별 정보는 IP주소 정보를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
KR1020167000201A 2013-06-06 2014-06-06 미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 컴퓨터 판독 가능 매체들 KR102151680B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361831887P 2013-06-06 2013-06-06
US201361831915P 2013-06-06 2013-06-06
US61/831,915 2013-06-06
US61/831,887 2013-06-06
PCT/US2014/041391 WO2014197850A2 (en) 2013-06-06 2014-06-06 Systems, methods, and media for presenting media content

Publications (2)

Publication Number Publication Date
KR20160019087A true KR20160019087A (ko) 2016-02-18
KR102151680B1 KR102151680B1 (ko) 2020-09-04

Family

ID=51059646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000201A KR102151680B1 (ko) 2013-06-06 2014-06-06 미디어 컨텐츠를 제시하기 위한 시스템들, 방법들 및 컴퓨터 판독 가능 매체들

Country Status (7)

Country Link
US (3) US10574931B2 (ko)
EP (1) EP3005649B1 (ko)
JP (1) JP6564770B2 (ko)
KR (1) KR102151680B1 (ko)
CN (1) CN105594177B (ko)
CA (1) CA2914564A1 (ko)
WO (1) WO2014197850A2 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US20020078101A1 (en) 2000-11-20 2002-06-20 Chang William Ho Mobile and pervasive output client device
US8984431B2 (en) 2009-03-16 2015-03-17 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US10706096B2 (en) 2011-08-18 2020-07-07 Apple Inc. Management of local and remote media items
US9392315B1 (en) * 2014-02-26 2016-07-12 Amazon Technologies, Inc. Remote display graphics
US11256294B2 (en) 2014-05-30 2022-02-22 Apple Inc. Continuity of applications across devices
US9519413B2 (en) * 2014-07-01 2016-12-13 Sonos, Inc. Lock screen media playback control
KR101880466B1 (ko) * 2014-07-30 2018-07-20 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
CN110072131A (zh) 2014-09-02 2019-07-30 苹果公司 音乐用户界面
US11237842B2 (en) * 2014-09-04 2022-02-01 Tuxera, Inc. Systems and methods for transmitting data from multiple sources to multiple destinations
US9900660B2 (en) * 2014-09-23 2018-02-20 Vizio Inc Password protected stream receivers
US20160192018A1 (en) * 2014-12-29 2016-06-30 Microsoft Technology Licensing, Llc Previewing content available at local media sources
US20160210665A1 (en) * 2015-01-20 2016-07-21 Google Inc. Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US11107126B2 (en) 2015-01-20 2021-08-31 Google Llc Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US9972064B1 (en) 2015-06-29 2018-05-15 Amazon Technologies, Inc. Non-intrusive and low-power recording
US10437576B2 (en) * 2015-06-30 2019-10-08 Verizon Patent And Licensing Inc. Automatic application download and launch during presentation of content
US10277275B2 (en) * 2015-09-08 2019-04-30 Google Llc Audio media streaming device
WO2017062873A1 (en) * 2015-10-09 2017-04-13 Google Inc. Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US10326822B2 (en) 2015-12-03 2019-06-18 Google Llc Methods, systems and media for presenting a virtual operating system on a display device
US20170171496A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and Electronic Device for Screen Projection
US20170180455A1 (en) * 2015-12-22 2017-06-22 Google Inc. Delegation of detailed content and app reviews between nearby devices
KR102500558B1 (ko) * 2016-03-16 2023-02-17 엘지전자 주식회사 디스플레이 장치 및 그 동작 방법
JP6579007B2 (ja) 2016-03-18 2019-09-25 船井電機株式会社 制御装置
US20170324790A1 (en) * 2016-05-04 2017-11-09 Google Inc. Methods, systems, and media for presenting a notification of playback availability
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US9921800B2 (en) * 2016-05-25 2018-03-20 Google Llc Methods, systems and media for controlling audio output
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US10936728B2 (en) * 2017-02-23 2021-03-02 Red Hat, Inc. Non-persistent mode for network connection
US11025621B2 (en) 2017-02-24 2021-06-01 Red Hat, Inc. Enhancing privacy of network connections
US10608975B2 (en) * 2017-03-29 2020-03-31 Comcast Cable Communications, Llc Methods and systems for delaying message notifications
WO2018213401A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Methods and interfaces for home media control
WO2018227825A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种屏幕锁定方法及装置
JP7123594B2 (ja) 2018-03-23 2022-08-23 キヤノン株式会社 通信装置、制御方法、およびプログラム
KR102502655B1 (ko) * 2018-08-08 2023-02-23 삼성전자주식회사 연속성을 갖는 컨텐츠 재생 방법 및 이를 위한 전자 장치
KR20210069476A (ko) * 2019-12-03 2021-06-11 삼성전자주식회사 모바일 장치의 컨텐츠를 디스플레이 장치에서 재생하는 방법 및 장치
CN110830841B (zh) * 2019-12-04 2021-12-07 郑州华视美达信息技术有限公司 一种处于不同局域网下的投屏方法、系统及智能装置
US20220408268A1 (en) * 2021-06-18 2022-12-22 Google Llc Resource connectivity for multiple devices
US20230164195A1 (en) * 2021-11-24 2023-05-25 Roku, Inc. Discovery and Control of a Media Device from Anywhere
CN115103203B (zh) * 2022-05-06 2023-08-04 广东有线广播电视网络有限公司 一种实现直播节目自适应垫播的控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090031976A (ko) * 2007-09-26 2009-03-31 가부시키가이샤 히타치세이사쿠쇼 휴대 단말기, 정보 처리 장치, 콘텐츠 표시 시스템 및콘텐츠 표시 방법
KR20100058616A (ko) * 2007-10-02 2010-06-03 샤프 가부시키가이샤 데이터 공급 장치, 데이터 출력 장치, 데이터 출력 시스템, 데이터 공급 방법, 데이터 출력 방법 및 기록 매체

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002015118A (ja) 2000-04-25 2002-01-18 Two Five One:Kk 楽曲販売システム
JP4164741B2 (ja) 2002-10-11 2008-10-15 ソニー株式会社 電子機器操作システム及び電子機器
JP4271483B2 (ja) * 2003-04-24 2009-06-03 ソニー株式会社 コンテンツ処理装置およびコンテンツ処理方法
JP4227509B2 (ja) * 2003-12-15 2009-02-18 キヤノン株式会社 通信端末装置及びその制御方法
US7529813B2 (en) * 2005-04-14 2009-05-05 Hewlett-Packard Development Company, L.P. Multimedia transfer for wireless network
JP4708128B2 (ja) 2005-09-08 2011-06-22 三菱電機株式会社 携帯端末及びコンテンツ継続視聴システム
JP2007259095A (ja) 2006-03-23 2007-10-04 Fujifilm Corp 動画像配信システム
US20090091658A1 (en) * 2006-04-17 2009-04-09 Matsushita Electric Industrial Co., Ltd. Av system
JP2007300391A (ja) 2006-04-28 2007-11-15 Victor Co Of Japan Ltd 通信システムおよび再生装置
CN100571375C (zh) * 2006-12-11 2009-12-16 腾讯科技(深圳)有限公司 一种通过移动终端操作视频播放装置的方法及系统
US8601515B2 (en) * 2006-12-28 2013-12-03 Motorola Mobility Llc On screen alert to indicate status of remote recording
JP4562147B2 (ja) 2007-09-26 2010-10-13 株式会社沖データ 画像形成装置
US8797233B2 (en) * 2008-08-20 2014-08-05 The Regents Of The University Of California Systems, methods, and devices for dynamic management of data streams updating displays
CN101741825B (zh) * 2008-11-17 2016-10-05 联想(北京)有限公司 基于无线usb接口和有线usb接口之间的切换方法及设备
US10419722B2 (en) * 2009-04-28 2019-09-17 Whp Workflow Solutions, Inc. Correlated media source management and response control
US20100281108A1 (en) * 2009-05-01 2010-11-04 Cohen Ronald H Provision of Content Correlated with Events
JP5453963B2 (ja) 2009-07-07 2014-03-26 富士通モバイルコミュニケーションズ株式会社 情報端末
JP2011091699A (ja) 2009-10-23 2011-05-06 Hosiden Corp 携帯電話機及び着信報知システム
JP5010666B2 (ja) 2009-11-25 2012-08-29 株式会社東芝 情報処理装置
US20130232086A1 (en) * 2010-08-18 2013-09-05 Isaac S. Daniel System and method for managing content distribution and brokering royalties
US9832528B2 (en) * 2010-10-21 2017-11-28 Sony Corporation System and method for merging network-based content with broadcasted programming content
US10303357B2 (en) * 2010-11-19 2019-05-28 TIVO SOLUTIONS lNC. Flick to send or display content
JP2012138731A (ja) 2010-12-27 2012-07-19 Sony Corp ネットワークシステム、コンテンツ再生引継ぎ方法、及びプログラム
JP2012138721A (ja) 2010-12-27 2012-07-19 Nec Casio Mobile Communications Ltd 携帯端末装置
KR101922607B1 (ko) 2011-04-25 2018-11-27 이카노스 커뮤니케이션스, 인크. 네트워크 환경에서의 캐싱을 위한 방법 및 장치
US8839302B2 (en) * 2011-07-14 2014-09-16 Samsung Electronics Co., Ltd. Launching an application from a broadcast receiving apparatus
US9106476B2 (en) * 2011-10-07 2015-08-11 Verizon Patent And Licensing Inc. Optimizing selection of a network for video streaming
JP2013085052A (ja) * 2011-10-07 2013-05-09 Hitachi Consumer Electronics Co Ltd 表示装置及び再生装置
EP3343908B1 (en) 2011-11-25 2020-11-18 Maxell, Ltd. Image reception device
US8832750B2 (en) * 2012-05-10 2014-09-09 Time Warner Cable Enterprises Llc Media synchronization within home network using set-top box as gateway
CN102694603A (zh) * 2012-05-14 2012-09-26 中兴通讯股份有限公司 兼容不同速率光模块接口的方法和装置
US10931735B2 (en) 2012-06-28 2021-02-23 Netflix, Inc. Application discovery
SE1200467A1 (sv) * 2012-07-27 2014-01-28 Magine Holding AB System och förfarande
US20140029913A1 (en) * 2012-07-30 2014-01-30 General Instrument Corporation Controlling Trick Play And Progress of Media Playback For Multiple Media Devices
CN202949465U (zh) 2012-12-10 2013-05-22 王良波 一种柔性显示系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090031976A (ko) * 2007-09-26 2009-03-31 가부시키가이샤 히타치세이사쿠쇼 휴대 단말기, 정보 처리 장치, 콘텐츠 표시 시스템 및콘텐츠 표시 방법
KR20100058616A (ko) * 2007-10-02 2010-06-03 샤프 가부시키가이샤 데이터 공급 장치, 데이터 출력 장치, 데이터 출력 시스템, 데이터 공급 방법, 데이터 출력 방법 및 기록 매체

Also Published As

Publication number Publication date
WO2014197850A2 (en) 2014-12-11
CN105594177B (zh) 2019-03-08
CA2914564A1 (en) 2014-12-11
US20230403425A1 (en) 2023-12-14
KR102151680B1 (ko) 2020-09-04
EP3005649A2 (en) 2016-04-13
US10574931B2 (en) 2020-02-25
US20140362293A1 (en) 2014-12-11
WO2014197850A3 (en) 2015-03-05
US20200252571A1 (en) 2020-08-06
US11936938B2 (en) 2024-03-19
JP2016527750A (ja) 2016-09-08
JP6564770B2 (ja) 2019-08-21
EP3005649B1 (en) 2019-03-13
CN105594177A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
US11936938B2 (en) Systems, methods, and media for presenting media content
CN108141629B (zh) 在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质
US11727441B2 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US10200756B2 (en) Synchronization of favorites and/or recently viewed lists between registered content playback devices
EP3089466A1 (en) Method and device for same-screen interaction
US9955202B2 (en) Removal of unavailable services and/or content items from a list of favorite and/or recently viewed services and/or content items associated with a user account
JP5270608B2 (ja) コンテンツ再生制御システム、コンテンツ再生制御方法、コンテンツサーバ、携帯端末及びプログラム
KR102201022B1 (ko) 스트리밍 디지털 콘텐츠의 재생을 관리하기 위한 시스템 및 방법
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
US20160210665A1 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US20120210224A1 (en) System and method to add an asset as a favorite for convenient access or sharing on a second display
KR102177013B1 (ko) 스트리밍 디지털 콘텐츠의 재생을 관리하기 위한 시스템 및 방법
WO2017096851A1 (zh) 一种推送视频文件的方法、系统和服务器
EP3360101A1 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
TW201415360A (zh) 在多個電子裝置上提供應用
US20130254813A1 (en) Recording in a Local Network
US10165082B2 (en) Method and apparatus for managing connection between plurality of devices over network
WO2016119610A1 (zh) 一种网页加载方法及用户设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right