数据压缩方法及装置、计算机可读存储介质、终端与流程

文档序号:30615830发布日期:2022-07-02 00:57阅读:166来源:国知局
数据压缩方法及装置、计算机可读存储介质、终端与流程

1.本发明涉及数据处理领域,尤其涉及一种数据压缩方法及装置、计算机可读存储介质、终端。


背景技术:

2.在液晶显示器当中,局部调光技术可以通过将背光板划分为不同的“灯区”,并采用控制算法单独控制每个灯区的点亮,从而改进显示屏的性能、实现更高对比度范围的效果。局部调光(local dimming)点扩散函数(point spread function,psf)数据表就是将背光板分区点亮时测量得到的亮度数据表。具体而言:将整个液晶面板的背光板划分为一定数量的灯区,依次点亮每个灯区(或每个背光灯),每次点亮一个背光灯,对背光板上各个灯区亮度值进行测量,所有测量结果排布后的结果就是局部调光psf数据表,这种数据表中的数据呈现高斯分布特征,且在前后帧数据表间具有明显的帧间偏移(平移)特点。在硬件层面,若将局部调光psf数据表全部存储在缓存当中会消耗大量的资源,因此有必要通过压缩算法对原始数据表进行压缩处理,以节省带宽资源。
3.当前数据压缩中常用的现有技术有帧内预测、帧间预测、变长编码、变换编码等方式:
4.(1)帧内预测:通过对每一帧数据表选用类型值中的某模式,该模式指定了某个数据x的预测值(例如某种模式将已经解码的数据b的值作为数据x的预测值),一旦获取数据x的预测值,在传递数据时只需要传递x与b的差值即可,由于x与b的差值相较于x本身占用比特位数要少,从而可以达到节省带宽资源的效果。然而,此种技术适用于整体数值偏大的数据,而对于类似于局部调光psf数据表等呈现高斯分布特征的数据表而言,采用上述帧内预测技术则可能无法达到很好的压缩效果。
5.(2)帧间预测:通过利用前后帧的连续性降低数据的传输量,典型的方法是在参考帧中搜索与当前帧的编码块最匹配的参考块,并搜索由所述当前帧的编码块指向所述参考块的最佳运动矢量(motion vector,mv),以该参考块作为当前帧的编码块的预测块,当前帧的编码块减去对应的预测块得到残差块,这样在数据传递时只需要传递运动矢量mv以及残差块即可。然而,上述帧间预测技术往往需要获取帧间运动矢量mv,mv获取最大的复杂性在于最佳mv的搜索,这个过程极大增加了硬件模块设计的复杂性。
6.(3)变长编码:典型的变长编码技术有哈夫曼(huffman)编码,该编码技术的核心思想是在信源数据中出现概率越大的符号,相应的码越短;出现概率越小的符号,则码越长,从而达到用尽可能少的码符号表示源数据。后来基于哈夫曼编码的思想演变出各种熵编码算法。然而,当一帧数据可能有较多数值偏大的数据时(例如局部调光psf数据表),采用变长编码会导致数据占用的比特位数较多,无法实现好的压缩效果;而各种熵编码技术又涉及到符号概率的统计及传递、窗口滑动操作、二值化和递归运算等复杂操作,若在硬件的显示模块中加入这样复杂的编解码模块,将占用过多的芯片面积。
7.(4)变换编码有采用余弦变换方式,通过将数据由空域转换到频域,使得含有数值
更大的低频分量集中在矩阵的左上角位置,配合量化等方式在牺牲一部分精细程度的情况下实现数据的压缩。然而,由于采用量化的方式会对信息造成一定的损失,这对于要求精确数据的显示算法中是难以接受的。
8.综上,亟需一种数据压缩方法,能够对呈现高斯分布特征的高斯数据表进行有效压缩处理,在不损失原始信息、降低硬件设计复杂性和运算成本的同时,大幅减少数据占用的存储空间或带宽资源。


技术实现要素:

9.本发明解决的技术问题是如何利用待压缩的高斯数据表本身具备的高斯分布特征和帧间平移特性,在不损失原始信息、降低硬件设计复杂性和运算成本的同时,大幅减少数据占用的存储空间或带宽资源。
10.为解决上述技术问题,本发明实施例提供一种数据压缩方法,包括以下步骤:确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定所述当前帧高斯数据表中的高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量;确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的参考区域的数据之间的第一权重值,以及确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的映射区域的数据之间的第二权重值,其中,所述预测区域为所述当前帧高斯数据表中的高斯数据中心值周围的第一预设区域,所述参考区域为所述前一帧高斯数据表中的高斯数据中心值周围的第二预设区域,所述第一预设区域以及所述第二预设区域的形状和数据量一致,所述映射区域为采用所述偏移量对所述参考区域进行偏移得到的;根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值;将所述预测区域内的各个数据减去对应的预测值得到各个数据的残差值;对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据。
11.可选的,确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的参考区域的数据之间的第一权重值,以及确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的映射区域的数据之间的第二权重值包括:确定所述预测域的数据和所述参考区域的数据之间的第一相关系数和第一缩放值,以及确定所述预测区域的数据和所述映射区域的数据之间的第二相关系数和第二缩放值;根据所述第一相关系数、所述第二相关系数、所述第一缩放值确定所述第一权重值,以及根据所述第一相关系数、所述第二相关系数、所述第二缩放值确定所述第二权重值;其中,所述第一相关系数用于指示所述预测区域的数据和所述参考区域的数据之间的相关性程度,所述第二相关系数用于指示所述预测区域的数据和所述映射区域的数据之间的相关性程度。
12.可选的,所述第一相关系数和所述第二相关系数为皮尔逊相关系数;采用下述公式,确定所述预测区域的数据和所述参考区域的数据之间的第一相关系数和第一缩放值:
13.[0014][0015]
其中,r1用于指示所述预测区域的数据和所述参考区域的数据之间的第一相关系数;xi用于指示所述预测区域内的第i个数据的原始数据值,yi用于指示所述参考区域内的第i个数据的原始数据值;n用于指示所述预测区域或所述参考区域内的数据总量;scl1用于指示所述预测区域的数据和所述参考区域的数据之间的第一缩放值;
[0016]
和/或采用下述公式,确定所述预测区域的数据和所述映射区域的数据之间的第二相关系数和第二缩放值:
[0017][0018][0019]
其中,r2用于指示所述预测区域的数据和所述映射区域的数据之间的第二相关系数;xj用于指示所述预测区域内的第j个数据的原始数据值,zj用于指示所述映射区域内的第j个数据的原始数据值;n用于指示所述预测区域或所述映射区域内的数据总量;scl2用于指示所述预测区域的数据和所述映射区域的数据之间的第二缩放值。
[0020]
可选的,采用下述公式,根据所述第一相关系数、所述第二相关系数、所述第一缩放值确定所述第一权重值:
[0021][0022]
和/或采用下述公式,根据所述第一相关系数、所述第二相关系数、所述第二缩放值确定所述第二权重值:
[0023][0024]
其中,w1用于指示所述第一权重值;scl1用于指示所述第一缩放值;w2用于指示所述第二权重值;scl2用于指示所述第二缩放值;r1用于指示所述第一相关系数;r2用于指示所述第二相关系数。
[0025]
可选的,采用下述公式,根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值:
[0026]
xi'=w1yi+w2zi;
[0027]
其中,xi'用于指示所述预测区域内的第i个数据的预测值;yi用于指示所述参考区域内的第i个数据的原始数据值;zi用于指示所述映射区域内的第i个数据的原始数据值。
[0028]
可选的,对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据包括:对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行组划分,以得到一个或多个的数据组;对于每个数据组,确定该数据
组中的各个数据的绝对值中的最大值;根据所述数据组中的各个数据的绝对值中的最大值,确定该数据组中各个数据的编码比特位数,并采用所述编码比特位数对该数据组中的每个数据分别进行编码;将对所述当前帧高斯数据表中的每个数据组的各个数据进行编码后得到的数据作为所述压缩后数据。
[0029]
可选的,对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行组划分,以得到一个或多个数据组选自以下任一项:对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行平均划分,以得到一个或多个数据组;对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据,采用p
×
q个数据为一组进行划分,以得到一个或多个数据组,其中,p和q均为正整数。
[0030]
可选的,根据所述数据组中的各个数据的绝对值中的最大值,确定该数据组中各个数据的编码比特位数包括:如果该数据组中的数据存在负数,则将该数据组中各个数据的绝对值中的最大值所占用的比特位数加上一个比特位后,作为该数据组中各个数据的编码比特位数;如果所该数据组中的数据不存在负数,则将该数据组中各个数据的绝对值中的最大值所占用的比特位数作为该数据组中各个数据的编码比特位数。
[0031]
可选的,所述高斯数据表为点亮背光板上的一个或多个背光灯之后对所述背光板上的亮度值进行采集后得到的亮度数据,所述高斯数据表还满足以下一项或多项:所述高斯数据表中的高斯数据中心值对应于所述背光板上的亮度值的最大值;所述高斯数据表为局部调光psf数据表。
[0032]
可选的,所述第一预设区域和所述第二预设区域均为m
×
n个数据组成的区域,其中,m和n均为正整数。
[0033]
本发明实施例还提供一种数据压缩装置,包括:高斯特征数据与偏移量确定模块,用于确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定所述当前帧高斯数据表中的高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量;权重值确定模块,用于确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的参考区域的数据之间的第一权重值,以及确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的映射区域的数据之间的第二权重值,其中,所述预测区域为所述当前帧高斯数据表中的高斯数据中心值周围的第一预设区域,所述参考区域为所述前一帧高斯数据表中的高斯数据中心值周围的第二预设区域,所述第一预设区域以及所述第二预设区域的形状和数据量一致,所述映射区域为采用所述偏移量对所述参考区域进行偏移得到的;预测值确定模块,用于根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值;残差值计算模块,用于将所述预测区域内的各个数据减去对应的预测值得到各个数据的残差值;压缩处理模块,用于对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据。
[0034]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述数据压缩方法的步骤。
[0035]
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述数据压缩方法的步骤。
[0036]
可选的,所述终端为显示终端,所述显示终端包含背光板和多个背光灯;其中,当
所述背光灯被点亮时,所述背光板上的至少一部分区域的亮度值增大。
[0037]
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
[0038]
在本发明实施例中,首先确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定当前帧中的高斯数据中心值与前一帧中的高斯数据中心值之间的偏移量;然后确定当前帧中的预测区域的数据和前一帧中的参考区域的数据之间的第一权重值,以及确定当前帧中的预测区域的数据和前一帧中的映射区域的数据之间的第二权重值,其中,所述预测区域和所述参考区域的形状和数据量一致,所述映射区域为采用所述偏移量对所述参考区域进行偏移得到的;再根据所述第一权重值和第二权重值,确定所述预测区域内的各个数据的预测值;将预测区域内的各个数据减去对应的预测值得到各个数据的残差值;最后对预测区域内的各个数据的残差值和预测区域之外的各个数据进行压缩处理得到压缩后数据。相比于现有的各种数据压缩技术中,帧内预测对于具有高斯分布特征的高斯数据表而言,无法达到好的的压缩效果;帧间预测往往需要获取帧间最佳运动矢量mv,而最佳mv搜索过程会极大增加硬件复杂性;采用变长编码技术时,由于每帧高斯数据表可能存在较多数值偏大的数据,因此可能会导致数据表总体占用的比特位数较多,无法节省存储空间或带宽资源;而现有的各种熵编码技术又涉及到一些复杂的运算步骤,将占用显示模块过多的芯片面积、增加运算开销;此外,变换编码技术中采用的量化方式会对信息造成一定的损失。本发明的实施例从高斯数据表的本身的高斯分布和帧间平移规律入手,通过双权重系数计算方式直接得到当前帧预测区域内各个数据的预测值,然后计算预测区域内各个数据残差值,最后对当前帧预测区域内的各个数据的残差值与预测区域之外的其它数据的原始数据值进行压缩处理,既可以避免熵编码及mv计算过程造成的硬件设计复杂性和运算成本的增加,又能保证数据的完整性,有效减少数据占用的存储空间,节省带宽资源。
[0039]
进一步,对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理包括:对预测区域内的各个数据的残差值和预测区域之外的各个数据进行组划分,以得到一个或多个数据组;再对每个数据组,确定该数据组中各个数据的编码比特位数,并采用所述编码比特位数对该数据组中的每个数据分别进行编码;将对当前帧高斯数据表中的每个数据组的各个数据进行编码后得到的数据作为所述压缩后数据。在本发明实施例中,通过对当前帧高斯数据表中的各个数据进行组划分,对较小的数据采用较短的编码比特位数进行编码,而对较大的数据采用较长的编码比特位数进行编码,可以有效压缩数据,节省存储空间和带宽资源。此外,在进行组划分时,可以依据具体应用场景的不同需求对划分的数据组个数作出调整,从而达到最优的压缩效率和压缩效果。
附图说明
[0040]
图1是本发明实施例中一种数据压缩方法的流程图;
[0041]
图2本发明实施例中一种局部调光psf数据表的示意图;
[0042]
图3是图1中步骤s15的一种具体实施方式的流程图;
[0043]
图4是本发明实施例中另一种数据压缩方法的流程图;
[0044]
图5是本发明实施例中一种数据压缩装置的结构示意图。
具体实施方式
[0045]
如前所述,有必要通过压缩算法对高斯数据表进行压缩处理,以节省存储空间或带宽资源。
[0046]
在现有技术中,数据压缩的方法主要有帧内预测、帧间预测、变长编码、变换编码等:其中帧内预测是对每一帧数据表选用类型值中的某模式,该模式指定了某个数据x的预测值为b,在传递数据时只传递x与b的差值;帧间预测通过在参考帧中搜索与当前帧的编码块最匹配的参考块,并搜索由所述编码块指向参考块的最佳运动矢量,以该参考块作为当前帧的编码块的预测块,当前帧的编码块减去对应的预测块得到残差块,在数据传递时只需传递运动矢量以及残差块;变长编码技术是通过对不同源数据采用不同长度的码,达到用尽可能少的码符号表示源数据的效果;然而,此种技术适用于整体数值偏大的数据,而对于类似于局部调光psf数据表等待压缩数据(每一帧数据呈现高斯函数分布特征)而言,采用上述帧内预测技术则可能无法达到很好的压缩效果;变换编码技术中则配合量化等方式在牺牲一部分精细程度的情况下实现数据的压缩。
[0047]
本发明的发明人经研究发现,帧内预测技术适用于整体数值偏大的数据,而对于类似于局部调光psf数据表等呈现高斯分布特征的数据表而言,无法达到很好的压缩效果;而现有的帧间预测技术在最佳mv的搜索过程中,极大增加了硬件模块设计的复杂性;而当一帧数据可能有较多数值偏大的数据时(例如呈高斯分布特征的高斯数据表),采用变长编码会导致数据占用的比特位数较多,无法有效节省带宽资源;此外,变换编码过程中涉及的量化方式往往会造成原始数据的损失。
[0048]
在本发明实施例中,首先确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定当前帧中的高斯数据中心值与前一帧中的高斯数据中心值之间的偏移量;然后确定当前帧中的预测区域的数据和前一帧中的参考区域的数据之间的第一权重值,以及确定当前帧中的预测区域的数据和前一帧中的映射区域的数据之间的第二权重值,其中,所述预测区域和所述参考区域的形状和数据量一致,所述映射区域为采用所述偏移量对所述参考区域进行偏移得到的;再根据所述第一权重值和第二权重值,确定所述预测区域内的各个数据的预测值;将预测区域内的各个数据减去对应的预测值得到各个数据的残差值;最后对预测区域内的各个数据的残差值和预测区域之外的各个数据进行压缩处理得到压缩后数据。相比于现有的各种数据压缩技术中,帧内预测对于具有高斯分布特征的高斯数据表而言,无法达到好的的压缩效果;帧间预测往往需要获取帧间最佳运动矢量mv,而最佳mv搜索过程会极大增加硬件复杂性;采用变长编码技术时,由于每帧高斯数据表可能存在较多数值偏大的数据,因此可能会导致数据表总体占用的比特位数较多,无法节省存储空间或带宽资源;而现有的各种熵编码技术又涉及到一些复杂的运算步骤,将占用显示模块过多的芯片面积、增加运算开销;此外,变换编码技术中采用的量化方式会对信息造成一定的损失。本发明的实施例从高斯数据表的本身的高斯分布和帧间平移规律入手,通过双权重系数计算方式直接得到当前帧预测区域内各个数据的预测值,然后计算预测区域内各个数据残差值,最后对当前帧预测区域内的各个数据的残差值与预测区域之外的其它数据的原始数据值进行压缩处理,既可以避免熵编码及mv计算过程造成的硬件设计复杂性和运算成本的增加,又能保证数据的完整性,有效减少数据占用的存储空间,节省带宽资源。
[0049]
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本
发明的具体实施例做详细说明。
[0050]
参照图1,图1是本发明实施例中一种数据压缩方法的流程图。所述方法可以包括步骤s11至步骤s15:
[0051]
步骤s11:确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定所述当前帧高斯数据表中的高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量;
[0052]
步骤s12:确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的参考区域的数据之间的第一权重值,以及确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的映射区域的数据之间的第二权重值,其中,所述预测区域为所述当前帧高斯数据表中的高斯数据中心值周围的第一预设区域,所述参考区域为所述前一帧高斯数据表中的高斯数据中心值周围的第二预设区域,所述第一预设区域以及所述第二预设区域的形状和数据量一致,所述映射区域为采用所述偏移量对所述参考区域进行偏移得到的;
[0053]
步骤s13:根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值;
[0054]
步骤s14:将所述预测区域内的各个数据减去对应的预测值得到各个数据的残差值;
[0055]
步骤s15:对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据。
[0056]
可以理解的是,在具体实施中,所述方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中;或者,该方法可以采用硬件或者软硬结合的方式来实现。
[0057]
在步骤s11的具体实施中,所述高斯数据表可以是呈现高斯分布特征和帧间平移特征的各种数据表。具体地,高斯分布(gaussian distribution)又可以称为正态分布(normal distribution),高斯分布曲线呈钟型,两头低,中间高,曲线的高峰位于正中央,以均数为中心,左右对称,由均数所在处开始,分别向左右两侧逐渐均匀下降。所以,高斯数据表中数值偏大的数据数量较多且较为集中,所述高斯数据中心值就是高斯数据表中的各个数据中的最大值,也就是高斯分布曲线的峰值。
[0058]
具体地,作为一种典型的具有高斯分布特征的高斯数据表——局部调光psf数据表,是在电视芯片、手机芯片、手表芯片等各种显示终端的芯片中的数字信号处理器(digital signal processor,dsp)的局部调光(local dimming)模块使用到的一种亮度数据表,该数据表可以通过将背光板划分为一定数量的灯区,依次点亮每个灯区(或每个背光灯),每次点亮一个背光灯,对背光板上各个灯区亮度值进行测量,所有测量得到的亮度值排布后的结果就是局部调光psf数据表。单帧局部调光psf数据表中的各个数据的原始数据值对应于点亮单个背光灯后,背光板上各个灯区的亮度值;局部调光psf数据表中的高斯数据中心值对应于背光板上各个灯区的亮度值的最大值。
[0059]
具体地,所述前一帧高斯数据表和当前帧高斯数据表可以是分别点亮左右相邻或上下相邻的两个背光灯后获得的两帧亮度数据表。
[0060]
在步骤s12的具体实施中,所述第一预设区域和第二预设区域中除了应当包括高斯数据表的高斯中心值(即最大值),还应当至少包含高斯数据表中其它数值相对较大的数
据。在不同的应用场景中,所述第一预设区域和第二预设区域的形状和数据量可能存在区别,例如显示终端而言,由于不同显示终端的显示屏尺寸和分辨率不同,背光板上可能具有数十至数百个灯区,因此每次测量得到的单帧局部调光psf数据表中的数据量也存在区别。对于屏幕很大或分辨率要求高的高端电视芯片,对分辨率及显示效果更为敏感,灯区划分及测量更为精细,局部调光psf数据表更大,因此预测区域需要更大;而对于显示要求较低的手机、手表等芯片,预测区域可能更小。
[0061]
需要指出的是,对于局部调光psf数据表而言,所述第一预设区域和第二预设区域的形状和数据量大小与被点亮的背光灯的亮度辐射范围呈正相关。
[0062]
具体地,所述偏移量是一个矢量,包含方向和数值。所述当前帧高斯数据表中高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量,指的是当前帧的高斯数据中心值指向前一帧的高斯数据中心值的矢量。
[0063]
在一些非限制性的实施例中,所述第一预设区域和第二预设区域可以均为m
×
n个数据组成的区域,其中,m和n均为正整数,m和n可以相同,也可以不同;所述第一预设区域和第二预设区域可以为形状和数据量一致的六边形区域,还可以为形状和数据量一致其它规则多边形或不规则区域。本发明实施例对于所述第一预设区域和第二预设区域的具体选取不做限制。
[0064]
参照图2,图2本发明实施例中一种局部调光psf数据表的示意图。
[0065]
上下两帧局部调光psf数据表分别表示所述前一帧高斯数据表和所述当前帧高斯数据表,每帧局部调光psf数据表中的12
×
16个数据分别对应于背光板上12
×
16个灯区的亮度值。观察图2中的两帧局部调光psf数据表中各个数据的大小及分布情况可以发现,表中数值偏大的数据分布都较为集中,且每一个表都存在峰值(即高斯数据中心值),距离峰值越远的区域,数值迅速减小,整体呈现出高斯分布特征。
[0066]
此外,前后两帧局部调光psf数据表的数据之间,还存在明显的帧间平移特点,平移方向为行扫面方向(或者由左至右点亮背光灯的方向)。具体地,前一帧局部调光psf数据表中的第1行第4个数据为峰值数据(高斯数据中心值),后一帧局部调光psf数据表中的第1行第5个数据为峰值数据(高斯数据中心值),且两帧局部调光psf数据表中的峰值数据周围一定范围内的数据也具有相同的偏移关系。因此,可以确定所述当前帧高斯数据表中高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量的数值为1,方向为由右指向左。
[0067]
在上下两帧局部调光psf数据表中,选取包含峰值在内的8
×
8个数值较大的数据(虚线框框出的区域)分别作为所述参考区域和所述预测区域。然后采用所述偏移量,对前一帧中的参考区域进行偏移(即由右向左平移1位)得到映射区域,从而可以使得当前帧的预测区域和前一帧的映射区域处于局部调光psf数据表中的相同位置,且所述预测区域中各个数据的位置与所述映射区域中各个数据的位置一一对应且相同。
[0068]
在确定当前帧的预测区域、前一帧的参考区域和映射区域之后,分别计算当前帧的预测区域中的各个数据与前一帧的参考区域中的各个数据之间的第一权重值,以及当前帧的预测区域中的各个数据与前一帧的映射区域中的各个数据之间的第二权重值;根据计算得到的双权重值确定所述预测区域中各个亮度数据的预测值;再将所述预测区域中各个数据的原始数据值减去对应的预测值得到各个数据的残差值;最后对当前帧的预测区域内
的残差值和预测区域之外(非阴影区域)的各个数据的原始数据值进行压缩处理得到压缩后数据。
[0069]
继续参照图1,在步骤s13的具体实施中,所述第一权重值可以用于指示所述预测区域中的各个数据与所述参考区域中的各个数据的相关性程度或相似性程度;所述第二权重值用于指示所述预测区域中的各个数据与所述映射区域中的各个数据的相关性或相似性程度。所述第一权重值或所述第二权重值越大,则说明各个区域的数据之间的相关性程度越高。
[0070]
在步骤s14的具体实施中,所述将所述预测区域内的各个数据减去对应的预测值得到各个数据的残差值,具体是将所述预测区域内的各个数据的原始数据值减去对应的预测值得到各个数据的残差值。
[0071]
可以理解的是,相比于各个数据的原始数据值,各个数据的残差值显然会更小,在后续数据传递中,对于所述预测区域的各个数据,只需对其残差值进行编码即可,编码比特位数减少,特别是在所述预测区域的各个数据的原始数据值偏大、占用的比特位数较多的情况下,通过对残差值而非原始数据值进行编码,可以大幅减少数据占用的比特位数。
[0072]
在步骤s15的具体实施中,在进行压缩处理时,对于当前帧高斯数据而言,仅仅是将所述预测区域的各个数据的原始数据值替换为残差值,预测区域之外的各个数据的原始数据值本身整体偏小,数值并未发生变化,且当前帧高斯数据表中所述预测区域内的各个数据和所述预测区域之外的各个数据之间的位置保持不变。
[0073]
在本发明实施例中,相比于现有的各种数据压缩技术,帧内预测对于具有高斯分布特征的高斯数据表而言,无法达到好的的压缩效果;帧间预测往往需要获取帧间最佳运动矢量mv,而最佳mv搜索过程会极大增加硬件复杂性;而采用变长编码技术时,由于每帧高斯数据表可能存在较多数值偏大的数据,因此可能会导致数据表总体占用的比特位数较多,无法节省存储空间或带宽资源;而现有的各种熵编码技术又涉及到一些复杂的运算步骤,将占用显示模块过多的芯片面积、增加运算开销;此外,变换编码技术中采用的量化方式会对信息造成一定的损失;本发明的实施例从高斯数据表的本身的高斯分布和帧间平移规律入手,通过双权重系数计算方式直接得到当前帧预测区域内各个数据的预测值,然后计算预测区域内各个数据残差值,最后对当前帧预测区域内的各个数据的残差值与预测区域之外的其它数据的原始数据值进行压缩处理,既可以避免熵编码及mv计算过程造成的硬件设计复杂性和运算成本的增加,又能保证数据的完整性,有效减少数据占用的存储空间,节省带宽资源。
[0074]
参照图3,图3是图1中步骤s15的一种具体实施方式流程图。对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据可以包括步骤s31至步骤s34,以下对各个步骤进行说明。
[0075]
在步骤s31中,对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行组划分,以得到一个或多个数据组。
[0076]
进一步,对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行组划分,以得到一个或多个数据组选自以下任一项:对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行平均划分,以得到一个或多个数据组;对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据,采用p
×
q个数据为一组
进行划分,以得到一个或多个数据组,其中,p和q均为正整数,p和q可以相同也可以不同。
[0077]
在具体实施中,进行组划分时,上述两种划分方式仅作为非限制性的实施例,还可以采用合适的划分方式对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行组划分,本发明实施例对此不做限制。
[0078]
在步骤s32中,对于每个数据组,确定该数据组中的各个数据的绝对值中的最大值。
[0079]
在步骤s33中,根据所述数据组中的各个数据的绝对值中的最大值,确定该数据组中各个数据的编码比特位数,并采用所述编码比特位数对该数据组中的每个数据分别进行编码。
[0080]
进一步,根据所述数据组中的各个数据的绝对值中的最大值,确定该数据组中各个数据的编码比特位数包括:如果该数据组中的数据存在负数,则将该数据组中各个数据的绝对值中的最大值所占用的比特位数加上一个比特位后,作为该数据组中各个数据的编码比特位数;如果所该数据组中的数据不存在负数,则将该数据组中各个数据的绝对值中的最大值所占用的比特位数作为该数据组中各个数据的编码比特位数。
[0081]
作为一个非限制性的实施例,对于当前帧高斯数据表,在对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行组划分,得到多个数据组后,其中某个数据组中的各个数据的绝对值中的最大值为265,占用9个比特位数(具体计算方式例如可以为:n为各个数据的绝对值中的最大值,为向上取整符号),且数据组中的数据存在负数,则需要加上1个符号位,因此在编码时采用10个比特位对该组中的每个数据进行编码;而另一个数据组中的各个数据的绝对值中的最大值为3,且不存在负数,此时仅需要以3个比特位数对该数据组中的每个数据进行编码即可,远小于定长编码时需要用到的16个比特位数,从而可以大幅减缓硬件带宽的占用压力。
[0082]
在步骤s34中,将对所述当前帧高斯数据表中的每个数据组的各个数据进行编码后得到的数据作为所述压缩后数据。
[0083]
在本发明实施例中,通过对当前帧高斯数据表中的各个数据进行组划分,对较小的数据采用较短的编码比特位数进行编码,而对较大的数据采用较长的编码比特位数进行编码,可以有效压缩数据,节省存储空间和带宽资源。此外,在进行组划分时,可以依据具体应用场景的不同需求对划分的数据组个数作出调整,从而达到最优的压缩效率和压缩效果。
[0084]
在具体实施中,有关步骤s31至步骤s34的更多详细内容请参照前文以及图1、图2中的相关描述进行执行,此处不再赘述。
[0085]
参照图4,图4是本发明实施例中另一种数据压缩方法的流程图。所述另一种数据压缩方法可以包括步骤s41至步骤s46,以下对各个步骤进行说明。
[0086]
在步骤s41中,确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定所述当前帧高斯数据表中的高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量。
[0087]
在步骤s42中,确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的参考区域的数据之间的第一相关系数和第一缩放值,以及确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的映射区域的数据之间的第二
相关系数和第二缩放值。
[0088]
其中,所述预测区域为所述当前帧高斯数据表中的高斯数据中心值周围的第一预设区域,所述参考区域为所述前一帧高斯数据表中的高斯数据中心值周围的第二预设区域,所述第一预设区域以及所述第二预设区域的形状和数据量一致,所述映射区域为采用所述偏移量对所述参考区域进行偏移得到的。
[0089]
其中,所述第一相关系数用于指示所述预测区域的数据和所述参考区域的数据之间的相关性程度,所述第二相关系数用于指示所述预测区域的数据和所述映射区域的数据之间的相关性程度。
[0090]
进一步,所述第一相关系数和所述第二相关系数为皮尔逊相关系数;采用下述公式,确定所述预测区域的数据和所述参考区域的数据之间的第一相关系数和第一缩放值:
[0091][0092][0093]
其中,r1用于指示所述预测区域的数据和所述参考区域的数据之间的第一相关系数;xi用于指示所述预测区域内的第i个数据的原始数据值,yi用于指示所述参考区域内的第i个数据的原始数据值;n用于指示所述预测区域或所述参考区域内的数据总量;scl1用于指示所述预测区域的数据和所述参考区域的数据之间的第一缩放值;
[0094]
和/或采用下述公式,确定所述预测区域的数据和所述映射区域的数据之间的第二相关系数和第二缩放值:
[0095][0096][0097]
其中,r2用于指示所述预测区域的数据和所述映射区域的数据之间的第二相关系数;xj用于指示所述预测区域内的第j个数据的原始数据值,zj用于指示所述映射区域内的第j个数据的原始数据值;n用于指示所述预测区域或所述映射区域内的数据总量;scl2用于指示所述预测区域的数据和所述映射区域的数据之间的第二缩放值。
[0098]
具体地,皮尔逊相关系数(pearson correlation coefficient,pcc),又称皮尔逊积矩相关系数(pearson product-moment correlation coefficient,ppmcc),是用于度量两个变量x和y之间的相关(线性相关)性程度的一种系数,其值介于-1与1之间。该系数的值为1意味着x和y可以很好的由直线方程来描述,所有的数据点都很好的落在一条直线上,且y随着x的增加而增加;该系数的值为-1意味着所有的数据点都落在直线上,且y随着x的增加而减少;该系数的值为0意味着x和y之间没有线性关系。
[0099]
在步骤s43中,根据所述第一相关系数、所述第二相关系数、所述第一缩放值确定所述预测区域的数据和所述参考区域的数据之间的第一权重值,以及根据所述第一相关系数、所述第二相关系数、所述第二缩放值确定所述预测区域的数据和所述映射区域的数据之间的第二权重值。
[0100]
进一步,采用下述公式,根据所述第一相关系数、所述第二相关系数、所述第一缩放值确定所述第一权重值:
[0101][0102]
和/或采用下述公式,根据所述第一相关系数、所述第二相关系数、所述第二缩放值确定所述第二权重值:
[0103][0104]
其中,w1用于指示所述第一权重值;scl1用于指示所述第一缩放值;w2用于指示所述第二权重值;scl2用于指示所述第二缩放值;r1用于指示所述第一相关系数;r2用于指示所述第二相关系数。
[0105]
在步骤s44中,根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值。
[0106]
进一步,采用下述公式,根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值:
[0107]
xi'=w1yi+w2zi;
[0108]
其中,xi'用于指示所述预测区域内的第i个数据的预测值;yi用于指示所述参考区域内的第i个数据的原始数据值;zi用于指示所述映射区域内的第i个数据的原始数据值。
[0109]
在步骤s45中,将所述预测区域内的各个数据减去对应的预测值得到各个数据的残差值。
[0110]
在步骤s46中,对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据。
[0111]
在具体实施中,有关步骤s41至步骤s46的更多详细内容请参照前文以及图1至图3中的步骤描述进行执行,此处不再赘述。
[0112]
参照图5,图5是本发明实施例中一种数据压缩装置的结构示意图。所述数据压缩装置可以包括:
[0113]
高斯特征数据与偏移量确定模块51,用于确定前一帧高斯数据表和当前帧高斯数据表的数据,并确定所述当前帧高斯数据表中的高斯数据中心值与前一帧高斯数据表中的高斯数据中心值之间的偏移量;
[0114]
权重值确定模块52,用于确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的参考区域的数据之间的第一权重值,以及确定所述当前帧高斯数据表中的预测区域的数据和所述前一帧高斯数据表中的映射区域的数据之间的第二权重值,其中,所述预测区域为所述当前帧高斯数据表中的高斯数据中心值周围的第一预设区域,所述参考区域为所述前一帧高斯数据表中的高斯数据中心值周围的第二预设区域,所述第一预设区域以及所述第二预设区域的形状和数据量一致,所述映射区域为采用所述偏移量
对所述参考区域进行偏移得到的;
[0115]
预测值确定模块53,用于根据所述第一权重值和所述第二权重值,确定所述预测区域内的各个数据的预测值;
[0116]
残差值计算模块54,用于将所述预测区域内的各个数据减去对应的预测值得到各个数据的残差值;
[0117]
压缩处理模块55,用于对所述预测区域内的各个数据的残差值和所述预测区域之外的各个数据进行压缩处理得到压缩后数据。
[0118]
关于该数据压缩装置的原理、具体实现和有益效果请参照前文及图1至图4示出的关于数据压缩方法的相关描述,此处不再赘述。
[0119]
在具体实施中,上述数据压缩装置可以对应于数据压缩功能的芯片;或者对应于终端中具有数据压缩功能的芯片模组,或者对应于终端。
[0120]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述数据压缩方法的步骤。所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
[0121]
具体地,在本发明实施例中,所述处理器可以为中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0122]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称ram)可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
[0123]
本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述数据压缩方法的步骤。所述终端可以包括但不限于手机、计算机、平板电脑、手表等终端设备,还可以为服务器、云平台等。
[0124]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算
机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0125]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0126]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
[0127]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
[0128]
本技术实施例中出现的“多个”是指两个或两个以上。
[0129]
本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
[0130]
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
[0131]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所
限定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1