图形形状数据生成设备、渲染设备和方法

文档序号:6612240阅读:182来源:国知局
专利名称:图形形状数据生成设备、渲染设备和方法
技术领域
本发明涉及一种用于渲染图像的矢量图形形状数据生成设备、渲 染设备和方法。
背景技术
随着包括HDTV、HD DVD和下一代家庭游戏设备在内的高清晰 度(HD)设备的普及,在未来,预期在高清晰度计算机图形(CG) 图像中有效地渲染高质量的矢量图形和空心字(outline font)的技术 是必不可少的。为了通过使用充当图形LSI的图形处理单元(GPU)有效地渲染 矢量图形,采用了一种技术,该技术基于近年来安装在GPU中的像 素着色器(shader)能够确定每个像素是落入二次贝塞尔曲线之内还 是之夕卜(例如,C丄oop禾口 J.Blinn "Resolution Ind印endent Curve Rendering using Programmable Graphics Hardware" In Proc. Of ACM SIGGRAPH2005, pp. 1000-1009)这一事实,使GPU渲染包括两种轮 廓(contours)的封闭曲线,这两种外形即线段和二次贝塞尔曲线。更具体地,封闭曲线被分割成每一个都是由单个贝塞尔曲线所形 成的多个部分、以及每一个都不包含曲线而是包含直线的多个轮廓部 分。单个贝塞尔曲线轮廓部分通过像素着色器进行渲染,而直线轮廓 部分通过三角形分割(triangulation)进行渲染。可以通过使像素着色 器确定每个像素是落在二次贝塞尔曲线之内还是之外,来与显示分辨 率无关地渲染平滑曲线。该方法需要在CPU上预先通过三角形分割来分割直线轮廓部分 的内部。然而,当使用GPU的模版缓冲(stencil buffer)功能时,能 够直接在GPU上对渲染轮廓信息进行渲染。这使我们能够根据存储 在^1频存储器中的轮廓信息来渲染空心字。
为了显示日文空心字,必须保存具有很大数量笔划的汉字字符的 轮廓形状。 一个汉字字符的轮廓形状包括成百上千个顶点坐标。日文 字体具有成千上万的字符类型。还存在多种字体设计,例如Maru-Gothic、 Kaku-Gothic和Mincho。因此,需要一种能够有效地在 诸如图形存储器之类的有限存储区中存储字符字体的形状信息的技 术。发明内容根据本发明的第一方面,提供了一种矢量图形形状数据生成设备,包括获取单元,用于从数据源获取矢量图形的第一形状数据元 素;第一存储单元,用于将多组第二形状数据元素存储为结构化矢量图形形状数据,并且存储与所述第二形状数据元素相对应的形状号 码,其中,所述结构化矢量图形形状数据是通过按照特定格式处理矢量图形形状数据而获得的;第一读取单元,用于从所述第一存储单元 中读取与指定的形状号码相对应的第二形状数据元素;重构单元,用 于重构与所读取的第二形状数据元素相对应的矢量图形形状;第一计 算单元,用于计算形状差异评估值,以获得多个形状差异评估值,所 述形状差异评估值随着对应于所述第一形状数据元素的矢量图形形 状与所重构的矢量图形形状之间的相似度的增加而减小;第二计算单 元,用于计算所述多个形状差异评估值中的最小形状差异评估值以及 与所述最小形状差异评估值相对应的新的第二形状数据元素;比较单 元,用于将所述最小形状差异评估值与阈值进行比较;以及第三计算 单元,用于在所述最小形状差异评估值不大于所述阈值的情况下,计 算差异形状数据元素,其表示基于所述第一形状数据元素的形状与基 于所述新的第二形状数据元素的形状之间的差异形状;其中,如果所 述最小形状差异评估值大于所述阈值,则所述第一存储单元存储所述 第一形状数据元素作为结构化矢量图形形状数据,并且如果所述最小 形状差异评估值不大于所述阈值,则所述第一存储单元存储所述差异 形状数据元素作为结构化矢量图形形状数据。根据本发明的第二方面,提供一种矢量图形形状渲染设备,该设
备包括第一获取单元,用于从数据源获取结构化矢量图形形状数据 的形状号码,其中,所述结构化矢量图形形状数据是通过按照特定格 式处理矢量图形形状数据而获得的;存储单元,用于存储多个由结构 化矢量图形形状数据和与所述结构化矢量图形形状数据相对应的形 状号码所构成的组;读取单元,用于从所述存储单元中读取与所获取 的形状号码相对应的结构化矢量图形形状数据;重构单元,用于重构 与所读取的结构化矢量图形形状数据相对应的矢量图形形状;预处理 单元,用于执行预处理,所述预处理包括所重构的矢量图形形状的 顶点定义顺序的转换处理,以及将顶点坐标转换为縮放之前的坐标的 处理;第二获取单元,用于获取作为数值的渲染参数,以确定渲染格 式;渲染单元,用于根据所述渲染参数,渲染经过预处理的矢量图形 形状;以及显示单元,用于将所渲染的矢量图形形状显示为图像数据。


图1是根据第一实施例的矢量图形形状数据生成设备的结构图; 图2示出了矢量图形形状的示例; 图3示出了矢量图形形状数据的示例; 图4示出了结构化矢量图形形状数据的示例; 图5示出了图1中的矢量图形形状重构单元的操作的示例; 图6是示出了图1中的形状差异评估值计算单元的操作示例的流 程图;图7是示出了图6的步骤S602中的形状归一化处理的示例的流 程图;图8示出了矢量图形形状的输入形状的一个示例和参考形状的 一个示例;图9是与图8中的输入形状和参考形状相对应的DP匹配; 图10是示出了 DP匹配处理的示例的流程图; 图11是示出了图1中的形状搜索处理控制单元106的操作示例 的流程图;图12是根据第二实施例的矢量图形形状数据生成设备的结构
图;图13示出了空心字形状的示例;图14示出了空心字形状数据的示例;图15示出了根据第二实施例的空心字轮廓信息数据的示例; 图16是根据第三实施例的矢量图形形状数据生成设备的结构图;图17示出了根据第三实施例的空心字轮廓信息数据的示例; 图18是根据第四实施例的矢量图形形状数据生成设备的结构图;图19示出了根据第四实施例的空心字轮廓信息数据的示例;图20是根据第五实施例的渲染设备的结构图;图21是根据第六实施例的渲染设备的结构图;以及图22是根据第七实施例的渲染设备的结构图。
具体实施方式
下面将参照附图,详细描述根据本发明的各个实施例的一种矢量 图形形状数据生成设备、渲染设备和方法。 首先,将简要描述各个实施例的概要。存在一种技术,其使用安装在GPU中的、充当图形LSI的像素 着色器(shader),在CG图像中有效地渲染轮廓由多条曲线确定的高 质量的矢量图形和空心字(例如C丄oop和J.Blinn "Resolution Independent Curve Rendering using Programmable Graphics Hardware" In Proc. Of ACM SIGGRAPH2005, pp. 1000-1009)。为了使GPU在该技 术的基础上高速地渲染空心字,必须将字符的形状信息设置在视频存 储器中。在显示日文文本时,每个汉字字符都具有很多笔划和很多字 符类型,因此汉字字符的形状数据消耗了视频存储器。在实施例中,注意这样的事实即,不同字体类型(例如Kaku-Gothic字体和Maru-Gothic字体)的同一字符具有相似的字符 形状,并且具有共同偏旁(radical)的汉字字符具有相似的偏旁形状, 因此将要描述的是一种用于生成包括参考信息和差异信息在内的矢 量图形形状数据结构的矢量图形形状数据生成设备。在实施例中,将 要描述一种基于结构化矢量图形形状数据的渲染设备。这些设备通过使用GPU,降低了在显示日文文本时的视频存储器消耗。因此,可 以迅速地显示更多种类的字体,并且提高交互式应用程序的表现力。 更具体地,假定存在具有相似形状的两个轮廓线形状(outline shape), —个形状的顶点坐标与另一个形状的顶点坐标之间的距离远 小于整个轮廓线形状的大小。在该情况下,实施例的矢量图形形状数 据生成设备保存该距离,作为这两个形状之间的差异形状信息。差异 形状信息能够以比原始轮廓线形状更小的信息量来足够精确地表示 一个形状。注意到汉字字符的局部形状(左侧偏旁或者右侧偏旁)之间的相 似性和不同字体类型的同一字符之间的形状上的相似性,实施例的矢 量图形形状数据生成设备包括用于计算上述差异形状信息的装置, 以及用于存储原始形状信息和差异形状信息的装置。实施例的矢量图 形形状数据生成设备包括用于通过使用图形流水线,有效地渲染采 用本发明的实施例中将要描述的技术而存储的空心字形状信息的装 置。使用根据实施例的该技术,能够减少当图形处理器渲染空心字时 存储字体形状信息所需要的视频存储器容量。这使得有可能在视频存 储器中存储更多种类和字体类型的字符信息,并且允许视频存储器存 储应用程序所必需的其他数据,从而获得具有更高表现力的交互式应 用程序。根据实施例的矢量图形形状数据生成设备和渲染设备期望安装 在使用空心字数据来显示字符的下一代图形处理引擎或中间设备中。 (第一实施例)在第一实施例中,将要描述一种设备的示例,该设备接收矢量图 形形状数据和形状相似度阈值,并且生成结构化矢量图形形状数据。 将要参照图1描述根据第一实施例的矢量图形形状数据生成设备。如图1所示,本实施例的矢量图形形状数据生成设备具有输入单 元10K结构化矢量图形形状数据存储单元102、结构化矢量图形形 状读取单元103、矢量图形形状数据重构单元104、形状差异评估值 计算单元105、形状搜索处理控制单元106、结构化矢量图形形状数 据生成方法选择单元107、差异形状计算单元108、输出单元109、 以及结构化矢量图形形状记录单元110。输入单元101接收来自数据源的矢量图形形状数据,并且将对该 矢量图形形状数据的接收通知给形状搜索处理控制单元106。矢量图 形形状数据将在随后参照图3进行描述。矢量图形形状数据的矢量图 形形状将在随后参照图2进行描述。结构化矢量图形形状存储单元102存储结构化矢量图形形状数 据。结构化矢量图形形状数据将在随后参照图4进行描述。结构化矢量图形形状读取单元103接收用于确定结构化矢量图 形形状数据的一个形状号码,并根据该形状号码,从结构化矢量图形 形状存储单元102中读取一个结构化矢量图形形状数据。矢量图形形状重构单元104从结构化矢量图形形状读取单元103 根据所述的用于指定结构化矢量图形形状数据的形状号码而读取的 结构化矢量图形形状数据中,重构矢量图形形状数据。后面将参照图 5详细描述矢量图形形状重构单元104的操作。形状差异评估值计算单元105计算在矢量图形形状重构单元104 所重构的矢量图形形状数据与输入单元101所输入的矢量图形形状 数据之间的形状差异评估值。该形状差异评估值是一个表示与两个矢 量图形形状数据相对应的两个矢量图形形状之间的相似度的指标。形 状差异评估值越小,两个矢量图形形状之间的相似度越高。后面将参 照图6详细描述形状差异评估值计算单元105的操作。形状搜索处理控制单元106从形状差异评估值计算单元105接收 形状差异评估值。形状搜索处理控制单元106将在结构化矢量图形形 状存储单元102中所存储的每个结构化矢量图形形状数据与输入单 元101所输入的矢量图形形状数据之间的形状差异评估值临时存储 在存储器(未示出)中。形状搜索处理控制单元106将存储器中所存 储的多个形状差异评估值中表示最高相似度的一个形状差异评估值 (最小值)以及与该形状差异评估值相对应的结构化矢量图形形状数据,传送到结构化矢量图形形状数据生成方法选择单元107。 g卩,形 状搜索处理控制单元106在从结构化矢量图形形状数据存储单元102 中所存储的所有结构化矢量图形形状数据中所重构的矢量图形形状 中,搜索与输入单元101所输入的矢量图形形状数据最相似的形状。结构化矢量图形形状数据生成方法选择单元107将由形状搜索 处理控制单元106所找到的、表示最相似的矢量图形形状的形状差异 评估值与一个预先设置的形状差异评估值阈值进行比较,并且根据该 比较结果,选择输入单元101所输入的矢量图形形状数据的数据生成 方法。该形状差异评估值阈值可以由用户经由输入单元101等等从外 部输入,或者预先设置在每个矢量图形形状数据生成设备中。差异形状计算单元108接收与形状搜索处理控制单元106所计算 的形状差异评估值相对应的结构化矢量图形形状数据(存储在结构化 矢量图形形状存储单元102中的多个形状数据之一)和输入单元101 所输入的矢量图形形状数据,并且计算关于输入单元101所输入的矢 量图形形状的差异形状数据。后面将会参照图4描述差异形状数据的 示例。输出单元109输出输入单元101所输入的矢量图形形状数据或者 由差异形状计算单元108所计算的差异形状数据,作为结构化矢量图 形形状数据。结构化矢量图形形状记录单元110将输出单元109所输出的结构 化矢量图形形状数据存储在结构化矢量图形形状存储单元102中。 [矢量图形形状]接下来将参照图2描述矢量图形形状。图2示出了由输入单元 101所输入的矢量图形形状数据表示的矢量图形形状的示例。由输入单元101所输入的矢量图形形状数据表示的矢量图形形 状,具有通过连接线段或二次贝塞尔曲线所形成的一个封闭曲线的轮 廓,作为一个元素(element)。线段由作为两个端点的两个顶点定义。 曲线由充当二次贝塞尔控制点的三个顶点(例如PO、 Pl和P2)定义。 在矢量图形形状顶点的定义方向(图2中的顺时针方向)右侧存在的
区域,即在图2中由二次贝塞尔曲线轮廓的封闭曲线所包围的区域将 会被定义为该矢量图形形状的内部。 [矢量图形形状数据]接下来将参照图3描述输入单元101所输入的矢量图形形状数据 的内容的示例。图3示出了输入到图2所示的输入单元101中的矢量 图形形状的数据结构。形状数据从"轮廓线开始符号(Outline start symbol)"开始,然 后定义了充当开始点的顶点P0的坐标值。该坐标值由具有元素(x,y) 的二维坐标表示。接下来,定义了 "二次贝塞尔曲线符号",以表示 具有作为控制点的顶点P0、 Pl和P2的二次贝塞尔曲线,从而定义 了顶点Pl和P2的坐标值。定义了 "线段符号",以表示从顶点P2 到顶点P3的一条线段,从而定义了充当该线段的端点的顶点P3的坐 标值。以上述方式,依次定义轮廓线中包含的多个顶点和关于连接这 些顶点的直线或曲线的信息。最终,当定义了一个顶点P6等于作为 轮廓线的开始点的PO时,定义"轮廓线结束符号",以表示轮廓线的 结束。[结构化矢量图形形状数据] 接下来将参照图4描述存储在例如结构化矢量图形形状存储单 元102中的结构化矢量图形形状数据。图4示出了结构化矢量图形形 状数据的结构。结构化矢量图形形状数据的数据结构定义了符合下面将会描述 的格式的矢量图形形状数据。换句话说,通过按照特定格式处理矢量 图形形状数据,来获得结构化矢量图形形状数据。图4的左侧所示的结构化矢量图形形状数据401定义了一个结构 化矢量图形形状数据的形状。以下将描述该内部数据结构。首先,定 义了用于确定一个形状的"形状号码"。接下来,定义了 "顶点旋转 方向C",以表示是否倒转顶点的定义方向。结构化矢量图形形状数 据顺时针地定义顶点。如果矢量图形形状数据具有逆时针定义的顶 点,则在"顶点旋转方向C"中保存表示顶点定义顺序被倒转的信息。 接下来,定义了 "縮放坐标值K"。结构化矢量图形形状数据被縮放,
以使得顶点坐标定义范围被定义为0Sx,y^1中。为此,将縮放之前的 矢量图形的顶点的定义范围保存在"縮放坐标值K"中。从"轮廓线 开始符号"到"轮廓线结束符号"的结构与图2中相同。图4的右侧所示的结构化矢量图形形状数据402采用与一个充当 参考形状的结构化矢量图形形状数据之间的差异,定义了一个形状。 即,结构化矢量图形形状数据402是上述的差异形状数据。例如,差 异形状计算单元108计算结构化矢量图形形状数据402。以下将描述 该内部数据结构。首先,"形状号码S"具有与结构化矢量图形形状 数据401中相同的功能。"参考形状号码R"表示充当参考的结构化 矢量图形形状数据的号码。"顶点旋转方向C"和"縮放坐标值K" 具有与结构化矢量图形形状数据401中相同的功能。从"轮廓线开始 符号"到"轮廓线结束符号"的顶点定义方法不同于结构化矢量图形 形状数据401。被定义为"参考顶点号码NO,相对坐标VO"的顶点 坐标P'0以如下方式计算。"参考顶点号码NO"表示在由参考形状号 码R所指定的结构化矢量图形形状数据中的第NO个顶点。"相对坐 标VO"表示在相对于第NO个顶点的坐标VO处,存在顶点P'O。除 了该顶点坐标定义方法之外,"轮廓线开始符号"、"线段符号"、"二 次贝塞尔曲线符号"和"轮廓线结束符号"的功能都与结构化矢量图 形形状数据401中相同。 [将结构化矢量图形形状数据重构为矢量图形形状]接下来将参照图5描述矢量图形形状重构单元104的操作的示 例。图5是示出矢量图形形状重构单元104所实现的一个处理的流程 图。结构化矢量图形形状读取单元103从结构化矢量图形形状存储单 元102中读取结构化矢量图形形状数据,并将其传送到矢量图形形状 重构单元104。首先,重构由形状号码S所指定的结构化矢量图形形状数据。具 有形状号码S的结构化矢量图形形状数据被载入,并代入到存储区域 VG(S)中(步骤S501)。 VG(S)表示具有形状号码S的结构化矢量图 形形状数据。确认由在VG(S)中定义的参考形状号码R所定义的形状 是否还具有参考形状R2 (步骤S502)。如果R具有参考形状R2,即VG(R)是具有结构化矢量图形形状数据402的格式的数据,则对VG(R) 递归地执行图5所示的形状重构处理(步骤S503)。如果R是具有结 构化矢量图形形状数据401的格式的数据,则将数据读取指针设置在 数据结构中的轮廓线开始符号中,以顺序地读取数据VG(S)(步骤 S504)。作为VG(S)的数据结构的读取循环的终止处理,确认该读取指针 是否己经到达了 VG(S)的末端(步骤S505)。如果读取指针还没有到 达VG(S)的末端,则从VG(S)中读取当前所指向的参考顶点号码N和 相对坐标V (步骤S506)。从VG(R)中读取参考顶点号码N所指定的 顶点坐标P(步骤S507)。输出顶点坐标P+相对坐标V(步骤S508)。 读取指针前进到下一条信息(步骤S509)。如果读取指针在步骤S505 中已经到达了数据结构的末端,则终止该形状重构处理。 [矢量图形形状的比较]下面将参照图6描述形状差异评估值计算单元105的操作示例。 将输入单元101所输入的矢量图形形状数据代入VG1中(步骤 S601)。执行VG1的形状归一化处理,并将该处理结果代入VG1A 中(步骤S602)。后面将参照图7描述该形状归一化处理。接下来, 将矢量图形形状重构单元104所重构的矢量图形形状代入VG2中(步 骤S603)。计算VG1A和VG2之间的差异形状信息D (步骤S604)。 根据差异形状信息D计算形状差异评估值L,并将其输出(步骤 S605)。后面将参照图8、 9和10描述步骤S604和S605中的处理。 接下来将参照图7描述图6的步骤S602中执行的形状归一化处理。如果矢量图形形状VG1A的顶点定义方向是逆时针,则将该顶 点定义方向重新定义成顺时针(步骤S701)。检査所有顶点 Pi(Xi,Yi)(O^Kn)的坐标。获得X坐标的最小值Xmin和最大值Xmax, 以及Y坐标的最小值Ymin和最大值Ymax (步骤S702)。对所有顶 点进行坐标转换Xai=(Xi-Xmin)/(Xmax-Xmin)Yai=(Yi-Ymin)/(Ymax-Ymin)。
通过上述縮放处理所转换的顶点被定义为顶点Pai(Xai,Yai) (0^<n)(步骤S703)。通过步骤S702和步骤S703中的处理,将矢 量图形形状的坐标值转换为落入0到1的范围之内。对于所有顶点 Pai(Xai,Yai),将给予顶点Pai包括最小值Yai在内的最小值(Xai+Yai) 的索引定义为j (步骤S704)。定义顶点Pbk((^k<n),以使得顶点 Paj=PbO,并且Pa(j+l^Pbl,...。将最新定义的矢量图形形状数据代 入VG1A (步骤S705)。通过步骤S704和S705中的处理,将顶点定 义顺序转换为使得顶点从矢量图形形状的左上方的点开始。接下来将参照图8、 9和10描述步骤S604中计算差异形状信息 D的处理。在两个矢量图形形状中,使一个形状的一个顶点和另一个形状的 最接近顶点彼此对应,而不改变顶点定义顺序。获取这两个顶点之间 的距离,作为差异形状信息。将例举图8所示的两个矢量图形形状。 输入形状801所表示的形状是被输入和被归一化的形状VG1A。参考 形状802表示的形状是参照形状VG2。由于图8所示的形状非常简 单,因此可以看到顶点PO对应于顶点FO,而顶点P5对应于顶点P'2。下面将描述获取差异形状信息的处理。对于输入形状801的每个 顶点,计算参考形状802的最接近顶点。在此应用一种称为DP匹配 的公知技术。定义图9所示的由参考形状顶点阵列(P'0到P'4)和输 入形状顶点阵列(P0到P8)所表示的阵列。然后,执行图IO所示的 处理。将指针T设置在图9中的左上角处的顶点组(PO, P'O)上(步 骤SlOOl)。确认指针T是否已经到达右下角处的顶点组(步骤 S1002)。如果指针T还没有到达那里,即,指针T位于顶点组(Pi,P'j) 上,则获取这两个顶点坐标之间的下列三个距离,并且将指针移动到 具有最短距离的顶点组上(步骤S1003)。Dl=P(i+l)P'jD2=PiP'(j+l)D3=P(i+l)P'(j+l)如果在步骤S1002中指针T己经到达右下角的顶点组,则输出 指针T的移动路径信息(步骤S1004)。在图9中的实心圆圈和箭头
表示通过对图8中的形状执行图10中的处理所得到的结果。这样, 确定参考形状802上的与图8中的输入形状801的相应顶点最接近的 顶点。在步骤S605中,根据从上述处理中得到的差异形状信息D,获 取形状差异评估值L。将形状差异评估值定义为各个相应顶点之间的 距离的平均值。P(i) (05i<n)是输入形状的顶点,Pref(i) (0^<n)是 与P(i)相对应的参考形状的顶点。贝IJ,形状差异评估值L由下列公式 给出L=(S(i=0,.."n-l)|P(i)-Pref(i)|)/n<根据输入形状与参考形状之间的重叠区域的面积来获得形状差 异评估值的方法>在步骤S605中的处理中,可以将输入形状与参考形状之间的重 叠区域的面积来代替输入形状与参考形状的相应顶点之间的距离的 平均值,用作形状差异评估值。 [矢量图形形状的搜索]接下来将参照图11描述图1中的形状搜索处理控制单元106的 操作示例。将一个初始值代入用于在搜索处理中存储形状差异评估值的值 LM中(步骤SllOl)。在本实施例中,形状差异评估值越小,相似度 越高。因此,LM的初始值被设置为oo。将一个初始值代入用于确定 在结构化矢量图形形状存储单元102中的结构化矢量图形形状数据 的索引号码F(步骤S1102)。判断是否已经为结构化矢量图形形状存 储单元102中的所有结构化矢量图形形状数据都计算了形状差异评 估值(步骤S1103)。如果还没有为所有的数据都计算形状差异评估 值,则矢量图形形状重构单元104获得当前索引号码F所确定的形状 数据的矢量图形形状VG(F)(步骤S1104)。形状差异评估值计算单 元105获得VG(F)的形状差异评估值L(F)(步骤S1105)。将值L(F) 和LM的大小进行比较(步骤S1106)。如果L(F)<LM,则将L(F) 代入LM (步骤S1107)。将索引F累加1,以便检查结构化矢量图形 形状存储单元102中的下一个形状(步骤S1108)。如果已经对结构 化矢量图形形状存储单元102中的所有矢量图形形状都作了评估,则 输出形状差异评估值的最小值LM和提供该LM的F和VG(F)(步骤 S1109)。<指定参考次数上限值的方法>接下来将要描述通过设置矢量图形形状重构单元104的形状参 考次数的上限值,来抑制形状重构处理所需要的处理时间。对于表示一个特定形状的结构化矢量图形形状数据而言,如果具 有包括图4中的402所示的参考形状号码的格式的结构化矢量图形形 状数据被多次参考,则图5所示的形状重构处理中的递归处理的次数 增加,这导致了形状重构处理所需要的处理时间的增加。为了避免形状重构处理所需要的处理时间的增加,向形状搜索处 理单元106输入一个参考次数的上限值RM。在矢量图形形状重构单 元104执行的矢量图形形状重构处理中,如果形状的参考次数等于或 大于RM,则不执行形状重构,从而将该形状从形状差异评估值计算 单元105执行的形状差异评估值计算处理中的比较目标中排除。参考 次数等于或大于该上限值的任何形状都不能成为参考形状。从而可以 将结构化矢量图形形状数据的参考次数抑制在一个预定值之内。 [结构化矢量图形形状数据生成方法的选择和数据的输出]接下来将会描述结构化矢量图形形状数据生成方法的选择和结 构化矢量图形形状数据的输出。结构化矢量图形形状数据生成方法选择单元107将所接收的形 状差异评估值阈值LT与形状搜索处理控制单元106所获得的形状差 异评估值LM进行比较,该形状差异评估值LM是与存储在结构化矢 量图形形状存储单元102中的且与输入单元101所输入的矢量图形形 状最近似的结构化矢量图形形状之间的差异。如果LT<LM,则结构化矢量图形形状存储单元102没有存储任 何与输入形状足够相似的形状。输出单元109输出具有图4中的数据 结构401的输入形状。如果LCLM,则差异形状计算单元108获得 差异形状信息D。输出单元109输出具有图4中的数据结构402的差 异形状信息D。差异形状计算单元108的差异形状计算处理与步骤 S604的处理相同。最终,结构化矢量图形形状记录单元110将输出单元109所输出 的结构化矢量图形形状数据存储到结构化矢量图形形状存储单元102中。<用于指定相应顶点之间距离的最大值的方法>将要描述当形状差异评估值计算单元105使用步骤S605中的输 入形状与参考形状的相应顶点之间距离的平均值作为形状差异评估 值时,用于指定相应顶点之间距离的最大值的方法。在上述示例中,步骤S605中的形状差异评估值L被定义为相应 顶点组之间距离的平均值。如果一个在两个特定顶点之间的距离非常 大,则就不可能精确地表示这些顶点的相对坐标,即使是在形状差异 评估值L足够小的情况下也是如此。为了防止上述情况,添加一个处理,其中,向形状差异评估值计 算单元105输入相应顶点之间距离的一个最大值DMax,如果多个相 应顶点之间距离中的至少一个超过了 DMax,则将该形状从形状差异 评估值计算单元105执行的形状差异评估值计算处理的比较目标中 排除。通过上述处理,使得相应顶点之间距离总是在DMax之内。因 此,可以使用一种能够充分精确地表示在距离DMax之内的距离的数 字格式,作为相对距离的数字格式。 {第一实施例的效果}当输入形状与参考形状之间的形状差异减小时,差异形状计算单 元108所生成的结构化矢量图形形状数据中的相对坐标值(二维矢 量)相对于矢量图形顶点所定义的区域的一条边的长度(1)而减小。 通过将形状差异评估值阈值LT设置为一个适当的值,即使是在例如 结构化矢量图形形状数据402的相对坐标值是用16比特的浮点数表 示,而结构化矢量图形形状数据401的数据结构中的顶点坐标值是用 32比特的浮点数表示时,也能够充分精确地表示矢量图形形状。当存在许多相似的矢量图形形状时,通过利用结构化矢量图形形 状数据402的数据结构来存储这些形状。这就抑制了存储所需的数据 区的大小。(第二实施例)在第二实施例中,将会描述一种设备的示例,该设备接收空心字 数据和形状相似度阈值,并且记录该空心字数据的结构化矢量图形形 状数据和轮廓信息。将要参照图12描述根据第二实施例的矢量图形形状数据生成设 备。与已经描述的设备中相同的附图标记表示相同的部件,将会省略 对其的描述。本实施例的矢量图形形状数据生成设备包括输入单元1201、轮廓分离单元1202、空心字轮廓信息记录单元1203、空心字轮廓信 息存储单元1204、结构化矢量图形形状存储单元102、结构化矢量图 形形状读取单元103、矢量图形形状重构单元104、形状差异评估值 计算单元105、形状搜索处理控制单元106、结构化矢量图形形状数 据生成方法选择单元107、差异形状计算单元108,以及输出单元109。 输入单元1201接收来自数据源的空心字数据,并且将对空心字 数据的接收通知给形状搜索处理控制单元106。后面将参照图13描 述空心字形状。轮廓分离单元1202将输入单元1201所输入的空心字数据分离成 轮廓。轮廓分离单元1202将在一个分离后的轮廓中所包含的数据(轮 廓信息)输出到形状差异评估值计算单元105。该轮廓信息对应于矢 量图形形状数据。轮廓分离单元1202还将形状号码和轮廓号码输出 到空心字轮廓信息记录单元1203。输入单元1201所输入的空心字数 据被轮廓分离单元1202分离成空心字数据中的多个轮廓,并输入到 轮廓差异评估值计算单元105。轮廓分离单元1202还将该空心字中 的轮廓的序列号传送到空心字轮廓信息记录单元1203,以便将图12 中的输出单元109所输出的一个轮廓的结构化矢量图形形状数据与 输入单元1201所输入的空心字数据中的轮廓信息相关联。空心字轮廓信息记录单元1203在空心字轮廓信息存储单元1204 中,记录将轮廓分离单元1202所输出的轮廓信息与输出单元109所 输出的结构化矢量图形形状数据相关联的信息。空心字轮廓信息记录 单元1203将轮廓的序列号与输出单元109所输出的结构化矢量图形 形状数据相关联,并且将它们记录在空心字轮廓信息存储单元1204 中。空心字轮廓信息存储单元1204存储上述的将轮廓信息与结构化 矢量图形形状数据相关联的信息。接下来参照图13描述空心字形状的示例。图13示出了输入到输 入单元1201的空心字形状的示例。该输入到输入单元1201的空心字 形状包括多个矢量图形形状。接下来将参照图14描述图13中所示的空心字形状数据的内容的 示例。图14示出了图13中所示的、被输入到输入单元1201中的空 心字形状的数据结构。该空心字数据可以拥有多个如图3中所示的矢 量图形形状中的从"轮廓线开始符号"到"轮廓线结束符号"的信息 段。接下来将参照图15描述空心字轮廓信息的内容。图15示出了轮 廓线轮廓(outline contour)信息的数据结构。在轮廓线轮廓信息中, 定义了空心字的每个轮廓的轮廓序列号和相应的结构化矢量图形形 状数据的形状号码。 {第二实施例的效果}通常,空心字形状包括多个轮廓。在第一实施例中,处理目标是 具有单个轮廓的矢量图形形状。在第二实施例中,通过将具有多个轮 廓的空心字形状分离成多个轮廓,可以将第一实施例的矢量图形形状 数据生成设备的处理目标扩展到空心字数据。 (第三实施例)在第三实施例中,将描述一种设备的示例,该设备接收表示 Mincho、 Maru-Gothic、 bold或italic的字体类型信息、字符码、以及 形状相似度阈值,并且记录空心字数据的结构化矢量图形形状数据和 轮廓信息。将参照图16描述根据第三实施例的矢量图形形状数据生成设备。如图16所示,本实施例的矢量图形形状数据生成设备包括输 入单元1601、空心字数据存储单元1602、空心字数据读取单元1603、
形状搜索处理控制单元1604、空心字轮廓信息记录单元1605、空心 字轮廓信息存储单元1606、空心字轮廓信息读取单元1607、轮廓分 离单元1608、结构化矢量图形形状存储单元102、结构化矢量图形形 状读取单元103、矢量图形形状重构单元104、形状差异评估值计算 单元105、结构化矢量图形形状数据生成方法选择单元107、差异形 状计算单元108、输出单元109、以及结构化矢量图形形状记录单元 110。输入单元1601接收来自数据源的字体类型信息和字符码,并且 将对矢量图形形状数据的接收通知到形状搜索处理控制单元1604。空心字数据存储单元1602存储与该字体类型信息和字符码相对 应空心字数据。空心字数据读取单元1603从空心字数据存储单元1602中读取与 输入到输入单元1601的字体类型信息和字符码相对应的空心字数 据。空心字数据读取单元1603将所读取的空心字数据和相应的字体 类型信息和字符码传送到轮廓分离单元1608。轮廓分离单元1608将从空心字数据读取单元1603接收的空心字 数据分离成多个轮廓。轮廓分离单元1608将在一个分离后的轮廓中 包含的数据(轮廓信息)输出到形状差异评估值计算单元105。轮廓 信息对应于矢量图形形状数据。轮廓分离单元1608还将该字体类型 信息和字符码输出到空心字轮廓信息记录单元1605。形状搜索处理控制单元1604通过使用字体类型信息和字符码, 将存储在结构化矢量图形形状存储单元102中的结构化矢量图形形 状数据的范围縮小为作为多个比较候选对象的一部分数据,并从根据 这些数据而重构的多个矢量图形形状中,搜索与轮廓分离单元1608 所输出的矢量图形形状数据最相似的一个形状。形状搜索处理控制单 元1604从空心字轮廓信息读取单元1607获得与输入到输入单元1601 的字体类型信息和字符码相对应的一组空心字轮廓信息CA。例如, 当输入一个与Maru-Gothic类型的日文字符"&"相对应的字符码, 并且空心字轮廓信息存储单元1606预先存储了与Karu-Gothic类型的 ""相对应的字符码的轮廓信息时,读取Karu-Gothic类型的"& "
的轮廓信息。形状搜索处理控制单元1604优先搜索在轮廓信息组CA 中包含的形状号码。空心字轮廓信息记录单元1605在空心字轮廓信息存储单元1606 中,记录将轮廓分离单元1608所输出的字体类型信息和字符码与输 出单元109所输出的结构化矢量图形形状数据相关联的空心字轮廓 信息数据。空心字轮廓信息存储单元1606存储将轮廓分离单元1608所输出 的字体类型信息和字符码与输出单元109所输出的结构化矢量图形 形状数据相关联的该空心字轮廓信息数据。后面将参照图17描述该 轮廓信息数据。空心字轮廓信息读取单元1607从空心字轮廓信息存储单元1606 中,读取与所指定的字体类型和字符码相对应的空心字轮廓信息。第二实施例的矢量图形形状数据生成设备从外部数据源接收空 心字数据。与之不同的是,第三实施例的矢量图形形状数据生成设备 包括用于在该设备中存储空心字数据的空心字数据存储单元1602, 以及用于从空心字数据存储单元1602中读取与输入单元1601所输入 的字体类型和字符码相对应的空心字数据的空心字数据读取单元 1603。此外,与第二实施例不同,第三实施例的矢量图形形状数据生成 设备甚至将与字体类型和字符码相关的信息添加到空心字轮廓信息 存储单元1606中所存储的轮廓信息中。图17示出了空心字轮廓信息 存储单元1606中所存储的轮廓信息的数据结构。 {第三实施例的效果}具有相同字符码的字符拥有很高的相似度,即使是在它们的字体 类型不同时,例如"Mincho"和"Gothic"时也是如此。在本实施例 中,形状搜索处理控制单元1604优先搜索具有相同字符码的空心字 的轮廓信息中所包含的结构化矢量图形形状数据。因此,即使是在搜 索形状的数量较少时,也能够找到具有足够高的相似度的矢量图形形 状数据。 (第四实施例)
在第四实施例中,除了第三实施例之外,还将要描述一种设备的 示例,该设备通过查找字符的局部结构,优先搜索具有相同的局部结 构的字符的空心字的轮廓信息中所包含的结构化矢量图形形状数据, 并且记录空心字数据的具有很高相似度的矢量图形形状数据的形状 数据和轮廓信息。将参照图18描述根据第四实施例的矢量图形形状数据生成设备。如图18所示,本实施例的矢量图形形状数据生成设备包括输入单元1601、空心字数据存储单元1602、空心字数据读取单元1603、 轮廓分离单元1608、字符结构信息读取单元1801、字符结构信息存 储单元1802、形状搜索处理控制单元1803、空心字轮廓信息记录单 元1804、空心字轮廓信息存储单元1805、空心字轮廓信息读取单元 1806、结构化矢量图形形状存储单元102、结构化矢量图形形状读取 单元103、矢量图形形状重构单元104、形状差异评估值计算单元105、 结构化矢量图形形状数据生成方法选择单元107、以及结构化矢量图 形形状记录单元110。字符结构信息读取单元1801从字符结构信息存储单元1802中读 取与输入到输入单元1601中的字体类型和字符码相对应的字符结构 信息。字符结构信息表示由字体类型和字符码所确定的一个字符的"左侧偏旁"和"右侧偏旁"。字符结构信息表示,例如,汉字字符"板"由汉字字符"木"和"反"组成。字符结构信息存储单元1802存储由字体类型和字符码所确定的 字符的局部信息。局部信息表示,例如, 一个字符的左边部分或右边 部分。字符结构信息存储单元1802存储,例如,由字体类型和字符 码所确定的汉字字符的"左侧偏旁"和"右侧偏旁"的信息。形状搜索处理控制单元1803通过使用字体类型信息、字符码、 以及从字符结构信息读取单元1801接收的字符结构信息,将存储在 结构化矢量图形形状存储单元102中的结构化矢量图形形状数据的 范围縮小为作为多个比较候选对象的一部分数据,并从根据这些数据 而重构的多个矢量图形形状中,搜索与轮廓分离单元1608所输出的
矢量图形形状数据最相似的一个形状。空心字轮廓信息记录单元1804在空心字轮廓信息存储单元1805 中,记录将从轮廓分离单元1608接收的形状号码、轮廓号码、字体 类型信息以及字符码、从字符结构信息读取单元1801接收的字符结 构信息、以及从输出单元109接收的结构化矢量图形形状数据相互关 联的空心字轮廓信息。空心字轮廓信息存储单元1805存储来自空心字轮廓信息记录单 元1804的空心字轮廓信息。图19示出了空心字轮廓信息存储单元 1805中所存储的空心字轮廓信息的数据结构的示例。如图19所示, 本实施例的空心字轮廓信息包括字体类型、字符码、字符结构信息、 轮廓号码和形状号码。空心字轮廓信息读取单元1806读取与来自空心字轮廓信息存储 单元1805的指定的字体类型和字符码相对应的空心字轮廓信息。第三实施例的矢量图形形状数据生成设备通过使用字符码,来优 先搜索相似的矢量图形形状。与之不同的是,第四实施例的矢量图形 形状数据生成设备包括用于除了字符码之外,还在该设备中存储字符 结构信息的字符结构信息存储单元1802,以及用于读取与字体类型 和字符码相对应的字符结构信息的字符结构信息读取单元1801。此 外,第四实施例的矢量图形形状数据生成设备不仅向空心字轮廓信息 存储单元1805中所存储的轮廓信息中添加了轮廓号码和形状号码, 而且还向其添加了字体类型、字符码和字符结构信息。形状搜索处理控制单元1803从空心字轮廓信息读取单元1806中 获取与输入到输入单元1601中的字体类型信息、字符码和字符结构 信息相对应的一组空心字轮廓信息CA。如果输入一个与例如"板" 相对应的字符码,并且空心字轮廓信息存储单元1805预先存储了一 个与汉字字符"机"相对应的字符码的空心字轮廓信息,贝U,由于"板" 和"机"都具有局部结构"木",因此空心字轮廓信息读取单元1806 读取"机"的轮廓信息。空心字轮廓信息读取单元1806还读取除了 "机"之外的任何具有局部结构"木"或"反"的汉字字符的轮廓信 息(例如"坂"或"阪")。当结构化矢量图形形状读取单元103读取
结构化矢量图形形状时,形状搜索处理控制单元1803优先搜索在轮 廓信息组CA中所包含的形状号码。{第四实施例的效果}汉字字符具有局部结构,例如,"板"和"机"都包括左侧偏旁"木"。"板"的周部形状"木"和"机"的局部结构"木"具有很高 的形状相似度。在本实施例中,形状搜索处理控制单元1803优先搜 索在具有相同局部结构的空心字轮廓信息中所包含的结构化矢量图 形形状数据。因此,即使是搜索形状的数量很小时,也能够找到具有 足够高的相似度的矢量图形形状数据。(第五实施例)从第五实施例开始,将会描述一种结构化矢量图形形状数据渲染 设备。在第五实施例中,将会描述一种设备的示例,该设备接收结构 化矢量图形形状号码,而且输出与所接收的形状号码相对应的结构化 矢量图形的渲染结果。如图20所示,本实施例的矢量图形渲染设备包括输入单元 2001、结构化矢量图形形状存储单元102、结构化矢量图形形状读取 单元103、矢量图形形状重构单元104、矢量图形形状渲染预处理单 元2002、矢量图形形状渲染单元2003、以及显示单元2004。输入单元2001接收来自数据源的、用于指定结构化矢量图形形 状数据的形状号码,而且将该形状号码传送到结构化矢量图形形状读 取单元103。矢量图形形状渲染预处理单元2002在渲染由矢量图形形状重构 单元104所重构的矢量图形之前,执行一个预处理。矢量图形形状渲染单元2003根据预先设置的渲染参数,渲染经 过矢量图形形状渲染预处理单元2002预处理的矢量图形形状。渲染 参数可以由用户经由输入单元2001等等从外部输入,或者设置在每 个矢量图形渲染设备中。渲染参数是用于确定渲染格式的数值,例如, 用于确定渲染尺寸和颜色信息的数值。在例如上述的"CLoop and J.Blinn, "Resolution Independent Curve Rendering using Programmable Graphics Hardware", In Pro" of ACM SIGGRAPH2005, pp.1000 — 1009"中公开的一种技术用于矢量图形形状渲染单元2003的处理。 显示单元2004显示将矢量图形形状渲染单元2003的渲染结果显示为图像数据。 [渲染处理]接下来将详细描述矢量图形渲染设备的处理。使得结构化矢量图形形状读取单元103根据输入到输入单元 2001中的结构化矢量图形形状号码,从结构化矢量图形形状存储单 元102中读取相应的结构化矢量图形形状数据,并且使得矢量图形形 状重构单元104重构该矢量图形形状的处理,与第五实施例中相同。接下来描述矢量图形形状渲染预处理单元2002的处理内容。在矢量图形形状重构单元104所重构的矢量图形形状中,采用与 图7的步骤S701相同的处理,将顶点定义方向设置为顺时针。如果 通过参考"顶点旋转方向C"确定原始矢量图形形状数据的顶点定义 方向是逆时针的,则将该顶点定义方向转换成逆时针。此外,进行缩放处理,以将顶点坐标定义范围设置成0^c, y^1。 为了恢复在縮放之前的矢量图形的顶点定义范围,通过使用在结构化 矢量图形形状数据中的"縮放坐标值K",通过以下公式将每个顶点 (Xai,Yai) (OS〈n)转换成(Xi, Yi):Xi=Xai x (K(Xmax)-K(Xmin))+K(Xmin),Yi=Yai x (K(Ymax)-K(Ymin))+K(Ymin;)显示单元2004将渲染结果作为图像数据输出。 {第五实施例的效果}在第一实施例的处理中,存储在结构化矢量图形形状存储单元 102中的每个结构化矢量图形形状可以由一个形状号码S指定。第五 实施例的矢量图形渲染设备能够接收该形状号码S,而且将相应的矢 量图形形状的渲染结果作为图像数据输出。 (第六实施例)在第六实施例中,将描述一种设备的示例,该设备接收空心字号 码,并且输出与所接收的空心字号码相对应的结构化矢量图形的渲染 结果。
如图21所示,本实施例的矢量图形渲染设备包括输入单元2101、空心字轮廓信息读取单元2102、空心字轮廓信息存储单元 1204、结构化矢量图形形状存储单元102、结构化矢量图形形状读取 单元103、矢量图形形状重构单元104、矢量图形形状渲染预处理单 元2002、矢量图形形状渲染单元2003、以及显示单元2004。输入单元2101接收来自数据源的空心字号码,并且将该号码传 送到空心字轮廓信息读取单元2102。空心字轮廓信息读取单元2102从空心字轮廓信息存储单元1204 中读取与输入单元2101所输入的空心字号码相对应的空心字轮廓信 息。 [渲染处理]下面将详细描述矢量图形渲染设备的处理。空心字轮廓信息读取单元2102从空心字轮廓信息存储单元1204 中读取与输入到输入单元1201中的空心字号码相对应的空心字轮廓 信息。空心字轮廓信息包括多个轮廓。因此,图21中从结构化矢量 图形形状读取单元103到矢量图形形状渲染预处理单元2002的各个 单元处理每个轮廓。使矢量图形形状读取单元103从结构化矢量图形形状存储单元 102中为空心字轮廓信息中包含的每个轮廓读取相应结构化矢量图形 形状数据,并且使矢量图形形状重构单元104重构该结构化矢量图形 形状数据的处理,以及矢量图形形状渲染预处理单元2002所执行的 处理,与第五实施例中相同。 {第六实施例的效果}在第二实施例的处理中,存储在空心字轮廓信息存储单元1204 中的每个空心字轮廓信息能够由空心字号码F指定。第六实施例的渲 染设备能够接收该空心字号码F,并且将相应矢量图形形状的渲染结 果作为图像数据输出。 (第七实施例)在第七实施例中,将描述一种设备的示例,该设备接收字体类型 和字符码,并且输出与所接收的字体类型和字符码相对应的结构化矢
量图形的渲染结果。如图22所示,本实施例的矢量图形渲染设备包括输入单元1601、空心字轮廓信息存储单元1606、空心字轮廓信息读取单元1607 结构化矢量图形形状存储单元102、结构化矢量图形形状读取单元 103、矢量图形形状重构单元104、矢量图形形状渲染预处理单元 2002、矢量图形形状渲染单元2003、以及显示单元2004。 [渲染处理]下面将详细描述矢量图形渲染设备的处理。空心字轮廓信息读取单元1607从空心字轮廓信息存储单元1606 中读取与输入到输入单元1601的字体类型和字符码相对应的空心字 轮廓信息。空心字轮廓信息包括多个轮廓。因此,在图22中从结构 化矢量图形形状读取单元103到矢量图形形状渲染预处理单元2002 的各个单元处理每个轮廓。使结构化矢量图形形状读取单元103从结构化矢量图形形状存 储单元102为空心字轮廓信息中包含的每个轮廓读取相应结构化矢 量图形形状数据,并且使矢量图形形状重构单元104重构该结构化 矢量图形形状的处理,以及矢量图形形状渲染预处理单元2002所执 行的处理,与第五实施例中相同。 {第七实施例的效果}在第三或第四实施例的处理中,存储在空心字轮廓信息存储单元 1606中的每个空心字轮廓信息能够由字体类型和字符码指定。第七 实施例的设备能够接收字体类型和字符码,并且将相应矢量图形形状 的渲染结果作为图像数据输出。根据上述各个实施例的矢量图形形状数据生成设备、渲染设备、 方法和程序,能够获得具有较高表现力的交互式应用程序。
权利要求
1、一种矢量图形形状生成设备,包括获取单元,用于从数据源获取矢量图形的第一形状数据元素;第一存储单元,用于将多组第二形状数据元素存储为结构化矢量图形形状数据,并且存储与所述第二形状数据元素相对应的形状号码,其中,所述结构化矢量图形形状数据是通过按照特定格式处理矢量图形形状数据而获得的;第一读取单元,用于从所述第一存储单元中读取与指定的形状号码相对应的第二形状数据元素;重构单元,用于重构与所读取的第二形状数据元素相对应的矢量图形形状;第一计算单元,用于计算形状差异评估值,以获得多个形状差异评估值,所述形状差异评估值随着对应于所述第一形状数据元素的矢量图形形状与所重构的矢量图形形状之间的相似度的增加而减小;第二计算单元,用于计算所述多个形状差异评估值中的最小形状差异评估值以及与所述最小形状差异评估值相对应的新的第二形状数据元素;比较单元,用于将所述最小形状差异评估值与阈值进行比较;以及第三计算单元,用于在所述最小形状差异评估值不大于所述阈值的情况下,计算差异形状数据元素,其表示基于所述第一形状数据元素的形状与基于所述新的第二形状数据元素的形状之间的差异形状,其中,如果所述最小形状差异评估值大于所述阈值,则所述第一存储单元存储所述第一形状数据元素作为结构化矢量图形形状数据,并且如果所述最小形状差异评估值不大于所述阈值,则所述第一存储单元存储所述差异形状数据元素作为结构化矢量图形形状数据。
2、 根据权利要求1所述的设备,其中, 所述获取单元包括 获取单元,用于从所述数据源获取空心字数据; 分离单元,用于将所获取的空心字数据分离成多个轮廓;以及 转换单元,用于将所述多个轮廓之一转换为所述第一形状数据元 素;并且所述设备还包括第二存储单元,用于存储轮廓信息,所述轮廓信 息将上述的所述多个轮廓之一与所述结构化矢量图形形状数据相关 联。
3、 根据权利要求1所述的设备,其中, 所述获取单元包括获取单元,用于从所述数据源获取字体类型信息元素和字符码;第二存储单元,用于存储多个空心字数据元素,其每一个都对应 于一个字体类型信息元素和一个字符码;第二读取单元,用于从所述第二存储单元中,读取与所获取的字 体类型信息元素和所获得的字符码相对应的空心字数据元素;分离单元,用于将所读取的空心字数据元素分离成多个轮廓;以及转换单元,用于将所述多个轮廓之一转换为所述第一形状数据元素。所述设备还包括第三存储单元,用于存储轮廓信息,所述轮廓信息将上述的所述 多个轮廓之一、所获取的字体类型信息元素和所获取的字符码、以及 所述结构化矢量图形形状数据彼此关联;以及第三读取单元,用于从所述第三存储单元中,读取与所获取的字 体类型信息元素和所获取的字符码相对应的轮廓信息;并且所述第一读取单元优先读取与所读取的轮廓信息中包含的形状 数据元素相对应的第二形状数据元素。
4、 根据权利要求1所述的设备,其中, 所述获取单元包括 获取单元,用于从所述数据源获取字体类型信息元素和字符码; 第二存储单元,用于存储多个空心字数据元素,其每一个都对应于一个字体类型信息元素和一个字符码;第二读取单元,用于从所述第二存储单元中,读取与所获取的字体类型信息元素和所获取的字符码相对应的空心字数据元素;分离单元,用于将所读取的空心字数据元素分离成多个轮廓;以及转换单元,用于将所述多个轮廓之一转换为所述第一形状数据元素;所述设备还包括第三存储单元,用于存储轮廓信息元素,所述轮廓信息元素将上 述的所述多个轮廓之一、所获取的字体类型信息元素和所获取的字符 码、以及所述结构化矢量图形形状数据彼此关联;以及第三读取单元,用于从所述第三存储单元中,读取与所获取的字体类型信息元素和所获取的字符码相对应的轮廓信息元素;并且所述第一读取单元优先读取与所述轮廓信息元素中包含的形状 数据元素相对应的第二形状数据元素。
5、根据权利要求l的设备,其中, 所述获取单元包括获取单元,用于从所述数据源获取字体类型信息元素和字符码;第二存储单元,用于存储多个空心字数据元素,其每一个都对应 于一个字体类型信息元素和一个字符码;第二读取单元,用于从所述第二存储单元中,读取与所获取的字 体类型信息元素和所获取的字符码相对应的空心字数据元素;分离单元,用于将所读取的空心字数据元素分离成多个轮廓;以及转换单元,用于将所述多个轮廓之一转换为所述第一形状数据元素;所述设备还包括 第三存储单元,用于存储多个字符结构信息元素,其每一个都包 括由字体类型信息元素和字符码构成的一个组,以及与所述字体类型 和所述字符码相对应的字符的局部信息;第三读取单元,用于从所述第三存储单元中,读取与所获取的字 体类型信息元素和所获取的字符码相对应的字符结构信息元素;第四存储单元,用于存储轮廓信息元素,所述轮廓信息元素将上 述的所述多个轮廓之一、所获取的字体类型信息元素和所获取的字符 码、所读取的字符结构信息元素、以及所述结构化矢量图形形状数据 彼此关联;以及第四读取单元,用于从所述第四存储单元中,读取与所获取的字体类型信息元素和所获取的字符码相对应的轮廓信息元素;并且所述第一读取单元优先读取与所述轮廓信息和所述字符结构信 息中所包含的形状数据元素相对应的第二形状数据元素。
6、 一种矢量图形形状渲染设备,包括第一获取单元,用于从数据源获取结构化矢量图形形状数据的形 状号码,其中,所述结构化矢量图形形状数据是通过按照特定格式处理矢量图形形状数据而获得的;存储单元,用于存储多个由结构化矢量图形形状数据和与所述结 构化矢量图形形状数据相对应的形状号码所构成的组;读取单元,用于从所述存储单元中读取与所获取的形状号码相对 应的结构化矢量图形形状数据;重构单元,用于重构与所读取的结构化矢量图形形状数据相对应 的矢量图形形状;预处理单元,用于执行预处理,所述预处理包括所重构的矢量 图形形状的顶点定义顺序的转换处理,以及将顶点坐标转换为縮放之 前的坐标的处理;第二获取单元,用于获取作为数值的渲染参数,以确定渲染格式;渲染单元,用于根据所述渲染参数,渲染经过预处理的矢量图形 形状;以及 显示单元,用于将所渲染的矢量图形形状显示为图像数据。
7、 一种矢量图形形状数据生成方法,包括以下步骤从数据源获取矢量图形的第一形状数据元素;准备存储单元,用于将多组第二形状数据元素存储为结构化矢量 图形形状数据,并且存储与所述第二形状数据元素相对应的形状号码 其中,所述结构化矢量图形形状数据是通过按照特定格式处理矢量图 形形状数据而获得的;从所述存储单元中读取与指定的形状号码相对应的第二形状数 据元素;重构与所读取的第二形状数据元素相对应的矢量图形形状; 计算形状差异评估值,以获得多个形状差异评估值,所述形状差异评估值随着对应于所述第一形状数据元素的矢量图形形状与所重构的矢量图形形状之间的相似度的增加而减小;计算所述多个形状差异评估值中的最小形状差异评估值以及与所述最小形状差异评估值相对应的新的第二形状数据元素; 将所述最小形状差异评估值与阈值进行比较;以及 如果所述最小形状差异评估值不大于所述阈值,则计算差异形状数据元素,其表示基于所述第一形状数据元素的形状与基于所述新的第二形状数据元素的形状之间的差异形状,其中,如果所述最小形状差异评估值大于所述阈值,则所述存储 单元存储所述第一形状数据元素作为结构化矢量图形形状数据,并且 如果所述最小形状差异评估值不大于所述阈值,则所述存储单元存储 所述差异形状数据元素作为结构化矢量图形形状数据。
全文摘要
形状数据生成设备,包括用于从数据源获取矢量图形的第一形状数据的单元;用于将多组第二形状数据存储为结构化矢量图形形状数据,并且存储与第二形状数据相对应的形状号码的单元,其中,所述结构化矢量图形形状数据是通过按照特定格式处理矢量图形形状数据而获得的;用于从第一存储单元中读取与指定的形状号码相对应的第二形状数据的单元;用于重构与所读取的第二形状数据相对应的矢量图形形状的单元;用于计算形状差异评估值以获得多个形状差异评估值的单元,所述形状差异评估值随着对应于第一形状数据的矢量图形形状与所重构的矢量图形形状之间的相似度的增加而减小;用于计算多个形状差异评估值中的最小形状差异评估值以及与最小形状差异评估值相对应的新的第二形状数据的单元;用于将最小形状差异评估值与阈值进行比较的单元;以及用于在最小形状差异评估值不大于所述阈值的情况下,计算差异形状数据的单元,所述差异形状数据表示基于第一形状数据的形状与基于所述新的第二形状数据的形状之间的差异形状。
文档编号G06T11/00GK101154292SQ200710153149
公开日2008年4月2日 申请日期2007年9月28日 优先权日2006年9月28日
发明者杉田馨 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1