本公开涉及多媒体,特别涉及一种视频压缩方法、装置、电子设备及存储介质。
背景技术:
1、随着多媒体技术的发展,视频能够通过网络进行传输。由于相比于语音或者图像而言,视频一般包含较多的数据量,若不进行压缩处理直接传输视频,则会消耗大量的资源,因此如何对视频进行压缩成为本领域研究的重点。
2、相关技术中,通常采用wpp(wavefront parallel processing,波前并行处理)技术来对视频进行编码,以达到对视频进行压缩的目的。wpp技术是以一帧视频中一行编码树单元(coding tree unit,ctu)为单位进行并行编码。
3、但是,上述技术方案中,由于在编码过程中非首行的编码树单元,仅能获取到位于当前行中首个编码树单元右上方的编码树单元的编码方式的信息,因此当前行中各个编码树单元的编码模型的预估会有轻微的损失,从而导致视频的编码性能较低。
技术实现思路
1、本公开提供一种视频压缩方法、装置、电子设备及存储介质,能够提高熵编码模型的预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。本公开的技术方案如下:
2、根据本公开实施例的一方面,提供一种视频压缩方法,包括:
3、对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
4、对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,所述第i行视频块为所述视频帧中的非首行视频块;
5、基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;
6、基于所述视频中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。
7、根据本公开实施例的另一方面,提供一种视频压缩装置,包括:
8、第一编码单元,被配置为执行对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
9、更新单元,被配置为执行对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,所述第i行视频块为所述视频帧中的非首行视频块;
10、第二编码单元,被配置为执行基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;
11、排序单元,被配置为执行基于所述视频中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。
12、在一些实施例,所述更新单元,被配置为执行对于所述视频帧中的第i行视频块,基于所述第i-1行视频块中尾部视频块的编码信息,获取所述第i-1行视频块中尾部视频块的熵编码状态,所述熵编码状态用于表示编码到所述第i-1行视频块中尾部视频块时各个码字出现的概率;基于所述熵编码状态,更新所述第i行视频块中的首个视频块的熵编码模型。
13、在一些实施例,所述第二编码单元,包括:
14、编码子单元,被配置为执行基于所述第i行视频块中的首个视频块的更新后的熵编码模型,对所述第i行视频块中的首个视频块的重新进行编码,得到所述首个视频块的码字;
15、确定子单元,被配置为执行基于所述首个视频块的码字,确定所述首个视频块的熵编码状态;
16、所述编码子单元,还被配置为执行基于所述首个视频块的熵编码状态,更新所述第i行视频块中其他视频块的码字。
17、在一些实施例,所述编码子单元,包括:
18、获取子子单元,被配置为执行基于所述第i行视频块中的首个视频块的编码信息,获取所述首个视频块的编码划分模式;
19、编码子子单元,被配置为执行基于所述编码划分模式,采用所述首个视频块的更新后的熵编码模型,对所述首个视频块的重新进行编码,得到所述首个视频块的码字。
20、在一些实施例,所述装置还包括:
21、获取单元,被配置为执行获取所述视频的压缩需求,所述压缩需求包括压缩后的视频大小以及视频质量;
22、确定单元,被配置为执行基于所述视频的压缩需求,确定所述视频中的多个视频块的编码划分模式。
23、在一些实施例,所述编码子子单元,被配置为执行基于所述视频帧中各个视频块的编码信息,获取所述第i-1行视频块中尾部视频块与所述第i行视频块中首个视频块之间的量化差值,所述量化差值用于表示并行编码过程中两个视频块所使用的量化参数之间的差距;基于所述编码划分模式和所述首个视频块更新后的熵编码模型,对所述量化差值重新进行编码,得到所述首个视频块的量化参数对应的码字。
24、在一些实施例,所述编码子单元,还被配置为执行对于所述第i行视频块中的非首个视频块,基于所述视频块的前一个视频块的熵编码状态,更新所述视频块的熵编码模型;基于所述视频块的更新后的熵编码模型,对所述视频块重新进行编码,得到所述视频块的码字。
25、根据本公开实施例的另一方面,提供一种电子设备,该电子设备包括:
26、一个或多个处理器;
27、用于存储该处理器可执行程序代码的存储器;
28、其中,该处理器被配置为执行该程序代码,以实现上述视频压缩方法。
29、根据本公开实施例的另一方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述视频压缩方法。
30、根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述视频压缩方法。
31、本公开实施例提供了一种视频压缩方法,在对视频中视频帧内的多行视频块进行并行编码的情况下,通过上一行视频块的尾部视频块的编码信息,对当前行首个视频块的熵编码模型进行更新,由于在并行编码过程中每一行的尾部视频块的编码信息由该尾部视频块之前所有视频块的编码信息确定,也即是,每一行的尾部视频块的编码信息能够反映该行所有视频块的编码信息,因此更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
32、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种视频压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的视频压缩方法,其特征在于,所述对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,包括:
3.根据权利要求1所述的视频压缩方法,其特征在于,所述基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字,包括:
4.根据权利要求3所述的视频压缩方法,其特征在于,所述基于所述第i行视频块中的首个视频块的更新后的熵编码模型,对所述第i行视频块中的首个视频块的重新进行编码,得到所述首个视频块的码字,包括:
5.根据权利要求4所述的视频压缩方法,其特征在于,所述视频中多个视频块的编码划分模式的确定过程,包括:
6.根据权利要求4所述的视频压缩方法,其特征在于,所述基于所述编码划分模式,采用所述首个视频块的更新后的熵编码模型,对所述首个视频块的重新进行编码,得到所述首个视频块的码字,包括:
7.根据权利要求3所述的视频压缩方法,其特征在于,所述基于所述首个视频块的熵编码状态,更新所述第i行视频块中其他视频块的码字,包括:
8.一种视频压缩装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7任一项所述的视频压缩方法。