一种基于可分级块的虚拟视点图像绘制方法转让专利

申请号 : CN200910153324.8

文献号 : CN101695139B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋刚毅朱波郁梅

申请人 : 宁波大学

摘要 :

本发明公开了一种基于可分级块的虚拟视点图像绘制方法,优点在于根据参考视点的深度图像的平滑与否自适应地将彩色图像划分成若干个尺寸大小不尽相同的块,对于整块映射型块只需对该块中的一个像素点实施三维图像变换以确定将该像素点从彩色图像投影到虚拟视点彩色图像的坐标映射关系,然后整个块采用此坐标映射关系投影到虚拟视点彩色图像中,由于只对一个像素点实施三维图像变换,因而可有效提高整块映射型块的绘制速度;对于逐像素映射型块,由于这些块主要位于对象与背景的边界区域,因此仍采用逐像素映射的三维图像变换方法将块中的各个像素点映射到虚拟视点彩色图像中,有效保证了绘制精度。

权利要求 :

1.一种基于可分级块的虚拟视点图像绘制方法,其特征在于包括以下具体步骤:

①获取t时刻的K个参考视点的尺寸大小为P×Q的K幅彩色图像及其对应的K幅深度图像,将t时刻的第k个参考视点的彩色图像记为 将t时刻的第k个参考视点的深度图像记为 将t时刻的第k个参考视点的彩色图像 自适应地划分成 个尺寸大小为(p+Δp)×(q+Δq)的块,并标记各个块的块映射类型,块映射类型包括逐像素映射型和整块映射型,记t时刻的第k个参考视点的彩色图像 中的第n个块为 其中,k∈[1,K],p和q的值均为16、8、4、2、1五个值中的一个,Δp表示块 与其右相邻块之间重叠的像素点的列数,0≤Δp≤2,当Δp=0时表示块 与其右相邻块不重叠或表示块 为t时刻的第k个参考视点的彩色图像 的右边界处的块,Δq表示块 与其下相邻块之间重叠的像素点的行数,0≤Δq ≤2,当Δq=0时表示块 与其下相邻块不重叠或表示块 为t时刻的第k个参考视点的彩色图像 的下边界处的块;

此处,将t时刻的第k个参考视点的彩色图像 自适应地划分成 个尺寸大小为(p+Δp)×(q+Δq)的块并标记各个块的块映射类型的具体步骤为:

①-1、将t时刻的第k个参考视点的深度图像 划分成 个互不重叠的16×16块,其中,P表示深度图像的宽,Q表示深度图像的高;

①-2、定义当前正在处理的16×16块为当前16×16块,将当前16×16块记为ni×ni块,或将当前16×16块分解为4个8×8块,将4个8×8块均记为ni×ni块,其中,i的初始值为1;

①-3、定义当前正在处理的ni×ni块为当前ni×ni块,计算当前ni×ni块的背离值,判断当前ni×ni块的背离值是否小于阈值,如果是,则将当前ni×ni块记为p×q块,p=ni,q=ni,并标记该p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,再判断ni是否等于预设尺寸值m,其中,m≤n1,当ni=m时,将当前ni×ni块记为p×q块,p=ni,q=ni,并标记该p×q块的块映射类型为逐像素映射型,然后执行步骤①-10,当ni>m时,继续执行;

①-4、将当前ni×ni块分解成2个 块,分别计算2个 块的背离值,判断2

个 块的背离值是否均小于阈值,如果是,则将2个 块分别记为p×q块,p=ni,并标记该2个p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,继续执行;

①-5、对当前ni×ni块进行重新分解,分解成2个 块,分别计算2个 块的背离值,判断2个 块的背离值是否均小于阈值,如果是,则将2个 块分别记为p×q块, q=ni,并标记该2个p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,继续执行;

①-6、当步骤①-4中的2个 块中的其中一个块的背离值小于阈值时,将背离值小于阈值的 块记为p×q块,p=ni, 标记该p×q块的块映射类型为整块映射型,并将背离值大于等于阈值的 块分解为2个 块,然后执行步骤①-9;当2个块的背离值均大于等于阈值时,继续执行;

①-7、当步骤①-5中的2个 块中的其中一个块的背离值小于阈值时,将背离值小于阈值的 块记为p×q块, q=ni,标记该p×q块的块映射类型为整块映射型,并将背离值大于等于阈值的 块分解为2个 块,然后执行步骤①-9;当2个块的背离值均大于等于阈值时,继续执行;

①-8、对当前ni×ni块进行重新分解,分解成4个 块,并继续执行;

①-9、将i加1,然后将步骤①-6或步骤①-7或步骤①-8得到的各个 块记为块,令 再返回步骤①-3继续执行,直至当前ni×ni块已分解为尺寸大小为预设尺寸值m的块或分解得到的块的背离值小于阈值为止;

①-10、将当前16×16块中的下一个ni×ni块作为当前ni×ni块,并将i值置为1,然后返回步骤①-3继续执行,直至当前16×16块中的所有ni×ni块处理完毕;

①-11、将下一个16×16块作为当前16×16块,并返回步骤①-2继续执行,直至t时刻的第k个参考视点的深度图像 中的所有16×16块处理完毕;

①-12、根据t时刻的第k个参考视点的深度图像 的p×q块的划分及各个p×q块标记的块映射类型,将t时刻的第k个参考视点的彩色图像 划分成相应的尺寸大小为(p+Δp)×(q+Δq)的块,并标记相应的块映射类型,具体过程为:a.定义t时刻的第k个参考视点的深度图像 中的第一个p×q块为当前p×q块,将t时刻的第k个参考视点的彩色图像 中坐标位置与当前p×q块相同的对应块作为t时刻的第k个参考视点的彩色图像 中的p×q块;b.将t时刻的第k个参考视点的彩色图像 中的该p×q块向右扩展Δp个像素点且向下扩展Δq个像素点,形成t时刻的第k个参考视点的彩色图像 中的尺寸大小为(p+Δp)×(q+Δq)的块;c.根据当前p×q块的块映射类型,将该尺寸大小为(p+Δp)×(q+Δq)的块的块映射类型标记为与当前p×q块的块映射类型相同的块映射类型;d.将t时刻的第k个参考视点的深度图像 中的下一个p×q块作为当前p×q块,返回执行步骤a,直至t时刻的第k个参考视点的深度图像 中的所有p×q块处理完毕;

②逐一处理t时刻的第k个参考视点的彩色图像 中的 个尺寸大小为

(p+Δp)×(q+Δq)的块,定义正在处理的t时刻的第k个参考视点的彩色图像 中的第n个块 为当前块 记需绘制的虚拟视点彩色图像为 当当前块 的块映射类型为逐像素映射型时,利用t时刻的第k个参考视点的深度图像 所提供的深度信息,采用将参考视点的彩色图像中的像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟视点图像平面上的方法,逐像素点计算当前块 中的各个像素点在需绘制的虚拟视点彩色图像 中的坐标位置,并将当前块 中的各个像素点逐像素点地映射到需绘制的虚拟视点彩色图像 中;当当前块 的块映射类型为整块映射型时,选取当前块 中的一个像素点,再利用t时刻的第k个参考视点的深度图像 所提供的该像素点的深度信息,采用将参考视点的彩色图像中的像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟视点图像平面上的方法计算该像素点在需绘制的虚拟视点彩色图像 中的坐标位置,得到把该像素点从t时刻的第k个参考视点的彩色图像 映射到需绘制的虚拟视点彩色图像 中的坐标映射关系,并利用该坐标映射关系将当前块 中的各个像素点映射到需绘制的虚拟视点彩色图像 中;

③重复步骤②将t时刻的第k个参考视点的彩色图像 中的所有块全部映射到需绘制的虚拟视点彩色图像 中,得到由t时刻的第k个参考视点的彩色图像 和t时刻的第k个参考视点的深度图像 绘制成的虚拟视点彩色图像④重复步骤①~③直至得到由K个参考视点的彩色图像和其对应的深度图像分别绘制成的K幅虚拟视点彩色图像,K幅虚拟视点彩色图像用集合表示为

⑤采用图像融合方法融合由K个参考视点的彩色图像和其对应的深度图像分别绘制得到的K幅虚拟视点彩色图像,得到融合后的虚拟视点彩色图像,记融合后的虚拟视点彩色图像为I′D,t,并对融合后的虚拟视点彩色图像I′D,t中的空洞像素点进行填补,得到最终的虚拟视点彩色图像,记最终的虚拟视点彩色图像为ID,t。

2.根据权利要求1所述的一种基于可分级块的虚拟视点图像绘制方法,其特征在于所述的背离值的计算过程为:记背离值为σ,通过

中的任一个公式计算得到,其中,dx,y为需要计算背离值的块中坐标为(x,y)的像素点的像素值,为需要计算背离值的块包含的所有像素点的像素值的平均值,其值为 X×Y表示需要计算背离值的块的尺寸大小。

3.根据权利要求1或2所述的一种基于可分级块的虚拟视点图像绘制方法,其特征在于所述的步骤②中当当前块 的块映射类型为整块映射型时,将当前块 中的各个像素点映射到需绘制的虚拟视点彩色图像 中的具体过程为:a.任取当前块 中的一个像素点,记该像素点的坐标为(xc,yc),将该像素点到当前块 的左边界的距离记为Δx,将该像素点到当前块 的下边界的距离记为Δy,则该像素点到当前块 的右边界的距离为(p+Δp)-Δx-1,该像素点到当前块 的上边界的距离为(q+Δq)-Δy-1;

b.利用t时刻的第k个参考视点的深度图像 所提供的坐标为(xc,yc)的像素点的深度信息,采用将参考视点的彩色图像中的像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟视点图像平面上的方法计算坐标为(xc,yc)的像素点在需绘制的虚拟视点彩色图像 中的坐标位置,记计算得到的坐标位置为(x′c,y′c);c.计算需绘制的虚拟视点彩色图像 中坐标为(x′,y′)的像素点的像素值,其中,(x′c-Δx)≤x′≤(x′c+((p+Δp)-Δx-1)),(y′c-Δy)≤y′≤(y′c+((q+Δq)-Δy-1)),记由t时刻的第k个参考视点的彩色图像和t时刻的第k个参考视点的深度图像 绘制得到的虚拟视点彩色图像 中坐标为(x′,y′)的像素点的像素值为 (x′,y′), 其中, (xc+x′-x′c,yc+y′-y′c)为t时刻的第k个参考视点的彩色图像 中坐标为(xc+x′-x′c,yc+y′-y′c)的像素点的像素值。

4.根据权利要求1所述的一种基于可分级块的虚拟视点图像绘制方法,其特征在于所述的步骤①中的块映射类型还包括坐标拷贝型,在所述的步骤①-2中将当前16×16块直接记为ni×ni块或分解为4个8×8块之前,先判断当前16×16块的编码模式是否为SKIP模式且运动矢量是否为0,如果编码模式为SKIP模式且运动矢量为0,则将当前16×16块记为p×q块,p=16,q=16,并标记该p×q块的块映射类型为坐标拷贝型,然后执行步骤①-11,否则,将当前16×16块直接记为ni×ni块或分解为4个8×8块。

5.根据权利要求4所述的一种基于可分级块的虚拟视点图像绘制方法,其特征在于所述的步骤②中当当前块 的块映射类型为坐标拷贝型时,在将当前块 的各个像素点从t时刻的第k个参考视点的彩色图像 映射到需绘制的虚拟视点彩色图像 中时,当前块的各个像素点的坐标映射关系采用t时刻的第k个参考视点的彩色图像 的参考帧 中与当前块 坐标位置相同的对应块中的对应像素点的坐标映射关系,其中,r为一非零整数且|r|<图像组GOP的长度。

说明书 :

一种基于可分级块的虚拟视点图像绘制方法

技术领域

[0001] 本发明涉及一种立体电视/自由视点电视技术,尤其是涉及一种基于可分级块的立体电视/自由视点电视的虚拟视点图像的绘制方法。

背景技术

[0002] 自由视点电视(Free viewpoint TV,FTV)是一种先进的视觉模式,它具有交互性和临场感,可以满足人们从不同角度观看三维场景的需求。自由视点电视系统通常由多视点视频信号采集、校正、编码、网络传输、解码、绘制和显示等几部分组成。 [0003] 基于彩色图像的绘制是立体电视/自由视点电视系统的关键技术之一,它是从一系列已知的参考视点的彩色图像出发绘制生成虚拟视点图像的方法。与传统的绘制技术相比,它具有不需要复杂的三维场景建模、绘制速度快、适合于合成场景和真实场景等优点。基于深度图像的绘制(Depth Image Based Rendering,DIBR)是一种利用参考视点的彩色图像及该参考视点的彩色图像所对应的深度图像绘制生成虚拟视点图像的方法。DIBR由于将场景的深度信息引入到虚拟视点图像绘制中,从而大大减少了虚拟视点图像绘制所需的参考视点的数目。
[0004] DIBR通过利用参考视点的彩色图像及该参考视点的彩色图像中的每个像素对应的深度信息来合成三维场景的虚拟视点图像。其过程如下:首先利用深度信息将参考视点的彩色图像中的所有像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟视点图像平面上。这个从二维到三维的重投影以及从三维再到二维的投影被称为三维图像变换(3D image warping)。
[0005] 虚拟视点图像绘制质量的好坏以及绘制的速度对于立体电视/自由视点电视系统的性能是至关重要的。现有的基于深度图像的虚拟视点图像绘制算法为保证绘制的精度一般采用逐像素进行三维图像变换(3D image warping)的映射方法,因此计算复杂度过高,要满足实时观看需求还存在一定的困难。

发明内容

[0006] 本发明所要解决的技术问题是提供一种在能够保证绘制精度的同时,提高绘制速度 的虚拟视点图像的绘制方法。
[0007] 本发明解决上述技术问题所采用的技术方案为:一种基于可分级块的虚拟视点图像绘制方法,包括以下具体步骤:
[0008] ①获取t时刻的K个参考视点的尺寸大小为P×Q的K幅彩色图像及其对应的Kk幅深度图像,将t时刻的第k个参考视点的彩色图像记为IR,t,将t时刻的第k个参考视点k k k
的深度图像记为DR,t,将t时刻的第k个参考视点的彩色图像IR,t 自适应地划分成NR 个尺寸大小为(p+Δp)×(q+Δq)的块,并标记各个块的块映射类型,块映射类型包括逐像素k k
映射型和整块映射型,记t时刻的第k个参考视点的彩色图像IR,t 中的第n个块为Bn,其中,k∈[1,K], p和q的值均为16、8、4、2、1五个值中的一个,Δp表
k k
示块Bn 与其右相邻块之间重叠的像素点的列数,0≤Δp≤2,当Δp=0时表示块Bn 与k k
其右相邻块不重叠或表示块Bn 为t时刻的第k个参考视点的彩色图像IR,t 的右边界处的k
块,Δq表示块Bn 与其下相邻块之间重叠的像素点的行数,0≤Δq≤2,当Δq=0时表k k k
示块Bn 与其下相邻块不重叠或表示块Bn 为t时刻的第k个参考视点的彩色图像IR,t 的下边界处的块;
[0009] 此处,将t时刻的第k个参考视点的彩色图像IR,tk自适应地划分成NRk个尺寸大小为(p+Δp)×(q+Δq)的块并标记各个块的块映射类型的具体步骤为:
[0010] ①-1、将t时刻的第k个参考视点的深度图像DR,tk划分成 个互不重叠的16×16块,其中,P表示深度图像的宽,Q表示深度图像的高;
[0011] ①-2、定义当前正在处理的16×16块为当前16×16块,将当前16×16块记为ni×ni块,或将当前16×16块分解为4个8×8块,将4个8×8块均记为ni×ni块,其中,i的初始值为1;
[0012] ①-3、定义当前正在处理的ni×ni块为当前ni×ni块,计算当前ni×ni块的背离值,判断当前ni×ni块的背离值是否小于阈值,如果是,则将当前ni×ni块记为p×q块, p=ni,q=ni,并标记该p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,再判断ni是否等于预设尺寸值m,其中,m≤n1,当ni=m时,将当前ni×ni块记为p×q块,p=ni,q=ni,并标记该p×q块的块映射类型为逐像素映射型,然后执行步骤①-10,当ni>m时,继续执行;
[0013] ①-4、将当前ni×ni块分解成2个 块,分别计算2个 块的背离值,判断 块的背离值是否均小于阈值,如果是,则将2个 块分别记为p×q块,p=ni, 并标记该2个p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,继续执行;
[0014] ①-5、对当前ni×ni块进行重新分解,分解成2个 块,分别计算2个 块的背离值,判断2个 块的背离值是否均小于阈值,如果是,则将2个 块分别记为p×q块, q=ni,并标记该2个p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,继续执行;
[0015] ①-6、当步骤①-4中的2个 块中的其中一个块的背离值小于阈值时,将背离值小于阈值的 块记为p×q块,p=ni, 标记该p×q块的块映射类型为整块映射型,并将背离值大于等于阈值的 块分解为2个 块,然后执行步骤①-9;当2个 块的背离值均大于等于阈值时,继续执行;
[0016] ①-7、当步骤①-5中的2个 块中的其中一个块的背离值小于阈值时,将背离值小于阈值的 块记为p×q块, q=ni,标记该p×q块的块映射类型为整块映射型,并将背离值大于等于阈值的 块分解为2个 块,然后执行步骤①-9;当2个 块的背离值均大于等于阈值时,继续执行;
[0017] ①-8、对当前ni×ni块进行重新分解,分解成4个 块,并继续执行; [0018] ①-9、将i加1,然后将步骤①-6或步骤①-7或步骤①-8得到的各个 块记为 块,令 再返回步骤①-3继续执行,直至当前ni×ni块已分解为尺寸大 小为预设尺寸值m的块或分解得到的块的背离值小于阈值为止;
[0019] ①-10、将当前16×16块中的下一个ni×ni块作为当前ni×ni块,并将i值置为1,然后返回步骤①-3继续执行,直至当前16×16块中的所有ni×ni块处理完毕; [0020] ①-11、将下一个16×16块作为当前16×16块,并返回步骤①-2继续执行,直至t时刻的第k个参考视点的深度图像DR,tk中的所有16×16块处理完毕;
[0021] ①-12、根据t时刻的第k个参考视点的深度图像DR,tk的p×q块的划分及各个p×q块标记的块映射类型,将t时刻的第k个参考视点的彩色图像IR,tk划分成相应的尺寸大小为(p+Δp)×(q+Δq)的块,并标记相应的块映射类型,具体过程为:a.定义t时刻的第k个参考视点的深度图像DR,tk中的第一个p×q块为当前p×q块,将t时刻的第k个参考视点的彩色图像IR,tk中坐标位置与当前p×q块相同的对应块作为t时刻的第k个参考视点的彩色图像IR,tk中的p×q块;b.将t时刻的第k个参考视点的彩色图像IR,tk中的该p×q块向右扩展Δp个像素点且向下扩展Δq个像素点,形成t时刻的第k个参考视点的彩色图像IR,tk中的尺寸大小为(p+Δp)×(q+Δq)的块;c.根据当前p×q块的块映射类型,将该尺寸大小为(p+Δp)×(q+Δq)的块的块映射类型标记为与当前p×q块的块映射类型相同的块映射类型;d.将t时刻的第k个参考视点的深度图像DR,tk中的下一个p×q块作为当前p×q块,返回执行步骤a,直至t时刻的第k个参考视点的深度图像DR,tk中的所有p×q块处理完毕;
[0022] ②逐一处理t时刻的第k个参考视点的彩色图像IR,tk中的NRk个尺寸大小为(p+Δp)×(q+Δq)的块,定义正在处理的t时刻的第k个参考视点的彩色图像IR,tk中的第n个块Bnk为当前块Bnk,记需绘制的虚拟视点彩色图像为ID,tk,当当前块Bnk的块映射类型为逐像素映射型时,利用t时刻的第k个参考视点的深度图像DR,tk所提供的深度信息,采用公知的三维图像变换方法逐像素点计算当前块Bnk中的各个像素点在需绘制的虚拟视点彩色图像ID,tk中的坐标位置,并将当前块Bnk中的各个像素点逐像素点地映射到需绘 制的虚拟视点彩色图像ID,tk中;当当前块Bnk的块映射类型为整块映射型时,选取当前块Bnk中的一个像素点,再利用t时刻的第k个参考视点的深度图像DR,tk所提供的该像素点的深度信息,采用公知的三维图像变换方法计算该像素点在需绘制的虚拟视点彩色图像ID,tk中的坐标位置,得到把该像素点从t时刻的第k个参考视点的彩色图像IR,tk映射到需绘制的虚拟视点彩色图像ID,tk中的坐标映射关系,并利用该坐标映射关系将当前块Bnk中的各个像素k点映射到需绘制的虚拟视点彩色图像ID,t 中;
[0023] ③重复步骤②将t时刻的第k个参考视点的彩色图像IR,tk中的所有块全部映射到k k需绘制的虚拟视点彩色图像ID,t 中,得到由t时刻的第k个参考视点的彩色图像IR,t 和tk k
时刻的第k个参考视点的深度图像DR,t 绘制成的虚拟视点彩色图像ID,t ; [0024] ④重复步骤①~③直至得到由K个参考视点的彩色图像和其对应的深度图像分别绘制成的K幅虚拟视点彩色图像,K幅虚拟视点彩色图像用集合表示为
[0025] ⑤采用图像融合方法融合由K个参考视点的彩色图像和其对应的深度图像分别绘制得到的K幅虚拟视点彩色图像,得到融合后的虚拟视点彩色图像,记融合后的虚拟视点彩色图像为I′D,t,并对融合后的虚拟视点彩色图像I′D,t中的空洞像素点进行填补,得到最终的虚拟视点彩色图像,记最终的虚拟视点彩色图像为ID,t。
[0026] 所述的背离值的计算过程为:记背离值为σ,通过中的任一个公式计算得到,其中,dx,y为需要计算背离值的块中坐标为(x,y)的像素点的像素值, 为需要计算背离值的块包含的所有像素点的像素值的平均值,其值为 X×Y表
示需要计算背离值的块的尺寸大小。
k k
[0027] 所述的步骤②中当当前块Bn 的块映射类型为整块映射型时,将当前块Bn 中k的各个像素点映射到需绘制的虚拟视点彩色图像ID,t 中的具体过程为:a.任取当前k k
块Bn 中的一 个像素点,记该像素点的坐标为(xc,yc),将该像素点到当前块Bn 的k
左边界的距离记为Δx,将该像素点到当前块Bn 的下边界的距离记为Δy,则该像k k
素点到当前块Bn 的右边界的距离为(p+Δp)-Δx-1,该像素点到当前块Bn 的上边k
界的距离为(q+Δq)-Δy-1;b.利用t时刻的第k个参考视点的深度图像DR,t 所提供的坐标为(xc,yc)的像素点的深度信息,采用公知的三维图像变换方法计算坐标k
为(xc,yc)的像素点在需绘制的虚拟视点彩色图像ID,t 中的坐标位置,记计算得到的k
坐标位置为(x′c,y′c);c.计算需绘制的虚拟视点彩色图像ID,t 中坐标为(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,k k k
t 和t时刻的第k个参考视点的深度图像DR,t 绘制得到的虚拟视点彩色图像ID,t 中坐标为k
(x′,y′)的像素点的像素值为ID,t(x′,y′),
其中,IR,tk(xc+x′-x′c,yc+y′-y′c)为t时刻的第k个参考视点的彩色图像IR,tk中坐标为(xc+x′-x′c,yc+y′-y′c)的像素点的像素值。
[0028] 所述的步骤①中的块映射类型还包括坐标拷贝型,在所述的步骤①-2中将当前16×16块直接记为ni×ni块或分解为4个8×8块之前,先判断当前16×16块的编码模式是否为SKIP模式且运动矢量是否为0,如果编码模式为SKIP模式且运动矢量为0,则将当前16×16块记为p×q块,p=16,q=16,并标记该p×q块的块映射类型为坐标拷贝型,然后执行步骤①-11,否则,将当前16×16块直接记为ni×ni块或分解为4个8×8块。 [0029] 所述的步骤②中当当前块Bnk的块映射类型为坐标拷贝型时,在将当前块Bnk的各k
个像素点从t时刻的第k个参考视点的彩色图像IR,t 映射到需绘制的虚拟视点彩色图像k k
ID,t 中时,当前块Bn 的各个像素点的坐标映射关系采用t时刻的第k个参考视点的彩色图k k k
像IR,t 的参考帧IR,t-r 中与当前块Bn 坐标位置相同的对应块中的对应像素点的坐标映射关系,其中,r为一非零整数且|r|<图像组GOP的长度。
[0030] 与现有技术相比,本发明的优点在于根据参考视点的深度图像的平滑与否自适应地将参考视点的彩色图像划分成若干个尺寸大小不尽相同的块,对于块映射类型为整块映射型的块只需对该块中的一个像素点实施三维图像变换以确定将该像素点从参考视点的彩色图像投影到需绘制的虚拟视点彩色图像的坐标映射关系,然后整个块采用此坐标映射关系投影到需绘制的虚拟视点彩色图像中,由于只对一个像素点实施三维图像变换,因而可有效提高整块映射型块的绘制速度;对于块映射类型为逐像素映射型的块,由于这些块主要位于对象与背景的边界区域,因此仍采用逐像素映射的三维图像变换方法将块中的各个像素点映射到需绘制的虚拟视点彩色图像中,有效保证了绘制精度,这样两者的结合使得本发明方法在保证虚拟视点彩色图像绘制精度的同时,大大提高了绘制的速度。另一方面,本发明方法还利用了参考视点的深度图像的时域相关性,对于时域上前后相邻帧中内容不变的区域,其向虚拟视点彩色图像投影的坐标直接拷贝自己经处理的参考帧,从而进一步减少了实施三维图像变换的像素点的数量。

附图说明

[0031] 图1为块Bnk与其右相邻块和下相邻块相重叠的示意图;
[0032] 图2为对t时刻的第k个参考视点的深度图像DR,tk中的16×16块进行自适应分块可能得到的具有不同尺寸大小的块(尺寸大小为1×1的块除外)的示意图; [0033] 图3为一个16×16块分块后可能的分块结果示意图;
[0034] 图4为将整块映射型块中的各个像素点采用相同的映射参数映射到需绘制的虚k拟视点彩色图像ID,t 中的过程示意图;
[0035] 图5a为“Ballet”测试序列的在虚拟视点位置实际拍摄得到的彩色图像的局部区域图;
[0036] 图5b为采用现有的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像的局部区域图;
[0037] 图5c为采用本发明方法绘制得到的虚拟视点彩色图像的局部区域图; [0038] 图6a为“Ballet”测试序列的在虚拟视点位置实际拍摄得到的彩色图像的另一局部区域图;
[0039] 图6b为采用现有的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像的另一局部区域图;
[0040] 图6c为采用本发明方法绘制得到的虚拟视点彩色图像的另一局部区域图。 具体实施方式
[0041] 以下结合附图实施例对本发明作进一步详细描述。
[0042] 实施例一:本发明的一种基于可分级块的虚拟视点图像绘制方法,包括以下具体步骤:
[0043] ①获取t时刻的K个参考视点的尺寸大小为P×Q的K幅彩色图像及其对应的Kk幅深度图像,将t时刻的第k个参考视点的彩色图像记为IR,t,将t时刻的第k个参考视点k k
的深度图像记为DR,t,然后根据t时刻的第k个参考视点的深度图像DR,t 的区域平滑与否,k
对t时刻的第k个参考视点的彩色图像IR,t 进行自适应分块并标记块映射类型,即:将t时k k
刻的第k个参考视点的彩色图像IR,t 自适应地划分成NR 个尺寸大小为(p+Δp)×(q+Δq)k
的块,并标记各个块的块映射类型,记t时刻的第k个参考视点的彩色图像IR,t 中的第n个k
块为Bn,其中,k∈[1,K], 表示所有块的并集构成t时刻
k
的第k个参考视点的彩色图像DR,t,p和q的值均为16、8、4、2、1五个值中的一个,Δp表示k k
块Bn 与其右相邻块之间重叠的像素点的列数,0≤Δp≤2,当Δp=0时表示块Bn 与其k k
右相邻块不重叠或表示块Bn 为t时刻的第k个参考视点的彩色图像IR,t 的右边界处的块,k
在此,右相邻块即位于当前块的正右方的相邻块,Δq表示块Bn 与其下相邻块之间重叠的k k
像素点的行数,0≤Δq≤2,当Δq=0时表示块Bn 与其下相邻块不重叠或表示块Bn 为k
t时刻的第k个参考视点的彩色图像IR,t 的下边界处的块,在此,下相邻块即位于当前块的k
正下方的相邻块,图1给出了块Bn 与其右相邻块和下相邻块相重叠的示意图。 [0044] 在此,根据向需绘制的虚拟视点彩色图像映射方式的不同,块映射类型存在以下k
两种,即逐像素映射型和整块映射型,通常t时刻的第k个参考视点的彩色图像IR,t 中逐像素映射型的块的Δp=0,Δq=0。
[0045] 在此具体实施例中,将t时刻的第k个参考视点的彩色图像IR,tk自适应地划分成kBR 个 尺寸大小为(p+Δp)×(q+Δq)的块并标记各个块的块映射类型的总体过程为:将tk
时刻的第k个参考视点的深度图像DR,t 划分成 个互不重叠的16×16块,然后逐一k
考察t时刻的第k个参考视点的深度图像DR,t 的各个16×16块,依次取尚未处理的下一个16×16块作为当前16×16块进行处理,将当前16×16块不断一分为二或一分为四,即分解得到的块可以是尺寸大小为16×16、16×8、8×16、8×8、8×4、4×8、4×4、4×2、2×4、
2×2、2×1、1×2、1×1的块,将每一个块记为一个p×q块;或者先将当前16×16块一分为四得到的4个8×8块,然后将这4个8×8块不断一分为二或一分为四,即分解得到的块可以是尺寸大小为8×8、8×4、4×8、4×4、4×2、2×4、2×2、2×1、1×2、1×1的块,将每一个块记为一个p×q块,在上述一分为二或一分为四的块分解过程中,某一块不再进一步分解下去的条件是该块的背离值小于设定的阈值,即该块中的所有像素点的深度值较为接近,也就是说该块中的所有像素点基本位于同一深度平面,因而该块中的各个像素点的坐标映射关系也基本一致;或者分解得到的块的尺寸大小为m×m(m为预设尺寸值,为逐像素映射型的块的尺寸)且该块的背离值大于等于阈值T时也结束该m×m块的分解。重复上述过k
程直至处理完t时刻的第k个参考视点的深度图像DR,t 中的所有16×16块。图2给出了当前16×16块进行自适应分块可能得到的各种块的形式(尺寸大小为1×1的块除外),图3则给出了当前16×16块的可能的分块结果。接下来依据t时刻的第k个参考视点的k k
深度图像DR,t 中的各个p×q块的划分,来划分t时刻的第k个参考视点的彩色图像IR,t的p×q块,并进而扩展成(p+Δp)×(q+Δq)块,即对于t时刻的第k个参考视点的深度图k
像DR,t 的1个p×q块(可以是16×16、16×8、8×16、8×8、8×4、4×8、4×4、4×2、2×4、k
2×2、2×1、1×2、1×1的块),标记t时刻的第k个参考视点的彩色图像IR,t 中坐标位置k
相同的对应块为1个p×q块,并将t时刻的第k个参考视点的彩色图像IR,t 中的该p×q块向右扩展Δp个像素点,向下扩展Δq个像素点,最终形成t时刻的第k个参考视点彩色k
图像IR,t 的尺寸大小为(p+Δp)×(q+Δq)的块,然后将该(p+Δp)×(q+Δq)块的块映射k
类型标记为第k个参考视点的深度图像DR,t 中对应p×q块的块映射类型,特别地,若对应p×q块为1×1块即单像素块,则将该(p+Δp)×(q+Δq)块类型标记为逐像素映射型。具体步骤如下:
[0046] ①-1、将t时刻的第k个参考视点的深度图像DR,tk划分成 个互不重叠的16×16 块,其中,P表示深度图像的宽,Q表示深度图像的高;
[0047] ①-2、定义当前正在处理的16×16块为当前16×16块,将当前16×16块记为ni×ni块,或将当前16×16块分解为4个8×8块,将4个8×8块均记为ni×ni块,其中,i的初始值为1;
[0048] ①-3、定义当前正在处理的ni×ni块为当前ni×ni块,计算当前ni×ni块的背离值,判断当前ni×ni块的背离值是否小于阈值,如果是,则将当前ni×ni块记为p×q块,p=ni,q=ni,并标记该p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,再判断ni是否等于预设尺寸值m,其中,m≤n1,当ni=m时,将当前ni×ni块记为p×q块,p=ni,q=ni,并标记该p×q块的块映射类型为逐像素映射型,然后执行步骤①-10,当ni>m时,继续执行;
[0049] ①-4、将当前ni×ni块分解成2个 块,分别计算2个 块的背离值,判断2个 块的背离值是否均小于阈值,如果是,则将2个 块分别记为p×q块,p=ni, 并标记该2个p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,继续执行;
[0050] ①-5、对当前ni×ni块进行重新分解,分解成2个 块,分别计算2个 块的背离值,判断2个 块的背离值是否均小于阈值,如果是,则将2个 块分别记为p×q块, q=ni,并标记该2个p×q块的块映射类型为整块映射型,然后执行步骤①-10,否则,继续执行;
[0051] ①-6、当步骤①-4中的2个 块中的其中一个块的背离值小于阈值时,将背离值小于阈值的 块记为p×q块,p=ni, 标记该p×q块的块映射类型为整块映射型,并将背离值大于等于阈值的 块分解为2个 块,然后执行步骤①-9;当2个 块的背离值均大于等于阈值时,继续执行;
[0052] ①-7、当步骤①-5中的2个 块中的其中一个块的背离值小于阈值时,将背离 值小于阈值的 块记为p×q块, q=ni,标记该p×q块的块映射类型为整块映射型,并将背离值大于等于阈值的 块分解为2个 块,然后执行步骤①-9;当2个 块的背离值均大于等于阈值时,继续执行;
[0053] ①-8、对当前ni×ni块进行重新分解,分解成4个 块,并继续执行; [0054] ①-9、将i加1,然后将步骤①-6或步骤①-7或步骤①-8得到的各个 块记为 块,令 再返回步骤①-3继续执行,直至当前ni×ni块已分解为尺寸大小为预设尺寸值m的块或分解得到的块的背离值小于阈值为止;
[0055] ①-10、将当前16×16块中的下一个ni×ni块作为当前ni×ni块,并将i值置为1,然后返回步骤①-3继续执行,直至当前16×16块中的所有ni×ni块处理完毕; [0056] ①-11、将下一个16×16块作为当前16×16块,并返回步骤①-2继续执行,直至k
t时刻的第k个参考视点的深度图像DR,t 中的所有16×16块处理完毕;
[0057] ①-12、根据t时刻的第k个参考视点的深度图像DR,tk的p×q块的划分及各个kp×q块标记的块映射类型,将t时刻的第k个参考视点的彩色图像IR,t 划分成相应的尺寸大小为(p+Δp)×(q+Δq)的块,并标记相应的块映射类型,具体过程为:a.定义t时刻的k
第k个参考视点的深度图像DR,t 中的第一个p×q块为当前p×q块,将t时刻的第k个参k
考视点的彩色图像IR,t 中坐标位置与当前p×q块相同的对应块作为t时刻的第k个参考k k
视点的彩色图像IR,t 中的p×q块;b.将t时刻的第k个参考视点的彩色图像IR,t 中的该p×q块向右扩展Δp个像素点且向下扩展Δq个像素点,形成t时刻的第k个参考视点的k
彩色图像IR,t 中的尺寸大小为(p+Δp)×(q+Δq)的块;c.根据当前p×q块的块映射类型,将该尺寸大小为(p+Δp)×(q+Δq)的块的块映射类型标记为与当前p×q块的块映射k
类型相同的块映射类型;d.将t时刻的第k个参考视点的深度图像DR,t 中的下一个p×qk
块作为当前p×q块,返回执行步骤a,直至t时刻的第k个参考视点的深度图像DR,t 中的所有p×q块处理完毕。
[0058] 上述 具 体 步 骤中,背 离 值的 计 算 过 程为:记背 离 值 为σ,通过 中的任一个公式计算得到,其中,dx,y为需要计算背离值的块中坐标为(x,y)的像素点的像素值, 为需要计算背离值的块包含的所有像素点的像素值的平均值,其值为 X×Y表示需要计算背离值的块的尺寸
大小。
[0059] 上述具体步骤中的阈值是根据计算背离值的不同方式确定的,如果在实际应用过程中背离值采用 计算得到,那么对于8×8块、或8×4块、或4×8块,阈值可取1,对于其余块阈值可取0.5。
[0060] 在此具体实施例中,预设尺寸值m的值可以为8、4、2、1中的任一值,如果预设尺寸值m的值取得较小,则可取得较好的划分效果,但与m值较大时相比,计算复杂度会有所增加。 [0061] 在此具体实施例中,对于t时刻的第k个参考视点的彩色图像IR,tk中的尺寸大小为(p+Δp)×(q+Δq)的块,如果该块的块映射类型为逐像素映射型,则该块的Δp=0,Δq=0。而如果块映射类型为整块映射型,则该块的Δp=1,Δq=1。非零的Δp和Δq有助于减少块映射时在块与块之间产生的空洞。由于这样的空洞通常为一个像素的宽度,因此对于整块映射型的(p+Δp)×(q+Δq)块通常取Δp=1,Δq=1。
[0062] ②逐一处理t时刻的第k个参考视点的彩色图像IR,tk中的NRk个尺寸大小为(p+Δp)×(q+Δq)的块,定义正在处理的t时刻的第k个参考视点的彩色图像IR,tk中的第n个块Bnk为当前块Bnk,记需绘制的虚拟视点彩色图像为ID,tk,当当前块Bnk的块映射类型为逐像素映射型时,利用t时刻的第k个参考视点的深度图像DR,tk所提供的深度信息,采用公知的三维图像变换方法逐像素点计算当前块Bnk中的各个像素点在需绘制的虚拟视点彩色图像ID,tk中的坐标位置,并将当前块Bnk中的各个像素点逐像素点地映射到需绘 制的虚拟视点彩色图像ID,tk中;当当前块Bnk的块映射类型为整块映射型时,选取当前块Bnk中的一个像素点,再利用t时刻的第k个参考视点的深度图像DR,tk所提供的该像素点的深度信息,采用公知的三维图像变换方法计算该像素点在需绘制的虚拟视点彩色图像ID,tk中的坐标位置,得到把该像素点从t时刻的第k个参考视点的彩色图像IR,tk映射到需绘制的虚拟视点彩色图像ID,tk中的坐标映射关系,并利用该坐标映射关系将当前块Bnk中的各个像素点映射到需绘制的虚拟视点彩色图像ID,tk中。
[0063] 在此具体实施例中,当当前块Bnk的块映射类型为整块映射型时,将当前块Bnk中的各个像素点映射到需绘制的虚拟视点彩色图像ID,tk中的具体过程为:a.任取当前块Bnk中的一个像素点,记该像素点的坐标为(xc,yc),将该像素点到当前块Bnk的左边界的距离记为Δx,将该像素点到当前块Bnk的下边界的距离记为Δy,则该像素点到当前块Bnk的右边界的距离为(p+Δp)-Δx-1,该像素点到当前块Bnk的上边界的距离为(q+Δq)-Δy-1;b.利用t时刻的第k个参考视点的深度图像DR,tk所提供的坐标为(xc,yc)的像素点的深度信息,采用公知的三维图像变换方法计算坐标为(xc,yc)的像素点在需绘制的虚拟视点彩色图像ID,tk中的坐标位置,记计算得到的坐标位置为(x′c,y′c);c.计算需绘制的虚拟视点彩色图像ID,tk中坐标为(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,tk和t时刻的第k个参考视点的深度图像DR,tk绘制得到的虚拟视点彩色图像ID,tk中坐标为(x′,y′)的像素点的像素值为ID,tk(x′,y′), k其中,IR,t(xc+x′-x′c,yc+y′-y′c)为t时刻的
k
第k个参考视点的彩色图像IR,t 中坐标为(xc+x′-x′c,yc+y′-y′c)的像素点的像素k
值。图4给出了将整块映射型的块Bn 中的各个像素点采用相同的坐标映射关系映射到需k
绘制的虚拟视点彩色图像ID,t 中的示意图。需要说明的是,采用三维图像变换的方法将某参考视点的彩色图像重投影到虚拟视点彩色图像的过程如下:首先利用深度信息将参考视点的 彩色图像中的像素点重投影到实际的三维空间中,然后再将这些三维空间中的点投影到目标图像平面即虚拟视点图像平面上。该过程不仅能将参考视点的彩色图像中各个像素点重投影到虚拟视点彩色图像中,同时也能获取虚拟视点彩色图像对应的深度图像。 [0064] ③重复步骤②将t时刻的第k个参考视点的彩色图像IR,tk中的所有块全部映射到k k
需绘制的虚拟视点彩色图像ID,t 中,得到由t时刻的第k个参考视点的彩色图像IR,t 和tk k
时刻的第k个参考视点的深度图像DR,t 绘制成的虚拟视点彩色图像ID,t。 [0065] ④重复步骤①~③直至得到由K个参考视点的彩色图像和其对应的深度图像分别绘制成的K幅虚拟视点彩色图像,K幅虚拟视点彩色图像用集合表示为
[0066] ⑤采用现有的成熟的图像融合方法融合由K个参考视点的彩色图像和其对应的深度图像分别绘制得到的K幅虚拟视点彩色图像,得到融合后的虚拟视点彩色图像,记融合后的虚拟视点彩色图像为I′D,t,并对融合后的虚拟视点彩色图像I′D,t中的空洞像素点进行填补,例如采用公知的图像插值的方法进行空洞填补,得到最终的虚拟视点彩色图像,记最终的虚拟视点彩色图像为ID,t。
[0067] 实施例二:本实施例与实施例一的处理过程基本相同,不同之处仅在于在本实施例中根据向需绘制的虚拟视点彩色图像映射方式的不同,块映射类型分三种情况,即逐像素映射型、整块映射型和坐标拷贝型,即块映射类型多了一种坐标拷贝型。 [0068] 在这种情况下,在步骤①-2中将当前16×16块直接记为ni×ni块或分解为4个8×8块之前,应先判断当前16×16块的编码模式是否为SKIP模式且运动矢量是否为0,如果编码模式为SKIP模式且运动矢量为0,则将当前16×16块记为p×q块,p=16,q=16,并标记该p×q块的块映射类型为坐标拷贝型,然后执行步骤①-11,否则,将当前16×16块直接记为ni×ni块或分解为4个8×8块。对于块映射类型为坐标拷贝型的(p+Δp)×(q+Δq)块,该块的Δp=0,Δq=0。
[0069] 在步骤②中当当前块Bnk的块映射类型为坐标拷贝型时,在将当前块Bnk的各个像k k素点从t时刻的第k个参考视点的彩色图像IR,t 映射到需绘制的虚拟视点彩色图像ID,t 中k
时,当前块Bn 的各个像素点的坐标映射关系采用t时刻的第k个参考视点的彩色图像IR,k k k
t 的参考帧IR,t-r 中与当前块Bn 坐标位置相同的对应块中的对应像素点的坐标映射关系,其中,r为一非零整数且|r|<图像组GOP的长度。在本实施例中,参考帧为t时刻的第 kk
个参考视点的彩色图像IR,t 在时域上的前一帧彩色图像,即r=1。
[0070] 以下通过客观比较现有的逐像素三维图像变换方法与本发明方法,以证明本发明方法的有效性和可行性。
[0071] 表1给出了本发明实施例二所给出的方法与采用传统的逐像素三维图像变换方法相比在绘制时间上节省的情况。采用传统的逐像素三维图像变换方法平均一帧的绘制时间是41ms,表1中给出了采用本发明方法平均一帧的绘制时间(逐像素映射型的块的预设尺寸值m=2)。由表1可见,随着量化参数QP的增加,由于深度图像压缩时采用SKIP模式的块数量的增多,本发明方法绘制一帧图像平均所用的时间节省比例也随之增加。在本发明中,时间节省的比例在45%~57%。这里,背离值采用了 的计算方法,对于8×8、8×4、4×8块阈值为1,其余块阈值为0.5。图5a给出了一幅“Ballet”测试序列的在虚拟视点位置实际拍摄得到的彩色图像的局部区域图,图5b给出了采用现有的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像的局部区域图,图5c给出了采用本发明实施例二的方法绘制得到的虚拟视点彩色图像的局部区域图,对比图5a、图5b及图5c,可知图5c得到的结果较接近于图5a所示的图像,而图5b得到的结果明显差于图
5c得到的结果;图6a给出了一幅“Ballet”测试序列的在虚拟视点位置实际拍摄得到的彩色图像的另一局部区域图,图65b给出了采用现有的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像的局部区域图,图6c给出了采用本发明实施例二的方法绘制得到的虚拟视点彩色图像的局部区域图,对比图6a、图6b及图6c,可知图6c得到的结果较接近于图
6a所示的图像,而图6b得到的结果明显差于图6c得到的结果,综合分析,可知本发明方法绘制得到的虚拟视点彩色图像主观质量明显优于采用传统的逐像素三维图像变换方法绘制得到的虚拟视点彩色图像。由此可见,本发明方法是有效的且是可行的,在保证虚拟视点彩色图像绘制精度的同时,大大提高了绘制的速度。
[0072] 表1本发明方法与采用逐像素三维图像变换方法相比在时间上节省的百分比 [0073]