掌桥专利:专业的专利平台
掌桥专利
首页

视频编解码方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:53


视频编解码方法、装置、设备及存储介质

技术领域

本申请涉及云端渲染技术领域,尤其涉及一种视频编解码方法、装置、设备及存储介质。

背景技术

云端渲染流程通常是:云服务器读取模型文件,并根据用户所指定的渲染视角渲染出对应的渲染图像,从而通过视频编码的方式生成对应渲染图像的压缩视频流,进而通过网络将视频流传输至用户终端;用户终端解码视频流以为用户呈现渲染的结果。

在现有的云端渲染框架中,渲染和视频编码是独立的过程,如前述所示,渲染是根据用户所执行的视角到对应的渲染图像的转换,而视频编码则对渲染图像的编码。视频编解码主要利用视频图像中存在空间冗余、时间冗余等,利用预测、变换等技术去除相关冗余,达到压缩数据量的效果。

由此可见,在云端渲染流程中,视频的编解码是用户能否看到云端渲染结果的重要环节。若编码后视频流的大小会直接影响网络传输的速度,进而影响用户看到渲染画面的帧率及质量。

发明内容

本申请提供了一种视频编解码方法、装置、设备及存储介质,解决了云端渲染流程中视频流较大的影响的问题,本方案能够对云渲染过程进行优化,降低编码码流的数据量,节省了带宽流量,有效地提升用户看到渲染画面的帧率及质量。

第一方面,本申请提供一种视频编解码方法,应用于云端渲染系统中的云服务器,云端渲染系统包括云服务器和终端,云服务器和终端通信连接且均设置有相同的模型图像库和图像生成模型,该方法包括:

响应于根据终端发送的渲染请求所确定的渲染向量,确定模型图像库内是否存储有对应渲染向量的渲染图像,模型图像库通过索引记录所存储的采样向量以及采样向量对应的图像;

在模型图像库内存储有渲染图像的情况下,在向终端输出的编码码流的图像标志位中添加第一目标标识并添加渲染向量对应的索引值,以供终端确定渲染图像的来源并从中获取渲染图像;

在模型图像库内未存储有渲染图像的情况下,基于目标向量、目标向量对应的目标图像以及渲染向量,获取图像生成模型输出的生成图像,目标向量为模型图像库内与渲染向量之间向量距离最小且大于预设阈值的向量;

对比生成图像和云端渲染图像,以确定生成图像和云端渲染图像的差异值,云端渲染图像为基于模型文件和预设的渲染算法所生成的对应渲染向量的图像;

在差异值小于预设差异阈值的情况下,在向终端输出的编码码流的图像标志位中添加第二目标标识以及在编码码流中添加目标向量对应的索引值和渲染向量,以供终端确定渲染图像的来源,并从中获取渲染图像;

在差异值大于或等于预设差异阈值的情况下,对云端渲染图像进行编码以传输至终端。

第二方面,本申请还提供了一种视频编解码方法,应用于云端渲染系统中的终端,云端渲染系统包括云服务器和终端,云服务器和终端通信连接且均设置有相同的模型图像库和图像生成模型,该方法包括:

根据对应用户操作的输入设备参数,生成渲染请求,并向云服务器发送渲染请求,以供云服务器确定渲染向量;

接收云服务器发送的编码码流,并对编码码流进行解码;

根据对编码码流的解码结果,确定编码码流的图像标志位上添加的目标标识以及对应的索引值;

基于目标标识和索引值,确定对应渲染请求的渲染图像。

第三方面,本申请还提供了一种视频编解码装置,应用于云端渲染系统中的云服务器,云端渲染系统包括云服务器和终端,云服务器和终端通信连接且均设置有相同的模型图像库和图像生成模型,该装置包括:

请求响应模块,配置为响应于根据终端发送的渲染请求所确定的渲染向量,确定模型图像库内是否存储有对应渲染向量的渲染图像,模型图像库通过索引记录所存储的采样向量以及采样向量对应的图像;

第一编码输出模块,配置为在模型图像库内存储有渲染图像的情况下,在向终端输出的编码码流的图像标志位中添加第一目标标识并添加渲染向量对应的索引值,以供终端确定渲染图像的来源并从中获取渲染图像;

图像输出模块,配置为在模型图像库内未存储有渲染图像的情况下,基于目标向量、目标向量对应的目标图像以及渲染向量,获取图像生成模型输出的生成图像,目标向量为模型图像库内与渲染向量之间向量距离最小且大于预设阈值的向量;

图像对比模块,配置为对比生成图像和云端渲染图像,以确定生成图像和云端渲染图像的差异值,云端渲染图像为基于模型文件和预设的渲染算法所生成的对应渲染向量的图像;

第二编码输出模块,配置为在差异值小于预设差异阈值的情况下,在向终端输出的编码码流的图像标志位中添加第二目标标识以及在编码码流中添加目标向量对应的索引值和渲染向量,以供终端确定渲染图像的来源,并从中获取渲染图像;

第三编码输出模块,配置为在差异值大于或等于预设差异阈值的情况下,对云端渲染图像进行编码以传输至终端。

第四方面,本申请还提供了一种视频编解码装置,应用于云端渲染系统中的终端,云端渲染系统包括云服务器和终端,云服务器和终端通信连接且均设置有相同的模型图像库和图像生成模型,该装置包括:

请求发送模块,配置为根据对应用户操作的输入设备参数,生成携带有对应于渲染视角的渲染向量的渲染请求,并向云服务器发送渲染请求,以供云服务器确定渲染向量;

码流接收模块,配置为接收云服务器发送的编码码流,并对编码码流进行解码;

码流解析模块,配置为根据对编码码流的解码结果,确定编码码流的图像标志位上添加的目标标识以及对应的索引值;

图像确定模块,配置为基于目标标识和索引值,确定对应渲染请求的渲染图像。

第五方面,本申请还提供了一种电子设备,其包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的视频编解码方法。

第六方面,本申请还提供了一种存储计算机可执行指令的存储介质,计算机可执行指令在由处理器执行时用于执行如上述的视频编解码方法。

本申请方案在云服务器和终端上均配置有相同的模型图像库和图像生成模型,方案通过对渲染向量的判断以在云服务器上确定可以获取渲染图像的来源,从而优先选择模型图像库或图像生成模型作为渲染图像的来源,以在编码码流中编码数据量小的标识以及向量等数据,而非编码数据量更大的图像数据,进而能够实现降低编码码流的数据量大小的作用,在带宽有限的情况下,方案能够以数据量更小的编码码流传输更多的渲染结果,节省了带宽流量的同时,还能有效地提升用户看到渲染画面的帧率及质量。

附图说明

图1为本申请一实施例提供的视频编解码方法的步骤示意图;

图2为本申请一实施例提供的视频编解码方法的步骤示意图;

图3为本申请一实施例提供的云端渲染系统进行云端渲染的示意图;

图4为本申请一实施例提供的获取生成图像的步骤示意图;

图5为本申请一实施例提供的视频编解码装置的结构示意图;

图6为本申请一实施例提供的视频编解码装置的结构示意图;

图7为本申请一实施例提供的电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。在本申请的描述中,“多个”表示两个及以上,“若干”表示一个及以上。

在传统的云端渲染过程中,云服务器在确定用户通过终端所指定的渲染视角后,云服务器读取模型文件,根据终端用户指定的渲染视角,渲染出对应的图像(即渲染图像);云服务器通过视频编码的方式对渲染图像编码以生成压缩视频流,视频流则通过网络传输至终端;用户通过终端将视频流解码并显示以看到渲染图像。

可以理解的是,在模型的场景环境光固定的情况下,渲染可以看作以模型为基础,从而一个视角参数到渲染图像的一个映射;在世界坐标系上,一个视角参数包括位置(position)、方向(direction)、右(right)和上(up)这四个参数。此外,而三维模型的场景变成观测到的二维图像的过程称作投影,按照投影类型划分,投影可分为透视投影(Perspective Projection)与正交投影(Orthographic Projection),可以想到的是,在渲染的过程中同样也需要设置投影类型。

因此,在环境光、模型及渲染算法确定后时,一个渲染图像对应一个渲染视角,渲染视角可以以向量的形式表示,如通过向量表示上述的投影类型以及视角参数。

本申请提供的视频编解码方法可应用在云端渲染系统的云服务器和终端,可以想到的是,云端渲染系统包括云服务器和终端,云服务器和终端通信连接,云服务器和终端均设置有相同的模型图像库和图像生成模型。

模型图像库中存储有对应各采样向量的图像,可以理解的是,模型图像库中存储的图像是云服务器根据上述的采样向量,确定的渲染视角,进而对模型文件进行渲染得到的图像;其中,采样向量对应于预设置的渲染视角,如可在前、后、左、右、上、下等六个方向上均匀地采集若干个方位并结合所设置的投影类型所确定的多个向量。因此,模型图像库的大小可根据实际需要进行调整。此外,模型图像库通过索引记录所存储的采样向量及其对应的图像,以便于后续的查找。

而图像生成模型作为通过深度神经网络训练后的模型,其可利用模型图像库中的图像作为数据集,划分对应的训练集、验证集及测试集,对神经网络进行训练,如向量V1、模型图像库中向量V1对应的图像P1以及向量V2作为输入,以向量V2对应的渲染图像P2作为标签,对图像生成模型进行训练。

云渲染的结果与摄像机拍摄后的自然图像不同,渲染图像一般为现实场景数字化的模拟,且在渲染图像展现上存在细微误差时不会像自然图像那么明显。故在资源受限,可以允许误差存在时,模型图像库中的图像及基于深度网络的图像生成模型生成的图像也可直接当作渲染之后的结果。

图1为本申请一实施例提供的视频编解码方法的步骤示意图,该方法应用于云服务器,如图所示,具体步骤如下:

步骤S110、响应于根据终端发送的渲染请求所确定的渲染向量,确定模型图像库内是否存储有对应渲染向量的渲染图像。

在接收到用户通过终端发送的渲染请求后,云服务器可从渲染请求中解析出其所携带输入设备参数,如鼠标、键盘等输入设备对应的参数,从而确定在各方位相对于当前视角的偏移量,进而确定对应的渲染向量,该渲染向量对应于一个渲染视角。云服务器在确定渲染向量后,并非直接根据渲染向量所对应的渲染视角对模型文件进行渲染,而是在模型图像库内查找是否存储有对应渲染向量的渲染图像,由于模型图像库中以索引记录所存储的采样向量及其对应的图像,因此,云服务器可通过查找索引,从而确定采样向量中是否存在渲染向量。

可以想到的是,在用户指定了多个渲染视角后,终端所发送的渲染请求中包括了一个向量序列,该向量序列包括对应上述多个渲染视角的多个向量;云服务器可以按照本申请提供的视频编解码方法对每一个向量进行处理,从而输出对应的编码码流,该编码码流为云服务器向终端发送的数据流,以使得终端接收后进行解码得到相应的若干个渲染图像。

步骤S120、在模型图像库内存储有渲染图像的情况下,在向终端输出的编码码流的图像标志位中添加第一目标标识并添加渲染向量对应的索引值,以供终端确定渲染图像的来源并从中获取渲染图像。

云服务器在编码码流中设置有一个图像标志位,该图像标志位则用于设置相应的标识,以便于终端解析并确定渲染图像的来源。因此,在模型图像库内存储有对应渲染向量的渲染图像的情况下,云服务器在图像标志位中添加第一目标标识,该第一目标标识关联于模型图像库,而且还在编码码流中添加渲染图像对应的索引值,以便于终端在解码编码码流后能够确定渲染图像可来源于模型图像库,从而从模型图像库中获取渲染图像。可以想到的是,当终端获取到编码码流中的第一目标标识后,终端可以基于渲染向量对应的索引值从而自身配置的模型图像库中查找到对应渲染向量的图像,并以此图像作为渲染图像向用户呈现。

在上述过程中,云服务器无需编码一幅渲染图像并传输至终端,而是仅仅编码图像标志位中的标识和相关的索引值,而且其所带来的数据量远小于编码一幅渲染图像所带来的数据量的,从而能够减少编码码流的数据量大小,有助于提高网络传输的速度,有效地提升用户看到渲染画面的帧率及质量。

步骤S130、在模型图像库内未存储有渲染图像的情况下,基于目标向量、目标向量对应的目标图像以及渲染向量,获取图像生成模型输出的生成图像。

目标向量为模型图像库内与渲染向量之间向量距离最小且大于预设阈值的向量,需要说明的是,向量距离可以通过欧式距离计算公式或余弦距离计算公式确定。即在模型图像库内未存储有渲染图像的情况下,云服务器会在模型图像库的采样向量中确定与渲染向量之间的向量距离最小且该向量距离大于预设阈值的向量(即目标向量),从而将目标向量、目标向量对应的目标图像以及渲染向量作为图像生成模型的输入参数,进而通过图像生成模型输出一个生成图像。

步骤S140、对比生成图像和云端渲染图像,以确定生成图像和云端渲染图像的差异值。

在确定生成图像后,云服务器还会基于模型文件和预设的渲染算法生成对应于渲染向量的云端渲染图像,从而将生成图像和云端渲染图像进行对比,例如,基于SAD(Sum ofAbsolute Difference,绝对误差和)算法或MSE(Mean Squared Error,均方误差)算法等基于灰度的图像匹配算法,确定生成图像和云端渲染图像之间的差异值。

步骤S150、在差异值小于预设差异阈值的情况下,在向终端输出的编码码流的图像标志位中添加第二目标标识以及在编码码流中添加目标向量对应的索引值和渲染向量,以供终端确定渲染图像的来源,并从中获取渲染图像。

在确定生成图像和云端渲染图像之间的差异值后,还需要对比差异值和预设差异阈值,从而云服务器根据相应的对比结果确定对应的编码策略。如在差异值小于预设差异阈值的情况下,云服务器会在编码码流的图像标志位中添加第二目标标识,该第二目标标识关联于图像生成模型。此外,云服务器还在编码码流中添加目标向量在模型图像库中的索引值需要说明的是,在一些实施例中,云服务器还可以在编码码流中添加目标向量。

因此,当终端接收到编码码流后,终端解码得到第二目标标识后,其可确定渲染图像可通过图像生成模型获取。而且终端还能获取到目标向量对应的索引值以及渲染向量,从而在自身配置的模型图像库中查找与目标向量对应的图像,进而以目标向量、目标向量对应的图像以及渲染向量作为图像生成模型的输入参数,以从图像生成模型中获取相应的渲染图像。

同样的,在上述过程中,云服务器无需编码一幅渲染图像并传输至终端,而是编码相应的标识和向量,能够减少编码码流的数据量大小,有助于提高网络传输的速度,有效地提升用户看到渲染画面的帧率及质量。

步骤S160、在差异值大于或等于预设差异阈值的情况下,对云端渲染图像进行编码以传输至终端。

而在差异值大于或等于预设差异阈值的情况下,云服务器则需要对云端渲染图像进行编码,以通过编码码流传输至终端。可以想到的是,若渲染请求中仅存在一个向量时,则对云端渲染图像进行编码;而若渲染请求中存在一个向量序列,则云服务器可以编码云端渲染图像与参考图像之间的残差信息,以减少编码码流的数据量。

由上述方案可知,云服务器和终端配置有相同的模型图像库和图像生成模型,方案通过对渲染向量的判断以在云服务器上确定可以获取渲染图像的来源,从而优先选择模型图像库或图像生成模型作为渲染图像的来源,以在编码码流中编码数据量小的标识以及向量等数据,而非编码数据量更大的图像数据,进而能够实现降低编码码流的数据量大小的作用,在带宽有限的情况下,方案能够以数据量更小的编码码流传输更多的渲染结果,节省了带宽流量的同时,还能有效地提升用户看到渲染画面的帧率及质量。

图2为本申请一实施例提供的视频编解码方法的步骤示意图,该方法应用于终端,如图2所示,该方法的具体步骤如下:

步骤S210、根据对应用户操作的输入设备参数,生成渲染请求,并向云服务器发送渲染请求,以供云服务器确定渲染向量。

步骤S220、接收云服务器发送的编码码流,并对编码码流进行解码。

步骤S230、根据对编码码流的解码结果,确定编码码流的图像标志位上添加的目标标识以及对应的索引值。

步骤S240、基于目标标识和索引值,确定对应渲染请求的渲染图像。

可以理解的是,终端中对应于用户操作的输入设备参数,如鼠标、键盘等输入设备对应的参数,从而确定在各方位相对于当前视角的偏移量,从而生成相应的渲染请求并发送至云服务器。在云服务器接收到该渲染请求后,云服务器解析该渲染请求以获取在各方位相对于当前视角的偏移量,进而获取到相应的渲染向量,并执行上述实施例提供的视频编解码方法,且云服务器还向终端输出相应编码码流。

终端可以利用自身的视频解码器对接收到的编码码流进行解码,以获取渲染向量对应的渲染图像。终端在解码编码码流后,其可确定图像标志位上的目标标识,从而基于所确定的目标标识,执行相应的解码策略,以确定对应渲染请求的渲染图像。

例如,在一些实施例中,当目标标识为第一目标标识时,终端可确定渲染图像可以从模型图像库中获取,进而基于渲染向量对应的索引值,在模型图像库中查找对应于渲染向量的渲染图像。当目标标识为第二目标标识时,终端可确定渲染图像能够通过图像生成模型获取,因此,终端通过在编码码流中获取云服务器添加的目标向量对应的索引值以及渲染向量,从而在模型模型图像库中获取对应目标向量的图像,进而向图像生成模型输入目标向量、目标向量对应的图像以及渲染向量,以通过图像生成模型获取渲染图像;而当目标标识为第三目标标识时,终端则可确定渲染图像由云服务器提供,进而根据编码码流中的编码信息恢复云端渲染图像。

由上述方案可知,终端通过解码编码码流以获取其中的目标标识,进而根据目标标识确定渲染图像的来源,以从自身配置的模型图像库、图像生成模型或者编码码流中获取渲染图像。因此,方案可以通过数据量更小的编码码流实现对视频中各帧渲染图像的压缩、传输,起到节省带宽流量、提升用户看到渲染画面的帧率及质量的作用。

图3为本申请一实施例提供的云端渲染系统进行云端渲染的示意图,如图所示,终端在通过网络向云服务器发送渲染视角后,云服务器通过对渲染视角所对应的向量进行解析,先判断是否能够在模型图像库中找到对应的渲染图像。

若能够找到对应的渲染图像,云服务器通过其上的视频编码器生成编码码流,并且在编码码流中添加第一目标标识以及渲染向量对应的索引值,而终端通过其上的视频解码器解码接收到的编码码流后,通过解码可确定在模型图像库中存在对应渲染向量的渲染图像,从而根据渲染向量对应的索引值在模型图像库中查找。

若云服务器在模型图像库中未找到对应渲染向量的渲染图像,则云服务器在模型图像库中查找目标向量以及目标向量对应的图像,从而以目标向量、目标向量对应的图像以及渲染向量作为图像生成模型的输入参数,进而得到生成图像。而且云服务器还根据渲染向量对模型文件进行渲染以得到云端渲染图像,从而通过对比生成图像和云端渲染图像来确定编码策略。

如当生成图像和云端渲染图像之间的差异值小于预设差异阈值时,云服务器可确定生成图像和云端渲染图像之间的差异较小,从而可以以生成图像作为渲染图像,进而在编码码流中添加第二目标标识和目标向量对应的索引值,以便于终端解码编码码流后从图像生成模型中获取渲染图像。

若生成图像和云端渲染图像之间的差异值大于或等于预设差异阈值,云服务器则对云端渲染图像进行编码,并通过编码码流传输至终端,以供终端通过其上的视频解码器解码该编码码流后获取到该图像。

图4为本申请一实施例提供的获取生成图像的步骤示意图,在模型图像库内未存储有对应渲染向量的渲染图像的情况下,云服务器对模型图像库内各图像对应的向量依次计算其与渲染向量的向量距离,以确定目标向量,具体步骤如下:

步骤S131、依次计算渲染向量与模型图像库内各采样向量的向量距离,以确定与渲染向量的向量距离最小的采样向量作为邻近向量。

步骤S132、若邻近向量与渲染向量的向量距离大于预设阈值,则以邻近向量作为目标向量。

步骤S133、选取目标向量、目标向量对应的目标图像以及渲染向量作为图像生成模型的输入参数,以获取图像生成模型输出的生成图像,图像生成模型用于对应输入参数生成预测的生成图像。

可以理解的是,云服务器会对模型图像库内各图像对应的采样向量与渲染向量分别进行计算,以获取对应的向量距离,如基于欧氏距离计算公式,计算各采样向量与渲染向量之间的向量距离。在完成计算后,从计算结果中选取与渲染向量的向量距离最小的采样向量作为邻近向量。

而且还对邻近向量进行比对,若邻近向量与渲染向量的向量距离大于预设阈值,则该邻近向量为目标向量,进而以目标向量、目标向量对应的目标图像以及渲染向量作为图像生成模型的输入参数,并输入图像生成模型,以使得图像生成模型输出生成图像。

云服务器可根据该生成图像与云端渲染图像的对比,从而确定能否以该生成图像呈现给用户,可以想到的是,生成图像与云端渲染图像之间的差异值满足预设条件时,云端服务器可认为该生成图像可替代云端渲染图像,从而在编码码流中编码目标向量对应的索引值而非云端渲染图像,以起到降低待编码的数据量作用,有助于提升用户看到渲染画面的帧率及质量。

在一实施例中,云服务器在确定模型图像库内未存储有对应渲染向量的渲染图像库后,云服务器可查找模型图像库中是否存在相似渲染图像,其中,相似渲染图像对应的向量与渲染向量之间的向量距离小于或等于预设阈值。

可以想到的是,云服务器可以通过渲染向量与模型图像库内各采样向量的向量距离,并将计算结果与预设阈值对比,当存在一个向量与渲染向量之间的向量距离小于或等于预设阈值时,云服务器可确定模型图像库中存在相似渲染图像,从而云服务器可以在编码码流的图像标志位中添加第一目标标识以及在编码码流中添加相似渲染图像在模型图像库中的索引值。

应当想到的是,当终端接收到携带第一目标标识以及对应相似渲染图像的索引值时,终端可确定能够在模型图像库中获取渲染图像,并按照相似渲染图像在模型图像库中的索引值查找该图像,以作为渲染图像向用户显示。

因此,云服务器还可以通过在模型图像库中查找相似渲染图像,以选取相似渲染图像作为对应渲染请求的渲染结果,从而可以在编码码流中添加对应的索引值而非图像的编码信息,有助于进一步减少编码码流的数据量。

在一实施例中,在对云端渲染图像进行编码的过程中,云服务器可以先确定是否存在已编码的参考帧图像,若存在已编码的参考帧图像,云服务器可通过编码云端渲染图像与参考帧图像之间的残差信息,并在编码码流中添加该残差信息以降低待编码的数据量,当然,云服务器还需要在编码码流中添加参考帧图像对应的图像信息。可以想到的是,若不存在已编码的参考帧图像,则云服务器直接对云端渲染图像进行编码即可。

值得注意的是,参考帧图像的来源不同,其所对应的图像信息也不同。当参考帧图像来源于模型图像库时,云端服务器会在编码码流中添加参考帧图像在模型图像库中的索引值,以便于终端解码得到相应的索引值后从模型图像库中获取参考帧图像,并结合残差信息恢复云端渲染图像。

而当参考帧图像来源于图像生成模型时,云端服务器则将目标图像在模型图像库的索引值添加至编码码流中,并且在编码码流中的图像标志位上添加第二目标标识。因此,终端在通过视频解码器解码后可确定能够从图像生成模型获取渲染图像,并且按照编码码流中解码得到的索引值在模型图像库中查找到对应的图像以及解码得到渲染图像,从而确定图像生成模型的输入参数,进而通过图像生成模型获取生成图像作为渲染图像并将其显示。

图5为本申请一实施例提供的视频编解码装置的结构示意图,该装置应用于云服务器,且其用于执行如上述实施例提供的视频编解码方法,并具备执行方法相应的功能模块和有益效果。如图所示,该装置包括请求响应模块501、第一编码输出模块502、图像输出模块503、图像对比模块504、第二编码输出模块505和第三编码输出模块506。

其中,请求响应模块501配置为响应于根据终端发送的渲染请求所确定的渲染向量,确定模型图像库内是否存储有对应渲染向量的渲染图像,模型图像库通过索引记录所存储的采样向量以及采样向量对应的图像;

第一编码输出模块502配置为在模型图像库内存储有渲染图像的情况下,在向终端输出的编码码流的图像标志位中添加第一目标标识并添加渲染向量对应的索引值,以供终端确定渲染图像的来源并从中获取渲染图像;

图像输出模块503配置为在模型图像库内未存储有渲染图像的情况下,基于目标向量、目标向量对应的目标图像以及渲染向量,获取图像生成模型输出的生成图像,目标向量为模型图像库内与渲染向量之间向量距离最小且大于预设阈值的向量;

图像对比模块504配置为对比生成图像和云端渲染图像,以确定生成图像和云端渲染图像的差异值,云端渲染图像为基于模型文件和预设的渲染算法所生成的对应渲染向量的图像;

第二编码输出模块505配置为在差异值小于预设差异阈值的情况下,在向终端输出的编码码流的图像标志位中添加第二目标标识以及在编码码流中添加目标向量对应的索引值和渲染向量,以供终端确定渲染图像的来源,并从中获取渲染图像;

第三编码输出模块506配置为在差异值大于或等于预设差异阈值的情况下,对云端渲染图像进行编码以传输至终端。

在上述实施例的基础上,图像输出模块503还配置为:

依次计算渲染向量与模型图像库内各采样向量的向量距离,以确定向量距离最小的采样向量作为邻近向量;

若邻近向量与渲染向量的向量距离大于预设阈值,则以邻近向量作为目标向量;

选取目标向量、目标向量对应的目标图像以及渲染向量作为图像生成模型的输入参数,以获取图像生成模型输出的生成图像,图像生成模型用于对应输入参数生成预测的生成图像。

在上述实施例的基础上,还包括第四编码输出模块,第四编码输出模块配置为:

在模型图像库内未存储有渲染图像的情况下,若模型图像库中存储有相似渲染图像,则在编码码流中添加第一目标标识以及相似渲染图像在模型图像库中的索引值,相似渲染图像对应的向量与渲染向量之间的向量距离小于或等于预设阈值。

在上述实施例的基础上,第三编码输出模块506还配置为:

若在对云端渲染图像进行编码前存在已编码的参考帧图像,则获取云端渲染图像与参考帧图像之间的残差信息,并在编码码流中添加残差信息以及参考帧图像对应的图像信息;

其中,当参考帧图像来源于模型图像库时,在编码码流中添加的图像信息为参考帧图像在模型图像库中的索引值;当参考帧图像来源于图像生成模型,在编码码流中添加的图像信息为目标图像在模型图像库中的索引值以及渲染向量。

图6为本申请一实施例提供的视频编解码装置的结构示意图,该装置应用于终端,且其用于执行如上述实施例提供的视频编解码方法,并具备执行方法相应的功能模块和有益效果。如图所示,该装置包括请求发送模块601、码流接收模块602、码流解析模块603和图像确定模块604。

其中,请求发送模块601配置为根据对应用户操作的输入设备参数,生成携带有对应于渲染视角的渲染向量的渲染请求,并向云服务器发送渲染请求,以供云服务器确定渲染向量;

码流接收模块602配置为接收云服务器发送的编码码流,并对编码码流进行解码;

码流解析模块603配置为根据对编码码流的解码结果,确定编码码流的图像标志位上添加的目标标识以及对应的索引值;

图像确定模块604配置为基于目标标识和索引值,确定对应渲染请求的渲染图像。

在上述实施例的基础上,图像确定模块604还配置为:

当目标标识为第一目标标识,基于渲染向量对应的索引值,在模型图像库中查找对应于渲染向量的渲染图像;

当目标标识为第二目标标识,确定编码码流中添加的目标向量对应的索引值以及渲染向量,在模型图像库中选取对应于目标向量的目标图像,并以目标向量、目标图像以及渲染向量作为图像生成模型的输入参数,以获取图像生成模型输出的生成图像作为渲染图像;

当目标标识为第三目标标识,根据编码码流中的编码信息恢复云端渲染图像。

值得注意的是,上述视频编解码装置的实施例中,各模块只是按照功能逻辑进行划分的,但并不局限于上述划分,只要能够实现相应的功能即可;另外,各模块的具体名称也只是为了便于互相区分,并不用于限制本申请的保护范围。

图7为本申请一实施例提供的电子设备的结构示意图,该设备用于执行如上述实施例提供的视频编解码方法,并具备执行方法相应的功能模块和有益效果。如图所示,其包括处理器701、存储器702、输入装置703和输出装置704。处理器701的数量可以是一个或多个,图中以一个处理器701为例;处理器701、存储器702、输入装置703和输出装置704可以通过总线或其他方式连接,图中以通过总线连接为例。存储器702作为一种计算机可读的存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的视频编解码方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的软件程序、指令以及模块,从而执行相应的各种功能应用以及数据处理,即实现上述的视频编解码方法。

存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据使用过程中所记录或创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器702可进一步包括相对于处理器701远程设置的存储器,这些远程设置的存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置703可用于向处理器701输入相应的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入;输出装置704可用于发送或显示与设备的用户设置以及功能控制有关的键信号输出。

本申请实施例还提供一种存储有计算机可执行指令的存储介质,计算机可执行指令在由处理器执行时用于执行本申请任一实施例提供的视频编解码方法中的相关操作。

计算机可读的存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

相关技术
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种数据存储方法、调度装置、系统、设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 用于环绕视图视频编解码的方法、设备、装置及存储介质
  • 视频编解码方法、装置、计算机设备以及存储介质
技术分类

06120116514104