JPEG编解码基本技术回顾

JPEG格式是一个很老的格式了,笔者刚刚认识5寸软盘的时代就知道这种文件是用来保存图片的,而且比同尺寸的“bmp”图片要小很多。很多年过去了,信息技术各个领域全面发展,视频编解码技术更新换代了好几轮,然而大家从网页上看到的、自己磁盘里存储的、照相机/手机拍摄的,仍然以这种格式的图片为主。曾经有人将JPEG称为“来自未来的外星科技”。

为什么JPEG能够流行这么长的时间呢?一个很重要的原因固然是它流行得很早,但另外一个原因则是这种图片编码格式体现了基于主流图片/视频压缩技术最根本的世界观和方法论。本文就以JPEG中最基本最常用的Baseline-DCT模式为例,简单回顾下JPEG编解码技术的整体概况和若干细节。

一. 基本概况

JPEG支持多种编解码模式。最基本的Baseline-DCT支持8比特sample,熵编码采用哈夫曼编码,然而扩展DCT模式则能够支持12比特的sample,熵编码既可以用哈夫曼编码也可以用算术编码。

采样格式方面,支持纯亮度,YUV420,YUV422和YUV444。

分块方面,一律8x8大小分块。

JPEG标准可从ITU-T官网下载,标准编号是T.81

二. 格式

JPEG文件中的语法单位基本是由marker来组织的。每个marker都是由0xFF开头的一个16位整数,标记接下来的数据内容。对于熵编码部分,如果出现了0xFF则要填充一个0x00。

下面列一些重要的marker:

SOI:即start of image的意思。应出现在文件最开头。纯marker。

SOFn:即sta

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值