2.4 图像压缩编码

2.4.1 信息编码

数据的传输和存储都需要很大的成本,所传输数据量越大,成本就越高(因为传输的数据量大,流量就越大,耗费电力、路由等一系列计算资源的成本就越多),数据量大,存储所占的空间也就越多,成本也会越大。尽管由于成本的原因 ,有很多的数据仍然不是用最精简的方式保存的,而是用最适宜于处理这些数据的方式保存的。比如字处理软件中用ASCII的格式保存文本,因为这样处理方便;计算机的程序用二进制代码进行保存,因为其能直接在计算机上执行。和最精简的编码方式相比,这些容易直接使用和方便处理的编码方式所形成的文件大概要大一倍左右。对于很多其他的应用,精简的编码方式会更加有效,我们将解决这类问题的技术通称为数据压缩技术。

数据压缩技术就是对信息采用高效的编码,数据压缩技术中有很多种高效的压缩算法。通常每一个压缩算法,都是将数据的编码方式从容易处理的编码方式转换为较精简的编码方式,精简的方式虽然并不是最容易处理的方式,但是其所占得空间较小,传输会更快。在需要处理的时候,我们再将编码的方式转化为容易处理的方式。

图像文件的一个明显特点就是占用空间大。因此,研究图像编码与压缩是数字图像处理与图像通信中必不可少的内容。近年来,随着计算机与数字通信技术的迅速发展,网络和多媒体技术的兴起,图像编码与压缩作为数据压缩的一个分支,已受到越来越多的关注。

我们举一个实例来说明图像压缩的应用。大家知道,数字图像有不同的文件格式(编码格式),有位图形式的(bmp格式),也有JPEG格式的,我们会发现,同样大小的图像,通常JPEG文件比位图文件所占的空间要小很多,这是因为位图文件是没有对图像进行压缩的文件,而JPEG是对原始图像进行压缩后形成的文件。当需要对JPEG文件进行显示的时候,我们需要首先将其解码成位图文件(可以直接显示图像格式),然后再进行显示。

压缩的策略有很多种,有相对简单的策略,也有比较复杂的。我们可以按照信息是否在压缩的过程中存在丢失将压缩的策略分为无损压缩和有损压缩。

2.4.2 无损压缩

无损压缩的技术可以将压缩后的文件通过解码完全还原成压缩前的文件,而没有任何信息失真,无损压缩在很多情况下是必须需要保证的,比如二进制可执行文件,如果压缩过程中存在信息丢失,还原后的二进制文件即使只有一个位信息被修改(0变成1,或1变成0),造成的结果都将是不可想象的,对字处理软件所产生的文件进行压缩,同样要保证信息的无损性。在后续的章节中,我们会介绍,无算的压缩方法有行程(run-length)编码、哈弗曼编码(Huffman)、delta编码和LZW编码。这些编码的算法我们会在第三章来详细阐述。

2.4.3 有损压缩

在很多的领域,比如图像和信号领域,我们在很多的时候没有必要保存原始的数据。只要这些改变不会很大的影响我们的感知的效果,其实,在现实的测量和数字化的过程中,本来就引入了噪音数据,如(数字化过程中由于电路的噪音引起的(如温度升高会带来量化上的某些变化)),如果我们压缩的变化类似于这种噪音数据,这样的变化就是我们可以接受的。和无损压缩不同的是,有损压缩的压缩比通常会更好,越大的压缩比,噪音数据成份就会越多。我们用一个详细的实例来说明有损压缩的重要性,拿互联网上的图片来说,假设我们通过一个33.6kbps的调试解调器(modem,猫)来浏览一个具有图片的网页,如果图片没有压缩(比如TIFF格式),它会具有600kB的数据。如果用无损压缩技术(如GIF格式),数据量大约少一半,有300KB;如果采用有损压缩(如JPEG格式)技术,数据量就会减少到50KB。对应的是,我们下载的时间分别是142秒,71秒和12秒,这之间有这么大的差距,如果让一个冲浪者用142秒的时间等待一幅图片,可想而知这样的用户体验是多么的难以接受。

Intel IPP 之图像压缩编码相关推荐

  1. Intel IPP 之 视觉计算概述

    视觉计算软件开发基础 1.1 视觉计算概述 众所周知,早期的计算机的发明是科学计算的需要,其使用者主要是从事科学计算的科技工作者.随着计算机软硬件技术的发展,计算机的功能也在进一步扩展,开始从科技的象 ...

  2. 关于Intel IPP的基本使用方法——参照可设置ipl库

    IPP是个好东西,里面的函数精而全,希望大家好好利用.因为IPP目前很少中文资料,我们只能靠自己摸索.下面就简单说说IPP在VC2005下的基本使用方法. 假定你的IPP是安装在"D:/In ...

  3. 利用Intel IPP函数库实现信号频谱计算

    Intel IPP(Intel Integrated Performance Primitives)函数库是一套跨平台的软件函数库,它为用户提供了一套高效.实用的函数集,可用于实现通信.图像.语音等多 ...

  4. 如何下载 Intel Integrated Performance Primitives –intel IPP

    如何下载 Intel Integrated Performance Primitives –intel IPP 进入http://downloadcenter.intel.com/Default.as ...

  5. matlab基于dct的图像压缩编码解码_音频压缩编码的基本原理详解

    1.视频编码基本原理 (1) 视频信号的冗余信息 以记录数字视频的YUV分量格式为例,YUV分别代表亮度与两个色差信号.例如对于现有的PAL制电视系统,其亮度信号采样频率为13.5MHz:色度信号的频 ...

  6. 怎么把matlab仿真数据压缩,JPEG图像压缩编码及其MATLAB仿真实现(1)

    信息技术! ! 电! 子! 测! 量! 技! 术 ! ! "#"$%&'()$ *"+,-&"*"(% %"$.('#'/0 ...

  7. Intel IPP安装和安装测试

    一.IPP简介 英特尔®集成性能原语(Intel®IPP)是一种软件库,提供了广泛的功能,包括通用信号和图像处理.计算机视觉.数据压缩和字符串操作. 二.下载 1.搜索IPP 2.点击链接IntelR ...

  8. linux编译ipp多线程,Linux 下 Intel IPP 模块编译

    1. 平台搭建 平台 CentOs 6.3 2. IPP 下载 3. IPP 编译 不同版本的IPP 版本编译操作差异比较大,最好的办法就是查询下载版本的IPP模块中的document. 3.1  设 ...

  9. linux编译ipp多线程,Linux下Intel IPP编程环境的配置

    最开始使用了最新的7.0版本的IPP,编程引用时,总是提示一大堆undefined reference to 'XX'之类的错误,在网上找了好多资料,大部分是6.0以及之前的,我的环境是ubuntu ...

最新文章

  1. Go 语言同一个包内函数调用、包名和实际路径最后一个目录不一致问题
  2. 使用Response.Redirect 两种方法打开一个新窗口
  3. linux lite 安装步骤,Linux Lite第一个支持Linux 4.14及如何安装
  4. cmake 入门学习
  5. 从“她经济”到“TA经济“——美妆行业营销报告
  6. 招聘APP如何搭建信用体系以避免求职者被骗
  7. python中列表 字典 元祖 enumerate()函数
  8. DAS 2020 Keynote Speech | Adobe 文档分析技术介绍
  9. java语音读字符串_Android Java文本到语音查看额外的字符串信息
  10. 黄聪:VS2008的动、静态编译[转]
  11. java thread detach_Java多线程小结
  12. 如何选用企业内部沟通工具
  13. [Algorithms] Gale-Shapley算法(婚姻匹配问题,高考录取机制)
  14. C++中类成员函数指针使用方法
  15. echarts扇形图(饼图)常用的配置
  16. IDM浮动条无法弹出怎么办?
  17. 合泰HT32F52352 USART串口与电脑通信控制LED
  18. 大学生电子设计大赛最全资料
  19. *抽象对象的类解释 数解释和真值解释---- 布尔逻辑之五****
  20. Bootstrap按钮元素使用方法

热门文章

  1. Petalinux 2019.1 工具环境搭建与安装
  2. SPSS Modeler 中如何利用训练好的模型进行新数据源的预测?
  3. 2017.10.27涩会题大乱斗部分题解
  4. C3P0反序列化链学习
  5. python inchat库下载_LearnPython/python_wechat.py at master · oxtaw/LearnPython · GitHub
  6. UA OPTI570 量子力学16 含时的哈密顿量与时间演化算符
  7. ppt python 图表_5分钟python:在PPT里做三联柱形图
  8. Ubuntu下快捷键操作
  9. 亚述尼尼微, 约拿,鲸
  10. 去掉底部 Powered by PageAdmin CMS 方法