JPEG2000的很多参数都与图像的预处理和分割有关。一般的彩色图像都具有三个分量,例如RGB,或者YUV等。在进行主要的图像分割之前,现要将原始图像信号去直流(所谓DC层进)并进行分量变换(主要是将RGB变换为YCbCr)。这里仅对彩色图像的一个分量或者黑白图像进行讨论。
第一个重要概念是参考网格(reference grid)。这相当于JPEG2000图像的基本坐标系。而图像区域相当于该坐标系下的某个偏移处(一般记作(XOsiz, YOsiz))开始,并以某个偏移(一般记作(Xsiz-1,Ysiz-1))为末尾的的矩形区域。对于不同的分量可能采用不同的二次采样,例如对于YCbCr的亮度分量采样一般比色差分量采样高。记X和Y方向上的采样间隔分别为:XRsiz(c)和YRsiz(c)。图像区域将被填充块分割的矩形网格划分成多个块。填充块分割网格起始点记作(XTOsiz, YTOsiz),网格的大小为(XTsiz, YTsiz)。很自然地,必须满足:0<=XTOsiz<=XOsiz,0<=YTOsiz<=YOsiz,XTOsiz+XTsiz>XOsiz, YTOsiz+YTsiz>YOsiz,以使最左上角的网格就包含第一个图像分割块。填充块的索引按照光栅顺序。填充块分割类似于JPEG中的以8×8为单位的编码分割,而后者是固定的。
对于不同二次采样频率的分量而言,虽然填充块分割在参考网格中的绝对大小是一样的,但是相同填充块内采样点的序号和个数都是不同的。具体的换算并不复杂,在此省略。
JPEG2000的核心工作子带分裂虽然是在每个填充块中进行的,但却对填充快内的采样点的坐标(并非参考网格上的绝对坐标,而是X和Y方向上的采样索引)却是敏感的,这个坐标要作为小波变换的参数。子带一般记作nBxBy,其中n是0或正整数,表示子带的分解层次(decomposition level),Bx和By取L或H,分别表示低通和高通。每个nLL子带具有一定的分辨率层次(resolution level),用r表示,r=NL-n,NL为最高分解层次。每个子带都有一块内存区间,保存整个图像在该子带上的信息。从而对填充块的子带分解,是在每个子带的存储区间上相应位置上填上信息,随着填充块操作的进行而顺次进行,直至完成整个图像。而合成是一个相反的过程。
对每个子带的信息进行子区分割,子区长宽大小限制为2的幂次。
(未完待续)
分享到:
相关推荐
JPEG2000是基于小波变换的图像压缩标准。在有损压缩下,JPEG2000一个比较明显的优点就是没有JPEG压缩中的马赛克失真效果。JPEG2000的失真主要是模糊失真。模糊失真产生的主要原因是在编码过程中高频量一定程度的衰减...
基于JPEg2000标准实现的Kakadu软件,可以实现灰度图像、彩色图像、视频的有效编码、压缩、解码
图像处理方面的软件。在命令行调用指令
user into some of the more important aspects of the Kakadu system. The first draft is included here. * A very simple compression example and a very simple decompression example have been added to ...
jpeg2000的源码kakadu,不可多得,非常好,只要1个分意思意思
用于执行外部JPEG2000 软件的GUI 前端(基于java,不包含在此包中)。 除GUI外,脚本jpeg2000jj2k.m可用于在命令行模式下调用JJ2000。 还提供了用于批量执行来自http://www.kakadusoftware.com的 JPEG 2000 Kakadu ...
JPEG2000 参考源码,最新版本!,支持VC++编译运行。
利用JPEG2000标准进行图像压缩和图像解压的Matlab程序
matlab开发-JPEG2000MATLABwrapper。JPEG2000 Kakadu和JJ2000包装机
kakadu2.2.3 用于jpeg2000图像压缩。内附有完整代码及其使用文档。代码请先编译coresys生成动态库,后编译app。已在vc6.0和vs2008下调试通过。
基于JPEg2000标准实现的Kakadu软件,可以实现灰度图像、彩色图像、视频的有效编码、压缩、解码
jpeg2000压缩代码TUT-HDCA 介绍 这是TUT的全光图像压缩软件。 安装说明 该软件已经在Windows 7,10上进行了开发和测试,并且大部分是使用Visual Studio开发的。 但是,提供了一个可在Linux上编译的makefile,并且该...
基于JEPG2000的kakadu源程序~实现的图片渐进传输
包括JPEG2000 Part 1的一个完整的C++实现,还有Kakadu_V2.2.3,挺好的。
Kakadu v2.2源代码主要分成两个目录:coresys和application,分别表示核心代码与应用程序。核心代码将被编译成动态或静态链接库,应用程序共享这些库。
JPEG2000编码解码KAKADU有助于开发者深入研究
kakadu的官方描述文档,可以用来理解kakadu的源码架构和流程,适用于kakadu2.2版本。
JPEG2000标准第一部分的C++实现,能够实现部分解码,并针对处理器做了优化
kakadu2.2.3和openjpeg1.3两开源图像压缩软件是比较流行的遵循JEPG2000标准算法的软件
kakadu v2.2.3源码及应用, .apps .args .compressed_io .image .jp2 .kdu_compress .kdu_expand .kdu_show .kdu_transcode .make .simple_example .bin .coresys .lib .nolib