视频数据的编解码方法和装置、存储介质及电子设备与流程

文档序号:29964918发布日期:2022-05-11 10:03阅读:65来源:国知局
视频数据的编解码方法和装置、存储介质及电子设备与流程

1.本发明涉及数据处理领域,具体而言,涉及一种视频数据的编解码方法和装置、存储介质及电子设备。


背景技术:

2.目前在网络条件不好的情况下,为了保证观看视频的流畅性,通常会降低视频画面的码率,这样虽然能更好的适应网络条件,但是也会因为码率的降低导致画面出现一定的损失。并且降低视频画面的码率所能减少的视频数据量有限,一味地降低码率会导致视频画面的缺失,严重影响视频的观看体验。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种视频数据的编解码方法和装置、存储介质及电子设备,以至少解决视频数据量不适应网络条件导致的视频画面损失的技术问题。
5.根据本发明实施例的一个方面,提供了一种视频数据的编解码方法,包括:在检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧;获取上述待编码视频流中与上述关键视频帧关联的多帧关联视频帧以及上述多帧关联视频帧中每帧关联视频帧的关键点数据;将与上述多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中,构建传输数据,其中,上述关键编码数据为对上述关键视频帧进行数据编码得到的数据,上述关键点编码数据包括上述关联视频帧的上述关键点数据的编码数据,上述传输数据用于发送给解码端,以使上述解码端基于上述传输数据得到上述关键视频帧和与上述关键视频帧关联的上述多帧关联视频帧。
6.根据本发明实施例的一个方面,提供了一种视频数据的编解码方法,包括:在接收到编码端发送的传输数据的情况下,确定上述传输数据中包括的关键编码数据和位于上述关键编码数据的预设字段中的多组关键点编码数据;解码上述关键编码数据和上述多组关键点编码数据,得到关键视频帧和与上述关键视频帧关联的多帧关联视频帧的关键点数据,其中,上述关键点数据为上述关联视频帧中与上述关键视频帧的目标关键点对应的数据;将上述关键点数据和上述关键视频帧输入生成对抗网络,获取上述生成对抗网络输出的模拟关联视频帧,其中,上述生成对抗网络被训练为利用上述关键视频帧对上述关键点数据进行图像还原生成。
7.根据本发明实施例的另一方面,还提供了一种视频数据的编解码装置,包括:检测单元,用于在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧;获取单元,用于获取上述待编码视频流中与上述关键视频帧关联的多帧关联视频帧以及上述多帧关联视频帧中每帧关联视频帧的关键点数据;添加单元,用于将与上述多帧关联视频帧分别对应的多组关键点数据的编码数据添加在关键编码数据的预设字段中,构建传输数据,其中,上述关键编码数据为对上述关键视频帧进行数据编
码得到的数据,上述关键点编码数据包括上述关联视频帧的上述关键点数据的编码数据,上述传输数据用于发送给解码端,以使上述解码端基于上述传输数据得到上述关键视频帧和与上述关键视频帧关联的上述多帧关联视频帧。
8.根据本发明实施例的另一方面,还提供了一种视频数据的编解码装置,包括:确定单元,用于在接收到编码端发送的传输数据的情况下,确定上述传输数据中包括的关键编码数据和位于上述关键编码数据的预设字段中的多组关键点编码数据;解码单元,用于解码上述关键编码数据和上述多组关键点编码数据,得到关键视频帧和与上述关键视频帧关联的多帧关联视频帧的关键点数据,其中,上述关键点数据为上述关联视频帧中与上述关键视频帧的目标关键点对应的数据;生成单元,用于将上述关键点数据和上述关键视频帧输入生成对抗网络,获取上述生成对抗网络输出的模拟关联视频帧,其中,上述生成对抗网络被训练为利用上述关键视频帧对上述关键点数据进行图像还原生成。
9.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述视频数据的编解码方法。
10.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的视频数据的编解码方法。
11.在本发明实施例中,采用在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧,获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据,将与多帧关联视频帧分别对应的多组关键点数据的编码数据添加在对关键视频帧进行数据编码得到的关键编码数据的预设字段中,构建传输数据,将传输数据传输给解码端,以使解码端在接收到传输数据的情况下,通过解码传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧的方式,通过从待编码视频流中确定出关键视频帧,对于关键视频帧关联的多帧关联视频帧只对关键点数据进行编码,并将多帧关联视频帧的关键点数据的编码数据添加在关键编码数据的预设字段中,达到了减少对待编码视频流进行编码得到的编码数据的帧数,同时减少所需传输的编码数据的数量的目的,从而实现了得到数据量很小的视频流的编解码数据的技术效果,进而解决了视频数据量不适应网络条件导致的视频画面损失的技术问题。
附图说明
12.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
13.图1是根据本发明实施例的一种可选的视频数据的编解码方法的应用环境的示意图;
14.图2是根据本发明实施例的一种可选的视频数据的编解码方法的流程示意图;
15.图3是根据本发明实施例的一种可选的视频数据的编解码方法的流程示意图;
16.图4是根据本发明实施例的一种可选的视频数据的编解码方法的流程示意图;
17.图5是根据本发明实施例的一种可选的视频数据的编解码方法的流程示意图;
18.图6是根据本发明实施例的一种可选的视频数据的编解码装置的结构示意图
19.图7是根据本发明实施例的一种可选的视频数据的编解码装置的结构示意图;
20.图8是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
22.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.根据本发明实施例的一个方面,提供了一种视频数据的编解码方法,可选地,上述视频数据的编解码方法可以但不限于应用于如图1所示的环境中。编码端100不限于通过网络110与解码端120进行数据传输。编码端100不限用于对视频流进行编码,从而通过网络110将编码后的传输数据发送给解码端120,以使解码端120解码传输数据,得到用于播放的视频流。
24.视频数据的编解码方法不限于通过依次执行s102至s110实现。s102,确定关键视频帧。在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧。s104,获取关联视频帧的关键点数据。获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据。s106,构建传输数据。将与多帧关联视频帧分别对应的多组关键点数据的编码数据添加在关键编码数据的预设字段中,构建传输数据,关键编码数据为对关键视频帧进行数据编码得到的数据。s108,解码传输数据。在接收到编码端发送的传输数据的情况下,确定传输数据中包括的关键编码数据和位于关键编码数据的预设字段中的多组关键点编码数据,解码关键编码数据和多组关键点编码数据,得到关键视频帧和与关键视频帧关联的多帧关联视频帧的关键点数据,关键点数据为关联视频帧中与关键视频帧的目标关键点对应的数据。s110,获取模拟关联视频帧。将关键点数据和关键视频帧输入生成对抗网络,获取生成对抗网络输出的模拟关联视频帧,生成对抗网络被训练为利用关键视频帧对关键点数据进行图像还原生成。
25.可选地,在本实施例中,上述编码端100和解码端120不限于为同一终端设备或不同的终端设备,还可以是服务器。上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视等。目
标客户端可以是具备视频编解码功能的客户端,不限于是音频客户端、视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络110可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
26.作为一种可选的实施方式,如图2所示,上述视频数据的编解码方法包括:
27.s202,在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧;
28.s204,获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据;
29.s206,将与多帧关联视频帧分别对应的多组关键点数据的编码数据添加在关键编码数据的预设字段中,构建传输数据。
30.在上述s206中,关键编码数据为对关键视频帧进行数据编码得到的数据,关键点编码数据包括关联视频帧的关键点数据的编码数据,传输数据用于发送给解码端,以使解码端基于传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧。
31.编码端不限于用于对待编码视频流进行数据编码,从而通过网络将数据编码得到的传输数据传发送给解码端,以使解码端通过解码传输数据得到视频流,实现视频的播放。编码端既可以是具备数据编码功能的终端设备,例如拍摄视频的终端,也可以是用于进行视频流处理的服务器。视频流中包括多帧视频帧,通过多帧视频帧的依次显示,实现视频流的播放。
32.通过网络将视频流从编码端传输给解码端,数据传输的完整性和传输效率与网络条件相关。网络条件不限于包括上行传输速率、下行传输速率、丢包率等。在进行视频数据传输时,不限于根据网络条件对视频编解码方式进行实时调整,以通过不同方式的视频编解码对编码得到的编码数据的数据量进行控制,以使得编码数据的数据量与网络条件匹配。具体地,不限于是在网络条件较佳时,使用得到较大编码数据的数据量的编码方式对视频流进行数据编码;在网络条件较差时,使用得到较小编码数据的数据量的编码方式对视频流进行数据编码。
33.在待编码视频流中与关键视频帧关联的多帧关联视频帧,不限于是在时间上位于关键视频帧之前和/或位于关键视频帧之后的多帧视频帧。待编码视频流中不限于确定出多帧关键视频帧,其余的视频帧均以关联视频帧的形式与最接近的关键视频帧进行关联,从而将待编码视频流中的视频帧分为关键视频帧和与关键视频帧关联的关联视频帧。
34.对关键视频帧进行数据编码不限于是对关键视频帧的全部数据进行数据编码,对关联视频帧进行数据不限于是对关联视频帧中的关键点数据进行数据编码,并将关联视频帧的关键点数据编码得到的关键点编码数据添加在关键视频帧编码得到的关键编码数据的预设字段中,从而通过关键编码数据实现对于关键视频帧和多帧关联视频帧的数据编码,得到数据量很小的编码数据,使得编码数据更加适应于网络条件未达到预设网络条件时,对于视频流数据传输的要求。
35.在本技术实施例中,采用在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧,获取待编码视频流中与关键视频帧关联的
多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据,将与多帧关联视频帧分别对应的多组关键点数据的编码数据添加在对关键视频帧进行数据编码得到的关键编码数据的预设字段中,构建传输数据,将传输数据传输给解码端,以使解码端在接收到传输数据的情况下,通过解码传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧的方式,通过从待编码视频流中确定出关键视频帧,对于关键视频帧关联的多帧关联视频帧只对关键点数据进行编码,并将多帧关联视频帧的关键点数据的编码数据添加在关键编码数据的预设字段中,达到了减少对待编码视频流进行编码得到的编码数据的帧数,同时减少所需传输的编码数据的数量的目的,从而实现了得到数据量很小的视频流的编解码数据的技术效果,进而解决了视频数据量不适应网络条件导致的视频画面损失的技术问题。
36.作为一种可选的实施方式,确定当前待编码视频流中的关键视频帧包括:将待编码视频流中当前位于待编码首位的视频帧确定为关键视频帧;或将待编码视频流中包括全部预设特征关键点的视频帧作为关键视频帧。
37.从待编码视频流中确定出关键视频帧,不限于根据视频帧的时序确定,或者通过视频帧所包含的特征关键点的数量确定。根据视频帧的时序确定不限于将待编码视频流中的位于待编码首位的视频帧确定为关键视频帧,从而将位于关键视频帧之后的多帧视频帧确定为与关键视频帧关联的关联视频帧。可选地,还可以是将与待编码视频流中位于待编码目标序位上的视频帧确定为关键视频帧,从而将位于关键视频帧前n帧和后m帧的视频帧确定为关联视频帧,这里n与m均为正整数,数值可以相同也可以不同。
38.根据视频帧所包含的特征关键点的数量不限于是将多帧视频帧中包括特征关键点最多的视频帧作为关键视频帧,特征关键点为视频流中目标对象的特征关键点。包括特征关键点最多的视频帧不限于是包括全部预设特征关键点的视频帧,在包括全部预设特征关键点的视频帧的数量较多或序位间隔较小的情况下,不限于通过视频帧的时序从包括全部预设特征关键点的视频帧中确定出关键视频帧。
39.对于一个视频流,关键视频帧的数量不限于根据视频流所包括的视频帧数量确定,从而在控制视频流编码后的传输数据的数据量的同时,保证解码端解码恢复视频流的质量。每一个关键视频帧关联的关联视频帧的数量可以相同也可以不同,且关联视频帧的数量不限于按照预设关联范围进行数量范围限定,以保证解码得到的视频流的质量。在预设关联范围内,每一个关键视频帧所关联的关联视频帧的数量并不做限定。
40.在本技术实施例中,通过从视频流中确定出关键视频帧,再确定出与与关键视频帧关联的多帧关联视频帧,对关键视频帧的全部数据进行数据编码,对关联视频帧进行关键点数据编码,从而大幅度减少了编码后得到的传输数据的数据量,从而使得传输数据能够较好的适应网络条件的变化。
41.作为一种可选的实施方式,获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据包括:
42.s204-1,使用识别算法对依次对每帧关联视频帧进行特征关键点识别,其中,特征关键点用于标识待编码视频流中的目标对象;
43.s204-2,将识别出的特征关键点的数据作为关联视频帧的关键点数据。
44.目标对象为视频流中包括的对象,例如,对于直播视频流,目标对象可以是直播视
频流中的主播对象,也可以是直播视频流中的宠物对象。在目标对象的数量大于一的情况下,不限于依次对每个目标对象进行特征关键点识别。特征关键点的数量不限于根据目标对象的数量确定,用于明确从视频帧出标识出目标对象。
45.以目标对象为主播对象为例,识别算法不限于为人脸对齐(deep alignment network,dan)算法。使用dan算法对每一视频帧进行人脸关键点检测,关键点不限于是标识主播对象的关键特征位置。通过dan算法获取每个关联视频帧的关键点数据。
46.作为一种可选的实施方式,如图3所示,在将与多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中之前,还包括:
47.s302,依次确定每帧关联视频帧与关键视频帧的帧序关系;
48.s304,将帧序关系和关键点数据进行数据编码,得到关键点编码数据;
49.s306,对关键视频帧进行数据编码,得到关键编码数据。
50.在确定了关键视频帧和与关键视频帧关联的多帧关联视频帧的情况下,确定每个关联视频帧与关键视频帧的帧序关系,帧序关系用于指示关联视频帧与关键视频帧在视频流中的帧位置关系,利用帧序关系标记关键点数据对应的关联视频帧与关键视频帧的相对帧序与关系。
51.在确定了关联视频帧相对于关键视频帧的帧序关系的情况下,不限于将关联视频帧的帧序关系和关键点数据分别进行数据编码,将帧序关系的编码数据和关键点数据的编码数据作为关联视频帧对应的关键点编码数据。
52.作为一种可选的实施方式,将与多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中,构建传输数据包括:
53.s206-1,依次将每帧关联视频帧的编码数据添加在关键编码数据的预设字段中;
54.s206-2,将添加了全部关联视频帧的编码数据的关键编码数据作为传输数据。
55.在对关键视频帧进行数据编码得到关键编码数据的情况下,将关联视频帧对应的关键点编码数据添加在关键编码数据的预设字段中,构建用于网络传输的传输数据。
56.预设字段不限于是关键编码数据用于扩展编码的预留字段,将与关键视频帧关联的全部关联视频帧分别对应的关键点编码数据添加在关键编码数据的预设字段中,从而实现将关键视频帧和多帧关联视频帧编码至关键编码数据中,作为传输给解码端的传输数据。
57.在本技术实施例中,将多帧关联视频帧的关键点编码数据添加在关键编码数据中,实现了通过很小数据量的传输数据作为视频流的编码数据,以使得传输数据适应当前较差使得网络条件。
58.根据本发明实施例的一个方面,提供了一种视频数据的编解码方法,可选地,上述视频数据的编解码方法可以但不限于应用于如图1所示的解码端中。作为一种可选的实施方式,如图4所示,上述视频数据的编解码方法包括:
59.s402,在接收到编码端发送的传输数据的情况下,确定传输数据中包括的关键编码数据和位于关键编码数据的预设字段中的多组关键点编码数据;
60.s404,解码关键编码数据和多组关键点编码数据,得到关键视频帧和与关键视频帧关联的多帧关联视频帧的关键点数据;
61.在上述s404中,关键点数据为关联视频帧中与关键视频帧的目标关键点对应的数
据。
62.s406,将关键点数据和关键视频帧输入生成对抗网络,获取生成对抗网络输出的模拟关联视频帧;
63.在上述s406中,生成对抗网络被训练为利用关键视频帧对关键点数据进行图像还原生成。
64.解码端在接收到传输数据的情况下,确定传输数据中的关键编码数据以及位于关键编码数据的预设字段中的多组关键点编码数据。解码关键编码数据得到关键视频帧,解码关键点编码数据得到与关键视频帧关联的多组关键点数据和关键点数据对应的帧序关系。
65.将关键点数据和关键视频帧输入生成对抗网络,以将生成对抗网络输出的模拟关联视频帧作为与关键视频帧关联的关联视频帧,利用模拟关联视频帧和关键视频帧构建视频,并播放。
66.作为一种可选地实施方式,在将关键点数据和关键视频帧输入生成对抗网络之前,还包括:计算关键点数据与关键视频帧中对应的目标关键点数据之间的运动偏移参数;
67.将关键点数据和关键视频帧输入生成对抗网络包括:依次将关键视频帧、每帧关联视频帧的关键点数据和运动偏移参数输入生成对抗网络,以获取生成对抗网络输出的模拟关联视频帧。
68.计算关键点数据与关键视频帧中对应的目标关键点数据之间的运动偏移参数不限于是计算关键点数据和目标关键点数据的运动向量,也就是关键视频帧中的目标关键点数据和关联视频帧的关键点数据的数据偏移量。
69.在使用生成对抗网络之前,不限于使用样本关键帧、样本关联帧以及样本关联帧的样本偏移参数对初始与生成对抗网络进行训练,得到达到模型收敛条件的生成对抗网络。模拟收敛条件不限于是生成的模拟关联帧与样本关联帧的相似度高于预设相似度阈值。
70.将关键视频帧、关联视频帧的关键点数据和运动偏移参数输入生成对抗网络,获取生成对抗网络输出的、与关联视频帧相似度高于相似度阈值的模拟关联视频帧,从而将生成对抗网络生成的模拟关联视频帧作为关联视频帧在解码端进行播放。
71.作为一种可选的实施方式,如图5所示,在获取生成对抗网络输出的模拟关联视频帧之后,还包括:
72.s502,获取模拟关联视频帧对应的帧序关系,其中,帧序关系用于指示模拟关联视频帧与关键视频帧的相对帧序;
73.s504,根据帧序关系,确定多帧模拟关联视频帧与关键视频帧的播放顺序;
74.s506,按照播放顺序依次播放关键视频帧和多帧模拟关联视频帧。
75.在解码端通过生成对抗网络生成每组关键点数据对应的模拟关联视频帧的情况下,按照关键点数据对应的帧序关系,对多帧模拟关联视频帧和关键视频帧进行播放排序,从而确定多帧模拟关联视频帧与关键视频帧的播放顺序,按照播放顺序依次播放关键视频帧和多帧模拟关联视频帧。
76.解码端在解码且确定关键编码数据所包含的多帧视频帧的播放顺序的情况下,按照播放顺序播放多帧视频帧,以完成视频流的传输播放。
77.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
78.根据本发明实施例的另一个方面,还提供了一种用于实施上述视频数据的编解码方法的视频数据的编解码装置。如图6所示,该装置包括:
79.检测单元602,用于在检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧;
80.获取单元604,用于获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据;
81.添加单元606,用于将与多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中,构建传输数据,其中,关键编码数据为对关键视频帧进行数据编码得到的数据,关键点编码数据包括关联视频帧的关键点数据的编码数据,传输数据用于发送给解码端,以使解码端基于传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧。
82.可选地,上述检测单元602还用于将待编码视频流中当前位于待编码首位的视频帧确定为关键视频帧;或将待编码视频流中包括全部预设特征关键点的视频帧作为关键视频帧。
83.可选地,上述获取单元604还用于使用识别算法对依次对每帧关联视频帧进行特征关键点识别,其中,特征关键点用于标识待编码视频流中的目标对象;将识别出的特征关键点的数据作为关联视频帧的关键点数据。
84.可选地,上述视频数据的编解码装置还包括编码单元,用于在将与多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中之前,依次确定每帧关联视频帧与关键视频帧的帧序关系;将帧序关系和关键点数据进行数据编码,得到关键点编码数据;对关键视频帧进行数据编码,得到关键编码数据。
85.可选地,上述添加单元606还用于依次将每帧关联视频帧的所述关键点编码数据添加在关键编码数据的预设字段中;将添加了全部关联视频帧的所述关键点编码数据的关键编码数据作为传输数据。
86.根据本发明实施例的另一个方面,还提供了一种用于实施上述视频数据的编解码方法的视频数据的编解码装置。如图7所示,该装置包括:
87.确定单元702,在接收到编码端发送的传输数据的情况下,确定传输数据中包括的关键编码数据和位于关键编码数据的预设字段中的多组关键点编码数据;
88.解码单元704,解码关键编码数据和多组关键点编码数据,得到关键视频帧和与关键视频帧关联的多帧关联视频帧的关键点数据,其中,关键点数据为关联视频帧中与关键视频帧的目标关键点对应的数据;
89.生成单元706,用于将关键点数据和关键视频帧输入生成对抗网络,获取生成对抗网络输出的模拟关联视频帧,其中,生成对抗网络被训练为利用关键视频帧对关键点数据进行图像还原生成。
90.可选地,上述视频数据的编解码装置还包括计算单元,用于在将关键点数据和关键视频帧输入生成对抗网络之前,计算关键点数据与关键视频帧中对应的目标关键点数据之间的运动偏移参数;
91.上述生成单元706还用于依次将关键视频帧、每帧关联视频帧的关键点数据和运动偏移参数输入生成对抗网络,以获取生成对抗网络输出的模拟关联视频帧。
92.可选地,上述视频数据的编解码装置还包括播放单元,用于在获取生成对抗网络输出的模拟关联视频帧之后,获取模拟关联视频帧对应的帧序关系,其中,帧序关系用于指示模拟关联视频帧与关键视频帧的相对帧序;根据帧序关系,确定多帧模拟关联视频帧与关键视频帧的播放顺序;按照播放顺序依次播放关键视频帧和多帧模拟关联视频帧。
93.在本技术实施例中,采用在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧,获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据,将与多帧关联视频帧分别对应的多组关键点数据的编码数据添加在对关键视频帧进行数据编码得到的关键编码数据的预设字段中,构建传输数据,将传输数据传输给解码端,以使解码端在接收到传输数据的情况下,通过解码传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧的方式,通过从待编码视频流中确定出关键视频帧,对于关键视频帧关联的多帧关联视频帧只对关键点数据进行编码,并将多帧关联视频帧的关键点数据的编码数据添加在关键编码数据的预设字段中,达到了减少对待编码视频流进行编码得到的编码数据的帧数,同时减少所需传输的编码数据的数量的目的,从而实现了得到数据量很小的视频流的编解码数据的技术效果,进而解决了视频数据量不适应网络条件导致的视频画面损失的技术问题。
94.根据本发明实施例的又一个方面,还提供了一种用于实施上述视频数据的编解码方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为编码端和解码端为例来说明。如图8所示,该电子设备包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
95.可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
96.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
97.s1,在检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧;
98.s2,获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据;
99.s3,将与多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中,构建传输数据,其中,关键编码数据为对关键视频帧进行数据编码得到的数据,关键点编码数据包括关联视频帧的关键点数据的编码数据,传输数据用于发送给解码端,以使解码端基于传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧。
100.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
101.s1,在接收到编码端发送的传输数据的情况下,确定传输数据中包括的关键编码
数据和位于关键编码数据的预设字段中的多组关键点编码数据;
102.s2,解码关键编码数据和多组关键点编码数据,得到关键视频帧和与关键视频帧关联的多帧关联视频帧的关键点数据,其中,关键点数据为关联视频帧中与关键视频帧的目标关键点对应的数据;
103.s3,将关键点数据和关键视频帧输入生成对抗网络,获取生成对抗网络输出的模拟关联视频帧,其中,生成对抗网络被训练为利用关键视频帧对关键点数据进行图像还原生成。
104.可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图8其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
105.其中,存储器802可用于存储软件程序以及模块,如本发明实施例中的视频数据的编解码方法和装置对应的程序指令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频数据的编解码方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器802具体可以但不限于用于存储视频流、关键视频帧、关键点数据等信息。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述视频数据的编解码装置中的检测单元602、获取单元604和添加单元606。此外,还可以包括但不限于上述视频数据的编解码装置中的其他模块单元,本示例中不再赘述。
106.可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
107.此外,上述电子设备还包括:显示器808,用于显示上述视频流;和连接总线810,用于连接上述电子设备中的各个模块部件。
108.在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
109.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视频数据的编解码方面的各种可选实现方式中提供的方法。其
中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
110.可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
111.s1,在编码端检测到当前网络条件未达到预设网络条件的情况下,确定当前待编码视频流中的关键视频帧;
112.s2,获取待编码视频流中与关键视频帧关联的多帧关联视频帧以及多帧关联视频帧中每帧关联视频帧的关键点数据;
113.s3,将与多帧关联视频帧分别对应的多组关键点编码数据添加在关键编码数据的预设字段中,构建传输数据,其中,关键编码数据为对关键视频帧进行数据编码得到的数据,关键点编码数据包括关联视频帧的关键点数据的编码数据,传输数据用于发送给解码端,以使解码端基于传输数据得到关键视频帧和与关键视频帧关联的多帧关联视频帧。
114.可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
115.s1,在接收到编码端发送的传输数据的情况下,确定传输数据中包括的关键编码数据和位于关键编码数据的预设字段中的多组关键点编码数据;
116.s2,解码关键编码数据和多组关键点编码数据,得到关键视频帧和与关键视频帧关联的多帧关联视频帧的关键点数据,其中,关键点数据为关联视频帧中与关键视频帧的目标关键点对应的数据;
117.s3,将关键点数据和关键视频帧输入生成对抗网络,获取生成对抗网络输出的模拟关联视频帧,其中,生成对抗网络被训练为利用关键视频帧对关键点数据进行图像还原生成。
118.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
119.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
120.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
121.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
122.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连
接,可以是电性或其它的形式。
123.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
124.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
125.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1