CN102831597B - 一种虚拟视像素生成方法、装置以及对应的码流 - Google Patents
一种虚拟视像素生成方法、装置以及对应的码流 Download PDFInfo
- Publication number
- CN102831597B CN102831597B CN201210237792.5A CN201210237792A CN102831597B CN 102831597 B CN102831597 B CN 102831597B CN 201210237792 A CN201210237792 A CN 201210237792A CN 102831597 B CN102831597 B CN 102831597B
- Authority
- CN
- China
- Prior art keywords
- pixel
- ppa
- ppb
- coordinate
- ratio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种虚拟视像素生成方法、装置以及对应的码流,本发明针对具有不同深度变化强度的区域在进行虚拟视图像生成过程中采取不同的处理方法:当被投影的两个像素点各自对应的深度值之间的差值较小时,使得这两个像素点在虚拟视中的投影坐标之间的像素点的像素值变化趋势与被投影的两个像素点之间的像素点的像素值变化趋势相似;当被投影的两个像素点各自对应的深度值之间的差值较大时,使得图像的边界区域的虚拟式生成质量更佳,本发明可以提高虚拟视图像的质量,当应用于视频编码时,可以提高整体编码效率。
Description
技术领域
本发明涉及多媒体通信领域,尤其涉及一种虚拟视像素生成方法、装置以及对应的码流。
背景技术
现有虚拟视像素生成方法:
目前的一个视点(视点2)中的两个像素点pA与pB投影至另一个视点(视点1)后得到像素点pA’与pB’,像素点pA’的像素值等于像素点pA的像素值,像素点pB’的像素值等于像素点pB的像素值。如果像素点pA’与pB’之间还有像素点未被投影或者未被赋值过,则这些像素点用pA或者pB的像素值来赋值:当pA对应的到摄像机的距离大于pB对应的到摄像机的距离时,pA’与pB’之间的像素点用pA的像素值来赋值;否则,pA’与pB’之间的像素点用pB的像素值来赋值(如图1所示)。
上述的虚拟视像素生成方法未考虑被投影的两个像素点pA与pB对应的深度值差别对虚拟视像素生成质量的影响:
当pA与pB对应的深度值差别较小时,pA与pB之间的像素点对应的深度理论上应当是渐变的,因此pA’与pB’之间的像素点的深度也是渐变的,同时pA’与pB’之间像素点的像素值的变化趋势也应当和pA与pB之间像素点的像素值的变化趋势相似;
当pA与pB对应的深度值差别较大时,假设pA与pB这两个像素点中pB对应的物体上的点在拍摄时更加靠近摄像机(前景物体的点),那么经过投影之后,pA’与pB’之间的像素点中较靠近pB’的像素点有很大的概率是属于前景物体的,因此应当将pB的像素值赋值给这个靠近pB’的像素点。
发明内容
本发明的目的在于针对现有技术的不足,提供一种虚拟视像素生成方法、装置以及对应的码流。
本发明的目的是通过以下技术方案来实现的:一种虚拟视像素生成方法,对一个视点中间隔U个像素点的两个像素点pA与pB,利用pA与pB的深度值计算pA和pB在虚拟视点中的投影坐标ppA’与ppB’,其中U为非负整数;当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,对由ppA’和ppB’构成的闭区间中的所有像素点中的任意一个像素点pC’,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述pC为在所述的从pA到pB的U+2个像素点中使得|pCpA|与|pApB|的比例S1和|pC’ppA’|与|ppA’ppB’|的比例S2最接近或次最接近的像素点,其中|pCpA|表示pC与pA之间的距离,|pApB|表示pA与pB之间的距离,|pC’ppA’|表示pC’与ppA'之间的距离,|ppA’ppB’|表示ppA'与ppB’之间的距离;当pA对应的深度值与pB对应的深度值的差值大于等于阈值T1时,将pB的像素值赋值给由ppA’和ppB’构成的闭区间中与坐标ppB’的距离小于阈值T2的像素点,将pA的像素值赋值给由ppA'和ppB’构成的闭区间中的其余像素点的像素值。
一种虚拟视像素生成装置,包含投影坐标计算模块、像素点选择模块和像素点赋值模块:
所述的投影坐标计算模块输入像素点pA、像素点pB、pA对应的深度值与pB对应的深度值,利用pA与pB的深度值计算像素点pA与pB在虚拟视点中的投影坐标ppA'与ppB’,输出坐标ppA’与ppB’至像素点导出模块;
所述的像素点导出模块输入从像素点pA到pB的U+2个像素点、pA对应的深度值与pB对应的深度值、阈值T1与T2、像素点pC’的坐标ppC’、来自投影坐标计算模块的坐标ppA'与ppB’;当pA对应的深度值与pB对应的深度值的差值小于T1时,在从pA到pB的U+2个像素点中选择一个像素点pC,所述pC为在所述的从pA到pB的U+2个像素点中使得|pCpA|与|pApB|的比例S1和|ppC’ppA’|与|p pA’ppB’|的比例S2最接近或次最接近的像素点,其中U为非负整数,|pCpA|表示pC与pA之间的距离,|pApB|表示pA与pB之间的距离,|ppC’ppA’|表示ppC’与ppA'之间的距离,|ppA’ppB’|表示p pA'与ppB’之间的距离;当pA对应的深度值与pB对应的深度值的差值大于等于T1时:若ppC’与ppB’的距离小于T2,则令pC等于pB;否则,令pC等于pA,输出像素点pC至像素点赋值模块;
所述的像素点赋值模块输入像素点pC’、来自像素点导出模块的pC,并将pC的像素值赋值给pC’的像素值,输出像素点pC’。
一种视频码流,码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点中间隔U个像素点的两个像素点pA与pB,利用pA与pB的深度值计算pA和pB在虚拟视点中的投影坐标ppA’与ppB’,其中U为非负整数;当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,对由ppA’和ppB’构成的闭区间中的所有像素点中的任意一个像素点pC’,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述pC为在所述的从pA到pB的U+2个像素点中使得|pCpA|与|pApB|的比例S1和|pC’ppA’|与|ppA’ppB’|的比例S2最接近或次最接近的像素点,其中|pCpA|表示pC与pA之间的距离,|pApB|表示pA与pB之间的距离,|pC’ppA’|表示pC’与ppA’之间的距离,|ppA’ppB’|表示ppA’与ppB’之间的距离;当pA对应的深度值与pB对应的深度值的差值大于等于阈值T1时,将pB的像素值赋值给由ppA’和ppB’构成的闭区间中与坐标ppB’的距离小于阈值T2的像素点,将pA的像素值赋值给由ppA’和ppB’构成的闭区间中的其余像素点的像素值。
本发明与现有技术相比,有益效果是:针对具有不同深度变化强度的区域在进行虚拟视图像生成过程中采取不同的处理方法。当两个被投影点之间的深度变化较小时,本发明使得投影后的两个点之间的像素值与原始视点被投影的两个点之间的像素值变化趋势相似;当两个被投影点之间的深度变化较大时,本发明改善了投影后的虚拟视图像的纹理边界区域的图像质量。
当pA与pB对应的深度值差别较小时,pA与pB之间的像素点对应的深度理论上应当是渐变的,因此pA’与pB’之间的像素点的深度也是渐变的,同时pA’与pB’之间像素点的像素值的变化趋势也应当和pA与pB之间像素点的像素值的变化趋势相似;
当pA与pB对应的深度值差别较大时,假设pA与pB这两个像素点中pB对应的物体上的点在拍摄时更加靠近摄像机(前景物体的点),那么经过投影之后,pA’与pB’之间的像素点中较靠近pB’的像素点有很大的概率是属于前景物体的,因此应当将pB的像素值赋值给这个靠近pB’的像素点。
通过以上的处理,可以提高虚拟视图像的生成质量。
附图说明
图1为普通的虚拟视像素生成方法示意图;
图2为实施例8、实施例9所述的虚拟视像素生成装置的示意图;
图3为实施例10、实施例11所述的虚拟视像素生成装置的示意图;
图4为实施例12、实施例13所述的虚拟视像素生成装置的示意图;
图5为实施例14所述的虚拟视像素生成装置的示意图。
具体实施方式
下面首先定义一些名词:
投影坐标计算:
现有一个视点(视点2)中的一个像素点pA以及该像素点对应的深度值,为了计算pA在另一个视点(虚拟视点1)中的投影坐标ppA’,可以利用pA在视点2中的位置信息、pA对应的深度信息、两个视点(视点1与视点2)的摄像机参数等信息,根据pA在空间中的位置等信息计算得到投影至视点1中的投影坐标。投影坐标的值通常是经过量化的,即投影坐标的值是1/t的整数倍。深度值:
一个像素点对应的深度值表示的可以是该点对应的物理空间中物体上的那一点与摄像机之间的距离,也可以是经过转换的中间参数,如该像素点相对于一个视点的视差值(disparity)、深度级(depth level)等。
视差值(disparity)一般可以通过如下公式转换得到:
disp——视差(disparity),
f——摄像机焦距,
z——图像中像素点对应的点与摄像机的真实距离,
tv-tr——表征的是两台摄像机之间的平移关系,
cv-cr——表征的是两台摄像机之间基准点位置的差值,
深度级(depth level)一般可以通过如下公式转换得到:
d——深度级
z——图像中像素点对应的点与摄像机的真实距离
znear,zfar——当前图像中z的最大最小值
bitdepth——用于表示深度级的数据位宽
像素点:
一个像素点包含它的像素值、它的坐标等信息。
残差、预测图像:
在编码端,通过预测编码得到的预测图像与被编码的原始图像相减就可以得到残差图像,残差图像变化、量化等过程后被编入码流;在解码端,通过对残差的解码、反量化、反变换等过程可以得到残差图像,再将之与解码端的预测编码得到的预测图像相加就可以得到解码图像。像素值:
本发明中所述的像素值包含亮度值、色度值、RGB值、深度值等中的一种或多种。
投影坐标:
本发明中所述的投影坐标ppA’与ppB’的水平分量的值可以是1/t的整数倍,其中t为正实数,例如t=4或者t=2或者t=1或者t=0.5;ppA’与ppB’的水平分量的值也可以是未经量化的数值。
本发明中所述的像素点pX是从pA到pB的U+2个像素点中的一个像素点,X是大于等于0且小于等于U+1的非负整数;X=0时,pX代表pA;X=U+1时,pX代表pB;0<X<U+1时,pX代表的是从pA到pB按照像素点坐标的水平分量值的大小顺序排列的第X个像素点。记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),pX1的坐标值(X1=Y)为(XpX1,Y2),pX2的坐标值(X2=Y+1)为(XpX2,Y2);当XpA<XpB时,XpA<XpX1<XpX2<XpB;当XpA>XpB时,XpA>XpX1>XpX2>XpB。
下面根据附图和实施例详细描述本发明,本发明的目的和效果将变得更加明显。
实施例1
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值记为(XpC',Y1),当pA对应的深度值dpA与pB对应的深度值dpB的差值|dpA-dpB|小于阈值T1时,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述的pC满足以下条件:记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例pC为所述的U+2个像素点中使得其对应的S1X最接近S2的像素点。
当pA对应的深度值dpA与pB对应的深度值dpB的差值|dpA-dpB|大于等于T1时:如果pC’与ppB’的距离|XpC'–XppB’|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’–XppB'|大于等于T2,则将pA的像素值赋值给pC’的像素值。
T1的取值为视点1与视点2之间的最大视差值与最小视差值的差值绝对值的K倍,K的取值为3/256或者5/256或者3/128或者5/128等值。
T2的取值为3/8或者1/4或者1/2等值。
实施例2
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值记为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述的pC满足以下条件:记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例pC为所述的U+2个像素点中使得其对应的S1X与S2的接近程度排名第二的像素点(仅次于最接近S2的比例对应的像素点)。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’-XppB’|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’-XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例3
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC’,Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例逐一计算从pA到pB的U+2个像素点各自对应的比例S1X并比较S1X与S2的接近程度,将令的S1X对应的像素点pX确定为pC,将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’-XppB’|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’-XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例4
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2)。利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA',Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC'-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例逐一计算从pA到pB的U+2个像素点各自对应的比例S1X并比较S1X与S2的接近程度,将所有像素点按对应比例与S2的接近程度排序,将所述的U+2个像素点中排名第二的像素点确定为pC。将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例5
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例在pA与pB之间的坐标ppC的坐标值为(XppC,Y2),且XppC=XpA+S2*(XpB-XpA)。记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2)。逐一比较所述的U+2个像素点与坐标ppC的接近程度,将令的像素点pX确定为pC,将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'–XppB'|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例6
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记pC’与ppA’之间的距离|pC’ppA’|=|XpC'-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例在pA与pB之间的坐标ppC的坐标值为(XppC,Y2),且XppC=XpA+S2*(XpB-XpA)。记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2)。逐一比较所述的U+2个像素点与坐标ppC的接近程度,将所有像素点按其余ppC的接近程度排序,将所述的U+2个像素点中排名第二的像素点确定为pC。将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例7
一种虚拟视像素生成方法,对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2)。利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1且从pA到pB的U+2个像素点为等间距分布时:记从pA到pB的U+2个像素点中的第X个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),其中记pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB'|,|pC’ppA’|与|ppA’ppB’|的比例将从pA到pB的U+2个像素点中的第V个像素点确定为pC,其中V=[S2*(U+1)+0.5]。将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC'–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'-XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
本实施例中符号”[x]”表示对符号中的变量x取整。
实施例8
一种虚拟视像素生成装置(如图2所示),包含投影坐标计算模块、像素点导出模块和像素点赋值模块:
投影坐标计算模块输入像素点pA、像素点pB、pA对应的深度值与pB对应的深度值,利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1),输出坐标ppA’与ppB’至像素点导出模块。
像素点导出模块输入从像素点pA到pB的U+2个像素点、pA对应的深度值与pB对应的深度值、阈值T1与T2、像素点pC’的坐标ppC’(坐标值为(XppC’,Y1))、来自投影坐标计算模块的坐标ppA’(坐标值为(XppA’,Y1))与ppB’(坐标值为(XppB',Y1)),其中U为非负整数;
当pA对应的深度值与pB对应的深度值的差值小于T1时,在从pA到pB的U+2个像素点中选择一个像素点pC;所述的pC满足以下条件:记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例pC为所述的U+2个像素点中使得其对应的S1X最接近S2的像素点;
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:若ppC’与ppB’的距离|ppC’ppB’|=|XppC’-XppB’|小于T2,则将pB确定为pC;否则,将pA确定为pC;
输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自像素点导出模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
实施例9
一种虚拟视像素生成装置(如图2所示),包含投影坐标计算模块、像素点导出模块和像素点赋值模块:
投影坐标计算模块输入像素点pA、像素点pB、pA对应的深度值与pB对应的深度值,利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1),输出坐标ppA’与ppB’至像素点导出模块。
像素点导出模块输入从像素点pA到pB的U+2个像素点、pA对应的深度值与pB对应的深度值、阈值T1与T2、像素点pC’的坐标ppC’(坐标值为(XppC’,Y1))、来自投影坐标计算模块的坐标ppA’(坐标值为(XppA’,Y1))与ppB’(坐标值为(XppB',Y1)),其中U为非负整数;
当pA对应的深度值与pB对应的深度值的差值小于T1时,在从pA到pB的U+2个像素点中选择一个像素点pC;所述的pC满足以下条件:记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例pC为所述的U+2个像素点中使得其对应的S1X与S2的接近程度排名第二的像素点(仅次于最接近S2的比例对应的像素点);
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:若ppC’与ppB’的距离|ppC’ppB’|=|XppC’-XppB’|小于T2,则令pC等于pB;否则,令pC等于pA;
输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自像素点导出模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
实施例10
一种虚拟视像素生成装置(如图3所示),包含投影坐标计算模块、比例计算模块、比例比较模块、像素点选择模块和像素点赋值模块:
投影坐标计算模块输入像素点pA与pB,pA对应的深度值与pB对应的深度值,为利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA',Y1),ppB’的坐标值为(XppB’,Y1),输出坐标ppA’与ppB’至比例计算模块。
比例计算模块,输入从像素点pA到pB的U+2个像素点、像素点pC’的坐标ppC’和来自投影坐标计算模块的坐标ppA’与ppB’,其中U为非负整数,记从pA到pB的U+2个像素点中的任意一个像素点pX的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即 逐一计算从pA到pB的U+2个像素点各自对应的比例;记ppC’的坐标值为(XppC',Y1),ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例输出从pA到pB的U+2个像素点各自对应的比例、比例S2至比例比较模块。
比例比较模块,输入从pA到pB的U+2个像素点、来自比例计算模块的从pA到pB的U+2个像素点各自对应的比例和比例S2,逐一比较从pA到pB的U+2个像素点中任意像素点对应的比例S1X与S2的接近程度,将所有所述的U+2个像素点中对应比例使得的S1X对应的像素点pX确定为pD,输出像素点pD至像素点选择模块。
像素点选择模块,输入像素点pA、像素点pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自比例比较模块的像素点pD,当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为像素点pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC;输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自像素点选择模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
实施例11
一种虚拟视像素生成装置(如图3所示),包含投影坐标计算模块、比例计算模块、比例比较模块、像素点选择模块和像素点赋值模块:
投影坐标计算模块输入像素点pA、像素点pB,pA对应的深度值与pB对应的深度值,利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1),输出坐标ppA’与ppB’至比例计算模块。
比例计算模块,输入从像素点pA到pB的U+2个像素点、像素点pC’的坐标ppC’和来自投影坐标计算模块的坐标ppA’与ppB’,其中U为非负整数;记从pA到pB的U+2个像素点中的任意一个像素点pX的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即 逐一计算从pA到pB的U+2个像素点各自对应的比例;记ppC’的坐标值为(XppC’,Y1),ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例输出从pA到pB的U+2个像素点各自对应的比例、比例S2至比例比较模块。
比例比较模块,输入从pA到pB的U+2个像素点、来自比例计算模块的从pA到pB的U+2个像素点各自对应的比例和比例S2,逐一比较从pA到pB的U+2个像素点中任意像素点对应的比例S1X与S2的接近程度,将所有像素点按对应比例与S2的接近程度排序,其中对应比例与S2最接近的像素点排在第一,将所述的U+2个像素点中排名第二的像素点确定为像素点pD,输出像素点pD至像素点选择模块。
像素点选择模块,输入像素点pA和pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自比例比较模块的像素点pD,当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为像素点pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC;输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自像素点选择模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
实施例12
一种虚拟视像素生成装置(如图4所示),包含投影坐标计算模块、比例、坐标计算模块、坐标比较模块、像素点选择模块和像素点赋值模块:
投影坐标计算模块输入像素点pA与pB,pA对应的深度值与pB对应的深度值,利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1),输出坐标ppA’与ppB’至比例、坐标计算模块。
比例、坐标计算模块,输入像素点pC’的坐标ppC’、像素点pA和pB、来自投影坐标计算模块的坐标ppA’与ppB’,记坐标ppC’的坐标值为(XppC’,Y1),计算得到比例S2,ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例计算得到坐标ppC,记ppC的坐标值为(XppC,Y2),XppC=XpA+S2*(XpB-XpA),输出坐标ppC至坐标比较模块。
坐标比较模块,输入从pA到pB的U+2个像素点、来自比例、坐标计算模块的坐标ppC,其中U为非负整数,记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),逐一计算pX与ppC的距离值即|XpX-XppC|,将所有所述的U+2个像素点中令距离值|XpX-XppC|最小的像素点确定为像素点pD,输出像素点pD至像素点选择模块。
像素点选择模块,输入像素点pA和pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自坐标比较模块的像素点pD,当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为像素点pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC;输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自像素点选择模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
实施例13
一种虚拟视像素生成装置(如图4所示),包含投影坐标计算模块、比例、坐标计算模块、坐标比较模块、像素点选择模块和像素点赋值模块:
投影坐标计算模块输入像素点pA与pB,pA对应的深度值与pB对应的深度值,利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1),输出坐标ppA’与ppB’至比例、坐标计算模块。
比例、坐标计算模块,输入像素点pC’的坐标ppC’、像素点pA和pB、来自投影坐标计算模块的坐标ppA’与ppB’,记坐标ppC’的坐标值为(XppC’,Y1),计算得到比例S2,ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例计算得到坐标ppC,记ppC的坐标值为(XppC,Y2),XppC=XpA+S2*(XpB-XpA),输出坐标ppC至坐标比较模块。
坐标比较模块,输入从pA到pB的U+2个像素点、来自比例、坐标计算模块的坐标ppC,其中U为非负整数,记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),逐一计算pX与ppC的距离值即|XpX-XppC|,将所有像素点按其与ppC的距离值大小排序,与ppC最接近的像素点排名第一,将排名第二的像素点确定为像素点pD,输出像素点pD至像素点选择模块。
像素点选择模块,输入像素点pA和pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自坐标比较模块的像素点pD,当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为像素点pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC;输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自像素点选择模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
实施例14
一种虚拟视像素生成装置(如图5所示),包含投影坐标计算模块、比例计算模块、第一像素点选择模块、第二像素点选择模块和像素点赋值模块:
投影坐标计算模块输入像素点pA与pB,pA对应的深度值与pB对应的深度值,利用pA对应的深度值和pB对应的深度值等信息计算像素点pA与pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,记pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1),输出坐标ppA’与ppB’至比例计算模块。
比例计算模块,输入像素点pC’的坐标ppC’、来自投影坐标计算模块的坐标ppA’与ppB’,计算得到比例S2,记ppC’的坐标值为(XppC’,Y1),ppC’与ppA’之间的距离|ppC’ppA’|=|XppC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|ppC’ppA’|与|ppA’ppB’|的比例输出比例S2至第一像素点选择模块。
第一像素点选择模块,输入从pA到pB的U+2个像素点、来自比例计算模块的比例S2,其中U为非负整数,计算得到索引值V,其中V=[S2*(U+1)+0.5],并将从pA到pB的U+2个像素点中的第V个像素点确定为像素点pD,其中第V个像素点的坐标为输出像素点pD至第二像素点选择模块。
第二像素点选择模块,输入像素点pA和pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自第一像素点选择模块的像素点pD,当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为像素点pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC,输出像素点pC至像素点赋值模块。
像素点赋值模块输入像素点pC’、来自第二像素点选择模块的像素点pC,将pC的像素值赋值给pC’的像素值并输出像素点pC’。
本实施例中符号”[x]”表示对符号中的变量x取整。
实施例15
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值记为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述的pC满足以下条件:记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例pC为所述的U+2个像素点中使得其对应的S1X最接近S2的像素点。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'-XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
T1的取值为视点1与视点2之间的最大视差值与最小视差值的差值绝对值的K倍,K的取值为3/256或者5/256等值。
T2的取值为3/8或者1/4或者1/2等值。
实施例16
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’与ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值记为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述的pC满足以下条件:记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC'-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB'|,|pC’ppA’|与|ppA’ppB’|的比例pC为所述的U+2个像素点中使得其对应的S1X与S2的接近程度排名第二的像素点(仅次于最接近S2的比例对应的像素点)。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB’|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例17
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例逐一计算从pA到pB的U+2个像素点各自对应的比例S1X并比较S1X与S2的接近程度,将令的S1X对应的像素点pX确定为pC,将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB’|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例18
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2)。利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),pX与pA的距离|pXpA|=|XpX-XpA|,pA与pB的距离|pApB|=|XpA-XpB|,pX对应的比例S1X为|pXpA|与|pApB|的比例,即而pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例逐一计算从pA到pB的U+2个像素点各自对应的比例S1X并比较S1X与S2的接近程度,将所有像素点按对应比例与S2的接近程度排序,将所述的U+2个像素点中排名第二的像素点确定为pC。将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例19
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记pC’与ppA’之间的距离|pC’ppA’|=|XpC'-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例在pA与pB之间的坐标ppC的坐标值为(XppC,Y2),且XppC=XpA+S2*(XpB-XpA)。记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2)。逐一比较所述的U+2个像素点与坐标ppC的接近程度,将令的像素点pX确定为pC,将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例20
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2),利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB',Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,记pC’与ppA’之间的距离|pC’ppA’|=|XpC'-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例在pA与pB之间的坐标ppC的坐标值为(XppC,Y2),且XppC=XpA+S2*(XpB-XpA)。记从pA到pB的U+2个像素点中任意一个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2)。逐一比较所述的U+2个像素点与坐标ppC的接近程度,将所有像素点按其余ppC的接近程度排序,将所述的U+2个像素点中排名第二的像素点确定为pC。将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC'–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC'–XppB’|大于等于T2,则将pA的像素值赋值给pC’的像素值。
实施例21
一种视频码流,该码流中包含预测编码得到的预测残差,所述的预测残差为重建图像与预测图像的差值,所述的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点(视点2)中间隔U(非负整数)个像素点的两个像素点pA与pB,pA的坐标值为(XpA,Y2),pB的坐标值为(XpB,Y2)。利用pA对应的深度值和pB对应的深度值等信息计算pA和pB在虚拟视点(视点1)中的投影坐标ppA’和ppB’,ppA’的坐标值为(XppA’,Y1),ppB’的坐标值为(XppB’,Y1)。由ppA’和ppB’构成的闭区间中所有像素点使用如下方法获得像素值,对所述的所有像素点中的任意一个像素点pC’:
pC’的坐标值为(XpC',Y1),当pA对应的深度值与pB对应的深度值的差值小于阈值T1且从pA到pB的U+2个像素点为等间距分布时:记从pA到pB的U+2个像素点中的第X个像素点pX(0≤X≤U+1)的坐标值为(XpX,Y2),其中记pC’与ppA’之间的距离|pC’ppA’|=|XpC’-XppA’|,ppA’与ppB’之间的距离|ppA’ppB’|=|XppA’-XppB’|,|pC’ppA’|与|ppA’ppB’|的比例将从pA到pB的U+2个像素点中的第V个像素点确定为pC,其中V=[S2*(U+1)+0.5]。将pC的像素值赋值给pC’的像素值。
当pA对应的深度值与pB对应的深度值的差值大于等于T1时:如果pC’与ppB’的距离|XpC’–XppB'|小于阈值T2,则将pB的像素值赋值给pC’的像素值;如果pC’与ppB’的距离|XpC’–XppB'|大于等于T2,则将pA的像素值赋值给pC’的像素值。
本实施例中符号”[x]”表示对符号中的变量x取整。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (10)
1.一种虚拟视像素生成方法,其特征在于:对一个视点中间隔U个像素点的两个像素点pA与pB,利用pA与pB的深度值计算pA和pB在虚拟视点中的投影坐标ppA’与ppB’,其中U为非负整数;当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,对由ppA’和ppB’构成的闭区间中的所有像素点中的任意一个像素点pC’,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述pC为在所述的从pA到pB的U+2个像素点中使得|pCpA|与|pApB|的比例S1和|pC’ppA’|与|ppA’ppB’|的比例S2最接近或次最接近的像素点,其中|pCpA|表示pC与pA之间的距离,|pApB|表示pA与pB之间的距离,|pC’ppA’|表示pC’与ppA’之间的距离,|ppA’ppB’|表示ppA’与ppB’之间的距离;当pA对应的深度值与pB对应的深度值的差值大于等于阈值T1时,将pB的像素值赋值给由ppA’和ppB’构成的闭区间中与坐标ppB’的距离小于阈值T2的像素点,将pA的像素值赋值给由ppA’和ppB’构成的闭区间中的其余像素点的像素值。
2.如权利要求1所述的一种虚拟视像素生成方法,其特征在于:其所述的在从pA到pB的U+2个像素点中选择一个像素点pC为以下方法之一:
(a)计算从pA到pB的U+2个像素点中任意像素点pX对应的比例S1X,所述的S1X为|pXpA|与|pApB|的比例;比较所有所述的U+2个像素点各自对应的S1X与比例S2的接近程度,将所有所述的U+2个像素点各自对应的比例中与S2最接近或次最接近的比例S1对应的像素点确定为pC;
(b)按比例S2在pA与pB之间确定坐标ppC,所述的ppC与pA的距离|pAppC|为比例S2与|pApB|的乘积,比较所有从pA到pB的U+2个像素点与ppC的接近程度,将所有所述的U+2个像素点中与ppC最接近或次最接近的像素点确定为pC。
3.如权利要求1所述的一种虚拟视像素生成方法,其特征在于:当所述的U+2个像素点为等间距分布时,其所述的在从pA到pB的U+2个像素点中选择一个像素点pC为:令pC等于从pA到pB的U+2个像素点中的第V像素点,其中0≤V≤U+1,V= 。
4.一种虚拟视像素生成装置,其特征在于,包含投影坐标计算模块、像素点选择模块和像素点赋值模块:
所述的投影坐标计算模块输入像素点pA、像素点pB、pA对应的深度值与pB对应的深度值,利用pA与pB的深度值计算像素点pA与pB在虚拟视点中的投影坐标ppA’与ppB’,输出坐标ppA’与ppB’至像素点导出模块;
所述的像素点导出模块输入从像素点pA到pB的U+2个像素点、pA对应的深度值与pB对应的深度值、阈值T1与T2、像素点pC’的坐标ppC’、来自投影坐标计算模块的坐标ppA’与ppB’;当pA对应的深度值与pB对应的深度值的差值小于T1时,在从pA到pB的U+2个像素点中选择一个像素点pC,所述pC为在所述的从pA到pB的U+2个像素点中使得|pCpA|与|pApB|的比例S1和|ppC’ppA’|与|ppA’ppB’|的比例S2最接近或次最接近的像素点,其中U为非负整数,|pCpA|表示pC与pA之间的距离,|pApB|表示pA与pB之间的距离,|ppC’ppA’|表示ppC’与ppA’之间的距离,|ppA’ppB’|表示ppA’与ppB’之间的距离;当pA对应的深度值与pB对应的深度值的差值大于等于T1时:若ppC’与ppB’的距离小于T2,则令pC等于pB;否则,令pC等于pA,输出像素点pC至像素点赋值模块;
所述的像素点赋值模块输入像素点pC’、来自像素点导出模块的pC,并将pC的像素值赋值给pC’的像素值,输出像素点pC’。
5.如权利要求4所述的一种虚拟视像素生成装置,其特征在于:所述的像素点导出模块包含:
一比例计算模块,输入从像素点pA到pB的U+2个像素点、像素点pC’的坐标ppC’和来自投影坐标计算模块的坐标ppA’与ppB’;逐一计算得到所述的U+2个像素点各自对应的比例,记从pA到pB的U+2个像素点中的任意一个像素点为pX,其中pX对应的比例S1X为|pXpA|与|pApB|的比例,|pXpA|表示pX与pA的距离,|pApB|表示pA与pB的距离;计算得到比例S2,其中S2为|ppC’ppA’|与|ppA’ppB’|的比例,|ppC’ppA’|表示ppC’与ppA’的距离,|ppA’ppB’|表示ppA’与ppB’的距离,输出从pA到pB的U+2个像素点各自对应的比例、比例S2至比例比较模块;
一比例比较模块,输入从pA到pB的U+2个像素点、来自比例计算模块的从pA到pB的U+2个像素点各自对应的比例和比例S2;记从pA到pB的U+2个像素点中任意像素点对应的比例为S1X,逐一比较S1X与S2的接近程度,将所有所述的U+2个像素点各自对应的比例中与S2最接近或次最接近的比例对应的像素点确定为pD,输出像素点pD至像素点选择模块;和
一像素点选择模块,输入像素点pA、像素点pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自比例比较模块的像素点pD;当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC,输出像素点pC至像素点赋值模块。
6.如权利要求4所述的一种虚拟视像素生成装置,其特征在于:所述的像素点导出模块包括:
一比例、坐标计算模块,输入像素点pC’的坐标ppC’、像素点pA、像素点pB、来自投影坐标计算模块的坐标ppA’与ppB’;计算得到比例S2,其中S2为|ppC’ppA’|与|ppA’ppB’|的比例,|ppC’ppA’|表示ppC’与ppA’的距离,|ppA’ppB’|表示ppA’与ppB’的距离;计算得到坐标ppC,其中ppC与pA的距离|ppCpA|为S2与|pApB|的乘积,其中|pApB|表示pA与pB的距离,输出坐标ppC至坐标比较模块;
一坐标比较模块,输入从pA到pB的U+2个像素点、来自比例、坐标计算模块的坐标ppC;逐一比较从pA到pB的U+2个像素点中任意像素点与ppC的接近程度,将所有所述的U+2个像素点中与ppC最接近或次最接近的像素点确定为pD,输出像素点pD至像素点选择模块;和
一像素点选择模块,输入像素点pA、像素点pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自坐标比较模块的像素点pD;当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC,输出像素点pC至像素点赋值模块。
7.如权利要求4所述的一种虚拟视像素生成装置,其特征在于:所述的像素点导出模块包括:
一比例计算模块,输入像素点pC’的坐标ppC’、来自投影坐标计算模块的坐标ppA’与ppB’;计算得到比例S2,其中S2为|ppC’ppA’|与|ppA’ppB’|的比例,|ppC’ppA’|表示ppC’与ppA’的距离,|ppA’ppB’|表示ppA’与ppB’的距离,输出比例S2至第一像素点选择模块;
一第一像素点选择模块,输入为从pA到pB的U+2个像素点、来自比例计算模块的比例S2;计算得到索引值V,其中V=,并将从pA到pB的U+2个像素点中的第V个像素点确定为pD,输出像素点pD至第二像素点选择模块;和
一第二像素点选择模块,输入为像素点pA、像素点pB、像素点pA对应的深度值与像素点pB对应的深度值、阈值T1和T2、来自第一像素点选择模块的像素点pD;当pA对应的深度值与pB对应的深度值的差值小于T1时,将pD确定为pC;当pA对应的深度值与pB对应的深度值的差值大于等于T1时,若ppC’与ppB’的距离小于T2,则将pB确定为pC;若ppC’与ppB’的距离大于等于T2,则将pA确定为pC,输出像素点pC至像素点赋值模块。
8.一种编码或解码方法,其特征在于:在编码或解码过程中的预测图像中的像素点是使用如下虚拟视像素点生成方法产生的:
对一个视点中间隔U个像素点的两个像素点pA与pB,利用pA与pB的深度值计算pA和pB在虚拟视点中的投影坐标ppA’与ppB’,其中U为非负整数;当pA对应的深度值与pB对应的深度值的差值小于阈值T1时,对由ppA’和ppB’构成的闭区间中的所有像素点中的任意一个像素点pC’,在从pA到pB的U+2个像素点中选择一个像素点pC,将pC的像素值赋值给pC’的像素值;所述pC为在所述的从pA到pB的U+2个像素点中使得|pCpA|与|pApB|的比例S1和|pC’ppA’|与|ppA’ppB’|的比例S2最接近或次最接近的像素点,其中|pCpA|表示pC与pA之间的距离,|pApB|表示pA与pB之间的距离,|pC’ppA’|表示pC’与ppA’之间的距离,|ppA’ppB’|表示ppA’与ppB’之间的距离;当pA对应的深度值与pB对应的深度值的差值大于等于阈值T1时,将pB的像素值赋值给由ppA’和ppB’构成的闭区间中与坐标ppB’的距离小于阈值T2的像素点,将pA的像素值赋值给由ppA’和ppB’构成的闭区间中的其余像素点的像素值。
9.如权利要求8所述的一种编码或解码方法,其特征在于:其所述的在从pA到pB的U+2个像素点中选择一个像素点pC为以下方法之一:
(a)计算从pA到pB的U+2个像素点中任意像素点pX对应的比例S1X,所述的S1X为|pXpA|与|pApB|的比例;比较所有所述的U+2个像素点各自对应的S1X与比例S2的接近程度,将所有所述的U+2个像素点各自对应的比例中与S2最接近或次最接近的比例S1对应的像素点确定为pC;
(b)按比例S2在pA与pB之间确定坐标ppC,所述的ppC与pA的距离|pAppC|为比例S2与|pApB|的乘积,比较所有从pA到pB的U+2个像素点与ppC的接近程度,将所有所述的U+2个像素点中与ppC最接近或次最接近的像素点确定为pC。
10.如权利要求8所述的一种编码或解码方法,其特征在于:当所述的U+2个像素点为等间距分布时,其所述的在从pA到pB的U+2个像素点中选择一个像素点pC为:令pC等于从pA到pB的U+2个像素点中的第V个像素点,其中0≤V≤U+1,V等于。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210237792.5A CN102831597B (zh) | 2012-07-10 | 2012-07-10 | 一种虚拟视像素生成方法、装置以及对应的码流 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210237792.5A CN102831597B (zh) | 2012-07-10 | 2012-07-10 | 一种虚拟视像素生成方法、装置以及对应的码流 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831597A CN102831597A (zh) | 2012-12-19 |
CN102831597B true CN102831597B (zh) | 2015-02-04 |
Family
ID=47334713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210237792.5A Active CN102831597B (zh) | 2012-07-10 | 2012-07-10 | 一种虚拟视像素生成方法、装置以及对应的码流 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831597B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7085816B2 (ja) * | 2017-09-26 | 2022-06-17 | キヤノン株式会社 | 情報処理装置、情報提供装置、制御方法、及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556700A (zh) * | 2009-05-15 | 2009-10-14 | 宁波大学 | 一种虚拟视点图像绘制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI492186B (zh) * | 2010-11-03 | 2015-07-11 | Ind Tech Res Inst | 修補三維立體影像之裝置及方法 |
KR101210625B1 (ko) * | 2010-12-28 | 2012-12-11 | 주식회사 케이티 | 빈공간 채움 방법 및 이를 수행하는 3차원 비디오 시스템 |
-
2012
- 2012-07-10 CN CN201210237792.5A patent/CN102831597B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556700A (zh) * | 2009-05-15 | 2009-10-14 | 宁波大学 | 一种虚拟视点图像绘制方法 |
Non-Patent Citations (1)
Title |
---|
一种基于深度图的三维_多视点视频视点合成方法;周真理等;《测控技术》;20110531;第30卷(第5期);18-21,39 * |
Also Published As
Publication number | Publication date |
---|---|
CN102831597A (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5197683B2 (ja) | 奥行き信号生成装置及び方法 | |
US10230953B2 (en) | Method for dividing prediction block, encoding device, and decoding device | |
CN105103556A (zh) | 用于亮度补偿的双向预测的方法和装置 | |
CN104412597A (zh) | 用于3d视频编码的统一视差矢量推导的方法及装置 | |
KR102521052B1 (ko) | 구조화된 광 기반의 3d 카메라 시스템을 위한 빠른 속도의 강건하고 효율적인 깊이 추정 | |
CN102685532A (zh) | 自由视点四维空间视频编码系统的编码方法 | |
CN104685882A (zh) | 用于处理3d场景的一个或更多个视频的方法 | |
CN101710985B (zh) | 一种用于图像编码的图像亮度补偿方法 | |
CN104918032B (zh) | 简化基于深度的块分割的方法 | |
US20160295241A1 (en) | Video encoding apparatus and method, video decoding apparatus and method, and programs therefor | |
CN102831597B (zh) | 一种虚拟视像素生成方法、装置以及对应的码流 | |
CN103024395A (zh) | 多视点视频编码模式选择方法及装置 | |
CN104661014A (zh) | 时空结合的空洞填充方法 | |
CN103916652B (zh) | 视差矢量生成方法及装置 | |
CN101695139B (zh) | 一种基于可分级块的虚拟视点图像绘制方法 | |
CN103139569B (zh) | 多视点视频的编码、解码方法、装置和编解码器 | |
CN102263953B (zh) | 一种基于对象的快速多目立体视频分形压缩与解压缩方法 | |
Lee et al. | 3D motion estimation algorithm in 3D video coding | |
CN101268623B (zh) | 用于创建可变形状区块的方法和装置 | |
Agarwal | Compressing stereo images using a reference image and the exhaustive block matching algorithm to estimate disparity between the two images | |
CN103179423B (zh) | 一种交互式三维视频系统中的信号处理方法 | |
CN103997635B (zh) | 自由视点视频的合成视点失真预测方法及编码方法 | |
CN103139554A (zh) | 一种三维视频率失真优化方法及优化装置 | |
Kim et al. | Object-based stereoscopic conversion of MPEG-4 encoded data | |
CN104104933B (zh) | 一种视差矢量生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |