CN101919252A - 对dct系数的行程长度和大小数据的分别霍夫曼编码 - Google Patents
对dct系数的行程长度和大小数据的分别霍夫曼编码 Download PDFInfo
- Publication number
- CN101919252A CN101919252A CN2008801253255A CN200880125325A CN101919252A CN 101919252 A CN101919252 A CN 101919252A CN 2008801253255 A CN2008801253255 A CN 2008801253255A CN 200880125325 A CN200880125325 A CN 200880125325A CN 101919252 A CN101919252 A CN 101919252A
- Authority
- CN
- China
- Prior art keywords
- coefficient
- zero
- dct
- non zero
- amplitude
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/439—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种用于数据压缩的方法。在一个实施例中,该方法可包括将来自第一色彩空间的数据转换至第二色彩空间以产生经转换数据。该方法可进一步包括在离散余弦变换(DCT)处接收所述经转换数据,所述DCT被配置成产生至少一个DCT系数。该方法还可包括在量化器处接收来自所述离散余弦变换的所述至少一个DCT系数,所述量化器被配置成量化所述至少一个DCT系数,并将至少一个经量化的系数提供给熵编码器,所述熵编码器包括与用于编码非零AC系数的幅值的位数相对应的第一霍夫曼表。
Description
领域
本发明描述一种用于数据压缩的低复杂度编码的方法。
背景
数据压缩可用于尽可能空间高效地表示信息集合。数据压缩代码可提供源消息集合与码字集合之间的映射。一些视频压缩系统可能在有限的时段期间执行该编码。例如,对于由大小为8×1920的瓦块(即矩形子图像)编码的高清电视(HDTV)1080i(1080×1920 30帧每秒),每个瓦块可在497微秒期间被编码。一旦一瓦块已被编码,则一后继瓦块可被呈现于压缩系统的输入处,并可准备好进行处理。
一般而言,熵编码指的是可与媒体的具体特性无关的无损数据压缩方案。通常,熵编码是视频压缩系统的在计算上最复杂的要素之一。在一些情况下,熵编码可能涉及向符号指派代码,以使代码长度与符号的概率匹配。数据压缩系统的设计通常涉及对输入数据的有效压缩与该设计中的最低复杂度成本之间的折衷。
熵编码可使用诸如配对的行程长度(RLE)和可变长度编码(VLC)或算术编码之类的多种不同技术在现代视频压缩系统中实现。算术编码可提供较好的压缩率,但可能非常复杂,而且对于低复杂度系统而言可能不是好的解决方案。基于VLC的技术可提供较小的压缩率,且复杂度往往低得多,因此这些技术更适于实时应用。
附图简述
根据以下对与所要求保护的发明主题一致的实施例的详细描述,本发明主题的特征和优点将显而易见,该描述应参照附图来考虑,在附图中:
图1是示出基于离散余弦变换(DCT)的编码器处理的示例的示图;
图2是示出基于DCT的解码器处理的示例的示图;
图3是根据本发明的低复杂度熵编码的示例实施例的示图;
图4是示出与根据本发明所描述的熵编码相比较,与标准JPEG熵编码相关联的速率—失真曲线(即压缩率与PSNR的关系)的示图;
图5是示出标准JPEG算法中的行程长度(RUNLENGTH)值的估计概率分布的示图;
图6是示出标准JPEG算法中的大小(SIZE)值的估计概率分布的示图;
图7是示出使用JPEG图像压缩算法的标准熵编码的操作的流程图;
图8是示出根据本发明的一个示例性实施例的使用关于行程长度的短表的熵编码的处理的流程图;
图9是根据本发明的另一示例性实施例的处理的流程图;以及
图10是根据本发明的一个实施例的处理的流程图。
虽然将参照说明性实施例继续进行以下详细描述,但其许多替代物、修改以及变型对本领域技术人员而言将显而易见。
详细描述
一般而言,本发明描述一种用于数据压缩的低复杂度编码的方法。本文中描述的实施例可根据诸如1992年公布的联合图像专家组(JPEG)标准、ITU-T T.81、ISO/IEC IS 10918-1之类的数据压缩标准来使用。更具体而言,本文中所描述的实施例提供多种熵编码算法,这些算法可用于减少在编解码器程序期间所使用的霍夫曼表所需的存储大小。
诸如彩色传真、桌面出版以及医疗成像之类的各种领域中静态图像的数据传输可根据JPEG标准来执行。JPEG标准可涉及在数据压缩处理期间使用离散余弦变换(DCT)。
基于离散余弦变换(DCT)的压缩可涉及灰度采样图像的多个8×8块流的压缩。每个8×8的源图像采样块实际上是64点离散信号,其可以是两个空间维度x和y的函数。因此DCT系数值可被认为是该64点输入信号中包含的2维空间频率的相对量。在这两个维度中均具有零频率的系数称为“DC系数”,而余下的63个系数称为“AC系数”。涉及DCT的更多信息在1991年的IEEE消费电子产品汇刊中Gregory K.Wallace所著的“JPEG静态图像压缩标准(The JPEG Still Picture Compression Standard)”中有进一步详细描述。
现参照图1,示出了基于DCT的编码器100。基于DCT的编码器100可被配置成接收一些源图像数据(例如在图1中示为8×8块),并以压缩形式输出该数据。编码器100可包括前向DCT(FDCT)102、量化器104以及熵编码器106。反之,图2描述基于DCT的解码器200,其接收该压缩图像数据,并以重构形式输出原始源图像数据。解码器200可被视为编码器100的镜像,因此解码器200可包括熵解码器202、反量化器204以及反向DCT(IDCT)206。
再次参照图1,编码器100可被配置成接收源图像数据101以便后续压缩。源图像数据101可被分组成8×8块、从无符号整数移位并被输入前向DCT 102。如上所述,前向DCT 102的具体操作在1991年的IEEE消费电子产品汇刊中Gregory K.Wallace所著的“JPEG静态图像压缩标准(The JPEG Still Picture Compression Standard)”中有进一步详细描述。FDCT 102可向量化器104提供输出(例如64个DCT系数)。在一些实施例中,量化器104可被配置成将一定范围的值(例如频率分量的幅值)压缩成单个量子值。以此方式,量化器104可被配置成通过用不超过获得希望的图像质量所必需的精度来表示DCT系数来压缩该数据。因此,量化器104可提供经量化DCT系数(DC和AC)的序列作为对熵编码器106的输入。
熵编码器106可被配置成执行最终的基于DCT的处理操作。熵编码器106可通过基于经量化DCT系数的统计特性将其更紧凑地编码来无损地实现额外压缩。熵编码器106可被配置成执行如下文进一步详细讨论的各种不同操作。
一般而言,熵编码可包括两个不同操作。第一操作可将经量化系数的Z字形序列转换成中间符号序列。该Z字形序列的目的和操作在上面引述的“JPEG静态图像压缩标准”中进行了进一步详细描述。第二操作可将这些符号转换成数据流,在该数据流中这些符号不再具有外部可识别的边界。
因此,在一些实施例中,编码器106可将经量化系数的Z字形序列转换成中间信号序列。编码器106还可将这些符号转换成数据流,在该数据流中这些符号不再具有外部可识别的边界。中间符号的形式和定义可取决于基于DCT的操作模式和熵编码方法(霍夫曼、算术等)二者。
如上所讨论,对熵编码器106的输入可以是经量化的DCT系数(DC和AC)序列。在该中间符号序列中,每个非零AC系数可结合其“行程长度”一起表示。此处所使用的术语“行程长度”或“RUNLENGTH”可对应于Z字形序列中在非零AC系数之前连续的零值AC系数的数目。
每个行程长度/非零系数组合可由一对符号表示,例如符号-1(行程长度,大小)和符号-2(幅值)。在本示例中,符号-1可表示这两件信息,即行程长度和大小。如上所述,行程长度可对应于Z字形序列中在正被表示的非零AC系数之前连续的零值AC系数的数目。如本文所使用的术语“大小”可对应于用于编码幅值(即符号-2)的位数。如本文所使用的术语“幅值”可对应于非零AC系数的幅值。符号-2可表示指定为幅值的单件信息。
一般而言,行程长度值可表示长度为0到15的零行程。Z字形序列中的实际零行程可能大于15,因此符号-1值(15,0)可被解读为具有行程长度=16的扩展符号。特殊的符号-1值(0,0)表示块结束(EOB)情况,且可被视为终止该8×8采样块的“转义(escape)”符号。
因此,对于每个8×8采样块,具有63个经量化AC系数的Z字形序列可被表示为符号-1和符号-2的符号对的序列。然而,每“对”在长行程长度的情况下可具有符号-1的重复,而在EOB的情况下仅具有一个符号-1。
经量化的AC系数的可能范围可决定幅值和大小信息二者可对应的值的范围。对于AC系数,符号-1和符号-2中间表示的一种可能结构分别在以下表1和2中示出。对于DC系数,该中间表示可类似地被构造。在本示例中,与之前一样,符号-1可仅表示大小信息,符号-2可表示幅值信息:符号-1——(大小),符号-2(幅值)。
因为DC系数可被差分地编码,所以它可由两倍于AC系数的整数值[-211,211-1]来覆盖,因此可向关于DC系数的表2的底部添加一个附加级。用于DC系数的符号-1因此可表示从1到11的值。
大小0 1 2...9 10 | |
行程长度 | 0 EOB. X 行程大小值. X. X15 ZRL |
表1基线霍夫曼编码符号-1结构
大小 幅值 |
1 -1,12 -3,-2,2,33 -7..-4,4..74 -15..-8,8..155 -31..-16,16..316 -63..-32,32..637 -127..-64,64..1278 -255..-128,128..2559 -511..-256,256..51110 -1023..-512,512..1023 |
表2基线熵编码符号-2结构
霍夫曼编码是可取符号(例如字节、DCT系数等)并用可根据统计概率指派的可变长度码来将它们编码的方法。例如,用于JPEG压缩的霍夫曼编码方案可通过用可变长度码(即1到16位)代替固定大小(例如12位)码来进一步减小文件大小。平均而言,替换码合计的位数小于原始码。如果平均而言储存经量化DCT系数所需的位减少了10%,则这可直接转化成10%的文件大小减小。困难的地方可能在于决定用哪些可变长度位串来替换哪些码。霍夫曼表定义了这些映射,且被储存在每个JPEG图像文件内。以下四个分量中的每一个分量可能需要单独的霍夫曼表:辉度DC分量、辉度AC分量、色度DC分量以及色度AC分量。
例如,这些表可包括:包括AC系数的辉度表(162个记录,162×20=3240位)、包括AC系数的色度表(162个记录,162×20=3240位)、包括DC系数的辉度表(12个记录,12×15=180位)、以及包括DC系数的色度表(12个记录,12×15=180位)。对于标准熵编码,这可能导致总共6840位或即855字节,如表6所示。
标准行程长度编码(RLE)数据压缩可包括若干操作。例如,当制造RLE序列时可实现以下操作:
1.动作-1:将63个AC系数中的每个元素与零进行比较。因此,对于每个域,会有63个动作-1。
2.动作-2:如果该序列的当前元素为0,则可增大行程长度的计数器。
3.动作-3:如果行程长度的数字大于15且它不是EOB,则可修改行程长度的计数器。
4.动作-4:如果当前元素不是零,则可创建去往适当表的地址,可获得并写入码字。
5.动作-5:一旦已经获得用于行程长度/大小组合的码字,则可以用二进制形式呈现并写入幅值的值。
6.动作-6:霍夫曼表中的地址计算(使用行程长度和大小的值)。
表3示出了利用YUV模型时以上列出的操作的每块平均复杂度值,其中Y对应于亮度(即辉度),而UV对应于色彩(即色度)。例如,如果平均动作-3Y复杂度等于0.1,则平均而言每10个块仅会有一个动作-3Y。
表3标准RLE的复杂度
利用短表的行程长度编码
图3描述了根据本发明的示例性实施例的用于低复杂度编码的系统300。系统300可被配置成接收原始视频数据,并利用转换器302将该数据从红、绿、蓝(RGB)色彩空间转换到辉度和色度(YUV)色彩空间。可利用包括但不限于使用快表驱动算法的各种技术来执行从RGB向YUV的转换。经转换的每个Y、U和V帧可被分组成8×8块并输入到FDCT 304中。每个8×8的源图像采样块实际上是64点离散信号,其可以是x和y的函数。FDCT 304可接收该信号作为输入,并将其分解成64个正交基信号,每个正交基信号可包含构成输入信号的“频谱”的64个唯一性二维(2D)“空间频率”之一。FDCT 304的输出可以是64个基础信号幅值或“DCT系数”的集合,该幅值或系数的值可由该特定的64点输入信号唯一地确定。FDCT304可将该输出提供给量化器306。应当注意,系统300的任何部分可被包括在例如集成电路或类似的设备中。
在从FDCT 304输出之后,可结合量化表(例如64个元素)统一地量化64个DCT系数中的每一个,该量化表可由应用程序(或用户)指定作为对熵编码器308的输入。每个元素可以是从1到255的任何整数值,该整数值为其相应的DCT系数指定量化器的步长。量化可定义为将每个DCT系数除以其相应的量化器步长,然后四舍五入为最接近的整数。由此该输出值可由量化器步长来归一化。在量化之后,可将每个元素输入熵编码器308。
熵编码器308可包括RLE编码模块310和霍夫曼编码模块312。以上参照表3描述的标准行程长度编码需要4个霍夫曼表。与之对比,在本实施例中,可对AC系数的行程长度值以及大小值使用单独的表。在本实施例中,对于DC系数,可不作改变地使用同样的表。这可减少维护这些霍夫曼表所需的储存大小。例如,根据本实施例,关于所有可能的行程长度值的码字表可由16个记录(UV分量为16*10=160位,Y分量为14*16=224位)组成,且关于大小的表可包括12个记录(12*16=192位)。这可导致总共576位或即72字节。因此,相比于需要855字节的现有熵编码技术,该方法可导致存储器资源的显著节省。
表4描述了示出当对AC系数的行程长度以及大小使用单独的表时所需操作数目的减少的概述。
表4利用短表的标准RLE的复杂度
对此用于RLE编码的方法的复杂度的衡量可涉及确定所需的操作数目。可将该操作数目与以上表3中所示的标准RLE所需的操作数目进行比较。主要差别出现在动作-4中,因为在本实施例中,必须寻址两个不同的表,因此这些操作的数目会翻倍。而且,不需要动作-6来对霍夫曼表中的地址进行计数。标准RLE与本实施例之间的更详细比较可通过比较图7和图8来形成,这将在下文进一步详细描述。
图4描述了示出与根据本发明的实施例所描述的熵编码相比较,与标准JPEG熵编码相关联的速率—失真曲线(即压缩率与使用PSNR度量来衡量的重构图像质量的关系)。以上图3中描述的该方法可简化编码处理,虽然压缩比也会稍稍降低(参见图4),这是因为可在不使用行程长度与大小之间的相关性的情况下对它们独立地编码。图4示出了压缩率和相应的质量水平(利用速率—失真函数计算得出)非常轻微地降低。例如,对于速率=1Mbps,使用PSNR度量来衡量的话,与标准JPEG相比,此处所述实施例的质量水平的降低小于0.1dB。
在无行程长度表的情况下的行程长度编码
在一些实施例中,可在不使用关于行程长度的霍夫曼表的情况下执行行程长度编码。即,对于AC系数,可仅使用关于大小的霍夫曼表。对于DC系数,可使用与上述相同的表。可以不需要用于行程长度的码字,取而代之的是,可将这些零写入输出流。例如,如果在序列中有六个零和非零AC系数,则可将这些零写入该流中,随后是大小和幅值。
在查阅图5和6之后,仅利用关于大小的霍夫曼表的决定会变得显而易见,其中图5和6分别描述了行程长度和大小值的概率分布。如图5所示,大的零序列的概率对于不同的测试图像(例如claire80.avi对比soldiers_hi.avi)会是非常小的。这里,分布函数对于不同的测试图像看起来并无显著变化。例如,对于不同的测试图像,在AC系数序列期间出现的5个连续零的概率可能小于0.008。
相反,图6描述了大小值的概率分布。这里,可注意到大小值的分布函数对于不同影片可能改变,从而可能更加复杂。例如,大小值为2的概率从claire80.avi的约0.45变成soldiers_hi.avi的约0.55。
表5描述当在不使用关于行程长度的霍夫曼表的情况下进行行程长度编码时所需的操作数目的意义上的复杂度。削减掉行程长度表也会消除对行程长度计数器的需要。因此,动作-2和动作-3(即行程长度计数器修改)不是必需的。动作-6的需要也可被消除,也无需计算霍夫曼表中的地址。
表5利用短表的标准RLE的复杂度
因此,通过削减掉关于行程长度的霍夫曼表,就可简化编码处理。因此,如图4所示,压缩比也会降低更多,因为行程长度值不被压缩。
图7-9描述了将标准JPEG熵编码与本发明的实施例进行比较的一系列流程图。例如,图7描述了流程图700,其包括用于根据JPEG图像压缩算法执行标准熵编码的操作701-715。流程图700包括关于行程长度和大小的霍夫曼表中的地址计算的操作(即动作-6)。图7中所示的标准熵编码技术可能需要855字节的存储器消耗。
与之对比,图8示出了流程图800,其包括被配置成根据此处所描述的实施例利用关于行程长度和大小的单独的表来执行熵编码的操作801-814。如上所述,在本实施例中,去除了霍夫曼表中的地址计算操作(因此无需动作-6)。图8中所示的实施例需要的存储器会比标准熵编码少得多(即72字节)。
图9示出流程图900,其包括被配置成根据此处所描述的实施例执行熵编码的操作901-911。流程图900描述了在不使用关于行程长度的表的情况下执行熵编码的实施例。在本实施例中,可去除涉及行程长度计算的操作。例如,去除图7的操作705(即对应于将行程计数器增加1的动作-2)、707、709以及710。流程图900还描述了将零系数写入该流中,如操作905中所示。图9中所示的实施例需要的存储器也会比标准熵编码少(即24字节)。
在以下表6中提供了示出标准熵编码以及此处所描述的实施例的概述。表6示出了(1)现有熵编码技术、(2)利用短RL表的熵编码、以及(3)不使用关于行程长度的表的熵编码的存储器消耗之间的变化。如下所示,相比于标准熵编码,本文所描述的实施例提供了大量的存储器节省。
熵编码方案 | 操作复杂度 | 存储器消耗 |
熵编码—标准(1) | 126个动作1+105个动作2+0,2个动作3+23个动作4+21个动作5+23动作6 | 855字节 |
熵编码—短RL表(2) | 126个动作1+105个动作2+0,2个动作3+46个动作4+21个动作5 | 72字节 |
熵编码—在没有关于RL的表的情况下的RLE(3) | 126个动作1+23个动作4+21个动作5 | 24字节 |
表6三种技术的存储器消耗
根据本发明的一个示例性实施例,在图10中提供了用于数据压缩的操作的流程图1000。该方法可包括将来自第一色彩空间的数据转换至第二色彩空间以产生经转换数据(1002)。该方法可进一步包括在离散余弦变换(DCT)处接收所述经转换数据,所述DCT被配置成产生至少一个DCT系数(1004)。该方法还可包括在量化器处接收来自所述离散余弦变换的所述至少一个DCT系数,所述量化器被配置成量化所述至少一个DCT系数,并将至少一个经量化的系数提供给熵编码器,所述熵编码器包括与用于编码非零AC系数的幅值的位数相对应的第一霍夫曼表(1006)。当然,附加操作也在本发明的范围内。
本文中所描述的实施例可以例如在集成电路(IC)中实现,该集成电路可包括例如单片系统(SoC)、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。本文中的任何实施例中所使用的“集成电路”表示半导体器件和/或微电子器件,诸如例如但不限于半导体集成电路芯片。
如本文所描述的任何实施例中所使用,“电路”可包括例如存储可由可编程电路执行的指令的硬连线电路、可编程电路、状态机电路和/或固件的单体或任何组合。首先应当理解的是,在本文中的任何实施例中描述的任何操作和/或操作性部件可以用软件、固件、硬连线电路和/或它们的任何组合来实现。
上述方法的实施例可以用存储在存储介质上的计算机程序来实现,该存储介质具有用于对系统(例如机器)进行编程以执行这些方法的指令。该存储介质可包括但不限于:包括软盘、光盘、光盘只读存储器(CD-ROM)、可重写光盘(CD-RW)以及磁光盘的任何类型的盘;诸如只读存储器(ROM)、诸如动态和静态RAM之类的随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存之类的半导体器件;磁卡或光卡;或适合于存储电子指令的任何类型的介质。其他实施例可被实现为由可编程控制设备执行的软件模块。
本发明可提供优于现有技术的众多优点。例如,本文中描述的实施例描述了数种低复杂度熵编码方案,相比于标准JPEG,这些方案可将基于VLC的熵编码器的运算复杂度降低约50%,且将存储器消耗降低约70%。本文中所描述的实施例允许选择运算复杂度与压缩比之间的高效折衷。
例如,本文中所描述的实施例可以不需要对非零系数之间的零序列(行程长度)的编码。在一些实施例中,也不需要关于行程长度值的霍夫曼表,从而减少了存储器消耗(参见表6)。示出了这类序列的概率对于不同的测试影片而言会是非常小的(参见图5),且对压缩比的影响相当小(参见图4)。
在本文中已描述了各种特征、方面和实施例。如本领域技术人员将能理解,这些特征、方面和实施例易与彼此组合,且容易进行变型和修改。因此,本发明应当被认为涵盖这类组合、变型以及修改。
Claims (15)
1.一种装置,包括:
集成电路(IC),其被配置成压缩和/或解压缩数据,所述集成电路包括被配置成接收至少一个离散余弦变换(DCT)系数的熵编码器,所述熵编码器包括与用于编码非零AC系数的幅值的位数相对应的第一霍夫曼表。
2.如权利要求1所述的装置,其特征在于,所述熵编码器进一步包括与给定序列中在所述非零AC系数之前的连续的零值AC系数数目相对应的第二霍夫曼表。
3.如权利要求1所述的装置,其特征在于,所述熵编码器被配置成向输出流中写入至少一个零,所述至少一个零与给定序列中在所述非零AC系数之前的连续的零值AC系数数目相对应。
4.如权利要求1所述的装置,其特征在于,还包括被配置成从前向离散余弦变换接收所述至少一个系数的量化器,所述量化器还被配置成量化所述至少一个系数,并向所述熵编码器提供至少一个经量化的系数。
5.如权利要求4所述的装置,其特征在于,所述前向离散余弦变换被配置成从转换器接收经转换的数据,所述离散余弦变换进一步被配置成产生所述至少一个DCT系数,并将所述至少一个DCT系数提供给所述量化器。
6.一种用于数据压缩的方法,包括:
将数据从第一色彩空间转换至第二色彩空间以产生经转换数据;
在离散余弦变换(DCT)处接收所述经转换数据,所述DCT被配置成产生至少一个DCT系数;以及
在量化器处接收来自所述离散余弦变换的所述至少一个DCT系数,所述量化器被配置成量化所述至少一个DCT系数,并将至少一个经量化的系数提供给熵编码器,所述熵编码器包括与用于编码非零AC系数的幅值的位数相对应的第一霍夫曼表。
7.如权利要求6所述的方法,其特征在于,所述熵编码器进一步包括与给定序列中在所述非零AC系数之前的连续的零值AC系数数目相对应的第二霍夫曼表。
8.如权利要求6所述的方法,其特征在于,所述熵编码器被配置成向输出流中写入至少一个零,所述至少一个零与给定序列中在所述非零AC系数之前的连续的零值AC系数数目相对应。
9.如权利要求7所述的方法,其特征在于,进一步包括:
将所述至少一个DCT系数与零比较;
将与给定序列中在所述非零AC系数之前的所述连续的零值AC系数的数目相对应的计数器增大;
如果给定序列中在所述非零AC系数之前的所述连续的零值AC系数数目大于给定阈值且不是块结束(EOB),则修改所述计数器;
检测到非零系数,并且获得和写入与给定序列中在所述非零AC系数之前的所述连续的零值AC系数数目和所述用于编码非零AC系数的幅值的位数中的至少一者相对应的码字;以及
以二进制形式写入所述非零AC系数的所述幅值。
10.如权利要求8所述的方法,其特征在于,进一步包括:
将所述至少一个DCT系数与零比较;
检测到非零系数,并且获得和写入与给定序列中在所述非零AC系数之前的所述连续的零值AC系数数目和所述用于编码非零AC系数的幅值的位数中的至少一者相对应的码字;以及
以二进制形式写入所述非零AC系数的所述幅值。
11.一种包括上面存储有指令的存储介质的制品,所述指令在被机器执行时导致以下操作:
将数据从第一色彩空间转换至第二色彩空间以产生经转换数据;
在离散余弦变换(DCT)处接收所述经转换数据,所述DCT被配置成产生至少一个DCT系数;以及
在量化器处接收来自所述离散余弦变换的所述至少一个DCT系数,所述量化器被配置成量化所述至少一个DCT系数,并将至少一个经量化的系数提供给熵编码器,所述熵编码器包括与用于编码非零AC系数的幅值的位数相对应的第一霍夫曼表。
12.如权利要求11所述的制品,其特征在于,所述熵编码器进一步包括与给定序列中在所述非零AC系数之前的连续的零值AC系数数目相对应的第二霍夫曼表。
13.如权利要求11所述的制品,其特征在于,所述熵编码器被配置成向输出流中写入至少一个零,所述至少一个零与给定序列中在所述非零AC系数之前的连续的零值AC系数数目相对应。
14.如权利要求12所述的制品,其特征在于,进一步包括:
将所述至少一个DCT系数与零比较;
将与给定序列中在所述非零AC系数之前的所述连续的零值AC系数数目相对应的计数器增大;
如果给定序列中在所述非零AC系数之前的连续的零值AC系数数目大于给定阈值且不是块结束(EOB),则修改所述计数器;
检测到非零系数,并且获得和写入与给定序列中在所述非零AC系数之前的所述连续的零值AC系数数目和所述用于编码非零AC系数的幅值的位数中的至少一者相对应的码字;以及
以二进制形式写入所述非零AC系数的所述幅值。
15.如权利要求13所述的制品,其特征在于,进一步包括:
将所述至少一个DCT系数与零比较;
检测到非零系数,并且获得和写入与给定序列中在所述非零AC系数之前的所述连续的零值AC系数数目和所述用于编码非零AC系数的幅值的位数中的至少一者相对应的码字;以及
以二进制形式写入所述非零AC系数的所述幅值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2008/000025 WO2009091279A1 (en) | 2008-01-18 | 2008-01-18 | Separate huffman coding of runlength and size data of dct coefficients |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101919252A true CN101919252A (zh) | 2010-12-15 |
Family
ID=39865630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801253255A Pending CN101919252A (zh) | 2008-01-18 | 2008-01-18 | 对dct系数的行程长度和大小数据的分别霍夫曼编码 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2235950A1 (zh) |
CN (1) | CN101919252A (zh) |
DE (1) | DE112008003626T5 (zh) |
WO (1) | WO2009091279A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112449185A (zh) * | 2019-08-28 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
CN115664426A (zh) * | 2022-12-27 | 2023-01-31 | 深圳安德空间技术有限公司 | 一种探地雷达数据的实时无损压缩方法及系统 |
CN118055256A (zh) * | 2024-04-15 | 2024-05-17 | 浙江芯劢微电子股份有限公司 | 一种基于dct变换的图像压缩编码方法和系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8891616B1 (en) | 2011-07-27 | 2014-11-18 | Google Inc. | Method and apparatus for entropy encoding based on encoding cost |
US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US9774856B1 (en) | 2012-07-02 | 2017-09-26 | Google Inc. | Adaptive stochastic entropy coding |
US9509998B1 (en) | 2013-04-04 | 2016-11-29 | Google Inc. | Conditional predictive multi-symbol run-length coding |
US9392288B2 (en) | 2013-10-17 | 2016-07-12 | Google Inc. | Video coding using scatter-based scan tables |
US9179151B2 (en) | 2013-10-18 | 2015-11-03 | Google Inc. | Spatial proximity context entropy coding |
CN112398484B (zh) * | 2019-08-15 | 2024-04-23 | 华为技术有限公司 | 一种编码方法及相关设备 |
-
2008
- 2008-01-18 EP EP08793987A patent/EP2235950A1/en not_active Withdrawn
- 2008-01-18 CN CN2008801253255A patent/CN101919252A/zh active Pending
- 2008-01-18 WO PCT/RU2008/000025 patent/WO2009091279A1/en active Application Filing
- 2008-01-18 DE DE112008003626T patent/DE112008003626T5/de not_active Withdrawn
Non-Patent Citations (2)
Title |
---|
CCITT: "DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES PART I:REQUIREMENTS AND GUIDELINES", 《APPENDIX A.ISO DIS 10918-1.REQUIREMENTS AND GUIDELINES.INTERNATIONAL STANDARD DIS10918-1.CCITT RECOMMENDATION T.81》 * |
WALLACE G K: "THE JPEG STILL PICTURE COMPRESSION STANDARD", 《IEEE TRANSCATIONS ON CONSUMER ELECTRONICS,IEEE SERVICE,NEW YORK,NY,US》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112449185A (zh) * | 2019-08-28 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
CN112449185B (zh) * | 2019-08-28 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
CN115664426A (zh) * | 2022-12-27 | 2023-01-31 | 深圳安德空间技术有限公司 | 一种探地雷达数据的实时无损压缩方法及系统 |
CN118055256A (zh) * | 2024-04-15 | 2024-05-17 | 浙江芯劢微电子股份有限公司 | 一种基于dct变换的图像压缩编码方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2235950A1 (en) | 2010-10-06 |
WO2009091279A1 (en) | 2009-07-23 |
DE112008003626T5 (de) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101919252A (zh) | 对dct系数的行程长度和大小数据的分别霍夫曼编码 | |
CN100463488C (zh) | 用于渐进地变换并编码数字数据的系统和方法 | |
JP3237096B2 (ja) | 適応ゾーンコーダ | |
TWI431948B (zh) | 轉換區塊之效率編碼和解碼 | |
US6301392B1 (en) | Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage | |
US7321695B2 (en) | Encoder rate control | |
US5541594A (en) | Fixed quality source coder with fixed threshold | |
US6229927B1 (en) | Reversible embedded wavelet system implementation | |
US7714873B2 (en) | Strategies for compressing textures | |
US6801573B2 (en) | Method for dynamic 3D wavelet transform for video compression | |
Kaur et al. | A review of image compression techniques | |
WO1997034375A1 (en) | Method for reducing storage requirements for digital data | |
KR20080044835A (ko) | 넓은 범위 계수의 적응형 코딩 및 디코딩 | |
US20080002896A1 (en) | Strategies For Lossy Compression Of Textures | |
RU2567988C2 (ru) | Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт | |
Wei | An introduction to image compression | |
US20100166328A1 (en) | Image encoder and image encoding method | |
US20050063472A1 (en) | Method and system for processing signals via perceptive vectorial quantization, computer program product therefor | |
US9060171B2 (en) | Image processing system and method | |
Bhammar et al. | Survey of various image compression techniques | |
Jones et al. | Digital image compression | |
Karthikeyan et al. | Fast and efficient lossless encoder in image compression with low computation and low memory | |
US6433707B1 (en) | Universal lossless compressor for digitized analog data | |
Dai et al. | Lossless compression techniques for maskless lithography data | |
Al-Khafaji | Hybrid image compression based on polynomial and block truncation coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101215 |