KR101961398B1 - 효율적인 프레임 렌더링 - Google Patents

효율적인 프레임 렌더링 Download PDF

Info

Publication number
KR101961398B1
KR101961398B1 KR1020177001908A KR20177001908A KR101961398B1 KR 101961398 B1 KR101961398 B1 KR 101961398B1 KR 1020177001908 A KR1020177001908 A KR 1020177001908A KR 20177001908 A KR20177001908 A KR 20177001908A KR 101961398 B1 KR101961398 B1 KR 101961398B1
Authority
KR
South Korea
Prior art keywords
frames
dummy
encoder
component
frame
Prior art date
Application number
KR1020177001908A
Other languages
English (en)
Other versions
KR20170023122A (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 KR20170023122A publication Critical patent/KR20170023122A/ko
Application granted granted Critical
Publication of KR101961398B1 publication Critical patent/KR101961398B1/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/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • 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
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/127Updating a frame memory using a transfer of data from a source area to a destination area
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/06Consumer Electronics Control, i.e. control of another device by a display or vice versa
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/10Automotive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

사용자는 차 또는 차량 내 인포테인먼트 시스템의 인터렉티브 원격 디스플레이와 인터렉션(예를 들어, 터치 입력) 할 수 있고, 상기 인터렉션은 모바일 디바이스 상의 어플리케이션으로 보내질 수 있다. 모바일 디바이스(어플리케이션 및/또는 인코더)는 예를 들어, 사용자 인터렉션에 의한 트리거된 변화(예를 들어, 터치 디스플레이 상에 터치)가 있을 때 디스플레이 하기 위한 비디오 프레임들을 렌더링 할 수 있다. 비디오 프레임 파이프라인 내 지연은 어플리케이션에 대한 렌더링 레이트를 결정함에 의해 해소될 수 있다. 만일 어플리케이션이 어플리케이션의 일정한 렌더링 타입이 아닌 경우, 더미 프레임이 인코더로 보내질 수 있다. 파이프라인은 파이프라인이 채워질 수 있기 전에 이용가능한 프레임들의 최소값에 대한 임계치를 가질 수 있기 때문에, 더미 프레임들은 이들에 의해 파이프라인을 플러쉬하기 위해 렌더링 프레임들에 후속하여 파이프라인으로 보내질 수 있다. 즉, 프레임들의 최소 세트는 모바일 디바이스의 인코더에서 자동차의 인포테인먼트 시스템의 디코더로 전송된다.

Description

효율적인 프레임 렌더링{EFFICIENT FRAME RENDERING}
스트리밍 비디오 시스템에서, 비디오 프레임들은 인코더(encoder)에 의해 렌더링(redering)될 수 있다. 예를 들면, 인코더는 비디오 스트림을 압축하거나, 그리고/또는 비디오 스트림을 상기 비디오 스트림이 보여질 디스플레이와 호환가능한 포맷 및/또는 해상도로 인코딩 할 수 있다. 비디오를 렌더링 하는 디바이스와 디스플레이 사이의 연결은 유선(예를 들어, USB) 또는 무선(예를 들어, WiFi, 블루투스) 연결일 수 있다. 디스플레이와 관련된 디코더(decoder)는 상기 디코더가 수신한 인코딩된 비디오 프레임들을 디코딩 할 수 있다. 비디오가 일정한 프레임 레이트(frame rate)로 렌더링 될 때, 디스플레이는 새로운 프레임들로 연속적으로 업데이트 될 수 있다.
구현예에 따르면, 모바일 디바이스는 원격 디스플레이(remote display) 상의 터치 입력의 표시(indication)를 수신할 수 있다. 상기 원격 디스플레이는 상기 모바일 디바이스와 별개이고 상기 터치 입력은 상기 디스플레이 상에 보여지는 어플리케이션에 대한 변화(change)와 관련될 수 있다. 상기 모바일 디바이스는 상기 어플리케이션에 대한 렌더링 레이트(rendering rate)를 결정할 수 있다. 상기 렌더링 레이트에 기초하여, 상기 모바일 디바이스의 인코더는 적어도 하나의 더미 응답(dummy response)를 받을 수 있다. 상기 적어도 하나의 더미 프레임을 포함하는 복수의 프레임들이 렌더링될 수 있다. 상기 렌더링은 상기 인코더의 파이프라인(pipeline)을 채울(fill)수 있다. 상기 채워진 파이프라인을 포함하는 상기 복수의 프레임들은 상기 디스플레이에 연결된 디코더로 보내질 수 있다.
모바일 디바이스에 연결된 프로세서를 포함하는 시스템이 개시된다. 상기 프로세서는 원격 디스플레이 상의 터치 입력의 표시를 수신하도록 구성될 수 있다. 상기 원격 디스플레이는 상기 모바일 디바이스와 별개이고 상기 터치 입력은 상기 디스플레이 상에 보여지는 어플리케이션에 대한 변화와 관련될 수 있다. 상기 프로세서는 상기 어플리케이션에 대한 렌더링 레이트를 결정하도록 구성될 수 있다. 상기 프로세서는 상기 렌더링 레이트에 기초하여, 적어도 하나의 더미 프레임을 상기 모바일 디바이스의 인코더로 보내도록 구성될 수 있다. 상기 프로세서는 상기 적어도 하나의 더미 프레임을 포함하는 복수의 프레임들을 렌더링할 수 있다. 상기 렌더링은 상기 인코더의 파이프라인을 채울 수 있다. 상기 프로세서는 상기 채워진 파이프라인을 구성하는 상기 복수의 프레임들을 상기 디스플레이에 연결된 디코더로 보내도록 구성될 수 있다.
구현예에서 프로세스가 개시되며, 상기 구현예에서 인포테인먼트 시스템으로부터 수신된 입력에 응답하여 적어도 하나의 프레임이 생성된다. 렌더링 레이트는 일정하지 않는 것으로 결정될 수 있다. 적어도 하나의 더미 프레임과 상기 적어도 하나의 프레임은 인코더로 보내질 수 있다. 상기 인코더는 하나 이상의 렌더링된 프레임들을 형성하기 위해, 상기 적어도 하나의 더미 프레임과 상기 적어도 하나의 프레임을 렌더링할 수 있다. 상기 하나 이상의 렌더링된 프레임들은 상기 인포테인먼트 시스템에 연결된 디코더로 보내질 수 있다. 상기 인포테인먼트 시스템은 상기 하나 이상의 프레임들을 디스플레이할 수 있다.
구현예에서, 현재 개시된 본 발명에 따른 시스템은 인포테인먼트 시스템으로부터 수신된 입력에 응답하여 하나 이상의 프레임들을 생성하기 위한 수단들을 포함한다. 이는 렌더링 레이트가 일정하지 않음을 결정하기 위한 수단들을 포함할 수 있다. 상기 시스템은 하나 이상의 더미 프레임들과 상기 하나 이상의 프레임들을 인코더로 보내기 위한 수단들을 포함할 수 있다. 상기 시스템은 렌더링된 프레임들을 형성하기 위해, 상기 하나 이상의 더미 프레임들과 상기 하나 이상의 프레임들을 렌더링하기 위한 인코더 수단들을 포함할 수 있다. 상기 시스템은 상기 렌더링된 프레임들을 상기 인포테인먼트 시스템에 연결된 디코더로 보내기 위한 수단들을 포함할 수 있다. 상기 인포테인먼트 시스템은 상기 렌더링된 프레임들을 디스플레이 하기 위한 수단들을 포함할 수 있다.
개시된 본 발명의 추가적인 구성들, 이점들 및 구현예들은 다음의 상세한 설명, 도면들, 및 청구항들로부터 설명되거나 명백해질 수 있다. 또한, 전술한 요약 및 다음의 상세한 설명 모두는 구현예들의 예시들을 제공하고, 청구항들의 권리범위를 제한함이 없이 추가적인 설명을 제공하기 위한 것으로 의도됨이 이해될 것이다.
개시된 본 발명의 추가적인 이해를 제공하기 위해 포함된 첨부 도면들은 본 명세서의 일부에 통합되고 이를 구성한다. 또한, 도면들은 개시된 본 발명의 구현예들을 도시하고, 상세한 설명과 함께 개시된 본 발명의 구현예들의 원리들을 설명한다. 개시된 본 발명 및 그 것이 실행될 수 있는 다양한 방식들의 근본적인 이해를 위해 필요한 것보다 구조적인 세부사항들을 더 상세히 보여주려는 시도를 하지 않는다.
도 1은 본 명세서에 개시된 바와 같이, 인포테인먼트 시스템의 디스플레이를 구동하기 위해 이용되는 모바일 디바이스의 예시적인 시스템을 보여준다.
도 2는 본 명세서에 개시된 바와 같이, 원격 디스플레이 상에서 비디오 프레임들을 렌더링 하기 위한 예시적인 프로세스이다.
도 3은 본 명세서에 개시된 바와 같이, 원격 디스플레이 상에서 비디오 프레임들을 렌더링 하기 위한 예시적인 프로세스이다.
도 4는 본 명세서에 개시된 바와 같이, 인코더에 의해 렌더링 되고 인포테인먼트 시스템에 연결된 디코더로 보내질 하나 이상의 더미 프레임들을 생성하기 위한 예시적인 프로세스이다.
도 5는 개시된 본 발명의 구현예에 따른 컴퓨터를 보여준다.
도 6은 개시된 본 발명의 구현예에 따른 네트워크 구성을 보여준다.
사용자는 다양한 방식으로(예컨데, 터치에 의해, 키를 누르는 것에 의해, 또는 다이얼을 턴하는 것에 의해) 디스플레이와 인터렉트(interact)할 수 있다. 사용자 인터렉션에 대한 비디오 인코더는 사용자의 입력(예컨데, 터치)에 응답하여 디스플레이 상에 비디오를 효율적으로 렌더링 하는데 어려움을 가질 수 있다. 일반적인 비디오 인코더는 인코딩된 프레임을 형성하기 위해 여러 개의 프레임들을 요구하는 파이프라인(pipeline)으로서 동작한다. 이는 디스플레이가 주기적으로만 업데이트 되는 경우 문제될 수 있다. 만일 비디오가 일정한 레이트(예컨데, 초당 30프레임(frames per second: "FPS"))로 렌더링 되는 경우, 스크린은 일정하게 리프레쉬(refresh)될 수 있다. 만일 디스플레이를 구동하는 디바이스가 충분히 강력(powerful)하다면, 이는 어려움 없이 일정한 레이트로 디스플레이를 구동할 수 있다. 그러나, 만일 디바이스가 덜 강력하다면(예컨데, 모바일 디바이스와 같이), 디스플레이 상에 변화를 보여주는 것이 필요한 경우에만 디스플레이를 위한 프레임을 렌더링 하는 것이 유리할 수 있다. 예를 들면, 사용자가 디스플레이를 터치하는 경우, 디스플레이를 통해 사용자가 인터렉트 하는 어플리케이션은 디스플레이의 작은 부분만을 업데이트 할 수 있다. 인코더는, 예를 들면, 하나 또는 두 개의 프레임을 렌더링 할 수 있고, 이를 디스플레이에 연결된 디코더에 보낼 수 있다.
도 1은 인포테인먼트 시스템(160)의 디스플레이(140)를 구동하기 위해 이용되는 모바일 디바이스(130)의 예시적인 시스템을 보여준다. 이는 프로젝트된 아키텍처(projected architecture)로서 지칭될 수 있다. 모바일 디바이스(130)는 디스플레이 해상도, 화면 비율(aspect ratio), 하나 이상의 버튼들, 및 하나 이상의 다이얼들에 관한 인포테인먼트 시스템의 레이아웃의 표시를 수신할 수 있다. 마찬가지로, 인포테인먼트 시스템(160)의 다른 기능(예컨데, 라디오 또는 차량의 온도 제어)은 프로젝트된 아키텍처 시스템의 모바일 디바이스(130)에 의해 제어될 수 있다. 모바일 디바이스(130)는 USB 케이블 또는 다른 유선 또는 무선 연결을 사용하여, 차량(170)(또는 다른 원격 시스템)에 연결될 수 있다. 모바일 디바이스(130)에 대한 인코더(120)는 전력 제약들로 인해 2이상의 스테이지들(stages)을 갖는 파이프라인을 이용할 수 있다. 예를 들면, 3-스테이지 파이프라인은 전송될 3개의 프레임들을 가질 때까지, 인코딩된 프레임들을 보내는 것을 대기할 수 있다. 그러므로, 인코더(120)가 어플리케이션(110)으로부터 렌더링 할 3개의 프레임들을 수신하지 않는 한 그리고 그때까지, 인포테인먼트 시스템(160)의 디스플레이(140)는 어떠한 변화도 보여주지 않을 수 있다. 만일 하나의 사용자 인터페이스 업데이트만이 있다면(예를 들어, 렌더링 되는 하나의 프레임만이 있다면), 인코더(120)는 3-스테이지 파이프라인을 채우기 위해 2개의 프레임들을 더 가질 때까지 변화를 보여주는 렌더링된 프레임을 보내는 것을 대기하고 있기 때문에, 디스플레이(140)는 사용자 인터렉션으로 인한 변화를 반영하는데 실패할 수 있다. 일단 파이프라인이 채워지면, 렌더링된 비디오 프레임들은 인포테인먼트 시스템(160)에 연결된 디코더(150)로 보내질 수 있다.
본 명세서에 개시된 바와 같이, 인코더(예를 들어, 모바일 디바이스)는 인포테인먼트 디스플레이 상에 보여지는 모바일 디바이스 상에서 동작하는 하나 이상의 어플리케이션의 렌더링 레이트에 기초하여 더미 프레임이 요구되는 경우를 결정할 수 있다. 더미 프레임은 예를 들어, 시스템에게 선행하는 프레임을 보여줄 것을 명령(instruct)하는 짧고, 단순한 프레임 표시기로 지칭될 수 있다. 더미 프레임은 작기 때문에, 압축된 비디오 프레임이 작고 그리고/또는 더 쉽게 전송되도록 유지하는 것을 돕는다. 더미 프레임은 어플리케이션이 일정한 렌더링 어플리케이션이 아닌 경우들에서 파이프라인을 푸쉬(push)하는 것을 도울 수 있다. 예를 들면, 만일 어플리케이션이 영화를 보여주고 있고 상기 영화가 30 FPS로 렌더링 되는 경우, 더미 프레임은 유용하지 않을 수 있다. 그러나, 만일 어플리케이션이 사용자 인터페이스 컴포넌트를 업데이트 하고 있는 경우, 이는 연속적으로 보다는 주기적으로 하나 또는 몇 개의 프레임들을 렌더링 할 수 있다. 이는 파이프라인 지연 문제(pipeline latency issue)로서 반영될 수 있고, 이는 본 명세서에 개시된 바와 같이 인포테인먼트 시스템 및/또는 이에 연결된 디코더의 디스플레이로 보내질 렌더링된 프레임들의 다음 세트에 대한 파이프라인을 클리어(clear)하고자 파이프라인의 채워지지 않은 스테이지들을 채우기 위해 하나 이상의 더미 프레임들을 보냄으로써 해결될 수 있다.
더미 프레임이 필요한지 여부의 결정은 렌더링 레이트에 기초할 수 있다. 렌더링 레이트는 여러 가지 방식들로 결정될 수 있다. 시스템은 시구간 동안 인코더의 처리량(throughput)을 기록할 수 있고, 처리량에 따라 인코더에 의한 렌더링의 레이트를 할당할 수 있다. 인코더에 지시하는(directing) 어플리케이션은 렌더링 레이트의 표시를 제공할 수 있다. 예를 들면, 영화 렌더링 어플리케이션은 상기 영화 렌더링 어플리케이션은 일정한 렌더링 어플리케이션이며, 더미 프레임을 요구하지 않는다는 표시를 제공할 수 있다. 유사하게, 수신된 사용자 입력의 타입은 사용자의 입력에 응답하는데 필요할 수 있는 렌더링 양의 표시를 제공할 수 있다. 예를 들면, 사용자가 디스플레이 상에 형태(shape)를 그리는 경우, 시스템은 사용자의 추가적인 입력을 예상하여 인코더에 더미 프레임을 보내는 것을 대기할 수 있다. 그러므로, 더미 프레임을 보내는 결정은 렌더링의 패턴, 입력의 타입, 및 어플리케이션의 타입에 기초할 수 있다.
도 2의 예시에 도시된 바와 같이, 원격 디스플레이 상에 비디오 프레임들을 렌더링하기 위한 프로세스가 개시된다. 단계(210)에서, 모바일 디바이스는 원격 디스플레이 상의 입력의 표시를 수신할 수 있다. 원격 디스플레이는 차량에 통합되는 인포테인먼트 시스템의 컴포넌트일 수 있다. 입력은, 예를 들면, 원격 디스플레이 상의 터치 입력일 수 있다. 모바일 디바이스는 원격 디스플레이를 구동할 수 있다. 예를 들면, 네비게이션 어플리케이션은 모바일 디바이스 상에서 동작하고, 추가적으로 원격 디스플레이 상에 또는 대신에 모바일 디바이스의 디스플레이 상에 보여질 수 있다. 사용자는 원격 디스플레이 상의 소프트 버튼(soft button)을 선택하였을 수 있다. 터치 입력의 위치가 모바일 디바이스로 보내질 수 있다. 어플리케이션은 터치 입력의 위치가 소프트 버튼에 대응하고 이는 원격 디스플레이에 대한 업데이트를 요구하는 구성과 관련될 수 있음을 결정할 수 있다.
단계(220)에서, 모바일 디바이스는 어플리케이션에 대한 렌더링 레이트를 결정할 수 있다. 전술된 바와 같이, 렌더링 레이트는 어플리케이션, 입력의 타입, 렌더링의 패턴에 기초하여 결정될 수 있다. 어플리케이션은 일정한 렌더링 레이트일 수 있고, 이 경우 모바일 디바이스는 그로부터 수신된 입력에 응답하여 원격 디스플레이에 대해 적절한 프레임들을 렌더링 할 수 있다. 만일 렌더링 레이트가 주기적이거나 또는 일정하지 않은 것으로 결정되었다면, 단계(230)에서 모바일 디바이스는 하나 이상의 더미 프레임들을 인코더로 보낼 수 있다. 일부 경우들에서, 모바일 디바이스는 임계 렌더링 레이트(threshold rendering rate)로 미리 구성될 수 있고, 상기 임계 렌더링 레이트 보다 낮은 경우 모바일 디바이스는 더미 프레임들을 보낼 수 있고, 상기 임계 렌더링 레이트 보다 높은 경우 모바일 디바이스는 어떠한 더미 프레임들도 보내지 않을 수 있다. 더미 프레임들은 생성될 수 있고, 선행하는 프레임 또는 후속 프레임을 이용해야 하는 것을 디스플레이로 표시하는 컴퓨터적인 코드(computational code)일 수 있다.
이전에 기술된 바와 같이, 파이프라인은 단일 프레임에 대응하는 하나 이상의 스테이지들을 포함할 수 있다. 단계(240)에서, 하나 이상의 프레임들은, 임의의 더미 프레임들을 포함하여, 인코더에 의해 렌더링 될 수 있다. 더미 프레임들의 충분한 수가 제공되어 파이프라인이 채워지도록 하고, 단계(250)에서 모바일 디바이스로 하여금 렌더링된 프레임들을 인코더에서 디스플레이에 연결된 디코더로 전송하도록 한다. 일단 파이프라인 내 프레임들이 전송되면, 모바일 디바이스는 파이프라인을 클리어 할 수 있고, 인코더는 파이프라인을 프레임들로 채우기 위해 다시 대기 할 수 있다. 제공된 더미 프레임들의 수는 렌더링 레이트와 상관될 수 있다. 만일 모바일 디바이스가 디스플레이의 일부를 업데이트 하고 있다면, 파이프라인을 채우기 위해 프레임들의 충분한 수가 제공되어야 함을 결정할 수 있다.
도 3은 모바일 디바이스(310) 및 자동차 인포테인먼트 시스템(340)의, 예를 들면, 원격 디스플레이(360) 중 하나 이상을 포함할 수 있는 시스템의 예시를 도시한다. 모바일 디바이스(310)는 그 것의 디스플레이, 프로세서(322), 컴퓨터 판독가능한 메모리(324)를 가질 수 있다. 모바일 디바이스(310)는 하나 이상의 어플리케이션들(320)과 동시에 동작할 수 있다. 어플리케이션들(320) 각각은 렌더링 레이트 또는 어플리케이션의 타입과 관련될 수 있다. 예를 들면, 어플리케이션(320)은 요청시 그것의 렌더링 레이트가 무엇인지를 프로세서에 표시할 수 있다. 어플리케이션은 일정한 렌더링 레이트와 관련된 어플리케이션의 영화 타입일 수 있다. 모바일 디바이스(310)는 프로세서(322)의 지시로 하나 이상의 프레임들을 렌더링 하도록 구성된 인코더(330)를 가질 수 있다. 인코더(330)는, 예를 들면, 그것이 렌더링 하는 프레임들의 해상도, 포멧, 및 압축을 조정할 수 있다. 인코더(330)는 하나 이상의 더미 프레임들을 생성하는 것에 책임이 있을 수 있다. 예를 들면, 인코더는 선행하는 프레임을 이용하기 위해 원격 디스플레이의 디코더에 지시하는 컴퓨터 판독가능한 코드를 포함하는 프레임을 생성할 수 있다.
프로세서(322)는 인포테인먼트 시스템(340)의 원격 디스플레이(360)로부터 입력의 표시를 수신하도록 구성될 수 있다. 입력은 만일 원격 디스플레이(360)가 터치스크린인 경우 터치 및/또는 인포테인먼트 시스템(340)에 연결된 버튼 또는 손잡이(knob)를 이용하여 제공될 수 있다. 입력은 유선 또는 무선 연결(370)에 의해 모바일 디바이스(310)로 보내질 수 있다. 모바일 디바이스(310) 상에서 동작하는 어플리케이션(320)은 입력이 원격 디스플레이(360)에 대한 업데이트를 요구하는지 여부를 결정할 수 있다. 만일 업데이트가 원격 디스플레이(360)의 일부 또는 전부에 대해 요구된다면, 모바일 디바이스(310)는 어플리케이션(320)에 대한 렌더링 레이트를 결정할 수 있다. 전술된 바와 같이, 하나 이상의 어플리케이션(320)은 모바일 디바이스(310) 상에서 동시에 이용될 수 있다. 그러므로, 프로세서(322)는 단일 어플리케이션(320) 대신에 인코더(330)의 활동(activity)에 기초하여 렌더링 레이트를 결정할 수 있다. 다른 예시로서, 상기 프로세서(322)는 현재 모바일 디바이스(310) 상에서 동작하는 모든 어플리케이션들에 대한 총 렌더링 레이트(sum rendering rate)를 결정할 수 있다. 프로세서는 렌더링 레이트에 기초하여, 적어도 하나의 더미 프레임을 인코더(330)로 보낼 수 있다. 상기 진술된 바와 같이, 인코더(330)는 일부 구성들에서 더미 프레임을 생성하는 것에 책임이 있을 수 있다. 적어도 하나의 더미 프레임을 포함하는 비디오 프레임들이 렌더링 되어, 인코더의 파이프라인이 완전히 채워지도록 한다. 그 후, 인코더(330)는 렌더링된 프레임들을 원격 디스플레이(360)에 연결된 디코더(350)로 전송할 수 있다.
구현예에 있어, 상기 구현예의 예시가 도 4에서 제공되며, 단계(410)에서, 전술된 바와 같이 인포테인먼트 시스템에서 수신된 입력에 기초하여 적어도 하나의 프레임이 생성될 수 있다. 프레임은 인포테인먼트 시스템에 연결된 원격 디스플레이 상에 보여지는 사용자 인터페이스의 일부의 업데이트에 대응할 수 있다. 업데이트에 대한 렌더링 레이트는 일정한 레이트(예를 들어, 30 FPS) 또는 임계 레벨(예를 들어, 1 FPS 아래) 보다 낮을 수 있다. 단계(420)에서, 모바일 디바이스는 이전에 기술된 바와 같이 렌더링 레이트를 결정할 수 있다. 하나 이상의 더미 프레임들은 인코더의 파이프라인 내로 포함될 수 있다. 더미 프레임은 인코더 자체에 의해 생성되거나 그리고/또는 파이프라인 내로 삽입될 수 있다. 일부 구성들에서, 단계(430)에서 더미 프레임은 모바일 디바이스에 의해 생성되고, 인코더로 보내질 수 있다. 단계(440)에서, 인코더는 원격 디스플레이의 업데이트와 관련된 임의의 더미 프레임들 및 비디오 프레임들을 렌더링 할 수 있다. 렌더링 프로세스는 적절한 순서로 프레임들을 파이프라인에 삽입하는 것, 비디오 스트림을 압축하는 것, 비디오 스트림을 포맷하는 것(예를 들어, 스트림을 구성하는 비디오 프레임들), 비디오 프레임들의 해상도를 조정하는 것 등을 수반할 수 있다. 단계(450)에서, 렌더링된 프레임들은 인포테인먼트 시스템에 연결된 디코더로 보내질 수 있다. 디코더는 인포테인먼트 시스템의 원격 디스플레이 상에서 프리젠테이션(presentation)하기 위한 비디오 프레임들을 적응시킬 수 있다.
구현예들은 콘텐츠의 디스플레이 및 인포테인먼트 시스템과의 사용자 인터렉션을 구동하는 모바일 디바이스를 포함하는 프로젝트된 아키텍처 시스템의 컨텍스트(context)에서 전술된다. 그러나, 본 명세서에 개시된 구현예들은 다른 구성들과 호환가능 할 수 있다. 예를 들면, 제1 모바일 디바이스는 제2 모바일 디바이스 상의 콘텐츠의 디스플레이를 구동할 수 있다. 제2 모바일 디바이스는 제1 모바일 디바이스를 통해, 제2 모바일 디바이스의 디스플레이 상에 보여지는 콘텐츠와 인터렉트 할 수 있다. 예시로서, 제1 모바일 디바이스는 비디오 게임을 호스트(host)하고, 제1 모바일 디바이스의 디스플레이뿐만 아니라 제2 모바일 디바이스의 디스플레이 상의 비디오 게임의 액션에 업데이트들을 제공할 수 있다.
현재 개시된 본 발명의 구현예들은 다양한 컴포넌트 및 네트워크 아키텍처들에서 구현될 수 있고 이들과 함께 사용될 수 있다. 도 5는 현재 개시된 본 발명의 구현예들에 적합한 예시적인 컴퓨터(20)이다. 컴퓨터(20)는, 중앙 프로세서(24), 메모리(27)(일반적으로는 RAM이나, ROM, 플래시 RAM 또는 기타 등등 역시 포함함), 입력/출력 제어기(28), 디스플레이 어댑터를 통한 디스플레이 스크린과 같은 사용자 디스플레이(22), 하나 이상의 제어기들 및 키보드, 마우스 및 기타 등등과 같은 관련 사용자 입력 디바이스들을 포함할 수 있고, I/O 제어기(28)에 밀접하게 연결될 수 있는 사용자 입력 인터페이스(26), 하드 드라이브, 플래시 저장소, 섬유 채널 네트워크, SAN 디바이스, SCSI 디바이스 및 기타 등등과 같은 고정된 저장소(23), 및 광학 디스크, 플래시 드라이브 및 기타 등등을 제어하고 수신하도록 동작가능한 탈착가능한 매체 컴포넌트(25)와 같은 컴퓨터(20)의 주요 컴포넌트들을 상호연결하는 버스(21)를 포함한다.
버스(21)는 중앙 프로세서(24)와 메모리(27) 사이의 데이터 통신을 할 수 있게 하고, 상기 메모리는 이전에 언급한 바와 같이, 판독 전용 메모리(ROM) 또는 플래시 메모리(모두 도시되지 않음) 및 랜덤 액세스 메모리(RAM)(미도시)를 포함할 수 있다. RAM은 일반적으로 운영 체제 및 어플리케이션 프로그램들이 로딩되는 메인 메모리이다. ROM 또는 플래시 메모리는 다른 코드 중에서도 특히, 주변 컴포넌트들과의 인터랙션과 같은 기본 하드웨어 동작을 제어하는 기본 입력 출력 시스템(BIOS)을 포함할 수 있다. 컴퓨터(20)에 상주하는 어플리케이션들은 일반적으로 하드 디스크 드라이브(예를 들어, 고정된 저장소(23)), 광학 드라이브, 플로피 디스크 또는 다른 저장 매체(25)와 같은 컴퓨터 판독가능 매체 상에 저장되고 이를 통해 액세스될 수 있다.
고정된 저장소(23)는 컴퓨터(20)와 통합될 수 있거나, 또는 별개일 수 있고 다른 인터페이스들을 통해 액세스될 수 있다. 네트워크 인터페이스(29)는 전화 링크를 통해 원격 서버로의, 인터넷 서비스 제공자(ISP)를 통해 인터넷으로의 직접 연결을 제공하거나 또는 직접 네트워크 링크를 통해 원격 서버로의, POP(point of presence) 또는 다른 기법을 통해 인터넷으로의 직접 연결을 제공할 수 있다. 네트워크 인터페이스(29)는 디지털 셀룰러 전화 연결, 셀룰러 디지털 패킷 데이터(CDPD) 연결, 디지털 위성 데이터 연결 또는 기타 등등을 포함하는 무선 기법들을 이용하여 이러한 연결을 제공할 수 있다. 예를 들면, 도 9에 도시된 바와 같이, 네트워크 인터페이스(29)는 컴퓨터로 하여금 하나 이상의 로컬, 광역 또는 다른 네트워크들을 통해 다른 컴퓨터들과 통신할 수 있도록 할 수 있다.
많은 다른 디바이스들 또는 컴포넌트들(미도시)(예컨대, 문서 스캐너들, 디지털 카메라들 등등)이 유사한 방식으로 연결될 수 있다. 대조적으로, 도 5에 도시된 컴포넌트들 모두가 본 발명을 실시하기 위해 반드시 존재하여야 하는 것은 아니다. 상기 컴포넌트들은 도시된 것과 다른 방식들로 상호연결 될 수 있다. 도 5에 도시된 것과 같은 컴퓨터의 동작은 이 기술 분야에 잘 알려져 있고 본 출원에서 상세히 논의되지 않는다. 본 발명을 구현하기 위한 코드는 메모리(27), 고정된 저장소(23), 탈착가능한 매체(25) 중 하나 이상과 같은 컴퓨터-판독가능 저장 매체에 저장될 수 있다.
도 6은 개시된 본 발명의 실시예들에 따른 예시적인 네트워크 구성을 도시한다. 로컬 컴퓨터들, 스마트 폰들, 태블릿 컴퓨팅 디바이스들 및 기타 등등과 같은 하나 이상의 클라이언트들(10, 11)은 하나 이상의 네트워크들(7)을 통해 다른 디바이스들에 연결될 수 있다. 네트워크는 로컬 네트워크, 광역 네트워크, 인터넷 또는 어떤 다른 적절한 통신 네트워크 또는 네트워크들일 수 있고, 유선 및/또는 무선 네트워크들을 포함하는 임의의 적절한 플랫폼 상에서 구현될 수 있다. 클라이언트들은 하나 이상의 서버들(13) 및/또는 데이터베이스들(15)과 통신할 수 있다. 디바이스들은 클라이언트들(10, 11)에 의해 직접적으로 액세스 할 수 있거나, 또는 하나 이상의 다른 디바이스들은 서버(13)가 데이터베이스(15)에 저장된 리소스들로의 액세스를 제공하는 경우와 같이 중재 액세스(intermediary access)를 제공할 수 있다. 또한, 클라이언트들(10, 11)은 원격 플랫폼(17) 또는 클라우드 컴퓨팅 구성들 및 서비스들과 같은 원격 플랫폼들(17)에 의해 제공되는 서비스들에 액세스할 수 있다. 원격 플랫폼(17)은 서버들(13) 및/또는 데이터베이스들(15)을 포함할 수 있다.
더욱 일반적으로는, 현재 개시된 본 발명의 다양한 실시예들은 컴퓨터로 구현되는 프로세스들 및 이 프로세스들을 실시하기 위한 장치들을 포함하거나 또는 이의 형태로 구현될 수 있다. 또한, 실시예들은 플로피 디스켓들, CD-ROM들, 하드 드라이브들, USB(universal serial bus) 드라이브들 또는 어떤 다른 머신 판독가능 저장 매체와 같은 비일시적 그리고/또는 유형 매체에 수록된 명령어들을 포함하는 컴퓨터 프로그램 코드를 갖는 컴퓨터 프로그램 물의 형태로 구현될 수 있으며, 상기 컴퓨터 프로그램 코드가 컴퓨터에 로딩되고 컴퓨터에 의해 실행될 때, 상기 컴퓨터는 개시된 본 발명의 실시예들을 실시하기 위한 장치가 된다. 또한, 실시예들은 예컨대, 저장 매체에 저장되고, 컴퓨터에 로딩되고 그리고/또는 상기 컴퓨터에 의해 실행되든 또는 전기 배선 또는 케이블을 통해, 광섬유(fiber optics)를 통해 또는 전자기 방사를 통해서와 같이 어떤 전송 매체를 통해 전송되든 컴퓨터 프로그램 코드의 형태로 구현될 수 있고, 상기 컴퓨터 프로그램 코드가 컴퓨터에 로딩되고 상기 컴퓨터에 의해 실행될 때, 상기 컴퓨터는 개시된 본 발명의 실시예들을 실시하기 위한 장치가 된다. 범용 마이크로프로세서 상에서 구현될 때, 상기 컴퓨터 프로그램 코드 세그먼트들은 상기 마이크로프로세서가 특정 로직 회로들을 생성하도록 구성한다. 일부 구성들에서, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 판독가능 명령어들의 세트는 범용 프로세서에 의해 구현될 수 있고, 이는 상기 범용 프로세서 또는 상기 범용 프로세서를 포함하는 디바이스를 상기 명령어들을 구현 또는 수행하도록 구성된 특수 디바이스로 변환시킬 수 있다. 실시예들은, 하드웨어 및/또는 펌웨어에서 개시된 본 발명의 실시예들에 따른 기법들 모두 또는 일부를 구현하는 범용 마이크로프로세서 및/또는 응용 주문형 집적 회로(ASIC)와 같은 프로세서를 포함할 수 있는 하드웨어를 이용하여 구현될 수 있다. 상기 프로세서는 RAM, ROM, 플래시 메모리, 하드 디스크 또는 전자적 정보를 저장할 수 있는 어떤 다른 디바이스와 같은 메모리에 결합될 수 있다. 상기 메모리는 개시된 본 발명의 실시예들에 따른 기법들을 수행하도록 상기 프로세서에 의해 실행되도록 된 명령어들을 저장할 수 있다.
개시된 본 발명의 구현예들이 사용자들에 대한 개인 정보를 수집하거나 또는 개인 정보를 이용할 수 있는 상황들에서, 사용자들은 프로그램들 또는 구성들이 사용자 정보(예를 들어, 사용자의 제공된 입력, 사용자의 지리적 위치, 및 사용자와 관련된 임의의 다른 유사한 데이터)를 수집할지 여부를 제어하기 위한, 또는 사용자에 더 관련될 수 있는 데이터를 제공자로부터 수신할지 여부 및/또는 수신하는 방법을 제어하기 위한 기회를 제공받을 수 있다. 추가적으로, 특정 데이터는 저장되거나 사용되기 전에 하나 이상의 방식들로 처리될 수 있어, 개인적으로 식별가능한 정보가 제거되도록 한다. 예를 들면, 사용자의 신원이 처리되어 사용자를 위해 개인적으로 식별가능한 정보가 결정될 수 없도록 하거나, 위치 정보가 획득되는 곳에서 사용자의 지리적 위치가 일반화 되어(예컨대, 시(city), 우편 번호(ZIP code), 또는 주 레벨(state level)로) 사용자의 특정 위치가 결정될 수 없도록 할 수 있다. 그러므로, 사용자는 정보가 사용자에 대해 수집되는 방법에 대한 제어 및 본 명세서에 개시된 시스템들에 의해 사용되는 방법에 대한 제어를 가질 수 있다.
설명의 목적을 위해 전술한 상세한 설명은 특정 실시예들에 대한 참조로 기술되었다. 그러나, 상기 예시적인 논의들은 완전한(exhaustive) 것이거나 개시된 정확한 형태들로 개시된 본 발명의 실시예들을 한정하는 것으로 의도된 것이 아니다. 많은 수정들 및 변형들이 상기 교시들의 관점에서 가능하다. 실시예들은 개시된 본 발명의 실시예들 및 이의 실용적 응용들의 원리들을 설명하기 위해 선택되고 기술되었으며, 그럼으로써 당해 기술분야의 통상의 기술자들로 하여금 이들 실시예들뿐만 아니라 다양한 수정들을 갖는 다양한 실시예들을 고려되는 특정 사용에 적절하게 이용할 수 있도록 한다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서, 상기 방법은:
    디바이스로부터 원격이며 자동차에 통합되는 인포테인먼트 시스템의 컴포넌트로부터, 상기 컴포넌트로 입력되는 입력을, 상기 디바이스에 의해서 수신하는 단계;
    상기 디바이스에 의해서, 어플리케이션에 대한 렌더링 레이트(rendering rate)를 결정하는 단계;
    상기 디바이스에 의해서 그리고 상기 렌더링 레이트에 응답하여, 더미 프레임(dummy frame)을 생성하는 단계;
    상기 디바이스에 의해서 상기 디바이스의 인코더에 상기 더미 프레임을 포함하는 복수의 프레임들을 제공하는 단계;
    상기 인코더에 의해서 상기 더미 프레임을 포함하는 복수의 프레임들을 렌더링하는 단계; 및
    상기 디바이스에 의해서 상기 컴포넌트로 상기 복수의 프레임들을 제공하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 복수의 프레임들은 상기 더미 프레임 및 정규적으로(regularly) 렌더링된 프레임을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 컴포넌트는 디스플레이를 포함하고, 상기 입력은 터치를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 더미 프레임을 생성하는 단계 이전에, 상기 디바이스에 의해서, 상기 렌더링 레이트가 임계 레벨(threshold level) 보다 낮음을 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    상기 더미 프레임을 생성하는 단계 이전에, 상기 디바이스에 의해서, 상기 렌더링 레이트가 일정하지 않음(non-constant)을 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    상기 디바이스에 의해서 상기 컴포넌트로 상기 복수의 프레임들을 제공하는 단계는, 상기 컴포넌트의 디코더로 상기 복수의 프레임들을 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 복수의 프레임들은, 상기 컴포넌트 상에 상기 어플리케이션의 프리젠테이션의 일부분에 대한 업데이트를 나타내는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 컴포넌트는 디스플레이를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 디바이스로서,
    프로세서;
    상기 프로세서와 통신하는 인코더; 및
    상기 프로세서와 통신하며 명령들을 저장하는 비-일시적인 컴퓨터 판독가능한 매체를 포함하며,
    상기 명령들은 상기 프로세서에 의해 실행되는 때 상기 프로세서로 하여금,
    상기 디바이스로부터 원격이며 자동차에 통합되는 인포테인먼트 시스템의 컴포넌트로부터, 상기 컴포넌트로 입력되는 입력을 수신하는 동작;
    어플리케이션에 대한 렌더링 레이트를 결정하는 동작, 상기 어플리케이션은 상기 디바이스 상에서 실행되며;
    상기 렌더링 레이트에 응답하여, 더미 프레임을 생성하는 동작;
    상기 인코더에 상기 더미 프레임을 포함하는 복수의 프레임들을 제공하는 동작;
    상기 인코더로 하여금 상기 더미 프레임을 포함하는 복수의 프레임들을 렌더링하게 하는 동작; 및
    상기 컴포넌트로 상기 복수의 프레임들을 제공하는 동작
    을 포함하는 동작들을 수행하게 하는 것을 특징으로 하는 디바이스.
  10. 제9항에 있어서,
    상기 더미 프레임을 생성하는 동작은 상기 인코더에 의해서 상기 더미 프레임을 생성하는 동작을 포함하는 것을 특징으로 하는 디바이스.
  11. 제9항에 있어서,
    상기 인코더로 하여금 상기 더미 프레임을 포함하는 복수의 프레임들을 렌더링하게 하는 동작은,
    상기 더미 프레임을 포함하는 복수의 프레임들로 파이프라인을 채우는 동작을 포함하는 것을 특징으로 하는 디바이스
  12. 제9항에 있어서,
    상기 복수의 프레임들을 제공하는 동작은, 프로젝트된 아키텍처(projected architecture)에 따라 상기 컴포넌트로 상기 복수의 프레임들을 전송하는 동작을 포함하는 것을 특징으로 하는 디바이스
  13. 제9항에 있어서,
    상기 컴포넌트는 디스플레이를 포함하는 것을 특징으로 하는 디바이스
  14. 명령들을 저장하는 비-일시적인 컴퓨터 판독가능한 매체로서, 상기 명령들은 프로세서에 의해 실행되는 때 상기 프로세서로 하여금,
    자동차에 통합되는 인포테인먼트 시스템의 컴포넌트로부터, 상기 컴포넌트로 입력되는 입력을 수신하는 동작;
    어플리케이션에 대한 렌더링 레이트를 결정하는 동작;
    상기 렌더링 레이트에 기초하여, 더미 프레임들의 수량(quantity)을 결정하는 동작;
    상기 더미 프레임들의 수량에 대한 결정에 기초하여 더미 프레임들의 세트를 생성하는 동작;
    상기 프로세서와 통신하는 인코더에 상기 더미 프레임을 포함하는 복수의 프레임들을 제공하는 동작;
    상기 인코더로 하여금 상기 더미 프레임들의 세트를 포함하는 상기 복수의 프레임들을 렌더링하게 하는 동작; 및
    상기 복수의 프레임들을 상기 컴포넌트에 제공하는 동작
    을 포함하는 동작들을 수행하게 하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
  15. 제14항에 있어서,
    상기 더미 프레임들의 수량에 대한 결정은, 파이프라인의 스테이지들의 개수에 또한 기초하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
  16. 제14항에 있어서,
    상기 더미 프레임들의 수량에 대한 결정은, 파이프라인의 스테이지들의 개수 및 정규적으로(regularly) 렌더링된 프레임들의 개수에 또한 기초하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
  17. 제14항에 있어서,
    상기 인코더로 하여금 상기 복수의 프레임들을 렌더링하게 하는 동작은, 파이프라인을 채우는 동작을 포함하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
  18. 제14항에 있어서,
    상기 인코더로 하여금 상기 복수의 프레임들을 렌더링하게 하는 동작은, 상기 더미 프레임들의 세트 및 볼 수 있는(viewable) 정규적으로 렌더링된 프레임으로 파이프라인을 채우는 동작을 포함하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
  19. 제14항에 있어서,
    상기 인코더로 하여금 상기 복수의 프레임들을 렌더링하게 하는 동작은, 상기 더미 프레임들의 세트 및 볼 수 있는(viewable) 정규적으로 렌더링된 프레임 각각을 파이프라인 내에서 정렬(ordering)시키는 동작을 포함하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
  20. 제14항에 있어서,
    상기 컴포넌트는 디스플레이를 포함하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능한 매체.
KR1020177001908A 2014-06-24 2015-06-19 효율적인 프레임 렌더링 KR101961398B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/313,287 2014-06-24
US14/313,287 US9269328B2 (en) 2014-06-24 2014-06-24 Efficient frame rendering
PCT/US2015/036795 WO2015200143A1 (en) 2014-06-24 2015-06-19 Efficient frame rendering

Publications (2)

Publication Number Publication Date
KR20170023122A KR20170023122A (ko) 2017-03-02
KR101961398B1 true KR101961398B1 (ko) 2019-03-25

Family

ID=53674270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177001908A KR101961398B1 (ko) 2014-06-24 2015-06-19 효율적인 프레임 렌더링

Country Status (9)

Country Link
US (2) US9269328B2 (ko)
EP (1) EP3161827B1 (ko)
JP (1) JP6469734B2 (ko)
KR (1) KR101961398B1 (ko)
CN (1) CN106464951B (ko)
AU (1) AU2015280330B2 (ko)
BR (1) BR112016030171B1 (ko)
CA (1) CA2953502C (ko)
WO (1) WO2015200143A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9269328B2 (en) * 2014-06-24 2016-02-23 Google Inc. Efficient frame rendering
CN116456097A (zh) * 2017-04-28 2023-07-18 苹果公司 视频流水线
US10861142B2 (en) 2017-07-21 2020-12-08 Apple Inc. Gaze direction-based adaptive pre-filtering of video data
US11606528B2 (en) * 2018-01-03 2023-03-14 Saturn Licensing Llc Advanced television systems committee (ATSC) 3.0 latency-free display of content attribute
US11470376B2 (en) * 2019-01-04 2022-10-11 Voxx International Corporation Vehicle entertainment system providing remote user control of video content on a monitor display and related methods
CA3066419C (en) * 2019-01-04 2022-08-02 Voxx International Corporation Vehicle entertainment system providing remote user control of video content on a monitor display and related methods
US11659219B2 (en) 2019-02-06 2023-05-23 Loop Now Technologies, Inc. Video performance rendering modification based on device rotation metric
US10997954B2 (en) * 2019-07-24 2021-05-04 Qualcomm Incorporated Foveated rendering using variable framerates
CN110582021B (zh) * 2019-09-26 2021-11-05 深圳市商汤科技有限公司 信息处理方法及装置、电子设备和存储介质
WO2021087412A1 (en) * 2019-11-01 2021-05-06 Loop Now Technologies, Inc. Video performance rendering modification based on device rotation metric
CN111107404A (zh) * 2019-12-27 2020-05-05 珠海全志科技股份有限公司 汽车与移动端的界面视频快速播放方法、系统及存储介质
KR20230097000A (ko) * 2020-10-28 2023-06-30 퀄컴 인코포레이티드 애플리케이션 계층 렌더링의 지능형 관리

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020028061A1 (en) * 2000-05-16 2002-03-07 Seiichi Takeuchi Method and apparatus of processing video coding bit stream, and medium recording the programs of the processing
JP2011188243A (ja) 2010-03-09 2011-09-22 Panasonic Corp 信号処理装置及び動画撮像装置
US20130222210A1 (en) * 2012-02-28 2013-08-29 Qualcomm Incorporated Frame capture and buffering at source device in wireless display system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1325093A2 (en) * 2000-09-26 2003-07-09 Matsushita Electric Industrial Co., Ltd. Display unit and drive system thereof and an information display unit
AU2002255204A1 (en) * 2001-04-25 2002-12-23 Nokia Corporation Method and system for forward link cell switching
JP4257221B2 (ja) * 2003-03-31 2009-04-22 東芝松下ディスプレイテクノロジー株式会社 表示装置および情報端末装置
WO2006054176A1 (en) * 2004-11-22 2006-05-26 Nokia Corporation System and method for proactive, early network switching
US8259840B2 (en) * 2005-10-24 2012-09-04 General Motors Llc Data communication via a voice channel of a wireless communication network using discontinuities
JP4347322B2 (ja) * 2006-07-14 2009-10-21 ソニー株式会社 受信装置および方法、並びにプログラム
EP1879347B1 (en) * 2006-07-14 2012-05-30 Sony Europe Limited System and method of audio/video streaming
US7990402B2 (en) * 2006-11-10 2011-08-02 Seiko Epson Corporation Image display control device
US20090164473A1 (en) * 2007-12-19 2009-06-25 Harman International Industries, Incorporated Vehicle infotainment system with virtual personalization settings
US20100064228A1 (en) * 2008-09-11 2010-03-11 Ely Tsern Expandable system architecture comprising a handheld computer device that dynamically generates different user environments with secondary devices with displays of various form factors
EP3001678A1 (en) * 2009-01-06 2016-03-30 LG Electronics, Inc. Apparatus for processing images and method thereof
US8634873B2 (en) * 2010-03-17 2014-01-21 Microsoft Corporation Mobile communication device having multiple, interchangeable second devices
JP5625864B2 (ja) * 2010-12-15 2014-11-19 ソニー株式会社 表示装置及び表示装置の駆動方法
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
GB2492789B (en) * 2011-07-12 2018-01-03 Denso Corp Displays
EP2605129B1 (en) * 2011-12-16 2019-03-13 BlackBerry Limited Method of rendering a user interface
US20130208992A1 (en) * 2012-02-13 2013-08-15 Shu Lin System and method for difference frame threshold encoding and decoding
US8786517B2 (en) * 2012-02-21 2014-07-22 Blackberry Limited System and method for displaying a user interface across multiple electronic devices
US20140309789A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Vehicle Location-Based Home Automation Triggers
US9144094B2 (en) * 2012-10-29 2015-09-22 Qualcomm Incorporated Establishing a wireless display session between a computing device and a vehicle head unit
US9348555B2 (en) * 2013-03-15 2016-05-24 Volkswagen Ag In-vehicle access of mobile device functions
AU2015255652B2 (en) * 2014-05-09 2018-03-29 Google Llc Systems and methods for using eye signals with secure mobile communications
US9354744B2 (en) * 2014-06-09 2016-05-31 Sony Corporation Adaptive touch panel synchronization
US9269328B2 (en) * 2014-06-24 2016-02-23 Google Inc. Efficient frame rendering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020028061A1 (en) * 2000-05-16 2002-03-07 Seiichi Takeuchi Method and apparatus of processing video coding bit stream, and medium recording the programs of the processing
JP2011188243A (ja) 2010-03-09 2011-09-22 Panasonic Corp 信号処理装置及び動画撮像装置
US20130222210A1 (en) * 2012-02-28 2013-08-29 Qualcomm Incorporated Frame capture and buffering at source device in wireless display system

Also Published As

Publication number Publication date
US9894401B2 (en) 2018-02-13
CN106464951A (zh) 2017-02-22
AU2015280330B2 (en) 2018-03-08
CA2953502A1 (en) 2015-12-30
US20160119669A1 (en) 2016-04-28
JP2017525247A (ja) 2017-08-31
US9269328B2 (en) 2016-02-23
BR112016030171A2 (pt) 2018-07-17
EP3161827A1 (en) 2017-05-03
CN106464951B (zh) 2019-08-20
JP6469734B2 (ja) 2019-02-13
US20150371604A1 (en) 2015-12-24
KR20170023122A (ko) 2017-03-02
CA2953502C (en) 2018-10-23
WO2015200143A1 (en) 2015-12-30
EP3161827B1 (en) 2019-05-22
BR112016030171B1 (pt) 2023-01-31
AU2015280330A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
KR101961398B1 (ko) 효율적인 프레임 렌더링
US11213743B2 (en) Method, system and electronic device for achieving remote control of computer game by game controller
CN109947512B (zh) 一种文本适配显示方法、装置、服务器及存储介质
KR102310780B1 (ko) 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
WO2019001006A1 (zh) 一种图像数据的编码、解码方法及装置
CN109729386B (zh) 一种视频文件启播方法、系统及电子设备和存储介质
US20170127102A1 (en) Method and electronic device for video recommendation
WO2014206347A1 (en) Cross-terminal input method, apparatus and system
JP5850833B2 (ja) 通信システムにおけるユーザインターフェースを送受信する装置及び方法
US20150371364A1 (en) Display Resolution Negotiation
CN103299600A (zh) 用于传输直播媒体内容的装置和方法
US11196868B2 (en) Audio data processing method, server, client and server, and storage medium
WO2019001015A1 (zh) 一种图像数据的编码、解码方法及装置
CN109547839A (zh) 直播内容的动态预览处理方法及装置、介质、电子设备
KR20160073375A (ko) 휴대용 장치로부터의 스트림 선택의 멀티캐스트
US20150304714A1 (en) Server device and client device for providing vod service and service providing methods thereof
CN111083523A (zh) 一种全景视频播放的方法及终端
CN111478916B (zh) 基于视频流的数据传输方法、设备和存储介质
CN111026406A (zh) 应用运行方法、设备和计算机可读存储介质
CN109948082B (zh) 直播信息处理方法及装置、电子设备、存储介质
CN106790466B (zh) 用于推送的方法、服务器和终端设备
KR102547320B1 (ko) 전자 장치 및 전자 장치의 제어 방법
US20150326630A1 (en) Method for streaming video images and electrical device for supporting the same
CN112417276A (zh) 分页数据获取方法、装置、电子设备及计算机可读存储介质
KR102063093B1 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치

Legal Events

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