首页> 中国专利> 生成可缩放矢量图形场景的至少一部分的复杂度矢量的方法和设备以及用于测试可缩放矢量图形场景的至少一部分在设备上的播放适宜性的方法和测试设备

生成可缩放矢量图形场景的至少一部分的复杂度矢量的方法和设备以及用于测试可缩放矢量图形场景的至少一部分在设备上的播放适宜性的方法和测试设备

摘要

本发明涉及一种用于生成复杂度矢量的方法和设备,该复杂度矢量表示SVG场景的至少一部分的复杂度,其中对于SVG场景的DOM树的至少一个元素确定与相应的元素相关联的复杂度变量并且该复杂度矢量通过复杂度变量中的至少一个来产生。本发明涉及一种用于针对设备测试SVG场景的至少一部分的播放适宜性的方法和测试设备,其中,如果在测试时SVG场景的复杂度矢量的复杂度变量小于或者小于等于该设备对于每个元素的设备复杂度矢量的相关联的设备复杂度变量,则在该设备上给予SVG场景的播放适宜性,其中通过复杂度变量再现SVG场景的DOM树的元素的最大复杂度并且通过设备复杂度变量在该设备上再现该元素的最大的可实施的复杂度。

著录项

  • 公开/公告号CN101689208A

    专利类型发明专利

  • 公开/公告日2010-03-31

    原文格式PDF

  • 申请/专利权人 西门子公司;

    申请/专利号CN200880024632.4

  • 发明设计人 T·里格尔;M·埃伯哈德;

    申请日2008-06-06

  • 分类号G06F17/30;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人胡莉莉

  • 地址 德国慕尼黑

  • 入库时间 2023-12-17 23:52:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-26

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20130501 终止日期:20170606 申请日:20080606

    专利权的终止

  • 2013-05-01

    授权

    授权

  • 2010-05-12

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20080606

    实质审查的生效

  • 2010-03-31

    公开

    公开

说明书

技术领域

本发明涉及一种根据权利要求1或权利要求8的前序部分所述的 用于生成SVG场景的至少一部分的复杂度矢量 (Komplexitaetsvektor)的方法和设备,以及涉及一种根据权利要求 5、6或10的前序部分所述的用于测试SVG场景的至少一部分在设备上 的播放适宜性的方法和测试设备。

背景技术

标准SVG(SVG-Scalable Vector Graphics(可缩放矢量图形)) 是一种用于以XML语法(XML-Extensible Markup Language(可扩展 标记语言))描述二维矢量图形的标准。SVG支持三种基本上不同类型 的元素:

-矢量图形,由图形图元构建;

-光栅图形,即通常的可以在外部链接的位图图像;

-可预先给定的字体的文本。

在此,SVG场景描述了一个或多个对象。此外,SVG场景也可以具 有对外部信息的交互作用或者链接。SVG文档描述了SVG场景并且在此 包括一个或更多前所述类型。SVG标准的其它细节例如可以从文献[1] 获得。由于SVG的可缩放性,矢量图形可以与设备(例如PDA(PDA- Personal Digital Assistant(个人数字助理))或者移动无线电设 备的相应情况相匹配,其中矢量图形被渲染。而光栅图形具有固定的 分辨率并且必须在较大的偏差的情况下进行插值,这除了质量损失之 外也伴随有更高的计算开销。特别是为了胜任功率较弱的终端设备(诸 如移动无线电电话)的需求,SVG被限制到子集,即被限制到所谓的 SVGT(SVGT-SVG Tiny(可缩放矢量图形的微型简化版本))、移动 SVG标准的第一简档,参见文献[2]。尽管SVGT的功能范围被减小,但 可以生成要求高的SVGT场景,这些SVGT场景对终端设备的资源要求 过高。以下一般提及SVG,其中由此应被理解为SVG标准本身和移动 SVG标准的简档之一。

SVG的缺点一方面是终端设备以用户不能接受的质量再现SVG场 景,例如各个SVG对象的再现没有实时地被执行。其次,尽管存放在 SVG文档中的SVG场景并不能毫无瑕疵地在终端设备上播放,但是在传 输SVG文档时使用带宽并且在移动设备的情况下也必须支付昂贵的费 用。

发明内容

由此得到了给出借助其可避免传输以及播放对于设备不适合的 SVG场景的至少一部分的方法和设备的任务。

该任务通过独立权利要求来解决。本发明的改进方案可以由从属 权利要求得到。

本发明涉及一种用于生成复杂度矢量的方法,该复杂度矢量表示 SVG场景的至少一部分的复杂度,其中对于SVG场景的DOM树(DOM- Document Object Model(文档对象模型))的至少一个元素确定与相 应的元素相关联的复杂度变量(Komplexitaetsgross)并且通过复杂 度变量中的至少一个来产生复杂度矢量。

通过该方法实现的是,以简单的方式可以复杂度矢量形式来生成 SVG场景或SVG场景的一部分的复杂度。该方法的特征在于,该方法实 施一次来生成复杂度矢量,并且在例如调用所希望的SVG场景时设备 又可以在任何时候使用该方法。此外,通过复杂度矢量能紧凑地以较 低的存储器开销来有组织地存储SVG场景的复杂度。

在本方法的优选的扩展方案中,针对随时间变化的SVG场景以如 下方式产生复杂度矢量:在DOM树的每个临时的实例中确定元素的相 应复杂度变量并且元素的所确定的复杂度变量中的最大值被分配给该 复杂度矢量。

在本方法的扩展方案中考虑的是,SVG场景的相应元素的复杂度变 量可随时间而变化,更确切地说是与DOM树的临时的实例有关地变化。 然后,通过该扩展方案实现的是,捕获到临时的实例的元素的复杂度 变量并相互进行比较,以便针对每个元素确定最大的复杂度变量,终 端设备必须满足所述最大的复杂度变量,以便能够无故障地播放本SVG 图形场景。

在可替换的实施形式中,针对随时间变化的SVG场景以如下方式 来产生复杂度矢量:

a)在DOM树的每个临时的实例中确定元素的相应的复杂度变量,

b)对于每个临时的实例通过对与相应的实例相关联的复杂度变量 的加权的加法来形成相关联的临时的复杂度数(Komplexitaetszahl),

c)通过具有最大复杂度数的那些临时的实例的复杂度变量中的至 少一个来形成复杂度矢量。

借此可对复杂度变量进行加权(Gewichtung),由此能够更为准 确地确定SVG场景或SVG场景的该部分的播放适宜性。

在本方法的优选的扩展方案中,对以下元素中的至少一个以及分 别相关联的复杂度变量进行分析:

a)DOM树的DOM存储容量;

b)用于近似所有图形对象的必需的线段的线段数目;

c)被填充的图形对象的面积,尤其是根据颜色、颜色梯度的数目 或者填充图案的数目来区分;

d)在文本对象中所使用的字母的字母数目,尤其是根据所使用的 字母的大小来区分;

e)所参考的外部文件的文件数目和/或文件存储容量,尤其是根 据所参考的外部文件的文件内容和/或所使用的编码方法来区分;

f)最大同时实施的动画的动画数目,尤其是具有表示相应实施的 动画的复杂度变量的说明;

g)脚本的脚本数目,尤其是具有对在相应的脚本中所引用的SVG 对象的说明。

所述元素的复杂度变量的特征尤其是在于可以简单的方式根据 SVG场景来确定复杂度变量。此外,通过组合所述元素中的一个或者更 多个的复杂度变量可以实现SVG场景的复杂度的粒度。

本发明也涉及一种用于生成复杂度矢量的设备,该复杂度矢量表 示SVG场景的至少一部分的复杂度,其中该设备具有如下装置,该装 置被构建为用于确定SVG场景的DOM树的至少一个元素的复杂度变量 并且用于通过复杂度变量中的至少一个来产生复杂度矢量。在可替换 的扩展方案中,该设备的第一装置被如下扩展:该第一装置还被构建 为实施用于处理DOM树的临时的实例和SVG场景的多个不同元素的方 法步骤中的至少一个。借助该设备可以实现和实施本方法。

本发明涉及一种用于针对设备测试SVG场景的至少一部分的播放 适宜性的方法,其中如果在测试时SVG场景的复杂度矢量的复杂度变 量不比该设备的设备复杂度矢量的相关联的设备复杂度变量大,则在 该设备上给予SVG场景的播放适宜性,其中通过复杂度变量再现了SVG 场景的DOM树的元素的最大复杂度并且通过设备复杂度变量在该设备 上再现了元素的最大可实施的复杂度。

借助用于测试的方法可在使用SVG场景的复杂度矢量和设备复杂 度矢量的情况下以简单的方式和方法来确定设备是否适合无故障地再 现SVG场景。

在本发明的可替换的改进方案中,用于针对设备测试SVG场景的 至少一部分的播放适宜性的方法可以以如下步骤来执行:

a)通过对复杂度矢量的至少两个复杂度变量的加权的加法确定复 杂度数,其中相应的复杂度变量表示SVG场景的DOM树的相关联的元 素的复杂度;

b)如果复杂度数小于或者小于等于该设备的设备复杂度数,则在 该设备上给予SVG场景的播放适宜性,其中通过复杂度矢量再现SVG 场景的最大复杂度而通过设备复杂度数在该设备上再现最大可实施的 复杂度。

借此,可以对复杂度变量进行加权,由此尤其是当加权考虑到设 备的特定特性时能够更为准确地确定SVG场景或SVG场景的该部分的 播放适宜性。

在用于测试播放适宜性的方法的优选的扩展方案中考虑以下元素 中的至少一个和分别相关联的复杂度变量:

a)DOM树的DOM存储容量;

b)用于近似所有图形对象的必需的线段的线段数目;

c)被填充的图形对象的面积,尤其是根据颜色、颜色梯度的数目 或者填充图案的数目来区分;

d)在文本对象中所使用的字母的字母数目,尤其是根据所使用的 字母的大小来区分;

e)所参考的外部文件的文件数目和/或文件存储容量,尤其是根 据所参考的外部文件的文件内容和/或所使用的编码方法来区分;

f)最大同时实施的动画的动画数目,尤其是具有表示相应的实施 的动画的复杂度变量的说明;

g)脚本的脚本数目,尤其是具有对在相应的脚本中所引用的SVG 对象的说明。

该扩展方案具有如下优点:一方面可以通过更多或更少要测试的 元素来标度播放适宜性的测试的可靠性,其中该标度允许测试更为快 速或者更长地持续。

最后,本发明也包括用于测试SVG场景在设备上的播放适宜性的 测试设备,其中该测试设备具有测试装置,该测试装置被构建为实施 用于测试播放适宜性的两种方法之一。此外,该测试设备还可以被扩 展为使得测试装置被构建为用于实施对一个或者更多个元素和分别相 关联的复杂度变量的测试。借助测试设备可以实现和实施用于测试的 方法。

附图说明

以下参照附图更为详细地阐述了本发明。在此:

图1示出了用于生成SVG场景的复杂度矢量的方法和设备的实施 例;

图2示出了用于执行用于测试SVG场景在设备上的播放适宜性的 方法的示意性装置。

具有相同功能和工作方式的要素在附图中设置有相同的附图标 记。

具体实施方式

W3C(W3C-Worldwide Web Consortium(万维网联盟),www.w3.org) 已将SVG定义为XML形式的用于二维图形的语言。SVG中的图形对象基 于简单的图元。复杂的对象在此由多个简单对象组成。路径是SVG中 的真实的基本元素并且被说明为正方形的或立方体的贝济埃(Bezier) 曲线。为了更为简单地生成还给其增添以下对象:圆、椭圆、矩形、 线、折线、多边形。此外,还存在文本和光栅图像作为其它图形元素, 参见文献[1]、[2]。这些元素的表示方式可以通过属性来控制。在此, 例如可以说明位置信息、宽度、高度、半径、填充颜色、线条颜色 (Strichdicke)、线条粗细度、线条和填充颜色的覆盖度以及填充图 案。

SVG也能够实现动态地改变图形对象。这通过对动画指令的说明来 描述,这些动画指令允许随时间改变如下状态:变换、位置、可见性、 颜色和大小。可替换地,也存在通过脚本语言(例如Java脚本、Pearl、 PHP、JSP等)来操纵SVG图形或SVG场景的DOM(DOM-文档对象模型) 结构并且因此允许交互作用的可能性。为此,用于进行操纵的脚本或 者被放置在描述SVG场景的SVG文档中,或者通过外部文件来参考。

音频对象和视频对象在SVG中借助对外部文件的参考来实现,这 些外部文件的再现通过相关联的属性来控制。

借助图1更为详细地阐述了用于生成SVG场景的至少一部分的复 杂度矢量的方法和设备的实施例,该复杂度矢量包括至少一个复杂度 变量。以下提及SVG场景,其中该SVG场景也可以描述部分SVG场景。

图1示出了用于生成复杂度矢量KV的设备V,其中复杂度矢量KV 包括SVG场景SVG_G的至少一个复杂度变量G1、G2、G3。在第一步(用 S1表征),该设备读入DOM树DOM形式的SVG描述,该SVG描述限定 了SVG场景。该SVG描述可通过SVG文档SVG_D被支配。此外,该设 备在步骤S1根据其元素E1、E2、E3中的至少一个来分析该DOM树并 且由此确定分别相关联的复杂度变量G1、G2、G3。例如,评估以下元 素:

a)第一元素E1是DOM树,其中相关联的DOM存储容量被确定为 第一复杂度变量G1,例如G1=162千字节。

b)SVG中的图形对象的近似根据线段(也就是路径)来执行。在 这种情况下,第二元素E2根据必要的线段来限定,其中线段的数目(也 就是线段数)被再现为相关联的第二复杂度变量G2。

c)被填充的图形对象的面积用作第三复杂度变量G3,其中被填充 的图形对象表示第三元素E3。例如,SVG场景具有总共G3=5个面积单 位的被填充的图形对象E3。第三元素或相关联的第三复杂度变量还可 以进一步被精炼,例如根据颜色、颜色梯度的数目或者填充图案的数 目来精炼。例如,面积G31具有两个面积单位的带有两种颜色的被填 充的图形对象E31,并且此外,面积G32具有三个面积单位的带有四种 颜色的被填充的图形对象E32。

d)文本对象中的所使用的字母E4的字母数目被确定为第四复杂 度变量G4,例如G4=10个字母。在此,字母是第四元素E4。在这种情 况下,可以对所使用的元素E4和相关联的第四复杂度变量G4进行精 炼。因此,还可以根据所使用的字母的大小来区分,如例如所使用的 字母E41具有十二个点的高度并且以字母数目G41=八个字母出现,也 就是在SVG场景中出现八次,或者也可以是高度为20个点的字母E42, 所述字母E42在该SVG场景中以字母数目G42=两个字母存在。

e)根据图1的SVG场景SVG_G参考外部文件E5(=第五元素E5), 在本实施例中为音频文件A和视频文件V。这在图1中用虚线箭头描绘。 在此,对于名称为文件数目的第五复杂度变量G51,确定所参照的外部 文件E5的数目,也就是在本实例中,文件数目G51=2。此外,文件存 储容量G521也可以被确定为所参考的外部文件的另外的第五复杂度变 量G52。文件存储容量例如对于外部视频文件和音频文件为G52=899 千字节。另外,文件数目G51和/或文件存储容量G52可以根据外部文 件的文件内容(例如根据视频或者音频)来区分,或者根据所使用的 编码方法(例如根据针对外部音频文件A的MP3和针对外部视频文件V 的MPEG-2)来区分。

f)SVG除了静态地改变对象之外还可以动态地改变对象。在此, 作为第六元素的最大同时实施的动画E6的数目被说明为名称为动画数 目的第六复杂度变量G6。在此,附加地还可以详细说明哪个复杂度变 量具有相应的被实施的动画。例如,在SVG图形场景中示出了两个同 时转动的对象,使得动画数目G6=2。对于所实施的动画中的每个,也 就是在本实例中为转动的对象,可以详细说明面积G3或者也可以详细 说明相关联的线段数目G2。

g)作为另外的复杂度变量,脚本数目G7被详细说明为作为第七 元素E7的脚本E7的第七复杂度变量G7,尤其是具有在相应的脚本中 所引用的SVG对象的说明。

在捕获到SVG场景SVG_G的元素E1至E7的复杂度变量G1至G7 之后,其从步骤S1被转到接下来的步骤S2。在步骤S2,一个或者更 多个复杂度变量从针对SVG场景所确定的元素中选择,这些元素形成 复杂度矢量KV。在根据图1的本实施例中,新的SVG文档SVG_D′由所 形成的复杂度矢量KV和以前的SVG文档SVG_D形成,其中复杂度矢量 KV例如通过复杂度变量线段数目G2和面积G3来表示。除了对相应的 复杂度变量G1、...、G7的直接说明之外,附加地在复杂度矢量KV中 还说明对于哪些元素E1、...、E7在复杂度矢量中说明复杂度变量。

SVG场景SVG_G可以随时间而变化。在这种情况下,整个SVG场景 并非同时被分析,而是以DOM树DOM的相应的临时的实例TI_1、TI_2、 TI_3来分析。对于第二复杂度变量示例性地,也就是对于线段E2的线 段数目G2示例性地,对于每个临时的实例而言形成相应的线段数目 G2_1、G2_2、G2_3,例如针对TI_1形成G2_1、对于TI_2形成G2_2 等等。紧接着,每个元素的临时的实例的复杂度变量被如下检查:与 所检查的元素相关联的具有最大值的复杂度变量(例如复杂度变量 G2_2)从以前确定的针对第二元素(即临时的实例的必需的线段E2) 的复杂度变量G2_1、G2_2、G2_3被选择为要使用的第二复杂度变量G2。 所选择的第二复杂度变量接着类似于上面的实例被移交给第二处理步 骤。类似地,诸如每个临时的实例TI_1、TI_2、TI_3的所使用的字母 E4和相关联的字母数目的其它元素和相关联的复杂度变量也可被确定 和被分析处理,使得第四复杂度变量(即字母数目G4)可以通过第一 处理步骤S1来确定。

在对此可替换的实施变形方案中,首先针对每个临时的实例确定 与元素相关联的复杂度变量。此后,与相应的临时的实例相关联的复 杂度变量通过例如加权的加法而被联系到与相应的实例相关联的复杂 度数KN1、KN2、KN3。加权的加法可以将所有所联系的复杂度数与相同 的因子(例如1/10)相乘,或者考虑相应的加权,使得一个复杂度变 量的单位比另一复杂度变量的单位要求更高的复杂度(即例如计算能 力),从而该加权比相应的复杂度变量的复杂度更高。在针对每个临 时的实例已确定相关联的复杂度数之后,确定具有最高的值的那个复 杂度数。由此,确定具有最高的复杂度的那个临时的实例。最后,复 杂度矢量通过临时的实例的具有所确定的复杂度数的复杂度变量中的 一个或更多个来形成。

上述步骤S1和S2通过设备V的装置M1来执行。

在修改后的SVG文档SVG_D′被发送给设备X(例如以移动无线电电 话形式构建的终端设备X)之前,多媒体服务器例如测试设备X是否适 合播放SVG场景SVG_G。对此追溯到设备复杂度矢量XKV,该设备复杂 度矢量XKV针对设备X说明了SVG场景的哪些元素E1、...、E7可以以 哪种最大复杂度来处理。这在下面的根据图2的实例中作为元素E1、...、 E7的设备复杂度变量XG1、...、XG7来表示。下表针对元素E1至E7 示出了本SVG场景SVG_G的相应的设备复杂度变量XG1至XG7和对应 的复杂度变量G1、...、G7。在这种情况下,复杂度矢量KV的复杂度变 量G1、...、G7可以从修改后的SVG文档SVG_D′被得知:

元素    SVG_G的复杂度变量    设备X的设备复杂度变量

E1      G1=150千字节        XG1=180千字节

E2      G2=5515             XG2=18181

E3      G3=15               XG3=15

E4      G4=128              XG4=150

E5      G51=2               GXG51=5

E6      G6=3                XG6=3

E7      G7=8                XG7=9

由于对于每个元素相关联的设备复杂度变量分别大于或者等于本 SVG场景的相关联的复杂度变量,所以该SVG场景可以由该设备X完全 并且正确地再现。例如如果XG6=2,则本SVG图形场景不能完全正确地 在设备X上被播放,因为XG6小于G6。在这种情况下,例如通过改变 SVG场景如通过忽略同时实施的动画(即减小到G6=2)来实现设备X 能够无故障地再现SVG场景。

在可替换的实施形式中,通过对复杂度矢量KV的复杂度变量中的 至少两个的加权的加法来确定复杂度数KNX。在此,除了复杂度变量的 相同的加权之外,加权也可进行为使得表示高复杂度的元素的相应的 复杂度变量获得比表示较不复杂的元素的复杂度变量更高的加权因 子。所确定的复杂度数KNX与设备复杂度数XNX进行比较。如果所确 定的复杂度数KNX小于或者小于等于设备复杂度数XNX,则SVG场景在 该设备上是可播放的。设备复杂度数表示最大可在该设备上再现的复 杂度,例如单位为MIPS(MIPS-Million Instructions per Second(每 秒百万条指令))的计算能力。

上述用于测试该设备X是否适合播放SVG场景的行为方式利用包 括测试装置MP的测试设备P来实施。

装置M1以及测试装置MP可以以软件、硬件或者以软件和硬件构 成的组合来实现和实施。用于生成的方法以及用于生成的设备例如可 以在视频服务器中执行。复杂度矢量KV可以针对稍后的调用也可以与 SVG文档SVG_D分离地被存放在服务器上。此外,服务器可以具有用于 测试播放适宜性的设备以及测试设备或测试装置。在由移动终端设备 请求传输SVG文档时,该服务器测试所请求的SVG场景的播放适宜性。 在给予播放适宜性的情况(在图2中用“J”表征)下,该服务器将SVG 场景(即SVG文档SVG_D)传输给终端设备X(用虚线表征)。在其它 情况下可以通知该终端设备:SVG场景不适于通过该终端设备来再现并 且因此不被传输。此外,在请求传输SVG场景时,设备X的设备类型 可以附加地被传输,由此测试设备可以以设备特定的方式 (geraetespezifisch)执行加权并且针对请求方的设备可以进一步改 进播放适宜性。

文献说明

[1]SVG-Scalable Vector Graphics,1.1 Specification,W3C Recommendation,2003年1月14日,

http://www.w3.org/TR/2003/REC-SVG11-20030114/REC-SVG11- 20030114.pdf

[2]Mobile SVG Profiles:SVG Tiny and SVG Basic,W3C Recommendation,2003年1月14日,

http://www.w3.org/TR/SVGMobile/

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号