使用多边形的3d网格和对应纹理对图像进行编码的制作方法_2

文档序号:8227601阅读:来源:国知局

[0024]在一些实施例中,应用126能够将多边形的编码3D网格和对应纹理发送给打印引擎132,其能够将多边形的编码3D网格和对应纹理发送给打印装置134。打印装置134能够包括打印机、传真机和其它打印装置,其能够使用打印对象模块136来打印多边形的编码3D网格和对应纹理。结合图10更详细论述打印对象模块。在实施例中,打印引擎132可通过网络130将数据发送给打印装置134。
[0025]图1的框图不是要表示计算装置100将包含图1所示的所有组件。此外,计算装置100可包括图1未示出的任何数量的附加组件,这取决于具体实现的细节。
[0026]当对二维(2D)视频进行编码时,运动估计搜索可对每帧执行,以便确定每帧的运动向量。如本文所使用的“帧”是视频流中的帧的时间序列之一,其中可对时间序列以一定间隔捕获每帧。例如,帧可以以每秒30帧、每秒60帧或者以无论什么帧率来显示,并且需要样本间隔。帧率能够通过视频流的编码格式来指定。当播放视频流时,每帧在显示器上呈现短时间周期。运动估计是一种技术,其中分析帧序列中的对象的移动,以得到表示帧之间的对象的所估计运动的向量。通过运动估计,编码媒体文件包括帧中在没有包括该帧的其它部分的情况下移动的部分,由此节省媒体文件中的空间并且节省媒体文件的解码期间的处理时间。帧可分为宏块,以及运动向量表示帧之间的宏块的位置的变化。宏块通常是像素块。例如,宏块可能是16X8像素的大小。
[0027]2D运动估计搜索通常涉及执行每帧的运动向量的粗略搜索,以确定帧中的各宏块的所估计运动向量。初始估计运动向量可通过以更细粒度级执行附加搜索来细化。例如,宏块可以以从粗略到精细粒度级的各种分辨率来搜索,以便确定运动向量。其它运动估计搜索技术可包括但不限于在搜索运动向量时改变宏块的大小。
[0028]一旦运动向量和宏块类型通过对2D帧的运动估计搜索已经确定,比特率控制则可应用于每帧,以便创建满足目标2D视频流的编码格式的帧大小的帧。各种视频压缩格式将所述比特率用于视频流,以及比特率是当播放视频时存在的每秒比特数。视频编码格式包括但不限于H.264、MPEG-4和VC-1。帧可按照如下方式来确定大小:使得每帧比特数与目标视频流的编码格式的比特率一致。编码器可对2D媒体流再次执行运动估计,以便在比特率控制已经应用于每帧之后确定帧的更精细运动向量和宏块类型。一旦确定了新运动向量和宏块类型,2D帧则可按照目标视频压缩格式编码到最终压缩视频流中。
[0029]2D帧可编码为帧内编码帧(I帧)、预测图像帧(P帧)或双向预测图像帧(B帧)。当帧使用I帧来编码时,每个单独帧在编码中完全指定。因此,I帧传送整个图像纹理信息而无需使用来自先前帧的数据。每个I帧能够被看作是媒体编码的完全静态图像。当帧使用P帧来编码时,当前帧与前一帧之间的变化经过编码。图像的未改变像素没有经过编码,以及该帧在被编码时依靠来自先前帧的一些图像纹理信息。当帧使用B帧来编码时,与前一帧和后一帧相比时在每帧中发生的变化经过编码。视频流的帧可称作图像组(GOP)。每个GOP能够包含I帧、P帧和B帧的各种组合。此外,视频压缩格式可指定帧序列,以便遵照那种格式。相应地,在对视频流进行编码时,所产生的GOP可包括按照各种组合的I帧、P帧和B帧。
[0030]I帧、P帧和B帧的各种组合没有包括与图像关联的任何深度信息。相应地,I帧、P帧和B帧没有用来对立体图像纹理信息进行编码。在实施例中,提供对深度和立体图像纹理信息进行编码的标准化方法,其一般包括3D深度信息和关联图像纹理信息。可从飞行时间传感器、立体照相装置、径向图像等,来得到立体图像纹理信息。按照实施例,3D深度信息和关联图像纹理信息可使用3D多边形网格和对应纹理信息来编码。
[0031]图2A是按照实施例的多边形网格。多边形网格包括顶点、线条、边沿和面,其用来定义3D对象的形状。为了便于描述,本文所述的技术使用三角形网格来描述。但是,按照本技术,可使用任何类型的网格。例如,网格可以是四边形网格或三角形网格。此外,按照实施例,也可使用备选深度格式。例如,由于网格由3D空间中的点组成,所以深度信息也可被认为是3D点云。此外,网格可编码为2D阵列中的深度图,其中阵列值表示每个点的深度。
[0032]三角形网格200包括多个控制点、例如控制点204。控制点是三角形网格200中的位置,其包括诸如颜色、法线向量和纹理坐标之类的对应信息。纹理坐标可用来将控制点链接到纹理信息、例如纹理图。纹理信息将细节、颜色或图像纹理信息添加到三角形网格200。
[0033]图2B是按照实施例、具有所施加纹理的多边形网格。三角形网格200示出当纹理206已经应用于与图200所示三角形网格相似的说明性三角形网格时的人脸的形式。虽然在再现3D图像的上下文中描述了三角形网格200和对应纹理206,但是2D图像也可使用本技术来再现。在任何情况下,使用多边形网格和对应纹理来再现图像可使用图形流水线组合标准图形或媒体编码格式(例如OpenGL、DirectX、H.264、MPEG-4和VC_1)来实现。
[0034]图3是示出按照实施例、用于再现3D图像的方法的过程流程图300。在框302,深度信息和纹理信息使用图像捕获机构来得到。图像捕获机构可包括但不限于立体照相装置、飞行时间传感器、深度传感器、结构光照相装置、从标准2D图像帧的运动的深度的多视图重构或者径向图像。
[0035]在框304,照相装置和媒体流水线用来处理3D深度信息和关联图像纹理信息。在实施例中,照相装置和媒体流水线用来产生3D多边形网格和关联图像纹理信息。网格帧(M帧)可从多边形网格来生成。M帧可捕获与视频流的帧关联的多边形网格信息。M帧可包括控制点和关联纹理坐标等等。3D网格运动估计器可用来检测控制点的坐标的变化。控制点是网格、例如三角形网格200 (图2)中的位置,其包括诸如颜色、法线向量和纹理坐标之类的对应信息。通过运动估计,可得到向量,其表示帧之间的控制点的所估计运动。
[0036]纹理帧(T帧)可从关联图像纹理信息(其使用照相装置和媒体流水线来产生)来生成。T帧包括纹理坐标以及与视频流的帧关联的诸如细节、颜色或图像纹理信息之类的纹理信息。按照各个实施例,纹理是图像的一部分,其可成形为三角形、四边形或其它多边形形状。控制点可定义图像的顶点或者多边形的位置。3D纹理运动估计器可用来检测纹理信息的变化、例如照明或颜色的变化。通过运动估计,可得到向量,其表示帧之间的纹理信息的所估计运动,其中运动包含在限制纹理的单独多边形中。由此,多边形中改变的纹理经过编码,而无需对未改变纹理进行编码,因为它们尚未改变。通过运动估计,可得到纹理信息,其表示帧之间的纹理的所估计运动或变化。
[0037]当3D网格运动估计器或3D纹理运动估计器所检测的变化处于预定范围之内时,可生成变化帧(C帧)。C帧可称作部分M帧或部分T帧。在实施例中,如果表示两个帧之间的控制点的所估计运动的运动向量逐个坐标有少许偏移,则两个帧之间的变化可存储在C帧中。另外,在实施例中,如果在两个帧之间已经移动的控制点的百分比处于预定范围之内,则两个帧之间的变化可存储在C帧中。表示两个帧之间的纹理的所估计运动或变化的运动向量可按照类似方式来分析,以便确定C帧是否能够用来存储改变纹理信息。用来指定生成M帧、T帧还是C帧的预定范围可基于CODEC或视频编码格式或者装置或网络的性能能力的要求来确定,从而允许运动估计和编码对系统的功率和性能目标以及能力来调谐。此外,预定范围可基于预期图像质量、对所产生视频流的大小的限制、计算装置的存储容量或者网络带宽来确定。
[0038]在框306,对于3D视频流的每帧,对M帧、T帧或C帧进行编码。视频流可包括M帧、T帧和C帧的各种组合。如上所述,经过编码的每帧的类型可取决于3D视频流中发生的运动。
[0039]在框308,图形流水线可用来将编码3D流与框310的合成图形对象相组合,其中合成图形按照诸如OpenGL或DirectX之类的标准图形格式来组成。图形流水线可以是当前可用或者将来开发的任何图形流水线。例如,图形流水线可用来将编码3D视频流与合成3D计算机生成图像相组合。另外,图形流水线可用来将光源添加到编码3D视频流。在框312,在显示器上呈现组合视频流。
[0040]图4是按照实施例、M帧、T帧和C帧中存储的数据的简图。示出M帧402,其描述M帧中包含的信息。完全指定的M帧402可包括与多边形网格相关的任何信息。如本文所使用的“所指定”表示对每种类型的帧所存储的信息。在实施例中,M帧402包括参考编号。参考编号可标识M帧402以及它在帧序列中的顺序。M帧402还可包括对应T帧(其包括M帧402的纹理信息)的参考编号。在实施例中,M帧402可使用纹理坐标来引用其对应T帧。
[0041]M帧402还可包括与帧类型有关的信息。如果M帧402是整个帧,则该帧包括帧的完整网格信息。如果M帧402是部分帧,则该帧是C帧,并且包括当前帧与前一帧之间的改变网格信息。随M帧402还包括的是M帧的格式。M帧402可包括2D或3D控制点,这取决于所编码的视频流的类型。
[0042]多边形网格的形状也可通过M帧402来指定。任何多边形形状可用于网格。例如,每个多边形网格可具有三个控制点,从而使所产生网格成为三角形网格。在其它示例中,多边形网格可具有四个控制点,从而使所产生网格成为四边形网格。在实施例中,可使用其它多边形网格。M帧402也可指定控制点的结构网格阵列、网格阵列中的控制点的步幅以及控制点的计数。对应索引阵列也可采用M帧402来指定。
[0043]T巾贞404可包括与M巾贞402相似的参考编号。参考编号可应用于T巾贞404本身。T帧404还可包括对应M帧(其包括T帧的网格信息)的参考编号。在实施例中,T帧404可使用纹理坐标来引用其对应M帧。T帧404还可包括与帧类型有关的信息。如果T帧404是整个帧,则该帧包括帧的完整纹理信息。如果T帧404是部分帧,则该帧包括当前帧与前一帧之间的改变纹理信息,并且是C帧。另外,T帧可包括与纹理有关的任何信息。
[0044]T帧404也可指定图像压缩、图像范围和T帧所指定的图像纹理信息的图像格式。图像压缩可使用行程长度编码(RLE),以便实现C帧的无损编码。使用RLE压缩,当数据行程发生时,数据行程可作为单个数据值来存储,与重
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1