简介
Wacom Ink Layer Language (WILL™) 是一种跨平台数字墨水技术。 其植根于最终用户需求以及 Wacom在不同领域的专业经验。 WILL允许您将高级数字墨水功能整合至应用程序中。 由于采用模块 化管线设计,可以根据具体应用需求设置、更换或删除各个模块,为您提供超凡灵活性。
新推出的Universal Ink Model是一种数据模型,其中包含与数字墨水相关的数据结构和元数据概念,用于描述数字墨水的语义内容。 您还可使用Universal Ink Model的文件编码功能在不同应用程序和平台之间交换数字墨水内容。
框架内容如下:
- 适用于多个平台的软件库(Windows, Android, iOS, Web)
- 用于阐释特殊功能的 Code samples
- 基于网页的Ink Designer,用于设置和测试管线
- 完整文档资料,包括分步指南
设计理念
以下为设计理念简介:WILL 技术.
互操作性
WILL 3.0技术及其Universal Ink Model不受平台和设备约束,因此不会着重列举具体硬件平台的技术规范。 现有数字墨水存储格式参见参考. Ink Markup Language [InkML] 和 Ink Serialized Format [ISF] 是除Wacom Ink Layer Language [WILL]. 以外最知名的数字墨水存储格式。上一版本的WILL不支持存储数字墨水的传感器采样数据(例如时间戳、(x,y)坐标或压力值)。 WILL 3.0能够存储数字墨水的传感器采样数据、数字墨水的视觉化表征以及语义元数据。 因此,可以实现Universal Ink Data格式到其他现有格 式的无损转换。
自然
数字墨水必须显得自然,并尽可能接近纸质手写体验。 为确保在不同平台间共享数字墨水的视觉外观,WILL 3.0中加入了所有相关数据,赋予数字墨水出色的跨平台一致性。 借助WILL粒子墨水光栅化技术,还可设置多组自然画笔,进行图1所示的艺术创作。
图1:通过光栅/粒子墨水进行艺术创作。
有效
移动应用程序、云应用程序或云服务已成现代IT基础设施的组成部分。 因此,现代数据格式需要解决以下问题:
- 为不同设备分配唯一ID标识符
- 针对数字墨水数据局部更新的流式传输功能
- 减小文档大小
- 支持常用网页标准,例如JSON
图2:主动式数字墨水
元数据与语义学
元数据分为以下三种类型:
- 描述性元数据
- 结构性元数据
- 管理性元数据
描述性元数据通常用于发现和识 别信息,例如搜索和定位标题、作者、主题、关键词和出版方等对象。 WILL提供用于描述数字墨水文档及其作者的元数据。
结构性元数据描述对象的构成方式。 该数字墨水元数据用于描述墨水文档的结构。
最后,管理性元数据提供数据源管理所需的信息。 具体指的是技术信息,包括文件类型或文件创建时间和方式。 管理性元数据可进一步细分为版权管理元数据和保存型元数据。 版权管理元数据用于描述知识产权,而保存型元数据包含保护和保存资源所需的信息。
语义元数据正在逐渐成为不少厂商语义识别技术的差异化因素。 语义学是对语言含义的研究。 当应用于技术性和非结构化内容时,语义学代表从词语、短语、句子以及能够提供上下文语境的段落中提取含义的能力,其作为语义元数据手动应用或自动生成,以此描述对象。 语义元数据通常用于提升搜索效果,但是任何使用元数据的应用程序都能通过生成或应用语义元数据建立重大优势。 因此,WILL自带用于描述文档和作者的元数据,并且能够针对数字墨水定义专属语义元数据。
传感器数据和生物识别
设计Universal Ink Model的另一个重要目的是支持从数字墨水设备采集传感器数据。 例如,将传感器数据用于手写分析,以及签名采集和验证。
部分数字墨水设备还提供其他信息*(参见图3)*,而这些信息在大多数应用中显得不那么重要,因此并不是所有品牌或类型的设备都支持提供此类信息。 其中包括:
- 压力值 - 笔尖所受作用力
- 倾斜度 - 笔杆与垂直线之间的角度
- 方向 - 笔相对于笔尖的平面方向
- 旋转角度 - 签字时笔杆的旋转角度
图3:数字墨水传感器通道概览。
数据的司法鉴定特性至关重要,这表示我们的数据采集理念在很多方面不同于竞争对手的签名技术。 其中一个重要原则是,软件在采集签名过程存储数据的格式与设备提供的数据格式完全相同。 各类数据(例如位置、时间、压力等)连同度量信息(设备所使用的度量单位)一起采集,并且与原始点数据一同存储,以便在需要时转换成真实单位。 这种方法的优势在于信息的准确性由设备决定,不会因转换过程受到影响。 除了输入笔数据外,上下文数据也随签名一起采集和存储。 其中包括:
- 签名人姓名
- 签名日期和时间
- 签名原因
- 所用手写输入笔的制造商和类型
- 所用手写输入笔驱动的类型和版本
- 所用客户端PC操作系统的类型和版本
- PC的网络接口卡(NIC)地址
这么做的目的是存储传感器数据、数字墨水设备的特征以及数字墨水的视觉化表征。
技术
WILL技术旨在设计成一种不受平台约束的数字墨水引擎,并提供最相关的功能:
- 墨水几何管道和渲染 - 将输入设备的传感器数据转换成由平台专属渲染引 擎渲染而成的几何结构
- **墨水序列化 ** - 交换渲染结果、传感器采样数据以及相关元数据;Universal Ink Format用于信息序列化和去系列化
- 墨水操作 - 控制生成的几何结构;实现数字墨水处理功能,包括缩放、移动、旋转和擦除墨迹(包括精确分割)
下面章节深入阐述了几何结构和渲染管线。
墨水几何结构管线
WILL 3.0是包含一系列处理功能块(处理模块、制作模块等)的管线(参见图4)。
图4:WILL 3 的渲染管线
Ink geometry pipeline 将不同输入媒介(例如鼠标、手指或输入笔)的输入数据转换成数字墨水几何结构。 管线由不同阶段组成,可根据数字墨水的制作要求进行设置。 常见管线阶段有:
- PathProducer - 从输入媒介数据创建墨迹
- Smoother - 平滑路径值
- SplineProducer - 将路径转换为Catmull-Rom spline
- SplineInterpolator - 进行线条离散化处理,沿着墨迹创建多个取样点
若干管线阶段仅用于矢量画笔:
- BrushApplier - 对于墨迹的每一个取样点,BrushAppplier都会创建一次转换,然后转换画笔形状
- ConvexHullChainProducer - 计算每一对连续画笔采样数据的凸包
- PolygonMerger - 计算凸包集合;结果为包含零个或更多内部轮廓(孔洞)的多边形
- PolygonSimplifier - 通过减少顶点数量简化多边形
详细描述参见关于管线的文档。.
墨水序列化
Serialization
模块提供数字墨水内容编解码算法。
这些算法经过特别优化,用于处理WILL笔画算术模型(在本文档中称为“笔画模型”)。
算法支持以下特性:
- 快速编解码
- 开发者能够选择压缩文件尺寸或JSON序列化
- 不同操作系统和设备间的可移植性
- 可嵌入不同容器格式的二进制表示法
详细描述参见 关于序列化的文档。.
墨水操作
Manipulation
模块提供一整套基于Universal Ink Model的算法。
这些算法用作构建模块以实施下列功能:
- 选择
- 擦除
- 剪切
- 复制
- 粘贴
详细描述参见关于操作的文档。.
阅读指南
“前言”部分为您简要介绍了WILL技术和Universal Ink Model. 详细信息参见文档的其他章节。 根据您的侧重点,下列表格提供文档相关章节的链接,为您指明前路:
主题 | 描述 |
---|---|
Ink Geometry Pipeline | 包含算法和几何管线阶段的详细信息,并且深入阐述了管线设置参数。 |
样本 | 提供完整样例列表,帮助开发者深入学习相关代码。 |
第三方许可 | 列举平台的第三方许可信息。 |
Universal Ink Model | 介绍数字墨水的数据模型及其相关元数据。Universal Ink Model的每个部分包含 输入数据, 墨水数据, 元数据和语义. |
[URI 模式] 的详细描述(uim/vocabulary) | 介绍语义数据Uniform Resource Identifier (URI)和预定义方案(必须在应用程序内使用以此实现互操作性)。 |
编码 | Universal Ink Model基于Google protobuf进行二进制数据格式编码。本页详细阐述了数据结构定义。 |
示例代码指南 | 示例代码片段分步阐述了墨水渲染, 墨水序列化和墨水操作 |
Ink Designer | 一款网页应用程序,用于阐述geometry pipeline的设置选项以及渲染设置。 |
参考
[ InkML ] Ink Markup Language (InkML)
[ISF] Ink Serialized Format (ISF)
[WILL] Wacom Ink Layer Language (WILL)版本1。