KR20190074232A - 비디오 프레임들을 비디오 스트림으로부터 디스플레이로 전송하는 방법 및 대응하는 장치 - Google Patents

비디오 프레임들을 비디오 스트림으로부터 디스플레이로 전송하는 방법 및 대응하는 장치 Download PDF

Info

Publication number
KR20190074232A
KR20190074232A KR1020180163324A KR20180163324A KR20190074232A KR 20190074232 A KR20190074232 A KR 20190074232A KR 1020180163324 A KR1020180163324 A KR 1020180163324A KR 20180163324 A KR20180163324 A KR 20180163324A KR 20190074232 A KR20190074232 A KR 20190074232A
Authority
KR
South Korea
Prior art keywords
display
video
output
video stream
frame
Prior art date
Application number
KR1020180163324A
Other languages
English (en)
Inventor
띠에리 꾸에르
프랑크 다비드
롤랑 비쓰
Original Assignee
인터디지털 씨이 페이튼트 홀딩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 씨이 페이튼트 홀딩스 filed Critical 인터디지털 씨이 페이튼트 홀딩스
Publication of KR20190074232A publication Critical patent/KR20190074232A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/440281Processing 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 altering the temporal resolution, e.g. by frame skipping
    • 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
    • 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/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • 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/234381Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • 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/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
    • 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/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • 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/12Use of DVI or HDMI protocol in interfaces along the display data pipeline
    • 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/16Use of wireless transmission of display information

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 스트리밍 시스템에서, 비디오 프레임들의 디코딩과 디스플레이 상의 이러한 비디오 프레임들의 렌더링 사이의 레이턴시가 감소된다. 수신된 비디오 스트림에 대해 비디오 인코딩 프레임 레이트가 획득된다. 디스플레이 지원 리프레시 레이트들이 디스플레이로부터 획득된다. 디스플레이 지원 리프레시 레이트들 중에서, 비디오 인코딩 프레임 레이트의 배수인 리프레시 레이트가 선택된다. 구성 명령에서의 선택된 리프레시 레이트가 디스플레이에 전송되고, 디코딩된 비디오 프레임들이 디스플레이에 전송된다.

Description

비디오 프레임들을 비디오 스트림으로부터 디스플레이로 전송하는 방법 및 대응하는 장치{METHOD OF TRANSMITTING VIDEO FRAMES FROM A VIDEO STREAM TO A DISPLAY AND CORRESPONDING APPARATUS}
본 개시내용은 일반적으로 비디오 및/또는 오디오 스트림들의 처리 분야에 관한 것이고, 특히 배타적이지는 않지만, 낮은 레이턴시 비디오 및/또는 오디오 렌더링이 핵심인 맥락에서 낮은 렌더링 레이턴시를 갖는 비디오 및/또는 오디오 스트림들의 처리에 관한 것이다.
본 명세서에서 설명되는 임의의 배경 정보는 이하에서 설명되는 본 실시예들과 관련될 수 있는 관련 기술의 다양한 양태들을 독자에게 소개하기 위해 의도된 것이다. 본 논의는 독자에게 본 개시내용의 다양한 양태들의 보다 나은 이해를 용이하게 하는 배경 정보를 제공하는데 도움이 될 것으로 믿어진다. 이에 따라, 이러한 진술들은 이러한 관점에서 읽혀져야 한다는 점이 이해되어야 한다.
비디오 및/또는 오디오 인코딩이 실시간으로 원격 컴퓨팅 디바이스에 의해 실행되는 환경들에서, 비디오 및/또는 오디오 프레임들의 컴퓨팅은 예를 들어 클라우드에서 원격 서버 상에서 실행된다. 이것은 통상 가상화라고 한다. 예를 들어, 클라우드 게임 시스템에서, 클라우드 게임 서버는 게임 콘솔 상의 플레이어의 액션들의 함수로서 비디오 및/또는 오디오 프레임들을 계산한다. 클라우드 서버는 그렇게 계산된 비디오 및/또는 오디오 프레임들을 인코딩하고, 이들을 비디오 및/또는 오디오 스트림으로 플레이어의 게임 콘솔에 전송한다. 후자는 비디오 및/또는 오디오 스트림을 디코딩하고, 그 결과를 비디오 및/또는 오디오 렌더링 디바이스에 출력한다. 이것은 비-클라우드 게임과는 상이한 기술적 솔루션이며, 여기서 비디오 게임은 플레이어의 게임 콘솔 상에서 실행되고, 비디오 및/또는 오디오 프레임들은 게임 콘솔에 의해 계산된다. 비-클라우드 게임에 대한 클라우드 게임의 이점들 중 하나는 클라우드 게임이 고성능 게임 콘솔들을 필요로 하지 않는다는 것이다. 그러나, 플레이어의 입력 액션들과 그 플레이어의 입력 액션들에 따라 수정되는 비디오 및/또는 오디오 프레임들의 렌더링 사이의 레이턴시는 증가되고, 사용자 경험이 악영향을 받는 점에 중요하게 될 수 있어, 예를 들어, 가시적/가청적 지터, 테어링(tearing) 및 스터터(stutter)를 야기할 수 있다. 따라서, 이러한 레이턴시를 감소시키고 사용자 경험을 향상시키는 것이 바람직하다.
따라서, 본 개시내용은 비디오 및/또는 오디오 프레임들이 원격으로 계산되고, 이러한 레이턴시가 중요한 환경들에서 낮은 비디오 및/또는 오디오 렌더링 레이턴시를 달성하는 메커니즘을 제공한다.
이를 위해, 디바이스에 의해 구현되고, 디바이스에 의해 수신되는 비디오 스트림으로부터의 비디오 프레임들의 출력을 디바이스에 연결된 디스플레이의 디스플레이 리프레시와 동기화하는 방법이 정의된다. 이 방법은, 디바이스에 의해, 비디오 스트림을 수신하는 단계; 디바이스에 의해, 비디오 스트림의 비디오 인코딩 프레임 레이트를 획득하는 단계; 디바이스에 의해, 디스플레이에 대한 지원되는 리프레시 레이트들을 획득하는 단계; 디바이스에 의해, 지원되는 디스플레이 리프레시 레이트들 중에서, 획득된 비디오 인코딩 프레임 레이트의 배수인 리프레시 레이트를 선택하는 단계; 디바이스에 의해, 수신된 비디오 스트림의 디코딩된 비디오 프레임의 디바이스 내의 비디오 디코더에 의한 출력 시에, 디스플레이에게 디스플레이 모드 구성 명령을 전송하는 단계 - 디스플레이 모드 구성 명령은 선택된 리프레시 레이트를 포함함 -; 및 디바이스에 의해, 디스플레이에게 비디오 디코더에 의해 출력된 수신된 비디오 스트림으로부터의 비디오 프레임들을 계속 전송하는 단계 - 비디오 디코더에 의한 출력은 수신된 비디오 스트림으로부터 디코딩된 비디오 프레임의 비디오 디코더에 의한 출력 시에 디스플레이에게의 디스플레이 모드 구성 명령의 전송에 의해 디스플레이의 디스플레이 리프레시와 동기화됨 - 를 포함한다.
이 방법의 일 실시예에 따르면, 비디오 인코딩 프레임 레이트의 배수는 정수 배수이다.
이 방법의 상이한 실시예에 따르면, 이 방법은 디바이스에 의해, 비디오 프레임간 도달 레이트의 측정으로부터 비디오 스트림의 비디오 인코딩 프레임 레이트를 획득하는 단계를 더 포함한다.
이 방법의 상이한 실시예에 따르면, 이 방법은 비디오 스트림에 관련된 신호화(signalization)로부터 비디오 인코딩 프레임 레이트를 획득하는 단계를 더 포함한다.
이 방법의 상이한 실시예에 따르면, 신호화는 시퀀스 파라미터 세트 또는 화상 파라미터 세트에 따라 비디오 스트림에 포함된 정보로부터 획득된다.
이 방법의 상이한 실시예에 따르면, 지원되는 디스플레이 리프레시 레이트들은 디스플레이에 의해 제공되는 정보를 판독함으로써 디스플레이로부터 획득된다.
이 방법의 상이한 실시예에 따르면, 디스플레이에 의해 제공되는 정보는 확장된 디스플레이 식별 데이터이다.
본 원리들은 또한 비디오 스트림으로부터의 비디오 프레임들을 디스플레이로 전송하기 위한 디바이스에 관한 것이다. 이 디바이스는, 비디오 스트림을 수신하도록 구성된 네트워크 인터페이스; 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는, 비디오 스트림의 비디오 인코딩 프레임 레이트를 획득하고, 디스플레이에 대한 지원되는 디스플레이 리프레시 레이트들을 획득하고, 지원되는 디스플레이 리프레시 레이트들 중에서 비디오 인코딩 프레임 레이트의 배수인 디스플레이 리프레시 레이트를 선택하고, 수신된 비디오 스트림으로부터 디코딩된 비디오 프레임의 디바이스 내의 비디오 디코더에 의한 출력 시에, 디스플레이에게 디스플레이 모드 구성 명령을 전송하며 - 디스플레이 모드 구성 명령은 선택된 디스플레이 리프레시 레이트를 포함함 -, 디스플레이에게 비디오 디코더에 의해 출력된 수신된 비디오 스트림으로부터의 비디오 프레임들을 계속 전송하도록 구성되며, 비디오 디코더에 의한 출력은 수신된 비디오 스트림으로부터 디코딩된 비디오 프레임의 비디오 디코더에 의한 출력 시에 디스플레이에게의 디스플레이 모드 구성 명령의 전송에 의해 디스플레이의 디스플레이 리프레시와 동기화된다.
이 디바이스의 일 실시예에 따르면, 적어도 하나의 프로세서는 비디오 인코딩 프레임 레이트의 정수 배수를 선택하도록 구성된다.
이 디바이스의 상이한 실시예에 따르면, 적어도 하나의 프로세서는 비디오 프레임간 도달 레이트의 측정으로부터 비디오 인코딩 프레임 레이트를 획득하도록 추가로 구성된다.
이 디바이스의 상이한 실시예에 따르면, 적어도 하나의 프로세서는 디스플레이에 의해 제공되는 정보를 판독함으로써 디스플레이로부터 지원되는 디스플레이 리프레시 레이트들을 획득하도록 추가로 구성된다.
이 디바이스의 상이한 실시예에 따르면, 이 디바이스는 셋톱 박스이다.
이 디바이스의 상이한 실시예에 따르면, 이 디바이스는 모바일 통신 디바이스이다.
본 개시내용의 더 많은 이점들은 특정의 비제한적인 실시예들의 설명을 통해 나타날 것이다. 본 개시내용의 이점들이 획득될 수 있는 방식을 설명하기 위해, 본 원리들의 특정 설명들이 첨부 도면들에 예시되는 그 특정 실시예들을 참조하여 제공된다. 도면들은 본 개시내용의 예시적인 실시예들을 도시하고, 따라서 그 범위를 제한하는 것으로 간주되지 않아야 한다. 설명된 실시예들은 특정의 유리한 실시예들을 형성하도록 결합될 수 있다. 이하의 도면들에서, 이전의 도면에서 이미 설명된 아이템들과 동일한 참조 번호들을 갖는 아이템들은 본 개시내용을 불필요하게 모호하게 하는 것을 피하기 위해 다시 설명되지 않을 것이다. 실시예들은 다음의 도면들을 참조하여 설명될 것이다.
도 1은 본 원리들이 적용될 수 있는 예시적인 시스템이다.
도 2a 및 도 2b는 비디오 레이턴시, 비디오 지터, 비디오 스터터링 및 비디오 테어링이 인코더/디코더 비디오 프레임 레이트와 디스플레이 리프레시 레이트 간의 차이에 의해 어떻게 유도되는지를 도시한다.
도 3은 일정한 레이턴시가 비디오 디스플레이의 리프레시와의 인코더/디코더 비디오 프레임 레이트 비동기화에 의해 어떻게 야기되는지를 도시한다.
도 4는 본 원리들의 상이한 실시예들에 따라 레이턴시가 어떻게 감소되는지를 도시한다.
도 5는 수신기의 디코더에 의한 디코딩된 프레임의 출력과 프레임의 디스플레이 사이의 레이턴시가 디스플레이에게의 구성 명령의 전송의 순간을 선택적으로 정함으로써 더 감소되는 추가 실시예이다.
도 6은 본 원리들에 따른 수신기 디바이스(106)의 실시예(106a)이다.
도 7은 본 원리들에 따른 수신기 디바이스(106)의 상이한 실시예(106b)이다.
도 8은 비디오 스트림으로부터의 비디오 프레임들을 디스플레이로 전송하는 예시적인 방법(800)이다.
도면들은 본 개시내용의 개념들을 예시하기 위한 것이며, 반드시 본 개시내용을 예시하기 위한 유일한 가능한 구성이 아니라는 것을 이해해야 한다.
본 설명은 본 개시내용의 원리들을 예시한다. 따라서, 관련 기술분야의 통상의 기술자는, 본 명세서에서 명시적으로 설명되거나 도시되지는 않았지만, 본 개시내용의 원리들을 구현하고 본 발명의 사상과 범위 내에 포함되는 다양한 배열들을 고안할 수 있을 것이라는 점이 이해될 것이다.
본 명세서에 열거되는 모든 예들 및 조건부 언어는 독자로 하여금 본 발명자가 본 기술분야의 증진을 위해 기여한 본 개시내용의 원리들 및 개념들을 이해하는 것을 도울 교육적 목적들로 의도된 것으로, 이러한 구체적으로 열거되는 예들 및 조건들에 제한되지 않는 것으로 해석되어야 한다.
더욱이, 본 개시내용의 원리들, 양태들 및 실시예들뿐만 아니라 그 특정한 예들을 언급하는 본 명세서에서의 모든 진술들은 그 구조적 및 기능적 등가물들 양쪽 모두를 포괄하는 것으로 의도된다. 추가적으로, 이러한 등가물들은 현재 알려져 있는 등가물들뿐만 아니라 미래에 개발되는 등가물들, 즉 구조에 상관없이 동일한 기능을 수행하는 개발되는 임의의 요소들 양쪽 모두를 포함하는 것으로 의도된다.
도 1은 본 원리들의 적용을 위한 예시적인 시스템(1)이다. 클라우드 게임은 씬(thin) 클라이언트를 이용하여 컴퓨터들, 콘솔들 및 모바일 디바이스들에 대한 게임들의 직접적이고 주문형인 비디오 스트리밍을 허용하는 온라인 게임 솔루션의 하나의 종류이다. 실제 게임이 저장되고 실행되며, 오디오/비디오 프레임들은 클라우드 내의 서버(들) 상에서 계산된다. 오디오/비디오 결과들은 데이터 통신 네트워크를 통해 플레이어의 게임 콘솔, 씬 클라이언트에 직접 스트리밍된다. 이것은 플레이어들이 최신 게임들을 플레이하기 위해 더 높은 성능이 요구될 때 쓸모 없게 되는 고성능 게임 콘솔을 구매 및 설치할 필요 없이 게임들에 액세스할 수 있게 한다. 플레이어의 게임 콘솔로부터의 컨트롤들 및 버튼 누름들은 콘솔에 의해 클라우드 서버(들)에 전송되고, 클라우드 서버(들)는 그 다음에 컨트롤들 및 버튼 누름들에 대한 게임의 응답을 다시 게임 콘솔로 전송한다. 씬 클라이언트는 하드웨어 또는 소프트웨어로 구현될 수 있다. 예를 들어, 씬 클라이언트는 인터넷을 통해 게임 패키지를 구매할 때 플레이어의 PC 상에 설치되는 소프트웨어일 수 있다. 예를 들어, 씬 클라이언트는 소비자에 의해 구매되어 그 모바일 폰 상에 다운로드되고 설치되는 스마트폰 애플리케이션에 포함될 수 있다.
시스템(1)은 전형적인 클라우드 게임 환경이다. 이것은 소비자 구내(1000)에서 데이터 통신 링크(102), 게임 서버(들)(100) 및 소비자의 인터넷 액세스 게이트웨이(GW)(103)를 통해 연결되는 광역 네트워크(WAN)(101)(예를 들어, 인터넷)에 대한 액세스를 포함한다. 게이트웨이(103)는 씬 클라이언트 게임 콘솔(106)을 연결하고, 모바일 디바이스(110), 예를 들어, 휴대용 PC, 태블릿 또는 스마트폰을 연결하기 위해 소비자 구내(1000)에 유선 네트워크(105) 및 무선 네트워크(109)를 제공한다. 씬 클라이언트 게임 콘솔(106)은 HDMI(High Definition Multimedia Interface)와 같은 오디오/비디오 링크를 통한 오디오/비디오 렌더링을 위해 디지털 TV(108)에 연결된다. 게임 패드(104)는 씬 클라이언트 게임 콘솔(106)에 연결된다. 플레이어(도시되지 않음)는 씬 클라이언트 게임 콘솔(106)을 통해 비디오 게임을 플레이할 수 있다. 플레이어의 액션들은 게임 패드(104)를 통해 입력된다. 씬 클라이언트 게임 콘솔(106)은 게임 서버(들)(100)와 인터페이싱한다. 게임의 비디오 및 오디오 프레임들 및 비디오 및 오디오 프레임들에 대한 수정들은 플레이어의 액션들의 함수로서 게임 서버(들)(100)에 의해 계산된다. 게임 서버(들)(100)는 (클라우드) 컴퓨팅 리소스들의 풀과 같은, 분산 형태일 수 있는 복수의 서버들에 의해 구현될 수 있다. 모바일 디바이스(110)는 디바이스가 게임의 목적을 위해 콘솔로서 이용될 수 있게 하는 씬 클라이언트 애플리케이션을 포함할 수 있다. 링크(107)를 통해 게임 콘솔(106)에 연결되는 대신에, 디지털 TV(108)는 네트워크(105)에 연결될 수 있고 씬 클라이언트를 포함하며, 이 경우에 전용 씬 클라이언트 게임 콘솔(106)의 이용이 요구되지는 않는다. 대안적으로, 네트워크(105)는 씬 클라이언트가 포함되는 셋톱 박스(도시되지 않음)를 포함한다.
클라우드 게임 시스템(1)이 만족스러운 방식으로 기능하기 위해, 플레이어의 액션들 간의 레이턴시(래그, 지연), 및 플레이어의 액션들에 따라 게임 서버(들)에 의해 수정된 오디오 및 이미지들의 씬 클라이언트를 통한 렌더링은 플레이어의 눈에 띄지 않아야 한다. 이러한 레이턴시는 몇몇 원인들을 갖는다. 제1 원인은 전송/수신 레이턴시이다. 이러한 레이턴시는 게임 서버(들)에 대한 플레이어의 액션의 전송에 요구되는 시간 및 그 결과의 수정된 오디오/비디오 프레임들의 씬 클라이언트에 의한 수신에 요구되는 시간으로 구성된다. 이러한 레이턴시는 예를 들어 실시간 데이터 트래픽에 높은 우선순위를 주는 광섬유 네트워크 케이블들 및 지능형 네트워크 스위치들을 이용하는 최적화된 네트워크 인프라스트럭처에 의해 감소될 수 있다. 제2 원인은 플레이어로부터 수신된 입력 액션들의 함수로서 비디오 및 오디오 프레임들에 대한 수정들을 계산하는데 요구되는 컴퓨팅 시간에 의해 야기되는 레이턴시이다. 이 레이턴시는 고성능 컴퓨팅 리소스들을 이용함으로써 감소될 수 있다. 본 개시내용의 주제인 제3 원인은 게임 서버(들)의 비디오 인코더에 의해 이용되는 비디오 프레임 레이트 및 비디오 디스플레이의 리프레시 레이트의 비동기화에 의해 야기되는 레이턴시이다. 이하에서는, 씬 클라이언트의 비디오 디코더의 디코딩 프레임 레이트가 수신된 비디오 스트림의 인코딩 프레임 레이트와 동일한 것으로 고려되며, 그 이유는 씬 클라이언트의 디코더 클록이 씬 클라이언트에 의해 수신된 인코딩 클록과 동기화되기 때문이다. 인코딩과 디코딩 클록 사이의 드리프트는 여기서 고려되지 않는다. 게임 서버로부터의 비디오 스트림의 인코딩 프레임 레이트는 (비-클라우드 게임 시스템들에서와 달리) 일정한 것으로 추가로 가정되며, 그 이유는 비디오 인코딩 서버가 계산할 이미지들의 복잡성과 독립적으로 일정한 인코딩 프레임 레이트를 유지하기에 충분한 리소스들을 갖기 때문이다. 게임 서버의 비디오 인코더는, 예를 들어 초당 25, 30, 50, 60 또는 100 프레임(fps)의 일정한 프레임 레이트로 비디오 프레임들을 인코딩할 수 있다. 씬 클라이언트의 비디오 디코더는 이 인코딩 프레임 레이트에 따라 비디오 프레임들을 디코딩할 것이다. 그러나, 디스플레이의 리프레시 레이트는 인코딩 프레임 레이트 및 이에 따른 씬 클라이언트의 비디오 디코더 디코딩 프레임 레이트와 상이할 수 있다. 이러한 불일치는 불규칙한 비디오 프레임 디스플레이, 심지어는 아마도 비디오 프레임들의 손실을 야기하고, 추가로 설명되는 바와 같이, 디스플레이 지터, 테어링 및 스터터를 도입한다. 도입된 아티팩트들은 플레이어의 액션들에 대한 게임의 '흔들림(jerky)' 반응에 의해 플레이어의 눈에 띌 수 있고, 이미지의 가시적 왜곡은 플레이어의 사용자 경험에 악영향을 줄 수 있다. 테어링 또는 스크린 테어링은 디스플레이 디바이스가 단일 스크린 리프레시에서 복수의 비디오 프레임들로부터의 정보를 보여주는 비디오 디스플레이에서의 시각적 아티팩트이고, 디스플레이의 비디오 피드가 디스플레이의 리프레시 레이트와 동기화되지 않을 때 발생한다. 가능하게는 가상 현실(VR) 또는 증강 현실과 같은 몰입형 기술들을 통해, 원격 수술 또는 원격 조작(원격 위치로부터의 기계 액션들의 조작 또는 제어)과 같이, 비디오 게임과는 다른 실시간 비디오 환경들에서는, 외과 의사 또는 원격 조작자의 액션들에 대한 비디오의 흔들림 반응 또는 이미지 왜곡들이 원격 수술 또는 원격 조작을 덜 정확하게 렌더링할 때, 논의된 레이턴시가 중요해질 수 있다.
도 2a 및 도 2b는 비디오 레이턴시, 비디오 지터, 비디오 스터터링 및 비디오 테어링이 비디오 인코더/디코더 프레임 레이트와 디스플레이 리프레시 레이트 간의 차이에 의해 어떻게 유도되는지를 도시한다. 수평으로는 시간이 좌측에서 우측으로 전개하는 타임라인이 도시되어 있다. 이 타임라인 위의 화살표들은 서버(100)와 같은 원격 비디오 컴퓨팅 소스로부터 수신된 새로운 디코딩된 프레임들의 스마트폰(110)에서 또는 디바이스(106) 내의 씬 클라이언트에서와 같이 수신기 디바이스의 비디오 디코더에 의한 출력을 표시한다. 타임라인 아래의 화살표들은 DTV(108)와 같은 디스플레이 디바이스 또는 스마트폰(110)에 통합된 디스플레이의 비디오 프레임 리프레시를 표시한다. 네트워크 전송에 의해 야기되는 임의의 추가적인 레이턴시들 및 지터, 새로운 인코딩된 프레임의 서버에 의한 출력과 그 결과의 디코딩된 프레임의 수신기의 디코더에 의한 출력 사이의 레이턴시 또는 지터를 야기하는 수신기 디바이스에서의 수신 버퍼링 및 디코딩은 도시되지 않는다. 도 2a 및 도 2b에서, 원격 비디오 컴퓨팅 소스에서의 비디오 인코더의 비디오 인코딩 프레임 레이트(및 이에 따른 수신기 디바이스에서의 비디오 디코딩 프레임 레이트)는 디스플레이 디바이스의 리프레시 레이트와 상이하다. 도 2a에서, 비디오 인코딩 프레임 레이트는 30 fps인 반면, 디스플레이 리프레시 레이트는 50 fps이다. 도 2b에서, 이러한 상황은 반대로 된다. 이것은 도 2a에서, 원격 비디오 컴퓨팅 소스에 의해 생성된 새로운 인코딩된 비디오 프레임이 대략 33ms마다 수신기 디바이스의 비디오 디코더에 의해 출력된다는 것을 의미한다(전술한 바와 같이, 수신기측에서의 네트워크 전송, 버퍼링 및 디코딩 처리로 인한 추가적인 레이턴시들은 고려되지 않는다). 도 2b에서, 새로운 인코딩된 비디오 프레임은 20ms마다 수신기 디바이스의 비디오 디코더에 의해 출력된다. 따라서, 디코딩된 비디오 프레임들은 수신기 디바이스에 의해 출력되고, 도 2a에 대해 20ms마다, 그리고 도 2b에 대해 약 33ms마다 디스플레이 디바이스에 전송된다. 이제, 플레이어의 액션, 예를 들어, 팬 또는 줌 액션 또는 디스플레이된 이미지 상에서 발생한 임의의 다른 액션이 서버(100)에 전송되었고, 수정된 비디오 프레임이 플레이어의 액션에 따라 서버(100)에 의해 계산되고 인코딩되었다고 가정하면, 이제 도 2a를 참조하면, 201에서, 이러한 새롭게 계산된 비디오 프레임은 수신기 디바이스에 의해 수신되고, (예를 들어, 디스플레이 드라이버 및/또는 디스플레이 인터페이스 또는 디스플레이 포트에 의해) 디스플레이에 출력된다. 214에서, 디스플레이가 리프레시되고, 새로운 비디오 프레임(201)이 디스플레이 상에 디스플레이(렌더링)된다. 디코딩된 프레임의 출력과 그 디스플레이 사이에 7 밀리초(7ms)의 ΔT21(참조 230)의 지연이 경과하였다. 215에서, 수신기의 비디오 디코더에 의해 출력된 마지막 비디오 프레임은 아직 새롭게 디코딩된 비디오 프레임으로 대체되지 않는다. 따라서, 디스플레이 디바이스는 마지막으로 디스플레이된 비디오 프레임의 디스플레이(렌더링)를 반복한다. 202에서, 새로운 비디오 프레임이 수신기의 비디오 디코더에 의해 출력된다. 216에서 디스플레이가 리프레시되고, 이에 따라 이 새로운 비디오 프레임은 13ms의 ΔT22(참조 231)의 지연을 가지고 216에서 디스플레이된다. 203에서, 새로운 비디오 프레임이 수신기의 비디오 디코더에 의해 출력되어 디스플레이에 전송된다. 디스플레이 구현에 따라, 디스플레이는 이전에 디스플레이된 비디오 프레임의 디스플레이를 반복하며, 그 이유는 디스플레이에 의한 새로운 비디오 프레임(203)의 수신과 그 리프레시(217) 사이의 지연이 새롭게 수신된 비디오 프레임을 처리하는데 디스플레이에게 너무 짧다는 것이다. 그러나, 디스플레이는 다음 리프레시(218)에서 새롭게 수신된 비디오 프레임을 렌더링할 것이고, 즉 21ms의 ΔT23(참조 232) 후에만 렌더링할 것이다. 따라서, 수신기의 비디오 디코더에 의해 생성된 비디오 프레임들은 가변 레이턴시를 갖는 디스플레이에 의해 렌더링되어 가능하게는 가시적인 지터 효과를 야기한다. 대안적으로, 그리고 다시 디스플레이 구현에 따라, 리프레시(217) 직전에 도달된 새롭게 수신된 비디오 프레임(203)을 렌더링하기에 충분한 시간을 갖지 않은 디스플레이는 새롭게 수신된 비디오 프레임을 드롭할 수 있다. 이어서, 비디오 프레임이 손실된다. 비디오 프레임들의 반복된 디스플레이 및 비디오 프레임들의 손실은 가능한 가시적인 스터터 효과의 원인이다. 대안적으로, 그리고 다시 디스플레이 구현에 따라, 디스플레이가 리프레시의 중앙에 있는 동안에 수신기의 비디오 디코더에 의해 새로운 비디오 프레임이 출력되는 경우, 디스플레이는 이전 이미지의 일부 및 다음 이미지의 일부를 렌더링할 것이다. 이러한 이미지들이 상이하면, 이것은 비디오 테어링으로서 지칭되는 가시적 왜곡, 예를 들어 이전에 디코딩된 비디오 프레임에 속하는 렌더링된 이미지의 상부 부분과 현재 디코딩된 비디오 프레임에 속하는 렌더링된 이미지의 하부 부분을 초래할 것이다. 204에서, 새로운 비디오 프레임이 수신기의 비디오 디코더에 의해 출력된다. 새로운 비디오 프레임에 속하는 이미지는 219에서 리프레시 시에, 즉 9ms의 ΔT24(참조 233) 후에 디스플레이에 의해 렌더링된다.
도 2b에서, 이 상황은 도 2a의 상황의 반대이다. 241, 242, 243, 244, 245 및 246에서의 수신기의 비디오 디코더로부터 새로운 비디오 프레임들이 출력된다(도 2a에서는 비디오 디코딩 프레임 레이트가 디스플레이 리프레시 레이트보다 낮지만, 도 2b에서는 이것이 반대로 된다). 디스플레이 리프레시들은 251, 252, 253 및 254에서 행해진다. 디스플레이 구현에 따라, 241에서의 비디오 프레임 출력은 252에서 다음 리프레시가 행해지기 전에 242에서 도달하는 프레임에 의해 대체되기 때문에 손실된다. 프레임(242)은 ΔT25(참조 260) 후에 렌더링된다. 243에서, 새롭게 디코딩된 비디오 프레임이 이용가능하게 되고, ΔT26(참조 261) 후의 리프레시(253) 시에 디스플레이 상에 렌더링된다. 244 및 245에서, 새롭게 디코딩된 프레임이 이용가능하게 된다. 디스플레이가 254에서 리프레시됨에 따라, 프레임(245)은 프레임(244)을 대체하고, 프레임(244)은 이에 따라 손실된다. 이것은 지터링(ΔT25, ΔT26 및 ΔT27 각각이 상이함) 및 스터터링(프레임들(241 및 244)이 손실됨)을 초래한다. 대안적으로, 그리고 수신기의 비디오 디코더 구현에 따라, 비디오 프레임(244)은 253에서 디스플레이가 리프레시 (동안의) 중앙에 있을 때 도달하고, 이는 비디오 테어링을 초래한다.
따라서, 서버의 비디오 인코더 프레임 레이트(및 이에 따른 수신기의 디코딩 프레임 레이트)와 디스플레이의 리프레시 레이트 간의 차이로 인해, 업데이트된 비디오 프레임의 수신과 디스플레이 디바이스로의 그 출력 사이의 레이턴시는 가변적이어서, 비디오 지터를 야기하며, 일부 경우들에서는 유리하게도 짧은 반면, 다른 경우들에서는 불리하게도 길다. 일부 비디오 프레임들이 반복되고, 다른 것들이 드롭되어, 비디오 스터터링을 야기한다. 일부 비디오 프레임들은 동일한 리프레시에서 부분적으로 렌더링되어, 비디오 테어링을 야기한다. 이것은 사용자 경험에 악영향을 미친다. 이와 관련하여, 전술한 바와 같이 레이턴시에 대해 복수의 원인들이 존재하고, 이러한 레이턴시들은 전술한 레이턴시들과 함께 누적된다는 것을 기억해야 한다. 따라서, 비디오 인코더와 비디오 디스플레이 리프레시 레이트들 간의 차이에 의해 야기되는 임의의 추가적인 레이턴시는 최대 누적 레이턴시, 및/또는 지터, 테어링 및/또는 스터터링 요건을 초과할 수 있다.
도 3은 디스플레이 리프레시와의 인코더(및 이에 따른 디코더) 비디오 프레임 레이트의 비동기화에 의해 일정한 레이턴시가 어떻게 야기되는지를 도시한다. 도 2와 대조적으로, 도 3에서, 비디오 인코더 프레임 레이트(및 이에 따른 비디오 디코더 프레임 레이트) 및 비디오 디스플레이 리프레시 레이트는 예를 들어, 50 fps와 같이 동일하다. 참조들(301-305)은 수신기의 비디오 디코더에 의한 디코딩된 비디오 프레임들의 출력을 지칭한다. 참조들(314-319)은 비디오 디스플레이의 리프레시들을 지칭한다. 참조들(320-324)은 디코딩된 비디오 프레임의 수신기의 비디오 디코더에 의한 출력과 디스플레이에 의한 그 비디오 프레임의 디스플레이 사이의 지연들 ΔT31-ΔT35를 지칭한다.
301에서 디코더에 의해 새로운 비디오 프레임이 출력된다. 그러나, 다음 디스플레이 리프레시가 315에 있기 때문에, 디스플레이는 315에서 14ms의 지연 ΔT31(참조 320)까지 디코딩된 비디오 프레임을 렌더링하지 않을 것이다. 이러한 레이턴시는 비디오 인코더와 비디오 디코더 클록들 사이에 드리프트가 없다고 고려되는 경우 일정하고, 디코딩된 비디오 프레임들은 301, 302, 303, 304 및 305에서 출력되고, 각각 315, 316, 317, 318 및 319에서 디스플레이에 의해 렌더링되며, 매번 레이턴시, 각각 ΔT31(320), ΔT32(321), ΔT33(322), ΔT34(323) 및 ΔT35(324)가 동일하다. 그러나, 일정한 레이턴시는 디스플레이의 리프레시가 디코더에 의한 비디오 프레임의 출력 직후에 발생할 때의 낮은 값과 대략 프레임 레이트의 역(여기서, 50 fps에 대해, 프레임 레이트의 역은 20ms임) 사이에서 임의적인 지속기간을 가질 수 있다. 따라서, 여기에 도입된 지터가 없는 동안, 레이턴시는 최적의 짧은 지연과 불리한 긴 지연 사이에서 임의적이다. 비디오 디스플레이 구현에 따르면, 비디오 테어링은 디코더가 새로운 프레임을 출력하는 것과 거의 동시에 디스플레이 리프레시들이 떨어질 때 여전히 발생할 수 있다. 마찬가지로, 이러한 구성은 프레임들의 디코더 출력이 디스플레이 리프레시의 순간에 너무 가까울 때 비디오 스터터링의 원인일 수 있다.
도 4는 본 원리들의 상이한 실시예들에 따라 전술한 레이턴시가 어떻게 감소되는지를 도시한다. 참조들(401-405)은 수신기의 비디오 디코더에 의한 디코딩된 비디오 프레임들의 출력이다. 참조들(414-423)은 비디오 디코더의 출력에 결합된 디스플레이의 리프레시들이다. 참조들(430-434)은 수신기의 비디오 디코더에 의한 디코딩된 비디오 프레임의 출력과 디스플레이에 의한 그 비디오 프레임의 렌더링 사이의 지연들 ΔT41-ΔT45를 표시한다. 도 4a에서, 디스플레이 리프레시 레이트는, 예를 들어 HDMI 구성 명령을 전송함으로써 비디오 인코더의 인코딩 프레임 레이트(및 이에 따른 비디오 디코더 프레임 레이트)의 정수 배수, 예를 들어 승산 인자 1, 2, 5 또는 10으로 설정된다. 최대 승산 인자는 최대 디스플레이 리프레시 레이트에 의해 제한된다. 1보다 높은 승산 인자를 적용함으로써 레이턴시가 감소된다. 또한, 1보다 높은 승산 인자가 정수 승산 인자인 경우 지터가 제거된다. 디스플레이 리프레시 레이트의 설정은 예를 들어 디스플레이에게의 명령(예를 들어, HDMI 명령)의 전송을 통해 행해지고, 이러한 명령은 디스플레이 리프레시 레이트의 구성 설정을 포함한다.
특정 실시예에 따르면, 비디오(오디오/비디오 스트림)의 비디오 인코딩 프레임 레이트, 및 이에 따른 비디오 디코딩 프레임 레이트는 수신된 오디오/비디오 스트림의 샘플을 통해 평균 비디오 프레임 간격(평균 비디오 프레임간 도달 시간)의 측정치로부터 수신기에 의해 결정된다.
상이한 실시예에 따르면, 비디오 인코딩 프레임 레이트(및 이에 따른 비디오 디코딩 프레임 레이트)는, H.264 인코딩된 비디오에 대한 시퀀스 파라미터 세트(SPS) 또는 화상 파라미터 세트(PPS)와 같은, 인코딩된 비디오 프레임들을 포함하는 오디오/비디오 스트림에 관련되거나 대역 외 신호화 소스로부터 획득되는 신호화로부터 결정되며, SPS 또는 PPS는 비디오 인코딩 프레임 레이트를 포함한다.
특정 실시예에 따르면, 승산 인자는 디코딩된 비디오를 렌더링하는데 이용되는 디스플레이에 의해 지원되는 디스플레이 리프레시 레이트들 중에서 유리하게 선택된다.
특정 실시예에 따르면, 예를 들어, VESA(Video Electronics Standards Association)에 따라 디스플레이의 확장된 디스플레이 식별 데이터(EDID)로부터 지원되는 디스플레이 리프레시 레이트들을 판독함으로써, 지원되는 디스플레이 리프레시 레이트들이 디스플레이 디바이스로부터 직접 획득된다. EDID는 비디오 소스(예를 들어, 그래픽 카드, 수신기 디바이스)에 대한 그 능력들을 설명하기 위해 디지털 디스플레이에 의해 제공되는 데이터 구조이다. EDID는 고선명 멀티미디어 인터페이스(HDMI), 디지털 시각 인터페이스(DVI) 또는 디스플레이 포트 인터페이스 중 임의의 것에 따라 디스플레이로부터 획득될 수 있다.
도 5는 수신기의 디코더에 의한 디코딩된 프레임의 출력과 프레임의 디스플레이 사이의 레이턴시가 디스플레이에게의 구성 명령의 전송의 순간을 선택적으로 정함으로써 더 감소되는 추가 실시예이다. 화살표들(501-509)은 수신기 디바이스에 의해 출력되는 비디오 프레임들을 나타낸다. 화살표들(510-518)은 수신기 디바이스에 결합된 디스플레이 디바이스의 리프레시들을 나타낸다. 참조(514)까지, 구성 명령의 전송, 및 도 4의 도움으로 설명된 실시예들 중 하나에 따르면, 수신기에 의해 출력되는 비디오 프레임들과 비디오 프레임의 디스플레이 사이의 레이턴시 ΔT50(520)은 일정하다. 지터, 테어링 및 스터터링이 제거된다. 그러나, 레이턴시가 더 감소될 수 있다. 화살표(514)는 디스플레이에게의 디스플레이 모드 구성 명령의 전송이다. 전송의 순간은 디스플레이에게의 수신기 디바이스 내의 (비디오) 디코더에 의한 디코딩된 비디오 프레임들의 출력 직후(시)가 되도록, 즉 몇 밀리초 후, 예를 들어 1, 2, 5 또는 10ms 후가 되도록 선택된다. 530 동안, 디스플레이는 그 디스플레이 설정들을 재구성한다. 디스플레이 하드웨어 및 소프트웨어 구현에 따라, 디스플레이 재구성 동안 이미지가 보이지 않을 수 있다(이미지 프리즈 또는 블랙 스크린이 발생할 수 있다). 그러나, 구성 명령(514)의 수신 시에 디스플레이의 내부 리프레시 클록이 시작되었다. 517에서, 디스플레이 구현에 의존하는 명령 처리 지연 후에, 디스플레이는 새로운 구성에서 프레임(508)을 디스플레이할 준비가 되어 있기 때문에 리프레시된다. 따라서, 이러한 추가 개선에 따르면, 레이턴시는 디스플레이 리프레시들이 수신기 디바이스 내의 (비디오) 디코더에 의한 디코딩된 비디오 프레임들의 출력 직후(시)에 배치되기 때문에 ΔT51(521)로 유리하게 감소된다. 따라서, 디스플레이 모드 구성 명령을 디스플레이에게 전송하는 것은 비디오 디코더로부터 디코딩된 비디오 프레임의 수신에 의해 트리거링된다. 이것은 디스플레이의 리프레시들과의 비디오 디코더의 출력의 동기화를 야기한다. 디스플레이 모드 구성 명령의 전송은, 예를 들어, 수신된 비디오 스트림에 대해 디코더에 의한 디코딩된 비디오 프레임의 제1 출력에서 한 번만 요구되며, 그 후 수신된 비디오 스트림으로부터 디스플레이로의 디코딩된 비디오 프레임들의 전송이 계속될 수 있다. 수신된 비디오 스트림에 대한 디코딩된 비디오 프레임의 제1 출력에서 디스플레이 모드 구성 명령을 전송하는 것이 요구되지 않지만, 디스플레이 모드 구성 명령이 디스플레이 디바이스에 전송되었고 디스플레이 디바이스에 의해 고려되었을 때까지 디코더-디스플레이(또는 수신기-디스플레이) 동기화가 수행되지 않을 것이다. 디스플레이 모드 구성 명령의 전송은 단지, 디스플레이가 수신기 디바이스로부터 연결 해제된 후에 수신기 디바이스로부터 재연결될 때, 디스플레이가 스위치 오프된 후에 스위치 온될 때, 또는 다른 스트림이 예를 들어 채널 변경 후에 수신기 디바이스에 의해 선택될 때 다시 행해질 필요가 있다. 이러한 동기화가 수행되면, 전술한 바와 같이 디코딩된 프레임들의 출력과 디스플레이 디바이스 상의 프레임의 디스플레이 사이의 레이턴시가 감소된다.
도 6은 본 원리들에 따른 수신기 디바이스(106)의 일 실시예이다. 수신기 디바이스(106a)는 네트워크(105)(예를 들어, 유선 또는 무선 네트워크)에 연결되고, 이로부터, 서버 또는 복수의 서버들로부터의 오디오/비디오 스트림을 수신하고, 이에 입력 액션들을 전송한다. 수신기 디바이스(106a)는 오디오 및/또는 비디오 프레임들을 전송하는 연결(107)을 통해 디스플레이 디바이스(도시되지 않음)에 추가로 연결된다. 마지막으로, 수신기 디바이스(106a)는 입력 디바이스(104)로부터 사용자 입력을 수신한다. 메모리(609)는 디바이스의 기능을 정의하는 프로그램 명령어들을 저장하고, 이 명령어들은 중앙 처리 유닛(CPU)(608)에 의해 실행된다. CPU(608)는 입력 인터페이스(607)로부터 사용자 입력 제어 명령어들을 수신한다. 이러한 명령어들은 예를 들어 비디오 게임 및 게임 제어 명령들의 선택을 포함한다. 비디오 게임의 선택을 위한 사용자 입력, 예를 들어 비디오 게임의 URL(Uniform Resource Locator)의 사용자 선택들에 따라, CPU는 네트워크 인터페이스(601)에의 연결(617)을 통해 URL에의 연결을 위한 요청을 네트워크(105)에 전송한다. 네트워크에서의 서버는, URL의 선택에 이어서, 인코딩된 오디오/비디오 패킷들을 포함하는 다중화된 스트림을 수신기 디바이스(106a)에 전송한다. 이 스트림은 링크(610)를 통해 네트워크 인터페이스(601a)로부터 디멀티플렉서(602)에 의해 수신된다. CPU(608)는 디멀티플렉서(602)에게 링크(616)를 통해 오디오/비디오 스트림으로부터 비디오 및 오디오 패킷들을 분리하도록 지시한다. 디멀티플렉서는 오디오 패킷들을 링크(611)를 통해 오디오 디코더(603)에 전송하고, 비디오 패킷들을 링크(613)를 통해 비디오 디코더(604)에 전송한다. 오디오 디코더(603)는 인코딩된 오디오 패킷들을 디코딩하고 디코딩된 오디오 프레임들을 링크(612)를 통해 디스플레이 인터페이스(605)에 전송한다. 마찬가지로, 비디오 디코더(604)는 인코딩된 비디오 패킷들을 디코딩하고 디코딩된 비디오 프레임들을 링크(614)를 통해 디스플레이 인터페이스(605)에 출력한다. 디스플레이 인터페이스(605)는 수신된 오디오 및 비디오 프레임들을 디지털 오디오 및 비디오로 변환하고, 디지털 오디오 및 비디오를 링크(107)에 연결된 디스플레이 디바이스에 전송한다. 비디오 디코더(604)의 출력은 또한 본 원리들에 따라 링크(614)를 통해 제어기(606)에 연결된다. 제어기(606)는 수신된 비디오 프레임들로부터 비디오 프레임간 도달 시간 및 이에 따른 비디오 fps를 결정한다. 제어기(606)는 또한 지원되는 비디오 해상도들 및 지원되는 디스플레이 리프레시 레이트들을 획득하기 위해, 예를 들어, 지원되는 비디오 해상도들 및 비디오 fps(지원되는 비디오 디스플레이 모드들, 지원되는 비디오 디스플레이 리프레시 레이트들)를 포함하는 디스플레이의 EDID 정보를 판독함으로써, 링크(107)를 통해, 직접 또는 디스플레이 인터페이스(605)를 통해 디스플레이 디바이스에 질의할 수 있다. 이들 정보 소스들로부터, 제어기(606)는 비디오 지터, 스터터링 및 테어링을 감소시키는 최상의 디스플레이 구성 설정을 결정한다. 이어서, 이러한 디스플레이 구성은 제어기(606)에 의해 디스플레이 인터페이스(605)에 전송된다. 디스플레이 인터페이스(605)는 제어기(606)로부터 수신된 디스플레이 설정들에 따라 그 디지털 오디오/비디오 출력을 구성한다. 또한, 제어기(606)는 디스플레이 인터페이스(605)를 통해, 디스플레이 인터페이스(605)와 디스플레이 사이의 링크(107)에 이용되는 프로토콜에 따라(예를 들어, HDMI, DVI 또는 디스플레이 포트에 따라) 디스플레이에게 디스플레이 구성 명령을 전송한다. 비디오 프레임간 도달 시간으로부터 비디오 fps를 결정하는 대신에, 제어기(606)는 예를 들어, 대역 내 SPS, PPS로부터 또는 대역 외 신호화 소스로부터 수신된 신호화로부터 비디오 fps를 결정할 수 있다. 추가적인 실시예에 따라, 그리고 비디오 디코더에 의한 비디오 프레임들의 출력과 디스플레이에 의한 이들 비디오 프레임들의 디스플레이 사이의 레이턴시를 더 감소시키기 위해, 제어기(606)는 도 5에 도시된 바와 같이, 비디오 디코더(604)로부터 (디코딩된) 비디오 프레임을 수신한 수 밀리초 후에(또는 수신 시에) 구성 정보의 전송을 배치함으로써 디스플레이 인터페이스(605)에게의 디스플레이 구성 정보의 전송을 위한 순간을 선택한다. 따라서, 디스플레이 모드 구성 명령을 디스플레이에게 전송하는 것은 비디오 디코더로부터 디코딩된 비디오 프레임의 수신에 의해 트리거링된다. 디스플레이 구성 정보가 디스플레이에 전송되었고 디스플레이에 의해 고려되면, 비디오 디코더에 의한 디코딩된 비디오 프레임들의 출력은 디스플레이의 디스플레이 리프레시와 동기화되고, 디코딩된 프레임들의 출력과 디스플레이에 의한 프레임의 디스플레이 사이의 레이턴시는 전술한 바와 같이 더 감소된다. (도시되지 않은) 추가 실시예에 따르면, 입력 디바이스 및 디스플레이 디바이스는 예를 들어 태블릿 또는 스마트폰과 같은 모바일 디바이스에서 수신기 디바이스에 통합된다.
도 7은 본 원리들에 따른 수신기 디바이스(106)의 상이한 실시예이다. 수신기 디바이스(106b)는 중앙 처리 유닛(702), 네트워크 인터페이스(703), 메모리(704), 디스플레이 인터페이스(705), 및 입/출력 인터페이스(706)를 포함하고, 이 요소들은 데이터 통신 버스(701) 상에서 상호연결된다. 메모리(704)는 본 원리들에 따른 방법을 포함하는 컴퓨터 판독가능한 명령어들을 저장한다. 예를 들어, 게임 패드(104)로부터의 사용자 입력은 I/O 인터페이스(706)를 통해 수신된다. 오디오/비디오 스트림, 예를 들어 컴퓨터 게임의 오디오/비디오 스트림은 링크(105) 및 네트워크 인터페이스(703)를 통해 수신된다. 비디오 및 오디오 프레임들은 링크(107)를 통해 디스플레이 디바이스에 전송된다. 오디오/비디오 스트림의 역다중화 및 디코딩은 프로세서(702)에 의해 수행된다. 프로세서는 또한 메모리(704)에 저장된 제어 프로그램을 실행하여 본 원리들에 따라 그리고 도 6의 제어기(606)와 관련하여 전술한 바와 같이 방법을 수행한다. 추가 실시예에 따르면, 디바이스(106b)는 결합된 디스플레이 및 입력 디바이스, 예를 들어 터치 스크린을 포함하고, 사용자 액션들은 통합 디스플레이의 터치 감지층을 통해 수신된다.
도 8은 비디오 스트림으로부터의 비디오 프레임들을 디스플레이로 전송하는 예시적인 방법(800)이다. 이 방법은 예를 들어 도 6의 디바이스(106a) 또는 도 7의 디바이스(106b)에 의해 구현된다. 제1 단계(801)에서, 비디오 스트림이 수신된다. 이 스트림은 또한 오디오 및 다른 데이터를 포함할 수 있다. 단계(802)에서, 이 비디오 스트림의 비디오 인코딩 프레임 레이트가 획득된다. 이 비디오 인코딩 프레임 레이트는 대역 외 또는 대역 내 신호화로부터 획득될 수 있고, 이 경우 단계(802)는 단계(801) 전에 수행될 수 있거나, 예를 들어 비디오 디코더(604)의 출력에서 비디오 프레임간 도달 시간의 측정으로부터 획득될 수 있다. 단계(803)에서, 디스플레이에 대한 지원되는 디스플레이 리프레시 레이트들은 디스플레이에 의해 제공되는 정보를 판독함으로써, 예를 들어, EDID를 판독함으로써, 또는 메모리를 판독함으로써 획득될 수 있다. 단계(804)에서, 비디오 인코딩 프레임 레이트의 배수인 디스플레이 리프레시 레이트가 디스플레이 지원 리프레시 레이트들 중에서 선택된다. 바람직하게, 이 배수는 정수 배수이다. 단계(805)에서, 디스플레이 모드 구성 명령이 디스플레이에 전송된다. 디스플레이 모드 구성 명령은 선택된 지원 리프레시 레이트를 포함한다. 마지막으로, 단계(806)에서 비디오 스트림으로부터의 비디오 프레임들(및 가능하게는 디스플레이가 스피커들을 통합하는 경우 오디오 프레임들)이 디스플레이에 전송된다. 이 방법의 단계들 중 일부는 상이한 순서로 실행될 수 있거나 동시에 실행될 수 있으며, 예를 들어, 스트림은 네트워크로부터 수신되고, 스트림으로부터의 비디오 프레임들은 단계들(802-806)의 실행 동안 디스플레이에 전송된다. 예를 들어, 디스플레이로부터 지원 리프레시 레이트들을 획득하는 단계(804)는 모든 다른 단계들 전에 실행될 수 있다.
도면들에서의 일부 요소들은 모든 실시예들에서 이용되거나 필요하지 않을 수 있다는 것을 이해해야 한다. 일부 동작들은 동시에 실행될 수 있다. 도시되고/되거나 설명된 것들 이외의 실시예들이 가능하다. 예를 들어, 본 원리들을 구현하는 디바이스는 하드웨어 및 소프트웨어의 혼합을 포함할 수 있다.
본 개시내용의 원리들의 양태들이 시스템, 방법 또는 컴퓨터 판독가능한 매체로서 구현될 수 있다는 것을 이해해야 한다. 따라서, 본 개시내용의 원리들의 양태들은 완전히 하드웨어 실시예, 완전히 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함함), 또는 모두 일반적으로 본 명세서에서 "회로", "모듈" 또는 "시스템"으로서 정의될 수 있는 하드웨어 및 소프트웨어 양태들을 결합하는 실시예의 형태를 취할 수 있다. 또한, 본 개시내용의 원리들의 양태들은 컴퓨터 판독가능한 저장 매체의 형태를 취할 수 있다. 하나 이상의 컴퓨터 판독가능한 저장 매체(들)의 임의의 조합이 이용될 수 있다.
따라서, 예를 들어, 본 명세서에서 제시된 도면들은 본 개시내용의 원리들을 구현하는 예시적인 시스템 컴포넌트들 및/또는 회로의 개념도들을 나타낸다는 것을 이해해야 한다. 유사하게, 임의의 흐름 차트들, 흐름도들, 상태 천이도들, 의사 코드 등은 컴퓨터 판독가능한 저장 매체 내에 실질적으로 표현되고, 따라서 컴퓨터 또는 프로세서가 명시적으로 도시되는지의 여부에 관계없이 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스들을 나타낸다는 것을 이해해야 한다.
컴퓨터 판독가능한 저장 매체는 하나 이상의 컴퓨터 판독가능한 매체(들) 내에서 구현되고 컴퓨터에 의해 실행가능한 컴퓨터 판독가능한 프로그램 코드가 구현되는 컴퓨터 판독가능한 프로그램 제품의 형태를 취할 수 있다. 본 명세서에서 이용되는 컴퓨터 판독가능한 저장 매체는 이로부터 정보의 검색을 제공하기 위한 고유의 능력뿐만 아니라 그 내부에 정보를 저장하기 위한 고유의 능력을 놓고 볼 때 비일시적 저장 매체라고 고려된다. 컴퓨터 판독가능한 저장 매체는, 예를 들어 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 이들의 임의의 적절한 조합일 수 있지만, 이들로 제한되지는 않는다. 저장 매체의 일부 또는 모든 양태들은 (예를 들어, '클라우드'에) 원격 위치될 수 있다. 하드 디스크, 판독 전용 메모리(ROM), 소거가능한 프로그래머블 판독 전용 메모리(EPROM 또는 플래시 메모리), 휴대용 콤팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 디바이스, 자기 저장 디바이스, 또는 이들의 임의의 적절한 조합은, 본 원리들이 적용될 수 있는 컴퓨터 판독가능한 저장 매체들의 더 구체적인 예들을 제공하지만, 관련 기술분야의 통상의 기술자에 의해 쉽게 이해되는 바와 같이, 단지 예시적이며 포괄적인 목록이 아니라는 것을 이해해야 한다.

Claims (13)

  1. 디바이스(106)에 의해 구현되고, 상기 디바이스에 의해 수신되는 비디오 스트림으로부터의 비디오 프레임들의 출력을 상기 디바이스에 연결된 디스플레이(108)의 디스플레이 리프레시와 동기화하는 방법(800)으로서,
    상기 디바이스에 의해, 비디오 스트림을 수신하는 단계(801);
    상기 디바이스에 의해, 상기 비디오 스트림의 비디오 인코딩 프레임 레이트를 획득하는 단계(802);
    상기 디바이스에 의해, 상기 디스플레이에 대한 지원되는 디스플레이 리프레시 레이트들을 획득하는 단계(803);
    상기 디바이스에 의해, 상기 지원되는 디스플레이 리프레시 레이트들 중에서, 획득된 비디오 인코딩 프레임 레이트의 배수인 디스플레이 리프레시 레이트를 선택하는 단계(804);
    수신기에 의해, 수신된 비디오 스트림의 디코딩된 비디오 프레임의 상기 디바이스 내의 비디오 디코더에 의한 출력 시에, 상기 디스플레이에게 디스플레이 모드 구성 명령을 전송하는 단계(805) - 상기 디스플레이 모드 구성 명령은 선택된 디스플레이 리프레시 레이트를 포함함 -; 및
    상기 디바이스에 의해, 상기 디스플레이에게 상기 비디오 디코더에 의해 출력된 상기 수신된 비디오 스트림으로부터의 비디오 프레임들을 계속 전송하는 단계(806) - 상기 비디오 디코더에 의한 상기 출력은 상기 수신된 비디오 스트림으로부터 디코딩된 비디오 프레임의 상기 비디오 디코더에 의한 출력 시에 상기 디스플레이에게의 상기 디스플레이 모드 구성 명령의 전송에 의해 상기 디스플레이의 상기 디스플레이 리프레시와 동기화됨 -
    를 포함하는 방법(800).
  2. 제1항에 있어서,
    상기 획득된 비디오 인코딩 프레임 레이트의 상기 배수는 정수 배수인 방법(800).
  3. 제1항 또는 제2항에 있어서,
    상기 디바이스에 의해, 비디오 프레임간 도달 레이트(inter-video frame arrival rate)의 측정으로부터 상기 비디오 스트림의 상기 비디오 인코딩 프레임 레이트를 획득하는 단계를 더 포함하는 방법(800).
  4. 제1항 또는 제2항에 있어서,
    상기 비디오 스트림에 관련된 신호화(signalization)로부터 상기 비디오 인코딩 프레임 레이트를 획득하는 단계를 더 포함하는 방법(800).
  5. 제4항에 있어서,
    상기 신호화는 시퀀스 파라미터 세트 또는 화상 파라미터 세트에 따라 상기 비디오 스트림에 포함된 정보로부터 획득되는 방법(800).
  6. 제1항 또는 제2항에 있어서,
    상기 지원되는 디스플레이 리프레시 레이트들은 상기 디스플레이에 의해 제공되는 정보를 판독함으로써 상기 디스플레이로부터 획득되는 방법(800).
  7. 제6항에 있어서,
    상기 디스플레이에 의해 제공되는 상기 정보는 확장된 디스플레이 식별 데이터인 방법(800).
  8. 비디오 스트림으로부터의 비디오 프레임들을 디스플레이로 전송하기 위한 디바이스(106)로서,
    상기 비디오 스트림을 수신하도록 구성된 네트워크 인터페이스(703);
    적어도 하나의 프로세서(702)
    를 포함하며, 상기 적어도 하나의 프로세서(702)는,
    상기 비디오 스트림의 비디오 인코딩 프레임 레이트를 획득하고,
    상기 디스플레이에 대한 지원되는 디스플레이 리프레시 레이트들을 획득하고,
    상기 지원되는 디스플레이 리프레시 레이트들 중에서 상기 비디오 인코딩 프레임 레이트의 배수인 디스플레이 리프레시 레이트를 선택하고,
    수신된 비디오 스트림으로부터 디코딩된 비디오 프레임의 상기 디바이스 내의 비디오 디코더에 의한 출력 시에, 상기 디스플레이에게 디스플레이 모드 구성 명령을 전송하며 - 상기 디스플레이 모드 구성 명령은 선택된 디스플레이 리프레시 레이트를 포함함 -,
    상기 디스플레이에게 상기 비디오 디코더에 의해 출력된 상기 수신된 비디오 스트림으로부터의 비디오 프레임들을 계속 전송하도록 구성되며,
    상기 비디오 디코더에 의한 상기 출력은 상기 수신된 비디오 스트림으로부터 상기 디코딩된 비디오 프레임의 상기 비디오 디코더에 의한 출력 시에 상기 디스플레이에게의 상기 디스플레이 모드 구성 명령의 전송에 의해 상기 디스플레이의 디스플레이 리프레시와 동기화되는 디바이스(106).
  9. 제8항에 있어서,
    상기 적어도 하나의 프로세서는 상기 비디오 인코딩 프레임 레이트의 정수 배수를 선택하도록 구성되는 디바이스(106).
  10. 제8항 또는 제9항에 있어서,
    상기 적어도 하나의 프로세서는 비디오 프레임간 도달 레이트의 측정으로부터 상기 비디오 인코딩 프레임 레이트를 획득하도록 추가로 구성되는 디바이스(106).
  11. 제8항 또는 제9항에 있어서,
    상기 적어도 하나의 프로세서는 상기 디스플레이에 의해 제공되는 정보를 판독함으로써 상기 디스플레이로부터 상기 지원되는 디스플레이 리프레시 레이트들을 획득하도록 추가로 구성되는 디바이스(106).
  12. 제8항 또는 제9항에 있어서,
    상기 디바이스는 셋톱 박스인 디바이스(106).
  13. 제8항 또는 제9항에 있어서,
    상기 디바이스는 모바일 통신 디바이스인 디바이스(106).
KR1020180163324A 2017-12-19 2018-12-17 비디오 프레임들을 비디오 스트림으로부터 디스플레이로 전송하는 방법 및 대응하는 장치 KR20190074232A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17306819.8A EP3503569A1 (en) 2017-12-19 2017-12-19 Method of transmitting video frames from a video stream to a display and corresponding apparatus
EP17306819.8 2017-12-19

Publications (1)

Publication Number Publication Date
KR20190074232A true KR20190074232A (ko) 2019-06-27

Family

ID=60954822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180163324A KR20190074232A (ko) 2017-12-19 2018-12-17 비디오 프레임들을 비디오 스트림으로부터 디스플레이로 전송하는 방법 및 대응하는 장치

Country Status (5)

Country Link
US (1) US20190184284A1 (ko)
EP (2) EP3503569A1 (ko)
JP (1) JP2019135828A (ko)
KR (1) KR20190074232A (ko)
CN (1) CN110012333A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263029B2 (en) 2019-03-27 2022-03-01 Citrix Systems, Inc. Providing user interface (UI) elements having scrollable content in virtual machine sessions at reduced latency and related methods
US11281478B2 (en) 2019-03-27 2022-03-22 Citrix Systems, Inc. Providing user interface (UI) elements having an ordered hierarchy of graphical control elements in virtual machine sessions at reduced latency and related methods
US11263028B2 (en) * 2019-03-27 2022-03-01 Citrix Systems, Inc. Providing user interface (UI) elements in virtual machine sessions at reduced latency
US11025858B2 (en) * 2019-08-08 2021-06-01 Netflix, Inc. Frame rate conversion
WO2021071486A1 (en) * 2019-10-10 2021-04-15 Google Llc Selective multiple-instance encoding of video frames to provide target frame rate during network transmission
KR20210092571A (ko) 2020-01-16 2021-07-26 삼성전자주식회사 전자 장치 및 그의 화면 갱신 방법
JP7321961B2 (ja) * 2020-03-26 2023-08-07 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置および画像処理方法
US11594194B2 (en) * 2020-09-24 2023-02-28 Ati Technologies Ulc Video timing for display systems with variable refresh rates
CN113010245B (zh) * 2021-02-24 2023-03-14 杭州雾联科技有限公司 一种创建虚拟显示器的方法、装置、电子设备和存储介质
CN113190315B (zh) * 2021-04-29 2022-11-25 安徽华米健康医疗有限公司 一种显示器刷新方法及其装置
US11558668B2 (en) * 2021-06-03 2023-01-17 Microsoft Technology Licensing, Llc Measuring video quality of experience based on decoded frame rate
CN115484485A (zh) * 2022-09-06 2022-12-16 三星电子(中国)研发中心 投屏方法、设备和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026321A1 (en) * 1999-02-26 2002-02-28 Sadeg M. Faris Internet-based system and method for fairly and securely enabling timed-constrained competition using globally time-sychronized client subsystems and information servers having microsecond client-event resolution
US6469744B1 (en) * 1999-07-06 2002-10-22 Hitachi America, Ltd. Methods and apparatus for encoding, decoding and displaying images in a manner that produces smooth motion
US8754904B2 (en) * 2011-04-03 2014-06-17 Lucidlogix Software Solutions, Ltd. Virtualization method of vertical-synchronization in graphics systems
US8542221B1 (en) * 2009-06-25 2013-09-24 Nvidia Corporation Method and system for optimizing display power reduction through a continuously variable refresh rate adjustment
US9830880B1 (en) * 2009-07-22 2017-11-28 Nvidia Corporation Method and system for adjusting the refresh rate of a display device based on a video content rate
JP5170264B2 (ja) * 2011-01-18 2013-03-27 オンキヨー株式会社 映像処理装置及び映像処理プログラム
US8793393B2 (en) * 2011-11-23 2014-07-29 Bluespace Corporation Video processing device, video server, client device, and video client-server system with low latency thereof
US9589540B2 (en) * 2011-12-05 2017-03-07 Microsoft Technology Licensing, Llc Adaptive control of display refresh rate based on video frame rate and power efficiency
US10616086B2 (en) * 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
US9858899B2 (en) * 2013-06-13 2018-01-02 Microsoft Technology Licensing, Llc Managing transitions of adaptive display rates for different video playback scenarios
EP3063616A1 (de) * 2013-10-30 2016-09-07 Barco Control Rooms GmbH Synchronisieren von videos in einer displaywand
US10720127B2 (en) * 2017-10-23 2020-07-21 Apple Inc. Dynamic display mode selection
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
US11587531B2 (en) * 2018-09-27 2023-02-21 Intel Corporation Technologies for power efficient display synchronization

Also Published As

Publication number Publication date
EP3503569A1 (en) 2019-06-26
CN110012333A (zh) 2019-07-12
US20190184284A1 (en) 2019-06-20
EP3503570A1 (en) 2019-06-26
JP2019135828A (ja) 2019-08-15

Similar Documents

Publication Publication Date Title
KR20190074232A (ko) 비디오 프레임들을 비디오 스트림으로부터 디스플레이로 전송하는 방법 및 대응하는 장치
US11553222B2 (en) Low latency wireless virtual reality systems and methods
US20230403384A1 (en) Methods and apparatus for streaming content
US9955147B2 (en) Zoom related methods and apparatus
CN108076364A (zh) 自适应媒体流传输设备和媒体服务设备
US9807408B2 (en) Control mechanism for video output
JP2008500752A (ja) ビデオデータの適応型復号
US10979477B1 (en) Time synchronization between live video streaming and live metadata
US20140362291A1 (en) Method and apparatus for processing a video signal
US20190356880A1 (en) Reception apparatus, transmission apparatus, control method, transmission method, and program
KR101668283B1 (ko) 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
US9218848B1 (en) Restructuring video streams to support random access playback
CN114554277B (zh) 多媒体的处理方法、装置、服务器及计算机可读存储介质
US20220408140A1 (en) Moving image reproduction apparatus, moving image reproduction system, and moving image reproduction method
US11005908B1 (en) Supporting high efficiency video coding with HTTP live streaming
WO2018178510A2 (en) Video streaming
KR102359367B1 (ko) 게임 스트리밍을 위한 방법 및 장치
KR20230161804A (ko) 아바타를 이용한 메타버스 클라우드 스트리밍 시스템 및 방법
KR20190032967A (ko) IoT 기반의 셋톱박스 원격 제어 시스템
WO2018178748A1 (en) Terminal-to-mobile-device system, where a terminal is controlled through a mobile device, and terminal remote control method
JP2016174273A (ja) 画像処理装置、画像処理システム、及び、プログラム
KR20150092927A (ko) 레이턴시를 고려한 영상 처리 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템