首页 / 专利库 / 制造过程 / 三维扫描 / 基于深度图像表示三维物体的装置和方法

基于深度图像表示三维物体的装置和方法

阅读:873发布:2023-03-08

专利汇可以提供基于深度图像表示三维物体的装置和方法专利检索,专利查询,专利分析的服务。并且提供一种使用 深度图 像 来表示三维图像物体的 节点 结构族。这些节点结构在常规多边3D表示法的MPEG-4中采用。该节点结构族的主要格式是深度图像,点纹理和八叉树图像。深度图像通过参考图像和相应深度图的结合来表示一个物体。点纹理以一组通过投影到规则2D网格确定的 颜色 点参数表示该物体。八叉树图像将相同的数据变换为分层的八叉树结构的三维 像素 模型,一组压缩参考图像以及三维图像对应目录树。深度图像和八叉树具有动画版,该参考图像由 视频流 来代替。DIBR格式对来自3D范围扫描和多源视频数据中的3D模型结构很方便。MPEG-4 框架 允许主DIBR格式的宽范围表示的结构,为具有3D模型的有效工作提供灵活工具。通过将图像(视频)压缩技术用到深度图和参考图像(视频流)中实现对DIBR格式的压缩。,下面是基于深度图像表示三维物体的装置和方法专利的具体信息内容。

1、一种基于深度图像的3D物体表示装置,该装置包括:
一个形状信息生成器,通过将包含物体的八叉树分割成8个子立方体并 限定该分割的子立方体为子节点直到每个子立方体变得比预定尺寸要小,从 而该形状信息生成器产生物体的形状信息;
一个参考图像确定器,用于确定包含每个立方体的颜色信息的参考图 像,该立方体通过形状信息生成器分割;
一个指数生成器,用于产生相应于该形状信息的参考图像的指数信息;
一个节点生成器,用于产生八叉树节点,八叉树节点包括形状信息、指 数信息和参考图像;和
一个编码器,用于对八叉树节点进行编码以输出比特流。
2、根据权利要求1的装置,其中该形状信息包括一个分辨率域,用于 记录沿着包含物体的立方体的一边的八叉树叶的最大数;一个八叉树域,用 于记录内部节点结构的序列;和一指数域,用于记录相应于每个内部节点的 参考图像的指数。
3、根据权利要求1的装置,其中该参考图像是深度图像节点,该节点 由观察点信息和相应于观察点信息的颜色图像组成。
4、根据权利要求1的装置,其中该观察点信息包括限定物体图像平面的 多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图像平 面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域,用 于记录从观察点到图像平面的可见区;和一个投影方法域,用于记录从正交 投影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区 通过宽度和高度来表示,和在透投影视方法中,可见区通过和垂直角 来表示。
5、根据权利要求1的装置,进一步包括一个预处理器,用于预先处理在 参考图像中的之间的边界中的像素并将该预处理的像素提供给参考图像 确定器,该预处理器包括:
一个扩展部分,通过使用块的平均颜色和强度的快速衰退来将边界中像 素扩展到背景中;和
一个压缩部分,用于对参考图像执行基于块的压缩,然后将该变形挤压 到背景中去。
6、根据权利要求1的装置,其中该指数生成器包括:
一个颜色点生成器,它通过将存在在参考图像中的像素位移在相应的深 度图中限定的一距离来获得颜色点;
一个基于点的表示法(PBR)生成器,用于通过一组颜色点来产生中间 的PBR图像;
一个图像变换器,用于将PBR图像变换为八叉树图像,该八叉树图像由 相应于每个点的立方体来表示;和
一个指数信息生成器,用于产生相应于每个立方体的参考图像的指数信 息。
7、根据权利要求1的装置,其中该编码器包括:
一个上下文确定部分,用于根据八叉树节点的编码周期数量来确定当前 八叉树节点的上下文;
一个第一阶段编码部分,当对预定数量的入口保持单一概率表时,该编 码部分通过0-上下文模型和算法编码来对第一预定数量的节点进行编码;
一个第二阶段编码部分,紧跟着第一预定数量的节点之后,该编码部分 通过使用父节点作为上下文的1-上下文模型来对第二预定数量的节点进行 编码;和
第三阶段编码部分,在紧跟着第二预定数量的节点之后,通过使用父节 点和子节点作为上下文的2-上下文模型和算法编码来对剩余的节点进行编 码,第一阶段编码部分从均匀分布开始编码,第二阶段编码部分在从0-上下 文模型到1-上下文模型的变换时刻,将0-上下文模型概率表复制到所有的 1-上下文模型概率表中,且第三阶段编码部分在从1-上下文模型到2-上下文 模型的变换时刻,将父节点模式的1-上下文模型概率表复制到相应于在相同 父节点模式的各个位置的2-上下文模型概率表中。
8、根据权利要求7的装置,其中第二编码部分包括:
一个概率检索部分,在从相应于上下文的概率表中的上下文中,该概率 检索部分检索产生当前节点的概率;
一个算法编码器,用于通过包含所检索的概率的概率序列来压缩八叉树 ;和
一个表更新部分,对在当前上下文中的当前节点的产生频率的具有预定 增加量的概率表进行更新。
9、根据权利要求7的装置,其中第三编码部分包括:
第一检索部分,用于检索当前节点的父节点;
第一检测部分,用于检测该检索的父节点所属于的类并通过将父节点变 换为所检测类的标准节点来对变换进行检测;
第二检索部分,用于将所检测的变换应用到父节点上并在变换的父节点 中检索当前节点的位置;
一个模式获得部分,用于获得作为所检测类和当前节点位置指数的组合 的模式;
第二检测部分,用于从相应于所获得的模式的概率表的入口中检测所需 的概率;
一个算法编码器,用于通过包含所检索的概率表的概率序列来压缩八叉 树;和
一个表更新部分,对在当前上下文中的当前节点的产生频率的具有预定 增加量的概率表进行更新。
10、根据权利要求7的装置,其中该编码器进一步包括:
一个符号字节记录部分,如果当前节点不是叶节点,则该记录部分用于 记录相应于比特流上的当前节点的符号字节;
一个图像指数记录部分,如果当前节点的所有子节点具有相同的参考图 像指数并且当前节点的父节点具有“未定义”的参考图像指数,则该记录部 分在当前节点的子节点的比特流上记录相同参考图像指数,或如果当前节点 的子节点具有不同的参考图像指数,则记录当前节点的子节点的“未定义” 的参考图像指数。
11、一种基于深度图像的3D物体的表示方法,该方法包括:
通过将包含物体的八叉树分割成8个子立方体并限定该分割的子立方体 为子节点直到每个子立方体变得比预定尺寸要小来对物体产生形状信息;
确定包含每个立方体的颜色信息的参考图像,该立方体通过形状信息生 成器分割;
产生相应于该形状信息的参考图像的指数信息;
产生八叉树节点,该八叉树节点包括形状信息、指数信息和参考图像; 和
对八叉树节点进行编码以输出比特流。
12、根据权利要求11的方法,其中该形状信息包括一个分辨率域,用 于记录沿着包含物体的立方体的一边的八叉树叶的最大数;一个八叉树域, 用于记录内部节点结构的序列;和一个指数域,用于记录相应于每个内部节 点的参考图像的指数。
13、根据权利要求12的方法,其中每个内部节点由一字节来表示,记 录在构成字节的位序列中的节点信息表示属于内部节点的子节点的子节点 的存在或不存在。
14、根据权利要求11的方法,其中该参考图像是一个深度图像节点, 该节点由观察点信息和相应于观察点信息的颜色信息组成。
15、根据权利要求14的方法,其中该观察点信息包括限定物体图像平 面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图 像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域, 用于记录从观察点到图像平面的可见区;一个投影方法域,用于记录从正交 投影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区 通过宽度和高度来表示,在透视投影方法中,可见区通过水平角和垂直角来 表示。
16、根据权利要求11的方法,其中该指数生成步骤包括:
它通过将存在在参考图像中的像素位移在相应的深度图中限定的一距离 来获得颜色点;
通过一组颜色点来产生中间的基于点表示法的(PBR)图像;
将PBR图像变换为八叉树图像,该八叉树图像由相应于每个点的立方体 来表示;和
产生相应于每个立方体的参考图像的指数信息。
17、根据权利要求11的方法,其中该参考图像确定步骤包括:
使用块的平均颜色和强度的快速衰退来将边界中的像素扩展到背景中; 和
执行基于块的压缩,然后将该变形挤压到背景中去。
18、根据权利要求11的方法,其中该编码步骤包括:
根据八叉树节点的编码周期的数量来确定当前八叉树节点的上下文;
首先,保持具有预定数量入口的单一概率表时,通过0-上下文模型和算 法编码来对第一预定数量的节点进行编码;
第二,紧跟着第一预定数量的节点之后,通过使用父节点作为上下文的 1-上下文模型来对第二预定数量的节点进行编码;和
第三,在紧跟着第二预定数量的节点之后,通过使用父节点和子节点作 为上下文的2-上下文模型和算法编码来对剩余的节点进行编码,第一编码步 骤从均匀分布开始编码,第二编码步骤在从0-上下文模型到1-上下文模型的 变换时刻,将0-上下文模型概率表复制到所有的1-上下文模型概率表中, 且第三编码步骤在从1-上下文模型到2-上下文模型的变换时刻,将父节点模 式的1-上下文模型概率表复制到相应于在相同的父节点模式的各个位置的 2-上下文模型概率表中。
19、根据权利要求18的方法,其中该1-上下文模型是父节点的一个类。
20、根据权利要求19的方法,其中该类的总量是22,且这时通过基本 变换组合产生的正交变换G来结合节点,然后两个节点属于同一类,这里 给出基本变换m1,m2和m3:
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 1
这里,m1和m2分别映射到平面x=y和y=z,且m3映射到平面x=0。
21、根据权利要求18的方法,其中该2-上下文包括父节点的一个类和在 父节点处的当前节点的一个位置。
22、根据权利要求18的方法,其中该第二编码步骤包括:
在来自相应于上下文的概率表中的上下文中检索生成当前节点的概率;
通过包含该检索概率的概率序列来压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表 进行更新。
23、根据权利要求18的方法,其中该第三编码步骤包括:
检索当前节点的父节点;
检测所检索的父节点属于的类并检测将该父节点变换为所检测类的标 准节点的变换;
将该检测的变换应用到父节点上并在变换的父节点上检索当前节点的 位置;
将该变换应用到当前节点上并获得一模式,该模式作为所检测的类和当 前节点的位置指数的组合;
从相应于所检测的类和位置的组合的概率表的入口中检测所需的概率;
通过包含所检索的概率的概率序列压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表 进行更新。
24、根据权利要求18的方法,其中编码步骤包括:
如果当前节点不是叶节点,记录相应于在比特流上的当前节点的符号字 节;
如果当前节点的所有子节点具有相同的参考图像指数并且当前节点的父 节点具有“未定义”的参考图像指数,则对当前节点的子节点记录在比特流 上的相同参考图像指数,或如果当前节点的孩子节点具有不同的参考图像指 数,则对当前节点的子节点记录“未定义”的参考图像指数。
25、一种基于深度图像3D物体的表示装置,该装置包括:
一个输入单元,用于输入比特流;
一个第一提取器,用于从输入比特流中提取八叉树节点;
一个解码器,用于解码八叉树节点;
一个第二提取器,用于从所解码的八叉树节点中提取构成八叉树的多个 立方体的形状信息和参考图像;和
一个物体表示单元,通过将相应于形状信息的所提取的参考图像的组合 来表示一个物体。
26、根据权利要求25的装置,其中该解码器包括:
一个上下文确定部分,用于根据八叉树节点的解码周期的数量来确定当 前八叉树节点的上下文;
一个第一阶段解码部分,当保持具有预定数量入口的单一概率表时,通 过0-上下文模型和算法编码来对第一预定数量的节点进行解码;
一个第二阶段解码部分,紧跟着第一预定数量的节点之后,通过使用父 节点作为上下文的1-上下文模型来对第二预定数量的节点进行解码;和
一个第三阶段解码部分,在紧跟着第二预定数量的节点之后,通过使用 父节点和子节点作为上下文的2-上下文模型和算法编码来对剩余的节点进 行解码,第一阶段解码部分从均匀分布开始编码,第二阶段解码部分在从 0-上下文模型到1-上下文模型的变换时刻,将0-上下文模型概率表复制到 所有1-上下文模型的概率表中,且第三阶段解码部分在从1-上下文模型到 2-上下文模型的变换时刻,将父节点模式的1-上下文模型概率表复制到相应 于在相同的父节点模式的各个位置的2-上下文模型概率表中。
27、根据权利要求26的装置,其中该1-上下文模型是父节点的一个类。
28、根据权利要求27的装置,其中该类的总量是22,当通过基本变换 组合产生的正交变换G来结合节点时,两个节点就属于同一类,这里给出 基本变换m1,m2和m3:
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 1
这里,m1和m2分别映射到平面x=y和y=z且m3映射到平面x=0。
29、根据权利要求26的装置,其中该2-上下文包括父节点的一个类和在 父节点处的当前节点的一个位置。
30、根据权利要求26的装置,其中该第二解码部分包括:
一个概率检索部分,在从相应于上下文的概率表中的上下文中检索生成 当前节点的概率;
一个八叉树压缩部分,通过包含该检索概率的概率序列来压缩八叉树; 和
一个更新部分,对在当前上下文中的当前节点的产生频率的具有预定增 加量的概率表进行更新。
31、根据权利要求26的装置,其中该第三解码部分包括:
一个节点检索部分,用于检索当前节点的父节点;
一个变换检测部分,用于检测所检索的父节点属于的类并检测将该父节 点变换为所检测类的标准节点的变换;
一个位置检索部分,用于将该检测的变换应用到父节点上并在变换的父 节点上检索当前节点的位置;
一个模式获得部分,用于将该变换应用到当前节点上并获得一模式作为 所检测的类和当前节点的位置指数的组合;
一个概率检测部分,用于从相应于所检测的类和位置的组合的概率表的 入口中检测所需的概率;和
一个八叉树压缩部分,用于通过包含所检索的概率的概率序列来压缩八 叉树;和
一个表更新部分,对在当前上下文中的当前节点的产生频率的具有预定 增加量的概率表进行更新。
32、根据权利要求25的装置,其中该形状信息包括一个分辨率域,用 于记录沿着包含物体的立方体的一边的八叉树叶的最大数;一个八叉树域, 用于记录内部节点结构的序列;和个一指数域,用于记录相应于每个内部节 点的参考图像的指数。
33、根据权利要求32的装置,其中每个内部节点由一个字节来表示, 并且记录在构成字节的位序列中的节点信息表示属于内部节点的子节点的 子节点的存在或不存在。
34、根据权利要求25的装置,其中该参考图像是一个深度图像节点, 该节点由观察点信息和相应于观察点信息的颜色信息组成。
35、根据权利要求34的装置,其中该观察点信息包括限定物体图像平 面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图 像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域, 用于记录从观察点到图像平面的可见区;一个投影方法域,它具有从正交投 影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区通 过宽度和高度来表示,在透视投影方法中,可见区通过水平角和垂直角来表 示。
36、一种基于深度图像的3D物体表示方法,该方法包括:
输入比特流;
从输入比特流中提取八叉树节点;
解码八叉树节点;
从所解码的八叉树节点中提取构成八叉树的多个立方体的形状信息和参 考图像;和
通过将相应于形状信息的所提取的参考图像的组合来表示一个物体。
37、根据权利要求36的方法,其中该解码步骤包括:
根据八叉树节点的解码周期的数量来确定当前八叉树节点的上下文;
首先,当保持具有预定数量入口的单一概率表时,通过0-上下文模型和 算法编码来对第一预定数量的节点进行解码;
第二,紧跟着第一预定数量的节点之后,通过使用父节点作为上下文的 1-上下文模型来对第二预定数量的节点进行解码;和
第三,在紧跟着第二预定数量的节点之后,通过使用父节点和子节点作 为上下文的2-上下文模型来对剩余的节点进行解码,第一解码步骤从均匀分 布开始,第二解码步骤在从0-上下文模型到1-上下文模型的变换时刻,将 0-上下文模型概率表复制到所有1-上下文模型概率表中,且第三解码步骤在 从1-上下文模型到2-上下文模型的变换时刻,将父节点模式的1-上下文模 型概率表复制到相应于在相同的父节点模式的各个位置的2-上下文模型概 率表中。
38、根据权利要求37的方法,其中该1-上下文模型是父节点的一个类。
39、根据权利要求38的方法,其中该类的总量是22,当通过基本变换 组合产生的正交变换G来结合节点时,两个节点就属于同一类,这里给出 基本变换m1,m2和m3:
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 1
这里,m1和m2分别映射到平面x=y和y=z且m3映射到平面x=0。
40、根据权利要求37的方法,其中2-上下文包括父节点的一个类和在父 节点处的当前节点的一个位置。
41、根据权利要求37的装置,其中该第二解码步骤包括:
在从相应于上下文的概率表中的上下文中检索生成当前节点的概率;
通过包含该检索的概率的概率序列来压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进 行更新。
42、根据权利要求37的方法,其中该第三解码步骤包括:
检索当前节点的父节点;
检测所检索的父节点属于的类并检测将该父节点变换为所检测类的标 准节点的变换;
将该检测的变换应用父节点上并在变换的父节点上检索当前节点的位 置;
将该变换应用到当前节点上并获得一模式,该模式作为所检测的类和当 前节点位置指数的组合;
从相应于所检测的类和位置的组合的概率表的入口中检测所需的概率;
通过包含所检索的概率的概率序列来压缩八叉树;和
对在当前上下文中的当前节点的产生频率的具有预定增加量的概率表进 行更新。
43、根据权利要求36的方法,其中该形状信息包括一个分辨率域,用 于记录沿着包含物体的立方体一边的八叉树叶的最大数;一个八叉树域,用 于记录内部节点结构的序列;和一指数域,用于记录相应于每个内部节点的 参考图像的指数。
44、根据权利要求43的方法,其中每个内部节点由一字节来表示,记 录在构成字节的位序列中的节点信息表示属于内部节点的子节点的子节点 的存在或不存在。
45、根据权利要求36的方法,其中该参考图像是一个深度图像节点, 该节点由观察点信息和相应于观察点信息的颜色信息组成。
46、根据权利要求45的方法,其中该观察点信息包括限定物体图像平 面的多个域,构成观察点信息的各个域包括一个位置域,用于记录观察一图 像平面的位置;一个方位域,用于记录观察一图像平面的方位;一个可见域, 用于记录从观察点到图像平面的可见区;一个投影方法域,它具有从正交投 影方法和透视投影方法中选择出的投影方法,在正交投影方法中,可见区通 过宽度和高度来表示,在透视投影方法中,可见区通过水平角和垂直角来表 示。

说明书全文

技术领域

发明涉及一种用于表示基于深度图像的三维(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)  Pj,0   Pj,1 …   Pj,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压缩算法中的上下文正交不变的几何方法(Geometic meaning 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)
I.引言
在本文档中,报道了基于深度图像表示(DIBR)的核心实验结果(AFX A8.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获得正交转换,它们为
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 1
其中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,从而l·l≥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位深度域的无损点纹理压缩(字节)   模型   深度域   颜色域   总尺寸           压缩率   深度   颜色   总和   “莫顿   256”   原始   691032   321666   101269   8   3.1   1.2   2.0   压缩   226385   270597   424562   “天使”   原始   665488   302508   967996   3.3   1.2   2.1   压缩   204364   262209   466604
表4  更低分辨率节点表示的无损点纹理压缩(字节)   模型   深度域   颜色域   总尺寸                 压缩率   深度   颜色   总和   “莫顿   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
表5  更低分辨率点纹理的无损几何和有损颜色压缩(字节)   模型   深度域   颜色域   总尺寸               压缩率   深度   颜色   总和   “莫顿   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点到通过视点且平行于近平面和远平面 的平面的实际距离:
dist = nearPlane + ( 1 - d - 1 d max - 1 ) ( farPlane - nearPlane )
其中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中,八叉树表改变八叉树列表如下:        域名   DEF id   In id   OUT id   DYN id   [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中,用于点纹理的表,把深度列的范围改做所建 议的值。
建议修定      域名   DEF id   In id   OUT id   DYN id   [m,M]   Q   A   深度  MFint32   10   [0,1]
IV.ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO
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获得,它们为
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 1
其中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 …   P0,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.5 TBVO压缩和着色结果
在图15、17、18和19中,我们得到TBVO的压缩结果。图16示出了 ‘天使’和‘莫顿’模型的剥离图像。压缩大小与压缩的BVO相比:在第 三列中括弧里的数字为压缩的几何体积,而第一个数字为基于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
域    MFInt32          相机ID            []#%q=13,8
域    MFNode           八叉树图像        []
}
该八叉树图像节点限定TBVO结构,其中存在一个相应于照相机指数 数列的八叉树结构和一套八叉树图像。
该八叉树图像域为di纹理域指定一套具有单一纹理的深度图像节点;没 有使用这些单一纹理节点中的深度域。正交域对深度图像字节来说必须是真 实的。对每个单一纹理来说,纹理域存储该物体的颜色信息,或把该物体的 一部分(例如通过摄影飞机的横截面)看做通过正交相机获得的,在深度图 像的相应域中确定其位置和方位。在模型构造阶段,分配对应于每个摄影机 的物体部分。用位置、方位和纹理域的值进行物体分割,以便最小化摄影机 的数量(或等于所包含的八叉树图像),同时,还包括所有能从任意选择位 置看见的物体部分。该方位域必须满足条件:摄影窗口矢量仅具有一个非零 分量(例如是垂直于所包围的立方体面中的一个面)。而且,单一纹理图像 的边缘必须平行于封闭立方体的相应边。
八叉树域充分描述物体的几何结构。该几何结构由一套给定物体的三维 像素来表示。八叉树是类似树的数据结构,其中每个节点通过字节来表示。 在该字节的第I位中的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() { 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--) { 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)度,并对称。下面给出它们的矩阵,它们的数字顺序是:

有22组符号一称作类,如果且仅如果它们属于同一类,则使其中两个 符号通过这样的一个变换来连接,。编码方法按如下所述构成PcT:一个符 号的纹理ID或是等于其父节点所属类中的数字,或者等于组合数字(父类, 在父节点中的当前节点位置)。这允许在上下文的数字中有较大的缩小率, 使获得有意义的统计所需要的时间缩短。
在每个类中,确定单一基本符号(见表9),而每个符号中,预算正交 变换,这种变换使其成为其类的基本符号(在实际的编码/解码过程中,使 用查找表)。在确定符号的上下文ID之后,应用将其父节点带到基元素的倒 置(即转置矩阵)的转换。在表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-4AFX节点说明中详细描述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)
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 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   Pj,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。
-估计D(splat直径)为 其中N为每个单元的边的点的平均数目, C为经验常数,大约为1.3。
我们需强调的是,通过比较精确的半径计算、更复杂的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 以八叉树图像格式的对于八叉树和体元图像指数域
     的压缩结果(文件大小被四舍五入为千字节)   模型   参考图像数量   八叉树和体元图像指数分量   的大小   压缩比   未压缩   压缩的   Ange1256   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-上下文模型来执行第三编码步骤。
这里,0-上下文是独立的上下文,而1-上下文是母节点的一个类。该类 的总量是22。当通过基本变换产生的正交变换G与该类结合时,两个节点 属于相同的类。这里给出基本变换m1、m2和m3:
m 1 = 0 1 0 1 0 0 0 0 1 , m 2 = 1 0 0 0 0 1 0 1 0 , m 3 = - 1 1 0 0 1 0 0 0 1
这里,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单一图像和规则结构来 编码,所以该算法是简单的,而且在许多方面能得到硬件支持。另外,基于 图像模型的绘制时间与在参考和输出图像中像素的数目成正比,但通常在多 边形情况下不与几何复杂度成正比。另外,当将基于图像的表示法应用到实 际物和景色中时,在没有利用数以百万计的多边形和昂贵计算的情况下,使 自然景色的逼真图像的绘制变得可能。
实现本发明的上述描述是示例性和说明性的。这里没有穷举且不将本发 明限于公开的具体形式。根据上述教导可对本发明作出各种改进和变型或者 可从本发明的实践中获取。本发明的范围被限定在权利要求及其它们的等同 物内。
本申请是申请日为2002年11月27日、申请号为02151900.5、发明名 称为“基于深度图像表示三维物体的装置和方法”的发明申请的分案申请。
相关专利内容
标题 发布/更新时间 阅读量
三维扫描系统 2020-05-11 624
一种三维扫描仪 2020-05-11 418
一种三维扫描仪 2020-05-11 564
三维扫描装置和三维扫描方法 2020-05-12 155
三维扫描装置 2020-05-12 540
三维扫描装置和三维扫描方法 2020-05-13 28
三维扫描仪机头与三维扫描仪 2020-05-13 881
一种三维扫描仪及三维扫描方法 2020-05-13 743
三维扫描器 2020-05-11 176
三维扫描仪 2020-05-11 968
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈