WO2020090356A1 - インクデータ生成装置、方法及びプログラム - Google Patents

インクデータ生成装置、方法及びプログラム Download PDF

Info

Publication number
WO2020090356A1
WO2020090356A1 PCT/JP2019/039463 JP2019039463W WO2020090356A1 WO 2020090356 A1 WO2020090356 A1 WO 2020090356A1 JP 2019039463 W JP2019039463 W JP 2019039463W WO 2020090356 A1 WO2020090356 A1 WO 2020090356A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
metadata
ink data
unit
data generation
Prior art date
Application number
PCT/JP2019/039463
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 CN201980061745.XA priority Critical patent/CN112740201A/zh
Priority to JP2020553713A priority patent/JP6918252B2/ja
Priority to DE112019005487.2T priority patent/DE112019005487T5/de
Publication of WO2020090356A1 publication Critical patent/WO2020090356A1/ja
Priority to US17/196,876 priority patent/US11755195B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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/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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/80Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
    • 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
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • 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

Definitions

  • the present invention relates to an ink data generation device, method and program for generating ink data.
  • Patent Document 1 discloses a method of creating a metadata block by associating N types of metadata that specify an input device with M pieces of stroke data, and writing the blocks together with the stroke data in an ink file. ..
  • An object of the present invention is to provide an ink data generation device, method, and program that improve the handling of ink data during or after the generation of metadata.
  • An ink data generation device is a device that generates ink data including metadata that describes meta information for each set of strokes, and strokes that belong to a first set to which meta information has not been added yet.
  • a first acquisition unit for acquiring first set data indicating elements
  • a second acquisition unit for acquiring, for each set of strokes, second set data indicating stroke elements belonging to the second set to which meta information has already been added.
  • the first metadata of the first set is generated by a set determination unit that determines the inclusive relation between the second sets and a description of a different aspect according to the determination result of the set determination unit. It comprises a chromatography data generating unit.
  • An ink data generation device is a device that generates ink data including metadata that describes meta information for each set of strokes, and that collects set data indicating stroke elements belonging to a set of strokes for each set. And a data output unit that outputs metadata indicating an inclusive relation between a plurality of sets based on the set data for each set acquired by the data acquisition unit.
  • the ink data generation method is a method of generating ink data including metadata describing meta information for each set of strokes, and strokes belonging to the first set to which meta information has not been added yet.
  • An ink data generation program is a program for generating ink data including metadata that describes meta information for each set of strokes, and is a program for the first set to which meta information has not been added yet.
  • the present invention it is possible to improve the handling of the ink data when the metadata is generated or after the metadata is generated.
  • FIG. 1 is an overall configuration diagram of an ink data generation device in an embodiment of the present invention. It is a figure which shows an example of the ink data of FIG. It is a figure which shows the content visualized based on the ink data of FIG. 6 is a first flowchart provided for explaining the operation of the ink data generation device shown in FIG. 1. It is a figure which shows the designation method of the new set by a lasso operation. It is a figure which shows the selection method of a subgroup. It is a figure which shows the extraction method of the feature-value in a subgroup. It is a figure which shows the structural example of a discriminator. It is a figure which shows the derivation
  • FIG. 13 is a diagram showing a description example of ink data corresponding to FIG. 12. It is a figure which shows the positional relationship between a content and three lassos. It is a figure which shows the 1st description example of the ink data corresponding to FIG.
  • FIG. 1 is an overall configuration diagram of an ink data generation device 10 according to an embodiment of the present invention.
  • the ink data generation device 10 is an electronic device including the touch panel display 12, and is configured by, for example, a tablet terminal, a smartphone, or a personal computer.
  • the ink data generating device 10 is configured to include a touch panel display 12, a display driving IC 14, a touch sensor IC 16, a host processor 18, and a memory 20.
  • the touch panel display 12 is configured to include a display panel 22 capable of visually displaying content and a touch sensor 24 arranged on the display panel 22.
  • the display panel 22 can display a monochrome image or a color image, and may be, for example, a liquid crystal panel or an organic EL (Electro-Luminescence) panel.
  • the touch sensor 24 includes a plurality of X line electrodes for detecting the position of the X axis of the sensor coordinate system, and a plurality of Y line electrodes for detecting the position of the Y axis.
  • the display drive IC 14 is an integrated circuit that controls the drive of the display panel 22.
  • the display drive IC 14 drives the display panel 22 based on the display signal supplied from the host processor 18. As a result, the content indicated by the ink data 50 is displayed on the display panel 22.
  • the touch sensor IC 16 is an integrated circuit that controls driving of the touch sensor 24.
  • the touch sensor IC 16 drives the touch sensor 24 based on the control signal supplied from the host processor 18.
  • the touch sensor IC 16 executes a “pen detection function” for detecting the state of the stylus 26 and a “touch detection function” for detecting a touch by the user's finger or the like.
  • the pen detection function includes, for example, a scan function of the touch sensor 24, a downlink signal reception / analysis function, a stylus 26 state (eg, position, posture, writing pressure) estimation function, and an uplink including a command to the stylus 26. Includes signal generation and transmission functions.
  • the touch detection function includes, for example, a two-dimensional scanning function of the touch sensor 24, a detection map acquisition function on the touch sensor 24, and a region classification function on the detection map (for example, classification of fingers, palms, etc.).
  • a user interface (hereinafter, UI unit 28) is constructed by combining the input function of the touch sensor 24 and the stylus 26 and the output function of the display panel 22.
  • the host processor 18 is composed of a processing operation device including a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), and a GPU (Graphics Processing Unit).
  • the host processor 18 reads the program stored in the memory 20 and executes the program to execute the first acquisition unit 30, the second acquisition unit 32, the attribute estimation unit 34, the set determination unit 36, the data generation unit 38 (data output unit). ), And the drawing processing unit 40.
  • the memory 20 is a non-transitory and computer-readable storage medium.
  • the computer-readable storage medium is a storage device including a hard disk drive (HDD: Hard Disk Drive), a solid state drive (SSD: Solid State Drive), a magneto-optical disk, a ROM, a CD-ROM, a flash memory. It is a portable medium such as.
  • the memory 20 stores new set data 42 (first set data), existing set data 44 (second set data), a learning parameter group 46, and ink data 50.
  • FIG. 2 is a diagram showing an example of the ink data 50 of FIG.
  • InkML Ink Markup Language
  • XML eXtensible Markup Language
  • the data format of the ink data 50 so-called “ink description language” is not limited to InkML, and may be WILL (Wacom Ink Layer Language) or ISF (Ink Serialized Format), for example.
  • JSON JavaScript (registered trademark) Object Notation) data structure format
  • the ink data 50 is configured to include stroke data 51 that describes at least one stroke (24 strokes in the example of this figure). As understood from this figure, one stroke is described by a plurality of point data sequentially arranged in the ⁇ trace> tag. Each point data is composed of at least a designated position (X coordinate, Y coordinate) and is separated by a delimiter such as a comma. For convenience of illustration, only the point data indicating the start point and the end point of the stroke are shown, and the point data indicating a plurality of waypoints are omitted.
  • the point data may include the order of writing, the writing pressure of the stylus 26, the posture, and the like, in addition to the designated position.
  • FIG. 3 is a diagram showing content visualized based on the ink data 50 of FIG.
  • a two-dimensional coordinate system (hereinafter, sensor coordinate system: XY) for specifying the detection position of the touch sensor 24 is defined.
  • the ink data generation device 10 in this embodiment is configured as described above. First, the first operation of the ink data generation device 10 will be described with reference to the flowchart of FIG. 4 and FIGS.
  • the "first operation” means an operation that supports the addition of meta information (for example, data attribute, creator, creation date, device used, etc.) by the user.
  • the drawing processing unit 40 analyzes the ink data 50 read from the memory 20, performs desired rasterization processing on the stroke data 51, and generates a display signal indicating content.
  • the display drive IC 14 drives the display panel 22 based on the display signal supplied from the host processor 18. As a result, the visualized content is displayed on the display panel 22.
  • step S1 of FIG. 4 the host processor 18 confirms whether or not a designation operation of a new set (first set) of strokes to which meta information is to be added has been received.
  • the "designating operation” is an operation for selecting one or more strokes from a plurality of strokes, and includes, for example, a "lasso operation” in which a selection target is surrounded by a lasso (lasso).
  • FIG. 5 is a diagram showing a method of designating a new set by a lasso operation. While moving the stylus 26 on the touch surface on the display panel 22, the user performs a writing operation that surrounds the entire stroke to which the meta information is to be added. By this handwriting input, Lasso Ltmp is displayed overlaid on the visualized content.
  • step S1 If the user's designated operation has not been accepted yet (step S1: NO), the process remains in step S1 until this designated operation is accepted. On the other hand, if the user's instruction operation is accepted (step S1: YES), the process proceeds to the next step S2.
  • step S2 the first acquisition unit 30 acquires data indicating stroke elements belonging to the new set (hereinafter referred to as new set data 42) based on the content of the instruction operation received in step S1.
  • the new set data 42 is data that can specify a stroke element, and may be, for example, a stroke ID that is stroke identification information.
  • step S3 the host processor 18 confirms whether the mode for supporting the input of meta information (hereinafter, simply referred to as “input support mode”) is on or off.
  • this input support mode is "OFF” (step S3: OFF)
  • step S4 the execution of step S4 is omitted and the process proceeds to step S5.
  • step S3: ON the process proceeds to the next step S4.
  • step S4 the attribute estimation unit 34 estimates the attribute to be given to the new set based on the mutual relationship between the positions or shapes of the plurality of strokes forming the new set specified in step S1.
  • the attribute estimation unit 34 estimates the semantic attributes of the new set using the classifier 70 (see FIG. 7A) constructed by machine learning.
  • the attribute estimation method will be described in detail with reference to FIGS. 6A to 7B.
  • FIG. 6A and 6B are diagrams showing an example of a method of generating input data for the discriminator 70. More specifically, FIG. 6A is a diagram showing a method of selecting the subgroup 74, and FIG. 6B is a diagram showing a method of extracting a feature amount in the subgroup 74.
  • stroke ID 01-18
  • the attribute estimation unit 34 sets a square area that covers all five strokes belonging to the subgroup 74, and the two-dimensional coordinate system (hereinafter, normalized coordinate system; X '-Y') is defined.
  • the origin O'of the normalized coordinate system corresponds to the apex of the square area located closest to the origin O of the sensor coordinate system.
  • the X'axis of the normalized coordinate system is parallel to the X axis of the sensor coordinate system
  • the Y'axis of the normalized coordinate system is parallel to the Y axis of the sensor coordinate system.
  • the scales of the X'axis and the Y'axis are set so that the coordinates of the four vertices forming the square area are (0,0), (1,0), (0,1), (1,1). It has been normalized.
  • the attribute estimating unit 34 refers to the stroke data 51 (FIG. 2) and acquires the coordinate value (X, Y) of the starting point Ps and the coordinate value (X, Y) of the ending point Pe in the sensor coordinate system. Then, the attribute estimation unit 34 performs the linear transformation of the coordinate system to obtain the coordinate value (X ′, Y ′) of the stroke start point Ps and the coordinate value (X ′, Y ′) of the end point Pe in the normalized coordinate system. Are derived respectively.
  • FIG. 7A and 7B are diagrams showing an example of a semantic attribute estimation method. More specifically, FIG. 7A is a diagram showing a configuration example of the discriminator 70, and FIG. 7B is a diagram showing a histogram deriving method.
  • the discriminator 70 is composed of, for example, a hierarchical neural network including an input layer 76, an intermediate layer 78, and an output layer 80.
  • the calculation rule of the discriminator 70 is determined by the value of the learning parameter group 46 that is a collection of learning parameters.
  • the learning parameter group 46 may include, for example, a coefficient describing an activation function of a unit corresponding to a neuron, a weighting coefficient corresponding to the strength of synaptic connection, the number of units forming each layer, and the number of intermediate layers 78. ..
  • the learning parameter group 46 is stored in the memory 20 (FIG. 1) in a state where each value is fixed by the end of learning, and is read out at a proper time as necessary.
  • the input layer 76 is a layer for inputting the feature amount related to the end point of the stroke, and is composed of 20 units in the example of this figure.
  • This feature amount includes [1] the X ′ coordinate of the starting point Ps, [2] the Y ′ coordinate of the starting point Ps, [3] the X ′ coordinate of the ending point Pe, and [4] the Y ′ coordinate of the ending point Pe in the order of the stroke ID.
  • It is an input vector consisting of 20 arranged components.
  • the output layer 80 is a layer that outputs a collection of label values indicating the semantic attributes (hereinafter, referred to as a label group), and is composed of 6 units in the example of this figure.
  • This label group consists of [1] text (English), [2] text (Japanese), [3] figure (graphic), [4] figure (illustration), [5] mathematical formula, [6] chemical formula. It is an output vector composed of 6 components indicating the likelihood.
  • the discriminator 70 inputs the feature amount generated from the subgroup 74 from the input layer 76, and outputs the label group corresponding to the subgroup 74 to the output layer 80 via the intermediate layer 78. For example, when each label is defined in the range of [0, 1], the semantic attribute having the maximum label value, for example, "text (English)" is selected.
  • the sub-group 74 is selected and the above-mentioned identification processing is performed.
  • the attribute estimation unit 34 totals the identification results by the plurality of subgroups 74 and creates a histogram in which the number of semantic attributes is “frequency”. In the example of this figure, “text (English)” with the highest frequency of the histogram is estimated to be the semantic attribute to be given to the new set (group 72 in FIG. 6A).
  • step S5 of FIG. 4 the host processor 18 displays an input window 82 for inputting meta information (for example, annotation) on the display panel 22.
  • the input window 82 is displayed, for example, at a position that does not overlap with the closed area surrounded by Lasso Ltmp.
  • the first user control 84 is, for example, a pull-down menu configured to allow input of semantic attributes.
  • the second user control 86 is, for example, a text box in which a value attribute can be input.
  • the input support mode is “ON”, that is, when “Step S3: ON” in FIG. 4 is passed, the semantics attribute estimated in Step S4 is input to the input field of the user control 84 as an initial value (that is, Recommended value) is displayed.
  • the input support mode is “OFF”, that is, when “Step S3: OFF” in FIG. 4 is passed through, the input field of the user control 84 displays a state indicating that the attribute is not selected (for example, Blank display).
  • the user can omit the operation of the user control 84 when the semantic attribute that matches his or her intention is presented.
  • the user may operate the user control 84 so that a desired attribute is selected when a semantic attribute that does not match the user's intention is presented.
  • step S6 the host processor 18 confirms whether or not a data input confirming operation, more specifically, a touch operation of the [OK] button 88 (FIG. 8) has been received. If the confirmation operation has not been received yet (step S6: NO), the process remains in step S6 until the confirmation operation is received. On the other hand, when the confirmation operation is received (step S6: YES), the process proceeds to step S7 described later with reference to FIG.
  • FIG. 9 is a diagram showing the positional relationship between the content and the two lassos Lprv and Ltmp. It is assumed that the user performs the first annotation operation on the stroke set surrounded by Lasso Lprv, and then performs the second annotation operation on the stroke set surrounded by Lasso Ltmp.
  • the semantic attribute (Sem) is “none”
  • the value attribute (Value) is “pencil”. Information is given.
  • FIG. 10 is a diagram showing a description example of the ink data 50 corresponding to FIG.
  • the ink data 50 is composed of stroke data 51 and metadata 52.
  • the metadata 52 is configured to include two meta chunks 53 and 54.
  • the first meta chunk 53 describes the meta information added to the stroke set indicated by Lasso Lprv.
  • the second meta chunk 54 describes meta information added to the stroke set indicated by Lasso Ltmp.
  • the ink data generation device 10 is a device that generates the ink data 50 including the metadata 52 that describes the meta information for each set of strokes, and is used for a new set to which the meta information has not been added yet.
  • An estimation unit 34 and a data generation unit 38 that generates meta chunks 53 and 54 (first metadata) for giving the estimated attribute to the new set are provided.
  • one or more processors acquire the new set data 42 indicating the stroke elements belonging to the new set to which the meta information has not been added yet.
  • the attribute estimation unit 34 may also be configured to include a discriminator 70 that inputs a feature amount regarding a stroke end point and outputs a label group of semantic attributes. By focusing on the relationship between the end points of the stroke and the semantic attribute, the accuracy of estimating the semantic attribute is improved.
  • the ink data generation device 10 is configured to be able to simultaneously display a plurality of strokes in the display area and select a stroke element belonging to a new set from the plurality of strokes by handwriting input by the user.
  • the UI unit 28 is further provided, and the UI unit 28 further displays a user control 84 capable of inputting a semantic attribute to be added to the new set, and the data generating unit 38 indicates the semantic attribute input using the user control 84.
  • the meta chunks 53 and 54 may be generated. This allows smooth entry of semantic attributes using the user interface.
  • the UI unit 28 may also display the semantic attribute estimated by the attribute estimation unit 34 as an initial value of the user control 84. This increases the possibility that the operation of changing the user control 84 from the initial state becomes unnecessary and gives the user an opportunity to change.
  • the “second operation” means an operation of generating the ink data 50 based on the meta information input by the first operation.
  • the data generation unit 38 performs “flow type” data processing in which the ink data 50 is sequentially updated each time meta information is added.
  • the second acquisition unit 32 acquires data (hereinafter referred to as existing set data 44) indicating stroke elements belonging to a set of strokes to which meta information has already been added (hereinafter referred to as existing set). To do. Similar to the new set data 42, the existing set data 44 is data that can specify a stroke element, and may be, for example, a stroke ID that is stroke identification information.
  • step S8 the set determination unit 36 compares both stroke elements by using the new set data 42 acquired in step S2 of FIG. 4 and the existing set data 44 acquired in step S7 to compare the two stroke elements.
  • step S9 the set determination unit 36 confirms whether or not there is an existing set having an inclusion relation with the new set.
  • FIG. 12 is a diagram showing a positional relationship between content and three lassos Lpr1, Lpr2, and Ltmp.
  • the user performs the 9th annotation operation on the stroke set surrounded by Lasso Ltmp after performing the 1st to 8th annotation operations.
  • step S10 the data generation unit 38 generates the meta chunk 55 that describes the meta information whose input is confirmed in step S6 of FIG. 4, and arranges the meta chunk 55 at a position according to a predetermined meta information addition order.
  • FIG. 13 is a diagram showing a description example of the ink data 50 corresponding to FIG.
  • the ink data 50 is composed of stroke data 51 and metadata 52A.
  • the metadata 52A is composed of nine meta chunks including the meta chunks 53, 54 and 55.
  • the first meta chunk 53 describes the meta information given to the existing set specified by Lasso Lpr1.
  • the second meta chunk 54 describes the meta information given to the existing set specified by Lasso Lpr2.
  • the ninth meta chunk 55 describes the meta information given to the new set specified by Rasso Ltmp. For convenience of illustration, the notation of the 3-8th meta chunk is omitted.
  • FIG. 14 is a diagram showing the positional relationship between the content and the three lassos Lpr1, Lpr2, and Ltmp. This FIG. 14 differs from FIG. 12 only in that the range specified by Lasso Ltmp is different.
  • step S11 the data generation unit 38 generates the meta chunks 56 to 58 (first metadata) so as to depend on the meta chunk 54 (second metadata) of the existing set which is a higher set or a lower set of the new set.
  • first metadata the meta chunk 54
  • second metadata the meta chunk 54
  • FIG. 15 is a diagram showing a first description example of the ink data 50 corresponding to FIG.
  • the ink data 50 is composed of stroke data 51 and metadata 52B.
  • the metadata 52B is composed of nine meta chunks including the meta chunks 53, 54 and 56. Since the meta chunks 53 and 54 are the same data as in the case of FIG. 13, description thereof will be omitted.
  • the ninth meta chunk 56 describes the meta information given to the new set specified by Lasso Ltmp.
  • the 9th meta chunk 56 is added so as to be incorporated in the meta chunk 53, although there is a rule to sequentially add newly added meta information to the lower position.
  • the data generation unit 38 when it is determined that there is an inclusive relationship between the new set and the existing set, the data generation unit 38 generates the meta chunk 56 of the new set at the position in the meta chunk 53 of the corresponding existing set. Good. Also in this example of description, the meta chunks 53 and 56 having the inclusion relationship can be associated with each other when the ink data 50 is generated.
  • FIG. 16 is a diagram showing a second description example of the ink data 50 corresponding to FIG.
  • the ink data 50 is composed of stroke data 51 and metadata 52C.
  • the metadata 52C is composed of nine meta chunks including the meta chunks 53, 54 and 57. Since the meta chunks 53 and 54 are the same data as in the case of FIG. 13, description thereof will be omitted.
  • the ninth meta chunk 57 describes the meta information given to the new set specified by Lasso Ltmp.
  • the ninth meta chunk 56 is added to the position immediately below the meta chunk 53 (immediately above the meta chunk 54), although there is a rule that the newly added meta information is sequentially added to the lower position. To be done.
  • the data generation unit 38 when it is determined that there is an inclusive relationship between the new set and the existing set, the data generation unit 38 generates the meta chunk 57 of the new set at a position directly above or immediately below the meta chunk 53 of the corresponding existing set. May be. Also in this description example, the meta chunks 53 and 57 having the inclusion relationship can be associated with each other when the ink data 50 is generated.
  • FIG. 17 is a diagram showing a third description example of the ink data 50 corresponding to FIG.
  • the ink data 50 is composed of stroke data 51 and metadata 52D.
  • the metadata 52D is composed of nine meta chunks including the meta chunks 53, 54 and 58. Since the meta chunks 53 and 54 are the same data as in the case of FIG. 13, description thereof will be omitted.
  • the ninth meta chunk 58 describes the meta information added to the new set specified by Lasso Ltmp.
  • the ninth meta chunk 58 is added to the last position of the metadata 52D according to the rule of sequentially adding newly added meta information to the lower position.
  • the data generation unit 38 when it is determined that there is an inclusive relationship between the new set and the existing set, the data generation unit 38 generates the meta chunk 58 of the new set in a manner of referring to the identification code of the existing set included in the meta chunk 53. May be. Also according to this description example, the meta chunks 53 and 58 having an inclusion relationship can be associated with each other when the ink data 50 is generated.
  • the data generation unit 38 generates the meta chunks 55, 56-58 by the description of the different mode according to the determination result of step S8 (steps S10, S11), and then proceeds to the next step S12.
  • step S12 of FIG. 11 the data generation unit 38 outputs the ink data 50 created / updated in step S10 or S11.
  • the “output” specifically includes storing in the memory 20, writing to a data file, and transmitting to an external device. As a result, the operation of the ink data generation device 10 ends.
  • the ink data generation device 10 is a device that generates the ink data 50 including the metadata 52 that describes the meta information for each set of strokes, and is a new set to which the meta information has not yet been added (the first set).
  • a first acquisition unit 30 that acquires new set data 42 (first set data) indicating stroke elements belonging to one set) and stroke elements belonging to an existing set (second set) to which meta information has already been added are shown. Comparing both stroke elements using the second acquisition unit 32 that acquires the existing set data 44 (second set data) for each set of strokes, and the new set data 42 and the existing set data 44 that are respectively acquired.
  • the set determination unit 36 for determining the inclusion relation between the new set and the existing set, and the new description by the different mode according to the determination result of the set determination unit 36 includes a data generator 38 for generating a first metadata merging (meta chunks 55,56-58), the.
  • one or more processors acquire the new set data 42 indicating the stroke elements belonging to the new set to which the meta information has not been added yet.
  • the data generation unit 38 when it is determined that the existing set and the new set have an inclusive relationship, the data generation unit 38 generates the meta chunks 56-58 so as to depend on the meta chunk 53 of the existing set that is a superset or a subset. May be. By providing a dependency relationship between the meta chunks 53, 56-58, it becomes easier to understand the inclusion relationship between the two.
  • the data generation unit 38 performs “stock type” data processing of collectively updating the ink data 60 at a predetermined timing after accumulating the meta information given by the user.
  • the data generation unit 38 acquires the determination result by the set determination unit 36, and when the inclusion relation described above is satisfied, generates the ink data 60 so as to include the meta chunk 65 that hierarchically describes the corresponding meta information. ..
  • the data generation unit 38 determines the meta information that has not been added yet from the relationship with the meta information that has already been added to the upper set or the lower set, and automatically generates the code sentence 68 for adding the meta information. May be added as desired.
  • FIG. 19 is a diagram showing a description example of the ink data 60 corresponding to FIG.
  • the ink data 60 includes stroke data 61 that describes a stroke and a stroke set, and metadata 62 that describes a semantic attribute.
  • the metadata 62 is composed of nine meta chunks including meta chunks 63, 64, and 65.
  • the eleventh meta chunk 63 describes the meta information given to the set (tg11) designated by Lasso Lpr1.
  • the twelfth meta chunk 64 describes meta information given to the set (tg12) specified by Lasso Lpr2.
  • the 19th meta chunk 65 describes the meta information added to the set (tg19) specified by Lasso Lpr3.
  • the 19th meta chunk 65 is added to the last position of the metadata 62 according to the rule of sequentially adding newly added meta information to the lower position.
  • layered data 66 that defines two sets (tg11, tg12) as a lower set using "has_subgroup" is additionally written.
  • a code sentence 68 indicating that the value of the superset (tg19) is “This is” is added.
  • This "This is” is a character string formed by combining "This", which is the value of the lower set (tg11), and "is”, which is the value of the lower set (tg12).
  • the data generation unit 38 determines the identification code (tg11, tg12) of the second set.
  • the first set of meta chunks 65 may be generated in a manner to be referred to. Also according to this description example, the meta chunks 63-65 having an inclusion relationship can be associated with each other when the ink data 60 is generated.
  • the ink data generation device 10 is a device that generates the ink data 60 including the metadata 62 that describes the meta information for each set of strokes, and is the set data (stroke data that indicates the stroke element belonging to the set of strokes).
  • a data acquisition unit (first acquisition unit 30, second acquisition unit 32) that acquires new set data 42, existing set data 44) for each set, and a plurality of sets based on the acquired set data for each set.
  • the data output unit (data generation unit 38) that outputs the ink data 60 including the metadata 62 indicating the inclusion relation of
  • one or a plurality of processors acquires, for each set, set data indicating stroke elements belonging to a set of strokes (FIG. 4).
  • the data output unit may output the metadata including the meta chunk 65 that describes the semantic attributes by the data structure indicating the inclusion relation of the set.
  • 10 ink data generation device 10 touch panel display, 18 host processor, 20 memory, 28 UI section, 30 first acquisition section, 32 second acquisition section, 34 attribute estimation section, 36 set determination section, 38 data generation section (data output Part), 40 drawing processing part, 42 new set data (first set data), 44 existing set data (second set data), 50, 60 ink data, 51, 61 stroke data, 52 (A / B / C / D), 62 metadata, 53, 54, 65 meta chunks (second metadata), 55-58, 63, 64 meta chunks (first metadata).

Abstract

メタデータの生成時又は生成後におけるインクデータの取扱性を高めるインクデータ生成装置、方法及びプログラムを提供する。インクデータ生成装置(10)は、第1集合データ(42)及び第2集合データ(44)を用いて両方のストローク要素を比較することで、第1集合と第2集合の間の包含関係を判定する。インクデータ生成装置(10)は、この判定結果に応じて異なる態様の記述により第1集合の第1メタデータ(55,56-58)を生成する。

Description

インクデータ生成装置、方法及びプログラム
 本発明は、インクデータを生成するインクデータ生成装置、方法及びプログラムに関する。
 特許文献1には、入力デバイスを特定するN種類のメタデータと、M個のストロークデータを対応付けてメタデータブロックを作成し、当該ブロックをストロークデータとともにインクファイルに書き込む方法が開示されている。
国際特許出願公開第2016/157400号パンフレット
 本発明の目的は、メタデータの生成時又は生成後におけるインクデータの取扱性を高めるインクデータ生成装置、方法及びプログラムを提供することである。
 第1の本発明におけるインクデータ生成装置は、ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成する装置であって、メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得部と、メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得部と、前記第1取得部により取得された前記第1集合データ及び前記第2取得部により取得された前記第2集合データを用いて、両方のストローク要素を比較することで、前記第1集合と前記第2集合の間の包含関係を判定する集合判定部と、前記集合判定部の判定結果に応じて異なる態様の記述により前記第1集合の第1メタデータを生成するデータ生成部と、を備える。
 第2の本発明におけるインクデータ生成装置は、ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成する装置であって、ストロークの集合に属するストローク要素を示す集合データを集合毎に取得するデータ取得部と、前記データ取得部により取得された集合毎の前記集合データに基づいて、複数の集合間の包含関係を示すメタデータを出力するデータ出力部と、を備える。
 第3の本発明におけるインクデータ生成方法は、ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成する方法であって、メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得ステップと、メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得ステップと、それぞれ取得された前記第1集合データ及び前記第2集合データを用いて、両方のストローク要素を比較することで、前記第1集合と前記第2集合の間の包含関係を判定する判定ステップと、前記判定ステップでの判定結果に応じて異なる態様の記述により前記第1集合の第1メタデータを生成する生成ステップと、を1つ又は複数のコンピュータが実行する。
 第4の本発明におけるインクデータ生成プログラムは、ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成するためのプログラムであって、メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得ステップと、メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得ステップと、それぞれ取得された前記第1集合データ及び前記第2集合データを用いて、両方のストローク要素を比較することで、前記第1集合と前記第2集合の間の包含関係を判定する判定ステップと、前記判定ステップでの判定結果に応じて異なる態様の記述により前記第1集合の第1メタデータを生成する生成ステップと、を1つ又は複数のコンピュータに実行させる。
 本発明によれば、メタデータの生成時又は生成後におけるインクデータの取扱性を高めることができる。
本発明の一実施形態におけるインクデータ生成装置の全体構成図である。 図1のインクデータの一例を示す図である。 図2のインクデータに基づいて可視化されたコンテンツを示す図である。 図1に示すインクデータ生成装置の動作説明に供される第1のフローチャートである。 ラッソ操作による新規集合の指定方法を示す図である。 サブグループの選択方法を示す図である。 サブグループにおける特徴量の抽出方法を示す図である。 識別器の構成例を示す図である。 ヒストグラムの導出方法を示す図である。 図4のステップS5における画面の表示例を示す図である。 コンテンツ及び2つのラッソの間の位置関係を示す図である。 図9に対応するインクデータの記述例を示す図である。 図1に示すインクデータ生成装置の動作説明に供される第2のフローチャートである。 コンテンツ及び3つのラッソの間の位置関係を示す図である。 図12に対応するインクデータの記述例を示す図である。 コンテンツ及び3つのラッソの間の位置関係を示す図である。 図14に対応するインクデータの第1の記述例を示す図である。 図14に対応するインクデータの第2の記述例を示す図である。 図14に対応するインクデータの第3の記述例を示す図である。 コンテンツ及び3つのラッソの間の位置関係を示す図である。 図18に対応するインクデータの記述例を示す図である。 セマンティクス属性の付与結果を示す図である。
[インクデータ生成装置10の構成]
<全体構成>
 図1は、本発明の一実施形態におけるインクデータ生成装置10の全体構成図である。インクデータ生成装置10は、タッチパネルディスプレイ12を備える電子機器であり、例えば、タブレット型端末、スマートフォン、パーソナルコンピュータで構成される。このインクデータ生成装置10は、具体的には、タッチパネルディスプレイ12と、表示駆動IC14と、タッチセンサIC16と、ホストプロセッサ18と、メモリ20と、を含んで構成される。
 タッチパネルディスプレイ12は、コンテンツを可視的に表示可能な表示パネル22と、表示パネル22の上に配置されるタッチセンサ24と、を含んで構成される。表示パネル22は、モノクロ画像又はカラー画像を表示可能であり、例えば、液晶パネル、有機EL(Electro-Luminescence)パネルであってもよい。タッチセンサ24は、センサ座標系のX軸の位置を検出するための複数のXライン電極と、Y軸の位置を検出するための複数のYライン電極と、を備える。
 表示駆動IC14は、表示パネル22の駆動制御を行う集積回路である。表示駆動IC14は、ホストプロセッサ18から供給された表示信号に基づいて表示パネル22を駆動する。これにより、表示パネル22上には、インクデータ50が示すコンテンツが表示される。
 タッチセンサIC16は、タッチセンサ24の駆動制御を行う集積回路である。タッチセンサIC16は、ホストプロセッサ18から供給された制御信号に基づいてタッチセンサ24を駆動する。これにより、タッチセンサIC16は、スタイラス26の状態を検出する「ペン検出機能」や、ユーザの指などによるタッチを検出する「タッチ検出機能」を実行する。
 このペン検出機能は、例えば、タッチセンサ24のスキャン機能、ダウンリンク信号の受信・解析機能、スタイラス26の状態(例えば、位置、姿勢、筆圧)の推定機能、スタイラス26に対する指令を含むアップリンク信号の生成・送信機能を含む。また、タッチ検出機能は、例えば、タッチセンサ24の二次元スキャン機能、タッチセンサ24上の検出マップの取得機能、検出マップ上の領域分類機能(例えば、指、手の平などの分類)を含む。
 このように、タッチセンサ24及びスタイラス26による入力機能と、表示パネル22による出力機能を組み合わせることで、ユーザ・インターフェース(以下、UI部28)が構築される。
 ホストプロセッサ18は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)を含む処理演算装置によって構成される。ホストプロセッサ18は、メモリ20に格納されたプログラムを読み出して実行することで、第1取得部30、第2取得部32、属性推定部34、集合判定部36、データ生成部38(データ出力部)、及び描画処理部40として機能する。
 メモリ20は、非一過性であり、かつ、コンピュータ読み取り可能な記憶媒体で構成されている。ここで、コンピュータ読み取り可能な記憶媒体は、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)を含む記憶装置、あるいは、光磁気ディスク、ROM、CD-ROM、フラッシュメモリ等の可搬媒体である。本図の例では、メモリ20には、新規集合データ42(第1集合データ)、既存集合データ44(第2集合データ)、学習パラメータ群46、及びインクデータ50が格納されている。
<インクデータ50の一例>
 図2は、図1のインクデータ50の一例を示す図である。以下、デジタルインクをXML(eXtensible Markup Language)形式で記述するInkML(Ink Markup Language)の例を挙げて説明する。なお、インクデータ50のデータ形式、いわゆる「インク記述言語」は、InkMLに限られず、例えば、WILL(Wacom Ink Layer Language)あるいはISF(Ink Serialized Format)であってもよい。また、このインクデータ50をJSON(JavaScript(登録商標) Object Notation)のデータ構造形式を用いて記述することで、様々なソフトウェアやプログラミング言語間でのデータのやり取りが容易になる。
 本図の例では、インクデータ50は、少なくとも1本(本図の例では24本)のストロークを記述するストロークデータ51を含んで構成される。本図から理解されるように、1本のストロークは、<trace>タグ内に順次配列される複数のポイントデータにより記述される。各々のポイントデータは、少なくとも指示位置(X座標、Y座標)からなり、カンマなどのデリミタで区切られる。図示の便宜上、ストロークの始点及び終点を示すポイントデータのみを表記し、複数の経由点を示すポイントデータを省略している。なお、このポイントデータには、上記した指示位置の他に、筆記の順序、スタイラス26の筆圧、姿勢などが含まれてもよい。
 図3は、図2のインクデータ50に基づいて可視化されたコンテンツを示す図である。表示パネル22(図1)上において、タッチセンサ24の検出位置を特定するための二次元座標系(以下、センサ座標系:X-Y)が定義される。このコンテンツは、「This is a pencil.」からなる文字列と、鉛筆の絵を含んで構成される。なお、括弧内の数字は、ストロークの筆記順(ストロークID=01-24)を示しており、コンテンツの一部を構成しない点に留意する。
[インクデータ生成装置10の第1動作]
 この実施形態におけるインクデータ生成装置10は、以上のように構成される。まず、インクデータ生成装置10の第1動作について、図4のフローチャート及び図5-図10を参照しながら説明する。この「第1動作」とは、ユーザによるメタ情報(例えば、データの属性、作成者、作成日時、使用デバイスなど)の付与を支援する動作を意味する。
 第1動作に先立ち、描画処理部40は、メモリ20から読み出したインクデータ50を解析し、ストロークデータ51に対して所望のラスタライズ処理を行い、コンテンツを示す表示信号を生成する。表示駆動IC14は、ホストプロセッサ18から供給された表示信号に基づいて表示パネル22を駆動する。これにより、表示パネル22上には可視化されたコンテンツが表示される。
<第1動作の説明>
 図4のステップS1において、ホストプロセッサ18は、メタ情報を付与しようとするストロークの新規集合(第1集合)の指定操作を受け付けたか否かを確認する。この「指定操作」は、複数のストロークの中から1本以上のストロークを選択するための操作であり、例えば、選択対象をラッソ(投げ縄)で囲む「ラッソ操作」が挙げられる。
 図5は、ラッソ操作による新規集合の指定方法を示す図である。ユーザは、表示パネル22上のタッチ面にてスタイラス26を移動させながら、メタ情報を付与しようとするストローク全体を囲む筆記操作を行う。この手書き入力により、可視化されたコンテンツの上にラッソLtmpが重ねて表示される。
 ユーザの指定操作をまだ受け付けていない場合(ステップS1:NO)、この指定操作を受け付けるまでステップS1に留まる。一方、ユーザの指示操作を受け付けた場合(ステップS1:YES)、次のステップS2に進む。
 ステップS2において、第1取得部30は、ステップS1で受け付けた指示操作の内容に基づいて、新規集合に属するストローク要素を示すデータ(以下、新規集合データ42という)を取得する。この新規集合データ42は、ストローク要素を特定可能なデータであり、例えば、ストロークの識別情報であるストロークIDであってもよい。図2及び図5の例では、第1取得部30は、新規集合データ42としてストロークID=01-18を取得する。
 ステップS3において、ホストプロセッサ18は、メタ情報の入力を支援するモード(以下、単に「入力支援モード」という)のオン・オフを確認する。この入力支援モードが「オフ」である場合(ステップS3:OFF)、ステップS4の実行を省略してステップS5に進む。一方、入力支援モードが「オン」である場合(ステップS3:ON)、次のステップS4に進む。
 ステップS4において、属性推定部34は、ステップS1で指定された新規集合を構成する複数のストロークの位置又は形状の相互関係に基づいて、新規集合に付与されるべき属性を推定する。ここでは、属性推定部34は、機械学習により構築された識別器70(図7A参照)を用いて、新規集合のセマンティクス属性を推定する。以下、属性の推定方法について、図6A-図7Bを参照しながら詳細に説明する。
 図6A及び図6Bは、識別器70に対する入力データの生成方法の一例を示す図である。より詳しくは、図6Aはサブグループ74の選択方法を示す図であり、図6Bはサブグループ74における特徴量の抽出方法を示す図である。
 図6Aに示すように、属性推定部34は、18本のストローク要素(ストロークID=01-18)から構成されるグループ72の中から、所定のストローク本数からなるサブグループ74を1つ選択する。ここでは、ID=01から始まる連続する5つのID=01-05を有する5本のストロークが抽出されたとする。
 図6Bに示すように、属性推定部34は、サブグループ74に属する5本のストロークをすべて網羅する正方形領域を設定し、この領域に対応する二次元座標系(以下、正規化座標系;X’-Y’)を定義する。この正規化座標系の原点O’は、センサ座標系の原点Oに最も近い位置にある、正方形領域の頂点に相当する。正規化座標系のX’軸はセンサ座標系のX軸に平行であるとともに、正規化座標系のY’軸はセンサ座標系のY軸に平行である。また、X’軸,Y’軸のスケールは、正方形領域をなす4つの頂点の座標が(0,0),(1,0),(0,1),(1,1)となるように正規化されている。
 属性推定部34は、ストロークデータ51(図2)を参照し、センサ座標系におけるストロークの始点Psの座標値(X,Y)及び終点Peの座標値(X,Y)を取得する。そして、属性推定部34は、座標系の線形変換を施すことで、正規化座標系におけるストロークの始点Psの座標値(X’,Y’)及び終点Peの座標値(X’,Y’)をそれぞれ導出する。
 図7A及び図7Bは、セマンティクス属性の推定方法の一例を示す図である。より詳しくは、図7Aは識別器70の構成例を示す図であり、図7Bはヒストグラムの導出方法を示す図である。
 図7Aに示すように、識別器70は、例えば、入力層76、中間層78及び出力層80からなる階層型ニューラルネットワークで構成される。識別器70の演算規則は、学習パラメータの集合体である学習パラメータ群46の値によって定められる。学習パラメータ群46は、例えば、ニューロンに相当するユニットの活性化関数を記述する係数、シナプス結合の強さに相当する重み付け係数、各層を構成するユニットの個数、中間層78の数を含んでもよい。学習パラメータ群46は、学習の終了によって各値が確定された状態でメモリ20(図1)に格納され、必要に応じて適時に読み出される。
 入力層76は、ストロークの端点に関する特徴量を入力する層であり、本図の例では20個のユニットから構成される。この特徴量は、[1]始点PsのX’座標、[2]始点PsのY’座標、[3]終点PeのX’座標、[4]終点PeのY’座標、をストロークIDの順に配列した20個の成分からなる入力ベクトルである。
 出力層80は、セマンティクス属性を示すラベル値の集合体(以下、ラベル群という)を出力する層であり、本図の例では6個のユニットから構成される。このラベル群は、[1]テキスト(英語)、[2]テキスト(日本語)、[3]図(グラフィック)、[4]図(イラスト)、[5]数式、[6]化学式、の確からしさを示す6個の成分からなる出力ベクトルである。
 識別器70は、サブグループ74から生成した特徴量を入力層76から入力し、中間層78を経由して、サブグループ74に応じたラベル群を出力層80に出力する。例えば、各々のラベルが[0,1]の範囲で定義されている場合、ラベルの値が最大となるセマンティクス属性、例えば「テキスト(英語)」が選択される。
 図7Bに示すように、属性推定部34は、最初のサブグループ74のセマンティクス属性を識別した後、ストロークIDを1つずつずらし、5本のストローク(ID=02-06)から構成される次のサブグループ74を選択して上記した識別処理を行う。そして、属性推定部34は、複数のサブグループ74による識別結果を集計し、セマンティクス属性の個数を「度数」とするヒストグラムを作成する。本図の例では、ヒストグラムの度数が最大となる「テキスト(英語)」が、新規集合(図6Aのグループ72)に付与されるべきセマンティクス属性であると推定される。
 図4のステップS5において、ホストプロセッサ18は、メタ情報(例えば、アノテーション)を入力するための入力用ウィンドウ82を表示パネル22上に表示させる。この入力用ウィンドウ82は、例えば、ラッソLtmpによって囲まれる閉領域と重ならない位置に表示される。
 図8に示すように、入力用ウィンドウ82内には、2つのユーザコントロール84,86と、[OK][中止]と表記されたボタン88が配置されている。1つ目のユーザコントロール84は、例えば、セマンティクス属性を入力可能に構成されるプルダウンメニューである。2つ目のユーザコントロール86は、例えば、バリュー属性を入力可能に構成されるテキストボックスである。
 入力支援モードが「オン」である場合、つまり、図4の「ステップS3:ON」を経由した場合、ユーザコントロール84の入力欄には、ステップS4で推定されたセマンティクス属性が初期値(つまり、推奨値)として表示される。一方、入力支援モードが「オフ」である場合、つまり、図4の「ステップS3:OFF」を経由した場合、ユーザコントロール84の入力欄には、属性が選択されていない状態を示す表示(例えば、ブランク表示)がなされる。
 ユーザは、自身の意図に合致するセマンティクス属性が提示された場合、ユーザコントロール84の操作を省略することができる。一方、ユーザは、自身の意図に合致しないセマンティクス属性が提示された場合、所望の属性が選択されるようにユーザコントロール84を操作してもよい。
 ステップS6において、ホストプロセッサ18は、データ入力の確定操作、より詳しくは[OK]ボタン88(図8)のタッチ操作を受け付けたか否かを確認する。確定操作をまだ受け付けていない場合(ステップS6:NO)、この確定操作を受け付けるまでステップS6に留まる。一方、確定操作を受け付けた場合(ステップS6:YES)、図11で後述するステップS7に進む。
 図9は、コンテンツ及び2つのラッソLprv,Ltmpの間の位置関係を示す図である。ユーザは、ラッソLprvで囲んだストローク集合に対して1番目のアノテーション操作を行い、その後、ラッソLtmpで囲んだストローク集合に対して2番目のアノテーション操作を行ったとする。1番目のアノテーション操作を通じて、ID=11-17,19-23をストローク要素とする集合に対して、セマンティクス属性(Sem)が「なし」であり、バリュー属性(Value)が「鉛筆」であるメタ情報が付与される。2番目のアノテーション操作を通じて、ID=01-18をストローク要素とする集合に対して、セマンティクス属性が「テキスト(英語)」であり、バリュー属性が「なし」であるメタ情報が付与される。
 図10は、図9に対応するインクデータ50の記述例を示す図である。このインクデータ50は、ストロークデータ51とメタデータ52から構成される。メタデータ52は、2つのメタチャンク53,54を含んで構成される。1番目のメタチャンク53は、ラッソLprvが示すストローク集合に付与されるメタ情報を記述する。2番目のメタチャンク54は、ラッソLtmpが示すストローク集合に付与されるメタ情報を記述する。
<第1動作による効果>
 以上のように、このインクデータ生成装置10は、ストロークの集合毎のメタ情報を記述するメタデータ52を含むインクデータ50を生成する装置であって、メタ情報がまだ付与されていない新規集合に属するストローク要素を示す新規集合データ42を取得する第1取得部30と、新規集合を構成する複数のストロークの位置又は形状の相互関係に基づいて、新規集合に付与されるべき属性を推定する属性推定部34と、推定された属性を新規集合に付与するためのメタチャンク53,54(第1メタデータ)を生成するデータ生成部38と、を備える。
 あるいは、このインクデータ生成方法及びプログラムによれば、1つ又は複数のプロセッサ(例えば、ホストプロセッサ18)が、メタ情報がまだ付与されていない新規集合に属するストローク要素を示す新規集合データ42を取得する第1取得ステップ(図4のS2)と、新規集合を構成する複数のストロークの位置又は形状の相互関係に基づいて、新規集合に付与されるべき属性を推定する推定ステップ(図4のS4)と、推定された属性を新規集合に付与するためのメタチャンク53,54(第1メタデータ)を生成する生成ステップ(後述する図11のS10,S11)と、を備える。
 このように構成したので、複数のストロークの位置又は形状の相互関係が考慮された妥当性が高い属性を自動的に選択可能となり、ユーザによる属性の入力作業が軽減される。
 また、属性推定部34は、ストロークの端点に関する特徴量を入力し、セマンティクス属性のラベル群を出力する識別器70を含んで構成されてもよい。ストロークの端点とセマンティック属性の間の関連性に着目することで、セマンティック属性の推定精度が向上する。
 また、インクデータ生成装置10は、複数本のストロークを表示領域内に同時に表示可能であるとともに、ユーザの手書き入力によって複数本のストロークの中から新規集合に属するストローク要素を選択可能に構成されるUI部28をさらに備え、UI部28は、新規集合に付与するセマンティクス属性を入力可能なユーザコントロール84をさらに表示し、データ生成部38は、ユーザコントロール84を用いて入力されたセマンティクス属性を示すメタチャンク53,54を生成してもよい。これにより、ユーザ・インターフェースを利用したセマンティクス属性の円滑な入力が行われる。
 また、UI部28は、属性推定部34により推定されたセマンティック属性をユーザコントロール84の初期値として表示してもよい。これにより、ユーザコントロール84の初期状態からの変更操作が不要となる可能性が高まるとともに、ユーザに対して変更の機会を与えることができる。
[インクデータ生成装置10の第2動作]
 続いて、インクデータ生成装置10の第2動作について、図11のフローチャート及び図12-図17を参照しながら説明する。この「第2動作」は、第1動作により入力されたメタ情報に基づいてインクデータ50を生成する動作を意味する。ここで、データ生成部38は、メタ情報を付与する度にインクデータ50を逐次更新する「フロー型」のデータ処理を行う。
<第2動作の説明>
 図11のステップS7において、第2取得部32は、メタ情報が既に付与されているストロークの集合(以下、既存集合という)に属するストローク要素を示すデータ(以下、既存集合データ44という)を取得する。この既存集合データ44は、新規集合データ42と同様に、ストローク要素を特定可能なデータであり、例えば、ストロークの識別情報であるストロークIDであってもよい。
 ステップS8において、集合判定部36は、図4のステップS2で取得された新規集合データ42と、ステップS7で取得された既存集合データ44を用いて、両方のストローク要素を比較することで、新規集合と既存集合の間の包含関係を判定する。具体的には、集合判定部36は、既存集合が新規集合の(1)上位集合、(2)下位集合、又は(3)包含関係にない、のいずれに該当するかを判定する。なお、複数の既存集合が存在する場合、集合判定部36は、各々の既存集合に対して包含関係の判定を行う点に留意する。
 ステップS9において、集合判定部36は、新規集合と包含関係を有する既存集合が存在するか否かを確認する。
 図12は、コンテンツ及び3つのラッソLpr1,Lpr2,Ltmpの間の位置関係を示す図である。ここで、ユーザは、第1-第8のアノテーション操作を行った後、ラッソLtmpで囲んだストローク集合に対して9番目のアノテーション操作を行ったとする。9番目のアノテーション操作を通じて、ID=19-24をストローク要素とする集合に対して、セマンティクス属性(Sem)が「図」であり、バリュー属性(Value)が「なし」であるメタ情報が付与される。図示の便宜上、3-8番目のラッソの表記が省略されている。
 本図から理解されるように、ラッソLpr1(第1のアノテーション操作)で指定された既存集合は、ID=19-23のストローク要素を含むが、ID=24のストローク要素を含まない。また、ラッソLpr2(第2のアノテーション操作)で指定された既存集合は、ID=19-24のストローク要素を含まない。この場合、新規集合と既存集合の間に包含関係がないとして(ステップS9:NO)、ステップS10に進む。
 ステップS10において、データ生成部38は、図4のステップS6で入力が確定されたメタ情報を記述するメタチャンク55を生成し、予め定められたメタ情報の付与順に従う位置に配置する。
 図13は、図12に対応するインクデータ50の記述例を示す図である。このインクデータ50は、ストロークデータ51とメタデータ52Aから構成される。メタデータ52Aは、メタチャンク53,54,55を含む、9個のメタチャンクから構成される。1番目のメタチャンク53は、ラッソLpr1で指定された既存集合に付与されるメタ情報を記述する。2番目のメタチャンク54は、ラッソLpr2で指定された既存集合に付与されるメタ情報を記述する。9番目のメタチャンク55は、ラッソLtmpで指定された新規集合に付与されるメタ情報を記述する。図示の便宜上、3-8番目のメタチャンクの表記が省略されている。
 本図の例では、新たに付与されたメタ情報を下方の位置に逐次追加する規則が設けられるので、9番目のメタチャンク55は、メタデータ52の最後尾の位置に追加される。本図とは逆に、新たに付与されたメタ情報を上方の位置に逐次追加する規則が設けられる場合、メタチャンク55は、メタデータ52の先頭の位置に追加されることになる。
 一方、図14は、コンテンツ及び3つのラッソLpr1,Lpr2,Ltmpの間の位置関係を示す図である。この図14は、ラッソLtmpによる指定範囲が異なる点のみにおいて図12と異なっている。9番目のアノテーション操作を通じて、ID=19-23をストローク要素とする集合に対して、セマンティクス属性が「図」であり、バリュー属性が「なし」であるメタ情報が付与される。
 本図から理解されるように、ラッソLpr1で指定された既存集合は、ストローク要素(ID=19-23)をすべて含むので、新規集合の「上位集合」に該当する。つまり、新規集合と既存集合の間に包含関係があるとして(ステップS9:YES)、ステップS11に進む。
 ステップS11において、データ生成部38は、新規集合の上位集合又は下位集合である既存集合のメタチャンク54(第2メタデータ)に依存するようにメタチャンク56-58(第1メタデータ)を生成する。以下、メタチャンク56-58の生成方法の具体例について、図15-図17を参照しながら説明する。
 図15は、図14に対応するインクデータ50の第1の記述例を示す図である。インクデータ50は、ストロークデータ51とメタデータ52Bから構成される。メタデータ52Bは、メタチャンク53,54,56を含む、9個のメタチャンクから構成される。メタチャンク53,54は、図13の場合と同じデータであるため説明を省略する。
 9番目のメタチャンク56は、ラッソLtmpで指定された新規集合に付与されるメタ情報を記述する。本図の例では、新たに付与されたメタ情報を下方の位置に逐次追加する規則があるにもかかわらず、9番目のメタチャンク56は、メタチャンク53内に組み込むように追加される。
 このように、データ生成部38は、新規集合と既存集合の間に包含関係があると判定された場合、該当する既存集合のメタチャンク53内の位置に、新規集合のメタチャンク56を生成してもよい。この記述例によっても、インクデータ50の生成時に、包含関係を有するメタチャンク53,56同士を対応付けることができる。
 図16は、図14に対応するインクデータ50の第2の記述例を示す図である。インクデータ50は、ストロークデータ51とメタデータ52Cから構成される。メタデータ52Cは、メタチャンク53,54,57を含む、9個のメタチャンクから構成される。メタチャンク53,54は、図13の場合と同じデータであるため説明を省略する。
 9番目のメタチャンク57は、ラッソLtmpで指定された新規集合に付与されるメタ情報を記述する。本図の例では、新たに付与されたメタ情報を下方の位置に逐次追加する規則があるにもかかわらず、9番目のメタチャンク56は、メタチャンク53の直下(メタチャンク54の直上)の位置に追加される。
 このように、データ生成部38は、新規集合と既存集合の間に包含関係があると判定された場合、該当する既存集合のメタチャンク53の直上又は直下の位置に新規集合のメタチャンク57を生成してもよい。この記述例によっても、インクデータ50の生成時に、包含関係を有するメタチャンク53,57同士を対応付けることができる。
 図17は、図14に対応するインクデータ50の第3の記述例を示す図である。インクデータ50は、ストロークデータ51とメタデータ52Dから構成される。メタデータ52Dは、メタチャンク53,54,58を含む、9個のメタチャンクから構成される。メタチャンク53,54は、図13の場合と同じデータであるため説明を省略する。
 9番目のメタチャンク58は、ラッソLtmpで指定された新規集合に付与されるメタ情報を記述する。本図の例では、9番目のメタチャンク58は、新たに付与されたメタ情報を下方の位置に逐次追加する規則に従って、メタデータ52Dの最後尾の位置に追加される。ただし、メタチャンク55は、<traceView>タグ内にて、メタチャンク53に含まれるストローク集合の識別コード(ここでは、グループID=g1)を参照した態様で記述されている。
 つまり、データ生成部38は、新規集合と既存集合の間に包含関係があると判定された場合、メタチャンク53に含まれる既存集合の識別コードを参照する態様で、新規集合のメタチャンク58を生成してもよい。この記述例によっても、インクデータ50の生成時に、包含関係を有するメタチャンク53,58同士を対応付けることができる。
 このように、データ生成部38は、ステップS8の判定結果に応じて異なる態様の記述によりメタチャンク55,56-58を生成した後(ステップS10,S11)、次のステップS12に進む。
 図11のステップS12において、データ生成部38は、ステップS10又はS11で作成・更新されたインクデータ50を出力する。この「出力」とは、具体的には、メモリ20への格納、データファイルへの書き込み処理、外部装置への送信処理が挙げられる。これにより、インクデータ生成装置10の動作が終了する。
<第2動作による効果>
 以上のように、インクデータ生成装置10は、ストロークの集合毎のメタ情報を記述するメタデータ52を含むインクデータ50を生成する装置であって、メタ情報がまだ付与されていない新規集合(第1集合)に属するストローク要素を示す新規集合データ42(第1集合データ)を取得する第1取得部30と、メタ情報が既に付与されている既存集合(第2集合)に属するストローク要素を示す既存集合データ44(第2集合データ)をストロークの集合毎に取得する第2取得部32と、それぞれ取得された新規集合データ42及び既存集合データ44を用いて、両方のストローク要素を比較することで、新規集合と既存集合の間の包含関係を判定する集合判定部36と、集合判定部36の判定結果に応じて異なる態様の記述により新規集合の第1メタデータ(メタチャンク55,56-58)を生成するデータ生成部38と、を備える。
 あるいは、このインクデータ生成方法及びプログラムによれば、1つ又は複数のプロセッサ(例えば、ホストプロセッサ18)が、メタ情報がまだ付与されていない新規集合に属するストローク要素を示す新規集合データ42を取得する第1取得ステップ(図4のS2)と、メタ情報が既に付与されている既存集合に属するストローク要素を示す既存集合データ44をストロークの集合毎に取得する第2取得ステップ(S7)と、それぞれ取得された新規集合データ42及び既存集合データ44を用いて、両方のストローク要素を比較することで、新規集合と既存集合の間の包含関係を判定する判定ステップ(S8)と、判定ステップでの判定結果に応じて異なる態様の記述によりメタチャンク55,56-58を生成する生成ステップ(S10,S11)と、を実行する。
 このように構成したので、メタデータ52の記述態様を解析することでストロークの集合同士の包含関係を把握可能となり、この包含関係を考慮したメタ情報の様々な処理、具体的には、編集支援(例えば、メタ情報の相互参照)や自動編集(例えば、メタ情報の結合・置換・継承)などを行うことができる。これにより、メタデータ52の生成時又は生成後におけるインクデータ50の取扱性を高めることができる。
 また、データ生成部38は、既存集合と新規集合の間に包含関係があると判定された場合、上位集合又は下位集合である既存集合のメタチャンク53に依存するようにメタチャンク56-58を生成してもよい。メタチャンク53,56-58の間に依存関係を設けておくことで、両者の包含関係がより把握しやすくなる。
[変形例]
 以下、インク記述言語がWILLであるインクデータ60をJSONの表記方法に従って生成する例について説明する。
<インクデータ60の生成例>
 図18は、コンテンツ及び3つのラッソLpr1,Lpr2,Lpr3の間の位置関係を示す図である。ユーザは、ラッソLpr1で囲んだストローク集合に対して11番目のアノテーション操作を行い、ラッソLpr2で囲んだストローク集合に対して12番目のアノテーション操作を行ったとする。11番目のアノテーション操作を通じて、ID=01-06をストローク要素とする集合に対して、種類(Type)が「ワード」であり、値(Value)が「This」であるメタ情報が付与される。12番目のアノテーション操作を通じて、ID=07-09をストローク要素とする集合に対して、種類が「ワード」であり、値が「is」であるメタ情報が付与される。
 ユーザは、第11-第18のアノテーション操作を行った後、ラッソLpr3で囲んだストローク集合に対して19番目のアノテーション操作を行ったとする。19番目のアノテーション操作を通じて、ID=01-09をストローク要素とする集合に対して、種類が「テキスト行」であり、値が「なし」であるメタ情報が付与される。図示の便宜上、13-18番目のラッソの表記が省略されている。
 ここで、データ生成部38は、ユーザにより付与されたメタ情報を蓄積した後、所定のタイミングでインクデータ60を一括的に更新する「ストック型」のデータ処理を行う。この場合、データ生成部38は、集合判定部36による判定結果を取得し、上記した包含関係を満たす場合、該当するメタ情報を階層的に記述するメタチャンク65を含むようにインクデータ60を生成する。また、データ生成部38は、上位集合又は下位集合に既に付与されているメタ情報との関係から、まだ付与されていないメタ情報を決定し、当該メタ情報を付与するためのコード文68を自動的に追加してもよい。
 図19は、図18に対応するインクデータ60の記述例を示す図である。インクデータ60は、ストローク及びストローク集合をそれぞれ記述するストロークデータ61と、セマンティクス属性を記述するメタデータ62を含んで構成される。メタデータ62は、メタチャンク63,64,65を含む、9個のメタチャンクから構成される。11番目のメタチャンク63は、ラッソLpr1で指定された集合(tg11)に付与されるメタ情報を記述する。12番目のメタチャンク64は、ラッソLpr2で指定された集合(tg12)に付与されるメタ情報を記述する。
 19番目のメタチャンク65は、ラッソLpr3で指定された集合(tg19)に付与されるメタ情報を記述する。本図の例では、19番目のメタチャンク65は、新たに付与されたメタ情報を下方の位置に逐次追加する規則に従って、メタデータ62の最後尾の位置に追加される。ただし、メタチャンク65内には、「has_subgroup」を用いて、2つの集合(tg11,tg12)を下位集合として定義する階層化データ66が追記されている。
 また、メタチャンク65内には、上位集合(tg19)の値が「This is」であることを示すコード文68が追加されている。この「This is」は、下位集合(tg11)の値である「This」と、下位集合(tg12)の値である「is」を結合してなる文字列である。
 その結果、図20に示すように、ID=01-09をストローク要素とする集合(tg19)に対して、メタ情報として「種類:テキスト行」が付与されるとともに、メタ情報として「値:This is」及び「サブグループ:tg11,tg12」が自動的に付与される。本図の例では、値が「なし」である場合に「This is」のメタ情報を自動的に付与しているが、ユーザの意向に従ってメタ情報を付与しなくてもよい。
 このように、データ生成部38は、第1集合(tg19)と第2集合(tg11,tg12)の間に包含関係があると判定された場合、第2集合の識別コード(tg11,tg12)を参照する態様で、第1集合のメタチャンク65を生成してもよい。この記述例によっても、インクデータ60の生成時に、包含関係を有するメタチャンク63-65同士を対応付けることができる。
<変形例による効果>
 以上のように、インクデータ生成装置10は、ストロークの集合毎のメタ情報を記述するメタデータ62を含むインクデータ60を生成する装置であって、ストロークの集合に属するストローク要素を示す集合データ(新規集合データ42、既存集合データ44)を集合毎に取得するデータ取得部(第1取得部30、第2取得部32)と、取得された集合毎の集合データに基づいて、複数の集合間の包含関係を示すメタデータ62を含むインクデータ60を出力するデータ出力部(データ生成部38)を備える。
 あるいは、このインクデータ生成方法及びプログラムによれば、1つ又は複数のプロセッサ(例えば、ホストプロセッサ18)が、ストロークの集合に属するストローク要素を示す集合データを集合毎に取得する取得ステップ(図4のS2、図11のS7)と、取得された集合毎の集合データに基づいて、複数の集合間の包含関係を示すメタデータ62を含むインクデータ60を出力する出力ステップ(図11のS12)を実行する。
 このように構成したので、出力されたメタデータ62の内容を解析することでストロークの集合同士の包含関係を把握可能となり、この包含関係を考慮したメタ情報の様々な処理、具体的には、編集支援や自動編集などを行うことができる。これにより、メタデータ62の出力時又は出力後におけるインクデータ60の取扱性を高めることができる。
 また、データ出力部は、集合の包含関係を示すデータ構造によってセマンティクス属性を記述するメタチャンク65を含むメタデータを出力してもよい。
 10 インクデータ生成装置、12 タッチパネルディスプレイ、18 ホストプロセッサ、20 メモリ、28 UI部、30 第1取得部、32 第2取得部、34 属性推定部、36 集合判定部、38 データ生成部(データ出力部)、40 描画処理部、42 新規集合データ(第1集合データ)、44 既存集合データ(第2集合データ)、50,60 インクデータ、51,61 ストロークデータ、52(A/B/C/D),62 メタデータ、53,54,65 メタチャンク(第2メタデータ)、55-58,63,64 メタチャンク(第1メタデータ)。

Claims (14)

  1.  ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成するインクデータ生成装置であって、
     メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得部と、
     メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得部と、
     前記第1取得部により取得された前記第1集合データ及び前記第2取得部により取得された前記第2集合データを用いて、両方のストローク要素を比較することで、前記第1集合と前記第2集合の間の包含関係を判定する集合判定部と、
     前記集合判定部の判定結果に応じて異なる態様の記述により前記第1集合の第1メタデータを生成するデータ生成部と、
     を備えることを特徴とするインクデータ生成装置。
  2.  前記データ生成部は、前記第1集合と前記第2集合の間に包含関係があると判定された場合、上位集合又は下位集合である前記第2集合の第2メタデータに依存するように前記第1メタデータを生成することを特徴とする請求項1に記載のインクデータ生成装置。
  3.  前記データ生成部は、前記第1集合と前記第2集合の間に包含関係があると判定された場合、前記第2メタデータ内の位置に前記第1メタデータを生成することを特徴とする請求項2に記載のインクデータ生成装置。
  4.  前記データ生成部は、前記第1集合と前記第2集合の間に包含関係があると判定された場合、前記第2メタデータの直上又は直下の位置に前記第1メタデータを生成することを特徴とする請求項2に記載のインクデータ生成装置。
  5.  前記データ生成部は、前記第1集合と前記第2集合の間に包含関係があると判定された場合、前記第2集合の識別コードを参照する態様で前記第1メタデータを生成することを特徴とする請求項2に記載のインクデータ生成装置。
  6.  前記データ生成部は、前記第1集合と前記第2集合の間に包含関係がないと判定された場合、予め定められたメタ情報の付与順に従う位置に前記第1メタデータを生成することを特徴とする請求項1に記載のインクデータ生成装置。
  7.  前記第1集合を構成する複数のストロークの位置又は形状の相互関係に基づいて、前記第1集合に付与されるべき属性を推定する属性推定部をさらに備えることを特徴とする請求項1に記載のインクデータ生成装置。
  8.  前記属性推定部は、ストロークの端点に関する特徴量を入力し、セマンティクス属性のラベル値を出力する識別器を含んで構成されることを特徴とする請求項7に記載のインクデータ生成装置。
  9.  複数本のストロークを表示領域内に同時に表示可能であるとともに、ユーザの手書き入力によって前記複数本のストロークの中から前記第1集合に属するストローク要素を選択可能に構成されるUI部をさらに備え、
     前記UI部は、前記第1集合に付与するセマンティクス属性を入力可能なユーザコントロールをさらに表示し、
     前記データ生成部は、前記ユーザコントロールを用いて入力されたセマンティクス属性を示す前記第1メタデータを生成する
     ことを特徴とする請求項8に記載のインクデータ生成装置。
  10.  前記UI部は、前記属性推定部により推定されたセマンティック属性を前記ユーザコントロールの初期値として表示することを特徴とする請求項9に記載のインクデータ生成装置。
  11.  ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成するインクデータ生成装置であって、
     ストロークの集合に属するストローク要素を示す集合データを集合毎に取得するデータ取得部と、
     前記データ取得部により取得された集合毎の前記集合データに基づいて、複数の集合間の包含関係を示すメタデータを出力するデータ出力部と、
     を備えることを特徴とするインクデータ生成装置。
  12.  前記データ出力部は、集合の包含関係を示すデータ構造によってセマンティクス属性を記述するメタチャンクを含む前記メタデータを出力することを特徴とする請求項11に記載のインクデータ生成装置。
  13.  ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成するインクデータ生成方法であって、
     メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得ステップと、
     メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得ステップと、
     それぞれ取得された前記第1集合データ及び前記第2集合データを用いて、両方のストローク要素を比較することで、前記第1集合と前記第2集合の間の包含関係を判定する判定ステップと、
     前記判定ステップでの判定結果に応じて異なる態様の記述により前記第1集合の第1メタデータを生成する生成ステップと、
     を1つ又は複数のコンピュータが実行することを特徴とするインクデータ生成方法。
  14.  ストロークの集合毎のメタ情報を記述するメタデータを含むインクデータを生成するためのインクデータ生成プログラムであって、
     メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得ステップと、
     メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得ステップと、
     それぞれ取得された前記第1集合データ及び前記第2集合データを用いて、両方のストローク要素を比較することで、前記第1集合と前記第2集合の間の包含関係を判定する判定ステップと、
     前記判定ステップでの判定結果に応じて異なる態様の記述により前記第1集合の第1メタデータを生成する生成ステップと、
     を1つ又は複数のコンピュータに実行させることを特徴とするインクデータ生成プログラム。
PCT/JP2019/039463 2018-11-02 2019-10-07 インクデータ生成装置、方法及びプログラム WO2020090356A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980061745.XA CN112740201A (zh) 2018-11-02 2019-10-07 墨水数据生成装置、方法及程序
JP2020553713A JP6918252B2 (ja) 2018-11-02 2019-10-07 インクデータ生成装置、方法及びプログラム
DE112019005487.2T DE112019005487T5 (de) 2018-11-02 2019-10-07 Tintendatenerzeugungsvorrichtung, -verfahren und -programm
US17/196,876 US11755195B2 (en) 2018-11-02 2021-03-09 Ink data generation apparatus, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-207701 2018-11-02
JP2018207701 2018-11-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/196,876 Continuation US11755195B2 (en) 2018-11-02 2021-03-09 Ink data generation apparatus, method, and program

Publications (1)

Publication Number Publication Date
WO2020090356A1 true WO2020090356A1 (ja) 2020-05-07

Family

ID=70462219

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/039463 WO2020090356A1 (ja) 2018-11-02 2019-10-07 インクデータ生成装置、方法及びプログラム

Country Status (5)

Country Link
US (2) US11755195B2 (ja)
JP (3) JP6918252B2 (ja)
CN (1) CN112740201A (ja)
DE (1) DE112019005487T5 (ja)
WO (1) WO2020090356A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263682A (ja) * 1995-03-22 1996-10-11 Matsushita Electric Ind Co Ltd 手書きストローク編集装置
US20070174761A1 (en) * 2006-01-26 2007-07-26 Microsoft Corporation Strategies for Processing Annotations
JP2014038385A (ja) * 2012-08-10 2014-02-27 Toshiba Corp 手書き描画装置、方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5774558B2 (ja) 2012-08-10 2015-09-09 株式会社東芝 手書き文書処理装置、方法及びプログラム
KR102255050B1 (ko) * 2013-11-19 2021-05-25 가부시키가이샤 와코무 잉크 데이터의 생성, 잉크 데이터의 렌더링, 잉크 데이터의 조작, 및 잉크 데이터의 전달을 위한 방법 및 시스템
JP5886487B1 (ja) 2015-03-31 2016-03-16 株式会社ワコム インクファイルの出力方法及び出力装置
US10082951B2 (en) 2016-01-07 2018-09-25 Myscript System and method for digital ink interactivity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263682A (ja) * 1995-03-22 1996-10-11 Matsushita Electric Ind Co Ltd 手書きストローク編集装置
US20070174761A1 (en) * 2006-01-26 2007-07-26 Microsoft Corporation Strategies for Processing Annotations
JP2014038385A (ja) * 2012-08-10 2014-02-27 Toshiba Corp 手書き描画装置、方法及びプログラム

Also Published As

Publication number Publication date
US20230367473A1 (en) 2023-11-16
CN112740201A (zh) 2021-04-30
US11755195B2 (en) 2023-09-12
JP6918252B2 (ja) 2021-08-11
DE112019005487T5 (de) 2021-08-05
JP2021184271A (ja) 2021-12-02
JP2023153238A (ja) 2023-10-17
US20210191613A1 (en) 2021-06-24
JPWO2020090356A1 (ja) 2021-10-07
JP7332657B2 (ja) 2023-08-23

Similar Documents

Publication Publication Date Title
CN114641753A (zh) 使用机器学习从楼层平面图图纸进行合成数据生成和建筑信息模型(bim)要素提取
US20070098263A1 (en) Data entry apparatus and program therefor
JP2007279828A (ja) 帳票処理装置、帳票様式作成装置、帳票、帳票処理用のプログラム、帳票様式作成用のプログラム
US20160350137A1 (en) Guide file creation program
US20140304586A1 (en) Electronic device and data processing method
JP6430197B2 (ja) 電子機器および方法
WO2014025073A2 (en) Handwriting drawing apparatus and method
CN114365075B (zh) 用于选择图形对象的方法和对应装置
US10210141B2 (en) Stylizing text by replacing glyph with alternate glyph
US9395911B2 (en) Computer input using hand drawn symbols
JP6055065B1 (ja) 文字認識プログラム、文字認識装置
JP2009151449A (ja) アンドゥー機能付き電子黒板
US9846707B2 (en) Method for color and size based pre-filtering for visual object searching of documents
RU2398276C2 (ru) Альтернативы анализа в контекстных деревьях
JP6918252B2 (ja) インクデータ生成装置、方法及びプログラム
JPWO2016117564A1 (ja) プログラム、情報記憶媒体及び認識装置
JP2018036794A (ja) 画像処理装置及びプログラム
CA3075627A1 (en) Integrated document editor
JP4963633B2 (ja) 情報処理装置及び情報処理方法
JP2007286822A (ja) Gui仕様書生成方法およびgui仕様書生成システム
CN114519213A (zh) 使用机器学习从标记中实现计算机辅助绘制图自动化
JP2014238663A (ja) 情報処理システムおよびその制御方法、並びにプログラム
KR20150101109A (ko) 맞춤형 필터링 기능이 구비된 스케치 검색 시스템, 사용자 장치, 서비스 제공 장치, 그 서비스 방법 및 컴퓨터 프로그램이 기록된 기록매체
JP2019200762A (ja) コンテンツパブリッシング装置およびコンテンツパブリッシング方法
JP2012027561A (ja) 画像作成装置及びデータ作成装置

Legal Events

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

Ref document number: 19878657

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020553713

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 19878657

Country of ref document: EP

Kind code of ref document: A1