KR101903142B1 - 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들 - Google Patents

텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들 Download PDF

Info

Publication number
KR101903142B1
KR101903142B1 KR1020167020442A KR20167020442A KR101903142B1 KR 101903142 B1 KR101903142 B1 KR 101903142B1 KR 1020167020442 A KR1020167020442 A KR 1020167020442A KR 20167020442 A KR20167020442 A KR 20167020442A KR 101903142 B1 KR101903142 B1 KR 101903142B1
Authority
KR
South Korea
Prior art keywords
content
web content
web
layer
source device
Prior art date
Application number
KR1020167020442A
Other languages
English (en)
Other versions
KR20160104022A (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 KR20160104022A publication Critical patent/KR20160104022A/ko
Application granted granted Critical
Publication of KR101903142B1 publication Critical patent/KR101903142B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • 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
    • H04N21/8173End-user applications, e.g. Web browser, game
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들이 제공된다. 일부 구현들에서, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들이 제공되며, 이 방법들은 웹 콘텐츠에 대한 요청을 서버에 전송하는 단계; 소스 디바이스에서 요청에 대응하는 응답을 수신하는 단계; 응답에 기초하여 드로잉 커맨드들의 세트를 생성하는 단계; 응답에 기초하여 적어도 하나의 인코딩된 이미지를 획득하는 단계; 소스 디바이스상에 웹 콘텐츠를 표시하는 단계; 웹 콘텐츠에 대응하는 복수의 콘텐츠 계층들을 생성하는 단계 ― 제1 콘텐츠 계층을 포함하는 복수의 콘텐츠 계층들은 드로잉 커맨드들의 세트를 포함하며, 제2 콘텐츠 계층은 인코딩된 이미지를 포함함 ―; 복수의 콘텐츠 계층들을 전송하는 단계; 및 복수의 콘텐츠 계층들에 기초하여 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 하는 단계를 포함한다.

Description

텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들{METHODS, SYSTEMS, AND MEDIA FOR REMOTE RENDERING OF WEB CONTENT ON A TELEVISION DEVICE}
[0001] 본 출원은 2013년 12월 31일에 출원된 미국 가출원번호 제61/922,277호의 우선권을 주장하며, 이 출원은 그 전체가 인용에 의해 본원에 통합된다.
[0002] 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들이 제공된다.
[0003] 텔레비전 디바이스상에 웹 페이지와 같은 웹 콘텐츠를 렌더링(rendering)하기 위한 접근법들이 현재 많이 존재한다. 예컨대, 사용자는 소스 디바이스(예컨대, 모바일 디바이스)상에서 실행되는 웹 브라우저를 사용하여 웹 페이지를 열 수 있다. 이후, 소스 디바이스는 (예컨대, 소스 디바이스상에서 표현되는 웹 페이지의 스크린샷들의 세트를 취함으로써) 웹 브라우저의 출력을 캡처하고, 압축된 비디오 스트림으로서 웹 브라우저의 출력을 압축하며 그리고 압축된 비디오 스트림을 텔레비전 디바이스에 전송할 수 있다. 텔레비전 디바이스는 압축된 비디오 스트림을 수신할 때 디스플레이하기 위해 압축된 비디오 스트림을 압축해제할 수 있다. 소스 디바이스상에 표시되고 있는 웹 페이지가 사용자 입력(예컨대, 텍스트) 또는 새로운 웹 콘텐츠(예컨대, 스트리밍 비디오 콘텐츠)에 의해 업데이트될 때, 소스 디바이스는 웹 브라우저의 출력을 캡처하고, 웹 브라우저의 출력을 압축함으로써 새로운 압축된 비디오 스트림을 생성하며 그리고 압축된 비디오 스트림을 텔레비전 디바이스에 전송할 수 있다. 이후, 텔레비전 디바이스는 새로운 압축된 비디오 스트림을 압축해제하고 플레이(play)함으로써 텔레비전 디바이스상에 표시되는 웹 콘텐츠를 업데이트할 수 있다.
[0004] 그러나, 종래의 접근법들은 많은 단점들을 가진다. 예컨대, 종래의 접근법들은 웹 콘텐츠를 렌더링하고, 캡처하며 트랜스코딩하며 그리고 전송하기 위하여 많은 전력 및 대역폭을 소모하는 파이프라인을 필요로 한다. 다른 예로서, 종래의 접근법들에 의해 텔레비전 디바이스상에 디스플레이되는 웹 콘텐츠의 품질은 상당히 손상된다. 더 특정한 예에서, 웹 콘텐츠의 품질은 소스 디바이스의 해상도, 비디오 압축 프로세스들에서 사용되는 압축비 등에 의해 제한될 수 있다. 다른 더 특정한 예에서, 텍스트 콘텐츠 및 다른 웹 콘텐츠는 압축된 비디오 스트림으로 변환될 때 감소된 해상도로 텔레비전상에 표시되어야 할 수도 있다.
[0005] 따라서, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 새로운 메커니즘들이 바람직하다.
[0006] 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들이 제공된다. 일부 구현들에서, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들이 제공되며, 방법들은 웹 콘텐츠에 대한 요청을 서버에 전송하는 단계; 소스 디바이스에서 요청에 대응하는 응답을 수신하는 단계; 응답에 기초하여 드로잉 커맨드(drawing command)들의 세트를 하드웨어 프로세서를 사용하여 생성하는 단계; 응답에 기초하여 적어도 하나의 인코딩된 이미지를 획득하는 단계; 소스 디바이스상에 웹 콘텐츠를 표시하는 단계; 웹 콘텐츠에 대응하는 복수의 콘텐츠 계층들을 생성하는 단계 ― 제1 콘텐츠 계층을 포함하는 복수의 콘텐츠 계층들은 드로잉 커맨드들의 세트를 포함하며, 제2 콘텐츠 계층은 인코딩된 이미지를 포함함 ― 복수의 콘텐츠 계층들을 전송하는 단계; 및 복수의 콘텐츠 계층들에 기초하여 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 하는 단계를 포함한다.
[0007] 일부 구현들에서, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 시스템들이 제공되며, 시스템들은 적어도 하나의 하드웨어 프로세서를 포함하는 소스 디바이스를 포함하며; 적어도 하나의 하드웨어 프로세서는 웹 콘텐츠에 대한 요청을 서버에 전송하며; 요청에 대응하는 응답을 수신하며; 응답에 기초하여 드로잉 커맨드들의 세트를 생성하며; 응답에 기초하여 적어도 하나의 인코딩된 이미지를 획득하며; 소스 디바이스상에서 웹 콘텐츠를 표시하며; 웹 콘텐츠에 대응하는 복수의 콘텐츠 계층들을 생성하며 ― 상기 복수의 콘텐츠 계층들은 상기 드로잉 커맨드들의 세트를 포함하는 제1 콘텐츠 계층 및 상기 인코딩된 이미지를 포함하는 제2 콘텐츠 계층을 포함함 ― 복수의 콘텐츠 계층들을 전송하며; 복수의 콘텐츠 계층들에 기초하여 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 구성된다.
[0008] 일부 구현들에서, 프로세서에 의해 실행될 때, 프로세서가 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법을 수행하도록 하는 컴퓨터-실행가능 명령들을 포함하는 비-일시적 매체가 제공되며, 방법은 웹 콘텐츠에 대한 요청을 서버에 전송하는 단계; 소스 디바이스에서 요청에 대응하는 응답을 수신하는 단계; 응답에 기초하여 드로잉 커맨드들의 세트를 생성하는 단계; 응답에 기초하여 적어도 하나의 인코딩된 이미지를 획득하는 단계; 소스 디바이스상에 웹 콘텐츠를 표시하는 단계; 웹 콘텐츠에 대응하는 복수의 콘텐츠 계층들을 생성하는 단계 ― 상기 복수의 콘텐츠 계층들은 상기 드로잉 커맨드들의 세트를 포함하는 제1 콘텐츠 계층 및 상기 인코딩된 이미지를 포함하는 제2 콘텐츠 계층을 포함함 ― 및 복수의 콘텐츠 계층들을 전송하는 단계; 복수의 콘텐츠 계층들에 기초하여 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 하는 단계를 포함한다.
[0009] 일부 구현들에서, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 시스템들이 제공되며, 시스템들은 웹 콘텐츠에 대한 요청을 서버에 전송하기 위한 수단; 요청에 대응하는 응답을 수신하기 위한 수단; 응답에 기초하여 드로잉 커맨드들의 세트를 생성하기 위한 수단; 응답에 기초하여 적어도 하나의 인코딩된 이미지를 획득하기 위한 수단; 소스 디바이스상에 웹 콘텐츠를 표시하기 위한 수단; 웹 콘텐츠에 대응하는 복수의 콘텐츠 계층들을 생성하기 위한 수단 ― 상기 복수의 콘텐츠 계층들은 상기 드로잉 커맨드들의 세트를 포함하는 제1 콘텐츠 계층 및 상기 인코딩된 이미지를 포함하는 제2 콘텐츠 계층을 포함함 복수의 콘텐츠 계층들을 전송하기 위한 수단; 및 복수의 콘텐츠 계층들에 기초하여 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 하기 위한 수단을 포함한다.
[0010] 일부 구현들에서, 웹 콘텐츠는 웹 페이지를 포함한다.
[0011] 일부 구현들에서, 시스템들은 응답에 기초하여 제1의 복수의 인코딩된 프레임들을 획득하기 위한 수단; 및 제1의 복수의 인코딩된 프레임들에 적어도 부분적으로 기초하여 소스 디바이스상에 웹 콘텐츠를 표시하기 위한 수단을 더 포함한다.
[0012] 일부 구현들에서, 복수의 콘텐츠 계층들은 비디오 스트림을 포함하는 제3 콘텐츠 계층을 더 포함한다.
[0013] 일부 구현들에서, 비디오 스트림은 제1의 복수의 인코딩된 프레임들을 포함한다.
[0014] 일부 구현들에서, 비디오 스트림은 제1의 복수의 인코딩된 프레임들에 기초하여 생성된 트랜스코딩된 비디오 콘텐츠를 포함한다.
[0015] 일부 구현들에서, 시스템들은 제2의 복수의 인코딩된 프레임들을 수신하기 위한 수단; 제2의 복수의 인코딩된 프레임들에 기초하여 제4 콘텐츠 계층을 생성하기 위한 수단; 및 제4 콘텐츠 계층을 송신하기 위한 수단을 더 포함한다.
[0016] 일부 구현들에서, 시스템들은 디지털 미디어 수신기에서 복수의 콘텐츠 계층들을 수신하기 위한 수단; 복수의 콘텐츠 계층들을 프로세싱하기 위한 수단; 및 프로세싱된 복수의 콘텐츠 계층들에 기초하여 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 하기 위한 수단을 더 포함한다.
[0017] 일부 구현들에서, 시스템들은 텍스트 콘텐츠의 사용자 입력을 수신하기 위한 수단; 사용자 입력에 대응하는 적어도 하나의 드로잉 커맨드를 생성하기 위한 수단; 및 사용자 입력에 대응하는 드로잉 커맨드에 적어도 부분적으로 기초하여 텍스트 콘텐츠가 텔레비전 디바이스상에 렌더링되도록 하기 위한 수단을 더 포함한다.
[0018] 개시된 요지의 다양한 목적들, 특징들 및 장점들은 동일한 참조부호들이 동일한 엘리먼트들을 식별하는 하기의 도면들과 관련하여 고려할 때 개시된 요지의 하기의 상세한 설명을 참조하여 더 완전히 인식될 수 있다.
[0019] 도 1은 개시된 요지의 일부 구현들에 따라 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 시스템의 예의 일반화된 블록도를 도시한다.
[0020] 도 2는 개시된 요지의 일부 구현에 따라 소스 디바이스, 디지털 미디어 수신기, 서버 및/또는 텔레비전 디바이스에서 사용될 수 있는 하드웨어의 예를 도시한다.
[0021] 도 3은 개시된 요지의 일부 구현들에 따라 소스 디바이스상에 웹 콘텐츠를 표시하기 위한 사용자 인터페이스 및 텔레비전 디바이스상에 웹 콘텐츠를 표시하기 위한 대응 사용자 인터페이스의 예를 도시한다.
[0022] 도 4는 개시된 요지의 일부 구현들에 따라 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 프로세스의 예의 흐름도를 도시한다.
[0023] 도 5는 개시된 요지의 일부 구현들에 따라 텔레비전 디바이스상에 표시되고 있는 웹 콘텐츠를 업데이트하기 위한 프로세스의 예의 흐름도를 도시한다.
[0024] 도 6은 개시된 요지의 일부 구현들에 따라 콘텐츠 계층들의 세트에 기초하여 텔레비전 디바이스상에 웹 콘텐츠를 표시하고 업데이트하기 위한 프로세스의 예의 흐름도를 도시한다.
[0025] 다양한 구현들에 따라, 이하에서 더 상세히 설명되는 바와같이, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 시스템들, 방법들 및 컴퓨터-판독가능 매체를 포함할 수 있는 메커니즘들이 제공된다.
[0026] 본원에서 언급한 바와같이, 웹 콘텐츠는 웹 페이지들, 이미지들, 비디오 콘텐츠, 오디오 콘텐츠 및/또는 서버에 의해 제공될 수 있는 임의의 다른 적절한 콘텐츠를 포함할 수 있다.
[0027] 일부 구현들에서, 메커니즘들은 소스 디바이스(예컨대, 모바일 폰, 태블릿 컴퓨터, 데스크탑 컴퓨터 및/또는 임의의 다른 적절한 소스 디바이스), 디지털 미디어 수신기, 텔레비전 디바이스, 및/또는 임의의 다른 적절한 디바이스에 의해 구현될 수 있다. 일부 구현들에서, 소스 디바이스는 웹 콘텐츠(예컨대, 웹 브라우저)를 렌더링할 수 있는 적절한 메커니즘을 사용하여 사용자에게 웹 페이지와 같은 웹 콘텐츠를 표시할 수 있다.
[0028] 일부 구현들에서, 텔레비전 디바이스상에 웹 콘텐츠를 표시하기 위한 사용자 요청에 대한 응답으로, 소스 디바이스는 텔레비전 디바이스상에 어떤 웹 콘텐츠가 렌더링될 수 있는지에 기초하여 콘텐츠 계층들의 세트를 생성할 수 있다. 예컨대, 소스 디바이스는 텔레비전 디바이스상에 어떤 하나 이상의 그래픽 엘리먼트들(예컨대, 텍스트, 경로, 직사각형, 이미지 및/또는 임의의 다른 적절한 그래픽 엘리먼트), 비디오 객체들, 및/또는 웹 콘텐츠의 임의의 다른 적절한 컴포넌트가 표시될 수 있는지에 기초하여 드로잉 커맨드들의 세트를 포함하는 드로잉 커맨드 계층을 생성할 수 있다. 또 다른 예로서, 소스 디바이스는 텔레비전상에 어떤 웹 콘텐츠가 렌더링될 수 있는지에 기초하여 하나 이상의 인코딩된 이미지들을 포함하는 이미지 계층을 생성할 수 있다. 또 다른 예로서, 소스 디바이스는 웹 콘텐츠내에 포함된 어떤 비디오 콘텐츠가 텔레비전 디바이스에 의해 표시될 수 있는지에 기초하여 하나 이상의 비디오 스트림들을 포함하는 비디오 계층을 생성할 수 있다.
[0029] 일부 구현들에서, 디지털 미디어 수신기는 소스 디바이스에 의해 생성된 콘텐츠 계층들의 세트를 수신하고, 콘텐츠 계층들의 세트에 기초하여 웹 콘텐츠가 텔레비전 디바이스에 표시되도록 할 수 있다. 예컨대, 디지털 미디어 수신기는 (예컨대, 하나 이상의 그래픽 엘리먼트들을 생성하고, 인코딩된 이미지들을 디코딩하며, 비디오 스트림들을 디코딩하며 그리고/또는 임의의 다른 적절한 방식으로 콘텐츠 계층들을 프로세싱함으로써) 콘텐츠 계층들의 세트를 프로세싱하고, 프로세싱된 콘텐츠 계층들을 표시를 위해 결합할 수 있다.
[0030] 일부 구현들에서, 소스 디바이스는 소스 디바이스상에 표시된 웹 콘텐츠가 업데이트될 때 콘텐츠 계층들의 업데이트된 세트를 생성할 수 있다. 예컨대, 텍스트 콘텐츠의 사용자 입력(예컨대, 캐릭터들의 세트)을 수신하는 것에 대한 응답으로, 소스 디바이스는 텔레비전 디바이스상에 어떤 텍스트 콘텐츠가 표시될 수 있는지에 기초하여 하나 이상의 드로잉 커맨드들을 생성할 수 있다. 더 특정한 예에서, 드로잉 커맨드들은 캐릭터들의 세트에 대한 정보, 텍스트 콘텐츠의 하나 이상의 문체 속성들(예컨대, 폰트 스타일(font style)) 및/또는 텔레비전 디바이스상에 텍스트 콘텐츠가 렌더링될 수 있는 방식에 대한 임의의 다른 적절한 정보를 포함할 수 있다.
[0031] 또 다른 예로서, 서버로부터 새로운 이미지 콘텐츠, 예컨대 하나 이상의 인코딩된 이미지들을 수신하는 것에 대한 응답으로, 소스 디바이스는 새로운 이미지 콘텐츠에 기초하여 이미지 계층을 생성할 수 있다. 더 특정한 예에서, 이미지 계층은 서버로부터 수신된 인코딩된 이미지들을 포함할 수 있다.
[0032] 또 다른 예로서, 서버로부터 스트리밍되는 인코딩된 비디오 콘텐츠와 같은 새로운 비디오 콘텐츠를 수신하는 것에 대한 응답으로, 소스 디바이스는 새로운 비디오 콘텐츠에 기초하여 비디오 계층을 생성할 수 있다. 더 특정한 예에서, 비디오 계층은 서버로부터 스트리밍되는 인코딩된 비디오 콘텐츠를 포함할 수 있다. 다른 더 특정한 예에서, 비디오 계층은 디지털 미디어 수신기가 인코딩된 비디오 콘텐츠를 프로세싱할 수 없는 일부 구현들에서 인코딩된 비디오 콘텐츠로부터 유도된 트랜스코딩된 비디오 콘텐츠를 포함할 수 있다.
[0033] 도 1를 참조하면, 개시된 요지의 일부 구현에 따라 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 시스템의 예(100)의 일반화된 블록도가 도시된다. 예시된 바와같이, 시스템(100)은 하나 이상의 소스 디바이스들(102), 디지털 미디어 수신기(104), 텔레비전 디바이스(106), 통신 네트워크(108), 하나 이상의 서버들(110), 통신 경로들(112, 114, 116, 118, 120, 및 122) 및/또는 임의의 다른 적절한 컴포넌트들을 포함할 수 있다.
[0034] 소스 디바이스(들)(102)는 디지털 미디어 수신기 및/또는 서버와 통신하고, 웹 콘텐츠를 수신, 프로세싱 및/또는 렌더링하며, 웹 콘텐츠에 대한 콘텐츠 계층들을 생성하며, 웹 콘텐츠가 디지털 미디어 수신기를 통해 표시되도록 하며, 웹 콘텐츠가 텔레비전 디바이스(106)상에 표시되도록 하며 그리고/또는 임의의 다른 적절한 기능들을 수행할 수 있는 임의의 적절한 디바이스일 수 있다. 소스 디바이스들의 예들은 모바일 폰, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, 웨어러블 컴퓨터 및/또는 임의의 다른 적절한 디바이스를 포함할 수 있다.
[0035] 디지털 미디어 수신기(104)는 미디어 콘텐츠를 수신, 프로세싱, 변환 및/또는 송신하고, 웹 콘텐츠에 대응하는 콘텐츠 계층들을 수신 및/또는 프로세싱하며, 웹 콘텐츠가 텔레비전 디바이스(106)상에 표시되도록 하며, 소스 디바이스 및/또는 서버와 통신하며 그리고/또는 임의의 다른 적절한 기능들을 수행할 수 있는 임의의 적절한 디바이스일 수 있다. 디지털 미디어 수신기들의 예들은 스트리밍 미디어 플레이어, 미디어 센터 컴퓨터, 게임 콘솔, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터 및/또는 임의의 다른 적절한 디바이스를 포함한다.
[0036] 텔레비전 디바이스(106)는 미디어 콘텐츠를 수신, 변환, 프로세싱 및/또는 디스플레이하고 그리고/또는 임의의 다른 적절한 기능들을 수행할 수 있는 임의의 적절한 디바이스, 예컨대 미디어 센터 컴퓨터, CRT 디스플레이, LCD, LED 디스플레이, 플라즈마 디스플레이, 터치-스크린 디스플레이, 시뮬레이티드 터치 스크린(simulated touch screen), 텔레비전 디바이스, 태블릿 사용자 디바이스, 모바일 폰, 게이밍 콘솔 및/또는 임의의 다른 적절한 디바이스일 수 있다. 일부 구현들에서, 텔레비전 디바이스(106)는 3차원 능력을 가질 수 있다.
[0037] 통신 네트워크(108)는 임의의 적절한 컴퓨터 네트워크, 예컨대 인터넷, 인트라넷, 광역 통신망(“WAN”), 근거리 통신망(“LAN”), 무선 네트워크, 디지털 가입자 라인(“DSL”) 네트워크, 프레임 릴레이 네트워크, 비동기 전송 모드(“ATM”) 네트워크, 가상 사설망(VPN”), 위성 네트워크, 모바일 폰 네트워크, 모바일 데이터 네트워크, 케이블 네트워크, 전화 네트워크, 광섬유 네트워크, 및/또는 임의의 다른 적절한 통신 네트워크, 또는 이러한 네트워크들의 임의의 네트워크의 임의의 조합일 수 있다.
[0038] 서버(들)(110)는 웹 콘텐츠를 서버 디바이스(들)(102)에 제공하고 그리고/또는 임의의 다른 적절한 기능들을 수행할 수 있는 임의의 적절한 디바이스를 포함할 수 있다.
[0039] 일부 구현들에서, 소스 디바이스(들)(102)는 서버(들)(110)로부터 웹 콘텐츠(예컨대, 웹 페이지)를 수신하고 사용자에게 웹 콘텐츠를 표시할 수 있다. 예컨대, 도 3에 도시된 바와같이, 웹 콘텐츠는 사용자 인터페이스(310)를 사용하여 소스 디바이스(들)(102)상에 표시될 수 있다. 예시된 바와같이, 사용자 인터페이스(310)는 텍스트 박스(312), 비디오 재생 영역(314), 이미지(316), 스트리밍 버튼(318) 및/또는 임의의 다른 적절한 컴포넌트를 포함할 수 있다.
[0040] 일부 구현들에서, 소스 디바이스(102)는 사용자 요청(예컨대, 스트리밍 버튼(318)의 사용자 선택)에 대한 응답으로 텔레비전 디바이스(106)상에 웹 콘텐츠가 표시되도록 할 수 있다. 예컨대, 도 4-6과 관련하여 본원의 하기에서 설명된 바와같이, 소스 디바이스(102)는 웹 콘텐츠에 대응하는 콘텐츠 계층들의 세트를 생성하고 디지털 미디어 수신기(104)에 콘텐츠 계층들을 송신할 수 있다. 일부 구현들에서, 콘텐츠 계층들의 세트는 하나 이상의 드로잉 커맨드들을 포함하는 드로잉 커맨드 계층, 하나 이상의 인코딩된 이미지들을 포함하는 이미지 계층, 하나 이상의 비디오 스트림들을 포함하는 비디오 계층, 오디오 데이터를 포함하는 오디오 계층, 및/또는 텔레비전 디바이스상에 웹 콘텐츠를 표시하기 위하여 사용될 수 있는 임의의 다른 적절한 콘텐츠 계층을 포함할 수 있다.
[0041] 일부 구현들에서, 디지털 미디어 수신기(104)는 콘텐츠 계층들을 프로세싱하고, 콘텐츠 계층들을 수신하는 것에 대한 응답으로 웹 콘텐츠가 텔레비전 디바이스(106)상에 표시되도록 할 수 있다. 일부 구현들에서, 디지털 미디어 수신기(104)는 인터페이스(310)에 대응하는 사용자 인터페이스(320)가 텔레비전 디바이스(106)상에 표시되도록 할 수 있다. 도 3에 예시된 바와같이, 사용자 인터페이스(320)는 텍스트 박스(312)에 대응하는 텍스트 박스(322), 재생 영역(314)에 대응하는 비디오 재생 영역(324), 이미지(316)에 대응하는 이미지(326) 및/또는 임의의 다른 적절한 컴포넌트를 포함할 수 있다.
[0042] 도 1를 다시 참조하면, 일부 구현들에서, 소스 디바이스(들)(102), 디지털 미디어 수신기(104), 텔레비전 디바이스(106) 및 서버(들)(110)는 각각 통신 링크들(112, 116, 120 및 122)을 통해 통신 네트워크(108)에 연결될 수 있다. 일부 구현들에서, 디지털 미디어 수신기(104)는 각각 통신 링크들(114 및 118)을 통해 소스 디바이스(102) 및 텔레비전 디바이스(106)에 연결될 수 있다. 일부 구현들에서, 통신 링크들(112, 114, 116, 118, 120, 및 122)은 임의의 적절한 통신 링크들, 예컨대 네트워크 링크들, 다이얼-업 링크들, 무선 링크들, 고정-배선 링크들, 임의의 다른 적절한 통신 링크들 또는 이러한 링크들의 조합일 수 있다.
[0043] 일부 구현들에서, 소스 디바이스(들)(102), 디지털 미디어 수신기(104), 텔레비전 디바이스(106), 및 서버(들)(110) 각각은 독립형 디바이스로서 구현될 수 있거나 또는 시스템(100)의 다른 컴포넌트들과 통합될 수 있다. 예컨대, 일부 구현들에서, 디지털 미디어 수신기(104) 및 텔레비전 디바이스(106)는 하나 디바이스로서 구현될 수 있다.
[0044] 소스 디바이스(들)(102), 디지털 미디어 수신기(104), 텔레비전 디바이스(106) 및 서버(들)(110) 각각은 범용 디바이스, 예컨대 컴퓨터 또는 특수목적 디바이스, 예컨대 클라이언트, 서버 및/또는 임의의 다른 적절한 디바이스 중 임의의 디바이스일 수 있으며 그리고/또는 이를 포함할 수 있다. 이러한 임의의 범용 컴퓨터 또는 특수목적 컴퓨터는 임의의 적절한 하드웨어를 포함할 수 있다. 예컨대, 도 2의 예시적인 하드웨어(200)에서 예시된 바와같이, 이러한 하드웨어는 하드웨어 프로세서(202), 메모리 및/또는 스토리지(204), 입력 디바이스 제어기(206), 입력 디바이스(208), 디스플레이/오디오 드라이버들(210), 디스플레이 및 오디오 출력 회로소자(212), 통신 인터페이스(들)(214), 안테나(216) 및 버스(218)를 포함할 수 있다.
[0045] 일부 구현들에서, 하드웨어 프로세서(202)는 임의의 적절한 하드웨어 프로세서, 예컨대 마이크로프로세서, 마이크로-제어기, 디지털 신호 프로세서, 전용 로직 및/또는 범용 컴퓨터 또는 특수목적 컴퓨터의 기능을 제어하기 위한 임의의 다른 적절한 회로소자를 포함할 수 있다.
[0046] 일부 구현들에서, 메모리 및/또는 스토리지(204)는 프로그램들, 데이터, 미디어 콘텐츠 및/또는 임의의 다른 적절한 콘텐츠를 저장하기 위한 임의의 적절한 메모리 및/또는 스토리지일 수 있다. 예컨대, 메모리 및/또는 스토리지(204)는 랜덤 액세스 메모리, 판독 전용 메모리, 플래시 메모리, 하드 디스크 스토리지, 광 미디어, 및/또는 임의의 다른 적절한 저장 디바이스를 포함할 수 있다.
[0047] 일부 구현들에서, 입력 디바이스 제어기(206)는 하나 이상의 입력 디바이스들(208)로부터의 입력을 제어 및 수신하기에 적절한 임의의 회로소자일 수 있다. 예컨대, 입력 디바이스 제어기(206)는 터치 스크린으로부터, 하나 이상의 버튼들로부터, 음성 인식 회로로부터, 마이크로폰으로부터, 카메라로부터, 광학 센서로부터, 가속도계로부터, 온도 센서로부터, 근접장 센서로부터 그리고/또는 사용자 입력을 수신하기 위한 임의의 다른 적절한 회로소자로부터 입력을 수신하기 위한 회로소자일 수 있다.
[0048] 일부 구현들에서, 디스플레이/오디오 드라이버들(210)은 하나 이상의 디스플레이 및 오디오 출력 회로소자들(212)로의 출력을 제어 및 구동하기에 적절한 임의의 회로소자일 수 있다. 예컨대, 디스플레이/오디오 드라이버들(210)은 LCD 디스플레이, 스피커, LED, 및/또는 임의의 다른 디스플레이/오디오 디바이스를 구동시키기 위한 회로소자일 수 있다.
[0049] 일부 구현들에서, 통신 인터페이스(들)(214)는 하나 이상의 통신 네트워크들, 예컨대 통신 네트워크(104)와 인터페이싱하기에 적절한 임의의 회로소자일 수 있다. 예컨대, 인터페이스(들)(214)는 네트워크 인터페이스 카드 회로소자, 무선 통신 회로소자, 및/또는 하나 이상의 통신 네트워크들과 인터페이싱하기에 적절한 임의의 다른 회로소자를 포함할 수 있다.
[0050] 일부 구현들에서, 안테나(216)는 통신 네트워크와 무선으로 통신하기에 적절한 임의의 하나 이상의 안테나들일 수 있다. 일부 구현들에서, 안테나(216)는 필요치 않을 때 생략될 수 있다.
[0051] 일부 구현들에서, 버스(218)는 컴포넌트들(202, 204, 206, 210, 및 214) 중 2개 이상의 컴포넌트들 사이에서 통신하기에 적절한 임의의 메커니즘일 수 있다.
[0052] 일부 구현들에서, 임의의 다른 적절한 컴포넌트들은 하드웨어(200)에 포함될 수 있다.
[0053] 일부 구현들에서, 임의의 적절한 컴퓨터 판독가능 매체는 본원에서 설명된 프로세스들을 수행하기 위한 명령들을 저장하기 위하여 사용될 수 있다. 예컨대, 일부 구현들에서, 컴퓨터 판독가능 매체는 일시적이거나 또는 비-일시적일 수 있다. 예컨대, 비-일시적 컴퓨터 판독가능 매체는 매체, 예컨대 자기 매체(예컨대, 하드 디스크들, 플로피 디스크들 및/또는 임의의 다른 적절한 매체), 광학 매체(예컨대, 컴팩트 디스크들, 디지털 비디오 디스크들, 블루-레이 디스크들, 및/또는 임의의 다른 적절한 광학 매체), 반도체 매체(예컨대, 플래시 메모리, 전기적 프로그램가능 판독 전용 메모리(EPROM), 전기적 소거가능 프로그램가능 판독 전용 메모리(EEPROM) 및/또는 임의의 다른 적절한 반도체 매체), 송신 동안 어느 유사한 영구성도 없거나 또는 일시적이지 않은 임의의 적절한 매체 및/또는 임의의 적절한 유형의 매체를 포함할 수 있다. 또 다른 예로서, 일시적 컴퓨터 판독가능 매체는 네트워크들상에서의 신호들, 와이어들, 도체들, 광섬유들, 회로들, 송신 동안 어느 유사한 영구성도 없고 일시적인 임의의 적절한 매체내의 신호들 및/또는 임의의 적절한 무형의 매체를 포함할 수 있다.
[0054] 도 4를 참조하면, 개시된 요지의 일부 구현들에 따라 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 프로세스의 예(400)의 흐름도가 도시된다. 일부 구현들에서, 프로세스(400)는 도 1의 시스템(100)의 하나 이상의 적절한 컴포넌트들의 하드웨어 프로세서, 예컨대 하나 이상의 소스 디바이스들(102)에 의해 구현될 수 있다.
[0055] 예시된 바와같이, 프로세스(400)는 402에서 웹 콘텐츠에 대한 사용자 요청을 수신하는 것으로 시작할 수 있다. 사용자 요청은 임의의 적절한 방식으로 수신될 수 있다. 예컨대, 사용자 요청은 사용자가 적절한 웹 브라우저의 웹 콘텐츠와 연관된 URI(Uniform Resource Identifier)를 입력함으로써 수신될 수 있다. 또 다른 예로서, 사용자 요청은 사용자가 적절한 검색 메커니즘을 사용하여 웹 콘텐츠를 검색함으로써 수신될 수 있다. 또 다른 예로서, 사용자 요청은 웹 콘텐츠와 연관된 하이퍼링크의 사용자 선택으로서 수신될 수 있다.
[0056] 404에서, 프로세스(400)는 웹 콘텐츠를 획득하기 위한 요청을 서버에 전송할 수 있다. 요청은 임의의 적절한 정보를 포함할 수 있으며, 임의의 적절한 방식으로 전송될 수 있다. 예컨대, 요청 메시지는 요청된 콘텐츠의 이름, 요청된 콘텐츠의 위치, 요청된 콘텐츠를 제공할 수 있는 서버, 및/또는 요청된 콘텐츠를 식별 및/또는 리트리브하기 위하여 사용될 수 있는 임의의 다른 적절한 정보를 식별할 수 있는 하나 이상의 식별자들을 포함할 수 있다. 일부 구현들에서, 요청은 임의의 적절한 통신 프로토콜, 예컨대 HTTP(Hypertext Transfer Protocol), HTTPS(Hypertext Transfer Protocol Secure), FTP(File Transfer Protocol) 및/또는 임의의 다른 적절한 통신 프로토콜을 사용하여 생성 및/또는 송신될 수 있다.
[0057] 406에서, 프로세스(400)는 서버로부터 응답을 수신할 수 있다. 응답은 요청된 웹 콘텐츠에 대응하는 임의의 적절한 정보를 포함할 수 있다. 예컨대, 응답은 요청된 웹 콘텐츠(예컨대, 요청된 파일), 요청된 웹 콘텐츠를 렌더링하기 위하여 사용될 수 있는 데이터 (예컨대, 하나 이상의 HTML(HyperText Markup Language) 파일들, 스크립들, 스타일 시트들, 및/또는 웹 페이지를 렌더링하기 위하여 사용될 수 있는 임의의 다른 적절한 데이터) 및/또는 임의의 다른 적절한 데이터를 포함할 수 있다. 일부 구현들에서, 응답은 임의의 적절한 방식으로 수신될 수 있다. 예컨대, 응답은 하나 이상의 응답 메시지들(예컨대, HTTP 응답 메시지들)을 통해 수신될 수 있다.
[0058] 408에서, 프로세스(400)는 응답에 기초하여 드로잉 커맨드들의 세트를 생성할 수 있다. 드로잉 커맨드들은 임의의 적절한 방식으로 생성될 수 있다. 예컨대, 드로잉 커맨드들은 HTML 파일들, 스크립들, 스타일 시트들 및/또는 응답과 함께 수신된 임의의 다른 적절한 데이터에 기초하여 생성될 수 있다. 다른 예로서, 드로잉 커맨드들은 텍스트, 기하학적 구조들(예컨대, 경로, 직사각형 및/또는 임의의 다른 적절한 기하학적 구조), 이미지들 및/또는 임의의 다른 적절한 그래픽 엘리먼트들과 같은 드로잉 그래픽 엘리먼트들에 대한 그래픽 라이브러리에 기초하여 생성될 수 있다.
[0059] 일부 구현들에서, 드로잉 커맨드들의 세트는 웹 콘텐츠를 표시하기 위하여 사용될 수 있는 임의의 적절한 명령들 및/또는 기능들을 포함할 수 있다. 예컨대, 드로잉 커맨드들의 세트는 웹 콘텐츠의 하나 이상의 그래픽 엘리먼트, 예컨대 텍스트, 기하학적 구조들(예컨대, 경로, 직사각형, 및/또는 임의의 다른 적절한 기하학적 구조), 이미지들, 및/또는 임의의 다른 적절한 그래픽 엘리먼트들을 표시하기 위하여 사용될 있는 정보를 포함할 수 있다. 더 특정한 예에서, 드로잉 커맨드들의 세트는 스크린상의 그래픽 엘리먼트의 위치를 정의하는 좌표들의 세트, 그래픽 엘리먼트의 문체 속성들(예컨대, 색, 폰트 스타일, 그래픽 엘리먼트에 적용된 하나 이상의 효과들, 예컨대 필드 섀도우(filled shadow), 그라디언트 섀도우(gradient shadow), 및/또는 임의의 다른 적절한 문체 속성), 그래픽 엘리먼트가 웹 콘텐츠의 다른 그래픽 엘리먼트들과 혼합되는 방식, 및/또는 그래픽 엘리먼트를 표시하기 위하여 사용될 수 있는 임의의 다른 적절한 정보를 포함할 수 있다.
[0060] 다른 예로서, 드로잉 커맨드들의 세트는 비디오 콘텐츠가 표시될 수 있는 하나 이상의 비디오 재생 영역들을 정의하는 하나 이상의 드로잉 커맨드들을 포함할 수 있다. 더 특정한 예에서, 드로잉 커맨드들의 세트는 비디오 재생 영역의 크기(예컨대, 스크린의 비율 및/또는 화소들의 수에 의해 정의되는 비디오 재생 영역의 폭 및 높이), 스크린상의 비디오 재생 영역의 위치 및/또는 비디오 재생 영역의 임의의 다른 적절한 특성들에 대한 정보를 포함할 수 있다.
[0061] 410에서, 프로세스(400)는 응답에 기초하여 하나 이상의 인코딩된 이미지들을 획득할 수 있다. 인코딩된 이미지(들)는 임의의 적절한 포맷, 예컨대 JPEG, WEBP, PNG, GIF, 및/또는 임의의 다른 적절한 포맷을 가질 수 있다. 일부 구현들에서, 인코딩된 이미지(들)는 임의의 적절한 방식으로 획득될 수 있다. 예컨대, 프로세스(400)는 406에서 수신된 HTML 문서에서 인코딩된 이미지(들)와 연관된 하나 이상의 식별자들(예컨대, URI들)을 식별할 수 있다. 이후, 프로세스(300)는 서버, 로컬 스토리지 디바이스 및/또는 임의의 다른 적절한 자원과 같은, 식별자(들)에 의해 식별되는 자원으로부터 인코딩된 이미지(들)를 리트리브할 수 있다.
[0062] 412에서, 프로세스(400)는 응답에 기초하여 인코딩된 비디오 콘텐츠를 획득할 수 있다. 인코딩된 비디오 콘텐츠는 인코딩 및/또는 암호화된 프레임들의 세트, 인코딩/암호화된 프레임들의 세트를 디코딩, 암호해독, 프로세싱 및/또는 표시하기 위하여 사용될 수 있는 파라미터들 및/또는 임의의 다른 적절한 비디오 데이터를 포함할 수 있다. 일부 구현들에서, 인코딩된 비디오 콘텐츠는 임의의 적절한 방식으로 획득될 수 있다. 예컨대, 프로세스 300 는 406에서 수신된 HTML 문서에서 인코딩된 비디오 콘텐츠와 연관된 하나 이상의 식별자들(예컨대, URI들)을 식별할 수 있다. 이후, 프로세스(400)는 서버, 로컬 저장 디바이스 및/또는 임의의 다른 적절한 자원과 같은, 식별자(들)에 의해 식별되는 자원으로부터 인코딩된 비디오 이미지(들)를 리트리브할 수 있다.
[0063] 414에서, 프로세스(400)는 소스 디바이스상에 웹 콘텐츠를 표시할 수 있다. 웹 콘텐츠는 임의의 적절한 방식으로 표시될 수 있다. 예컨대, 웹 콘텐츠는 적절한 웹 브라우저, 모바일 애플리케이션 및/또는 소스 디바이스상에 웹 콘텐츠를 표시할 수 있는 임의의 다른 적절한 메커니즘을 사용하여 표시될 수 있다. 일부 구현들에서, 웹 콘텐츠는 도 3의 사용자 인터페이스(310)와 같은 적절한 사용자 인터페이스를 사용하여 소스 디바이스상에 표시될 수 있다. 일부 구현들에서, 410에서 획득된 인코딩된 이미지(들)는 디코딩 및 암호해독된후 적절한 색 공간으로 변환되고 그리고/또는 임의의 다른 적절한 방식으로 프로세싱될 수 있으며 사용자 인터페이스(310)의 이미지(316)로서 표시될 수 있다. 일부 구현들에서, 412에서 획득된 인코딩된 비디오 콘텐츠는 디코딩 및 암호해독된후 적절한 색 공간으로 변환되고 그리고/또는 임의의 다른 적절한 방식으로 프로세싱될 수 있으며 사용자 인터페이스(310)의 비디오 재생 영역(314)에서 표시될 수 있다.
[0064] 416에서, 프로세스(400)는 텔레비전 디바이스상에 웹 콘텐츠를 표시하기 위한 사용자 요청을 수신할 수 있다. 요청은 임의의 적절한 방식으로 수신될 수 있다. 예컨대, 요청은 사용자 인터페이스의 스트리밍 버튼(예컨대, 도 3에 도시된 사용자 인터페이스(310)의 스트리밍 버튼(318))의 사용자 선택, 하나 이상의 음성 커맨드들, 리모트 컨트롤로부터 송신된 하나 이상의 제어 신호들 및/또는 임의의 다른 적절한 입력인 것으로 수신될 수 있다.
[0065] 418에서, 프로세스(400)는 텔레비전 디바이스가 표시를 위하여 인코딩된 비디오 콘텐츠를 프로세싱할 수 있는지의 여부를 결정할 수 있다. 이러한 결정은 임의의 적절한 방식으로 수행될 수 있다. 예컨대, 텔레비전 디바이스는 텔레비전 디바이스 및/또는 텔레비전 디바이스에 커플링된 디지털 미디어 수신기가 인코딩된 비디오 콘텐츠를 디코딩하고 그리고/또는 표시를 위하여 임의의 다른 적절한 방식으로 인코딩된 비디오 콘텐츠를 프로세싱할 수 있을 때 표시를 위하여 인코딩된 비디오 콘텐츠를 프로세싱할 수 있는 것으로 결정될 수 있다. 일부 구현들에서, 프로세스(400)는 UPnP(Universal Plug and Play) 및/또는 임의의 다른 적절한 통신 프로토콜을 통해 디지털 미디어 수신기 및/또는 텔레비전 디바이스의 디코딩 능력들에 대한 정보를 획득할 수 있다.
[0066] 일부 구현들에서, 텔레비전 디바이스가 표시를 위하여 인코딩된 비디오 콘텐츠를 프로세싱할 수 없다는 결정에 대한 응답으로, 프로세스(400)는 인코딩된 비디오 콘텐츠에 기초하여 트랜스코딩된 비디오 콘텐츠를 생성할 수 있다. 예컨대, 프로세스(400)는 텔레비전 디바이스 및/또는 디지털 미디어 수신기에 의해 프로세싱될 수 있는 적절한 방식으로 인코딩된 비디오 콘텐츠를 변환시킬 수 있다. 더 특정한 예에서, 프로세스(400)는 인코딩된 비디오 콘텐츠를 디코딩 및/또는 암호해독하여 디코딩된 비디오 콘텐츠를 생성할 수 있다. 이후, 프로세스(400)는 적절한 포맷으로 디코딩된 비디오 콘텐츠를 인코딩할 수 있다.
[0067] 일부 구현들에서, 프로세스(400)는 418에서 텔레비전 디바이스가 인코딩된 비디오 콘텐츠를 프로세싱할 수 있다는 결정에 대한 응답으로 또는 420에서 트랜스코딩된 비디오 스트림을 생성한 이후에 422에서 웹 콘텐츠에 대한 콘텐츠 계층들의 세트를 생성할 수 있다. 예컨대, 콘텐츠 계층들의 세트는 텔레비전 디바이스상에 어떤 웹 콘텐츠가 표시될 수 있는지에 기초하여 하나 이상의 드로잉 커맨드들을 포함하는 드로잉 커맨드 계층을 포함할 수 있다. 일부 구현들에서, 드로잉 커맨드 계층은 408에서 생성된 드로잉 커맨드들을 포함할 수 있다.
[0068] 또 다른 예로서, 콘텐츠 계층들의 세트는 하나 이상의 인코딩된 이미지들을 포함하는 이미지 계층을 포함할 수 있다. 더 특정한 예에서, 이미지 계층은 410에서 획득된 인코딩된 이미지(들)를 포함할 수 있다.
[0069] 또 다른 예로서, 콘텐츠 계층들의 세트는 하나 이상의 비디오 스트림들을 포함하는 비디오 계층을 포함할 수 있다. 더 특정한 예에서, 비디오 스트림(들)은 텔레비전 디바이스가 인코딩된 비디오 콘텐츠를 프로세싱할 수 있는 것으로 결정되는 일부 구현들에서 412에서 획득된 인코딩된 비디오 콘텐츠를 포함할 수 있다. 다른 더 특정한 예에서, 비디오 스트림은 텔레비전 디바이스가 412에서 획득된 인코딩된 비디오 콘텐츠를 프로세싱할 수 없는 것으로 결정되는 일부 구현들에서 420에서 생성된 트랜스코딩된 비디오 콘텐츠를 포함할 수 있다.
[0070] 이후, 424에서, 프로세스(300)는 텔레비전 디바이스에 커플링된 디지털 미디어 수신기에 콘텐츠 계층들의 세트를 송신할 수 있다. 콘텐츠 계층들의 세트는 임의의 적절한 방식으로 송신될 수 있다. 예컨대, 콘텐츠 계층들의 세트는 WIFI 네트워크와 같은 적절한 네트워크를 통해 송신될 수 있다.
[0071] 도 5를 참조하면, 개시된 요지의 일부 구현들에 따라 텔레비전 디바이스상에 표시되는 웹 콘텐츠를 업데이트하기 위한 프로세스의 예(500)의 흐름도가 도시된다. 일부 구현들에서, 프로세스(500)는 도 1의 시스템(100)의 하나 이상의 적절한 컴포넌트들의 하드웨어 프로세서, 예컨대 하나 이상의 소스 디바이스들(102)에 의해 구현될 수 있다.
[0072] 예시된 바와같이, 프로세스(500)는 502에서 웹 콘텐츠가 소스 디바이스 및 텔레비전 디바이스상에 표시되도록 하는 것으로부터 시작할 수 있다. 웹 콘텐츠는 임의의 적절한 방식으로 렌더링될 수 있다. 예컨대, 웹 콘텐츠는 앞서 설명된 바와같이 도 4의 프로세스(400)를 사용하여 소스 디바이스 및 텔레비전 디바이스상에 표시될 수 있다.
[0073] 504에서, 프로세스(500)는 소스 디바이스에서 사용자 이벤트를 검출할 수 있다. 사용자 이벤트의 예들은 사용자가 텍스트 콘텐츠를 입력하는 것, 사용자가 마우스를 이동시키는 것, 사용자가 소스 디바이스상에 표시된 웹 콘텐츠를 스크롤링 업 또는 스크롤링 다운시키는 것, 소스 디바이스상에 디스플레이되는 이미지의 사용자 선택 및/또는 임의의 다른 적절한 사용자 이벤트를 포함한다.
[0074] 506에서, 프로세스(500)는 검출된 사용자 이벤트에 기초하여 하나 이상의 드로잉 커맨드들을 생성할 수 있다. 예컨대, 검출된 사용자 이벤트가 텍스트 박스(예컨대, 도 3의 텍스트 박스(312))에 사용자가 입력한 텍스트에 대응하는 일부 구현들에서, 프로세스(500)는 텍스트가 텔레비전 디바이스상에 표시되도록 할 수 있는 하나 이상의 드로잉 커맨드들을 생성할 수 있다. 더 특정한 예에서, 드로잉 커맨드들은 사용자에 의해 입력된 텍스트, 텍스트의 하나 이상의 문체 속성들(예컨대, 폰트 스타일, 색 및/또는 임의의 다른 적절한 문체 속성), 텍스트의 위치, 및/또는 텍스트 정보가 텔레비전 디바이스(예컨대, 텍스트 박스(312)에 대응하는 도 3의 텍스트 박스(322)에 의해 표시되는 방식 및/또는 텍스트에 대한 임의의 다른 적절한 정보를 포함할 수 있다.
[0075] 다른 예로서, 검출된 사용자 이벤트가, 사용자가 소스 디바이스상에 표시되고 있는 웹 콘텐츠를 스크롤링 업/다운하는 것에 대응하는 일부 구현들에서, 프로세스(500)는 텔레비전 디바이스상에 표시되고 있는 웹 콘텐츠가 스크롤링되도록 할 수 있는 하나 이상의 드로잉 커맨드들을 생성할 수 있다.
[0076] 일부 구현들에서, 508에서, 프로세스(500)는 서버로부터 업데이트된 웹 콘텐츠를 수신할 수 있다. 임의의 적절한 웹 콘텐츠는 적절한 방식으로 수신될 수 있다. 예컨대, 업데이트된 웹 콘텐츠는 업데이트된 이미지 콘텐츠, 예컨대 하나 이상의 인코딩된 이미지들을 포함할 수 있다. 더 특정한 예에서, 프로세스(500)는 인코딩된 이미지의 버전(예컨대, 인코딩된 이미지의 섬네일) 및/또는 인코딩된 이미지와 연관된 하이퍼링크의 사용자 선택에 대한 응답으로 인코딩된 이미지를 수신할 수 있다.
[0077] 다른 예로서, 업데이트된 웹 콘텐츠는 업데이트된 비디오 콘텐츠, 예컨대 인코딩된 프레임들의 세트, 인코딩된 프레임들을 디코딩, 암호해독, 프로세싱 및/또는 표시하기 위하여 사용될 수 있는 파라미터들 및/또는 임의의 다른 적절한 비디오 데이터를 포함할 수 있다. 더 특정한 예에서, 업데이트된 비디오 콘텐츠는 업데이트된 비디오 콘텐츠를 재생하기 위한 사용자 요청(소스 디바이스상에 표시된 사용자 인터페이스, 리모트 컨트롤, 및/또는 임의의 다른 적절한 디바이스를 사용한 "플레이" 버튼의 사용자 선택)에 대한 응답으로 수신될 수 있다. 또 다른 특정한 예에서, 비디오 콘텐츠가 텔레비전 디바이스 및/또는 소스 디바이스상의 비디오 재생 영역(도 3의 비디오 재생 영역들(314 및 324))에 표시되는 일부 구현들에서, 업데이트된 비디오 콘텐츠는 비디오 재생 영역에 표시되는 새로운 비디오 콘텐츠에 대응할 수 있다.
[0078] 510에서, 프로세스(500)는 업데이트된 웹 콘텐츠 및/또는 사용자 이벤트에 대응하는 하나 이상의 업데이트된 콘텐츠 계층들을 생성할 수 있다. 예컨대, 프로세스(500)는 텔레비전 디바이스상에 표시되고 있는 어떤 웹 콘텐츠가 업데이트될 수 있는지에 기초하여 하나 이상의 드로잉 커맨드들을 포함하는 드로잉 커맨드 계층을 생성할 수 있다. 더 특정한 예에서, 드로잉 커맨드 계층은 506에서 생성된 드로잉 커맨드들을 포함할 수 있다. 또 다른 특정한 예에서, 드로잉 커맨드 계층은 업데이트된 비디오 콘텐츠 및/또는 업데이트 이미지 콘텐츠가 렌더링될 방식을 정의하는 하나 이상의 드로잉 커맨드들, 예컨대 업데이트된 비디오 콘텐츠가 렌더링될 수 있는 비디오 재생 영역의 크기, 업데이트된 비디오 콘텐츠 및/또는 업데이트된 이미지 콘텐츠에 대한 위치 정보 및/또는 어떤 업데이트된 비디오 콘텐츠 및/또는 업데이트된 이미지 콘텐츠가 표시되는지에 기초한 임의의 다른 적절한 정보를 포함할 수 있다.
[0079] 또 다른 예로서, 프로세스(500)는 업데이트된 이미지 콘텐츠에 대응하는 이미지 계층을 생성할 수 있다. 더 특정한 예에서, 이미지 계층은 508에서 수신된 하나 이상의 인코딩된 이미지들을 포함할 수 있다.
[0080] 또 다른 예로서, 프로세스(500)는 업데이트된 비디오 콘텐츠에 대응하는 비디오 계층을 생성할 수 있다. 더 특정한 예에서, 비디오 계층은 508에서 수신된 인코딩된 비디오 콘텐츠를 포함할 수 있다. 또 다른 더 특정한 예에서, 비디오 계층은 (예컨대, 적절한 포맷으로, 인코딩된 비디오 콘텐츠를 디코딩하고 디코딩된 비디오 콘텐츠를 인코딩함으로써) 508에서 수신된 인코딩된 비디오 콘텐츠로부터 유도된 트랜스코딩된 비디오 콘텐츠를 포함할 수 있다.
[0081] 512에서, 프로세스(500)는 텔레비전 디바이스에 커플링된 디지털 미디어 수신기에 콘텐츠 계층(들)을 송신할 수 있다. 콘텐츠 계층(들)은 임의의 적절한 방식으로 송신될 수 있다. 예컨대, 콘텐츠 계층들의 세트는 WIFI 네트워크와 같은 적절한 네트워크를 통해 송신될 수 있다.
[0082] 도 6를 참조하면, 개시된 요지의 일부 구현들에 따라 웹 콘텐츠에 대응하는 콘텐츠 계층들에 기초하여 텔레비전 디바이스상에 웹 콘텐츠를 표시하고 업데이트하기 위한 프로세스의 예(600)의 흐름도가 도시된다. 일부 구현들에서, 프로세스(600)는 도 1의 시스템(100)의 하나 이상의 적절한 컴포넌트들의 하드웨어 프로세서, 예컨대 디지털 미디어 수신기(104)에 의해 구현될 수 있다.
[0083] 예시된 바와같이, 프로세스(600)는, 602에서, 텔레비전 디바이스상에 표시될 웹 콘텐츠에 대응하는 콘텐츠 계층들의 세트를 수신함으로써 시작할 수 있다. 일부 구현들에서, 콘텐츠 계층들의 세트는 도 4와 관련하여 앞서 설명된 바와같이 생성되어 송신될 수 있다. 예컨대, 콘텐츠 계층들의 세트는 하나 이상의 드로잉 커맨드들을 포함하는 드로잉 커맨드 계층, 하나 이상의 인코딩된 이미지들을 포함하는 이미지 계층, 하나 이상의 비디오 스트림들을 포함하는 비디오 계층, 오디오 데이터를 포함하는 오디오 계층 및/또는 임의의 다른 적절한 콘텐츠 계층을 포함할 수 있다.
[0084] 다음으로, 604에서, 프로세스(600)는 콘텐츠 계층들의 세트를 프로세싱할 수 있다. 예컨대, 프로세스(600)는 이미지 계층의 인코딩된 이미지(들)를 디코딩하여 하나 이상의 디코딩된 이미지들을 생성하고, 디코딩된 이미지들을 리사이징(resizing)하며 그리고/또는 임의의 다른 적절한 방식으로 인코딩된 이미지(들)를 프로세싱함으로써 인코딩된 이미지(들)를 프로세싱할 수 있다. 또 다른 예로서, 프로세스(600)는 인코딩된 비디오 콘텐츠를 디코딩하고, 색 공간 변환을 수행하며 그리고/또는 임의의 다른 적절한 방식으로 비디오 스트림을 프로세싱함으로써 비디오 계층의 비디오 스트림을 프로세싱할 수 있다.
[0085] 606에서, 프로세스(600)는 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 할 수 있다. 예컨대, 프로세스(600)는 드로잉 커맨드들 중 하나 이상의 드로잉 커맨드들에 기초하여 하나 이상의 그래픽 엘리먼트들을 표시할 수 있다. 더 특정한 예에서, 프로세스(600)는 그래픽 엘리먼트의 타입(예컨대, 텍스트, 경로, 직사각형, 텍스트 박스, 이미지 및/또는 임의의 다른 적절한 그래픽 엘리먼트), 그래픽 엘리먼트의 문체 속성들, 및/또는 드로잉 커맨드들 중 하나 이상에 기초한 그래픽 엘리먼트의 임의의 다른 적절한 속성을 결정할 수 있다. 또 다른 더 특정한 예에서, 프로세스(600)는 그래픽 엘리먼트를 생성하고, 드로잉 커맨드들 중 하나 이상의 커맨드에 포함된 위치 정보에 기초하여 텔레비전 디바이스상에 그래픽 엘리먼트를 표시할 수 있다.
[0086] 또 다른 예로서, 프로세스(600)는 드로잉 커맨드들 중 하나 이상의 드로잉 커맨드들에 기초하여 디코딩된 이미지가 텔레비전 디바이스상에 표시되도록 할 수 있다. 더 특정한 예에서, 프로세스(600)는 디코딩된 이미지들의 위치를 정의하는 드로잉 커맨드들 중 하나 이상의 드로잉 커맨드에 포함된 좌표들의 세트에 기초하여 디코딩된 이미지를 배치할 수 있다. 또 다른 더 특정한 예에서, 프로세스(600)는 드로잉 커맨드들 중 하나 이상의 드로잉 커맨드들에 기초하여 디코딩된 이미지들에 하나 이상의 적절한 효과들(필드 섀도우, 그라디언트 섀도우, 및/또는 임의의 다른 적절한 효과)을 적용할 수 있다.
[0087] 또 다른 예로서, 프로세스(600)는 드로잉 커맨드들 중 하나 이상의 커맨드에 기초하여 디코딩된 비디오 콘텐츠를 표시할 수 있다. 더 특정한 예에서, 프로세스(600)는 드로잉 커맨드들 중 하나 이상의 드로잉 커맨드에 의해 정의된 비디오 재생 영역(예컨대, 도 3의 비디오 재생 영역(324))을 식별할 수 있다. 이후, 프로세스(600)는 디코딩된 비디오 콘텐츠가 비디오 재생 영역에서 표시되도록 할 수 있다.
[0088] 일부 구현들에서, 프로세스(600)는 프로세싱된 콘텐츠 계층들을 결합하고, 텔레비전 디바이스상에 결합된 콘텐츠를 표시할 수 있다. 더 특정한 예에서, 하나 이상의 비트맵들이 생성될 수 있으며, 스크린은 비트맵(들)에 기초하여 페인팅될 수 있다(painted).
[0089] 608에서, 프로세스(600)는 콘텐츠 계층들의 업데이트된 세트가 디지털 미디어 수신기에 도달하였는지의 여부를 결정할 수 있다. 일부 구현들에서, 콘텐츠 계층들의 업데이트된 세트는 앞서 설명된 바와같이 도 5의 프로세스(500)에 기초하여 생성 및/또는 송신될 수 있다. 예컨대, 업데이트된 콘텐츠 계층들은 드로잉 커맨드들의 업데이트된 세트를 포함하는 드로잉 커맨드 계층, 소스 디바이스에 의해 수신되는 업데이트된 이미지 콘텐츠에 대응하는 하나 이상의 인코딩된 이미지들을 포함하는 이미지 계층, 소스 디바이스에 의해 수신되는 업데이트된 비디오 콘텐츠에 대응하는 인코딩된 비디오 콘텐츠를 포함하는 비디오 계층 및/또는 임의의 다른 적절한 콘텐츠 계층을 포함할 수 있다.
[0090] 일부 구현들에서, 610에서, 프로세스(600)는 콘텐츠 계층들의 업데이트된 세트를 수신하는 것에 대한 응답으로 업데이트된 웹 콘텐츠가 텔레비전 디바이스상에 표시되도록 할 수 있다. 예컨대, 프로세스(600)는 드로잉 커맨드들의 업데이트된 세트를 프로세싱하고, 하나 이상의 그래픽 엘리먼트가 업데이트되고 그리고/또는 텔레비전 디바이스상에 표시되도록 할 수 있다. 더 특정한 예에서, 드로잉 커맨드들의 업데이트된 세트가 소스 디바이스상에 사용자가 입력한 텍스트 콘텐츠에 대응하는 일부 구현들에서, 프로세스(600)는 사용자에 의해 입력된 텍스트, 텍스트의 하나 이상의 문체 속성들, 및/또는 텍스트를 표시하는 것과 관련한 임의의 다른 적절한 정보에 기초하여 텔레비전 디바이스상에 텍스트가 표시되도록 할 수 있다.
[0091] 또 다른 예로서, 프로세스(600)는 업데이트된 이미지 콘텐츠에 대응하는 인코딩된 이미지들을 디코딩할 수 있다. 이후, 프로세스(600)는 (예컨대, 드로잉 커맨드들 중 하나 이상의 드로잉 코멘트에 의해 정의된 하나 이상의 효과들을 적용함으로써) 드로잉 커맨드들에 기초하여 디코딩된 이미지들을 표시할 수 있다.
[0092] 또 다른 예로서, 프로세스(600)는 (예컨대, 업데이트된 비디오 데이터를 디코딩하고, 업데이트된 비디오 데이터에 색 공간 변환을 수행하며 그리고/또는 임의의 적절한 방식으로 업데이트된 비디오 데이터를 프로세싱함으로써) 업데이트된 비디오 데이터를 프로세싱할 수 있다. 이후, 프로세스(600)는 텔레비전 디바이스상에 (예컨대, 드로잉 커맨드들 중 하나 이상의 커맨드에 의해 정의된 비디오 재생 영역에) 프로세싱된 비디오 데이터를 표시할 수 있다.
[0093] 또한, 도 4-6의 흐름도들의 앞의 단계들이 도면들에서 도시되고 설명된 순서 및 시퀀스로 제한되지 않은 임의의 순서 또는 시퀀스로 실행되거나 또는 수행될 수 있다는 것에 주목해야 한다. 도 4-6의 흐름도들의 앞의 단계들의 일부분은 대기시간 및 프로세싱 시간들을 감소시키기 위하여 병렬로 또는 적절한 경우에 실질적으로 동시에 실행되거나 또는 수행될 수 있다. 게다가, 도 4-6는 단지 예들로서 제공된다는 것에 주목해야 한다. 이들 도면들에 도시된 단계들 중 적어도 일부는 제시된 것과 다른 순서로 수행될 수 있거나 또는 동시에 수행될 수 있거나 또는 함께 생략될 수 있다.
[0094] ("예컨대, "이를테면", "포함하는" 등으로 표현된 절들 뿐만아니라) 본원에서 설명된 예들을 제공한 것은 특정 예들로 청구된 요지를 제한하는 것으로 해석되지 않아야 하며, 오히려 예들은 많은 가능한 양상들 중 단지 일부 양상만을 예시하는 것으로 의도된다.
[0095] 따라서, 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들, 및 매체가 제공된다.
[0096] 비록 개시된 요지가 앞의 예시적인 구현들에서 설명되고 예시되었을지라도, 본 개시내용은 단지 예로서만 제시되었고 개시된 요지의 구현의 세부사항들에 있어서의 다수의 변경들은 단지 이하의 청구범위에 의해서만 제한되는 개시된 요지의 사상 및 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해되어야 한다. 개시된 구현들의 특징들은 다양한 방식들로 결합 및 재배열될 수 있다.

Claims (27)

  1. 미디어 디바이스상에 웹 콘텐츠를 원격 렌더링(rendering)하기 위한 방법으로서,
    상기 웹 콘텐츠에 대한 요청을 서버에 전송하는 단계;
    소스 디바이스에서 상기 요청에 대응하는 응답을 수신하는 단계;
    상기 소스 디바이스의 하드웨어 프로세서를 사용하여, 상기 응답에 기초하여 드로잉 커맨드(drawings command)들의 세트를 생성하는 단계 ― 상기 드로잉 커맨드들은 상기 웹 콘텐츠를 나타내는데 사용될 수 있는 명령들 또는 기능들 중 적어도 하나를 포함함 ―;
    상기 소스 디바이스의 하드웨어 프로세서를 사용하여, 상기 응답에 기초하여 적어도 하나의 인코딩된 비디오를 획득하는 단계;
    상기 소스 디바이스의 하드웨어 프로세서를 사용하여, 상기 웹 콘텐츠에 대응하는 제1 콘텐츠 계층을 생성하는 단계 ― 상기 제1 콘텐츠 계층은 상기 드로잉 커맨드들의 세트를 포함함 ―;
    상기 소스 디바이스의 하드웨어 프로세서를 사용하여, 상기 웹 콘텐츠에 대응하는 제2 콘텐츠 계층을 생성하는 단계 ― 상기 제2 콘텐츠 계층은 상기 적어도 하나의 인코딩된 비디오를 포함함 ―;
    상기 소스 디바이스의 하드웨어 프로세서로부터 디지털 미디어 수신기로, 상기 제1 콘텐츠 계층 및 상기 제2 콘텐츠 계층을 전송하는 단계; 및
    상기 제1 콘텐츠 계층 및 상기 제2 콘텐츠 계층에 기초하여, 상기 디지털 미디어 수신기를 통해, 상기 웹 콘텐츠가 상기 미디어 디바이스상에 표시되도록 하는 단계
    를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 응답에 기초하여, 제1의 복수의 인코딩된 프레임들을 획득하는 단계; 및
    상기 제1의 복수의 인코딩된 프레임들에 적어도 부분적으로 기초하여 상기 소스 디바이스상에 상기 웹 콘텐츠를 표시하는 단계
    를 더 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 복수의 콘텐츠 계층들은 비디오 스트림을 포함하는 제3 콘텐츠 계층을 더 포함하고, 상기 비디오 스트림은 상기 제1의 복수의 인코딩된 프레임들을 포함하는,
    방법.
  4. 제3항에 있어서,
    상기 비디오 스트림은 상기 제1의 복수의 인코딩된 프레임들에 기초하여 생성된 트랜스코딩된 비디오 콘텐츠를 포함하는,
    방법.
  5. 제3항에 있어서,
    제2의 복수의 인코딩된 프레임들을 수신하는 단계;
    상기 제2의 복수의 인코딩된 프레임들에 기초하여 제4 콘텐츠 계층을 생성하는 단계; 및
    상기 제4 콘텐츠 계층을 전송하는 단계
    를 더 포함하는.
    방법.
  6. 제1항에 있어서,
    디지털 미디어 수신기에서 상기 복수의 콘텐츠 계층들을 수신하는 단계;
    상기 복수의 콘텐츠 계층들을 프로세싱하는 단계; 및
    상기 프로세싱된 복수의 콘텐츠 계층들에 기초하여 상기 웹 콘텐츠가 상기 미디어 디바이스상에 표시되도록 하는 단계
    를 더 포함하는,
    방법.
  7. 제1항에 있어서,
    상기 소스 디바이스에서 텍스트 콘텐츠의 사용자 입력을 수신하는 단계;
    상기 사용자 입력에 대응하는 적어도 하나의 드로잉 커맨드를 생성하는 단계; 및
    상기 사용자 입력에 대응하는 상기 드로잉 커맨드에 적어도 부분적으로 기초하여 상기 텍스트 콘텐츠가 상기 미디어 디바이스상에 렌더링되도록 하는 단계
    를 더 포함하는,
    방법.
  8. 미디어 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 시스템으로서,
    적어도 하나의 하드웨어 프로세서를 포함하는 소스 디바이스를 포함하고;
    상기 적어도 하나의 하드웨어 프로세서는,
    상기 웹 콘텐츠에 대한 요청을 서버에 전송하고;
    상기 요청에 대응하는 응답을 수신하고;
    상기 응답에 기초하여 드로잉 커맨드들의 세트를 생성하고 ― 상기 드로잉 커맨드들은 상기 웹 콘텐츠를 나타내는데 사용될 수 있는 명령들 또는 기능들 중 적어도 하나를 포함함 ―;
    상기 응답에 기초하여 적어도 하나의 인코딩된 비디오를 획득하고;
    상기 웹 콘텐츠에 대응하는 제1 콘텐츠 계층을 생성하고 ― 상기 제1 콘텐츠 계층은 상기 드로잉 커맨드들의 세트를 포함함 ―;
    상기 웹 콘텐츠에 대응하는 제2 콘텐츠 계층을 생성하고 ― 상기 제2 콘텐츠 계층은 상기 적어도 하나의 인코딩된 비디오를 포함함 ―;
    상기 제1 콘텐츠 계층 및 상기 제2 콘텐츠 계층을 디지털 미디어 수신기로 전송하고; 그리고
    상기 제1 콘텐츠 계층 및 상기 제2 콘텐츠 계층에 기초하여, 상기 디지털 미디어 수신기를 통해, 상기 웹 콘텐츠가 상기 미디어 디바이스상에 표시되게 하도록
    구성되는,
    시스템.
  9. 제8항에 있어서,
    상기 하드웨어 프로세서는,
    상기 응답에 기초하여 제1의 복수의 인코딩된 프레임들을 획득하고; 그리고
    상기 제1의 복수의 인코딩된 프레임들에 적어도 부분적으로 기초하여 상기 소스 디바이스상에 상기 웹 콘텐츠를 표시하도록
    추가로 구성되는,
    시스템.
  10. 제9항에 있어서,
    상기 복수의 콘텐츠 계층들은 비디오 스트림을 포함하는 제3 콘텐츠 계층을 더 포함하고, 상기 비디오 스트림은 상기 제1의 복수의 인코딩된 프레임들을 포함하는,
    시스템.
  11. 제10항에 있어서,
    상기 비디오 스트림은 상기 제1의 복수의 인코딩된 프레임들에 기초하여 생성된 트랜스코딩된 비디오 콘텐츠를 포함하는,
    시스템.
  12. 제10항에 있어서,
    상기 하드웨어 프로세서는,
    제2의 복수의 인코딩된 프레임들을 수신하고;
    상기 제2의 복수의 인코딩된 프레임들에 기초하여 제4 콘텐츠 계층을 생성하고; 그리고
    상기 제4 콘텐츠 계층을 전송하도록
    추가로 구성되는,
    시스템.
  13. 제8항에 있어서,
    상기 하드웨어 프로세서는,
    디지털 미디어 수신기에서, 상기 복수의 콘텐츠 계층들을 수신하고;
    상기 복수의 콘텐츠 계층들을 프로세싱하며; 그리고
    상기 프로세싱된 복수의 콘텐츠 계층들에 기초하여 상기 웹 콘텐츠가 상기 미디어 디바이스상에 표시되게 하도록
    추가로 구성되는,
    시스템.
  14. 제8항에 있어서,
    상기 하드웨어 프로세서는,
    텍스트 콘텐츠의 사용자 입력을 수신하고;
    상기 사용자 입력에 대응하는 적어도 하나의 드로잉 커맨드를 생성하고; 그리고
    상기 사용자 입력에 대응하는 상기 드로잉 커맨드에 적어도 부분적으로 기초하여 상기 텍스트 콘텐츠가 상기 미디어 디바이스상에 표시되게 하도록
    추가로 구성되는,
    시스템.
  15. 컴퓨터-실행가능 명령들을 포함하는 비-일시적 컴퓨터-판독가능 기록매체로서,
    상기 컴퓨터-실행가능 명령들은, 프로세서에 의해 실행될 때, 상기 프로세서가 미디어 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법을 수행하도록 하며,
    상기 방법은,
    상기 웹 콘텐츠에 대한 요청을 서버에 전송하는 단계;
    소스 디바이스에서 상기 요청에 대응하는 응답을 수신하는 단계;
    상기 응답에 기초하여 드로잉 커맨드들의 세트를 생성하며 ― 상기 드로잉 커맨드들은 상기 웹 콘텐츠를 나타내는데 사용될 수 있는 명령들 또는 기능들 중 적어도 하나를 포함함 ―;
    상기 응답에 기초하여 적어도 하나의 인코딩된 비디오를 획득하는 단계;
    상기 웹 콘텐츠에 대응하는 제1 콘텐츠 계층을 생성하는 단계 ― 상기 제1 콘텐츠 계층은 상기 드로잉 커맨드들의 세트를 포함함 ―;
    상기 웹 콘텐츠에 대응하는 제2 콘텐츠 계층을 생성하는 단계 ― 상기 제2 콘텐츠 계층은 상기 적어도 하나의 인코딩된 비디오를 포함함 ―;
    상기 제1 콘텐츠 계층 및 상기 제2 콘텐츠 계층을 전송하는 단계; 및
    상기 제1 콘텐츠 계층 및 상기 제2 콘텐츠 계층에 기초하여 상기 웹 콘텐츠가 상기 미디어 디바이스상에 표시되도록 하는 단계
    를 포함하는,
    비-일시적 컴퓨터-판독가능 기록매체.
  16. 제15항에 있어서,
    상기 방법은,
    상기 응답에 기초하여 제1의 복수의 인코딩된 프레임들을 획득하는 단계; 및
    상기 제1의 복수의 인코딩된 프레임들에 적어도 부분적으로 기초하여 상기 소스 디바이스상에 상기 웹 콘텐츠를 표시하는 단계
    를 더 포함하는,
    비-일시적 컴퓨터-판독가능 기록매체.
  17. 제16항에 있어서,
    상기 복수의 콘텐츠 계층들은 비디오 스트림을 포함하는 제3 콘텐츠 계층을 더 포함하고, 상기 비디오 스트림은 상기 제1의 복수의 인코딩된 프레임들을 포함하는,
    비-일시적 컴퓨터-판독가능 기록매체.
  18. 제17항에 있어서,
    상기 비디오 스트림은 상기 제1의 복수의 인코딩된 프레임들에 기초하여 생성된 트랜스코딩된 비디오 콘텐츠를 포함하고,
    상기 방법은,
    제2의 복수의 인코딩된 프레임들을 수신하는 단계;
    상기 제2의 복수의 인코딩된 프레임들에 기초하여 제4 콘텐츠 계층을 생성하는 단계; 및
    상기 제4 콘텐츠 계층을 전송하는 단계
    를 더 포함하는,
    비-일시적 컴퓨터-판독가능 기록매체.
  19. 제15항에 있어서,
    상기 방법은,
    디지털 미디어 수신기에서 상기 복수의 콘텐츠 계층들을 수신하는 단계;
    상기 복수의 콘텐츠 계층들을 프로세싱하는 단계; 및
    상기 프로세싱된 복수의 콘텐츠 계층들에 기초하여 상기 웹 콘텐츠가 상기 미디어 디바이스상에 표시되도록 하는 단계
    를 더 포함하는,
    비-일시적 컴퓨터-판독가능 기록매체.
  20. 제15항에 있어서,
    상기 방법은,
    상기 소스 디바이스에서 텍스트 콘텐츠의 사용자 입력을 수신하는 단계;
    상기 사용자 입력에 대응하는 적어도 하나의 드로잉 커맨드를 생성하는 단계; 및
    상기 사용자 입력에 대응하는 상기 드로잉 커맨드에 적어도 부분적으로 기초하여 상기 텍스트 콘텐츠가 상기 미디어 디바이스상에 렌더링되도록 하는 단계
    를 더 포함하는,
    비-일시적 컴퓨터-판독가능 기록매체.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020167020442A 2013-12-31 2014-12-30 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들 KR101903142B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361922277P 2013-12-31 2013-12-31
US61/922,277 2013-12-31
PCT/US2014/072847 WO2015103315A1 (en) 2013-12-31 2014-12-30 Methods, systems, and media for remote rendering of web content on a television device

Publications (2)

Publication Number Publication Date
KR20160104022A KR20160104022A (ko) 2016-09-02
KR101903142B1 true KR101903142B1 (ko) 2018-10-01

Family

ID=52395217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020442A KR101903142B1 (ko) 2013-12-31 2014-12-30 텔레비전 디바이스상에 웹 콘텐츠를 원격 렌더링하기 위한 방법들, 시스템들 및 매체들

Country Status (8)

Country Link
US (4) US9635393B2 (ko)
EP (1) EP3090565B1 (ko)
JP (1) JP6453345B2 (ko)
KR (1) KR101903142B1 (ko)
CN (1) CN105874807B (ko)
AU (1) AU2014373820B2 (ko)
CA (1) CA2933089C (ko)
WO (1) WO2015103315A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI520051B (zh) * 2014-11-05 2016-02-01 奇揚網科股份有限公司 鏡射顯示系統與鏡射顯示方法
CN105163189B (zh) * 2015-09-06 2018-09-04 腾讯科技(深圳)有限公司 预约多媒体节目的方法、服务器及终端
KR20180081390A (ko) * 2017-01-06 2018-07-16 삼성전자주식회사 전자 장치 및 그 동작방법
US11348307B2 (en) 2018-07-10 2022-05-31 Samsung Electronics Co., Ltd. Method and device for processing content
US11582494B2 (en) 2018-07-18 2023-02-14 Pixellot Ltd. System and method for content-layer based video compression
CN111010582B (zh) * 2019-12-18 2022-01-18 深信服科技股份有限公司 一种云桌面图像处理方法、装置、设备及可读存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862260A (en) * 1993-11-18 1999-01-19 Digimarc Corporation Methods for surveying dissemination of proprietary empirical data
US6049831A (en) 1996-11-08 2000-04-11 Gte Laboratories Incorporated System for transmitting network-related information where requested network information is separately transmitted as definitions and display information
US20040073941A1 (en) 2002-09-30 2004-04-15 Ludvig Edward A. Systems and methods for dynamic conversion of web content to an interactive walled garden program
KR100501334B1 (ko) * 2003-08-04 2005-07-18 삼성전자주식회사 씬 클라이언트 방식을 개선한 홈 미디어 게이트웨이의멀티미디어 데이터 처리장치 및 그 방법
JP4432866B2 (ja) * 2005-09-26 2010-03-17 日本電気株式会社 Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
US20090109337A1 (en) * 2006-03-27 2009-04-30 Pioneer Corporation Video display apparatus and video display method
KR101517618B1 (ko) * 2008-10-31 2015-05-04 삼성전자주식회사 웹 컨텐츠를 효율적으로 디스플레이하기 위한 장치 및 방법
JP2010237949A (ja) * 2009-03-31 2010-10-21 Just Syst Corp データ提供装置、データ提供方法およびデータ提供プログラム
KR101058525B1 (ko) * 2009-10-09 2011-08-23 삼성전자주식회사 텍스트 입력방법 및 이를 적용한 디스플레이 장치
US8448214B2 (en) * 2009-11-17 2013-05-21 Broadcom Corporation Method and system for providing complete internet anywhere with partial server processing
JP5573202B2 (ja) * 2010-01-29 2014-08-20 船井電機株式会社 携帯端末および情報表示連動システム
US8694177B2 (en) 2010-03-12 2014-04-08 GM Global Technology Operations LLC Flexible vehicle display
KR20120015931A (ko) * 2010-08-13 2012-02-22 삼성전자주식회사 휴대용 전자 장치 및 그것의 디스플레이 미러링 방법
US8554938B2 (en) * 2010-08-31 2013-10-08 Millind Mittal Web browser proxy-client video system and method
US8594727B2 (en) * 2010-09-13 2013-11-26 Ricoh Co., Ltd. Mobile device input/output interface expansion device and system having the same
US8589800B2 (en) * 2010-12-10 2013-11-19 Wyse Technology Inc. Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
US8958018B2 (en) * 2010-12-22 2015-02-17 Google Technology Holdings LLC Remote control device and method for controlling operation of a media display system
KR101195520B1 (ko) * 2012-02-22 2012-10-29 알서포트 주식회사 모바일 단말을 원격 제어하는 방법 및 장치
JP2013239104A (ja) * 2012-05-17 2013-11-28 Hitachi Consumer Electronics Co Ltd ネットワーク端末システム及び無線端末

Also Published As

Publication number Publication date
CN105874807A (zh) 2016-08-17
US10631048B2 (en) 2020-04-21
US20170230711A1 (en) 2017-08-10
CA2933089C (en) 2022-01-11
US10075761B2 (en) 2018-09-11
AU2014373820A1 (en) 2016-06-16
CA2933089A1 (en) 2015-07-09
CN105874807B (zh) 2020-07-10
EP3090565B1 (en) 2019-10-16
US9635393B2 (en) 2017-04-25
AU2014373820B2 (en) 2018-09-13
US20190007736A1 (en) 2019-01-03
US11470387B2 (en) 2022-10-11
US20150189338A1 (en) 2015-07-02
KR20160104022A (ko) 2016-09-02
JP6453345B2 (ja) 2019-01-16
EP3090565A1 (en) 2016-11-09
US20200252688A1 (en) 2020-08-06
JP2017509182A (ja) 2017-03-30
WO2015103315A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
US11470387B2 (en) Methods, systems, and media for remote rendering of Web content on a television device
US9836437B2 (en) Screencasting for multi-screen applications
WO2017016339A1 (zh) 视频分享方法和装置、视频播放方法和装置
US11537777B2 (en) Server for providing a graphical user interface to a client and a client
AU2016410930B2 (en) Online television playing method and apparatus
US9578079B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
US20160241891A1 (en) Distribution management apparatus, distribution method, and program
GB2594214A (en) Image display method and apparatus
EP3780628A1 (en) Information processing device, information processing method, and program
CN114374853A (zh) 内容展示方法、装置、计算机设备和存储介质
US20140297720A1 (en) Client apparatus, server apparatus, multimedia redirection system, and method thereof
KR102152627B1 (ko) 미러링 화면에 관련된 콘텐츠 출력 방법 및 그 장치
CN117076811A (zh) 一种网页导出方法、装置、设备及存储介质
CN106919376B (zh) 动态画面传输方法、伺服器装置及用户装置
EP3780627A1 (en) Information processing device, information processing method, and program
KR20160015123A (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10025550B2 (en) Fast keyboard for screen mirroring
CN117687584A (zh) 显示设备和图片显示方法
CN116744051A (zh) 一种显示设备和字幕生成方法
CN117407611A (zh) 门户上墙方法、门户上墙装置以及计算机存储介质
KR20160087256A (ko) 클라우드 스트리밍 서비스 시스템, 메시지 기반 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20160087257A (ko) 클라우드 스트리밍 서비스 시스템, 드로잉 레이어 분리를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Legal Events

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