用于对表面的几何表示的法线进行编码和/或解码的方法和装置制造方法及图纸

技术编号:20986680 阅读:48 留言:0更新日期:2019-04-29 20:08
本文公开了用于对表面的几何表示的法线进行编码和/或解码的方法和装置。一种示例方法包括:接收多个点,每个点表示所述表面的法线并且被布置在拼块内;生成所述拼块内的多个区域,每个区域包括所述多个点中的点;检索第一点和第二点,所述第一点表示第一法线并且所述第二点表示第二法线,所述第一点处在指定基线区域外部;对所述第一点执行点变换操作以产生所述基线区域的变换的第一点并且对所述第二点执行所述点变换以产生变换的第二点;生成所述变换的第一点与所述变换的第二点之间的差以产生多个差值;以及对所述差值进行编码。

Method and apparatus for encoding and/or decoding normal lines for geometric representation of surfaces

This paper discloses methods and devices for encoding and/or decoding normal lines for geometric representation of surfaces. An example method includes: receiving a plurality of points, each point representing the normal line of the surface and being arranged in the block; generating a plurality of areas within the block, each area including points in the plurality of points; retrieving the first point and the second point representing the first normal line and the second point representing the second normal line, the first point being outside the specified baseline area; A point transformation operation is performed on the first point to generate the first point of the transformation of the baseline area and a point transformation is performed on the second point to generate the second point of the transformation; a difference between the first point of the transformation and the second point of the transformation is generated to generate multiple differences; and the difference is coded.

【技术实现步骤摘要】
【国外来华专利技术】用于对表面的几何表示的法线进行编码和/或解码的方法和装置相关申请的交叉引用本申请于2017年3月31日提交的美国非临时专利申请No.15/475,639的继续部分并要求其优先权,所述申请于2016年10月19日提交的美国专利申请No.15/297,801的部分继续并要求其优先权,其两者的内容通过引用并入在本文中。
本公开总体上涉及一种表面的几何表示,并且更具体地,涉及一种用于对表面的几何表示进行编码和/或解码的法线的方法和装置。
技术介绍
真实或计算机生成的对象的表面能够通过几何形状(诸如三角形)来表示,所述几何形状形成表面的分段平面近似。几何形状共同地形成表面的几何表示。三角形能够通过三个顶点和法线来定义,所述法线是垂直于由三角形形成的平面的矢量。在一些示例中,法线能够处在顶点处。在一些实例中,插值用于确定跨越表面逐渐变化的法线。法线还可以连附到点云中的点以提供阴影。
技术实现思路
本文公开了用于对表面的几何表示的法线进行编码和/或解码的方法和装置。一种示例方法包括:接收多个点,所述多个点中的每个点表示所述表面的法线并且被布置在拼块内;在所述拼块内生成多个区域,所述多个区域中的每一个包括所述多个点中的点;检索所述多个点中的第一点和第二点,所述第一点表示所述表面的第一法线并且所述第二点表示所述表面的第二法线,所述第一点是处在指定基线区域的外部;对所述第一点执行点变换操作以产生所述基线区域的变换的第一点,并且对所述第二点执行所述点变换以产生变换的第二点;生成所述变换的第一点与所述变换的第二点之间的差以产生差值;以及对所述差值进行编码以产生编码差值。附图说明图1是图示根据本公开的教导的示例引擎的示意图。图2A图示示例复合拼块和使用复合拼块的法线的示例编码。图2B图示使用图2A的复合拼块的法线的另一示例编码。图3图示具有用于限定图2A-图2B的示例复合拼块的表面的示例几何形状。图4图示使用图2A-图2B的示例复合拼块的编码法线的示例解码。图5是表示可以用于使用图2A-图2B的示例复合拼块来对法线进行编码的示例方法的流程图。图6是表示可以用于使用图2A-图2B的示例复合拼块来对编码法线进行解码的示例方法的流程图。图7A和图7B图示示例拼块组装以及使用图7A和图7B的拼块组装的法线的示例编码。图7C图示使用图7A和图7B的示例拼块组装的法线的另一示例编码。图8A、图8B和图8C图示使用图7A和图7B的示例拼块组装的编码法线的示例解码。图9是表示可以用于使用图7A-图7B的示例拼块组装来对法线进行编码的示例方法的流程图。图10是表示可以用于使用图7A-图7B的示例拼块组装来对编码法线进行解码的示例方法的流程图。图11是示出可以使用本文中公开的示例方法来实现的示例压缩增益的表。图12是图示根据本公开的教导执行对表面的几何表示的法线进行编码和/或解码的改进技术的示例电子环境的示意图。图13A是图示在图12中所图示的电子环境内执行改进技术的示例方法的流程图。图13B是表示可以用于在图12中所图示的电子环境内对法线进行编码的示例方法的流程图。图14A是图示在图12中所图示的电子环境内执行改进技术的另一示例方法的流程图。图14B是表示可以用于在图12中所图示的电子环境内对法线进行解码的示例方法的流程图。图15A是图示从图3中所图示的几何形状导出的并且包含用于在图12中所图示的电子环境内对法线进行编码的预测和实际点的示例拼块的图。图15B是图示在如图15A中所图示的法线的编码期间将预测点放置在内部区域内的示例反转操作的图。图15C是图示将预测点放置在图15A-15B中所图示的拼块内的基线区域内的示例点变换操作的图。图16A是图示从图3中所图示的几何形状导出并且包含用于在图12中所图示的电子环境内对法线进行解码的预测点的示例拼块的图。图16B是图示在如图16A中所图示的法线的解码期间将预测点放置在内部区域内的示例反转操作的图。图16C是图示将预测点放置在图16A-16B中所图示的拼块内的基线区域内的示例点变换操作的图。图16D是图示对从图16C中的基线区域中的预测点导出的实际点的示例反点变换操作的图。图16E是图示对图16C中的实际点的示例反转操作的图。图17是示出可以使用本文中公开的示例方法来实现的示例压缩增益的另一表。图18是可以用于实现本文中公开的示例的示例计算机设备和示例移动计算机设备的框图。具体实施方式现在将详细地参考本公开的非限定示例,其示例被图示在附图中。在下面通过参考附图来描述示例,其中相似的附图标记指代相似的元件。当示出相似的附图标记时,不重复对应的描述并且感兴趣的读者参考先前讨论的图以得到相似的元件的描述。I.一般讨论几何形状(例如,八面体)可以用于表示表面的法线。为了易于计算能够将几何形状变换成至少部分展平的形式。考虑八面体;能够通过切割一个尖端和毗连该尖端的四个边缘以低畸变方式来使它展平成正方形。展平形状将具有与八面体的未半切割部的四个表面相对应的四个内三角形(或面积、部分、区域等)S1-S4,以及与八面体的半切割部的四个表面相对应的四个外三角形SA-SD(例如,参见图7A)。因为已经切割了原始八面体共享边界,所以这种方法的缺点是在八面体被展平之后原始八面体的相邻表面(例如,SA和SB)上的一些点变得更远。这种距离上的增加对在八面体的切割部分中出现的点具有不公平地不利影响。此类不利影响减少了能够使用展平几何形状来实现的熵编码的量。公开了使点之间的距离上的这种位置相关不公平性反转的示例复合拼块和拼块组装。本文中公开的示例能够确保一对点之间的距离不根据这些点所位于的地方。例如,它们是否在八面体的切割部或未切割部上?通过维持这些点之间的正确距离,能够在熵编码中获得超过可使用展平八面体实现的增加。这些增益伴随着由使用展平形式产生的计算且易于实现增益。图1是具有处理器105、网络接口110、和多个组件115-119的示例引擎100的示意图。引擎100能够包括编码器116A和/或解码器116B。当引擎100包括编码器116A时,引擎100能够对表面的几何表示的法线进行编码。当引擎100附加地或可替选地包括解码器116B时,引擎100能够对表面的几何表示的编码法线进行解码。组件115-119中的一些或全部一起或相结合地可以通过由处理器105执行的机器可读指令来实现。图1的示例处理器105能够以形式为被编程或者被配置为执行在存储器125中存储的机器可读指令的微控制器、中央处理单元(CPU)、ASIC、数字信号处理器(DSP)、FPGA、图形处理单元(GPU)等。当指令被执行时,该指令使处理器105和/或组件115-119尤其控制引擎100以对表面的几何表示的法线进行编码和/或解码。在一些示例中,能够在引擎100中包括多于一个处理器105和/或多于一个存储器125。引擎100可以经由例如实现通信信号和/或协议(诸如通用串行总线(USB)等)的通信接口(I/F)110通信地耦合到其它设备(未示出)(例如,以交换表示法线和编码法线的数据)。为了存储传入的数据和传出的数据,图1的示例引擎100包括任何数目和/或类型的缓冲器115。当用于压缩数据时,图1的示例引擎100包括执行例如霍夫曼(Huffman)、算术等熵编码本文档来自技高网...

【技术保护点】
1.一种方法,包括:由计算机的处理器接收多个点,所述计算机被配置为存储与三维对象的表面的法线有关的信息,所述多个点中的每一个点表示所述表面的法线并且被布置在拼块内;由所述处理器生成所述拼块内的多个区域,所述多个区域中的每一个区域包括所述多个点中的点;由所述处理器生成表示所述表面的预测法线的第一点;由所述处理器检索所述多个点中的第二点,所述第二点表示所述表面的实际法线;由所述处理器对所述第一点执行点变换操作以产生指定基线区域的变换的第一点,并且对所述第二点执行点变换以产生变换的第二点;由所述处理器生成所述变换的第一点与所述变换的第二点之间的差,以产生多个差值中的一个差值;以及由所述处理器对所述多个差值进行编码,以产生编码差值。

【技术特征摘要】
【国外来华专利技术】2016.10.19 US 15/297,801;2017.03.31 US 15/475,6391.一种方法,包括:由计算机的处理器接收多个点,所述计算机被配置为存储与三维对象的表面的法线有关的信息,所述多个点中的每一个点表示所述表面的法线并且被布置在拼块内;由所述处理器生成所述拼块内的多个区域,所述多个区域中的每一个区域包括所述多个点中的点;由所述处理器生成表示所述表面的预测法线的第一点;由所述处理器检索所述多个点中的第二点,所述第二点表示所述表面的实际法线;由所述处理器对所述第一点执行点变换操作以产生指定基线区域的变换的第一点,并且对所述第二点执行点变换以产生变换的第二点;由所述处理器生成所述变换的第一点与所述变换的第二点之间的差,以产生多个差值中的一个差值;以及由所述处理器对所述多个差值进行编码,以产生编码差值。2.根据权利要求1所述的方法,还包括:对所述编码差值进行解码以产生所述多个差值;获得所述第一点;对所述第一点执行所述点变换操作,以产生所述基线区域的所述变换的第一点;将所述多个差值中的一个差值添加到所述变换的第一点,以产生所述变换的第二点;以及对所述变换的第二点执行所述点变换的反转,以产生所述第二点。3.根据权利要求1或2所述的方法,其中,所述多个区域中的每一个区域与在单位球体中内接的八面体的面相对应,并且所述多个区域中的每一个区域是直角三角形;其中,所述拼块是正方形,所述八面体具有上部部分和下部部分,并且所述多个区域包含在所述正方形中内接的多个内三角形和在所述正方形中内接的多个外三角形,所述多个内三角形中的每一个与所述上部部分上的相应面相对应,并且所述多个外三角形中的每一个与所述下部部分上的相应面相对应,其中,所述多个内三角形的基线内三角形是所述基线区域,其中,检索所述第一点包括:在所述多个外三角形中的一个外三角形内定位初始第一点;以及在执行所述点变换操作之前,对所述初始第一点执行反转操作,以在所述多个内三角形中的一个内三角形中产生所述第一点。4.根据权利要求3所述的方法,其中,对所述第一点执行所述点变换操作包括:对所述第一点应用旋转,以产生所述基线内三角形中的所述变换的第一点。5.根据权利要求3所述的方法,其中,对所述第一点执行所述点变换操作包括:绕所述拼块的对称的轴对所述第一点应用反射操作,以在所述基线内三角形中产生所述变换的第一点。6.根据权利要求1至5中的任一项所述的方法,其中,接收所述多个点包括:执行量化操作以产生点网格作为所述多个点,所述点网格中的每一个表示所述表面的量化法线。7.根据权利要求1至6中的任一项所述的方法,其中,对所述组的差值进行编码包括:对所述组的差值中的每一个应用熵编码。8.一种包括非暂时性存储介质的计算机程序产品,所述计算机程序产品包括代码,所述代码在由声音渲染计算机的处理电路执行时使所述处理电路执行方法,所述声音渲染计算机被配置为存储与三维对象的表面的法线有关的信息,所述方法包括:接收多个点,所述多个点中的每一个点表示所述表面的法线并且被布置在拼块内;生成所述拼块内的多个区域,所述多个区域中的每一个区域包括所述多个点中的点;生成表示所述表面的预测法线的第一点;检索所述多个点中的第二点,所述第二点表示所述表面的实际法线;对所述第一点执行点变换操作以产生指定基线区域的变换的第一点,并且对所述第二点执行点变换以产生变换的第二点;生成所述变换的第一点与所述变换的第二点之间的差,以产生多个差值中的一个差值;以及对所述多个差值进行编码,以产生编码差值。9.根据权利要求8所述的计算机程序产品,还包括:对所述编码差值进行解码以产生所述多个差值;获得所述第一点;对所述第一点执行所述点变换操作,以产生所述基线区域的所述变换的第一点;将所述多个差值中的一个差值添加到所述变换的第一点,以产生所述变换的第二点;以及对所述变换的第二点执行所述点变换的反转,以产生所述第二点。10.根据权利要求8或9所述的计算机程序产品,其中,所述多个区域中的每一个区...

【专利技术属性】
技术研发人员:迈克尔·和梅尔劳伦·德诺翁德热·斯塔瓦
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1