一种基于对象的立体/自由视点电视的虚拟图像绘制方法
技术领域
本发明涉及一种立体/自由视点电视技术,尤其是涉及一种基于对象的立体/自由视点电视的虚拟图像绘制方法。
背景技术
自由视点电视(Free viewpoint TV,FTV)是一种先进的视觉模式,它具有交互性和临场感,可以满足人们从不同角度观看三维场景的需求。自由视点电视系统通常由多视点视频信号采集、校正、编码、网络传输、解码、绘制和显示等几部分组成。
基于彩色图像的绘制是立体/自由视点电视系统的关键技术之一,它是从一系列已知的参考视点的彩色图像出发绘制生成虚拟图像的方法。与传统的绘制技术相比,它具有不需要复杂的三维场景建模、绘制速度快、适合于合成场景和真实场景等优点。基于深度图像的绘制(Depth Image Based Rendering,DIBR)是一种利用参考视点的彩色图像及该参考视点的彩色图像所对应的深度图像绘制生成虚拟图像的方法。DIBR由于将场景的深度信息引入到虚拟图像绘制中,从而大大减少了虚拟图像绘制所需的参考视点的数目。
DIBR通过利用参考视点的彩色图像及该参考视点的彩色图像中的每个像素对应的深度信息来合成三维场景的虚拟图像。其过程如下:首先利用深度信息将参考视点的彩色图像中的所有像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟图像平面上。这个从二维到三维的重投影以及从三维再到二维的投影被称为三维图像变换(3D image warping)。
虚拟图像绘制质量的好坏以及绘制的速度对于立体/自由视点电视系统的性能是至关重要的。现有的基于深度图像的虚拟图像绘制算法为保证绘制的精度一般采用逐像素进行三维图像变换(3D image warping)的映射方法,因此计算复杂度过高,要满足实时观看需求还存在一定的困难。
发明内容
本发明所要解决的技术问题是提供一种在能够保证绘制精度的同时,提高绘制速度的基于对象的虚拟图像绘制方法。
本发明解决上述技术问题所采用的技术方案为:一种基于对象的立体/自由视点电视的虚拟图像绘制方法,包括以下具体步骤:
①获取t时刻的K个参考视点的尺寸大小为P×Q的K幅彩色图像及其对应的K幅深度图像,将t时刻的第k个参考视点的彩色图像记为IR,t k,将t时刻的第k个参考视点的深度图像记为DR,t k,将t时刻的第k个参考视点的彩色图像IR,t k自适应地划分成NR k个尺寸大小为(p+Δp)×(q+Δq)的块,并标记各个块的块映射类型,块映射类型包括逐像素映射型和整块映射型,记t时刻的第k个参考视点的彩色图像IR,t k中的第n个块为Bn k,其中,k∈[1,K], p和q的值均为16、8、4、2四个值中的一个,Δp表示块Bn k与其右相邻块之间重叠的像素点的列数,0≤Δp≤2,当Δp=0时表示块Bn k与其右相邻块不重叠或表示块Bn k为t时刻的第k个参考视点的彩色图像IR,t k的右边界处的块,Δq表示块Bn k与其下相邻块之间重叠的像素点的行数,0≤Δq≤2,当Δq=0时表示块Bn k与其下相邻块不重叠或表示块Bn k为t时刻的第k个参考视点的彩色图像IR,t k的下边界处的块;
此处,将t时刻的第k个参考视点的彩色图像IR,t k自适应地划分成NR k个尺寸大小为(p+Δp)×(q+Δq)的块并标记各个块的块映射类型的具体步骤为:
①-1、采用公知的对象提取技术对t时刻的第k个参考视点的彩色图像IR,t k进行对象提取,得到t时刻的第k个参考视点的彩色图像IR,t k的对象掩模图像,记为MR,t k,将对象掩模图像MR,t k中坐标为(x,y)的像素点的像素值记为mR,t k(x,y), 表示t时刻的第k个参考视点的彩色图像IR,t k及其对应的深度图像DR,t k中坐标为(x,y)的像素点属于对象,将这样的像素点称为对象像素点, 表示t时刻的第k个参考视点的彩色图像IR,t k及其对应的深度图像DR,t k中坐标为(x,y)的像素点属于背景,将这样的像素点称为背景像素点;
①-2、将t时刻的第k个参考视点的彩色图像I
R,t k划分成
个互不重叠的16×16块,其中,P表示彩色图像的宽,Q表示彩色图像的高;
①-3、逐一处理t时刻的第k个参考视点的彩色图像IR,t k中的各个16×16块,定义当前正在处理的16×16块为当前16×16块,将当前16×16块分解成4个8×8块,对各个8×8块进行区域标记,如果8×8块中的所有像素点均为对象像素点,则将该8×8块标记为对象内部区域,如果8×8块中的所有像素点均为背景像素点,则将该8×8块标记为背景区域,否则,将该8×8块标记为对象和背景之间的边界区域;
①-4、逐一处理当前16×16块中的各个8×8块,定义当前正在处理的8×8块为当前8×8块,当当前8×8块为对象内部区域时,执行步骤①-5;当当前8×8块为背景区域时,执行步骤①-6;当当前8×8块为对象和背景之间的边界区域时,执行步骤①-7;
①-5、将当前8×8块分解成4个4×4块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个4×4块位置相对应的4个对应4×4块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应4×4块,判断对应4×4块的背离值是否小于设定的阈值,当对应4×4块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块记为p×q块,p=4,q=4,并标记该p×q块的块映射类型为整块映射型,当对应4×4块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块再分解成4个2×2块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个2×2块位置相对应的4个对应2×2块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应2×2块,判断对应2×2块的背离值是否小于设定的阈值,当对应2×2块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应2×2块位置相对应的2×2块记为p×q块,p=2,q=2,并标记该p×q块的块映射类型为整块映射型,当对应2×2块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应2×2块位置相对应的2×2块记为p×q块,p=2,q=2,并标记该p×q块的块映射类型为逐像素映射型;然后执行步骤①-8;
①-6、计算t时刻的第k个参考视点的深度图像DR,t k中与当前8×8块位置相对应的对应8×8块的背离值,判断对应8×8块的背离值是否小于设定的阈值,当对应8×8块的背离值小于设定的阈值时,将当前8×8块记为p×q块,p=8,q=8,并标记该p×q块的块映射类型为整块映射型;当对应8×8块的背离值大于等于设定的阈值时,将当前8×8块再分解成2个8×4块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个8×4块位置相对应的2个对应8×4块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应8×4块,判断对应8×4块的背离值是否小于设定的阈值,当对应8×4块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应8×4块位置相对应的8×4块记为p×q块,p=8,q=4,并标记该p×q块的块映射类型为整块映射型,当对应8×4块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应8×4块位置相对应的8×4块分解成2个4×4块,或将当前8×8块再分解成2个4×8块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个4×8块位置相对应的2个对应4×8块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应4×8块,判断对应4×8块的背离值是否小于设定的阈值,当对应4×8块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×8块位置相对应的4×8块记为p×q块,p=4,q=8,并标记该p×q块的块映射类型为整块映射型,当对应4×8块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×8块位置相对应的4×8块分解成2个4×4块;计算t时刻的第k个参考视点的深度图像DR,t k中与各个4×4块位置相对应的2个对应4×4块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应4×4块,判断对应4×4块的背离值是否小于设定的阈值,当对应4×4块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块记为p×q块,p=4,q=4,并标记该p×q块的块映射类型为整块映射型,当对应4×4块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块记为p×q块,p=4,q=4,并标记该p×q块的块映射类型为逐像素映射型;然后执行步骤①-8;
①-7、将当前8×8块记为p×q块,p=8,q=8,并标记该p×q块的块映射类型为逐像素映射型,然后执行步骤①-8;
①-8、将当前16×16块中的下一个8×8块作为当前8×8块,并返回步骤①-4继续执行,直至当前16×16块中所有的8×8块均处理完毕;
①-9、将t时刻的第k个参考视点的彩色图像IR,t k中的下一个16×16块作为当前16×16块,并返回步骤①-3继续执行,直至所有的16×16块均处理完毕;
①-10、将t时刻的第k个参考视点的彩色图像IR,t k中的各个p×q块向右扩展Δp个像素点且向下扩展Δq个像素点,形成NR k个尺寸大小为(p+Δp)×(q+Δq)的块;
②逐一处理t时刻的第k个参考视点的彩色图像IR,t k中的NR k个尺寸大小为(p+Δp)×(q+Δq)的块,定义正在处理的t时刻的第k个参考视点的彩色图像IR,t k中的第n个块Bn k为当前块Bn k,记需绘制的虚拟视点彩色图像为ID,t k,当当前块Bn k的块映射类型为逐像素映射型时,利用t时刻的第k个参考视点的深度图像DR,t k所提供的深度信息,采用公知的三维图像变换方法逐像素点计算当前块Bn k中的各个像素点在需绘制的虚拟视点彩色图像ID,t k中的坐标位置,并将当前块Bn k中的各个像素点逐像素点地映射到需绘制的虚拟视点彩色图像ID,t k中;当当前块Bn k的块映射类型为整块映射型时,选取当前块Bn k中的一个像素点,再利用t时刻的第k个参考视点的深度图像DR,t k所提供的该像素点的深度信息,采用公知的三维图像变换方法计算该像素点在需绘制的虚拟视点彩色图像ID,t k中的坐标位置,得到把该像素点从t时刻的第k个参考视点的彩色图像IR,t k映射到需绘制的虚拟视点彩色图像ID,t k中的坐标映射关系,并利用该坐标映射关系将当前块Bn k中的各个像素点映射到需绘制的虚拟视点彩色图像ID,t k中;
③重复步骤②将t时刻的第k个参考视点的彩色图像IR,t k中的所有块全部映射到需绘制的虚拟视点彩色图像ID,t k中,得到由t时刻的第k个参考视点的彩色图像IR,t k和t时刻的第k个参考视点的深度图像DR,t k绘制成的虚拟视点彩色图像ID,t k;
④重复步骤①~③直至得到由K个参考视点的彩色图像和其对应的深度图像分别绘制成的K幅虚拟视点彩色图像,K幅虚拟视点彩色图像用集合表示为
⑤采用图像融合方法融合由K个参考视点的彩色图像和其对应的深度图像分别绘制得到的K幅虚拟视点彩色图像,得到融合后的虚拟视点彩色图像,记融合后的虚拟视点彩色图像为I′D,t,并对融合后的虚拟视点彩色图像I′D,t中的空洞像素点进行填补,得到最终的虚拟视点彩色图像,记最终的虚拟视点彩色图像为ID,t。
所述的背离值的计算过程为:记背离值为σ,通过 中的任一个公式计算得到,其中,dx,y为需要计算背离值的块中坐标为(x,y)的像素点的像素值,d为需要计算背离值的块包含的所有像素点的像素值的平均值,其值为 X×Y表示需要计算背离值的块的尺寸大小。
所述的步骤②中当当前块Bn k的块映射类型为整块映射型时,将当前块Bn k中的各个像素点映射到需绘制的虚拟视点彩色图像ID,t k中的具体过程为:a.任取当前块Bn k中的一个像素点,记该像素点的坐标为(xc,yc),将该像素点到当前块Bn k的左边界的距离记为Δx,将该像素点到当前块Bn k的下边界的距离记为Δy,则该像素点到当前块Bn k的右边界的距离为(p+Δp)-Δx-1,该像素点到当前块Bn k的上边界的距离为(q+Δq)-Δy-1;b.利用t时刻的第k个参考视点的深度图像DR,t k所提供的坐标为(xc,yc)的像素点的深度信息,采用公知的三维图像变换方法计算坐标为(xc,yc)的像素点在需绘制的虚拟视点彩色图像ID,t k中的坐标位置,记计算得到的坐标位置为(x′c,y′c);c.计算需绘制的虚拟视点彩色图像ID,t k中坐标为(x′,y′)的像素点的像素值,其中,(x′c-Δx)≤x′≤(x′c+((p+Δp)-Δx-1)),(y′c-Δy)≤y′≤(y′c+((q+Δq)-Δy-1)),记由t时刻的第k个参考视点的彩色图像IR,t k和t时刻的第k个参考视点的深度图像DR,t k绘制得到的虚拟视点彩色图像ID,t k中坐标为(x′y′)的像素点的像素值为ID,t k(x′,y′), 其中,IR,t k(xc+x′-x′c,yc+y′-y′c)为t时刻的第k个参考视点的彩色图像IR,t k中坐标为(xc+x′-x′c,yc+y′-y′c)的像素点的像素值。
所述的步骤①中的块映射类型还包括坐标拷贝型;在执行所述的步骤①-4之前,先判断t时刻的第k个参考视点的深度图像DR,t k中与当前16×16块位置相对应的对应16×16块的编码模式是否为SKIP模式且运动矢量是否为0,及当前16×16块中的4个8×8块是否均不为对象和背景之间的边界区域,如果对应16×16块的编码模式为SKIP模式且运动矢量为0,并且当前16×16块中的4个8×8块均不为对象和背景之间的边界区域,则将当前16×16块记为p×q块,p=16,q=16,并标记该p×q块的块映射类型为坐标拷贝型,然后执行步骤①-9,否则,执行步骤①-4。
所述的步骤②中当当前块Bn k的块映射类型为坐标拷贝型时,在将当前块Bn k的各个像素点从t时刻的第k个参考视点的彩色图像IR,t k映射到需绘制的虚拟视点彩色图像ID,t k中时,当前块Bn k的各个像素点的坐标映射关系采用t时刻的第k个参考视点的彩色图像IR,t k的参考帧IR,t-r k中与当前块Bn k坐标位置相同的对应块中的对应像素点的坐标映射关系,其中,r为一非零整数且|r|<图像组GOP的长度。
与现有技术相比,本发明的优点在于通过彩色图像的对象掩模图像将彩色图像中的各个像素点分为对象像素点和背景像素点,根据对象像素点和背景像素点将彩色图像分为对象内部区域、背景区域和边界区域,再根据对象内部区域、背景区域和边界区域将彩色图像自适应地划分成若干个尺寸大小不尽相同的块,对于块映射类型为整块映射型的块只需对该块中的一个像素点实施三维图像变换以确定将该像素点从参考视点的彩色图像投影到需绘制的虚拟视点彩色图像的坐标映射关系,然后整个块采用此坐标映射关系投影到需绘制的虚拟视点彩色图像中,由于只对一个像素点实施三维图像变换,因而可有效提高整块映射型块的绘制速度;对于块映射类型为逐像素映射型的块,由于这些块主要位于对象与背景的边界区域,因此则仍采用逐像素映射的三维图像变换方法将块中的各个像素点映射到需绘制的虚拟视点彩色图像中,有效保证了绘制精度,这样两者的结合使得本发明方法在保证虚拟视点彩色图像绘制精度的同时,大大提高了绘制的速度。与此同时,本发明还利用参考视点彩色图像和深度图像的时域相关性,对于时域上前后相邻帧中内容不变的区域,其向虚拟视点彩色图像投影的坐标直接拷贝自已经处理的前一帧,从而进一步减少了实施三维图像变换的像素点的数量。
附图说明
图1为块Bn k与其右相邻块和下相邻块相重叠的示意图;
图2为将整块映射型块中的各个像素点采用相同的映射参数映射到需绘制的虚拟视点彩色图像ID,t k中的过程示意图;
图3为“Ballet”测试序列t时刻的第k个参考视点的彩色图像IR,t k;
图4为采用公知的对象提取技术对图3所示的彩色图像实施对象提取后得到的结果图;
图5a为采用现有的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像的局部区域图;
图5b为采用本发明方法绘制得到的虚拟视点彩色图像的局部区域图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例一:本发明的一种基于对象的立体/自由视点电视的虚拟图像绘制方法,包括以下具体步骤:
①获取t时刻的K个参考视点的尺寸大小为P×Q的K幅彩色图像及其对应的K幅深度图像,将t时刻的第k个参考视点的彩色图像记为IR,t k,将t时刻的第k个参考视点的深度图像记为DR,t k将t时刻的第k个参考视点的彩色图像IR,t k自适应地划分成NR k个尺寸大小为(p+Δp)×(q+Δq)的块,并标记各个块的块映射类型,记t时刻的第k个参考视点的彩色图像IR,tk中的第n个块为Bn k,其中,k∈[1,K], 表示所有块的并集构成t时刻的第k个参考视点的彩色图像IR,t k,p和q的值均为16、8、4、2四个值中的一个,Δp表示块Bn k与其右相邻块之间重叠的像素点的列数,0≤Δp≤2,当Δp=0时表示块Bn k与其右相邻块不重叠或表示块Bn k为t时刻的第k个参考视点的彩色图像IR,t k的右边界处的块,在此,右相邻块即位于当前块的正右方的相邻块,Δq表示块Bn k与其下相邻块之间重叠的像素点的行数,0≤Δq≤2,当Δq=0时表示块Bn k与其下相邻块不重叠或表示块Bn k为t时刻的第k个参考视点的彩色图像IR,t k的下边界处的块,在此,下相邻块即位于当前块的正下方的相邻块,图1给出了块Bn k与其右相邻块和下相邻块相重叠的示意图。
在此,根据向需绘制的虚拟视点彩色图像映射方式的不同,块映射类型存在以下两种,即逐像素映射型和整块映射型,通常t时刻的第k个参考视点的彩色图像IR,t k中逐像素映射型的块的Δp=0,Δq=0。
在此具体实施例中,将t时刻的第k个参考视点的彩色图像IR,t k自适应地划分成NR k个尺寸大小为(p+Δp)×(q+Δq)的块并标记各个块的块映射类型的总体过程为:首先要得到t时刻的第k个参考视点的彩色图像IR,t k的对象提取结果,这一结果可以利用t时刻的第k个参考视点的彩色图像IR,t k或者该彩色图像所对应的深度图像DR,t k采用任意的公知的对象提取技术来完成,也可以联合利用t时刻的第k个参考视点的彩色图像IR,t k和该彩色图像所对应的深度图像DR,t k来完成对象提取;而如果t时刻的第k个参考视点的彩色图像IR,t k或对应的深度图像DR,t k编码本身采用的是基于对象的编码,或者t时刻的第k个参考视点的彩色图像IR,t k的对象提取结果已知,则可以省略对t时刻的第k个参考视点的彩色图像IR,t k的对象提取操作。其次,标定对象内部区域、背景区域、对象和背景之间的边界区域。然后逐一考察t时刻的第k个参考视点的彩色图像IR,t k的各个16×16块,根据彩色图像IR,t k中当前16×16块中的各个8×8块为对象内部区域、背景区域还是对象和背景之间的边界区域来决定块划分方式:对于对象内部区域,由于它相对更引人注目,对其质量要求更高,因而其块的尺寸大小限定为4×4和2×2两种,其中4×4块为整块映射型,2×2块可能为整块映射型也可能是逐像素映射型;对于背景区域,由于其受关注程度低于对象,因此可采用较大尺寸的块以节省绘制时间,本发明中,背景区域的块的尺寸大小限定为8×8、8×4或4×8、4×4四种,除4×4块的类型可能为整块映射型也可能是逐像素映射型外,其余三种只能是整块映射型;对于对象和背景之间的边界区域,由于其对绘制图像的质量影响很大,因此采用逐像素映射的方法。这里某块是整块映射还是逐像素映射取决于该块在深度图像DR,t k中的对应块的的背离值的大小,背离值小意味着该块内各像素的深度值较为接近,其坐标映射关系也应较为一致,因而将该块标记为整块映射型,反之将该块标记为逐像素映射型。再对得到的p×q块进行扩展,即将p×q块向右扩展Δp个像素点,向下扩展Δq个像素点,最终形成t时刻的第k个参考视点彩色图像IR,t k的尺寸大小为(p+Δp)×(q+Δq)的块。具体步骤如下:
①-1、采用公知的对象提取技术对t时刻的第k个参考视点的彩色图像IR,t k进行对象提取,得到t时刻的第k个参考视点的彩色图像IR,t k的对象掩模图像,记为MR,t k,将对象掩模图像MR,t k中坐标为(x,y)的像素点的像素值记为mR,t k(x,y), 表示t时刻的第k个参考视点的彩色图像IR,t k及其对应的深度图像DR,t k中坐标为(x,y)的像素点属于对象,将这样的像素点称为对象像素点, 表示t时刻的第k个参考视点的彩色图像IR,t k及其对应的深度图像DR,t k中坐标为(x,y)的像素点属于背景,将这样的像素点称为背景像素点;
①-2、将t时刻的第k个参考视点的彩色图像I
R,t k划分成
个互不重叠的16×16块,其中,P表示彩色图像的宽,Q表示彩色图像的高;
①-3、逐一处理t时刻的第k个参考视点的彩色图像IR,t k中的各个16×16块,定义当前正在处理的16×16块为当前16×16块,将当前16×16块分解成4个8×8块,对各个8×8块进行区域标记,如果8×8块中的所有像素点均为对象像素点,则将该8×8块标记为对象内部区域,如果8×8块中的所有像素点均为背景像素点,则将该8×8块标记为背景区域,否则,将该8×8块标记为对象和背景之间的边界区域;
①-4、逐一处理当前16×16块中的各个8×8块,定义当前正在处理的8×8块为当前8×8块,当当前8×8块为对象内部区域时,执行步骤①-5;当当前8×8块为背景区域时,执行步骤①-6;当当前8×8块为对象和背景之间的边界区域时,执行步骤①-7;
①-5、将当前8×8块分解成4个4×4块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个4×4块位置相对应的4个对应4×4块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应4×4块,判断对应4×4块的背离值是否小于设定的阈值,当对应4×4块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块记为p×q块,p=4,q=4,并标记该p×q块的块映射类型为整块映射型,当对应4×4块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块再分解成4个2×2块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个2×2块位置相对应的4个对应2×2块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应2×2块,判断对应2×2块的背离值是否小于设定的阈值,当对应2×2块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应2×2块位置相对应的2×2块记为p×q块,p=2,q=2,并标记该p×q块的块映射类型为整块映射型,当对应2×2块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应2×2块位置相对应的2×2块记为p×q块,p=2,q=2,并标记该p×q块的块映射类型为逐像素映射型;然后执行步骤①-8;
①-6、计算t时刻的第k个参考视点的深度图像DR,t k中与当前8×8块位置相对应的对应8×8块的背离值,判断对应8×8块的背离值是否小于设定的阈值,当对应8×8块的背离值小于设定的阈值时,将当前8×8块记为p×q块,p=8,q=8,并标记该p×q块的块映射类型为整块映射型;当对应8×8块的背离值大于等于设定的阈值时,将当前8×8块再分解成2个8×4块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个8×4块位置相对应的2个对应8×4块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应8×4块,判断对应8×4块的背离值是否小于设定的阈值,当对应8×4块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应8×4块位置相对应的8×4块记为p×q块,p=8,q=4,并标记该p×q块的块映射类型为整块映射型,当对应8×4块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应8×4块位置相对应的8×4块分解成2个4×4块,或将当前8×8块再分解成2个4×8块,计算t时刻的第k个参考视点的深度图像DR,t k中与各个4×8块位置相对应的2个对应4×8块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应4×8块,判断对应4×8块的背离值是否小于设定的阈值,当对应4×8块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×8块位置相对应的4×8块记为p×q块,p=4,q=8,并标记该p×q块的块映射类型为整块映射型,当对应4×8块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×8块位置相对应的4×8块分解成2个4×4块;计算t时刻的第k个参考视点的深度图像DR,t k中与各个4×4块位置相对应的2个对应4×4块各自的背离值,逐一考察t时刻的第k个参考视点的深度图像DR,t k中的各个对应4×4块,判断对应4×4块的背离值是否小于设定的阈值,当对应4×4块的背离值小于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块记为p×q块,p=4,q=4,并标记该p×q块的块映射类型为整块映射型,当对应4×4块的背离值大于等于设定的阈值时,将t时刻的第k个参考视点的彩色图像IR,t k中与该对应4×4块位置相对应的4×4块记为p×q块,p=4,q=4,并标记该p×q块的块映射类型为逐像素映射型;然后执行步骤①-8;
①-7、将当前8×8块记为p×q块,p=8,q=8,并标记该p×q块的块映射类型为逐像素映射型,然后执行步骤①-8;
①-8、将当前16×16块中的下一个8×8块作为当前8×8块,并返回步骤①-4继续执行,直至当前16×16块中所有的8×8块均处理完毕;
①-9、将t时刻的第k个参考视点的彩色图像IR,t k中的下一个16×16块作为当前16×16块,并返回步骤①-3继续执行,直至所有的16×16块均处理完毕;
①-10、将t时刻的第k个参考视点的彩色图像IR,t k中的各个p×q块向右扩展Δp个像素点且向下扩展Δq个像素点,形成NR k个尺寸大小为(p+Δp)×(q+Δq)的块。
上述具体步骤中,背离值的计算过程为:记背离值为σ,通过 中的任一个公式计算得到,其中,dx,y为需要计算背离值的块中坐标为(x,y)的像素点的像素值,d为需要计算背离值的块包含的所有像素点的像素值的平均值,其值为 X×Y表示需要计算背离值的块的尺寸大小。
上述具体步骤中的阈值是根据计算背离值的不同方式确定的,如果在实际应用过程中背离值采用 计算得到,那么对于8×8块、或8×4块、或4×8块,设定的阈值可取1,对于其余块设定的阈值可取0.5。
在此具体实施例中,对于t时刻的第k个参考视点的彩色图像IR,t k中的尺寸大小为(p+Δp)×(q+Δq)的块,如果该块的块映射类型为逐像素映射型,则该块的Δp=0,Δq=0。而如果块映射类型为整块映射型,则该块的Δp=1,Δq=1。非零的Δp和Δq有助于减少块映射时在块与块之间产生的空洞。由于这样的空洞通常为一个像素的宽度,因此对于整块映射型的(p+Δp)×(q+Δq)块通常取Δp=1,Δq=1。
②逐一处理t时刻的第k个参考视点的彩色图像IR,t k中的NR k个尺寸大小为(p+Δp)×(q+Δq)的块,定义正在处理的t时刻的第k个参考视点的彩色图像IR,t k中的第n个块Bn k为当前块Bn k,记需绘制的虚拟视点彩色图像为ID,t k,当当前块Bn k的块映射类型为逐像素映射型时,利用t时刻的第k个参考视点的深度图像DR,t k所提供的深度信息,采用公知的三维图像变换方法逐像素点计算当前块Bn k中的各个像素点在需绘制的虚拟视点彩色图像ID,t k中的坐标位置,并将当前块Bn k中的各个像素点逐像素点地映射到需绘制的虚拟视点彩色图像ID,t k中;当当前块Bn k的块映射类型为整块映射型时,选取当前块Bn k中的一个像素点,再利用t时刻的第k个参考视点的深度图像DR,t k所提供的该像素点的深度信息,采用公知的三维图像变换方法计算该像素点在需绘制的虚拟视点彩色图像ID,t k中的坐标位置,得到把该像素点从t时刻的第k个参考视点的彩色图像IR,t k映射到需绘制的虚拟视点彩色图像ID,t k中的坐标映射关系,并利用该坐标映射关系将当前块Bn k中的各个像素点映射到需绘制的虚拟视点彩色图像ID,t k中。
在此具体实施例中,当当前块Bn k的块映射类型为整块映射型时,将当前块Bn k中的各个像素点映射到需绘制的虚拟视点彩色图像ID,t k中的具体过程为:a.任取当前块Bn k中的一个像素点,记该像素点的坐标为(xc,yc),将该像素点到当前块Bn k的左边界的距离记为Δx,将该像素点到当前块Bn k的下边界的距离记为Δy,则该像素点到当前块Bn k的右边界的距离为(p+Δp)-Δx-1,该像素点到当前块Bn k的上边界的距离为(q+Δq)-Δy-1;b.利用t时刻的第k个参考视点的深度图像dR,t k所提供的坐标为(xc,yc)的像素点的深度信息,采用公知的三维图像变换方法计算坐标为(xc,yc)的像素点在需绘制的虚拟视点彩色图像ID,t k中的坐标位置,记计算得到的坐标位置为(x′c,y′c);c.计算需绘制的虚拟视点彩色图像ID,t k中坐标为(x′,y′)的像素点的像素值,其中,(x′c-Δx)≤x′≤(x′c+((p+Δp)-Δx-1)),(y′c-Δy)≤y′≤(y′c+((q+Δq)-Δy-1)),记由t时刻的第k个参考视点的彩色图像IR,t k和t时刻的第k个参考视点的深度图像DR,t k绘制得到的虚拟视点彩色图像ID,t k中坐标为(x′,y′)的像素点的像素值为ID,t k(x′,y′), 其中,IR,t k(xc+x′-x′c,yc+y′-y′c)为t时刻的第k个参考视点的彩色图像IR,t k中坐标为(xc+x′-x′c,yc+y′-y′c)的像素点的像素值。图2给出了将整块映射型的块Bn k中的各个像素点采用相同的坐标映射关系映射到需绘制的虚拟视点彩色图像ID,t k中的示意图。需要说明的是,采用三维图像变换的方法将某参考视点的彩色图像重投影到虚拟视点彩色图像的过程如下:首先利用深度信息将参考视点的彩色图像中的像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟图像平面上。该过程不仅能将参考视点的彩色图像中各个像素点重投影到虚拟视点彩色图像中,同时也能获取虚拟视点彩色图像对应的深度图像。
③重复步骤②将t时刻的第k个参考视点的彩色图像IR,t k中的所有块全部映射到需绘制的虚拟视点彩色图像ID,t k中,得到由t时刻的第k个参考视点的彩色图像IR,t k和t时刻的第k个参考视点的深度图像DR,t k绘制成的虚拟视点彩色图像ID,t k。
④重复步骤①~③直至得到由K个参考视点的彩色图像和其对应的深度图像分别绘制成的K幅虚拟视点彩色图像,K幅虚拟视点彩色图像用集合表示为
⑤采用现有的成熟的图像融合方法融合由K个参考视点的彩色图像和其对应的深度图像分别绘制得到的K幅虚拟视点彩色图像,得到融合后的虚拟视点彩色图像,记融合后的虚拟视点彩色图像为I′D,t,并对融合后的虚拟视点彩色图像I′D,t中的空洞像素点进行填补,例如采用公知的图像插值的方法进行空洞填补,得到最终的虚拟视点彩色图像,记最终的虚拟视点彩色图像为ID,t。
实施例二:本实施例与实施例一的处理过程基本相同,不同之处仅在于在本实施例中根据向需绘制的虚拟视点彩色图像映射方式的不同,块映射类型分三种情况,即逐像素映射型、整块映射型和坐标拷贝型,即块映射类型多了一种坐标拷贝型。
在这种情况下,在执行所述的步骤①-4之前,先判断t时刻的第k个参考视点的深度图像DR,t k中与当前16×16块位置相对应的对应16×16块的编码模式是否为SKIP模式且运动矢量是否为0,及当前16×16块中的4个8×8块是否均不为对象和背景之间的边界区域,如果对应16×16块的编码模式为SKIP模式且运动矢量为0,并且当前16×16块中的4个8×8块均不为对象和背景之间的边界区域,则将当前16×16块记为p×q块,p=16,q=16,并标记该p×q块的块映射类型为坐标拷贝型,然后执行步骤①-9,否则,执行步骤①-4。对于块映射类型为坐标拷贝型的(p+Δp)×(q+Δq)块,该块的Δp=0,Δq=0。
在步骤②中当当前块Bn k的块映射类型为坐标拷贝型时,在将当前块Bn k的各个像素点从t时刻的第k个参考视点的彩色图像IR,t k映射到需绘制的虚拟视点彩色图像ID,t k中时,当前块Bn k的各个像素点的坐标映射关系采用t时刻的第k个参考视点的彩色图像IR,t k的参考帧IR,t-r k中与当前块Bn k坐标位置相同的对应块中的对应像素点的坐标映射关系,其中,r为一非零整数且|r|<图像组GOP的长度。在本实施例中,参考帧为t时刻的第k个参考视点的彩色图像IR,t k在时域上的前一帧彩色图像,即r=1。这是因为当对应16×16块的编码模式为SKIP模式且运动矢量为0时,表明当前16×16块在t时刻的第k个参考视点的深度图像DR,t k中的对应区域与其参考帧同区域相比深度值基本未发生变化,因此当前16×16块向需绘制的虚拟视点彩色图像进行投影可以直接采用t时刻的第k个参考视点的彩色图像IR,t k的参考帧IR,t-r k中的对应块投影时所用的坐标映射关系。
以下通过客观比较现有的逐像素三维图像变换方法与本发明方法,以证明本发明方法的有效性和可行性。
表1给出了本发明实施例二所给出的方法与采用传统的逐像素三维图像变换方法相比在绘制时间上节省的情况。采用传统的逐像素三维图像变换方法平均一帧的绘制时间是41ms,表1中给出了采用本发明方法平均一帧的绘制时间。由表1可见,随着量化参数QP的增加,由于深度图像压缩时采用SKIP模式的块数量的增多,本发明方法绘制一帧图像平均所用的时间节省比例也随之增加。在本发明中,时间节省的比例在43%~57%。这里,背离值采用了 的计算方法,对于8×8、8×4、4×8块设定的阈值为1,对于其余块设定的阈值为0.5。
表1本发明方法与采用逐像素三维图像变换方法相比在时间上节省的百分比
图3给出了“Ballet”测试序列t时刻的第k个参考视点的彩色图像IR,t k,图4为采用公知的对象提取技术对图3所示的彩色图像实施对象提取后得到的结果图。图5a给出了采用现有的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像的局部区域图,图5b给出了采用本发明实施例二的方法绘制得到的虚拟视点彩色图像的局部区域图,比较图5a和图5b可知,通过本发明方法绘制得到的结果主观质量明显优于传统的逐像素三维图像变换的方法绘制得到的结果,由此可见,本发明方法是有效的且是可行的,在保证虚拟视点彩色图像绘制精度的同时,大大提高了绘制的速度。