转发 | 轻翻那些永垂不朽的诗篇 第四章 第二代图片压缩技术
本期看点
8大压缩算法的大比拼
第四章 第二代图片压缩技术
4.1 引言
在硬件受限的环境下,在视觉传感器节点中实现图像处理引擎一直是无线多媒体传感器网络发展的主要关注点。本文对8种常用的图像压缩技术进行了综述。评估后发现,基于层次树集分块(Set-Partitioning in Hierarchical tree, SPIHT)小波的图像压缩算法压缩效率高,编码过程简单,是无线传感器网络中最适合硬件实现的图像压缩算法。
4.2 无线传感器网络(WSN)图片压缩
无线传感器网络(Wireless sensor network, WSN)是由多个传感器设备通过无线信息进行通信的网络,具有在传感器节点上进行数据处理和计算的能力。近年来,人们对可靠、高效的无线多媒体传感器网络(Wireless multimedia sensor network, WMSN)研究和开发越来越感兴趣。从摄像机节点收集的图像和视频帧等多媒体数据需要大量的处理,这使得WMSN的实现非常困难,特别是在硬件受限的环境中。高功耗、有限带宽和内存限制是影响高效灵活WMSN开发的挑战和制约因素。
多媒体内容,特别是高分辨率的图像需要广泛的带宽传输。由于可用带宽有限,传感器节点捕获的图像在传输前需要进行处理和压缩。通过图像压缩去除原始数据中的冗余信息,可以获得一种更高效的传输方法。
最近的技术使得具有嵌入式处理能力的微型传感设备的生产成为可能。由于空间限制和提供大量内存存储的高成本,片上内存受到限制,并成为处理大型图像的另一个主要约束。因此,需要开发一种更简单、更经济的系统,以满足图像处理中的高内存存储需求。
4.3 图像压缩算法
利用图像中相邻像素高度相关这一事实,我们可以通过寻找相关度较低的图像表示来丢弃这些冗余的信息,这是图像压缩算法背后的基本理论。下图展示图像编码过程的基本组成,图像编码过程分为两个阶段,图像变换阶段和熵编码阶段。
图像编码可分为第一代和第二代:
- 第一代图像编码更强调如何有效地编码转换后的图像所包含的信息
- 第二代图像编码更重视如何从图像中挖掘和提取有用的信息
文章在第一代编码中介绍了四种最流行的基于变换的图像压缩算法——JPEG、EZW、SPIHT和EBCOT,其中EZW、SPIHT和EBCOT在上一部分“小波系数图像压缩编码”中已经做了详细的介绍,在此不再展开。
著名的图像压缩标准JPEG使用了基于离散余弦变换(DCT)的图像压缩技术,将图像分为多个8 x 8像素的子图像块,并对每个图像块独立编码。DCT不对原始数据造成损失,经过离散余弦变换后,每个64 DCT系数被均匀量化。然后在8 x 8图像块中采用锯齿状扫描重新排列系数。下图显示了锯齿状扫描的过程:
基于DCT的图像压缩提供了令人满意的压缩效率,并且由于编码是在小的单个图像块上完成的,实现时所需的内存很低。然而,图像块的平铺会导致阻塞工件,从而导致性能下降。
4.4 第二代图像编码
4.4.1 金字塔/多分辨率编码(Pyramidal/multiresolution coding)
金字塔编码在图像发展的早期阶段就已经被引入,但是由于分层编码的方式与人类视觉系统(Human Visual Syatem, HVS) 中的神经系统类似,所以将其归为第二代图像编码。
通过使用适当的平滑滤镜对图像进行平滑处理,然后对平滑图像进行子采样(通常沿每个坐标方向按 2 倍)来生成低通金字塔。然后,对生成的图像进行相同的过程,并重复多次循环。此过程的每个周期都会导致图像变小,平滑度增加,但空间采样密度降低(即图像分辨率降低)。如果以图形方式进行说明,则整个多尺度表示将看起来像一个金字塔,原始图像位于底部,每个周期生成的较小图像将一个堆叠在另一个之上:
上图是金字塔编码的形象化表示。
上图为金字塔编码的实例,其中各图分别表示:
- 原始图像“Lenna”
- 高斯金字塔图像
- 高斯插值图像
- 拉普拉斯金字塔图像
高斯核和拉普拉斯核是两种对图像进行平滑处理的核函数。拉普拉斯金字塔算法基于空间频率将图像分解为多个分量,金字塔中每个节点的值代表两类高斯函数与原始图像卷积的差值(平滑处理)。
4.4.2 基于方向分解的编码(Directional decomposition based coding)
从对HVS本质的研究和分析中发现,边缘信息在图像的感知中至关重要。然而采用传统的变换编码、子带编码和小波编码等编码方法对图像进行编码时,这些信息往往会发生畸变。定向滤波编码更强调边缘检测,以实现高压缩比。它基于人眼是由对方向敏感的神经元组成的事实,一个方向滤波器用于利用边缘之间的关系及其对图像光谱的贡献。该滤波器被定义为“沿主方向进行高通滤波,沿正交方向进行低通滤波的滤波器”。
在方向滤波过程中,将原始图像分解为一副低通图像和若干幅高通图像。每个高通图像都包含一个主方向的边缘信息,因此图像中的边缘信息得到很好的保存(相比于之前提到的传统的变换编码、子带编码和小波编码等编码方法)。低通图像不包含边缘信息,可以采用变换编码,而高通图像采用边缘检测和编码。
4.4.3 基于分割的编码(Segmentation based coding)
与基于方向分解的编码类似,该编码利用了人眼善于识别相似区域并将其分组为事实,根据图像的纹理结构将图像划分为子区域。这些子区域被轮廓包围,轮廓和纹理区域将分别进行编码。下图展示了基于分割的编码过程:
- 基于对HVS的特征和分析,首先对图像进行预处理,去除噪声和无用区域。
- 在分割的过程中,采用一种基于区域增长的编码方法,每个像素和它的相邻像素根据灰度级别来判断它们是否共享相同的属性。重复这个区域增长过程,直到所有的像素都被分配某个区域,这样会得到很多子区域。为了减少区域数,降低编码复杂度,会将弱对比即相比差距不大的相邻区域和小区域进行合并。
- 最后进分别对轮廓区域和纹理区域进行轮廓编码和纹理编码。
4.4.4 矢量量化(Vector quantization)
矢量量化,顾名思义就是利用矢量表示图像。利用矢量量化对图像编码时,首先将高度相关的像素分组为样本集的块,每一个块都可以找到一个最佳的近似向量来表示给定区域中的每个像素。对这些像素块进行量化,然后每个块独立编码,基于这个过程,矢量量化又被称为块量化或者模式匹配量化。下图为矢量量化编码的框图:
【编码】
- 图像预处理,将图像分割成像素块
- 为每个像素块找到一个表示向量k
- 将向量k与查找表(码本)中预定义的向量集(码字)进行比较,选择最匹配的码字
- 为了获得更高的压缩比,传输的是码字的索引而不是码字本身,索引比码字本身占用的位数更少。
【解码】
- 根据接收到的索引值从码本中选取码字
- 利用码字重构图像
从矢量量化编码的过程中我们可以看到,每幅图片可以划分成各种各样的子区域,这些子区域对应的矢量是非常多的,将大量的矢量编码成码本中有限的码字,会造成数据的损失,因此矢量量化提供了有损压缩。
4.5 观察和总结
第一代和第二代图像压缩算法分析总结:
4.6 分析与对比
上表总结了八种图像压缩算法的特性和特点,并且选择SPIHT为最适合在无线传感器网络中实现的图像压缩算法。选择的标准是所选算法应具备运行在硬件受限的环境下的WSN的大多数首选特征,包括快速高效的图像处理能力、低内存需求、高压缩质量、低系统复杂度和低计算负载。
除此之外,我们还可以得出:
- 第一代图像压缩算法是利用图像像素之间的相似性来消除图像中的冗余,而第二代图像压缩算法结合了HSV的特性,识别图像中的特征,并对这些特征进行处理。第二代图像编码强调探索图像的“内容”,与第一代进行小波变换的图像编码相比,这一特性需要更复杂和更广泛的图像处理。
- 大多数第二代图像压缩算法提供有损压缩,它们依赖于初始的分割。在分割过程中,首先将图像像素划分为轮廓区域和纹理区域,然后进行区域增长过程。整个图像的预处理过程被存储在内存中,在WSN节点中是很难实现的。此外,分割时所需的大量的计算增加编码器的复杂性并且降低了处理速度,使其在实时环境中不可能实现。
本章缩略语汇总
缩写 | 英文 | 中文 |
AC | Alternating Current | 交流 |
ASWDR | Adaptively Scanned Wavelet Difference Reduction | 自适应扫描小波差约简 |
ATM | Asynchronous Transfer Mode | 异步传输模式 |
CR | Compression Ratio | 压缩比 |
CREW | Compression with Reversible Embedded Wavelets | 可逆嵌入小波压缩 |
DC | Direct Current | 直流 |
DCT | Discrete Cosine Transform | 离散余弦变换 |
DWT | Discrete Wavelet Transform | 离散小波变换 |
EBCOT | Embedded Block Coding with Optimised Truncation | 优化截断的嵌入式块 |
EPWIC | Embedded Predictive Wavelet Image Coder | 嵌入式预测小波图像 |
EZW | Embedded Zerotree Wavelets | 嵌入式零树小波 |
GW | Geometric Wavelet | 几何小波 |
HVS | Human Visual System | 人类视觉系统 |
JPEG | Joint Photographic Experts Group | 联合图像专家组 |
LIP | List of Insignificant Pixels | 不重要像素列表 |
LIS | List of Insignificant Sets | 不重要集合列表 |
LSP | List of Significant Pixels | 重要像素列表 |
MSE | Mean Square Error | 均方误差 |
PSNR | Peak SignaN-to-noise Ratio | 峰值信噪比 |
ROI | Region Of Interest | 感兴趣区域 |
SFQ | Space Frequency Quantization | 空频量化 |
SPECK | Set Partitioned Embedded bloCK | 设置分区嵌入式块 |
SPIHT | SetPartitioning in Hierarchical Trees | 多级树集合分裂 |
SR | Stack Run | 堆栈运行 |
VQ | Vector Quantization | 向量量化 |
WDR | Wavelet Difference Reduction | 小波差约简 |
WMSN | Wireless Multimedia Sensor Network | 无线多媒体传感器网络 |
WSN | Wireless Sensor Networks | 无线传感器网络 |
前期回顾
第一章:数据压缩理论缘起——摩斯密码开创编码领域先河,信息熵用数学语言阐明了概率与信息冗余度的关系
第二章:Huffman码——用生活中的烹饪视角解析Huffman编码过程
第三章:小波系数图像压缩编码——小波系数的各类编码方案大比拼
后期预告
第五章:计算机视觉中的女神 —— Lenna——带你走进女神
第六章:无线传感器网络数据压缩——实践是检验真理的唯一标准
ELT.ZIP是谁?
ELT<=>Elite(精英),.ZIP为压缩格式,ELT.ZIP即压缩精英。
成员:
上海工程技术大学大二在校生
合肥师范学院大二在校生
清华大学大二在校生
成都信息工程大学大一在校生
黑龙江大学大一在校生
山东大学大三在校生
ELT.ZIP是来自6个地方的同学,在OpenHarmony成长计划啃论文俱乐部里,与来自华为、软通动力、润和软件、拓维信息、深开鸿等公司的高手一起,学习、研究、切磋操作系统技术…
技术DNA
数据压缩的历史
图片来源:https://visual.ly/community/Infographics/computers/history-data-compression
ELT.ZIP(III部压缩算法)技术地图
智慧场景
参考文献
[1] Vitter, Scott J . Design and analysis of dynamic Huffman codes[J]. Journal of the Acm, 1987, 34(4):825-845.
https://dl.acm.org/doi/10.1145/31846.42227
[2] Peng J , Kim C S , Kuo C C J . Technologies for 3D mesh compression: A survey[J]. Journal of Visual Communication & Image Representation, 2005, 16(6):688-733.
http://mcl.usc.edu/wp-content/uploads/2014/01/200503-Technologies-for-3D-triangular-mesh-compression-a-survey.pdf
[3] Holtz K . The evolution of lossless data compression techniques[C]// Wescon/93 Conference Record. IEEE, 1993.
https://ieeexplore.ieee.org/document/488424
[4] Kimura N , Latifi S . A survey on data compression in wireless sensor networks[C]// International Conference on Information Technology: Coding and Computing (ITCC’05) – Volume II. IEEE, 2005.
[5] Sudhakar R , Karthiga M R , Jayaraman S . Image compression using coding of wavelet coefficients–a survey[J]. A Survey”, ICGST-GVIP Journal, Volume (5), Issue, 2005(6):25-38.
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.463.1615&rep=rep1&type=pdf
[6] Li W C , Ang L M , Seng K P . Survey of image compression algorithms in wireless sensor networks[C]// International Symposium on Information Technology. 2008.
[7] Hamming R W . Coding and information theory (2. ed.)[M]. DBLP, 1986.
https://dblp.org/rec/books/daglib/0068879.html
[8] 高锐智, 华成英. 汉字字形结构式压缩方法的研究和实现[J]. 计算机科学, 2003, 30(005):78-81.
https://www.jsjkx.com/CN/article/openArticlePDF.jsp?id=15270
[9] Zhang C N , Wu X . A hybrid approach of wavelet packet and directional decomposition for image compression[J]. Wiley Subscription Services, Inc. A Wiley Company, 2002, 12(2):51-55.
https://ieeexplore.ieee.org/document/808039
[10] Kunt, M, Ikonomopoulos, et al. Second-generation image-coding techniques[J]. Proceedings of the IEEE, 1985.
https://dl.acm.org/doi/abs/10.1145/248621.248622
写在最后:
OpenHarmony 成长计划—“啃论文俱乐部”(以下简称“啃论文俱乐部”)是在 2022年 1 月 11 日的一次日常活动中诞生的。截至 3 月 31 日,啃论文俱乐部已有 87 名师生和企业导师参与,目前共有十二个技术方向并行探索,每个方向都有专业的技术老师带领同学们通过啃综述论文制定技术地图,按“降龙十八掌”的学习方法编排技术开发内容,并通过专业推广培养高校开发者成为软件技术学术级人才。
啃论文俱乐部的宗旨是希望同学们在开源活动中得到软件技术能力提升、得到技术写作能力提升、得到讲解技术能力提升。大学一年级新生〇门槛参与,已有俱乐部来自多所高校的大一同学写出高居榜首的技术文章。
如今,搜索“啃论文”,人们不禁想到、而且看到的都是我们——OpenHarmony 成长计划—“啃论文俱乐部”的产出。
OpenHarmony开源与开发者成长计划—“啃论文俱乐部”学习资料合集
1)入门资料:啃论文可以有怎样的体验
https://docs.qq.com/slide/DY0RXWElBTVlHaXhi?u=4e311e072cbf4f93968e09c44294987d
2)操作办法:怎么从啃论文到开源提交以及深度技术文章输出https://docs.qq.com/slide/DY05kbGtsYVFmcUhU
3)企业/学校/老师/学生为什么要参与 & 啃论文俱乐部的运营办法https://docs.qq.com/slide/DY2JkS2ZEb2FWckhq
4)往期啃论文俱乐部同学分享会精彩回顾:
同学分享会No1.成长计划啃论文分享会纪要(2022/02/18) https://docs.qq.com/doc/DY2RZZmVNU2hTQlFY
同学分享会No.2 成长计划啃论文分享会纪要(2022/03/11) https://docs.qq.com/doc/DUkJ5c2NRd2FRZkhF
同学们分享会No.3 成长计划啃论文分享会纪要(2022/03/25)
https://docs.qq.com/doc/DUm5pUEF3ck1VcG92?u=4e311e072cbf4f93968e09c44294987d
现在,你是不是也热血沸腾,摩拳擦掌地准备加入这个俱乐部呢?当然欢迎啦!啃论文俱乐部向任何对开源技术感兴趣的大学生开发者敞开大门。
后续,我们会在服务中心公众号陆续分享一些 OpenHarmony 开源与开发者成长计划—“啃论文俱乐部”学习心得体会和总结资料。记得呼朋引伴来看哦。
扫码添加 OpenHarmony 高校小助手,加入“啃论文俱乐部”微信群