JPEG与JPEG2000
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 艺少
JPEG与JPEG2000的更多相关文章
- (转)JPEG图片数据结构分析- 附Png数据格式详解.doc
一.简述 JPEG是一个压缩标准,又可分为标准JPEG.渐进式JPEG及JPEG2000三种: ①标准JPEG:以24位颜色存储单个光栅图像,是与平台无关的格式,支持最高级别的压缩,不过,这种压 ...
- jpeg了解
JPEG是一个压缩标准,又可分为标准 JPEG.渐进式JPEG及JPEG2000三种: ①标准JPEG:以24位颜色存储单个光栅图像,是与平台无关的格式,支持最高级 别的压缩,不过,这种压缩是有损耗的 ...
- 图片原理解说(综合版:JPEG,PNG,BMP,GIF)
JPEG: 首先说明 jpeg图片:JPEG是joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为".jpg"或".jp ...
- JPEG概述和头分析(C源码)
原创文章,转载请注明:JPEG概述和头分析(C源码) By Lucio.Yang 部分内容来自:w285868925,JPEG压缩标准 1.JPEG概述 JPEG是一个压缩标准,又可分为标准 JPE ...
- 常见图片格式PNG,JPEG,BMP,GIF区别总结
在前端工作久了经常会遇到各种格式的图片文件,现文做一些区别总结,帮助理解但不深入. [PNG](Portable Network Graphics) PNG是一种无损压缩的位图图形格式,主要有PNG8 ...
- PNG,JPEG,BMP,JIF图片格式详解及其对比
原文地址:http://blog.csdn.net/u012611878/article/details/52215985 图片格式详解 不知道大家有没有注意过网页里,手机里,平板里的图片,事实上,图 ...
- GraphicsMagick为图片添加水印
GraphicsMagick号称图像处理领域的瑞士军刀.提供了健壮及高效的图像处理工具包和库,支持超过88种主流图片格式包括:BMP,GIF,JPEG,JPEG-2000,PNG,PDF,PNM,TI ...
- 转:GraphicsMagick介绍及安装
原文来自于:http://www.cnblogs.com/cocowool/archive/2010/08/16/1800954.html GraphicsMagick 当前稳定版本:1.3.12(发 ...
- 部分GDAL工具功能简介
主要转自http://blog.csdn.net/liminlu0314?viewmode=contents 部分GDAL工具功能简介 gdalinfo.exe 显示GDAL支持的各种栅格文件的信息. ...
随机推荐
- MondoDB介绍 Python与MongoDB用法,安装PyMongo
http://blog.csdn.net/t_ells/article/details/50265889 MongoDB最新版本下载在官网的DownLoad菜单下:http://www.mongodb ...
- python qq发消息
# 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板内容发送到qq窗口 # 之后模拟按键发送enter键发送消息 import win32gui import win32con import win ...
- 页面嵌套iframe时,怎样让iframe高度根据自身内容高度自适应
总体思路是这样的,因为iframe里页面的内容是动态加载的,而且电脑屏幕宽度发生变化时,也得相应的去改变iframe标签的高度(如果高度确定就不用这么麻烦了): 首先,我们在父页面中定义一个方法,用来 ...
- ROStopic 通信方式
操作演示,对 topic 通信方式的理解请看:点击打开链接 开启终端,运行 roscore 新开一个终端(已经安装好(ros-<distro>-ros-tutorials 包,否则运行 ...
- Semaphore信号量原理
package com.maven.info.semaphore; import java.util.ArrayList; import java.util.List; import java.uti ...
- FOI冬令营 Day2
目录 T1.直径(diameter) 传送门 Code T2.定价(price) 传送门 Code T3.排序(sort) 传送门 Code T1.直径(diameter) 传送门 Code //20 ...
- java maven scope compile,provide,system,test,runtime
在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided.如下: <dependency> <groupId ...
- bash常用的快捷键
bash常用快捷键 快捷键 作用 CTRL+A 把光标移动到命令行开头.如果我们输入的命令过长,则在想要把光标移动到命令行开头时使用 CTRL+E 光标移动到命令行行尾 CTRL+C 强制中止当前命令 ...
- Java 内存模型学习笔记
1.Java类 public class Math { public static final Integer CONSTANT = 666; public int math(){ int a = 1 ...
- python 混入类MixIn
写在前面 能把一件事情说的那么清楚明白,感谢廖雪峰的官方网站. 1.为什么要用混入类?(小白入门) 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. step1: 回忆一下 ...