CN112533059B - 图像渲染方法、装置、电子设备以及存储介质 - Google Patents

图像渲染方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN112533059B
CN112533059B CN202011308285.7A CN202011308285A CN112533059B CN 112533059 B CN112533059 B CN 112533059B CN 202011308285 A CN202011308285 A CN 202011308285A CN 112533059 B CN112533059 B CN 112533059B
Authority
CN
China
Prior art keywords
key frame
image
frame data
target
application
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.)
Active
Application number
CN202011308285.7A
Other languages
English (en)
Other versions
CN112533059A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011308285.7A priority Critical patent/CN112533059B/zh
Publication of CN112533059A publication Critical patent/CN112533059A/zh
Application granted granted Critical
Publication of CN112533059B publication Critical patent/CN112533059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种图像渲染方法、装置、电子设备以及存储介质,包括:接收目标云应用待解码的图像数据,所述图像数据至少包括关键帧数据;在对所述图像数据进行解码时,检测所述关键帧数据是否异常;将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含所述目标关键帧数据对应的备用关键帧数据;当检测到所述目标云应用终端中包含所述目标关键帧数据对应的备用关键帧数据时,从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据;基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像,该方案可以在网络情况不佳或者延迟较大的情况时,正常渲染云应用的应用图像。

Description

图像渲染方法、装置、电子设备以及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种图像渲染方法、装置、电子设备以及存储介质。
背景技术
越来越多的用户开始通过手机、平板电脑及个人电脑等终端在线收看视频,并且,随着移动终端及网络技术的发展,游戏也可以以图像渲染的方式向用户展示相应的内容,以云游戏为例,在云游戏的场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家的终端。玩家的终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
然而,在网络情况不佳或者延迟较大的情况下,会出现视频数据的丢失而导致在玩家的终端玩云游戏出现卡顿的现象。
发明内容
本申请提供一种图像渲染方法、装置、电子设备以及存储介质,可以在网络情况不佳或者延迟较大的情况时,正常渲染云应用的应用图像。
本申请提供了一种图像渲染方法,包括:
接收目标云应用待解码的图像数据,所述图像数据至少包括关键帧数据;
在对所述图像数据进行解码时,检测所述关键帧数据是否异常;
将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含所述目标关键帧数据对应的备用关键帧数据;
当检测到所述目标云应用终端中包含所述目标关键帧数据对应的备用关键帧数据时,从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据;
基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像。
相应的,本申请还提供了一种图像渲染装置,包括:
接收模块,用于接收目标云应用待解码的图像数据,所述图像数据至少包括关键帧数据;
检测模块,用于在对所述图像数据进行解码时,检测所述关键帧数据是否异常;
确定模块,用于将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含所述目标关键帧数据对应的备用关键帧数据;
调用模块,用于当检测到所述目标云应用终端中包含所述目标关键帧数据对应的备用关键帧数据时,从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据;
渲染模块,用于基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像。
可选的,在本申请的一些实施例中,所述渲染模块包括:
替换子模块,用于利用调用的备用关键帧数据对所述图像数据中异常的关键帧数据进行替换,得到替换后图像数据;
渲染子模块,用于基于替换后图像数据渲染所述目标云应用的应用图像。
可选的,在本申请的一些实施例中,所述渲染子模块包括:
确定单元,用于确定替换后图像数据中当前解码的关键帧数据,得到当前关键帧数据;
解码单元,用于若当前关键帧数据为备用关键帧数据,则对所述备用关键帧数据进行解码,得到所述备用关键帧数据对应的备用应用画面,所述备用应用画面为仅包含目标图像元素的应用画面;
渲染单元,用于利用所述备用应用画面恢复所述应用画面中目标图像元素,以渲染所述目标云应用的应用图像。
可选的,在本申请的一些实施例中,所述渲染单元包括:
确定子单元,用于确定需要加载的非目标图像元素;
获取子单元,用于根据当前的网络强度值,从所述目标云应用中获取所述非目标图像元素;
渲染子单元,用于基于所述获取的非目标图像元素以及所述备用应用画面中目标图像元素,渲染所述目标云应用的应用图像。
可选的,在本申请的一些实施例中,所述获取子单元包括:
网络检测单元,用于检测当前的网络强度值;
第一策略确定单元,用于当所述网络强度值大于等于预设值时,则将元素获取策略确定为第一获取策略,并基于所述第一获取策略从所述目标云应用中获取所述非目标图像元素;
第二策略确定单元,用于当所述网络强度值小于预设值时,则将元素获取策略确定为第二获取策略,并基于所述第二获取策略从所述目标云应用中获取所述非目标图像元素。
可选的,在本申请的一些实施例中,所述第一策略确定单元具体用于:
确定所述目标图像元素的图像分辨率,得到第一图像分辨率;
从所述目标云应用中获取图像分辨率为第一图像分辨率的非目标图像元素。
可选的,在本申请的一些实施例中,所述第二策略确定单元具体用于:
确定与所述第二获取策略对应的图像分辨率,得到第二图像分辨率;
从所述目标云应用获取图像分辨率为第二图像分辨率的非目标图像元。
可选的,在一些实施例中,所述调用模块具体用于:
提取所述目标关键帧数据对应的数据标签;
根据提取的数据标签,从所述目标云应用终端中调用与所述目标关键帧数据对应的备用关键帧数据。
可选的,在本申请的一些实施例中,还包括下载模块,所述下载模块具体用于:
下载目标云应用对应的备用关键帧数据。
本申请在接收目标云应用待解码的图像数据后,所述云应用运行在服务器上,所述图像数据至少包括关键帧数据,在对所述图像数据进行图像解码时,检测所述关键帧数据是否异常,然后,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含所述目标关键帧数据对应的备用关键帧数据,当检测到所述目标云应用终端中包含所述目标关键帧数据对应的备用关键帧数据时,从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据,最后,基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像。因此,该方案在网络情况不佳或者延迟较大的情况时,正常渲染云应用的应用图像。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请提供的图像渲染方法的场景示意图;
图1b是本申请提供的图像渲染方法的流程示意图;
图2a是本申请提供的图像渲染方法的另一流程示意图;
图2b是本申请提供的图像渲染***的示意图;
图2c是本申请提供的图像渲染方法中游戏画面的示意图;
图2d是本申请提供的图像渲染***的另一示意图;
图3a是本申请提供的图像渲染装置的结构示意图;
图3b是本申请提供的图像渲染装置的另一结构示意图;
图4是本申请提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供一种图像渲染方法、装置、电子设备和存储介质。
其中,该图像渲染装置具体可以集成在终端中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
其中,云应用可以为云游戏,也可以为云手机,云游戏(Cloud gaming) 又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。云手机(Cloudphone)就是将云计算技术运用于网络终端服务,通过云服务器实现云服务的手机,实际上是深度结合了网络服务的智能手机,这类手机凭借自带的***以及厂商架设的网络终端可以通过网络实现众多的功能。
例如,请参阅图1a,以云游戏为例,图像渲染装置集成在终端10上,当用户启动云游戏时,终端10实时从服务器20中获取云游戏待解码的图像数据,该图像数据至少包括关键帧数据,然后,终端10对获取的图像数据进行解码,终端10在对图像数据进行解码时,检测关键帧数据是否异常,终端10将异常的关键帧数据确定为目标关键帧数据,并检测终端10中是否包含目标关键帧数据对应的备用关键帧数据,终端10当检测到本地包含目标关键帧数据对应的备用关键帧数据,调用目标关键帧数据对应的备用关键帧数据,最后,终端10基于图像数据以及调用的备用关键帧数据,渲染云游戏的游戏图像。
本申请提供的图像渲染方法,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,在网络情况不佳或者延迟较大的情况下,可以基于图像数据以及调用的备用关键帧数据,渲染云游戏的游戏图像,避免出现由于关键帧数据的丢失而导致运行云应用时应用图像出现卡顿的现象。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种图像渲染方法,包括:接收目标云应用待解码的图像数据,在对图像数据进行解码时,检测关键帧数据是否异常,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像。
请参阅图1b,图1b为本申请提供的图像渲染方法的流程示意图。该图像渲染方法的具体流程可以如下:
101、接收目标云应用待解码的图像数据。
其中,图像数据至少包括关键帧数据,
云应用是“云计算”概念的子集,是云计算技术在应用层的体现。云应用跟云计算最大的不同在于,云计算作为一种宏观技术发展概念而存在,而云应用则是直接面对客户解决实际问题的产品。云应用的工作原理是把传统软件“本地安装、本地运算”的使用方式变为”即取即用”的服务,通过互联网或局域网连接并操控远程服务器集群,完成业务逻辑或运算任务的一种新型应用。“云应用”的主要载体为互联网技术,以瘦客户端(ThinClient)或智能客户端(Smart Client)的展现形式,其界面实质上是HTML5,Javascript,或Flash等技术的集成。
为了减少传输时的数据量,目前,服务器会对云应用的应用图像进行编码,以形成图像数据,图像数据的格式可以是AVC(Advanced Video Coding,即 H.264编码标准),也可以是HEVC(High Efficiency Video Coding,即H.265 编码标准),图像数据还可以包括预测帧数据,以H.264编码标准为例进行说明,在H.264编码标准中,将几帧图像分至同一组中,形成图像组,图像组又称为画面组(Group of Pictures,GOP),GOP的第一个图像帧必须为关键帧,确保GOP不需要参考其他图像,可以独立解码。关键帧又称I帧(Intra codedframes),I帧采用帧内编码方式,它是一个全帧压缩编码帧。它将全帧图像信息进行压缩编码及传输,在解码时仅用I帧的数据就可重构完整图像,I帧描述了图像背景和运动主体的详情(即单帧图像内的空间相关性),即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I帧使用帧内压缩,不使用运动补偿,由于I帧不依赖其它帧,所以是随机存取的入点,同时是解码的基准帧;预测帧包括前向预测帧和双向预测帧,前向预测帧又称为P帧(Predicted frames),P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面,即, P帧没有完整画面数据,只有与前一帧的画面差别的数据,P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可得到完整的P帧,进一步的,P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差),解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像,P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P帧,而双向预测帧又称B帧 (Bi-directional predictedframes),B帧图像也采用帧间编码方式,B帧图像采用双向时间预测,B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端(如本申请的终端)根据运动矢量在两个参考帧中“找出(算出)”预测值并与差值求和,得到B帧“某点”样值,从而得到完整的B帧,B帧是由前面的I或P帧和后面的P帧来进行预测的,并且B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量,B帧只反映丙参考帧间运动主体的变化情况,预测比较准确,需要说明的是,B帧不作为帧解码时的参考,不会造成解码错误的扩散。
具体的,可以通过有线网络或无线网络从服务器获取待播放视频的视频数据,具体根据实际情况而定,在此不作赘述。
需要说明的是,在用户第一次启动或者安装目标云应用时,可以下载目标云应用对应的备用关键帧数据,当然,也可以在安装目标云应用后,在网络情况良好时下载目标云引用对应的备用关键帧。
102、在对图像数据进行图像解码时,检测关键帧数据是否异常。
为了便于视频内容的存储和传输,通常需要减少视频内容的体积,也就是需要将原始的视频图像经过压缩,压缩算法也简称编码格式,所谓视频编码方式就是指通过压缩技术,将原始视频图像依次通过预测、变化、量化、重组以及熵编码压缩成二进制字节流,其中,编码方式包括:基于上下文的自适应变长编码(Context-Adaptive Varialbe-LengthCoding,CAVLC)和基于上下文的自适应二进制算术编码(Context-based Adaptive BinaryArithmetic Coding, CABAC),
在H.264标准编码体系中,视频图像在经过了预测、变换及量化编码后表现出如下的特性:4×4块残差数据块比较稀疏,其中非零系数主要集中在低频部分,而高频系数大部分是零;量化后的数据经过扫描后,直流分量附近的非零系数值较大,而高频位置上的非零系数值大部分是+1和-1;相邻的4×4块的非零系数的数目是相关的。CAVLC利用编码后残差数据的这些特性,通过自适应对不同码表的选择,利用较少的编码数据对残差数据进行无损的熵编码,进一步减少了编码数据的冗余和相关性,提高了H.264的压缩效率。
CABAC编码的目的是从概率的角度再做一次压缩,由于H.264标准将一个图像切片可能出现的数据划分为399个上下文模型,每个模型均有自己的上下文序号,每个不同的字符依据对应的上下文模型,来索引自身的概率查找表。即收到字符后,先找到字符对应的上下文模型的序号,然后根据字符对应的上下文模型的序号确定其对应的概率查找表,再然后,通过上下文建模找到的概率模型的概率估计方法构成了一个自适应二进制算术编码器。概率估计是在前一次上下文建模阶段更新后的概率估计。在对每个二进制数值编码过后,概率估计的值相应的也会根据刚刚编码的二进制符号进行调整,二进制算术编码是算术编码的特殊情况,其原理与一般算术编码一样,不同的是,二进制算术编码序列只有“0”和“1”两种符号,所涉及的概率也只有P(0)和P(1)。经过上述的步骤,完成CABAC编码的过程,
具体的,服务器将编码的二进制字节流通过网络传输到用户的终端设备,终端设备获取到二进制字节流,然后将其进行解码,例如,服务器可以采用 H.264编码格式对视频图像进行压缩,当接收到服务器发送的压缩后的视频内容,需要对压缩后的视频内容进行解压缩,也称解码,就视频图像编码和解码而言,编码器将多张图像进行编码后生产成一段一段的GOP,解码器在播放时则是读取一段一段的GOP进行解码后读取画面再渲染显示。由于GOP是一组连续的画面,由一个关键帧和多个参考帧组成,其中,在一组中只有一个关键帧,关键帧是一个完整的画面,前向预测帧和双向预测帧记录的是相对于关键帧的变化,因此,关键帧可以独立解码,而前向预测帧需要依赖前一帧图像进行解码,双向预测帧不仅需要依赖前一帧图像,还需要依赖下一帧图像才能进行解码,即,当需要播放视频时,首先需要定位出一帧关键帧的位置,才能实现视频的播放,因此,为了保证图像渲染的完整性,在对图像组进行图像解码时,需要检测每个图像组的关键帧的完整性,即,检测关键帧数据是否异常。
对于图像渲染而言,最重要的是在图像数据中找到关键帧,并对找到的关键帧进行解码,以实现对云应用的应用图像的渲染,如何提取关键帧的信息对于图像渲染的任务都是至关重要,提取关键帧的方法可以为基于运动分析的方法。
在基于运动分析的方法中,主要是分析物体运动的光流,其中,光流是依据视频帧与帧之间的各像素相关性而计算得到的。输入时序相邻的两帧S帧和 W帧,光流计算帧上每个像素点的移位,使得移位过后,各像素点的位置在下一时刻和W帧一致,每次选择图像中光流移动次数最少的视频帧作为提取到的关键帧;在本申请中不限制提取关键帧的方法,具体根据实际情况进行选择。
故,在对关键帧数据进行解码时,可以检测关键帧数据是否由于网络不佳情况或延迟较大而缺失,造成后续无法渲染应用图像,当检测到关键帧数据异常时,则执行步骤103。
103、将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据。
例如,具体的,当网络出现抖动导致某些关键帧数据丢失时,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,随后,执行步骤104。
104、当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据。
例如,具体的,若目标云应用终端(即本地)中包含目标关键帧数据对应的备用关键帧数据,则提取目标关键帧数据对应的数据标签,然后,从目标云应用终端中调用数据标签对应的备用关键帧数据。
需要说明的是,备用关键帧是由本地预先从服务器中获取的关键帧,该备用关键帧所对应的图像元素是服务器或运维人员预先设定的,比如,备用关键帧所对应的图像元素是静态的图像元素,如房屋、桌椅以及围墙等图像元素,即,服务器可以采集多个候选视频的候选视频数据,然后,服务器识别每个候选图像组中静态图像元素对应的关键帧,得到备用关键帧,终端可以从服务器下载目标云引用对应的备用关键帧数据。需要说明的是,在云游戏中,对于动态的图像元素如跑动的人物,由于涉及到大量画面匹配和数值计算等,需要服务器和客户端实时交互和回传数据;而对于静态的图像元素如地图以及房间等画面,其在云游戏中的位置通常都是固定的,因此,不需要服务器和客户端实时交互和回传数据,为了避免恢复后的图像组与原本的图像组之间存在误差 (即恢复的图像元素与实际的图像元素不一致),在本申请中,将静态的图像元素确定为目标图像元素。
105、基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像。
例如,具体的,可以基于调用的备用关键帧数据渲染目标云应用的应用图像,比如,在网络情况不佳或者延迟较大的情况下,将调用的备用关键帧数据对图像数据中异常的关键帧数据进行替换,以渲染目标云应用的应用图像,即,可选的,在一些实施例中,步骤“基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像”,具体可以包括:
(31)利用调用的备用关键帧数据对图像数据中异常的关键帧数据进行替换,得到替换后图像数据;
(32)基于替换后图像数据渲染目标云应用的应用图像。
在云手机中,若云手机的应用图像为云手机的开机界面,则可以基于替换后图像数据渲染云手机的开机界面,比如,对备用关键帧数据进行解码,得到备用应用画面,然后,利用备用应用画面恢复应用画面中目标图像元素,以渲染目标云应用的应用图像,即,可选的,在一些实施例中,步骤“基于替换后图像数据渲染目标云应用的应用图像”,具体可以包括:
(41)确定替换后图像数据中当前解码的关键帧数据,得到当前关键帧数据;
(42)若当前关键帧数据为备用关键帧数据,则对备用关键帧数据进行解码,得到备用关键帧数据对应的备用应用画面;
(43)利用备用应用画面恢复应用画面中目标图像元素,以渲染目标云应用的应用图像。
可以理解的是,由于备用应用画面是由备用关键帧解码得到的,因此,备用应用画面为仅包含目标图像元素的应用画面。然而,在云游戏中,云游戏的游戏图像包含静态图像(如房屋、花草以及防御塔)和动态图像(如游戏人物、游戏车辆以及游戏机关等),由于云游戏终端无法预测动态图像的变化,比如,玩家所操控的游戏人物,故,在一些实施例中,将静态图像元素确定为目标图像元素,即,在对图像数据中异常的关键帧数据进行替换,得到替换后图像数据后,确定需要从服务器获取的非目标图像元素,比如,从服务器获取游戏图像中动态图像元素如玩家控制的游戏人物或玩家控制的游戏载具,然后,基于获取的非目标图像元素以及备用应用画面的目标图像元素渲染目标云引用的应用图像,也即,可选的,在一些实施例中,步骤“利用备用应用画面恢复应用画面中目标图像元素,以渲染目标云应用的应用图像”,具体可以包括:
(51)确定需要加载的非目标图像元素;
(52)根据当前的网络强度值,从目标云应用中获取非目标图像元素;
(53)基于获取的非目标图像元素以及备用应用画面中目标图像元素,渲染所述目标云应用的应用图像。
在本实施例中,由于需要从目标云应用中获取非目标图像元素,因此,需要考虑到获取非目标图像元素时的网络强度值,在不同环境下(即网络强度值不同)对应不同的元素获取策略,即,可选的,在一些实施例中,步骤“根据当前的网络强度值,从目标云应用中获取非目标图像元素”,具体可以包括:
(61)检测当前的网络强度值;
(62)当网络强度值大于或者等于预设值时,则将元素获取策略确定为第一获取策略,并基于第一获取策略从目标云应用中获取非目标图像元素;
(63)当所述网络强度值小于预设值时,则将元素获取策略确定为第二获取策略,并基于所述第二获取策略从目标云应用中获取非目标图像元素。
例如,具体的,当网络强度值大于等于预设值时,则获取与第一获取策略对应图像分辨率的非目标图像元素;同理,当网络强度值小于预设值时,则获取与第二获取策略对应图像分辨率的非目标图像元素,即,可选的,步骤“基于第一获取策略从目标云应用中获取非目标图像元素”,具体为:确定目标图像元素的图像分辨率,得到第一图像分辨率,从目标云应用中获取图像分辨率为第一图像分辨率的非目标图像元素。步骤“基于第二获取策略从目标云应用中获取非目标图像元素”,具体为:确定与第二获取策略对应的图像分辨率,得到第二图像分辨率,从目标云应用获取图像分辨率为第二图像分辨率的非目标图像元素。
其中,图像分辨率指图像中存储的信息量,是每英寸图像内有多少个像素点,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸,图像分辨率的表达方式也为“水平像素数×垂直像素数”,其中,预先获取的备用图像元素的图像分辨率可以是高分辨率的图像元素,也可以是和应用图像的图像分辨率相同,比如,待播放视频的图像分辨率可以是720*576,预先获取的备用图像元素的图像分辨率可以是1920*1080,也可以是720*576,具体可以实际情况进行选择,在此不再赘述。
预设值可以根据实际需求进行设定,比如,可以根据目标图像元素所占的内存设定预设值,对于网络强度值大于等于预设值的情况,可以从服务器获取分辨率与备用图像的分辨率相同的非目标图像元素,由于备用图像元素由本地解码生成的,不需要占用网络资源,因此,为了提升图像渲染的画质,可以从服务器中下载图像分辨率较高的非目标图像元素。
而对于网络强度值小于预设值的情况,可以根据第二获取策略获取分辨率低于备用图像的分辨率相同的非目标图像元素,第二获取策略可以预先设定在网络强度小于预设值的情况下,从服务器中下载非目标图像元素的图像分辨率,且为了提高图像渲染的流畅度,第二图像分辨率小于备用图像元素的图像分辨率。
图像渲染的演示取决于网络通信延迟,在本申请中,当网络通信质量较差时,可以调用与目标关键帧数据对应的备用关键帧数据,并根据调用的备用关键帧数据恢复应用图像。
本申请在接收目标云应用待解码的图像数据后,在对图像数据进行图像解码时,检测关键帧数据是否异常,然后,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,最后,基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像,本申请提供的图像渲染方法,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,在网络情况不佳或者延迟较大的情况下,可以基于图像数据以及调用的备用关键帧数据,渲染云游戏的游戏图像,避免出现由于关键帧数据的丢失而导致运行云应用时应用图像出现卡顿的现象。
根据实施例所述的方法,以下将举例进一步详细说明。
在本实施例中将以该图像渲染装置具体集成在终端中为例进行说明。
请参阅图2a,一种图像渲染方法,具体流程可以如下:
201、终端接收目标云应用待解码的图像数据。
其中,图像数据至少包括关键帧数据,具体的,终端可以通过有线网络或无线网络从服务器获取待播放视频的视频数据,视频数据的格式可以是AVC (Advanced VideoCoding,即H.264编码标准),也可以是HEVC(High Efficiency Video Coding,即H.265编码标准)。
另外,终端在用户第一次启动或者安装目标云应用时,可以下载目标云应用对应的备用关键帧数据,当然,终端也可以在安装目标云应用后,在网络情况良好时下载目标云引用对应的备用关键帧。
需要说明的是,备用关键帧是由本地预先从服务器中获取的关键帧,该备用关键帧所对应的图像元素是由服务器或运维人员预先设定的,比如,备用关键帧所对应的图像元素是静态的图像元素,如房屋、桌椅以及围墙等图像元素,即,服务器可以采集多个候选视频的候选视频数据,然后,服务器识别每个候选图像组中静态图像元素对应的关键帧,得到备用关键帧,终端可以从服务器下载目标云引用对应的备用关键帧数据。
202、终端在对图像数据进行图像解码时,检测关键帧数据是否异常。
为了便于视频内容的存储和传输,通常需要减少视频内容的体积,也就是需要将原始的视频图像经过压缩,压缩算法也简称编码格式。例如,服务器将编码的二进制字节流通过网络传输到用户的终端设备,终端设备获取到二进制字节流,然后将其进行解码,终端在对关键帧数据进行解码时,可以检测关键帧数据是否由于网络不佳情况或延迟较大而缺失,当检测到关键帧数据异常时,则执行步骤203。
203、终端将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据。
例如,具体的,网络出现抖动导致某些关键帧数据丢失时,终端将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,随后,执行步骤204。
204、终端当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据。
例如,具体的,若目标云应用终端(即本地)中包含目标关键帧数据对应的备用关键帧数据,终端则从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据。
205、终端基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像。
例如,具体的,终端可以基于调用的备用关键帧数据渲染目标云应用的应用图像,比如,终端在网络情况不佳或者延迟较大的情况下,将调用的备用关键帧数据对图像数据中异常的关键帧数据进行替换,以渲染目标云应用的应用图像。
进一步的,终端在对图像数据中异常的关键帧数据进行替换,得到替换后图像数据后,终端确定需要从服务器获取的非目标图像元素,然后,终端基于获取的非目标图像元素以及备用应用画面的目标图像元素渲染目标云引用的应用图像,
本申请的终端在接收目标云应用待解码的图像数据后,终端在对图像数据进行图像解码时,检测关键帧数据是否异常,然后,终端将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,终端当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,最后,终端基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像,本申请提供的终端当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,终端从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,终端在网络情况不佳或者延迟较大的情况下,可以基于图像数据以及调用的备用关键帧数据,渲染云游戏的游戏图像,避免出现由于关键帧数据的丢失而导致运行云应用时应用图像出现卡顿的现象。
为了便于进一步理解本申请的图像渲染方案,本申请提供一种图像渲染***(以下简称播放***),以云游戏为例进行说明,云游戏(Cloud gaming) 又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术,请参阅图2b,云游戏在服务器进行所有的画质渲染工作,编解码成对应的流媒体数据。此时需要在编解码时抽取出游戏全部静态资源的关键帧数据,比如地图、围墙、房间、桥梁以及树木等,对于要预设哪些关键帧数据,根据不同的游戏不同的场景教进行选取。需要后台开发者在编解码游戏时拆离出游戏关键帧数据,并将抽取的关键帧数据存储在服务器中,以后每个云游戏客户端都可以通过网络请求获取到本地。云游戏应用在启动时通过接口请求从服务器获取预先处理好的游戏关键帧数据,把获取的关键帧数据存储在本地的缓存或者磁盘文件中。
比如,请参阅图2c,该云游戏画面中包括第一游戏控件221、第二游戏控件222、第三游戏控件223、游戏人物224以及房屋225,房屋225在游戏中的位置是固定的,因此,后台开发者在编解码游戏时抽取多人在线射击游戏中房屋对应的关键帧数据,用户在下载多人在线射击游戏的客户端时,可以一并下载房屋对应的关键帧数据,在后续用户启动云游戏客户端时,可以从本地加载房屋对应的关键帧数据。
进一步的,当启动云游戏时,终端和服务器建立链接,保持长链接通信状态,获取到服务器渲染好的流媒体数据,此刻,本地的编解码器获取到服务器端的流数据,通过编解码算法进行解码处理,解析数据成一组一组的GOP数据,里面包含了I/P/B帧数据,这些帧数据会通过帧缓冲区进行渲染,以GOP中的I 帧为关键帧,P/B帧参考I帧数据渲染成一帧一帧的图片数据,播放器此刻通过帧缓冲区的数据同步的进行播放,从而达到媒体数据播放的效果,当网络或其他原因导致流媒体数据的关键帧数据丢失,本地的解码器无法进行正常解码时,即GOP的数据不正常。其中关键帧丢失,P/B帧无法参考I帧数据在帧缓冲区渲染成一帧一帧的图片数据,此时检测到关键帧数据异常。此刻就需要检测本地缓存中是否有预设的关键帧数据,如果没有就解码失败,播放器无法同步数据而引起花屏。但是当本地缓存中之前预设的有关键帧数据时,可以从本地缓存中取出预设的关键帧数据,配合当前的帧缓冲区的数据进行重新开始渲染,达到正常画质的效果,从而播放器可以同步数据图片进行流程播放。
需要说明的是,在用户第一次启动或者安装应用时或者网络情况良好时,在本地预设或者下载好相关地图和场景的关键帧数据(即目标图像元素对应的关键帧数据)。当网络抖动导致云游戏中一些画质关键帧丢失,无法通过I/P/B 帧配合进行编解码时,可以利用本地预设好的关键帧数据进行补偿。
又比如,以云游戏直播的场景为例,请参阅图2d,该云游戏直播***包括主播端a、观众端b以及直播服务器c,本申请提供的图像渲染装置可以集成在主播端a和/或观众端b中,为了便于描述,以下以图像渲染装置可以集成在主播端a中为例进行具体说明。
具体的,主播端a根据直播用户向直播服务器c发送请求以开始游戏和直播,直播服务器c根据主播端a的请求,确定和渲染游戏画面,并下发渲染后的游戏画面。主播端a将直播用户对云游戏的操作翻译成操作指令上传给直播服务器c,同时上传录得的客户端的音频数据。直播服务器c同时还记录该直播用户操作云游戏运行过程的视频,将该视频和从该主播端a收到的音频合成得到音视频,并将该音视频发送给直播服务器c。直播服务器c收到后将该音视频发送给直播平台上的观众端b,以供该直播平台的观众端b能同时播放及观看该音视频。
其中,主播端a在直播时,观众端b可以向直播端a发送礼物,实现观众与直播之间的互动,直播端a当接收到观众端b发送的礼物时,可以显示接收的礼物对应的图像,直播端a接收直播服务器c下发的包含道具对应的图像数据,直播端a在对图像数据进行解码时,检测所述关键帧数据是否异常,直播端a将异常的关键帧数据确定为目标关键帧数据,并检测直播端a是否包含目标关键帧数据对应的备用关键帧数据,在本申请中,直播端a可以预先下载道具所对应的关键帧数据、以及云游戏中游戏建筑对应的关键帧数据,当主播端a网络出现抖动时,直播端a可以根据备用关键帧数据渲染云游戏的游戏图像以及直播该云游戏时道具对应的道具图像。
为便于更好的实施本申请的图像渲染方法,本申请还提供一种基于上述图像渲染装置(简称渲染装置)。其中名词的含义与上述图像渲染方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3a,图3a为本申请提供的图像渲染装置的结构示意图,其中该渲染装置可以包括接收模块301、检测模块302、确定模块303、调用模块304以及渲染模块305,具体可以如下:
接收模块301,用于接收目标云应用待解码的图像数据。
其中,图像数据至少包括关键帧数据,具体的,接收模块301可以通过有线网络或无线网络从服务器获取待播放视频的视频数据,视频数据的格式可以是AVC(AdvancedVideo Coding,即H.264编码标准),也可以是HEVC(High Efficiency Video Coding,即H.265编码标准)
可选的,在一些实施例中,请参阅图3b,渲染装置具体还可以包括下载模块306,下载模块306具体可以用于:下载目标云应用对应的备用关键帧数据。
检测模块302,用于在对图像数据进行解码时,检测关键帧数据是否异常。
检测模块302获取到服务器下发的二进制字节流,然后将其进行解码,检测模块302在对关键帧数据进行解码时,可以检测关键帧数据是否由于网络不佳情况或延迟较大而缺失,随后,将检测结果发送至确定模块303。
确定模块303,用于将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据。
例如,具体的,网络出现抖动导致某些关键帧数据丢失时,确定模块303 将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,随后,将检测结果发送至调用模块 304。
调用模块304,用于当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据。
例如,具体的,若目标云应用终端中包含目标关键帧数据对应的备用关键帧数据,调用模块304则从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据。
可选的,在一些实施例中,调用模块304具体用于:提取目标关键帧数据对应的数据标签,根据提取的数据标签,从目标云应用终端中调用与目标关键帧数据对应的备用关键帧数据。
渲染模块305,用于基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像。
例如,具体的,渲染模块305可以基于调用的备用关键帧数据渲染目标云应用的应用图像,比如,终端在网络情况不佳或者延迟较大的情况下,渲染模块305将调用的备用关键帧数据对图像数据中异常的关键帧数据进行替换,以渲染目标云应用的应用图像。
可选的,在一些实施例中,渲染模块305具体可以包括:
替换子模块,用于利用调用的备用关键帧数据对图像数据中异常的关键帧数据进行替换,得到替换后图像数据;
渲染子模块,用于基于替换后图像数据渲染目标云应用的应用图像。
可选的,在一些实施例中,渲染子模块具体可以包括:
确定单元,用于确定替换后图像数据中当前解码的关键帧数据,得到当前关键帧数据;
解码单元,用于若当前关键帧数据为备用关键帧数据,则对备用关键帧数据进行解码,得到备用关键帧数据对应的备用应用画面,备用应用画面为仅包含目标图像元素的应用画面;
渲染单元,用于利用备用应用画面恢复应用画面中目标图像元素,以渲染目标云应用的应用图像。
可选的,在一些实施例中,渲染单元具体可以包括:
确定子单元,用于确定需要加载的非目标图像元素;
获取子单元,用于根据当前的网络强度值,从目标云应用中获取非目标图像元素;
渲染子单元,用于基于获取的非目标图像元素以及备用应用画面中目标图像元素,渲染目标云应用的应用图像。
可选的,在一些实施例中,获取子单元具体可以包括:
网络检测单元,用于检测当前的网络强度值;
第一策略确定单元,用于当网络强度值大于等于预设值时,则将元素获取策略确定为第一获取策略,并基于第一获取策略从目标云应用中获取非目标图像元素;
第二策略确定单元,用于当网络强度值小于预设值时,则将元素获取策略确定为第二获取策略,并基于第二获取策略从目标云应用中获取非目标图像元素。
可选的,在一些实施例中,第一策略确定单元具体可以用于:确定目标图像元素的图像分辨率,得到第一图像分辨率,从目标云应用中获取图像分辨率为第一图像分辨率的非目标图像元素。
可选的,在一些实施例中,第二策略确定单元具体可以用于:确定与第二获取策略对应的图像分辨率,得到第二图像分辨率,从目标云应用获取图像分辨率为第二图像分辨率的非目标图像元。
本申请的接收模块301在接收目标云应用待解码的图像数据后,检测模块 302在对图像数据进行图像解码时,检测关键帧数据是否异常,然后,确定模块303将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,调用模块304当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,最后,渲染模块305基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像,本申请提供的渲染装置当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,渲染装置从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,渲染装置在网络情况不佳或者延迟较大的情况下,可以基于图像数据以及调用的备用关键帧数据,渲染云游戏的游戏图像,避免出现由于关键帧数据的丢失而导致运行云应用时应用图像出现卡顿的现象。
此外,本申请还提供一种电子设备,如图4所示,其示出了本申请所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器 402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理***与处理器401逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收目标云应用待解码的图像数据,在对图像数据进行解码时,检测关键帧数据是否异常,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请在接收目标云应用待解码的图像数据后,在对图像数据进行图像解码时,检测关键帧数据是否异常,然后,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,最后,基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像,本申请提供的图像渲染方法,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,在网络情况不佳或者延迟较大的情况下,可以基于图像数据以及调用的备用关键帧数据,渲染云游戏的游戏图像,避免出现由于关键帧数据的丢失而导致运行云应用时应用图像出现卡顿的现象。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请所提供的任一种图像渲染方法中的步骤。例如,该指令可以执行如下步骤:
接收目标云应用待解码的图像数据,在对图像数据进行解码时,检测关键帧数据是否异常,将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含目标关键帧数据对应的备用关键帧数据,当检测到目标云应用终端中包含目标关键帧数据对应的备用关键帧数据时,从目标云应用终端中调用目标关键帧数据对应的备用关键帧数据,基于图像数据以及调用的备用关键帧数据,渲染目标云应用的应用图像。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请所提供的任一种图像渲染方法中的步骤,因此,可以实现本申请所提供的任一种图像渲染方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请所提供的一种图像渲染方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种图像渲染方法,其特征在于,包括:
下载目标云应用对应的备用关键帧数据;
接收目标云应用待解码的图像数据,其中,所述云应用运行在服务器上,所述图像数据至少包括关键帧数据;
在对所述图像数据进行解码时,检测所述关键帧数据是否异常;
将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含所述目标关键帧数据对应的备用关键帧数据;
当检测到所述目标云应用终端中包含所述目标关键帧数据对应的备用关键帧数据时,从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据;
基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像,包括:
利用调用的备用关键帧数据对所述图像数据中异常的关键帧数据进行替换,得到替换后图像数据;
基于替换后图像数据渲染所述目标云应用的应用图像。
3.根据权利要求2所述的方法,其特征在于,所述基于替换后图像数据渲染所述目标云应用的应用图像,包括:
确定替换后图像数据中当前解码的关键帧数据,得到当前关键帧数据;
若当前关键帧数据为备用关键帧数据,则对所述备用关键帧数据进行解码,得到所述备用关键帧数据对应的备用应用画面,所述备用应用画面为仅包含目标图像元素的应用画面;
利用所述备用应用画面恢复所述应用画面中目标图像元素,以渲染所述目标云应用的应用图像。
4.根据权利要求3所述的方法,其特征在于,所述利用所述备用应用画面恢复所述应用画面中目标图像元素,以渲染所述目标云应用的应用图像,包括:
确定需要加载的非目标图像元素;
根据当前的网络强度值,从所述目标云应用中获取所述非目标图像元素;
基于所述获取的非目标图像元素以及所述备用应用画面中目标图像元素,渲染所述目标云应用的应用图像。
5.根据权利要求4所述的方法,其特征在于,所述根据当前的网络强度值,从目标云应用中获取所述非目标图像元素,包括:
检测当前的网络强度值;
当所述网络强度值大于等于预设值时,则将元素获取策略确定为第一获取策略,并基于所述第一获取策略从所述目标云应用中获取所述非目标图像元素;
当所述网络强度值小于预设值时,则将元素获取策略确定为第二获取策略,并基于所述第二获取策略从所述目标云应用中获取所述非目标图像元素。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一获取策略从所述目标云应用中获取所述非目标图像元素,包括:
确定所述目标图像元素的图像分辨率,得到第一图像分辨率;
从所述目标云应用中获取图像分辨率为第一图像分辨率的非目标图像元素。
7.根据权利要求5所述的方法,其特征在于,所述基于所述第二获取策略对所述非目标图像元素以及目标图像元素进行拼接,得到所述备用关键帧数据对应的恢复后应用画面,包括:
确定与所述第二获取策略对应的图像分辨率,得到第二图像分辨率;
从所述目标云应用获取图像分辨率为第二图像分辨率的非目标图像元素。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据,包括:
提取所述目标关键帧数据对应的数据标签;
根据提取的数据标签,从所述目标云应用终端中调用与所述目标关键帧数据对应的备用关键帧数据。
9.根据权利要求1至7任一项所述的方法,其特征在于,在接收目标云引用待解码的图像数据之前,还包括:
在预设时刻下载目标云应用对应的备用关键帧数据。
10.一种图像渲染装置,其特征在于,包括:下载模块,用于下载目标云应用对应的备用关键帧数据;
接收模块,用于接收目标云应用待解码的图像数据,所述图像数据至少包括关键帧数据;
检测模块,用于在对所述图像数据进行解码时,检测所述关键帧数据是否异常;
确定模块,用于将异常的关键帧数据确定为目标关键帧数据,并检测目标云应用终端是否包含所述目标关键帧数据对应的备用关键帧数据;
调用模块,用于当检测到所述目标云应用终端中包含所述目标关键帧数据对应的备用关键帧数据时,从所述目标云应用终端中调用所述目标关键帧数据对应的备用关键帧数据;
渲染模块,用于基于所述图像数据以及调用的备用关键帧数据,渲染所述目标云应用的应用图像。
11.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-9任一项所述图像渲染方法的步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述图像渲染方法的步骤。
CN202011308285.7A 2020-11-20 2020-11-20 图像渲染方法、装置、电子设备以及存储介质 Active CN112533059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011308285.7A CN112533059B (zh) 2020-11-20 2020-11-20 图像渲染方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011308285.7A CN112533059B (zh) 2020-11-20 2020-11-20 图像渲染方法、装置、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN112533059A CN112533059A (zh) 2021-03-19
CN112533059B true CN112533059B (zh) 2022-03-08

Family

ID=74981777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011308285.7A Active CN112533059B (zh) 2020-11-20 2020-11-20 图像渲染方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN112533059B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473957B (zh) * 2021-06-10 2023-11-14 荣耀终端有限公司 一种图像处理方法和电子设备
CN113727174A (zh) * 2021-07-14 2021-11-30 深圳市有为信息技术发展有限公司 控制车辆卫星定位***视频平台播放的方法、装置及电子设备
CN113521728A (zh) * 2021-07-23 2021-10-22 北京字节跳动网络技术有限公司 云应用的实现方法、装置、电子设备和存储介质
CN114071190B (zh) * 2021-11-16 2023-10-31 北京百度网讯科技有限公司 云应用视频流处理方法、相关装置及计算机程序产品
CN114513647B (zh) * 2022-01-04 2023-08-29 聚好看科技股份有限公司 一种三维虚拟场景中数据的传输方法及设备
CN115661145B (zh) * 2022-12-23 2023-03-21 海马云(天津)信息技术有限公司 云应用坏帧检测方法与装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2961646B1 (fr) * 2010-06-16 2012-06-08 Peugeot Citroen Automobiles Sa Dispositif et procede de controle de trames, devant etre utilisees par un organe electronique d'un reseau de communication, en fonction des types des fonctions utilisant des parametres contenus dans ces trames
FR2970174B1 (fr) * 2011-01-10 2013-07-05 Oreal Procede de coloration ou d'eclaircissement mettant en oeuvre une composition riche en corps gras comprenant un alcool a au moins 20 carbone, compositions et dispositif
CN108012161B (zh) * 2017-11-10 2021-10-01 广州华多网络科技有限公司 视频直播方法、***和终端设备
CN110225347A (zh) * 2019-06-24 2019-09-10 北京大米科技有限公司 视频数据传输方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112533059A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
TWI622288B (zh) 視訊解碼方法
US20190230362A1 (en) Method and Apparatus for Image Coding and Decoding Through Inter-Prediction
JP4996603B2 (ja) 事前符号化マクロブロックを使用するビデオゲームシステム
CN110198492B (zh) 一种视频的水印添加方法、装置、设备及存储介质
CN105262825A (zh) 基于h.265的spice云桌面传输和展现方法及***
CN111901666B (zh) 图像处理方法、装置、电子设备以及存储介质
JP2009502069A (ja) 画像ストリーミング・システム内の圧縮レベルを切り換えるシステム、方法、及び媒体
CN112073737A (zh) 在直播视频流应用中重新编码预测的图像帧
US20200296422A1 (en) Image encoding and decoding method, apparatus, and system, and storage medium
CN107079159B (zh) 基于多核***的并行视频解码的方法和设备
CN110891195B (zh) 花屏图像的生成方法、装置、设备和存储介质
US20230300346A1 (en) Supporting view direction based random access of bitsteam
CN116170582A (zh) 一种视频数据处理方法、装置、计算机设备以及存储介质
CN110401835B (zh) 图像处理方法及装置
KR20060016947A (ko) Mpeg 비디오 부호화 시스템 및 부호화 방법
US20240244229A1 (en) Systems and methods for predictive coding
CN114640849B (zh) 直播视频编码方法、装置、计算机设备及可读存储介质
CN117354524B (zh) 编码器编码性能测试方法、装置、设备及计算机介质
CN113038277B (zh) 一种视频处理方法和装置
CN116980619A (zh) 视频处理方法、装置、设备及存储介质
CN116761002A (zh) 视频编码方法、虚拟现实直播方法、装置、设备及介质
WO2023059689A1 (en) Systems and methods for predictive coding
CN114697666A (zh) 屏幕编码方法、屏幕解码方法及相关装置
KR20150006465A (ko) 비디오 스트림들의 비용-효율적이고 저-레이턴시 인코딩을 가능하게 하기 위한 메커니즘

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40041037

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant