黄胜,向思皓,胡峰,马婷,卢冰
(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.江苏势通生物科技有限公司,江苏 南通 226399;3.重庆邮电大学 光通信与网络重点实验室,重庆 400065)
无线胶囊内镜在体内通过胃肠道蠕动缓慢前进,将捕获的图像经无线传输设备传输至包裹在患者腰部的数据记录器中,并把接收到的图像存储至计算机硬盘。医生利用计算机对数据记录器中接收到的图像进行筛查[1]。胶囊内镜在病患体内可连续工作约8 h,过程中以每秒2~6 张的拍摄频率得到数万张图像。当大量患者就诊时,胶囊内镜将产生大量的图像数据,给图像的存储与传输带来一定挑战。为避免有损压缩算法解码出失真的图片给医生诊断带来干扰,在医学图像压缩存档过程中将无损压缩作为硬性要求[2],目的是重建出与原始图像完全一致的图像数据,并且没有任何失真,其压缩比远低于有损压缩。因此,高效的无损压缩算法可以减小医学图像的文件尺寸,对于图像编码具有重要意义。
图像压缩算法与视频帧内编码算法[3]成为研究热点[4-6],而预测编码是减少图像空间冗余数据的有效方式。文献[7]将CALIC 算法的空间预测应用到图像的亮度分量中,并对色度分量进行分层预测,使当前像素下方的像素也作为参考像素的候选。文献[8-9]将离散小波变换与预测编码相结合,提升图像压缩质量。文献[10-11]针对高效视频编码(High Efficiency Video Coding,HEVC)帧内预测,利用更远处的参考像素对当前编码像素进行预测,寻找不相邻但存在潜在相关性的像素,在一定程度上提升预测质量。文献[12]根据预测角度在两条参考线上投影点的垂直与水平方向进行线性插值计算,每种模式同时使用两条参考线的像素信息,在提升预测质量的同时也引入额外的复杂度。在医学图像的压缩算法中,无损与有损混合的编码算法能有效保证重要信息的压缩质量且提高压缩比,其中基于感兴趣区域(Region Of Interest,ROI)的压缩算法具有较优的性能。文献[13]利用泛洪算法将核磁共振图像分为ROI 与非ROI 部分,并分别进行无损压缩与有损压缩,在不影响重要区域视觉效果的同时增大压缩比。文献[14]结合三维U-Net分割区域,利用SPIHT算法对核磁共振图像进行压缩,以提高压缩比和重构质量。由于胶囊内镜设备镜头与消化道内壁同时处于运动状态,因此摄像头在狭窄空间内采集到的区域较小,难以区分前景与背景。准确判断并划分ROI 区域是当前无损与有损混合压缩领域的研究重点,错误划分ROI 区域使重要区域重构模糊,从而影响诊断。
近年来,基于深度学习的图像压缩算法解决了传统无损预测编码算法难以有效利用像素空间相关性适应图像纹理的问题。文献[15]提出一种用于自适应熵编码的完全并行分层概率模型,当GPU 需要较少的编码数时,能解决PixelCNN[11]复杂度较大的问题。文献[17]利用残差与通道间相关性渐进学习的方式训练多层感知器,以准确预测图像中的像素值,从而提高编码压缩比与编码速度。然而,基于深度学习的算法存在网络复杂度高、泛化能力较差的问题,难以满足硬件低功耗的要求。
本文结合无线胶囊内镜图像的特点,提出一种自适应不规则纹理的胶囊内镜图像无损压缩算法。通过对胶囊内镜图像进行分块处理,针对每个图像块,自适应选取图像块最优的预测模式以消除像素间的空间冗余信息,利用跨分量预测模式去除预测残差分量间的相关性,并将残差数据传入熵编码模块进行编码,以形成比特流。
HEVC 通过大量的角度预测模式,在参考像素间进行线性插值,并对当前像素进行预测以消除空间冗余数据。角度预测模式可以适应图像块内不同的纹理方向,从而提高预测的准确度。无损HEVC 帧内编码结合空间相关性原理[18],基于样本的自适应预测(Sample-based Adaptive Prediction,SAP)模式,在待预测像素最邻近参考像素间进行33 个角度预测。然而,HEVC 的帧内预测仍无法在像素值不规则变化时发挥最大作用。研究人员基于图像像素间像素值差值服从均值为零、方差为常数的高斯分布假设,研究图像像素间的相关性。基于该假设,像素Ix,y与Ix′,y′之间的相关性可以建模为[19]:
其中:x和y分别表示像素在水平和垂直方向上的坐标。该函数通过选择φ以及ψ的值来表示不同方向上像素间的相关性。像素间的空间相关性是基于相邻像素间差值的绝对值来建模,仅表达了相邻像素间像素值的相似性,即通过邻近的像素来表示当前像素,能够有效减少图像的空间冗余数据。但局部区域像素值的分布是影响预测结果的主要因素,简单的预测模型难以有效获取邻近像素的变化信息,导致预测结果精度降低。
在胶囊内镜图像中,局部区域的颜色大致相近,因此,数值相同或相近的像素集分布在同一区域内,在满足空间相关性的同时,相同或差值较小的像素值会间隔出现,导致连续的像素值变化不规律,从而影响预测质量。图1 所示为一幅胶囊内镜图像中3 种局部像素灰度值的分布情况,其中x表示当前待预测像素,PL、PT、PTR、PTL、PDL分别表示当前待预测像素的左、上、右上、左上、左下像素。
图1 在胶囊内镜图像局部区域内像素灰度值的分布Fig.1 Distribution of pixel gray value in local area of capsule endoscopy image
从图1(a)可以看出,像素x周围局部区域内的像素值非常相近,而在像素值增大的过程中存在像素值突然减小的情况,如PTL至PTR像素值的变化,PTR像素值并没有根据PTL、PT增大的规律增长,而是小于其左侧的PT像素值,且与PTL的像素值十分相近,即上述差值较小的像素值间隔出现。假设待预测像素x的像素值为38,在邻近的像素中利用无损HEVC的帧内预测模式SAP 对两个像素进行线性内插,并计算33 个纹理方向的预测值,在PDL至PL的参考线上得到预测值区间为[33,34],在PL至PTL的参考线上预测值区间为[30,33],在PTL至PT的参考线上预测值区间为[30,35],在PT至PTR的参考线上预测值区间为[31,35],最终利用SAP 模式可得到预测值区间为[30,35]。该预测区间由5 个参考像素中的最小值与最大值组成,而待预测的像素值为38,因此,无法准确地预测未落在由参考像素组成预测区间内的像素值。图1(b)、图1(c)也存在与图1(a)类似的问题。
针对胶囊内镜图像的像素变化以及分布特点,本文提出扩展角度预测模式来优化角度预测模式,以克服线性内插的局限性,从而选择图像块内更优的预测结果。
多角度预测模式的作用是在图像块内按照光栅扫描顺序对每个像素进行预测。采用SAP 遍历HEVC 帧内预测的33种角度模式,随着角度变化选取与当前像素邻近的左、左下、左上、上、右上5 个像素中相邻的2 个参考像素进行线性内插,得到预测值[18]。本文在进行33 个角度预测后,将进行加权运算的像素增加至3 个,并为参考像素分配不同权重,以寻找在不同角度上更优的预测结果。通过3个像素进行加权运算,如式(2)~式(4)所示:
其中:p(x)为当前待编码像素的预测值;PL、PT、PTR、PTL、PDL分别为当前像素的左、上、右上、左上、左下像素;v(·)为像素值;wi为赋给像素的权重,满足0 ≤wi≤24;>>为二进制右移操作。若采用的预测值计算模式使用了PDL像素,解码时需要将水平的光栅扫描切换成垂直型,以保证参考像素的可用性。
在图1(a)所示的情况中,本文根据式(2)计算得到的预测值区间为[35,38],待预测像素值38 包含在预测值区间中,当赋予PT像素权重为24 时,计算所得的预测值与真实值的差值为零,从而解决视频编码帧内预测模式的局限性问题。同理,式(3)和式(4)分别为图1(b)和图1(c)的像素变化情况提供更多的预测值选择。扩展角度预测模式的目的是基于待预测像素周围的参考像素,遍历不同权重分配,寻找存在的最大像素值减去较小像素值以扩大预测区间的上限,同时寻找最小像素值减去较大像素值以降低预测区间的下限,扩大预测值的选择范围。
新参考线形成及预测方向示意图如图2 所示。
图2 新参考线生成及预测方向示意图Fig.2 Schematic diagram of new reference line generation and prediction direction
本文以式(2)为例,通过参考像素相对于待预测像素x的方向以及所分配的权重来确定预测角度,假设待预测像素x到每个参考像素的距离为16。图2中a点像素值通过给PL像素分配最大权重24 且给PT像素分配权重0,则待预测像素x至a点的距离为24。b点像素值通过给PT像素分配最大权重,且给PL像素分配权重0,即给像素x至b点的距离为24。相应的计算方式标注在图2 中。图2 中产生了一条新的参考线l1,其端点为V1和V2。V1的预测值为[24×v(a)-8×v(PTL)]>>4;V2的预测值为[24×v(b)-8×v(PTL)]>>4。当根据式(2)计算不同权重时,最终投影点将分布在参考线l1上。本文将通过式(2)计算得到的预测值落在参考线l1上,并通过V1、V2线性插值得到投影点的灰度值。
投影点线性插值示意图如图3 所示。
图3 投影点线性插值示意图Fig.3 Schematic diagram of linear interpolation of projection point
此时分配的权重w1=10,计算得到V1=35,V2=38。图3(a)所示为使用式(2)计算预测值,通过矢量运算最终落在参考线的p点处,其预测值为36。本文设待预测像素x到由参考像素构成参考行的距离为16,因此图3(b)中d3=16,d4=8,p点在参考线上与垂直方向的偏移距离d2=10,因此:
通过式(5)可得d1=d。在参考线l1上进行线性插值,则p点预测值的计算如(6)所示:
线性插值得到的v(p)与式(2)所得的值相同。根据式(2)~式(4)分配不同权重,本文计算所得的值也分布在对应的参考线上。
本文按照分配给邻域像素的权重将式(2)~式(4)绘制成角度图,以得到扩展角度预测模式,其示意图如图4 所示。
图4 扩展角度预测模式示意图Fig.4 Schematic diagram of extended angle prediction mode
扩展角度预测模式将HEVC 的33 个角度预测扩展为56 个,其中每种角度预测线对应一个计算公式。在图4 中有3 种线型,且每个模式对应一种权重分配。扩展角度预测模式的权重选择:图4 中根据式(2)计算模式35~模式45 的预测值,权重w1在集合{0,1,3,5,8,12,16,19,21,23,24}中进行选择,即模式35 对应w1为0,模式36 对应w1为1,以此类推,模式45 对应w1为24;根据式(3)计算模式46~模式51的预测值,权重w2在集合{0,2,4,20,22,24}中选择,即模式46 对应的w2为0,模式47 对应的w2为2,以此类推,模式51 对应的w2为24;利用式(4)计算模式52~模式56 的预测值,权重w3在{0,2,18,21,24}中选择,即模式52 对应w3为0,模式53 对应w3为2,以此类推,模式56 对应w3为24。
图4显示了新生成的3条参考线,即由点V1和V2组成的l1,点V3和V4组成的l2以及点V5和V6组成的l3。在3条参考线上,通过HEVC的模式2~模式34得到参考线中段的预测值,而在不同的像素值变化情况下,靠近参考线的端点处会得到不同的预测值。因此,根据式(2)~式(4)的计算模式,在参考线的端点附近分配更密集的角度,即端点附近的相邻权重变化更小。
从图4 可以看出,待预测像素随着预测方向投影至更远处的参考线上,如点V3、IL、IT、V6。由于本文只利用待预测像素x周围最邻近的5 个像素(PL、PT、PTL、PTR、PDL)进行计算,因此与多条参考线预测模式[11]不同,扩展角度预测模式是根据最邻近的参考像素形成的梯度变化规律计算预测值。具体地,点V3在图4 中对应模式46,通过给PL像素分配最大权重24 并与PTR的像素值的差值共同形成,而不是通过远处的左左下像素(PDLL)与左左(PLL)像素线性内插得到。扩展角度预测模式学习待预测像素最邻近的梯度变化情况,当图像块内像素值沿着纹理方向逐渐增大时,而在某一像素点出现像素值突然减小或未遵循其增大的规律时,待预测像素无法充分利用参考像素的纹理变化规律,影响其预测结果。扩展角度预测模式可以依据已有像素值增大的规律,补全因像素值明显减小带来的纹理空缺,在充分利用最优空间相关性的同时,在图像块的纹理方向上寻找区间更广的预测结果。
在胶囊内镜图像中不仅局部区域内不同像素间的像素值有很大的空间相关性,而且像素的3 个颜色分量红(R)、绿(G)、蓝(B)之间也具有高度相关性。根据1.2 节所述的扩展角度预测模式,每个像素都生成了预测残差,其中图像块中每个像素的3 个分量使用同一种预测模式,在减小存储开销的同时保留了像素分量间的相关性。本节采用基于最小二乘的线性回归模型来寻找图像块内分量间的最佳线性关系,利用包含最多能量的分量(通常为G 分量)预测其他分量的强度,以去除像素分量间冗余数据。
本文通过G 分量残差ΔG来预测R、B 分量的残差值ΔR和ΔB,以消除分量间的相关性。线性回归模型[20]的计算如(7)所示:
其中:Δ′y为将单个颜色通道的残差值Δy与利用Δx进行线性预测后生成的残差预测值做差所得的剩余残差。
跨分量预测模式示意图如图5 所示,首先,利用G、R 分量 的残差值ΔG和ΔR预测B 分量的 残差值ΔB,利用ΔG预测ΔR。将真实的残差值与其预测值作差,得到剩余残差。
图5 跨分量预测模式示意图Fig.5 Schematic diagram of cross-component prediction mode
跨分量预测模式通过选择图像块最优的预测系数α构建适应图像块内残差分布规律的线性关系,利用其他分量来表示当前分量,进一步消除冗余数据。最终的剩余残差由经过多角度预测模式与跨分量预测模式R、B 分量的剩余残差Δ′R、Δ′B以及只进行多角度预测模式的G 分量残差ΔG组成。由于存储了ΔG以及跨分量预测系数αi(i=1,2,3),因此在解码时可以无损地按顺序恢复ΔR和ΔB。
像素间的多角度预测根据式(2)~式(4)在满足图像块内主纹理方向的同时,解决HEVC 帧内预测在图1所示的3 种梯度变化情况下预测质量较低的问题。通过分配权重完成多角度的预测,在图像块内纹理分布、像素梯度变化不规则的情况下,多角度预测模式为待预测像素在纹理方向上提供更多的预测值选择,以适应当前像素周围的纹理情况。跨分量预测模式在每个独立图像块内寻找最优的预测系数,通过最优预测系数得到符合图像块内分量间像素强度变化趋势的线性模型,使得图像块内的总体预测误差最小。经过两阶段预测生成最终的预测残差,每种预测模式以及预测系数都是在基于图像块内预测误差以及信息熵最小的基础上筛选得出,因此筛选出的预测模式可以有效适应图像块内的纹理分布情况,消除大量冗余数据,有效提高后续熵编码工作的质量和效率。
对于扩展角度预测模式,本文实验的权重选择规则在1.2 节中进行了详细说明。
对于跨分量预测模式,为减小计算复杂度以及保证压缩效率,α在[-2,2]中取值,且在集合{0,±0.125,±0.25,±0.5,±0.75,±1,±1.25,±1.5,±2}内非线性量化。为了避免浮点运算,本文在集合{0,±2,±4,±8,±12,±16,±20,±24,±32}内寻找最优预测系数α,再通过右移4 位得到最终的预测值。
对于熵编码,本文采用Deflate 算法对两步预测后的残差数据、存储的预测模式索引以及跨分量预测系数进行熵编码。
本文在配置为Intel®CoreTMi5-8500CPU@3.00GHz的Windows10 系统Microsoft Visual Studio 2017 软件上进行实验。
测试图像为无线胶囊内镜设备采集的食道、胃肠道等部位的图像,均为未经过压缩的BMP 位图文件格式,比特深度为8,由R、G、B 3 个分量组成,每个分量占1 个字节。本文分别测试了扩展角度预测模式的冗余消除率以及所提压缩算法的压缩性能,其中冗余消除率通过预测残差的香农信息熵H(X)进行度量。H(X)的计算过程如式(11)所示:
其中:x为残差数据;P(x)为残差x在图像块中出现的概率。H(X)越小表示图像所含信息量越少,冗余消除率越高。
表1 所示为本文预测算法与其他预测算法的香农信息熵对比,其中EAPM 为本文提出的扩展角度预测模式,CCP 为跨分量预测模式,采用的测试集为公司提供的胶囊内镜图像。
表1 不同算法的香农信息熵对比Table 1 Shannon information entropy comparison among different algorithms
从表1 可以看出,WebP[21]具有较优的预测性能,而本文的预测算法EAPM 预测所得残差的香农信息熵相较于WebP 平均减小约1.5%。EAPM+CCP 算法是将跨分量预测模式CCP 加入至图像的预测残差中,进一步减小了图像的信息熵,相较于WebP 算法预测所得残差的香农信息熵平均减小1.9%。
图6 所示为WebP 算法与本文算法的预测模式可视化结果对比。图6(a)所示为两幅胶囊内镜原图,图6(b)所示为剩余残差构成的灰度图,其中左侧为WebP算法预测后的剩余残差灰度图,右侧为本文算法预测后的剩余残差灰度图。在图像块中纹理方向上的梯度变化相较于其他方向更小,相邻像素的像素值也更接近当前待预测像素。从图6(b)可以看出:左侧图是WebP算法预测后的剩余残差灰度图,因像素值变化不规则,构建出与真实值相差较大的预测残差灰度图,导致预测残差出现纹理断层(如图中白色方框),未保留原有的图像纹理,从而导致图像块内像素预测误差较大;右侧图是本文预测模式生成的预测残差灰度图,更好地适应了图像的纹理方向,残差灰度图更平滑。当出现影响预测效果的不规则像素变化情况时,本文算法仍可以适应图像原有的纹理,以得到更小的预测误差,从而提升熵编码质量。
图6 不同算法的预测模式可视化结果对比Fig.6 Visualization results of prediction modes comparison among different algorithms
由于图像无损压缩的峰值信噪比(Peak Signal to Noise Ratio,PSNR)为∞,因此本文将原始图像大小与压缩文件大小的比值,即压缩比(Compression Ratio,CR)作为压缩性能的评价指标。压缩比越大,压缩性能越好。CCR如式(12)所示:
其中:Sorigin为原始图像的大小;Scompressed为经过压缩后图像的大小。
本文分别对3 个测试集中数百张图像进行实验。表2 所示为不同算法的压缩比对比。测试集A为公司提供胶囊内镜图像集,测试集B 为文献[7]提供的医学图像数据集,测试集C 为公开数据集Kvasir-Capsule[22]中未标注的胶囊内镜图像。从表2可以看出,在不同的测试集中,图像压缩算法的压缩比不同。在Kvasir-Capsule 公开数据集上,本文压缩算法的压缩性能最优,对于单张图像的平均压缩比为5.81,相比传统图像压缩算法中表现最优的WebP提升了0.52%。在测试集A 上,本文算法的压缩比相较于WebP 平均提升约1.77%,能够有效改进图像的无损压缩效果。
表2 不同压缩算法的压缩比对比Table 2 Compression ratio comparison among different compression algorithms
表3 所示为在不同测试集上,本文算法与基于深度学习的无损压缩算法CWPLIC[17]的压缩比以及压缩一张图像所需的编码时间对比。测试集包括胶囊内镜图像数据集Kvasir-Capsule 和标准图像数据集McMaster[23]、OpenImage[24]以及Kodak[25]。
表3 在不同测试数据集上各压缩算法的压缩比与编码时间对比Table 3 Compression ratio and coding time comparison among each compression algorithms on different test datasets
从表3可以看出,在McMaster、OpenImage 和Kodak 标准图像测试集上,CWPLIC 比本文算法的压缩比平均提升2.6%~7.1%,但在Kvasir-Capsule 测试集上本文算法压缩比远优于CWPLIC,且编码复杂度低。实验结果表明,基于深度学习的预测编码算法相对于本文线性预测算法在预测精度上具有一定的优势,能够显著提高压缩比,但本文算法在保证高效压缩的同时,在多个图像测试集上仍能稳定工作。基于深度学习的压缩算法虽然通过大量的各类型图像训练网络,但是在稳定性上存在一定不足。从编码时间角度分析,为提升压缩比,深度学习算法需要花费较长时间进行逐像素的推理预测。对于采集大量图像数据的胶囊内镜设备,对硬件友好、稳定的低功耗算法是更优的选择。
在Kvasir-Capsule 数据集上不同压缩算法对每个部位的数百张图像(包括正常消化道图像以及病变图像)的压缩性能的对比结果如表4 所示。
表4 不同压缩算法在每个部位的压缩比对比Table 4 Compression ratios comparison among different compression algorithms at different positions
从表4 可以看出,本文压缩算法在胃部以及出现息肉的纹理复杂区域内具有较优的图像压缩性能,而在食管、小肠等纹理相对平滑的部位上图像压缩性能略差于纹理复杂区域。当胶囊内镜采集到纹理复杂、像素变化不规律的消化道图像时,本文压缩算法较其他算法具有更优的压缩性能。
本文提出一种自适应无损压缩算法,用于处理不规则纹理的胶囊内镜图像。根据邻近像素值梯度变化规律,通过扩展角度预测模式适应图像块内的不规则纹理,以提高图像空间的冗余消除率,同时结合跨分量预测模式提升图像的无损压缩性能。在胶囊内镜图像测试集上的实验结果表明,相比WebP、SAP、MDIP 等算法,本文算法在图像纹理较复杂的区域内具有较优的压缩性能。下一步将通过基于感兴趣区域无损、非重要区域有损的混合压缩算法对胶囊内镜图像进行压缩与优化,构建复杂度较低、准确度较高的神经网络,并对图像进行感兴趣区域分割,在保证重要区域(如存在病理信息)无信息损失且重构图像质量不影响诊断的前提下进一步提升压缩比。