JPEG2000介绍

news/2024/7/21 3:48:02 标签: 图像处理, 加密, 数据库, 互联网, 存储

1,JPEG2000提出的背景

JPEG(Joint Photographic Experts Group)是在国际标准化组织(ISO)领导之下制定静态影像压缩标准的委员会,第一套国际静态影像压缩标准——ISO 10918-1(JPEG)就是该委员会制定的。由于JPEG优良的品质,使它在短短几年内获得了极大的成功,被广泛应用于互联网和数码相机领域,网站上80%的影像都采用了JPEG压缩标准。然而,随着多媒体应用领域的激增,传统的JPEG压缩技术已经无法满足人们对多媒体影像资料的要求。另外,JPEG格式的图像文件体积仍然嫌大,JPEG格式属于有损压缩,当被压缩的图像上有大片近似颜色时,会出现马赛克现象,因此,JPEG无法胜任对图像质量要求较高的应用。于是,一种功能更强大、效率更卓越的静止图像压缩标准被提到制定日程上,这就是JPEG2000。

 

2,什么是JPEG2000

     JPEG2000的正式名称为ISO15444。它是由ISO/IEC JTC 1 SC29标准化小组负责制定的新一代静止图像压缩标准。

 

3,JPEG2000标准的特点

(1)   低码率下的超级压缩性能。目前的JPEG标准( IS010918-1)在中高码率下提供了比较好的率失真性能但是在低码率条件下(比如对于细节丰富的灰度图像使用低于0.25 bps的码率),它提供的主观图像质量往往让人无法接受。JPEG2000将提供低码率下的超级性能,并且在码率下降的同时率失真(Rate-Distortion)性能仍能保持最优。这是JPEG2000最重要的特点。

(2)   连续色调和二值压缩。JPEG2000可以使用相似的资源在一个标准编码系统中实现对连续色调图像和二值图像的压缩。并且对每一个彩色分量,都能使用可变动态范围(如1-16 bit)进行压缩和解压缩。

(3)   无损和有损压缩。在一个JPEG2000码流中,可以同时存在有损压缩和高性能的无损压缩数据,并且对图像的无损恢复可以利用层进式解码自然得到。

(4)   根据像素精度和分辨率的层进式传输。这一特性允许图像重建根据目标设备的需要,按不同(递增的)的空间分辨率和像素精度进行。

(5)   固定码率、固定大小。固定码率是指对一定数量的输入比特和输出比特的数量等于(或小于)一个特定值,这一特性允许解码在有限带宽的信道中实时进行。固定大小是指对整个图像的编码码流大小固定,这使拥有有限内存空间的硬件(如扫描仪)可容纳整个编码码流而不需区分具体图像。

(6)   对比特流的任意访问和处理。JPEG2000允许用户在比特流中定义特殊区域(Region of Interest,ROI),并对该区域进行任意的访问和处理。用户不仅可以使用比图像其它部分小得多的失真度对该区域解压缩,而且可以在压缩情况下对该区域进行翻转、缩放等几何操作。

(7)   有效抑制比特误码。JPEG200()的码流设计可以有效地抑制比特误码。在无线通信信道中,恰当的码流设计可以帮助纠正解码错误,对重建图像质量是非常重要的。

(8)   基于内容的描述。JPEG2000允许在压缩的图像文件含有对图像内容的说明,这是因为除了存储和传输之外,允许用户在一个大的数据库中迅速找到感兴趣的图像也是图像处理中一个非常重要的问题。

(9)   图像安全保护。JPEG2000允许通过水印、标签、冲压、指纹、加密和加扰等方式对数字图像进行保护。水印和指纹都是在图像内部设置的不可见标记:标签已经在SPIFF中实现,但它必须易于和JPEG2000的图像文件一起传输;冲压是显示在图像上的标记,只能通过特殊方式清除;加密和加扰可以对全部图像文件或其中的一部分进行,以避免对图像的未授权使用。


http://www.niftyadmin.cn/n/1617955.html

相关文章

C++总结—基础

一般而言,C语言糅合了面向过程,面向对象以及泛型三种思想。这三种思想既有相辅相成的一面也有互相矛盾的一面,这就使得C成为常用编程语言中最复杂的高级语言。我们的总结也从这三方面来展开。1,C与CC之所以保留面向过程&#xff0…

挑战极限—极限编程中的“极限”

最近,一直在看Robert Martin的《敏捷软件开发—原则、模式和实践》,该文中以极限编程(XP)来讲述敏捷的实践。看完有关于XP实践的部分,对XP基本的主张和如何去实践有了一个大概的了解。但是,一直有个问题在我…

C++总结—面向对象

C很多时候被认为是“C with Class”,事实上,C引入了完整的面向对象思想,并且为支持这种思想增加了很多基础结构。 类与结构体 C中的类和结构体是非常相似的。 C的继承 C中没有接口的关键字,但是有接口的思想。事实上一个纯虚函数…

Blackberry UI框架

在黑莓原生的UI框架里,所有的UI组件都是Field,这里的Filed代表一个占据一个矩形空间的物件。自定义的UI组件必须是Field的子类或子类的子类。 黑莓的UI有个特性就是默认其大小是不固定的,它不提供类似setSize(),resize()之类的函数&#xff0…

DirectShow 设计思想

DirectShow 建立在COM基础上,是针对流数据的处理的解决方案。 Filter的高级抽象与低级抽象:高级抽象面向组件,每个Filter都是一个组件,低级抽象面向对象,每个Filter内部都有相应的功能类,具有相应的职责。与…

Blackberry 10 特性与开发相关知识

最近,RIM在黑莓开发者大会上强势推出了Blackberry 10。我将网上搜集到一些关于Blackberry 10 新特性和开发相关知识整理后分享给大家。 Blackberry 10的一些新特性: 全新的UI:炫酷且实用 BlackBerry 10 的主界面是四个类似 Windows …

敏捷软件开发:原则、模式和实践

1,敏捷宣言和原则 1.1 敏捷宣言 敏捷联盟在敏捷大会上发布了他们最主要的主张,称之为敏捷宣言。其主要表述如下: 1,个人和交互胜过过程与工具 2,可以工作的软件胜过面面俱到的文档 3,客户合作胜过合同…

Java 优雅的终止线程

Java中原来在Thread中提供了stop()方法来终止线程,但这个方法是不安全的,所以一般不建议使用。《Java多线程模式》中有一种叫Two-Phase Termination(两步终止)的模式可以优雅的终止线程。 首先在线程中设置一个标志位:…