JPEG算法分析与实现

本文详细介绍了JPEG(Joint Photographic Experts Group)图像压缩标准,包括数字图像压缩原理、分类,重点分析了JPEG的有损压缩算法,涵盖颜色空间转换、DCT变换、量化、差分脉冲编码和行程编码以及霍夫曼编码等步骤。同时,概述了JPEG的封装格式,并提供了编码实现的简要说明。
摘要由CSDN通过智能技术生成

这是前面自己做的很low的一个作业,闲来无事第一次写东西也不知道写什么,就拿这个作业开头吧!如有错误望见谅并且指出!!

一、简单的引言还是要有的

        JPEG是第一个国际图像压缩标准,用于连续色调静态图像(即包括灰度图像和彩色图像)。JPEG是联合图像专家组(JointPhotographic Experts Group)的缩写,这个图像压缩标准是国际化电信联盟(ITU)、国际化标准化组织(ISO)和国际电工委员会(IEC)合作努力的结果。JPEG标准正式地称为ISO/IECIS(国际标准)10918-1:连续色调静态图像数字压缩和编码和ITU-T建议T.81。JPEG标准的目的在于支持用于大多数连续色调静态图像压缩的各种各样的应用,这些图像可以是任何一个色彩空间,用户可以调制压缩比,并能达到或者接近技术领域中领先的压缩性能,且具有良好的重建质量。这个标准的另一个目标是对普遍实际的应用提供易处理的计算复杂度。在ISO公布的JPEG标准方案中,JPEG包含了两种压缩方式。一种是基于DCT变换的有损压缩编码方式,它包含了基本功能和拓展系统两部分;另一种是基于空间DPCM(差分脉冲编码调制)方法的无损压缩编码方式。本文实现的是第一种中的基本功能部分,即baseline部分。

二、数字图像压缩综述

1、数字图像压缩原理

       图像压缩是指以较少的比特有损或无损地表示原来的像素的技术,也称图像编码。图像数据之所以能够被压缩,就是因为图像数据中存在着冗余。图像数据中通常的冗余信息包括以下几种:

(1)空间冗余:是指图像的相邻像素或相邻行之间存在较强的空域相关性。也就是说在一幅图像中均匀区域上的像素值变化是非常小的;

(2) 时间冗余:主要是指在视频图像序列中,相邻帧图像之间存在非常强的相关性;

(3)频谱冗余:是由不同彩色平面或频谱带的相关性引起的冗余;

(4)编码冗余:通常,图像各像素点灰度值并不是等概率分布的,也就是说各灰度值数据的信息熵是不同的,如果每个像素数据都用相同的比特数表示,必然存在编码冗余;

(5)视觉冗余:视觉冗余是相对于人眼的视觉特性而言的,人类的视觉系统对图像的各部分变化的敏感程度是不同的,例如对亮度的变化敏感,对色度的变化相对不敏感。

       图像压缩编码的就是要出去这些冗余信息,在某些应用中,一定程度的失真是允许的,因此也就可以对图像做一定程度甚至是很大程度的有损压缩。

2、数字图像压缩的分类

2.1无损压缩

       所谓无损压缩,就是利用数据的统计冗余来进行压缩,解压的时候可以完全恢复原始数据而不引起任何失真,但压缩率受到数据统计冗余度的理论限制,通常压缩率都非常低。图像的无损压缩通常分为两步,即去相关和编码。在无损压缩的编码设计过程中,采用的都是变长编码,也就是根据数据出现的概率分配不同长度的编码,对于那种出现概率很高的数据分配短的编码,对于出现概率很低的数据分配较长的编码,这样编码的位数不是固定的,而且总的平均码长较低,达到数据压缩的目的。图像压缩的过程中主要用到的有以下几种变长编码:

(1)霍夫曼编码。其基本思想是将整幅图像像素数据扫描一遍,统计各像素出现的概率,按照出现的概率大小来为其分配唯一的编码。通过这样的方式就可以构造出一幅图像的霍夫曼表,而且通过这样构造出来的编码的平均码长一定是最短的;

(2)行程编码(RLE)。又称游程编码、行程长度编码等,也是一种统计编码。编码的主要思想就是检测重复的比特或字符序列,并用它们的出现次数取而代之,这图像压缩的应用过程中,这样的重复比特通常指“0”;

(3)算术编码。是一种熵编码的方法,其特点在于其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0《n《10)的小数n。

2.2 有损压缩

       有损压缩又称为破坏型压缩,利用了人类视觉系统对图像中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响很小,却换来了比无损压缩大得多的压缩比。在图像压缩的过程中通常用到的有预测编码和变换编码等。预测编码是根据离散信号之间存在着一定关联性的特点,利用前面一个或多个信号预测下一个信号,然后对实际值和预测值的差进行编码;变换编码就是空域的图像信号变换到频域进行处理,变换到频域以后会产生一批变换系数,然后对这些变换系数进行量化和编码。常用的变换有DCT(离散余弦变换)、DFT(离散傅里叶变换)、WHT(WalshHadama变换)等,其中最常用的是DCT(离散余弦变换)。

3.压缩效果的评价

图像的内容不都是相同的,在不同的压缩条件下,不同的压缩方法下压缩后的图像质量也是参差不齐,这就需要对压缩后的图像质量进行正确的评价,目前常用的评价方法主要有两种,即客观质量评价和主观质量评价。

&#x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值