一种视频帧像素块的压缩方法和装置与流程

文档序号:16447468发布日期:2019-01-02 21:29阅读:216来源:国知局

技术领域

本申请涉及视频处理技术领域,特别是涉及一种视频帧像素块的压缩方法和一种视频帧像素块的压缩装置。



背景技术:

近年来,人们对高品质视觉享受的主观需求和半导体技术快速发展的客观条件共同促进了超高清电视产业的蓬勃发展。然而,由于当前传输系统带宽的限制,超高清电视节目只能以较低的帧率传输。与此同时,大屏幕显示设备的刷新率又有较大的提升,视频帧率低于屏幕刷新率,这一失配直接导致图像出现拖影、停顿、模糊等现象,显示效果不佳。视频帧率上变换技术作为重要的视频后处理手段,可以有效的提升显示视频的帧率,在高刷新率的显示屏上提高图像的主观质量。

超高清视频帧率上变换处理系统的输入是一组固定帧率的图像序列,经过一系列运动估计、矢量后处理和内插操作后,其输出是一组更高帧率的图像序列。这导致超高清视频帧率上变换处理内核与片外缓存的数据读写吞吐率极大的增加。其中运动估计、矢量后处理和内插操作,需要从片外缓存读取大量前向参考帧和后向参考帧的像元数据;帧率上变换产生的内插图像序列,需要写入片外缓存;显示输出端口需要将原始图像序列和帧率上变换产生图像序列从片外缓存中读出在屏幕上显示。

然而,在当前的工艺水平下,CMOS集成电路的速度存在极限,一直以来存储器访问速度的提升落后于逻辑电路,因此存储访问的带宽是制约系统性能的瓶颈;同时,大规模的数据写入读出也极大提高了系统的能耗。

为了解决带宽和能耗瓶颈,将片外缓存数据压缩之后再写入是一种有效可行的办法。目前,对片外缓存数据的压缩方法可以包括:对片外缓存数据(例如,包括多个像素点的像素块)的像素点进行分组,对每个分组的像素点进行预测与残差处理、量化处理。

在预测与残差处理中,生成像素点的预测值,将像素点的原始像素值减去预测值得到残差值。在量化处理中,对残差值进行量化处理,以降低需要传输的位数。量化处理的具体操作为将残差值除以量化系数。例如,残差值为1111111111,若量化系数为2,量化处理,得到的量化后残差值为111111111.1,相当于将残差值的右移2位并舍弃小数位。若量化系数为4,量化后残差值为11111111.11,相当于将残差值右移2位并舍弃小数位。

在量化时,如果量化系数太小,起不到压缩的目的,即压缩后压缩码流还是很大;如果量化系数太大,即降了太多位,导致在解压时,解压后的像素值与原始像素值之间误差增大。



技术实现要素:

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频帧像素块的压缩方法和相应的一种视频帧像素块的压缩装置。

为了解决上述问题,本申请实施例公开了一种视频帧像素块的压缩方法,包括:

获取视频帧像素块;

对所述视频帧像素块中的像素点进行分组处理,获得不同优先级的分组;

通过截取像素点的原始像素值中高位的预设数值的位数作为当前分组的像素点的残差值,或,采用在先生成的当前分组的优先级之前的在先分组的像素点的重建值计算当前分组的像素点的残差值;其中,部分在先分组的像素点的重建值由像素点的量化残差值生成;

依据各个分组的优先级顺序,为当前分组设置量化系数,分组的优先级越高,设置的量化系数越小;分组的优先级越低,设置的量化系数越大;

采用对应的量化系数对当前分组的像素点的残差值进行量化处理,生成量化残差值。

优选的,所述通过截取像素点的原始像素值中高位的预设数值的位数作为当前分组的像素点的残差值的步骤包括:

对优先级最高的分组的像素点,截取像素点的原始像素值中高位的预设数值的位数作为像素点的残差值。

优选的,所述采用在先生成的当前分组的优先级之前的在先分组的像素点的重建值计算当前分组的像素点的残差值的步骤包括:

对优先级最高的分组之外的分组的像素点,采用在先生成的当前分组的优先级之前的在先分组的像素点的量化残差值生成在先分组的像素点的重建值;

采用所述在先分组的像素点的重建值,生成当前分组的像素点的预测值;

将当前分组的像素点的原始像素值减去所述当前分组的像素点的预测值得到当前分组的像素点的残差值。

优选的,所述优先级最高的分组的量化系数设置为零,所述优先级最高的分组的像素点的残差值为像素点的量化差值。

优选的,所述对优先级最高的分组之外的分组的像素点,采用在先生成的当前分组的优先级之前的在先分组的像素点的量化残差值生成在先分组的像素点的重建值的步骤包括:

对所述在先分组中优先级最高的分组的像素点的量化残差值低位补零得到重建值,优先级最高的分组的像素点的重建值的位数与像素点的原始像素值的位数相同;

对所述在先分组中非最高优先级的分组的像素点的量化残差值进行反量化处理,得到反量化残差值;将所述反量化残差值与像素点的预测值相加,得到重建值。

同时,本申请还公开了一种视频帧像素块的压缩装置,包括:

获取模块,用于获取视频帧像素块;

分组模块,用于对所述视频帧像素块中的像素点进行分组处理,获得不同优先级的分组;

残差值计算模块,用于通过截取像素点的原始像素值中高位的预设数值的位数作为当前分组的像素点的残差值,或,采用在先生成的当前分组的优先级之前的在先分组的像素点的重建值计算当前分组的像素点的残差值;其中,部分在先分组的像素点的重建值由像素点的量化残差值生成;

量化系数设置模块,用于依据各个分组的优先级顺序,为当前分组设置量化系数,分组的优先级越高,设置的量化系数越小;分组的优先级越低,设置的量化系数越大;

量化模块,用于采用对应的量化系数对当前分组的像素点的残差值进行量化处理,生成量化残差值。

优选的,所述残差值计算模块进一步包括:

截取子模块,用于对优先级最高的分组的像素点,截取像素点的原始像素值中高位的预设数值的位数作为像素点的残差值。

优选的,所述残差值计算模块还进一步包括:

重建值生成子模块,用于对优先级最高的分组之外的分组的像素点,采用在先生成的当前分组的优先级之前的在先分组的像素点的量化残差值生成在先分组的像素点的重建值;

预测值生成子模块,用于采用所述在先分组的像素点的重建值,生成当前分组的像素点的预测值;

残差值生成子模块,用于将当前分组的像素点的原始像素值减去所述当前分组的像素点的预测值得到当前分组的像素点的残差值。

优选的,所述优先级最高的分组的量化系数设置为零,所述优先级最高的分组的像素点的残差值为像素点的量化差值。

优选的,所述重建值生成子模块进一步包括:

补零子模块,用于对所述在先分组中优先级最高的分组的像素点的量化残差值低位补零得到重建值,优先级最高的分组的像素点的重建值的位数与像素点的原始像素值的位数相同;

反量化重建子模块,用于对所述在先分组中非最高优先级的分组的像素点的量化残差值进行反量化处理,得到反量化残差值;将所述反量化残差值与像素点的预测值相加,得到重建值。

本申请实施例包括以下优点:

本申请实施例通过对视频帧像素块进行分组处理,获得不同优先级的分;依据分组的优先级计算各个分组像素点的残差值,然后依据分组的优先级对各个分组像素点的残差值进行量化处理。通过适当调整每个分组的量化系数以调整视频帧像素块的压缩效果。

本申请实施例中,优先级较低的分组的像素点的残差值需要根据优先级在前的在先分组的像素点的重建值生成,在先分组的像素点的重建值误差将传递到优先级在后的分组的像素点。像素点的重建值由像素点的残差值经量化处理得到的量化后残差值生成,像素点的量化系数大,生成的重建值误差越大。因此,在本申请实施例中,分组的优先级越高,设置的量化系数越小,以减少误差的传递;分组的优先级越低,设置的量化系数越大,以保证一定的压缩效果。

附图说明

图1是本申请的一种视频帧像素块的压缩方法实施例的步骤流程图;

图2是本申请的一种视频帧像素块的压缩装置实施例的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

本申请实施例的核心构思之一在于,通过对视频帧像素块进行分组处理,获得不同优先级的分;依据分组的优先级计算各个分组像素点的残差值,然后依据分组的优先级对各个分组像素点的残差值进行量化处理,分组的优先级越高,设置的量化系数越小;分组的优先级越低,设置的量化系数越大。

参照图1,示出了本申请的一种视频帧像素块的压缩方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101,获取视频帧像素块;

在超高清视频帧率上变换处理系统中,由于超高清视频帧率上变换处理系统的超高清视频帧率上变换处理内核需要针对固定形式的像素块进行处理(例如,64×2形式的像素块),因此视频帧数据需要被切分为多个像素块。

视频帧像素块在写入缓存之前,需要先进行压缩处理,以减少缓存的读写带宽。压缩处理可以包括:预测与残差处理,量化处理。

步骤102,对所述视频帧像素块中的像素点进行分组处理,获得不同优先级的分组;

对一个视频帧像素块中的像素点进行分组处理,获得不同优先级的分组。

步骤103,通过截取像素点的原始像素值中高位的预设数值的位数作为当前分组的像素点的残差值,或,采用在先生成的当前分组的优先级之前的在先分组的像素点的重建值计算当前分组的像素点的残差值;其中,部分在先分组的像素点的重建值由像素点的量化残差值生成;

依据各个分组的优先级顺序,从优先级高的分组开始计算各个分组的像素点的残差值。计算完成一个分组的像素点的残差值后,计算下一个分组的像素点的残差值。

像素点的残差值可以通过截取像素点的原始像素值中高位的预设数值的位数来生成,例如,像素点的原始像素值为11,1101,0100,截取原始像素值的高6位(得到11,1101),作为残差值。

像素点的残差值也可以通过在先各个分组的像素点的重建差值来生成;其中,部分在先分组的像素点的重建值由像素点的量化残差值生成;量化残差值由残差值经量化处理生成;假如分组的像素点的量化系数越大,量化残差值去掉的位数越多,生成的重建值与原始像素值的误差将越大。

步骤104,依据各个分组的优先级顺序,为当前分组设置量化系数,分组的优先级越高,设置的量化系数越小;分组的优先级越低,设置的量化系数越大;

由于当前分组的残差值需要通过在先分组的像素点的重建差值来生成,因此,在先分组的误差将会传递到当前分组的残差值中,为了减少分组之间传递的误差值,分组的优先级越高,设置的量化系数越小,像素点的重建值误差越小;分组的优先级越低,设置的量化系数越大,保证视频帧像素块的压缩效果。

在本申请实施例的一种优选示例中,可以将优先级最高的分组的量化系数设置为零,相当于不对优先级最高的分组的像素点进行量化处理,优先级最高的分组的像素点的残差值即为像素点的量化残差值。

另外,不同优先级的分组的量化系数可以设置为相同的量化系数。

步骤105,采用对应的量化系数对当前分组的像素点的残差值进行量化处理,生成量化残差值。

对各个分组的像素点的残差值,采用分组对应的量化系数进行量化处理。

本申请实施例通过对视频帧像素块进行分组处理,获得不同优先级的分;依据分组的优先级计算各个分组像素点的残差值,然后依据分组的优先级对各个分组像素点的残差值进行量化处理。通过适当调整每个分组的量化系数可以调整视频帧像素块的压缩效果。

本申请实施例中,优先级较低的分组的像素点的残差值需要根据优先级在前的在先分组的像素点的重建值生成,在先分组的像素点的重建值误差将传递到优先级在后的分组的像素点。像素点的重建值由像素点的残差值经量化处理得到的量化后残差值生成,像素点的量化系数大,生成的重建值误差越大。因此,在本申请实施例中,分组的优先级越高,设置的量化系数越小,以减少误差的传递;分组的优先级越低,设置的量化系数越大,以保证一定的压缩效果。

作为本申请实施例的一种优选示例,所述步骤102具体可以包括如下子步骤:

子步骤S11,确定待压缩块中的待分割的像素点区域;

首先将待压缩块划分为多个待分割的像素点区域;待分割的像素点区域的选取可以依据其中的亮度分量、色度分量来选取;

子步骤S12,将所述待分割的像素点区域均匀分割为两个子区域;

每一个待分割的像素点区域都均匀分割为两个子区域,当待分割的像素点区域中每行的像素点个数为偶数个数时,两个子区域的像素点相等;当待分割的像素点区域中每行的像素点个数为奇数个数时,其中一个子区域每行的像素点比另一个子区域每行的像素点多一个或少一个;

子步骤S13,针对各个子区域迭代均匀分割,直到未分割的像素点与已分割的像素点的间隔小于或等于1时,停止分割;

迭代均匀分割子区域,直到未分割的像素点与已分割的像素点的间隔小于或等于1时,停止分割;

子步骤S14,按照依次分割的结果生成各像素点的优先级;其中,未分割的像素点的优先级排序在已分割的像素点的优先级之后。

将使得待压缩块分成待分割的像素点区域的像素点,作为具有最高优先级的第一分组;

将使得由第一分组的像素点组成的待分割的像素点区域分割为两个子区域的像素点,作为具有第二优先级的第二分组;

将使得由第二分组的像素点组成子区域分割为两个子区域的像素点,作为具有第三优先级的第三分组;

……

直至已分割的像素点已分配完优先权,然后对未分割的像素点分配优先权。

在分组完成后,按照分组的优先级顺序,计算各个分组的像素点残差值;

作为本申请实施例的一种优选示例,所述步骤103具体可以包括如下子步骤:

子步骤S21,对优先级最高的分组的像素点,截取像素点的原始像素值中高位的预设数值的位数作为像素点的残差值。

对于优先级最高的分组,不需要通过参考其他像素点来生成残差值,而是通过截取原始像素值中高位的预设数值的位数作为像素点的残差值。

作为本申请实施例的一种优选示例,所述步骤103具体还可以包括如下子步骤:

子步骤S22,对优先级最高的分组之外的分组的像素点,采用在先生成的当前分组的优先级之前的在先分组的像素点的量化残差值生成在先分组的像素点的重建值;

由在先分组的像素点的量化残差值,生成在先分组的像素点的重建值。作为本申请实施例的一种优选示例,所述子步骤S22可以进一步包括:

子步骤S2001,对所述在先分组中优先级最高的分组的像素点的量化残差值低位补零得到重建值,优先级最高的分组的像素点的重建值的位数与像素点的原始像素值的位数相同;

对于非最高优先级的分组的像素点,其在先分组可以包括:优先级最高的分组,以及,在先的非最高优先级的分组。

在本申请实施例中,当优先级最高的分组的量化系数设置为零时,即相当于不对优先级最高的分组的像素点进行量化处理,因此优先级最高的分组的像素点的残差值即为像素点的量化残差值。

由于,优先级最高的分组的像素点的残差值是通过截取原始像素值中高位的预设数值的位数生成,因此,其重建值可以通过对量化残差值低位补零得到。

子步骤S2002,对所述在先分组中非最高优先级的分组的像素点的量化残差值进行反量化处理,得到反量化残差值;将所述反量化残差值与像素点的预测值相加,得到重建值。

在先分组中非最高优先级的分组的像素点的量化残差值是通过对残差值进行量化处理得到,因此,其重建值可以通过对量化残差值进行反量化处理得到。

子步骤S23,采用所述在先分组的像素点的重建值,生成当前分组的像素点的预测值;

采用在先各个分组的像素点的重建值,生成当前分组的像素点的预测值。

子步骤S24,将当前分组的像素点的原始像素值减去所述当前分组的像素点的预测值得到当前分组的像素点的残差值。

将当前分组的像素点的原始像素值减去当前分组的像素点的预测值即得到当前分组的像素点的残差值。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图2,示出了本申请的一种视频帧像素块的压缩装置实施例的结构框图,具体可以包括如下模块:

获取模块21,用于获取视频帧像素块;

分组模块22,用于对所述视频帧像素块中的像素点进行分组处理,获得不同优先级的分组;

残差值计算模块23,用于通过截取像素点的原始像素值中高位的预设数值的位数作为当前分组的像素点的残差值,或,采用在先生成的当前分组的优先级之前的在先分组的像素点的重建值计算当前分组的像素点的残差值;其中,部分在先分组的像素点的重建值由像素点的量化残差值生成;

量化系数设置模块24,用于依据各个分组的优先级顺序,为当前分组设置量化系数,分组的优先级越高,设置的量化系数越小;分组的优先级越低,设置的量化系数越大;

量化模块25,用于采用对应的量化系数对当前分组的像素点的残差值进行量化处理,生成量化残差值。

作为本申请实施例的一种优选示例,所述残差值计算模块23可以进一步包括:

截取子模块,用于对优先级最高的分组的像素点,截取像素点的原始像素值中高位的预设数值的位数作为像素点的残差值。

作为本申请实施例的一种优选示例,所述残差值计算模块23还可以进一步包括:

重建值生成子模块,用于对优先级最高的分组之外的分组的像素点,采用在先生成的当前分组的优先级之前的在先分组的像素点的量化残差值生成在先分组的像素点的重建值;

预测值生成子模块,用于采用所述在先分组的像素点的重建值,生成当前分组的像素点的预测值;

残差值生成子模块,用于将当前分组的像素点的原始像素值减去所述当前分组的像素点的预测值得到当前分组的像素点的残差值。

作为本申请实施例的一种优选示例,所述优先级最高的分组的量化系数可以设置为零,所述优先级最高的分组的像素点的残差值为像素点的量化差值。

作为本申请实施例的一种优选示例,所述重建值生成子模块可以进一步包括:

补零子模块,用于对所述在先分组中优先级最高的分组的像素点的量化残差值低位补零得到重建值,优先级最高的分组的像素点的重建值的位数与像素点的原始像素值的位数相同;

反量化重建子模块,用于对所述在先分组中非最高优先级的分组的像素点的量化残差值进行反量化处理,得到反量化残差值;将所述反量化残差值与像素点的预测值相加,得到重建值。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种视频帧像素块的压缩方法和一种视频帧像素块的压缩装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1