JPEG与JPEG2000


声明:引用请注明出处http://blog.csdn.net/lg1259156776/


背景介绍

JPEG 全名为 Joint Photographic Experts Group,它是一个在国际标准组织(ISO)下从事静态图像压缩标准制定的委员会。它制定出了第一套国标静态图像压缩标准:ISO 10918-1 就是我们俗称的 JPEG 了。由于JPEG优良的品质,使得它在短短的几年内就获得极大的成功,目前网站上百分之八十的图像都是采用JPEG的压缩标准。然而,随著多媒体应用领域的激增,传统JPEG压缩技术已无法满足人们对多媒体图像资料的要求。因此,更高压缩率以及更多新功能的新一代静态图像压缩技术 JPEG 2000 就诞生了。JPEG 2000 正式名称为 “ISO 15444” ,同样是由JPEG 组织负责制定。自1997年三月开始筹划,但这几年间,在算法选取问题上耽误了不少时间,人们普遍预计要到2000年十二月JPEG2000才能制定完成! 但在2000年3 月的东京的一个会议上,可能是由于数字照相机厂商们施加压力,规定基本编码系统的最终协议草案提前出台,终于不用改名为 JPEG2001 了。


基本概念

JPEG 2000是基于小波变换的图像压缩标准,由Joint Photographic Experts Group组织创建和维护。JPEG 2000通常被认为是未来取代JPEG(基于离散余弦变换)的下一代图像压缩标准。JPEG 2000文件的副档名通常为.jp2,MIME类型是image/jp2。

JPEG2000的压缩比更高,而且不会产生原先的基于离散馀弦变换的JPEG标准产生的块状模糊瑕疵。JPEG2000同时支持有损压缩和无损压缩。另外,JPEG2000也支持更复杂的渐进式显示和下载。

JPEG2000是国际标准化组织(ISO)发布的标准,文档代码为ISO/IEC 15444-1:2000。虽然JPEG2000在技术上有一定的优势,但是到目前为止(2006年),网络上采用JPEG2000技术制作的图像文件数量仍然很少,并且大多数的浏览器仍然没有内置支持JPEG2000图像文件的显示。但是,由于JPEG2000在无损压缩下仍然能有比较好的压缩率,所以JPEG2000在图像品质要求比较高的医学图像的分析和处理中已经有了一定程度的广泛应用。

JPEG2000的原理

JPEG 2000 与传统 JPEG 最大的不同,在于它放弃了 JPEG 所采用的以离散馀弦转换(Discrete Cosine Transform) 为主的区块编码方式,而改采以小波转换(Wavelet transform) 为主的多解析编码方式。小波转换的主要目的是要将图像的频率成分抽取出来。简单原理图可以参考下图。

JPEG2000的优点

1、JPEG2000 作为JPEG升级版,高压缩(低码率)是其目标,其压缩率比 JPEG 高约 30% 左右。

2、JPEG2000 同时支持有损和无损压缩,而 JPEG 只能支持有损压缩。因此它适合保存重要图片。

3、JPEG2000 能实现渐进传输,这是JPEG2000的一个极其重要的特征。这也就是我们对 GIF 格式图像常说的“渐现”特性。它先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图象由朦胧到清晰显示,而不必是像现在的 JPEG 一样,由上到下慢慢显示。

4、JPEG2000 支持所谓的“感兴趣区域”特性,你可以任意指定图像上你感兴趣区域的压缩质量,还可以选择指定的部份先解压缩。这样我们就可以很方便的突出重点了。

JPEG2000版权专利问题

JPEG2000存在版权和专利的风险。这也许是目前JPEG2000技术没有得到广泛应用的原因之一。JPEG2000标准本身是没有授权费用,但是,因为编码的核心部分的各种演算法被大量注册专利,所以一般认为,不太可能避开这些专利费用开发出免授权费的商用编码器。

参考文献

http://www.360doc.com/content/06/0111/11/494_56622.shtml

百度百科


2015-10-9 艺少

最新文章

  1. Selenium-java-XML启动用例类-简单1
  2. tyvj1113 魔族密码
  3. WPF三大模板简介(Z)
  4. Java泛型-类型擦除
  5. JMeter常用字符串相关函数
  6. 百度ueditor 拖文件或world 里面复制粘贴图片到编辑中 上传到第三方问题
  7. 关于jQuery源码分析
  8. 【转载】Javascript中的this关键字
  9. 第三百三十天 how can I 坚持
  10. 35. leetcode 501. Find Mode in Binary Search Tree
  11. unity3d开发环境配置
  12. RESTful 架构详解
  13. HDFS 概述
  14. 为什么byte的取值范围是-128到127
  15. 掌握Docker命令-Docker for Web Developers(4)
  16. python+selenium+PhantomJS批量投递智联简历(不要用自己的账号进行测试,请使用小号,很烦人的,哈哈哈)
  17. @transactional注解,报错后数据库操作回滚失败
  18. Python下opencv使用笔记(图像的平滑与滤波)
  19. Butter Knife 黄油刀
  20. __slots__

热门文章

  1. [TJOI2015]弦论(第k小子串)
  2. 动态 DP 总结
  3. &和&&,|和||的用法区别
  4. Laravel 报 Nginx 502 : Bad Gateway 错误
  5. TensorFlow(十):卷积神经网络实现手写数字识别以及可视化
  6. eclipse 点击 new window 后,关闭新增的窗口
  7. vue-上拉加载、下拉刷新组件
  8. 【python代码】linux 登陆网关
  9. 纯JS 10分钟 实现图片懒惰加载
  10. Mac下不能成功打开uiautomatorviewer的问题解决