压缩方法与相关的电子装置与流程
未命名
07-22
阅读:99
评论:0
1.本发明涉及一种通过量化的数据压缩方法。
背景技术:
2.为了降低图像的数据量,一般来说可以通过量化(quantization)的数据压缩(data compression)方法来进行,其中压缩后的数据量主要取决于码本(codebook)中码字(codeword)的个数,亦即每个码字的索引值(index)需要使用几个比特来表示,而每个数据单元的数据量(例如,每一个像素的亮度值)便可以使用比特数较少的索引值来替代,以供后续的存储或传输。此外,为了尽可能地减少压缩失真,会希望每个数据单元与其最相近的码字之间的差异越小越好,因此,常见的做法可以通过预测器(predictor)或变换(transform)以使得数据的分布尽可能地集中在0附近,并通过非均匀(non-uniform)量化的方式来得到较小的量化误差。
3.然而,当预测器失准、或者变换无法是数据的稀疏表示(sparse representation)时,此时数据可能会与0差距很大、甚至会超出码本的边界而发生过载(overload)的现象。一般要解决过载问题,最直接的做法是增加码字个数,但这种做法也会增加数据量;此外,也可以通过扩展码本的边界来避免数据超出码本的数值边界,但这可能会使码本的采样率(sampling rate)较低而产生较严重的粒状噪声(granular noise)与边缘毛躁(edge busyness)。
技术实现要素:
4.因此,本发明的目的之一在于提出一种自适应(adaptive)的数据压缩方法,其可以在避免过载的情形下,尽可能地减少额外数据量并降低粒状噪声与边缘毛躁的程度,以解决先前技术中所述的问题。
5.在本发明的一个实施例中,提供了一种压缩方法,包括以下步骤:设置一量化函数;设置多个缩放因子;接收一图像数据;针对该图像数据中一帧的块,使用一变换矩阵来对该块的数据进行变换以计算出多个变换后的数据;根据该多个变换后的数据从该多个缩放因子中确定出一特定缩放因子;使用该量化函数来对多个调整后的数据进行量化操作,以产生压缩后的数据,其中该多个调整后数据为通过该多个变换后的数据与该特定缩放因子来得到。
6.在本发明的一个实施例中,提供了一种电子装置,其包括一压缩电路,其中该压缩电路设置了一量化函数以及多个缩放因子,且该压缩电路包含有一缩放因子判定电路与一量化电路。该缩放因子判定电路,用以接收该图像数据,并针对该图像数据中一帧的块,使用一变换矩阵来对该块的数据进行变换以计算出多个变换后的数据,且根据该多个变换后的数据,从该多个缩放因子中确定出一特定缩放因子。该量化电路,耦接于该缩放因子判定电路,且用以使用该量化函数来对多个调整后的数据进行量化操作,以产生压缩后的数据,其中该多个调整后的数据为通过该多个变换后的数据与该特定缩放因子来得到。
附图说明
7.图1为根据本发明一实施例的电子装置的示意图。
8.图2为根据本发明一实施例的压缩方法的流程图。
9.附图标记说明:
10.100-电子装置
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
110-图像捕获设备
ꢀꢀꢀꢀꢀ
120-压缩电路
11.122-缩放因子判定电路 124-量化电路
ꢀꢀꢀꢀꢀꢀꢀꢀ
130-存储元件
[0012][0013]
140-图像处理电路
ꢀꢀ
200~214-步骤
具体实施方式
[0014]
图1为根据本发明一实施例的电子装置100的示意图。如图1所示,电子装置100包括一图像捕获设备110、一压缩电路120、一存储元件130以及一图像处理电路140,其中压缩电路120包括一缩放因子判定电路122以及一量化电路124。在本实施例中,电子装置100可以是任何可以拍摄图像的电子装置,例如数码相机、笔记本电脑、手机、或是安装了摄像头的台式电脑。
[0015]
在电子装置100的操作中,图像捕获设备110会拍摄外部环境以产生多组图像数据,例如多个连续的图像帧。接着,为了降低多组图像数据的数据量,压缩电路120会对多组图像数据进行数据压缩,以产生多组压缩后图像数据,并将该多组压缩后图像数据存储到存储元件130中。之后,图像处理电路140再读取存储元件130所存储的该多组压缩后的图像数据,并对该多组压缩后的图像数据进行一些图像处理操作,例如降低噪声操作,以产生一处理后图像数据到后端电路。此外,如背景技术中所述,传统的压缩电路可能会出现过载现象、数据量增加、粒状噪声或是边缘毛躁等问题,因此,本实施例提出的压缩电路120采用了自适应(adaptive)的数据压缩方法,其可以根据目前所处理的图像数据的内容来采用不同的缩放因子,以在避免过载的情形下,尽可能地减少额外数据量并降低粒状噪声与边缘毛躁的程度。此外,上述的图像捕获设备110及图像处理电路140的操作已为本领域中具有普通知识的技术人员所熟知,且并非是本发明的重点,故以下内容仅针对压缩电路120的内容来进行说明。
[0016]
首先,压缩电路120会先被设置一个值域范围为[-r,r]的量化函数q(x),其中r可以是任意合适的数值,例如“2048”,亦即当数值范围介于
“‑
2048”~“2048”之间时,量化函数q(x)的操作不会有过载(overload)的问题。
[0017]
接着,压缩电路120会先被设定为具有一组缩放因子,其中该组缩放因子包含了1、s0、s1、
…
、s
n-1
,其中sk=2k。举例来说,假设n等于4,则该组缩放因子包含了1、2、4、8,四个缩放因子。此外,针对压缩电路120在处理时所有可能的数据d,都存在一个倍率sk而使得具体来说,假设压缩电路120每一次所处理的一个块包含了1*8个像素,而每一个像素的亮度值是以12比特来表示,而压缩电路120在进行压缩过程中会将通过一变换矩阵,例如8*8的阿达玛矩阵(hadamard),来将1*8个像素的亮度值变换至频域以得到变换后的数据。详细来说,参考以下的公式:
[0018]
其中d1~d8分别表示1*8个像素的亮度值,而d1’~d8’分别表示变换后的数据。在8*8的阿达玛矩阵中,第一列(row)为直流系数,而第2~8列则为高频系数,而在本实施例中,为通过高频系数所计算出的变换后的数据d2’~d8’来设定该组缩放因子,也就是上述“压缩电路120在处理时所有可能的数据d”指的是对应到高频的变换后的数据d2’~d8’。举例来说,假设d1~d8分别为(2
12-1)、(2
12-1)、(2
12-1)、(2
12-1)、0、0、0、0,则通过阿达玛矩阵第5列的高频系数所计算出的变换后的数据d5’为4*(2
12-1)-4*0《2
14
,而由于上述变换后的数据d5’为压缩电路120在处理时的最大值,故可以设定最大缩放因子为8,以使得4*(2
12-1)-4*0《2
14
=8*r,其中r为2048。
[0019]
接着,在压缩电路120接收来自图像捕获设备110的图像数据并进行压缩的过程中,首先,针对每一个块,缩放因子判定电路122会使用阿达玛矩阵来计算出对应到高频的多个变换后的数据,并根据对应到高频的多个变换后的数据中的最大值来确定出多个变换后的数据的缩放因子。就上述公式(1)来进行说明,缩放因子判定电路122可以根据变换后的数据d2’~d8’中取绝对值后的最大值m,并找到可以满足的最小的缩放因子sk,其中所确定出的最小的缩放因子sk为供所有的变换后的数据d2’~d8’使用。举例来说,假设r=2048,若是变换后的数据d2’~d8’中取绝对值后的最大值m小于2048,则缩放因子判定电路122可以确定缩放因子为“2”;若是变换后的数据d2’~d8’中取绝对值后的最大值m介于2048~4096之间,则缩放因子判定电路122可以确定缩放因子为“2”;若是变换后的数据d2’~d8’中取绝对值后的最大值m介于4096~8192之间,则缩放因子判定电路122可以确定缩放因子为“4”;而若是变换后的数据d2’~d8’中取绝对值后的最大值m介于8192~16384之间,则缩放因子判定电路122可以确定缩放因子为“8”。
[0020]
在缩放因子判定电路122的操作中,使用满足的缩放因子是为了避免背景技术中所提到的过载现象(也就是,变换后的数据的数值超出量化函数q(x)的值域范围为[-r,r]),而选择满足的最小的缩放因子sk则是为了避免后续解码时产生粒状噪声及图像边缘毛躁的现象。
[0021]
在确定缩放因子之后,量化电路124根据使用缩放因子来调整变换后的数据d2’~d8’所产生的调整后的数据(也就是,(d2’/sk)~(d8’/sk))来进行量化操作,以产生压缩后的数据,也就是量化电路124使用量化函数q(d2’/sk)来计算出对应到变换后的数据d2’的压缩后的数据、使用量化函数q(d3’/sk)来计算出对应到变换后的数据d3’的压缩后的数
据、
…
、使用量化函数q(d8’/sk)来计算出对应到变换后的数据d8’的压缩后的数据。此外,由于通过阿达玛矩阵第1列的直流系数所计算出的变换后的数据d1’可能会具有较高的数值,故量化电路124可以独立地对变换后的数据d1’来进行量化操作,以产生对应到变换后的数据d1’的压缩的数据。
[0022]
接着,压缩电路120将压缩后的数据暂存至存储元件130。图像处理电路140使用内部的一解压电路,以对应于量化函数q(x)的一反量化函数以及每一个块所对应的缩放因子来对压缩后的数据进行解压以得到解压后的数据,也就是,针对每一个块,解压电路所接收到的内容包含q(d’/sk)与数值“k”,而解压电路计算出的解压后的数据其中q-1
为反量化函数,d’包含了变换后的数据d2’~d8’。
[0023]
在以上的实施例中,由于对应到高频的变换后的数据d2’~d8’共用相同的缩放因子sk,因此可以避免缩放因子sk的数据量过大而影响到整体的压缩后的数据。且通过决定出满足的最小的缩放因子sk,可以在避免过载的情形下,尽可能地减少额外数据量并降低粒状噪声与边缘毛躁的程度。
[0024]
举一例子来进行说明,假设压缩电路120每一次所处理的一个块包含了8个像素,而每一个像素的亮度值为12比特,则本实施例中可以对变换后的数据d1’进行量化操作以产生13比特的压缩后的数据,并对每一个变换后的数据d2’~d8’进行量化操作以产生7比特的压缩后的数据(也就是,码本的码字个数为128个),再加上四个缩放因子可以使用2比特来表示,故压缩电路120所产生的数据量可以是64个比特(也就是13+7*7+2=64),而对于一个块的8个像素来说平均每个像素的压缩后的数据为8比特。因此,本实施例可以在有效对图像数据进行压缩的情形下,同时地避免过载且改善粒状噪声与边缘毛躁的现象。
[0025]
需注意的是,以上块的大小以及阿达玛矩阵的大小与内容仅是作为范例说明,而非是本发明的限制。在其他的实施例中,压缩电路120一次所处理的块大小及对应的阿达玛矩阵可以根据设计者的考量以及图像内容而有所改变。
[0026]
图2为根据本发明一实施例的压缩方法的流程图。同时参考图1、2及以上实施例的内容,本实施例的压缩方法的流程如下所述。
[0027]
步骤200:流程开始。
[0028]
步骤202:设置一个值域范围为[-r,r]的量化函数q(x)。
[0029]
步骤204:设置多个缩放因子1、s0、s1、
…
、s
n-1
,其中sk=2k,且针对在处理时所有可能的数据d,均存在一个因子sk而使得
[0030]
步骤206:接收来自图像捕获设备的图像数据。
[0031]
步骤208:针对图像数据中一帧的每一个块,使用一变换矩阵来对该块的数据进行变换以计算出对应到高频的多个变换后的数据,并根据该多个变换后的数据中的最大值来确定一特定缩放因子。
[0032]
步骤210:使用量化函数q(x)来对多个调整后的数据进行量化操作,以产生压缩后的数据,其中该多个调整后的数据为通过该多个变换后的数据与该特定缩放因子来得到。
[0033]
步骤212:将该压缩后的数据暂存至存储元件。
[0034]
步骤214:使用对应于量化函数q(x)的一反量化函数以及该缩放因子来对该压缩后的数据进行解压。
[0035]
在以上的实施例中,所使用的阿达玛矩阵的高频系数只具有水平方向,然而,在其他的实施例中,压缩电路120所使用的阿达玛矩阵可以包含多个不同方向的高频系数的子矩阵,而每一组子矩阵可以根据各自变换后的数据中取绝对值后的的最大值来确定自己的缩放因子,以更有效地减少粒状噪声与边缘毛躁在解压的过程中被放大。
[0036]
举例来说,压缩电路120所使用的阿达玛矩阵可以表示如下:
[0037][0038]
其中v代表子矩阵具有垂直方向的高频系数,h代表子矩阵具有水平方向的高频系数,而d代表子矩阵具有对角方向的高频系数。在本实施例中,所有的子矩阵v具有单一缩放因子,所有的子矩阵h具有单一缩放因子,且所有的子矩阵d也具有单一缩放因子。
[0039]
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的等同变化与修饰,均应属本发明的涵盖范围。
技术特征:
1.一种压缩方法,包括:设置一量化函数;设置多个缩放因子;接收一图像数据;针对所述图像数据中一帧的块,使用一变换矩阵来对所述块的数据进行变换以计算出多个变换后的数据;根据所述多个变换后的数据从所述多个缩放因子中确定出一特定缩放因子;以及使用所述量化函数来对多个调整后的数据进行量化操作,以产生压缩后的数据,其中所述多个调整后的数据为通过所述多个变换后的数据与所述特定缩放因子来得到。2.根据权利要求1所述的压缩方法,其特征在于,针对所述图像数据中所述帧的所述块,使用所述变换矩阵来对所述块的数据进行变换以计算出所述多个变换后的数据的步骤包括:针对所述图像数据中所述帧的所述块,使用所述变换矩阵来对所述块的数据进行变换以计算出对应极高频的所述多个变换后的数据。3.根据权利要求2所述的压缩方法,其特征在于,所述变换矩阵包括一组直流系数以及多组高频系数,且使用所述变换矩阵来对所述块的数据进行变换以计算出对应极高频的所述多个变换后的数据的步骤包括:使用所述多组高频系数来对所述块的数据进行变换以计算出对应极高频的所述多个变换后的数据。4.根据权利要求1所述的压缩方法,其特征在于,根据所述多个变换后的数据从所述多个缩放因子中确定出所述特定缩放因子的步骤包括:根据所述多个变换后数据中取绝对值后的最大值,从所述多个缩放因子中确定出所述特定缩放因子。5.根据权利要求4所述的压缩方法,其特征在于,所述量化函数的值域范围为[-r,r],以及根据所述多个变换后的数据中取绝对值后的最大值,从所述多个缩放因子中确定出所述特定缩放因子的步骤包括:根据所述多个变换后的数据中取绝对值后的最大值,从所述多个缩放因子中选择满足的最小的缩放因子,以作为所述特定缩放因子,其中m为所述多个变换后的数据中取绝对值后的最大值,s
k
为所述特定缩放因子。6.一种电子装置,包括:一压缩电路,其设置了一量化函数以及多个缩放因子,且所述压缩电路包括:一缩放因子判定电路,用以接收所述图像数据,并针对所述图像数据中一帧的块,使用一变换矩阵来对所述块的数据进行变换以计算出多个变换后的数据,且根据所述多个变换后的数据从所述多个缩放因子中确定出一特定缩放因子;以及一量化电路,耦接于所述缩放因子判定电路,来使用所述量化函数来对多个调整后的数据进行量化操作,以产生压缩后的数据,其中所述多个调整后数据为通过所述多个变换后的数据与所述特定缩放因子来得到。
7.根据权利要求6所述的电子装置,其特征在于,针对所述图像数据中所述帧的块,所述缩放因子判定电路使用所述变换矩阵来对所述块的数据进行变换以计算出对应极高频的所述多个变换后的数据。8.根据权利要求7所述的电子装置,其特征在于,所述变换矩阵包括一组直流系数以及多组高频系数,且所述缩放因子判定电路使用所述多组高频系数来对所述块的数据进行变换以计算出对应极高频的所述多个变换后的数据。9.根据权利要求6所述的电子装置,其特征在于,所述缩放因子判定电路根据所述多个变换后的数据中取绝对值后的最大值,从所述多个缩放因子中确定出所述特定缩放因子。10.根据权利要求9所述的电子装置,其特征在于,其中所述量化函数的值域范围为[-r,r],且所述缩放因子判定电路根据所述多个变换后的数据中取绝对值后的最大值,从所述多个缩放因子中选择满足的最小的缩放因子,以作为所述特定缩放因子,其中m为所述多个变换后的数据中取绝对值后的最大值,s
k
为所述特定缩放因子。
技术总结
本发明提供一种压缩方法,包括以下步骤:设置一量化函数;设置多个缩放因子;接收一图像数据;针对该图像数据中一帧的块,使用一变换矩阵来对该块的数据进行变换以计算出多个变换后的数据;根据该多个变换后的数据从该多个缩放因子中确定出一特定缩放因子;使用该量化函数来对多个调整后的数据进行量化操作,以产生压缩后的数据,其中该多个调整后的数据为通过该多个变换后的数据与该特定缩放因子来得到。得到。得到。
技术研发人员:李宗轩 唐婉儒 陈世泽
受保护的技术使用者:瑞昱半导体股份有限公司
技术研发日:2022.01.05
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
