KR102625130B1 - 클라우드 게이밍 시스템에서 파라미터 세트 선택 방법들 - Google Patents

클라우드 게이밍 시스템에서 파라미터 세트 선택 방법들 Download PDF

Info

Publication number
KR102625130B1
KR102625130B1 KR1020227012345A KR20227012345A KR102625130B1 KR 102625130 B1 KR102625130 B1 KR 102625130B1 KR 1020227012345 A KR1020227012345 A KR 1020227012345A KR 20227012345 A KR20227012345 A KR 20227012345A KR 102625130 B1 KR102625130 B1 KR 102625130B1
Authority
KR
South Korea
Prior art keywords
video content
parameter set
encoding
decoding
encoded video
Prior art date
Application number
KR1020227012345A
Other languages
English (en)
Other versions
KR20220062092A (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 KR20220062092A publication Critical patent/KR20220062092A/ko
Application granted granted Critical
Publication of KR102625130B1 publication Critical patent/KR102625130B1/ko

Links

Classifications

    • 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
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2223Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
    • 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
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

비디오 코딩 및 디코딩 방법들, 장치들 및 저장 매체가 제공된다. 인코딩 방법은 인코딩을 위해 사용될 파라미터 세트를 결정하기 위한 모델을 훈련하는 단계; 비디오 콘텐츠를 획득하는 단계; 훈련된 모델을 사용하여 비디오 콘텐츠를 인코딩하기 위한 파라미터 세트를 결정하는 단계; 파라미터 세트에 따라 비디오 콘텐츠를 인코딩하는 단계; 인코딩된 비디오 콘텐츠를 디코딩 디바이스로 송신하는 단계; 및 파라미터 세트를 디코딩 디바이스로 송신하는 단계를 포함한다. 디코딩 방법은 인코딩 디바이스로부터 인코딩된 비디오 콘텐츠를 수신하는 단계; 인코딩 디바이스로부터 파라미터 세트가 수신되는지 여부를 결정하는 단계; 파라미터 세트가 수신된다고 결정하는 것에 기초하여, 파라미터 세트에 따라 인코딩된 비디오 콘텐츠를 디코딩하는 단계; 및 디코딩된 비디오 콘텐츠를 디스플레이 디바이스로 송신하는 단계를 포함한다.

Description

클라우드 게이밍 시스템에서 파라미터 세트 선택 방법들
관련 출원에 대한 상호 참조
본 출원은 미국 특허상표청에 2020년 8월 7일 출원된 미국 가출원 제63/062,759호 및 2021년 6월 29일 출원된 미국 출원 제17/361,973호에 기초하고 이에 대한 우선권을 주장하며, 이 출원들의 개시는 그 전부가 본 명세서에 참고로 포함된다.
기술분야
본 개시는 멀티미디어 기술 분야에 관한 것으로, 특히 네트워크 기반 게이밍 시스템 및 네트워크 기반 게이밍 서비스를 제공하는 방법에 관한 것이다.
클라우드 게이밍 서비스는 다중 서비스 제공자들에 의해 제공되는 유행 온라인 서비스이다. 클라우드 게이밍은 또한 주문형 게이밍으로 지칭될 수 있다. 클라우드 게이밍 시스템에서, 사용자들은 클라우드 서버로부터 제공된 게이밍 서비스들에 기초하여 원격으로 게임할 수 있다. 즉, 게임들은 원격 클라우드 서버들 상에서 실행될 수도 있고 게임들의 콘텐츠는 비디오 스트리밍을 통해 원격 클라우드 서버에서 사용자의 디바이스로 송신되며, 사용자 디바이스의 디스플레이 상에 디스플레이될 수 있다.
그러나, 클라우드 게이밍은 다중 사용자들에게 게이밍 서비스들을 제공하기 위해서 상당한 기술적 인프라구조를 필요로 한다. 예를 들어, 다량의 비디오 콘텐츠의 전달을 위해 고속 인터넷 서비스가 필요할 수도 있고, 비디오 콘텐츠를 렌더링하고, 비디오 콘텐츠를 압축하며, 비디오 콘텐츠를 소비자들에서 실시간으로 전달하는데 대규모 데이터 센터 또는 서버가 필요할 수 있다. 사용자 측 상에서, 모든 사용자들이 강력한 게임 플레잉 하드웨어(예를 들어, 게임 콘솔들, 개인용 컴퓨터(PC)들 및 모바일 폰들)를 가질 수 없기 때문에, 사용자 측 상에서 정상적인 비디오 디코딩 능력만을 갖는 컴퓨터가 인코딩된 콘텐츠를 수신하고 클라우드 게이밍과 관련된 다량의 데이터를 프로세싱할 수 있도록 서버 측 상에서 강력한 인코딩이 필요하다. 또한, 인코딩 방식을 인식하고 서버 측 상에서 사용된 인코딩 방식에 따라 인코딩된 비디오 콘텐츠를 효과적으로 디코딩할 필요가 있다.
클라우드 게이밍 서비스의 속도 및 품질을 강화하기 위한 하나의 접근법은 학습 기반 비디오 코딩을 사용하는 것에 의해서이다. 최근에는, 뉴럴 네트워크(neural network)(NN)를 사용한 학습 기반 방법들이 비디오 코딩에 도입되었다. 이러한 비디오 코딩 접근법에서, 필터 계수들과 같은 최적의 코딩 파라미터들은 통상적으로 다량의 다양한 훈련 데이터를 통해 훈련된다. 그러나, 비디오 코딩 모델을 효율적으로 훈련하고 비디오 코딩의 정확도를 개선할 필요가 있다. 따라서, 클라우드 게이밍 서비스의 속도 및 품질을 개선하기 위해 하나 이상의 학습 기반 비디오 코딩 시스템 및 방법이 제공된다.
실시예에 따라, 인코딩 디바이스에 의해 수행되는, 네트워크 기반 시스템에서 비디오 코딩을 수행하는 방법이 제공된다. 방법은 인코딩을 위해 사용될 파라미터 세트를 결정하기 위한 모델을 훈련하는 단계; 비디오 콘텐츠를 획득하는 단계; 훈련된 모델을 사용하여 비디오 콘텐츠를 인코딩하기 위한 파라미터 세트를 결정하는 단계; 파라미터 세트에 따라 비디오 콘텐츠를 인코딩하는 단계; 인코딩된 비디오 콘텐츠를 디코딩 디바이스로 송신하는 단계; 및 파라미터 세트를 디코딩 디바이스로 송신하는 단계를 포함한다.
실시예에 따라, 디코딩 디바이스에 의해 수행되는, 네트워크 기반 시스템에서 비디오 디코딩을 수행하는 방법이 제공된다. 방법은 인코딩 디바이스로부터 인코딩된 비디오 콘텐츠를 수신하는 단계; 인코딩 디바이스로부터 파라미터 세트가 수신되는지 여부를 결정하는 단계; 파라미터 세트가 수신된다고 결정하는 것에 기초하여, 파라미터 세트에 따라 인코딩된 비디오 콘텐츠를 디코딩하는 단계; 및 디코딩된 비디오 콘텐츠를 디스플레이 디바이스로 송신하는 단계를 포함한다.
실시예에 따라, 인코딩 디바이스가 제공되며, 인코딩 디바이스는, 컴퓨터 프로그램 코드를 저장하는 적어도 하나의 메모리; 및 적어도 하나의 메모리에 액세스하고 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작하도록 구성된 적어도 하나의 프로세서를 포함한다. 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로 하여금 인코딩을 위해 사용될 파라미터 세트를 결정하기 위한 모델을 훈련하게 하도록 구성된 훈련 코드; 적어도 하나의 프로세서로 하여금 비디오 콘텐츠를 획득하게 하도록 구성된 획득 코드; 적어도 하나의 프로세서로 하여금 훈련된 모델을 사용하여 비디오 콘텐츠를 인코딩 및/또는 디코딩하기 위한 파라미터 세트를 결정하게 하도록 구성된 결정 코드; 적어도 하나의 프로세서로 하여금 파라미터 세트에 따라 비디오 콘텐츠를 인코딩하게 하도록 구성된 인코딩 코드; 및 적어도 하나의 프로세서로 하여금 통신 인터페이스를 제어하여 인코딩된 비디오 콘텐츠 및 파라미터 세트를 디코딩 디바이스로 송신하게 하도록 구성된 송신 코드를 포함한다.
실시예에 따라, 디코딩 디바이스가 제공되며, 디코딩 디바이스는, 컴퓨터 프로그램 코드를 저장하는 적어도 하나의 메모리; 및 적어도 하나의 메모리에 액세스하고 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작하도록 구성된 적어도 하나의 프로세서를 포함한다. 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로 하여금 인코딩 디바이스로부터 인코딩된 비디오 콘텐츠를 수신하게 하도록 구성된 수신 코드; 적어도 하나의 프로세서로 하여금 파라미터 세트가 인코딩 디바이스로부터 수신되는지 여부를 결정하게 하도록 구성된 제1 결정 코드; 적어도 하나의 프로세서로 하여금 파라미터 세트가 수신된다고 결정하는 것에 기초하여, 파라미터 세트에 따라 인코딩된 비디오 콘텐츠를 디코딩하게 하도록 구성된 디코딩 코드; 및 적어도 하나의 프로세서로 하여금 통신 인터페이스를 제어하여 디코딩된 비디오 콘텐츠를 디스플레이 디바이스로 송신하게 하도록 구성된 송신 코드를 포함한다.
실시예에 따라, 컴퓨터 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 제공되며, 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해 실행될 때, 인코딩을 위해 사용될 파라미터 세트를 결정하기 위한 모델을 훈련하고; 비디오 콘텐츠를 획득하고; 훈련된 모델을 사용하여 비디오 콘텐츠를 인코딩 및/또는 디코딩하기 위한 파라미터 세트를 결정하고; 파라미터 세트에 따라 비디오 콘텐츠를 인코딩하고; 인코딩된 비디오 콘텐츠를 디코딩 디바이스로 송신하며; 그리고 파라미터 세트를 디코딩 디바이스로 송신하도록 구성된다.
실시예에 따라, 컴퓨터 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 제공되며, 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해 실행될 때, 인코딩 디바이스로부터 인코딩된 비디오 콘텐츠를 수신하고; 인코딩 디바이스로부터 파라미터 세트가 수신되는지 여부를 결정하고; 파라미터 세트가 수신된다고 결정하는 것에 기초하여, 파라미터 세트에 따라 인코딩된 비디오 콘텐츠를 디코딩하며; 그리고 디코딩된 비디오 콘텐츠를 디스플레이 디바이스로 송신하도록 구성된다.
다음의 설명은 본 개시의 하나 이상의 실시예를 도시하는 첨부 도면들을 간략하게 도입한다.
도 1은 실시예에 따른 네트워크 기반 게이밍 시스템을 도시하는 시퀀스 도면이다.
도 2는 실시예에 따른 네트워크 기반 게이밍 시스템의 동작을 도시하는 도면이다.
도 3은 실시예에 따른 네트워크 기반 게이밍 시스템의 인코딩 디바이스의 동작을 도시하는 흐름도이다.
도 4는 실시예에 따른 네트워크 기반 게이밍 시스템의 디코딩 디바이스의 동작을 도시하는 흐름도이다.
도 5는 실시예에 따른 네트워크 기반 게이밍 시스템의 인코딩 디바이스를 도시하는 블록도이다.
도 6은 실시예에 따른 네트워크 기반 게이밍 시스템의 디코딩 디바이스를 도시하는 블록도이다.
도 7은 실시예에 따른 네트워크 기반 게이밍 시스템의 인코딩 디바이스 및 디코딩 디바이스에서 구현되는 컴퓨터의 예를 도시하는 도면이다.
예시의 실시예들이 첨부 도면들을 참조하여 본 명세서에서 상세하게 설명된다. 본 명세서에 설명된 개시의 하나 이상의 실시예는 단지 예들일 뿐이며, 본 개시의 범위를 제한하는 것으로 해석되지 않아야 함을 이해해야 한다.
이하, 용어 "인코딩 디바이스"는 용어 "인코더"와 상호교환가능하게 사용된다. 또한, 용어 "디코딩 디바이스"는 용어 "디코더"와 상호교환가능하게 사용된다.
도 1은 실시예에 따른 네트워크 기반 게이밍 시스템을 도시하는 시퀀스 도면이다.
도 1을 참조하면, 네트워크 기반 게이밍 시스템(100)은 하나 이상의 클라이언트(110A 내지 110C) 및 서버(120)를 포함할 수 있다. 서버(120)는 클라우드 서버 또는 복수의 서버를 포함하는 서버 클러스터일 수 있다. 서버(120)는 네트워크에 연결될 수도 있고 네트워크를 통해 하나 이상의 클라이언트(110A 내지 110C)와 통신한다. 서버(120)는 하나 이상의 클라이언트(110A 내지 110C)에 하나 이상의 소프트웨어 서비스를 제공하는 원격 컴퓨터 시스템일 수 있다. 예를 들어, 서버(120)는 서버(120)상에서 실행되는 게이밍 엔진에 의해 게임 콘텐츠를 생성 및 렌더링함으로써 하나 이상의 클라이언트(110A 내지 110C)에 게이밍 스트리밍 서비스를 제공할 수 있다. 그러나, 하나 이상의 실시예는 이에 제한되지 않으며, 서버(120)는 온라인 비디오 및/또는 오디오 스트리밍 서비스들과 같은 다른 유형의 서비스들을 제공하는 서버일 수 있다.
하나 이상의 클라이언트(110A 내지 110C)는 개인용 컴퓨터(PC), 랩톱, 개인용 디지털 보조기(personal digital assistant)(PDA), 모바일 디바이스, 콘솔, 태블릿 PC, 웨어러블 디바이스 등일 수 있다. 실시예에서, 하나 이상의 클라이언트(110A 내지 110C)는 서버(120)로부터 정보를 요청 및 수신하기 위해 컴퓨터 상에서 실행되는 소프트웨어일 수 있다. 예를 들어, 클라우드 게이밍 환경에서, 하나 이상의 클라이언트(110A 내지 110C)는 사용자 제어 정보를 서버(120)에 전송하고, 서버(120)로부터 비디오 스트리밍을 수신하며, 수신된 비디오 스트리밍을 사용자가 보게 될 모바일 디바이스 또는 컴퓨터의 디스플레이 상에 디스플레이하는 클라우드 게이밍 클라이언트 소프트웨어를 실행하는 컴퓨터 또는 모바일 디바이스일 수 있다.
게임 스트리밍은 게임 콘솔 또는 다른 로컬 디바이스와는 대조적으로, 원격 서버 상에서 하나 이상의 게임 소프트웨어를 실행함으로써 비디오 게임들을 플레이하는 특유의 방식을 제공한다. 게이밍 콘텐츠는 서버-측 상의 비디오 인코더에 의해 압축될 수도 있고 네트워크를 통해 하나 이상의 클라이언트에 스트리밍될 수 있다. 이는 게임 스트리밍 서비스들에서 몇 가지 특유의 이점들을 제공한다. 먼저, 게임 스트리밍 회사들에 의해 사용된 전용 서버들이 소비자 엔드 상의 하드웨어보다 현저히 더 강력하기 때문에, 비디오 인코딩 및 렌더링이 소비자 엔드 상의 하드웨어보다 훨씬 빠른 레이트로 수행될 수 있다. 일반적으로, 로컬 머신들은 마모로 인해 시간이 지남에 따라 성능이 감소된다. 이에 반해, 클라우드 게이밍 서버들은 기술이 발전함에 따라 지속적으로 업그레이드되고, 게이밍 성능을 업그레이드하기 위한 소비자에 대해 추가 비용을 부담하지 않는다. 게다가, 스트리밍 서비스들은 동일한 게임을 하고 있을 수도 있는 다중 사용자들에게 유사한 데이터를 전송할 수 있어서, 각각의 사용자에 대한 게이밍 콘텐츠를 프로세싱하기 위한 프로세싱 부하를 감소시킨다.
도 1을 참조하면, 클라이언트(110B)의 사용자 B는 클라이언트(110A)의 사용자 A 및 클라이언트(110C)의 사용자 C와 동일한 게임을 하고 있을 수 있다. 복수의 클라이언트 중 클라이언트(110B)는 클라이언트(110B)의 사용자 B에 의해 수행되는 액션을 검출할 수 있다(S101). 예를 들어, 액션은 슈팅, 아이템 픽업, 및 게임에서 사용자에 의해 수행될 수도 있는 임의의 다른 액션일 수 있다. 클라이언트(110B)는 검출된 액션을 서버(120)로 송신할 수 있다(S102). 서버(120)는 클라이언트(110B)로부터 송신된 검출된 액션을 수신하고, 검출된 액션을 분석하며 게임의 새로운 상태를 결정할 수 있다(S103). 예를 들어, 클라이언트(110B)의 사용자 B에 의해 수행된 검출된 액션이 다른 플레이어를 슈팅하고 있는 경우, 서버(120)는 슈팅의 결과를 동일한 게임에서 사용자들에게 디스플레이될 새로운 상태로서 결정할 수 있다. 서버(120)는 결정된 새로운 상태를 클라이언트(110A), 클라이언트(110B) 및 클라이언트(110C)로 송신할 수 있다(S104). 클라이언트(110A), 클라이언트(110B) 및 클라이언트(110C) 각각은 결정된 새로운 상태를 수신하고 디스플레이 상에 새로운 상태를 디스플레이할 수 있다(S105).
도 2는 실시예에 따른 네트워크 기반 게이밍 시스템의 동작을 도시하는 도면이다.
도 2를 참조하면, 네트워크 기반 게이밍 시스템(200)은 서버 측 상의 인코더(230) 및 클라이언트 측 상의 디코더(250)를 포함할 수 있다. 본 실시예에 따른 네트워크 기반 게이밍 시스템(200)은 하나의 인코더와 하나의 디코더만을 나타내지만, 하나 이상의 실시예는 이에 제한되지 않는다. 게이밍 비디오 콘텐츠를 인코딩하기 위해 복수의 인코더(230)를 포함하는 복수의 서버가 있을 수 있다. 또한, 각각이 하나 이상의 서버로부터 수신된 인코딩된 게이밍 비디오 콘텐츠를 디코딩하기 위한 하나 이상의 디코더(250)를 포함하는 복수의 클라이언트 디바이스가 있을 수 있다.
S202에서, 인코더(230)는 게이밍 콘텐츠(210)를 원시 비디오 콘텐츠로서 수신할 수 있다. 여기서, 원시 비디오 콘텐츠는 인코딩 이전의 게이밍 콘텐츠(210)의 하나 이상의 이미지를 지칭할 수 있다. 인코더(230)는 게이밍 콘텐츠(210)의 원시 비디오 콘텐츠를 수신하고 원시 비디오 콘텐츠를 코딩할 수 있다. 예를 들어, 게이밍 소프트웨어는 클라우드 서버 측 상에서 실행될 수도 있고, 게이밍 콘텐츠는 서버의 그래픽 프로세싱 유닛(GPU)에 의해 렌더링될 수 있다. 렌더링된 게이밍 콘텐츠는 예를 들어, YUV 포맷으로 원시 비디오 콘텐츠로서 인코더(230)에 피드될 수 있다. 그러나, 하나 이상의 실시예는 이에 제한되지 않으며, 원시 비디오 콘텐츠의 포맷은 RGB 컬러와 같은 임의의 다른 코딩 포맷일 수 있다.
S204에서, 인코더(230)는 H.264, H.265, AV1, AVS2 등과 같은 소정의 비디오 코딩 포맷 또는 표준에 따라 압축된 비디오 비트스트림을 생성할 수 있다. 서버의 인코더(230)는 압축된 비디오 비트스트림을 네트워크를 통해 클라이언트(250)의 디코더(250)로 송신할 수 있다. 인코더(230)의 동작들은 도 3을 참조하여 하기에서 더 상세히 설명될 것이다.
S206에서, 클라이언트에서의 디코더(250)는 인코더(230)에 의해 생성된 압축된 비디오 비트스트림을 수신하고, 압축된 비디오 비트스트림을 디스플레이될 비디오 콘텐츠로 디코딩할 수 있다. 디코더(250)의 동작들은 도 4를 참조하여 하기에서 더 상세히 설명될 것이다.
S208에서, 디코딩된 비디오 비트스트림은 사용자가 보게 될 클라이언트의 디스플레이(270)로 송신될 수 있다.
도 3은 실시예에 따른 네트워크 기반 게이밍 시스템의 인코딩 디바이스의 동작을 도시하는 흐름도이다.
도 3을 참조하면, 인코더에 의한 학습 기반 비디오 코딩을 동작하는 방법이 나타나 있다. 전술한 바와 같이, 인코더는 게임의 비디오 콘텐츠를 코딩하기 위해 서버에 배치될 수 있다.
S310에서, 방법은 서버의 하나 이상의 프로세서에 의해 코딩 파라미터 세트를 결정하기 위한 모델을 훈련하는 것을 포함할 수 있다. 학습 기반 비디오 코딩에서, 모델은 다량의 다양한 훈련 데이터를 통해, 필터 계수들과 같은, 최적의 코딩 파라미터들을 결정하기 위해 뉴럴 네트워크들을 사용하여 훈련될 수 있다. 여기서, 파라미터 세트는 비디오 콘텐츠의 인코딩 및/또는 디코딩을 위해 사용되는 파라미터들의 세트일 수 있다.
훈련에 있어서, 훈련 데이터의 선택은 특정 비디오 코딩의 전반적인 성능에 심하게 영향을 미칠 수 있다. 즉, 일부 훈련 데이터는 다른 유형의 비디오 콘텐츠와는 대조적으로 일 유형의 비디오 콘텐츠와 더 관련이 있을 수 있다. 따라서, 소정 유형의 비디오 콘텐츠에 대한 모델을 효율적으로 훈련하기 위해 소정의 훈련 데이터를 다른 훈련 데이터보다 빠르게 식별할 필요가 있다.
모델을 보다 효율적으로 훈련하기 위해서, 비디오 콘텐츠의 각 유형에 대해 하나의 파라미터 세트가 설정될 수 있다. 예를 들어, 상이한 유형의 게임들, 예를 들어 액션 게임, 어드벤쳐 게임, 롤-플레잉 게임(RPG), 일인칭 슈터(FPS) 게임, 스포츠 게임 등이 있을 수 있다. 각각의 게임 유형에 대해, 비디오 콘텐츠를 코딩 및 디코딩하기 위한 하나의 최적 파라미터 세트가 훈련 데이터에 기초하여 학습될 수 있다. 예를 들어, 액션 게임에 대한 파라미터 세트를 결정하기 위한 모델은 액션 게임들과 더 관련이 있는 훈련 데이터로 피드될 수 있다. 또한, 각각의 파라미터 세트는 파라미터 식별자(ID)와 연관될 수도 있으며, 콘텐츠의 유형에 의존하여, 파라미터 ID 가 게임들의 각 유형에 대해 결정될 수 있다. 이와 같이, 훈련된 모델은 콘텐츠의 각 유형으로 구체적으로 지향될 수 있다.
보다 구체적으로, 미리 결정된 임계치가 소정 콘텐츠 유형의 초기 모델에 대해 설정될 수도 있어서 초기 모델은 미리 결정된 임계치를 달성할 때까지 초기 모델이 지속적으로 훈련되도록 한다. 즉, 초기 모델이 미리 결정된 임계치에서 테스트 데이터와 유사한 비디오 콘텐츠를 인코딩하기 위한 파라미터 세트를 출력할 수 있을 때까지 다양한 훈련 데이터가 초기 모델에 반복적으로 피드될 수 있다. 여기서, 테스트 데이터는 모델이 최종적으로 훈련될 때 모델에 의해 출력되어야 하는 데이터를 지칭할 수 있다.
실시예에 따르면, 다양한 비디오 콘텐츠의 샘플 훈련 데이터를 사용하여 비디오 콘텐츠의 각 유형에 대해 하나 이상의 모델이 훈련될 수 있다. 그러나, 본 개시의 하나 이상의 실시예는 이에 제한되지 않으며, 단 하나의 모델만이 비디오 콘텐츠의 인코딩을 최적화하기 위해 복수의 파라미터 세트를 생성하도록 훈련될 수 있다.
훈련 후에, 하나 이상의 파라미터 세트는 인코더 및 디코더 양자 모두에 의해 가정되거나 협의되어 비디오 콘텐츠를 코딩하고 인코딩된 비디오 콘텐츠를 디코딩할 수 있다. 실시예에서, 디코더가 압축된 비디오 콘텐츠를 수신할 때, 디코더는 가정된 파라미터 세트를 사용하여 인코더에 의해 수행된 학습 기반 비디오 코딩에 따라 압축된 비디오 콘텐츠를 디코딩할 수 있다. 예를 들어, 비디오 콘텐츠를 인코딩할 때, 인코더는 비디오 콘텐츠의 복원된 이미지들에 대한 필터링을 수행하기 위해 필터 계수들의 세트를 사용하여 비디오 콘텐츠를 인코딩할 수 있다. 그러나, 비디오 콘텐츠의 유형에 의존하여, 하나의 비디오 콘텐츠의 이미지들을 코딩하기 위해 사용된 필터 계수들의 세트가 다른 비디오 콘텐츠의 이미지들을 코딩하는데 적합하지 않을 수 있다. 예를 들어, 액션 게임의 이미지들을 코딩하기 위한 필터 계수들의 세트는 스포츠 게임에 사용되어야 하는 필터 계수들의 세트에 적합하지 않거나 관련이 없다. 따라서, 서버는 비디오 콘텐츠의 각 유형에 대한 비디오 콘텐츠의 품질을 개선하기 위해서 상이한 유형의 비디오 콘텐츠를 코딩하도록 상이한 파라미터들의 세트를 결정할 수 있다.
S320에서, 인코더는 비디오 콘텐츠를 수신할 수 있다. 비디오 콘텐츠는 비디오를 구성하기 위해 순차적으로 배열되는 하나 이상의 이미지를 포함할 수 있다. 비디오 콘텐츠가 게이밍 콘텐츠를 포함할 수 있는 것으로 설명되었지만, 하나 이상의 실시예는 이에 제한되지 않으며, 비디오 콘텐츠가 영화, 드라마, 짧은 클립 등과 같은 임의의 다른 유형의 콘텐츠를 포함할 수 있다. 비디오 콘텐츠는 또한 비디오 콘텐츠의 하나 이상의 이미지와 연관되는 오디오 콘텐츠를 포함할 수 있다. 실시예에 따르면, 인코더는 비디오 콘텐츠를 프로세싱 및 렌더링하는 그래픽 프로세싱 유닛(GPU)으로부터 비디오 콘텐츠를 수신할 수 있다. 그러나, 하나 이상의 실시예는 이에 제한되지 않으며, 인코더가 카메라와 같은 비디오 소스로부터 비디오 콘텐츠를 수신할 수 있다.
S330에서, 인코더는 훈련된 모델을 사용하여 비디오 콘텐츠를 인코딩 및/또는 디코딩하기 위한 파라미터 세트를 결정할 수 있다. 비디오 콘텐츠가 GPU 또는 카메라로부터 수신될 때, 인코더는 그 유형, 사이즈, 품질 등에 기초하여 비디오 콘텐츠를 식별할 수 있다. 비디오 콘텐츠는 그 유형, 사이즈 및 품질을 식별하는 헤더 정보를 포함할 수 있다. 예를 들어, 헤더 정보는 1280 x 720 픽셀의 해상도로 약 10 기가바이트의 사이즈를 갖는 게임으로서 비디오 콘텐츠를 식별하는 정보를 포함할 수 있다.
헤더 정보에 기초하여, 인코더는 비디오 콘텐츠를 코딩하기 위한 파라미터 세트를 결정할 수 있다. 인코더는 수신된 비디오 콘텐츠를 압축된 비디오 콘텐츠로 코딩하는데 사용될 파라미터 세트를 결정하기 위해 훈련된 모델을 사용할 수 있다. 예를 들어, 타이틀 식별자, 게임 식별자, 및/또는 각각의 비디오 콘텐츠와 연관된 콘텐츠 식별자가 있을 수도 있고, 인코더는 이러한 정보를 사용하여 비디오 콘텐츠를 코딩하는데 사용될 파라미터 세트를 선택할 수 있다.
대안으로, 인코더는 임의의 특정 파라미터 세트를 사용하지 않을 수도 있거나 훈련된 모델이 수신된 비디오 콘텐츠에 적합한 파라미터 세트를 식별하지 못할 수 있다. 그러한 경우, 인코더는 수신된 비디오 콘텐츠를 코딩하기 위해 디폴트 파라미터 세트를 사용할 수 있다.
S340에서, 인코더는 선택된 파라미터 세트에 따라 비디오 콘텐츠를 인코딩할 수 있다. 즉, 인코더는 H.264, H.265, AV1, AVS2 등과 같은 소정의 비디오 코딩 포맷 또는 표준에 따라 압축된 비디오 비트스트림을 생성한다. 그러나, 하나 이상의 실시예는 이에 제한되지 않으며, 비디오 콘텐츠가 ITU-T H.266(또한 FVC(Future Video Coding)로서 지칭됨)과 같은 다른 비디오 코딩/압축 표준들에 따라 인코딩될 수 있다.
S350에서, 클라이언트의 디코더가 인코더의 코딩 방식을 인식하고 그에 따라 압축된 비디오 비트스트림을 디코딩할 수 있도록 파라미터 세트 정보가 클라이언트로 송신될 수 있다. 실시예에 따르면, 파라미터 세트는 압축된 비디오 비트스트림과 별도로 클라이언트로 송신되는 메타데이터에 포함될 수 있다. 예를 들어, 클라우드 게이밍에서, 서버는 특정 게이밍 콘텐츠의 훈련 데이터에 기초하여 파라미터 세트를 도출하고, 네트워크를 통해 클라이언트(즉, 엔드 사용자)로 부수적인 정보로서 파라미터 세트를 송신할 수 있다. 부수적인 정보는 시스템 메타데이터, 플러그인 등의 형태일 수 있다. 그 후 사용자는 게임을 시작하거나 비디오 콘텐츠를 디코딩하기 전에 파라미터 세트 정보를 다운로드할 수 있다. 하지만, 하나 이상의 실시예는 이에 제한되지 않으며, 파라미터 세트 정보가 압축된 비디오 콘텐츠의 헤더 정보에 부가되고 압축된 비디오 콘텐츠와 함께 클라이언트로 송신될 수 있다.
S360에서, 인코딩된 비디오 비트스트림은 클라이언트로 송신될 수 있다. 여기서, 인코딩된 비디오 비트스트림은 파라미터 세트와 별도로 송신될 수도 있고, 파라미터 세트와 동시에 송신될 수 있다. 하지만, 하나 이상의 실시예는 이에 제한되지 않으며, 인코딩된 비디오 비트스트림을 수신하기 전에 디코더가 인코딩을 위해 사용된 파라미터 세트를 인식할 수 있도록 하기 위해 인코딩된 비디오 비트스트림 이전에 파라미터 세트가 송신될 수 있다. 또한, 인코딩된 비디오 비트스트림은 파라미터 세트 이전에 클라이언트로 송신될 수 있다.
도 4는 실시예에 따른 네트워크 기반 게이밍 시스템의 디코딩 디바이스의 동작을 도시하는 흐름도이다.
도 4를 참조하면, 디코더에 의한 학습 기반 비디오 디코딩을 동작하는 방법이 나타나 있다. 전술한 바와 같이, 디코더는 서버로부터 수신된 비디오 콘텐츠를 디코딩하기 위해 클라이언트 디바이스에 배치될 수 있다.
S410에서, 디코더는 서버로부터 비디오 비트스트림을 수신할 수 있다. 여기서, 비디오 비트스트림은 서버의 인코더에 의해 코딩된 비디오 콘텐츠를 지칭할 수 있다.
S420에서, 디코더는 서버로부터 파라미터 세트가 수신되는지 여부를 결정할 수 있다. 즉, 디코더가 서버로부터 하나 이상의 파라미터 세트를 수신할 때, 디코더는 파라미터 세트가 수신된다고 결정할 수 있다. 실시예에 따르면, 디코더는 비디오 비트스트림과 별도로 하나 이상의 파라미터 세트를 수신할 수 있다. 예를 들어, 디코더는 비디오 비트스트림을 수신하기 전에 서버로부터 하나 이상의 파라미터 세트를 수신할 수 있다. 그러나, 하나 이상의 실시예는 이에 제한되지 않으며, 디코더가 하나 이상의 파라미터 세트를 수신하기 전에 비디오 비트스트림을 수신할 수 있다.
S430에서, 적어도 하나의 파라미터 세트가 서버로부터 수신될 때(S420: 예), 디코더는 수신된 파라미터 세트에 따라 비디오 비트스트림을 디코딩할 수 있다. 실시예에 따르면, 다중 파라미터 세트들이 디코더에 의해 수신될 수 있다. 예를 들어, 인코더는 다중 파라미터 세트들을 사용하여 비디오 콘텐츠를 코딩할 수도 있고, 그러한 다중 파라미터 세트들은 디코더에 의해 수신될 수 있다. 이 경우, 디코더는 수신된 다중 파라미터 세트들 중에서 하나 이상의 파라미터 세트를 선택하고 선택된 하나 이상의 파라미터 세트에 따라 비디오 콘텐츠를 디코딩할 수 있다. 대안으로, 인코더는 디코더에 의해 사용될 다중 파라미터 세트들을 결정하고, 디코더에 의해 사용될 다중 파라미터 세트들을 전송할 수 있다. 인코더 또는 디코더에 의해 하나 이상의 파라미터 세트를 선택할 때, 예를 들어 타이틀 식별자, 게임 식별자, 및/또는 콘텐츠 식별자가 하나 이상의 파라미터 세트를 선택하는데 사용될 수 있다. 예를 들어, 디코딩될 비디오 콘텐츠가 게임 식별자에 의해 표시된 스포츠 게임인 경우, 디코더는 훈련된 모델에 따라 스포츠 게임에 가장 적합한 파라미터 세트를 선택할 수 있다. 여기서, 훈련된 모델은 인코더에 의해 비디오 콘텐츠를 인코딩하는데 사용된 훈련된 모델일 수 있다.
S440에서, 디코더가 서버로부터 어떠한 파라미터 세트도 수신되지 않는다고 결정할 때(S420: 아니오), 그 후 디코더는 수신된 비디오 비트스트림을 디코딩하기 위해 디폴트 파라미터 세트를 사용해야 하는지 여부를 추가로 결정할 수 있다. 디폴트 파라미터 세트는 다양한 유형의 비디오 콘텐츠를 디코딩하는데 사용될 수도 있는 미리 결정된 파라미터 세트일 수 있다. 디폴트 파라미터 세트는 사용자에 의해 미리 정의될 수 있다. 인코더와 관련하여 위에 설명된 바와 같이, 디코더는 H.264, H.265, H.266, AV1, AVS2 등과 같은 소정의 비디오 코딩 포맷 또는 표준들에 따라 압축된 비디오 비트스트림을 디코딩할 수 있다.
시퀀스 레벨 신택스 시그널링에서, 표시 플래그는 디폴트 파라미터 세트가 사용되어야 하는지 또는 디폴트 파라미터 세트를 대체하기 위해 다른 파라미터 세트가 획득될 수 있는지를 표시하는데 사용될 수 있다. 수신된 비디오 비트스트림을 디코딩하기 위해 대안의 파라미터 세트가 사용될 수 있다고 결정될 때(S440: 아니오), 디코더는 다른 파라미터 세트를 획득하도록 서버에 문의할 수 있다. 그러나, 하나 이상의 실시예는 이에 제한되지 않으며, 디코더는 클라이언트 디바이스, 또는 수신된 비디오 비트스트림을 디코딩하기 위해 다른 파라미터 세트를 제공할 수도 있는 임의의 다른 서버에 저장된 다른 파라미터 세트를 획득할 수 있다.
S450에서, 디코더가 표시 플래그에 따라 디폴트 파라미터가 사용되어야 한다고 결정할 때(S440: 예), 디코더는 디폴트 파라미터 세트를 사용하여 수신된 비디오 비트스트림을 디코딩한다.
S460에서, 디코더는 디코딩된 비디오 비트스트림을 클라이언트 디바이스의 디스플레이로 송신한다.
도 5는 실시예에 따른 네트워크 기반 게이밍 시스템의 인코딩 디바이스를 도시하는 블록도이다. 인코딩 디바이스(500)는 적어도 하나의 프로세서 및 하나 이상의 컴퓨터 프로그램 코드를 저장하는 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 프로세서는 적어도 하나의 메모리에 액세스하고 하나 이상의 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작할 수 있다.
도 5를 참조하면, 인코딩 디바이스(500)는 훈련 코드(510), 획득 코드(520), 결정 코드(530), 인코딩 코드(540) 및 송신 코드(550)를 포함할 수 있다. 도 5의 인코딩 디바이스의 컴포넌트들의 특징들 또는 기능들 중 일부는 도 3을 참조하여 위에 설명되어 있음을 이해해야 한다. 따라서, 이들의 반복된 설명은 생략될 것이다.
훈련 코드(510)는 코딩 파라미터 세트를 결정하기 위한 모델을 훈련하도록 구성될 수 있다. 모델은 다량의 다양한 훈련 데이터를 통해, 필터 계수들과 같은, 최적의 코딩 파라미터들을 결정하기 위해 뉴럴 네트워크들을 사용하여 훈련될 수 있다. 훈련 코드(510)는 도 3을 참조하여 위에 설명된 S310의 동작들을 수행할 수 있다.
획득 코드(520)는 비디오 콘텐츠를 프로세싱하고 렌더링하는 GPU 로부터 비디오 콘텐츠를 수신하도록 구성될 수 있다. 획득 코드(520)는 도 3을 참조하여 위에 설명된 S320의 동작들을 수행할 수 있다.
결정 코드(530)는 훈련된 모델을 사용하여 비디오 콘텐츠를 인코딩 및/또는 디코딩하기 위한 파라미터 세트를 결정하도록 구성될 수 있다. 결정 코드(530)는 도 3을 참조하여 위에 설명된 S330의 동작들을 수행할 수 있다.
인코딩 코드(540)는 선택된 파라미터 세트에 따라 비디오 콘텐츠를 인코딩하도록 구성될 수 있다. 인코딩 코드(540)는 도 3을 참조하여 위에 설명된 S340의 동작들을 수행할 수 있다.
송신 코드(550)는 파라미터 세트 정보 및 인코딩된 비디오 콘텐츠를 클라이언트 디바이스로 송신하도록 구성될 수 있다. 송신 코드(550)는 도 3을 참조하여 위에 설명된 S350 및 S360의 동작들을 수행할 수 있다.
도 6은 실시예에 따른 네트워크 기반 게이밍 시스템의 디코딩 디바이스를 도시하는 블록도이다. 디코딩 디바이스(500)는 적어도 하나의 프로세서 및 하나 이상의 컴퓨터 프로그램 코드를 저장하는 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 프로세서는 적어도 하나의 메모리에 액세스하고 하나 이상의 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작할 수 있다.
도 6을 참조하면, 디코딩 디바이스(600)는 수신 코드(610), 제1 결정 코드(620), 제2 결정 코드(630), 디코딩 코드(640) 및 송신 코드(650)를 포함할 수 있다. 도 6의 디코딩 디바이스의 컴포넌트들의 특징들 또는 기능들 중 일부는 도 4를 참조하여 위에 설명되어 있음을 이해해야 한다. 따라서, 이들의 반복된 설명은 생략될 것이다.
수신 코드(610)는 서버로부터 비디오 비트스트림을 수신하도록 구성될 수 있다. 비디오 비트스트림은 서버의 인코더에 의해 코딩된 비디오 콘텐츠를 지칭할 수 있다. 수신 코드(610)는 도 4를 참조하여 위에 설명된 S410의 동작들을 수행할 수 있다.
제1 결정 코드(620)는 서버로부터 파라미터 세트가 수신되는지 여부를 결정하도록 구성될 수 있다. 제1 결정 코드(620)는 도 4를 참조하여 위에 설명된 S420의 동작들을 수행할 수 있다.
제2 결정 코드(630)는 제1 결정 코드(620)가 어떠한 파라미터 세트도 서버로부터 수신되지 않는다고 결정하는 것에 기초하여 디코더가 수신된 비디오 비트스트림을 디코딩하기 위해 디폴트 파라미터 세트를 사용해야 하는지 여부를 결정하도록 구성될 수 있다. 제2 결정 코드(630)는 도 4를 참조하여 위에 설명된 S440의 동작들을 수행할 수 있다.
디코딩 코드(640)는 제1 결정 코드(620) 및 제2 결정 코드(630)의 결정들에 따라 비디오 비트스트림을 디코딩하도록 구성될 수 있다. 즉, 서버로부터 적어도 하나의 파라미터가 수신될 때, 디코딩 코드(640)는 수신된 파라미터 세트에 따라 비디오 비트스트림을 디코딩할 수 있다. 대안으로, 제1 결정 코드(620)가 어떠한 파라미터 세트도 서버로부터 수신되지 않는다고 결정하고 제2 결정 코드(630)가 비디오 비트스트림을 디코딩하기 위해 디폴트 파라미터가 사용되어야 한다고 결정할 때, 디코딩 코드(640)는 디폴트 파라미터 세트에 따라 비디오 비트스트림을 디코딩할 수 있다. 디코딩 코드(640)는 도 4를 참조하여 위에 설명된 S430 및 S450의 동작들을 수행할 수 있다.
송신 코드(650)는 디코딩된 비디오 비트스트림을 클라이언트 디바이스의 디스플레이로 송신하도록 구성될 수 있다.
도 7은 실시예에 따른 네트워크 기반 게이밍 시스템의 디바이스의 예를 도시하는 도면이다. 디바이스(700)는 네트워크 기반 게이밍 시스템의 인코딩 디바이스(500) 및 디코딩 디바이스(600)에서 구현될 수 있다.
도 7을 참조하면, 디바이스(700)는 프로세서(710), 메모리(720), 스토리지(730), 입력 인터페이스(740), 출력 인터페이스(750), 통신 인터페이스(760), 및 버스(770)를 포함할 수 있다.
프로세서(710)는 하드웨어, 펌웨어, 또는 하드웨어 및 소프트웨어의 조합에서 구현된다. 프로세서(710)는 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 가속화 프로세싱 유닛(APU), 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서(DSP), 필드 프로그래밍가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 또는 다른 유형의 프로세싱 컴포넌트이다. 일부 구현들에서, 프로세서(710)는 기능을 수행하도록 프로그램될 수 있는 하나 이상의 프로세서를 포함한다.
메모리(720)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 및/또는 프로세서(710)에 의해 사용하기 위한 정보 및/또는 명령들을 저장하는 다른 유형의 동적 또는 정적 저장 디바이스(예를 들어, 플래시 메모리, 자기 메모리, 및/또는 광학 메모리)를 포함한다.
스토리지(730)는 디바이스(700)의 동작 및 사용과 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 스토리지(730)는 하드 디스크(예를 들어, 자기 디스크, 광 디스크, 자기-광 디스크 및/또는 고체 상태 디스크), 컴팩트 디스크(CD), 디지털 다기능 디스크(DVD), 플로피 디스크, 카트리지, 자기 테이프, 및/또는 다른 유형의 비일시적 컴퓨터 판독가능 매체를, 대응하는 드라이브와 함께 포함할 수 있다.
입력 인터페이스(740)는 디바이스(700)가 예컨대 사용자 입력(예를 들어, 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치 및/또는 마이크로폰)을 통해, 정보를 수신하도록 허용하는 컴포넌트를 포함한다. 부가적으로 또는 대안으로, 입력 인터페이스(740)는 정보를 감지하기 위한 센서(예를 들어, 글로벌 포지셔닝 시스템(GPS) 컴포넌트, 가속도계, 자이로스코프 및/또는 액추에이터)를 포함할 수 있다. 출력 인터페이스(750)는 디바이스(700)로부터의 출력 정보를 제공하는 컴포넌트(예를 들어, 디스플레이, 스피커, 및/또는 하나 이상의 발광 다이오드(LED))를 포함한다.
통신 인터페이스(760)는 디바이스(700)가 예컨대 유선 연결, 무선 연결, 또는 유선 및 무선 연결들의 조합을 통해, 다른 디바이스들과 통신하는 것을 가능하게 하는 트랜시버형 컴포넌트(예를 들어, 트랜시버 및/또는 별개의 수신기 및 송신기)를 포함한다. 통신 인터페이스(760)는 디바이스(700)가 다른 디바이스로부터 정보를 수신 및/또는 다른 디바이스에 정보를 제공하는 것을 허용할 수 있다. 예를 들어, 통신 인터페이스(760)는 이더넷 인터페이스, 광 인터페이스, 동축 인터페이스, 적외선 인터페이스, 무선 주파수(RF) 인터페이스, USB(universal serial bus)인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함할 수 있다.
버스(770)는 디바이스(700)의 컴포넌트들 사이에서 통신을 허용하는 컴포넌트를 포함한다.
디바이스(700)는 본 명세서에 설명된 하나 이상의 동작을 수행할 수 있다. 디바이스(700)는 프로세서(710)가 메모리(720) 및/또는 스토리지(730)와 같은 비일시적 컴퓨터 판독가능 매체에 저장된 소프트웨어 명령들을 실행하는 것에 응답하여 전술한 동작들을 수행할 수 있다. 컴퓨터 판독가능 매체는 본 명세서에서 비일시적 메모리 디바이스로서 정의된다. 메모리 디바이스는 단일의 물리적 저장 디바이스 내의 메모리 공간 또는 다중의 물리적 저장 디바이스들에 걸쳐 확산된 메모리 공간을 포함한다.
소프트웨어 명령들은 다른 컴퓨터 판독가능 매체로부터 또는 통신 인터페이스(760)를 통해 다른 디바이스로부터 메모리(720) 및/또는 스토리지(730) 내로 판독될 수 있다. 실행될 때, 메모리(720) 및/또는 스토리지(730)에 저장된 소프트웨어 명령들은 프로세서(710)로 하여금 본 명세서에 설명된 하나 이상의 프로세스를 수행하게 할 수 있다. 부가적으로, 또는 대안으로, 하드와이어드 회로부는 본 명세서에 설명된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령들 대신에 또는 이와 조합으로 사용될 수 있다. 따라서, 본 명세서에 설명된 구현들은 하드웨어 회로부와 소프트웨어의 임의의 특정 조합에 제한되지 않는다.
도 7에 나타낸 컴포넌트들의 수 및 배열은 예로서 제공된다. 실제로, 디바이스(700)는 부가 컴포넌트들, 더 적은 수의 컴포넌트들, 상이한 컴포넌트들, 또는 도 7에 나타낸 것들과 상이하게 배열된 컴포넌트들을 포함할 수 있다. 부가적으로 또는 대안으로, 디바이스(700)의 컴포넌트들의 세트(예를 들어, 하나 이상의 컴포넌트)는 디바이스(700)의 다른 컴포넌트들의 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
본 개시의 실시예들의 일부가 위에 나타나 있고 설명되었다. 그러나, 본 개시의 하나 이상의 실시예는 전술한 특정 실시예들에 제한되지 않는다. 본 개시의 사상 및 범위를 벗어나지 않으면서 그의 다양한 수정들, 치환들, 개선들 및 등가물들이 이루어질 수 있음을 이해할 수 있다. 그러한 수정들, 치환들, 개선들 및 등가물들은 본 개시의 보호 범위 내에 속해야 하고 본 개시의 발명 개념 또는 가능성과 독립적으로 해석되지 않아야 함을 이해해야 한다.

Claims (20)

  1. 인코딩 디바이스에 의해 수행되는, 네트워크 기반 시스템에서 비디오 코딩을 수행하는 방법으로서,
    인코딩을 위해 사용될 파라미터 세트를 결정하기 위한 모델을 훈련하는 단계;
    비디오 콘텐츠를 획득하는 단계;
    훈련된 상기 모델을 사용하여 상기 비디오 콘텐츠를 인코딩하기 위한 상기 파라미터 세트를 결정하는 단계;
    상기 파라미터 세트에 따라 상기 비디오 콘텐츠를 인코딩하는 단계;
    인코딩된 상기 비디오 콘텐츠를 디코딩 디바이스로 송신하는 단계; 및
    상기 파라미터 세트를 상기 디코딩 디바이스로 송신하는 단계를 포함하고, 상기 파라미터 세트는 상기 인코딩된 비디오 콘텐츠와 별도로 상기 디코딩 디바이스로 송신되는, 방법.
  2. 제1항에 있어서,
    상기 파라미터 세트는 상기 비디오 콘텐츠의 하나 이상의 이미지에 대한 필터링을 수행하기 위한 필터 계수들의 세트를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 비디오 콘텐츠를 인코딩하기 위한 상기 파라미터 세트를 결정하는 단계는, 상기 비디오 콘텐츠의 콘텐츠 유형에 기초하여 상기 파라미터 세트를 결정하는 단계를 추가로 포함하는, 방법.
  4. 삭제
  5. 제3항에 있어서,
    상기 비디오 콘텐츠의 상기 콘텐츠 유형은 복수의 게임 유형을 포함하는, 방법.
  6. 제5항에 있어서,
    상기 복수의 게임 유형 각각에 대해 적어도 하나의 파라미터 세트가 결정되는, 방법.
  7. 제1항에 있어서,
    상기 파라미터 세트는 상기 인코딩된 비디오 콘텐츠 이전에 상기 디코딩 디바이스로 송신되는, 방법.
  8. 디코딩 디바이스에 의해 수행되는, 네트워크 기반 시스템에서 비디오 디코딩을 수행하는 방법으로서,
    네트워크 기반 인코딩 디바이스로부터 인코딩된 비디오 콘텐츠를 수신하는 단계;
    상기 인코딩 디바이스로부터 파라미터 세트가 수신되는지 여부를 결정하는 단계;
    상기 파라미터 세트가 수신된다고 결정하는 것에 기초하여, 상기 파라미터 세트에 따라 상기 인코딩된 비디오 콘텐츠를 디코딩하는 단계; 및
    디코딩된 상기 비디오 콘텐츠를 디스플레이 디바이스로 송신하는 단계
    를 포함하고, 상기 파라미터 세트는 상기 인코딩된 비디오 콘텐츠와 별도로 수신되는, 방법.
  9. 제8항에 있어서,
    상기 파라미터 세트가 수신되지 않는다고 결정하는 것에 기초하여, 디폴트 파라미터 세트가 상기 인코딩된 비디오 콘텐츠를 디코딩하기 위해 사용될 것인지 여부를 결정하는 단계; 및
    상기 디폴트 파라미터 세트가 상기 인코딩된 비디오 콘텐츠를 디코딩하기 위해 사용될 것이라고 결정하는 것에 기초하여, 상기 디폴트 파라미터 세트에 따라 상기 인코딩된 비디오 콘텐츠를 디코딩하는 단계
    를 추가로 포함하는, 방법.
  10. 제9항에 있어서,
    상기 디폴트 파라미터 세트가 상기 인코딩된 비디오 콘텐츠를 디코딩하기 위해 사용되지 않을 것이라고 결정하는 것에 기초하여, 대안의 파라미터 세트를 획득하기 위한 요청을 상기 인코딩 디바이스로 송신하는 단계를 추가로 포함하는, 방법.
  11. 제9항에 있어서,
    시퀀스 레벨 신택스 시그널링에서, 상기 디폴트 파라미터 세트가 사용될 것인지 여부를 표시하기 위해 표시 플래그가 사용되는, 방법.
  12. 제9항에 있어서,
    상기 디폴트 파라미터 세트가 상기 인코딩된 비디오 콘텐츠를 디코딩하기 위해 사용되지 않을 것이라고 결정하는 것에 기초하여, 상기 디코딩 디바이스에 저장된 대안의 파라미터 세트를 획득하는 단계를 추가로 포함하는, 방법.
  13. 인코딩 디바이스로서,
    컴퓨터 프로그램 코드를 저장하는 적어도 하나의 메모리; 및
    상기 적어도 하나의 메모리에 액세스하고 제1항 내지 제3항 및 제5항 내지 제7항 중 어느 한 항에 따른 방법을 수행하기 위해 상기 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하는, 인코딩 디바이스.
  14. 컴퓨터 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해 실행될 때, 제1항 내지 제3항 및 제5항 내지 제7항 중 어느 한 항의 방법을 수행하도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 컴퓨터 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해 실행될 때, 제8항 내지 제12항 중 어느 한 항의 방법을 수행하도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020227012345A 2020-08-07 2021-07-12 클라우드 게이밍 시스템에서 파라미터 세트 선택 방법들 KR102625130B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063062759P 2020-08-07 2020-08-07
US63/062,759 2020-08-07
US17/361,973 2021-06-29
US17/361,973 US20220046237A1 (en) 2020-08-07 2021-06-29 Methods of parameter set selection in cloud gaming system
PCT/US2021/041250 WO2022031405A1 (en) 2020-08-07 2021-07-12 Methods of parameter set selection in cloud gaming system

Publications (2)

Publication Number Publication Date
KR20220062092A KR20220062092A (ko) 2022-05-13
KR102625130B1 true KR102625130B1 (ko) 2024-01-16

Family

ID=80114104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227012345A KR102625130B1 (ko) 2020-08-07 2021-07-12 클라우드 게이밍 시스템에서 파라미터 세트 선택 방법들

Country Status (6)

Country Link
US (1) US20220046237A1 (ko)
EP (1) EP4022909A4 (ko)
JP (1) JP7450720B2 (ko)
KR (1) KR102625130B1 (ko)
CN (1) CN114586358A (ko)
WO (1) WO2022031405A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150641A (zh) * 2022-06-28 2022-10-04 炫彩互动网络科技有限公司 一种云游戏视频编码参数动态调整方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263430A1 (en) 2011-03-31 2012-10-18 Noah Spitzer-Williams Bookmarking moments in a recorded video using a recorded human action
US20170109585A1 (en) 2015-10-20 2017-04-20 Gopro, Inc. System and method of providing recommendations of moments of interest within video clips post capture
US20190075301A1 (en) * 2017-09-01 2019-03-07 Apple Inc. Machine learning video processing systems and methods

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644789B1 (ko) * 2009-04-10 2016-08-04 삼성전자주식회사 방송 프로그램 연관 정보 제공 장치 및 방법
US20130142251A1 (en) * 2011-12-06 2013-06-06 Sony Corporation Syntax extension of adaptive loop filter in hevc
TW201436531A (zh) 2012-09-28 2014-09-16 Vid Scale Inc 多層視訊編碼適應性升取樣
US9199165B2 (en) * 2013-07-16 2015-12-01 Microsoft Corporation Game clip popularity based control
US10764574B2 (en) * 2015-07-01 2020-09-01 Panasonic Intellectual Property Management Co., Ltd. Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
CN107231566B (zh) * 2016-03-25 2020-12-18 阿里巴巴集团控股有限公司 一种视频转码方法、装置和系统
US10070143B2 (en) * 2016-05-31 2018-09-04 Apple Inc. Bit stream switching in lossy network
US11166027B2 (en) * 2016-06-10 2021-11-02 Apple Inc. Content adaptation for streaming
US20180288420A1 (en) * 2017-03-30 2018-10-04 Qualcomm Incorporated Zero block detection using adaptive rate model
JP7012498B2 (ja) 2017-10-12 2022-01-28 株式会社バンダイナムコエンターテインメント コンテンツ配信システム及びコンピュータシステム
JP2019114896A (ja) 2017-12-22 2019-07-11 ソニー株式会社 画像処理装置及び画像処理方法
US10284432B1 (en) 2018-07-03 2019-05-07 Kabushiki Kaisha Ubitus Method for enhancing quality of media transmitted via network
CN109286825B (zh) 2018-12-14 2021-04-30 北京百度网讯科技有限公司 用于处理视频的方法和装置
JP6900359B2 (ja) * 2018-12-28 2021-07-07 株式会社ドワンゴ 画像送受信システム、データ送受信システム、送受信方法、コンピュータ・プログラム、画像送信システム、画像受信装置、送信システム、受信装置
CN110087081B (zh) 2019-05-05 2021-08-06 腾讯科技(深圳)有限公司 视频编码方法、装置、服务器及存储介质
JP7389602B2 (ja) 2019-09-30 2023-11-30 株式会社ソニー・インタラクティブエンタテインメント 画像表示システム、画像処理装置、および動画配信方法
US11494875B2 (en) * 2020-03-25 2022-11-08 Nintendo Co., Ltd. Systems and methods for machine learned image conversion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263430A1 (en) 2011-03-31 2012-10-18 Noah Spitzer-Williams Bookmarking moments in a recorded video using a recorded human action
US20170109585A1 (en) 2015-10-20 2017-04-20 Gopro, Inc. System and method of providing recommendations of moments of interest within video clips post capture
US20190075301A1 (en) * 2017-09-01 2019-03-07 Apple Inc. Machine learning video processing systems and methods

Also Published As

Publication number Publication date
EP4022909A4 (en) 2022-11-23
CN114586358A (zh) 2022-06-03
JP2023504085A (ja) 2023-02-01
JP7450720B2 (ja) 2024-03-15
WO2022031405A1 (en) 2022-02-10
EP4022909A1 (en) 2022-07-06
US20220046237A1 (en) 2022-02-10
KR20220062092A (ko) 2022-05-13

Similar Documents

Publication Publication Date Title
CN112087633B (zh) 视频解码方法、装置及存储介质
CN111135569A (zh) 云游戏处理方法、装置、存储介质与电子设备
KR101560850B1 (ko) 변화하는 비주얼 컨텐트 통신
US20090300145A1 (en) Media streaming with seamless ad insertion
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
NZ595843A (en) System and method for multi-stream video compression using multiple encoding formats
CN111901666B (zh) 图像处理方法、装置、电子设备以及存储介质
CN110999294B (zh) 交错式关键帧视频编码
US20190373040A1 (en) Systems and methods game streaming
CN112771881B (zh) 弹幕处理方法、装置、电子设备及计算机可读取存储介质
US20160212054A1 (en) Multiple Protocol Media Streaming
KR102625130B1 (ko) 클라우드 게이밍 시스템에서 파라미터 세트 선택 방법들
CN116567228A (zh) 编码方法、实时通信方法、装置、设备及存储介质
CN106937127B (zh) 一种智能搜索准备的显示方法及其系统
US9838463B2 (en) System and method for encoding control commands
CN101622873B (zh) 由服务器播送音频和视频数据序列的方法
CN116993572A (zh) 图像处理方法、装置、电子设备及存储介质
CN110545431B (zh) 视频解码方法及装置、视频编码方法及装置
CN110636332A (zh) 一种视频处理方法、装置及计算机可读存储介质
CN115460189B (zh) 处理设备测试方法、装置、计算机及存储介质
US20210308570A1 (en) Method and apparatus for game streaming
JP7304419B2 (ja) 送信装置、送信方法及びプログラム
EP4362475A1 (en) Display device and operating method thereof
CN116546231A (zh) 游戏直播互动方法、装置、设备、存储介质和程序产品
CN115801878A (zh) 云应用画面传输方法、设备和存储介质

Legal Events

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