问答题X 纠错
Jpeg是由国际电报咨询委员会(ccitt)和国际标准化协会(osi)联合组成的一个图象专家小组开发研制的连续色调、多级灰度、静止图象的数字图象压缩编码方法。jpeg适于静止图象的压缩,此外,电视图象序列的帧内图象的压缩编码也常采用jpeg压缩标准。jpeg数字图象压缩文件作为一种数据类型,如同文本和图形文件一样地存储和传输。基于离散余弦变换(dct)的编码方法是jpeg算法的核心内容。编码处理过程包括原图象数据输入、正向dct变换器、量化器、熵编码器和压缩图象数据的输出,除此之外还附有量化表和熵编码表(即哈夫曼表);接收端由信道收到压缩图象数据流后,经过熵解码器、逆量化器、逆变换(idct),恢复并重构出数字图象,量化表和熵编码表同发送端完全一致。编码原图象输入,可以是单色图象的灰度值,也可以是彩色图象的亮度分量或色差分量信号。dct的变换压缩是对一系列8*8采样数据作块变换压缩处理,可以对一幅像,从左到右、从上到下、一块一块(8*8/块)地变换压缩,或者对多幅图轮流取8*8采样数据块压缩。解码输出数据,需按照编码时的分块顺序作重构处理,得到恢复数字图象。
具体的实现技术如下:
(1)首先把一幅图象分8*8的子块按图中的框图进行离散余弦正变换(fdct)和离散余弦逆变换(idct)。在编码器的输入端,原始图象被分成一系列8*8的块,作为离散余弦正变换(fdct)的输入。在解码器的输出端,离散余弦逆变换(idct)输出许多8*8的数据块,用以重构图象。
离散余弦正变换(fdct)可看作为一个谐波分析仪,把离散余弦逆变换(idct)看作一个谐波合成器。每个8*8二维原图象采样数据块,实际上是64点离散信号,该信号是空间二维参数x和y的函数。fdct把这些信号作为输入,然后把它分解成64个正交基信号,每个正交信号对应于64个二维(2d)空间频率中的一个,这些空间频率是由输入信号的频谱组成。fdct的输出是64个基信号的幅值(即dct系数),每个系数值由64点输入信号唯一地确定,即离散余弦变换的变换系数。在频域平面上变换系数二维频域变量u和v的函数。对应于u=0,v=0的系数,称做直流分量(dc系数),其余63个系数称做交流分量(ac系数)。因为在一幅图象中像素之间的灰度或色差信号变化缓慢,在8*8子块中像素之间相关性很强,所以通过离散余弦正变换处理后,在空间频率低频范围内集中了数值大的系数,这样为数据压缩提供了可能。远离直流系数的高频交流系数大多为零或趋于零。如果fdct和idct变换计算中计算精度足够高,并且dct系数没有被量化,那么原始的64点信号就能精确地恢复。
(2)量化
为了达到压缩数据的目的,对dct系数f(u,v)需作量化处理。量化处理是一个多到一的映射它是造成dct编解码信息损失的根源。在jpeg标准中采用线性均匀量化器。量化定义为,对64个dct变换系数f(u,v)除以量化步长q(u,v)后四舍五入取整。即量化器步长是量化表的元素,量化表元素随dct变换系数的位置而改变,同一像素的亮度量化表和色差量化表不同值,量化表的尺寸也是64,与64个变换系数一一对应。量化表中的每一个元素值为1至255之间的任意整数,其值规定了对应位置变换系数的量化器步长。在接收端要进行逆量化。不同频率的余弦函数对视觉的影响不同,量化处理是在一定的主观保真度图像质量的前提下,可据不同频率的视觉阈值来选择量化表中的元素值的大小。根据心理视觉加权函数得到亮度化表和色度量化表。dct变换系数f(u,v)除以量化表中对应位置的量化步长,其幅值下降,动态范围变窄,高频系数的零值数目增加。
(3)熵编码
为进一步达到压缩数据的目的,需对量化后的dc系数和行程编码后的ac系数进行基于统计特性的熵编码。64个变换系数经量化后,坐标u=v=0的值是直流分量(即dc系数)。dc系数是64个图像采样平均值。因为相邻的8×8块之间有强的相关性,所以相邻块的dc系数值很接近,对量化后前后两块之间的dc系数差值进行编码,可以用较少的比特数。dc系数包含了整个图像能量的主要部分。经量化后的63个ac系数编码时从左上方ac(u=7,v=7)开始,沿箭头方向,以“z”字形行程扫描,直到ac(u=7,v=7)扫描结束。量化后特编码的ac系数通常有许多零值,沿“z”字形路径行进,可使零ac系数集中,便于使用行程编码方法。63个ac系数行程编码和码字,可用两个字节表示。jpeg建议使用两种熵编码方法:huffman编码和自适应二进制算术编码。
你可能喜欢
问答题
问答题
问答题
问答题
问答题
问答题