数据编码器、数据编码方法和计算机程序的制作方法

文档序号:7605222阅读:264来源:国知局
专利名称:数据编码器、数据编码方法和计算机程序的制作方法
技术领域
本发明涉及用于编码特定地理表面数据的数据编码器和数据编码方法,以及具有相同作用的计算机程序,更具体地说,本发明涉及用于对映射在球面的数据进行编码的数据编码器和数据编码方法,以及具有相同作用的计算机程序。
更具体地说,本发明涉及一种数据编码器和数据编码方法,用于对映射在以特定数学模型描述的球面的数据进行编码,本发明还涉及具有相同作用的计算机程序。更具体地,本发明涉及一种数据编码器和数据编码方法,用于以能够局部分解(resolution)和局部配送(distribution)的方式对映射到球面的数据进行编码,本发明还涉及具有相同作用的计算机程序。
背景技术
全方位照相机作为能够提供用户周围景物的图像的设备已经被公开。这类全方位成像系统基于如下结构,即在作为观察点的空间中的一点提供多个照相机,从而拾取环绕该点的图像。该全方位成像系统执行图像处理,用以生成显示景物的图像,该图像的视野比普通照相机提供的图像宽广得多,并且,通过将由多个照相机获取的彼此相连的图像的边缘适当地连接起来,使得获得的图像看上去就像是用一个单独的广角照相机摄取的。结合最近在VR(虚拟现实)技术领域的进步,每张都能提供全圆周图像(entire circumferenceimage)的图像正在快速增多。
另一方面,随着信息通信技术领域的发展,对经由配送媒质向远端站点配送不同类型的内容有着强烈的需求。
在上述全圆周图像配送服务的情况中,由于全圆周图像是通过将图像数据映射到球面而形成的,因此数据被编码并转换成数据流进行配送。但是,在接收端,也就是在服务的用户端,很少需要全方位图像,并且许多用户要求某一特定视角的具有高分辨率的图像。也就是说,存在对全圆周图像的某一特定有限区域局部配送和局部分解的需求。
在例如地面波广播、卫星广播、有线电视广播和高级图像广播的常规广播技术中,基本上一幅图像是通过一个信道接收的。此外,一幅图像的视角也在广播端记录图像时就预先确定了,因此接收图像的用户不能选择具有期望视角的图像。为了使用户能够选择由通过多个照相机获得的图像组成的全方位图像的视角,要求用户同时接收通过多个信道配送的多幅图像,其中每个信道配送由一个照相机摄取的图像。但是,为了实现上述结构,需要对硬件进行修改,这也会造成接收端成本增加。
在配送数据,或者经由数据递送或记录媒质配送数据的情况下,数据量很大,因此要求对通过将像素数据映射到球面而形成的全圆周图像以适合压缩编码的格式进行编码,也就是将其变换成数据流。此外,编码后的数据流最好满足局部配送和局部分解的需求。
例如,使用地图投影的方法可以将地球仪投影到平面世界地图上,通过这种方法可以将球面映射到平面上。
如图19所示,有一种方法是将球面投影到圆柱体表面,然后将圆柱体表面展开成平面。在图19所示的情况下,球面水平方向的角度被绘制在二维平面的横向方向,球面垂直方向的角度被绘制在具有相同间隔(even space)二维平面的垂直表面。在这种情况下,二维图像映射信息是分配给每一行和每一列的角度数据。
上述映射方法虽然具有空间与时间的高相关性、并且将球面数据转换成二维平面数据所需的公式简单,或者说二维映射信息简单的优点,但是映射后的二维平面的上面和下面部分(也就是二维地图的两极部分)的失真变大了(或者说,与赤道部分相比两极部分的密度变低了)。因此,不能同等地保存所有方向包含在每个像素里的信息。换句话说,编码后的数据流不能满足局部配送或局部分解的需要。
映射在球面的数据的情况不仅限于例如全圆周图像处理的图像处理技术领域。
例如,在声学领域,已知的根据基尔霍夫积分公式,如果能够完全地控制一个表面的声压和粒子在该表面法线方向的速率,就能够完全再现封闭面S的内部区域D内的声场(参考,例如,“对再现宽范围声场的研究(1)-根据基尔霍夫积分公式”,伊势,日本声学学会会议记录,1993年10月。)。
换句话说,通过将声压或粒子速率映射到球面,有可能再现宽范围声场,并且能够再现封闭面任何内部区域的声场。
在这种情况下,为了经由音频递送和介质来配送和传输音频数据,也需要对映射到球面的数据进行编码,并进行局部配送和局部分解。

发明内容
本发明的一个目的是提供一种优秀的数据编码器和优秀的数据编码方法,使得能够方便地对映射在球面的数据进行编码,并且提供一种具有相同作用的计算机程序。
本发明的另一个目的是提供一种优秀的数据编码器和优秀的数据编码方法,利用数学模型描述映射在球面的数据,从而能够方便地对其进行编码,并且,本发明还提供具有相同作用的计算机程序。
本发明的另一个目的是提供一种优秀的数据编码器和优秀的数据编码方法,使得能够利用一种允许局部分解和局部配送的格式对映射在球面的数据方便地进行编码,并且,本发明还提供具有相同作用的计算机程序。
本发明是考虑到上述问题而开发的,并且在本发明的第一实施例中,提供一种用于对映射到球面的数据进行编码的数据编码器。该数据编码器包含数据变换器,用于对映射在球面上的数据施行球面小波变换,以顺序地生成在第0级的球面和在第j级的球面的缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)(其中,k表示球面上的坐标值,m=1、2、3),其中,在第0级,球面被近似为正多边形,在第j级,每一个构成在第0级近似球面的多面体的一面的三角形被递归四等分(j1或更大的整数);以及数据流准备单元,用于根据在球面上的位置关系重新排列缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)。
根据本发明的数据编码器,可以还包含用于对重新排列的数据流进行编码的单元。
映射在在第0级构成近似球面的多面体的每一面的三角形上的数据值,和在每一级的球面小波函数的值,可以从上述数据转换器输出。
数据编码装置可以根据球面上的坐标,将在最高到第j级的球面小波函数的值重新排列成数据流,并且,根据在球面上的坐标,分割这些数据值以提供用于插入的位置,并且进一步根据球面上的坐标划分在第j+1级的球面小波函数的值,以便将这些值分别组合到相应的用于插入的位置。
最近,处理例如用于完全再现全圆周图像或声场的映射在球面上的数据的机会正在增加。在配送或传输这类数据的服务中,需要讨论例如有效压缩编码或者局部分解的空间可缩放性,和由局部配送所带来的便利。
基于相关技术的数据压缩方法已经被用于以简单形式定义的数据。在基于相关技术的压缩方法中使用的典型的形式包含线性(例如音频)、矩形(例如图像)和三维色彩(例如视频)数据。但是,基于相关技术的数据压缩技术不适合压缩定义在球面或其它复杂形式上的数据。
也存在这样的方法,即将球面投影到圆柱体的表面,然后将圆柱体表面展开成平面。在上述映射方法中,空间和时间相关性高,并且将球面变换成二维平面所需的数学公式,即二维映射信息很简单,这些是它的优点。但是,在上面和下面部分(世界地图上的两极)的失真变得较大(或者说与赤道附近相比密度变低了),因此不能同等地保存在所有方向上包含在每个像素中的信息。换句话说,编码后的数据流不能满足局部配送和局部分解的需要。
为了解决上述问题,根据本发明的数据编码器将缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)重新排列成反应在球面上的位置关系的队列,以构成数据流。
例如,当包含颜色和亮度的像素数据被映射在球面上时,数据变换单元对像素数据施行球面小波变换,以获得在第0级的缩放函数的值和在每一级的球面小波函数的值。然后,数据编码单元根据在球面上的坐标值划分球面小波函数的值,以便将这些数据映射到每一个在第0级构成近似球面的多面体的表面的正三角形上;分离每一个被划分的三角形的第0级的缩放函数值,并且分离各级的每一个颜色分量的球面小波函数的值;根据在第0级近似球面的正三角形重新排列数据;以颜色顺序排列并连接数据;并且进一步重新排列每个球面小波函数的数据。
在这一步骤中,数据编码单元排列在相同颜色中两次出现的连续四个数据片(data pieces),以便相同颜色分量以预定数目的样本连续。
换句话说,从一个宽视角说明,数据编码单元将R、G和B中每一个的数据样本分组,并且排列每个球面小波函数的数据样本。通过以上述方式重新排列数据样本,在对特定数目的数据样本执行可变长度编码时能够利用空间相关性。
当包含声压数据和粒子在表面法线方向的速率的数据在内的,用于再现球面的给定内部区域的声场的数据被映射到球面上时,数据变换单元对该数据施行球面小波变换,以获得在第0级的缩放函数的值和在每一级的球面小波函数的值。然后,数据编码单元对每一个通过球面小波变换分解得到的数据施行MDCT变换,以获得M采样的频谱值;根据在指定级近似球面的正三角形排列这些数据样本;在频谱之间插入这些数据;并且进一步排列每个球面小波函的数据样本。此外,数据编码单元为每一个球面小波函数排列球面小波函数值,并且进一步根据声压和粒子在法线方向的速率顺序排列数据样本。通过上述操作,当对每个预定数目的样本执行可变长度编码时,能够利用两个相关性,即空间和频率之间的相关性以及时间和频率之间的相关性。
数据流编码单元可以将预定数目的数据样本作为一个宏块,对其施行可变长度编码,并且直接将连续的每个都具有相同比特长度的宏块彼此连接,而不再提供首标。在这种情况下,由于将缩放函数Φk(j)中的系数ck(j)和小波函数Ψk(j)的值dk,m(j)重新排列成反应在球面上的位置关系的队列,所以可以想象,样本之间的相关性高,因此即使是在对这些样本施行可变长度编码时,也可以预期具有相同比特长度的宏块连续出现。结果,能够缩短比特队列的长度。
在这一步骤中,可以按照从具有最大比特长度开始的递减顺序排列数据样本,并且将其彼此顺序相连。通过这一操作,首标和宏块之间的字节校准(被确定,这有助于硬件和软件对数据的处理。
宏块的循环值和比特长度可以存储在首标中。可以对宏块施加缩放因子,并且所述缩放因子的信息也可以存储在首标中。
利用根据本发明的数据编码技术,当已知再现数据所需的最低级,并且能够通过将数据分解到最低级,以充分高效率的编码代码对数据进行编码时,也能够基于相同的概念实现从最低级开始的流结构,从而实现可缩放性。
此外,利用根据本发明的数据编码技术,当在原始球面再现编码后的数据时,可以通过将再现的下一级的球面小波函数值放置在与当前重新排列级的三角形的位置相同的位置,来执行局部提取。
此外,利用根据本发明的数据编码技术,可以对将要再现的不同部分指定不同的分辨率。例如,当将要放大一个人的面部时,只需要重新排列该部分的图像数据。此外,如果不产生任何负面的视觉影响,可以对全圆周图像本身的不同部分指定不同级别的分辨率。在这种情况下,为了再现具有较低级别分辨率的部分,不需要较高级别的球面小波函数值,因此,可以减少总数据量。
在本发明的第二实施例中,本发明提供了一种计算机程序,该程序以计算机可读的形式描述,使得用于对映射在球面上的数据进行编码的处理能够在一个计算机系统中执行。该计算机程序包含数据变换步骤,对映射在球面上的数据施行球面小波变换,以顺序生成在第0级的球面和在第j级的球面的缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)(其中,k指示在球面上的坐标值,m=1,2,3),其中,在第0级的球面近似成正多边形,在第j级的球面,在第0级每一个构成近似球面的多面体的一面的三角形被递归四等分(j1或大于1的整数);和数据流准备步骤,根据在球面上的位置关系重新排列缩放函数Φk(j)中的系数ck(j)和小波函数Ψk(j)的值dk,m(j)。
根据本发明的第二实施例的计算机程序以计算机可读的形式描述,使得预定的处理能够在一个计算机系统中实现。换句话说,通过安装根据本发明的第二实施例的计算机程序,在计算机系统上能够获得合成效果,并且能够获得与根据本发明的第一实施例的数据编码器所提供的优点相同的优点。
下面,参照附图更详细的说明本发明的实施例,通过这些说明,将能够理解本发明的其它目的、特点和优点。


图1示出了利用使用球面哈尔基的球面小波分解和重构球面的方法;图2示出了球面哈尔基的一般表现形式;图3是示出根据本发明的一个实施例通过可变强度编码获得的数据流的结构示意图;图4示出了首标的结构;图5示出了存储宏块数据的方法;图6示出了从球面分解出的三角形(函数值)的标识符分配格式的例子;图7示出了流格式的结构示意图;图8是示出了将按每一级排列的球面小波函数值根据球面坐标值重新排列后的位置的示意图;图9是示出了表达式(12)表达的队列(array)树结构的排列顺序的视图;图10是示出了图9所示的具体流结构的视图;
图11是示出了最低为3级的数据序列树结构;图12是示出了MDCT和IMDCT处理流程的示意图;图13是示意性示出了根据本发明的实施例已经经过可变长度编码的数据流的结构的视图;图14是示出了首标的结构的视图;图15是说明了存储宏块数据的方法的视图;图16是示意性示出了流格式的结构的视图;图17是示出了根据d2的标识符顺序,在频谱间顺序插入(interleave)三角形的例子;图18是示出了具体的流结构的视图;和图19是示出了一种将球面上的数据展开到平面上的方法(根据相关技术)的视图。
具体实施例下面参考附图对本发明的实施例进行说明。
从空间中某一观察点观看时,例如,利用以观察点为中心的球面上的针孔镜头,获得的包含颜色和亮度数据的映射图像信息构成了全圆周图像。将上述方法获得的全圆周图像投影到二维平面上时(参照图19),映射了数据的二维平面的上面和下面部分(例如,世界地图的两极部分)的失真会变大(或者说,与接近赤道的部分相比,密度变低了)。
为了解决投影到平面产生的问题,并实现例如局部分解或局部配送的空间可缩放性(scalability),本发明使用一种通过球面正交展开(spherical-orthogonal development)描述全圆周图像(或者其它映射到球面的数据)的方法。
可以通过一些方法进行球面正交展开,例如,使用球面谐波函数的方法,或者使用球面小波变换(参考,例如,“使用球面正交展开描述全景全圆周图像”,Higuchi等,3D图像会议’99,会话1-6,第31到36页,1999年6月)的方法。
使用球面谐波函数会使函数值变得过大,因此当维数高于预定的级数时,不可能使用双精度实数处理,并且需要一种特殊的计算方法。
相反,在使用球面小波变换的方法中,使用了通过扩展球面上的哈尔基所获得的基,从而可以简化各级之间的参照(reference)关系。进一步的计算很简单,并且具有适应性,因此这种方法很容易在具体应用中使用。
在本实施例中,将球面小波变换作为球面正交变换使用,通过这种方法提供一种用于对映射在球面的数据进行编码的编码方法,这种编码方法允许压缩编码,并具有例如局部分解或局部配送的空间可放缩性。
A.球面小波首先,对使用球面哈尔基的球面小波数学模型进行说明。
在使用球面哈尔基的球面小波中,首先,球面用由多个正三角形构成的多面体近似(投影到),并且每个构成多面体一面的正三角形都被递归(regressively)四等分。进而一个正三角形由四个正三角形重构。小波是能够快速分解数据的构造块,并且数据原始表达式和该数据的小波表达式之间转换所需的时间与数据量成正比。
使用多面体近似球面是很有效率的,因为当作为构成(constituent)面的三角形的数目增大时,分辨率也随之变高。基于上述原因,在本实施例中,球面由正二十面体近似(投影),该二十面体包含最大数目的构成三角形。在下面的说明中,定义构成原始二十面体的那级三角形为0级,递归四等分0级三角形而顺序获得的各级三角形被定义为1级、2级,以此类推(如图1所示)。
级数越高,意味着球面由更多的三角形近似。换句话说,当通过分割球面获得的三角形被看作是例如颜色或亮度的图像数据映射到其上的像素时,较高的级提供分辨率较高的较精确的图像,并且较低的级提供具有较低分辨率的较粗略的图像。例如,通过对j级的4个三角形的像素数据进行平均,可以获得j-1级的一个三角形。降低级数对应于对映射在球面的数据进行压缩编码,相反提高级数对应于对映射在球面的数据进行解码。
小波是根据级数表示预定函数的基函数。小波通常由缩放(scaling)函数形成,并且j级的缩放函数或小波可以由具有相同形式的更精确一级的j+1级的缩放函数的线性组合表示。缩放函数Φk(j)和小波函数Ψk(j)分别由下面的公式(1)和公式(2)定义Ψk(j)=Tj(j)...(1)]]>
Ψk,m(j)=Σi=03qm,lΦ4k+1(j+1),(m=1,2,3)...(2)]]>在上面的公式中,k指示在球面上的坐标值。Tk(j)是一个函数,仅当位于j级球面坐标k的三角形区域内时函数值才为1,在其它区域值为0。图2示出了球面哈尔基的一般形式。
小波由缩放函数形成,而j级的缩放函数或小波由具有相同形式的更精确一级(分解)的j+1级缩放函数的线性组合定义。使用球面哈尔基的球面小波变换分解算法用下面的公式(3)表示。此外,球面小波变换的重构算法用下面的公式(4)表示。通过分解算法,对映射在球面上的数据在更精确的一级进行解码,而通过重构算法,将映射在球面上的数据编码成在更粗略一级的数据。
ck(j-1)=14Σi=03glc4k+1(j)]]>dk,m(j-1)=Σi=03hm,lc4k+1(j),(m=1,2,3)...(3)]]>c4k+1(j)=Plcj(j-1)+Σm=03qm,ld4k+1(j),(m=1,2,3)...(4)]]>在这里,级数{g1}、{hm,1}、{p1}、{qm,1}可以根据如下面的公式(5)和公式(6)所定义的二级关系(tow-scale relation)和正交条件确定。
{gl}={pl}=1(l=0,1,2,3) …(5)h1,0h1,1h1,2h1,3h2,0h2,1h2,2h2,3h3,0h3,1h3,2h3,3]]>=q1,0q1,1q1,2q1,3q2,0q2,1q2,2q2,3q3,0q3,1q3,2q3,3]]>
=56-16-12-16-1656-12-16-16-16-1256...(6)]]>通过上述说明可以推出,利用低一级的缩放函数Φk(j-1)的系数ck(j-1)和三种不同类型球面小波函数Ψk(j-1)的值dk,m(j-1),可以计算出缩放函数Φk(j)的系数ck(j)(其中,m=1,2,3)。通过顺序将级数降低到0级来分解和重构第N级的球面信息所需的信息由下面的公式(7)表示ck0(k=0,1,…,19)dm,kj(m=1,2,3)(k=0,1,…,20×4(j)-1j=0,1,…,N-1) …(7)每一级的dk,m(j)如下所示。(j)指示级数。
dm,k(0)(m=1,2,3)(k=0,1,…,19)dm,k(1)(m=1,2,3)(k=0,1,…,79)(=20×4-1)dm,k(2)(m=1,2,3)(k=0,1,…,319)(=20×42-1)上述每一个值对应于映射到每个三角形的像素值和每一级的小波函数值,其中所述的三角形就是构成用来近似球面的正二十面体表面的第0级三角形。结合公式(4)、公式(5)和公式(6),在第0级重构的具体算法如下面的公式(8)所示。
c01=c00+5/6d0,10-1/6d0,20-1/6d0,30...(8)]]>c11=c00-1/6d0,10+5/6d0,20-1/6d0,30]]>c21=c00-1/2d0,10-1/2d0,20-1/2d0,30]]>c31=c00-1/6d0,10-1/6d0,20+5/6d0,30]]>c41=c10+5/6d1,10-1/6d1,20-1/6d1,30]]>c51=c10-1/6d1,10+5/6d1,20-1/6d1,30]]>
c61=c10-1/2d1,10-1/2d1,20-1/2d1,30]]>c71=c10-1/6d1,10-1/6d1,20+5/6d1,30]]>如上面的公式(8)指示,ck1可以由ck0和dk,m0生成。通过公式(4)计算出dk,m1,从而可以从ck1获得更高一级的ck2的值。
基于上述原因,只需要第0级的ckj的值。也就是说,通过与第0级像素相对应的ck0和每一级的小波函数值,就可以对每级的像素值进行可逆编码。
当对映射在球面的数据,例如全圆周图像数据,施行球面小波变换之时,在输出数据中缩放系数和小波函数值按每一级排列。当不与球面坐标相对应的数据序列被变换成数据流时,不能获得例如局部分解或便于局部配送的空间可缩放性。因此,在本实施例中,根据球面上的位置关系重新排列按每一级排列的缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j),以获得数据流。
B.使用可变长度编码的高效率编码可以说球面小波变换的分解算法允许空间频率的分割。利用这一特点,有可能实现高效率编码。本发明人提出了一种利用球面每一级的临近坐标的相关性进行可变长度编码的方法。
哈夫曼编码方法或LZ系统是典型的可变长度编码方法。这些方法是用于对文本中的字符进行编码的方法。在本说明书中,本发明人提出了一种可变长度编码系统,允许最小化解码端所需资源、提高实时处理的适应性以及处理8比特或更多的信号。
之所以要求处理8比特或更多的信号的能力,是因为球面小波变换也会计算负值,并且很有可能会计算9比特长度的值。
图3到图5示意性地示出了通过根据本发明的可变长度编码所获得的数据流。如图所示,包含后续(meta)信息的1字节首标预置在开头位置,随后是数据区。
在数据区,包括8个样本信号的区域被定义为宏块,并且,当随后的宏块具有相同的比特长度时,直接将这些块组合在一起,不再提供首标。首标包含说明下一个首标出现之前重复的宏块的数目和宏块比特长度的信息(参见图4)。具有相同比特长度的宏块和一个首标组成一个单元。
图5示出了宏块存储数据的方法。在一个宏块中,每个样本的比特长度都被设置成与8个数据样本中的最长比特长度相等,并且顺序连接每个样本以便存储。在图5所示的例子中,在8个数据样本中最长比特长度为3比特。在这种情况下,整个宏块的总字节长度为3字节。
通过使用上述结构,确定了首标和宏块之间的字节校准,这使得硬件和软件易于处理。
在图4所示的例子中,首标具有8比特长度,但是宏块的递归(recursive)值被存储在前4比特。因此,即使连续出现16或更多具有相同比特长度的宏块,在一个数据块中能容纳的最大宏块数目也仅为16个。此外,数据块中容纳的宏块的比特长度存储在后4比特。
通过使用上述可变长度编码方法,能够缩短比特队列的长度。
此外,在本说明书中,发明人提出了一种允许通过使用缩放因子实现高效率编码的方法。
如果宏块中的所有8个数据样本都具有相同的比特长度,在该宏块中能够减少1字节。
例如,当一个宏块中的所有8个样本都分别具有在-256到-129范围内或在128到255范围内的值时,所有这些样本都具有8比特长度,从而该宏块中的数据区具有8字节。
在这种情况下,当为正值时,减去128,当为负值时,加上128。这样,宏块中每个样本的值都在-128到-1<0到127的范围内,这可以用7比特表示。
因此缩放因子信息存储在首标的比特长度部分。
0到9比特长度,不包含缩放因子a比特长度4,包含缩放因子…f比特长度9,包含缩放因子C.流格式通过对球面小波变换分解出的值施行可变长度编码,实现了具有如下功能的流格式(1)高效率编码(2)分辨率可缩放性(3)图像信息的局部提取(extraction)在球面小波变换中,首先,使用由多个正三角形构成的多面体近似(映射)球面,并且每个构成多面体的一面的正三角形都按上述方法递归(recursively)四等分。
图6示出了对从球面分解出的三角形(函数值)的标识符分配格式的例子。在该图的左手边,示出了构成近似球面的第0级多面体表面的三角形的标识符。在该图的右手边,示出了当每个正三角形被分解时分配标识符的规则。
当对例如全圆周图像的映射在球面上的数据施行球面小波变换时,缩放系数和小波函数值分级排列(arrayed)。在本实施例中,为了获得由局部分解或局部配送的可缩放性带来的便利性,将分级排列的缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)按照在球面上的位置关系重新排列,以构成数据流。出于这个目的,将通过球面小波变换获得的每一级的小波函数Ψk(j)的值dk,m(j)按照在第0级的正三角形Tr1、Tr2、...进行划分(参照图7)。之后,将按照三角形Tr1、Tr2、...划分的第j+1级的球面小波函数值组合到相应的第j级正三角形的球面小波函数的后面(参照图8)。
例如,当映射在球面上的数据是例如全圆周图像的图像信息时,包含在正三角形Tr1、Tr2、...内的信息是第0级的缩放系数,也就是R、G和B值。根据在球面上的坐标,将这些通过球面小波变换分解得到的值进一步分配给正三角形Tr1、Tr2、...、Tr19,并且按照下述方法彼此连接。N指示最高级数。
c0[R,G,B]d00[R,G,B],d01[R,G,B],d02[R,G,B]d10[R,G,B]_k,d11[R,G,B]_k,d12[R,G,B]_k(k=0,1,2,3)dN-10[R,G,B]_k,dN-11[R,G,B]_k,dN-12[R,G,B]_k(k=0,1,2,3,…,4N-1)下面说明每个正三角形Tr的数据流格式。
表达式(9)示出了当最高级数为N时要存储的信息的队列。
c0[R,G,B]d0[3][R,G,B]
d1[3][4][R,G,B]d2[3][16][R,G,B] …(9)d3[3][64][R,G,B]dN-1[3][4N][R,G,B]在上面的表达式中,d*[3]对应于三种类型的球面小波函数。位于d1及d1之后的中间位置的队列是划分而成的三角形的标识符。
在这里,首先,将每个被划分而成的三角形在第0级的缩放函数值和在第0级到第N-1级的球面小波函数值按照每个R、G和B颜色分量彼此分离,并且根据标识符顺序排列,也就是说,根据在球面上的坐标顺序排列,并且按照R、G和B的顺序彼此连接。
通过上述操作,当对每8个样本执行可变长度编码时,能够利用空间相关性。
对于上述公式(8)所表达的数据,将在第一级的球面小波函数的值d1之后的正三角形标识符划分成4的组合,由此获得的队列如下面的表达式(10)所示c0_R, c0_G, c0_B,d0[3]_R,d0[3]_G,d0[3]_B,d0-31[3][4]_R, d0-31[3][4]_G, d0-31[3][4]_B,d0-32[3][4][4]_R, d0-32[3][4][4]_G,d0-32[3][4][4]_B,…(10)d0-33[3][4][4][4]_R,d0-33[3][4][4][4]_G, d0-33[3][4][4][4]_B,  d0-3N-1[3][4][4]…[4]_R, d0-3N-1[3][4][4]…[4]_G, d0-3N-1[3][4][4]…[4]_B,此外,分别排列每一个球面小波函数的球面小波函数值d*,并且利用下面的表达式(11)进行变换。换句话说,大体上按照R、G和B为数据分组,并且在相同颜色内排列每个球面小波函数的数据。
{d2[]
,d2[]
[1],d2[]
[2],d2[]
[3],d2[][1]
,d2[][1][1],d2[][1][2],d2[]
[4],
d2[][2]
,d2[][2][1],d2[][2][2],d2[][2][3],d2[][3]
,d2[][3][1],d2[][3][2],d2[][3][4],}{d2[]
,d2[]
[1],d2[]
[2],d2[]
[3],d2[]
[4],d2[]
[5],d2[]
[6],d2[]
[7],…(11)d2[][1]
,d2[][1][1],d2[][1][2],d2[][1][3],d2[][1][4],d2[][1][5],d2[][1][6],d2[][1][7],}在第2级及其后的级,四个数据样本在同一数据中出现两0次,这使得相同颜色的8个数据样本连续排列,因此数据的相关性变高。表达式(11)示出了第2级的情况,表达式(12)示出了该结构。
c0_R, c0_G,c0_B,d0_R, d0_G,d0_B,d0-21
_R, d0-21
_G, d0-21
_B,d0-22[2][8]_R,d0-22[2][8]_G,d0-22[2][8]_B,…(12)d0-23[4][4][2][8]_R, d0-23[4][4][2][8]_G, d0-23[4][4][2][8]_B,  d0-2N-1[4]…[2][8]_R, d0-2N-1[4]…[2][8]_G, d0-2N-1[4]…[2][8]_B,图9示出了表达式(12)所示的队列顺序的队列树结构。在图9所示的情况中,最高的级为5。进而图10示出了如图9所示的具体例子的流结构(注意,为简明起见,其最高级为4)。
通过对上述排列的数据流进行可变长度编码,能够实现高效率编码。
下面说明根据本实施例的流格式的可缩放性。
将通过对映射在球面的数据进行球面小波变换而获得的数据变换成具有图9和图10所示结构的数据流,利用这种方法可以简便地获得c1[20][4]、c2[20][16]、c3[20][64]、...、cN[20][4N]。
在这一步骤中,当已知再现图像所需的最低级或类似的信息,并且能够通过将数据分解到最低级执行效率足够高的编码时,也能够根据下面将要说明的处理顺序实现从最低级开始的流结构。
图11示出了当最低级为,例如,3时的数据队列树结构。虽然为简单起见,在图中没有示出符号R、G和B,但是数据是按照如上所述的方法按照每个R、G和B分量彼此组合的。而且,下面的说明假定使用在第0级的三角形近似球面。通过使用上述结构,具有高度相关性的样本连续出现,因此能够方便地准备宏块。
下面说明具有根据本发明的格式的数据流的局部提取和局部重构。
通过对映射在球面的数据施行球面小波变换,将其变换为具有如图10和图11所示结构的数据流,利用这种方法,当在原始球面重构编码后的数据时,可以通过将重构的下一级的球面小波函数值放置在与当前重构级的三角形的位置相同的位置来执行局部提取。
此外,根据上述处理顺序,可以为一幅图像的不同部分指定不同的分辨率。例如,当放大一个人的面部时,可以只重构图像的该部分。此外,如果不存在视觉影响,还可以为全圆周图像本身的不同部分指定不同的分辨率。在这个例子中,在具有较低分辨率的部分不需要较高级的球面小波函数值,因此,可以减少总数据量。在这种情况下,例如在球面上的图像的数据的位置和级值之间的对应关系可以作为后续信息添加。
D.声场数据的高效率编码如果有可能完全控制一个表面的声压和粒子在该表面法线方向的速率,则根据基尔霍夫积分公式,就可以完全再现封闭表面S的内部区域D中的声场。换句话说,通过将声压和粒子速率的数据映射到球面上,就能够处理在宽的范围内可再现的声场。这里,对使用球面小波的高效率编码进行检查。
通过球面小波变换的分解算法允许空间频率的划分。利用这一特性,能够实现高效率编码。此外,通过执行沿时间轴的正交变换,能够将信号变换成频谱信息,从而能够以更高的效率执行编码。在本实施例中,使用MDCT(Modified DCT,改进DCT)方法作为进行时间轴方向的正交变换的手段。
图12示意性地示出了MDCT和IMDCT的处理流程。根据下面说明的方法实现MDCT和IMDCT。
(1)设置窗口(用于MDCT)在输入信号x(n)中设置用于MDCT的窗口w1(n)(0≤n<2M)。
x1,j(n)=w1(n)x(n+JM), 0≤n<2M…(13)(2)MDTC将经过设置窗口处理的信号X1,j(n)变换为MDCT系数Xj(k)。
Xj=2(Σn=02M-1x1,j(n)cos(π(2k+1)(2n+M+1)4M))M,0≤k<M...(14)]]>在这一步骤中,从时间线信号的采样数2M计算出M个系数,这一数目是2M的一半。被设置窗口的部分叠加(overlap)到各自样本的中心,因此计算出的系数与时间线信号的数目相同。
(3)IMDCT用下面的公式(15)对MDCT系数Xj(k)施行反变换。
X2,j=Σn=0M-1xj(k)cos(π(2k+1)(2n+M+1)4M),0≤n<2M...(15)]]>(4)设置窗口(用于IMDCT)在经过了IMDCT的输入信号X2,j(n)中设置用于IMDCT的窗口w2(n)(0≤n<2M)。
x3,j=w2(n)x2,j(n)0≤n<2M…(16)(5)叠加将第(j-1)个X3,j-1(n)的后半部分与第j个X3,j(n)的前半部分彼此组合,以获得输出时间信号y(n+JM)。
y(n+JM)=x3,j-1(n+M)+x3,j(n)0≤n<M…(17)上述过程中处理的时间窗口满足如下面的表达式(18)所示的条件。
W2(n)+w2(n+M)=1 0≤n<M…(18)在本实施例中,使用如下面的表达式(19)所示的正弦窗口。
Wsin(n)=sinπ(n+12)N,0≤n<M...(19)]]>利用上述操作,通过将球面上的声压分布和粒子在球面法线方向的速率变换成空间的频率和在时间轴方向的频率,能够利用球面坐标系附近的相关性实现可变长度编码。
哈夫曼编码和LZ系统是可变长度编码的代表性技术,但是这些技术适用于文本基础上的字符。在本说明书中,本发明人提出了能够充分减少解码端所需资源的可变长度编码方法,以提高实时处理的能力,并处理8比特或更多的信号。
图13到图15示意性地示出了经过根据本发明的可变长度编码之后的数据流的结构。如图所示,包含后续信息的1字节首标位于开头位置,随后是数据区。
每个数据区包含一个8信号样本的宏块,并且当随后的宏块具有相同的比特长度时,这些数据块直接彼此组合,不再提供首标。首标说明直到下一个首标出现之前的重复的宏块的个数,和宏块的比特长度(如图14所示)。这里将重复的宏块和首标定义为一个单元。
图15示出了在宏块中存储数据的方法。
在一个宏块中,8个样本按照从具有最大比特长度的样本开始的递减顺序排列和存储。在如图所示的例子中,8个样本中具有最大比特长度的样本的比特长度为3比特。在这种情况下,宏块的总字节长度为3字节。
通过上述操作,首标和宏块之间的字节校准被确定,并且硬件和软件能够很容易地处理被存储的数据。
在图14所示的例子中,首标具有8比特长度,并且宏块的递归值存储在前面的3比特。因此,即使有8个或更多的宏块连续出现,一个数据块容纳的宏块个数的最大值也只为8。数据块中容纳的宏块的比特长度数据存储在首标的后5个比特中。
对通过球面小波分解出的值施行上述的可变长度编码,能够实现具有下列功能的流格式。
(1)高效率编码(2)分辨率的可缩放性
(3)表面信息的局部提取在球面小波中,球面由多个正三角形构成的正多面体近似(投影),并且每个构成该正多面体一面的正三角形都被递归(recursively)四等分(如上所述)。
图6示出了向从球面分解出的三角形(函数值)分配标识符的格式的例子。在该图的左侧,示出了构成投影到球面的二十面体的第0级正三角形的标识符。在该图的右侧,示出了当每个正三角形被进一步分解时分配标识符的规则。
当对映射在球面上的数据,例如用于再现声场的数据,施行球面小波变换时,缩放系数和小波函数值在输出数据中分级排列。在本实施例中,为了获得局部分解的可缩放性或由局部配送所带来的便利性,将分级排列的缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)重新排列成反应在球面上的位置关系队列,以构成数据流。出于这个目的,将通过球面小波变换获得的每一级的小波函数Ψk(j)的值dk,m(j)按照如图6所示的构成球面的第0级正三角形Tr1、Tr2、...进行划分。之后,在第j+1级,将按照正三角形Tr1、Tr2、...划分后的球面小波函数值附加在相应正三角形的球面小波函数值的结尾。(参照图16)。
例如,当映射在球面上的数据是用于完全再现声场的表面信息时,包含在每个正三角形Tr1、Tr2、...中的信息是通过对球面上的声压和粒子在法线方向的速率施行球面小波变换所获得的代码(code)。也就是说,该信息是通过球面小波变换分解出的第0级的缩放系数、以及每一级的球面小波函数值(注意,N表示最高级数)。
c0d00,d01,d02d10_k,d11_k,d12_k (k=0,1,2,3)dN-10_k,dN-11_k,dN-12_k(k=0,1,2,3,…,4N-1)并且经过如上所述对每个数据执行了MDCT变换的M样本的频谱、以及这些代码连续出现。
下面说明每个正三角形Tr的数据流的格式。
下面的表达式(20)指示当最高级数为N时将要存储的信息的队列。
-声压-c0
d0[3]
d1[3][4]
d2[3][16]
d3[3][64]
dN-1[3][4N]
…(20)-法线方向的粒子速率-c0
d0[3]
d1[3][4]
d2[3][16]
d3[3][64]
dN-1[3][4N]
在上述表达式中,
指示MDCT变换后的频谱。d*[3]对应于三种类型的球面小波函数。在d1之后位于中间的队列表示划分成的三角形的标识符。
在这一步骤中,根据标识符顺序在频谱之间依次插入一次划分出的四个三角形。图17示出的例子中,根据标识符顺序在d2的频谱之间依次插入一次划分出的四个三角形。插入操作在相同的球面小波函数中执行。
通过上述操作,当对每8个数据样本进行可变长度编码时,可以利用空间频率和时间频率之间的两类相关性。通过插入由表达式(20)在d1及其之后示出的数据,并且将每四个标识符捆绑在一起所获得的队列由表达式(21)示出。在该表达式中,P指示声压,V指示粒子在法线方向的速率。
c0P
, c0V
,d0P[3]
, d0V[3]
,d1P[3]
, d1V[3]
,d2P[3][4]
, d2V[3][4]
,…(21)d3P[3][4][4]
,d3V[3][4][4]
,dN-1P[3][4]…[4]
, dN-1V[3][4]…[4]
,根据声压和粒子在法线方向的速率为每一个球面小波函数排列d*,并将其变换成表达式(22),并且,作为如图18所示的数据队列流使用。
c0[P,V]
,d00[P,V]
,d01[P,V]
,d02[P,V][4]
,d03[P,V][4][4]
,…(22)d0N-1[P,V][4]…[4]
,d10[P,V]
, d20[P,V]
,d11[P,V]
, d21[P,V]
,d12[P,V][4]
, d22[P,V][4]
,d13[P,V][4][4]
,d23[P,V][4][4]
, d1N-1[P,V][4]…[4]
, d2N-1[P,V][4]…[4]
,图18示出了流结构的具体图像,该流结构指示上述表达式(21)中的队列顺序。在图18所示的例子中,最高级数为4。而且,只说明了在第0级的一个正三角形,以及随后的20个数据样本。
在上述表达式中,[M]指示MDCT变换之后的频谱,而[4M]指示如图17所示的经过MDCT变换的频谱被插入之后的数据序列。
附加说明以上参照本发明的具体实施例对本发明进行了说明。很显然,本领域的技术人员可以在不脱离本发明的实质的情况下对上述实施例进行修改或替换。也就是说,上述本发明的说明书以举例为目的提供,不应通过狭隘的解释来理解。为了明确本发明的实质,应参照所附的本发明的权利要求书。
工业适用性本发明提供了一种优秀的数据编码器和数据编码方法,允许方便地对映射在球面上的数据进行编码;并且,本发明还提供了具有相同作用的计算机程序。
此外,本发明提供了一种优秀的数据编码器和数据编码方法,允许通过使用预定的数学模型描述映射在球面上的数据,方便地对该数据进行编码;并且,本发明还提供了具有相同作用的计算机程序。
此外,本发明提供了一种优秀的数据编码器和数据编码方法,允许通过实现局部分解和局部配送的格式,方便地对映射在球面上的数据进行编码;并且,本发明还提供了具有相同作用的计算机程序。
根据本发明的数据编码器,通过按照在球面上的位置关系对分级排列的缩放函数Φk(j)的系数ck(j)和小波函数Ψk(j)的值dk,m(j)进行重新排列,以准备数据流。
因此,利用根据本发明的数据编码,当已知再现数据所需的最低级时,通过分解到该级,能够以高效率代码执行数据编码,并且能够利用相同的概念实现从最低级开始的流结构,从而能够实现可缩放性。
此外,利用本发明的数据编码,当在原始球面上重构被编码的数据时,能够通过在下一级中与当前重构的三角形的位置相同的位置放置球面小波函数值,实现局部提取。
此外,利用本发明的数据编码,可以对将要再现的图像的不同部分设定不同等级的分辨率。例如,当放大一个人的面部时,可以只重构该部分。此外,如果不存在视觉影响,可以对全圆周图像的不同部分设定不同的分辨率。在这种情况下,在较低级的部分不需要较高级的球面小波函数值,因此可以减少数据总量。
权利要求
1.一种用于对映射在球面上的数据进行编码的数据编码器,包括数据变换装置,用于对映射在球面上的数据施行球面小波变换,以顺序地生成用于第0级的球面和第j级的球面的缩放函数Φk(j)的系数ck(j)和小波函数ψk(j)的值dk,m(j)(其中,k指示球面上的坐标值,m=1、2、3),其中,在第0级,球面被近似为正多面体,在第j级,每一个构成在第0级近似球面的多面体的一面的三角形被递归四等分(j1或更大的整数);以及数据流准备装置,用于根据在球面上的位置关系重新排列缩放函数Φk(j)的系数ck(j)和小波函数ψk(j)的值dk,m(j)。
2.如权利要求1所述的数据编码器,还包括用于对重新排列的数据流进行编码的装置。
3.如权利要求1所述的数据编码器,其中,所述数据变换装置输出映射在每个构成第0级近似球面的多面体的一面的三角形上的数据值,和每一级的球面小波函数值。
4.如权利要求3所述的数据编码器,其中,所述数据流准备装置根据球面上的坐标,将在最高到第j级的球面小波函数的值重新排列成数据流,并且,根据在球面上的坐标,划分这些数据值以提供用于插入的位置,并且进一步根据球面上的坐标划分第j+1级的球面小波函数的值,以便将这些值组合到相应的用于插入的位置。
5.如权利要求1所述的数据编码器,其中所述数据变换装置对映射在球面上的具有包含颜色和亮度在内的图像数据的图像信息施行球面小波变换,以获得第0级的缩放函数值和每一级的球面小波函数值;并且所述数据流准备装置根据在球面上的坐标,并且根据第0级的每一个近似球面的正三角形,划分各个级的球面小波函数的值;分离每一个被划分的正三角形的第0级的缩放函数的值,并且分离每一个颜色分量的每一级的球面小波函数的值;根据在预定的级的近似球面的正三角形排列被分离的值;根据颜色顺序组合这些值;并且排列每一个球面小波函数的数据。
6.如权利要求5所述的数据编码器,其中,所述数据流准备装置在相同颜色的四个数据样本在第二级或更高级出现两次的情况下,排列相同颜色的预定数目的数据样本。
7.如权利要求1所述的数据编码器,其中所述数据变换装置,对球面上的包含声压数据和与粒子在表面法线方向上的速率相关的数据在内的,并且用于再现在给定内部区域里的声场的数据,施行球面小波变换;并且所述数据流准备装置对通过球面小波变换分解得到的每一个数据施行MDCT变换,以获得M采样的频谱;根据在指定级近似球面的正三角形排列数据;在频谱之间插入数据;并且进一步排列每个球面小波函数的插入后的数据。
8.如权利要求7所述的数据编码器,其中,所述数据流准备装置排列每一个球面小波函数的球面小波函数的值,然后,根据声压和在法线方向上的粒子的速率的顺序排列该数据。
9.如权利要求2所述的数据编码器,其中,所述数据流编码装置将预定数目的数据样本作为一个宏块,对其施行可变长度编码,并且不具有首标地直接组合连续的每个具有相同比特长度的宏块。
10.如权利要求9所述的数据编码器,其中,按照从具有最大比特长度开始的递减顺序排列数据样本,并且将其彼此顺序相连。
11.如权利要求9所述的数据编码器,其中,宏块的递归值和宏块的比特长度存储在首标中。
12.如权利要求9所述的数据编码器,其中,对宏块施加缩放因子,并且缩放因子信息存储在首标中。
13.一种用于对映射在球面上的数据进行编码的数据编码方法,包括下列步骤对映射在球面上的数据施行球面小波变换,以顺序地生成用于第0级的球面和第j级的球面的缩放函数Φk(j)的系数ck(j)和小波函数ψk(j)的值dk,m(j)(其中,k指示球面上的坐标值,m=1、2、3),其中,在第0级,球面被近似为正多面体,在第j级,每一个构成在第0级近似球面的多面体的一面的三角形被递归四等分(j1或更大的整数);以及根据在球面上的位置关系重新排列缩放函数Φk(j)的系数ck(j)和小波函数ψk(j)的值dk,m(j)。
14.如权利要求13所述的数据编码方法,还包括对重新排列的数据流进行编码的步骤。
15.如权利要求13所述的数据编码方法,其中,所述数据变换步骤输出映射在每一个在第0级构成近似球面的正多面体的一面的正三角形上的数据值,以及在每一级的球面小波函数的值。
16.如权利要求15所述的数据编码方法,其中,所述数据流准备步骤,根据在球面上的坐标,将最高到第j级的球面小波函数的值重新排列成数据流,并且,根据在球面上的坐标,划分数据值以提供用于插入的位置,并且进一步根据在球面上的坐标划分第j+1级的球面小波函数的值,以便将这些值组合到相应的用于插入的位置。
17.如权利要求13所述的数据编码方法,其中所述数据变换步骤对映射在球面上的具有包含颜色和亮度在内的图像数据的图像信息施行球面小波变换,以获得第0级的缩放函数的值和每一级的球面小波函数的值;并且所述数据流准备步骤根据在球面上的坐标,并且根据第0级的每一个近似球面的正三角形,划分在各个级的球面小波函数的值;分离每一个被划分的正三角形的第0级的缩放函数的值,并且分离每一个颜色分量的每一级的球面小波函数的值;根据在预定的级的近似球面的正三角形排列被分离的值;根据颜色顺序组合这些值;并且排列每一个球面小波函数的数据。
18.如权利要求17所述的数据编码方法,其中,所述数据流准备步骤在相同颜色的四个数据样本在第二级或更高级出现两次的情况下,排列相同颜色的预定数目的数据样本。
19.如权利要求13所述的数据编码方法,其中所述数据变换步骤,对球面上的包含声压数据和与粒子在表面法线方向上的速率相关的数据在内的,并且用于再现给定内部区域里的声场的数据,施行球面小波变换;并且所述数据流准备步骤对每一个通过球面小波变换分解得到的数据施行MDCT变换,以获得M采样的频谱;根据在指定级的近似球面的正三角形排列数据;在频谱之间插入数据;并且进一步排列每个球面小波函数的插入后的数据。
20.如权利要求19所述的数据编码方法,其中,所述数据流准备步骤排列每一个球面小波函数的球面小波函数的值,然后,根据声压和在法线方向上的粒子的速率的顺序排列数据。
21.一种在计算机可读状态中描述、使得用于对映射在球面上的数据编码的处理能够在一个计算机系统中执行的计算机程序,包括下列步骤对映射在球面上的数据施行球面小波变换,以顺序地生成用于第0级的球面和第j级的球面的缩放函数Φk(j)的系数ck(j)和小波函数ψk(j)的值dk,m(j)(其中,k指示球面上的坐标值,m=1、2、3),其中,在第0级,球面被近似为正多面体,在第j级,每一个构成在第0级近似球面的多面体的一面的三角形被递归四等分(j1或更大的整数);以及根据在球面上的位置关系重新排列缩放每一级函数Φk(j)的系数ck(j)和小波函数ψk(j)的值dk,m(j)。
全文摘要
在本发明中,以能够局部分解和局部配送的格式对映射在球面上的数据进行编码。当对以全圆周图像的方式映射到球面上的数据施行球面小波变换时,输出数据以级为基础排列其缩放系数和小波函数值。当根据在球面上的位置关系重新排列Φ
文档编号H04R3/00GK1759616SQ20048000620
公开日2006年4月12日 申请日期2004年2月24日 优先权日2003年3月7日
发明者中川彰人 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1