通过变换三维对象的点保护三维对象的方法和设备的制作方法

文档序号:6370198阅读:140来源:国知局
专利名称:通过变换三维对象的点保护三维对象的方法和设备的制作方法
技术领域
本发明一般涉及3D模型,尤其涉及这样模型的图形对象的保护。
背景技术
这个部分旨在向读者介绍可能与下面所描述和/或要求保护的本发明的各个方面有关的技术的各个方面。这种讨论被认为有助于向读者提供促使更好理解本发明的各个方面的背景信息。因此,应该明白,这些陈述要就此而论地阅读,而不是作为对现有技术的承认。三维(3D)对象的使用近年来越来越普及,尤其随着虚拟实境(metaverse)的出现。3D对象有多种用途社交世界、游戏、镜像世界、仿真工具,以及3D用户界面、动画电影和电视的视觉效果。一般说来,3D虚拟对象代表真正的货币值。在社交世界和游戏中,玩 家将虚拟对象或化身(avatar)销售给其它玩家来换取真正的货币。在在线游戏中成为经 验丰富的角色是一个可能需要在键盘后面花费数百个小时的极其漫长过程。来自于仿真工具的真实世界对象的3D模型使制造真实(假冒)的对象并销售它成为可能。下一部大片(blockbuster)的场景的3D模型从好莱玛制片厂泄漏出来可能会给制片厂带来负面新闻。可以看出,在许多情况下,3D对象是其拥有者的巨大价值的资产。内容保护的策略包含旨在通过,例如,加密使未授权用户不可能访问内容的机密保护、和旨在使得能够跟踪散发了(disseminate)内容但未授权这样做的用户的加水印。3D内容保护的基本方法关注整个数据,即,对所有数据加密或加水印(或两者),尽管这些方法都有点粗糙。保护3D内容的更精细方式是保护它的一个或多个3D对象。这是可能的,因为3D内容往往由位于底座(setting)上的许多不同对象组成。当每个3D对象被编码成分立实体时,分开地保护这些对象的每一个变得可能,而不必保护它们的所有。例如,US 2008/0022408描述了通过将对象的“边界框”作为非加密数据存储在一个文件中并且将受保护3D对象作为加密数据存储在分立文件中来保护3D对象的方法。任何用户可以访问非加密数据,但只有授权用户才能访问加密数据;未授权用户可以看到它们的基本表示(即,边界框),譬如,看不到车厢,而是看到平行六面体。但是,这种方法是为了用在3D呈现软件上而开发的,不太适合像视频和电影那样的多媒体内容。另外,文件格式(含有非加密数据的一个文件和含有加密数据的另一个文件)是非标准的,因此只可由适配的呈现设备使用,而不能由标准呈现设备使用。实际上,加密数据不符合多数3D技术的语法,因此通常不能使用。US 6678378描述了通过加密保护3D计算机辅助设计(CAD)对象的解决方案。该解决方案可以通过非线性或仿射(affine)变换,从而扭曲(distort) 3D对象,或通过像RSA那样的“正常”加密来加密节点的坐标值和边缘或轮廓的方程(equation)之一。这种解决方案带来的问题是计算成本可能高(尤其当使用RSA时),以及这些扭曲可能仍然不足以阻止恶意用户使用内容。另外,在“正常”加密的情况下,在像计算机或电视机那样的内容消费设备上3D对象可能是根本不可读的一在一些情况下,这可能是缺点。Shi, ff.、Lee,H.、Yoo, R.和 Boldyreva, A 于 2006 年提出了一种使数字权(digitalright)有效的图形处理系统:A Digital Rights Enabled Graphics Processing System ;In GH’ 06:Proceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS symposium onGraphics hardware, ACM, 17-26。借助于这种系统,可以加密包含3D对象(顶点的集合、纹理)的数据。在许可证的控制下,在图形处理单元中管理它们的解密。还提出了使用多分辨率网格同时交付3D元素的受保护和不受保护版本。尽管系统本身真正朝着安全3D环境的方向前进,但受保护场景用在其它虚拟现实建模语言(VRML)呈现器上将导致互操作性问题。David Koller和Marc Levoy描述了将高清晰度3D数据存储在服务器中的3D数据保护系统。用户访问他们可以操纵的低清晰度3D对象,当用户选择视图(view)时,向服 务器发送请求,服务器返回与视图相对应的二维JPEG数据。因此,使高清晰度3D数据得到保护,因为决不会将它提供给用户(参见David Koller和Marc Levoy的“Protecting 3DGraphics Content” by, Communications of the ACM, 2005 年 6 月,vol. 48,no. 6)。虽然这种系统对于其意图使用工作良好,但要把整个3D数据传送给用户时,就不适用了。现有技术解决方案带来的共同问题是它们不是格式保护(format preserving)的,而是基于3D数据的加密,以及提供未授权设备可使用的第二组3D数据,以便用户可以看到一些东西,例如,边界框。欧洲专利申请10305692. 5描述了其中通过置换3D对象的至少一些点的坐标来保护包含点的列表(即,顶点)的3D对象的格式保护解决方案。欧洲专利申请10306250. I描述了与其它维度无关地置换3D对象的顶点的至少一个维度的坐标的类似解决方案。详述这些点如何连接的列表保持不变,但3D对象不再“有意义(make sense)”,因为这些点不再具有初始值。这些解决方案的好处在于,尽管看起来很怪异,但不能“解密”受保护3D对象的设备也可读取受保护3D对象,以及受保护3D对象内接在与原始3D对象相同尺寸的边界框内。虽然后面的解决方案相当有效,但应该懂得,可能需要利用快速计算可以使3D对象能够受到保护的可替代解决方案,其仍然使未授权内容消费设备能够读取和显示3D对象,尽管以不令人满意地呈现它们的观看的方式。本发明提供了这样的解决方案。

发明内容
在第一方面中,本发明针对保护图形对象的方法。设备接收包含多个点的图形对象;对于多个点的至少一些点的每一个,通过如下步骤获取受保护图形对象生成平移矢量并通过将所述点与平移矢量相加变换所述点;以及输出受保护图形对象。图形对象和受保护图形对象在视觉上是不同的。在第一优选实施例中,图像对象是三维对象。在第二优选实施例中,使用利用秘密值的基于密钥的生成函数生成平移矢量。有利的是,将图形对象与边界框相关联,以及验证平移矢量是否导致变换点出了边界框,如果是这样,则以至少一维的边界框的尺寸为模调整平移矢量,以便变换点将处在边界框之内。
进一步有利的是使用下界和上界的至少一个控制平移矢量的至少一个值。在第二方面中 ,本发明针对解除受保护图形对象的保护的方法。设备接收包含多个点的受保护图形对象;对于多个点的至少一些点的每一个,通过如下步骤获取不受保护图形对象生成平移矢量并通过从所述点中减去平移矢量变换所述点;以及输出不受保护图形对象。在第一优选实施例中,输出包含呈现。在第三方面中,本发明针对保护图形对象的设备。该设备包含接收包含多个点的图形对象的部件;对于多个点的至少一些点的每一个,通过如下步骤获取受保护图形对象的部件生成平移矢量;以及通过将所述点与平移矢量相加变换所述点;以及输出受保护图形对象的部件。图形对象和受保护图形对象在视觉上是不同的。在第四方面中,本发明针对解除受保护图形对象的保护的设备。该设备包含接收包含多个点的受保护图形对象的部件;对于多个点的至少一些点的每一个,通过如下步骤获取不受保护图形对象的部件生成平移矢量并通过从所述点中减去平移矢量变换所述点;以及输出不受保护图形对象的部件。在第一优选实施例中,使用利用秘密值的基于密钥的生成函数生成平移矢量。有利的是,将图形对象与边界框相关联,以及获取不受保护图形对象的部件适用于验证平移矢量是否导致变换点出了边界框,如果是这样,则以至少一维的边界框的尺寸为模调整平移矢量,以便变换点处在边界框之内。进一步有利的是,使用下界和上界的至少一个生成平移矢量,以便控制平移矢量的至少一个值。在第二优选实施例中,图像对象是三维对象。在第五方面中,本发明针对包含当被处理器执行时,执行按照本发明第一方面的方法的存储指令的计算机可读存储媒体。在第六方面中,本发明针对包含当被处理器执行时,执行按照本发明第一方面的方法的存储指令的计算机可读存储媒体。


现在参考附图,通过非限制性例子描述本发明的优选特征,在附图中图I例示了按照本发明的优选实施例保护3D对象的系统;图2例示了按照本发明的优选实施例保护3D对象的方法;以及图3和图4例示了按照本发明的优选实施例保护3D对象的不同方面。
具体实施例方式在像,例如,虚拟现实建模语言(VRML)和X3D那样的一些3D内容格式中,将3D图形对象(“3D对象”)表示成点的第一列表(或阵列)(其中每个点具有一组特定坐标)、和含有有关如何将点链接在一起的信息的第二列表。本发明的突出创造性想法是通过对第一列表中的点的至少一维的坐标进行密码算法运算,优选的是,基于密钥的变换来保护3D对象。该变换导致新的一组点的建立,使得任何标准3D模型呈现应用软件仍然可以理解受保护3D对象,但所得显示变得古怪,并且观众难于使用。换句话说,加密3D对象。本领域的技术人员应该懂得,尤其在观看了下文的描述之后,与EP10305692. 5和EP 10306250. I中的解决方案相比的差异在于按照本发明建立了新坐标值。授权用户拥有进行反向变换来获取原始点的手段。图I例示了按照本发明的优选实施例保护3D对象的系统100,以及图2例示了按照本发明的优选实施例保护3D对象的方法。作为一个非限制性例子,这些点对应于构成图形对象的表面的顶点,并且用3D坐标表达,以及第二列表包含有关如何将这些顶点链接在一起以形成线和表面的信息。该变换可以对静态部分(VRML语法中的Coordinate (坐标)节点)或动画部分(VRML语法中的CoordinateInterpolator (坐标插补器)节点),或优选地,对两者进行。换句话说,它是受到保护的3D对象的表示,其使对象不可能正确呈现。系统100包含发送器110和接收器140,每个都包含至少一个处理器111,141、存储器112,142、用户界面113,143(优选)、和至少一个输入/输出单元114,144。发送器110可以是,例如,个人计算机或工作站,而接收器120,例如,不仅可以是个人计算机或工作站, 而且可以是电视机、录像机、机顶盒等。发送器110接收(210)要保护的3D对象120,并使用密钥变换(220) 3D对象120的点的X坐标、y坐标、和z坐标的至少一个(优选的是所有三个坐标,以及优选的是与其它维度无关地),以获取存储或发送(230)给接收器140的受保护3D对象130。坐标按如下变换。对于要保护的每个点P=(x,y,z),生成平移矢量(a,b,c),其中(a,b,c)=f(Secret),以及f是基于密钥的生成函数。然后将平移矢量(a,b,c)与点P=(x, y, z)相加,以生成受保护点P' = (X' ,Y' , z')。换句话说(X' , y' , z ' ) = (x+a, y+b, z+c) 受保护点取决于平移矢量,而平移矢量又取决于基于密钥的生成函数〖(secret)。按照第一变型,f使用将秘密(secret)用作输入参数的基于密钥伪随机发生器。借助于这样的函数,使运算非常简单,但对变换对象的边界框的尺寸有很少或没有控制。按照第二变型,f使用基于密钥伪随机发生器生成符合(respect)条件约束的值,以便调整变形的影响。第一个例子在于符合边界框。在这种情况下,以边界框的相关维度的尺寸为模(modulo)来计算平移。在这种情况下,没有模型的“爆炸(explosion)”;对象的边界框的尺寸不会增大。必须将边界框和原始点规定成函数f的附加参数。作为第二变型的例示,想象要保护的点在8上的从I到10的一维边界框。如果平移矢量是,比方说,6,则导致该点在边界框之外的14上。为了避免这种情况,按边界框的尺寸调整平移矢量6 (初始平移矢量)-10 (边界框的尺寸)=_4 (最终平移矢量)。将该平移矢量与该点相加给出8+ (-4) =4。在接收器上,反向计算(reverse calculation)也导致该点在边界框之外4 (“受保护”点)-6 (“在相反方向上”的初始平移矢量)=_2。由于在边界框之外,所以按边界框的尺寸调整平移矢量6-10=-4。然后从“受保护”点中减去这个值4_(-4) =8,这是初始值。看到这些的另一方式是将边界框的尺寸(10)与该点在边界框之外的值相加,即,-2+10=8,这是相同结果。第二个例子是通过在优选预定范围内控制平移矢量的值限制变形的影响。该范围可以表达成一个或多个附加输入参数,即,下界和上界,或边界框的某个百分比(对于每个维度可能不同)。在这种情况下,控制了模型的“爆炸”。在接收侧,接收器120接收(240)受保护的3D对象130,通过使用秘密(将它分发给接收器在本发明的范围之外)对变换坐标进行逆变换还原(250)这些点,并且然后可以显示,或要不然使用(260)不受保护的3D对象150。换句话说,接收器使用函数f (secret)生成平移矢量(a,b,c),从受保护点中减去平移矢量(a,b,c);(x, y, z) = (x' -a, y' -b, z' _c)。应该注意到,初始3D对象120和不受保护3D对象150相同。结果是,授权用户因所有对象都将得到正确显示而注意不到任何异常东西,而未授权用户将看到含有以非正确方式呈现的受保护对象或对象的整个场景。第一计算机可读存储媒体160包含当被发送器110的处理器111执行时,如上所述保护3D对象的存储指令。第二计算机可读存储媒体170包含当被接收器140的处理器141执行时,如上所述解除3D对象的保护的存储指令。 图3和4例示了按照本发明的优选实施例保护3D对象的不同方面。图3示出了在变换320之后,变成受保护点列表330的不受保护点列表310,例如,对象的静态部分。作为一个例子,只变换了 X坐标值,而I坐标值和z坐标值保持不变。在图3中,在该组坐标值的左边示出了索引,在不受保护列表310与受保护列表330之间看到的是平移矢量315(由于只变换X坐标,所以只包含a值和零)。可以看出,X坐标在两个列表中是不同的;例如,对于索引1,将原来X坐标(17)与平移矢量的X坐标(124)相加,得出受保护点的平移X坐标(141)。图4例示了 3D对象的呈现在呈现受保护3D对象420的旁边示出了呈现不受保护3D对象410,以使得能够比较它们。如可以看出的,呈现受保护3D对象420与未受保护3D对象410只具有微弱相似性(faint resemblance)ο这是由以下事实引起的,按照第二变型的第二例子生成平移矢量,即,限制矢量的大小。在一个可替代实施例中,3D图形对象的点对应于构成图形对象的表面上的纹理的映射,并且用二维坐标表达。本领域的技术人员应该懂得,用户授权和密钥管理在本发明的范围之外。因此,可以看到坐标变换。传统途径是加密顶点数据,这最多导致遍布在整个3D空间上和与整个场景的其它对象重叠的随机点;最坏的情况是,完全不能呈现3D对象。借助于本发明的途径,受保护3D对象一般都集中在一起,甚至可能在原来,即,不受保护3D对象的几何极限之内。因此,当用户未授权解除一个对象的保护时,以下是可能的,整个场景不会由显示这个受保护对象过于混乱。虽然上面针对三维对本发明作了描述,但也可以用于保护其它维度中的对象,不仅一维,而且二维或在三维以上的任何维数。因此,应该懂得,本发明可以提供保证3D模型的机密性的机制,并且该机制可以让非授权用户从视觉上区分受保护和不受保护模型。还应该懂得,尽管取决于用于基于密钥的发生器的限制约束,或多或少可识别,但受保护3D对象(以及包含3D对象的场景)总是可以呈现的。公开在本描述和(在适当情况下)权利要求书以及附图中的每种特征可以独立或以任何适当组合方式提供。描述成用硬件实现的特征也可以用软件实现,并且反之亦然。出现在权利要求书中的标号只是为例示,并且将不对权利要求书的范围起限制作用 。
权利要求
1.一种保护图形对象(120 ;410)的方法,在设备(110)中,该方法包含如下步骤 接收(210)包含多个点的图形对象(120 ;410); 对于多个点的至少一些点的每一个,通过如下步骤获取受保护图形对象(130 ;420) 生成平移矢量;以及 通过将所述点与平移矢量相加变换(220)所述点;以及 输出(230)受保护图形对象(130 ;420), 其中,图形对象(120 ;410)和受保护图形对象(130 ;420)在视觉上是不同的。
2.如权利要求I所述的方法,其中图形对象(120;410)是三维对象。
3.如权利要求I所述的方法,其中使用利用秘密值的基于密钥的生成函数生成平移矢量。
4.如权利要求3所述的方法,其中将图形对象与边界框相关联,以及该方法进一步包含验证平移矢量是否导致变换点在边界框之外,如果是这种情况,则以至少一维的边界框的尺寸为模调整平移矢量,使得变换点将处在边界框之内。
5.如权利要求3所述的方法,其中使用下界和上界的至少一个控制平移矢量的至少一个值。
6.一种解除受保护图形对象(130 ;420)的保护的方法,在设备(140)中,该方法包含如下步骤 接收(240)包含多个点的受保护图形对象(130 ;420); 对于多个点的至少一些点的每一个,通过如下步骤获取不受保护图形对象(120 ;410) 生成平移矢量;以及 通过从所述点中减去平移矢量变换(220)所述点;以及 输出(260)不受保护图形对象(150 ;410)。
7.如权利要求6所述的方法,其中输出包含呈现。
8.一种保护图形对象(120 ;410)的设备(110),该设备(110)包含 接收包含多个点的图形对象(120 ;410)的部件(114); 对于多个点的至少一些点的每一个,通过如下步骤获取受保护图形对象(130 ;420)的部件(111) 生成平移矢量;以及 通过将所述点与平移矢量相加变换(220)所述点;以及 输出受保护图形对象(130 ;420)的部件(114), 其中,图形对象(120 ;410)和受保护图形对象(130 ;420)在视觉上是不同的。
9.一种解除受保护图形对象(130 ;420)的保护的设备(140),该设备(140)包含 接收包含多个点的受保护图形对象(130 ;420)的部件(144); 对于多个点的至少一些点的每一个,通过如下步骤获取不受保护图形对象(120 ;410)的部件(141) 生成平移矢量;以及 通过从所述点中减去平移矢量变换(220)所述点;以及 输出不受保护图形对象(150 ;410)的部件(144)。
10.如权利要求9所述的设备,其中使用利用秘密值的基于密钥的生成函数生成平移矢量。
11.如权利要求10所述的设备,其中将图形对象与边界框相关联,以及其中获取不受保护图形对象的部件适用于验证平移矢量是否导致变换点在边界框之外,如果是这种情况,则以至少一维的边界框的尺寸为模调整平移矢量,使得变换点将处在边界框之内。
12.如权利要求11所述的设备,其中使用下界和上界的至少一个生成平移矢量,以便控制平移矢量的至少一个值。
13.如权利要求9所述的设备,其中图像对象(120;410)是三维对象。
14.一种包含当被处理器执行时,执行如权利要求I到5的任何一项所述的方法的存储指令的计算机可读存储媒体(160)。
15.一种包含当被处理器执行时,执行如权利要求6到7的任何一项所述的方法的存储指令的计算机可读存储媒体(170)。
全文摘要
通过第一设备(110)来保护3D对象(120;410),第一设备(110)接收(210)3D对象(120;410),生成与3D对象(120;410)的点相加的平移矢量以获取受保护3D对象(130;420),并输出(230)受保护3D对象(130;420)。受保护3D对象(130;420)由第二设备(140)通过如下步骤解除保护接收(240)受保护3D对象(130;420),生成从受保护3D对象(130;420)的点中减去的平移矢量以获取不受保护3D对象(150;410),并输出(260)不受保护3D对象(150;410)。还提供了第一设备(110)、第二设备(140)和计算机可读存储媒体(160,170)。
文档编号G06T17/00GK102855657SQ20121016376
公开日2013年1月2日 申请日期2012年5月24日 优先权日2011年5月24日
发明者M.埃卢亚德, Y.梅兹, S.勒利弗 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1