CN115225902A - 基于分散编码的高分辨率vr云游戏解决方法及计算机设备 - Google Patents

基于分散编码的高分辨率vr云游戏解决方法及计算机设备 Download PDF

Info

Publication number
CN115225902A
CN115225902A CN202210868061.4A CN202210868061A CN115225902A CN 115225902 A CN115225902 A CN 115225902A CN 202210868061 A CN202210868061 A CN 202210868061A CN 115225902 A CN115225902 A CN 115225902A
Authority
CN
China
Prior art keywords
video
data
frame
coding
encoding
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202210868061.4A
Other languages
English (en)
Inventor
董羽生
李瑞亮
贾宏伟
郭建君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Weiling Times Technology Co Ltd
Original Assignee
Beijing Weiling Times Technology Co Ltd
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 Beijing Weiling Times Technology Co Ltd filed Critical Beijing Weiling Times Technology Co Ltd
Priority to CN202210868061.4A priority Critical patent/CN115225902A/zh
Publication of CN115225902A publication Critical patent/CN115225902A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及基于分散编码的高分辨率VR云游戏解决方法及计算机设备,其中一种方法包括:获取游戏视频数据;对所述游戏视频数据的每个视频帧进行切割,分别得到多个视频块;采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据;将所述编码后的数据发送至解码端,以使所述解码端采用解码器对所述编码后的数据进行解码,得到解码后的数据并对所述解码后的数据进行组帧处理。本申请将视频帧切割为多个视频块,一个视频块采用一个或者多个编码器,实现多个编码器协调编码的形式去对视频帧进行编码,从而使得视频帧编解码过程中的延迟被降低,进而让用户在较低延迟下收获较好的云游戏体验。

Description

基于分散编码的高分辨率VR云游戏解决方法及计算机设备
技术领域
本申请涉及视频编码领域,具体涉及基于分散编码的高分辨率VR云游戏解决方法及计算机设备。
背景技术
随着科技的发展,VR云游戏正在逐渐进入到大众的视野里,VR云游戏结合云计算技术,将游戏内容上云,游戏渲染上云,有效的降低了用户侧对终端的要求,从而降低了消费门槛,用户只需要较低的成本就可以在虚拟世界中遨游。
相关技术中,游戏渲染后的内容发送给用户端的时候,通常都是采用的单个编码器对游戏渲染后的内容的各个视频帧进行编码,然后进行解码组帧,最终让用户侧能享受到4k分辨率120帧的较好云游戏体验。
针对上述中的相关技术,发明人认为存在有以下缺陷:单个编码器对视频帧进行编码时,产生的延迟较大,不能使得用户在较低延迟下收获较好的云游戏体验。
发明内容
为了使得用户在较低延迟下收获较好的云游戏体验,本申请提供基于分散编码的高分辨率VR云游戏解决方法。
在本申请的第一方面提供了基于分散编码的高分辨率VR云游戏解决方法,应用于编码端,所述方法包括:
获取游戏视频数据;
对所述游戏视频数据的每个视频帧进行切割,分别得到多个视频块;
采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据;
将所述编码后的数据发送至解码端,以使所述解码端采用解码器对所述编码后的数据进行解码,得到解码后的数据并对所述解码后的数据进行组帧处理。
通过采用上述技术方案,将视频帧切割为多个视频块,一个视频块采用一个或者多个编码器,实现多个编码器协调编码的形式去对视频帧进行编码,从而使得视频帧编解码过程中的延迟被降低,进而让用户在较低延迟下收获较好的云游戏体验。
可选的,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
采用强化学习算法,预测当前视频帧的画面复杂度;
根据所述当前视频帧的画面复杂度,在每个gop分组开始时调整每路编码器编码的编码块大小。
通过采用上述技术方案,如果当前视频帧的画面复杂度较高,所需要的编码资源较大,在编码器性能不变的情况下,那么就要在每个gop分组开始时,缩小的每路编码器编码的编码块大小,从而保证编码器的稳定运行。
可选的,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
对每个视频帧的边缘部分和非边缘部分采用不同的编码精度进行编码。
通过采用上述技术方案,非边缘部分就是视频帧画面里的重要部分,也就是用户中央视野的部分,这部分采用较高的编码精度,视频帧画面的边缘部分是用户余光视野的部分,这部分的编码精度无需那么高,从而使得在不影响用户较好视觉体验的同时还能降低编码器资源消耗。
可选的,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
基于纹理编码方式对多个所述视频块采用一一对应的编码器进行编码,得到编码后的数据。
通过采用上述技术方案,通过纹理介质进行,不需要从显存中对视频帧数据进行复制,直接就能游戏渲染的现存中进行编码,尽量避免显存复制的时间;同时一个视频块采用一个编码器进行编码,多路编码器协同对视频帧进行编码,有效降低编码延迟。
可选的,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
对编码过程的稳定性进行判断;
若编码过程不稳定,则对单个视频块采用多个编码器,并按照哈希分布进行编码,得到编码后的数据。
通过采用上述技术方案,如果一个视频块采用一个编码器进行120帧编码的过程出现不稳定的情况,则对一个视频块采用多个编码器并按照哈希分布进行编码,从而保证120帧编码稳定进行,进而保证后续120帧数据稳定呈现。
可选的,所述将所述编码后的数据发送至解码端,以使所述解码端采用解码器对所述编码后的数据进行解码,得到解码后的数据并对所述解码后的数据进行组帧处理,包括:
判断发送过程中是否出现丢帧情况,若出现丢帧情况,则获取当前丢帧的视频块的重要等级并对当前丢帧的视频块的重要等级进行权重检查;
若权重检查为重要视频块,则对整体视频块对应的编码器都申请i帧;
若权重检查为边缘视频块,则对当前丢帧的视频块对应的编码器申请i帧,并等待等待其他编码器gop循环到达初始位置时,调整当前丢帧的视频块对应的编码器重现开始新一轮gop以使得与其他编码器同步。
通过采用上述技术方案,在编码后的数据传输发送过程中如果出现丢帧情况,会影响后续解码,解码是从一个i帧开始,然后再解码p帧,发生i帧或p帧的丢失,解码就会卡在那里,当丢帧的视频块为重要视频块,直接将整张视频帧画面丢弃,视频帧对应的所有编码器都申请i帧,保证后续游戏视频播放的流畅度;丢帧的视频块若为边缘视频块,则当前丢帧的视频块对应的编码器等待下一个重要视频块的i帧被处理时,再申请i帧,从而使得最终画面同步。
可选的,基于分散编码的高分辨率VR云游戏解决方法,应用于解码端,所述方法包括:
接收编码端发送的编码后的数据,所述编码后的数据由所述编码端对所获取的游戏视频数据里的每个视频帧进行切割后得到的多个视频块,并对多个视频块采用多个编码器进行编码而得出;
采用解码器对所述编码后的数据进行解码,得到解码后的数据;
对所述解码后的数据进行组帧处理。
通过采用上述技术方案,接收到编码端那边发送过来的编码后的数据后,解码器对编码后的数据进行解码,解码完成后对解码后的数据按照原来的帧数顺序进行组帧处理,让一帧帧视频帧画面组合连贯,最终实现游戏渲染后的内容能完整流畅的在解码端播放。
可选的,所述采用解码器对所述编码后的数据进行解码,得到解码后的数据,包括:
每个编码器对应一个网络协议的传输通道,解码端依据不同的通道采用对应的解码器进行解码,得到解码后的数据。
通过采用上述技术方案,每个视频块的编码后的数据都是通过一个特定的网络协议的传输通道去传输给解码端,一个传输通道对应一个编码器,同时对应一个解码器,这样解码时按照编码对应方式去解码,从而使得解码时的延迟和编码一样同等的被降低。
可选的,所述对所述解码后的数据进行组帧处理,包括:
获取所述编码后的数据中所携带的顶点位置信息和帧序号信息;
基于顶点位置信息和帧序号信息,对所述解码后的数据进行组帧。
通过上述技术方案,顶点位置就是视频帧画面的左上角的视频块的位置坐标,据此依次把解码后的视频块进行组合拼接,还原得到一个视频帧画面,按照同样的方式,将所有的视频帧画面都组合拼接出来,最后按照每帧视频帧的序号把视频帧按顺序通过哈希组帧的方式去进行组合,能有助于降低组帧处理时间,实现游戏渲染的内容能很好的呈现在用户侧。
综上所述,本申请包括以下至少一种有益技术效果:
1.将视频帧切割为多个视频块,一个视频块采用一个或者多个编码器,实现多个编码器协调编码的形式去对视频帧进行编码,从而使得视频帧编解码过程中的延迟被降低,进而让用户在较低延迟下收获较好的云游戏体验;
2.对每个视频帧中边缘部分和非边缘部分采用不同的编码精度进行编码,视频帧画面的边缘部分是用户余光视野的部分,这部分的编码精度无需那么高,从而使得在不影响用户较好视觉体验的同时还能降低编码器资源消耗;
3.通过基于纹理编码方式对多个视频块采用一一对应的编码器进行编码,得到编码后的数据,不需要从显存中对视频帧数据进行复制,直接就能游戏渲染的现存中进行编码,尽量避免显存复制的时间。
附图说明
图1是本申请实施例提供的一种基于分散编码的高分辨率VR云游戏解决方法的流程示意图;
图2是本申请实施例提供的一种基于分散编码的高分辨率VR云游戏解决方法步骤S12的流程示意图;
图3是本申请实施例提供的一种基于分散编码的高分辨率VR云游戏解决方法步骤S13的流程示意图;
图4是本申请实施例提供的另一种基于分散编码的高分辨率VR云游戏解决方法的流程示意图;
图5是本申请实施例提供的另一种基于分散编码的高分辨率VR云游戏解决方法步骤S22的流程示意图。
具体实施方式
以下结合附图1-5对本申请作进一步详细说明。
本申请实施例公开了基于分散编码的高分辨率VR云游戏解决方法及计算机设备。
参见图1,为本申请实施例提供的一种基于分散编码的高分辨率VR云游戏解决方法的流程示意图,应用于编码端,具体包括:
S10:获取游戏视频数据;
具体的,本实施例中的编码端采用云端服务器,通常情况下游戏是用户在自己的计算机上或者手机终端上运行,这就对用户侧的计算机或者手机终端硬件性能要求较高。本申请则是在云端服务器中运行加载游戏,获取游戏视频数据,这里的游戏视频数据包括整个游戏运行过程中实时渲染的一帧帧游戏画面数据。例如,玩家在玩xxx云游戏时,云端服务器获取的游戏视频数据就是xxx游戏加载的渲染图片、游戏内各种动态视频的实时渲染的游戏画面等的组合。
S11:对游戏视频数据的每个视频帧进行切割,分别得到多个视频块;
具体的,游戏视频数据是包含经过实时渲染后得出的一帧一帧的游戏画面图像,也就是一帧一帧的视频帧。对这些视频帧进行切割处理,视频帧就变成一块一块的视频块,每个视频块对应的就是每个视频帧中的一部分数据。比如xxx游戏的游戏视频数据中一个视频帧为xxx游戏加载界面图像,将它切割成9等份,在其他实施例中也可以切割成16等份。其中,9等份中的每份就是一个视频块,一个视频块包含一个视频帧中的一部分数据。
S12:采用多个编码器分别对多个视频块进行编码,得到编码后的数据;
具体的,编码器是将信号或数据进行编制,转换为用来通讯、传输和存储的信号形式的设备,编码是为了在数据传输的过程中节省数据存储空间,进而节省带宽,加快传输速度。得到多个视频块后,编码端启动多个编码器对多个视频块进行编码,本实施例中具体可以是一个编码器对一个视频块进行编码,也可以是多个编码器对一个视频块进行编码。这样每个视频帧的每个视频块经过编码后都会得到对应的一项编码后的数据,一个视频帧的编码后的数据就由多个视频块对应的多项编码后的数据组成。从而实现一个视频帧由多个编码器进行编码,有效降低编码过程产生的延迟。
参见图2,S121:采用强化学习算法,预测当前视频帧的画面复杂度;
具体的,由于一个视频帧图像中各个部分的画面复杂程度不同,采用强化学习算法,可以使得当前视频帧的画面复杂度预测更加准确,更加客观。其中,强化学习算法是机器学习中的一类,本实施例中强化学习是一个连续做出预测画面复杂度的过程,通过不断与环境交互来获得知识,自主进行动作选择,从而使得在预测过程中整体的回报期望最优,预测当前视频帧的画面复杂度的准确度更高。需要说明的是,在本申请实施例中可采用Q-Learning算法。
S122:根据当前视频帧的画面复杂度,在每个gop分组开始时调整每路编码器编码的编码块大小;
具体的,gop是h26x系列编码的一个循环,在本实施例中gop为h265编码中的一个循环,一个gop是一组连续的画面。gop分组为编码开始的I帧和该I帧后面的p帧。在每个gop分组开始时判断画面复杂度,如果大于预期,说明当前视频帧画面较为复杂,所需要的编码资源较大,在编码器性能不变的情况下,为了保证帧数,则缩小编码器编码的编码块大小;如果画面复杂度小于预期,则得出当前视频帧的画面复杂度较低,那么在编码器性能不变的情况下,就要在每个gop分组开始时增大编码器编码的编码块的大小。需要说明的是,在编码过程编码块大小可以是4x4、8x8和16x16的尺寸。
S123:对每个视频帧的边缘部分和非边缘部分采用不同的编码精度进行编码;
具体的,每个视频帧图像中存在边缘部分和非边缘部分,非边缘部分是位于用户视野的中央,是最能直观的影响用户视觉体验的部分,而边缘部分则对于用户视觉体验影响较小。因此对于处于非边缘部分的视频块所对应的编码器采用较高编码精度进行编码,对于处于边缘部分的视频块所对应的编码器则无需采用较高编码精度进行编码,从而有助于降低对编码器的资源的消耗。
S124:基于纹理编码方式对多个视频块采用一一对应的编码器进行编码,得到编码后的数据;
具体的,本实施例中,通过纹理这种介质进行编码,在其他实施例中也可以采用光栅等其它介质。采用纹理这种介质,可以直接从游戏渲染的现存中,对渲染后的视频帧中的单个视频块采用单个编码器进行编码。不仅实现一个视频帧由多个编码器编码,使得编码延迟被降低,而且还避免了从显存中复制提取游戏渲染数据,进而节省了编码的时间。其中,显存也叫帧缓存,它的作用是存储即将日趋的渲染数据,如同计算机的内存一样,显存是用来存在要处理的图形信息的部件。
S125:对编码过程的稳定性进行判断;
具体的,本实施例中编码过程的稳定性是120帧编码的稳定进行,在其他实施例中也可以是90帧编码的稳定进行。通过稳定性的判断,判断单个视频块采用一个编码器是否能保证120帧编码稳定进行,进而起到对120帧数据能否稳定呈现的预判作用。其中,稳定性判断是通过测试数据进行判断,编码器每秒编码4k视频120帧且只有少量帧的编码时间超过16.6ms,才能保证VR游戏的稳定进行;如果有大量帧的编码时间超过16.6ms,则不能保证稳定进行。
S126:若编码过程不稳定,则对单个视频块采用多个编码器,并按照哈希分布进行编码,得到编码后的数据;
具体的,当判断判断出120帧编码过程不稳定,则说明视频块对编码资源消耗量较大,一个编码器对当前视频块无法进行稳定编码,此时就采用多个编码器对单个视频块进行编码,并且编码过程采用哈希分布进行分组,将不同的视频块分配给不同的编码器。其中,哈希分布就是将数据计算哈希值之后,按照哈希值分配到不同的节点上,哈希值一般指哈希函数,最终较好保证当前视频块120帧编码的稳定。
S13:将编码后的数据发送至解码端,以使解码端采用解码器对编码后的数据进行解码,得到解码后的数据并对解码后的数据进行组帧处理;
具体的,本实施例中解码端可以采用终端设备,比如玩家的手机,计算机等。编码端接收到解码端(也是就是客户端)发送的建立连接的请求消息后,请求消息携带解码端的初始密钥和ip地址信息,然后向解码端发送接收连接确认消息,之后为每一个视频块对应的编码后的数据在连接内建立对应的数据传输通道,通过对应的数据传输通道进行数据传输发送给解码端。
参见图3,S131:判断发送过程中是否出现丢帧情况,若出现丢帧情况,则获取获取当前丢帧的视频块的重要等级并对当前丢帧的视频块的重要等级进行权重检查;
具体的,将编码器编码后的数据通过对应的数据传输通道向解码端实时传输过程中,如果出现丢帧的情况,其中丢帧指的是因为某种原因播放过程中,有一帧或者几帧,跳过没有显示,会造成画面不连续,则对当前视频帧中的切割出的每个视频块的重要等级进行权重检查,主要是判断丢帧的视频块是视频帧画面的重要部分还是边缘部分。
S132:若权重检查为重要视频块,则对整体视频块对应的编码器都申请i帧;
具体的,当权重检查得出当前视频块为重要视频块,也就是说明当前视频块是位于用于视野中央的,则当前视频帧中的所有视频块对应的编码器都申请i帧,也就是整体申请。如果只是对当前视频块单路编码器申请i帧,因为i帧是占资源比较大,会导致画面清晰度下降,同时易于造成视频帧图像中重要部分与其他部分不同步,使得最终播出的画面不连续,因此重要视频块发生丢帧时,直接将将整张图片丢弃,然后整体视频块对应的编码器再整体一起申请i帧,从而使得各个视频块解码重新保持同步,避免造成画面不连续。需要说明的是i帧被称作关键帧,解码一般都是以i帧开始,紧接着解码p帧,一旦编码后的数据在发送过程中丢失了i帧,那么解码是无法开始;一旦丢失p帧,虽然解码能开始,但是无法继续解码下一个p帧,那么解码会中止。由于申请i帧为现有技术,在这里就不做过多赘述了。
S133:若权重检查为边缘视频块,则对当前丢帧的视频块对应的编码器申请i帧,并等待等待其他编码器gop循环到达初始位置时,调整当前丢帧的视频块对应的编码器重现开始新一轮gop以使得与其他编码器同步。
具体的,如果权重检查得出当前视频块为边缘视频块,则只对当前视频块对应的编码器申请i帧,也就是单路申请,由于不是用户视野中央的重要视频块,所以出现边缘画面不清晰,只要最终游戏视频数据能播放,对用户玩游戏的视觉影响也较小,因此无需丢弃视频帧进行整体申请i帧。等待下一个重要视频块的i帧被处理时,再同步申请i帧,与重要视频块实现同步。
参见图4,基于分散编码的高分辨率VR云游戏解决方法,应用于解码端,具体包括:
S20:接收编码端发送的编码后的数据,编码后的数据由编码端对所获取的游戏视频数据里的每个视频帧进行切割后得到的多个视频块,并对多个视频块采用多个编码器进行编码而得到的;
具体的,通过网络协议的数据传输通道,接收到来自编码端发送过来的视频帧编码后的数据,因为编码后的数据是需要解码后才能播放的,而编码端是不能进行解码的,需要解码端,比如用户的手机客户端接收到编码后的数据才能进行解码操作。
S21:采用解码器对编码后的数据进行解码,得到解码后的数据;
具体的,解码端接收到编码发送传输过来的编码后的数据之后,启动解码器对编码后的数据进行解码,其中编码器是一种将信息从编码的形式回复到其原来形式的器件,解码器的存在就是因为音频视频数据存在要先通过编码压缩,否则数据量太庞大,在需要对数据进行播放时要先通过解码器进行解码,在本实施例中是实时对一帧帧视频帧编码后的数据进行解码,得到最终的解码后的数据。
S211:每个编码器对应一个网络协议的传输通道,解码端依据不同的通道采用对应的解码器进行解码,得到解码后的数据;
具体的,每个编码器是对应对一个视频块进行编码处理的,每个编码器编码后的数据也是通过编码端和解码端两端建立的连接内构建的对应数据传输通道,将每个编码器编码后的数据发送给解码端,到解码端这一端后也对应有一个解码器相应启动,对每个编码器编码后的数据进行解码,不同的编码器对应不同的数据传输通道,解码端这边对应启动不同的解码器,最终得到一帧帧视频帧的解码后的数据。
参见图4,S22:对解码后的数据进行组帧处理;
具体的,经过解码器解码后的数据是并不能直接进行播放的,还有将每个视频帧的各个视频块对应的解码后的数据按照原本切割时的顺序组合成一个视频帧,在按照游戏视频数据中视频帧的顺序去将进行组帧,最终将游戏视频数据进行播放。
参见图5,S221:获取编码后的数据中所携带的顶点位置信息和帧序号信息;
具体的,编码后的数据中包含有一个视频帧画面尺寸大小信息,也会携带有顶点位置信息,顶点位置信息是一个视频帧中视频块左上角的点的坐标信息。一个视频帧有多个编码器时,具体是按帧去分配的,比如一个视频帧分为9等份,将一个视频帧中的视频块0、2、6、8分给第一编码器,把1、3、5、9去分给第二编码器,这里的1、2、3、4、5、6、7、8、9就是所谓的帧序号。
S222:基于顶点位置信息和帧序号信息,对解码后的数据进行组帧。
具体的,本实施例中的视频块是从一个视频帧中切割得到,依据每个视频块左上角的点的坐标信息,可以将每个视频块放回到一个视频帧中原来的位置,这样就会得到解码后的一帧完整的视频帧,由于之前是按照哈希的算法去将视频块0、2、6、8分给第一个编码器,把1、3、5、9去分给第二个编码器,然后这两组帧序号对应的视频块解码之后需要穿插播放,这个过程就是根据帧序号去进行组帧播放的。
本申请实施例基于分散编码的高分辨率VR云游戏解决方法的实施原理为:当编码端获取到游戏视频数据后,对游戏视频数据的视频帧进行切割,得到多个视频块,接着采用多个编码器对多个视频块进行编码处理,得到编码后的数据之后通过网络协议的数据传输通道发送给解码端,解码端接收到编码后的数据开始启动解码器进行解码处理,最后对解码后的数据进行组帧处理,在解码端进行播放。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的基于分散编码的高分辨率VR云游戏解决方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例的基于分散编码的高分辨率VR云游戏解决方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
本申请实施例还公开一种计算机设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述基于分散编码的高分辨率VR云游戏解决方法。
其中,计算机设备可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,计算机计算机设备设备包括但不限于处理器以及存储器,例如,计算机设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为计算机设备的内部存储单元,例如,计算机设备的硬盘或者内存,也可以为计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为计算机设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及计算机设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本计算机设备,将上述实施例的基于分散编码的高分辨率VR云游戏解决方法存储于计算机设备的存储器中,并且,被加载并执行于计算机设备的处理器上,方便使用。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (10)

1.基于分散编码的高分辨率VR云游戏解决方法,其特征在于,应用于编码端,所述方法包括:
获取游戏视频数据;
对所述游戏视频数据的每个视频帧进行切割,分别得到多个视频块;
采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据;
将所述编码后的数据发送至解码端,以使所述解码端采用解码器对所述编码后的数据进行解码,得到解码后的数据并对所述解码后的数据进行组帧处理。
2.根据权利要求1所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
采用强化学习算法,预测当前视频帧的画面复杂度;
根据所述当前视频帧的画面复杂度,在每个gop分组开始时调整每路编码器编码的编码块大小。
3.根据权利要求1所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
对每个视频帧的边缘部分和非边缘部分采用不同的编码精度进行编码。
4.根据权利要求1所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
基于纹理编码方式对多个所述视频块采用一一对应的编码器进行编码,得到编码后的数据。
5.根据权利要求1所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述采用多个编码器分别对所述多个视频块进行编码,得到编码后的数据,包括:
对编码过程的稳定性进行判断;
若编码过程不稳定,则对单个视频块采用多个编码器,并按照哈希分布进行编码,得到编码后的数据。
6.根据权利要求1所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述将所述编码后的数据发送至解码端,以使所述解码端采用解码器对所述编码后的数据进行解码,得到解码后的数据并对所述解码后的数据进行组帧处理,包括:
判断发送过程中是否出现丢帧情况,若出现丢帧情况,则获取当前丢帧的视频块的重要等级并对当前丢帧的视频块的重要等级进行权重检查;
若权重检查为重要视频块,则对全部的所述视频块对应的编码器都申请i帧;
若权重检查为边缘视频块,则对当前丢帧的视频块对应的编码器申请i帧,并等待其他编码器gop循环到达初始位置时,调整当前丢帧的视频块对应的编码器重现开始新一轮gop以使得与其他编码器同步。
7.基于分散编码的高分辨率VR云游戏解决方法,其特征在于,应用于解码端,所述方法包括:
接收编码端发送的编码后的数据,所述编码后的数据由所述编码端对所获取的游戏视频数据里的每个视频帧进行切割后得到的多个视频块,并对多个视频块采用多个编码器进行编码而得出;
采用解码器对所述编码后的数据进行解码,得到解码后的数据;
对所述解码后的数据进行组帧处理。
8.根据权利要求7所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述采用解码器对所述编码后的数据进行解码,得到解码后的数据,包括:
每个编码器对应一个网络协议的传输通道,解码端依据不同的通道采用对应的解码器进行解码,得到解码后的数据。
9.根据权利要求7所述的基于分散编码的高分辨率VR云游戏解决方法,其特征在于,所述对所述解码后的数据进行组帧处理,包括:
获取所述编码后的数据中所携带的顶点位置信息和帧序号信息;
基于顶点位置信息和帧序号信息,对所述解码后的数据进行组帧。
10.一种计算机设备,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-6或7-9中任一项所述的方法。
CN202210868061.4A 2022-07-21 2022-07-21 基于分散编码的高分辨率vr云游戏解决方法及计算机设备 Pending CN115225902A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210868061.4A CN115225902A (zh) 2022-07-21 2022-07-21 基于分散编码的高分辨率vr云游戏解决方法及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210868061.4A CN115225902A (zh) 2022-07-21 2022-07-21 基于分散编码的高分辨率vr云游戏解决方法及计算机设备

Publications (1)

Publication Number Publication Date
CN115225902A true CN115225902A (zh) 2022-10-21

Family

ID=83613581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210868061.4A Pending CN115225902A (zh) 2022-07-21 2022-07-21 基于分散编码的高分辨率vr云游戏解决方法及计算机设备

Country Status (1)

Country Link
CN (1) CN115225902A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117354524A (zh) * 2023-12-04 2024-01-05 腾讯科技(深圳)有限公司 编码器编码性能测试方法、装置、设备及计算机介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117354524A (zh) * 2023-12-04 2024-01-05 腾讯科技(深圳)有限公司 编码器编码性能测试方法、装置、设备及计算机介质
CN117354524B (zh) * 2023-12-04 2024-04-09 腾讯科技(深圳)有限公司 编码器编码性能测试方法、装置、设备及计算机介质

Similar Documents

Publication Publication Date Title
CN111882626B (zh) 图像处理方法、装置、服务器及介质
US10979663B2 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US10930318B2 (en) Gapless video looping
KR20200079521A (ko) 온라인 인터랙티브 게임 세션들에 대한 콘텐츠를 렌더링 및 인코딩하기 위한 방법들 및 시스템들
CN107634930B (zh) 一种媒体数据的获取方法和装置
CN111951366B (zh) 一种云原生3d场景游戏方法和系统
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
CN107370714A (zh) 面向云渲染的高效通讯方法
CN111836076B (zh) 视频分辨率切换方法及装置、电子设备
EP3142381A1 (en) Network video playing method and device
CN107333163A (zh) 一种视频处理方法及装置、一种终端及存储介质
US20140362291A1 (en) Method and apparatus for processing a video signal
CN111202980B (zh) 信息传送方法、流媒体云平台和计算机可读存储介质
CN112717389A (zh) 一种云游戏图像花屏修复方法及装置
CN115225902A (zh) 基于分散编码的高分辨率vr云游戏解决方法及计算机设备
CN111970565A (zh) 视频数据处理方法、装置、电子设备及存储介质
CN110049347B (zh) 在直播界面配置图像的方法、系统、终端和装置
US20230082784A1 (en) Point cloud encoding and decoding method and apparatus, computer-readable medium, and electronic device
CN115225615B (zh) 虚幻引擎像素流送方法及装置
CN115379235A (zh) 基于缓冲池的图像解码方法、装置、可读介质及电子设备
CN108989905A (zh) 媒体流控制方法、装置、计算设备及存储介质
US11457255B2 (en) Method and apparatus for random access of 3D(AR) media
US20230421779A1 (en) Decoding processing method and apparatus, computer device, and storage medium
US20220279190A1 (en) Transmission apparatus, reception apparatus, transmission method,reception method, and program
Börner et al. Performance of Augmented Reality Remote Rendering via Mobile Network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination