JPEG |
您所在的位置:网站首页 › jpeg压缩标准 › JPEG |
ITU-T于2002年发布了扩展版本的JPEG-LS的无损数据压缩标准,该版标准使用算术编码替代了baseline版本中的游程编码和Golomb-rice编码。相对而言,采用算术编码可以将压缩性能提升5%~10%。目前,网上可以查到的大部分JPEG-LS讲解均是基于baseline版本的,几乎没有extension版本的相关解析。可能是由于算术编码的专利限制吧,大家都还倾向于使用baseline版本来进行无损数据压缩。 最近由于项目需要,便对着extension标准,希望实现以下该版本的代码,但是在其中遇到了一些无法理解的部分,到时无法将算术编码器和前面的预测部分进行衔接,这里写一篇博文,一方面大概讲以下整体的编码流程,另外一方面,贴出自己的疑惑,还希望高人解答。
首先大概介绍一下整体编码流程,详细可以参考具体的标准。对于标准中新规定的扩展预测部分,本文不作考虑。 1.初始化 初始化主要是对一些变量进行初始化,如计算MAXVAL,RANGE,bpp,qbpp,N[1091],A[1091],B[1091],C[1091]等,这些具体可以参考标准的说明,将变量初始化为规定的值。 另外,还要初始化与熵编码相关的变量,如LPScnt[MAXS],MLcnt[MAXS],MPSvalue[MAXS]。MAXS变量根据如下公式计算: 实现代码可参考如下代码: //计算MAXS if(qbpp < 10){ int temp1 = 0,temp2 = 0,temp3 = 0,temp4 = 0; temp1 = MIN(4,RANGE); for(int k = 1 ; k |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |