关于JPEG2000

背景情况

  过去十年人们亲眼看到了数字图像的存储和传输的急剧变化。数字相机和便宜的扫描仪在客户和商业方面迅速扩大了数字图像的应用。此外,准备访问Internet和多媒体启动的PC(个人计算机)的低成本使数字图像成为很多人每日生活的组成部分。

  这些因素,连同彩色打印机广泛的可用性,要求适合于印刷复制的图像分辨率。为满足这些要求所必需的图像文件大小对图像存储和传输提出了重要的挑战。因此,数字图像压缩实际上对成像技术的每个方面均是关键的,这取决于客户、商业或科学应用水平。

  目前的JPEG压缩(因为与JPEG2000不同)基于一项决定,这项决定是JPEG委员会于1988年做出的,目的是采用与霍夫曼编码结合的DCT(不连续正弦变换)作为其在ISO10918-1中的编码方式,现在多部分标准的第一部分适用于静止图像压缩。

  DCT是一种有损耗的压缩方式,用户用它来定义所期望的复制质量并因此得到取决于编码图像实际内容的压缩比。这是通过把转换应用于图像位图获得的,像素深度的量化在转换中是一个参数。低质量的图像具有有限的量化水平,结果是一个使用霍夫曼编码的很好的压缩比。

  这种与质量有关的编码主要好处是当同时提供多幅图像时,它们的特点是无论在屏幕上还是在印刷时,相同水平的质量。

  在选择DCT算法的1988年,由于适用于成像的PC和工作站的能力有限,所以实现起来十分复杂。JPEG有一个困难的开端,这就在标准的不同实现之间,产生了比较随机的互操作性。

  1992年,一家美国公司的总工程师当时在JPEG委员会中,建议借助有限的色空间、算法和其他参数,特别是严格的文件格式规范(JFIF),提出了标准的简化实现。这立即获得欢迎并在市场中成了唯一的JPEG实现。

  JFIF就是指今天的JPEG文件格式。然而,这种有限的工具有点过时且难以满足高分辨率、真彩色及附加功能性的要求。

  自从最初引入JPEG及JFIF以来,引入了基于使用DCT的许多附加的文件格式和压缩技术。这些包括SPIFF(静止图像交换文件格式),称为JTIP的多分辨率格式(JPEG平铺图像锥形),及称为Flashpix的同样概念的较新的工具。

  JPEG2000

  到了1995年,一般计算机的计算能力提高了,于是就可能拥有和JPEG有效硬件实现一样快或较之更快的显示图像的软件解码器。

  在1996年,JPEG委员会决定研究图像数据的更强有力的压缩的可能性,特别是分形和小波技术提供了新解决方案的可能性。因为这些研究的进步,好象到了2000年新标准准备好了,并选择了JPEG2000这个名称。

  目的是创造一先进的标准化的图像编码系统以服务于进入下一个世纪的应用程序。目的是:

  1.确定现行的标准不能产生最好质量或性能的范围;

  2.给现在未使用压缩的市场提供可能性;

  3.给成像应用程序提供开放系统方法。

  不同意图的应用程序提出了不同的要求。例如:

  △Internet应用程序(环球网成像)必须在质量和分辨率上有所改进且有快的译码能力。

  △移动式应用程序产生对错误弹性,低功率,及顺次译码的要求,同时电子商务需要图像保密性和数字水印。

  △数字照相要求低的复杂性和压缩有效性。

  △硬拷贝彩色传真,印刷及扫描要求去除或平铺处理。

  △键入数字图书馆/档案应用程序是元数据和内容管理的需要。

  △对于遥感来说,多元件,快速编码和有价值的编码区域是十分主要的。

  医疗应用程序不只是大部分,需要各种各样的有损耗的和无损耗的编码。

  一项对技术要求产生了约20种建议,其中大多数基于小波技术。并测试了对于DCT编码的增强,对于JPEG2000的要求则太多且对DCT编码似乎不可能令他们满意。

  小波技术最终被选作JPEG2000的新的算法,具有在分辨率和质量两方面允许可伸缩性的能力。虽然与整数筛选程序比较,小波变换的复杂性取决于筛选程序的大小和浮点的使用,但小波变换一般比现在的基于程序块的DCT变换计算上更为复杂。作为全画面变换,小波变换也需要比DCT更多的存储器。

  然而,基于程序行的实现可减少存储器的需求。要注意虽然小波变换比DCT变换计算上更为复杂,但是在其复杂性由在标准预期完成时计算机的预期的计算能力得以规范化,小波变换并不比在出版最初的JPEG时DCT变换复杂。因此,JPEG委员会觉得计算机能力现在的和预期的进步减小了这些问题的影响且编码-译码要求的复杂性对于小波技术的广泛实现也不觉得象是一个障碍。

  分辨率的可伸缩性意思是图像代码是连续的代码流,各种水平的分辨率从代码流中得到,作为译代码流达到程度的函数。(即,只译代码流的部分并得到某种水平的分辨率,连续译代码流的代码以得到分辨率)。

  同样的图像文件可用于不同的应用程序。注意这点很在趣:一旦压缩,则压缩的数据可重新排序,因此,它可以以行方式解压缩,按大小是顺次的或按分辨率是顺次的。

  质量不但是一个分辨率问题,而且还是一个像素深度值的量化的问题。编图像代码的操作人员按分辨率或质量确定可伸缩性水平。可逐步按所要求的质量,译质量可伸缩的文件代码,包括如果照此编码的全部无损耗的结果。

  这就可以实现一个有趣的特点:能够使用图像的无损耗编码和允许下流处理以确定应用程序所要求的译码程度。这种能力对医疗成像和出版应用而言是相当有趣的。

  标准和在哪里继续有效

  JPEG2000系指ISO15444标准的所有部分,现在的计划要求下列7个部分:

  部分1.JPEG2000图像编码系统

  部分2.扩充(给部分1的核心定义添加更多的特征和完善度)

  部分3.运动JPEG2000

  部分4.一致性

  部分5.参考软件(目前包含Java和C实现)

  部分6.复合图像文件格式(用于文件扫描和传真应用程序)

  部分7.对部分1的最小支持(技术报告)。

  到2000年度,部分1预计成为完全被认可的ISO标准。部分1定义核心压缩技术和“最小文件格式”,部分1使用可伸缩的文件格式体系结构以及预计满足80%市场要求的最小特征。

  部分2到部分6定义压缩和文件格式的扩充。基本的文件格式,称之为JP2,它是标准的任选部分,但文件格式的任何实现必须符合于标准并阅读所有合法的JP2文件。文件含有扩充,但这些扩充并不妨碍部分1阅读程序执行部分1的功能。这就保证了客户的互操作性。部分2中定义的JPX文件要求扩充的阅读程序,且目标是专门的市场。

  JPEG2000代码流,不管所用的文件格式如何对于所有应用程序而言都是强制性的。JP2文件格式是应用程序使用JPEG2000代码流的缺省接口。

  重要的是要指出压缩和文件格式是分离的。虽然是交换使用JPEG2000压缩的数据时大多数应用程序将使用标准文件格式中的一种,但压缩代码流却可以独立于文件格式使用。

  在很多情况下,用来封装压缩图像数据的文件格式是涉及互操作性时的关键问题。当前的JP2文件格式来源于与数字成像集团DIG2000发端的联合行动。在这次发端中,DIG成员公司在创立JPGE委员会要考虑的文件格式建议当中与JPEG委员会合作。这项工作规定了各类普通用户能够使用的文件格式。它的目标是将生成使用现有的JPEG2000压缩标准、在线图像数据库的软硬件开发者及Web开发者。

  已考虑到各种格式技术,范围包括从基于TIFF的方法到基于Apple的QuickTime方法。所有这些方法都把不同水平的复杂性及轻易地使用二进制数据的特性混合在一起。最终的选择使用部分基于Apple的QuickTime文件格式和MPEG-4文件格式的二进制容器(binarycontainet)。生成此种文件格式使用的技术包括ICC、XML、JPEG2000压缩,及图像元数据。

  在这些之外,JPEG2000委员会考虑到很多集团希望把JPEG2000位流隐藏于另外的文件格式中。因此,问题是要在位流和JPEG2000文件格式中提供适当水平的图像数据和元数据以满足各种使用。

  JP2文件格式规定了确定应怎样解释颜色的方法。部分2(JPX)将规定另外的方法及两部分之间的方法基于复杂性的区分。在部分1中,JP2文件格式,与sRGB和灰sRGB(来自于sRGB的中性sRGB)是所有阅读程序所要求的。此外,所有JP2阅读程序必须支持采用合法ICC轮廓文件解释颜色。这些轮廓文件必须符合于Three?ComponentMatrixBasedandMonochromeInputProfiles(三元素矩阵基和单色输入轮廓文件)。这就提供了低的灵活性但高的互操作性。虽然将列举适用于JPX文件的其他色空间,但不需要JP2阅读程序中的支持。此外,部分2规定了专门规定之外的适合于色空间的登记过程。

  JP2文件格式把文件定义为一系列的含有图像数据或元数据(关于图像数据的数据)的逻辑框。这就使它容易通过逻辑框分析或给文件结构添加新的逻辑框。

  JP2文件的标准逻辑框是文件特征标记,文件类型和兼容性信息,一般标题信息、彩色调色板、色空间规范、元素排序及代码流。除了特征标记和文件类型必须是首次及标题信息逻辑框必须在代码流之前产生之外,不确定逻辑框次序。矢量确定的逻辑框总是在任何地方而未知的逻辑框却被标准阅读程序忽略。

  要包括的其他特点

  元数据:元数据被定义为与图像一起进位的数据,目的是提高全局文件或含有数据的系统的值。元数据与图像一起循环,因此与图像内容密切相关。例如,元数据可含有以字符显示的描述、作者的名字、创作日期、版权记载、使用条件、创作参数等。

  元数据的一个应用程序是IPR(知识产权),用于信誉的作者姓名的指示,与图像一起记入的有关利用、版权记载的权力所有人。

  图像登记

  为原JPEG规定了图像登记过程,在JPEG部分4中规定了它的操作。现正为JPEG2000考虑同样的能力。此登记过程给简单的标识符提供识别图像的能力,叫做LicensePlate(特许板),它是专门的。

  包括其中的是登记权限(RA),记录请求并传递在JPEG中被定义为三逻辑框标识符的标识符。其结构如下:16位用于国家识别,16位用于国家内RA,32位用于40亿个单独的标识符。最近JURA(JPEG实用程序登记权限)提供此功能,它在世界传递RA标识符。

  水印

  防止图像内容剽窃或不适当使用不是一个简单的事。水印是一个可能的解决方法,用这种办法某种信息隐藏于图像数据之内,眼睛看不见但可以探测得到,它携带着用于链接的足够的信息。现在的提案是把64位用于给图像加水印,64位恰好是由作为LicensePlate的登记权限传递的标识符。水印技术仍处在发展阶段,但正由JPEG2000鉴定。

  使人感兴趣的区域(ROI)

  有很多种情况,其中图像的某个部分即使人感兴趣的区域比图像的其他部分需要更详细地访问。在JPEG2000中设计了两种访问ROI的方法,即有源法和无源法。

  在用户任意决定图像中高度使人感兴趣的部分时使用有源ROI。这里,整个图像是以高分辨率存储的;需要图像服务器来传递使所选部位细节显示所需要的代码。

  在图像具有明显的使人感兴趣的区域时,而此区域是创作者根据JPEG2000编码过程的可伸缩性通过额外分辨率或额外质量,加以强调的使用无源ROI。通过把一种透明区域指示符贴在图像上显示可获得细节的部分,用户就知道现有的使人感兴趣的区域。

  DCT,分形和小波压缩技术

  首先没有一个简单的解释。数字图像是一系列的像素值,我们可以把这一系列像素值看作是一个数值表。压缩问题包括两部分:编码和译码。编码包括表示在某种意义上要求较少存储空间的数值表。译码是恢复接近于来自于编码信息的数值原始组合。

  有两个方法可以用来减小数值表的大小。其一是取消某些不重要的数值;其二找到某种表示需要很少数据的数值的方法。DTC,分形和小波均是算法逼近,目的是试图把数据变为其他的更容易允许被安全删除的数据识别的域(频率等)。在DCT的情况下,这是高频率数据;在小波变换的情况下,这是高度详细数据。分形方法以更为简明的方法直接表示数据。通过编码数值的压缩表示可以进一步压缩这些模式的输出。量化可在表中产生很少的数值且每个数值很少的位。熵编码分析到达有效位表示模式的数值表。频繁发生的数值通过很少的位表示,不太经常出现的数值被确定为长的位流。

  ISO/IEC/JTC1/SC29/WG1

  IEC即国际电工技术委员会,它负责电工技术方面的标准,包括电子学、电磁学、磁学、电声学、电极及电能生产及分配。ISO即国际标准化组织,它负责除电气和电子工程之外的所有技术领域的标准,后两个方面由IEC负责。JTC1即联合技术委员会1号(且迄今为止唯一的联合委员会),它向ISO和IEC报告并负责信息技术领域。JTC1的小组委员会(SC)29负责声音、图像、多媒体和超媒体的编码。SC29的工作组1(WG)包括联合照相专家组(JPEG)和联合双级图像小组(JBIG)。JPEG和JBIG二者中的联合系指两个小组与国际电信联盟(ITU)的联合活动这个事实。事实上,ISO15444-1将作为ITU?T建议T.800发表,具有相同的文本。


[时间:2001-12-11  作者:张仁英 编译  来源:中国印刷物资商情]

黄品青微站