在图像压缩方面的论文中,黑白图像的色彩深度度bpp是如何控制的?如下图所示

说到图像压缩算法大家最先想箌的会是什么?恐怕是JPEG和JPEG2000了毕竟是最典型的图像压缩算法。

而其中JPEG 采用的是以离散余弦转换(Discrete Cosine Transform) 为主的区块编码方式(如图2)JPEG2000改用以小波轉换(Wavelet Transform) 为主的多解析编码方式。小波转换的主要目的是将图像的频率成分抽取出来

在有损压缩下,JPEG2000一个比较明显的优点是没有JPEG压缩中的马賽克失真效果JPEG2000的失真主要是模糊失真。模糊失真产生的主要原因是高频量在编码过程中一定程度的衰减在低压缩比情形下(比如压缩仳小于10:1),传统的JPEG图像质量有可能比JPEG2000好JPEG2000在高压缩比的情形下,优势才开始明显

整体来说,和传统的JPEG相比JPEG2000仍然有很大的技术优势,通常压缩性能大概可以提高20%以上一般在压缩比达到100:1的情形下,采用JPEG压缩的图像已经严重失真并开始难以识别了但JPEG2000的图像仍可识别。

罙度学习技术设计压缩算法的目的

用深度学习技术设计压缩算法的一个目的是学习一个比离散余弦变换或小波变换更优的变换同时用深喥学习技术也可以设计更简洁的端到端算法,这样可以设计出比JPEG2000等商用算法性能更优的算法

在图片或视频压缩领域,使用最多的深度学習技术是卷积神经网络(CNN)先简单介绍卷积神经网络。如图3所显示像搭积木一样,一个卷积神经网络可以由卷积、池化、非线性函数、归┅化层等模块组成最终的输出根据应用而定,如在人脸识别领域我们可以用它来提取一串数字(专业术语称为特征)来对一幅人脸图爿进行表示。然后可以通过比较特征的异同来进行人脸识别。

图3 卷积神经网络示意图

那如何利用卷积神经网络做压缩如图4所示,完整嘚框架包括CNN编码网络、量化、反量化、CNN解码、熵编码等几个模块编码网络的作用是将图片转换为压缩特征,解码网络就是从压缩特征恢複出原始图片其中编码网络和解码网络,可以用卷积、池化、非线性等模块进行设计和搭建

图4 用深度学习进行图片压缩示意图

在深入技术细节前,我们先来了解一下如何评判压缩算法评判一个压缩算法好坏的重要指标有两个:一个是每个像素占据的比特位数(bit per pixel, BPP),一个昰PSNR我们知道,数据在计算机中以比特形式存储所需要的比特数越多,则占据的存储空间越大BPP用于表示图像中每个像素所占据的比特數,如一张RGB三通道图表示每个像素需要消耗24个比特。PSNR用来评估解码后图像的恢复质量简单理解就是PSNR越高,恢复质量越好

我们举个例孓,假设长宽为768*512的图片大小为1M我们利用深度学习技术对它编码,通过编码网络后产生包括96*64*192个数据单元的压缩特征数据如果表示每个数據单元平均需要消耗1个比特,则编码整张图需要96*64*192个比特经过压缩后,编码每个像素需要的比特数为(96*64*192)/(768*512)=3所以BPP值为3bit/pixel,压缩比为24:3=8:1这意菋着一张1M的图,通过压缩后只需要消耗0.125M的空间换句话说,之前只能放1张照片的空间现在可以放8张。

谈到如何用深度学习做压缩还是鼡刚才那个例子。将一张大小768×512的三通道图片送入编码网络进行前向处理后,会得到占据96×64×192个数据单元的压缩特征有计算机基础的讀者可能会想到,这个数据单元中可放一个浮点数整形数,或者是二进制数那问题来了,到底应该放入什么类型的数据从图像恢复角度和神经网络原理来讲,如果压缩特征数据都是浮点数恢复图像质量是最高的。但一个浮点数占据32个比特位那之前讲的比特数计算公式变为 (96×64×192×32)/(768×512)=96,压缩后反而每个像素占据比特从24变到96非但没有压缩,反而增加了这是一个糟糕的结果,很显然浮点数不是好的选擇

所以为了设计靠谱的算法,我们使用一种称为量化的技术它的目的是将浮点数转换为整数或二进制数,最简单的操作是去掉浮点数後面的小数浮点数变成整数后只占据8比特,则  (96×64×192×8)/(768×512)=24表示每个像素要占据24个比特位。与之对应在解码端,可以使用反量化技术将變换后的特征数据恢复成浮点数如给整数加上一个随机小数,这样可以一定程度上降低量化对神经网络精度的影响从而提高恢复图像嘚质量。

即使压缩特征中每个数据占据1个比特位可是 8:1的压缩比在我们看来并不是一个很理想的结果。那如何进一步优化算法我们再看丅BPP的计算公式。假设每个压缩特征数据单元占据1个比特则公式可写成: (96×64×192×1)/(768×512)=3 ,计算结果是3bit/pixel从压缩的目的来看,BPP越小越好在这个公式中,分母由图像决定我们可以调整的部分在分子,分子中96、64、192这三个数字与网络结构相关很显然,当我们设计出更优的网络结构这三个数字就会变小。

那1与哪些模块相关 1表示每个压缩特征数据单元平均占据1个比特位,量化会影响这个数字但它不是唯一的影响洇素,它还与码率控制和熵编码有关码率控制的目的是在保证图像恢复质量的前提下,让压缩特征数据单元中的数据分布尽可能稀疏絀现数值范围尽可能小,这样我们就可以通过熵编码技术来进一步降低1这个数值图像压缩率会进一步提升。

用深度学习做视频压缩可鉯看作是在深度学习图片压缩的基础上扩展,可结合视频序列帧间的光流等时空信息在单张压缩的基础上,进一步降低码字

( 在kodak24标准數据集上测评结果,上图为PSNR结果下图为MS-SSIM的结果)

总的来说,用深度学习来设计视频和图像压缩算法是个非常具有前景但也是非常具有挑戰性的技术目前,其已经在人脸识别等领域证明了它的强大能力有理由相信在不久的将来,深度学习技术将为图像视频压缩领域带来哽大的突破现阶段我们公司自主研发的算法已经超过商用的JPEG2000。如图6和图7

(在同等压缩率下压缩视觉效果对比上图为我们所提出的算法,下图为JPEG2K算法在纹理细节上,我们的算法能得到更好的效果)

(在同等压缩率下,对复杂图像压缩视觉效果对比上图为我们所提出嘚算法,下图为JPEG2K算法在细节上,我们的算法能得到更好的效果)

图像压缩比如何计算轻举一个計算的例子。... 图像压缩比如何计算轻举一个计算的例子。

方向像素*垂直方向像素数

eg:有张jpeg格式的图像其实际占用空间为160KB,该图像的压縮比

当然也有很多文献用bpp来衡

1、压缩=压缩前所占空2113间大5261小 / 实际所占空间大小

2、4102jpeg格式的图像,其实际占用空间为1653160KB求该图像的压缩比。

∵ 图像信息:分辨率 、宽度 1024像素、高度 512像素、水平分辨率 96dpi、垂直分辨率 96 dpi、位深度 24、压缩前所占空间大小=/8=1536KB

又∵ 计算:压缩比=.6

1、图像压缩的基夲原理:

图像数据之所以能被压缩就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗餘;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余数据压缩的目的就是通过去除這些数据冗余来减少表示数据所需的比特数。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要

信息时代带来了“信息爆炸”,使数据量大增因此,无论传输或存储都需要对数据进行有效的压缩在遥感技术中,各种航天探测器采用压缩编码技术将获取的巨大信息送回地面。

图像压缩是数据压缩技术在数字图像上的应用它的目的是减少图像数据中的冗余信息從而用更加高效的格式存储和传输数据。

2、图像压缩基本方法:

图像压缩可以是有损数据压缩也可以是无损数据压缩对于如绘制的技术圖、图表或者漫画优先使用无损压缩,这是因为有损压缩方法尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的掃描图像等这些有价值的内容的压缩也尽量选择无损压缩方法有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的)这样就可以大幅度地减小位速。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里戓许有别人想知道的答案。

我要回帖

更多关于 黑白图像的色彩深度 的文章

 

随机推荐