Nothing Special   »   [go: up one dir, main page]

WO2016098218A1 - デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置 - Google Patents

デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置 Download PDF

Info

Publication number
WO2016098218A1
WO2016098218A1 PCT/JP2014/083506 JP2014083506W WO2016098218A1 WO 2016098218 A1 WO2016098218 A1 WO 2016098218A1 JP 2014083506 W JP2014083506 W JP 2014083506W WO 2016098218 A1 WO2016098218 A1 WO 2016098218A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
digital ink
stroke
attribute
conversion rule
Prior art date
Application number
PCT/JP2014/083506
Other languages
English (en)
French (fr)
Inventor
ブラニミール アンゲロフ
Original Assignee
株式会社ワコム
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社ワコム filed Critical 株式会社ワコム
Priority to JP2015511540A priority Critical patent/JP5775240B1/ja
Priority to PCT/JP2014/083506 priority patent/WO2016098218A1/ja
Priority to EP14908428.7A priority patent/EP3079052A4/en
Priority to US14/919,573 priority patent/US10747421B2/en
Publication of WO2016098218A1 publication Critical patent/WO2016098218A1/ja
Priority to US16/921,711 priority patent/US11422693B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing 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/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction

Definitions

  • the present invention relates to a digital ink generating apparatus, a digital ink generating method, and a digital ink reproducing apparatus, and more particularly, a digital ink generating apparatus and a digital ink generating method for generating digital ink based on event data generated when a pen is operated.
  • the present invention also relates to a digital ink reproducing apparatus that reproduces the digital ink thus generated.
  • Digital ink is used to convert the trajectory obtained by moving an indicator such as an electronic pen or stylus on a position detector such as a tablet to simulate a handwritten trajectory (stroke) drawn on paper. It is.
  • Digital ink usually includes (1) data for reproducing a handwritten trajectory, (2) data describing a drawing style of the trajectory, and (3) data describing a conversion rule of data related to the trajectory.
  • the Digital ink has standardized data formats that can be used in different environments such as drawing applications and document creation applications that run on various OSs (Non-Patent Documents 1 to 4).
  • InkML described in Non-Patent Document 1 is one of the most well-known digital ink data formats.
  • (1) Data for reproducing a handwritten locus is called a ⁇ trace> element.
  • the ⁇ trace> element includes a plurality of point data (detected at predetermined time intervals by the input sensor) that constitute a trajectory of one stroke (the operation from when the indicator is brought into contact with the sensor surface of the position detection device until it is released).
  • Data which describes a set of coordinate data (X, Y), writing pressure data P, time data T, and other data indicating input sensor-dependent attributes (input sensor attributes).
  • InkML defines (2) data such as a ⁇ brush> element as data for specifying a drawing style of a locus, and (3) data such as a ⁇ mapping> element described later as data describing a conversion rule for data related to a locus. Has been.
  • the ISF (Ink Serialized Format) described in Non-Patent Document 2 is a digital ink data format used on Microsoft applications.
  • a block of data for reproducing a handwritten locus is called a StrokeDescriptorBlock.
  • StrokeDescriptorBlock a point for reproducing a stroke locus (points are X and Y coordinate values), a pen pressure value, and the like are described.
  • DrawingAttributeBlock which is a block describing a drawing style
  • TransformBlock etc.
  • SVG described in Non-Patent Document 3 is a markup language for describing a set of a two-dimensional graphics application, an image, and a graphic script.
  • a ⁇ path> element as data for reproducing a handwritten locus.
  • the ⁇ path> element includes a plurality of control points (point data), and the trajectory is reproduced by a Bezier curve based on the plurality of control points.
  • HTML5 described in Non-Patent Document 4 defines (1) a data type called Canvas Path class as data for reproducing a handwritten locus.
  • Non-Patent Document 1 StrokeDescriptor block in Non-Patent Document 2
  • ⁇ path> element in Non-Patent Document 3 and CanvasPath in HTML5 described in Non-Patent Document 4 are collectively referred to and handwritten using an input device.
  • the vector data for reproducing the shape including the locus and the line width is referred to as stroke data.
  • mapping data data describing a conversion rule of data (stroke data) relating to a locus such as ⁇ mapping> in Non-Patent Document 1 and ⁇ transformBlock> in Non-Patent Document 2 will be collectively referred to as mapping data.
  • FIG. 19A is a diagram illustrating a ⁇ mapping> element that is mapping data of Non-Patent Document 1.
  • This example shows a conversion rule using “affine” as the type of the ⁇ mapping> element.
  • This conversion rule is based on the affine transformation shown in the matrix shown in the 4th to 7th rows for the figure defined by the X and Y coordinates (transformation that performs a 90-degree rotation and translates by 200 in the Y direction) Shows the conversion to be applied.
  • FIG. 19B is a diagram showing a conversion rule using “mathml” as the type of the ⁇ mapping> element.
  • expressions such as “root”, “cos”, “minus” reserved in the name space defined by MathML2 of Non-Patent Document 5 are used, and an operation associated therewith is used. can do.
  • the conversion rule shown in the example of FIG. 19B is a rule for converting the coordinate data (VR, VTh) of the input sensor attribute shown in the polar coordinate format into the coordinate data (X, Y) shown in the orthogonal coordinate format.
  • the conversion rule indicated by the broken line frame MD_X from the second line to the thirteenth line is the value of the diameter VR indicated by the input sensor attribute (variable r), the value of the angle VTh (variable theta), and MathML.
  • a conversion rule for deriving new X coordinate data is described using a cosine defined by “cos” or the like.
  • the conversion rules indicated by MD_Y in the 14th to 25th lines indicate conversion rules for obtaining new Y coordinate data.
  • Non-Patent Document 2 lists variants that can be used as conversion rules as types of ⁇ TRANSFORM BLOCK> (page 10).
  • a transformation such as the affine transformation matrix shown in FIG. 19A, a transformation matrix that can be expressed by 2 rows and 3 columns consisting of elements of M11, M12, M21, M22, and DX and DY was used, and this transformation matrix was used.
  • Various conversions are defined.
  • ⁇ TAG_TRANSFORM_ISOTROPIC_SCALE> ⁇ TAG_TRANSFORM_ANISOTROPICSSCALE> for enlarging / reducing the stroke data
  • ⁇ TAG_TRANSFORM_RODATE> for performing rotation on the stroke data
  • ⁇ TAG_TRANSFORME_TRANSTRATING_TRANS for moving after translation
  • ⁇ TAG_TRANSFROM_ROATE_AND_TRANSLATE> _ etc. can be used.
  • Non-Patent Document 6 discloses an example of a drawing method for drawing a natural line based on digital ink.
  • Non-Patent Document 1 and Non-Patent Document 2 are for use in geometrical deformation such as rotation and enlargement of stroke data, and the coordinates included in the stroke data. It is not intended to convert input sensor attributes such as data and pen pressure values obtained from the input sensor into drawing attribute data used in drawing processing such as line width and transparency. Instead of showing the value of drawing attribute data in the stroke data, it indicates that the value of the drawing attribute data is obtained from what input sensor attribute value by what kind of operation when the stroke data is generated This is advantageous in that the function of the input sensor used in the system can be confirmed afterwards.
  • the conventional conversion rule description format is not sufficient to describe a conversion rule for expressing the conversion to the shading or width of a line drawn by an actual pen or brush.
  • the ink or paint is blurred when the pen or brush is moved, especially at the start or end point.
  • a part of the stroke becomes thinner or conversely thicker.
  • one of the objects of the present invention is to save the input sensor attribute value such as writing pressure obtained from the input sensor or the like, while the line width and / or transparency changes from the input sensor attribute value.
  • a digital ink generating apparatus and a digital ink generating method for generating digital ink capable of describing a conversion rule for reproducing a digital ink, and a digital ink reproducing apparatus capable of reproducing digital ink generated by such a digital ink generating apparatus It is to provide.
  • a first invention includes a stroke data generation unit that generates stroke data having an input sensor attribute as an attribute based on pen event data generated by an input sensor in accordance with an operation of an indicator, and the stroke data includes A mapping data generation unit that generates mapping data indicating a conversion rule for converting the input sensor attribute value into a line width or transparency value; and a digital ink including the stroke data and the mapping data And a digital ink assembly that outputs in a data format.
  • the mapping data generation unit indicates a conversion rule for converting the value of the input sensor attribute into a line width or a transparency value and a range to which the conversion rule is applied.
  • the mapping data including the range data is generated.
  • the stroke data generation unit generates stroke data including a plurality of point data having the input sensor attribute as an attribute
  • the mapping data generation unit includes a plurality of the point data Among the input sensor attributes included in the first point data, the value of the first attribute and the second point data different from the first point data among the plurality of point data
  • mapping data including a conversion rule for obtaining a line width or transparency value of the second point data is generated.
  • the digital ink reproducing device extracts the stroke data and the mapping data from the digital ink generated by the digital ink generating device according to the present invention, and the value of the input sensor attribute included in the stroke data.
  • stroke data including a line width or transparency value is generated by applying the conversion rule included in the mapping data, and the generated stroke data is rendered.
  • the digital ink generation method is a digital ink generation method executed by a computer having an input sensor, and is based on pen event data generated by the input sensor when the indicator is operated.
  • the drawing attribute value of stroke data such as line width or transparency is derived based on the input sensor attribute value while retaining the input sensor attribute value such as writing pressure data.
  • Digital ink describing the conversion rules can be generated. This makes it possible to distinguish whether values such as line width and transparency are derived from the pen pressure acquired by the input sensor or virtually derived from the speed parameter, This is useful when it is desired to collectively change the correspondence between the writing pressure and the line width, or when the writing pressure value P is used as a comparison parameter for signature authentication.
  • the second invention it is possible to generate digital ink in which a rule for applying the conversion rule in the mapping data is applied to a partial range. As a result, for example, it is possible to configure so that the conversion rule is applied only to the part near the start point and the part near the end point of the stroke. A highly expressive conversion rule that can execute special emphasis processing can be described.
  • the mapping data defining the conversion relation for obtaining the line width, the transparency, etc. can be generated by using the input sensor attribute values included in two or more point data having different index values as input. it can.
  • conversion rules based on statistical values such as differential values, integral values, or addition averages can be applied.
  • Conversion rules for generating digital ink that mimics the actual ink situation such as conversion rules in which the transparency increases according to the speed of movement, can be described.
  • FIG. 4 is a diagram showing stroke data SD0 to SD4 of FIG. 3 generated according to the InkML format.
  • FIG. 5 is a diagram in which only stroke data SD1 corresponding to the alphabet “e” is extracted from the stroke data SD0 to SD4 corresponding to the five alphabets in FIG.
  • the digital ink INKD which the digital ink assembly part 31 shown in FIG. 2 assembles.
  • FIG. (A) is the figure which shows the stroke data SD1 of the state extracted from the digital ink INKD by the digital ink reproducing part 40
  • (b) is the figure which shows the stroke data SD1 after mapping data MD1 application
  • c) is a diagram showing the stroke data SD1 after the mapping data MD2 is applied. It is the figure which modeled the example of the drawing process described in the nonpatent literature 6.
  • FIG. 10 is a diagram showing an image signal reproduced from stroke data SD obtained by applying the conversion rule func2a for multiplying the pressure P by 5 to obtain a line width W to the end portion indicated by a broken line in the stroke diagram. is there.
  • the conversion rule func1 for multiplying the pen pressure P by 10 to obtain the line width W is applied to all parts of the stroke data. It is reproduced from the stroke data SD obtained by applying the conversion rule func2a to multiply the pressure P by 5 to obtain the line width W on both the end and the end indicated by the broken line frame in the stroke diagram. It is a figure which shows the obtained image signal.
  • the conversion rule func1 for multiplying the pen pressure P by 10 to obtain the line width W is applied to all parts of the stroke data.
  • (A) is the figure which shows the stroke data SD5 of the state extracted from the digital ink INKD by the digital ink reproduction
  • (b) is the stroke data SD5 after applying mapping data MD3 to all the strokes.
  • FIG. It is a figure explaining the ⁇ mapping> element which is the mapping data of a nonpatent literature 1.
  • FIG. It is a figure which shows the conversion rule using "mathml" as a type of a ⁇ mapping> element.
  • FIG. 1 is a conceptual diagram showing an input system 1 according to the first embodiment of the present invention.
  • the input system 1 includes a digital ink processing device 2 having a storage device 2a, a digitizer 3 (position detecting device) having a flat plate sensor 3a, an electronic pen 4 (indicator), and a display 5.
  • the electronic pen 4 for example, a human finger or a simple plastic rod (stylus) can be used as the indicator.
  • the computer 2, the digitizer 3, and the display 5 are drawn as separate devices, but some or all of them can be configured as an integrated device (tablet PC or the like).
  • the input system 1 generates digital ink in the InkML format based on coordinate data input by the user drawing characters and pictures on the sensor 3a of the digitizer 3 using the electronic pen 4, and stores the digital ink in the storage device 2a. It has a function of recording and a function of generating an image signal from the recorded digital ink and reproducing it on the display 5.
  • the digitizer 3 is coordinate data (X, Y) indicating the position of the electronic pen 4 within the surface of the sensor 3a based on the change in potential of these linear conductors caused by the approach of the electronic pen 4 to the surface of the sensor 3a. Configured to detect.
  • the electronic pen 4 of the present embodiment is configured to detect the writing pressure data P at a predetermined time interval and transmit the detected writing pressure data P to the digitizer 3 as needed.
  • the digitizer 3 is configured to detect the coordinate data (X, Y) and the pen pressure data P. Then, input sensor data ISD, which is a set of detected coordinate data (X, Y), corresponding writing pressure data P, and time data T indicating the detection time, is generated, and as shown in FIG.
  • the ink processing apparatus 2 is configured to output through an IO unit (not shown). As a result, while the digitizer 3 detects the electronic pen 4, a series of input sensor data ISD is supplied to the digital ink processing apparatus 2 for each sampling rate of the sensor 3 a.
  • the digital ink processing apparatus 2 is a personal computer, for example.
  • a configuration provided in a normal computer such as a CPU or a communication circuit is provided.
  • the storage device 2a includes a main storage device such as a main memory and an auxiliary storage device such as a hard disk.
  • the functional blocks of the digital ink processing apparatus 2 shown in FIG. 2 are realized by the CPU of the digital ink processing apparatus 2 operating according to a program stored in the storage device 2a.
  • FIG. 2 is a functional block diagram of the digital ink processing apparatus 2.
  • the digital ink processing apparatus 2 is functionally configured to include an input processing unit 10, a stroke data generation unit 20, a digital ink generation unit 30, and a digital ink reproduction unit 40.
  • the digital ink generation unit 30 includes a digital ink assembly unit 31, a mapping data generation unit 32, and an application order determination unit 33 as internal configurations.
  • the input processing unit 10 extracts input sensor attributes ISA such as coordinate data (X, Y) and writing pressure data P from the input sensor data ISD supplied from the digitizer 3 via an interface such as USB and I2C, and the like on the operating system.
  • Event data ED which is in a format that can be used by other programs that run on, is output.
  • the input processing unit 10 is typically realized as a device driver corresponding to the digitizer 3 incorporated in an operating system that operates on the digital ink processing apparatus 2.
  • Event type identification information ETYPE In addition to the point data PD including the coordinate data (X, Y) and the writing pressure data P, it identifies which part of the stroke the point data PD is.
  • Event type identification information ETYPE Values taken by the event type identification information ETYPE include a pen-down state Pdown, a pen-moved state Pmvd, a pen-up state Pup, and the like.
  • the input processing unit 10 detects that an indicator such as the electronic pen 4 or a finger has touched (pen-down) the digitizer 3, it generates point data PD including coordinate data (X, Y) corresponding to the contact position.
  • Event data ED in which the pen-down state Pdown is set as the value of the event type identification information ETYPE is generated. Thereafter, while the electronic pen 4 and the indicator are slid on the digitizer 3, the input processing unit 10 sets the value of the event type identification information ETYPE together with a series of point data PD corresponding to a series of coordinate data (X, Y). The event data ED in which the value of the pen moved state Pmvd is set to is continuously generated. Finally, when the input processing unit 10 detects that the electronic pen 4 is lifted (pen-up) from the digitizer 3, the event data ED that specifies that the pen-up state Pup is specified as the value of the event type identification information ETYPE Is generated.
  • the stroke data generation unit 20 is a functional unit that receives the event data ED from the input processing unit 10 and generates stroke data SD (first stroke data) including one or more point data PD.
  • the stroke data generation unit 20 is typically realized by a program called a library or service executed by the CPU of the digital ink processing apparatus 2.
  • the stroke data generation unit 20 refers to the value of the event type identification information ETYPE of the event data ED supplied from the input processing unit 10, and from the event data ED indicating the pen-down state Pdown to the event data ED indicating the pen-up state Pup.
  • One stroke data SD including a series of point data PD included in the intervening event data ED is generated.
  • the stroke data generation unit 20 uses the input sensor data ISD.
  • the new coordinate data (X, Y) value obtained by performing smoothing processing such as weighted average or exponential smoothing or thinning processing on the value of the included coordinate data (X, Y) is used as the coordinate data of the point data PD.
  • additional control points for determining the shape of an interpolation curve such as a Bezier curve are set as point data PD. There is a case.
  • FIG. 3 is a diagram for explaining the relationship between the point data PD and the stroke data SD.
  • five broken line frames indicate five stroke data SD (SD0, SD1, SD2, SD3, SD0, SD3, SD3, SD3, SD0, SD2, SD3, SD) generated when five alphabets “h” “e” “l” “l” “o” are input. SD4).
  • Each of the stroke data SD0 to SD4 includes a series of point data PD indicated by white circles in the figure.
  • solid lines between white circles indicate that the point data PD indicated by white circles is a series.
  • the stroke data SD0 corresponding to the alphabet “h” starts with the point data PD0 having an index value of 0 and ends with PD25 having an index value of 25. PD25 is included.
  • the value of the point data number n of the point data PD included by the stroke data SD is different.
  • OP shown in FIG. 3 indicates the origin coordinate of the coordinate system for the coordinate data (X, Y) included in the point data PD.
  • the value of the coordinate data is a direction in which the X coordinate value increases in the right direction and a direction in which the Y coordinate value increases in the downward direction.
  • the stroke data generation unit 20 generates the stroke data SD according to the description format of the ⁇ trace> element according to the format using InkML of Non-Patent Document 1 as the format of the stroke data SD.
  • FIG. 4 is a diagram showing the stroke data SD0 to SD4 of FIG. 3 generated according to the InkML format.
  • FIG. 5 is a diagram in which only the stroke data SD1 corresponding to the alphabet “e” is extracted from the stroke data SD0 to SD4 corresponding to the five alphabets in FIG.
  • the stroke data SD is expressed as a ⁇ trace> element, and each point data PD0 to PD14 is delimited using a comma (,) present at the end of each line in the figure as a delimiter. Generated by the format.
  • each attribute data is delimited using one or more half-width spaces as delimiters.
  • the first attribute (coordinate data X), the second attribute (coordinate data Y), and the third attribute (writing pressure data P), which are input sensor attributes ISA, are included in the stroke data SD. These three attribute data are retained as the values of the original data.
  • the values of these three input sensor attributes ISA are arranged in each point data PD in the order of coordinate data X, coordinate data Y, and writing pressure data P.
  • first point data PD0 having the index value 0 in the stroke data Sd1 shown in FIG. 5 “199” on the left is coordinate data X, “306” is coordinate data Y, and “1.0” is “1.0”.
  • Writing pressure data P is obtained.
  • the stroke data SD generated by the stroke data generation unit 20 is supplied to the digital ink assembly unit 31.
  • the digital ink assembling unit 31 is configured to assemble the digital ink INKD based on the stroke data SD thus supplied and the one or more mapping data MD supplied from the application order determining unit 33.
  • FIG. 6 is a diagram for explaining the digital ink INKD assembled by the digital ink assembly unit 31.
  • the example in the figure is an example in which digital ink INKD is generated in accordance with the InkML format.
  • the digital ink INKD includes an XML declaration starting with “ ⁇ ? Xml” and an ⁇ ink> element described between the line starting with “ ⁇ ink ...” and the ⁇ / ink> of the last line. Is done.
  • the ⁇ ink> element includes a definition block DEB ( ⁇ definitions> element) and a stroke data description block SDB ( ⁇ stroke data SD> element).
  • the definition block DEB includes a mapping data description block MDB and a drawing style data description block DDB.
  • the mapping data description block MDB is a block in which mapping data MD indicating stroke data conversion rules is described.
  • a conversion rule the value of the input sensor attribute ISA included in the stroke data SD described in the stroke data description block SDB is used as the value of the data before conversion, and a new drawing such as a line width and shading is calculated from the value of the data before conversion.
  • a conversion rule func for obtaining the attribute value of the attribute DA is described.
  • the drawing style data description block DDB is a block that describes a drawing style indicating a basic style when drawing stroke data SD such as the shape of the pen tip.
  • the stroke data description block SDB is a block in which the stroke data SD is described.
  • a plurality of stroke data SD such as the stroke data SD0 to SD4 shown in FIG. 4 are listed.
  • the mapping data generation unit 32 is a functional unit that generates and outputs mapping data MD indicating a conversion rule for converting the input sensor attribute ISA included in the stroke data SD into the drawing attribute DA.
  • the drawing attribute DA includes either a line width value W or a gray value (transparency A).
  • the mapping data MD generated by the mapping data generation unit 32 includes range data rd (described later) indicating the application range of the conversion rule.
  • the conversion function content func of the mapping data MD generated by the mapping data generation unit 32 is specified in advance by user settings.
  • FIG. 7 is a diagram showing various examples of the content func of the mapping data set by the user.
  • FIG. 7A shows an example of a conversion rule in which the writing pressure value P is a value before conversion of the input sensor attribute ISA, and the value of the drawing attribute DA having the line width W is output as the value after conversion.
  • the function indicated by func1 is a conversion rule in which the line width W is 10 times the writing pressure value P that takes a value between 0.0 and 1.0.
  • the function indicated by func2a is a conversion rule in which the line width W is a value that is five times the writing pressure value P that takes a value between 0.0 and 1.0.
  • the function indicated by func2b is a conversion rule in which the line width W is 20 times the writing pressure value P that takes a value between 0.0 and 1.0.
  • FIG. 7B shows a drawing attribute DA having transparency A as a value before conversion of the input sensor attribute ISA with a speed V derived based on the coordinate data (X, Y) and time T.
  • the example of the conversion rule which outputs the value of is shown.
  • functions indicated by func3 and func3b indicate conversion rules in which the transparency increases monotonously as the speed V increases.
  • the conversion rule can be arbitrarily specified by the user, and a function func2c that does not pass through the origin, a non-linear function func3b, or the like can be used as a function of the conversion rule of the mapping data MD.
  • mapping data MD generated by the mapping data generation unit 32 will be described in more detail with reference to FIG.
  • FIG. 8 shows an example of mapping data MD according to the InkML format.
  • the mapping data generating unit 32 according to the present embodiment is configured to generate two mapping data MD1 and MD2.
  • mapping data MD1 (first mapping data) will be described.
  • the seventh line indicates that the above expression is expressed using MathML.
  • line width data W is generated by multiplying the writing pressure data P (representing variable p), which is the source, by a numerical value 10 ( ⁇ times />).
  • the contents func1 of the conversion rule are shown. Note that the application range of the conversion rule by the function func1 is the entire stroke data SD, and therefore does not include data of the application range of the conversion rule.
  • mapping data MD2 (second mapping data) will be described.
  • the 23rd to 25th lines correspond to the conversion rule of FIG. 7 in which the line width data W is generated by multiplying the writing pressure data P (the variable p representing the source) by the numerical value 5 ( ⁇ times />).
  • Contents func2a are shown. “Range” on the 18th line indicates the existence of range data rd (first range data) indicating the application range of the conversion rule by the function func2a, and an example ““ ⁇ 2, ⁇ 1 ”” of the range. ing.
  • “ ⁇ 2” on the left side indicates the start point of the range
  • “ ⁇ 1” indicates the end point of the range.
  • each point data PD in the stroke data SD has an index value starting from 0.
  • the range data rd uses index value information indicating the index value of the point data PD to indicate the range of stroke data.
  • the index value information is an index value itself or a corrected index value obtained by correcting the index value by a calculation rule using a remainder operation.
  • the calculation rule is expressed by, for example, the following expressions (1) and (2).
  • i is an index value before correction
  • j is a correction index value
  • Mod (a, b) is a function for obtaining a remainder obtained when a is divided by b.
  • the corrected index value j is an integer congruent with the corresponding index value i modulo the point data number n.
  • the corrected index value j calculated by the equation (1) is “ ⁇ 1” and “ ⁇ 2” in order from the last index value (the corrected index value j of the nth point data PD) regardless of the total number n of point data PD. “ ⁇ 3”...
  • it is determined whether the index value information is an index value or a corrected index value by determining whether the index value information included in the range data rd is positive or negative. Can do.
  • FIGS. 9A to 9D are diagrams illustrating four examples of the range data rd and stroke ranges (end portions) in the stroke data SD0, the stroke data SD1, and the stroke data SD4 shown by the examples.
  • a broken line frame in the figure is a stroke range corresponding to the range data rd in each example.
  • the second expression from the end which is the end of the end of any stroke data with the same expression, is expressed using the corrected index value. It is possible to indicate a range from the point data PD to the last point data PD.
  • the same expression can indicate the range of the first end data PD to the second point data PD, which is the first end. It becomes possible.
  • range “ ⁇ 1, 0”
  • a range including two ends can be shown by one expression. This is an effect obtained by handling the point data PD included in the stroke data SD with the index value and the corrected index value. This is particularly useful when special processing is required for both ends of the stroke.
  • mapping data MD can be generated.
  • the stroke data SD is converted into the point data PDn at the end to which the corrected index value ⁇ 1 is given and the point data PD0 at the tip to which the index value 0 is given. Can be handled as continuous cyclic data. As a result, it is possible to indicate the deformation of both end portions of the stroke data having a large change in the line width and shading of the ink data by one range data rd.
  • the stroke data SD may be supplied to the mapping data generation unit 32.
  • the mapping data generating unit 32 can determine the index value of the point data PD that is the target of the conversion rule and include it in the corresponding range data.
  • the one or more mapping data MD generated by the mapping data generating unit 32 is supplied to the application order determining unit 33.
  • the application order determination unit 33 is a functional unit that determines the application order when a plurality of mapping data MD is supplied from the mapping data generation unit 32.
  • mapping data MD1 is applied after the mapping data MD2 is applied, the mapping data MD1 is applied to the point data PD0 to PDn of all index values included in the stroke data SD0 to SD5. Therefore, the application result of the mapping data MD2 is canceled.
  • mapping data MD2 is applied after mapping data MD1 is applied, line width data W is generated for point data PD0 to PDn of all index values included in stroke data SD by mapping data MD1. Only the line width data W corresponding to the point data PD of the index value of a part (first end, both ends, etc.) can be corrected by the mapping data MD2 so as to overwrite the line width data W ( This will be described later with reference to FIG.
  • the application order determination unit 33 has two mapping data MD configured to convert the same attribute data into the same attribute data, and the range data has an overlap.
  • the order of application of the mapping data MD may be determined according to user settings such as overwriting the mapping data MD1 for all of the stroke data SD with the mapping data MD2 for a part of the stroke data SD. This makes it possible to obtain attribute data as intended by the user (line width data W in the example of FIG. 8).
  • the digital ink assembly unit 31 arranges the stroke data SD supplied from the stroke data generation unit 20 in the stroke data description block SDB shown in FIG.
  • the digital ink assembling unit 31 arranges one or a plurality of mapping data MD supplied from the application order determining unit 33 in the mapping data description block MDB shown in FIG. In this case, when a plurality of mapping data MD is supplied from the application order determining unit 33, the digital ink assembling unit 31 arranges the plurality of mapping data MD based on the application order determined by the application order determining unit 33. Determine the order. Although the specific arrangement order depends on the specification of the digital ink reproducing unit 40 described later, the mapping data MD to be applied first (mapping data MD1 in the example of FIG. 8) is the mapping data MD to be applied later (FIG. 8). In the example of FIG.
  • the reproducing unit 30 interprets the digital ink INKD by arranging it so as to be above the mapping data MD2), in the order of the mapping data MD1, MD2, to MDm in order from the top of the data.
  • the application order at the time of reproduction can be made the same order as the application order determined by the application order determining unit 33.
  • the digital ink assembling unit 31 adds drawing style data DD describing a style related to the format of the stroke data SD to the setting data description block DDB.
  • FIG. 10 shows, as an example of the drawing style data DD, drawing style information DD1 indicating the brush style set in the application when the stroke data SD is generated.
  • the digital ink assembly unit 31 assembles the digital ink INKD according to the InkML format by combining the stroke data SD, the mapping data MD, and the drawing style data DD as an XML document.
  • the digital ink assembling unit 31 converts the digital ink INKD thus assembled into a byte string using the XML file encoding method (such as UTF8) declared at the beginning of FIG. Output to network media. In this way, the digital ink processing apparatus 2 according to the present embodiment outputs the digital ink INKD.
  • 2 is a functional unit that plays a role of reproducing the digital ink INKD generated by the digital ink generation unit 30 in the digital ink processing apparatus 2.
  • stroke data SD (first stroke data) and mapping data MD are extracted from the digital ink INKD, and extracted for the input sensor attribute ISA included in the extracted stroke data SD.
  • mapping data MD a process for generating corrected stroke data SD (second stroke data) including the value of the drawing attribute DA is included.
  • the digital ink regeneration process will be specifically described with reference to FIG. In the following description, it is assumed that the digital ink INKD to be processed includes the mapping data description block MDB shown in FIG.
  • FIG. 11A shows the stroke data SD1 extracted from the digital ink INKD by the digital ink reproducing unit 40.
  • the stroke data SD1 includes, as the input sensor attribute ISA, three attribute data: first attribute data X indicating the X coordinate, second attribute data Y indicating the Y coordinate, and third attribute data P indicating the pen pressure value. Contains.
  • the digital ink reproducing unit 40 sequentially extracts the mapping data MD1 and MD2 shown in FIG. 8 from the mapping data description block MDB in the digital ink INKD shown in FIG.
  • the digital ink reproducing unit 40 first applies the mapping data MD1 extracted first out of the two extracted mapping data MD1 and MD2 to the stroke data SD1.
  • the stroke data SD1 after the mapping data MD1 is applied is obtained.
  • the stroke data SD after applying MD1 includes the value of the line width W, which is a new drawing attribute DA, as the fourth attribute data, in addition to the first to third attribute data X, Y, P before conversion.
  • the digital ink reproducing unit 40 performs mapping for all strokes (point data PD of all indexes included in the stroke data SD) according to the rules of the ⁇ mapping> element. Processing is performed assuming that data MD1 is applied. Thereby, with respect to the mapping data MD1 shown in FIG. 8, the conversion rule is applied to all parts of the stroke data SD.
  • a broken line frame indicated by rd1 indicates a range of strokes to which the conversion rule according to the mapping data MD1 is applied in the stroke data SD.
  • the value in the broken line frame indicated by rd1 indicates the value of the line width W obtained from the mapping data MD1 having func1 (10 times) in FIG. 7 as the content of the conversion rule.
  • the value of the fourth attribute data (line width W) is derived as a value 10 times the value of the writing pressure data P.
  • the digital ink reproducing unit 40 applies the mapping data MD2 shown in FIG. 8 to the range (part) of the stroke data SD indicated by the range data rd described therein.
  • the range data rd shown in FIG. 8 is “ ⁇ 2, ⁇ 1”, but FIG. 11C shows the case where the value of the range data rd is “ ⁇ 1, ⁇ 1”.
  • An example is shown.
  • a broken line frame indicated by rd2 in FIG. 11C indicates a range to which the mapping data MD2 is applied when the value of the range data rd is “ ⁇ 1, ⁇ 1”.
  • the value in the broken line frame indicated by rd2 indicates the value of the drawing attribute DA (fourth attribute data) obtained from the mapping data MD2 having func2a (5 times) in FIG. 7 as the content of the conversion rule.
  • the value of the line width W which is the fourth attribute data of the drawing attribute DA of the point data PD14 of a part (last part) of the stroke is partially reduced.
  • the writing pressure data P is converted into line width data W by multiplying the writing pressure data P by five times, and the last point data whose application range is indicated by the index value ⁇ 1. This corresponds to the fact that only PD is described.
  • the digital ink reproducing unit 40 that has generated the stroke data SD after conversion by deriving the drawing attribute DA from the value of the input sensor attribute ISA is based on other information such as the drawing style DD described above.
  • An image signal is generated by applying an existing drawing processing method.
  • FIG. 12 schematically shows an example of a drawing process described in Non-Patent Document 6 as an example of an existing drawing processing method.
  • white circles PD0 to PD14 indicate 15 point data PD included in the stroke data SD1.
  • the numbers in the white circles indicate the value of the fourth attribute W for each of the point data PD0 to PD15.
  • the radius of each white circle is described as a value proportional to the value of the fourth attribute W.
  • the point data PD0 has a diameter 10 as the value of the fourth attribute W
  • the point data PD14 has a diameter 3 as the value of the fourth attribute (line width data W) obtained from the mapping data MD2. Listed in yen.
  • the digital ink reproducing unit 40 derives two envelopes (inner envelope IE and outer envelope OE) that touch each circle of the point data PD0 to PD14. Then, the obtained two envelopes IE and OE are defined as contours of the shape of the stroke data SD1. For example, in this way, the digital ink reproducing unit 40 can generate an image signal in which the line width proportional to the line width data W is the stroke data line width.
  • the drawing method of the converted stroke data SD is not limited to this, and an existing drawing method may be used.
  • the image signal generated by the digital ink reproducing unit 40 is output to the display 5 as shown in FIG.
  • the stroke data SD corrected by the mapping data MD2 is displayed for the stroke data SD0 to SD5 in a form visible to the user.
  • FIGS. 13A to 13D show examples of the stroke data SD (stroke data SD0 to SD4) converted into image signals as described above.
  • FIG. 13A shows stroke data obtained by applying the conversion rule func1 for obtaining the line width W by multiplying the writing pressure P by 10 with respect to the stroke data SD0 to SD4 shown in FIG.
  • regenerated from SD is shown.
  • FIG. 13B applies (1) the conversion rule func1 for obtaining the line width W by multiplying the writing pressure P by 10 with respect to the stroke data SD0 to SD4 shown in FIG. (2) An image signal reproduced from the stroke data SD obtained by applying the conversion rule func2a that multiplies the pen pressure P to 5 to obtain the line width W with respect to the end portion indicated by the broken line frame in the drawing. Is shown.
  • 13C applies (1) the conversion rule func1 for obtaining the line width W by multiplying the writing pressure P by 10 with respect to the stroke data SD0 to SD4 shown in FIG. (2) Stroke data obtained by applying the conversion rule func2a to obtain the line width W by multiplying the writing pressure P by 5 with respect to both the end and the end indicated by the broken line frame in the drawing of the stroke.
  • regenerated from SD is shown.
  • FIG. 13D applies to the stroke data SD0 to SD4 shown in FIG. 3, (1) the conversion rule func1 for obtaining the line width W by multiplying the writing pressure P by 10 is applied to all parts of the stroke data. (2) Stroke data obtained by applying the conversion rule func2b, in which the writing pressure P is multiplied by 20 to obtain the line width W, to both the end and the end indicated by the broken line frame in the stroke diagram The image signal reproduced
  • the line width W or the transparency A or the like is lost without losing data indicating the input sensor attribute ISA such as writing pressure data.
  • Ink data INKD describing a conversion rule for deriving the value of the drawing attribute DA of the stroke data can be generated.
  • the digital ink INKD can indicate from which value of the input sensor attribute ISA the value of the drawing attribute DA (line width W and transparency A) is derived.
  • Changing the correspondence between the pen pressure data P and the line width W included in the ink INKD at once, or the pen pressure data stored in the digital ink INKD (although not directly used for drawing) P can also be used as a comparison parameter for signature authentication.
  • digital ink INKD in which a rule for applying a conversion rule in mapping data MD to a partial range of stroke data SD is generated. It becomes possible. Therefore, as in the example described above, it is possible to configure so that the conversion rule is applied only to the start point and the end point of the stroke data SD. Therefore, as shown in FIG. 13A to FIG. It is possible to generate digital ink INKD having In addition, in order to express the end point of the range data using the index value and the corrected index value obtained by using the remainder operation, a conversion rule that specifies the end part or both the end part and the front end part is set as stroke data. It can be obtained in advance before the SD is generated.
  • the input system 1 is the first implementation in terms of the contents of the stroke data SD output from the stroke data generation unit 20 and the internal processing of the mapping data generation unit 32 and the digital ink reproduction unit 40, respectively. Since it is different from the input system 1 according to the form, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof will be omitted. In the following, attention is paid to differences from the first embodiment. explain.
  • the stroke data generation unit 20 generates stroke data SD including three types of input sensor attributes ISA: coordinate data X, coordinate data Y, and time data T.
  • FIG. 14 shows stroke data SD5 including ten point data PD0 to PD9 as an example of the stroke data SD generated by the stroke data generation unit 20 according to the present embodiment.
  • the stroke data SD is generated in the InkML format, and specifically, a format in which each point data PD is delimited by a comma (,). Is generated by In each point data PD, each attribute data is delimited by a half-width space.
  • the arrangement of each attribute data in the point data PD is in the order of coordinate data X, coordinate data Y, and time data T.
  • “8” on the left side is the coordinate data X
  • “0” in the center is the coordinate data Y
  • the numerical value 16 on the right side of “'16” on the right side is the time.
  • Data T Note that the time data T of each point data PD is expressed by the elapsed time from the time corresponding to the first index value being 0 milliseconds.
  • FIG. 14 shows an example in which coordinate data (X, Y) is obtained at a constant interval of 16 milliseconds. Also for the coordinate data (X, Y), the Y coordinate is fixed at 0, and is obtained when the electronic pen 4 is moved only in the X direction at a constant acceleration (speed increases by 8 every 16 milliseconds). The example of the coordinate to be shown is shown.
  • the mapping data generation unit 32 has a first input sensor attribute ISA (for example, coordinate data (X, Y)) of the first point data PDi among a plurality of point data PD included in one stroke data SD.
  • the transparency data A is based on the value of the time data T) and the value of the first input sensor attribute ISA included in the second point data PDi + 1 whose index value is different from that of the first point data PDi. It is configured to generate mapping data MD including a conversion rule for obtaining the drawing attribute DA.
  • mapping data MD generated by the mapping data generation unit 32 will be described in more detail with reference to FIG.
  • FIG. 15 is a diagram showing mapping data MD3 generated by the mapping data generation unit 32 according to the present embodiment.
  • the third to seventh lines are parts for defining input sensor attributes (X, Y, T) as conversion sources and drawing attributes (transparency A) obtained by the conversion.
  • the 11th to 37th lines are parts indicating conversion rules included in the mapping data MD3. Specifically, a conversion rule is described in which transparency data A i corresponding to the i-th index value is generated by the following formulas (2) and (3).
  • X i , X i ⁇ 1 , Y i , Y i ⁇ 1 , T i , and T i ⁇ 1 in Equation (3) are coordinate data X and i ⁇ 1 corresponding to the i-th index value, respectively.
  • the characteristic of the conversion rule according to the above formulas (2) and (3) is that, when generating the transparency data A i corresponding to the i-th index value, refer to the attribute data corresponding to the index value that is not the i-th index value. There is in point. Specifically, the attribute data corresponding to the previous index value i ⁇ 1 is referred to, and V i obtained by Expression (3) is changed from the position corresponding to the index value i ⁇ 1 to the index value i. The moving speed of the electronic pen 4 until it moves to the corresponding position is shown. In the conversion rule according to Expression (2), a function (func3 shown in FIG. 7B) is set such that the transparency increases as the moving speed V i increases.
  • mapping data MD3 shown in FIG. 15 the 22nd line “'x” indicated by dx, the 27th line “′ y” indicated by dy, and the “′ t” on the 32nd line indicated by dt are “X i -X i-1 ”, respectively. It means “Y i -Y i-1 ” or “T i -T i-1 ”.
  • a portion surrounded by a broken line frame A in FIG. 15 indicates a value obtained by squaring “X i ⁇ X i ⁇ 1 ” which is the displacement amount of X.
  • a portion surrounded by a broken line frame B indicates a value obtained by squaring “Y i ⁇ Y i ⁇ 1 ” which is a displacement amount of Y.
  • a portion surrounded by a broken line frame C in the figure indicates a displacement amount in a two-dimensional plane corresponding to the numerator on the right side of Expression (3).
  • a portion surrounded by a broken line frame D corresponds to the entire right side of the equation (3), and indicates the speed of the section of time “T i ⁇ T i ⁇ 1 ”.
  • mapping data MD3 shown in FIG. 14 describes the conversion rule from the input sensor attribute ISA to the drawing attribute DA (transparency A) represented by the expressions (2) and (3).
  • the digital ink processing apparatus 2 generates and outputs the digital ink INKD including the mapping data MD3.
  • the digital ink data reproducing unit 30 extracts the stroke data SD5 and the mapping data MD3 from the digital ink INKD.
  • FIG. 16A shows the conversion source stroke data SD5 extracted from the digital ink INKD by the digital ink reproducing unit 40.
  • the stroke data SD5 includes, as the input sensor attribute ISA, first attribute data X indicating the X coordinate, second attribute data Y indicating the Y coordinate, and third attribute data T indicating the time information. Contains three data.
  • FIG. 16B shows stroke data SD5 obtained by applying the mapping data MD3.
  • the stroke data SD5 at this point includes transparency data A of the fourth attribute (drawing attribute DA) derived from the input sensor attribute ISA. Since the transparency data A 0 corresponding to the first index value cannot be obtained by the above formulas (2) and (3), the digital ink reproducing unit 40 conveniently uses the value of the transparency data A 1 . 10 is set as the value 10 of the transparency data A 0 .
  • the default value 0 is set for the transparency when no value is obtained for other parts such as the head part.
  • the stroke data SD including the transparency A obtained by the conversion rule can be obtained.
  • the digital ink reproducing unit 40 that has generated the stroke data SD after conversion by deriving the drawing attribute DA from the value of the input sensor attribute ISA is based on other information such as the drawing style DD described above.
  • An image signal is generated by applying an existing drawing processing method.
  • FIG. 17 is a diagram for explaining the stroke data SD according to the present embodiment.
  • 17 shows the positional relationship of 10 coordinate data (X, Y) from point data PD0 to PD9 included in the stroke data SD5 shown in FIG.
  • the middle part B of FIG. 17 expresses each point data PD0 to PD9 as a black circle, and stroke data SD5 obtained by setting the value of the transparency A shown in FIG. It is an image figure of the image signal produced
  • the lower part C of FIG. 17 represents each piece of point data PD0 to PD9 as a black circle, and stroke data SD5 obtained by setting the value of the transparency A shown in FIG. It is an image figure of the image signal produced
  • FIG. 18 is another diagram for explaining the effect of the conversion rule in which the transparency A increases with the speed V.
  • data such as a felt pen is applied as the brush type set in the drawing style information DD1 (see FIGS. 6 and 10)
  • the data moves from the left side to the right side in the drawing, similarly to the stroke data SD5 shown in FIG.
  • the moving speed (speed) of the indicator increases, an image signal in which the transparency A increases is shown.
  • Mapping data MD that defines the relationship can be generated.
  • the drawing attribute DA such as the line width W and the transparency A is derived.
  • the type of original data used to give the transparency A and line width W (whether writing pressure data was included or data derived from speed, etc.) can be recorded. it can.
  • each point data PD constituting the stroke data SD includes both the pen pressure data P and the time data T, and mapping data for converting the pen pressure data P into line width data W into the digital ink INKD.
  • mapping data MD for obtaining transparency data A from the stroke speed may be included.
  • the conversion rule applied to the range specified by the range data in the first embodiment may not be for deriving the drawing attribute DA such as the line width W and the transparency A from the input sensor attribute ISA. It may be used when it is desired to change the geometric shape using a conventional affine transformation or the like for a part of the stroke.
  • the attributes obtained by conversion using the statistical values of the same input sensor attribute ISA are not limited to the drawing attributes DD such as the line width W and the transparency A.
  • the coordinate data included in the stroke data SD may be used as the original data, and the coordinate data of the point data PD used in actual drawing may be obtained by applying a conversion rule such as a weighted average.
  • the present invention can also be regarded as an invention of a method for sequentially executing the processes of the stroke data generation unit 20 and the digital ink generation unit 30 using a computer, and these processes can be executed. Needless to say, it can also be regarded as an invention of a computer program describing a program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)

Abstract

【課題】入力センサ等から得られる筆圧等の入力センサ属性の値を保存しつつも、それらの入力センサ属性の値から線幅及び/又は透明度等が変化する筆跡を再現する変換規則を記述することが可能なデジタルインクを生成する。 【解決手段】デジタルインク処理装置2は、指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータSDを生成するストロークデータ生成部20と、ストロークデータに含まれた入力センサ属性の値を、線幅又は透明度の値に変換するための変換規則を示すマッピングデータMDを生成するマッピングデータ生成部32と、ストロークデータSD及びマッピングデータMDを含むデジタルインクINKDを所定のデータフォーマットで出力するデジタルインク組立部31とを備える。

Description

デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置
 本発明はデジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置に関し、特に、ペンを動作するに伴い生成されるイベントデータに基づいてデジタルインクを生成するデジタルインク生成装置及びデジタルインク生成方法と、そうして生成されたデジタルインクを再生するデジタルインク再生装置とに関する。
 インクの充填されたペンや絵の具の付いた毛筆を紙の上で動かすことにより、インクや絵の具が紙に吸収あるいは堆積され軌跡が描かれる。
 このように紙に描かれた手書きの軌跡(ストローク)を模擬するように、電子ペンやスタイラスなどの指示体をタブレット等の位置検出器の上で動かした軌跡を電子データ化したデータがデジタルインクである。デジタルインクは、通常、(1)手書きの軌跡を再現するためのデータ、(2)軌跡の描画スタイルを記述するデータ、及び、(3)軌跡に関するデータの変換規則を記述するデータを含み構成される。デジタルインクには、様々なOSで動作する描画アプリケーションや文書作成アプリケーションなどの異種環境でも利用できるように標準化されたデータフォーマットが存在する(非特許文献1~4)。
 非特許文献1記載のInkMLは、最も知られたデジタルインクのデータフォーマットの1つである。(1)手書きの軌跡を再現するためのデータは<trace>要素と呼ばれる。<trace>要素には、1ストローク(指示体を位置検出装置のセンサ面に接触させてから離すまでの動作)の軌跡を構成する複数のポイントデータ(入力センサによって所定の時間間隔で検出されるデータ。座標データ(X,Y)、筆圧データP、時刻データTなど、入力センサ依存の属性(入力センサ属性)を示すデータを含む)の集合を記述する。また、InkMLでは(2)軌跡の描画スタイルを指定するデータとして例えば<brush>要素などのデータ、(3)軌跡に関するデータの変換規則を記述するデータとして後述する<mapping>要素などのデータが規定されている。
 非特許文献2記載のISF(Ink Serialized Format)は、マイクロソフト社のアプリケーション上で利用されるデジタルインクのデータフォーマットである。(1)手書きの軌跡を再現するためのデータのブロックは、StrokeDescriptorBlockと呼ばれる。StrokeDescriptorBlockには、ストロークの軌跡を再現するためのポイント(ポイントはX、Y座標値である)や筆圧値等が記述される。又、(2)描画スタイルを記述するブロックであるDrawingAttributeBlockや、(3)軌跡に関するデータの変形規則を記述するブロックとしてTransformBlockなどが規定されている。
 非特許文献3記載のSVGは、二次元グラフィックスアプリケーション及び画像、並びにグラフィックスクリプトのセットを記述するためのマークアップ言語である。(1)手書きの軌跡を再現するためのデータとして<path>要素が存在する。<path>要素中には、複数の制御点(ポイントデータ)が含まれ、これらの複数の制御点に基づくベジエ曲線により軌跡が再現される。
 他、非特許文献4記載のHTML5には、(1)手書きの軌跡を再現するためのデータとしてCanvas Pathクラスとよばれるデータ型が規定されている。
 以下では、非特許文献1の<trace>、非特許文献2のStrokeDescriptorブロック、非特許文献3の<path>要素、非特許文献4記載のHTML5におけるCanvasPathなどを総称し、入力装置を用いて手書きした軌跡と線幅を含む形状を再現するためのベクタデータをストロークデータと呼ぶ。
 また、以下では、非特許文献1の<mapping>、非特許文献2の<transformBlock>など軌跡に関するデータ(ストロークデータ)の変換規則を記述するデータを総称し、マッピングデータと呼ぶ。
 図19Aは、非特許文献1のマッピングデータである<mapping>要素を説明する図である。この例は、<mapping>要素のタイプとして"affine"を用いた変換規則を示している。この変換規則は、X座標及びY座標で規定される図形に対し、4行目~7行目で示す行列に示されるアフィン変換(90度の回転を施し、Y方向に200平行移動する変換)を施す変換を示している。
 また、図19Bは、<mapping>要素のタイプとして「mathml」を利用した変換規則を示す図である。"mathml"を用いた変換規則では、非特許文献5のMathML2が規定する名前空間で予約された"root"、"cos"、"minus"等の表現を用い、それに対応付けられた演算を利用することができる。図19Bの例に示す変換規則は、極座標形式で示される入力センサ属性の座標データ(VR,VTh)を、直交座標形式で示される座標データ(X,Y)に変換する規則である。図中、2行目~13行目までの破線枠MD_Xで示す変換規則は、入力センサ属性が示す径VRの値(変数r)、及び、角度VThの値(変数theta)、並びに、MathMLで"cos"により規定される余弦等を用いて、新たなX座標データを導出するための変換規則を記述している。また、14行目~25行目までのMD_Yで示す変換規則は、新たなY座標データを得るための変換規則を示している。
 非特許文献2のISFは、変換規則として利用可能な変形を<TRANSFORM BLOCK>の種類として列挙する(10ページ)。図19Aに示したアフィン変換行列のような変換として、M11、M12、M21、M22、及び、DX、DYの要素からなる2行3列で表現できる変換行列を観念し、この変換行列を用いた各種の変換が規定されている。例えば、ストロークデータを拡大縮小するための<TAG_TRANSFORM_ISOTROPIC_SCALE>、<TAG_TRANSFORM_ANISOTROPICSCALE>、ストロークデータに回転を施すための<TAG_TRANSFORM_ROTATE>、平行移動等を施すための<TAG_TRANSFORM_TRANSLATE>、回転した後で平行移動を施すための<TAG_TRANSFROM_ROTATE_AND_TRANSLATE>_などを利用することができる。
 非特許文献6には、デジタルインクに基づいて自然な線を描画するための描画方法の例が開示されている。
Yi-Min Chee、外11名、"Ink Markup Language (InkML) W3C Recommendation 20 September 2011"、[online]、平成23年9月20日、W3C、[平成26年11月19日検索]、インターネット〈URL:http://www.w3.org/TR/InkML/〉 "Ink Serialized Format Specification"、[online]、Microsoft Corporation、[平成26年12月11日検索]、インターネット〈URL:http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/InkSerializedFormat(ISF)Specification.pdf〉 Erik Dahlstrom、外9名、"Scalable Vector Graphics (SVG) 1.1 (Second Edition) W3C Recommendation 16 August 2011"、[online]、平成23年8月16日、W3C、[平成26年12月11日検索]、インターネット〈URL:http://www.w3.org/TR/SVG/〉 Ian Hickson、外6名、"A vocabulary and associated APIs for HTML and XHTML W3C Recommendation 28 October 2014"、[online]、平成26年10月28日、W3C、[平成26年12月11日検索]、インターネット〈URL:http://www.w3.org/TR/html5/〉 Ron Ausbrooks、外15名、 "Mathematical Markup Language (MathML) Version 2.0 (Second Edition) W3C Recommendation 21 October 2003"、[online]、平成15年10月21日、W3C、[平成26年12月11日検索]、インターネット〈URL:http://www.w3.org/TR/MathML2/〉 L.M. Mestetskii、"Fat Curves and Representation of Planar Figures"、[online]、平成12年、Department of Information Technologies, Tver' State University, Tver, Russia、[平成26年11月19日検索]、インターネット〈URL:http://cgm.cs.ntust.edu.tw/hlyang/www/Fat%20Curves.ppt〉
 しかしながら、上記非特許文献1や非特許文献2に例示されたマッピングデータによる変換規則は、ストロークデータの回転や拡大などの幾何的な変形に用いるためのものであり、ストロークデータに含まれた座標データや筆圧値など入力センサで得られた入力センサ属性から線幅や透明度などの描画処理において利用される描画属性データへの変換に着眼したものではない。ストロークデータ中に描画属性データの値を示す替わりに、描画属性データの値がどの入力センサ属性の値からどのような演算で得られる値であるかを示すことは、そのストロークデータを生成したときに用いられた入力センサの機能を事後的に確認できる点で有益である。
 また、従来の変換規則の記述形式では、実際のペンや毛筆などが描く線の濃淡や幅への変換を表現するための変換規則を記述するために十分でない。具体的には、例えばインクを充填したペンや絵の具を吸収した毛筆を用いて紙の上に線を書いた場合、特に始点や終点などで、ペンや毛筆を動かした際のインクや絵の具のかすれ具合などによりストロークの一部分が細くなったり、逆に太くなったりする。上記従来の変換規則の記述形式によっては、ストロークの一部分に対して特別な変換規則を適用する変換規則を与える記述や、速度等ストロークの入力センサ属性の値の変化量に対しての変換規則を記述することができない。
 したがって、本発明の目的のひとつは、入力センサ等から得られる筆圧等の入力センサ属性の値を保存しつつも、それらの入力センサ属性の値から線幅及び/又は透明度等が変化する筆跡を再現する変換規則を記述することが可能なデジタルインクを生成するデジタルインク生成装置及びデジタルインク生成方法と、そのようなデジタルインク生成装置によって生成されたデジタルインクを再生できるデジタルインク再生装置とを提供することにある。
 第1の発明は、指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成部と、前記ストロークデータに含まれた前記入力センサ属性の値を、線幅又は透明度の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成部と、前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立部と、を備えるデジタルインク生成装置である。
 第2の発明は、第1の発明において、前記マッピングデータ生成部は、前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成する、というものである。
 第3の発明は、第1の発明において、前記ストロークデータ生成部は、前記入力センサ属性を属性とするポイントデータを複数含むストロークデータを生成し、前記マッピングデータ生成部は、複数の前記ポイントデータのうち第1のポイントデータに含まれる前記入力センサ属性のうち第1の属性の値と、複数の前記ポイントデータのうちの前記第1のポイントデータとは異なる第2のポイントデータに含まれる前記第1の属性の値との統計値に基づいて、前記第2のポイントデータの線幅又は透明度の値を得るための変換規則を含むマッピングデータを生成する、というものである。
 また、本発明によるデジタルインク再生装置は、本発明によるデジタルインク生成装置により生成される前記デジタルインクから前記ストロークデータ及び前記マッピングデータを抽出し、前記ストロークデータに含まれた前記入力センサ属性の値に、前記マッピングデータに含まれた前記変換規則を適用することにより線幅又は透明度の値を含むストロークデータを生成し、生成されたストロークデータを描画処理する、というものである。
 また、本発明によるデジタルインク生成方法は、入力センサを備えたコンピュータで実行されるデジタルインク生成方法であって、指示体を操作することに伴い前記入力センサにより生成されるペンイベントデータに基づいて、第1の属性を属性とするストロークデータを生成するストロークデータ生成ステップと、前記ストロークデータに含まれた前記第1の属性の値を、前記第1の属性または第2の属性の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成ステップと、前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立ステップと、を含む。
 第1の発明によれば、筆圧データ等の入力センサ属性の値を保持したまま、その入力センサ属性の値に基づいて線幅あるいは透明度などのストロークデータの描画属性の値を導出するための変換規則を記述したデジタルインクを生成することができる。これにより、例えば、線幅や透明度といった値が入力センサにより取得された筆圧から導出された値なのか、速度のパラメータから仮想的に導出された値なのかの区別をしたい場合や、事後的に一括して筆圧と線幅との対応関係を変更したい場合、又は、筆圧値Pをシグネチャ認証の比較パラメータに利用するような場合に有益である。
 また、第2の発明によれば、一部分の範囲に対してマッピングデータ内の変換規則を適用する規則を記述したデジタルインクを生成することが可能になる。これにより、例えば、ストロークの始点付近の部分や終点付近の部分のみに変換規則が適用されるように構成することも可能になるので、特に、実際のストロークでも線幅や透明度が変わりやすい端部に対して特別な強調処理を実行することのできる表現力の高い変換規則を記述することができる。
 また、第3の発明によれば、インデックス値の異なる2以上のポイントデータに含まれる入力センサ属性値を入力として線幅や透明度等を得るための変換関係を規定したマッピングデータを生成することができる。これにより、透明度や線幅などの描画時に用いる属性の値を導出するにあたって、微分値、積分値、又は、加算平均等の統計値に基づいた変換規則を適用することができ、例えば、指示体の移動の速さに応じて透明度が増加する変換規則など、実際のインクの状況を模したデジタルインクを生成するための変換規則を記述することができる。
本発明の第1の実施の形態による入力システム1を示す概念図である。 図1に示したデジタルインク処理装置2の機能ブロック図である。 ポイントデータPDとストロークデータSDとの関係を説明する図である。 InkML形式のフォーマットに従って生成される図3のストロークデータSD0~SD4を示す図である。 図4の5つのアルファベットに対応するストロークデータSD0~SD4のうち、アルファベット"e"に対応するストロークデータSD1のみを取り出した図である。 図2に示したデジタルインク組立部31が組み立てるデジタルインクINKDを説明する図である。 ユーザが設定するマッピングデータの内容funcの各種の例を示す図である。 InkMLのフォーマットに従ったマッピングデータMDの例を示す図である。 範囲データrdの例としてrange="-2,-1"を指定した場合のストロークの範囲を示す図である。 範囲データrdの例としてrange="0,1"を指定した場合のストロークの範囲を示す図である。 範囲データrdの例としてrange="-1,0"を指定した場合のストロークの範囲を示す図である。 範囲データrdの例としてrange="1、-2"を指定した場合のストロークの範囲を示す図である。 描画スタイルデータDDの例として、ストロークデータSDの生成時にアプリケーションに設定されていたブラシのスタイルを示す描画スタイル情報DD1を示す図である。 (a)は、デジタルインク再生部40によってデジタルインクINKDから抽出された状態のストロークデータSD1を示す図であり、(b)は、マッピングデータMD1適用後のストロークデータSD1を示す図であり、(c)は、マッピングデータMD2適用後のストロークデータSD1を示す図である。 非特許文献6に記載される描画処理の例を模式化した図である。 図3に示したストロークデータSD0~SD4に対し、筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用して得られたストロークデータSDから再生された画像信号を示す図である。 図3に示したストロークデータSD0~SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを5倍して線幅Wを得るという変換規則func2aを、ストロークの図中破線枠で示す末尾部分に対して適用して得られたストロークデータSDから再生された画像信号を示す図である。 図3に示したストロークデータSD0~SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを5倍して線幅Wを得るという変換規則func2aを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータSDから再生された画像信号を示す図である。 図3に示したストロークデータSD0~SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを20倍して線幅Wを得るという変換規則func2bを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータSDから再生された画像信号を示す図である。 本発明の第2の実施の形態によるストロークデータ生成部20によって生成されるストロークデータSDの例として、10個のポイントデータPD0~PD9を含むストロークデータSD5を示す図である。 本発明の第2の実施の形態によるマッピングデータ生成部32が生成するマッピングデータMD3を示す図である。 (a)は、デジタルインク再生部40によってデジタルインクINKDから抽出された状態のストロークデータSD5を示す図であり、(b)は、ストロークの全部にマッピングデータMD3を適用した後のストロークデータSD5を示す図であり、(c)は、範囲データrd="-3、-1"の部分にマッピングデータMD3を適用した後のストロークデータSD5を示す図である。 本発明の第2の実施の形態によるストロークデータSDを説明するための図である。 速度Vに応じて透明度Aが大きくなる変換規則の効果を説明するための他の図である。 非特許文献1のマッピングデータである<mapping>要素を説明する図である。 <mapping>要素のタイプとして「mathml」を利用した変換規則を示す図である。
 以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
(第1の実施の形態)
 図1は、本発明の第1の実施の形態による入力システム1を示す概念図である。入力システム1は、記憶装置2aを有するデジタルインク処理装置2と、平板状のセンサ3aを有するデジタイザ3(位置検出装置)と、電子ペン4(指示体)と、ディスプレイ5とを備えて構成される。なお、指示体としては、上記電子ペン4の他に、例えば人間の指や単なるプラスチックの棒(スタイラス)を用いることも可能である。また、図1では、コンピュータ2、デジタイザ3、及びディスプレイ5を別体の装置として描いているが、これらの一部又は全部を一体の装置(タブレットPCなど)として構成することも可能である。
 入力システム1は、ユーザが、電子ペン4を用いてデジタイザ3のセンサ3a上で文字や絵を描くことにより入力された座標データ等に基づいてInkML形式のデジタルインクを生成して記憶装置2aに記録する機能と、記録されたデジタルインクから画像信号を生成しディスプレイ5上に再生する機能とを有している。
 センサ3aの表面には、それぞれx方向(センサ3aの表面内の一方向)に延在する複数の線状導体と、それぞれy方向(センサ3aの表面内においてx方向と直交する方向)に延在する複数の線状導体とがそれぞれ等間隔で配置される。デジタイザ3は、センサ3aの表面に電子ペン4が近づいたことによって生ずるこれらの線状導体の電位の変化に基づき、センサ3aの表面内における電子ペン4の位置を示す座標データ(X,Y)を検出するよう構成される。
 本実施の形態の電子ペン4は、所定の時間間隔で筆圧データPを検出し、検出した筆圧データPを随時デジタイザ3に対して送信するように構成される。
 デジタイザ3は、上記座標データ(X,Y)及び筆圧データPを検出するように構成される。そして、検出した座標データ(X,Y)と、対応する筆圧データPと、検出時刻を示す時刻データTとのセットである入力センサデータISDを生成し、随時、図1に示すようにデジタルインク処理装置2に対して、図示しないIO部を通じて出力するように構成される。これによりデジタルインク処理装置2には、デジタイザ3が電子ペン4を検出している間、一連の入力センサデータISDがセンサ3aのサンプリングレート毎に供給されることになる。
 デジタルインク処理装置2は、例えばパーソナルコンピュータである。図示した記憶装置2aの他、CPUや通信回路などの通常のコンピュータが備える構成を備えている。記憶装置2aは、主メモリなどの主記憶装置と、ハードディスクなどの補助記憶装置とを含んで構成される。図2に示すデジタルインク処理装置2の機能ブロックは、デジタルインク処理装置2のCPUが記憶装置2a内に記憶されるプログラムに従って動作することによって実現される。
 図2は、デジタルインク処理装置2の機能ブロック図である。同図に示すように、デジタルインク処理装置2は機能的に、入力処理部10、ストロークデータ生成部20、デジタルインク生成部30、及びデジタルインク再生部40を有して構成される。このうちデジタルインク生成部30は、内部構成として、デジタルインク組立部31、マッピングデータ生成部32、及び適用順決定部33を有して構成される。
 入力処理部10は、デジタイザ3からUSBやI2C等のインタフェース経由で供給される入力センサデータISDから座標データ(X,Y)や筆圧データPなどの入力センサ属性ISAを抽出し、オペレーティングシステム上で動作する他のプログラムに利用可能な形式であるイベントデータEDにして出力する。入力処理部10は、典型的には、デジタルインク処理装置2上で動作するオペレーティングシステムに組み込まれたデジタイザ3に対応するデバイスドライバとして実現される。
 ここで、イベントデータEDに含まれる情報には、座標データ(X,Y)や筆圧データPを含むポイントデータPDの他に、そのポイントデータPDが一連のストロークのうちどの部分かを識別するためのイベントタイプ識別情報ETYPEが含まれる。イベントタイプ識別情報ETYPEの取る値には、ペンダウン状態Pdown,ペンムーブド状態Pmvd、ペンアップ状態Pupなどが含まれる。入力処理部10は、電子ペン4や指などの指示体がデジタイザ3に接触(ペンダウン)したことを検出すると、接触位置に対応する座標データ(X,Y)を含むポイントデータPDを生成するとともにイベントタイプ識別情報ETYPEの値としてペンダウン状態Pdownであることを設定したイベントデータEDを生成する。その後、電子ペン4や指示体がデジタイザ3に摺動されている間、入力処理部10は、一連の座標データ(X,Y)に対応する一連のポイントデータPDとともにイベントタイプ識別情報ETYPEの値にペンムーブド状態Pmvdの値を設定したイベントデータEDを生成し続ける。最後に、入力処理部10は、電子ペン4がデジタイザ3から持ち上げられた(ペンアップした)ことを検出すると、イベントタイプ識別情報ETYPEの値にペンアップ状態Pupであることを指定したイベントデータEDを生成する。
 ストロークデータ生成部20は、入力処理部10からイベントデータEDの供給を受け、1以上のポイントデータPDを包含するストロークデータSD(第1のストロークデータ)を生成する機能部である。ストロークデータ生成部20は、典型的には、デジタルインク処理装置2のCPUで実行されるライブラリあるいはサービスと呼ばれるプログラムで実現される。ストロークデータ生成部20は、入力処理部10から供給されるイベントデータEDのイベントタイプ識別情報ETYPEの値を参照し、ペンダウン状態Pdownを示すイベントデータEDからペンアップ状態Pupを示すイベントデータEDまでの間のイベントデータEDに含まれた一連のポイントデータPDを包含する1つのストロークデータSDを生成する。ストロークデータ生成部20は、入力センサデータISDに含まれる座標データ(X,Y)の値をそのままポイントデータPDの座標データ(X,Y)の値とする場合の他に、入力センサデータISDに含まれる座標データ(X,Y)の値に重み付け平均あるいは指数平滑法等のスムージング処理や間引き処理等を行うことによって得られる新たな座標データ(X,Y)の値をポイントデータPDの座標データ(X,Y)とする場合、並びに、入力センサデータISDに含まれる座標データ(X,Y)に加えてベジエ曲線等の補間曲線の形状を決定するための追加の制御点をポイントデータPDとする場合がある。
 図3は、ポイントデータPDとストロークデータSDとの関係を説明する図である。図中、5つの破線枠は、5つのアルファベット「h」「e」「l」「l」「o」が入力された際に生成される5つのストロークデータSD(SD0、SD1、SD2、SD3、SD4)を示している。
 ストロークデータSD0~SD4の各々には、図中白丸で示す一連のポイントデータPDが包含される。図中白丸間の実線は、白丸で示されるポイントデータPDが一連のものであることを示す。
 ここで、アルファベット「h」に対応するストロークデータSD0には、インデックス値が0であるポイントデータPD0から始まり、そのインデックス値が25であるPD25で終わるポイントデータ数n=26個のポイントデータPD0~PD25が含められる。また、アルファベット「e」に対応するストロークデータSD1には、インデックス値が0であるPD0から始まりインデックス値が14であるPD14で終わるポイントデータ数n=15個のポイントデータPD0~PD14が含められる。アルファベット「o」に対応するストロークデータSD4には、インデックス値が0であるPD0から始まりインデックス値が8であるPD8で終わるポイントデータ数n=9個のポイントデータPD0~PD8が含められる。このように、ストロークデータSDによって含められるポイントデータPDのポイントデータ数nの値は異なる。
 尚、図3に示したOPは、ポイントデータPDに含まれる座標データ(X,Y)についての座標系の原点座標を示している。以下、説明の便宜上、座標データの値は、右への方向をX座標の値が増加する方向とし、下への方向をY座標の値が増加する方向とする。
 本実施の形態のストロークデータ生成部20は、ストロークデータSDのフォーマットとして非特許文献1のInkMLを利用したフォーマットに従い、<trace>要素の記述形式に従ってストロークデータSDを生成する。
 図4は、InkML形式のフォーマットに従って生成される図3のストロークデータSD0~SD4を示す図である。図5は、図4の5つのアルファベットに対応するストロークデータSD0~SD4のうち、アルファベット"e"に対応するストロークデータSD1のみを取り出した図である。
 図4、図5の例に示されるように、ストロークデータSDは、<trace>要素として表現され、図中各行の末尾に存在するカンマ(,)を区切り記号として各ポイントデータPD0~PD14が区切られる形式により生成される。
 各ポイントデータPD内では、1以上の半角スペースを区切り記号として各属性データが区切られている。本実施の形態においては、ストロークデータSD内に、入力センサ属性ISAである第1の属性(座標データX)、第2の属性(座標データY)、及び第3の属性(筆圧データP)の3つの属性データを、元データの値のまま保持している。
 これら3つの入力センサ属性ISAの値は、座標データX、座標データY、及び筆圧データPの順で各ポイントデータPD内に配置されている。例えば、図5に示すストロークデータSd1におけるインデックス値0である1つ目のポイントデータPD0に関して言えば、左側の「199」が座標データX、「306」が座標データY、「1.0」が筆圧データPとなる。
 図2に戻る。ストロークデータ生成部20が生成したストロークデータSDは、デジタルインク組立部31に供給される。デジタルインク組立部31は、こうして供給されるストロークデータSDと、適用順決定部33から供給される1又は複数のマッピングデータMDとに基づいて、デジタルインクINKDを組み立てるよう構成される。
 図6は、デジタルインク組立部31が組み立てるデジタルインクINKDを説明する図である。図の例はデジタルインクINKDをInkMLのフォーマットに従って生成した例である。
 デジタルインクINKDは、「<?xml 」で始まるXML宣言と、「<ink・・>」で始まる行から末尾行の</ink>までの間に記述される<ink>要素とを含んで構成される。
 <ink>要素は、定義ブロックDEB(<definitions>要素)及びストロークデータ記述ブロックSDB(<ストロークデータSD>要素)を含んで構成される。
 定義ブロックDEBは、マッピングデータ記述ブロックMDBと描画スタイルデータ記述ブロックDDBとを含み構成される。
 マッピングデータ記述ブロックMDBは、ストロークデータの変換規則を示すマッピングデータMDが記述されるブロックである。変換規則として、ストロークデータ記述ブロックSDBに記述されたストロークデータSDに含まれる入力センサ属性ISAの値を変換前のデータの値とし、この変換前データの値から、線幅や濃淡など新たな描画属性DAの属性の値を得るための変換規則funcが記述される。
 描画スタイルデータ記述ブロックDDBは、ペン先の形状などストロークデータSDを描画する際の基本的なスタイルを示す描画スタイルを記述するブロックである。
 ストロークデータ記述ブロックSDBは、ストロークデータSDが記述されるブロックである。図4に示したストロークデータSD0~SD4など複数個のストロークデータSDが列挙される。
 図2に戻り、マッピングデータ生成部32は、ストロークデータSD内に含まれる入力センサ属性ISAを描画属性DAに変換するための変換規則を示すマッピングデータMDを生成、出力する機能部である。なお、描画属性DAは、線幅値Wあるいは濃淡値(透明度A)のいずれかを含んで構成される。また、マッピングデータ生成部32が生成するマッピングデータMDには、変換規則の適用範囲を示す範囲データrd(後述)が含まれる。
 マッピングデータ生成部32が生成するマッピングデータMDの変換規則の内容funcは、ユーザ設定により事前に指定される。
 図7は、ユーザが設定するマッピングデータの内容funcの各種の例を示す図である。図7(a)は、筆圧値Pを入力センサ属性ISAの変換前の値とし、変換後の値として線幅Wである描画属性DAの値を出力する変換規則の例を示している。図中、func1で示す関数は、0.0から1.0までの間で値を取る筆圧値Pに対し、その10倍の値を線幅Wとする変換規則である。図中、func2aで示す関数は、0.0から1.0までの間で値を取る筆圧値Pに対し、その5倍の値を線幅Wとする変換規則である。図中、func2bで示す関数は、0.0から1.0までの間で値を取る筆圧値Pに対し、その20倍の値を線幅Wとする変換規則である。
 図7(b)は、座標データ(X,Y)及び時刻Tに基づいて導出される速さVを入力センサ属性ISAの変換前の値とし、変換後の値として透明度Aである描画属性DAの値を出力する変換規則の例を示している。図中、func3とfunc3bで示す関数は、速さVが増加するに伴い透明度が単調増加する変換規則を示している。
 変換規則は、ユーザが任意に指定することができ、マッピングデータMDの変換規則の関数として、原点を通らないような関数func2cや、非線形の関数func3bなどを利用することもできる。
 次に、マッピングデータ生成部32が生成するマッピングデータMDについて、図8を用いてより詳しく説明する。図8は、InkMLのフォーマットに従ったマッピングデータMDの例を示している。図8に示すように、本実施の形態によるマッピングデータ生成部32は、2つのマッピングデータMD1,MD2を生成するように構成される。
 最初に、マッピングデータMD1(第1のマッピングデータ)について説明する。
 図8の5行目~6行目は、マッピングデータMD1が、筆圧データP(source="P")を線幅データW(target="W")に変換するための変換規則(第1の変換規則)であることを示している。7行目は、前述したMathMLを用いて表現することを示している。9行目~11行目は、sourceである筆圧データP(を表す変数p)に対し、数値10を乗算する(<times/>)ことにより、線幅データWを生成する、という図7の変換規則の内容func1を示している。尚、この関数func1による変換規則の適用範囲は、ストロークデータSDの全部であるとしているため、変換規則の適用範囲のデータを含まない。
 次に、マッピングデータMD2(第2のマッピングデータ)について説明する。図8の19行目~20行目は、マッピングデータMD2が、筆圧データP(source="P")を線幅データW(target="W")に変換するための変換規則(第2の変換規則)であることを示している。23行目~25行目は、sourceである筆圧データP(を表す変数p)に数値5を掛ける(<times/>)ことにより線幅データWを生成するという、図7の変換規則の内容func2aを示している。18行目の"range"は、この関数func2aによる変換規則の適用範囲を示す範囲データrd(第1の範囲データ)の存在と、その範囲の例「"-2,-1"」が示されている。ここで左側の「-2」は範囲の開始点を示し、「-1」は範囲の終了点を示している。
 ここで、範囲データrdの記述方法について詳しく説明する。今、ストロークデータSD内の各ポイントデータPDには、0から始まるインデックス値が付されているとする。範囲データrdは、ストロークデータの範囲を示すために、このポイントデータPDのインデックス値を示すインデックス値情報を使用する。インデックス値情報は、具体的には、インデックス値そのもの、又は、剰余演算を用いた演算規則によってインデックス値を修正してなる修正インデックス値である。
 演算規則は、例えば、次の式(1)及び式(2)によって表される。ただし、iは修正前のインデックス値であり、jは修正インデックス値であり、nはストロークデータSD内のポイントデータPDのポイントデータ数n(例えば、図3に示したストロークデータSD1については、n=15となる)である。また、mod(a,b)は、aをbで割った場合に得られる剰余を求める関数である。式(1)より理解されるように、修正インデックス値jは、ポイントデータ数nを法として、対応するインデックス値iと合同な整数である。
Figure JPOXMLDOC01-appb-M000001
 式(1)により算出される修正インデックス値jは、ポイントデータPDの総数nによらず、最後のインデックス値(n番目のポイントデータPDの修正インデックス値j)から順に「-1」「-2」「-3」・・・のように1ずつ低下する負の値となる。一方、インデックス値はすべて正の値であるので、範囲データrdに含まれるインデックス値情報の正負を判定することにより、そのインデックス値情報がインデックス値であるか修正インデックス値であるかを判定することができる。
 図9A乃至図9Dは、範囲データrdの4つの例と、それぞれの例により示されるストロークデータSD0、ストロークデータSD1、及びストロークデータSD4におけるストロークの範囲(端部)を説明する図である。図中破線枠が、各々の例の範囲データrdに対応するストロークの範囲である。
 図9Aは、範囲データrdの例としてrange="-2,-1"を指定した場合のストロークの範囲を示す図である。ポイントデータ数nの異なるストロークデータSD0、SD1、及び、SD4に対し、修正インデックス値を用いた表現により、同一の表現でいずれのストロークデータに対しても末尾の端部である最後から2番目のポイントデータPDから最後のポイントデータPDまでの範囲を示すことが可能になる。
 図9Bは、範囲データrdの例としてrange="0,1"を指定した場合のストロークの範囲を示す図である。ポイントデータ数nの異なるストロークデータSD0、SD1、及び、SD4に対し、同一の表現で最初の端部である、最初のポイントデータPDから2番目のポイントデータPDまでの部分の範囲を示すことが可能となる。
 図9Cは、範囲データrdの例としてrange="-1,0"を指定した場合のストロークの範囲を示す図である。ポイントデータ数nの異なるストロークデータSD0、SD1、及び、SD4に対し、1個の表現で2つの端部を含む範囲を示すことができる。これは、インデックス値及び修正インデックス値によりストロークデータSDに含まれるポイントデータPDを扱うことによる効果である。この点は、特にストロークの両端部に対して特別な処理を要する場合に有益となる。
 図9Dは、範囲データrdの例としてrange="1、-2"を指定した場合のストロークの範囲を示している。
 このように、範囲データの記述に剰余値を用いた修正インデックス値jを含むインデックス値情報を用いることで以下の効果がある。
 まず、ストロークデータSD0~SD4の各々のポイントデータPDの総数nによらず、全てのストロークデータSD0~SD4の末端部の範囲を指定することができる。これは、ストロークの端部を指定する上で、マッピングデータMDの生成にあたって事前にストロークデータSDを参照する必要がないことを意味する。したがって、新たなストロークデータSDがマッピングデータを生成した後にも続けて生成されるようなアプリケーション(例えば、リアルタイムに描画領域を共有するアプリケーション)であっても、事前にストロークデータSDとは独立してマッピングデータMDを生成することが可能になる。
 また、剰余を用いて算出される修正インデックス値を利用することにより、ストロークデータSDを、修正インデックス値-1が与えられる末尾のポイントデータPDnと、インデックス値0が与えられる先端のポイントデータPD0とが連続している環状のデータとして扱えるようになる。これにより、インクデータの線幅や濃淡の変化の多いストロークデータの両端部に対する変形を1つの範囲データrdで示すことが可能になる。
 なお、ストロークデータSDの個々のために、途中のポイントデータPDのインデックスを指定する必要がある場合、例えば中央に位置するポイントデータPDを指定する場合などには、図2に破線で示したように、マッピングデータ生成部32にストロークデータSDを供給すればよい。こうすることで、マッピングデータ生成部32は、変換規則の対象となるポイントデータPDのインデックス値を判定し、対応する範囲データに含めることが可能になる。
 図2に戻り、マッピングデータ生成部32により生成された1以上のマッピングデータMDは、適用順決定部33に供給される。適用順決定部33は、マッピングデータ生成部32から複数のマッピングデータMDが供給された場合に、それらの適用順を決定する機能部である。
 例えば図8の例では、仮にマッピングデータMD2を適用した後にマッピングデータMD1を適用したとすると、マッピングデータMD1はストロークデータSD0~SD5に含まれる全インデックス値のポイントデータPD0~PDnに適用されるものであるから、マッピングデータMD2の適用結果が取り消される結果となってしまう。これに対し、マッピングデータMD1を適用した後にマッピングデータMD2を適用したとすると、マッピングデータMD1によってストロークデータSDに含まれる全インデックス値のポイントデータPD0~PDnに対して線幅データWを生成した後、その線幅データWを上書きするように一部分(最初の端部、両端部等)のインデックス値のポイントデータPDに対応する線幅データWのみをマッピングデータMD2によって修正することが可能になる(図11で後述する)。
 このように、1つのデジタルインクINKDが複数のマッピングデータMDを含む場合、その適用順によって結果が異なることになるので、適用順を予め規定しておく必要がある。より詳細には、適用順決定部33は、同一の属性データを同一の属性データに変換するように構成された2つのマッピングデータMDが存在し、かつ、これらの範囲データが重なりを有する場合に、例えば、ストロークデータSDの一部分に対するマッピングデータMD2によりストロークデータSDの全部に対するマッピングデータMD1を上書きするなどのユーザ設定に応じて、これらのマッピングデータMDの適用順を決定すればよい。こうすることで、ユーザが意図したとおりの属性データ(図8の例では線幅データW)を得ることが可能になる。
 デジタルインク組立部31は、ストロークデータ生成部20から供給されるストロークデータSDを、図6に示したストロークデータ記述ブロックSDBに配置する。
 また、デジタルインク組立部31は、適用順決定部33から供給される1又は複数のマッピングデータMDを、図6に示したマッピングデータ記述ブロックMDBに配置する。この場合において、適用順決定部33から複数のマッピングデータMDが供給された場合、デジタルインク組立部31は、適用順決定部33により決定された適用順に基づいて、これら複数のマッピングデータMDの配置順を決定する。具体的な配置順は、後述するデジタルインク再生部40の仕様によるが、先に適用されるべきマッピングデータMD(図8の例ではマッピングデータMD1)が、後に適用されるべきマッピングデータMD(図8の例ではマッピングデータMD2)より上側に来るように配置することにより、再生部30が、このデジタルインクINKDをインタープリトする場合に、データの先頭から順にマッピングデータMD1、MD2、乃至MDmの順で変換規則を適用することで、再生時の適用順を適用順決定部33により決定された適用順と同じ順序にすることができる。
 又、デジタルインク組立部31は、設定データ記述ブロックDDBに、ストロークデータSDのフォーマットに関するスタイルなどを記述した描画スタイルデータDDを加える。
 図10は、描画スタイルデータDDの例として、ストロークデータSDの生成時にアプリケーションに設定されていたブラシのスタイルを示す描画スタイル情報DD1を示している。
 このようにして、デジタルインク組立部31は、ストロークデータSDとマッピングデータMDと描画スタイルデータDDとをXML文書として組み合わせることで、InkMLのフォーマットに合わせてデジタルインクINKDを組み立てる。
 尚、デジタルインク組立部31は、こうして組み立てたデジタルインクINKDを、図6の行頭で宣言したXMLファイルの符号化方法(UTF8等)によりバイト列にしてXMLファイルとして、図1の記憶装置2aやネットワークメディア等に出力する。このようにして、本実施の形態のデジタルインク処理装置2は、デジタルインクINKDを出力する。
<デジタルインク再生処理>
 次に、デジタルインクの再生処理について説明する。
 図2に示したデジタルインク再生部40は、デジタルインク処理装置2のうち、デジタルインク生成部30により生成されたデジタルインクINKDを再生する役割を果たす機能部である。
 デジタルインク再生部40が行う処理には、デジタルインクINKDからストロークデータSD(第1のストロークデータ)及びマッピングデータMDを抽出し、抽出したストロークデータSDに含まれる入力センサ属性ISAに対して、抽出したマッピングデータMDを適用することにより、描画属性DAの値を含む修正されたストロークデータSD(第2のストロークデータ)を生成する処理が含まれる。
 以下、このデジタルインク再生処理について、図11を用いて具体的に説明する。以下では、処理対象のデジタルインクINKDが図8に示したマッピングデータ記述ブロックMDBを含むものとして説明する。
 図11(a)は、デジタルインク再生部40によってデジタルインクINKDから抽出された状態のストロークデータSD1を示している。ストロークデータSD1は、入力センサ属性ISAとして、X座標を示す第1の属性データX、Y座標を示す第2の属性データY、筆圧値を示す第3の属性データPの3つの属性データを含んでいる。
 デジタルインク再生部40は、図6に示したデジタルインクINKD内のマッピングデータ記述ブロックMDBから、図8に示したマッピングデータMD1,MD2を順に抽出する。
 デジタルインク再生部40は、抽出した2つのマッピングデータMD1及びMD2のうち、最初に抽出したマッピングデータMD1をまずストロークデータSD1に適用する。
 これにより、図11(b)に示すように、マッピングデータMD1適用後のストロークデータSD1が得られる。MD1適用後のストロークデータSDは、変換前の第1~第3の属性データX,Y,Pに加え、第4の属性データとして新たな描画属性DAである線幅Wの値を含む。
 ここで、図8に示すマッピングデータMD1には、範囲データrdについての明示的な記述が存在しない。このように明示的な範囲の指定がない場合、デジタルインク再生部40は、従前の<mappping>要素のルールに従い、ストローク全部(ストロークデータSDに含まれる全部のインデックスのポイントデータPD)に対しマッピングデータMD1が適用されるものとして処理を行う。これにより、図8に示すマッピングデータMD1に関しては、ストロークデータSDの全部分に対して変換規則が適用されることになる。図11中、rd1で示す破線枠は、ストロークデータSDのうちマッピングデータMD1にかかる変換規則が適用されるストロークの範囲を示している。又、rd1で示す破線枠内の値は、図7のfunc1(10倍)を変換規則の内容とするマッピングデータMD1により得られた線幅Wの値を示している。
 図8のマッピングデータMD1内の変換規則func1に従ってデジタルインク再生部40が処理を行った結果、図11(b)に示すように、マッピングデータMD1適用後のストロークデータSDでは、各ポイントデータPD内の第4の属性データ(線幅W)の値が筆圧データPの値の10倍の値として導出されている。
 次に、デジタルインク再生部40は、図8に示すマッピングデータMD2を、その中に記述されている範囲データrdにより示されるストロークデータSDの範囲(部分)に対して適用する。なお、図8に示した範囲データrdは"-2,-1"であったが、図11(c)には、範囲データrdの値が"-1,-1"であるとした場合の例を示している。図11(c)にrd2で示す破線枠は、範囲データrdの値が"-1,-1"であるとした場合にマッピングデータMD2が適用される範囲を示している。rd2で示す破線枠の内の値は、図7のfunc2a(5倍)を変換規則の内容とするマッピングデータMD2により得られた描画属性DA(第4の属性データ)の値を示している。
 ポイントデータPD14について、図11(c)に示すマッピングデータMD2適用後の値「3」を図11(b)に示すマッピングデータMD1適用後の値「6」と比較すると理解されるように、マッピングデータMD2適用後のストロークデータSDにおいては、ストロークの一部分(最後の部分)のポイントデータPD14の描画属性DAの第4の属性データである線幅Wの値が部分的に減少している。これは、マッピングデータMD2内に、筆圧データPを5倍することにより筆圧データPを線幅データWに変換すること、及び、その適用範囲がインデックス値-1で示される最後のポイントデータPDのみであること、が記述されていることに対応するものである。
 以上のようにして、入力センサ属性ISAの値から描画属性DAを導出することにより変換後のストロークデータSDを生成したデジタルインク再生部40は、上述した描画スタイルDDなどの他の情報に基づいて既存の描画処理方法を適用することにより画像信号を生成する。
 図12は、既存の描画処理方法の例として、非特許文献6に記載された、描画処理の例を模式化したものである。図中、白丸PD0~PD14は、ストロークデータSD1に含まれる15個のポイントデータPDを示している。白丸中の数字は、ポイントデータPD0~PD15の各々についての第4の属性Wの値を示している。図中、各々の白丸の円の半径は、第4の属性Wの値に比例した値で記載している。例えば、ポイントデータPD0は第4の属性Wの値である10を径とし、ポイントデータPD14はマッピングデータMD2により得られた第4の属性(線幅データW)の値である3を径とする円で記載されている。
 デジタルインク再生部40は、ポイントデータPD0~PD14の各々の円に接するような2つの包絡線(内側の包絡線IE、外側の包絡線OE)を導出する。そして、得られた2つの包絡線IE、OEをストロークデータSD1の形状の輪郭とする。例えばこのようにして、デジタルインク再生部40は、線幅データWに比例した線幅をストロークデータの線幅とした画像信号を生成することができる。尚、変換後のストロークデータSDの描画方法はこれに限るものではなく、既存の描画方法を利用するとしてよい。
 デジタルインク再生部40により生成された画像信号は、図1に示すように、ディスプレイ5に出力される。これにより、ユーザの目に見える形で、ストロークデータSD0~SD5について、マッピングデータMD2により修正されたストロークデータSDが表示されることになる。
 図13A~図13Dは、以上のようにして画像信号にされたストロークデータSD(ストロークデータSD0~SD4)のイメージ例を示している。
 図13Aは、図3に示したストロークデータSD0~SD4に対し、筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用して得られたストロークデータSDから再生された画像信号を示している。
 図13Bは、図3に示したストロークデータSD0~SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを5倍して線幅Wを得るという変換規則func2aを、ストロークの図中破線枠で示す末尾部分に対して適用して得られたストロークデータSDから再生された画像信号を示している。
 図13Cは、図3に示したストロークデータSD0~SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを5倍して線幅Wを得るという変換規則func2aを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータSDから再生された画像信号を示している。
 図13Dは、図3に示したストロークデータSD0~SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを20倍して線幅Wを得るという変換規則func2bを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータSDから再生された画像信号を示している。
 以上説明したように、本実施の形態による入力システム1(特にデジタルインク生成部30)によれば、筆圧データ等の入力センサ属性ISAを示すデータを失うことなく、線幅Wあるいは透明度Aなどのストロークデータの描画属性DAの値を導出するための変換規則を記述したインクデータINKDを生成することができる。
 これにより、描画属性DAの値(線幅Wや透明度A)を、入力センサ属性ISAのどの値からどのように導出したのかをデジタルインクINKDが示すことができることになるので、過去に生成したデジタルインクINKDに含まれる筆圧データPと線幅Wとの対応関係を一括して変更することや、デジタルインクINKDに(描画には直接用いられないにも関わらず)保存されている筆圧データPをシグネチャ認証の比較パラメータに利用することも可能になる。
 また、本実施の形態にかかるデジタルインクINKDの生成方法によれば、ストロークデータSDのうち、一部分の範囲に対してマッピングデータMD内の変換規則を適用する規則を記述したデジタルインクINKDを生成することが可能になる。したがって、上述した例のように、ストロークデータSDの始点と終点のみに変換規則が適用されるように構成することも可能になるので、図13A~図13Dに例示したように筆跡について高い表現能力を有するデジタルインクINKDを生成することが可能になる。また、インデックス値と、剰余演算を用いて得られる修正インデックス値とを用いて範囲データの端点を表現するため、末端部、又は、末端部と先端部の両方を指定する変換規則を、ストロークデータSDが生成される前に事前に得ることが可能になる。
(実施の形態2)
 次に、本発明の第2の実施の形態による入力システム1について説明する。本実施の形態による入力システム1のシステム構成及びデジタルインク処理装置2の機能ブロックは、図1及び図2に示した第1の実施の形態によるものと同様である。
 本実施の形態による入力システム1は、ストロークデータ生成部20から出力されるストロークデータSDの内容、並びに、マッピングデータ生成部32及びデジタルインク再生部40それぞれの内部処理の点で第1の実施の形態による入力システム1と異なるので、第1の実施の形態と同一の構成には同一の符号を付して説明を省略し、以下では、第1の実施の形態との相違点に着目して説明する。
 本実施の形態によるストロークデータ生成部20は、座標データX、座標データY、及び時刻データTの3種類の入力センサ属性ISAを含むストロークデータSDを生成する。図14に、本実施の形態によるストロークデータ生成部20によって生成されるストロークデータSDの例として、10個のポイントデータPD0~PD9を含むストロークデータSD5を示す。
 図14の例に示されるように、本実施の形態においても、ストロークデータSDはInkMLの形式により生成されるものとし、具体的には、カンマ(,)によって各ポイントデータPDが区切られた形式により生成される。また、各ポイントデータPD内では、半角スペースによって各属性データが区切られている。ポイントデータPD内における各属性データの配置は、座標データX、座標データY、及び時刻データTの順となる。例えば、上記の例における2つ目のポイントデータPD1に関して言えば、左側の「8」が座標データX、中央の「0」が座標データY、右側の「'16」の右側の数値16が時刻データTとなる。なお、各ポイントデータPDの時刻データTは、最初のインデックス値に対応する時刻を0ミリ秒とし、そこからの経過時間によって表現されている。
 説明の単純のため、図14の例は、16ミリ秒の一定間隔で座標データ(X,Y)が得られている例を示している。座標データ(X,Y)についても、Y座標は0で固定とし、X方向にのみ等加速度(16ミリ秒毎に速さが8増加する速さ)で電子ペン4を移動させた場合に得られる座標の例を示している。
 本実施の形態によるマッピングデータ生成部32は、1つのストロークデータSDに含まれる複数のポイントデータPDのうち第1のポイントデータPDiの第1の入力センサ属性ISA(例えば座標データ(X,Y)又は時刻データT)の値と、上記第1のポイントデータPDiとはインデックス値が異なる第2のポイントデータPDi+1に含まれる第1の入力センサ属性ISAの値とに基づいて、透明度データAである描画属性DAを得る変換規則を含むマッピングデータMDを生成するように構成される。
 本実施の形態によるマッピングデータ生成部32が生成するマッピングデータMDについて、図15を用いてより詳しく説明する。
 図15は、本実施の形態によるマッピングデータ生成部32が生成するマッピングデータMD3を示す図である。
 3行目~7行目は、変換元となる入力センサ属性(X,Y、T)と、変換により得られる描画属性(透明度A)を定義する部分である。
 11行目~37行目はマッピングデータMD3に含まれる変換規則を示す部分である。具体的には、次の式(2)及び式(3)によりi番目のインデックス値に対応する透明度データAを生成する、という変換規則が記述されている。ここで、式(3)中のX,Xi-1,Y,Yi-1,T,Ti-1はそれぞれ、i番目のインデックス値に対応する座標データX、i-1番目のインデックス値に対応する座標データX、i番目のインデックス値に対応する座標データY、i-1番目のインデックス値に対応する座標データY、i番目のインデックス値に対応する時刻データT、i-1番目のインデックス値に対応する時刻データTをそれぞれ示している。
Figure JPOXMLDOC01-appb-M000002
 上記式(2)及び式(3)による変換規則の特徴は、i番目のインデックス値に対応する透明度データAを生成する際に、i番目ではないインデックス値に対応する属性データを参照している点にある。具体的には、1つ前のインデックス値i-1に対応する属性データを参照しており、式(3)によって求められるVは、インデックス値i-1に対応する位置からインデックス値iに対応する位置に移動するまでの間の電子ペン4の移動速度を表している。式(2)による変換規則は、移動速度Vが大きくなるに伴い、透明度が大きくなるような関数(図7(b)に示したfunc3)が設定されていることになる。
 ここで、図15に示したマッピングデータMD3と、上記式(2)及び式(3)との対応関係について説明する。まず図15において、dxで示す22行目「'x」、dyで示す27行目「'y」、dtで示す32行目の「't」はそれぞれ、「X-Xi-1」「Y-Yi-1」「T-Ti-1」を意味している。
 図15内の破線枠Aで囲んだ部分は、Xの変位量である「X-Xi-1」を2乗した値を示している。破線枠Bで囲んだ部分は、Yの変位量である「Y-Yi-1」を2乗した値を示している。図中破線枠Cで囲んだ部分は、式(3)右辺の分子に対応する2次元平面内での変位量を示している。破線枠Dで囲んだ部分は、式(3)の右辺全体に対応しており、時間「T-Ti-1」の区間の速さを示している。破線枠Eで囲んだ部分は、式(2)右辺の右辺全体「20・V」に対応している。このように、図14に示したマッピングデータMD3には、式(2)及び式(3)により示される入力センサ属性ISAから描画属性DA(透明度A)への変換規則が記述されている。
 このように、本実施の形態のデジタルインク処理装置2は、マッピングデータMD3を含むデジタルインクINKDを生成、出力する。
 次に、図16を用いて、本実施の形態におけるデジタルインク再生処理について説明する。
 まず、デジタルインクデータ再生部30は、デジタルインクINKDからストロークデータSD5とマッピングデータMD3とを抽出する。
 図16(a)は、デジタルインク再生部40がデジタルインクINKDから抽出した変換元のストロークデータSD5を示している。図14で説明した通りストロークデータSD5は、入力センサ属性ISAとして、X座標を示す第1の属性データX、Y座標を示す第2の属性データY、時刻情報を示す第3の属性データTの3つのデータを含んでいる。
 次に、デジタルインクINKDを取得したデジタルインク再生部40は、抽出したストロークデータSD5に抽出したマッピングデータMD3を適用する。図16(b)は、マッピングデータMD3の適用により得られたストロークデータSD5を示している。この時点におけるストロークデータSD5は、入力センサ属性ISAから導出された第4の属性(描画属性DA)の透明度データAを含んでいる。なお、上記式(2)及び式(3)によっては、1番目のインデックス値に対応する透明度データAが得られないので、デジタルインク再生部40は、便宜的に、透明度データAの値10を透明度データAの値10として設定している。
 図16(c)は、変換規則func3をストロークの全部ではなく、範囲データrd="-3、-1"の部分に適用した場合に得られるストロークデータSDを示している。この例では、ストローク中で末尾から3つの透明度データAのみが得られ、先頭部分等他の部分については値の得られない場合の透明度のデフォルトの値0としている。
 このように、本実施の形態によるデジタルインクデータ再生処理においては、変換規則により得られた透明度Aを含むストロークデータSDを得ることができる。
 以上のようにして、入力センサ属性ISAの値から描画属性DAを導出することにより変換後のストロークデータSDを生成したデジタルインク再生部40は、上述した描画スタイルDDなどの他の情報に基づいて既存の描画処理方法を適用することにより画像信号を生成する。
 図17は、本実施の形態によるストロークデータSDを説明するための図である。
 図17の最上段Aは、図14で示したストロークデータSD5に含まれるポイントデータPD0~PD9までの10個の座標データ(X,Y)の位置関係を示している。
 図17の中段Bは、各々のポイントデータPD0~PD9を黒色の円で表現し、その黒色の透明度Aに図16(b)に示した透明度Aの値を設定することにより得られるストロークデータSD5に基づいて生成される画像信号のイメージ図である。時間当たりの変位量あるいは移動速度Vが大きくなるにつれて透明度Aが大きくなる設定により、単位時間あたりにインクが紙に吸収される量が減少する状態を再現でき、より自然なストロークに近い表現を再現できる。
 図17の下段Cは、各々のポイントデータPD0~PD9を黒色の円で表現し、その黒色の透明度Aに図16(c)に示した透明度Aの値を設定することにより得られるストロークデータSD5に基づいて生成される画像信号のイメージ図である。ストロークのうち末尾の端部の範囲にのみ部分的に変換規則func3を適用することにより、人間の手の加速的な動き、漢字の払い等をイメージした表現を再現することを指定できるようになる。
 図18は、速度Vに応じて透明度Aが大きくなる変換規則の効果を説明するための他の図である。描画スタイル情報DD1(図6及び図10を参照)で設定されるブラシタイプとしてフェルトペンなどのデータを適用した場合に、図17に示したストロークデータSD5と同様に図中左側から右側に移動するにつれて指示体の移動速度(速さ)が大きくなるに伴い透明度Aが増加している画像信号を示している。
 以上説明したように、本実施の形態によるデジタルインク処理装置2によれば、インデックス値の異なる2以上のポイントデータPDに含まれる入力センサ属性ISAの値を入力として描画属性DAを得るための変換関係を規定したマッピングデータMDを生成することができる。これにより、例えば、筆圧データPなどの入力センサ属性ISAを出力することのできない入力センサを用いて生成したデジタルインクであったとしても、線幅Wや透明度Aといった描画属性DAを導出することができ、かつ、その透明度Aや線幅Wを与えるために用いた元データの種別を(筆圧データが含まれていたのか、あるいは、速度等から導出したデータなのか)を記録することができる。
 また、透明度Aや線幅Wなどの描画属性DAを導出するにあたって、同じ入力センサ属性ISA(座標値)の微分値、積分値、又は、加算平均等の統計値に基づいた変換規則を記述することが可能になる。例えば、移動速度が大きくなるほど透明度Aが大きくなるような、変換規則を記述することが可能になる。
 以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
 例えば、第1の実施の形態と第2の実施の形態を組み合わせ、太さ及び濃淡の両方についての高い表現能力を有するデジタルインクを得ることも可能である。この場合、ストロークデータSDを構成する各ポイントデータPDに筆圧データPと時刻データTの両方を含め、かつ、デジタルインクINKDに、筆圧データPを線幅データWに変換するためのマッピングデータMD(第1の実施の形態)と、運筆速度から透明度データAを得るためのマッピングデータMD(第2の実施の形態)との両方を含めるようにすればよい。
 尚、第1の実施の形態において範囲データにより指定する範囲に適用される変換規則は、入力センサ属性ISAから線幅Wや透明度Aといった描画属性DAを導出するためのものでなくてもよい。ストロークの一部分に対し従来のアフィン変換などを用いて幾何形状を変形させたい場合に用いても良い。
 尚、又、第2の実施の形態において同一の入力センサ属性ISAの統計値により変換されて得られる属性は線幅Wや透明度Aといった描画属性DDに限らない。ストロークデータSDに含まれた座標データを元データとし、加重平均などの変換規則を適用して実際に描画する際に用いるポイントデータPDの座標データを得るとしてもよい。
 尚、又、本発明は、コンピュータを用いてストロークデータ生成部20及びデジタルインク生成部30の処理を順次実行する方法の発明と捉えることも可能であるし、これらの処理を実行させ得るためのプログラムを記述したコンピュータプログラムの発明と捉えることも可能であることは言うまでもない。
1  入力システム
2  デジタルインク処理装置
2a 記憶装置
3  デジタイザ
3a センサ
4  電子ペン
5  ディスプレイ
10 入力処理部
20 ストロークデータ生成部
30 デジタルインク生成部
31 デジタルインク組立部
32 マッピングデータ生成部
33 適用順決定部
40 デジタルインク再生部

Claims (20)

  1.  指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成部と、
     前記ストロークデータに含まれた前記入力センサ属性の値を、線幅又は透明度の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成部と、
     前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立部と、
     を備えるデジタルインク生成装置。
  2.  前記入力センサ属性は、前記入力センサにより取得される筆圧であり、
     前記マッピングデータは前記筆圧の値を前記線幅又は透明度のいずれかの属性の値に変換するための変換規則を示すデータである、
     請求項1記載のデジタルインク生成装置。
  3.  前記入力センサ属性の座標データであり、
     前記マッピングデータは前記座標データに基づいて前記透明度の値を導出するための変換規則を示すデータである、
     請求項1記載のデジタルインク生成装置。
  4.  前記変換規則は、前記座標データに基づいて導出される指示体の移動速度が大きい程、前記透明度の値が大きくなる関係の変換規則である請求項3記載のデジタルインク生成装置。
  5.  前記所定のデータフォーマットはInkML形式のデータフォーマットであり、前記変換規則は、前記InkML形式が規定するmapping要素を用いて記述される、請求項1乃至4のいずれか一項に記載のデジタルインク生成装置。
  6.  前記マッピングデータ生成部は、
     前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成する、
     請求項1記載のデジタルインク生成装置。
  7.  前記ストロークデータ生成部は、前記入力センサ属性を属性とするポイントデータを1以上包含するストロークデータを生成し、
     前記範囲データは、前記変換規則が適用される範囲を、範囲の開始点を示すポイントデータのインデックス値を示すインデックス値情報と範囲の終了点を示すポイントデータのインデックス値を示すインデックス値情報とにより示すデータである、
     請求項6記載のデジタルインク生成装置。
  8.  前記インデックス値情報は、前記インデックス値、又は、前記ストロークデータに含まれる前記ポイントデータの総数を法として前記インデックス値と合同な整数である、
     請求項7に記載のデジタルインク生成装置。
  9.  前記インデックス値情報は、前記範囲データがストロークの末端の端部を示す場合に負の整数で指定される、請求項8記載のデジタルインク生成装置。
  10.  前記範囲データがストロークの末端部分と先端部分との両方の端部を示す場合に、範囲の開始点に対応する前記インデックス値情報は負の整数を用いて指定され、範囲の終了点に対応する前記インデックス値情報は正の整数を用いて指定される、請求項9記載のデジタルインク生成装置。
  11.  前記範囲データはストロークの先端部分及び/又は末端部分を示すデータであり、
     前記変換規則は、前記ストロークの先端部及び又は末端部に対し、前記ストロークの他の部分とは異なる変換規則を与える規則である、
     請求項6記載のデジタルインク生成装置。
  12.  前記入力センサ属性は筆圧であり、
     前記変換規則は、前記ストロークの先端部及び又は末端部に対して前記筆圧から線幅を導出する変換規則であって、前記ストロークの前記先端部及び又は末端部以外の部分に適用される変換規則に比して線幅が大きくなるように変換される変換規則である
     請求項11記載のデジタルインク生成装置。
  13.  前記所定の属性は座標データであり、
     前記変換規則は、前記座標データに基づいて、透明度を導出するための変換規則であって、前記ストロークの先端部及び又は末端部に対し、前記ストロークの他の部分よりも透明度が大きくなるように変換される変換規則である、
     請求項11記載のデジタルインク生成装置。
  14.  前記マッピングデータ生成部は、
     前記入力センサ属性の値を線幅又は透明度の値に変換するための第2の変換規則と該第2の変換規則の適用範囲を示す第2の範囲データとを含む第2のマッピングデータをさらに生成し、
     前記範囲データの示す範囲と前記第2の範囲データの示す範囲とが重なりを有する場合に前記第1及び第2のマッピングデータの適用順を決定する適用順決定部をさらに備え、
     前記デジタルインクデータ組立部は、前記適用順判定部により決定された適用順に基づいて、前記デジタルインク内における前記第マッピングデータと、前記第2のマッピングデータとの配置順を決定する
     請求項6に記載のデジタルインク生成装置。
  15.  前記ストロークデータ生成部は、
     前記入力センサ属性を属性とするポイントデータを複数含むストロークデータを生成し、
     前記マッピングデータ生成部は、
     複数の前記ポイントデータのうち第1のポイントデータに含まれる前記入力センサ属性のうち第1の属性の値と、複数の前記ポイントデータのうちの前記第1のポイントデータとは異なる第2のポイントデータに含まれる前記第1の属性の値との統計値に基づいて、前記第2のポイントデータの線幅又は透明度の値を得るための変換規則を含むマッピングデータを生成する、
     請求項1に記載のデジタルインク生成装置。
  16.  前記第1の属性は座標であり、
     前記変換規則は、透明度の値を得るための変換規則である
     請求項11に記載のデジタルインクデータ生成装置。
  17.  前記変換規則は、前記第1のポイントデータに含まれる座標データと、前記第2のポイントデータに含まれる座標データとに基づいて決まる前記指示体の移動速度に基づいて前記第2のポイントデータに対応する透明度データを得るための規則であり、
     前記変換規則は、前記移動速度が大きいほど対応する前記透明度データにより示される透明度が大きくなるよう設定される
     請求項16に記載のデジタルインク生成装置。
  18.  請求項1乃至17のいずれか一項に記載のデジタルインク生成装置により生成される前記デジタルインクから前記ストロークデータ及び前記マッピングデータを抽出し、
     前記ストロークデータに含まれた前記入力センサ属性の値に、前記マッピングデータに含まれた前記変換規則を適用することにより線幅又は透明度の値を含むストロークデータを生成し、
     生成されたストロークデータを描画処理する、
     デジタルインク再生装置。
  19.  入力センサを備えたコンピュータで実行されるデジタルインク生成方法であって、
     指示体を操作することに伴い前記入力センサにより生成されるペンイベントデータに基づいて、第1の属性を属性とするストロークデータを生成するストロークデータ生成ステップと、
     前記ストロークデータに含まれた前記第1の属性の値を、前記第1の属性または第2の属性の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成ステップと、
     前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立ステップと、
     を含む、デジタルインク生成方法。
  20.  前記マッピングデータ生成ステップは、
     前記第1の属性の値を、前記第1の属性または前記第2の属性の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成する、
     請求項19記載のデジタルインク生成方法。
PCT/JP2014/083506 2014-12-18 2014-12-18 デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置 WO2016098218A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015511540A JP5775240B1 (ja) 2014-12-18 2014-12-18 デジタルインク生成装置、デジタルインク生成方法、及びプログラム
PCT/JP2014/083506 WO2016098218A1 (ja) 2014-12-18 2014-12-18 デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置
EP14908428.7A EP3079052A4 (en) 2014-12-18 2014-12-18 Digital ink generating device, digital ink generating method, and digital ink reproduction device
US14/919,573 US10747421B2 (en) 2014-12-18 2015-10-21 Digital ink generating apparatus, method and program, and digital ink reproducing apparatus, method and program
US16/921,711 US11422693B2 (en) 2014-12-18 2020-07-06 Digital ink generating apparatus, method and program, and digital ink reproducing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/083506 WO2016098218A1 (ja) 2014-12-18 2014-12-18 デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/919,573 Continuation US10747421B2 (en) 2014-12-18 2015-10-21 Digital ink generating apparatus, method and program, and digital ink reproducing apparatus, method and program

Publications (1)

Publication Number Publication Date
WO2016098218A1 true WO2016098218A1 (ja) 2016-06-23

Family

ID=54192556

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/083506 WO2016098218A1 (ja) 2014-12-18 2014-12-18 デジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置

Country Status (4)

Country Link
US (2) US10747421B2 (ja)
EP (1) EP3079052A4 (ja)
JP (1) JP5775240B1 (ja)
WO (1) WO2016098218A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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
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
US20170236318A1 (en) * 2016-02-15 2017-08-17 Microsoft Technology Licensing, Llc Animated Digital Ink
US10417237B2 (en) * 2016-05-24 2019-09-17 International Business Machines Corporation Sorting tables in analytical databases
CN108335340B (zh) * 2017-01-20 2022-03-18 山西大学 压力触摸屏手写输入呈现为具有型笔特征笔迹的方法
US10248226B2 (en) * 2017-02-10 2019-04-02 Microsoft Technology Licensing, Llc Configuring digital pens for use across different applications
US10402642B2 (en) 2017-05-22 2019-09-03 Microsoft Technology Licensing, Llc Automatically converting ink strokes into graphical objects
US20190155895A1 (en) * 2017-11-20 2019-05-23 Google Llc Electronic text pen systems and methods
CN110222327B (zh) * 2019-06-12 2023-06-30 杭州米络星科技(集团)有限公司 一种教育直播课件的制作方法及展示方法
KR102149105B1 (ko) * 2019-09-18 2020-08-27 세종대학교산학협력단 혼합현실 기반 3차원 스케치 장치 및 방법
CN114585992B (zh) * 2020-09-29 2024-06-11 京东方科技集团股份有限公司 书写轨迹处理方法、触控设备、书写系统及存储介质
US20240021001A1 (en) * 2022-07-14 2024-01-18 Jianming Zhuang Syntax-directed mathematical expression recognition system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320756A (ja) * 1995-05-24 1996-12-03 Sharp Corp データ入力手段を持つ電子機器
JP2013045362A (ja) * 2011-08-25 2013-03-04 Konica Minolta Business Technologies Inc 電子情報端末及び領域設定制御プログラム
JP2013137696A (ja) * 2011-12-28 2013-07-11 Sharp Corp 電子機器、表示制御方法、およびプログラム
WO2014147716A1 (ja) * 2013-03-18 2014-09-25 株式会社 東芝 電子機器および手書き文書処理方法
JP2014225188A (ja) * 2013-05-17 2014-12-04 株式会社リコー 情報処理装置、プログラム、情報処理システム及び情報表示方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222879A (ja) 1993-01-27 1994-08-12 Matsushita Electric Ind Co Ltd 筆跡表示方法および筆跡表示装置
JPH1186016A (ja) * 1997-09-09 1999-03-30 Canon Inc 情報処理方法及び装置及びその記憶媒体
CA2388622C (en) * 1999-10-25 2009-06-16 Paul Lapstun Electronically controllable pen
US7158675B2 (en) 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US7009594B2 (en) * 2002-10-31 2006-03-07 Microsoft Corporation Universal computing device
US7345236B2 (en) * 2003-02-03 2008-03-18 Terra Knights Music, Inc. Method of automated musical instrument finger finding
US7310091B2 (en) * 2003-09-16 2007-12-18 Acer Incorporated Handwriting pen capable of simulating different strokes
US20080143691A1 (en) * 2005-11-23 2008-06-19 Quiteso Technologies, Llc Systems and methods for enabling tablet PC/pen to paper space
US8719718B2 (en) * 2007-05-09 2014-05-06 Erik M. Erikson Digital paper-enabled products and methods relating to same
KR101080255B1 (ko) * 2009-07-21 2011-11-08 (주)펜앤프리 필기 패턴에 따른 필기 정보 입력 장치 및 필기 정보 입력 방법
US20130201162A1 (en) * 2012-02-05 2013-08-08 Ian Daniel Cavilia Multi-purpose pen input device for use with mobile computers
US9013454B2 (en) * 2012-03-02 2015-04-21 Ricoh Co., Ltd. Associating strokes with documents based on the document image
US10620775B2 (en) * 2013-05-17 2020-04-14 Ultrahaptics IP Two Limited Dynamic interactive objects
US10055030B2 (en) * 2013-05-17 2018-08-21 Apple Inc. Dynamic visual indications for input devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320756A (ja) * 1995-05-24 1996-12-03 Sharp Corp データ入力手段を持つ電子機器
JP2013045362A (ja) * 2011-08-25 2013-03-04 Konica Minolta Business Technologies Inc 電子情報端末及び領域設定制御プログラム
JP2013137696A (ja) * 2011-12-28 2013-07-11 Sharp Corp 電子機器、表示制御方法、およびプログラム
WO2014147716A1 (ja) * 2013-03-18 2014-09-25 株式会社 東芝 電子機器および手書き文書処理方法
JP2014225188A (ja) * 2013-05-17 2014-12-04 株式会社リコー 情報処理装置、プログラム、情報処理システム及び情報表示方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ERIK DAHLSTROM: "Scalable Vector Graphics (SVG) 1.1 (Second Edition) W3C Recommendation 16 August 2011", W3C, 16 August 2011 (2011-08-16)
IAN HICKSON: "A vocabulary and associated APIs for HTML and XHTML W3C Recommendation 28 October 2014", W3C, 28 October 2014 (2014-10-28), Retrieved from the Internet <URL:http://www.w3.org/TR/html5>
INK SERIALIZED FORMAT SPECIFICATION, 11 December 2014 (2014-12-11)
L.M. MESTETSKII: "Fat Curves and Representation of Planar Figures", DEPARTMENT OF INFORMATION TECHNOLOGIES, TVER' STATE UNIVERSITY, TVER, RUSSIA, 2000
RON AUSBROOKS: "Mathematical Markup Language (MathML) Version 2.0 (Second Edition) W3C Recommendation 21 October 2003", W3C, 21 October 2003 (2003-10-21), Retrieved from the Internet <URL:http://www.w3.org/TR/MathML2>
See also references of EP3079052A4
YI-MIN CHEE: "Ink Markup Language (InkML) W3C Recommendation 20 September 2011", W3C, 20 September 2011 (2011-09-20)

Also Published As

Publication number Publication date
US11422693B2 (en) 2022-08-23
EP3079052A1 (en) 2016-10-12
EP3079052A4 (en) 2017-08-16
US10747421B2 (en) 2020-08-18
JP5775240B1 (ja) 2015-09-09
JPWO2016098218A1 (ja) 2017-04-27
US20200333952A1 (en) 2020-10-22
US20160179365A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
JP5775240B1 (ja) デジタルインク生成装置、デジタルインク生成方法、及びプログラム
US11580761B2 (en) Ink file searching method, apparatus, and program
JP6728036B2 (ja) インクからテキスト表現への変換
Zhang et al. Viscode: Embedding information in visualization images using encoder-decoder network
US9484006B2 (en) Manipulation of textual content data for layered presentation
US8209598B1 (en) Exporting electronic documents from rich internet applications
US9772978B2 (en) Touch input visualizations based on user interface context
AU2015301681A1 (en) Detecting selection of digital ink
US10818050B2 (en) Vector graphic font character generation techniques
CN104794106A (zh) 一种批注方法及装置
CN111881651B (zh) 一种uot流式文档转换成ofd版式文档的方法
US20170131801A1 (en) Method for displaying handwriting in a pdf file
JP6526504B2 (ja) デジタルインク生成装置、デジタルインク生成方法、及びプログラム
JP6710803B2 (ja) デジタルインクファイル再生装置、デジタルインクファイル再生方法、及びプログラム
US20240355018A1 (en) Utilizing a diffusion neural network for mask aware image and typography editing
WO2016018682A1 (en) Processing image to identify object for insertion into document
JP2017078854A (ja) パーソナライズ化手書きフォントを動的に生成するシステム及び方法
US9442576B2 (en) Method and system for combining paper-driven and software-driven design processes
JP4868830B2 (ja) コンテクスト・ツリーにおける分析代替案
JP5645481B2 (ja) 装置、方法、及びプログラム
JP7320157B1 (ja) コンテンツ評価装置、プログラム、方法、及びシステム
US20240168575A1 (en) Input support apparatus, method, computer-readable medium, and input system
WO2023145429A1 (ja) コンテンツ評価装置、プログラム、方法、及びシステム
WO2023145227A1 (ja) コンテンツ評価装置、プログラム、方法、及びシステム
JP2024100572A (ja) 情報処理装置、方法、及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2015511540

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014908428

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014908428

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14908428

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE