发明名称 一种虚拟视点图像绘制方法
摘要 本发明公开了一种虚拟视点图像绘制方法,优点在于通过将参考视点的彩色图像分成若干个尺寸大小相同的块,并对各个块的平坦性进行判断,对于平坦块,只需对该块中的一个像素点实施三维图像变换以确定将该像素点从参考视点彩色图像投影到虚拟视点彩色图像的坐标映射关系,然后整个块采用此坐标映射关系投影到虚拟视点彩色图像中,由于只对一个像素点实施三维图像变换,因而可有效提高平坦块的绘制速度;而对于非平坦块则仍采用逐像素映射的三维图像变换方法将非平坦块中的各个像素点映射到需绘制的虚拟视点彩色图像中,这样可有效保证绘制精度,两者的结合使得在保证虚拟视点彩色图像绘制精度的同时,大大提高了绘制的速度。
申请公布号 CN101556700A 申请公布日期 2009.10.14
申请号 CN200910098830.1 申请日期 2009.05.15
申请人 宁波大学 发明人 蒋刚毅;郁梅;朱波
分类号 G06T15/20(2006.01)I;G06T7/00(2006.01)I;H04N13/00(2006.01)I 主分类号 G06T15/20(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 代理人 程晓明
主权项 1、一种虚拟视点图像绘制方法,其特征在于包括以下具体步骤:①获取t时刻的K个参考视点的尺寸大小为P×Q的K幅彩色图像及其对应的K幅深度图像,将t时刻的第k个参考视点的彩色图像记为I<sub>R,t</sub><sup>k</sup>,将t时刻的第k个参考视点的深度图像记为D<sub>R,t</sub><sup>k</sup>,将t时刻的第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>划分成N<sub>R</sub><sup>k</sup>个尺寸大小为(p+Δp)×(q+Δq)的块,记第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>中的第n个块为B<sub>n</sub><sup>k</sup>,其中,k∈[1,K],<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>N</mi><mi>R</mi><mi>k</mi></msubsup><mo>=</mo><mfrac><mi>P</mi><mi>p</mi></mfrac><mo>&times;</mo><mfrac><mi>Q</mi><mi>q</mi></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mn>1</mn><mo>&le;</mo><mi>n</mi><mo>&le;</mo><msubsup><mi>N</mi><mi>R</mi><mi>k</mi></msubsup><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><munderover><mrow><mi></mi><mo>&cup;</mo></mrow><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><msubsup><mi>N</mi><mi>R</mi><mi>k</mi></msubsup></munderover><msubsup><mi>B</mi><mi>n</mi><mi>k</mi></msubsup><mo>=</mo><msubsup><mi>I</mi><mrow><mi>R</mi><mo>,</mo><mi>t</mi></mrow><mi>k</mi></msubsup><mo>,</mo></mrow></math>]]></maths>Δp表示块B<sub>n</sub><sup>k</sup>与其右相邻块之间重叠的像素点的列数,0≤Δp≤p,当Δp=0时表示块B<sub>n</sub><sup>k</sup>与其右相邻块不重叠或表示块B<sub>n</sub><sup>k</sup>为第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>的右边界处的块,Δq表示块B<sub>n</sub><sup>k</sup>与其下相邻块之间重叠的像素点的行数,0≤Δq≤q,当Δq=0时表示块B<sub>n</sub><sup>k</sup>与其下相邻块不重叠或表示块B<sub>n</sub><sup>k</sup>为第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>的下边界处的块;②定义第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>中的第n个块B<sub>n</sub><sup>k</sup>为当前块B<sub>n</sub><sup>k</sup>,判断当前块B<sub>n</sub><sup>k</sup>是否为平坦块,如果当前块B<sub>n</sub><sup>k</sup>为非平坦块,则利用第k个参考视点的深度图像D<sub>R,t</sub><sup>k</sup>所提供的深度信息,采用公知的三维图像变换方法逐像素点计算当前块B<sub>n</sub><sup>k</sup>中的各个像素点在需绘制的虚拟视点彩色图像中的坐标位置,并将当前块B<sub>n</sub><sup>k</sup>中的各个像素点逐像素点地映射到需绘制的虚拟视点彩色图像中;如果当前块B<sub>n</sub><sup>k</sup>为平坦块,则选取当前块B<sub>n</sub><sup>k</sup>中的一个像素点,再利用第k个参考视点的深度图像D<sub>R,t</sub><sup>k</sup>所提供的该像素点的深度信息,采用公知的三维图像变换方法计算该像素点在需绘制的虚拟视点彩色图像中的坐标位置,得到把该像素点从第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>映射到需绘制的虚拟视点彩色图像中的坐标映射关系,并利用该坐标映射关系将当前块B<sub>n</sub><sup>k</sup>中的各个像素点映射到需绘制的虚拟视点彩色图像中,具体处理过程如下:a.任取当前块B<sub>n</sub><sup>k</sup>中的一个像素点,记该像素点的坐标为(x<sub>c</sub>,y<sub>c</sub>),将该像素点到当前块B<sub>n</sub><sup>k</sup>的左边界的距离记为Δx,将该像素点到当前块B<sub>n</sub><sup>k</sup>的下边界的距离记为Δy,则该像素点到当前块B<sub>n</sub><sup>k</sup>的右边界的距离为(p+Δp)-Δx-1,该像素点到当前块B<sub>n</sub><sup>k</sup>的上边界的距离为(q+Δq)-Δy-1;b.利用第k个参考视点的深度图像D<sub>R,t</sub><sup>k</sup>所提供的坐标为(x<sub>c</sub>,y<sub>c</sub>)的像素点的深度信息,采用公知的三维图像变换方法计算坐标为(x<sub>c</sub>,y<sub>c</sub>)的像素点在需绘制的虚拟视点彩色图像中的坐标位置,记计算得到的坐标位置为(x′<sub>c</sub>,y′<sub>c</sub>);c.计算需绘制的虚拟视点彩色图像中坐标为(x′,y′)的像素点的像素值,其中,(x′<sub>c</sub>-Δx)≤x′≤(x′<sub>c</sub>+((p+Δp)-Δx-1)),(y′<sub>c</sub>-Δy)≤y′≤(y′<sub>c</sub>+((q+Δq)-Δy-1)),记由第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>和第k个参考视点的深度图像D<sub>R,t</sub><sup>k</sup>绘制得到的虚拟视点彩色图像为I<sub>D,t</sub><sup>k</sup>,记虚拟视点彩色图像I<sub>D,t</sub><sup>k</sup>中坐标为(x′,y′)的像素点的像素值为I<sub>D,t</sub><sup>k</sup>(x′,y′),<maths num="0004"><![CDATA[<math><mrow><msubsup><mi>I</mi><mrow><mi>D</mi><mo>,</mo><mi>t</mi></mrow><mi>k</mi></msubsup><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>,</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>=</mo><msubsup><mi>I</mi><mrow><mi>R</mi><mo>,</mo><mi>t</mi></mrow><mi>k</mi></msubsup><mrow><mo>(</mo><msub><mi>x</mi><mi>c</mi></msub><mo>+</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>-</mo><msubsup><mi>x</mi><mi>c</mi><mo>&prime;</mo></msubsup><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>+</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>-</mo><msubsup><mi>y</mi><mi>c</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,I<sub>R,t</sub><sup>k</sup>(x<sub>c</sub>+x′-x′<sub>c</sub>,y<sub>c</sub>+y′-y′<sub>c</sub>)为第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>中坐标为(x<sub>c</sub>+x′-x′<sub>c</sub>,y<sub>c</sub>+y′-y′<sub>c</sub>)的像素点的像素值;在采用公知的三维图像变换方法确定平坦块和非平坦块的映射关系时,如果需绘制的虚拟视点彩色图像I<sub>D,t</sub><sup>k</sup>中坐标为(x′,y′)的像素点与第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>中的多个像素点相对应,则虚拟视点彩色图像I<sub>D,t</sub><sup>k</sup>中坐标为(x′,y′)的像素点的像素值I<sub>D,t</sub><sup>k</sup>(x′,y′)取第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>中与坐标为(x′,y′)的像素点对应的多个像素点中深度值最小的像素点的像素值;③重复步骤②将第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>中的所有块全部映射到需绘制的虚拟视点彩色图像I<sub>D,t</sub><sup>k</sup>中,得到由第k个参考视点的彩色图像I<sub>R,t</sub><sup>k</sup>和第k个参考视点的深度图像D<sub>R,t</sub><sup>k</sup>绘制的虚拟视点彩色图像I<sub>D,t</sub><sup>k</sup>;④重复步骤①~③直至得到由K个参考视点的彩色图像和其对应的深度图像分别绘制的K幅虚拟视点彩色图像,K幅虚拟视点彩色图像用集合表示为<maths num="0005"><![CDATA[<math><mrow><mo>{</mo><msubsup><mi>I</mi><mrow><mi>D</mi><mo>,</mo><mi>t</mi></mrow><mi>k</mi></msubsup><mo>|</mo><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>K</mi><mo>}</mo><mo>;</mo></mrow></math>]]></maths>⑤采用图像融合方法融合由K个参考视点的彩色图像和其对应的深度图像分别绘制得到的K幅虚拟视点彩色图像,得到融合后的虚拟视点彩色图像,记融合后的虚拟视点彩色图像为I′<sub>D,t</sub>,并对融合后的虚拟视点彩色图像I′<sub>D,t</sub>中的空洞像素点进行填补,得到最终的虚拟视点彩色图像,记最终的虚拟视点彩色图像为I<sub>D,t</sub>。
地址 315211浙江省宁波市江北区风华路818号