JPEG-LS压缩算法研究算法研究

Lossless JPEG是联合图像小组在1993年添加的一个实现图像无损压缩的标准,这个也是联合图像专家小组提出的关于图像无损压缩的一个概括性概念,他包含JPEG2000和JPEG-LS。

Lossless JPEG相对于有损JPEG图像压缩标准,使用了完全不同的方式:它使用待预测像素点的三个最相邻的三个像素点(上,左,左上)作为预测参考点,且对预测误差值使用熵编码。标准的libjpeg(专门用于助力JPEG图像的函数库)没有实现对JPEG-LS实现编解码,但是美国一家奥希阿纳矩阵公司,有一个叫做默奇森的人做到了,他写了一个补丁扩展了libjpeg函数库,实现无损的JPEG图像压缩。Lossless JPEG在医学图像处理的应用上非常出名,或者在处理一些数码相机得到的DNG原始图像,在其他领域机会没有什么应用。

JPEG-LS模型

JPEG模型使用的DCT变换模型不能保证编码的输入和解码的输出是一致的,Lossless JPEG不同于JPEG使用的DCT变换,Lossless JPEG使用一种叫做DPCM的预测编码模型。它通过利用图像中已经编码的相邻像素点来预测。

图示 DPCM编码模型

图示1:简化无损压缩模型

许多预测方式直接采用带预测像素点的上方和左边的平均值。DPCM直接编码预测像素点的差值,通常相邻像素点的预测差值都接近于0.

图示2:三个在待预测sample(X)点的分布(A,B,C)

预测器联合三个相邻像素点A,B,C来预测在位置X的值,这三个像素点都是已经被编码过的像素点,预测的方式有多种,其中方式1,2,3位一维预测器,方式4,5,6,7为二维预测器,当所有的sample被预测时,samples之间的差值就可以获得,那么就可以使用熵编码实现无损压缩如:哈弗曼编码或者算术编码。

图示3 8种预测方式

一般,该无损压缩算法模型对彩色图像能够达到2:1的压缩比,但是应用范围目前却很局限,如医学图像,和对DNG图像的处理,且对于高比特图像图10,12,14bpp其运算比较复杂。

JPEG-LS:

JPEG-LS是一种对连续色调图像的无损或者近无损的压缩标准,它的官方名称叫做:ISO-14495-1/ITU-T.87。它是由独立且有区别的建模阶段和编码阶段组成,其简单而又有效。JPEG-LS追求一种更加低复杂度的无损或者近似无损的图像压缩标准,这样就可以比无损JPEG压缩效率更好。它能够得以发展是因为基于哈弗曼编码的无损JPEG压缩或者其他压缩算法其压缩效果不理想,且在刚开始时无法做到完全去相关性.JPEG-LS,在去相关性上表现的较为良好,该标准的第一部分是在1999年完成的,第二部分是在2003奶奶对外公开的,且引入了算法编码。JPEG-LS的核心是LOCO-I算法,预测,建立误差模型,基于上下文误差编码是该算法的核心所在。这些低复杂度的算法模型是基于假设预测误差遵守双边几何分布(或者称为离散拉普拉斯分布)且使用类似于Golomb的编码方式(该方式对于几何分布编码效果较好)。除了无损压缩,JPEG-LS也有近无损压缩,该近无损压缩的最大误差值可以由编码段控制。JPEG-LS压缩在速度上比JPEG 2000快的多,且效果比无损的JPEG标准压缩要好的多。

LOCO-I算法:
(1)预测/去相关性:
在LOCO-L算法中,原始的边缘检测(水平方向和垂直方向的边缘)是通过检测当前像素点X相邻的像素点得到的,如上图2所示,像素点B用于垂直边缘的预测,而像素点A常用于水平方向的预测,这个简单的预测方式叫做(Median Edge Detection)MED预测或者LOCO-I预测,像素点X按照如下的方式做预测:

根据情况有三种不同的选择预测方式:

1)当在X的左侧存在是垂直边缘时,选择像素点B;

2)当在X的上方存在水平边缘时,选择像素点A;

3)当没有检测到边缘时使用A+B-C;

(2)上下文模型

附:

1、对于边缘检测的方式,可以实际举例来更加形象的说明。

JPEG-LS压缩算法研究相关推荐

  1. JPEG图像压缩算法的python实现

    摘要 文章在研究JPEG压缩编码对图像数据压缩的基本原理的基础上,设计了JPEG图像压缩算法程序实现流程,利用 Python语言对程序进行了编写,并实现了对压缩质量进行控制,验证了JPEG压缩编码对图 ...

  2. lz78算法c语言,LZW数据压缩算法研究

    内容介绍 LZW数据压缩算法研究 46页 3.2万字 摘 要 随着信息化技术的蓬勃发展,日常需要处理或者传输的数据越来越多,数据的压缩也就变得越来越重要了.我们迫切的需要有好的压缩算法来支持我们的数据 ...

  3. JPEG图像压缩算法详解

    转载自 http://www.ibm.com/developerworks/cn/linux/l-cn-jpeg/ JPEG压缩算法之前已有很多前辈详细讲解过,我就不在这里画蛇添足了(主要是我懒..) ...

  4. 理解JPEG图像压缩算法,DCT变换

    理解JEPG原理 JEPG不是一种文件格式,而是一类图像压缩算法. 1.彩色图像 灰度图像 灰度,一个pixel取值0-255. 彩色图像 需要比灰度图像更多的存储空间, 事实上, 所有颜色都可以用红 ...

  5. JPEG图像压缩算法流程详解

    JPEG代表Joint Photographic Experts Group(联合图像专家小组).此团队创立于1986年,1992年发布了JPEG的标准而在1994年获得了ISO10918-1的认定. ...

  6. JPEG图像压缩算法

    JPEG压缩算法可以用失真的压缩方式来处理图像,但失真的程度却是肉眼所无法辩认的.这也就是为什么JPEG会有如此满意的压缩比例的原因. 一.JPEG压缩过程 JPEG压缩分四个步骤实现: 1.颜色模式 ...

  7. 小张学算法之音视频算法:2.jpeg图像压缩算法

    接着上节视频压缩算法,今天来看看静态图像的压缩,相比视频压缩,图片压缩就太简单啦,let's go!! jepg文件二进制格式 jpeg二进制文件分块表 分块标识 值 涵义 SOI ff d8 文件开 ...

  8. 基于JPEG压缩编码的数据压缩算法的研究与实现

      JPEG压缩方法由于其较高的压缩比和理想的压缩效果,是目前应用最广泛的图像压缩方法.它采用一种特殊的有损压缩算法,将不易被人眼察觉 的图像颜色删除,从而能够将图像压缩在很小的储存空间.JPEG压缩 ...

  9. 图像压缩算法构造最优解c语言,基于Handel-C的CCSDS图像压缩算法实现研究

    基于Handel-C的CCSDS图像压缩算法实现研究 [摘要]:伴随着航天遥感技术的迅猛发展,采集空间图像的需求也日益增长.为了解决有限的卫星通信信道容量和海量数据下传的矛盾,应用卫星数传系统在图像数 ...

最新文章

  1. 14.Linux shell编程(函数)
  2. verdi使用linux命令,verdi工具的使用
  3. JAVA报表工具中更为动态的SQL查询(FineReport)
  4. 30天敏捷结果(2):用三个故事驱动你的一周
  5. django-celery
  6. 李嘉诚拥有8500亿资产, 是真正的世界首富,为何要藏富?
  7. Akka(9): 分布式运算:Remoting-远程构建式
  8. 栈方法 LIFO - 队方法 FIFO
  9. 从技术、服务到共创 声网 Agora 携手合作伙伴共建 RTC 生态
  10. 服务端指南 数据存储篇 | 聊聊 Redis 使用场景(转)
  11. Java虚拟机类加载机制--类加载器详解
  12. Python:处理车辆控制单元MDF(CANApe数据)记录文件思路
  13. 总结oninput、onchange与onpropertychange事件的使用方法和差别
  14. 超酷计算机病毒,世界上十种最强的计算机病毒,最著名的计算机病毒都在这里!...
  15. 帮你写出更好的python代码:python函数应用进阶(一)——函数是对象
  16. 电子设备在物联网的上发展趋势是怎样的
  17. 电容笔用什么品牌比较好?iPad电容笔测评
  18. 【vue-router源码】五、router.addRoute、router.removeRoute、router.hasRoute、router.getRoutes源码分析
  19. Java的四种访问修饰符介绍
  20. urlencode quote unquote (url 中带中文参数)

热门文章

  1. 算法 图中求最小环路径 最小环个数 最大平均环 求简单无向图中环的个数
  2. java图片框_java实现图片写入高清字体及带边框的方法
  3. C#快递跟踪(基于快递100深度定制)
  4. words and sentences
  5. 产业分析:充电桩行业深度报告
  6. 1 3 倍频程谱 c语言,频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱
  7. IPTV技术研究及应用
  8. VB小游戏设计(一):扫雷
  9. HBuilder开发词典app(一)--基本页面布局
  10. AnnotatedElement