CN114501062B - 视频渲染协同方法、装置、设备及存储介质 - Google Patents

视频渲染协同方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114501062B
CN114501062B CN202210103012.1A CN202210103012A CN114501062B CN 114501062 B CN114501062 B CN 114501062B CN 202210103012 A CN202210103012 A CN 202210103012A CN 114501062 B CN114501062 B CN 114501062B
Authority
CN
China
Prior art keywords
video rendering
image area
image
cloud server
terminal equipment
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
CN202210103012.1A
Other languages
English (en)
Other versions
CN114501062A (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 CN202210103012.1A priority Critical patent/CN114501062B/zh
Publication of CN114501062A publication Critical patent/CN114501062A/zh
Application granted granted Critical
Publication of CN114501062B publication Critical patent/CN114501062B/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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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, manipulating 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Abstract

本申请提供了一种视频渲染协同方法、装置、设备及存储介质。该方法包括:向终端设备发送视频渲染能力请求;接收终端设备的视频渲染能力响应,视频渲染能力响应包括:终端设备的视频渲染能力;根据终端设备的视频渲染能力,确定最优视频渲染协同配置,其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置。使得在有限的云服务器计算资源下,可以充分利用终端设备闲置的计算资源,从而可以为用户提供更优质的云游戏画质体验。

Description

视频渲染协同方法、装置、设备及存储介质
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种视频渲染协同方法、装置、设备及存储介质。
背景技术
随着云渲染技术的发展,云游戏已经逐渐普及成为一种重要的游戏形态。云游戏把游戏的运行、渲染等逻辑放在云服务器上,通过视频编码技术对游戏画面进行编码压缩,编码的视频流通过网络传输到终端设备,再由终端设备对视频流进行解码和播放。
云游戏这种游戏形态把传统的需要由终端设备完成的游戏运行、游戏渲染等逻辑迁移到云服务器,对终端设备的要求简化到视频解码和视频播放能力,但并未充分利用终端设备闲置的计算资源。同时,为了减少视频编码失真对游戏画质造成的影响,云服务器需要结合人眼的视觉特性,在视频编码前对游戏图像做一定的内容分析和视频前处理工作,这无疑进一步加重了云服务器的计算资源开销。因此,在有限的云服务器计算资源下,无法为用户提供更优质的云游戏画质体验。
发明内容
本申请提供一种视频渲染协同方法、装置、设备及存储介质。使得在有限的云服务器计算资源下,可以充分利用终端设备闲置的计算资源,从而可以为用户提供更优质的云游戏画质体验。
第一方面,提供了一种视频渲染协同方法,包括:向终端设备发送视频渲染能力请求;接收终端设备的视频渲染能力响应,视频渲染能力响应包括:终端设备的视频渲染能力;根据终端设备的视频渲染能力,确定最优视频渲染协同配置,其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置。
第二方面,提供了一种视频渲染协同方法,包括:从终端设备的操作系统获取终端设备的视频渲染能力;将终端设备的视频渲染能力发送给云服务器,以供云服务器根据终端设备的视频渲染能力确定最优视频渲染协同配置;其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置;接收最优视频渲染协同配置,并发送给终端设备。
第三方面,提供了一种视频渲染协同方法,包括:向客户端发送终端设备的视频渲染能力,以供对应于客户端的云服务器根据终端设备的视频渲染能力确定最优视频渲染协同配置;其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置;从客户端获取最优视频渲染协同配置,并根据最优视频渲染协同配置对目标图像帧进行渲染操作。
第四方面,提供了一种视频渲染协同装置,包括:发送模块、接收模块和确定模块,其中,发送模块,用于向终端设备发送视频渲染能力请求;接收模块,用于接收终端设备的视频渲染能力响应,视频渲染能力响应包括:终端设备的视频渲染能力;确定模块,用于根据终端设备的视频渲染能力,确定最优视频渲染协同配置,其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置。
第五方面,提供了一种视频渲染协同装置,包括:通信模块,用于:从终端设备的操作系统获取终端设备的视频渲染能力;将终端设备的视频渲染能力发送给云服务器,以供云服务器根据终端设备的视频渲染能力确定最优视频渲染协同配置;其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置;接收最优视频渲染协同配置,并发送给终端设备。
第六方面,提供了一种视频渲染协同装置,包括:通信模块和处理模块,其中,通信模块用于向客户端发送终端设备的视频渲染能力,以供对应于客户端的云服务器根据终端设备的视频渲染能力确定最优视频渲染协同配置;其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置;通信模块还用于从客户端获取最优视频渲染协同配置,处理模块用于根据最优视频渲染协同配置对目标图像帧进行渲染操作。
第七方面,提供了一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面、第三方面或其各实现方式中的方法。
第八方面,提供了一种客户端,用于执行如第二方面或其各实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面、第二方面、第三方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面、第二方面、第三方面或其各实现方式中的方法。
第十一方面,提供了一种计算机程序,计算机程序使得计算机执行如第一方面、第二方面、第三方面或其各实现方式中的方法。
通过本申请提供的技术方案,云服务器可以根据终端设备的视频渲染能力,确定最优视频渲染协同配置,例如将目标图像帧分配给云服务器或者终端设备,或者,将目标图像帧的不同图像区域分配给云服务器和终端设备。使得在有限的云服务器计算资源下,可以充分利用终端设备闲置的计算资源,从而可以为用户提供更优质的云游戏画质体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1提供了一种图像处理过程的流程图;
图2提供了另一种图像处理过程的流程图;
图3为本申请实施例提供的云游戏场景的示意图;
图4为本申请实施例提供的一种视频渲染协同方法的流程图;
图5为本申请实施例提供的另一种视频渲染协同方法的流程图;
图6为本申请实施例提供的目标图像帧的一种区域划分示意图;
图7为本申请实施例提供的目标图像帧的另一种区域划分示意图;
图8为本申请实施例提供的目标图像帧的再一种区域划分示意图;
图9为本申请实施例提供的目标图像帧的又一种区域划分示意图;
图10为本申请实施例提供的一种图像处理过程的流程图;
图11为本申请实施例提供的另一种图像处理过程的流程图;
图12为本申请实施例提供的再一种图像处理过程的流程图;
图13为本申请实施例提供的再一种视频渲染协同方法的流程图;
图14为本申请实施例提供的一种视频渲染协同装置的示意图;
图15是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本申请技术方案之前,下面将对本申请的相关知识进行说明:
图像渲染:包括对某一帧视频,如全图或者特定区域进行像素值修改,例如:图像锐化处理、图像降噪处理、图像模糊处理等,其中,图像渲染可以实现特定的图像增强效果,也可以实现图像模糊效果等,例如:图像锐化处理、图像降噪处理就可以实现特定的图像增强效果,图像模糊处理就可以实现图像模糊效果等。
需要说明的是,本申请中的图像渲染包括是云服务器在进行图像编码之前的图像处理过程,即图像前处理过程,也可以包括终端设备在进行图像解码之后的图像处理过程,即图像后处理过程。
需要说明的是,在本申请中,“渲染”也被称为“处理”,例如:图像渲染可以被称为图像处理。
下面将对本申请所要解决的技术问题和发明构思进行说明:
目前对于一些基于云场景中视频或者图像处理过程可以如下:如图1所示,云服务器生成视频,进行视频图像采集,对采集到的视频图像进行处理,对经过处理后的视频图像进行编码,得到视频图像的码流,进一步地,云服务器可以将码流发送给终端设备,终端设备对该码流进行解码,最后按照解码结果进行视频图像的展示。或者,如图2所示,云服务器生成视频,进行视频图像采集,对采集到的视频图像进行编码,得到视频图像的码流,进一步地,云服务器可以将码流发送给终端设备,终端设备对该码流进行解码,并对解码后的视频图像进行处理,如锐化处理、模糊处理、降噪处理等,最后对处理后的视频图像进行展示。
然而,在有限的云服务器计算资源下,目前的图像处理方式无法为用户提供更优质的云游戏画质体验。
为了解决上述技术问题,本申请提出可以根据终端设备的视频渲染能力,确定最优视频渲染协同配置,例如:将目标图像帧分配给云服务器或者终端设备,或者,将目标图像帧的不同图像区域分配给云服务器和终端设备。使得在有限的云服务器计算资源下,可以充分利用终端设备闲置的计算资源,从而可以为用户提供更优质的云游戏画质体验。
应理解的是,本申请技术方案可以应用于实时通信(Real-time Communications,RTC)场景,但不限于此,其中,视频会议、视频通话、远程办公、远程医疗、互动直播、云游戏等均典型的RTC技术。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云服务器中运行,并由云服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云服务器的能力即可。
示例性地,图3为本申请实施例提供的云游戏场景的示意图,如图3所示,云服务器310与玩家游戏终端320之间可以通信,云服务器310可以运行游戏,并采集游戏视频图像,对采集的视频图像进行编码,得到视频图像的码流,进一步地,云服务器可以将码流发送给终端设备,终端设备对该码流进行解码,最后按照解码结果进行视频图像的展示。
可选地,云服务器310与玩家游戏终端320之间可以通过长期演进技术(Long TermEvolution,LTE)、新空口(New Radio,NR)技术、无线保真(Wireless Fidelity,Wi-Fi)技术等实现通信,但不限于此。
在云游戏场景中,云服务器是指在云端运行游戏的服务器,并具备视频增强(编码前处理)、视频编码等功能,但不限于此。
终端设备是指一类具备丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的设备。终端设备可以是智能手机、客厅电视、平板电脑、车载终端、玩家游戏终端,如掌上游戏主机等,但不限于此。
下面将对本申请技术方案进行详细阐述:
图4为本申请实施例提供的一种视频渲染协同方法的流程图,该方法可以由云服务器和终端设备执行,例如在云游戏场景中,该云服务器可以是图3中的云服务器310,该终端设备可以是图3中的玩家游戏终端320,本申请对该视频渲染协同方法的执行主体不做限制,如图4所示,该方法包括:
S410:云服务器向终端设备发送视频渲染能力请求;
S420:云服务器接收终端设备的视频渲染能力响应,该视频渲染能力响应包括:该终端设备的视频渲染能力;
S430:云服务器根据终端设备的视频渲染能力,确定最优视频渲染协同配置。
其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置。
可选地,如图5所示,云服务器可以通过安装在终端设备的客户端向终端设备发送视频渲染能力请求,终端设备也可以通过该客户端向云服务器返回视频渲染能力响应。其中,在云游戏场景中,该客户端可以是云游戏客户端。
可选地,该客户端可以从终端设备的操作系统获取终端设备的视频渲染能力;将终端设备的视频渲染能力发送给云服务器,以供云服务器根据终端设备的视频渲染能力确定最优视频渲染协同配置,该客户端可以接收该最优视频渲染协同配置,并发送给终端设备,该终端设备可以根据最优视频渲染协同配置对目标图像帧进行渲染操作。
可选地,视频渲染能力请求用于请求获取终端设备的视频渲染能力。
可选地,视频渲染能力请求包括以下至少一项,但不限于此:协议版本号、视频分辨率、视频帧率、查询的渲染算法类型。
可选地,协议版本号指的是云服务器支持的最低协议版本,该协议可以是渲染协议。
可选地,视频分辨率,即视频尺寸可以是待渲染的视频源的分辨率,如1080p。
可选地,视频帧率可以是待渲染的视频源的帧率,如60fps。
可选地,查询的渲染算法类型可以是以下至少一项,但不限于此:锐化处理算法、降噪处理算法、模糊处理算法、视频高动态范围成像(High Dynamic Range Imaging,HDR)增强能力算法等。
可选地,不同的视频分辨率可以通过枚举定义,如表1所示:
表1
视频分辨率 枚举定义
360p 0x1
576p 0x2
720p 0x4
1080p 0x8
2k 0x10
4k 0x20
可选地,不同的视频帧率可以通过枚举定义,如表2所示:
表2
Figure BDA0003493046790000071
Figure BDA0003493046790000081
可选地,不同的渲染算法可以通过枚举定义,如表3所示:
表3
渲染算法类型 枚举定义
未定义 0
锐化处理算法 1
HDR增强能力算法 2
可选地,上述视频渲染能力请求可以是针对目标图像帧的视频渲染能力请求。
示例性地,视频渲染能力请求的代码实现可以如下:
{
"render_ability":{
"version":"1.0",
"resolution":"8",
"framerate":"8",
"type":"1,2"
}
}
关于该代码中各个数据结构的解释可参考下面的表4,本申请对此不再赘述。
可选地,当本申请技术方案应用在RTC场景时,上述目标图像帧可以是实时采集或者生成的图像帧。
可选地,该目标图像帧可以是待渲染的视频源中的当前待渲染图像帧,例如:在云游戏场景中,该目标图像帧可以是当前待渲染游戏视频图像帧。或者,上述目标图像帧可以是待渲染的视频源中的当前待渲染的局部图像区域,例如:在云游戏场景中,该目标图像帧可以是某游戏视频图像帧中游戏角色所在的图像区域。
其中,终端设备的视频渲染能力的数据结构可以如表4所示:
表4
Figure BDA0003493046790000091
Figure BDA0003493046790000101
可选地,视频渲染能力响应可以包括以下至少一项,但不限于此:对于云服务器所要查询的渲染算法类型是否查询成功的标识、终端设备支持的协议版本号、终端设备的视频渲染能力等。
可选地,若对于云服务器所要查询的渲染算法类型查询成功,则对于云服务器所要查询的渲染算法类型是否查询成功的标识可以用0表示,若对于云服务器所要查询的渲染算法类型查询失败,则对于云服务器所要查询的渲染算法类型是否查询成功的标识可以用错误码表示,如001等。
可选地,协议版本号指的是终端设备支持的最低协议版本,该协议可以是渲染协议。
可选地,终端设备的视频渲染能力包括以下至少一项,但不限于此:终端设备支持的渲染算法类型以及该渲染算法的性能。
可选地,该渲染算法的性能包括以下至少一项,但不限于此:该算法可以处理的视频尺寸、帧率以及时延。
示例性地,视频渲染能力响应的代码实现可以如下:
{
"render_ability":{
"state":"0",
"version":"1.0",
"renders":"2"
},
"render1":{
"type":"1",
"performances":"1",
"performance1":"8,8,10"
},
"render2":{
"type":"2",
"performances":"1",
"performance1":"8,8,5"
}
}
示例性地,视频渲染能力响应(只支持部分渲染能力)的代码实现可以如下:
{
"render_ability":{
"state":"0",
"version":"1.0",
"renders":"1"
},
"render1":{
"type":"2",
"performances":"1",
"performance1":"8,8,5"
}
}
示例性地,视频渲染能力响应(不支持渲染能力)的代码实现可以如下:
{
"render_ability":{
"state":"0",
"version":"1.0",
"renders":"0"
}
}
示例性地,视频渲染能力响应(协议请求失败)的代码实现可以如下:
{
"render_ability":{
"state":"-1",
"version":"0.9"
}
}
应理解的是,关于这些代码中各个数据结构的解释可参考表4,本申请对此不再赘述。
可选地,终端设备的视频渲染能力可以被划分为以下三种情况:
情况一:终端设备针对目标图像帧具备完全视频渲染能力。
情况二:终端设备针对目标图像帧具备局部视频渲染能力。
情况三:终端设备不具备视频渲染能力。
其中,终端设备不同的视频渲染能力可以通过枚举定义,如表5所示:
表5
Figure BDA0003493046790000121
Figure BDA0003493046790000131
或者,终端设备的视频渲染能力可以被划分为以下三种情况:
情况一:终端设备针对目标图像帧具备完全视频渲染能力。
情况二:终端设备的视频渲染能力满足目标图像帧中第一图像区域的渲染要求且第一图像区域的大小大于预设值。
情况三:终端设备的视频渲染能力满足目标图像帧中第二图像区域的要求且第二图像区域的大小小于或等于预设值,或者,终端设备不具备视频渲染能力。
可选地,上述预设值可以是云服务器和终端设备协商的,也可以是预定义的,还可以是云服务器指定的,又或者是终端设备指定的,再或者是由终端设备的应用层指定的,本申请对此不做限制。
可选地,上述预设值取值可以是128p或者360p等,但不限于此。
可选地,云服务器可以基于终端设备的视频渲染能力实时地进行图像区域划分,也可以在基于终端设备的视频渲染能力进行图像区域分配之前,预先对目标图像帧进行图像区域划分,本申请对此不做限制。
可选地,第一图像区域为目标图像帧的中心区域,或者,第一图像区域为目标图像帧的边缘区域。
示例性地,如图6所示,整个图像是目标图像帧,阴影部分即目标图像帧的中心区域是第一图像区域。如图7所示,整个图像是目标图像帧,阴影部分即目标图像帧的边缘区域是第一图像区域。
需要说明的是,如上所述,目标图像帧可以是待渲染的视频源中的当前待渲染的局部图像区域,基于此,第一图像区域也可以是该局部图像帧的中心区域或者边缘区域。
示例性地,如图8所示,虚线内图像区域是目标图像帧,阴影部分即目标图像帧的中心区域是第一图像区域。如图9所示,虚线内图像区域是目标图像帧,阴影部分即目标图像帧的边缘区域是第一图像区域。
可选地,针对目标图像帧中的任一图像区域,终端设备的视频渲染能力是否满足该图像区域的渲染要求指的是:终端设备具备处理该图像区域的基本能力,并且在目标图像帧所属的视频源的帧率情况下,终端设备能完成对该图像区域的渲染。
应理解的是,终端设备具备处理该图像区域的基本能力包括:终端设备具备处理该图像区域的软件能力和硬件能力。
示例性地,假设当前需要对该目标图像帧中的某一图像区域进行图像锐化处理,那么终端设备具备处理该图像区域的基本能力指的是:终端设备通过软件和硬件可以对该图像区域进行图像锐化处理。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对540p的局部图像区域进行处理,假设上述预设值取值是128p,由于540p大于128p,因此,这种情况下,可以称终端设备满足540p图像区域的渲染要求。
基于上述终端设备的视频渲染能力划分情况,目标图像帧的分配情况可以如下:
可选地,若终端设备不具备视频渲染能力,则将目标图像帧分配给云服务器,如图10所示,云服务器生成视频,进行视频图像采集,对采集到的视频图像的全部区域进行视频图像增强,对经过处理后的视频图像进行编码,得到视频图像的码流,进一步地,云服务器可以将码流发送给终端设备,终端设备对该码流进行解码,最后按照解码结果进行视频图像的展示。若终端设备针对目标图像帧具备局部视频渲染能力,则将终端设备的视频渲染能力所满足的局部图像区域分配给终端设备,将目标图像帧中除该局部图像区域之外的其余图像区域分配给云服务器,如图11所示,云服务器生成视频,进行视频图像采集,对采集到的视频图像的区域a进行视频图像增强,对经过处理后的视频图像进行编码,得到视频图像的码流,进一步地,云服务器可以将码流发送给终端设备,终端设备对该码流进行解码,对视频图像的区域b进行视频图像增强,最后进行视频图像的展示。若终端设备针对目标视频帧具备完全视频渲染能力,则将目标图像帧分配给云服务器,如图12所示,云服务器生成视频,进行视频图像采集,对采集到的视频图像进行编码,得到视频图像的码流,进一步地,云服务器可以将码流发送给终端设备,终端设备对该码流进行解码,并对解码后的视频图像的全部区域进行视频图像增强处理等,最后对处理后的视频图像进行展示。
可选地,若终端设备针对目标图像帧具备完全视频渲染能力,则将目标图像帧分配给终端设备;若终端设备的视频渲染能力满足目标图像帧中第一图像区域的渲染要求,且第一图像区域的大小大于预设值,则将第一图像区域分配给终端设备,将目标图像帧中除第一图像区域之外的其余图像区域分配给云服务器;若终端设备的视频渲染能力满足目标图像帧中第二图像区域的要求且第二图像区域的大小小于或等于预设值,或者,或者,若终端设备不具备视频渲染能力,则将目标图像帧分配给云服务器。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对1080p的图像帧进行处理,这种情况下,云服务器可以将1080p的图像帧分配给终端设备。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对540p的局部图像区域进行处理,假设上述预设值取值是128p,由于540p大于128p,这种情况下,云服务器可以将540p的局部图像区域分配给终端设备,其余图像区域分配给云服务器。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对128p的局部图像区域进行处理,但是该128p等于预设值,这种情况下,云服务器可以将1080p的图像帧分配给自己。
应理解的是,上文介绍的是将终端设备的视频渲染能力分为三种情况,实际上,也可以将终端设备的视频渲染能力分为以下两种情况:
情况一:终端设备针对目标图像帧具备完全视频渲染能力。
情况二:终端设备针对目标图像帧不具备完全视频渲染能力。
换句话讲,这里是将目标图像帧看作一个整体而言的。
基于上述终端设备的能力划分情况,目标图像帧的分配情况可以如下:若终端设备针对目标图像帧具备完全视频渲染能力,则将目标图像帧分配给终端设备;若终端设备针对目标图像帧不具备完全视频渲染能力,则将目标图像帧分配给云服务器。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对1080p的图像帧进行处理,这种情况下,云服务器可以将1080p的图像帧分配给终端设备。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对128p以下的局部图像区域进行处理,或者,终端设备在帧率为60fps的情况下,不能对任何图像区域进行处理,这种情况下,云服务器可以将1080p的图像帧分配给自己。
可选地,若确定最优视频渲染协同配置为将目标图像帧分配给终端设备的视频渲染协同配置,则向终端设备发送目标图像帧的标识和第一指示信息;其中,第一指示信息用于指示终端设备对目标图像帧进行渲染。
可选地,若确定最优视频渲染协同配置为将目标图像帧中的局部图像区域分配给终端设备以及将目标图像帧中除局部图像区域之外的图像区域分配的云服务器的视频渲染协同配置,则向终端设备发送局部图像区域的标识和第二指示信息;其中,第二指示信息用于指示终端设备对局部图像区域进行渲染。
可选地,若确定最优视频渲染协同配置为将第一图像区域分配给终端设备以及将目标图像帧中除第一图像区域之外的图像区域分配的云服务器的视频渲染协同配置,则向终端设备发送第一图像区域的标识和第三指示信息;其中,第三指示信息用于指示终端设备对第一图像区域进行渲染。
综上,本申请提供一种视频渲染协同方法,其中,云服务器可以根据终端设备的视频渲染能力,确定最优视频渲染协同配置,例如将目标图像帧分配给云服务器或者终端设备,或者,将目标图像帧的不同图像区域分配给云服务器和终端设备。使得在有限的云服务器计算资源下,可以充分利用终端设备闲置的计算资源,从而可以为用户提供更优质的云游戏画质体验。
图13为本申请实施例提供的再一种视频渲染协同方法的流程图,如图13所示,该方法包括:
S1310:向终端设备发送视频渲染能力请求;
S1320:接收终端设备的视频渲染能力响应,该视频渲染能力响应包括:该终端设备的视频渲染能力;
S1330:获取目标图像帧的不同图像区域的编码属性;
S1340:根据不同图像区域的编码属性和终端设备的视频渲染能力,确定最优视频渲染协同配置。
需要说明的是,关于图13对应实施例与图4对应实施例相同步骤的解释说明,可参考上文,本申请对此不再赘述。
应理解的是,在本实施例中,云服务器可以在基于终端设备的视频渲染能力进行图像区域分配之前,预先对目标图像帧进行图像区域划分,得到目标图像帧的不同图像区域。
应理解的是,根据不同图像区域的编码属性和终端设备的视频渲染能力,将目标图像帧分配给服务器或者终端设备,或者,根据不同图像区域的编码属性和终端设备的视频渲染能力,将目标图像帧的不同图像区域分配给服务器和终端设备。
应理解的是,通常云服务器相对于终端设备的图像处理能力要强很多,对于编码复杂度较高、编码质量要求较高又或者编码时延要求较高的图像区域,通常只能由云服务器执行,因此,本申请提供了如下可选方式来进行图像区域的分配,但不限于此:
可选地,云服务器根据不同图像区域的编码属性判断不同图像区域中是否存在需要分配给云服务器的图像区域;若不同图像区域中存在需要分配给云服务器的图像区域,则将需要分配给云服务器的图像区域分配给云服务器,并判断不同图像区域中除需要分配给云服务器的图像区域之外是否存在剩余图像区域;若不同图像区域中不存在需要分配给云服务器的图像区域,则仅根据终端设备的视频渲染能力,将目标图像帧分配给云服务器或者终端设备,或者,仅根据终端设备的视频渲染能力,将不同图像区域分配给云服务器和终端设备;若不同图像区域中存在剩余图像区域,则仅根据终端设备的视频渲染能力将剩余图像区域分配给云服务器和终端设备中的至少一者。
应理解的是,关于如何仅根据终端设备的视频渲染能力将剩余图像区域分配给云服务器和终端设备中的至少一者可参考根据终端设备的视频渲染能力将不同图像区域分配给云服务器和终端设备中的至少一者的方法,本申请对此不再赘述。
可选地,若不同图像区域中的第三图像区域的编码属性满足对应预设条件,则确定第三图像区域为需要分配给云服务器的图像区域;若不同图像区域中的第四图像区域的编码属性不满足对应预设条件,则确定第四图像区域不是需要分配给云服务器的图像区域。
可选地,编码属性为以下任一项,但不限于此:编码复杂度、编码质量、编码时延。
应理解的是,由于一个图像区域的编码复杂度、编码质量、编码时延越大,则表示该图像区域的处理难度越大,因此,这里通过这些编码属性来确定是否将图像区域分配给云服务器。
可选地,编码复杂度对应的预设条件是判断第三图像区域或第四图像区域的编码复杂度是否达到预设编码复杂度。编码质量对应的预设条件是判断第三图像处理区域或第四图像处理区域的编码质量是否达到预设编码质量。编码时延对应的预设条件是判断第三图像处理区域或第四图像处理区域的编码时延是否达到预设编码时延。
可选地,上述预设条件可以是云服务器和终端设备协商的,也可以是预定义的,还可以是云服务器指定的,又或者是终端设备指定的,再或者是由终端设备的应用层指定的,本申请对此不做限制。
可选地,上述预设编码复杂度可以是云服务器和终端设备协商的,也可以是预定义的,还可以是云服务器指定的,又或者是终端设备指定的,再或者是由终端设备的应用层指定的,本申请对此不做限制。
可选地,上述预设编码质量可以是云服务器和终端设备协商的,也可以是预定义的,还可以是云服务器指定的,又或者是终端设备指定的,再或者是由终端设备的应用层指定的,本申请对此不做限制。
可选地,上述预设编码时延可以是云服务器和终端设备协商的,也可以是预定义的,还可以是云服务器指定的,又或者是终端设备指定的,再或者是由终端设备的应用层指定的,本申请对此不做限制。
示例性地,假设针对1080p@60fps的视频源,当前需要对该视频源中的某一图像帧进行图像锐化处理,假设图像帧被划分为3个图像区域,分别是图像区域A、B和C,其中,图像区域A包括复杂的游戏人物图像,其编码复杂度大于预设编码复杂度,而图像区域B和图像区域C均是背景图像区域,其编码复杂度低于预设编码复杂度,基于此,云服务器可以将图像区域A分配给自己,进一步地,若终端设备具备图像锐化处理的基本能力,并且在帧率为60fps的情况下,终端设备采用锐化处理算法可以对图像区域B进行处理,假设该图像区域的大小大于预设值取值,因此,这种情况下,可以将图像区域B分配给终端设备。若终端设备在帧率为60fps的情况下,终端设备采用锐化处理算法无法对图像区域C进行处理这种情况下,可以将图像区域C分配给云服务器。
综上,本申请提供一种视频渲染协同方法,其中,云服务器可以根据不同图像区域的编码属性和终端设备的视频渲染能力,将目标图像帧分配给云服务器或者终端设备,或者,将目标图像帧的不同图像区域分配给云服务器和终端设备,以使云服务器和终端设备中的至少一者对目标图像帧进行处理。对于需要由云服务器处理的图像区域,可以将这些图像区域分配给云服务器,除此之外的剩余图像区域,可以根据终端设备的视频渲染能力进行图像区域分配。这种视频渲染协同方法不仅在有限的云服务器计算资源下,可以充分利用终端设备闲置的计算资源,从而可以为用户提供更优质的云游戏画质体验,还可以针对需要由云服务器处理的图像区域能够确保由云服务器执行,由于云服务器的性能更加强大,从而进一步保证了这些图像区域的画质效果。
图14为本申请实施例提供的一种视频渲染协同装置的示意图,如图14所示,该装置包括:发送模块1410、接收模块1420和确定模块1430,其中,发送模块1410用于向终端设备发送视频渲染能力请求;接收模块1420用于接收所述终端设备的视频渲染能力响应,所述视频渲染能力响应包括:所述终端设备的视频渲染能力;确定模块1430用于根据所述终端设备的视频渲染能力,确定最优视频渲染协同配置,其中,最优视频渲染协同配置为将目标图像帧分配给终端设备或云服务器的视频渲染协同配置,或者为将目标图像帧的不同图像区域分配给终端设备和云服务器的视频渲染协同配置。
可选地,确定模块1430具体用于:若终端设备针对目标图像帧具备完全视频渲染能力,则确定最优视频渲染协同配置为将目标图像帧分配给终端设备的视频渲染协同配置;若终端设备针对目标图像帧具备局部视频渲染能力,则确定最优视频渲染协同配置为将目标图像帧中的局部图像区域分配给终端设备以及将目标图像帧中除局部图像区域之外的图像区域分配给云服务器的视频渲染协同配置;若终端设备不具备视频渲染能力,则确定最优视频渲染协同配置为将目标图像帧分配给云服务器的视频渲染协同配置。
可选地,确定模块1430具体用于:若终端设备针对目标图像帧具备完全视频渲染能力,则确定最优视频渲染协同配置为将目标图像帧分配给终端设备的视频渲染协同配置;若终端设备的视频渲染能力满足目标图像帧中第一图像区域的渲染要求且第一图像区域的大小大于预设值,则确定最优视频渲染协同配置为将第一图像区域分配给终端设备以及将目标图像帧中除第一图像区域之外的图像区域分配给云服务器的视频渲染协同配置;若终端设备的视频渲染能力满足目标图像帧中第二图像区域的要求且第二图像区域的大小小于或等于预设值,或者,若终端设备不具备视频渲染能力,则确定最优视频渲染协同配置为将目标图像帧分配给云服务器的视频渲染协同配置。
可选地,第一图像区域为目标图像帧的中心区域,或者,第一图像区域为目标图像帧的边缘区域。
可选地,该装置还包括判断模块1440,用于:判断终端设备是否具备渲染任一图像区域的软硬件能力;若终端设备不具备渲染任一图像区域的软硬件能力,则确定终端设备的视频渲染能力不满足任一图像区域的渲染要求;若终端设备具备渲染任一图像区域的软硬件能力,则判断在目标图像帧所属的视频源的帧率情况下,终端设备是否能完成对任一图像区域的渲染;若在视频源的帧率情况下,终端设备不能完成对任一图像区域的渲染,则确定终端设备的视频渲染能力不满足任一图像区域的渲染要求;若在视频源的帧率情况下,终端设备能完成对任一图像区域的渲染,则确定终端设备的视频渲染能力满足任一图像区域的渲染要求。
可选地,发送模块1410还用于:若确定模块1430确定最优视频渲染协同配置为将目标图像帧分配给终端设备的视频渲染协同配置,则向终端设备发送目标图像帧的标识和第一指示信息;其中,第一指示信息用于指示终端设备对目标图像帧进行渲染。
可选地,发送模块1410还用于:若确定模块1430确定最优视频渲染协同配置为将目标图像帧中的局部图像区域分配给终端设备以及将目标图像帧中除局部图像区域之外的图像区域分配的云服务器的视频渲染协同配置,则向终端设备发送局部图像区域的标识和第二指示信息;其中,第二指示信息用于指示终端设备对局部图像区域进行渲染。
可选地,发送模块1410还用于:若确定模块1430确定最优视频渲染协同配置为将第一图像区域分配给终端设备以及将目标图像帧中除第一图像区域之外的图像区域分配的云服务器的视频渲染协同配置,则向终端设备发送第一图像区域的标识和第三指示信息;其中,第三指示信息用于指示终端设备对第一图像区域进行渲染。
可选地,该装置还包括获取模块1450,用于获取目标图像帧的不同图像区域的编码属性;相应的,确定模块1430具体用于:根据不同图像区域的编码属性和终端设备的视频渲染能力,确定最优视频渲染协同配置。
可选地,确定模块1430具体用于:根据不同图像区域的编码属性判断不同图像区域中是否存在需要分配给云服务器的图像区域;若不同图像区域中存在需要分配给云服务器的图像区域,则将需要分配给云服务器的图像区域分配给云服务器,并判断不同图像区域中除需要分配给云服务器的图像区域之外是否存在剩余图像区域;若不同图像区域中不存在需要分配给云服务器的图像区域,则根据终端设备的视频渲染能力,针对不同图像区域确定最优视频渲染协同配置备;若不同图像区域中存在剩余图像区域,则根据终端设备的视频渲染能力,针对剩余图像区域确定最优视频渲染协同配置。
可选地,确定模块1430具体用于:若不同图像区域中的第三图像区域的编码属性满足对应预设条件,则确定第三图像区域为需要分配给云服务器的图像区域;若不同图像区域中的第四图像区域的编码属性不满足对应预设条件,则确定第四图像区域不是需要分配给云服务器的图像区域。
可选地,编码属性为以下任一项:编码复杂度、编码质量、编码时延。
可选地,若编码属性为编码复杂度;则判断第三图像区域或第四图像区域的编码属性是否满足对应预设条件,包括:判断第三图像区域或第四图像区域的编码复杂度是否达到预设编码复杂度。
可选地,若编码属性为编码质量;则判断第三图像区域或第四图像区域的编码属性是否满足对应预设条件,包括:判断第三图像处理区域或第四图像处理区域的编码质量是否达到预设编码质量。
可选地,若编码属性为编码时延;则判断第三图像处理区域或第四图像处理区域的编码属性是否满足对应预设条件,包括:判断第三图像处理区域或第四图像处理区域的编码时延是否达到预设编码时延。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图14所示的装置可以执行上述方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图15是本申请实施例提供的电子设备的示意性框图。
如图15所示,该电子设备可包括:
存储器1510和处理器1520,该存储器1510用于存储计算机程序,并将该程序代码传输给该处理器1520。换言之,该处理器1520可以从存储器1510中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器1520可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器1520可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器1510包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器1510中,并由该处理器1520执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图15所示,该电子设备还可包括:
收发器1530,该收发器1530可连接至该处理器1520或存储器1510。
其中,处理器1520可以控制该收发器1530与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器1530可以包括发射机和接收机。收发器1530还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (19)

1.一种视频渲染协同方法,其特征在于,包括:
向终端设备发送视频渲染能力请求;
接收所述终端设备的视频渲染能力响应,所述视频渲染能力响应包括:所述终端设备的视频渲染能力;
获取目标图像帧的不同图像区域的编码属性;
根据所述不同图像区域的编码属性和所述终端设备的视频渲染能力,确定最优视频渲染协同配置;
其中,所述最优视频渲染协同配置为将所述目标图像帧分配给所述终端设备或云服务器的视频渲染协同配置,或者为将所述目标图像帧的不同图像区域分配给所述终端设备和所述云服务器的视频渲染协同配置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述不同图像区域的编码属性和所述终端设备的视频渲染能力,确定最优视频渲染协同配置,包括:
根据所述不同图像区域的编码属性判断所述不同图像区域中是否存在需要分配给所述云服务器的图像区域;
若所述不同图像区域中存在需要分配给所述云服务器的图像区域,则将需要分配给所述云服务器的图像区域分配给所述云服务器,并判断所述不同图像区域中除需要分配给所述云服务器的图像区域之外是否存在剩余图像区域;
若所述不同图像区域中不存在需要分配给所述云服务器的图像区域,则根据所述终端设备的视频渲染能力,针对所述不同图像区域确定最优视频渲染协同配置;
若所述不同图像区域中存在所述剩余图像区域,则根据所述终端设备的视频渲染能力,针对所述剩余图像区域确定最优视频渲染协同配置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述不同图像区域的编码属性判断所述不同图像区域中是否存在需要分配给所述云服务器的图像区域,包括:
若所述不同图像区域中的第三图像区域的编码属性满足对应预设条件,则确定所述第三图像区域为需要分配给所述云服务器的图像区域;
若所述不同图像区域中的第四图像区域的编码属性不满足对应预设条件,则确定所述第四图像区域不是需要分配给所述云服务器的图像区域。
4.根据权利要求3所述的方法,其特征在于,所述编码属性为以下任一项:编码复杂度、编码质量、编码时延。
5.根据权利要求4所述的方法,其特征在于,若所述编码属性为编码复杂度;则判断所述第三图像区域或所述第四图像区域的编码属性是否满足对应预设条件,包括:
判断所述第三图像区域或所述第四图像区域的编码复杂度是否达到预设编码复杂度。
6.根据权利要求4所述的方法,其特征在于,若编码属性为编码质量;则判断所述第三图像区域或所述第四图像区域的编码属性是否满足对应预设条件,包括:
判断所述第三图像处理区域或所述第四图像处理区域的编码质量是否达到预设编码质量。
7.根据权利要求4所述的方法,其特征在于,若所述编码属性为编码时延;则判断所述第三图像处理区域或所述第四图像处理区域的编码属性是否满足对应预设条件,包括:
判断所述第三图像处理区域或所述第四图像处理区域的编码时延是否达到预设编码时延。
8.根据权利要求2所述的方法,其特征在于,所述根据所述终端设备的视频渲染能力,针对所述剩余图像区域确定最优视频渲染协同配置,包括:
若所述终端设备针对所述剩余图像区域具备完全视频渲染能力,则确定所述最优视频渲染协同配置为将所述剩余图像区域分配给所述终端设备的视频渲染协同配置;
若所述终端设备针对所述剩余图像区域具备局部视频渲染能力,则确定所述最优视频渲染协同配置为将所述剩余图像区域中的局部图像区域分配给所述终端设备以及将所述剩余图像区域中除所述局部图像区域之外的图像区域分配给所述云服务器的视频渲染协同配置;
若所述终端设备不具备视频渲染能力,则确定所述最优视频渲染协同配置为将所述剩余图像区域分配给所述云服务器的视频渲染协同配置。
9.根据权利要求2所述的方法,其特征在于,所述根据所述终端设备的视频渲染能力,针对所述剩余图像区域确定最优视频渲染协同配置,包括:
若所述终端设备针对所述剩余图像区域具备完全视频渲染能力,则确定所述最优视频渲染协同配置为将所述剩余图像区域分配给所述终端设备的视频渲染协同配置;
若所述终端设备的视频渲染能力满足所述剩余图像区域中第一图像区域的渲染要求且所述第一图像区域的大小大于预设值,则确定所述最优视频渲染协同配置为将所述第一图像区域分配给所述终端设备以及将所述剩余图像区域中除所述第一图像区域之外的图像区域分配给所述云服务器的视频渲染协同配置;
若所述终端设备的视频渲染能力满足所述剩余图像区域中第二图像区域的要求且所述第二图像区域的大小小于或等于预设值,或者,若所述终端设备不具备视频渲染能力,则确定所述最优视频渲染协同配置为将所述剩余图像区域分配给所述云服务器的视频渲染协同配置。
10.根据权利要求9所述的方法,其特征在于,所述第一图像区域为所述剩余图像区域的中心区域,或者,所述第一图像区域为所述剩余图像区域的边缘区域。
11.根据权利要求8-10任一项所述的方法,其特征在于,判断所述终端设备的视频渲染能力是否满足所述剩余图像区域中任一图像区域的渲染要求,包括:
判断所述终端设备是否具备渲染所述任一图像区域的软硬件能力;
若所述终端设备不具备渲染所述任一图像区域的软硬件能力,则确定所述终端设备的视频渲染能力不满足所述任一图像区域的渲染要求;
若所述终端设备具备渲染所述任一图像区域的软硬件能力,则判断在目标图像帧所属的视频源的帧率情况下,所述终端设备是否能完成对所述任一图像区域的渲染;
若在所述视频源的帧率情况下,所述终端设备不能完成对所述任一图像区域的渲染,则确定所述终端设备的视频渲染能力不满足所述任一图像区域的渲染要求;
若在所述视频源的帧率情况下,所述终端设备能完成对所述任一图像区域的渲染,则确定所述终端设备的视频渲染能力满足所述任一图像区域的渲染要求。
12.根据权利要求8-10任一项所述的方法,其特征在于,还包括:
若确定所述最优视频渲染协同配置为将所述剩余图像区域分配给所述终端设备的视频渲染协同配置,则向所述终端设备发送所述剩余图像区域的标识和第一指示信息;
其中,所述第一指示信息用于指示所述终端设备对所述剩余图像区域进行渲染。
13.根据权利要求8所述的方法,其特征在于,还包括:
若确定所述最优视频渲染协同配置为将所述剩余图像区域中的局部图像区域分配给所述终端设备以及将所述目标图像帧中除所述局部图像区域之外的图像区域分配的云服务器的视频渲染协同配置,则向所述终端设备发送所述局部图像区域的标识和第二指示信息;
其中,所述第二指示信息用于指示所述终端设备对所述局部图像区域进行渲染。
14.根据权利要求9所述的方法,其特征在于,还包括:
若确定所述最优视频渲染协同配置为将所述第一图像区域分配给所述终端设备以及将所述剩余图像区域中除所述第一图像区域之外的图像区域分配的云服务器的视频渲染协同配置,则向所述终端设备发送所述第一图像区域的标识和第三指示信息;
其中,所述第三指示信息用于指示所述终端设备对所述第一图像区域进行渲染。
15.一种视频渲染协同方法,其特征在于,包括:
从终端设备的操作系统获取所述终端设备的视频渲染能力;
将所述终端设备的视频渲染能力发送给云服务器,以供所述云服务器根据目标图像帧的不同图像区域的编码属性和所述终端设备的视频渲染能力确定最优视频渲染协同配置;其中,所述最优视频渲染协同配置为将所述目标图像帧分配给所述终端设备或所述云服务器的视频渲染协同配置,或者为将所述目标图像帧的不同图像区域分配给所述终端设备和所述云服务器的视频渲染协同配置;
接收所述最优视频渲染协同配置,并发送给所述终端设备。
16.一种视频渲染协同方法,其特征在于,包括:
向客户端发送终端设备的视频渲染能力,以供对应于所述客户端的云服务器根据目标图像帧的不同图像区域的编码属性和所述终端设备的视频渲染能力确定最优视频渲染协同配置;其中,所述最优视频渲染协同配置为将所述目标图像帧分配给所述终端设备或所述云服务器的视频渲染协同配置,或者为将所述目标图像帧的不同图像区域分配给所述终端设备和所述云服务器的视频渲染协同配置;
从所述客户端获取所述最优视频渲染协同配置,并根据所述最优视频渲染协同配置对所述目标图像帧进行渲染操作。
17.一种视频渲染协同装置,其特征在于,包括:
发送模块,用于向终端设备发送视频渲染能力请求;
接收模块,用于接收所述终端设备的视频渲染能力响应,所述视频渲染能力响应包括:所述终端设备的视频渲染能力;
获取模块,用于获取目标图像帧的不同图像区域的编码属性;
确定模块,用于根据所述不同图像区域的编码属性和所述终端设备的视频渲染能力,确定最优视频渲染协同配置;
其中,所述最优视频渲染协同配置为将所述目标图像帧分配给所述终端设备或云服务器的视频渲染协同配置,或者为将所述目标图像帧的不同图像区域分配给所述终端设备和所述云服务器的视频渲染协同配置。
18.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至16中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至16中任一项所述的方法。
CN202210103012.1A 2022-01-27 2022-01-27 视频渲染协同方法、装置、设备及存储介质 Active CN114501062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210103012.1A CN114501062B (zh) 2022-01-27 2022-01-27 视频渲染协同方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210103012.1A CN114501062B (zh) 2022-01-27 2022-01-27 视频渲染协同方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114501062A CN114501062A (zh) 2022-05-13
CN114501062B true CN114501062B (zh) 2023-02-21

Family

ID=81477078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210103012.1A Active CN114501062B (zh) 2022-01-27 2022-01-27 视频渲染协同方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114501062B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024007926A1 (zh) * 2022-07-06 2024-01-11 华为技术有限公司 Xr对象渲染的方法、通信装置及系统
CN115671726B (zh) * 2022-12-29 2023-03-28 腾讯科技(深圳)有限公司 游戏数据渲染方法、装置、设备及存储介质
CN116055670B (zh) * 2023-01-17 2023-08-29 深圳图为技术有限公司 基于网络会议的协同校审三维模型的方法和网络会议系统
CN116758201B (zh) * 2023-08-16 2024-01-12 淘宝(中国)软件有限公司 三维场景的渲染处理方法、设备、系统及计算机存储介质
CN117061792B (zh) * 2023-10-12 2024-01-30 深圳云天畅想信息科技有限公司 云视频协作渲染方法、装置及计算机设备
CN117061791B (zh) * 2023-10-12 2024-01-26 深圳云天畅想信息科技有限公司 云视频帧自适应协作渲染方法、装置及计算机设备
CN117058598B (zh) * 2023-10-12 2023-12-22 深圳云天畅想信息科技有限公司 云视频帧高质量优化方法、装置及计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103700133A (zh) * 2013-12-20 2014-04-02 广东威创视讯科技股份有限公司 三维场景分布式渲染同步刷新方法和系统
CN106713889A (zh) * 2015-11-13 2017-05-24 中国电信股份有限公司 3d画面的渲染方法和系统、及移动终端
CN109173244A (zh) * 2018-08-20 2019-01-11 贵阳动视云科技有限公司 游戏运行方法及装置
CN111494936A (zh) * 2020-02-12 2020-08-07 阿里巴巴集团控股有限公司 画面渲染方法、设备、系统及存储介质
CN112614202A (zh) * 2020-12-24 2021-04-06 北京元心科技有限公司 Gui渲染显示的方法、终端、服务器、电子设备及存储介质
CN112738553A (zh) * 2020-12-18 2021-04-30 深圳市微网力合信息技术有限公司 一种基于网络通信质量的自适应云渲染系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2364190B1 (en) * 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
JP2014182793A (ja) * 2014-02-10 2014-09-29 Ricoh Co Ltd エンコーダ、映像処理サーバ、映像処理システム、エンコード方法およびそのプログラム
KR101914206B1 (ko) * 2016-09-19 2018-11-01 주식회사 씨오티커넥티드 360도 영상 기반의 클라우드 오디오 렌더링 서버
WO2019141907A1 (en) * 2018-01-22 2019-07-25 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
CN111245680B (zh) * 2020-01-10 2021-10-08 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器
CN112862941A (zh) * 2020-10-17 2021-05-28 蔡娟 基于云计算的图形渲染引擎优化方法及系统
CN113015021B (zh) * 2021-03-12 2022-04-08 腾讯科技(深圳)有限公司 云游戏的实现方法、装置、介质及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103700133A (zh) * 2013-12-20 2014-04-02 广东威创视讯科技股份有限公司 三维场景分布式渲染同步刷新方法和系统
CN106713889A (zh) * 2015-11-13 2017-05-24 中国电信股份有限公司 3d画面的渲染方法和系统、及移动终端
CN109173244A (zh) * 2018-08-20 2019-01-11 贵阳动视云科技有限公司 游戏运行方法及装置
CN111494936A (zh) * 2020-02-12 2020-08-07 阿里巴巴集团控股有限公司 画面渲染方法、设备、系统及存储介质
CN112738553A (zh) * 2020-12-18 2021-04-30 深圳市微网力合信息技术有限公司 一种基于网络通信质量的自适应云渲染系统及方法
CN112614202A (zh) * 2020-12-24 2021-04-06 北京元心科技有限公司 Gui渲染显示的方法、终端、服务器、电子设备及存储介质

Also Published As

Publication number Publication date
CN114501062A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114501062B (zh) 视频渲染协同方法、装置、设备及存储介质
CN111681167B (zh) 画质调整方法和装置、存储介质及电子设备
US10924783B2 (en) Video coding method, system and server
CN112087633B (zh) 视频解码方法、装置及存储介质
US20210360047A1 (en) Video coding method and video decoding method
US20160029079A1 (en) Method and Device for Playing and Processing a Video Based on a Virtual Desktop
CN109309842B (zh) 直播数据处理方法和装置、计算机设备和存储介质
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
CN111314741A (zh) 视频超分处理方法、装置、电子设备及存储介质
CN111614967B (zh) 虚拟形象直播方法、装置、电子设备及存储介质
CN112843676B (zh) 数据处理方法、装置、终端、服务器及存储介质
CN112839184B (zh) 图像处理方法、装置、电子设备及存储介质
US20210316213A1 (en) Apparatus and method for providing streaming video by application program
US9798507B2 (en) Display device and control method
CN113766270A (zh) 视频播放方法、系统、服务器、终端设备、以及电子设备
US20240098316A1 (en) Video encoding method and apparatus, real-time communication method and apparatus, device, and storage medium
CN116567346A (zh) 视频处理方法、装置、存储介质及计算机设备
CN104010204B (zh) 图像信息处理方法及装置
US20210233572A1 (en) Video processing method, electronic device, and storage medium
CN114339412A (zh) 视频质量增强方法、移动终端、存储介质及装置
CN114205359A (zh) 视频渲染协同方法、装置及设备
US20230018087A1 (en) Data coding method and apparatus, and computer-readable storage medium
WO2011135554A1 (en) Method and apparatus for allocating content components to different hardware interfaces
WO2023142714A1 (zh) 视频处理协同方法、装置、设备及存储介质
US20170070792A1 (en) Selective communication of a vector graphics format version of a video content item

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: 40071909

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant