CN1432969A - 基于深度图像表示三维物体的装置和方法 - Google Patents
基于深度图像表示三维物体的装置和方法 Download PDFInfo
- Publication number
- CN1432969A CN1432969A CN 02151900 CN02151900A CN1432969A CN 1432969 A CN1432969 A CN 1432969A CN 02151900 CN02151900 CN 02151900 CN 02151900 A CN02151900 A CN 02151900A CN 1432969 A CN1432969 A CN 1432969A
- Authority
- CN
- China
- Prior art keywords
- node
- octree
- image
- plane
- information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
Abstract
提供一种使用深度图像来表示三维图像物体的节点结构族。该节点结构族的主要格式是深度图像,点纹理和八叉树图像。深度图像通过参考图像和相应深度图的结合来表示一个物体。点纹理以一组通过投影到规则2D网格确定的颜色点参数表示该物体。八叉树图像将相同的数据变换为分层的八叉树结构的三维像素模型,一组压缩参考图像以及三维图像对应目录树。DIBR格式对来自3D范围扫描和多源视频数据中的3D模型结构很方便。MPEG-4框架允许主DIBR格式的宽范围表示的结构,为具有3D模型的有效工作提供灵活工具。通过将图像(视频)压缩技术用到深度图和参考图像(视频流)中实现对DIBR格式的压缩。
Description
技术领域
本发明涉及一种用于表示基于深度图像的三维(3D)物体的装置和方法,具体地说,涉及一种使用深度图像来表示三维(3D)物体的装置和方法,对于计算机图形和动画来讲,将其称为基于深度图像的表示法(DIBR),这已经在MPEG-4动画结构扩展(AFX)中采用。
背景技术
自从研究三维(3D)图形开始以来,研究者的根本目的是象实际图像一样合成实际图形景色。因此,在传统着色技术的研究中已经利用多边形模型,结果是,建模和着色技术的发展已经足以提供非常真实的3D环境。然而,产生复杂模型的过程需要通过专家大量的努力并花费大量时间。同样,现实中复杂的环境需要巨量的信息而导致存储和传输的低效率。
当前,多边形模型通常用来在计算机图形上表示3D物体。利用多组颜色多边形,即利用多组颜色三角形可基本表示一个任意形状。先进的软件算法和图形硬件的开发使得作为实际上静止和运动图像多边形模型的可视复杂物体和景色而变得可能。
然而,可替换的3D表示的探索在近十年中非常活跃。为此,主要原因包括为实物建立多边形模型的困难以及为产生真图片实际景色着色的复杂度和不令人满意的质量。
所需要的应用需用大量的多边形;例如,人体的详细模型包含几百万个三角形,这不容易处理。尽管近来在范围寻找技术中有了发展,如激光范围扫描器,使我们可以获取具有可容忍错误的密集范围数据,但它仍然非常昂贵且很难得到整个物体的无缝的完全多边形模型。另一方面,获得实际图片质量的着色(rendering)算法计算上很复杂,因此远远不能实时着色。
发明内容
本发明的一个方面是利用深度图像为表示三维(3D)物体提供节点结构,对计算机图形和动画,这称为基于深度图像表示(DIBR),它已经被采用到MPEG-4动画结构扩展中(AFX)。
本发明的另一个方面是提供一种具有程序的计算机可读取的记录介质,该程序用于实现通过使用深度图像来表示三维(3D)物体的方法,对于计算机图形和动画来将,这种称为基于深度图像的表示法(DIBR)已经通过计算机可读取的编码在MPEG-4动画结构扩展中(AFX)采用。
在一个方面中,本发明提供一种基于深度图像的三维(3D)物体表示装置,该装置包括一个观察点信息生成器,用于产生至少一个观察点信息;一个第一图像生成器,用于根据颜色信息产生彩色图像,该颜色信息相应于在构成物体的各个像素点上的观察点信息;一个第二图像生成器,用于根据深度信息产生深度图像,该深度信息相应于在构成物体的各个像素点上的观察点信息;一个节点生成器,用于产生图像节点,该图像节点由观察点信息、颜色图像和相应于观察点信息的深度图像组成;和一个编码器,用于对产生的图像节点进行编码。
在另一方面,本发明提供一种基于深度图像的三维(3D)物体表示装置,该装置包括一个观察点信息生成器,用于对观察物体的观察点生成观察点信息;一个平面信息生成器,用于生成平面信息,该平面信息限定相应于观察点信息的图像平面的宽度、高度和深度;一个深度信息生成器,用于对投影到图像平面上的物体的所有投影点的深度生成深度信息的序列;一个颜色信息生成器,用于对各个投影点生成颜色信息的序列;和一个节点生成器,用以生成节点,该节点由相应于图像平面的平面信息、深度信息的序列和颜色信息的序列组成。
还有一个方面,本发明提供一种基于深度图像的三维(3D)物体表示装置,该装置包括一个形状信息生成器,通过将包含物体的八叉树分割成8个子立方体并限定该分割的子立方体为子节点,从而产生物体的形状信息;一个参考图像确定器,用于确定包含每个立方体的颜色信息参考图像,该立方体通过形状信息生成器分割;一个指数生成器,用于产生相应于该形状信息的参考图像的指数信息,一个节点生成器,用于产生八叉树节点,该八叉树节点包括形状信息、指数信息和参考图像;和一个编码器,用于对八叉树节点进行编码以输出比特流,其中该形状信息生成器重复执行细分直到每个子立方体变得比预定尺寸要小。
在另一方面中,本发明提供一种基于深度图形的3D物体表示装置,该装置包括一个输入单元,用于输入比特流;一个第一提取器,用于从输入比特流中提取八叉树节点;一个解码器,用于解码八叉树节点;一个第二提取器,用于从所解码的八叉树节点中提取构成八叉树的多个立方体的形状信息和参考图像;和一个物体表示单元,通过将相应于形状信息的所提取的参考图像的组合来表示一个物体。
另外,本发明提供一种基于深度图像的三维(3D)物体表示方法,该方法包括产生至少一片观察点信息;根据颜色信息产生彩色图像,该颜色信息相应于构成物体的各个像素点的观察点信息;根据深度信息产生深度图像,该深度信息相应于构成物体的各个像素点的观察点信息;产生图像节点,该图像节点由观察点信息、颜色图像和相应于观察点信息的深度图像组成;和对产生的图像节点进行编码。
在另一方面中,本发明提供一种基于深度图像的三维(3D)物体表示方法,该方法包括对观察物体的观察点生成观察点信息;生成平面信息,该平面信息定义相应于观察点信息的图像平面的宽度、高度和深度;对投影到图像平面上的物体的所有投影点的深度生成深度信息的序列;对各个投影点生成颜色信息的序列;和生成节点,该节点由相应于图像平面的平面信息、深度信息的序列和颜色信息的序列组成。
还有一个方面,本发明提供一种基于深度图像的三维(3D)物体表示方法,该方法包括通过将包含物体的八叉树分割成8个子立方体并限定该分割的子立方体为子节点来对物体生成形状信息;确定包含每个立方体的颜色信息的参考图像,该立方体通过形状信息生成器分割;产生相应于该形状信息的参考图像的指数信息;产生八叉树节点,该八叉树节点包括形状信息、指数信息和参考图像;和对八叉树节点进行编码以输出比特流,其中在生成形状信息的步骤中反复执行细分直到每个子节点变得比预定尺寸要小。
在另一方面中,本发明提供一种基于深度图像的三维(3D)物体表示方法,该方法包括输入比特流;从输入比特流中提取八叉树节点;解码八叉树节点;从所解码的八叉树节点中提取构成八叉树的多个立方体的形状信息和参考图像;和通过将相应于形状信息的所提取的参考图像的组合来表示一个物体。
根据本发明,基于图像模型的绘制时间与在参考图像和输出图像中的像素的数量成正比,但通常,在多边形情况下不与几何复杂度成正比。另外,当将基于图像的表示法应用到实物和景色中时,在没有利用数以百万计的多边形和昂贵计算的情况下,对自然景色的逼真图像进行绘制变得可能。
附图说明
通过参照附图对优选实施例的详细描述,本发明的上述目的和优点将变得更加明显。
图1示出了集成于当前标准软件中的IBR的实例;
图2示出了八叉树结构和各子的顺序;
图3示出了八叉树压缩率;
图4示出了分层深度图像(LDI)的例子的图:(a)示出了黑单元(体元)对应于1和白单元对应于0的物体的投影;和(b)示出了在(x,深度)的2D部分;
图5示出了在重置它的颜色数据之后的“天使”模型的颜色组件;
图6示出了节点出现几率的正交不变性:(a)示出了原始当前和父节点,和(b)示出了围绕Y轴旋转90度的当前和父节点;
图7、8和9示出了对于最好的基于PPM的方法的几何压缩图;
图10示出了将‘天使’点纹理模型的颜色域重新调整成为2D图像的两种方式;
图11示出了无损几何和有损颜色压缩的例子:(a)和(b)分别是‘天使’模型的原有和压缩的形式,及(c)和(d)分别是‘莫顿256’模型的原有和压缩形式;
图12示出了‘天使’的BVO模型和TBVO模型;
图13示出了在TBVO中由另外的相机得到的另外的图像;(a)是相机指数图像,(b)是第一另外图像(c)是第二另外图像;
图14示出了编写TBVO流的实例:(a)示出了TBVO树形结构,灰色为“未定义”的纹理符号,每一种颜色表示相机的指数;(b)示出了八叉树在BVO节点和相机指数中的遍历顺序;(c)示出了所得结果的TBVO流,其中充填的立方体和八叉树立方体分别表示纹理的字节和BVO字节;
图15、17、18和19分别示出了‘天使’、‘莫顿’、‘棕榈512’和‘机器人512’的TBVO压缩的结果的图;
图16示出了‘天使’和‘莫顿’模型的剥离图像;
图20示出了纹理图和深度图的例子的图解;
图21示出了分层的深度图(LDI)例子的图解:(a)示出了物体的投影图,和(b)示出了分层的像素;
图22示出了盒子纹理(BT)的实例,其中六个简单的纹理(图像和深度图对)被用于着色表示在中心的模型;
图23示出了广义盒子纹理(GBT):(a)示出了‘掌纹’模式的摄像位置,(b)示出了同一模式(使用的21个简单的纹理)的参考图像面板;
图24示出了以2D模式表示的八叉树表示的实例:(a)示出了“点云”,(b)示出了相关的中图;
图25示出了用于写TBVO比特流的伪代码;
图26示出了DIBR节点的规格;
图27示出了深度图像的视见体积模型图:(a)是透视图,(b)是正交图;
图28示出了基于OpenGL的简单纹理的着色的伪代码;
图29示出了简单纹理的参照图像压缩的实例:(a)示出了初始参照图像,和(b)示出了以JPEG格式的改进的参照图像;
图30示出了以不同格式表示“莫顿”模型的着色结果的实例:(a)为初始多边形格式,(b)为深度图像格式,和(c)为八叉树图像格式;
图31示出了着色实例:(a)以深度图像格式示出了扫描的“塔”模型,(b)以八叉树图像格式示出了同一模型(在没有遭受去除的情况下使用扫描数据,从而在模型的上半部有黑点);
图32示出了棕榈模型着色的实例图:(a)示出了初始多边形格式,和(b)以深度图像格式示出了同一模型;
图33示出了以八叉树图像从“龙512”动画中表示框架的着色实例;
图34示出了以点纹理格式的“天使512”模型的着色实例;
图35示出了根据本发明一个实施例,使用简单纹理来表示基于深度图像的3D物体的装置的框图;
图36示出了预处理器1820的详细的框图;
图37示出了根据本发明实施例,使用简单纹理来表示基于深度图像的3D物体的方法执行过程的流程图;
图38示出了根据本发明使用点纹理来表示基于深度图像的3D物体的装置的框图;
图39示出了根据本发明,使用点纹理来表示基于深度图像的3D物体的方法的执行过程的流程图;
图40示出了根据本发明使用八叉树来表示基于深度图像的3D物体的装置的框图;
图41示出了预处理器2310的详细框图;
图42示出了指数生成器2340的详细框图;
图43示出了编码器2360的详细框图;
图44示出了第二编码部分2630的详细框图;
图45示出了第三编码部分2640的详细框图;
图46示出了根据本发明实施例,使用八叉树来表示基于深度图像的3D物体的方法的执行过程的流程图;
图47示出了执行预处理参考图像的过程的流程图;
图48示出了执行指数产生的过程的流程图;
图49示出了执行编码的过程的流程图;
图50示出了执行第二编码步骤的过程的流程图;
图51示出了执行第三编码步骤的过程的流程图;
图52示出了在编码步骤中产生比特流的过程的流程图;
图53示出了根据本发明另一个实施例,使用八叉树来表示基于深度图像的3D物体的装置的框图;和
图54示出了根据本发明另一个实施例,使用八叉树来表示基于深度图像的3D物体的方法的执行过程的流程图。
具体实施方式
该申请要求列在下面的美国临时申请的权利,在此全部参照引用。I.ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO
1.引言
在该文章中,基于图像着色的中心试验的结果,报道了AFX A8.3。图像着色技术的中心实现使用深度信息的纹理。而且,根据在第57届MPEG会议之后的试验和10月份的AFX特别成员会议的讨论,提出了节点具体化的少量变化。
1.试验结果
1.1试验模型
●静止物体
■具有简单纹理的深度图像节点
◆狗
◆Tirannosaurus Rex(深度图像,利用大约20个相机)
◆Terrasque(一个怪物)(深度图像,利用大约20个相机)
◆ChumSungDae(深度图像,扫描数据)
◆棕榈树(深度图像,20个相机)
■具有层状纹理的深度图像节点
◆角
■具有点纹理的深度图像节点
◆角
■八叉树图像节点
◆生物
●动画物体
■具有简单纹理的深度图像节点
◆龙
◆具有场景环境的龙
■具有层状纹理的深度图像节点
◆未提供
■八叉树图像节点
◆机器人
◆具有场景环境的龙
●更多数据(扫描或者模式化的)应当在将来提供。
2.2测试结果
●在悉尼提出的所有节点可集成于blaxxun contact 4.3标准软件。然而,该源仍未在cvs服务器下载。
● IBR动画格式需要在多幅影像文件之间以这样的方式同步,该方式为从每个影像文件的同一关键框架的图像必须在同一时间给定。然而,当前标准软件不支持这种同步能力,这在MPEG系统是可能的。因此,假定所有动画数据当前已经存在于该文件中时,动画格式可以看到。以AVI格式的影像文件可暂时用于每个动画纹理中。
●在具有层状纹理的一些实验后,我们相信层状纹理节点无效。该节点为层状深度图像而提出。然而,仍然有一些能支持的点纹理节点。因此,我们提出从节点规格中去除层状纹理节点。
3.IBR节点规格的更新
对IBR建议的悉尼会议的结论为包含图像和摄像信息的IBR流,且IBR节点将仅有链接(url)给它。然而,在Rennes的AhG会议期间,关于IBR的讨论结果为在IBR节点和流上具有图像和摄像信息。因此,下述为IBR节点更新节点规格。IBR流的要求在解释url域的部分被给定。
解码程序(比特流)-节点规格
深度图像{
域 SFVec3f 位置 0010
域 SFRotation 方位 0010
域 SFVec2f fieldOfView 0.785398 0.785398
域 SFFloat 近平面 10
域 SFFloat 远平面 100
域 SFBool 正交 FALSE
域 SFNode di纹理 NULL
域 SFString 深度图像Url“”
}
深度图像节点定义一单个IBR纹理。当多个深度图像节点相互联系时,它们可作为一组得到处理,因此,应当置于同一变换节点下。
Di纹理域指定深度的纹理,应当画入到深度图像指定的区域。它将为深度图像纹理(简单纹理或者点纹理)的不同类型之一。
位置和方位区域指定在本地坐标系统中的IBR纹理的视点的相对位置。位置与坐标系统的初始(0,0,0)有关,同时定向规定一旋转与默认定向有关。在默认位置和定向中,取景器在Z轴上俯视具有向右的+X和向上的+Y的-Z轴的原点。然而,移动系统影响视点的最终位置和方位。
fieldOfView区域指定由位置和方位区域定义的摄像机视点的视角。第一个值指出到水平边的角度,第二个值指定到垂直边的角度。默认值为径向45°。然而,当正交区域被设置为TRUE时,fieldOfView区域指出近平面和远平面的宽度和高度。
近平面和远平面区域指定从视点到可视区域的近平面和远平面的距离。纹理和深度数据表明由近平面,远平面和fieldOfView关闭的区域。深度数据被标准化为从近平面到远平面的距离。
正交区域指定IBR纹理的可视类型。当设置为TRUE时,IBR纹理基于正交视图。否则,IBR纹理基于透视图。
深度图像Url区域指定深度图像流的地址,它可以随意包含下述内容。
●位置
●方位
●fieldOfView
●近平面
●远平面
●正交
●diTexture(简单纹理或点纹理)
●上述区域的开/关标志的1个字节的头部
简单纹理{
域 SFNode 纹理 NULL
域 SFNode 深度 NULL
}
简单纹理节点定义IBR纹理的单个层。
纹理区域指定包含每个像素颜色的低反差图象。它将为纹理节点(图像纹理,影像纹理或像素纹理)的不同类型之一。
深度区域指定在纹理区域中的每个像素的深度。深度图像的尺寸会与在纹理区域中的图像或影像一样大。它就是纹理节点(图像纹理,影像纹理或像素纹理)的不同类型之一。如果深度节点为NULL或者深度区域未指定,则在纹理区域的α通道就用作深度图像。
点纹理{
域 SFInt32 宽度 256
域 SFInt32 高度 256
域 MFInt32 深度 []
域 MFColor 颜色 []
}
点纹理节点定义多层IBR点。
宽度和高度区域以遍历顺序指定在投影平面中的每个点(在标准坐标中)的多个深度,它从左下角开始且在移动到上线之前遍历到右边以实现水平线。对每个点来讲,首先存储深度(像素)的数目,随后是深度值的数目。
颜色区域指定当前像素的颜色。其顺序与深度区域相同,但不包括每个点的深度(像素)数目。
八叉树图像{
域 SFInt32 八叉树分辨率 256
域 SFString 八叉树 “”
域 SFNode 八叉树图像 []
域 SFString 八叉树Url “”
}
八叉树图像节点定义一八叉树结构和其投影的纹理。整个八叉树的封闭立方体的尺寸为1×1×1,且八叉树立方体的中心将为本地坐标系统的原点(0,0,0)。
八叉树分辨率区域指定沿着封闭的立方体的一边的八叉树叶的最大数目。八叉树的级别可由八叉树分辨率利用如下方程式来决定:
octreelevel=int(log2(octreeresolution-1))+1)
八叉树区域指定一系列的八叉树内部节点。每个内部节点用一个字节来表示。这种字节的第i位中1表示存在于内部节点的第i子的子节点,而0表示子节点不存在。八叉树内部节点的顺序将是八叉树的第一次遍历的宽度顺序。内部节点的八个子的顺序如图2所示。
八叉树图像区域为di纹理区域指定一系列的带有简单纹理的深度图像节点。然而,没有使用深度图像节点的近平面和远平面区域以及简单纹理节点中的深度区域。
八叉树Url区域指定带有下列内容的八叉树图像流的地址。
●标志头
●八叉树分辨率
●八叉树
●八叉树图像(多深度图像的节点)
■未用近平面
■未用远平面
■di纹理→未有深度值的简单纹理II.ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO
1.引言
在本文档中,报道了基于深度图像着色的核心实验的结果,AFX A8.3。该核心实验是为基于深度图像表示的具有深度信息的利用纹理的节点。这些节点在Pattaya会议期间得到接受并包括进委员会草案的建议中。然而,通过八叉树节点的八叉树Url区域和深度图像节点的深度图像Url区域的信息流仍在利用。本文档描述通过这些Url区域链接的流动格式。流动格式包括八叉树图像节点的八叉树区域和点纹理节点的深度/颜色区域的压缩。
2.八叉树Url的流格式
2.1流格式
八叉树节点包括八叉树Url区域,它指定八叉树图像流的地址。该流可选择地包括下列内容。
●标志头
●八叉树分辨率
●八叉树
●八叉树图像(多深度图像的节点)
■未用的近平面
■未用的远平面
■diTexture→未有深度值的简单纹理
八叉树区域指定一系列的八叉树内部节点。每个内部节点用一个字节表示。这种字节的第i位中1表示存在于内部节点的第i子的子节点,而0表示不存在子节点。八叉树内部节点的顺序将是八叉树的第一次遍历的宽度顺序。内部节点的八个子的顺序如图2所示。
八叉树图像节点的八叉树区域是一种压缩格式。然而,为了具有有效流,该区域可进一步压缩。下面将部分描述八叉树图像节点的八叉树区域的压缩方案。
2.2八叉树区域的压缩方案
在DIBR的八叉树表示中,数据由表示几何分量的八叉树区域组成。八叉树是一系列在封闭立方体中的点,其完全代表物体表面。
从压缩表示的几何的非恒等的重建导致高度显著的人为影像。然而,几何必须在没有丢失信息前提下压缩。
2.2.1八叉树压缩
为了在深度第一次遍历八叉树形式中表示八叉树区域的压缩,我们开发了一种利用PPM(通过部分匹配的预测)方法的一些观念的无损失压缩方法。我们使用的主题观念是通过称为“上下文”的几个以前符号的“预测”(即可能性估计)。对每个上下文,存在一可能平面,包含在该上下文中的每个符号出现的可估计的可能性。这与称为范围编码器的算法编码器一起使用。
该方法的两个主要特征为:
1.利用父节点作为子节点的上下文;
2.利用“正交不变”假设以减少上下文的数目;
第二个想法主要是基于“父-子”节点的“蜕变概率”在正交变换下保持不变(旋转和对称)的观察。这种假设在附件1中图示。这个假设允许我们在利用体积和速度中获得更好的结果,因为使用上下文越多,概率估计越准确,因此代码压缩越多。
编码是根据上下文模型构建和更新概率表的过程。在建议的方法中,上下文在八叉树结构中作为父-子层次被建模。首先,我们将符号定义为一个字节节点,它的位表示在内部细分之后子立方体的占有率。因此,在八叉树中的每个节点可以是一个符号且其数值是0-255。概率表(PT)包含256个整数。第i个变量除以所有变量之和等于第i个符号出现的频率(频率估计)。概率上下文表(PCT)是一系列的PT。一个符号的频率由一个且仅PTs之一决定。特殊PT的数目取决于上下文。PCT的例子如表1所示。表1.概率上下文表(PCT)的组成
PTs的ID | 0 | 1 | … | 255 | 上下文描述 |
0 | P0,0 | P0,1 | … | P0,255 | 0-上下文:独立上下文 |
1..27(27) | Pi,0 | Pi,1 | … | Pi,255 | 1-上下文:父符号 |
28…243(27*8) | Pi,0 | Pi,1 | … | Pi,255 | 2-上下文:父符号和节点符号 |
编码器的工作如下。首先它使用0-上下文模型(即一所有符号的单个PT,从统一分布开始,且在每个新的编码符号之后更新PT)。以深度优先的顺序遍历树。当获得足够的统计(经验值为512个编码符号)时,编码器切换到1-上下文模型。它有27个上下文,下面对它们进行说明。
设想一组有32个固定的正交变换,它包括关于坐标轴的对称和90度的旋转(见附件2)。然后,我们可根据它们子立方体的充填方式对符号进行分类。在我们的方法中,将有27组符号,这里称为组,并具有如下属性:如果它们属于同一组,而且只有它们属于同一组时,则2个符号通过这些固定变换之一连接起来。
在字节的记号中,通过27组数字代表各组(见附件2)。我们假设概率表本身不取决于父节点(其中在有256个表的情况下),但只在父节点属于的组(在图2中以ParentSymbol表示)上(因此27个表)。
在转换时刻,所有上下文的PT’被设置为0-上下文PT的拷贝。然后,当它用于编码时,27个PT的每一个均被更新。
在2048(其它渐近值)个符号以1-上下文模型的方式编码后,我们切换到2-上下文模型,它将各对(ParentSymbol,NodeSymbol)用作上下文。NodeSymbol为在父节点中的当前节点的简单位置。因此,我们用于2-上下文模型的有27*8个上下文。在切换到该模型时刻,每个上下文获得的PT用作该上下文内侧的每个节点,且从该时刻被独立更新。
在一些更详细的技术细节中,1-上下文和2-上下文模型的编码如下进行。对当前符号(即父节点)的上下文来说,其组被确定。这通过查表法(在程序开发阶段执行几何分析)来完成。然后我们应用将我们的上下文变成所属组的“标准”(彻底任意选择)元素的正交转换。同样的转换同样适用于符号本身(这些操作可作为查表法来完成,当然所有可能组合的所有计算事先完成)。实际上,对于包含其上下文的组来讲,这是概率表中当前符号的正确位置的计算。然后相应的概率被送至RangeCoder。
总而言之,假定给出一父符号和子节点位置,在PCT中辨别组ID和PT位置的上下文ID就被确定。在PT和上下文ID中概率的分布被送至范围编码器。编码后,PCT被更新以用于下一次编码。注意到范围编码器是算术编码的变分,它以字符而不是以位的形式重新正规化,因此,比标准算术编码的运行快两倍,而比标准算术编码的压缩率坏0.01%。
解码过程与编码过程基本相反。这是不需要表述的绝对标准过程,因为它精确使用相同的方法决定上下文,更新概率等。
2.3测试结果
图3为采用静止和动画模型(纵坐标表示压缩率)的方法的对比表。八叉树压缩率与原来的八叉树尺寸相比大约是1.5-2倍,且优于通用的无损压缩(基于Lempl-Ziv,如像RAR程序)多达30%。
3.深度图像Url的流格式
3.1流格式
深度图像节点包括深度图像URL域,它指定深度图像流的地址。该流可选择地包含如下内容。
●用于下区域开/关标志的1个字节的头部
●位置
●方位
●视图区域
●近平面
●远平面
●正交
●diTexture(简单纹理或点纹理)
可用于深度图像节点的diTexture区域的点纹理节点的定义如下。
点纹理{
域 SFInt32 宽度 256
域 SFInt32 高度 256
域 MFInt32 深度 []
域 MFColor 颜色 []
}
点纹理节点定义IBR点的多层。宽度和高度域指定为上下文的宽度和高度。深度域以遍历顺序在投影面上指定每个点(以正规的坐标)的多个深度,该遍历在移动到上线之前先从左下角的点开始遍历到右边以实现水平线。首先存储每个点,深度(像素)的数量,然后存储深度值的数量。颜色域指定当前像素的颜色。顺序应当与深度域一样,但不包括每个点的深度(像素)的数量。
点纹理的深度和颜色域为raw格式,这些域的大小很可能会非常大。因此,为了具有有效的流动,这些域需要压缩。下面的部分对点纹理节点域的压缩方案进行描述。
3.2点纹理的压缩方案
3.2.1深度域的压缩
点纹理节点的深度域简单地为一系列的在“分散的封闭立方体”中的点。我们假设底面为投影面。给定模型为m*n*l维的栅格,位于这些栅格的单元(在八叉树情况下,我们称其为体元)中心的点,我们可以认为占用的体元为1,空的体元为0。因此产生的系列位(m*n*l位)以字节流的方式组织。这通过深度8的层沿深度方位(与投影面正交)遍历体元和在投影面(如果需要填充,有0的字节的最后层在深度方位上不是8的倍数)中以通常(“列方位”)顺序来完成。因此,我们可考虑到我们的系列点为具有8位灰度级图像(可变换的,16位图像)的栈。体元和位的对应关系如图4(a)所示。
例如,在图4(b)中,黑正方形对应于物体的点。水平平面为投影面。考虑高度为16的“切片”(它的上部边界被表示为粗线)。让我们将“列”理解为字节。也就是,图中标记的点上的列代表2个字节的具有值18和1的栈(或者一个16位的无符号整数274)。如果我们将最好的基于PPM的压缩方法用于由这种方法获得的联合字节中,就可以获得相应好的结果。然而,如果这里直接应用(当然,这里没有正交恒定或者难以理解的上下文可使用)简单的1-上下文方法,这种结果具有稍微低的压缩率。下面我们给出不同类型的LDI几何表示式所需要的体积表:BVOC,利用最好的PPM压缩器压缩上述字节数组,并通过我们常用的压缩器(以千字节图示)压缩同样的数组。
模型 | 几何VBOC表示 | 字节数组最好的PPM压缩 | 字节数组简单的1-上下文压缩 |
“天使” | 31.4 | 27.5 | 32 |
“莫顿” | 23.4 | 23.3 | 30.5 |
“蝗虫” | 16.8 | 17.0 | 19.7 |
3.2.2颜色域压缩
点纹理节点的颜色区域为一系列分配给物体点的颜色。不象八叉树的情况,颜色域和深度域是一对一的关系。该想法代表颜色信息为单个图像,它可通过已知有损的技术中的一种技术来压缩。该图像的基数远小于八叉树或深度图像情况下的参照图像,且对这样一种方法来说该基数实际上是最有效的。以这种或那种自然顺序扫描深度点即可获得图像。
对于LDI(点纹理)-‘深度优先’的几何扫描来讲,首先考虑由我们的原有存储格式规定的扫描顺序。多像素按自然顺序在投影面上被扫描,就象它们是简单像素,且在同一多像素的内侧的点沿深度方位扫描。扫描的顺序产生一1D的颜色数组(第一非零多像素,第二非零多像素等)。深度已知时,点的颜色可从这个数组中依次重建。为了使得图像压缩方法实用,我们必须将1-1这样的长字符标到2D数组。这可通过许多方式来完成。
当颜色字符在8*8块中安排,且以列顺序安排那些块(“块扫描”)时,下面在测试中应用的方法为所谓的“块扫描”。结果图像如图5所示。
该图像的压缩通过几种方法来执行,包括标准JPEG。结果至少是颜色扫描的这种类型,要远好于当利用纹理压缩方法所获得的结果。该方法基于每个8*8块的自适应的本地堆积。它有两个模型;8-和12-倍的压缩(当与每BMP-格式像素的raw真彩色24位相比)。该方法在这种图像中的成功可从其调色板特征精确解释,它让我们去说明局部颜色突然(甚至不象边缘)变化是因前表面和后表面(当在“天使”的情况下,它可变化很大)的‘混合’点引发的。探索优化扫描的目的是尽可能地减少这些变化。
3.3测试结果
在原有和压缩格式中模型的例子如附件3所示。一些模型(即“天使”)的质量在压缩后仍然不能令人满意,而其它却非常好(“Grasshopper”)。然而,我们感到这个问题可以通过在正确扫描的帮助下得到解决。甚至可以用12倍的压缩模型,因此完整的压缩依然更快地增加。最后,无损压缩将被改善以致于最好的基于PPM的结果应用到几何压缩中。
这里,我们给出压缩率表。
模型 | 最好的PPM方法的压缩率 | 简单1-上下文方法的压缩率 |
“天使” | 7.1 | 6.7 |
“莫顿” | 7.5 | 6.7 |
“蝗虫” | 7.8 | 7.4 |
4.结论
在本文档中,报道了基于深度图像表示(AFX A8.3)的核心实验的结果。介绍了DIBR流,它可通过DIBR节点的url域链接。这些流包括DIBR节点中的所有项目和可选的每个项目的标志。而且还探讨了八叉树和点纹理数据的压缩。
附件1 在BVO压缩算法中的上下文正交不变的几何方法(Geometicmeaning of the context orthogonal invariation in BVO compression algorithom)。
正交不变的假定如图6所示。考虑通过绕垂直轴顺时针转动90°。考虑到旋转前(顶部图片)后(底部图片)节点和父节点的任意填充模式。然后,二个不同的图案可作为系统相同的图案处理。
附件2.组和转换
1. 32固定的正交转换
每个转换通过5位字来指定。位的组合是下面的基本变化的组合(即,如果第k位是1,则执行相应的转换)
●第1位-交换x和y坐标;
●第2位-交换Y和Z坐标;
●第3位-在(y-z)平面中对称;
●第4位-在(x-z)平面中对称;
●第5位-在(x-y)平面中对称;
2. 27组
对每个组来讲,这是组的顺序和在其元素中的非零位的数目:组的数目,组的质量和填充位的数目(设置体元)。
组 | 组顺序(元素的个数) | #(组中每个元素的非零位) |
0 | 1 | 0 |
1 | 8 | 1 |
2 | 8 | 2 |
3 | 4 | 2 |
4 | 12 | 2 |
5 | 24 | 3 |
6 | 6 | 4 |
7 | 8 | 3 |
8 | 8 | 4 |
9 | 4 | 2 |
10 | 24 | 3 |
11 | 16 | 4 |
12 | 8 | 4 |
13 | 24 | 4 |
14 | 24 | 5 |
15 | 4 | 4 |
16 | 16 | 5 |
17 | 8 | 6 |
18 | 2 | 4 |
19 | 8 | 5 |
20 | 4 | 6 |
21 | 2 | 4 |
22 | 8 | 5 |
23 | 12 | 6 |
24 | 4 | 6 |
25 | 8 | 7 |
26 | 1 | 8 |
3.符号和转换
对于每个符号来讲,这里是属于组的指数(g)和将其变为组的‘标准’元素的转换值(t)。
符号的二进制编码标记到体元的二进制坐标如下:数的第i位具有二进制坐标x=i&1,y=i&(1<<1),z=i&(1<<2)。
…
s | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
g | 0 | 1 | 1 | 2 | 1 | 3 | 4 | 5 | 1 | 4 | 3 | 5 | 2 | 5 | 5 |
t | 0 | 0 | 4 | 0 | 8 | 0 | 0 | 0 | 12 | 4 | 4 | 4 | 8 | 8 | 12 |
s | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
g | 6 | 1 | 2 | 4 | 5 | 4 | 5 | 7 | 8 | 9 | 10 | 10 | 11 | 10 | 12 |
t | 0 | 16 | 2 | 1 | 1 | 2 | 2 | 0 | 0 | 0 | 0 | 5 | 0 | 10 | 0 |
s | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 |
g | 14 | 14 | 17 | 14 | 20 | 23 | 25 | 14 | 23 | 20 | 25 | 17 | 25 | 25 | 26 |
t | 16 | 20 | 16 | 24 | 16 | 16 | 28 | 20 | 20 | 20 | 24 | 24 | 24 | 28 | 0 |
附件3.图7、8和9给出了用于最好的基于PPM的方法的几何压缩图。III.Result of Core Experiment on Depth Image-based Representation(AFX A8.3)
1.引言
在本文档中,报道了基于深度图像表示(DIBR)的核心实验结果(AFXA8.3)。该核心实验是利用具有深度信息的纹理表示基于深度图像的节点。在Pattaya会议期间,该节点已经被接受并被包括进委员会草案的建议中。然而,通过八叉树图像和深度图像节点的这种信息流仍然保持有效。通过这些节点链接的流动格式对本文档进行描述。流动格式包括点纹理的八叉树图像节点和深度/颜色域的压缩。
2.DIBR格式的压缩
这里我们描述一种无链接的八叉树数据的有效的无损压缩新技术,在我们的实验中,使这种已经紧凑的体积减少大约1.5-2倍。我们还建议采用几种点纹理格式的无损和有损压缩的技术,结合熵编码和基于块纹理压缩的专门方法[6]利用中间体元表示。
2.1八叉树图像压缩
八叉树图像和八叉树图像中的八叉树的域分别被压缩。基于八叉树必须无损压缩而八叉树图像允许有一定程度的可视变形的概念,开发了所描述的方法。通过MPEG-4图像压缩工具(用于静态模型),或者视频压缩工具(用于动画模型)压缩八叉树图像区域。
2.1.1八叉树区压缩
八叉树压缩是八叉树图像压缩的最重要的部分,因为它处理已经非常紧凑的无链接二进制树表示的压缩。然而,在我们的实验中,下面描述的方法将该结构的体积减少到大约原有体积的一半。在动画八叉树图像版本中,每个3D帧的八叉树区域被分别被压缩。
2.1.1.1上下文模型
通过很好地利用数据几何特性的各种合适算术编码(作为“范围编码器”来进行,)进行压缩。八叉树为字节流。每个字节代表树的一个节点,其中字节位表示在内部细分后的子立方体的占用率。位的模式被称为节点的填充模式。表述的压缩算法以下面的方式依次处理字节。
●决定当前字节的上下文。
●从与上下文相应的‘概率表’(PT)中重新获得本上下文中当前字节出现的‘可能性’(归一化频率)。
●馈送到范围编码器的概率值。
●通过对当前上下文中的当前字节出现的频率加1来更新当前的PT(如果需要,之后重新归一化,详细见下面所述)。
因此,根据上下文模型,编码是重建和更新PT的过程。在基于上下文自适应算术编码方案(如‘用部分匹配的预测’)中,符号的上下文通常是前面几个符号的一个字符。然而,在本例中,通过使用数据的八叉树结构和几何特性增加了压缩效率。所描述的方法是基于在八叉树压缩问题中非常新的两个思想。
A.对于当前节点来讲,上下文或者是其父节点,或者是对节点{父节点,父节点中的当前节点位置};
B.假定给定节点在特定父节点中的特定几何位置处出现的‘可能性’对特定的正交(如旋转或对称)转换来说是不变的。
在图6中示出了该假定‘B’,对于转换R来讲,假定图1中所示的‘B’在x-z屏幕上旋转-90°。‘B’后的基本概念为在特定类型的父节点中的特定类型的子节点出现的可能性应当依赖于它们的相对位置的观察。这种假设通过对概率表的分析在我们的实验中得到确认。它允许我们在没有太多的概率表的情况下去使用更复杂的上下文。反过来说,利用数据大小和速度来帮助我们获得很好的结构。注意到使用的上下文越多,估计的概率越分明,因此代码越紧密。
让我们介绍我们假定概率分布不变的系列转换。为了适用于我们的情况,这样的转换应当保持封闭的立方体。考虑到在欧几里德空间中的正交转换的G,以3个基本转换的任意数目和顺序的所有组合(生成器)m1,m2,m3获得正交转换,它们为
其中m1和m2分别为平面x=y和y=z的反射,和m3是平面x=0的反射。通过反射[27]生成的群论的经典结果之一描述了G包含48个明显的正交变换,在某种意义上,这是将立方体放进本身位置(所谓Coxeter组[27])的正交变换的最大组。例如,图6中的旋转R通过生成器表示为
R=m3·m2·m1·m2
其中‘.’为矩阵乘法。
从G的转换应用到八叉树节点,产生不同的子立方体充填模式的节点。这允许我们根据它们自立方体的充填模式对节点进行分类。利用群论语言,我们假定G起到八叉树的所有充填模式系列的作用。计算表明存在22个明显的类(在群论中还称为轨道),其中通过定义,使两个节点属于同一类,当且仅当它们通过G的转换链接到一起。一个类中的元素数目从1到24,且总是48的除数。
‘B’的实际次序为概率表不仅依赖于父节点本身,而且依赖于父节点所属的类。应注意的是一个基于父节点的上下文有256个表,在以前的情况下,基于位置的父-和-子的上下文有256×8=2048个表,而我们需要基于父级别的上下文的22个表加上后者的22×8=176个表。因此,就可以使上下文的复杂程度相同,同时利用少量的概率表。构建的PT具有表2所示的形式。表2概率表列举
ID of PTs | 0 | 1 | … | 255 | 上下文描述 |
0 | P0,0 | P0,1 | … | P0,255 | 0-上下文:独立上下文 |
1..22(22) | Pi,0 | Pi,1 | … | Pi,255 | 1-上下文:{父节点类} |
23…198(176) | Pj,0 | Pj,1 | … | Pj,255 | 2-上下文:{父节点类和当前节点位置} |
2.1.1.2编码过程
为了使概率表的统计更精确,在编码的三个阶段以三种不同的方式收集。
●在第一阶段我们根本不用上下文,接受‘0-上下文模型’,且保留具有256个入口的单个概率表,从统一分布开始;
●第一512节点(这是一个经验数)一旦被编码,我们就利用父节点作为上下文切换到‘1-上下文模型’。在切换的瞬间,0-上下文PT被拷贝到所有22个上下文的PT。
●在2048个节点(其它探讨值)编码后,我们切换到‘2-上下文模型’。在这个瞬间,父模式的1-上下文PT被拷贝到在同一父模式中每个位置的PT上。
正交的关键点是当前字节的上下文和概率决定的。这将根据下述方式实施。在每个级别我们固定单个元素,它称为‘标准元素’。我们存储表示级别的级别图表(CMT)到所属的每个可能的256个节点,并表示从G的计算转换,在G处将这个特定的节点变成同级别的标准元素。因此,为了确定当前节点N的概率,我们实施以下步骤:
●查看当前节点的父节点P;
●检索从属于P的CMT的级别,和对将P变成该级别的标准节点的转换T进行检索。将级别数目记作c;
●将T用到P上,找到标准节点中子节点位置p,其中当前节点N被绘制;
●将T用到N上。然后,新获得的充填模式TN是在级别c的标准节点中的位置p。
●从与级别-位置组合(c,p)相应的概率表的入口TN中检索所需要的概率。
对于1-上下文模型来讲,上述步骤可以用显而易见的方式进行修改。无需说,所有的转换均被预先计算,并将其提供到查找表中。
应注意的是在节点N的解码阶段,父节点P已经被解码,因此,转换T已知。在解码阶段的所有步骤绝对与相应的编码步骤相似。
最后,我们概述一下概率的更新过程。让P作为一些上下文的概率表。在该上下文中,P(N)表示与阶段N出现的概率相应的P的入口。在实施中,P(N)是一个整数,在每个N发生后,P(N)被更新为:
P(N)=P(N)+A
其中A为不同上下文模型的从1到4的整数增量参数。让S(P)为P中所有入口的和。然后送入到算术编码器(在本例中为范围编码器)的N的‘概率’用P(N)/S(N)来计算。当S(P)一达到阈值216时,所有的入口就被归一化:为了避免在P中的零值的出现,等于1的入口留下来保持原状。而其它则被除以2。
2.2点纹理压缩
点纹理节点包含要被压缩的两个域,也就是,深度和颜色。点纹理数据的压缩的主要困难是由于下面的需求:
●几何必须是以无损方式压缩,因为在几何表示的这种类型的扭曲经常被高度重视。
●颜色信息没有自然的2D结构,因此图像压缩技术不能直接应用。
在这一部分我们为点纹理模型压缩建议三种方法:
●标准节点表示的无损方法。
●更低分辨率节点表示的无损方法。
●更低分辨率节点表示的无损几何和无损颜色压缩
这些方法符合于物体描述的三个级别的‘保真度’。第一种方法假设我们必须存储深度信息到最初的32位精确度。但实际上,用很少量的位就可以使深度信息在不损害质量的情况下量化。尤其是当点纹理模型从多边形模型转变过来时,根据原有模型拥有的直观细节的实际大小以及期望的屏幕输出分辨率选择量化分辨率。在这种情况下,8-11位可很好地满足要求,深度值最初存储在更低分辨率格式中。现在,我们的第二种方法处理这种‘更低分辨率’表示的无损压缩。这里最需要观测的是对这样相应小(与标准32比较)数目的位来讲,可使用模型的中间体元表示,且允许我们在没有损失信息的情况下压缩深度域。在整理作为辅助2D图像的颜色数据后,在两种情况下颜色信息被无损压缩并以PNG格式存储。
最后,第三种方法允许我们实现更大的压缩,将无损的几何压缩和有损失的颜色数据相结合。后者通过专门的基于块的纹理压缩技术来执行。下面在三个子部分中,将详细描述该方法。
2.2.1标准节点表示的无损点纹理压缩
这是简单的无损编码方法,其工作如下。
●深度域被自适应范围编码器压缩,与在八叉树域压缩使用的相似。对这种格式,我们使用概率表保留到每个1-符号上下文用的版本,且上下文只是以前字节。因此,使用256个PT。深度域被认为是字节流,且几何结构没有被明显地使用。
●颜色域在转换为二维真彩色图像后被压缩。以与深度域中相同的深度值,首先将点纹理模型中的点的颜色写入临时1D数组中。如果该模型中的点的总量为L,则我们计算最小的整数I,从而1·1≥L,并将该颜色值的长‘字符’‘打包’进入边为I的正方形图像(如果需要,通过黑像素填充)中。然后该图像通过MPEG-4的无损图像压缩工具之一压缩。在我们的方法中,我们采用便携网络图形(PNG)格式。以这种方式从‘天使’模型获得的图像如图10(a)所示。
2.2.2对更低分辨率节点表示的无损点纹理压缩
在许多情况下,深度信息的16位分辨率非常好。实际上,深度分辨率应当与表示模型的屏幕分辨率对应。在不同点的模型深度的小的变换导致在屏幕中的位移远小于像素尺寸的情况下,在深度中使用更低分辨率是合理的,模型经常以深度值占8-11位的格式表示。这样的模型通常从其它格式中获得,也就是说,多边形模型,通过以合适的空间网格离散深度和颜色值。
这种降低了分辨率的表示本身可被认为是具有32位深度的标准模型的颜色方式。然而,利用静止体元空间,这种模型存在更紧密的表示。实际上,该模型的点可被认为是属于具有由离散步骤决定的间隔的统一网格的节点。我们总是可以假定网格是统一的和正交的,因为在投影模型的情况下我们用参数空间工作。利用这种观察,点纹理的更低分辨率的深度和颜色域如下述方式压缩。
●如以前方法一样,用无损图像压缩技术压缩颜色域;
●深度域首先转换成体元表示,然后通过前边子部分描述的范围编码器的变码来压缩。
中间体元模型按如下方式建立。根据该模型的深度分辨率,假定离散体元空间具有宽×高×2s大小(‘宽’和‘高’参数在点纹理说明书上有解释)。为了达到我们的目的,我们总体上不需要用潜在巨大的体元空间来工作,而仅用其‘薄’断面。在投影面中指定(r,c)行-列坐标,使d为深度坐标。我们将‘切片’{c=常数},即,通过‘垂直面’的模型断面,转换为体元表示。沿着平行于投影面的‘列’扫描切片,当存在具有投影到(r,c)的深度值d的模型的点时,我们设置体元(r,c,d)为‘黑色’。该过程如图4所示。
切片一旦建立,就用1-上下文范围编码器压缩,且下一个切片压缩开始。以这种方式,我们避免了用非常大的数组工作。每个新切片的概率表没有初始化。对模型的大范围体元仅有非常小的部分是黑色的,且这允许我们实现相应高的压缩率。通过用与所述操作完全相反的操作就可执行解压缩。
下面将说明通过这种方法和通过八叉树表示的深度域压缩的对比。然而,通过颜色域,模型的整个压缩率得到确定,因为这种不规则的图像不可能在强烈压缩的情况下没有扭曲。在下一个子部分,我们认为是无损几何和有损颜色压缩的组合。
2.2.3低分辨率点纹理表示的无损几何和有损颜色的压缩
象以前一样,这种方法转换深度域为体元表示,然后用自适应1-上下文范围编码器来压缩。颜色域同样被绘制到2D图上。然而,我们试图组织绘图从而在接近3D空间中的点绘制在2D平面的附近点。然后专门的纹理压缩方法(自适应块划分,ABP)应用于结果图像。该算法的主要步骤如下。
1.将点纹理模型的四个连续‘垂直平面’的‘切片’转换为体元表示
2.扫描获得的宽×4×2s体元数组,通过:
●沿着平行于投影面的‘列’遍历4×4×4体元子立方体的垂直‘平面’:首先是最接近投影面的列,然后为下一个最接近的列等等(即,以通常的2D数组遍历顺序)。
●以与在八叉树图像节点子立方体遍历中使用的类似的顺序,遍历体元内侧的每个4×4×4子立方体。
3.将遍历顺序遇到的模型的点的颜色写入辅助1D数组;
4.重新将获得的颜色数组安排到2D图像,因此:
5.连续64个颜色样本以列的方位被调整为8×8的像素块,下一个64个样本被调整为相邻的8×8的像素块,等等。
6.通过ABP技术压缩获得的图像。
扫描3D数组和将结果绘制到2D图像上的方法从下面的假设中选择。应注意的是,4×4×4子立方体和8×8图像块包含同样数目的样本。如果几个连续扫描的子立方体包含足够的颜色样本去充填8×8块,则很可能该块将比较统一,因此在解压缩后在3D模型中很难注意到扭曲。在局部堆积的帮助下,ABP算法压缩彼此独立的8×8块。在我们的测试中,在最终的3D模型中通过ABP压缩而引起的扭曲远远小于JPEG。选择这种算法的另外一个原因是大的解压缩速度(它最初这样设计)。压缩率可取两个值,8和12。在点纹理压缩算法中,我们固定压缩率为8。
遗憾的是,该算法不能普遍应用。尽管以这种方式从颜色域(图10(b))中获得的图像比‘自然’扫描顺序的更统一,但有时2D8×8块可包含与3D空间中远点对应的颜色样本。在这种情况下,有损ABP方法可从模型的远的部分‘混合’颜色,解压缩后这导致局部明显的扭曲。
然而,对于许多模型来说,算法工作是正常的。在图11中,我们展示了‘坏’的例子(‘天使’模型)和‘好’的例子(‘莫顿256’模型)。在两种情况下模型体积减少约为7倍。
3.实验结果
在这一部分我们对比了两种模型,‘天使’和‘莫顿256’以两种不同的格式-八叉树图像和点纹理图像的压缩结果。每个模型的参考图像的尺寸为256×256像素。
3.1点纹理压缩
在表3~表5中,给出了不同压缩方法的结果。这种实验模型从具有8位深度域的模型中获得。通过利用量化步骤221+1将深度值扩充到(1,230)的范围,以致使32位深度值中的位分布更统一,从而在一定程度上模拟‘真’的32位值。
本方法不期望取得高压缩率。体积的减小与典型彩色图像的无损压缩为相同的量级。压缩的深度域和颜色域具有非常相近的大小,因为数据的几何特性不会通过本方法捕获。
现在让我们看当在它们的‘真’深度分辨率时有多少相同模型可以被无损压缩。不象原来的情况,深度域无损压缩大约为5-6倍。这是因为使几何数据减小更明显的中间体元表示,实际上,只有体元的小部分为黑色。然而,因为解压缩的模型尺寸小于32位的情况,因此目前颜色域的压缩率决定整个压缩率,它甚至小于32位的情况(尽管输出文件也更小)。因此,希望压缩颜色域至少能和深度域一样好。
为此,我们的第三种方法利用有损压缩技术称为ABP[6]。该方法给出更高的压缩。然而,象所有的有损压缩技术一样,它可导致在一些情况下不合意的假象。这种发生的物体的例子是‘天使’模型。在扫描模型点的处理过程中,空间远的点有时落入同一2D图像块中。在这种模型的远点的颜色变化很大,且如果在一个块中有太多不同的颜色,则局部堆积不能提供精确的近似。另一方面,是局部堆积允许我们精确压缩大多数块,因为在重建的颜色送回到3D位置后由标准JPEG导致的扭曲变得绝对不可忍受。然而,通过同一方法压缩的‘莫顿256’模型的可视质量却非常好,这是在我们实验中大多数模型的一例。表3 32位深度域的无损点纹理压缩(字节)
表4 更低分辨率节点表示的无损点纹理压缩(字节)
表5 更低分辨率点纹理的无损几何和有损颜色压缩(字节)
模型 | 深度域 | 颜色域 | 总尺寸 | 压缩率 | |||
深度 | 颜色 | 总和 | |||||
“莫顿256” | 原始 | 691032 | 321666 | 1012698 | 3.1 | 1.2 | 2.0 |
压缩 | 226385 | 270597 | 424562 |
“天使” | 原始 | 665488 | 302508 | 967996 | 3.3 | 1.2 | 2.1 |
压缩 | 204364 | 262209 | 466604 |
模型 | 深度域 | 颜色域 | 总尺寸 | 压缩率 | |||
深度 | 颜色 | 总和 | |||||
“莫顿256” | 原始 | 172758 | 321666 | 494424 | 5.4 | 1.2 | 1.63 |
压缩 | 31979 | 270597 | 302576 | ||||
“天使” | 原始 | 166372 | 302508 | 468880 | 5.2 | 1.2 | 1.6 |
压缩 | 32047 | 262209 | 294256 |
模型 | 深度域 | 颜色域 | 总尺寸 | 压缩率 | |||
深度 | 颜色 | 总和 | |||||
“莫顿256” | 原始 | 172758 | 321666 | 494424 | 5.4 | 8.0 | 6.8 |
压缩 | 31979 | 40352 | 72331 | ||||
“天使” | 原始 | 166372 | 302508 | 468880 | 5.2 | 7.9 | 6.7 |
压缩 | 32047 | 38408 | 70455 |
3.2八叉树压缩
表6表示了我们两个测试模型的压缩和解压缩的八叉树分量的大小。我们看到该域的减小大约为1.6-1.9倍。
然而,通过对比解压缩点纹理模型,即使是8-位深度域,八叉树图像也是更紧密的。表7表示了压缩率7.2和11.2。在没有转换为八叉树图像的情况下它大于点纹理压缩(分别为6.7和6.8倍)。然而,就我们已经提到的,八叉树图像包含不完整的颜色信息,例子为‘天使’模型,在这种情况下使用颜色的3D插值。
总之,我们可以推断上述实验证明了开发出的压缩工具是有效的。对于给定模型来讲,最好工具的选择依赖于其几何复杂度,颜色扭曲的特征,着色的期望速度和其它因素。
表6由4.1.2描述的方法对八叉树图像模型及其分量(文件大小到千字节)给定的压缩率。
模型 | 八叉树尺寸 | 压缩的八叉树尺寸 | 压缩率 |
“天使” | 50 | 31 | 1.6 |
“莫顿256” | 41 | 22 | 1.9 |
表7解压缩点纹理(8位深度域),相同模型的压缩八叉树表示(文件尺寸到千比特)
模型 | 八叉树尺寸 | 压缩的八叉树尺寸 | 压缩率 |
“天使” | 469 | 65 | 7.2 |
“莫顿256” | 494 | 44 | 11.2 |
5.ISO/IEC 14496-1/PDAM4(N4627)的研究注释
在将下面的修订本用到ISO/IEC 14496-1/PDAM4(N4627)研究后,修订后的ISO/IEC 14496-1/PDAM4(N4627)的研究应当合并入ISO/IEC 14496-1/FPDAM4中。
条款6.5.3.1.1,技术
问题:正交的默认值应当为最常用的值。
解决方法:从“FALSE”到“TRUE”替换正交域的默认值如下。
建议修改:
field SFBool orthographic TRUE
条款6.5.3.1.1,技术
问题:DIBR的流动将用AFX统一的流动方法完成。
解决方法:从深度图像节点中移去depthImageUrl域。
建议修改:
深度图像{
域 SFVec3f 位置 0010
域 SFRotation 取向 0010
域 SFVec2f 可视域 0.785398 0.785398
域 SFFloat 近平面 10
域 SFFloat 远平面 100
域 SFBool 正交 TRUE
域 SFNode diTexture NULL
}
条款6.5.3.1.2,编辑
问题:当在当前上下文中应用到深度域时,术语‘归一化’使人误解。
解决方法:在第5段,改变‘归一化’为‘换算’。
建议修改:
近平面和远平面域指定从视点到可视区域的近平面和远平面的距离。纹理和深度数据表示通过近平面、远平面和可视域的接近区域。深度数据被换算为从近平面到远平面的距离。
条款6.5.3.1.2,技术
问题:DIBR的流动将用AFX统一的流动方法完成。
解决方法:去除depthImageUrl域的解释(第七段及以后)。
建议修改:
条款6.5.3.2.2,编辑
问题:深度域的语义未完全指定。
解决方法:用建议修改替代在第三段改变深度域的说明如下。
建议修改:
深度域指定在纹理区域中的每个像素的深度。深度图像的尺寸将与在纹理区域中的图像或影像一样大。深度域将为纹理节点(图像纹理,影像纹理或像素纹理)的不同类型之一,这里只有允许代表灰度级图像的节点。如果深度域未指定,则在纹理区域的α通道将用作深度图像。如果深度图像未通过深度域或α通道指定,则结果也未定义。
深度域允许我们计算模型的3D点到通过视点且平行于近平面和远平面的平面的实际距离: 其中d为深度值,dmax为最大允许深度值。对于模型的各点来讲,假设d>0,其中d=1对应于远平面,d=dmax对应于近平面。
该公式对透视和正交情况都有效,因为d是点和面之间的距离。dmax是可以用每个像素的位代表的最大d值:
(1)如果通过深度域指定深度,则深度值等于灰度级。
(2)如果通过纹理域定义的图像中的α通道指定深度,则深度值d等于α通道值。
深度值也用于表示属于模型的点:仅为非0的d点属于该模型。
对基于深度图像的动态模型来讲,仅使用作为di纹理的具有简单纹理深度图像。
每个简单纹理均可以用下面方式的一个产生动作:
(1)深度域仍然为满足上述条件的图像,纹理域为任意影像纹理。
(2)深度域为在深度域上满足上述条件的任意影像纹理,纹理域仍然为图像。
(3)深度和纹理都是影像纹理,且深度域满足上述条件。
(4)不使用深度域,且深度信息从使纹理域动画的影像纹理的α通道中搜索到。
条款6.5.3.3.2,编辑
问题:深度域的语义未完全指定。
解决方法:用建议的修改替换深度域的说明(第三段)。
建议修改:
深度值的几何意义和适于对采用简单纹理解释的所有约定,在这里应用得很好。
深度域指定投影平面中的每个点的多个深度,以遍历顺序假定它是远平面(见上)的,它从左下角的点开始且在移动到上线之前遍历到右边以实现水平线。对于每个点来讲,首先存储深度(像素)的数目,然后存储深度值的数目。
条款6.5.3.4.1,H.1,技术
问题:用于八叉树域的文件类型SFString可能导致矛盾值。
解决方法:将八叉树域的域类型改变成MFInt32。
建议修改:
在条款6.5.3.4.1中
域 MFInt32 octree “”
在条款H.1中,八叉树表改变八叉树列表如下:
域名 | DEFid | Inid | OUTid | DYNid | [m,M] | Q | A | |
深度 | MFInt32 | 01 | [0,255] | 13,8 |
条款6.5.3.4.1,技术
问题:DIBR的流动将用AFX统一的流动方法完成。
解决方法:从深度图像节点中去除octreeUrl域。
建议修改:
八叉树图像{
域 SFInt32 八叉树分辨率 256
域 MFInt32 八叉树 “”
域 MFNode 八叉树图像 []
}
条款6.5.3.4.2,编辑
问题:八叉树分辨率域定义(第2段)允许曲解。
解决方法:通过加‘允许的’词修改描述。
建议修改:
八叉树分辨率区域指定沿着封闭的立方体的一边的八叉树叶的最大允许数目。八叉树的级别可由八叉树分辨率利用如下方程式来决定:
八叉树级别=int(log2(八叉树分辨率-1)+1)
条款6.5.3.4.2,技术
问题:DIBR的流动将用AFX统一的流动方法完成。
解决方法:去除octreeUrl域的解释(第5段及以下)。
建议修改:
条款6.5.3.4.2,编辑
问题:八叉树图像的动画描述不完整。
解决方法:在描述八叉树图像动画的条款6.5.3.4.2后面增加一段落。
建议修改:
八叉树图像的动画可以通过与上述基于深度图像的前三种方式一样的方法来播放,利用八叉树域而不是深度域时仅有一点差异。
条款H.1,技术
问题:在点纹理的节点中,深度数据范围也许在以后的应用中太小了。许多绘图工具可以将24位或36位深度给它们的Z—缓冲器。然而,在点纹理中,深度域的范围是[0,65535],它是16字节的。
解决方法:在条款H.1中,用于点纹理的表,把深度列的范围改做所建议的值。建议修定
IV.ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO
域名 | DEF id | In id | OUT id | DYN id | [m,M] | Q | A | |
深度 | MFint32 | 10 | [0,1] |
1.引言
在本文档中,描述了基于深度图像表示(DIBR)的八叉树图像的改进,AFX A8.3。本八叉树节点在Pattaya会议期间被接受和包括到委员会草案的建议中。然而,因为物体的几何封闭,已经观察到在一些特定情况下着色质量不令人满意。这篇文件描述了改进八叉树节点版本,即纹理二进制体积八叉树(TBVO)和其流动压缩方法。
2.纹理二进制体积八叉树(TBVO)
2.1 TVBO概述
TVBO的目的是发明一个具有快速可视化图像的更灵活的表示/压缩格式,作为二进制体积八叉树(BVO)的改进。它的实现是通过储存一些额外的基于BVO的信息。基于BVO的表示是由(八叉树纹理+参考图象的设置)组成,而基于TBVO表示由(BVO八叉树+参考图象的设置+相机指数)组成。
BVO主要的可视化问题是:在着色期间,我们必须决定相应的每一个体元的相机指数。为此,我们不仅需要投影到相机,而且要作背面的射线造型程序。我们必须至少要确定相机存在,从中可以看到体元。因此,我们必须找所有投影到特定相机的体元。但是,如果我们用强制的方法,这个过程就很慢。因此,我们开发了一种算法,使它对于大多数物体形状执行得更快更精研。然而,对来自任何相机的不可视化的体元仍存在一些麻烦。
一个可行的解决方法就是对每一个体元储存明确的颜色。然而,在这种情况下,我们已经碰到几个在压缩颜色信息的问题。那就是,如果我们组合体元颜色作为一图象格式并压缩它时,相邻体元的校正被破坏以至压缩率达不到满意的效果。
在TBVO中,这个问题通过为每一个体元储存相机(图像)指数来解决。这个指数通常对于体元组是一样的,并且这可以为附件信息的经济存储使用八叉树纹理。应注意的是,平均只有15%的体积增长在我们的模型实验中是可以看到的。它的建模有一点复杂,但有表示任何几何物体的方法更多,也更灵活。
TBVO优于BVO是它的着色比BVO更简单和更快,实际上对物体几何没有附加限制。
2.2 TBVO的例子
在这部分,我们给出一个典型例子,用于说明TBVO描述的效果和关键要素。在图12(a)中,给出一个“天使”的BVO模型。使用BVO中普通的6个纹理,身体和翅膀的某些部分从任何相机中都无法观察到,用很多“裂纹”产生着色图象。在同样模型的TBVO描述中,使用总数为8个相机(一个盒子的6个面+2个附加相机)。在图13(a)中,示出了相机指数的图象。不同颜色意味着不同的相机指数。附加的相机被安放在立方体里面,正交地观察前面和后面的部分。附加相机的图象平面分别被表示在图13(b)和(c)中。结果,我们获得了一个无缝和清晰的着色结果,如图12(b)所示。
2.3解压缩的TBVO流描述
我们假定255相机就够了,并且为指数指定一个字节。这个TBVO流是符号流。每一个TBVO符号就是BVO符号或是纹理符号。纹理符号表示相机指数,它可以是一个特定的数字或是一个“未定义”的代码,在进一步的描述中使“未定义”的代码为“?”。
TBVO流以宽度第一的顺序被遍历,如果我们有BVO,并且每一叶体元有相机数目,则就让我们描述怎样写TBVO流。这必须在建模阶段完成。它将以宽度优先的顺序遍历所有BVO节点,包括叶节点(它并没有BVO符号)。下面的伪代码将完成编写TBVO流。
If CurNode is not leaf node { Write current BVO-symbol corresponding to this node } if all the children have identical camera index(texture-symbol) { if parent of CurNode has‘?’camera index Write camera index equal for sub-nodes } else { Write‘?’symbol }
根据这个程序,对于如图14(a)所示的TBVO树,可获取的符号流如图14(b)所示。在这个例子中,这个纹理符号就是以字节的形式表示。然而,在实际流中,每一个纹理符号只要2个字节,因为我们只需要描述3个值(2个相机和未定义代码)。
2.4..TBVO压缩
在八叉树图像节点中,八叉树图像和八叉树域被分别压缩。基于这种必须使八叉树域受到无损压缩而又允许八叉树图像在视觉方面有一定程度的可接受的扭曲的想法,开发了描述的这种方法。
2.4.1.八叉树图像域的压缩
八叉树图像域利用MPEG-4图像压缩(静态模型)或利用MPEG-4中允许的视频压缩工具(动画模型)压缩。在我们的方法中,我们对于八叉树图像使用的是JPEG格式(在我们称它为JPEG图像的归一化的一些预处理后,保留的每一条纹理,只有那些以3D可视的点是必要的;也就是说,那部分在3D着色阶段不被使用的给定纹理,我们可以随意将其压缩)。
2.4.2八叉树域压缩
八叉树压缩是八叉树图像压缩中最重要的部分,因为它使用的压缩表示出已经非常紧凑链接的二元树形。不管怎样,在我们的实验中,表明此方法可以将这种结构的体积减少至原始体积的一半以下。在动态八叉树图像版本中,八叉树文件中的每个3D帧受到单独压缩。
2.4.2.1.上下文模型
通过确切使用数据几何特性的算术编码(作为“范围编码器”来进行,)的自适应变化进行压缩。八叉树为字节流。每个字节代表树的一个节点(子立方体),其中其各位表示在内部细分后的子立方体的占用率。位的模式被称为节点的填充模式。所述的压缩算法以下面的方式依次处理字节。
●决定当前字节的上下文。
●从与上下文相应的‘概率表’(PT)中重新获得本上下文中当前字节出现的‘可能性’(归一化频率)。
●概率值被送到范围编码器。
●通过对在当前上下文中的当前字节出现的频率加1更新当前PT(如果需要,之后重新归一化,见下面细节)。
因此,根据上下文模型,编码是重建和更新PT的过程。在基于上下文自适应算术编码方案(如‘具有部分匹配的预测’)中,符号的上下文通常是前面几个符号的一个字符串。然而,在本例中,通过使用数据的八叉树结构和几何特性增加了压缩效率。所述方法基于两种在八叉树压缩问题中非常新的思想。
A.对于当前节点来讲,上下文或者是父节点,或者是节点对{父节点,父节点中的当前节点位置};
B.假定在特定父节点中的特定几何位置,给定节点出现的‘可能性’对特定的正交(如旋转或对称)转换来说是不变的。
对于转换R来讲,在图6中示出了假定‘B’,它在x-z屏幕上旋转-90°。‘B’后的基本概念是注意特定类型的父节点中出现特定类型的子节点的可能性只会依赖于它们的相对位置。这种假设通过对概率表的分析在我们的实验中得到确认。它使我们在没有太多的概率表的情况下去使用更复杂的上下文。反之,它利用数据大小和速度帮助我们获得很好的结果。注意到使用的上下文越多,估计的概率越分明,因此代码越紧密。
让我们介绍我们假定概率分布不变的系列转换。为了在我们这种情况下进行应用,这样的转换应当保持封闭的立方体。考虑到欧几里德空间中的一系列正交转换G,通过以3个基本转换的数目和顺序的所有组合(生成器)m1,m2,m3获得,它们为 其中m1和m2分别为平面x=y和y=z的反射,和m3是平面x=0的反射。通过反射生成的群论的经典结果之一描述了G包含48个明显的正交变换,从某种意义上来讲,这是自身引入(所谓Coxeter组)立方体的最大正交变换组。例如,图6中的旋转R通过生成器表示为
R=m3·m2·m1·m2,其中‘.’为矩阵乘法。
应用到八叉树节点的G的转换产生不同的子立方体充填模式的节点。这使我们根据它们的子立方体的充填模式对节点进行分类。利用群论语言,我们假定G扮演着八叉树的所有充填模式系列的角色。计算表明存在22个不同的类(在群论中也称为轨道),其中,通过定义,如果当且仅如果它们通过G的转换链接到一起时,则两个节点就属于同一类。一个类中元素的数目从1变到24,且总是48的除数。
假定‘B’的实际次序为概率表不仅依赖于父节点本身,而且还依赖于父节点所属的类。应注意的是,一个基于父节点的上下文有256个表,在以前情况下基于父-和-子的位置的上下文有256×8=2048个表,而在后一种情况下,我们仅需要基于父级别的上下文的22个表加22×8=176个表。因此,就可以利用少量概率表,使上下文的复杂性相同。构建的PT具有表8所示的形式。
表8概率表列举
ID of PTs | 0 | 1 | … | 255 | 上下文描述 |
0 | P0,0 | P0,1 | … | PO,255 | 0-上下文:独立上下文 |
1..22(22) | Pi,0 | Pi,1 | … | Pi,255 | 1-上下文:{父节点类} |
23…198(176) | Pj,0 | Pj,1 | … | Pj,255 | 2-上下文:{父节点类,当前节点位置} |
2.4.2.2编码过程
为了使概率表的统计更精确,在编码的三个阶段以三种不同的方式收集。
●在第一阶段我们根本不用上下文,接受‘0-上下文模型’,且保留具有256个入口的单个概率表,从统一分布开始;
●第一512个节点(这是一个经验数)一旦被编码,我们就利用父节点作为上下文切换到‘1-上下文模型’。在切换的瞬间,0-上下文PT被拷贝到所有22个上下文的PT。
●在2048个节点(其它探讨值)编码后,我们切换到‘2-上下文模型’。在这个瞬间,父模式的1-上下文PT被拷贝到同一父模式中的每个位置的PT。
该算法的关键点是确定当前字节的上下文和概率。这将如下实施。在每个级别我们固定单个元素,它称为‘标准元素’。我们将表示级别的级别图表(CMT)存储到所属的每个可能的256个节点,级别图表还表示将这个特定节点到其级别的标准元素的G的预算转换。因此,为了确定当前节点N的概率,我们实施以下步骤:
●查看当前节点的父节点P;
●检索P所属的CMT级别,并检索将P成为该级别的标准节点的转换T。将级别数目记作c;
●将T用到到P上,找到标准节点中的子节点位置p,当前节点N被绘制到标准节点上;
●将T用到N上。然后,新获得的充填模式TN是在级别c的标准节点中的位置p。
●从与级别位置组合(c,p)相应的概率表的入口TN中检索所需要的的概率。
对于1-上下文模型来讲,上述步骤可以作明显的修改。无需说,所有的转换都被预算和在查找表中预先执行。
应注意的是,在节点N的解码阶段,父节点P已经被解码,因此,转换T已知。在解码阶段的所有步骤与相应的编码步骤绝对相似。
最后,我们概述概率的更新过程。让P作为一些上下文的概率表。在该上下文中,P(N)表示与阶段N出现的概率相应的P的入口。在实施中,P(N)是一个整数,在每个N发生后,P(N)被更新为:
P(N)=P(N)+A其中A为不同上下文模型的从1到4的整数增量参数。让S(P)为P中所有入口的和。然后送入到算术编码器(在本例中为范围编码器)的N的‘概率’用P(N)/S(P)来计算。当S(P)一达到阈值216时,所有入口就被归一化:为了避免在P中出现零值,等于1的入口留下来保持原状,而其它则被除以2。
2.4.2.3‘相机节点’的编码
利用其本身的概率表,对确定每个纹理(相机)数目的符号流进行压缩。在上述条款中,它只有一个上下文。PT入口用大于八叉树节点的入口的增量来更新;另外,用节点符号编码没有困难。
2.5TBVO压缩和着色结果
在图15、17、18和19中,我们得到TBVO的压缩结果。图16示出了‘天使’和‘莫顿’模型的剥离图像。压缩大小与压缩的BV0相比:在第三列中括弧里的数字为压缩的几何体积,而第一个数字为基于TBVO压缩模型的总体积(即考虑的纹理)。作为可视扭曲的测量,计算PSNR,以便估计LDI→(T)BVO→LDI转换后的色差。压缩的模型大小是所有纹理(作为最小的JPEG存储,见0)的大小加上压缩的几何大小。在TBVO情况下,压缩的几何也包括相机信息。与BVO对比,TBVO的PSNR得到明显改进。
TBVO获得比BVO更快的着色。对“天使”模型来讲,TBVO-12的帧率为10.8fps,而BVO的帧率为7.5fps。对“莫顿”模型来讲,TBVO-12的帧率为3.0fps,而BVO的帧率为2.1fps(在Celeron 850MHz上)。另一方面,可观察到动画TBVO中的着色加速更快。对“龙”模型,TBVO-12的帧率为73fps,而BVO的帧率为29fps(在Pentium4 1.8G上)。
TBVO格式提供大的灵活性。例如,利用12个相机的两个方式如图6所示-TBVO-12和TBVO-(6+6)。TBVO-12利用6个BVO相机(立方体表面)加上从立方体中心获取的6个图像,其平行于表面。(6+6)配置利用6个BVO相机,然后通过这些相机和通过同样6个相机变成可视的照片部分移去(‘剥去’)所有可视体元。这样的图像例子见图16。
应注意的是,BVO和TBVO-6天使模型之间的质量(主观和PSNR值)差异仍很大。尽管利用同样的相机位置,TBVO允许我们对所有的体元指定相机数目,即使从所有相机中不可见也是如此。选择这些数目是为了更好地匹配原有的颜色(即对每个点,不管是否直接可视,在所有‘相机图像’中均选择最好颜色匹配。在天使情况下,它得到了好的结果)。
同样应注意的是,6个和12个相机情况之间的最普通‘几何’(即BVO+相机)体积的差异。实际上,附加相机通常覆盖小区域,因此它们的标识是少有的,它们的纹理是罕见的(和压缩好的)。所有这些不仅应用到‘天使’,而且应用到下面所有模型上。
2.6节点说明
八叉树图像{
域 SFInt32 八叉树分辨率 256
域 MFInt32 八叉树 []#%q=13,8
域 MFlnt32 相机ID []#%q=13,8
域 MFNode 八叉树图像 []
}
该八叉树图像节点限定TBVO结构,其中存在一个相应于照相机指数数列的八叉树结构和一套八叉树图像。
该八叉树图像域为di纹理域指定一套具有单一纹理的深度图像节点;没有使用这些单一纹理节点中的深度域。正交域对深度图像字节来说必须是真实的。对每个单一纹理来说,纹理域存储该物体的颜色信息,或把该物体的一部分(例如通过摄影飞机的横截面)看做通过正交相机获得的,在深度图像的相应域中确定其位置和方位。在模型构造阶段,分配对应于每个摄影机的物体部分。用位置、方位和纹理域的值进行物体分割,以便最小化摄影机的数量(或等于所包含的八叉树图像),同时,还包括所有能从任意选择位置看见的物体部分。该方位域必须满足条件:摄影窗口矢量仅具有一个非零分量(例如是垂直于所包围的立方体面中的一个面)。而且,单一纹理图像的边缘必须平行于封闭立方体的相应边。
八叉树域充分描述物体的几何结构。该几何结构由一套给定物体的三维像素来表示。八叉树是类似树的数据结构,其中每个节点通过字节来表示。在该字节的第1位中的1意味着其内部字节的第i个子存在子字节;而0意味着没有。八叉树内部字节的顺序是该八叉树宽度上的第一遍历。内部节点的八个子节点的顺序示在图14(b)中。整个八叉树的封闭立方体的大小为1×1×1,且该八叉树立方体的中心为原始坐标系统的原点(0,0,0)。
摄影ID域包括赋值为体元的摄像指数数组。在绘制阶段,属于八叉树叶的颜色通过将该树叶正交投影到具有具体指数的八叉树图像中的一个上。该指数以类似八叉树的形式存储:如果能够将一个具体的摄影用于所有包含在具体节点中的树叶,则包含该摄影的指数的节点汇入流中;否则,给出包含固定的“进一步细分”编码的节点,这就意味着摄影指数能够分别指定为当前节点(在同一递归形式下)的子节点。如果该摄影ID是空的,则在绘制阶段(在BVO的情况下)确定摄影标引。
该八叉树域沿着封闭立方体的边指定该八叉树叶的最大容许数量。该八叉树的水平可从使用下面等式的八叉树解式中得到:
八叉树水平=〔log2(八叉树分辨率)〕
2.7位流说明
2.7.1八叉树压缩
2.7.1.1概述
基于深度的图像中表示的八叉树节点定义八叉树结构和它们的投影纹理。存储在八叉树数组中的每个纹理,通过具有单一纹理的深度图像节点定义。八叉树节点的其它域可通过八叉树压缩来进行压缩。
2.7.1.2八叉树
2.7.1.2.1语法
class Octree() { <dp n="d41"/> OctreeHeader(); aligned bit(32)*next; while(next==0×000001C8) { aligned bit(32)octree_frame_start_code; OctreeFrame(octreeLevel); aligned bit(32)*next; } }
2.7.1.2.2语义学
该八叉树所压缩的流包括八叉树头和一个或多于一个的八叉树框架,每个前面为octree_frame_start_code。该octree_frame_start_code的值总是为0×000001C8。该值通过该流的先行分析(接下来)来检测。
2.7.1.3八叉树头
2.7.1.3.1语法
class OctreeHeader()
{
unsigned int(5)octreeResolutionBits;
unsigned int(octreeResolutionBits)octreeResolution;
int octreeLevel=ceil(log(octreeResolution)/log(2));
unsigned int(3)textureNumBits;
unsigned int(textureNumBits)numOfTextures;
}
2.7.1.3.2语义学
该类读取八叉树压缩的头信息。
八叉树解式,其长度通过八叉树解式字节来表示,包括八叉树图像节点的八叉树解式的值。该值用于推倒八叉树级。
作为textureNumBits长度的NumOfTextures,描述用在八叉树图像节点中的纹理(或摄影)的数量。该值用于该八叉树每个节点的摄影ID的算术编码。如果textureNumBits的值为0,则纹理符号不会通过将根节点的当前纹理设置为255而被编码。
2.7.1.4八叉树框架
2.7.1.4.1语法
class OctreeFrame(int octreeLevel) { for(int curLevel=0;curLevel<octreeLevel;curLevel++0 { for(int nodelndex=0;nodelndex<nNodeslnCurLevel;nodelndex++) { int nodeSym=ArithmeticDecodeSymbol(contextID); if(curTexture==0) { curTexture=ArithmeticDecodeSymbol(textureContextID); } } } for(int nodelndex=0;nodelndex<nNodeslnCurLevel;nodelndex++) if(curTexture==0) curTexture=ArithmeticDecodeSymbol(textureContextID); }
2.7.1.4.2语义学
该类读取八叉树在一宽度上的第一遍历顺序的单一框架。从在0级的第一节点开始读取,在读取当前级的每个节点之后,通过计数在每个节点符号中的所有1而得知在下一级的节点的数量。在下一个级中,节点(nNodeInCurLevel)的数量将从流中读取。
为了解码每个节点,就给出一个合适的contextID,这将在2.7.1.6条款中描述。
如果当前节点(curTexture)的纹理(或摄影)ID没有被父节点确定,则纹理ID也从流中读取,使用纹理ID的上下文,通过textureContextID来确定。如果检索到非0值(定义纹理ID),则该值也将被用到下一级的所有子节点中。在解码每个节点之后,将纹理ID赋给尚没有赋给纹理ID值的八叉树的叶节点。
2.7.1.5适配的算术解码
在该段中,将描述用在八叉树压缩中的适配的算术编码器,使用C++结构语法来进行描述。aa_decode()是对符号解码的函数,使用通过数组cumul_freq[]限定的模型,PCT是概率上下列表中的一个数组,这将在2.7.1.6中描述。
int ArithmeticDecodeSymbol(int contextID) { unsigned int MAXCUM=1<<13; unsigned int TextureMAXCUM=256; int*p,allsym,maxcum; if(contextID!=textureContextID) { p=PCT[contextID]; allsym=256; maxcum=MAXCUM; } else { p=TexturePCT; allsym=numOfTextures; maxcum=TextureMAXCUM; } int cumul_freq[allsym]; int cum=0; for(int i=allsym-1;i>=0;i--) { cum+=p[i]; cumul_freq[i]=cum; } if(cum>maxcum) { cum=0; for(int i=allsym-1;i>=0;i--) { <dp n="d44"/> PCT[contextID][i]=(PCT[contextID][i]+1)/2; cum+=PCT[contextID[i]; cumul_freq[i]=cum; } } return aa_decode(cumul_freq); }
2.7.1.6解码过程
解码过程的整个结构在条款0中描述(参看上面描述的编码过程)。它示出了如何从位流中获得TBVO节点,该位流由算术编码(压缩)TBVO模型构成。
在每一解码过程步骤中,我们必须更新上下文的数字(例如我们使用的概率列表的指数)和概率表本身。我们调用可能的模型,该模型是所有概率表(整数数组)的结合。第i个概率表的第j个元素除以它的元素的总和,估计第i个上下文中第j个符号出现的概率。
更新概率表的过程如下。开始,初始化概率表,以便所有的输入表都等于1。在解码一符号之前,必须选择上下文数字(ContextID)。ContexTID从在先的解码数据中确定,如用0或0以下表示。当得到ContextID时,使用二进制算术解码器来解码该符号。此后,通过增加适合的步骤到解码符号频率中去,以便更新概率表,如果表元素的总和(累积)变得比累积阈值大,则执行标准化(见2.7.1.5.1)。
2.7.1.6.1纹理符号的上下文建模
纹理符号仅使用一个上下文来建模。这意味着仅使用一个概率表。这个表的大小等于numOfTextures加1的数量。在开始时,该表被初始化到所有的1。最大允许输入值设置为256。适配的步骤设置为32。参数值的结合允许适合纹理数量的最高可变流。
2.7.1.6.2节点符号的上下文建模
有256种不同的节点符号,每个符号表示一个2×2×2的二进制体元数组。这些数组可以使用3D正交转换,彼此转换相应的符号。
假设一组48个固定的正交变换,也就是说,通过围绕坐标轴旋转90*n(n=0,1,2,3)度,并对称。下面给出它们的矩阵,它们的数字顺序是:正交变换〔48〕=
{
}
有22组符号-称作类,如果且仅如果它们属于同一类,则使其中两个符号通过这样的一个变换来连接,。编码方法按如下所述构成PCT:一个符号的纹理ID或是等于其父节点所属类中的数字,或者等于组合数字(父类,在父节点中的当前节点位置)。这允许在上下文的数字中有较大的缩小率,使获得有意义的统计所需要的时间缩短。
在每个类中,确定单一基本符号(见表9),而每个符号中,预算正交变换,这种变换使其成为其类的基本符号(在实际的编码/解码过程中,使用查找表)。在确定符号的上下文1D之后,应用将其父节点带到基元素的倒置(即转置矩阵)的转换。在表10中,给出上下文和每个符号相应的直接变换。表9 每个类的基本符号的例子
类 | 基本符号的例子 | 类顺序(元素的数量) |
0 | 0 | 1 |
1 | 1 | 8 |
2 | 3 | 12 |
3 | 6 | 12 |
4 | 7 | 24 |
5 | 15 | 6 |
6 | 22 | 8 |
7 | 23 | 8 |
8 | 24 | 4 |
9 | 25 | 24 |
10 | 27 | 24 |
11 | 30 | 24 |
12 | 31 | 24 |
13 | 60 | 6 |
14 | 61 | 24 |
15 | 63 | 12 |
16 | 105 | 2 |
17 | 107 | 8 |
18 | 111 | 12 |
19 | 126 | 4 |
20 | 127 | 8 |
21 | 255 | 1 |
上下文模型取决于已经解码符号的数字N:
当N<512时,仅有一个上下文。概率表初始化到所有为1。在概率表中符号的数量为256。适合的步骤为2。最大累积频率为8192。
当512≤N<2560(=2048+512)时,使用1-context(在context数字是单一参数的句子中,该类的数字)模型。该模型使用22PCT。contextID是该类的数字,其中该解码节点的父节点属于该类。这个数字总是从查找表格(参看表10)中确定,因为父节点比子节点更早被解码。每个22PCT通过来自上一级的PCT来初始化。在每个概率表中的符号的数字是256。适配的步骤是3。最大的累积频率也是8192。在符号被解码之后,使用上面定义的逆向正交变换来进行变换。该正交变换数字可以在表10中找到,该表中具有的节点符号ID等于当前节点符号的父节点。
当解码2560个符号时,解码器转换到2-context(在该句子中context数字是由下面描述的两个参数组成的)。该模型使用176(=22*8,例如8个位置的22个类)PCT。这里的contextID取决于父类和在父节点中的当前节点的位置。初始化这个模型中的概率表是取决于它的上下文,而不是位置:所有8个位置的PCT是从在上一级的给定类中获得的PCT的克隆。在每个概率表中的符号的数字是256。适配的步骤是4。最大累积频率也是8192。
在符号被解码之后,当是在上一级模型中时,也使用逆向正交变换(在表III中给定的一个)来进行变换。
使用表10,可以容易地获得每个类的基本元素的几何位置。基本元素实际上是变换ID为0(数字0赋给同一变换)的符号。
表10.连接节点符号的查找表格,它的类数字和使符号为该类中的固定基本元素的正交变换。
节 点符 号ID | 类ID | 正 交变 换ID | 节 点符 号ID | 类ID | 正 交变 换ID | 节 点符 号ID | 类ID | 正 交变 换ID |
0 | 0 | 0 | 85 | 5 | 6 | 170 | 5 | 9 |
1 | 1 | 0 | 86 | 11 | 6 | 171 | 12 | 9 |
2 | 1 | 3 | 87 | 12 | 6 | 172 | 10 | 20 |
3 | 2 | 0 | 88 | 9 | 37 | 173 | 14 | 12 |
4 | 1 | 10 | 89 | 11 | 13 | 174 | 12 | 15 |
5 | 2 | 1 | 90 | 13 | 1 | 175 | 15 | 5 |
6 | 3 | 0 | 91 | 14 | 1 | 176 | 4 | 36 |
7 | 4 | 0 | 92 | 10 | 18 | 177 | 10 | 25 |
8 | 1 | 12 | 93 | 12 | 13 | 178 | 7 | 30 |
9 | 3 | 3 | 94 | 14 | 10 | 179 | 12 | 30 |
10 | 2 | 5 | 95 | 15 | 1 | 180 | 11 | 38 |
11 | 4 | 3 | 96 | 3 | 25 | 181 | 14 | 19 |
12 | 2 | 21 | 97 | 6 | 11 | 182 | 17 | 16 |
13 | 4 | 10 | 98 | 9 | 36 | 183 | 18 | 7 |
14 | 4 | 12 | 99 | 11 | 11 | 184 | 10 | 31 |
15 | 5 | 0 | 100 | 9 | 38 | 185 | 14 | 35 |
16 | 1 | 11 | 101 | 11 | 14 | 186 | 12 | 31 |
17 | 2 | 4 | 102 | 13 | 4 | 187 | 15 | 16 |
18 | 3 | 2 | 103 | 14 | 4 | 188 | 14 | 39 |
19 | 4 | 2 | 104 | 6 | 34 | 189 | 19 | 3 |
20 | 3 | 6 | 105 | 16 | 0 | 190 | 18 | 9 |
21 | 4 | 6 | 106 | 11 | 34 | 191 | 20 | 3 |
22 | 6 | 0 | 107 | 17 | 0 | 192 | 2 | 37 |
23 | 7 | 0 | 108 | 11 | 39 | 193 | 9 | 32 |
24 | 8 | 0 | 109 | 17 | 1 | 194 | 9 | 34 |
25 | 9 | 0 | 110 | 14 | 20 | 195 | 13 | 21 |
26 | 9 | 7 | 111 | 18 | 0 | 196 | 4 | 37 |
27 | 10 | 0 | 112 | 4 | 25 | 197 | 10 | 27 |
28 | 9 | 13 | 113 | 7 | 11 | 198 | 11 | 26 |
29 | 10 | 1 | 114 | 10 | 22 | 199 | 14 | 21 |
30 | 11 | 0 | 115 | 12 | 11 | 200 | 4 | 39 |
31 | 12 | 0 | 116 | 10 | 19 | 201 | 11 | 24 |
32 | 1 | 30 | 117 | 12 | 14 | 202 | 10 | 29 |
33 | 3 | 7 | 118 | 14 | 11 | 203 | 14 | 23 |
34 | 2 | 16 | 119 | 15 | 4 | 204 | 5 | 24 |
35 | 4 | 7 | 120 | 11 | 42 | 205 | 12 | 24 |
36 | 8 | 2 | 121 | 17 | 4 | 206 | 12 | 26 |
37 | 9 | 2 | 122 | 14 | 31 | 207 | 15 | 21 |
38 | 9 | 3 | 123 | 18 | 2 | 208 | 4 | 38 |
39 | 10 | 2 | 124 | 14 | 37 | 209 | 10 | 28 |
40 | 3 | 9 | 125 | 18 | 6 | 210 | 11 | 36 |
41 | 6 | 3 | 126 | 19 | 0 | 211 | 14 | 22 |
42 | 4 | 9 | 127 | 20 | 0 | 212 | 7 | 32 |
43 | 7 | 3 | 128 | 1 | 34 | 213 | 12 | 32 |
44 | 9 | 15 | 129 | 8 | 9 | 214 | 17 | 18 |
45 | 11 | 3 | 130 | 3 | 15 | 215 | 18 | 13 |
46 | 10 | 5 | 131 | 9 | 9 | 216 | 10 | 37 |
47 | 12 | 3 | 132 | 3 | 26 | 217 | 14 | 33 |
48 | 2 | 22 | 133 | 9 | 24 | 218 | 14 | 34 |
49 | 4 | 11 | 134 | 6 | 12 | 219 | 19 | 10 |
50 | 4 | 30 | 135 | 11 | 12 | 220 | 12 | 37 |
51 | 5 | 2 | 136 | 2 | 20 | 221 | 15 | 18 |
52 | 9 | 14 | 137 | 9 | 12 | 222 | 18 | 24 |
53 | 10 | 4 | 138 | 4 | 15 | 223 | 20 | 10 |
54 | 11 | 2 | 139 | 10 | 9 | 224 | 4 | 42 |
55 | 12 | 2 | 140 | 4 | 26 | 225 | 11 | 25 |
56 | 9 | 31 | 141 | 10 | 23 | 226 | 10 | 34 |
57 | 11 | 7 | 142 | 7 | 12 | 227 | 14 | 30 |
58 | 10 | 16 | 143 | 12 | 12 | 228 | 10 | 38 |
59 | 12 | 7 | 144 | 3 | 36 | 229 | 14 | 32 |
60 | 13 | 0 | 145 | 9 | 25 | 230 | 14 | 40 |
61 | 14 | 0 | 146 | 6 | 30 | 231 | 19 | 11 |
62 | 14 | 3 | 147 | 11 | 30 | 232 | 7 | 34 |
63 | 15 | 0 | 148 | 6 | 32 | 233 | 17 | 20 |
64 | 1 | 32 | 149 | 11 | 32 | 234 | 12 | 34 |
65 | 3 | 13 | 150 | 16 | 3 | 235 | 18 | 15 |
66 | 8 | 6 | 151 | 17 | 3 | 236 | 12 | 39 |
67 | 9 | 6 | 152 | 9 | 42 | 237 | 18 | 26 |
68 | 2 | 18 | 153 | 13 | 16 | 238 | 15 | 20 |
69 | 4 | 13 | 154 | 11 | 31 | 239 | 20 | 12 |
70 | 9 | 10 | 155 | 14 | 16 | 240 | 5 | 25 |
71 | 10 | 6 | 156 | 11 | 37 | 241 | 12 | 25 |
72 | 3 | 24 | 157 | 14 | 18 | 242 | 12 | 36 |
73 | 6 | 10 | 158 | 17 | 5 | 243 | 15 | 22 |
74 | 9 | 26 | 159 | 18 | 3 | 244 | 12 | 38 |
75 | 11 | 10 | 160 | 2 | 31 | 245 | 15 | 19 |
76 | 4 | 24 | 161 | 9 | 30 | 246 | 18 | 25 |
77 | 7 | 10 | 162 | 4 | 31 | 247 | 20 | 11 |
78 | 10 | 21 | 163 | 10 | 17 | 248 | 12 | 42 |
79 | 12 | 10 | 164 | 9 | 39 | 249 | 18 | 36 |
80 | 2 | 19 | 165 | 13 | 5 | 250 | 15 | 31 |
81 | 4 | 14 | 166 | 11 | 15 | 251 | 20 | 30 |
82 | 9 | 11 | 167 | 14 | 5 | 252 | 15 | 37 |
83 | 10 | 8 | 168 | 4 | 34 | 253 | 20 | 32 |
84 | 4 | 32 | 169 | 11 | 9 | 254 | 20 | 34 |
255 | 21 | 0 |
下面将详细描述八叉树图像格式的MPEG-4节点说明和压缩技术,它用于本发明的基于深度图像3D表示的装置和方法。
本发明描述一个数据结构族,基于深度图像的表示法(DIBR)提供有效的表示法,主要是根据图像和深度图,全面使用上面描述的优点。简要的特征在于主DIBR格式-简单纹理,点纹理和八叉树纹理。
图20示出了立体纹理图像和深度图的例子,图21示出了分层的深度图像(LDI)的例子。(a)示出了该物体的投影,(b)示出了分层的像素。
简单纹理是一种数据结构,该数据结构由图像、相应深度图和摄影描述(它的位置,方位和类型,正交或透视)组成。表示单个简单纹理的方法限定该物体(象建筑物的正面):具有深度图的正面影像在大多数角度范围内可以重新构建正面视图。然而,在参照图像覆盖所有建筑物表面的潜在可见部分的情况下,通过正确定位摄像机而对简单纹理的收集就可表示整个建筑物。当然,这同样适用于树,人图像,车等等。再者,简单纹理的统一为处理3D动画数据提供很自然的方法。在这种情况下,参照图像由参照视频流替代。每个3D框架的深度图可以通过这些视频流的α通道值或者通过离散的灰度级视频流表示。在这种表示中,图像可以被以有损的压缩格式(例如为JPEG格式)来存储。这显著减少了颜色的信息量,特别是在动画的情况下。然而,几何信息(深度图)应当是无损压缩,它使总体存储减少。
对于复杂形状的物体来讲,用合理数量的参考图像来覆盖整个可见表面有时是困难的。这种情况的优选表示方法是使用点纹理。该格式也存储参考图像和深度图,但是在这种情况下二者都是多值的:由摄影(正交或透视)提供的每个视线、颜色和距离都被存储在该物体的线的每个交叉点。交叉点的数量可以从线到线变化。几个点纹理的结合即使是对复杂的物体也提供很详细的表示法。但是该格式缺乏单一纹理的2D规律性,因此没有自然的基于图像的压缩格式。同样,它仅用于静态物体。
八叉树图像格式处于“大部分2D”简单纹理和“大部分3D”点纹理之间的中间位置:它以八叉树结构容量表示法(封闭立方体的常用二进制子部分的分级组织的体元)存储物体的几何形状,而颜色分量由一组图像来表示。该格式还包括附加的八叉树数据结构,对于每个叶的三维像素来讲,该结构存储包括它的颜色在内的参考图像的指数。在绘制八叉树图像阶段,该叶的三维像素的颜色由在相应参考图像上的正交投影确定。我们研究开发了八叉树图像几何部分的有效压缩方法。这是不同的基于上下文的适配算术编码,构造出的上下文精确使用了数据的几何特征。一起使用该压缩与有损压缩参考图像使八叉树得到非常有效的空间表示方法。类似简单纹理,八叉树图像具有动画版:参考视频流取代参考图像,对于每个3D框架来讲,还有两个表示几何形状的八叉树表示几何附加流和体元-到-图像的通讯。八叉树图像格式的很有用的特征是内置中间图形的性能。
DIBR族已开发有新的MPEG-4标准版本,适合包括在MPEG的动画框架扩充设备(AFx)中。AFX对合成MPEG-4环境提供更强的特征,且包括共同使用的工具,为交互动画内容(与存在的MPEG-4相配合)生成重新使用的体系结构。每个AFX工具示出了具有BIFS节点的性能、合成流和视听流。AFX的当前版本由动画(基于动画的骨头和皮肤)的高级说明来构成,它具有增强的透视图(例如,程序性纹理,光场图),紧凑的表示法(即NURBS,立体表示法,细分表面)低位率的动画(即内插压缩)等,及及我们提出的DIBR。
设计DIBR格式是为了结合早期提出的不同方法的优点,给用户提供灵活的工具来适合最特定的任务。例如,非动画简单纹理和点纹理特别适合已知格式的情况,而八叉树图像显然是新的表示方法。但是在MPEG-4上下文中,所有的三个基本DIBR格式可以认为是构件块,且它们通过MPEG-4的组合结构不仅增强了在文献中提出的基于图像的表示法,而且对构造这种新的格式给出了巨大的潜力。
现在将描述基于深度图像的表示法。
考虑到在上面部分中描述的思想以及我们自己的一些研究,我们建议下面的一组基于图像的格式用在MPEG-4 AFX中:简单纹理、点纹理、深度图像和八叉树图像。应注意的是简单纹理和八叉树纹理具有动画版本。
简单纹理是单一图像与深度图像的组合。它等同于RT,而点纹理等同于LDI。
根据简单纹理和点纹理作为构件块,我们能使用MPEG-4结构来建立各种表示法。格式说明将在后面给出,并将描述几何结果。
深度图像结构与边界框、空间位置和一些其它信息一起限定简单纹理或点纹理。一组深度图像可以在称为变换节点的单一结构下统一,并且允许各种各样的有用表示的结构。共同使用的大部分是它们中的没有具体MPEG-4名的两个,但是实际上,我们称它们为盒纹理(BT)和广义盒纹理(GBT)。BT是相应于一个物体和景象的边界立方体的六个图像纹理的结合,而GBT是组成3D表示法的任何数量的简单纹理的任意结合。在图22中给出了BT的例子,这里示出了参考图像、深度图和合成3D物体。BT可用增加的变形算法来绘制,但是我们使用了不同于GBT的方法。GBT表示法的一个例子示在图23中,这里21个简单纹理被用于表示复杂的物体,棕榈树。
应当注意的是统一机构例如允许使用几个不同摄影来表示相同物体或表示相同物体的部分的几个LDI的使用。因此,象基于图像物体的数据结构、LDI树的单元、基于surfels的树结构的单元,是这个格式的所有具体情况,它们为景象结构在简单纹理和点纹理的适应位置和分辨率方面提供更大的灵活性。
接下来将描述八叉树图像:构造二进制容量八叉树(TBVO)。
为了使用具有更具灵活性的表示法和更快绘制的多分辨几何结构及纹理,我们开发了八叉树表示法,它是基于纹理二进制容量八叉树(TBVO)。TBVO的目标的设计一种具有快速高质量形象化的灵活表示/压缩格式。TBVO由三个主要分量构成-表示几何结构的二进制容量八叉树(BVO)、一组参考图像和相应于八叉树节点的图像指数。
BVO形式的几何信息是在普通八叉树方式中以较大单元组合的一组二进制(占用或空的)规则隔开的三维像素。该表示法利用中间“点云”形式能从深度图像数据中方便获得,因为每个具有深度的像素在3D空间中限定唯一的点。该点云向BVO的转换示在图24中。一个类似的过程可以将多边形模型转换为BVO。BVO的纹理信息可从参考图像中恢复。参参图像是在给定摄影位置和方位的三维像素的纹理。因此,BVO本身和参考图像已经提供了模型表示法。然而,结果是对每个BVO叶存储参考图像指数的附加结构允许更快和更高质量的显影。
主BVO显影的问题是我们在绘制过程中必须确定每个体元的相应摄影指数。为此,我们必须至少确定摄影的存在,从摄影中可见到体元。如果我们使用强力法,则这个过程是很慢的。除了该问题之外,该体元仍然有一些问题是从任何摄影中看不见的,在绘制图像时存在不期望的人工因素。
可行的解决办法是能在每个体元中存储分割的颜色。然而,在这种情况下,在压缩颜色信息时具有一些问题。即,如果该组体元颜色作为图像格式并压缩它,则相邻体元的颜色相关性被破坏,使得该压缩率不能令人满意。
在TBVO中,这个问题通过为每个体元存储摄影(图像)指数而解决。对于大组体元来说,该指数通常是相同的,这使八叉树结构用来经济地存储附加信息。应注意的是,这与仅使用BVO和参考图像的表示法来比较,在使用我们的模型的试验中观测到,平均只有15%体积的增加。它在建模时有点复杂,但是更灵活地表示任何几何结构的物体。
应注意的是,对于利用splats绘制来讲,TBVO是很方便的表示法,因为splat的大小容易从体元大小中计算出来。使用参考图像和体元的图像指数,容易确定体元颜色。
下面将描述纹理二进制容量八叉树的流。
我们假定255个摄影已经足够,并为每个指数赋值直到1比特。TBVO流是符号流。每个TBVO符号是BVO符号和纹理符号。纹理符号表示摄影指数,它是具体数字或“未限定”的代码。
让我们对“未限定的”代码是‘?’作进一步的描述。TBVO流在宽度方位上转换。让我们描述如何写TBVO流,如果我们具有BVO并且每个叶体元具有图像指数。这必须在建模阶段作出。它将转换所有的在宽度方位上包括叶节点的(没有BVO符号)BVO节点。在图25中,示出了完成写该流的伪代码。
写TBVO位流的例子示出在图14中。示出在图14(a)的是TBVO树,根据这个过程可从图14(c)中获得符号流。在该例子中,纹理符号以字节来表示。然而,在实际流中,每个纹理符号将仅需2个字节,因为我们仅需要表示三个值(两个摄影和未定义的代码)。
下面描述DIBR动画。
动画版本被限定两个DIBR格式:深度图像仅包括单一纹理和八叉树图像。数据量是具有3D动画的至关重要的问题之一。我们已经选择这些具体格式,因为视频流能自然地合并进动画版本中,提供实际数据减少。
对深度图像来讲,通过MPEG-4电影纹理,通过取代参考图像执行动画。高质量地有损视频压缩没有严重影响合成的3D物体的外观。深度图可以存储在(在接近无损模型)参考视频流的阿尔法通道中。在绘制阶段,在接收和解压所有的参考图像和深度框架之后,绘制3D框架。
八叉树图像的动画是相似的-通过MPEG-4电影纹理代替参考图像,且出现新的八叉树流。
下面将描述MPEG-4节点说明。
在MPEG-4 AFX节点说明中详细描述DIBR格式。深度图像包括确定简单图像或点图像的可视平截头体(frustum)参数的域。八叉树节点以TBVO限定几何结构和一组参考图像格式的形式来表示物体。取决于景象的信息被存储在DIBR数据结构的特定域中,允许具有剩余景象的DIBR物体的交互校正。DIBR节点的限定示在图26中。
图27示出了深度图像的空间布置,其中示出了每个域的含义。应注意的是深度图像节点限定单一的DIBR物体。当多个深度图像节点彼此相联系时,它们作为一个组来进行,因此,应该在同一变换节点下放置。Di纹理说明具有深度(简单纹理或点纹理)的纹理,它将在深度图像节点中限定的区域中映像。
八叉树图像节点限定八叉树结构和它们的投影纹理。八叉树分辨率域沿着封闭立方体的边指定八叉树叶的最大数量,八叉树节域指定一组八叉树内部节点。每个内部节点由一个字节表示。在节点的第i个字节的1表示在第i个内部子节点中存在的子节点。而0表示没有。八叉树内部节点的顺序将是八叉树宽度第一遍历的顺序。图14(b)中示出了内部节点的8个子节点的顺序。体元图像指数域包括赋予体元图像指数的数组。在绘制阶段,通过在具有具体指数的某一个图像上正交投影树叶,确定分配给八叉树叶的颜色。该指数以八叉树形式存储:如果具体的图像被用于包含具体体元的所有树叶,则包含图像指数的体元被分布到流;另外,发布包含固定的‘进一步的细分’代码体元,这意味着每个当前体元(以同样的周期方式)的子节点图像指数将被分别指定。如果体元图像指数为空,则在着色阶段确定图像指数。图像域指定di纹理域的具有简单纹理的系列深度图像节点。但没有使用深度图像节点的近平面和远平面域和在简单纹理节点中的深度域。
现在说明八叉树图像格式的压缩。
在这个部分中,我们考虑用于八叉树图像的压缩方法。稍后提供和评述一般的测试结果。请注意还不支持点纹理的压缩,它将在新版本的AFX中被实现。
在八叉树图像中的域八叉树图像和八叉树被分别压缩。所提出的方法已经被开发,这是基于八叉树域必须被无损耗地压缩,并且同时对八叉树图像允许一定程度的可视可接受的失真。
八叉树图像域通过被MPEG-4支持的图像压缩工具(用于静态模型)或视频压缩工具(用于动画的模型)被压缩。在我们的方法中,我们对于八叉树图像使用JPEG格式。通过在物体/背景边界丢弃无关的像素和抑制压缩非自然信号的对图像的附加的预处理同时提高了压缩率和再现质量。
八叉树压缩是八叉树图像压缩中的最重要的部分,因为它处理已经非常紧凑的无链接二进制数表示的压缩。但是在我们的实验中,下述的方法将这个结构的体积降低到大约原来的一半。在动画的八叉树图像格式中,八叉树域被对于每个3D帧分别压缩。
通过基于内容的自适应算术编码的变量来执行压缩,基于内容的自适应算术编码的变量明确地利用数据的几何性质。八叉树是字节流。每个字节表示树的一个节点(即子立方体),其中它的比特表示在内部细分之后的子立方体的占用。这个比特组合模式被称为节点的填充模式。所提出的压缩算法以下述的方式逐个处理字节。
-确定当前字节的上下文。
-从对应于上下文的‘概率表’(PT)来检索在这个上下文中的当前字
节的出现‘概率’(归一化的频率)。
-将概率值送到算术编码器。
-通过向在当前上下文中当前字节出现的频率加上特定的步骤来更新
当前的PT(并且如果必要的话,以后重新归一化,详见下面)
因此,编码是按照上下文模型构造和更新PT的处理。在基于上下文的自适应算术编码方案中(诸如‘利用部分匹配的预测’)。一个符号的上下文通常是几个在前的符号串。但是,在我们的情况下,通过使用八叉树结构和数据的几何特性来提高压缩效率。所提出的方法是基于两个思想,它们在八叉树压缩的问题中显然是新的。
A1:对于当前的节点,上下文或者是它的父节点,或者是成双的{父节点,在父节点中的当前节点位置};
A2:假设在特定父节点中的特定几何位置的给定节点出现的‘概率’是相对于某一组正交(诸如旋转或对称)变换不变的。
假设‘A1’在图6中示出,针对变换R,它是在x-z平面上的-90°的旋转。在‘A2’后面的基本概念是在特定类型的父节点中的特定类型的子节点的出现概率应当仅仅取决于它们的相对位置。在我们的实验中通过分析概率表确认了这个假设。它使得我们可以使用更复杂的上下文而没有太多的概率表。这有助于获得数据大小和速度上的良好结果。注意使用的上下文越复杂,估测的概率越尖锐,因此代码越紧凑。
让我们引入一组变换,对于它们,我们假设概率分布不变。为了应用到我们的情况中,这些变换应当保留闭合的立方(enclosing cube)。
考虑在欧几里德空间中一组正交变换G,它们是通过将3个基本变换(发生器)m1、m2和m3在任何数量和顺序上的所有组合而获得的,其中m1、m2和m3由下式给出
(1)
其中m1和m2分别为平面x=y和y=z的反射,和m3是平面x=0的反射。通过反射[27]生成的群论的经典结果之一描述了G包含48个明显的正交变换,在某种意义上,这是将立方体放进本身位置(所谓Coxeter组[27])的正交变换的最大组。例如,图6中的旋转R通过生成器表示为
R=m3·m2·m1·m2 (2)
其中‘.’为矩阵乘法。
从G的转换应用到八叉树节点,产生不同的子立方体充填模式的节点。这允许我们根据它们自立方体的充填模式对节点进行分类。利用群论语言,我们假定G起到八叉树的所有充填模式系列的作用。计算表明存在22个明显的类(在群论中还称为轨道),其中通过定义,使两个节点属于同一类,当且仅当它们通过G的转换链接到一起。一个类中的元素数目从1到24,(并且,根据群论,总是48的除数)。
‘A2’的实际次序为概率表不仅依赖于父节点本身,而且依赖于父节点所属的类。应注意的是一个基于父节点的上下文有256个表,在以前的情况下,基于位置的父-和-子的上下文有256×8=2048个表,而我们需要基于父级别的上下文的22个表加上后者的22×8=176个表。因此,就可以使上下文的复杂程度相同,同时利用少量的概率表。构建的PT具有表11所示的形式。表11概率表列举
ID of PTs | 0 | 1 | … | 255 | 上下文描述 |
0 | P0,0 | P0,1 | … | P0,255 | 0-上下文:独立上下文 |
1..22(22) | Pi,0 | Pi,1 | … | Pi,255 | 1-上下文:{父节点类} |
23…198(176) | Pj,0 | Pi,1 | … | Pj,255 | 2-上下文:{父节点类和当前节点位置} |
为了使概率表的统计更精确,在编码的三个阶段以三种不同的方式收集。
在第一阶段我们根本不用上下文,接受‘0-上下文模型’,且保留具有256个入口的单个概率表,从统一分布开始;
第一512节点(这是一个经验数)一旦被编码,我们就利用父节点作为上下文切换到‘1-上下文模型’。在切换的瞬间,0-上下文PT被拷贝到所有22个上下文的PT。
在2048个节点(其它探讨值)编码后,我们切换到‘2-上下文模型’。在这个瞬间,父模式的1-上下文PT被拷贝到在同一父模式中每个位置的PT上。
正交的关键点是当前字节的上下文和概率决定的。这将根据下述方式实施。在每个级别我们固定单个元素,它称为‘标准元素’。我们存储表示级别的级别图表(CMT)到所属的每个可能的256个节点,并表示从G的计算转换,在G处将这个特定的节点变成同级别的标准元素。因此,为了确定当前节点N的概率,我们实施以下步骤:
-查看当前节点的父节点P;
-检索从属于P的CMT的级别,和对将P变成该级别的标准节点的转换T进行检索。将级别数目记作c;
-将T用到P上,找到标准节点中子节点位置p,其中当前节点N被绘制;
-将T用到N上。然后,新获得的充填模式TN是在级别c的标准节点中的位置p。
-从与级别-位置组合(c,p)相应的概率表的入口TN中检索所需要的概率。
-对于1-上下文模型来讲,上述步骤可以用显而易见的方式进行修改。无需说,所有的转换均被预先计算,并将其提供到查找表中。
应注意的是在节点N的解码阶段,父节点P已经被解码,因此,转换T已知。在解码阶段的所有步骤绝对与相应的编码步骤相似。
最后,我们概述一下概率的更新过程。让P作为一些上下文的概率表。在该上下文中,P(N)表示与阶段N出现的概率相应的P的入口。在实施中,P(N)是一个整数,在每个N发生后,P(N)被更新为:
P(N)=P(N)+A
其中A为不同上下文模型的从1到4的整数增量参数。让S(P)为P中所有入口的和。然后送入到算术编码器(在本例中为范围编码器)的N的‘概率’用P(N)/S(N)来计算。当S(P)一达到阈值216时,所有的入口就被归一化:为了避免在P中的零值的出现,等于1的入口留下来保持原状。而其它则被除以2。
确定每个三维象素图像指数的符号流使用它自己的概率表压缩。在上面使用的条件中,它具有单个的上下文。PT项目被使用大于八叉树节点的项目的递增来更新:这使得可以将概率适用于所涉及的符号频率的高变化性;除此之外,与节点符号编码没有区别。
DIBR格式的着色方法不是AFX的一部分,有必要解释使DIBR物体实现着色简单,快速和高质量的思想。我们的着色方法是基于splat,用作‘着色图元’的小平面彩色胶片。下面总结的两个方法在两个不同的表示中定位:深度图像和八叉树图像。在我们的实施中,OpenGL功能被应用于splatting以加速着色。尽管如此,软件着色同样是可行的,利用深度图像或八叉树图像的简单结构可以优化计算。
我们用于着色深度图像物体的方法非常简单。然而,应当指出的是,它依赖于OpenGL函数,利用硬件加速器时工作更快。在该方法中,我们用将要着色的具有简单纹理和点纹理的深度的所有像素变换为3D点,然后在这些点定位小的多边形(splats),并应用OpenGL的着色函数。图28给出了简单纹理情况下的该过程的伪代码。以同样的方式精确处理点纹理的情况。
Splat的大小必须适应在点和观察者之间的距离。我们使用下面的简单方法。首先,将给定的3D物体的封闭子立方体细分为粗的统一网格。计算每个网格的每个单元的Splat大小,且该值用于单元内部的点。实施的计算如下:
-利用OpenGL在屏幕上绘制单元
-计算投影(在像素中)的最大对角线的长度L。
我们需强调的是,通过比较精确的半径计算、更复杂的splat、图形保真改善该方法。然而,即使该简单方法也能提供好的可视质量。
同样的方法用于八叉树图形,在更粗级别之一中的八叉树的节点被用于上面的splat的尺寸计算。然而,对于八叉树图形来讲,颜色信息应当首先被绘制在系列体元上。这非常容易完成,因为每个体元具有相应的参照图像指数。在八叉树流的语法分析期间参照图像的像素位置也知道了。八叉树图像体元的颜色一经确定,就估计splat尺寸,并如上所述使用基于OpenGL的着色。
DIBR格式在几个3D模型中已经被实施和受到测试。模型(“塔”)之一通过扫描实际物体(使用cyberware颜色3D扫描仪)而获得,其它从3DS-MAX演示包中转换过来。在具有OpenGL加速器的intel Pentium4 1.8上进行测试。
我们将说明从多边形到DIBR格式转换的方法,然后提供不同DIRB格式的模型化、表示和压缩结果。多数数据是用于深度图像和八叉树图像模型的;这些格式具有动画的版本,并可以被有效地压缩。所有提供的模型已经利用正交的照相机被构造,因为一般优选的方式是表示‘紧凑’的物体。注意透视照相机多数用于远距离环境的经济的DIBR表示。
DIBR模型生成从获得足够数目的简单纹理开始。对于多边形物体来讲要计算简单纹理,而对于真实世界的物体来讲,从数码相机和扫描装置中获得数据。下一步骤依赖于我们想用的DIBR格式。
深度图像只是获得的简单纹理的组合。尽管深度图可以压缩的格式存储,但因为即使几何的小扭曲也经常是非常显著的,所以只有无损压缩才是可以接受的。
参照图像可以有损压缩形式存储,但在这种情况下需要预处理。当通常接受可以使用如JPEG的流行无损压缩方法时,边界假象在产生的3D物体视窗中变得显著-特别是因为物体和参考图像的背景之间的边界在此处背景颜色似乎是‘spill’进入物体中。我们用来处理问题的方法是利用边界块的平均颜色和强度的快速衰减使边界块的图像延伸到背景里,然后应用JPEG压缩。该作用类似于将扭曲‘挤’进无害的背景,因为背景像素不用来着色。有损压缩的参照图像的内部边界也可以产生假象,但一般看不到。
为了产生八叉树图像模型,我们利用基于中间点的表示(PBR)。组成PBR的一系列点是用相应深度图中指定的距离通过在参照图像中改变像素而获得的颜色点的组合。应当建立原有的简单纹理,从而使结果PBR对物体表面有足够精确的估计。之后,PBR被转换为在图24中勾画的八叉树图像,它用于产生一组全新的参照图像,这些参照图像满足这种格式规定的限制。同时,产生八叉树的附加数据结构体元图像指数表示参照图像指数。如果参照图像应当以有损格式存储,则它们首先如前边部分解释的的那样进行预处理。另外,因为TBVO结构明确指定包含每个体元颜色的像素,所以多余的像素被删除,这更进一步减少了以JPEG格式的体元图像指数的体积。原有的和以JPEG格式处理过的参照图像的例子如图29所示。
应注意的是,由于有损压缩,所以质量退化对八叉树图像来说是可忽略的,但是有时对深度对象仍然是显著的。
利用在参照平面上物体的投影建立点纹理模型。如果这不产生足够样品(这也许是表面部分几乎与投影矢量相切的情况),则建立附加的简单纹理用来提供更多的样品。然后将获得的一系列点重新组织进点纹理结构中。
在表12中,我们比较几个多边形模型的数据大小与它们的DIBR版本。在模型名称中的数字表示它们的参考图像的分辨率(以像素为单位)。
表12 静态DIBR模型压缩(以千字节表示的模型大小)
模型 | 棕榈512 | 天使1256 | 莫顿512 | 塔256 | ||||||
简单纹理的数量 | 21 | 6 | 6 | 5 | ||||||
原始3DS-MAX模型的大小(ZIP压缩存档) | 4040 | 151 | 519 | 不适用 | ||||||
深度图像大小 | 3319 | 141 | 838 | 236 | ||||||
深度 | 图像 | 1903 | 1416 | 41 | 100 | 519 | 319 | 118 | 118 | |
八叉树图像大小 | 267 | 75 | 171 | 83.4 | ||||||
压缩的八叉树 | 图像 | 135 | 132 | 38.5 | 36.5 | 88 | 83 | 47.4 | 36 |
在深度图像中的深度图被以PNG格式存储,而以高质量JPEG存储参考图像。在表12中的数据表示深度图像模型大小不是总是小于归档的多边形模型的大小。但是,八叉树图像提供的压缩通常高得多。这是将深度图集中到单个有效压缩的八叉树树结构中以及复杂的预先处理的结果,所述预先处理将冗余的像素从参考图像去除。另一方面,深度图像提供了一种简单和通用的手段,用于表示诸如“Palm”的复杂物体而没有困难的预先处理。
表13提供了与八叉树图像有关的数据,提供了对于这种格式开发的压缩效率的思想。表中的项目是包括八叉树和体元图像指数(voxelImageIndex)分量的模型的压缩和未压缩部分的数据大小。可以看出,这个部分的缩小从2到2.5倍变化。注意在表13中的“Palm”模型与表12中的“Palm”模型不同。
表13以八叉树图像格式的对于八叉树和体元图像指数域
的压缩结果(文件大小被四舍五入为千字节)
模型 | 参考图像数量 | 八叉树和体元图像指数分量的大小 | 压缩比 | |
未压缩 | 压缩的 | |||
Angel256 | 6 | 81.5 | 38.5 | 2.1 |
12 | 86.2 | 41.7 | 2.1 | |
Morton512 | 6 | 262.2 | 103.9 | 2.5 |
12 | 171.0 | 88.0 | 2.0 | |
Palm512 | 6 | 198.4 | 85.8 | 2.3 |
12 | 185.1 | 83.1 | 2.2 | |
Robot512 | 6 | 280.4 | 111.9 | 2.5 |
12 | 287.5 | 121.2 | 2.4 |
现在提供关于再现速度的数据。
现在提出着色速度数据。深度图像“棕榈512”的着色速度大约为2fps(注意这是21个简单纹理),而我们用参照图像边512测试其它静态模型以5-6fps着色。应注意的是,着色速度主要依赖于参照图像的数目和分辨率,但不依赖于景色的复杂度。这优于多边形表示,特别在动画情况下。动画八叉树图像“龙512”以每秒24桢(fps)显现。
“天使256”深度图像模型如图22所示。图30到34表示了其它几个DIBR和多边形模型。图30对比了多边形和深度图像“莫顿”模型的外部特征。深度模型使用JPEG格式的参照图像,通过部分5中描述的最简单的splatting执行着色,但图像质量是可以接受的。图31对比了扫描的“塔”模型的两个版本。模型上半部的黑点是由于输入数据的噪声形成的。图32表示了由21个简单纹理组成的复杂的“棕榈”模型。它也高质量的表示,尽管叶子一般宽于3DS-MAX原来的-这是简单的splatting的结果。
附图33表示来自“飞龙512”的八叉树动画的3D画面。附图34证明能使用点纹理格式来提供极好质量的模型。
下面将参照附图35-54来描述根据本发明的表示基于深度图像的3D物体的装置和方法。
附图35示出了根据本发明一个实施例使用简单纹理来表示基于深度图像的3D物体的装置的框图。
参照附图35,基于深度图像的3D物体表示装置1800包括一观察点信息生成器1810,一预处理器1820,一第一图像生成器1830,一第二图像生成器1840,一节点生成器1850和一编码器1860。
观察点信息生成器1810产生至少一片观察点信息。观察点信息包括限定物体图像平面的多个域。构成观察点信息的域包括一位置域,一方位域,一可见域,一投影方法域和一距离域。
在位置和方位域中,记录观察图像平面的位置和方位。在位置域中的位置是相对于坐标系统原点的观察点的相对位置,而在方位域中的方位是相对于默认方位的观察点旋转数量。
在可见域中,记录从观察点到图像平面的可见区。
在投影方法域中,记录从观察点到图像平面的投影方法。在本发明中,投影方法包括正交投影方法和透视投影方法,在正交投影方法中,可见区由宽度和高度来表示,在透视投影方法中,可见区由水平角和垂直角来表示。当选择正交投影方法时,可见区的宽度和高度分别相当于图像平面的宽度和高度。当选择透视投影方法时,可见区的水平角和垂直角分别相当于通过从观察点到图像平面的观察范围形成的水平边和垂直边的角度。
在距离域中,记录从观察点到较近边界平面的距离和从观察点到较远边界平面的距离。该距离域由近平面域和远平面域组成。距离域限定深度信息的区域。
第一图像生成器1830根据相当于在构成物体的各个像素点上的观察点信息的颜色信息来产生彩色图像。在用于产生动画物体的视频格式的情况下,深度信息和颜色信息是多序列的图像帧。第二图像生成器1840根据在构成物体的各个像素点上的观察点信息上的深度图像来产生相当于观察点信息的深度图像。节点生成器1850产生图像节点,该节点由观察点信息、颜色信息和相当于观察点信息的深度信息组成。
预处理器1820预处理在物体和彩色图像的背景之间的边界中的像素。附图36详细示出了预处理器1820。参照附图36,预处理器1820包括一扩展部分1910和一压缩部分1920。该扩展部分使用块的平均颜色和强度的快速衰退,将在边界中的像素的颜色扩展到背景中去。该压缩部分1920对参考图像执行基于块的压缩,然后将该变形挤压到背景中去。编码器1920对产生的图像节点进行编码以输出比特流。
附图37示出了根据本发明实施例,使用简单纹理来表示基于深度图像的3D物体的方法执行过程的流程图。
参照附图37,在步骤S2000中,观察点信息生成器1810产生观察物体的观察点的观察点信息。在步骤S2010中,第一图像生成器1830根据颜色信息产生彩色图像,该颜色信息相当于构成物体的各个像素点的观察点信息。在步骤S2020中,第二图像生成器1840根据在构成物体的各个像素点上的深度信息产生相当于观察点信息的深度图像。在步骤2030中,节点生成器1850产生图像节点,该图像节点由观察点信息、颜色图像和相当于观察点信息的深度图像组成。
在步骤S2040中,扩展部分1910使用块的平均颜色和强度的快速衰退来将块之间的边界中的像素颜色扩展到背景中。在步骤S2050中,压缩部分1920执行基于块的压缩,然后将该变形挤压到背景中去。在步骤S2060中,编码器1920将产生的图像节点编码成输出比特流。
参照附图35-37来进行上述描述的根据本发明来表示基于深度图像的3D物体的同样的装置和方法也使用基于简单纹理的物体表示法,且简单纹理的结构示出在附图26中。
附图38示出了根据本发明使用点纹理来表示基于深度图像的3D物体的装置的框图。
参照附图38,基于深度图像的3D物体表示装置2100包括一采样器2110,一观察点信息生成器2120,一平面信息生成器2130,一深度信息生成器2140,一颜色信息生成器2150和一节点生成器2160.
采样器2110通过将一物体投影到参考平面上来产生对图像平面的采样。图像平面的采样由颜色图像和深度图像的图像对组成。
观察点信息生成器2120产生观察物体的观察点的观察点信息。观察点信息包括限定物体图像平面的多个域。构成观察点信息的域包括一位置域、一方位域、一可见域、一投影方法域和一距离域。
在位置和方位域中,记录观察图像平面的位置和方位。观察点信息通过位置和方位来限定。在可见域中,记录从观察点到图像平面的可见区。在投影方法域中,记录从正交投影方法和透视投影方法中选择的投影方法,在正交投影方法中,可见区由宽度和高度来表示,在透视投影方法中,可见区由水平角和垂直角来表示。在距离域中,记录从观察点到较近边界平面的距离和从观察点到较远边界平面的距离。该距离域由近平面域和远平面域组成。该距离域限定深度信息的区域。
平面图像生成器2130产生平面信息,该信息限定图像平面宽度、高度和深度,该图像平面由一组从相当于观察点信息的图像平面的采样中获得的点组成。平面信息由多个域组成。构成平面信息的域包括一第一域,该域记录图像平面的宽度;一第二域,该域记录图像平面的高度;和一深度分辨率域,该域记录深度信息的分辨率。
深度信息生成器2140在投影到图像平面上的物体的所有投影点的深度上产生深度信息的序列。颜色信息生成器2150产生各个投影点上的颜色信息的序列。在深度信息序列中,顺序记录投影点的数量和各个投影点的深度值。在颜色信息序列中,顺序记录相当于各个投影点的深度值的颜色值。
节点生成器2160产生节点,该节点由相当于图像平面的平面信息、深度信息的序列和颜色信息的序列组成。
附图39示出了根据本发明,使用点纹理来表示基于深度图像的3D物体的方法的执行过程的流程图。
参照附图39,在步骤S2200中,观察点信息生成器2120产生来自观察物体的观察点上的观察点信息。在步骤S2210中,平面信息生成器2130产生平面信息,该平面信息限定相当于观察点信息的图像平面的宽度、高度和深度。在步骤S2220中,采样器2110通过将物体投影到参考平面上产生图像的采样。执行步骤S2220的目的是尽可能多地提供图像平面。如果有足够多的图像平面采样,则不执行步骤S2220。
在步骤S2230中,深度信息生成器2140在投影到图像平面上的物体的所有投影点的深度上产生深度信息的序列。在步骤S2240中,颜色信息生成器2150产生各个投影点上的颜色信息的序列。在步骤S2250中,节点生成器2160产生组成平面信息的节点,该平面信息相当于图像平面、深度信息序列和颜色信息序列。
参照附图35-37来进行上述描述的根据本发明表示的基于深度图像的3D物体的同样的装置和方法也使用基于点纹理的物体表示法,且点纹理的结构示出在附图26中。
附图40示出了根据本发明使用八叉树来表示基于深度图像的3D物体的装置的框图。
参照附图40,基于深度图像的3D物体表示装置2300包括一预处理器2130,一参考图像确定器2320,一形状信息生成器2330,一指数生成器2340,一节点生成器2350和一编码器2360。
预处理器2130预先处理参考图像。预处理器2130的详细结构示出在附图41中。参照附图41,预处理器2310包括扩展部分2410和压缩部分2420。扩展部分2410使用块的平均颜色和强度的快速衰退来将块之间的边界中的像素颜色扩展到背景中。压缩部分2420在参考图像上执行基于块的压缩,然后将该变形挤压到背景中去。
参考图像确定器2320确定包含每个立方体的颜色信息的参考图像,该立方体通过形状信息生成器2330分割。参考图像是组成观察点信息和相当于观察点信息的颜色图像的深度图像节点。这里,观察点信息包括限定物体图像平面的多个域。构成观察点信息的各个域如上所述,下面不再对它进行详细说明。包含在深度图像节点中的颜色信息可以是简单纹理或点纹理。
形状信息生成器2330产生物体的形状信息,该物体通过将包含物体的八叉树分割成8的子立方体并限定该分割的子立方体为子节点。形状信息生成器2330重复执行子分割直到每个子立方体变得比预定尺寸要小。形状信息生成器包括一分辨率域,用于记录沿着包含物体的立方体一边的八叉树叶的最大数量,和一八叉树域,用于记录内部节点结构的序列,以及一指数域,用于记录相当于每个内部节点的参考图像的指数。
指数生成器2340产生相当于形状信息的参考图像的指数信息。附图42是指数生成器2340的详细框图。参照附图42,指数生成器2340包括一颜色点生成器2510,一基于点的表示法(PBR)生成器2520,一图像变换器2530和一指数信息生成器2540。
颜色点生成器2510通过变换存在于参考图像中的像素来获得颜色点,该参考图像通过一距离限定在相应的深度图中。PBR生成器2520通过一组颜色点来产生中间PBR图像。图像变换器2530将PBR图像变换为八叉树图像,该八叉树图像由相当于每个点的立方体来表示。指数信息生成器2540产生相当于每个立方体的参考图像的指数信息。
节点生成器2350产生包括形状信息、指数信息和参考图像的八叉树节点。
该编码器2360将八叉树节点编码成输出比特流。编码器2360的详细结构示出在附图43中。参照附图43,该编码器2360包括一上下文确定部分2610、第一编码部分2620、第二编码部分2630、第三编码部分2640、一符号字节记录部分2650和一图像指数记录部分2660。
上下文确定部分2610根据八叉树节点的编码循环的数量来确定当前八叉树节点的上下文。当保持具有22个入口的单一概率表时,第一编码部分2620通过0-上下文模型和算法编码来对前512个节点进行编码。该第一编码部分2620从均匀分布开始编码。
第二编码部分2630对第512个节点编码之后,紧跟着通过使用母节点作为上下文的1-上下文模型来对第513节点到2048节点进行编码。在从0-上下文模型到1-上下文模型的变换时刻,第二编码部分2630将0-上下文模型概率表复制到所有1-上下文模型概率表中。
附图44是第二编码部分2630的详细框图。参照附图44,第二编码部分2630包括一概率检索部分2710,一算法编码器2720和一表更新部分2730。概率检索部分2710从相当于上下文的概率表的上下文中,检索产生当前节点的概率。算法编码器2720通过包含所检索的概率表的概率序列来压缩八叉树。表更新部分2730对在当前上下文中的当前节点的产生概率序列具有预定增加量例如1的概率表进行更新。
第三编码部分2640在对第2048节点编码之后,紧跟着通过使用母节点和子节点作为上下文的2-上下文模型来对剩余的节点进行编码。在从1-上下文模型到2-上下文模型的变换时刻,第三编码部分2640将母节点模式的1-上下文模型概率表复制到相当于在相同的母节点模式的各个位置的2-上下文模型概率表中。
附图45是第三编码部分2640的详细框图。参照附图45,第三编码部分2640包括一第一检索部分2810、一第一检测部分2820、一第二检索部分2830、一模式获得部分2840、一第二检测部分2850和一算法编码器2860以及一表更新部分2870。
第一检索部分2810检索当前节点的母节点。第一检测部分2820检测该检索的母节点所属于的类并通过将母节点变换为所检测类的标准节点来对变换进行检测。第二检索部分2830将所检索的变换应用到母节点上并在变换的母节点中检索当前节点的位置。模式获得部分2840将该变换应用到当前节点上并获得一模式作为所检测类和当前节点位置指数的组合。第二检测部分2850从相当于所获得的格式的概率表的入口中检测所需的概率。算法编码器2860通过包含所检索的概率表的概率序列来压缩八叉树。表更新部分2870对在当前上下文中的当前节点的产生概率序列具有预定增加量例如1的概率表进行更新。
如果当前节点不是叶节点,则符号字节记录部分2650记录相当于比特流上的当前节点的符号字节。如果当前节点的所有子节点具有相同的参考图像指数并且当前节点的母节点具有“未定义”的参考图像指数,则图像指数记录部分2660在当前节点的子节点的比特流上记录相同参考图像指数。如果当前节点的子节点具有不同的参考图像指数,则图像指数记录部分2660为当前节点的子节点记录“未定义”的参考图像指数。
附图46示出了根据本发明实施例,使用八叉树来表示基于深度图像的3D物体的方法的执行过程的流程图。参照附图46,在步骤S2900中,形状信息生成器2330通过将包含物体的八叉树分割成子立方体并限定该分割的子立方体为子节点来产生物体的形状信息。形状信息包括一分辨率域,用于记录沿着包含物体的立方体一边的八叉树叶的最大数;一八叉树域,用于记录内部节点结构的序列;和一指数域,用于记录相当于每个内部节点的参考图像的指数。每个内部节点由字节来表示。记录在构成字节的位序列中的节点信息表示属于内部节点的子节点的子节点的存在或不存在。在步骤S2910中,如果每个子立方体比预定尺寸(这个值可凭经验得知)大,则重复执行子分割以产生8个子立方体。
在步骤S2920中,参考图像确定器2320确定包含每个立方体的颜色信息的参考图像,该立方体通过形状信息生成器2330分割。参考图像是组成观察点信息和相当于观察点信息的颜色图像的深度图像节点。观察点信息的构成如上所述。可以对参考图像执行一预处理步骤。
附图47示出了对参考图像执行预处理的过程的流程图。参照附图47,在步骤S3000中,扩展部分1910使用块的平均颜色和强度的快速衰退来将块之间的边界中的像素颜色扩展到背景中。在步骤S3010中,执行基于块的压缩,然后将该变形挤压到背景中去。
在步骤S2930中,指数生成器2340产生相当于形状信息的参考图像的指数信息。
附图48示出了执行指数生成的过程的流程图。参照附图48,在步骤S3100中,颜色点生成器2510通过变换存在于参考图像中的像素来获得颜色点,该参考图像通过一距离限定在相应的深度图中。在步骤S3110中,PBR生成器2520通过一组颜色点来产生中间PBR图像。在步骤S3120中,图像变换器2530将PBR图像变换为八叉树图像,该八叉树图像由相当于每个点的立方体表示。在步骤S3130中,指数信息生成器2540产生相当于每个立方体的参考图像的指数信息。
在步骤S2940中,节点生成器2350产生包括形状信息、指数信息和参考图像的八叉树节点。
在步骤S2950中,编码器2360将八叉树节点编码成输出比特流。
附图49示出了执行编码的过程的列成图。参照附图49,在步骤S3200中,上下文确定部分2610根据八叉树节点的编码循环的数量来确定当前八叉树节点的上下文。在步骤S3210中,确定当前节点的位置是否小于或等于512。如果是,则在步骤S3220中,通过0-上下文模型和算法编码来执行第一编码步骤。如果当前节点位置大于512,则在步骤S3210中,确定当前节点的上下文(步骤S3430)并通过使用父母节点作为上下文的1-上下文模型执行第二编码步骤。如果当前节点位置大于2048,则在步骤S3250中,确定当前节点的上下文(步骤S3260)并通过使用母节点作为上下文(S3270)的2-上下文模型来执行第三编码步骤。
这里,m1和m2分别映射到平面x=y和y=z且m3映射到平面x=0。2-上下文包括在母节点的一个类和在母节点的当前节点的一个位置。
附图50示出了执行第二编码步骤的过程的流程图。参照附图50,在步骤S3300中,概率检索部分2710在从相当于上下文的概率表中的上下文中检索生成当前节点的概率。在步骤S3310中,算法编码器2720通过检索的概率的概率序列来压缩八叉树。在步骤S3320中,表更新部分2730对在当前上下文中的当前节点的产生概率序列具有预定增加量例如1的概率表进行更新。
附图51示出了执行第三编码步骤的过程的流程图。参照附图51,在步骤S3400中,第一检索部分2810检索当前节点的母节点。在步骤S3410中,第一检测部分2820检测所检索的母节点属于的类并检测将该母节点变换为所检测类的标准节点的变换。在步骤S3420中,第二检索部分2830将该检测的变换应用到母节点上并在变换的母节点上检索当前节点的位置。在步骤S3430中,模式获取部分2840将该变换应用到当前节点上并获得一模式作为所检测的类和当前节点的位置指数的组合。在步骤S3440中,第二检测部分2850从相当于所检测的类和位置的组合的概率表的入口中检测所需的概率。在步骤S3450中,算法编码器2860通过包含所检索的概率的概率序列来压缩八叉树。在步骤S3460中,表更新部分2870对在当前上下文中的当前节点的产生概率序列具有预定增加量例如1的概率表进行更新。
附图52示出了在编码过程中产生比特流的过程的流程图。参照附图52,如果当前节点不是叶节点,则在步骤S3500中,符号字节记录部分2650记录相当于在步骤S3510中的比特流上的当前节点的符号字节,并进入到步骤S3520中。如果当前节点是叶节点,则不执行步骤S3510,直接进入到步骤S3520中。
如果在步骤S3520中,当前节点的所有子节点具有相同的参考图像指数并且当前节点的母节点具有“未定义”的参考图像指数,则在步骤S3530中,图像指数记录部分2660在当前节点的子节点的比特流上记录相同参考图像指数。如果在步骤S3520中,当前节点的子节点具有不同的参考图像指数,则在步骤S3540中图像指数记录部分2660为当前节点的子节点记录“未定义”的参考图像指数。
附图53示出了根据本发明另一个实施例,这是使用八叉树来表示基于深度图像的3D物体的装置的框图,附图54示出了根据本发明另一个实施例,这是使用八叉树来表示基于深度图像的3D物体的方法的执行过程的流程图。
参照附图53和54,根据本发明的基于深度图像的3D物体的表示装置3600包括一输入单元3610、一第一提取器3620、一解码器3630、一第二提取器3640和一物体表示单元3650。
在步骤S3700中,输入单元3610从外部装置中输入比特流。在步骤S3710中,第一提取器3620从输入比特流中提取八叉树节点。
在步骤S3720中,解码器3630解码提取的八叉树节点。解码器3630包括一上下文确定部分、一第一解码部分、一第二解码部分和一第三解码部分。构成解码器3630的各个部分的操作与参照附图43-45和附图49-52的编码器的描述部分相同。在此不再给出它们的详细说明。在步骤S3730中,第二提取器3540从解码的八叉树节点中提取构成八叉树的多个立方体的形状信息和参考图像。在步骤S3740中,物体表示单元3650通过相当于形状信息的提取的参考图像的组合来表示物体。
本发明可通过计算机可读取的代码在计算机可读的记录介质上执行。计算机可读取的记录介质包括通过计算机系统读取可读数据的各种类型的记录装置,例如有ROM,RAM,CD-ROM,磁带,软盘,光学数据存储装置或其它装置,这也体现在载波上,例如来自因特网或其它传输介质。同样计算机可读取的记录介质分布在连接到网络的计算机系统中,从而计算机可读取的代码可通过分布方法来存储和执行。
根据本发明,在基于图像表示法中,因为在彩色3D物体上的完美信息通过直接采用图像处理和压缩的已有方法的一组2D单一图像和规则结构来编码,所以该算法是简单的,而且在许多方面能得到硬件支持。另外,基于图像模型的绘制时间与在参考和输出图像中像素的数目成正比,但通常在多边形情况下不与几何复杂度成正比。另外,当将基于图像的表示法应用到实际物和景色中时,在没有利用数以百万计的多边形和昂贵计算的情况下,使自然景色的逼真图像的绘制变得可能。
实现本发明的上述描述是示例性和说明性的。这里没有穷举且不将本发明限于公开的具体形式。根据上述教导可对本发明作出各种改进和变型或者可从本发明的实践中获取。本发明的范围被限定在权利要求及其它们的等同物内。
Claims (66)
1、一种基于深度图像的三维(3D)物体表示装置,该装置包括:
一个观察点信息生成器,用于产生至少一片观察点信息;
一个第一图像生成器,用于根据颜色信息产生彩色图像,该颜色信息相应于在构成物体的各个像素点上的观察点信息;
一个第二图像生成器,用于根据深度信息产生深度图像,该深度信息相应于在构成物体的各个像素点上的观察点信息;
一个节点生成器,用于产生图像节点,该图像节点由观察点信息、颜色图像和相应于观察点信息的深度图像组成;和
一个编码器,用于对产生的图像节点进行编码。
2、根据权利要求1的装置,其中所述观察点信息包括限定物体图像平面的多个域,构成观察点信息的域包括一个位置域,用于记录观察一图像平面的位置;一方位域,用于记录观察一图像平面的方位;一可见域,用于记录从观察点到图像平面的可见区;一投影方法域,用于记录从观察点到图像平面的投影方法;和第一距离域,用于记录从观察点到较近界面的距离;以及第二距离域,用于记录从观察点到较远界面的距离,且通过该距离域限定深度图像的范围。
3、根据权利要求1的装置,进一步包括一预处理器,用于预先处理在物体和彩色图像背景之间的边界中的像素,该预处理器包括:
一个扩展部分,通过使用块的平均颜色和强度的快速衰退来将边界中的像素扩展到背景中;和
一个压缩部分,用于执行基于块的压缩,然后将该变形挤压到背景中去。
4、一种基于深度图像的三维(3D)物体表示方法,该方法包括:
产生至少一片观察点信息;
根据颜色信息产生彩色图像,该颜色信息相应于在构成物体的各个像素点上的观察点信息;
根据深度信息产生深度图像,该深度信息相应于在构成物体的各个像素点上的观察点信息;
产生图像节点,该图像节点由观察点信息、颜色图像和相应于观察点信息的深度图像组成;和
对产生的图像节点进行编码。
5、根据权利要求4的方法,其中该观察点信息包括限定物体图像平面的多个域,构成观察点信息的域包括一个位置域,用于记录观察一图像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;一个投影方法域,用于记录从观察点到图像平面的投影方法;和第一距离域,用于记录从观察点到较近界面的距离;以及第二距离域,用于记录从观察点到较远界面的距离,且通过该距离域限定深度图像的范围。
6、根据权利要求5的方法,其中所述位置是相对于存在图像平面的坐标系统原点的相对位置。
7、根据权利要求5的方法,其中所述方位是相对于默认方位的旋转数量。
8、根据权利要求5的方法,其中当选择正交投影方法时,该可见区的宽度和高度分别相应于图像平面的宽度和高度,而当选择透视投影方法时,该可见区的水平和垂直角相应于通过从观察点到图像平面的视角范围形成的水平边和垂直边的角度。
9、根据权利要求4的方法,其中在采用视频格式产生动画物体的情况下,深度信息和颜色信息是多序图像帧。
10、根据权利要求4的方法,其中产生彩色图像的步骤包括:
使用块的平均颜色和强度的快速衰退来将边界中的像素扩展到背景中;和
执行基于块的压缩,然后将该变形挤压到背景中去。
11、一种基于深度图像的三维(3D)物体表示装置,该装置包括:
一个观察点信息生成器,用于在观察物体的观察点上产生观察点信息;
一个平面信息生成器,用于产生平面信息,该平面信息限定相应于观察点信息的图像平面的宽度、高度和深度;
一个深度信息生成器,用于在投影到图像平面上的物体的所有投影点的深度上产生深度信息的序列;
一个颜色信息生成器,用于在各个投影点上产生颜色信息的序列;
一个节点生成器,用以产生节点,该节点由相应于图像平面的平面信息、深度信息的序列和颜色信息的序列组成。
12、根据权利要求11的装置,其中所述观察点信息包括限定物体图像平面的多个域,构成观察点信息的域包括一个位置域,用于记录观察一图像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;一个投影方法域,用于记录从观察点到图像平面的投影方法;和第一距离域,用于记录从观察点到较近界面的距离;以及第二距离域,用于记录从观察点到较远界面的距离,且通过该距离域限定深度图像的范围。
13、根据权利要求11的装置,其中该平面信息由多个域组成,且构成该平面信息的域包括一个第一域,用于记录图像平面的宽度;一个第二域,用于记录图像平面的高度;和一深度分辨率域,用于记录深度信息的分辨率。
14、根据权利要求11的装置,其中在该深度信息的序列中,顺序记录各投影点的数量和各个投影点的深度值,且在该颜色信息的序列中,顺序记录相应于各个投影点深度值的颜色值。
15、一种基于深度图像的三维(3D)物体表示方法,该方法包括:
在观察物体的观察点上产生观察点信息;
产生平面信息,该平面信息限定相应于观察点信息的图像平面的宽度、高度和深度;
在投影到图像平面上的物体的所有投影点的深度上产生深度信息的序列;
在各个投影点上产生颜色信息的序列;和
产生节点,该节点由相应于图像平面的平面信息、深度信息的序列和颜色信息的序列组成。
16、根据权利要求15的方法,其中该观察点信息包括限定物体图像平面的多个域,构成观察点信息的域包括一个位置域,用于记录观察一个图像平面的位置;一个方位域,用于记录观察一个图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;一个投影方法域,用于记录从观察点到图像平面的投影方法;和第一距离域,用于记录从观察点到较近界面的距离;以及第二距离域,用于记录从观察点到较远界面的距离,且通过该距离域限定深度图像的范围。
17、根据权利要求15的方法,其中该平面信息由多个域组成,且构成该平面信息的域包括一个第一域,用于记录图像平面的宽度;一个第二域,用于记录图像平面的高度;和一深度分辨率域,用于记录深度信息的分辨率。
18、根据权利要求15的方法,其中在该深度信息的序列中,顺序记录投影点的数量和各个投影点的深度值,且在该颜色信息的序列中,顺序记录相应于各个投影点深度值的颜色值。
19、一种基于深度图像的3D物体表示装置,该装置包括:
一个形状信息生成器,通过将包含物体的八叉树分割成8个子立方体并限定该分割的子立方体为子节点直到每个子立方体变得比预定尺寸要小,从而该形状信息生成器产生物体的形状信息;
一个参考图像确定器,用于确定包含每个立方体的颜色信息的参考图像,该立方体通过形状信息生成器分割;
一个指数生成器,用于产生相应于该形状信息的参考图像的指数信息;
一个节点生成器,用于产生八叉树节点,八叉树节点包括形状信息、指数信息和参考图像;和
一个编码器,用于对八叉树节点进行编码以输出比特流。
20、根据权利要求19的装置,其中该形状信息包括一个分辨率域,用于记录沿着包含物体的立方体的一边的八叉树叶的最大数;一个八叉树域,用于记录内部节点结构的序列;和一指数域,用于记录相应于每个内部节点的参考图像的指数。
21、根据权利要求19的装置,其中该参考图像是深度图像节点,该节点由观察点信息和相应于观察点信息的颜色图像组成。
22、根据权利要求19的装置,其中该观察点信息包括限定物体图像平面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;和一个投影方法域,用于记录从正交投影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区通过宽度和高度来表示,和在透投影视方法中,可见区通过水平角和垂直角来表示。
23、根据权利要求19的装置,进一步包括一个预处理器,用于预先处理在参考图像中的块之间的边界中的像素并将该预处理的像素提供给参考图像确定器,该预处理器包括:
一个扩展部分,通过使用块的平均颜色和强度的快速衰退来将边界中像素扩展到背景中;和
一个压缩部分,用于对参考图像执行基于块的压缩,然后将该变形挤压到背景中去。
24、根据权利要求19的装置,其中该指数生成器包括:
一个颜色点生成器,它通过将存在在参考图像中的像素位移在相应的深度图中限定的一距离来获得颜色点;
一个基于点的表示法(PBR)生成器,用于通过一组颜色点来产生中间的PBR图像;
一个图像变换器,用于将PBR图像变换为八叉树图像,该八叉树图像由相应于每个点的立方体来表示;和
一个指数信息生成器,用于产生相应于每个立方体的参考图像的指数信息。
25、根据权利要求19的装置,其中该编码器包括:
一个上下文确定部分,用于根据八叉树节点的编码周期数量来确定当前八叉树节点的上下文;
一个第一阶段编码部分,当对预定数量的入口保持单一概率表时,该编码部分通过0-上下文模型和算法编码来对第一预定数量的节点进行编码;
一个第二阶段编码部分,紧跟着第一预定数量的节点之后,该编码部分通过使用父节点作为上下文的1-上下文模型来对第二预定数量的节点进行编码;和
第三阶段编码部分,在紧跟着第二预定数量的节点之后,通过使用父节点和子节点作为上下文的2-上下文模型和算法编码来对剩余的节点进行编码,第一阶段编码部分从均匀分布开始编码,第二阶段编码部分在从0-上下文模型到1-上下文模型的变换时刻,将0-上下文模型概率表复制到所有的1-上下文模型概率表中,且第三阶段编码部分在从1-上下文模型到2-上下文模型的变换时刻,将父节点模式的1-上下文模型概率表复制到相应于在相同父节点模式的各个位置的2-上下文模型概率表中。
26、根据权利要求25的装置,其中第二编码部分包括:
一个概率检索部分,在从相应于上下文的概率表中的上下文中,该概率检索部分检索产生当前节点的概率;
一个算法编码器,用于通过包含所检索的概率的概率序列来压缩八叉树;和
一个表更新部分,对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
27、根据权利要求25的装置,其中第三编码部分包括:
第一检索部分,用于检索当前节点的父节点;
第一检测部分,用于检测该检索的父节点所属于的类并通过将父节点变换为所检测类的标准节点来对变换进行检测;
第二检索部分,用于将所检测的变换应用到父节点上并在变换的父节点中检索当前节点的位置;
一个模式获得部分,用于获得作为所检测类和当前节点位置指数的组合的模式;
第二检测部分,用于从相应于所获得的模式的概率表的入口中检测所需的概率;
一个算法编码器,用于通过包含所检索的概率表的概率序列来压缩八叉树;和
一个表更新部分,对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
28、根据权利要求25的装置,其中该编码器进一步包括:
一个符号字节记录部分,如果当前节点不是叶节点,则该记录部分用于记录相应于比特流上的当前节点的符号字节;
一个图像指数记录部分,如果当前节点的所有子节点具有相同的参考图像指数并且当前节点的父节点具有“未定义”的参考图像指数,则该记录部分在当前节点的子节点的比特流上记录相同参考图像指数,或如果当前节点的子节点具有不同的参考图像指数,则记录当前节点的子节点的“未定义”的参考图像指数。
29、一种基于深度图像的3D物体的表示方法,该方法包括:
通过将包含物体的八叉树分割成8个子立方体并限定该分割的子立方体为子节点直到每个子立方体变得比预定尺寸要小来对物体产生形状信息;
确定包含每个立方体的颜色信息的参考图像,该立方体通过形状信息生成器分割;
产生相应于该形状信息的参考图像的指数信息;
产生八叉树节点,该八叉树节点包括形状信息、指数信息和参考图像;和
对八叉树节点进行编码以输出比特流。
30、根据权利要求29的方法,其中该形状信息包括一个分辨率域,用于记录沿着包含物体的立方体的一边的八叉树叶的最大数;一个八叉树域,用于记录内部节点结构的序列;和一个指数域,用于记录相应于每个内部节点的参考图像的指数。
31、根据权利要求30的方法,其中每个内部节点由一字节来表示,记录在构成字节的位序列中的节点信息表示属于内部节点的子节点的子节点的存在或不存在。
32、根据权利要求29的方法,其中该参考图像是一个深度图像节点,该节点由观察点信息和相应于观察点信息的颜色信息组成。
33、根据权利要求32的方法,其中该观察点信息包括限定物体图像平面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;一个投影方法域,用于记录从正交投影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区通过宽度和高度来表示,在透视投影方法中,可见区通过水平角和垂直角来表示。
34、根据权利要求29的方法,其中该指数生成步骤包括:
它通过将存在在参考图像中的像素位移在相应的深度图中限定的一距离来获得颜色点;
通过一组颜色点来产生中间的基于点表示法的(PBR)图像;
将PBR图像变换为八叉树图像,该八叉树图像由相应于每个点的立方体来表示;和
产生相应于每个立方体的参考图像的指数信息。
35、根据权利要求29的方法,其中该参考图像确定步骤包括:
使用块的平均颜色和强度的快速衰退来将边界中的像素扩展到背景中;和
执行基于块的压缩,然后将该变形挤压到背景中去。
36、根据权利要求29的方法,其中该编码步骤包括:
根据八叉树节点的编码周期的数量来确定当前八叉树节点的上下文;
首先,保持具有预定数量入口的单一概率表时,通过0-上下文模型和算法编码来对第一预定数量的节点进行编码;
第二,紧跟着第一预定数量的节点之后,通过使用父节点作为上下文的1-上下文模型来对第二预定数量的节点进行编码;和
第三,在紧跟着第二预定数量的节点之后,通过使用父节点和子节点作为上下文的2-上下文模型和算法编码来对剩余的节点进行编码,第一编码步骤从均匀分布开始编码,第二编码步骤在从0-上下文模型到1-上下文模型的变换时刻,将0-上下文模型概率表复制到所有的1-上下文模型概率表中,且第三编码步骤在从1-上下文模型到2-上下文模型的变换时刻,将父节点模式的1-上下文模型概率表复制到相应于在相同的父节点模式的各个位置的2-上下文模型概率表中。
37、根据权利要求36的方法,其中该1-上下文模型是父节点的一个类。
39、根据权利要求36的方法,其中该2-上下文包括父节点的一个类和在父节点处的当前节点的一个位置。
40、根据权利要求36的方法,其中该第二编码步骤包括:
在来自相应于上下文的概率表中的上下文中检索生成当前节点的概率;
通过包含该检索概率的概率序列来压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
41、根据权利要求36的方法,其中该第三编码步骤包括:
检索当前节点的父节点;
检测所检索的父节点属于的类并检测将该父节点变换为所检测类的标准节点的变换;
将该检测的变换应用到父节点上并在变换的父节点上检索当前节点的位置;
将该变换应用到当前节点上并获得一模式,该模式作为所检测的类和当前节点的位置指数的组合;
从相应于所检测的类和位置的组合的概率表的入口中检测所需的概率;
通过包含所检索的概率的概率序列压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
42、根据权利要求36的方法,其中编码步骤包括:
如果当前节点不是叶节点,记录相应于在比特流上的当前节点的符号字节;
如果当前节点的所有子节点具有相同的参考图像指数并且当前节点的父节点具有“未定义”的参考图像指数,则对当前节点的子节点记录在比特流上的相同参考图像指数,或如果当前节点的孩子节点具有不同的参考图像指数,则对当前节点的子节点记录“未定义”的参考图像指数。
43、一种基于深度图像3D物体的表示装置,该装置包括:
一个输入单元,用于输入比特流;
一个第一提取器,用于从输入比特流中提取八叉树节点;
一个解码器,用于解码八叉树节点;
一个第二提取器,用于从所解码的八叉树节点中提取构成八叉树的多个立方体的形状信息和参考图像;和
一个物体表示单元,通过将相应于形状信息的所提取的参考图像的组合来表示一个物体。
44、根据权利要求43的装置,其中该解码器包括:
一个上下文确定部分,用于根据八叉树节点的解码周期的数量来确定当前八叉树节点的上下文;
一个第一阶段解码部分,当保持具有预定数量入口的单一概率表时,通过0-上下文模型和算法编码来对第一预定数量的节点进行解码;
一个第二阶段解码部分,紧跟着第一预定数量的节点之后,通过使用父节点作为上下文的1-上下文模型来对第二预定数量的节点进行解码;和
一个第三阶段解码部分,在紧跟着第二预定数量的节点之后,通过使用父节点和子节点作为上下文的2-上下文模型和算法编码来对剩余的节点进行解码,第一阶段解码部分从均匀分布开始编码,第二阶段解码部分在从0-上下文模型到1-上下文模型的变换时刻,将0-上下文模型概率表复制到所有1-上下文模型的概率表中,且第三阶段解码部分在从1-上下文模型到2-上下文模型的变换时刻,将父节点模式的1-上下文模型概率表复制到相应于在相同的父节点模式的各个位置的2-上下文模型概率表中。
45、根据权利要求44的装置,其中该1-上下文模型是父节点的一个类。
46、根据权利要求45的装置,其中该类的总量是22,当通过基本变换组合产生的正交变换G来结合节点时,两个节点就属于同一类,这里给出基本变换m1,m2和m3:
这里,m1和m2分别映射到平面x=y和y=z且m3映射到平面x=0。
47、根据权利要求44的装置,其中该2-上下文包括父节点的一个类和在父节点处的当前节点的一个位置。
48、根据权利要求44的装置,其中该第二解码部分包括:
一个概率检索部分,在从相应于上下文的概率表中的上下文中检索生成当前节点的概率;
一个八叉树压缩部分,通过包含该检索概率的概率序列来压缩八叉树;和
一个更新部分,对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
49、根据权利要求44的装置,其中该第三解码部分包括:
一个节点检索部分,用于检索当前节点的父节点;
一个变换检测部分,用于检测所检索的父节点属于的类并检测将该父节点变换为所检测类的标准节点的变换;
一个位置检索部分,用于将该检测的变换应用到父节点上并在变换的父节点上检索当前节点的位置;
一个模式获得部分,用于将该变换应用到当前节点上并获得一模式作为所检测的类和当前节点的位置指数的组合;
一个概率检测部分,用于从相应于所检测的类和位置的组合的概率表的入口中检测所需的概率;和
一个八叉树压缩部分,用于通过包含所检索的概率的概率序列来压缩八叉树;和
一个表更新部分,对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
50、根据权利要求43的装置,其中该形状信息包括一个分辨率域,用于记录沿着包含物体的立方体的一边的八叉树叶的最大数;一个八叉树域,用于记录内部节点结构的序列;和个一指数域,用于记录相应于每个内部节点的参考图像的指数。
51、根据权利要求50的装置,其中每个内部节点由一个字节来表示,并且记录在构成字节的位序列中的节点信息表示属于内部节点的子节点的子节点的存在或不存在。
52、根据权利要求43的装置,其中该参考图像是一个深度图像节点,该节点由观察点信息和相应于观察点信息的颜色信息组成。
53、根据权利要求52的装置,其中该观察点信息包括限定物体图像平面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;一个投影方法域,它具有从正交投影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区通过宽度和高度来表示,在透视投影方法中,可见区通过水平角和垂直角来表示。
54、一种基于深度图像的3D物体表示方法,该方法包括:
输入比特流;
从输入比特流中提取八叉树节点;
解码八叉树节点;
从所解码的八叉树节点中提取构成八叉树的多个立方体的形状信息和参考图像;和
通过将相应于形状信息的所提取的参考图像的组合来表示一个物体。
55、根据权利要求54的方法,其中该解码步骤包括:
根据八叉树节点的解码周期的数量来确定当前八叉树节点的上下文;
首先,当保持具有预定数量入口的单一概率表时,通过0-上下文模型和算法编码来对第一预定数量的节点进行解码;
第二,紧跟着第一预定数量的节点之后,通过使用父节点作为上下文的1-上下文模型来对第二预定数量的节点进行解码;和
第三,在紧跟着第二预定数量的节点之后,通过使用父节点和子节点作为上下文的2-上下文模型来对剩余的节点进行解码,第一解码步骤从均匀分布开始,第二解码步骤在从0-上下文模型到1-上下文模型的变换时刻,将0-上下文模型概率表复制到所有1-上下文模型概率表中,且第三解码步骤在从1-上下文模型到2-上下文模型的变换时刻,将父节点模式的1-上下文模型概率表复制到相应于在相同的父节点模式的各个位置的2-上下文模型概率表中。
56、根据权利要求55的方法,其中该1-上下文模型是父节点的一个类。
58、根据权利要求55的方法,其中2-上下文包括父节点的一个类和在父节点处的当前节点的一个位置。
59、根据权利要求55的方法,其中该第二解码步骤包括:
在从相应于上下文的概率表中的上下文中检索生成当前节点的概率;
通过包含该检索的概率的概率序列来压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
60、根据权利要求55的方法,其中该第三解码步骤包括:
检索当前节点的父节点;
检测所检索的父节点属于的类并检测将该父节点变换为所检测类的标准节点的变换;
将该检测的变换应用父节点上并在变换的父节点上检索当前节点的位置;
将该变换应用到当前节点上并获得一模式,该模式作为所检测的类和当前节点位置指数的组合;
从相应于所检测的类和位置的组合的概率表的入口中检测所需的概率;
通过包含所检索的概率的概率序列来压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进行更新。
61、根据权利要求54的方法,其中该形状信息包括一个分辨率域,用于记录沿着包含物体的立方体一边的八叉树叶的最大数;一个八叉树域,用于记录内部节点结构的序列;和一指数域,用于记录相应于每个内部节点的参考图像的指数。
62、根据权利要求61的方法,其中每个内部节点由一字节来表示,记录在构成字节的位序列中的节点信息表示属于内部节点的子节点的子节点的存在或不存在。
63、根据权利要求54的方法,其中该参考图像是一个深度图像节点,该节点由观察点信息和相应于观察点信息的颜色信息组成。
64、根据权利要求63的方法,其中该观察点信息包括限定物体图像平面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用于记录从观察点到图像平面的可见区;一个投影方法域,它具有从正交投影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区通过宽度和高度来表示,在透视投影方法中,可见区通过水平角和垂直角来表示。
65、一种计算机可读取的记录介质,它记录一个程序,该程序用于在计算机上执行限定在权利要求29中的基于深度图像的3D物体的表示方法。
66、一种计算机可读取的记录介质,记录一个程序,该程序用于在计算机上执行限定在权利要求54中的基于深度图像的3D物体的表示方法。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33316701P | 2001-11-27 | 2001-11-27 | |
US60/333,167 | 2001-11-27 | ||
US36254502P | 2002-03-08 | 2002-03-08 | |
US60/362,545 | 2002-03-08 | ||
US37656302P | 2002-05-01 | 2002-05-01 | |
US60/376,563 | 2002-05-01 | ||
US39530402P | 2002-07-12 | 2002-07-12 | |
US60/395,304 | 2002-07-12 | ||
KR67970/02 | 2002-11-04 | ||
KR10-2002-0067970A KR100446635B1 (ko) | 2001-11-27 | 2002-11-04 | 깊이 이미지 기반 3차원 객체 표현 장치 및 방법 |
KR67970/2002 | 2002-11-04 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101187406A Division CN100545870C (zh) | 2001-11-27 | 2002-11-27 | 基于深度图像表示三维物体的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1432969A true CN1432969A (zh) | 2003-07-30 |
CN1261912C CN1261912C (zh) | 2006-06-28 |
Family
ID=27532386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02151900 Expired - Fee Related CN1261912C (zh) | 2001-11-27 | 2002-11-27 | 基于深度图像表示三维物体的装置和方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1321894B1 (zh) |
JP (2) | JP3957620B2 (zh) |
CN (1) | CN1261912C (zh) |
CA (1) | CA2413056C (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010025655A1 (zh) * | 2008-09-02 | 2010-03-11 | 华为终端有限公司 | 3d视频通信方法、发送设备、系统及图像重构方法和系统 |
CN1946180B (zh) * | 2006-10-27 | 2010-05-12 | 北京航空航天大学 | 一种基于Octree的三维模型压缩编码方法 |
CN1684109B (zh) * | 2004-02-17 | 2010-05-26 | 三星电子株式会社 | 用于编码和解码三维数据的方法和装置 |
CN101031022B (zh) * | 2006-01-05 | 2011-04-13 | 夏普株式会社 | 图像处理装置,图像形成装置,图像处理装置的控制方法 |
CN102057365A (zh) * | 2008-07-09 | 2011-05-11 | 普莱姆森斯有限公司 | 用于3d绘图的集成处理器 |
CN102404585A (zh) * | 2010-08-27 | 2012-04-04 | 美国博通公司 | 一种方法及系统 |
CN101668219B (zh) * | 2008-09-02 | 2012-05-23 | 华为终端有限公司 | 3d视频通信方法、发送设备和系统 |
CN102681656A (zh) * | 2011-01-17 | 2012-09-19 | 联发科技股份有限公司 | 提供立体人机界面的电子互动装置以及方法 |
CN104240288A (zh) * | 2013-06-21 | 2014-12-24 | 株式会社东芝 | 用于产生对象的三维表示的方法和系统 |
CN105791793A (zh) * | 2014-12-17 | 2016-07-20 | 光宝电子(广州)有限公司 | 图像处理方法及其电子装置 |
CN108027983A (zh) * | 2015-09-23 | 2018-05-11 | 皇家飞利浦有限公司 | 针对三维图像的三角形网格的生成 |
US9983685B2 (en) | 2011-01-17 | 2018-05-29 | Mediatek Inc. | Electronic apparatuses and methods for providing a man-machine interface (MMI) |
CN108711181A (zh) * | 2017-04-10 | 2018-10-26 | 英特尔公司 | 拓扑着色器技术 |
CN109215119A (zh) * | 2018-09-18 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 受损车辆的三维模型建立方法及装置 |
WO2019099153A1 (en) * | 2017-11-16 | 2019-05-23 | Zoox, Inc. | Pose determination from contact points |
CN109951714A (zh) * | 2013-04-08 | 2019-06-28 | 杜比国际公司 | 对lut进行编码的方法和进行解码的方法以及对应的设备 |
CN109961516A (zh) * | 2017-12-26 | 2019-07-02 | 宏达国际电子股份有限公司 | 表面获取方法、装置及非暂态电脑可读取记录媒体 |
CN110288664A (zh) * | 2018-03-19 | 2019-09-27 | 富士施乐株式会社 | 编码装置、解码装置以及非暂时性计算机可读介质 |
CN110892726A (zh) * | 2017-07-13 | 2020-03-17 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的几何形状的方法和装置 |
CN110892725A (zh) * | 2017-07-13 | 2020-03-17 | 交互数字Vc控股公司 | 一种用于编码/解码表示3d对象的点云的方法和装置 |
CN111373447A (zh) * | 2017-11-22 | 2020-07-03 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
CN111433816A (zh) * | 2017-12-04 | 2020-07-17 | 交互数字Vc控股公司 | 用于对表示3d对象的点云的几何形状进行编码/解码的方法和装置 |
CN112991549A (zh) * | 2021-03-31 | 2021-06-18 | 上海商汤临港智能科技有限公司 | 一种点云数据处理方法、装置、计算机设备和存储介质 |
CN113261033A (zh) * | 2019-01-08 | 2021-08-13 | 索尼集团公司 | 信息处理装置和信息处理方法 |
CN113297701A (zh) * | 2021-06-10 | 2021-08-24 | 清华大学深圳国际研究生院 | 多种类工业零件堆叠场景的仿真数据集生成方法及装置 |
CN113673116A (zh) * | 2021-09-01 | 2021-11-19 | 上海交通大学 | 针对均匀几何变分节块法的三维准输运加速方法 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100695142B1 (ko) | 2004-03-08 | 2007-03-14 | 삼성전자주식회사 | 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치 |
JP4759291B2 (ja) * | 2004-03-08 | 2011-08-31 | 三星電子株式会社 | 適応的2n進ツリーの生成方法、ならびにそれを利用して3次元体積データを符号化/復号化する方法および装置 |
KR100707206B1 (ko) * | 2005-04-11 | 2007-04-13 | 삼성전자주식회사 | 3차원 객체의 깊이영상 기반 표현 방법 및 이를 이용한모델링 및 렌더링 방법 및 장치 |
JP4650750B2 (ja) * | 2005-12-16 | 2011-03-16 | 株式会社Ihi | 三次元形状データの記憶・表示方法と装置および三次元形状の計測方法と装置 |
CN101331381B (zh) | 2005-12-16 | 2011-08-24 | 株式会社Ihi | 三维形状数据的位置对准方法和装置 |
DE112006003363B4 (de) | 2005-12-16 | 2016-05-04 | Ihi Corporation | Verfahren und Vorrichtung zur Identifizierung der Eigenposition, und Verfahren und Vorrichtung zur Messung einer dreidimensionalen Gestalt |
WO2008123823A1 (en) * | 2007-04-04 | 2008-10-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Vector-based image processing |
JP5380792B2 (ja) * | 2007-06-15 | 2014-01-08 | 株式会社Ihi | 物体認識方法および装置 |
US8279222B2 (en) | 2008-03-14 | 2012-10-02 | Seiko Epson Corporation | Processing graphics data for a stereoscopic display |
CN102106152A (zh) | 2008-07-24 | 2011-06-22 | 皇家飞利浦电子股份有限公司 | 通用3-d画面格式 |
KR20100128233A (ko) * | 2009-05-27 | 2010-12-07 | 삼성전자주식회사 | 영상 처리 방법 및 장치 |
WO2013067674A1 (en) * | 2011-11-07 | 2013-05-16 | Thomson Licensing | Predictive position encoding |
CN104781852B (zh) * | 2012-09-21 | 2020-09-15 | 欧克里德私人有限公司 | 用于渲染三维场景的计算机绘图方法 |
US20140092439A1 (en) * | 2012-09-28 | 2014-04-03 | Scott A. Krig | Encoding images using a 3d mesh of polygons and corresponding textures |
GB2558314B (en) | 2017-01-02 | 2020-07-29 | Canon Kk | Improved attribute mapping to encode and decode 3D models |
EP3428887A1 (en) * | 2017-07-13 | 2019-01-16 | Thomson Licensing | Method and device for encoding a point cloud |
EP3429207A1 (en) * | 2017-07-13 | 2019-01-16 | Thomson Licensing | A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object |
EP3429211A1 (en) * | 2017-07-13 | 2019-01-16 | Thomson Licensing | A method and apparatus for encoding/decoding the colors of a colored point cloud whose geometry is represented by an octree-based structure |
EP3429208A1 (en) * | 2017-07-13 | 2019-01-16 | Thomson Licensing | A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object |
EP3467789A1 (en) * | 2017-10-06 | 2019-04-10 | Thomson Licensing | A method and apparatus for reconstructing a point cloud representing a 3d object |
CN108460826B (zh) * | 2017-12-28 | 2022-04-15 | 深圳市创梦天地科技有限公司 | 一种3d模型的处理方法及终端 |
US11651523B2 (en) | 2017-12-28 | 2023-05-16 | Nokia Technologies Oy | Apparatus, a method and a computer program for volumetric video |
TWI815842B (zh) * | 2018-01-16 | 2023-09-21 | 日商索尼股份有限公司 | 影像處理裝置及方法 |
CN111566703B (zh) * | 2018-01-17 | 2023-10-20 | 索尼公司 | 图像处理装置和方法 |
US10853975B2 (en) | 2018-01-26 | 2020-12-01 | Sony Corporation | Hybrid projection-based point cloud texture coding |
CN110297597B (zh) * | 2018-03-23 | 2023-06-13 | 中国石油化工股份有限公司 | 地震数据的存储方法及读取方法 |
EP3553745B1 (en) | 2018-04-09 | 2021-09-01 | BlackBerry Limited | Methods and devices for binary entropy coding of point clouds |
MX2020014247A (es) * | 2018-06-25 | 2021-05-12 | Huawei Tech Co Ltd | Codificación geométrica híbrida de nubes de puntos. |
CN110796726B (zh) * | 2018-08-01 | 2022-04-05 | 深圳朗呈医疗科技有限公司 | 一种三维成像方法、装置及终端设备 |
CN110070613B (zh) * | 2019-04-26 | 2022-12-06 | 东北大学 | 基于模型压缩和异步加载的大型三维场景网页展示方法 |
CN111699684B (zh) * | 2019-06-14 | 2022-05-06 | 深圳市大疆创新科技有限公司 | 三维数据点的编解码方法和装置 |
CN112950753B (zh) * | 2019-12-11 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 虚拟植物显示方法、装置、设备及存储介质 |
CN111161365B (zh) * | 2019-12-30 | 2023-05-09 | 珠海金山数字网络科技有限公司 | 一种骨骼动画数据的压缩方法及装置 |
CN113487690B (zh) * | 2021-09-08 | 2021-11-19 | 北京医百科技有限公司 | 一种深度图处理方法、系统及存储介质 |
-
2002
- 2002-11-27 CA CA002413056A patent/CA2413056C/en not_active Expired - Fee Related
- 2002-11-27 CN CN 02151900 patent/CN1261912C/zh not_active Expired - Fee Related
- 2002-11-27 JP JP2002344720A patent/JP3957620B2/ja not_active Expired - Fee Related
- 2002-11-27 EP EP02258159A patent/EP1321894B1/en not_active Expired - Fee Related
-
2006
- 2006-07-26 JP JP2006204014A patent/JP4629005B2/ja not_active Expired - Fee Related
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684109B (zh) * | 2004-02-17 | 2010-05-26 | 三星电子株式会社 | 用于编码和解码三维数据的方法和装置 |
CN101031022B (zh) * | 2006-01-05 | 2011-04-13 | 夏普株式会社 | 图像处理装置,图像形成装置,图像处理装置的控制方法 |
CN1946180B (zh) * | 2006-10-27 | 2010-05-12 | 北京航空航天大学 | 一种基于Octree的三维模型压缩编码方法 |
CN102057365A (zh) * | 2008-07-09 | 2011-05-11 | 普莱姆森斯有限公司 | 用于3d绘图的集成处理器 |
CN102057365B (zh) * | 2008-07-09 | 2016-08-17 | 苹果公司 | 用于3d绘图的集成处理器 |
US9060165B2 (en) | 2008-09-02 | 2015-06-16 | Huawei Device Co., Ltd. | 3D video communication method, sending device and system, image reconstruction method and system |
CN101668219B (zh) * | 2008-09-02 | 2012-05-23 | 华为终端有限公司 | 3d视频通信方法、发送设备和系统 |
WO2010025655A1 (zh) * | 2008-09-02 | 2010-03-11 | 华为终端有限公司 | 3d视频通信方法、发送设备、系统及图像重构方法和系统 |
CN102404585A (zh) * | 2010-08-27 | 2012-04-04 | 美国博通公司 | 一种方法及系统 |
CN105022498B (zh) * | 2011-01-17 | 2018-06-19 | 联发科技股份有限公司 | 电子装置及其方法 |
CN105022498A (zh) * | 2011-01-17 | 2015-11-04 | 联发科技股份有限公司 | 电子装置及其方法 |
US9632626B2 (en) | 2011-01-17 | 2017-04-25 | Mediatek Inc | Apparatuses and methods for providing a 3D man-machine interface (MMI) |
CN102681656B (zh) * | 2011-01-17 | 2015-06-10 | 联发科技股份有限公司 | 提供立体人机界面的电子互动装置以及方法 |
US9983685B2 (en) | 2011-01-17 | 2018-05-29 | Mediatek Inc. | Electronic apparatuses and methods for providing a man-machine interface (MMI) |
CN102681656A (zh) * | 2011-01-17 | 2012-09-19 | 联发科技股份有限公司 | 提供立体人机界面的电子互动装置以及方法 |
CN109951714B (zh) * | 2013-04-08 | 2022-11-11 | 杜比国际公司 | 对lut进行编码的方法和进行解码的方法以及对应的设备 |
CN109951714A (zh) * | 2013-04-08 | 2019-06-28 | 杜比国际公司 | 对lut进行编码的方法和进行解码的方法以及对应的设备 |
CN104240288A (zh) * | 2013-06-21 | 2014-12-24 | 株式会社东芝 | 用于产生对象的三维表示的方法和系统 |
CN104240288B (zh) * | 2013-06-21 | 2017-07-07 | 株式会社东芝 | 用于产生对象的三维表示的方法和系统 |
CN105791793A (zh) * | 2014-12-17 | 2016-07-20 | 光宝电子(广州)有限公司 | 图像处理方法及其电子装置 |
CN108027983A (zh) * | 2015-09-23 | 2018-05-11 | 皇家飞利浦有限公司 | 针对三维图像的三角形网格的生成 |
CN108027983B (zh) * | 2015-09-23 | 2022-04-19 | 皇家飞利浦有限公司 | 针对三维图像的三角形网格的生成 |
CN108711181A (zh) * | 2017-04-10 | 2018-10-26 | 英特尔公司 | 拓扑着色器技术 |
CN110892726A (zh) * | 2017-07-13 | 2020-03-17 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的几何形状的方法和装置 |
CN110892725A (zh) * | 2017-07-13 | 2020-03-17 | 交互数字Vc控股公司 | 一种用于编码/解码表示3d对象的点云的方法和装置 |
WO2019099153A1 (en) * | 2017-11-16 | 2019-05-23 | Zoox, Inc. | Pose determination from contact points |
US11062461B2 (en) | 2017-11-16 | 2021-07-13 | Zoox, Inc. | Pose determination from contact points |
CN111373447A (zh) * | 2017-11-22 | 2020-07-03 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
CN111433816A (zh) * | 2017-12-04 | 2020-07-17 | 交互数字Vc控股公司 | 用于对表示3d对象的点云的几何形状进行编码/解码的方法和装置 |
CN109961516A (zh) * | 2017-12-26 | 2019-07-02 | 宏达国际电子股份有限公司 | 表面获取方法、装置及非暂态电脑可读取记录媒体 |
CN109961516B (zh) * | 2017-12-26 | 2023-09-26 | 宏达国际电子股份有限公司 | 表面获取方法、装置及非暂态电脑可读取记录媒体 |
CN110288664A (zh) * | 2018-03-19 | 2019-09-27 | 富士施乐株式会社 | 编码装置、解码装置以及非暂时性计算机可读介质 |
CN109215119A (zh) * | 2018-09-18 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 受损车辆的三维模型建立方法及装置 |
CN113261033A (zh) * | 2019-01-08 | 2021-08-13 | 索尼集团公司 | 信息处理装置和信息处理方法 |
CN112991549A (zh) * | 2021-03-31 | 2021-06-18 | 上海商汤临港智能科技有限公司 | 一种点云数据处理方法、装置、计算机设备和存储介质 |
CN113297701A (zh) * | 2021-06-10 | 2021-08-24 | 清华大学深圳国际研究生院 | 多种类工业零件堆叠场景的仿真数据集生成方法及装置 |
CN113673116A (zh) * | 2021-09-01 | 2021-11-19 | 上海交通大学 | 针对均匀几何变分节块法的三维准输运加速方法 |
CN113673116B (zh) * | 2021-09-01 | 2022-03-08 | 上海交通大学 | 针对均匀几何变分节块法的三维准输运加速方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1321894A3 (en) | 2005-01-05 |
EP1321894A2 (en) | 2003-06-25 |
JP4629005B2 (ja) | 2011-02-09 |
JP2003296755A (ja) | 2003-10-17 |
CA2413056C (en) | 2009-02-10 |
CN1261912C (zh) | 2006-06-28 |
CA2413056A1 (en) | 2003-05-27 |
EP1321894B1 (en) | 2011-11-09 |
JP3957620B2 (ja) | 2007-08-15 |
JP2006318503A (ja) | 2006-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1261912C (zh) | 基于深度图像表示三维物体的装置和方法 | |
CN1218282C (zh) | 用深度图像表示三维物体的节点结构 | |
CN1790421A (zh) | 基于深度图像表示三维物体的装置和方法 | |
CN1809843A (zh) | Model 3D构建的应用程序接口 | |
CN1139256C (zh) | 图像编码装置及图像解码装置 | |
CN1273931C (zh) | 改进图象质量的方法和系统 | |
CN1795468A (zh) | 在基于扫描线的光栅图像处理器中跟踪深度的方法 | |
CN1194318C (zh) | 物体区域信息记述方法和物体区域信息生成装置 | |
CN1174616C (zh) | 可逆子波变换和嵌入代码流处理 | |
CN1649384A (zh) | 图像处理设备、图像处理程序、及存储介质 | |
CN1182247A (zh) | 输入和输出彩色图象及连续变化色调图象的方法和设备 | |
CN1607541A (zh) | 图象处理方法 | |
CN1545330A (zh) | 图像信号转换方法和设备以及图像提供系统 | |
CN1586042A (zh) | 可变长编码方法以及可变长译码方法 | |
CN1441387A (zh) | 用于对定向内插器进行编码和译码的方法和装置 | |
CN101039422A (zh) | 图像编码装置、图像解码装置及它们的控制方法 | |
CN1526118A (zh) | 用于产生涉及几何失真的格式化信息的方法和系统 | |
CN1656465A (zh) | 可缩放的高性能3d图形显示 | |
CN1178461C (zh) | 图像编码装置、图像译码装置、传真装置 | |
CN1149952A (zh) | 解码视频图像的装置和方法 | |
CN1619438A (zh) | 图像处理装置及其控制方法、程序 | |
CN1606351A (zh) | 用于数字视频加水印的色彩选择方案 | |
CN1307782A (zh) | 图象编码/解码方法以及记录该程序的记录媒体 | |
CN1707502A (zh) | 图像处理装置及其控制方法 | |
CN1922890A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060628 Termination date: 20161127 |