CN118247362A - 数据压缩方法 - Google Patents

数据压缩方法 Download PDF

Info

Publication number
CN118247362A
CN118247362A CN202211657521.5A CN202211657521A CN118247362A CN 118247362 A CN118247362 A CN 118247362A CN 202211657521 A CN202211657521 A CN 202211657521A CN 118247362 A CN118247362 A CN 118247362A
Authority
CN
China
Prior art keywords
data
compression
sub
algorithm
data sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211657521.5A
Other languages
English (en)
Inventor
石丁天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202211657521.5A priority Critical patent/CN118247362A/zh
Priority to US18/544,460 priority patent/US20240212216A1/en
Publication of CN118247362A publication Critical patent/CN118247362A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供一种数据压缩方法,用于压缩一数据集的至少一部分数据,包括:定义X个子数据集,每一个该子数据集都包括该数据集的一部分;以Y个压缩演算法对每一个该子数据集进行压缩,以产生每一个该子数据集中的Y个压缩结果,其中X和Y均为正整数且X至少为2;根据每一个该子数据集所对应的该Y个压缩结果从该Y个压缩演算法中选择每一个该子数据集的一较佳压缩演算法;以及以每一个该子数据集的该较佳压缩演算法对该子数据集进行压缩以产生多个压缩后数据单元。

Description

数据压缩方法
技术领域
本发明涉及数据压缩方法,尤其涉及便于硬件实现以及能节省所需缓冲储存空间的数据压缩方法。
背景技术
图像降噪是常见的视频处理手段。视频降噪不但能够滤除视频中的噪声,提高视频品质,而且有助于视频压缩、目标识别、帧频率提升等其它视频处理任务。对于通过数码相机等设备拍摄到的自然图像,噪声类型通常是加性高斯白噪声。现有的消除白噪声的常用方法有低通滤波器和多图像平均法。其中多图像平均法利用白噪声与原始信号强弱不相关且其平均值为零的性质,可以更好地的去掉噪声。多图像平均法要求硬件具备一定数量的缓冲储存空间,用于储存前一帧或前两张帧作为参考帧数据。所参考的帧数越多,所需的缓冲储存空间就越大。然而,现有系统中有限的储存空间很难满足大量的帧缓冲区数据储存。而且,现有的图像数据压缩技术如MPEG-2,H.264/AVC等编码标准逻辑复杂且功耗大。这些压缩技术主要用于在低频宽下提供更好的图像品质,并且需要搭配复杂的硬件来处理,不适合用于压缩图像降噪的帧缓冲区数据。
发明内容
本发明的一目的是提供一种较易以硬件实现且可节省所需缓冲储存空间的数据压缩方法。
本发明实施例公开了一种数据压缩方法,用于压缩一数据集的至少一部分数据,包括:定义X个子数据集,每一个该子数据集都包括该数据集的一部分;以Y个压缩演算法对每一个该子数据集进行压缩,以产生每一个该子数据集中的Y个压缩结果,其中X和Y均为正整数且X至少为2;根据每一个该子数据集所对应的该Y个压缩结果从该Y个压缩演算法中选择每一个该子数据集的一较佳压缩演算法;以及以每一个该子数据集的该较佳压缩演算法对该子数据集进行压缩以产生多个压缩后数据单元。根据前述实施例,可以较简单,较易以硬件实现且效能最佳的压缩演算法来进行数据压缩。而且,由于是针对较小的子数据集(M*N数据单元)进行压缩,也可节省所需的缓冲储存空间。
附图说明
图1示出了根据本发明实施例的数据压缩方法的流程图;
图2示出了根据本发明实施例的数据压缩方法和解压缩方法的示意图;
图3示出了根据本发明实施例的图2中所示的数据压缩动作的示意图;
图4、图5示出了根据本发明不同实施例的设置演算法指示数据的示意图;
图6示出了根据本发明实施例的,用于实现本发明所提供的数据压缩方法的电子装置的示意图。
附图标记说明:
101、103、105、107:步骤
DU_1、DU_2、DU_3、DU_4:数据单元
DU_5、DU_6、DU_7、DU_8:数据单元
600:电子装置
601:压缩电路
603:解压缩电路
605:图像降噪电路
607:储存装置
具体实施方式
以下将以多个实施例来描述本发明的内容,还请留意,各实施例中的元件可通过硬件(例如装置或电路)或是固件(例如微处理器中写入至少一程序)来实施。此外,以下描述中的“第一”、“第二”以及类似描述仅用来定义不同的元件、参数、数据、信号或步骤,并非用于限定其次序。举例来说,第一装置和第二装置可为具有相同结构但不同的装置。
图1示出了根据本发明一实施例的数据压缩方法的流程图,其用于压缩一数据集的至少一部分数据且包括以下步骤:
步骤101
定义X个子数据集,X个子数据集中每一个都包括该数据集的一部分。在一实施例中,是将整个数据集划分为X个子数据集。
步骤103
以Y个压缩演算法对每一个子数据集进行压缩,以产生每一个子数据集中的Y个压缩结果,其中X和Y均为正整数且X至少为2。
举例来说,若步骤103定义了第一子数据集和第二子数据集两数据集,也就是X为2。而压缩演算法为压缩演算法A、压缩演算法B、压缩演算法C以及压缩演算法D,也就是Y为4。在此例中,会以4个压缩演算法分别对第一子数据集和第二子数据集进行演算,因此第一子数据集和第二子数据集均有4个相对应的压缩结果。
步骤105
根据每一个子数据集所对应的Y个压缩结果从Y个压缩演算法中选择每一个子数据集的一较佳压缩演算法。较佳压缩演算法可以是最佳压缩演算法,也可以是相对较佳的压缩演算法。
以步骤103中的例子为例,会分别根据第一子数据集和第二子数据集所对应的4个压缩结果,从压缩演算法A、压缩演算法B、压缩演算法C以及压缩演算法D选出第一子数据集和第二子数据集的较佳压缩演算法。例如,根据第一子数据集的4个压缩结果选择压缩演算法B作为较佳压缩演算法,而根据第二子数据集的4个压缩结果选择压缩演算法C作为较佳压缩演算法。
在一实施中,压缩结果包括了压缩过程中所产生的误差值,例如绝对误差和(Sumof Absolute Differences,SAD)或误差平方和(Sum of Squared Difference,SSD)。步骤105则根据误差值来选择较佳压缩演算法。在一实施例中,较佳压缩演算法是指产生最少误差值的最佳压缩演算法。
步骤107
以每一个子数据集的较佳压缩演算法对该子数据集进行压缩以产生多个压缩后数据单元(例如封包)。压缩后数据单元的位数可对应不同的压缩演算法而有所不同。
以下将以其他实施例来说明本发明。在以下实施例中,图1的数据集为一图像,而子数据集为该图像的一部分。每一个子数据集均具有M*N个像素,M和N为正整数。在一实施例中,M为1、N为8或16。在数据集为一图像而子数据集为图像的一部分的情况下,若图1所示的数据压缩方法是使用在图像降噪方法中,则此图像降噪方法除了图1所示的步骤外,还包括:对X个压缩后数据单元进行解压缩,来产生X个重建子数据集,并根据X个重建子数据集进行图像降噪。例如以图像平均法进行图像降噪,此方法会对至少一图像进行压缩暂存后,对暂存图像解压缩作为参考图像。
图2示出了根据本发明实施例的数据压缩方法和解压缩方法的示意图。在图2实施例中,是将整张图像(前述的数据集)划分为多个小单元来进行压缩,也就是划分为多个大小为M*N像素的图像单元(前述的子数据集,以下简称为M*N单元)。如前述,在一实施例中,M为1,而N可为8或者16。对于每个M*N单元的处理包括两部分,即压缩动作和对应的解压缩动作。在压缩动作中,会先以4种演算法A、B、C、D对M*N单元进行压缩,每种演算法可视为一种模式。每种模式都会压缩数据并计算出压缩演算法下的误差值,例如前述的SAD或SSD。四种模式的压缩动作结束后,会比较同一个M*N单元在不同模式下的误差值,而采用误差值最小的模式作为最终选定的压缩方式,也就是决定出较佳压缩演算法。需要注意的是,可通过实际值减去重建值得到误差值,这里的重建值是指对压缩后数据单元进行解压缩操作得到的值。所以为了计算误差值,实际的压缩过程中会包括解压缩操作。此外,这里的4种演算法可以是分别针对某一种类型的数值分布特点而专门设计的压缩演算法,这样可以在最大程度上覆盖尽可能多的数值分布类型,以达到充分提取数据相关性从而降低压缩误差的目的。较佳压缩演算法选定后,会将较佳压缩演算法相关信息(或称为模式信息)储存在M*N单元的压缩数据中。而在解压缩时,首先从压缩数据中得到较佳压缩演算法的信息,然后执行相对应的解压缩,最后得到重建的M*N单元。
图3示出了根据本发明一实施例的图2中所示的数据压缩动作的示意图。压缩动作主要包括变换和量化两部分。变换是通过一定形式的数据转换,得到不同M*N单元之间的相关性。量化部分是通过量化步长,对变换后的数据进行多对一的映射转换,从而达到压缩的目的。
以下将说明关于变换和量化方法的具体例子。在图3的实施例中,演算法A是采用直接舍去演算法(或称为四舍五入法),即直接将原始数据最后几位舍弃。例如,在将12位的原始数据压缩成8位数据的过程中,会根据12位数据的最后四位做四舍五入处理,当最后四位大于等于8时,就加入一固定位值(例如0x10)后舍去最后四位。当最后四位小于8时就直接舍去最后四位。演算法B是采用DPCM(误差信号编码,Differential pulse-codemodulation)演算法搭配量化表的方法。DPCM是一种常见的简单编码方式。其是利用以往的样本值对新样本进行预测,将样本的实际值减去预测值得到一个差值,然后对这个差值进行量化。在一实施例中,对于新样本的预测值可采用前一个位的重建值(通过前述的压缩过程中的解压缩操作而得到)。一般情况下,差值不会太大,因此可采用非均匀量化,即差值的取值小时量化步长取得小,差值大时量化步长取得大。
演算法C也同样采用DPCM搭配量化表方式,不同于演算法B的是此处量化表的量化步长可取其他数值,即更大地扩充了DPCM的数值分布范围。演算法D采用哈达玛变换(Hadamard transform)演算法搭配量化表方式。哈达玛变换是广义傅里叶转换的其中一种,通过变换可得到相应的直流分量和交流分量,从而去除数据相关性。同时,哈达玛变换正反变换具有相同形式,且只有加法和减法,运算简单,便于硬件实现。除了哈达玛变换,前述的直接舍去演算法以及DPCM相较于现有技术中复杂的压缩方法,也都运算简单和便于硬件实现。
在一实施例中,图3的演算法A可作为最基本的压缩方式,当其他方式都无法通过数据相关性获得很好的压缩性能时,可根据评判标准采用演算法A。例如,当其他演算法的误差值都高于一临界误差时,便选择演算法A。演算法A虽然会一定程度地损失压缩性能,但却不依赖于输入数据的任何相关性,可提供较稳定的压缩动作。演算法B和演算法C都采用DPCM方式,虽然演算法的原理都是将原始数值前后相减得到值域相对小的差值,但区别在于可以搭配不同的量化表,这样相当于提供更多套多对一的映射方式,进而覆盖更多的数值分布类型。演算法D是采用哈达玛变换搭配量化表方式,此方式会取得数据在频域的相关性,然后再做量化,可以更好地压缩在频率上相关性强的数据。
除了前述步骤外,本发明还可在对图像进行压缩前,对图像进行预处理来增加压缩动作的效率。在一实施例中,在对M*N单元进行定义前,也就是在对图像进行划分前,会提取图像不同颜色的通道的数据并进行重新排列。举例来说,若前述图像是由图像感测器进行感测后直接输出而未经其他处理的初始图像,则此图像可能具有GRBG,RGGB,BGGR,GBRG等格式。以GRBG为例,初始图像会以2*2数据块按照G,R,B,G顺序排列。所以在这种排列顺序下,相邻的前后数据间,或者后来划分的M*N单元并不完全属于同一个颜色通道,而同一种颜色通道内的数据间才会具有真正的强相关性。因此,为最大程度地利用数据间相关性从而提升压缩性能,在每个M*N数据单元进行压缩之前,会对初始图像进行预处理,提取出GRBG四个通道中每个通道各自的数据然后重新排列,以保证M*N单元内的数据都属同一种颜色通道。
请再参阅图2,在图2的描述中提及了会对应每一M*N单元所使用的演算法进行相对应的解压缩动作。因此,在一实施例中,会在压缩后的数据中提供演算法指示数据,来指示是使用了哪一个演算法(也就是在哪一个模式下进行压缩),以用于后续的解压缩动作。图4示出了根据本发明一实施例的设置演算法指示数据的示意图。在图4的实施例中,是在多个压缩后数据单元中至少一个设置演算法指示数据,用于指示使用了哪一个演算法来压缩。在前述实施例中,演算法总共有4种,所以演算法指示数据需要2个位来表示。若前述的M为1且N为8,也就是会对1*8位的单元进行压缩。初始图像中每个像素为12位,储存单元容量的要求为压缩后的数据为每个像素8位,也就是每一个压缩后数据单元为8位。则以DPCM演算法所产生的压缩后数据单元的位数分配可如图4所示。在图4的实施例中,压缩后数据单元DU_1-DU_6均具有8位的数据。压缩后数据单元DU_7、DU_8分别包括了7位的数据以及1位的演算法指示数据。
在另一实施例中,会将多个压缩后数据单元区分为一直流分量以及一交流分量,其中对应该直流分量的该压缩后数据单元具有一第一位数,对应该交流分量的该压缩后数据单元具有小于该第一位数的一第二位数。且在对应该交流分量的该压缩后数据单元中设置演算法指示数据,用于指示使用了哪一个演算法来压缩。具体地,经哈达玛变换演算法压缩后的数据会产生直流分量和交流分量,大部分能量会集中在直流分量,即变换后的第一个数值较大。因此在图5的实施例中,第一个压缩后数据单元DU_1对应直流分量,故具有较多位数12位。压缩后数据单元DU_1-DU_7对应交流分量,故具有较少的位数7位或8位。对应交流分量的压缩后数据单元可具有相同的位数或不同的位数。且压缩后数据单元DU_6、DU_7均具有7位的数据以及1位的演算法指示数据。
图6示出了根据本发明一实施例的,用于实现本发明所提供的数据压缩方法的电子装置的示意图。如图6所示,电子装置600包括一压缩电路601、一解压缩电路603、一图像降噪电路605以及一储存装置607。电子装置600可为任何电子装置,例如手机、平板电脑或台式机。储存装置607可储存至少一程序,可位于电子装置600外而不限定在位于电子装置600内。压缩电路601、解压缩电路603以及图像降噪电路605可读取储存装置607中的程序来分别实施前述的压缩方法、解压缩方法以及图像降噪方法。电子装置600可仅包括压缩电路601、解压缩电路603以及图像降噪电路605其中至少其一。例如,电子装置600可仅包括压缩电路601或仅包括压缩电路601以及解压缩电路603。在一实施例中,压缩电路601、解压缩电路603以及图像降噪电路605可由一处理电路(例如微处理器)来实现。
根据前述实施例,可以较简单,较易地以硬件实现且效能最佳的压缩演算法来进行数据压缩。而且,由于是针对较小的子数据集(M*N数据单元)进行压缩,也可节省所需的缓冲储存空间。
以上仅为本发明的优选实施例,任何根据本发明所做的等同变化与修饰,都应当属本发明的保护范围。

Claims (10)

1.一种数据压缩方法,其特征在于,用于压缩一数据集的至少一部分数据,包括:
定义X个子数据集,每一个所述子数据集均包括所述数据集的一部分;
以Y个压缩演算法对每一个所述子数据集进行压缩,以产生每一个所述子数据集中的Y个压缩结果,其中X和Y均为正整数且X至少为2;
根据每一个所述子数据集所对应的所述Y个压缩结果从所述Y个压缩演算法中选择每一个所述子数据集的一较佳压缩演算法;以及
以每一个所述子数据集的所述较佳压缩演算法对所述子数据集进行压缩以产生多个压缩后数据单元。
2.根据权利要求1所述的数据压缩方法,其特征在于,所述数据集为一图像,所述子数据集为所述图像的一部分,所述子数据集均具有M*N个像素,M和N为正整数。
3.根据权利要求2所述的数据压缩方法,其特征在于,所述Y个压缩演算法包括一直接舍去演算法。
4.根据权利要求2所述的数据压缩方法,其特征在于,所述Y个压缩演算法包括一哈达玛变换演算法。
5.根据权利要求2所述的数据压缩方法,其特征在于,所述Y个压缩演算法包括一误差信号编码演算法。
6.根据权利要求5所述的数据压缩方法,其特征在于,所述Y个压缩演算法包括至少两个具不同量化表的所述误差信号编码。
7.根据权利要求2所述的数据压缩方法,其特征在于,还包括:
在定义所述子数据集前,提取所述图像不同颜色的通道的数据并进行重新排列。
8.根据权利要求1所述的数据压缩方法,其特征在于,还包括:
在所述压缩后数据单元中设置至少一个演算法指示数据,用于指示使用了哪一个演算法来压缩。
9.根据权利要求1所述的数据压缩方法,其特征在于,还包括:
将所述压缩后数据单元区分为一直流分量以及一交流分量,其中对应所述直流分量的所述压缩后数据单元具有一第一位数,对应所述交流分量的所述压缩后数据单元具有小于所述第一位数的一第二位数;
在对应所述交流分量的所述压缩后数据单元中设置演算法指示数据,用于指示使用了哪一个演算法来压缩。
10.一种图像降噪方法,其特征在于,包括:
定义X个子数据集,所述子数据集包括一图像的一部分;
以Y个压缩演算法对每一个所述子数据集进行压缩,以产生每一个所述子数据集中的Y个压缩结果,其中X和Y均为正整数且X至少为2;
根据每一个所述子数据集所对应的Y个压缩结果从所述Y个压缩演算法中选择每一个所述子数据集的一较佳压缩演算法;
以每一个所述子数据集的较佳压缩演算法对所述子数据集进行压缩以产生多个压缩后数据单元;以及
对所述多个压缩后数据单元进行解压缩,来产生X个重建子数据集,并根据所述X个重建子数据集进行图像降噪。
CN202211657521.5A 2022-12-22 2022-12-22 数据压缩方法 Pending CN118247362A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211657521.5A CN118247362A (zh) 2022-12-22 2022-12-22 数据压缩方法
US18/544,460 US20240212216A1 (en) 2022-12-22 2023-12-19 Data compression method and image noise reduction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211657521.5A CN118247362A (zh) 2022-12-22 2022-12-22 数据压缩方法

Publications (1)

Publication Number Publication Date
CN118247362A true CN118247362A (zh) 2024-06-25

Family

ID=91563241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211657521.5A Pending CN118247362A (zh) 2022-12-22 2022-12-22 数据压缩方法

Country Status (2)

Country Link
US (1) US20240212216A1 (zh)
CN (1) CN118247362A (zh)

Also Published As

Publication number Publication date
US20240212216A1 (en) 2024-06-27

Similar Documents

Publication Publication Date Title
US8666186B1 (en) Lossy compression of high dynamic range video
CN108028941B (zh) 用于通过超像素编码和解码数字图像的方法和装置
JP5399416B2 (ja) 参照フレームの圧縮を伴うビデオ符号化システム
KR101365444B1 (ko) 영상의 해상도의 조정을 통하여 동영상을 효율적으로부호화/복호화하는 방법 및 장치
Narayanaperumal et al. VLSI Implementations of Compressive Image Acquisition using Block Based Compression Algorithm.
US20060251330A1 (en) Hybrid video compression method
CN110383331B (zh) 非局部适应性环路滤波器处理
Wige et al. Pixel-based averaging predictor for HEVC lossless coding
US10349075B2 (en) Method and device for lossless compression of video data
CN111131828B (zh) 一种图像压缩方法、装置、电子设备和存储介质
EP2235950A1 (en) Separate huffman coding of runlength and size data of dct coefficients
CN110933438A (zh) 一种jpeg图像可逆信息隐藏方法
CN110896483A (zh) 压缩和解压缩图像数据的方法
US8355057B2 (en) Joint scalar embedded graphics coding for color images
CN111491163B (zh) 基于对图像块的像素域预处理操作的图像块编码
CN112153388A (zh) 一种图像压缩方法、装置及相关设备
US8428381B2 (en) Image compression method with variable quantization parameter
US8443275B2 (en) Lossy compression technique for video encoder bandwidth reduction using compression error data
CN107172425B (zh) 缩略图生成方法、装置及终端设备
CN118247362A (zh) 数据压缩方法
TWI847525B (zh) 資料壓縮方法
US8526746B1 (en) Near lossless data compression method using nonuniform sampling
JP2011109172A (ja) 映像符号化装置、および、そのデータ処理方法
CN110858900B (zh) 复用精简反量化乘法因子和位移表的数据压缩方法和装置
US10893297B2 (en) Processing image data using tiered bit-layers

Legal Events

Date Code Title Description
PB01 Publication