一种全景视频八角形采样方法及装置与流程

文档序号:11655313阅读:253来源:国知局
一种全景视频八角形采样方法及装置与流程

本发明涉及一种视频编解码技术领域,特别是涉及一种全景视频八角形采样方法及装置。



背景技术:

全景视频是指空间中一个观察点四周所有的场景,由这个观察点所能接收到的所有光线构成。全景视频可以抽象成一个以观察点为中心的球面。

在用计算机处理全景视频的时候,不可避免地要对全景视频进行离散化空间采样。在对全景视频进行离散化空间采样的时候,需要保证一定的空间采样密度,以达到所需的清晰度。同时,又要考虑到计算机的存储器不适合存储球面结构的数据,需要以某种方式把采样点排列到平面上。

现有的球面采样方法,通常将球面采样过程分为三步:第一步,映射,把球面映射为平面上的一个区域;第二步,平面采样,以映射后的平面区域为基础设计采样点的分布方式;第三步,排列,把采样点排列为一个矩形。

在第一步映射的过程中,经常不是等面积映射,而且球面的不同区域在映射前后面积的比例也是不同的。第二步平面采样的过程中,经常是把采样点设计成在映射后的平面区域中均匀分布。第一步和第二步结合起来,就会造成采样点在球面上的分布不均匀。理论上,球面赤道附近的采样点数应该比两极附近采样点数多。第三步在排列时,往往不能做到内容的完整相邻,给视频编码压缩带来不利。

目前,有三种常用的球面采样方法:经纬图采样,六面体采样以及棱锥采样。

经纬图采样如图1所示,球面上任意一个点可以用所处的经度θ和纬度描述,θ∈[0,2π),于是可以将球面映射到坐标系下一个宽高比为2:1的矩形。对这个矩形进行均匀采样。经纬图采样方法虽然具有完整相邻性,但在球面的两极附近采样密度过高,会产生很大的冗余。

六面体采样如图2所示,首先将球面映射为其外切正六面体的六个面,从而得到六个平面正方形,再对六个平面正方形进行均匀采样,最终用某种方式把六个正方形拼成一个矩形。六面体采样的采样点在球面上的分布也是不均匀的,依然存在较大的冗余,并且矩形的内容也不具有完整相邻性。

棱锥采样如图3所示,首先将球面映射为一个外切正四棱锥,再将该正四棱锥的每个侧面(等腰三角形)沿底边垂线的方向进行压缩,直到顶角变成直角。这样底面和四个经过二次映射的侧面正好可以拼成一个正方形。最后对这个正方形进行均匀采样。棱锥采样的采样点在球面上的分布也是不均匀的,矩形的内容也不具有完整相邻性。其不均匀程度介于经纬图采样和六面体采样之间,冗余程度也介于经纬图采样和六面体采样之间。

综上所述,已有的全景视频采样方法的主要缺点是存在较大的采样结构冗余和最终形成的矩形不具有内容完整相邻性。采样点在球面上不均匀分布,不仅会带来采样冗余,还给视频质量评价带来不便,因为最终的采样点对应的球面面积是不同的,因此每个采样点的失真对视频质量的影响也是不同的,在计算全景视频经过某种处理,例如压缩解压缩后的质量损失时,必须考虑到每个采样点的重要性是不同的。矩形视频在内容上的不相邻性也不利于视频编码的压缩编码。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种全景视频八角形采样方法及装置,其可以使采样点在球面上的分布满足赤道附近采样点数多,两极附近采样点数很少,从而避免了采样结构冗余,使得在达到相同的空间清晰度的条件下,采样点数减少,而且,拼成的矩形具有良好的内容相邻性,能提高编码压缩效率。

为达上述及其它目的,本发明提出一种全景视频八角形采样方法,包括如下步骤:

步骤一,根据空间清晰度要求,利用纬线将球面分成n个环形曲面oi,i=0,1,...,n-1,其中,n=8k,k为整数;

步骤二,利用经线将环形曲面oi分成ti个区域,其中一条经线为0°经线,将得到的区域依次记为ai,j,j=0,1,...ti-1;

步骤三,计算步骤二得到的球面上的每一个区域ai,j内的光线的平均值,作为该区域对应的采样点的采样值si,j;

步骤四,将采样值依据相应规则排列到一个14k×6k的矩阵中。

进一步地,于步骤一中,利用等间隔的纬线将球面分成n=8k个环形曲面oi,i=0,1,...,n-1,从球心的角度观察,oi按照从上到下的顺序排列。

进一步地,于步骤二中,利用等间隔的经线将环形曲面oi(i=m或i=8k-1-m,m=0,1,2,...,4k-1)均匀地分成ti(ti=4m+2,m∈[0,k);ti=12k,m∈[k,2k);ti=2m+8k+1,m∈[2k,4k))个区域,其中一条经线为0°经线,将得到的区域依次记为ai,j,j=0,1,...ti-1,从球心的角度观察,ai,j按照东经度数增加或西经度数减少的顺序排列,其中ai,0和ai,ti-1相邻且分割线为0°经线。

进一步地,当i的值从0到4k-1增加时,oi被分割得到的区域数增加或不变;当i的值从4k到8k-1增加时,oi被分割得到的区域数减少或不变,采样点的总数为84k2

进一步地,于步骤四中,将采样值排列到一个14k×6k的矩阵中,by,x表示矩阵第y行第x列的元素,ti表示oi的区域个数,其中

by,x=si,j,当0≤y<k,0≤x<12k时,j=x+2k,i=y+k;

by,x=si,j,当0≤y<k,12k≤x<13k-y-1时,j=y+4k,i=13k-1-x;

by,x=si,j,当0≤y<k,13k-y-1≤x<13k+y+1时,j=x-5k,i=y;

by,x=si,j,当0≤y<k,13k+y+1≤x<14k时,j=12k-y-1,i=x-13k;

by,x=si,j,当k≤y<3k,0≤x<11k+y+1时,j=2k+x,i=y+k;

by,x=si,j,当k≤y<3k,11k+y+1≤x<14k时,j=3k-y-1,i=x-10k;

by,x=si,j,当3k≤y<5k,0≤x<17k-y时,j=2k+x,i=y+k;

by,x=si,j,当3k≤y<5k,17k-y≤x<14k时,j=y-3k,i=18k-1-x;

by,x=si,j,当5k≤y<6k,0≤x<12k时,j=2k+x,i=y+k;

by,x=si,j,当5k≤y<6k,12k≤x<y+7k时,j=10k-1-y,i=x-5k;

by,x=si,j,当5k≤y<6k,y+7k≤x<19k-y时,j=x-5k,i=y+2k;

by,x=si,j,当5k≤y<6k,19k-y≤x<14k时,j=6k+y,i=21k-1-x。

进一步地,该方法还包括:在存储时,首先记录n;然后将所得的所有采样点的数据按照以下顺序排成一列:(0,0),(0,1),...,(0,m0-1),(1,0),(1,1),...,(1,m1-1),...,(n-1,0),(n-1,1),...,(n-1,mn-1-1)。

进一步地,该方法还包括:在平面显示器上显示时,将所得的采样点数据排列在一个n行、2n列的矩形区域内,并将每一行编号为(i,0)的数据对齐,其他数据依次排列,矩形区域内没有填满的部分用任意数据填充。

为达到上述目的,本发明还提供一种全景视频八角形采样装置,包括:

球面分割单元,用于根据空间清晰度要求,利用纬线将球面分成n个环形曲面oi,i=0,1,...,n-1,其中,n=8k,k为整数;

环形曲面分割单元,利用经线将环形曲面oi分成ti个区域,其中一条经线为0°经线。将得到的区域依次记为ai,j,j=0,1,...ti-1;

采样值计算单元,用于计算该环形曲面分割单元得到的球面上的每一个区域ai,j内的光线的平均值,作为该区域对应的采样点的采样值si,j;

排列单元,将采样值si,j根据相应规则排列到一个14k×6k的矩阵中。

进一步地,该排列单元将采样值排列到一个14k×6k的矩阵中,by,x表示矩阵第y行第x列的元素,ti表示oi的区域个数,其中

by,x=si,j,当0≤y<k,0≤x<12k时,j=x+2k,i=y+k;

by,x=si,j,当0≤y<k,12k≤x<13k-y-1时,j=y+4k,i=13k-1-x;

by,x=si,j,当0≤y<k,13k-y-1≤x<13k+y+1时,j=x-5k,i=y;

by,x=si,j,当0≤y<k,13k+y+1≤x<14k时,j=12k-y-1,i=x-13k;

by,x=si,j,当k≤y<3k,0≤x<11k+y+1时,j=2k+x,i=y+k;

by,x=si,j,当k≤y<3k,11k+y+1≤x<14k时,j=3k-y-1,i=x-10k;

by,x=si,j,当3k≤y<5k,0≤x<17k-y时,j=2k+x,i=y+k;

by,x=si,j,当3k≤y<5k,17k-y≤x<14k时,j=y-3k,i=18k-1-x;

by,x=si,j,当5k≤y<6k,0≤x<12k时,j=2k+x,i=y+k;

by,x=si,j,当5k≤y<6k,12k≤x<y+7k时,j=10k-1-y,i=x-5k;

by,x=si,j,当5k≤y<6k,y+7k≤x<19k-y时,j=x-5k,i=y+2k;

by,x=si,j,当5k≤y<6k,19k-y≤x<14k时,j=6k+y,i=21k-1-x。

进一步地,该环形曲面分割单元利用等间隔的经线将环形曲面oi(i=m或i=8k-1-m,m=0,1,2,...,4k-1)均匀地分成ti(ti=4m+2,m∈[0,k);ti=12k,m∈[k,2k);ti=2m+8k+1,m∈[2k,4k))个区域,其中一条经线为0°经线,将得到的区域依次记为ai,j,j=0,1,...,ti-1,从球心的角度观察,ai,j按照东经度数增加或西经度数减少的顺序排列,其中ai,0和ai,ti-1相邻且分割线为0°经线。

与现有技术相比,本发明一种全景视频八角形采样方法及装置采样点在球面上的分布满足赤道附近采样点数多,两极附近采样点数很少,从而避免了采样结构冗余,使得在达到相同的空间清晰度的条件下,采样点数减少,而且,拼成的矩形具有良好的内容相邻性,能提高编码压缩效率

附图说明

图1为现有技术球面采样方法中经纬图采样的示意图;

图2为现有技术球面采样方法中六面体采样的示意图;

图3为现有技术球面采样方法中棱锥采样的实验图;

图4为本发明一种全景视频八角形采样方法的步骤流程图;

图5为本发明一种全景视频八角形采样装置的系统架构图;

图6所示为一个用分辨率为4096×2048的经纬图表示的全景视频的其中一幅图像;

图7所示为采用本发明后所得的显示图像。

图8所示为采用本发明后所得的编码图像。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图4为本发明一种全景视频八角形采样方法的步骤流程图。如图4所示,本发明一种全景视频八角形采样方法,包括如下步骤:

步骤101,根据空间清晰度要求,用等间隔的纬线将球面分成n=8k个环形曲面,n为偶数,k为整数。将得到的环形曲面依次记为oi,i=0,1,...,n-1,从球心的角度观察,oi按照从上到下的顺序排列。较佳地,n为8的倍数,为计算机处理的方便,n可以取16的倍数。

步骤102,用等间隔的经线将环形曲面oi(i=m或i=8k-1-m,m=0,1,2,...,4k-1)均匀地分成ti(ti=4m+2,m∈[0,k);ti=12k,m∈[k,2k);ti=2m+8k+1,m∈[2k,4k))个区域,其中一条经线为0°经线。将得到的区域依次记为ai,j,j=0,1,...ti-1,从球心的角度观察,ai,j按照东经度数增加或西经度数减少的顺序排列,其中ai,0和ai,ti-1相邻且分割线为0°经线。较佳地,当i的值从0到4k-1增加时,oi被分割得到的区域数增加或不变;当i的值从4k到8k-1增加时,oi被分割得到的区域数减少或不变,采样点的总数为84k2

步骤103,计算步骤102得到的球面上的每一个区域ai,j内的光线的平均值,作为该区域对应的采样点的采样值si,j。在本发明具体实施例中,采样点的编号为(i,0),(i,1)...(i,ti-1),(i=m或i=8k-1-m,m=0,1,2,...,4k-1)则(ti=4m+2,m∈[0,k);ti=12k,m∈[k,2k);ti=2m+8k+1,m∈[2k,4k))。编号为(i,0)的采样点对应的区域和编号为(i,mi-1)的采样点对应的区域是相邻的,它们的分割线是0度经线,从球心的角度观察,编号为(i,k)的采样点对应的区域在编号为(i,k+1)的采样点对应的区域的左侧。

步骤104,将采样值排列到一个14k×6k的矩阵中,by,x表示矩阵第y行第x列的元素,ti表示oi的区域个数,则

by,x=si,j。当0≤y<k,0≤x<12k时,j=x+2k,i=y+k;

by,x=si,j。当0≤y<k,12k≤x<13k-y-1时,j=y+4k,i=13k-1-x;

by,x=si,j。当0≤y<k,13k-y-1≤x<13k+y+1时,j=x-5k,i=y;

by,x=si,j。当0≤y<k,13k+y+1≤x<14k时,j=12k-y-1,i=x-13k;

by,x=si,j。当k≤y<3k,0≤x<11k+y+1时,j=2k+x,i=y+k;

by,x=si,j。当k≤y<3k,11k+y+1≤x<14k时,j=3k-y-1,i=x-10k;

by,x=si,j。当3k≤y<5k,0≤x<17k-y时,j=2k+x,i=y+k;

by,x=si,j。当3k≤y<5k,17k-y≤x<14k时,j=y-3k,i=18k-1-x;

by,x=si,j。当5k≤y<6k,0≤x<12k时,j=2k+x,i=y+k;

by,x=si,j。当5k≤y<6k,12k≤x<y+7k时,j=10k-1-y,i=x-5k;

by,x=si,j。当5k≤y<6k,y+7k≤x<19k-y时,j=x-5k,i=y+2k;

by,x=si,j。当5k≤y<6k,19k-y≤x<14k时,j=6k+y,i=21k-1-x;

较佳地,该方法还包括:在存储时,首先记录n;然后将所得的所有采样点的数据按照以下顺序排成一列:(0,0),(0,1),...,(0,m0-1),(1,0),(1,1),...,(1,m1-1),...,(n-1,0),(n-1,1),...,(n-1,mn-1-1)。

较佳地,该方法还包括:在平面显示器上显示时,将所得的采样点数据排列在一个n行、2n列的矩形区域内,并将每一行编号为(i,0)的数据对齐,其他数据依次排列,矩形区域内没有填满的部分用任意数据填充。

图5为本发明一种全景视频八角形采样装置的结构示意图。如图5所示,本发明一种全景视频八角形采样装置,包括:球面分割单元201、环形曲面分割单元202、采样值计算单元203以及排列单元204。

其中,球面分割单元201,根据空间清晰度要求,用等间隔的纬线将球面分成n=8k个环形曲面,n为偶数,k为整数。将得到的环形曲面依次记为oi,i=0,1,...,n-1,从球心的角度观察,oi按照从上到下的顺序排列;

环形曲面分割单元202,用等间隔的经线将环形曲面oi(i=m或i=8k-1-m,m=0,1,2,...,4k-1)均匀地分成ti(ti=4m+2,m∈[0,k);ti=12k,m∈[k,2k);ti=2m+8k+1,m∈[2k,4k))个区域,其中一条经线为0°经线。将得到的区域依次记为ai,j,j=0,1,...,ti-1,从球心的角度观察,ai,j按照东经度数增加或西经度数减少的顺序排列,其中ai,0和ai,ti-1相邻且分割线为0°经线;

采样值计算单元203,计算步骤二得到的球面上的每一个区域ai,j内的光线的平均值,作为该区域对应的采样点的采样值si,j。

排列单元204,将采样值排列到一个14k×6k的矩阵中,by,x表示矩阵第y行第x列的元素,ti表示oi的区域个数,则

by,x=si,j。当0≤y<k,0≤x<12k时,j=x+2k,i=y+k;

by,x=si,j。当0≤y<k,12k≤x<13k-y-1时,j=y+4k,i=13k-1-x;

by,x=si,j。当0≤y<k,13k-y-1≤x<13k+y+1时,j=x-5k,i=y;

by,x=si,j。当0≤y<k,13k+y+1≤x<14k时,j=12k-y-1,i=x-13k;

by,x=si,j。当k≤y<3k,0≤x<11k+y+1时,j=2k+x,i=y+k;

by,x=si,j。当k≤y<3k,11k+y+1≤x<14k时,j=3k-y-1,i=x-10k;

by,x=si,j。当3k≤y<5k,0≤x<17k-y时,j=2k+x,i=y+k;

by,x=si,j。当3k≤y<5k,17k-y≤x<14k时,j=y-3k,i=18k-1-x;

by,x=si,j。当5k≤y<6k,0≤x<12k时,j=2k+x,i=y+k;

by,x=si,j。当5k≤y<6k,12k≤x<y+7k时,j=10k-1-y,i=x-5k;

by,x=si,j。当5k≤y<6k,y+7k≤x<19k-y时,j=x-5k,i=y+2k;

by,x=si,j。当5k≤y<6k,19k-y≤x<14k时,j=6k+y,i=21k-1-x;

较佳地,该装置在存储时,首先记录n;然后将所得的所有采样点的数据按照以下顺序排成一列:(0,0),(0,1),...,(0,t0-1),(1,0),(1,1),...,(1,t1-1),...,(n-1,0),(n-1,1),...,(n-1,tn-1-1);在平面显示器上显示时,将所得的采样点数据排列在一个n行、2n列的矩形区域内,并将每一行编号为(i,0)的数据对齐,其他数据依次排列,矩形区域内没有填满的部分用任意数据填充。

较佳地,该装置在视频编码压缩时,需需要将每一帧的采样点数拆拼成一个6k行、14k列的矩形,具体拆拼方法如排列单元方法所述。

以下将通过具体实施例来进一步说明本发明:

实施例

如图6所示为一个用分辨率为4096×2048的经纬图表示的全景视频的其中一幅图像,在本发明具体实施例中,该全景视频为彩色视频,具有三个分量。假设所采用的颜色分量是rgb,采样后仍然用rgb表示每个采样点的颜色。假设空间清晰度的要求对三个分量是相同的,都是n=1024,k=128,量化精度要求对每个分量也是相同的,都是量化为256级。则对每个分量,重复如下步骤一到步骤四:

第一步,用等间隔的纬线将球面分成1024=2*512个环形曲面。将得到的环形曲面依次记为oi,i=0,1,...,1023,从球心的角度观察,oi按照从上到下的顺序排列;

第二步,用等间隔的经线将环形曲面oi(i=m或i=1023-m,m=0,1,2,...,511)均匀地分成ti(ti=4m+2,m∈[0,128);ti=1536,m∈[128,256);ti=2m+1025,m∈[256,512))个区域,其中一条经线为0°经线。将得到的区域依次记为ai,j,j=0,1,...ti-1,从球心的角度观察,ai,j按照东经度数增加或西经度数减少的顺序排列,其中ai,0和ai,ti-1相邻且分割线为0°经线;

第三步,计算步骤二得到的球面上的每一个区域ai,j内的光线的平均值,并进行256级量化,得到一个0到255之间的整数值,作为该区域对应的采样点的采样值,记为si,j。

第四步,将采样值排列到一个1792×768的矩阵中,by,x表示矩阵第y行第x列的元素,ti表示oi的区域个数,则

by,x=si,j。当0≤y<128,0≤x<1536时,j=x+256,i=y+128;

by,x=si,j。当0≤y<128,1536≤x<1663-y时,j=y+512,i=1663-x;

by,x=si,j。当0≤y<128,1663-y≤x<1665+y时,j=x-640,i=y;

by,x=si,j。当0≤y<128,1665+y≤x<1792时,j=1535-y,i=x-1664;

by,x=si,j。当128≤y<384,0≤x<1409+y时,j=256+x,i=y+128;

by,x=si,j。当128≤y<384,1409+y≤x<1792时,j=383-y,i=x-1280;

by,x=si,j。当384≤y<640,0≤x<2176-y时,j=256+x,i=y+128;

by,x=si,j。当384≤y<640,2176-y≤x<1792时,j=y-384,i=2303-x;

by,x=si,j。当640≤y<768,0≤x<1536时,j=256+x,i=y+128;

by,x=si,j。当640≤y<768,1536≤x<y+896时,j=1279-y,i=x-640;

by,x=si,j。当640≤y<768,y+896≤x<2432-y时,j=x-640,i=y+256;

by,x=si,j。当640≤y<768,2432-y≤x<1792时,j=768+y,i=2687-x;

在存储时,首先记录每个分量采样的行数1024。然后将所得的所有采样点的数据按照以下顺序排成一列:(0,0),(0,1),...(0,t0-1),(1,0),(1,1),...(1,t1-1),...(1023,0),(1023,1),...(1023,t1023-1)。同一个采样点的三个分量按照b,g,r的顺序排列。

在平面显示器上显示时,可以将所得的采样点排列在一个1024行、2048列的矩形区域内,并将每一行编号为(i,0)的数据放在每一行的第1024个位置,编号为(i,k),k=1..ti/2,的采样点的数据放在第i行第1024+k个位置,编号为(i,ti-k),k=1..ti/2-1,的采样点的数据放在第i行第1024-k个位置。矩形区域内没有填满的部分用255填充,所得图像如图7所示

在压缩编码时,需要将每一帧的采样点数拆拼成一个768行、1792列的矩形,具体拆拼方法如排列单元所示,所得图像如图8所示。

综上所述,本发明一种全景视频八角形采样方法及装置采样点在球面上的分布满足赤道附近采样点数多,两极附近采样点数很少,从而避免了采样结构冗余,使得在达到相同的空间清晰度的条件下,采样点数减少,而且,拼成的矩形具有良好的内容相邻性,能提高编码压缩效率。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1