基于球面小波变换的球面图像压缩方法

文档序号:29934102发布日期:2022-05-07 13:18阅读:108来源:国知局
基于球面小波变换的球面图像压缩方法

1.本发明属于计算机视觉领域,具体涉及图像压缩、编码技术。


背景技术:

2.近年来随着vr和ar技术的发展,360
°
图像/视频在游戏娱乐、教育和医学领域等扩展现实方面逐渐流行起来并受到广泛的关注。为了获得身临其境的视觉体验,360
°
图像/视频需要更高的分辨率。因此,提高360
°
图像/视频的压缩效率是迫切需要解决的问题。为此,本发明提出了一种针对球面图像的压缩方法。
3.关于球面图像压缩,现有的技术一般是将球面图像映射到二维平面上,如等矩形投影、立方映射投影、八面体投影格式等表示方法。然而,这些表示往往导致数据相关性的失真和破坏,降低了许多应用的效率。为了实现一种更好的基于球面的球面图像表示方法,wu提出了一种基于球面测度的球面图像表示(smsir)和索引方案,该方案考虑了球面几何特征,为球面图像元素提供了有效的索引方案。
4.变换是图像压缩中最重要的部分。图像压缩编码方法主要是利用离散余弦变换 (dct)去除图像中的冗余信息,但dct存在时频局域性差、高压缩比条件下容易导致方块效应影响主观质量,不能完全利用人眼视觉系统的特性等缺点。为了克服dct方法的缺点,基于小波变换的图像压缩方法应运而生。经典的小波变换可以为平面图像提供紧凑的表示和多分辨率分析,然而,该方法很难推广到无投影的球域内定义的球像。因为傅里叶变换是构造经典小波的基本工具,但它不能用于球面图像。在这种情况下, sweldens和herley提出的提升结构,非常便于球面小波变换的构造。在地理领域,s
é
bastienchevrot采用笛卡尔立方体球映射,定义了一种利用提升方案实现快速小波变换的新算法。wu在smsir的基础上,设计了一种类似于传统平面图像小波变换的球面小波变换,为球面图像提供了紧凑的表示和多分辨率分析(mra),为本方法打下了良好的基础。
5.典型的基于小波变换的压缩编码方法主要有嵌入式零树小波(ezw)、spiht(setpartitioning in hierarchical trees)和优化截断嵌入式块编码(ebcot)等。spiht算法在压缩性能和计算复杂度方面都优于其他两种方法。它对平面图像具有良好的压缩性能,但对于球面图像,如果采用球面小波变换方法,传统的spiht算法不能很好地保持平面图像扫描方法对球面图像的特性。


技术实现要素:

6.有鉴于此,为了解决球面图像压缩效率问题,本发明提出基于球面小波变换的球面图像压缩方法。该发明首先使用最新的基于球面测度的球面图像表示方法(smsir)表示图像,基于smsir的球面小波变换可以有效地设计球面小波变换,可以紧凑地捕捉球面几何特征,为球面图像压缩提供了有力的工具,然后提出了一种有效的smsir图像压缩方案即球面分层小波树集合分割(spherical set partitioning in hierarchical trees,s-spiht) 算法,s-spiht算法可以逐步将球形小波系数转换为位流,从而生成可在多种球形
图像质量下有效解码的嵌入式压缩位流;其次,为了有效利用子带之间的自相似性,以及高频子带大多包含不显著系数的事实,本发明设计了三种扫描方法:有序根树索引扫描 (ordered root tree index scanning,ortis),二进索引逐行扫描(dyadic index progressivescanning,dips)和二进索引交叉扫描(dyadic index cross scanning,dics),有效地重组小波系数。最终构建了一种基于球面小波变换的球面图像压缩方法。本发明通过构建球面小波变换的spiht算法,设置针对球面三角像元的扫描顺序,最终达到提升球面图像压缩效果的目的。
7.具体技术方案如下:
8.基于球面小波变换的球面图像压缩方法,包括采用现有的基于球面测度的球面图像表示smsir对球面三角像元进行索引,利用基于smsir的球面小波变换对球面三角像元进行变换,还包括:利用smsir图像压缩方案s-spiht对变换后的球面小波系数进行扫描编解码完成球面图像压缩,所述的s-spiht是对spiht的改进,改进之处在于像素坐标的设置,s-spiht中,球形图像使用三维坐标dk(pk,qk,mk)表示,dk表示细分级别为k∈{0,1,2

n}的球面图像的索引的集合,其中,pk,qk∈[-2k,2k)∩z,mk∈ {0,1},z表示所有整数的集合,dk表示由三个整数分量pk,qk和mk组成的一个三维索引,mk=0或1分别代表直角三角形的向上或向下的朝向。
[0009]
基于球面小波变换的球面图像压缩方法,包括采用现有的基于球面测度的球面图像表示smsir对球面三角像元进行索引,利用基于smsir的球面小波变换对球面三角像元进行变换,利用smsir图像压缩方案s-spiht对变换后的球面小波系数进行扫描编解码完成球面图像压缩,所述的s-spiht是对spiht的改进,改进之处在于像素坐标的设置,s-spiht中,球形图像使用三维坐标dk(pk,qk,mk)表示,dk表示细分级别为 k∈{0,1,2

n}的球面图像的索引的集合,其中,pk,qk∈[-2k,2k)∩z,mk∈{0,1},z 表示所有整数的集合,dk表示由三个整数分量pk,qk和mk组成的一个三维索引, mk=0或1分别代表直角三角形的向上或向下的朝向,重新设计了spiht中的扫描顺序,包括有序根树索引扫描ortis,即按照有序根树索引扫描顺序对球面图像进行扫描。
[0010]
有序根树索引扫描ortis具体如下:
[0011]
采用基于qtm的递归剖分的方法生成球面规格化的球面三角网格模型,将球面图像剖分成区域0、1、2、3、4、5、6、7即8个球面三角网格;对剖分后的每个目标球面三角网格继续进行递归三角网格剖分,在最大剖分级别之后,每个球面图像像元对应有序树的叶子节点;有序根树索引系统对每个球面三角网格进行分区后得到球面三角像元;按照0-7个三角网格的有序根树索引顺序扫描球面小波系数;三角形网格的扫描顺序为:对三角形网格0中的每个细分级别的球面三角像元按照中、上、左、右的顺序进行扫描,或者按照中、下、左、右的顺序进行扫描,直到三角形内的所有球面三角像元都被扫描,然后扫描下一个三角形网格1,以此类推。
[0012]
扫描顺序包括二进索引逐行扫描dips,即按照二进索引逐行扫描顺序对球面图像进行扫描。二进索引逐行扫描dips具体如下,采用smsir球面图像索引系统中的二进索引逐行扫描,该索引系统将球面图像剖分后的8个初始三角网格经过排列、旋转重组成一个正方形,正方形中的每个三角网格都有一个与球面图像上的像素数据相对应的二进索引,该二进索引可以与有序根树索引进行相互转换,从左到右逐行扫描二进索引,得到该扫描顺序
在球面上的排列顺序,dips在对球面小波变换系数进行扫描时,采用二进索引逐行扫描的顺序。
[0013]
扫描顺序包括二进索引交叉扫描dics,即按照二进索引交叉扫描顺序对球面图像进行扫描。二进索引交叉扫描dics具体如下,该扫描顺序将球面图像分成了四部分,四个部分存在方向不一致的情况,通过将方向颠倒的区域进行翻转重排列,然后采用交叉扫描的顺序,得到另一种保持球面图像内容相关性的顺序。
[0014]
下文就本发明中涉及的基本概念、术语以及方法步骤进行展开说明:
[0015]
本发明的核心是构建球面小波变换的spiht算法(s-spiht),s-spiht是一种基于球面小波变换的spiht算法,是对现有spiht的改进。
[0016]
结合基于smsir的球面变换,利用spiht算法直接对球面图像进行压缩。
[0017]
回顾与spiht算法相关的基本概念和术语,这些概念和术语与本发明的其余部分相关。
[0018]
1)空间方向树结构
[0019]
spiht算法通过空间方向树结构对小波系数进行集的划分,图像经过两层小波变换分解后的结构,可以分为低频系数部分和高频系数部分。其中,最低频子带ll2被划分为一个集合,hl2、hl1被划分为一个集合,hh2、hh1被划分为一个集合,lh2、lh1被划分为一个集合。
[0020]
2)系数的重要性判断
[0021]
在空间方向树结构中,我们用坐标(i,j)分别表示每个系数的位置,c(i,j)表示该位置处的系数,用以下sn(t)函数表达式来对系数进行重要性判断:
[0022][0023]
其中,2n为给定的阈值,如果大于该阈值判断该系数是重要的,否则不重要。
[0024]
3)集合符号和辅助表
[0025]
在算法中定义h为根节点,o(i,j)为所有孩子节点坐标,d(i,j)为所有子孙节点坐标, l(i,j)为所有非直系子孙节点的坐标,其中,l(i,j)=d(i,j)-o(i,j)。这些集合用于空间方向树中的系数划分。
[0026]
在算法中对小波系数进行扫描时,需要根据系数的重要性对系数进行分类,分别存到三个辅助表中:不重要集合表(lis),不重要系数表(lip)和重要的系数表(lsp),注意每个表只存储系数的坐标(i,j),lis表中的集合分为d类型和l类型代表所有子孙节点坐标和非直系子孙节点坐标。
[0027]
本发明提出的s-spiht与现有spiht的异同之处如下:
[0028]
其一、像素坐标的设置:球面小波变换spiht算法(s-spiht)的编码和解码与平面图像相似。不同之处在于像素坐标的设置。平面图像使用二维索引(i,j)表示系数的坐标,而球形图像使用三维坐标dk(pk,qk,mk),dk表示细分级别为k∈{0,1,2

n}的球面图像的索引的集合,其中,pk,qk∈[-2k,2k)∩z,mk∈{0,1},z表示所有整数的集合,dk表示由三个整数分量pk,qk和mk组成的一个三维索引,mk=0或1分别代表直角三角形的向上或向下的朝向。
[0029]
其二、扫描顺序的设置:传统的spiht算法可以直接在球面上使用,但当球面映射到平面时,会破坏球面像素之间的相关性。故本发明针对球面图像的特征,提出了三种扫描
顺序,分别是有序根树索引扫描(ortis)、二进索引逐行扫描(dips)和二进索引交叉扫描(dics)。
[0030]
1)有序根树索引扫描(ortis),即按照有序根树索引扫描顺序对球面图像进行扫描。
[0031]
2)二进索引逐行扫描(dips),即按照二进索引逐行扫描顺序对球面图像进行扫描。
[0032]
3)二进索引交叉扫描(dics),即按照二进索引交叉扫描顺序对球面图像进行扫描。
[0033]
基于以上的描述,本发明提出的基于球面小波变换的球面图像压缩方法具体包括,采用现有的基于球面测度的球面图像表示(smsir)对球面三角像元进行索引得到球面三角像元图像,结合基于smsir的球面小波变换对球面三角像元图像进行分解,利用s
‑ꢀ
spiht进行图像压缩。可以在仅改变像素坐标设置的情况下采用spiht进行图像压缩;也可以不但改变像素坐标的设置,同时又改变扫描顺序,对分解后得到的球面小波系数采用重新设计的适应球面连续性的三种扫描顺序进行量化编码,从而完成整个球面图像的压缩,提升最终球面图像的压缩效果。
[0034]
有益效果
[0035]
本发明与现有技术相比,具有以下明显的优势和有益效果:
[0036]
其一,本发明使用了最新的球面图像索引系统,基于球面测度的球面图像表示 (smsir)具有均匀分布的像素点和有效的索引方案,能更好的表示球面图像;其二,提出了一种有效的smsir图像压缩方案,通过将spiht算法结合基于smsir的球面小波变换实现了直接在球面图像上的压缩过程;其三,设置对小波系数的重新扫描可以实现球面图像的高效压缩。该方法可应用于直接针对球面图像的压缩领域。
[0037]
附图说明
[0038]
图1基于球面小波变换的球面图像压缩框架
[0039]
图2spiht算法中的空间方向树结构
[0040]
图3有序根树索引扫描(ortis)
[0041]
图4二进索引逐行扫描(dips)
[0042]
图5二进索引交叉扫描(dics)
[0043]
图6球面图像压缩结果
[0044]
图6中(a)表示原始图像,(b)表示平面扫描压缩结果,(c)表示采用ortis的 s-spiht压缩结果,(d)表示采用dips的s-spiht压缩结果,(e)表示采用dics的s
‑ꢀ
spiht压缩结果。
具体实施方式
[0045]
为了更清楚的呈现本发明的技术内容,以下将详细介绍本发明具体实施方法和实验对比效果。
[0046]
本发明所提出的基于球面小波变换的球面图像压缩方法能够实现球面图像的高
效压缩。本发明的框架流程如附图1所示,包括球面小波变换和s-spiht编解码器。球面小波变换模块对输入的球面图像进行变换,生成球面小波系数,球面小波系数由不同的高低频子带组成。扫描是s-spiht编解码器的重要组成部分,扫描部分有三种扫描方法对每个子带的球面小波系数进行扫描。然后采用球面spiht编码器对小波系数进行编码。输出是这些过程的反向操作。
[0047]
本发明所述方法包括:首先利用索引系统按照有序根树的顺序将球面图像上的像素表示成球面三角像元图像,结合基于smsir的球面小波变换对球面图像进行分解得到球面小波变换系数,球面小波变换系数由不同的高低频系数子带组成,每个子带中的系数分别代表着一个球面图像,然后利用s-spiht对球面小波系数进行量化编码。
[0048]
球面小波变换spiht(s-spiht)的编码步骤如下,需要注意的是,以下的流程是 spiht的现有流程,s-spiht与spiht的流程一致,仅在像素坐标的设置及扫描顺序不一致。
[0049]
step1:数据初始化
[0050]
初始化重要系数表lsp,令其中,表示位于坐标(pk,qk,mk)处的系数,将根节点h存储到lip中,后代作为d类型添加到 lis中。
[0051]
step2:分类扫描
[0052]
2.1判断lip中的系数
[0053]
如果该坐标(pk,qk,mk)处的系数是重要的,输出sn(pk,qk,mk)=1,并把该系数的坐标(pk,qk,mk)加到lsp的表尾,并输出系数符号;
[0054]
2.1判断lis中的系数集合
[0055]
2.2.1如果该集合是d类型
[0056]
输出sn(pk,qk,mk),如果sn(pk,qk,mk)=1,则d(pk,qk,mk)分裂为l(pk,qk,mk)和四个孩子节点:对每一个孩子节点(ok,lk,mk)∈o(pk,qk,mk)输出sn(ok,lk,mk),若 sn(ok,lk,mk)=1,把(ok,lk,mk)添加到lsp表中,若sn(ok,lk,mk)=0则添加到lip表尾;如果l(pk,qk,mk)不为空集,把(pk,qk,mk)作为l类型添加到lis表尾,再继续以下2.2.2 步骤,否则从lis中移除。
[0057]
2.2.2如果该系数集合是l类型
[0058]
输出sn(l(pk,qk,mk)),如果sn(l(pk,qk,mk))=1,则l(pk,qk,mk)分裂为四个 d(ok,lk,mk)集合,把(ok,lk,mk)∈o(pk,qk,mk)以d类型添加到lis表尾,并把 (pk,qk,mk)从lis中删除。
[0059]
step3:细化扫描
[0060]
依次输出lsp中各个元素绝对值的第n位有效数字除了上次分类扫描后的各个元素(n为当前的阈值指数),从而起到修正重构值的作用。
[0061]
step4:迭代更新
[0062]
更新n-1,转到step2继续执行。
[0063]
球面小波变换spiht算法的解码过程是上述过程的逆步骤,可以对压缩数据流进行反向操作,从而复原图像。
[0064]
为了取得更好的压缩效果,进一步设计了s-spiht的扫描顺序
[0065]
本发明提出了三种扫描顺序,分别是有序根树索引扫描(ortis)、二进索引逐行扫描(dips)和二进索引交叉扫描(dics)。
[0066]
1)有序根树索引扫描(ortis)
[0067]
如图3所示,采用基于qtm的递归剖分的方法可以生成球面规格化的球面三角网格模型,可以将球面图像剖分成区域0、1、2、3、4、5、6、7即8个球面三角网格。对剖分后的每个目标球面三角网格继续进行递归三角网格剖分,在最大剖分级别之后,每个球面图像像元对应有序树的叶子节点。有序根树索引系统可以对每个球面三角网格进行分区后得到球面三角像元。因此,我们按照0-7个三角网格的有序根树索引顺序来扫描球面小波系数。每个三角形网格的扫描顺序如下:对三角形网格0中的每个球面三角像元按照中、上或下(三角形上部或者上下翻转后三角形的下部)、左、右的顺序进行扫描。例如00、01、02、03、10、11、12、13、20、21、22、23,接着扫描上面或下面、左边和右边的三角形,直到三角形内的所有球面三角像元都被扫描,然后扫描下一个三角形网格1,以此类推。
[0068]
2)二进索引逐行扫描(dips)
[0069]
如图4所示,采用smsir球面图像索引系统中的二进索引逐行扫描。该索引系统将球面图像剖分后的8个初始三角网格如图4左上所示经过排列、旋转重组成一个正方形如图4左下所示,正方形中的每个三角网格都有一个与球面图像上的像素数据相对应的二进索引,该二进索引也可以与有序根树索引进行相互转换。从左到右逐行扫描二进索引,可以得到该扫描顺序在球面上的排列顺序。依据该思想,本发明在对球面小波变换系数进行扫描时,采用二进索引逐行扫描的顺序,可以得到较好的实验结果。
[0070]
3)二进索引交叉扫描(dics)
[0071]
类似于二进索引逐行扫描顺序,该扫描顺序将经过排列、旋转重组成一个正方形分成了四部分,每一部分的图像内容表示到球面上都很连续,但是四个部分存在方向不一致的问题。通过将方向颠倒的区域进行翻转重排列,然后采用交叉扫描的顺序如图5箭头所示,可以得到另一种大致保持球面图像内容相关性的顺序,为此,本发明中spiht
[0072]
算法扫描时基于该种扫描顺序,也可以取得较好的实验结果。
[0073]
综上,本发明构建的球面图像压缩方法,采用现有的基于球面测度的球面图像表示 (smsir)对球面三角像元进行索引,结合基于smsir的球面小波变换,利用提出的smsir 图像压缩方案(s-spiht),通过重新设计三种扫描顺序,对变换后的球面小波系数进行重新扫描,实现了一种球面图像压缩方法。
[0074]
如图1所示,展示的是基于球面小波变换的球面图像压缩流程。首先利用球面图像索引系统对该球面图像进行索引,保存球面三角像元图像。对该球面三角像元进行k层球面小波变换,得到3k+1个子带数据。接着,利用spiht算法对球面小波系数进行编解码得到了球面小波变换的spiht算法结果。这是一个straightforward spiht方法。然后按照之前所述的有序根树索引扫描、二进索引逐行扫描和二进索引交叉扫描顺序分别进行spiht编解码,这是三种spherical spiht方法。通过压缩重建后分别得到压缩后的球面三角像元图像,为了公平比较将压缩后的球面三角像元图像还原回球面图像的 erp格式。
[0075]
在实验验证过程中,本发明所选用的球面图像均为球面图像的erp形式,采用基于球面的重采样方法将erp图像采样为球形数据,再进行后续实验。由于球面图像的分辨率高,数据量大,为了简化计算,我们使用灰度图像。在我们的实验中,我们从sun360 和hevc360lib视频测试集中选择4张不同类型和大小的球面图像进行实验。
[0076]
为了验证本发明所提出方法的有效性,我们在实验中对straightforward spiht和 spherical spiht进行了比较,实验结果如表1所示。其中,straightforward spiht表示
平面扫描压缩方法。ortis、dips和dics表示分别采用有序根树索引扫描、二进索引逐行扫描和二进索引交叉扫描的s-spiht压缩方法。
[0077][0078]
表1、2层球面小波分解的球面图像压缩实验结果
[0079][0080]
表2、3层球面小波分解的球面图像压缩实验结果
[0081]
在实验中我们选取了通用的psnr和ssim作为球面图像压缩质量评价性能指标。
[0082]
psnr计算如下:
[0083]
均方误差mse:
[0084][0085]
其中,c
i,j
表示原始图像中每个像素值,表示重建图像中每个像素的值,m和n表示图像尺寸大小。
[0086]
图像的峰值信噪比psnr:
[0087][0088]
其中,max表示图像颜色的最大数值,8位采样点表示为255。
[0089]
ssim计算如下:
[0090]
[0091]
其中,μ
x
和μy分别表示平均值,和分别表示方差,σ
xy
表示协方差,c1和c2为常数。
[0092]
针对球面图像,我们又选取了360lib中用于360视频质量评价的球面质量指标s
‑ꢀ
psnr。s-psnr是通过选取球面上一组采样点,计算该采样点映射到原始图像和球面图像的位置处误差,累加每个采样点的误差,根据误差和计算psnr。
[0093]
表1中的数据是4张实验图像结果的平均值。由表1可以看出,ortis、dips和 dics扫描比straightforward spiht扫描的客观质量更高。在上述实验中,我们使用了2 层球面小波变换。此外,我们还利用3层球面小波变换进行图像压缩,实验结果如表2 所示。对比表1,球面图像压缩的3层球面小波变换取得了较好的效果。采用更高层次的球面小波变换,可以获得更好的压缩性能,特别是在低比特率的情况下。
[0094]
最后,图6给出了测试集上不同方法球面图像的主观视觉质量对比。所有图像的比特率为0.4bpp。本发明提出的球面图像压缩方法可以获得更好的压缩性能。具体来说,在相同的比特率下,可以看出我们的三种扫描方法具有更高的视觉质量。例如在窗户、建筑等地方,平面扫描显示出明显的变形,而其他扫描方法在高比特率下差异不大。从以上结果可以看出,本发明提出的方法比球面小波变换平面扫描spiht算法具有更好的压缩性能。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1