CN107077243A - 墨水文件的输出方法、输出装置以及程序 - Google Patents
墨水文件的输出方法、输出装置以及程序 Download PDFInfo
- Publication number
- CN107077243A CN107077243A CN201580053483.4A CN201580053483A CN107077243A CN 107077243 A CN107077243 A CN 107077243A CN 201580053483 A CN201580053483 A CN 201580053483A CN 107077243 A CN107077243 A CN 107077243A
- Authority
- CN
- China
- Prior art keywords
- stroke
- data
- information
- ink
- metadata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0382—Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
使得在墨水文件的再现时,能够实现与输入设备相应的墨水文件的处理。本发明的墨水文件的输出方法包括:基于伴随着输入设备的移动而生成的事件数据,生成M(M为1以上的整数)个笔划数据(SD)的步骤;生成用于确定输入设备的N(N为1以上且M以下的整数)个种类的逻辑名(LN)(元数据)的步骤;生成将所述M个笔划数据(SD)对应于N个种类的逻辑名(LN)的元数据块的步骤;以及将M个笔划数据(SD)以及元数据块写入到墨水文件(40)的步骤。
Description
技术领域
本发明涉及墨水文件的输出方法、输出装置以及程序,尤其,涉及能够实现与输入设备相应的墨水文件的再现处理的墨水文件的输出方法、输出装置以及程序。
背景技术
已知保持使用电子笔或触控笔(stylus)等的输入设备而写在平板等的位置检测器上的字符或图像作为矢量数据,之后能够再现的数字墨水。数字墨水是,将在位置检测器上移动输入设备以使对在纸上描绘的手写的轨迹(笔划(stroke))进行模拟的轨迹进行电子数据化而成的数据。在数字墨水中,通常包括以下数据等:(1)用于通过坐标点或控制点等的集合来再现手写的轨迹的数据;以及(2)描述颜色信息或笔头的类型等描画手写的轨迹的风格的数据;以及(3)描述坐标转换矩阵等与轨迹有关的数据的几何的转换规则的数据。作为数字墨水的具体格式,提倡了几种格式,在非专利文献1~4中公开了其例。
非专利文献1中记载的InkML是最公知的数字墨水的数据格式。在InkML中,上述(1)的“用于再现手写的轨迹的数据”被称为<trace>元素。在<trace>元素中,描述了构成1个笔划(将指示体接触到位置检测装置的传感器面之后离开为止的动作)的轨迹的多个点数据(由输入传感器以预定的时间间隔来检测的数据。包括点数据(x,y)、笔压数据、时刻数据等表示输入传感器依赖的属性(输入传感器属性)的数据)的集合。此外,作为上述(2)的“指定轨迹的描画风格的数据”,规定了例如<brush>元素等数据。作为上述(3)的“描述与轨迹有关的数据的转换规则的数据”,规定了<mapping>元素等的数据。此外,通过<inkSource>元素来示出能够描述供给了墨水数据的硬件设备的制造者、模型、序列号等。
非专利文献2中记载的ISF(墨水序列化格式(Ink Serialized Format))是在微软公司的应用上利用的数字墨水的数据格式。上述(1)的“用于再现手写的轨迹的数据”在ISF中被称为StrokeDescriptorBlock(笔划描述块)。在StrokeDescriptorBlock中,描述了用于再现笔划的轨迹的点(点为x,y坐标值)或笔压值等。作为上述(2)的“指定轨迹的描画风格的数据”,规定了DrawingAttributeBlock(绘图属性块)。作为上述(3)的“描述与轨迹有关的数据的转换规则的数据”,规定了TransformBlock(传输块)。
非专利文献3中记载的SVG是用于描述二维图形应用及图像以及图形脚本的集合(set)的标记语言。在SVG中,作为上述(1)的“用于再现手写的轨迹的数据”,存在<path>元素。在<path>元素中,包括用于曲线插值的多个控制点(坐标数据),轨迹通过基于这些多个控制点的贝塞尔曲线来再现。
非专利文献4中记载的HTML5中,作为上述(1)的“用于再现手写的轨迹的数据”,规定了被称为Canvas Path类的数据型。在Canvas Path类中,通过多个贝塞尔曲线的分段的连结来再现轨迹的基础上,被提供为了生成用于生成各个分段的三次曲线所必要的控制点。
在专利文献1中,记载了涉及数字墨水的压缩的技术。记载了为了对通过在进行手写的期间的坐标检测而得到的原始数据的数据量进行压缩,使用曲线插值算法来削减必要的点数据的数目,对数据进行压缩。
以下,统称非专利文献1的<trace>元素、非专利文献2的StrokeDescriptorBlock、非专利文献3的<path>元素、非专利文献4中记载的CanvasPath类或专利文献1的被压缩的数字墨水等,将通过一系列的点数据来再现使用位置检测器而输入的手写的轨迹的矢量数据称为笔划数据。
此外,在电子笔等的输入设备中,有保持所谓的笔识别信息PID等固有的识别信息的输入设备。这种输入设备构成为,在内部具有存储固有的识别信息的ROM,能够对平板等位置检测器进行输出。
位置检测器取得的笔识别信息PID能够通过与位置检测器的功能对应的驱动或者程序库(Library)的API从应用取得。在非专利文献5中,记载了被称为wintab的驱动或者程序库API的例。在同文献C.4节中,记载了在将WACOM公司的位置检测器即Intuos(注册商标)作为位置检测器的情况下,被称为wintab的API输出的笔识别信息PID即UniqueID的标准。
现有技术文献
专利文献
专利文献1:特开2003-141100号公报
专利文献2:国际公开第2015/019883号
非专利文献
非专利文献1:Yi-Min Chee、外11名、"Ink Markup Language(InkML)W3CRecommendation 20September 2011"、[online]、平成23年9月20日、W3C、[平成26年11月19日检索]、互联网〈URL:http://www.w3.org/3TR/InkML/〉
非专利文献2:"Ink Serialized Format Specification"、[online]、MicrosoftCorporation、[平成26年12月11日检索]、互联网〈URL:http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/InkSerializedFormat(ISF)Specification.pdf〉
非专利文献3:Erik Dahlstrom、外9名、"Scalable Vector Graphics(SVG)1.1(Second Edition)W3C Recommendation 16August 2011"、[online]、平成23年8月16日、W3C、[平成26年12月11日检索]、互联网〈URL:http://www.w3.org/TR/SVG/〉
非专利文献4:Ian Hickson、外6名、"A vocabulary and associated APIs forHTML and XHTML W3C Recommendation 28October 2014"、[online]、平成26年10月28日、W3C、[平成26年12月11日检索]、互联网〈URL:http://www.w3.org/TR/html5/〉
非专利文献5:WDN Beta"Wintab"的说明、[online]、WACOM株式会社、[平成27年3月25日检索]、互联网〈URL:http://wdnet.jp/library/windows/wintab/〉
发明内容
发明要解决的课题
另外,数字墨水通常以包括多个笔划数据的文件的形式来保存,在再现时,1个文件内的笔划数据一同被再现。但是,可能存在1个文件(以下,称为“墨水文件”)中包含的多个笔划数据之间为了输入而使用的输入设备不同的情况。例如,是多个用户利用各自保持的输入设备而在1个画布(canvas)中储存笔划数据的情况。此外,数字墨水数据未必是在当前时刻广泛地普及的数据,在用户的应用中不与笔划数据的格式对应的情况也较多。在这样的情况下,在进行笔划数据的解码之前判别由特定的输入设备所书写的笔划数据是否包含在墨水文件中或者只选择由特定的输入设备所输入的笔划数据而显示等能够进行与输入设备相应的笔划数据的处理的话是方便的,但在现有的技术中无法实现。
因此,本发明的目的之一在于,提供一种能够实现与输入设备的类别相应的笔划数据的解码或者再现处理的墨水文件的输出方法、输出装置以及程序。
此外,以往,在包括多个笔划数据的墨水文件中,按照写出的定时从早到晚的顺序等存储有各笔划数据,使得以笔划单位区分顺序。在再现墨水文件时,以笔划单位决定要再现的顺序,按照决定的顺序来再现(描画)各笔划数据。但是,在该现有的存储以及再现中,由于不能再现多个笔划数据被同时生成且调换先后关系的同时多次交叉的复杂的先后关系,所以需要改善。
因此,本发明的其他的目的之一在于,提供一种能够再现多个笔划数据间的复杂的先后关系的墨水文件的输出方法、输出装置以及程序。
此外,在笔识别信息PID中,除了上述非专利文献5中记载的格式以外,还存在各种格式。此外,在电子笔的类别中,也除了如上所述那样能够输出笔识别信息的笔以外,还存在被动式的触摸笔或鼠标设备等不具有送出信息的功能的笔。此外,与笔识别信息PID的公开有关的用户的政策也是各种各样的。例如,如有抗拒自己保有的移动终端的IMEI(国际移动设备身份码(International Mobile Equipment Identifier))或对终端的网络接口赋予的MAC地址等被公开的用户那样,还存在抗拒与笔相对应的笔识别信息包含在墨水数据中被公开的用户。此外,还存在在互联网中,与罗列了数值使得代替IP地址而利用URL的笔识别信息相比,更喜欢将笔识别信息进行了名称化的字符串的用户。
但是,在现有的墨水数据输出方法中,仅仅停留在将与某个厂商的位置检测器对应的驱动输出的1个格式的笔识别信息PID的值原样不加工而以墨水数据输出。因此,即使作为应用开发者的用户利用安装了现有的墨水数据输出方法的程序库而开发出利用笔识别信息PID的应用程序,也处于为了对应于其他格式的笔识别信息而必须利用其他的程序库的状态。
因此,本发明的再其他的目的之一在于,提供一种能够对应于笔识别信息PID的格式的差异、有无笔识别信息的送出能力或者笔识别信息的公开所涉及的用户的喜好且能够包括笔识别信息或者与笔识别信息对应的信息的墨水文件的输出方法、输出装置以及程序。
用于解决课题的手段
为了达成上述目的的本发明的墨水文件的输出方法的特征在于,包括以下步骤:基于伴随着输入设备的移动而生成的事件数据,生成笔划数据的步骤;生成用于确定所述输入设备的元数据的步骤;生成将所述元数据对应于所述笔划数据的元数据块(Metadatablock)的步骤;以及将所述笔划数据以及所述元数据块写入到所述墨水文件的步骤。
本发明的其他的一个方面的墨水文件的输出方法在上述墨水文件的输出方法中,其特征在于,生成所述笔划数据的步骤生成多个笔划数据,所述多个笔划数据分别存储多个点数据,且与该多个点数据的每一个相对应地存储顺序信息,所述顺序信息是表示在所述多个笔划数据的每一个中存储的多个点数据间的相对的描画顺序的信息。
本发明的再其他的一个方面的墨水文件的输出方法在上述墨水文件的输出方法中,其特征在于,所述元数据是对在所述输入设备中预先存储的输入设备识别信息实施预定的转换而成的信息。
此外,本发明的墨水文件的输出装置是墨水文件的输出装置,其特征在于,具备:笔划数据生成部,基于伴随着输入设备的移动而生成的事件数据,生成笔划数据;元数据生成部,生成用于确定所述输入设备的元数据;以及墨水文件生成部,生成将所述元数据对应于所述笔划数据的元数据块,并将所述笔划数据以及所述元数据块写入到所述墨水文件。
此外,本发明的程序是用于使计算机作为墨水文件的输出装置来动作的程序,用于使所述计算机作为以下部件来动作:笔划数据生成部,基于伴随着输入设备的移动而生成的事件数据,生成笔划数据;元数据生成部,生成用于确定所述输入设备的元数据;以及墨水文件生成部,生成将所述元数据对应于所述笔划数据的元数据块,并将所述笔划数据以及所述元数据块写入到所述墨水文件。
发明效果
根据本发明,在再现墨水文件时,能够基于在墨水文件内写入的信息,将确定输入设备的设备信息(例如,通过转换在输入设备中预先存储的笔识别信息而得到的字符串)和笔划数据相对应。因此,能够实现与输入设备相应的墨水文件的再现处理。
此外,根据本发明的其他的一个方面,通过根据由顺序信息所表示的描画顺序来进行各坐标的描画,能够再现多个笔划数据SD间的复杂的先后关系。
此外,根据本发明的其他的一个方面,通过将格式不同的笔识别信息PID暂且转换为逻辑识别信息LID,能够基于从应用通过单一的格式来制成的表格M_Tbl,将逻辑识别信息对应于逻辑名而输出。由此,进行应用开发的人不需要认识到笔识别信息PID的格式的差异,能够根据一种表格,简单地开发将与笔识别信息的公开所涉及的用户的喜好对应的笔识别信息或者对应于笔识别信息的信息包含在墨水数据中输出的应用。
附图说明
图1是表示本发明的第一实施方式的计算机1的系统结构的图。
图2是图1所示的数字墨水生成装置30的功能框图。
图3是表示生成墨水文件40的处理的主程序(前半部分)的处理流程图。
图4是表示生成墨水文件40的处理的主程序(后半部分)的处理流程图。
图5是表示图2所示的输入处理部31以及元数据生成部33的内部结构的图。
图6是图4的步骤S11所示的元数据生成处理的处理流程图。
图7是从笔识别信息PID生成逻辑识别信息LID的处理的说明图。
图8(a)是表示在逻辑名LN为字符串的情况下的逻辑识别信息LID和逻辑名LN的例的图,(b)是表示在逻辑名LN为散列值的情况下的逻辑识别信息LID和逻辑名LN的例的图,(c)是表示在逻辑名LN为URN的情况下的逻辑识别信息LID和逻辑名LN的例的图。
图9是图3的步骤S23所示的顺序确认处理的处理流程图。
图10(a)是表示由2个电子笔PA、PB的每一个所描画的图形的一例的图,(b)是将(a)置换为离散的点数据而成的图,(c)是表示与(b)所示的一系列的坐标相对应的顺序信息Uorder(PID)的图。
图11(a)是表示由2个电子笔PA、PB的每一个所描画的图形的其他的一例的图,(b)是将(a)置换为离散的点数据而成的图,(c)是表示与(b)所示的一系列的坐标相对应的顺序信息Uorder(PID)的图。
图12(a)是例示包括图11所示的笔划数据的1个墨水文件内存储的一系列的信息的图,(b)是将(a)所示的一系列的信息根据顺序信息Uorder(PID)来排序的图。
图13是图4的步骤S40所示的墨水文件生成处理的处理流程图。
图14是表示通过RIFF而被生成的墨水文件的结构的图。
图15(a)是表示用于定义WILL形式的笔划数据的格式的笔划数据格式的图,(b)是表示(a)所示的各属性的具体的表现形式的图,(c)是表示具有层次结构的笔划属性的具体的表现形式的图。
图16是图13的步骤S404所示的笔划数据编码处理的处理流程图。
图17是表示以InkML形式来描述的笔划数据的例的图。
图18是图13的步骤S406所示的笔划数据分组处理的处理流程图。
图19是表示以XMP形式来描述的元数据大块(Metadata chunk)的例的图。
图20是图1所示的数字墨水再现装置50的功能框图。
图21是表示根据图20所示的过滤信息来生成图像的处理的主程序的处理流程图。
图22是图21的步骤S51所示的图像生成处理的处理流程图。
图23是表示本发明的第二实施方式的计算机系统90的系统结构的图。
图24是表示在图23所示的储存器71中存储的墨水表格的例的图。
图25是图23所示的墨水服务器70的功能框图。
图26是表示图23所示的墨水服务器70的墨水文件再现处理的主程序的处理流程图。
图27是表示本发明的第三实施方式的计算机系统91的系统结构的图。
图28是表示在图27所示的储存器71中存储的墨水表格的例的图。
图29是表示图2所示的输入处理部31以及元数据生成部33的内部结构的变形例的图。
具体实施方式
以下,参照附图,详细说明本发明的优选的实施方式。
首先,说明本发明的第一实施方式的墨水文件的输出方法。图1是表示实现本实施方式的墨水文件的输出方法的计算机1的系统结构的图。如同图所示,计算机1具有位置检测器20、数字墨水生成装置30(墨水文件的输出装置)、数字墨水再现装置50、显示器60而构成。计算机1可以是这些结构全部一体化的装置,也可以是这些结构的一部分作为外部装置而连接到其他的结构的装置。作为前者的例,举出计算机1为所谓的平板PC的情况。作为后者的例,举出计算机1的主体为个人计算机,对该个人计算机作为外部装置而连接有位置检测器20以及显示器60的例。在哪一个情况下,计算机1都具备CPU、通信电路、存储装置等的通常的计算机具有的结构(未图示)。存储装置包括主存储器等的主存储装置和硬盘等的辅助存储装置而构成。计算机1的各功能通过CPU根据在存储装置中存储的程序来动作而实现。
位置检测器20是具有平板状的面板面和配置在其正下方的传感器的装置,与1个以上的电子笔P一同使用。在图1中,作为电子笔P的例,图示了2个电子笔PA、PB。在电子笔PA、PB的符号的右下标注的A、B的下标字符是用于区分多个电子笔的记号,在本说明书中,不需要特别区分多个电子笔的情况下,简单记载为电子笔P。电子笔PA、PB既有由一人的用户被交替地利用的情况,也有如使用图10或图11后述那样由多个用户被同时利用、且输出在图1中由WA以及WB所示的2个笔划那样先后(上下)关系部分调换的笔划的情况。
电子笔P是笔状的输入设备,通常以保持在用户的手上的状态下使用。用户通过将电子笔P的笔头在位置检测器20上移动,进行字符或图片的输入。虽然未图示,但电子笔P具有预先存储有每个电子笔P固有的笔识别信息PID(输入设备识别信息)的存储装置、对电子笔P按压位置检测器20的面板面的力、即笔压进行检测的笔压检测装置、能够取得打开或者关闭的任一个状态的侧开关以及用于从电子笔P对位置检测器20发送各种信号的发送装置而构成。在发送装置发送的信号中,包括表示笔识别信息PID的信号、表示由笔压检测装置所检测的笔压的信号、表示侧开关的状态的信号等。发送装置将这些信号以一定的周期来发送。
位置检测器20具有检测面板面内的各电子笔P的位置的功能和接收各电子笔P发送的上述各信息的功能而构成。具体说明位置的检测的话,构成位置检测器20的传感器具有分别沿着x方向(位置检测器20的表面内的一个方向)延伸的多个线状导体和分别沿着y方向(在位置检测器20的表面内与x方向正交的方向)延伸的多个线状导体分别以等间隔地配置的结构。位置检测器20基于通过电子笔P靠近面板面而产生的这些线状导体的电位的变化,检测表示面板面内的电子笔P的位置的点数据PD。点数据PD是由x坐标和y坐标的组合(x,y)构成的数据。该检测以与电子笔P的信号发送周期相同的周期来进行。位置检测器20通过USB或I2C等接口与数字墨水生成装置30连接,经由该接口,将检测到的点数据PD以及接收到的各种信息在每次检测或者接收时输出给数字墨水生成装置30。
数字墨水生成装置30是基于从位置检测器20提供的点数据PD以及各种信息,生成墨水文件40的装置。数字墨水生成装置30作为在计算机1的CPU上执行的、通过应用100被动态或者静态地链接的程序库或者从应用100利用的服务来实现。墨水文件40的细节在后述,但在墨水文件40中,包括分别包含用于再现电子笔P的移动轨迹的一系列的点数据PD的1个以上的笔划数据、与用于笔划数据的生成的电子笔P的笔识别信息PID对应的元数据(后述的逻辑名LN)。元数据是按每个笔划数据生成的,且与对应的笔划数据相对应地存储在墨水文件40内。墨水文件40存储在计算机1的未图示的存储装置中,根据需要而成为对于各种服务器的上传、基于电子邮件的发送等的对象。
数字墨水再现装置50是再现数字墨水生成装置30生成的墨水文件40的装置。数字墨水再现装置50实体上与数字墨水再现装置30同样,作为在计算机1的CPU上执行的、通过应用100被动态或者静态地链接的程序库或者服务来实现。具体而言,受到来自应用100的指示,从墨水文件40中选择性地取出期望的笔划数据而解码,进行已解码的笔划数据的描画处理,从而生成要在显示器60中显示的映像信号或作为栅格数据的图像文件61。图像文件61是例如JPEG或PNG的文件。本实施方式的数字墨水再现装置50尤其具有通过参照墨水文件40内的元数据,只提取通过特定的电子笔P而被生成的笔划数据而解码,并设为描画处理的对象的功能。关于这一点,在后面单独详细说明。
图2是数字墨水生成装置30的功能框图。如同图所示,数字墨水生成装置30在功能上具有输入处理部31、笔划数据生成部32、元数据生成部33、墨水数据保持部34以及墨水文件生成部37而构成。其中,墨水文件生成部37具有多个笔划数据编码部35-1~35-n以及元数据编码部36作为内部结构而构成。
这里,图2所示的应用100是在计算机1的CPU上执行的软件,起到控制墨水文件40的生成以及再现所涉及的计算机1的动作的作用。应用100例如考虑手写笔记应用、演示文稿应用、白板共享应用等各种应用。应用100构成为在数字墨水生成装置30以及数字墨水再现装置50(参照图1)之间能够经由计算机1的存储器相互供给后述的元数据信息M_inf或表格M_Tbl等各种信息。
输入处理部31是在每次从位置检测器20接收到各种信息(点数据PD、笔识别信息PID、表示笔压的信息、表示侧开关的状态的信息等)时,基于接收到的信息来生成事件数据,并分配提供给笔划数据生成部32、元数据生成部33以及应用100的功能部。输入处理部31典型地作为在计算机1上动作的操作系统中编入的与位置检测器20对应的设备驱动来实现。在从输入处理部31提供给笔划数据生成部32的数据中,包括点数据PD。此外,在提供给元数据生成部33的数据中,包括笔识别信息PID。另一方面,在应用100中,进行表示笔划数据SD的处理状况的信息D_inf的提供。应用100构成为,根据该信息D_inf来控制数字墨水生成装置30的动作。
在由输入处理部31所生成的事件数据中,除了从位置检测器20提供的信息之外,还包括表示电子笔P的状态的事件类型识别信息ETYPE(未图示)。事件类型识别信息ETYPE是用于识别由从位置检测器20输入的点数据PD所示的点是一系列的笔划中的哪个部分的信息,虽然在图2中未图示,可取表示电子笔P接触到面板面的落笔状态Pdown、表示电子笔P在面板面内移动的移笔状态Pmvd、表示电子笔P离开面板面的提笔状态Pup等值。
输入处理部31构成为能够基于从位置检测器20接收到的信息,检测电子笔P接触(落笔)到位置检测器20以及电子笔P离开(提笔)了位置检测器20。输入处理部31若检测出电子笔P接触(落笔)到位置检测器20,则将接下来生成的事件数据内的事件类型识别信息ETYPE的值设为落笔状态Pdown。之后,在电子笔P与位置检测器20的面板面接触的期间(即,从位置检测器20持续提供各种信息的期间),输入处理部31对事件数据内的事件类型识别信息ETYPE的值持续设定移笔状态Pmvd。最后,输入处理部31若检测出电子笔P离开(提笔)了位置检测器20,则将接下来生成的事件数据内的事件类型识别信息ETYPE的值设为提笔状态Pup。这样,输入处理部31生成以落笔状态Pdown开始、以提笔状态Pup结束的一系列的事件数据。
笔划数据生成部32是从输入处理部31接受点数据PD的提供,生成包含1个以上的点数据PD的笔划数据SD的功能部。笔划数据生成部32典型地通过在计算机1的CPU中执行的被称为程序库或者服务的程序来实现。笔划数据生成部32通过参照从输入处理部31提供的事件类型识别信息ETYPE的值,生成包含在从表示落笔状态Pdown的事件数据到表示提笔状态Pup的事件数据为止的各事件数据中包含的一系列的点数据PD的1个笔划数据SD。
这里,在笔划数据SD中包含的点数据PD中,存在各种类型。笔划数据生成部32既可以将从输入处理部31提供的点数据PD的值原样包含在笔划数据SD中,也可以将通过进行加权平均或者指数平滑法等的平滑处理或间拔处理、或者在专利文献1中记载的数字墨水那样进行压缩处理等而间拔后的点数据PD的值包含在笔划数据SD中。此外,也可以将在决定贝塞尔曲线等插值曲线的曲线性状的基础上被再现的轨迹上不存在的外部的控制点的位置或者二维矢量作为点数据PD的值而加到笔划数据SD中。笔划数据生成部32构成为,将所生成的笔划数据SD存储在墨水数据保持部34中。
元数据生成部33是基于从输入处理部31提供的笔识别信息PID,生成作为元数据的逻辑名LN的功能部。元数据生成部33也典型地通过在计算机1的CPU中执行的被称为程序库或者服务的程序来实现。元数据生成部33在从输入处理部31提供的事件数据中包含了表示落笔状态Pdown的事件类型识别信息ETYPE的情况下,生成与在该事件数据中包含的笔识别信息PID对应的逻辑名LN。逻辑名LN的具体的内容如在后面说明的图8所示,成为通过从字符串、散列值、URN这样的3种形式中由应用100所选择的1种形式而被描述的内容。应用100通过对元数据生成部33提供描述了逻辑名LN的输出形式的元数据信息M_inf以及描述了通过单一的格式来描述的1个以上的逻辑识别信息LID和逻辑名LN的组的表格M_Tbl,进行逻辑名LN的形式的选择以及与各个逻辑识别信息LID对应的逻辑名LN的指定。元数据生成部33构成为,将所生成的逻辑名LN存储在墨水数据保持部34中。
墨水数据保持部34构成为,将从元数据生成部33提供的逻辑名LN和从笔划数据生成部32提供的笔划数据SD相关地存储。具体而言,将根据某电子笔P成为落笔状态Pdown而从元数据生成部33提供的逻辑名LN和根据该电子笔P接下来成为提笔状态Pup而从笔划数据生成部32提供的笔划数据SD相关地存储。
墨水文件生成部37是基于在墨水数据保持部34中保持的笔划数据SD以及逻辑名LN,生成墨水文件40的功能部。由墨水文件生成部37所生成的墨水文件40如在后面说明的图14所示,构成为包括包含笔划数据SD的墨大块和包含作为元数据的逻辑名LN的元数据大块。
笔划数据SD以通过从与分别相互不同的格式(数据结构以及编码方式)对应的笔划数据编码部35-1~35-n中、与由应用100所选择的一个格式对应的笔划数据编码部35进行了编码的状态,存储在墨大块内。作为笔划数据编码部35-1~35-n对应的笔划数据的格式的例,举出InkML、ISF等非专利文献1~4中记载的格式、参照图15、图16说明的涉及本发明的格式等。
应用100通过对墨水文件生成部37提供作为指定笔划的数据格式的信息的笔划数据格式S_Fmt,进行笔划数据编码部35的选择。关于笔划数据格式S_Fmt的细节,在后面参照图15详细说明。
另一方面,逻辑名LN作为包含用于将1个以上的笔划数据SD对应于该逻辑名LN的描述的元数据块的一部分,存储在元数据大块中。元数据块通过XML格式来描述。更确定地说,通过XMP(扩展元数据平台(Extensible Metadata Platform))形式的格式来描述。被描述的元数据块通过UTF-8等编码方式,由元数据编码部36进行编码(二值化),并存储在元数据大块内。
图3以及图4是表示生成墨水文件40的处理的主程序的处理流程图。以下,参照这些图再次详细说明数字墨水生成装置30进行的处理。
在该处理中,如图3所示,首先,分别对变量stroke_id设定数值“1”,对变量uorder以及变量CS设定数值“0”(步骤S1)。变量stroke_id是不通过笔识别信息PID来区分,为了固有地识别笔划而被赋予的识别信息(笔划识别符)。此外,变量uorder是用于存储生成了笔划或者笔划的部分性的分段的顺序而使用的变量(顺序信息),变量CS是表示当正在输入某笔划的期间由位置检测器20同时检测到的电子笔P的个数的数字数据。
接着,由输入处理部31检测到电子笔P的状态(步骤S2)。在步骤S2中检测到电子笔P成为了落笔状态Pdown的情况下,输入处理部31从位置检测器20取得笔识别信息PID(步骤S10),并提供给元数据生成部33。元数据生成部33基于被提供的笔识别信息PID,进行第stroke_id个逻辑名LN的生成(步骤S11)。后面参照图5~图8进一步详细说明该逻辑名LN的生成处理。
接着,输入处理部31基于包括表示笔压的信息的来自位置检测器20的输入信息,取得笔划宽度等的风格信息(步骤S12),且从位置检测器20取得点数据PD(步骤S13)。在步骤S13中取得的点数据PD成为表示1个笔划的开始点的开始坐标(x0,y0)。另外,步骤S10、S12、S13中的各种信息的取得的顺序并不限定于这里记载的顺序。
接着,输入处理部31对笔划识别符Stroke_id(ID)设定该时刻的变量stroke_id的值(步骤S14)。笔划识别符Stroke_id(PID)是与变量stroke_id同样地用于识别各个笔划的信息,但为了进行基于笔识别信息PID的区分,以将笔识别信息PID作为索引(或者密钥)的联想排列的形式来保持。该联想排列用于临时保存应被赋予通过由在步骤S10中取得的笔识别信息PID所示的电子笔P今后生成的笔划数据SD的变量stroke_id而被使用。这样,将各种变量(stroke_id、uorder等)除了通常的变量之外还另外以联想排列的形式来保持是为了:在通过多个不同的电子笔P而被同时输入笔划数据的期间,能够根据索引(或者密钥)来区分而取出对正在输入的多个笔划分别赋予的stroke_id或uorder的值。
此外,输入处理部31对顺序信息Uorder(PID)代入该时刻的变量uorder的值(步骤S15)。顺序信息Uorder(PID)也是将笔识别信息PID作为索引的联想排列。顺序信息Uorder(PID)是表示针对多个电子笔P的每一个检测到的多个点数据PD间(或者点数据PD的分段间)的相对的检测顺序(描画顺序)的信息,与检测到的点数据PD相对应地存储(后述的步骤S16、S24、S34)。顺序信息Uorder(PID)的值存在通过在后述的步骤S23、S33中执行的顺序确认处理而被更新的情况。后面参照图9~图11说明顺序确认处理的细节。
接着,数字墨水生成装置30将在步骤S10中取得的笔识别信息PID、在步骤S13中取得的点数据PD、以及最新的顺序信息Uorder(PID)相对应地存储(步骤S16)。之后,变量stroke_id、变量CS、变量uorder分别被加1(步骤S17),且处理返回到步骤S2。
接着,在步骤S2中检测到电子笔P为移笔状态Pmvd的输入处理部31首先从位置检测器20取得笔识别信息PID以及点数据PD(步骤S20、S21)。在步骤S21中取得的点数据PD成为表示1个笔划的中途点的移动坐标(x1,y1)~(xn-1,yn-1)。另外,步骤S20、S21中的各种信息的取得的顺序也并不限定于这里记载的顺序。
接着,输入处理部31判定变量CS是否成为2以上(步骤S22),若是2以上,则进行顺序确认处理(步骤S23)。接着,输入处理部31将在步骤S20中取得的笔识别信息PID、在步骤S21中取得的点数据PD、以及最新的顺序信息Uorder(PID)相对应地存储(步骤S24)。之后,处理返回到步骤S2。
接着,在步骤S2中检测到电子笔P为提笔状态Pup的输入处理部31首先从位置检测器20取得笔识别信息PID以及点数据PD(步骤S30、S31)。在步骤S31中取得的点数据PD成为表示1个笔划的结束点的结束坐标(xn,yn)。另外,步骤S30、S31中的各种信息的取得的顺序也并不限定于这里记载的顺序。
接着,输入处理部31为了判定是否存在被同时输入的笔划,判定变量CS是否成为2以上(步骤S32),若是2以上,则进行与步骤S23同样的顺序确认处理(步骤S33)。接着,输入处理部31将在步骤S30中取得的笔识别信息PID、在步骤S31中取得的点数据PD、以及最新的顺序信息Uorder(PID)相对应地存储(步骤S34)。之后,变量CS的值被减1(步骤S35)。
接着,由笔划数据生成部32基于与在步骤S30中取得的笔识别信息PID相对应地存储的一系列的点数据PD以及顺序信息Uorder(PID),生成第Stroke_id(PID)个笔划数据SD(步骤S36)。另外,笔划识别符Stroke_id(PID)的值是在步骤S14中设定的值。在这里生成的笔划数据SD中,除了上述一系列的点数据PD以及顺序信息Uorder(PID)之外,还包括表示是第Stroke_id(PID)个笔划数据SD的信息以及在步骤S12中取得的风格信息。在步骤S36中生成的笔划数据SD与关于在步骤S30中取得的笔识别信息PID在步骤S11中生成的逻辑名LN相对应地保持在墨水数据保持部34中(步骤S37)。
直到从应用100提供上述的笔划数据格式S_Fmt为止的期间,重复执行以上的处理(步骤S38的否定判定)。若从应用100提供笔划数据格式S_Fmt,则墨水文件生成部37判定为被指示了墨水文件40的输出(步骤S38的肯定判定),执行步骤S40所示的墨水文件生成处理。由此,生成包括到这里为止生成的一系列的笔划数据SD的墨水文件40。后面参照图13~图19详细说明墨水文件生成处理的细节。
数字墨水生成装置30如以上那样进行墨水文件40的生成。以下,依次说明后面说明的各处理。
首先,参照图5~图8说明逻辑名LN的生成处理。
图5是表示图2所示的输入处理部31以及元数据生成部33的内部结构21的图。同图中还表示电子笔P以及位置检测器20的4个类型TY1~TY4。这样,在电子笔P以及位置检测20中有若干个类型(设备类别),但无论是哪种类型,电子笔P的点数据PD都通过位置检测器20而被检测,并提供给输入处理部31。
另一方面,针对笔识别信息PID等电子笔P发送的各种信息,在类型TY1、TY2中,位置检测器20暂且接收并提供给输入处理部31,但在类型TY3中,从电子笔P直接发送给输入处理部31。作为类型TY3的电子笔P,举出如在专利文献2中记载的电子笔那样的笔。电子笔P的点数据PD通过作为静电电容式的触摸面板的位置检测器20而被检测,且通过内部的接口而被提供,另一方面,不是笔压等的点数据PD的数据经由利用了Bluetooth(注册商标)等的其他通信信道而被提供给输入处理部31。
类型TY4的电子笔P典型地是如在静电电容方式的触摸面板中使用的触摸笔那样的输入设备。类型TY4的电子笔P也有是如用于进行位置输入的鼠标设备那样的设备的情况。类型TY4的电子笔P不存储笔识别信息PID,因此,在使用该类型的电子笔P的情况下,不对输入处理部31提供笔识别信息PID。以下,在电子笔P或者位置检测器20的符号的末尾附注为(TYn)的情况下,表示该电子笔P或者位置检测器20为类型TYn(n为1~4的整数)。此外,将涉及类型TY1~TY3的笔识别信息PID分别记载为笔识别信息PID1~PID3。
输入处理部31构成为具有输入输出接口(I/O)310和驱动311~315。输入输出接口310是根据USB或I2C、或者BlueTooth(注册商标)等的通信标准而构成的通信电路,输入处理部31起到实现在各类型的位置检测器20以及类型TY3的电子笔P(TY3)之间进行的通信的作用。
驱动311是用于对位置检测器20(TY1)进行控制/操作的软件(设备驱动)。驱动311具有从位置检测器20(TY1)接收包括点数据PD以及笔识别信息PID1的各种信息,并将点数据PD输出给笔划数据生成部32,将笔识别信息PID1输出给元数据生成部33的功能。
作为第一笔识别信息PID的笔识别信息PID1是非专利文献5中记载的UniqueID的例的信息。笔识别信息PID1是利用K比特的ID空间的信息,且由在K比特中包括K1比特的按每个电子笔P不同的号码信息的固有信息UID和K2比特的笔头识别比特混合存在的格式(第1格式)来描述。更具体说明的话,如图7所示,笔识别信息PID1由K比特(44比特)构成,该K比特(44比特)由表示包括是类型TY1的电子笔P(TY1)的各种属性的12比特的属性信息CSR_TYPE和表示电子笔P(TY1)的序列号的32比特的序列号信息CSR_PHYSID构成。在由属性信息CSR_TYPE所示的属性中,例如,包括电子笔P(TY1)的笔头的种类(笔、喷笔等)、用于相互区分电子笔P(TY1)具有的多个笔头的信息等。后者的属性是在电子笔P(TY1)例如在两端具有笔头的情况下成为必要的属性,由属性信息CSR_TYPE内的1个以上的比特(K2比特,在例中为2比特)(以下,称为“笔头识别比特”)表示。根据该笔头识别比特,输入处理部31能够识别当前输入的点数据PD的输入是在某触控笔的笔尖(tip)侧进行还是同一个触控笔的笔尾(tail)侧(典型地说,对应了橡皮擦等功能)。序列号信息CSR_PHYSID与后述的笔识别信息PID2内的固有信息UID等不同,其本身没有成为按每个电子笔P不同的信息,通过与属性信息CSR_TYPE的一部分(除了上述笔头识别比特之外的部分)进行组合而成为按每个电子笔P不同的信息。
驱动312是用于对位置检测器20(TY2)进行控制/操作的软件(设备驱动)。驱动312具有从位置检测器20(TY2)接收包括点数据PD以及笔识别信息PID2的各种信息,并将点数据PD输出给笔划数据生成部32,将笔识别信息PID2输出给元数据生成部33的功能。
作为第二笔识别信息PID的笔识别信息PID2利用L比特的ID空间,且通过L2比特(16比特)的设备信息DID和为了固有地识别电子笔的各个框体而被设置的L1比特(35比特)的固有信息UID单纯地连结的格式(第2格式)来描述。具体而言,如图7所示,由包括是类型TY2的表示电子笔P(TY2)的各种属性的16比特的设备信息DID和按每个电子笔P包括不同的号码信息的35比特的固有信息UID构成。由设备信息DID表示的属性与上述的属性信息CSR_TYPE的情况基本相同,但也可以不包括上述的笔头识别比特。
驱动313是用于对电子笔(TY3)进行控制/操作的软件。驱动313具有从电子笔(TY3)接收包括笔识别信息PID3的各种信息,并输出给元数据生成部33的功能。
作为第三笔识别信息PID的笔识别信息PID3利用M比特的ID空间,且通过由M比特全部来识别电子笔的各个框体的格式(第3格式)来描述。具体而言,如图7所示,由按每个电子笔P包括不同的号码信息的48比特的固有信息UID来构成。作为赋予ID的体系,例如,利用48比特的BlueToth地址或包括IEEE EUI-48等厂商ID的地址。相当于笔识别信息PID2的设备信息DID的信息不包含在笔识别信息PID3中。
驱动314是用于对位置检测器20(TY3)进行控制/操作的软件(设备驱动)。驱动314具有从位置检测器20(TY3)接收包括点数据PD的各种信息,并将接收到的点数据PD输出给笔划数据生成部32的功能。
驱动315是用于对位置检测器20(TY4)进行控制/操作的软件(传感器驱动)。驱动315具有从位置检测器20(TY4)接收包括点数据PD的各种信息,并将接收到的点数据PD输出给笔划数据生成部32的功能。
元数据生成部33具有地址空间整合部330、LID转换部331、设备类型记录部332而构成。其中,地址空间整合部330具有UID提取部3300、3301和N比特空间映射处理部3302作为内部结构来构成。此外,LID转换部331具有切换部3310、名称导出部3311、散列部3312以及URN化部3313作为内部结构来构成。以下,沿着图6的处理流程图,说明元数据生成部33的处理,且说明这些各部的功能。
首先,元数据生成部33取得与数字墨水生成装置30连接的电子笔P以及位置检测器20的设备类别(上述的类型TY1~TY4)(步骤S110)。并且,进行与根据取得的设备类别来确定的笔识别信息PID的格式相应的处理(步骤S111的各选项)。以下,按每个类型进行说明。
首先,在设备类别为类型TY1的情况下,笔识别信息PID的格式被确定为第1格式。由于第1格式是在K比特中按每个电子笔P包括不同的号码信息的固有信息UID和笔头识别比特混合存在的格式,所以由UID提取部3300进行从通过对应的驱动311而被提供的笔识别信息PID1中提取按每个电子笔P包括不同的号码信息的固有信息UID的处理(步骤S111)。具体而言,如图7所示,通过从属性信息CSR_TYPE中相当于上述的笔头识别比特的部分用“0”比特来掩码而进行该提取。如图5所示,UID提取部3300将所提取的固有信息UID作为与类型TY1对应的固有信息UID1,提供给N比特空间映射处理部3302。此外,UID提取部3300还进行将掩码后的笔头识别比特的内容作为设备信息DID1提供给设备类型记录部332的处理。
接着,在设备类别为类型TY2的情况下,从驱动得到的笔识别信息PID2的格式是第2格式。在第2格式中,L1比特的设备信息DID和用于固有地识别电子笔的各个框体而被设置的L2比特的固有信息UID进行连结。因此,由UID提取部3301进行从通过对应的驱动312而被提供的笔识别信息PID2中提取按每个电子笔P包括不同的号码信息的固有信息UID的处理(步骤S111)。如图7所示,该提取是单纯地取出笔识别信息PID2内的固有信息UID的处理。如图5所示,UID提取部3301将所提取的固有信息UID作为与类型TY2对应的固有信息UID2,提供给N比特空间映射处理部3302。此外,UID提取部3301还进行将在笔识别信息PID2中包含的设备信息DID作为设备信息DID2提供给设备类型记录部332的处理。
接着,在设备类别为类型TY3的情况下,得到的笔识别信息PID是第3格式。第3格式利用M比特的ID空间,且由通过M比特全部来识别电子笔的各个框体的格式来描述。因此,笔识别信息PID3的整体作为与类型TY3对应的固有信息UID3提供给N比特空间映射处理部3302(步骤S112)。
最后,在设备类别为类型TY4的情况下,不存在得到的笔识别符。在不存在得到的笔识别符的情况下,由N比特空间映射处理部3302设定NULL(预定的虚拟数据)作为与类型TY4对应的固有信息UID4(步骤S113)。这是用于针对没有存储笔识别信息PID的类型TY4的电子笔P(TY4),也与其他类型的电子笔P同样地进行处理的措施,固有信息UID4不具有唯一地识别电子笔P的功能。
在通过步骤S111~S114而取得了固有信息UID之后,由N比特空间映射处理部3302进行将固有信息UID映射到N比特空间的处理(步骤S115)。该映射处理的结果,得到逻辑识别信息LID。以下,参照图7详细说明。
成为映射对象的空间的比特数并不特别限定,但在图7中成为64比特。映射处理包括接下来的第1步骤和第2步骤。
首先,在第1步骤中,根据笔识别符的格式,决定不同的比特数的固有信息UID(第1格式中为K1(42)比特,在第2格式中为L1(35)比特,在第3格式中为M(48)比特,针对类型TY4的设备为0比特)中最长的比特数(48比特)以上的1个比特数LLEN(例中为52比特)。该决定事前执行1次即可。对通过掩码处理或者分离处理而得到的固有信息UID,在开头附加作为“0”的填充数据以使成为比特数LLEN,从而将在各种格式中得到的固有信息UID统一成LLEN比特(52比特)的信息。
接着,在第2步骤中,对LLEN比特的固有信息的开头附加用于表示设备类别或者格式类别的PLEN比特(例中为12比特)的信息。在图7的例中,对于表示4种设备类别的信息,类型TY1由12比特来设定“1”,类型TY1由12比特来设定“2”,类型TY3由12比特来设定“3”,类型TY4由12比特来设定“4”。此外,在区分4个信息的情况下,2比特足以,但设为12比特是因为应对64比特或128比特等的2的幂级数作为ID空间比特数。
通过包括上述2个步骤的映射处理,最终得到的LLEN比特(52比特)+PLEN比特(12比特)的N比特(64比特)的信息成为逻辑识别信息LID。针对类型TY1~TY4的每一个得到的逻辑识别信息LID分别作为逻辑识别信息LID1~LID4,从N比特空间映射处理部3302提供给LID转换部331内的切换部3310。
切换部3310基于从应用100(参照图2)提供的元数据信息M_inf,选择名称导出部3311、散列部3312以及URN化部3313中的任一个(步骤S120)。该选择是根据用户或者应用100的开发者的与笔识别信息的公开有关的喜好而事前决定的。并且,构成为对所选择的功能部输出被提供的逻辑识别信息LID。
名称导出部3311是将逻辑识别信息LID转换为字符串,并将得到的字符串作为逻辑名LN而输出的功能部(步骤S121、S122)。应用100对名称导出部3311提供一个将逻辑识别信息LID和字符串相对应的表格M_Tbl。即使是作为笔识别符的格式而多个格式混合存在的环境,也因逻辑识别LID通过上述映射处理而映射到单一的空间,所以作为从应用100提供的表格而提供1个表格足以。名称导出部3311接受列举了逻辑识别信息LID和字符串的组的表格M_Tbl,从该表格M_Tbl中读出与从切换部3310提供的逻辑识别信息LID对应的字符串,从而进行上述的转换。此外,即使是在应用100侧进行名称导出部3311的转换的情况下,也同样地,应用100只安装只对由单一的格式来描述的逻辑识别信息LID进行处理的程序(routine)即可。
图8(a)是表示对名称导出部3311提供的表格M_Tbl的例的图。如同图所示,作为构成在该情况下的逻辑名LN的字符串,能够使用用户名。在之后再现墨水文件40时,能够进行基于人名的笔划数据SD的过滤。此外,通过将同一个用户名对应于多个电子笔P(逻辑识别信息LID),能够通过基于1个过滤条件的过滤来集中提取一个人使用多个电子笔P而描绘的多个笔划数据SD。此外,能够对于抗拒笔识别信息包含在墨水数据而被公开的用户、或与罗列了数值的笔识别信息相比更喜欢将笔识别信息进行了名称化的字符串的用户的喜好,输出与笔识别信息不同的信息。
如图8(b)所示,散列部3312是通过预定的一个方向函数而将逻辑识别信息LID转换为散列值,并输出得到的散列值作为逻辑名LN的功能部(步骤S123、S124)。在该情况下,为了在再现墨水文件40时进行笔划数据SD的过滤,指定基于散列值的过滤条件。这样,由于逻辑识别信息LID不会接触到用户的眼睛,所以能够对用户隐藏逻辑识别信息LID。另外,作为散列部3312使用的一个方向函数,优选使用被设计成能够将对1个散列值对应多个逻辑识别信息LID的可能性(即,产生所谓的冲突的可能性)在实用上设为零的函数。
如图8(c)也所示,URN化部3313是通过附加预定的标题而将逻辑识别信息LID转换为URN(统一资源名称(Uniform Resource Name)),并输出所得到的URN作为逻辑名LN的功能部(步骤S125、S126)。在图8(c)的例中,附加表示是适合本发明的逻辑识别信息LID的体系的电子笔P的“urn:dev:wcm:”这样的标题。这样,能够限定应由逻辑识别信息LID所识别的电子笔P的范围,能够从赋予了其他发明的逻辑识别信息的墨水数据区分是赋予了本发明的逻辑识别信息LID的墨水数据。
设备类型记录部332具有基于从地址空间整合部330提供的设备信息DID,生成设备信息D_dscr,并输出给外部的功能。该设备信息D_dscr例如通过附加到逻辑名LN,在后级的处理中能够作为逻辑名LN的一部分来处理。这样,在后述的墨水文件40的再现时,能够作为过滤信息的一部分来使用设备信息DID。
以上,说明了逻辑名LN的生成处理。接着,参照图9~图11说明图3的步骤S23所示的顺序确认处理。另外,在步骤S33中进行的顺序确认处理也是同样的处理。
<顺序确认处理>
以下,参照图10的例说明顺序确认处理。2个笔划的先后关系是如将在2个图形对象中的哪一个确定为前景将哪一个确定为背景那样并不是简单的话题。在笔划的重叠关系中,需要调查在2个笔划交叉的图中由虚线框IS1所示的交叉的位置中的重叠关系。在图10的例中,同时使用2种电子笔PA、PB。如图10(b)所示,电子笔PA的轨迹由坐标A1~A4表示,电子笔PB的轨迹由坐标B1~B4表示。如图10(a)所示,电子笔PA的轨迹和电子笔PB的轨迹交叉,在该交点中,电子笔PA的轨迹配置在最前面。这样的配置在电子笔PA通过交点的定时成为比电子笔PB通过交点的定时之后的时刻的情况下产生。
在图3所示的处理流程中,若设2个电子笔PA、PB都成为了落笔状态Pdown,则表示几个笔划同时开始的变量CS成为2。于是,在电子笔PA、PB都维持移笔状态Pmvd的期间,由于步骤S22的判定结果成为肯定,所以针对电子笔PA、PB的每一个,在步骤S21中每次取得新的点数据PD的话,进行步骤S23的顺序确认处理。
图9表示在图3的步骤S21中取得了电子笔PA的第i个坐标Ai的情况(步骤S231)。在该情况下,输入处理部31判定由连接新取得的坐标Ai和关于电子笔PA前一次取得的坐标Ai-1的线段所示的笔划分段(笔划的一部分)是否与针对当前同时输入的其他的笔划已经输入的笔划分段交叉(步骤S232)。该判定不是现有的全部笔划和当前的笔划是否交叉的判定,而是仅限于当前同时输入的其他的笔划进行。在图10的例中,在i=2、4的情况下,判定结果成为否定,另一方面,在i=3的情况下,由连接坐标B2和坐标B3的线段所示的笔划分段已经存在,该笔划分段和由连接坐标A3和坐标A2的线段所示的笔划分段交叉,所以判定结果成为肯定。
在步骤S232中得到了否定判定的情况下,顺序确认处理结束。另一方面,在步骤S232中得到了肯定判定的情况下,变量uorder被加1(步骤S233),进一步,顺序信息Uorder(PID)通过新的变量uorder而被更新(步骤S234)。此时的笔识别信息PID是电子笔PA的笔识别信息PID。
图10(c)表示以上的顺序确认处理的结果,在图3的步骤S24中对各坐标对应的顺序信息Uorder(PID)的值。通过图3的步骤S15的处理,如同图所示,对坐标A1对应作为“0”的顺序信息Uorder(PID),对坐标B1对应作为“1”的顺序信息Uorder(PID)。之后,对于表示电子笔PB的轨迹的坐标B1~B4,任一个都对应为“1”的变量uorder{PID)。相对于此,针对电子笔PA的轨迹,在到达了坐标A3的时刻以后,对应作为“2”的顺序信息Uorder(PID)。由此,按照坐标A1、A2、坐标B1~B4、坐标A3、A4的顺序被描画的情况通过整数值来保存。
另外,若按照这样保存的描画顺序进行描画,则存在未必反映被输入的时刻顺序的情况。例如,在本实施方式的顺序确认处理中,没有检测坐标B4和坐标A4中的哪一个被先描画。
相对于此,例如,还能够与各坐标相对应地存储表示电子笔P到达了该坐标的时刻(绝对时刻或者从描画开始起的相对时刻)的信息。根据该方法,能够准确地保存全部坐标间的先后关系,且还能够如动画那样在画面上再现描画处理。此外,从以尽量少的数据量来适当地恢复笔划数据SD的先后关系的观点出发,如上所述那样保存顺序信息Uorder(PID)即可。这些还能够通过应用100的指定而选择。
参照图11所示的其他的例,再次说明顺序确认处理。该例表示2个以上的笔划被同时生成,在图中由虚线框IS2、IS3所示的位置中调换先后(上下)关系的同时多次交叉的复杂的例。
在该例中同时使用的电子笔P与图10的例相同,是电子笔PA、PB这2个。如图11(b)所示,电子笔PA的轨迹由坐标A1~A9表示,电子笔PB的轨迹由坐标B1~B5表示。如图11(a)所示,电子笔PA的轨迹和电子笔PB的轨迹在2处交叉。第1个是,通过由连接坐标A2和坐标A3的线段所示的笔划分段和由连接坐标B2和坐标B3的线段所示的笔划分段来实现的交叉,第2个是,通过由连接坐标A7和坐标A8的线段所示的笔划分段和由连接坐标B4和坐标B5的线段所示的笔划分段来实现的交叉。在前者中,电子笔PA的轨迹配置在最前面,在后者中,电子笔PB的轨迹配置在最前面。
与图10的例同样地,对坐标A1对应作为“0”的顺序信息Uorder(PID),对坐标B1对应作为“1”的顺序信息Uorder(PID)。之后,针对电子笔PB,直到坐标B4为止持续对应作为“1”的顺序信息Uorder(PID)。这是因为在进行直到坐标B4为止的描画的期间,不会发生电子笔PB的笔划分段与其他的现有的笔划分段交叉的状态。
另一方面,针对电子笔PA的轨迹,在到达了坐标A3的时刻以后,对应作为“2”的顺序信息Uorder(PID)。这是因为在被描画了由连接坐标A2和坐标A3的线段所示的笔划分段的时刻,在其正下方存在由连接坐标B2和坐标B3的线段所示的笔划分段。之后,对于表示电子笔PA的轨迹的坐标A3~A9,任一个都对应为“2”的顺序信息Uorder(PID)。
对电子笔PB的坐标B5,对应作为“3”的顺序信息Uorder(PID)。这是因为在被描画了由连接坐标B4和坐标B5的线段所示的笔划分段的时刻,在其正下方存在由连接坐标A7和坐标A8的线段所示的笔划分段。
通过以上的处理,如图11(c)所示,保存按照坐标A1、A2、坐标B1~B4、坐标A3~A9、坐标B5的顺序被描画的情况。
如上所述那样保存的先后关系被简化成,只有在发生描画处理的重叠关系(哪个在上面的层显示哪个在下面的层显示)的情况下,表现以分段单位的重叠关系。被输出的Uorder(PID)在多数情况下以笔划单位被提供,只有在同时发生了2个笔划且分段间交叉的稀少的情况下,被附加顺序信息。此外,由于其值只有在交叉的情况下取被增加的值,所以能够通过与点数据PD的编码同样地进行差分编码来减少数据量。
图12(a)是例示包括图11所示的笔划数据的1个墨水文件内存储的一系列的信息的图。此外,图12(b)是将(a)所示的一系列的信息根据顺序信息Uorder(PID)来排序的图。
如图12(b)所示,在1个墨水文件内,按每个顺序信息Uorder(PID),相对应地存储有笔划识别符Stroke_id(PID)、顺序信息的保存单位、一系列的点数据PD以及逻辑名LN(用于识别输入设备的信息)。另外,虽然细节在后面叙述,但其中逻辑名LN和笔划识别符Stroke_id(PID)的对应存储在元数据块内,其他的信息作为笔划数据而存储在墨水文件内。此外,在图12(a)、(b)中由黑粗框包围的部分是与图11所示的笔划数据对应的部分。这里,在图11(c)中,作为Uorder(PID)而利用了“0”~“3”的数字,但在图12中,为了表示前后存在其他的笔划数据的情况,分别作为“100”~“103”。
在图12中顺序信息的保存单位成为“笔划”的记录表示在由用户执行1次笔划的期间没有顺序信息Uorder(PID)的变更的笔划数据。另一方面,顺序信息的保存单位成为“笔划分段”的记录表示在由用户执行1次笔划的期间有顺序信息Uorder(PID)的变更的笔划数据。在后者的情况下,如图12所示,顺序信息Uorder(PID)变更之前的一系列的点数据PD和变更之后的一系列的点数据PD作为不同的记录而存储在墨水文件内。
以上,说明了顺序确认处理。接着,参照图13~图19说明图4的步骤S40所示的墨水文件生成处理。
<墨水文件生成处理>
图13是图2所示的墨水文件生成部37进行的墨水文件生成处理的处理流程图。在本发明中,墨水文件40例如通过RIFF(资源交换文件格式(Resource Interchange FileFormat))等通用元文件形式来生成。此外,在以下的例中,笔划数据SD通过对点数据PD进行差分编码的第一编码方式而被编码,上述的元数据块通过UTF-8等在元数据大块中包含的XML格式指定的字符串(字符)的编码方式而被编码。
如图13所示,墨水文件生成部37首先生成空的墨水文件40(步骤S401)。
图14表示通过RIFF而被生成的墨水文件40的结构。如同图所示,基于RIFF的墨水文件40具有从开头到末尾分别具有4字节的整数倍的尺寸的区域A1~A9按顺序排列的结构。
在区域A1~A9中存储的数据的具体内容如下所述。即,首先,在区域A1中,配置有表示该墨水文件40是通过RIFF而被生成的“R”“I”“F”“F”的4个字符。此外,在区域A2中,配置有表示该墨水文件40的尺寸的数值。区域A1、A2的尺寸分别为4字节。在区域A2内配置的文件尺寸利用于墨水文件40的再现装置(例如,图1所示的数字墨水再现装置50)掌握墨水文件40的结束位置(end position)。
在区域A3中,配置有表示在区域A4~A9中存储的墨水数据的整体通过本发明的墨水数据输出方法而被描述的4字符(例如,“W”“I”“L”“L”)的4字符。区域A3的尺寸也是4字节。在将区域A4~A9内的数据例如通过InkML等的其他形式来描述时,区域A3的存储内容当然成为与上述不同的内容。
在区域A4中,配置有表示在区域A5、A6中存储的数据是涉及通过在图15、图16中说明的笔划数据格式而被生成的墨大块的数据的字符串(例如,“I”“N”“K”“1”)的4字符。区域A4的尺寸也是4字节。
在区域A5中,存储有作为表示区域A6的尺寸的数据的墨大块尺寸。区域A5的尺寸也是4字节。该墨大块尺寸利用于墨水文件40的再现装置(例如,图1所示的数字墨水再现装置50)掌握区域A6的结束位置。
在区域A6中,存储有包括1个以上的笔划数据SD的墨大块。区域A9的尺寸是4字节的整数倍。在墨大块的数据量不是正好为4字节的整数倍的情况下,在末尾被插入预定的填充数据。后面参照图15~图17详细说明区域A6的具体的存储内容。
在区域A7中,配置有在区域A8、A9中存储的数据在XML形式中尤其通过XMP形式来描述的“X”“M”“P”“-”的4字符。区域A7的尺寸也是4字节。“-”是用于将区域A7的尺寸设为4字节的填充数据。
在区域A8中,存储有作为表示区域A9的尺寸的数据的元数据大块尺寸。区域A8的尺寸也是4字节。该元数据大块尺寸利用于墨水文件40的再现装置(例如,图1所示的数字墨水再现装置50)掌握区域A9的结束位置。
在区域A9中,存储有包括上述的元数据块的元数据大块。区域A9的尺寸是4字节的整数倍。在元数据大块的数据量不是正好为4字节的整数倍的情况下,在末尾被插入预定的填充数据。后面参照图18以及图19详细说明区域A9的具体的存储内容。
返回到图13。墨水文件生成部37在步骤S401中生成了空的墨水文件40之后,包括表示执行了本发明的墨水数据输出方法的4字符“W”“I”“L”“L”,且如图2所示,通过ASCII符号来包含用于识别被提供的笔划数据格式S_Fmt的类型的4字符“I”“N”“K”“1”(步骤S402)。
图15(a)是表示作为笔划数据格式S_Fmt的值而通过“I”“N”“K”“1”来识别的第一格式(编码方法)的一例的图。该例的笔划数据格式S_Fmt具有文档(Document)、风格(Style)、笔划(Stroke)这3个消息对象而构成。作为文档的消息对象表示1个墨大块,包括视框(viewBox)、整数化精度信息(decimalPrecision)、风格(Styles)、笔划(Strokes)的各属性和表示各个密钥的数字(“1”~“4”)而构成。作为风格的消息对象表示作为文档的消息对象内的风格属性的具体内容,这里,包括笔划宽度(strokeWidth)属性和表示其密钥的数字而构成。作为笔划的消息对象表示作为文档的消息对象内的笔划属性的具体内容,包括与点数据PD对应的点(point)、用于对笔划进行固有识别的笔划识别信息(stroke_id)的各属性和表示各个密钥的数字而构成。另外,这些属性中附注为“repeated”的属性表示也可以包括多个相同的属性。
图15(b)是表示各属性的具体的表现形式的图。如同图所示,各属性由表示密钥的8比特的比特串和表示值的可变长(但为8比特的整数倍)的比特串表示。表示密钥的比特串由表示密钥(该例中为“1”)的5比特的比特串a和表示数据类型的3比特的比特串b构成。表示值的比特串由用于表现值所需的数目的可变长字节数来表示。在整数型的情况下,利用值的绝对值越大则需要越大的字节数的编码方法。表示值的比特串由将应存储的比特串从开头开始依次分解为各7比特的比特串,并调换它们的顺序而从后侧开始依次排列而成的比特串c构成。另外,在各7比特的比特串的每一个的开头,附加用于表示比特串c的结束的比特c1。比特c1在“0”的情况下表示比特串c的结束。
针对如笔划属性那样具有层次结构的属性,如图15(c)所示,通过在值中配置有密钥(k)和值(V)的多个对这样的结构来描述。例如,在图15(c)的例中,在密钥为“4”的笔划属性的值中,包括多个点属性(密钥=“1”)和1个笔划识别信息属性(密钥=“2”)。
返回到图13。墨水文件生成部37在图14的A4的部分中,通过ASCII符号来包含用于识别笔划数据格式S_Fmt的字符串之后,通过根据该笔划数据格式S_Fmt的编码方式(第一格式),进行对在墨水数据保持部34中储存的一系列的笔划数据SD进行编码的处理(步骤S403、S404)。从图3以及图4所示的处理流程可知,在墨水数据保持部34内,存储有从第1个到第stroke_id-1个为止的笔划数据SD。墨水文件生成部37将这些笔划数据SD根据笔划数据格式S_Fmt依次进行编码。
进一步详细说明基于第一格式的笔划数据SD的编码。图16是图13的步骤S404所示的笔划数据编码处理的处理流程图。如同图所示,进行笔划数据编码处理的墨水文件生成部37首先从图2所示的应用100取得视框属性的值,并与视框属性的密钥(1)一同,根据图15(b)所示的形式进行编码(步骤S4041)。接着,墨水文件生成部37从应用100取得整数化精度信息属性的值,并与整数化精度信息属性的密钥(2)一同,根据图15(b)所示的形式进行编码(步骤S4042)。
接着,墨水文件生成部37对风格属性的密钥(3)和值进行编码(步骤S4043)。这里,从笔划数据格式S_Fmt内的描述(参照图15(a))能够理解,风格属性具有层次结构。因此,在风格属性的值中,与图15(c)所示的例同样地,存储有位于下层的笔划宽度属性的密钥(1)和值。作为笔划宽度属性的值,使用在图3的步骤S12中输入处理部31取得的风格信息。
接着,墨水文件生成部37在对笔划属性的密钥(4)进行了编码之后(步骤S4044),实施笔划属性的值的编码(步骤S4045~S4052)。具体说明的话,首先,关于在笔划数据SD内包含的一例的坐标的每一个,对点属性的密钥(1)进行编码(步骤S4045),接着,进行点属性的值的编码(步骤S4046~S4048)。点属性的值由点数据PD以及顺序信息Uorder(PID)的组合构成。
点属性的值的编码具体如下执行。即,首先,通过使用在步骤S4042中取得的整数化精度信息属性的值的以下的式(1),将x坐标以及y坐标的每一个转换为整数值(步骤S4046)。另外,式(1)中的xfloat、yfloat分别表示作为浮动小数点数型的转换前的x坐标以及y坐标,xint、yint分别表示作为整数型的转换后的x坐标以及y坐标,decimalPrecision表示整数化精度信息属性的值。此外,位于右边的开头的(int)的标记表示只取出整数部的函数。
[表达式1]
接着,导出x坐标以及y坐标的每一个的差分值(步骤S4047)。如以下的式(2)以及式(3)所示,该差分值的导出如下进行:针对第0个坐标,输出该坐标的值作为差分值,针对第i个坐标,输出从位于前一个的第i-1个坐标减去第i个坐标的值所得的值作为差分值。另外,式(2)以及式(3)中的xdiff、ydiff表示针对x坐标以及y坐标的每一个所导出的差分值。这样在整数值化的基础上求出差分值进行编码是为了:通过使用在图15(b)中说明的可变字节符号等可变长编码方法,进行对某符号(例如0)的发生概率具有偏倚的熵编码,从而削减笔划数据SD的数据量。
[表达式2]
若完成了差分值的导出,则墨水文件生成部37进行所导出的差分值以及顺序信息Uorder(PID)的编码(步骤S4048)。该编码的细节如参照图15(b)(c)说明所述。
墨水文件生成部37针对笔划数据SD内的全部点数据PD重复步骤S4045~S4048的处理(步骤S4050)。并且,在针对全部点数据PD完成了处理之后,对笔划识别信息属性的密钥(2)进行编码(步骤S4051),进一步,作为笔划识别信息属性的值进行编码(步骤S4052)。由此,笔划识别信息属性的值成为在墨水文件40内唯一地识别笔划数据SD的信息。通过以上的处理,完成笔划属性的密钥和值的编码。之后,墨水文件生成部37输出已编码的一系列的数据(步骤S4053)。
返回到图13。在完成了全部笔划数据SD的编码之后,墨水文件生成部37将通过步骤S402、S404中的编码处理而得到的一系列的数据写入墨水文件40的区域A6(参照图14)内(步骤S405)。由此,完成墨大块的生成。
这里,作为与在图15以及图16中说明的第一格式(第一编码方法)不同的格式(编码方法)的例,图17表示在使用了InkML形式的情况下的笔划数据SD。在该情况下,在图14所示的区域A4中,例如“I”“N”“K”“2”所示,存储与在利用第一格式的情况不同的字符串。InkML形式的笔划数据SD通过XML形式来描述,如图17所示,通过在trace标签内依次配置一系列的点数据PD来描述。另外,trace标签内的各点数据PD通过伽马(,)而被隔开,各点数据PD通过X坐标、Y坐标、风格信息(该例中为笔压信息)以及顺序信息Uorder(PID)在空间被隔开的形式来描述。但是,在图17的例中,没有图示顺序信息Uorder(PID)。在图17中,表示各自的笔划识别信息属性为“sd0”~“sd4”的5个笔划数据SD0~SD4。InkML形式的笔划数据SD以构成XML的字符通过UTF-8等编码处理而被编码的状态,存储在墨水文件40的区域A6内。
返回到图13。在完成了墨大块的生成之后,墨水文件生成部37进行通过逻辑名LN而将笔划数据SD进行分组的处理(步骤S406)。另外,该分组处理是为了削减元数据大块的数据量而进行的。
<分组处理>
图18是图13的步骤S406所示的笔划数据分组处理的处理流程图。如同图所示,该处理针对在墨水数据保持部34中储存的第1个到第stroke_id-1个为止的逻辑名LN的每一个顺次进行(步骤S4061)。具体说明的话,墨水文件生成部37首先从墨水数据保持部34取得第i个逻辑名LN(步骤S4062),判定是否已经对该逻辑名LN分配了组(步骤S4063)。若不是已经分配(步骤S4063的否定判定),则墨水文件生成部37生成新的组,并分配给在步骤S4062中取得的逻辑名LN(步骤S4064)。在步骤S4063中判定为已经分配的情况下以及步骤S4064的处理结束的情况下,对分配给在步骤S4062中取得的逻辑名LN的组关联在墨水数据保持部34中保持的第i个笔划数据SD(步骤S4065)。在直到第stroke_id-1个逻辑名LN为止结束了以上的处理之后,成为各笔划数据SD与任一个组相关联的状态。
返回到图13。在结束了笔划数据分组处理之后,墨水文件生成部37针对在步骤S406中生成的各组,进行对逻辑名LN对应1个或者多个笔划数据SD的元数据块的生成(步骤S407、S408)。
图19是表示元数据大块的一例的图。该元数据大块通过应用了XML形式的XMP形式来描述。如同图所示,包括2个元数据块B1、B2而构成。在图13的步骤S408中,按每一个组进行这样的元数据块的生成。
<元数据块的生成>
元数据块是为了将笔划数据生成部32生成的M个(M是1以上的整数)笔划数据与用于确定元数据生成部33生成的电子笔等输入设备的N种(N是1以上且M以下的整数)元数据以N:M来对应,保持在与笔划数据大块不同的元数据大块中的信息。
图19所示的、元数据块B1内的描述B1a表示对应的逻辑名LN(这里是“大卫·史密斯”)。此外,元数据块B1内的描述B1b表示分配给与逻辑名LN“大卫·史密斯”对应的1个以上的笔划数据SD的每一个的笔划识别信息属性的值(这里是第1个~第5个)。在该例中,存在2种(N=2)元数据。此外,通过这些描述B1a、B1b,元数据块B1作为将用于确定电子笔PA(第一输入设备)的逻辑名LN(第一元数据)与将由电子笔PA所生成的1个以上的笔划数据SD(第一笔划数据)进行分组而成的第一组(由在描述B1b内描述的笔划识别信息属性的值所确定的组)相对应的信息来发挥作用。
同样地,元数据块B2内的描述B2a表示对应的逻辑名LN(这里是“格雷格·纳尔逊”),元数据块B2内的描述B2b表示分配给与逻辑名LN“格雷格·纳尔逊”对应的1个以上的笔划数据SD的每一个的笔划识别信息属性的值(这里是第6个~第9个)。通过这些描述B2a、B2b,元数据块B2作为将用于确定电子笔PB(第二输入设备)的逻辑名LN(第二元数据)与将由电子笔PB所生成的1个以上的笔划数据SD(第二笔划数据)进行分组而成的第二组(由在描述B2b内描述的笔划识别信息属性的值所确定的组)相对应的信息来发挥作用。
这里,在图19所示的元数据块B1、B2中,由分配给对应的1个以上的笔划数据SD的每一个的笔划识别信息属性的开始号码和结束号码来确定上述的第一以及第二组的每一个。这样的特定方法通过分配给与各组对应的1个以上的笔划数据SD的每一个的笔划识别信息属性是由连号的数字构成的数据来实现。在分配给与各组对应的1个以上的笔划数据SD的每一个的笔划识别信息属性是由分散的数字构成的数据的情况下,只要将对应的笔划识别信息属性重新编号以使成为连号或者通过列举来确定组即可。
返回到图13。在针对全部的组完成了元数据块的生成之后,墨水文件生成部37基于生成的元数据块来生成图19所例示的元数据大块的整体,通过与第一格式不同的第二格式来进行了编码之后,写入墨水文件40的区域A9(参照图14)内(步骤S409)。通过以上的处理,完成墨水文件40的生成。
如以上所说明,根据本实施方式的墨水文件的输出方法,能够在墨水文件40内相对应地存储逻辑名LN和笔划数据SD。因此,在再现墨水文件40时,能够基于在墨水文件40内写入的信息,将逻辑名LN和笔划数据SD相对应,所以能够实现与逻辑名LN即电子笔P相应的墨水文件40的再现处理。
此外,即使是在与笔划数据的编码方法不对应的情况下,也能够在进行笔划数据的解码之前判别由特定的输入设备所书写的笔划数据是否包含在墨水文件中。
以下,参照图20~图22说明如上所述的墨水文件40的再现。
<墨水文件40的再现处理>
图20是图1所示的数字墨水再现装置50的功能框图。如同图所示,数字墨水再现装置50在功能上具有墨水文件接受部51、元数据解码部52、笔划数据解码部53-1~53-n、墨水数据保持部54以及图像生成处理部55而构成。
墨水文件接受部51是接受由数字墨水生成装置30所生成的墨水文件40的输入的功能部。墨水文件接受部51构成为,将在墨水文件40中包含的元数据大块MC以及墨大块IC分别输出给元数据解码部52以及笔划数据解码部53-1~53-n。
元数据解码部52是对元数据大块MC进行解码,且从应用100接受过滤信息的输入的功能部。过滤信息是确定1个以上的逻辑名LN的信息,例如由用户所指定。元数据解码部52根据过滤信息,从解码后的元数据大块MC中提取应再现的笔划识别信息stroke_id。此外,根据元数据大块MC中的描述,确定墨大块IC的编码方式。并且,构成为,对与所确定的编码方式对应的笔划数据解码部53提供所提取的笔划识别信息stroke_id。
参照具体的例说明元数据解码部52的上述处理的话,例如在对具有图19所示的元数据大块的墨水文件40指定了过滤信息“大卫·史密斯”的情况下,由元数据解码部52所提取的笔划识别信息stroke_id成为第1个到第5个。此外,由于根据图19所示的元数据大块内的描述,能够理解墨大块IC是通过WILL来进行编码,所以元数据解码部52对与WILL对应的笔划数据解码部53提供所提取的第1个到第5个笔划识别信息stroke_id。
除此之外,元数据解码部52还进行将通过过滤信息来指定的1个以上的逻辑名LN提供给墨水数据保持部54的处理。
与图2所示的笔划数据编码部35-1~35-n同样地,笔划数据解码部53-1~53-n分别对应于相互不同的格式(编码方式)。各笔划数据解码部53构成为,根据从元数据解码部52被提供1个以上的笔划识别信息stroke_id,通过对应的编码方式,对从墨水文件接受部51提供的墨大块IC进行解码。此时,针对墨大块IC内的相当于笔划数据SD的部分,只将与从元数据解码部52提供的1个以上的笔划识别信息stroke_id对应的笔划数据SD作为解码处理的对象。这是为了削减解码处理的开销。并且,笔划数据解码部53构成为,针对解码后的1个以上的笔划数据SD的每一个,将解码结果输出给墨水数据保持部54。
墨水数据保持部54构成为,从笔划数据解码部53提供的笔划数据SD中提取一系列的点数据PD以及顺序信息Uorder(PID),并提供给图像生成处理部55。图像生成处理部55构成为,基于这样提供的一系列的点数据PD以及顺序信息Uorder(PID),生成要在显示器60中显示的映像信号或作为栅格数据的图像文件61。
图21是表示再现墨水文件40的处理的主程序的处理流程图。以下,参照同图再次进一步详细说明数字墨水再现装置50进行的处理。
如图21所示,数字墨水再现装置50首先接受指定1个以上的逻辑名LN的过滤信息(步骤S50)。接着,基于该过滤信息来进行图像生成处理(步骤S51)。
图22是图21的步骤S51所示的图像生成处理的处理流程图。如同图所示,在该处理中,首先,由墨水文件接受部51从墨水文件40中分离墨大块IC以及元数据大块MC(步骤S510)。接着,由元数据解码部52,对通过UTF-8进行了编码的元数据大块MC进行解码(步骤S511)。之后,元数据解码部52从解码后的元数据大块MC中取得墨大块IC的编码方式(步骤S512),且从解码后的元数据大块MC中取得与通过过滤信息而被指定的逻辑名LN对应的笔划数据SD的笔划识别信息stroke_id(步骤S513)。
接着,由与在步骤S512中取得的编码方式对应的笔划数据解码部53进行墨大块的解码(步骤S514)。这里进行解码的部分是相当于例如在图13的步骤S402中进行了编码的笔划数据格式S_Fmt的部分。接着,笔划数据解码部53针对与在步骤S513中取得的一系列的笔划识别信息stroke_id对应的1个以上的笔划数据SD,实施基于在步骤S512中取得的编码方式的解码(步骤S515、S516)。最后,针对这样解码后的一系列的笔划数据SD,图像生成处理部55进行描画。此时,图像生成处理部55不是逐一地描画笔划数据SD,而是按照在各笔划数据SD内与点数据PD相对应地存储的顺序信息Uorder(PID)(参照图12(b))从小到大的顺序进行各坐标的描画。通过以上,结束图21的步骤S51所示的图像生成处理。
如以上所说明,根据本实施方式的墨水文件的再现方法,在再现通过本实施方式的墨水文件的输出方法而生成的墨水文件40时,能够只将与由过滤信息所指定的逻辑名LN对应的笔划数据SD作为描画的对象。
此外,在再现通过本实施方式的墨水文件的输出方法而生成的墨水文件40时,能够事前判定是否包括与由过滤信息所指定的逻辑名LN对应的笔划数据。
此外,笔划数据解码部53由于只对与由过滤信息所指定的逻辑名LN对应的笔划数据SD进行解码,所以与在对墨大块IC的整体进行解码之后,只选择与由过滤信息所指定的逻辑名LN对应的笔划数据SD的情况相比,能够缩小解码所需的处理的开销。
此外,在生成墨水文件时,在笔划数据SD内与各坐标相对应地存储顺序信息Uorder(PID),从而将坐标的描画顺序保存在笔划数据SD内,在墨水文件的再现时,根据该描画顺序来进行各坐标的描画,所以能够再现如图11所例示的多个笔划数据SD间的复杂的先后关系。
接着,说明本发明的第二实施方式的墨水文件的管理方法。图23是表示实现本实施方式的墨水文件的管理方法的计算机系统90的系统结构的图。如同图所示,计算机系统90具备多个计算机1和墨水服务器70(墨水文件的管理装置)而构成。
各计算机1与在第一实施方式中说明的是同样的,构成为与位置检测器20或显示器60连接,能够进行墨水文件40的生成以及再现。但是,在本实施方式中,由于墨水服务器70进行墨水文件40的再现,所以各计算机1不需要一定具备图1所示的数字墨水再现装置50。此外,如图23所示,本实施方式的计算机1构成为,将墨水文件40的检索条件输出给墨水服务器70,作为其结果,从墨水服务器70接受图像文件61的提供。该图像文件61是与图1所示的相同的。另外,在图23中,描画成只对上侧的2台计算机1连接位置检测器20,只对下侧的2台计算机1连接显示器60,但这是为了说明而简化的描画,可以对位置检测器20所连接的计算机1连接显示器60,也可以对显示器60所连接的计算机1连接位置检测器20。
墨水服务器70是实现所谓的云服务的服务器,具备CPU、通信电路、存储装置等通常的服务器计算机具有的结构(未图示)。存储装置包括主存储器等主存储装置和硬盘等辅助存储装置而构成。墨水服务器70的各功能通过CPU根据在存储装置中存储的程序来动作而实现。
在墨水服务器70上,连接有作为外部存储装置的储存器71。若通过计算机1中的用户操作而从计算机1对墨水服务器70发送(上传)墨水文件40,则墨水服务器70在该储存器71中存储所接收的墨水文件40。
储存器71除了这样存储的墨水文件40之外,还存储图24中例示的墨水表格。如图24所示,墨水表格是按每个墨水文件40存储该墨水文件40的文件名(确定墨水文件40的信息)、表示上传了该墨水文件40的用户的账户的信息(例如,墨水服务器70的登录账户)、在该墨水文件40中存储的元数据大块内描述的1个以上的逻辑名LN、与该1个以上的逻辑名LN分别对应的1个以上的逻辑识别信息LID、在该墨水文件40中存储的笔划数据SD的编码方式(WILL、InkML等)的表格。
墨水服务器70若从计算机1接收到墨水文件40,则暂且对其进行解码,取得在元数据大块内描述的1个以上的逻辑名LN和笔划数据SD的编码方式。并且,将它们与文件名以及表示用户的账户的信息一同追记到墨水表格中。
这里,由于在第一实施方式中说明的墨水文件40不包括逻辑识别信息LID的描述,所以墨水服务器70即使对墨水文件40进行了解码,也不能得到逻辑识别信息LID。因此,在使用在第一实施方式中说明的墨水文件40的情况下,墨水服务器70需要与墨水文件40分开从计算机1取得每个逻辑名LN的逻辑识别信息LID。在使用包括逻辑识别信息LID的描述的墨水文件40的情况下,墨水服务器70与上述的逻辑名LN的情况同样地,从墨水文件40内的描述得到逻辑识别信息LID即可。
另外,在不能取得逻辑名LN以及逻辑识别信息LID中的一方或者双方的情况下,墨水服务器70将墨水表格的对应栏设为空白即可。此外,在墨水表格中设置逻辑识别信息LID的列并不是必须的,在不需要使用逻辑识别信息LID作为检索条件之一的情况下,也可以从墨水表格去除逻辑识别信息LID的列。
图25是表示墨水服务器70的功能块的图。如同图所示,墨水服务器70在功能上具有墨水文件选择部73、元数据解码部74、切换部75、笔划数据解码部76-1~76-n、墨水数据保持部77以及图像生成处理部78而构成。
墨水文件选择部73是从在储存器71中存储完毕的1个以上的墨水文件40中选择1个以上的墨水文件40的功能部。此外,接受部72是从计算机1接受用于指定图24所示的文件名、账户、逻辑名LN、逻辑识别信息LID以及编码方式中的任一个以上的检索条件的输入的功能部。
接受部72进行通过参照储存器71内的墨水表格,确定符合由检索条件所指定的条件的墨水文件40,使墨水文件选择部73选择该墨水文件40的处理。此外,接受部72构成为进行将与所确定的墨水文件40对应的墨大块的编码方式通知给切换部75的处理,且还进行在指定了逻辑名LN或者逻辑识别信息LID的情况下,对元数据解码部74输出用于确定所指定的逻辑名LN或者逻辑识别信息LID的过滤信息的处理。该过滤信息与在图20中说明的过滤信息是同样的。另外,在检索条件中没有指定逻辑名LN以及逻辑识别信息LID中的任一个的情况下,不需要过滤信息的输出。此外,墨水文件选择部73构成为,将在所选择的墨水文件40中包含的元数据大块MC以及墨大块IC分别输出给元数据解码部74以及切换部75。
元数据解码部74是对从墨水文件选择部73提供的元数据大块MC进行解码,且在从接受部72提供了过滤信息的情况下,根据该过滤信息,从解码后的元数据大块MC中只提取应再现的笔划识别信息stroke_id的功能部。由于元数据解码部74的功能与图20所示的元数据解码部52相同,所以省略详细的说明。
这里,第一实施方式中说明的墨水文件40在元数据内不包括逻辑识别信息LID。因此,即使通过过滤信息指定了逻辑识别信息LID,元数据解码部74也不能适当地提取笔划识别信息stroke_id。基于过滤信息的逻辑识别信息LID的指定只有在墨水文件40的元数据内存储有逻辑识别信息LID的情况下成为有效。
切换部75是将从墨水文件选择部73提供的墨大块IC提供给笔划数据解码部76-1~76-n中的与从接受部72通知到的编码方式对应的笔划数据解码部的功能部。接受到墨大块IC的供给的笔划数据解码部76通过对应的编码方式,对从墨水文件选择部73提供的墨大块IC进行解码。此时,针对墨大块IC内的相当于笔划数据SD的部分,只将与从元数据解码部74提供的1个以上的笔划识别信息stroke_id对应的笔划数据SD作为解码处理的对象。这是为了与上述的笔划数据解码部53的情况同样地削减解码处理的开销。并且,笔划数据解码部76构成为,将解码后的1个以上的笔划数据SD输出给墨水数据保持部77。
墨水数据保持部77与图20所示的墨水数据保持部54同样地,构成为从笔划数据解码部76提供的笔划数据SD中提取一系列的点数据PD以及顺序信息Uorder(PID),并提供给图像生成处理部78。图像生成处理部78基于这样提供的一系列的点数据PD以及顺序信息Uorder(PID)进行描画处理,从而按每个墨水文件40生成作为栅格数据的图像文件61。
墨水服务器70将如以上那样生成的1个以上的图像文件61作为对于检索条件的回复而发送给计算机1。由此,计算机1的用户能够不取得而在显示器60上阅览符合由检索条件所指定的内容的1个以上的墨水文件40的每一个所涉及的图像文件61。此外,在检索条件中指定了逻辑名LN或者逻辑识别信息LID的情况下,能够将各图像文件61设为只由与所指定的逻辑名LN或者逻辑识别信息LID对应的笔划数据SD构成。
图26是表示墨水服务器70再现墨水文件40的处理的主程序的处理流程图。以下,参照同图再次进一步详细说明墨水服务器70进行的处理。另外,在图26中,没有考虑在检索条件中指定了逻辑识别信息LID的情况。
如图26所示,墨水服务器70首先从计算机1接受检索条件的输入(步骤S60)。并且,在检索条件包括逻辑名LN的指定的情况下,生成用于指定该逻辑名LN的过滤信息(步骤S61)。
接着,墨水服务器70参照储存器71内的墨水表格,取得符合检索条件的1个以上的墨水文件40的每一个的文件名。并且,从在储存器71内存储的1个以上的墨水文件40中,选择与所取得的文件名对应的1个以上的墨水文件40(步骤S62)。
之后,对在步骤S62中选择的一系列的墨水文件40的每一个,执行参照图22所说明的图像生成处理(步骤S63、S51)。由此,生成符合检索条件的指定内容的1个以上的墨水文件40的每一个所涉及的图像文件61。此外,在检索条件中指定了逻辑名LN或者逻辑识别信息LID的情况下的各图像文件61成为只由与所指定的逻辑名LN或者逻辑识别信息LID对应的笔划数据SD构成的图像文件。
如以上所说明,根据本实施方式的墨水文件的管理方法,作为进行墨水文件40的检索时的检索条件,能够指定符合逻辑名LN或者逻辑识别信息LID的输入设备。因此,实现能够作为检索条件之一而指定输入设备的墨水文件40的检索。
此外,根据本实施方式的墨水文件的管理方法,通过作为检索条件而指定逻辑名LN或者逻辑识别信息LID,能够将作为检索的结果而输出的各图像文件61设为只由与所指定的逻辑名LN或者逻辑识别信息LID对应的笔划数据SD构成的图像文件。
接着,说明本发明的第三实施方式的墨水文件的输出方法。图27是表示本实施方式的计算机系统91的系统结构的图。如将同图与图23进行比较的话能够理解那样,本实施方式的计算机系统91与第二实施方式的计算机系统90同样地具备多个计算机1和墨水服务器70而构成。但是,本实施方式的计算机系统91构成为,不在计算机1的内部进行墨水文件40的生成步骤的全部,而是直到笔划数据SD以及逻辑名LN的生成为止在各计算机1中实施,包括编码在内的之后的步骤在墨水服务器70内进行。此外,构成为多个计算机1的用户能够同时生成1个墨水文件40。除此之外,虽然在图27中未图示,但各计算机1关于检索条件的指定以及图像文件61的接收,具有与在第二实施方式中说明的计算机1同样的功能。以下,以与第一以及第二实施方式的不同点为中心,详细说明。
各计算机1构成为,将在图2所示的墨水文件生成装置30的功能块中的墨水数据保持部34中保持的笔划数据SD与对应的逻辑名LN一同,以预定的时间间隔发送给墨水服务器70。
墨水服务器70具有转发过滤器(transfer filter)80和墨水文件生成部81而构成。转发过滤器80设置在想要同时生成1个墨水文件40的多个计算机1之间,具有在来自各计算机1的上行线路和去往其他的各计算机1的下行线路之间被插入了开关的结构而构成。在该开关成为接通的情况下,从各计算机1上传的笔划数据SD以及逻辑名LN被实时地转发给其他的计算机1。各计算机1构成为,将这样被转发的笔划数据SD以及逻辑名LN与自身生成的笔划数据SD以及逻辑名LN一同实时显示在显示器60上。由此,各计算机1的用户能够得到与远程的用户同时生成1个墨水文件40的体验。此外,通过与笔划数据SD一同显示逻辑名LN,各计算机1的用户能够掌握所显示的笔划数据SD的描画主体。
从各计算在机上传的笔划数据SD以及逻辑名LN被提供给墨水服务器70内的墨水文件生成部81。墨水文件生成部81构成为,临时保持被提供的笔划数据SD以及逻辑名LN,以从哪一个计算机1输入了墨水文件40的输出指示为契机,基于所保持的笔划数据SD以及逻辑名LN来开始墨水文件40的生成。
墨水文件生成部81的墨水文件40的生成处理基本上与图2所示的墨水文件生成部37的处理是同样的。但是,墨水文件生成部81也可以从各用户接受笔划数据SD的编码方式的输入,并根据此来对笔划数据SD进行编码。此时,在1个墨水文件40中,通过互不相同的编码方式而被编码的笔划数据SD混合存在。
图28是表示在本实施方式中生成的墨水表格的例的图。与文件名#F1~#F3对应的3个文件是还存储在图24的墨水表格中的文件,与文件名#F4、#F5对应的2个文件成为本实施方式所特有的文件。
例如,涉及文件名#F4的墨水表格内的描述是在以下情况下得到的:在大卫·史密斯通过账户#AC1而登录到墨水服务器70的计算机1上,使用逻辑识别信息LID分别为“Pid#1”“Pid#2”的2个电子笔P来进行笔划数据SD的生成,同时在格雷格·纳尔逊通过账户#AC2而登录到墨水服务器70的其他计算机1上,使用逻辑识别信息LID为“Pid#3”的电子笔P来进行笔划数据SD的生成,进一步,作为笔划数据SD的编码方式,大卫·史密斯指定了WILL,格雷格·纳尔逊指定了InkML。通过这样构成墨水表格,在墨水文件40的再现时,能够根据账户、逻辑名LN、逻辑识别信息LID、笔划数据SD的编码方式等检索条件来适当地检索多个用户在互不相同的计算机1上同时生成的1个墨水文件40。
如以上所说明,根据本实施方式的墨水文件的输出方法,能够对各计算机60的用户提供与远程的用户同时生成1个墨水文件40这样的体验。此外,在墨水文件40的再现时,能够根据账户、逻辑名LN、逻辑识别信息LID、笔划数据SD的编码方式等检索条件来适当地检索这样生成的墨水文件40。
以上,说明了本发明的优选的实施方式,但本发明并不限定于这样的实施方式等,本发明在不脱离其要旨的范围中,当然能够以各种方式来实施。
例如,在图5中,作为元数据生成部33的功能的一部分来实现了地址空间整合部330,但还能够如图29所示,作为输入处理部31的一部分来实现地址空间整合部330。这样,能够在设备驱动侧实现地址空间整合部330。
此外,虽然在参照图3以及图4所说明的墨水文件40的生成处理中没有使用了笔压信息,但当然也可以使用笔压信息。此时,由于笔压信息是从位置检测器20与点数据PD等一同被发送,所以数字墨水生成装置30只要作为图15(a)所示的点属性(point)的值的一部分而在笔划数据SD内嵌入笔压信息即可。
此外,关于在第三实施方式中说明的墨水文件40的描画,也可以在过滤信息中还能够包括笔划数据SD的编码方式的指定。即,虽然在第三实施方式中,说明了包括通过互不相同的编码方式而被编码的多个笔划数据SD的墨水文件40,但在再现这样的墨水文件40时,在第一实施方式中说明的数字墨水再现装置50(参照图20)或在第二实施方式中说明的墨水服务器70的再现功能(参照图25)中,不能进行从1个墨水文件40中只提取通过特定的编码方式而被编码的笔划数据SD而再现这样的处理。这是因为:在第一以及第二实施方式中说明的过滤信息中只包括逻辑名LN或逻辑识别信息LID这样的元数据的指定,不包括笔划数据SD的编码方式的指定。通过使得在过滤信息中包括笔划数据SD的编码方式的指定,在再现包括通过互不相同的编码方式而被编码的多个笔划数据SD的墨水文件40时,能够只提取通过根据过滤信息来指定的特定的编码方式而被编码的笔划数据SD,作为描画处理的对象。
附图标记说明
1 计算机
20 位置检测器
30 数字墨水生成装置
31 输入处理部
32 笔划数据生成部
33 元数据生成部
34 墨水数据保持部
35-1~35-n 笔划数据编码部
36 元数据编码部
37 墨水文件生成部
40 墨水文件
50 数字墨水再现装置
51 墨水文件接受部
52 元数据解码部
53-1~53-n 笔划数据解码部
54 墨水数据保持部
55 图像生成处理部
60 显示器
61 图像文件
70 墨水服务器
71 储存器
72 接受部
73 墨水文件选择部
74 元数据解码部
75 切换部
76-1~76-n 笔划数据解码部
77 墨水数据保持部
78 图像生成处理部
80 转发过滤器
81 墨水文件生成部
90、91 计算机系统
100 应用
310 输入输出接口
311~315 驱动
330 地址空间整合部
331 LID转换部
332 设备类型记录部
3300、3301 UID提取部
3302 N比特空间映射处理部
3310 切换部
3311 名称导出部
3312 散列部
3313 URN化部
B1、B2 元数据块
P 电子笔
Claims (22)
1.一种墨水文件的输出方法,其特征在于,包括以下步骤:
基于伴随着输入设备的移动而生成的事件数据,生成M个笔划数据的步骤,其中,M为1以上的整数;
生成用于确定所述输入设备的N个种类的元数据的步骤,其中,N为1以上且M以下的整数;
生成将所述M个笔划数据对应于所述N个种类的元数据的信息即元数据块的步骤;以及
将所述M个笔划数据以及所述元数据块写入到所述墨水文件的步骤。
2.如权利要求1所述的墨水文件的输出方法,其特征在于,
所述M个笔划数据通过从多个格式中由应用所指定的第一格式而被写入到所述墨水文件,所述元数据块通过与所述第一格式独立的第二格式而被写入到所述墨水文件。
3.如权利要求2所述的墨水文件的输出方法,其特征在于,
所述第一格式是伴随着关于所述笔划数据的编码的压缩编码的格式,
所述第二格式是XML形式的格式。
4.如权利要求3所述的墨水文件的输出方法,其特征在于,
所述墨水文件包括墨大块和元数据大块而构成,该墨大块包含通过所述第一格式而被编码的所述M个笔划数据,该元数据大块包含通过所述第二格式而被编码的所述元数据块。
5.如权利要求1至4的任一项所述的墨水文件的输出方法,其特征在于,
所述墨水文件包括分别由第一输入设备所生成的1个以上的第一笔划数据和分别由第二输入设备所生成的1个以上的第二笔划数据来作为所述M个笔划数据,
所述元数据块是将确定所述第一输入设备的第一元数据对应于所述1个以上的第一笔划数据的每一个且将确定所述第二输入设备的第二元数据对应于所述1个以上的第二笔划数据的每一个的信息。
6.如权利要求5所述的墨水文件的输出方法,其特征在于,
所述元数据块是将所述1个以上的第一笔划数据分组而构成的第一组和所述第一元数据相对应且将所述1个以上的第二笔划数据分组而构成的第二组和所述第二元数据相对应的信息。
7.如权利要求6所述的墨水文件的输出方法,其特征在于,
所述1个以上的第一笔划数据的每一个以及所述1个以上的第二笔划数据的每一个被分配唯一地识别笔划数据的笔划识别信息,
所述第一组通过对所述1个以上的第一笔划数据的每一个分配的所述笔划识别信息而被确定,
所述第二组通过对所述1个以上的第二笔划数据的每一个分配的所述笔划识别信息而被确定。
8.如权利要求7所述的墨水文件的输出方法,其特征在于,
对所述1个以上的第一笔划数据的每一个分配的1个以上的所述笔划识别信息是由连号的数字构成的数据,
对所述1个以上的第二笔划数据的每一个分配的1个以上的所述笔划识别信息是由连号的数字构成的数据,
所述第一组通过对所述1个以上的第一笔划数据的每一个分配的所述笔划识别信息的开始号码和结束号码而被确定,
所述第二组通过对所述1个以上的第二笔划数据的每一个分配的所述笔划识别信息的开始号码和结束号码而被确定。
9.如权利要求1至8的任一项所述的墨水文件的输出方法,其特征在于,
所述元数据是对在所述输入设备中预先存储的输入设备识别信息实施预定的转换而成的信息。
10.如权利要求9所述的墨水文件的输出方法,其特征在于,
生成所述元数据的步骤构成为,在将所述输入设备识别信息转换为预定比特数的逻辑识别信息之后,将该逻辑识别信息转换为所述元数据而生成所述所述元数据。
11.如权利要求10所述的墨水文件的输出方法,其特征在于,
生成所述元数据的步骤构成为,通过与所述输入设备的类别相应的处理,将所述输入设备识别信息转换为所述逻辑识别信息。
12.如权利要求11所述的墨水文件的输出方法,其特征在于,
生成所述元数据的步骤执行第一步骤和第二步骤,将所述输入设备识别信息转换为单一的比特数的所述逻辑识别信息,
在第一步骤中,基于根据所述输入设备的类别来确定的设备识别信息的格式,提取不同的比特数的固有信息,对所述固有信息进行基于所述格式来决定的比特数的填充,生成预定的比特数的固有信息,
在第二步骤中,对预定的比特数的固有信息附加用于区分所述格式的信息的前缀。
13.如权利要求12所述的墨水文件的输出方法,其特征在于,
生成所述元数据的步骤构成为,所述设备识别信息的格式在将多个笔头的识别信息,对所述输入设备识别信息中的用于相互区分该多个笔头的1以上的比特施加了掩码的基础上,将所述输入设备识别信息转换为所述逻辑识别信息。
14.如权利要求13所述的墨水文件的输出方法,其特征在于,
生成所述元数据的步骤构成为,将由施加了所述掩码的比特所示的信息附加到所述元数据。
15.如权利要求9至14的任一项所述的墨水文件的输出方法,其特征在于,
生成所述元数据的步骤构成为,在不能从所述输入设备得到所述输入设备识别信息的情况下,基于预定的虚拟数据来取得所述元数据。
16.如权利要求10至14的任一项所述的墨水文件的输出方法,其特征在于,
所述元数据是,基于预先将所述逻辑识别信息和字符串相对应地存储的字符串表格,将所述逻辑识别信息转换为字符串而成的信息。
17.如权利要求10至14的任一项所述的墨水文件的输出方法,其特征在于,
所述元数据是通过将所述逻辑识别信息输入到预定的一个方向函数而得到的散列值。
18.如权利要求10至14的任一项所述的墨水文件的输出方法,其特征在于,
所述元数据是对所述逻辑识别信息添加预定的信息而成的URN。
19.如权利要求1至18的任一项所述的墨水文件的输出方法,其特征在于,
生成所述笔划数据的步骤生成多个笔划数据,
所述多个笔划数据分别存储多个点数据,且在预定的情况下,与该多个点数据的每一个相对应地存储顺序信息,
所述顺序信息是表示在所述多个笔划数据的每一个中存储的多个点数据间的相对的描画顺序的信息。
20.如权利要求19所述的墨水文件的输出方法,其特征在于,
所述预定的情况是,所述多个笔划数据中的任意的2个笔划数据同时生成且所述2个笔划数据构成的轨迹交叉的情况。
21.一种墨水文件的输出装置,其特征在于,具备:
笔划数据生成部,基于伴随着输入设备的移动而生成的事件数据,生成笔划数据;
元数据生成部,生成用于确定所述输入设备的元数据;以及
墨水文件生成部,生成将所述元数据对应于所述笔划数据的元数据块,并将所述笔划数据以及所述元数据块写入到所述墨水文件。
22.一种程序,用于使计算机作为墨水文件的输出装置来动作,该程序用于使所述计算机作为以下部件来动作:
笔划数据生成部,基于伴随着输入设备的移动而生成的事件数据,生成笔划数据;
元数据生成部,生成用于确定所述输入设备的元数据;以及
墨水文件生成部,生成将所述元数据对应于所述笔划数据的元数据块,并将所述笔划数据以及所述元数据块写入到所述墨水文件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/060076 WO2016157400A1 (ja) | 2015-03-31 | 2015-03-31 | インクファイルの出力方法、出力装置、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077243A true CN107077243A (zh) | 2017-08-18 |
CN107077243B CN107077243B (zh) | 2021-05-11 |
Family
ID=55523966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580053483.4A Active CN107077243B (zh) | 2015-03-31 | 2015-03-31 | 墨水文件的输出方法、输出装置以及存储装置 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10296787B2 (zh) |
EP (1) | EP3279774B1 (zh) |
JP (1) | JP5886487B1 (zh) |
CN (1) | CN107077243B (zh) |
WO (1) | WO2016157400A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9740310B2 (en) * | 2015-05-22 | 2017-08-22 | Adobe Systems Incorporated | Intuitive control of pressure-sensitive stroke attributes |
US9792517B2 (en) * | 2016-02-12 | 2017-10-17 | Wacom Co., Ltd. | Method and system for generating and selectively outputting two types of ink vector data |
US10049289B2 (en) | 2016-02-12 | 2018-08-14 | Wacom Co., Ltd. | Method and system for generating and selectively outputting two types of ink vector data |
US10204082B2 (en) * | 2017-03-31 | 2019-02-12 | Dropbox, Inc. | Generating digital document content from a digital image |
US10895954B2 (en) * | 2017-06-02 | 2021-01-19 | Apple Inc. | Providing a graphical canvas for handwritten input |
CN108255386B (zh) * | 2018-02-12 | 2019-07-05 | 掌阅科技股份有限公司 | 电子书手写笔记的显示方法、计算设备及计算机存储介质 |
JP6918252B2 (ja) | 2018-11-02 | 2021-08-11 | 株式会社ワコム | インクデータ生成装置、方法及びプログラム |
WO2020208937A1 (ja) | 2019-04-08 | 2020-10-15 | 株式会社ワコム | デジタルインクを管理するホームuiシステム |
WO2020213277A1 (ja) | 2019-04-17 | 2020-10-22 | 株式会社ワコム | インクアノテーション共有方法及びシステム |
JP6734502B1 (ja) | 2019-04-25 | 2020-08-05 | 株式会社ワコム | デジタルインク由来のコンテンツを共有するコンテンツ共有装置、方法、プログラム及びシステム |
CN110471607B (zh) * | 2019-08-02 | 2020-06-09 | 掌阅科技股份有限公司 | 手写笔迹显示方法、手写阅读设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604121A (zh) * | 2003-09-29 | 2005-04-06 | 阿尔卡特公司 | 分布式手写识别方法、系统、客户端和服务器端 |
CN1648841A (zh) * | 2004-01-07 | 2005-08-03 | 微软公司 | 通用计算设备 |
CN101551724A (zh) * | 2008-03-31 | 2009-10-07 | 联想(北京)有限公司 | 在触摸屏上书写文字的方法与装置 |
CN102473066A (zh) * | 2009-09-09 | 2012-05-23 | 美泰有限公司 | 在多功能手持设备上显示、导航和选择电子方式存储内容的系统和方法 |
US20140118314A1 (en) * | 2012-10-26 | 2014-05-01 | Livescribe Inc. | Multiple-User Collaboration with a Smart Pen System |
CN104424161A (zh) * | 2013-08-30 | 2015-03-18 | 株式会社东芝 | 手写文档处理装置,手写文档处理方法,和手写文档处理程序 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10214267A (ja) * | 1997-01-29 | 1998-08-11 | Sharp Corp | 手書き文字記号処理装置および手書き文字記号処理装置の制御プログラムを記録した媒体 |
US6956970B2 (en) * | 2000-06-21 | 2005-10-18 | Microsoft Corporation | Information storage using tables and scope indices |
US7259753B2 (en) * | 2000-06-21 | 2007-08-21 | Microsoft Corporation | Classifying, anchoring, and transforming ink |
US7397949B2 (en) * | 2000-06-21 | 2008-07-08 | Microsoft Corporation | Serial storage of ink and its properties |
JP3974359B2 (ja) * | 2000-10-31 | 2007-09-12 | 株式会社東芝 | オンライン文字認識装置及び方法並びにコンピュータ読み取り可能な記憶媒体及びオンライン文字認識プログラム |
US6915473B2 (en) * | 2001-05-14 | 2005-07-05 | Interdigital Technology Corporation | Method and system for implicit user equipment identification |
US7057615B2 (en) | 2001-06-28 | 2006-06-06 | Microsoft Corporation | Method and system for representing and displaying digital ink |
JP4102105B2 (ja) * | 2002-05-24 | 2008-06-18 | 株式会社日立製作所 | 電子ペンを利用した書類記入システム |
US7634729B2 (en) * | 2002-11-10 | 2009-12-15 | Microsoft Corporation | Handwritten file names |
US7379928B2 (en) * | 2003-02-13 | 2008-05-27 | Microsoft Corporation | Method and system for searching within annotated computer documents |
US7251786B2 (en) * | 2003-02-26 | 2007-07-31 | Microsoft Corporation | Meeting information |
US7373590B2 (en) * | 2003-05-19 | 2008-05-13 | Microsoft Corporation | Shared electronic ink annotation method and system |
CA2529037A1 (en) * | 2003-08-15 | 2005-02-24 | Silverbrook Research Pty Ltd | Natural language recognition using distributed processing |
US7962846B2 (en) * | 2004-02-13 | 2011-06-14 | Microsoft Corporation | Organization of annotated clipping views |
US7345681B2 (en) * | 2004-02-17 | 2008-03-18 | Microsoft Corporation | Pen data capture and injection |
JP2006031299A (ja) * | 2004-07-15 | 2006-02-02 | Hitachi Ltd | 文字認識方法、文字データの修正履歴処理方法およびシステム |
US20080143691A1 (en) * | 2005-11-23 | 2008-06-19 | Quiteso Technologies, Llc | Systems and methods for enabling tablet PC/pen to paper space |
US7562822B1 (en) * | 2005-12-30 | 2009-07-21 | Leapfrog Enterprises, Inc. | Methods and devices for creating and processing content |
US8094939B2 (en) * | 2007-06-26 | 2012-01-10 | Microsoft Corporation | Digital ink-based search |
JP2010198076A (ja) * | 2009-02-23 | 2010-09-09 | Sharp Corp | 手書認証装置、手書認証パターンの表示方法および手書認証パターンの表示プログラム |
US8670748B2 (en) * | 2009-05-01 | 2014-03-11 | Apple Inc. | Remotely locating and commanding a mobile device |
US8484176B2 (en) * | 2009-09-08 | 2013-07-09 | Ricoh Co., Ltd. | Multi-provider forms processing system with retry upon failure |
JP5893825B2 (ja) * | 2009-09-08 | 2016-03-23 | 株式会社リコー | ワークフローのための方法及びシステム |
US8482539B2 (en) * | 2010-01-12 | 2013-07-09 | Panasonic Corporation | Electronic pen system |
JP2012022543A (ja) * | 2010-07-15 | 2012-02-02 | Panasonic Corp | タッチパネルシステム |
JP2012053526A (ja) * | 2010-08-31 | 2012-03-15 | Brother Ind Ltd | 入力制御装置、入力制御方法及び入力制御プログラム |
EP2689378A2 (en) * | 2011-03-21 | 2014-01-29 | N-Trig Ltd. | System and method for authentication with a computer stylus |
JP2012226439A (ja) * | 2011-04-15 | 2012-11-15 | Seiko Epson Corp | 情報処理装置及び表示装置 |
US20130173765A1 (en) * | 2011-12-29 | 2013-07-04 | United Video Properties, Inc. | Systems and methods for assigning roles between user devices |
JP5408511B2 (ja) * | 2012-04-09 | 2014-02-05 | 大日本印刷株式会社 | 電子ペンシステム、コンピュータ装置及びそのプログラム |
JP5267717B2 (ja) * | 2012-10-22 | 2013-08-21 | 大日本印刷株式会社 | ストローク再生装置及びプログラム |
US9465942B1 (en) * | 2013-04-08 | 2016-10-11 | Amazon Technologies, Inc. | Dictionary generation for identifying coded credentials |
JP5732600B1 (ja) | 2013-08-03 | 2015-06-10 | 株式会社ワコム | 位置指示器 |
JP2015069556A (ja) * | 2013-09-30 | 2015-04-13 | ブラザー工業株式会社 | 電子筆記装置、筆記情報処理プログラム、電子筆記システム |
US20150116283A1 (en) * | 2013-10-24 | 2015-04-30 | Livescribe Inc. | Paper Strip Presentation Of Grouped Content |
WO2015075930A1 (en) * | 2013-11-19 | 2015-05-28 | Wacom Co., Ltd. | Method and system for ink data generation, ink data rendering, ink data manipulation and ink data communication |
US10175850B2 (en) * | 2013-11-23 | 2019-01-08 | Sharp Laboratories Of America | Search inquiry method using contextual annotation |
JP5813792B2 (ja) * | 2014-01-09 | 2015-11-17 | 株式会社東芝 | システムおよびデータ提供方法並びに電子機器 |
US20160048318A1 (en) * | 2014-08-15 | 2016-02-18 | Microsoft Technology Licensing, Llc | Detecting selection of digital ink |
US11550993B2 (en) * | 2015-03-08 | 2023-01-10 | Microsoft Technology Licensing, Llc | Ink experience for images |
-
2015
- 2015-03-31 JP JP2015548099A patent/JP5886487B1/ja active Active
- 2015-03-31 EP EP15887553.4A patent/EP3279774B1/en active Active
- 2015-03-31 CN CN201580053483.4A patent/CN107077243B/zh active Active
- 2015-03-31 WO PCT/JP2015/060076 patent/WO2016157400A1/ja active Application Filing
-
2016
- 2016-03-29 US US15/084,297 patent/US10296787B2/en active Active
-
2019
- 2019-05-17 US US16/416,031 patent/US11132540B2/en active Active
-
2021
- 2021-09-21 US US17/481,033 patent/US11580761B2/en active Active
-
2023
- 2023-02-13 US US18/168,463 patent/US20230186665A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604121A (zh) * | 2003-09-29 | 2005-04-06 | 阿尔卡特公司 | 分布式手写识别方法、系统、客户端和服务器端 |
CN1648841A (zh) * | 2004-01-07 | 2005-08-03 | 微软公司 | 通用计算设备 |
CN101551724A (zh) * | 2008-03-31 | 2009-10-07 | 联想(北京)有限公司 | 在触摸屏上书写文字的方法与装置 |
CN102473066A (zh) * | 2009-09-09 | 2012-05-23 | 美泰有限公司 | 在多功能手持设备上显示、导航和选择电子方式存储内容的系统和方法 |
US20140118314A1 (en) * | 2012-10-26 | 2014-05-01 | Livescribe Inc. | Multiple-User Collaboration with a Smart Pen System |
CN104424161A (zh) * | 2013-08-30 | 2015-03-18 | 株式会社东芝 | 手写文档处理装置,手写文档处理方法,和手写文档处理程序 |
Also Published As
Publication number | Publication date |
---|---|
EP3279774B1 (en) | 2021-02-24 |
CN107077243B (zh) | 2021-05-11 |
US11580761B2 (en) | 2023-02-14 |
WO2016157400A1 (ja) | 2016-10-06 |
JP5886487B1 (ja) | 2016-03-16 |
US20230186665A1 (en) | 2023-06-15 |
EP3279774A1 (en) | 2018-02-07 |
EP3279774A4 (en) | 2018-12-05 |
US11132540B2 (en) | 2021-09-28 |
US20220004751A1 (en) | 2022-01-06 |
JPWO2016157400A1 (ja) | 2017-04-27 |
US20190294872A1 (en) | 2019-09-26 |
US10296787B2 (en) | 2019-05-21 |
US20160292500A1 (en) | 2016-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077243A (zh) | 墨水文件的输出方法、输出装置以及程序 | |
CN100458773C (zh) | 信息处理装置和信息处理方法 | |
US8271512B2 (en) | Presenting digitized content on a network using a cross-linked layer of electronic documents derived from a relational database | |
CN105354248B (zh) | 基于灰度的分布式图像底层特征识别方法及系统 | |
CN103838566A (zh) | 信息处理装置和信息处理方法 | |
CN108475270A (zh) | 移动用户界面 | |
JP2007506185A (ja) | リアルタイム可変デジタル・ペーパー | |
CN103927535B (zh) | 一种汉字书写识别方法及装置 | |
CN101287026A (zh) | 利用手写识别功能执行快捷拨号的系统和方法 | |
CN107003804A (zh) | 为提供原型设计工具的方法、系统及可进行非暂时性的计算机解读的记录媒介 | |
CN108958731A (zh) | 一种应用程序界面生成方法、装置、设备和存储介质 | |
CN106515258B (zh) | 笔记本、智能终端及笔记本内容索引创建方法 | |
CN108268430A (zh) | 人工智能辅助识别的方法及装置 | |
CN107665087A (zh) | 图像显示装置、图像显示方法以及图像显示系统 | |
CN117095414A (zh) | 一种基于点阵纸笔的手写识别系统及识别方法 | |
CN110537164A (zh) | 用于内容创建应用的增强的上墨能力 | |
JP6790208B2 (ja) | デジタルインクファイル生成方法、デジタルインクファイル生成装置、デジタルインクファイル再生方法、デジタルインクファイル再生装置、及びプログラム | |
CN108052555A (zh) | 一种照片分类方法和系统 | |
JP7072621B2 (ja) | デジタルインクファイル再生装置、デジタルインクファイル再生方法、及びプログラム | |
JP6596215B2 (ja) | インクファイルの検索方法、検索装置、及びプログラム | |
CN108664866A (zh) | 位置数据处理方法 | |
CN106774974B (zh) | 输出信息的方法和装置 | |
CN110046336A (zh) | 位置编码表单处理方法及系统 | |
CN108009280A (zh) | 图片处理方法、装置、终端及存储介质 | |
KR102331581B1 (ko) | 한국사 및 도자기를 연관시킨 체험학습 서비스 제공 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |