用于压缩视频数据的方法和装置制造方法及图纸

技术编号:21612956 阅读:25 留言:0更新日期:2019-07-13 20:57
本申请公开了一种用于压缩视频数据的方法,所述方法包括:确定帧缓冲器的压缩目标;根据所述帧缓冲器的压缩目标、压缩单元中像素阵列的大小以及像素单元的比特深度计算用于每个压缩单元的单元缓冲预算;接收所述视频数据;针对所述视频数据的每个视频帧中的第k压缩单元:计算以预定无损压缩算法压缩所述第k压缩单元的单元压缩成本,以及累计压缩成本;比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算:根据累计压缩成本与累计缓冲预算的比较结果选择以预定无损压缩算法或预定有损压缩算法压缩所述第k压缩单元;以及将被压缩的所述第k压缩单元缓冲到所述帧缓冲器中。

Method and device for compressing video data

【技术实现步骤摘要】
用于压缩视频数据的方法和装置
本申请涉及视频图像处理
,更具体地,涉及一种用于压缩视频数据的方法和装置。
技术介绍
随着超高分辨率的视频图像在市场上的流行,视频、图形图像编解码器对外部存储器造成的带宽负担变得越来越重,并且与外部存储器大量的数据交换,同时也增加了芯片功耗。视频数据压缩是解决带宽负担的一种方式。帧压缩的方法一般有三类:有损压缩、无损压缩和有损无损混合压缩。有损压缩一般采用对压缩数据进行量化的方法。无损帧压缩通常由预测和熵编码两级组成。第一级的处理方法一般有两种类型,一种是预测处理,得到待压缩数据与预测值的差值再进行第二级处理,如采用空域预测;另一种是变换处理,将压缩数据转到频域后再进行第二级处理。第二级的处理方法通常是进行熵编码处理,一般采用变长码编码,从而达到数据压缩。有损压缩通常以损失视频质量作为代价换取压缩率的提高,这会降低当前视频帧的质量,在视频编解码器中如果当前视频帧被作为后续视频帧的参考视频帧,那么当前视频帧质量的损失将会在后续视频帧中传递,使得视频序列的质量下降。虽然无损压缩不会损失视频质量,但是对纹理信息复杂的视频序列数据压缩率较低,并且不能够适用于存储预算比较有限的应用环境。因此,有必要改进现有的视频数据压缩方法。
技术实现思路
本申请的一个目的在于提供一种用于压缩视频数据的方法和装置,其能够实时地回收之前压缩单元压缩时节省的帧缓冲器空间,从而提高帧缓冲器的利用率。根据本申请的一个方面,提供了一种用于压缩视频数据的方法,所述视频数据包括一个或多个视频帧,其中每个视频帧被分割为多个压缩单元,并且每个压缩单元包括一个像素阵列,所述方法包括:确定帧缓冲器的压缩目标,所述帧缓冲器用于逐帧地缓冲被压缩的视频数据;根据所述帧缓冲器的压缩目标、所述压缩单元中像素阵列的大小以及像素单元的比特深度计算用于每个压缩单元的单元缓冲预算;接收所述视频数据;针对所述视频数据的每个视频帧中的第k压缩单元,其中k为自然数:计算以预定无损压缩算法压缩所述第k压缩单元的单元压缩成本,以及累计压缩成本,其中,所述累计压缩成本是压缩所述第k压缩单元及其之前的n个压缩单元的单元压缩成本的总和,其中n为小于k的自然数;比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算,其中所述累计缓冲预算是缓冲所述第k压缩单元及其之前的n个压缩单元的单元缓冲预算的总和:如果所述累计压缩成本未超过累计缓冲预算预定范围,则以预定无损压缩算法压缩所述第k压缩单元;而如果所述累计压缩成本超过所述累计缓冲预算预定范围,则调整预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围,并以调整了量化等级的预定有损压缩算法压缩所述第k压缩单元,其中,所述预定有损压缩算法是以量化等级配置的有损压缩算法,而所述预定范围是允许累计压缩成本超出累计缓冲预算的阈值范围;以及将被压缩的所述第k压缩单元缓冲到所述帧缓冲器中。在一个实施例中,每个视频帧的多个压缩单元以矩阵形式排布,并且所述第k压缩单元及其之前的n个压缩单元位于压缩单元矩阵的同一行。在一个实施例中,如果所述累计压缩成本未超过累计缓冲预算预定范围,则以预定无损压缩算法压缩所述第k压缩单元的步骤进一步包括:在以所述预定无损压缩算法压缩所述第k压缩单元时,调整预定有损压缩算法的量化等级,从而对于在第k压缩单元之后的第一个以预定有损压缩算法压缩的压缩单元,其量化等级的初始值等于预定无损压缩时调整了的量化等级的值。在一个实施例中,在比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算之前,比较以预定无损压缩算法压缩所述第k压缩单元的单元压缩成本和所述单元缓冲预算:如果所述单元压缩成本未超过所述单元缓冲预算,则以所述预定无损压缩算法压缩所述第k压缩单元;而如果所述单元压缩成本超过所述单元缓冲预算,则继续进行上述比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算的步骤。在一个实施例中,如果所述单元压缩成本未超过所述单元缓冲预算,则以所述预定无损压缩算法压缩所述第k压缩单元的步骤进一步包括:在以所述预定无损压缩算法压缩所述第k压缩单元时,调整预定有损压缩算法的量化等级,从而对于在第k压缩单元之后的第一个以预定有损压缩算法压缩的压缩单元,其量化等级的初始值等于预定无损压缩时调整了的量化等级的值。在一个实施例中,调整所述预定有损压缩算法的量化等级包括:以预定调整步长调整所述量化等级的值。在一个实施例中,对于所述第k压缩单元,在调整所述预定有损压缩算法的量化等级的步骤中,量化等级的初始值等于压缩第k-1压缩单元时采用的量化等级的值。在一个实施例中,每个压缩单元包括多个子压缩单元,采用分别的量化等级的值来压缩每个子压缩单元。在一个实施例中,所述帧缓冲器包括针对所述累计缓冲预算的缓冲裕量区,所述缓冲裕量区用于缓冲被压缩的所述第k压缩单元的超出所述累计缓冲预算的部分,并且所述预定范围基于所述缓冲裕量区的大小。在一个实施例中,所述缓冲裕量区的大小不小于以预定调整步长逐步调整所述量化等级直至量化等级达到预定最大值的过程中累计占用的缓冲空间,以及所述调整所述预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围的步骤包括:以预定调整步长将所述量化等级的值从初始值调整一次,并且所述量化等级的初始值等于压缩第k-1压缩单元时采用的量化等级的值。在一个实施例中,所述预定范围为零。在一个实施例中,所述调整所述预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围的步骤包括:以预定调整步长将所述量化等级的值从初始值调整至少一次,直至所述累计压缩成本不超过所述累计缓冲预算。根据本申请的一个方面,还提供了一种用于压缩视频数据的装置,其包括处理器;以及指令存储介质,所述指令存储介质被配置成存储由所述处理器执行的指令;帧缓冲器,所述帧缓冲器用于逐帧地缓冲被压缩的视频数据;其中所述处理器被配置成执行前述方面的方法的步骤。以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。附图说明通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本申请内容的上述和其他特征。可以理解,这些附图仅描绘了本申请内容的若干实施方式,因此不应认为是对本申请内容范围的限定。通过采用附图,本申请内容将会得到更加明确和详细地说明。图1示出了根据本申请一个实施例的视频数据的示例性结构;图2示出了一个压缩单元的示例;图3示出了根据本申请一个实施例的视频处理系统;图4示出了根据本申请一个实施例中的帧缓冲器的结构;图5a示出了现有行缓冲器的缓冲方式;图5b示出了根据本申请实施例的自适应缓冲方式的一个示例;图5c示出了根据本申请实施例的自适应缓冲方式的另一示例;图5d示出了根据本申请实施例的自适应缓冲方式的另一示例;图5e示出了根据本申请实施例的自适应缓冲方式的另一示例;图6示出了根据本申请实施例的用于压缩视频数据的方法;图7示出了根据本申请另一个实施例的视频处理系统。具体实施方式本文档来自技高网...

【技术保护点】
1.一种用于压缩视频数据的方法,其特征在于,所述视频数据包括一个或多个视频帧,其中每个视频帧被分割为多个压缩单元,并且每个压缩单元包括一个像素阵列,所述方法包括:确定帧缓冲器的压缩目标,所述帧缓冲器用于逐帧地缓冲被压缩的视频数据;根据所述帧缓冲器的压缩目标、所述压缩单元中像素阵列的大小以及像素单元的比特深度计算用于每个压缩单元的单元缓冲预算;接收所述视频数据;针对所述视频数据的每个视频帧中的第k压缩单元,其中k为自然数:计算以预定无损压缩算法压缩所述第k压缩单元的单元压缩成本,以及累计压缩成本,其中,所述累计压缩成本是压缩所述第k压缩单元及其之前的n个压缩单元的单元压缩成本的总和,其中n为小于k的自然数;比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算,其中所述累计缓冲预算是缓冲所述第k压缩单元及其之前的n个压缩单元的单元缓冲预算的总和:如果所述累计压缩成本未超过累计缓冲预算预定范围,则以预定无损压缩算法压缩所述第k压缩单元;而如果所述累计压缩成本超过所述累计缓冲预算预定范围,则调整预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围,并以调整了量化等级的预定有损压缩算法压缩所述第k压缩单元,其中,所述预定有损压缩算法是以量化等级配置的有损压缩算法,而所述预定范围是允许累计压缩成本超出累计缓冲预算的阈值范围。...

【技术特征摘要】
1.一种用于压缩视频数据的方法,其特征在于,所述视频数据包括一个或多个视频帧,其中每个视频帧被分割为多个压缩单元,并且每个压缩单元包括一个像素阵列,所述方法包括:确定帧缓冲器的压缩目标,所述帧缓冲器用于逐帧地缓冲被压缩的视频数据;根据所述帧缓冲器的压缩目标、所述压缩单元中像素阵列的大小以及像素单元的比特深度计算用于每个压缩单元的单元缓冲预算;接收所述视频数据;针对所述视频数据的每个视频帧中的第k压缩单元,其中k为自然数:计算以预定无损压缩算法压缩所述第k压缩单元的单元压缩成本,以及累计压缩成本,其中,所述累计压缩成本是压缩所述第k压缩单元及其之前的n个压缩单元的单元压缩成本的总和,其中n为小于k的自然数;比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算,其中所述累计缓冲预算是缓冲所述第k压缩单元及其之前的n个压缩单元的单元缓冲预算的总和:如果所述累计压缩成本未超过累计缓冲预算预定范围,则以预定无损压缩算法压缩所述第k压缩单元;而如果所述累计压缩成本超过所述累计缓冲预算预定范围,则调整预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围,并以调整了量化等级的预定有损压缩算法压缩所述第k压缩单元,其中,所述预定有损压缩算法是以量化等级配置的有损压缩算法,而所述预定范围是允许累计压缩成本超出累计缓冲预算的阈值范围。2.根据权利要求1所述的方法,其特征在于,每个视频帧的多个压缩单元以矩阵形式排布,并且所述第k压缩单元及其之前的n个压缩单元位于压缩单元矩阵的同一行。3.根据权利要求1所述的方法,其特征在于,如果所述累计压缩成本未超过累计缓冲预算预定范围,则以预定无损压缩算法压缩所述第k压缩单元的步骤进一步包括:在以所述预定无损压缩算法压缩所述第k压缩单元时,调整预定有损压缩算法的量化等级,从而对于在第k压缩单元之后的第一个以预定有损压缩算法压缩的压缩单元,其量化等级的初始值等于预定无损压缩时调整了的量化等级的值。4.根据权利要求1所述的方法,其特征在于,在比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算之前,比较以预定无损压缩算法压缩所述第k压缩单元的单元压缩成本和所述单元缓冲预算:如果所述单元压缩成本未超过所述单元缓冲预算,则以所述预定无损压缩算法压缩所述第k压缩单元;而如果所述单元压缩成本超过所述单元缓冲预算,则继续进行上述比较对应于所述第k压缩单元的累计压缩成本和累计缓冲预算的步骤。5.根据权利要求4所述的方法,其特征在于,如果所述单元压缩成本未超过所述单元缓冲预算,则以所述预定无损压缩算法压缩所述第k压缩单元的步骤进一步包括:在以所述预定无损压缩算法压缩所述第k压缩单元时,调整预定有损压缩算法的量化等级,从而对于在第k压缩单元之后的第一个以预定有损压缩算法压缩的压缩单元,其量化等级的初始值等于预定无损压缩时调整了的量化等级的值。6.根据权利要求1所述的方法,其特征在于,调整所述预定有损压缩算法的量化等级包括:以预定调整步长调整所述量化等级的值。7.根据权利要求1所述的方法,其特征在于,对于所述第k压缩单元,在调整所述预定有损压缩算法的量化等级的步骤中,量化等级的初始值等于压缩第k-1压缩单元时采用的量化等级的值。8.根据权利要求1所述的方法,其特征在于,每个压缩单元包括多个子压缩单元,采用分别的量化等级的值来压缩每个子压缩单元。9.根据权利要求1所述的方法,其特征在于,所述帧缓冲器包括针对所述累计缓冲预算的缓冲裕量区,所述缓冲裕量区用于缓冲被压缩的所述第k压缩单元的超出所述累计缓冲预算的部分,并且所述预定范围基于所述缓冲裕量区的大小。10.根据权利要求9所述的方法,其特征在于,所述缓冲裕量区的大小不小于以预定调整步长逐步调整所述量化等级直至量化等级达到预定最大值的过程中累计占用的缓冲空间,以及所述调整所述预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围的步骤包括:以预定调整步长将所述量化等级的值从初始值调整一次,并且所述量化等级的初始值等于压缩第k-1压缩单元时采用的量化等级的值。11.根据权利要求1所述的方法,其特征在于,所述预定范围为零。12.根据权利要求11所述的方法,其特征在于,所述调整所述预定有损压缩算法的量化等级以使得所述累计压缩成本不超过所述累计缓冲预算预定范围的步骤包括:以预定调整步长将所述量化等级的值从初始值调整至少一次,直至所述累计压缩成本不超过所述累计缓冲预算。13.根据权利要求1所述的方法,其特征在于,对于所述视频数据的亮度分量和色度分量采用不同的压缩目标。14.一种用于压缩视频数据的的装置,其特征在于,所述视频数据包括一个或多个视频帧,其中每个视频帧被分割为多个压缩单元,并且每个压缩单元包括一个...

【专利技术属性】
技术研发人员:黄有源邱志敏
申请(专利权)人:澜至电子科技成都有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1