JP2023153238A - デジタルインク生成装置、方法及びプログラム - Google Patents
デジタルインク生成装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2023153238A JP2023153238A JP2023131047A JP2023131047A JP2023153238A JP 2023153238 A JP2023153238 A JP 2023153238A JP 2023131047 A JP2023131047 A JP 2023131047A JP 2023131047 A JP2023131047 A JP 2023131047A JP 2023153238 A JP2023153238 A JP 2023153238A
- Authority
- JP
- Japan
- Prior art keywords
- data
- digital ink
- metadata
- stroke
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000001419 dependent effect Effects 0.000 claims abstract 2
- 238000010586 diagram Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 7
- 241001422033 Thestylus Species 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 101100451400 Mus musculus Hapln3 gene Proteins 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
Abstract
【課題】メタデータの生成時又は生成後におけるデジタルインクの取扱性を高めるデジタルインク生成装置、方法及びプログラムを提供する。【解決手段】デジタルインク生成装置(10)は、第1集合データ(42)及び第2集合データ(44)を用いて、第1集合と第2集合の間の包含関係を判定する。デジタルインク生成装置(10)は、第1集合と第2集合の間に包含関係があると判定された場合、上位集合又は下位集合である第2集合の第2メタデータ(53)に依存するように第1集合の第1メタデータ(56~58)を生成する。【選択図】図9
Description
本発明は、デジタルインクを生成するデジタルインク生成装置、方法及びプログラムに関する。
特許文献1には、入力デバイスを特定するN種類のメタデータと、M個のストロークデータを対応付けてメタデータブロックを作成し、当該ブロックをストロークデータとともにインクファイルに書き込む方法が開示されている。
本発明の目的は、メタデータの生成時又は生成後におけるデジタルインクの取扱性を高めるデジタルインク生成装置、方法及びプログラムを提供することである。
第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つ又は複数のコンピュータに実行させる。
本発明によれば、メタデータの生成時又は生成後におけるデジタルインクの取扱性を高めることができる。
[インクデータ生成装置10の構成]
<全体構成>
図1は、本発明の一実施形態におけるインクデータ生成装置10の全体構成図である。インクデータ生成装置10は、タッチパネルディスプレイ12を備える電子機器であり、例えば、タブレット型端末、スマートフォン、パーソナルコンピュータで構成される。このインクデータ生成装置10は、具体的には、タッチパネルディスプレイ12と、表示駆動IC14と、タッチセンサIC16と、ホストプロセッサ18と、メモリ20と、を含んで構成される。
<全体構成>
図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)のデータ構造形式を用いて記述することで、様々なソフトウェアやプログラミング言語間でのデータのやり取りが容易になる。
図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動作」とは、ユーザによるメタ情報(例えば、データの属性、作成者、作成日時、使用デバイスなど)の付与を支援する動作を意味する。
この実施形態におけるインクデータ生成装置10は、以上のように構成される。まず、インクデータ生成装置10の第1動作について、図4のフローチャート及び図5-図10を参照しながら説明する。この「第1動作」とは、ユーザによるメタ情報(例えば、データの属性、作成者、作成日時、使用デバイスなど)の付与を支援する動作を意味する。
第1動作に先立ち、描画処理部40は、メモリ20から読み出したインクデータ50を解析し、ストロークデータ51に対して所望のラスタライズ処理を行い、コンテンツを示す表示信号を生成する。表示駆動IC14は、ホストプロセッサ18から供給された表示信号に基づいて表示パネル22を駆動する。これにより、表示パネル22上には可視化されたコンテンツが表示される。
<第1動作の説明>
図4のステップS1において、ホストプロセッサ18は、メタ情報を付与しようとするストロークの新規集合(第1集合)の指定操作を受け付けたか否かを確認する。この「指定操作」は、複数のストロークの中から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参照)を用いて、新規集合のセマンティクス属性を推定する。以下、属性の推定方法について、図6及び図7を参照しながら詳細に説明する。
図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と、を備える。
以上のように、このインクデータ生成装置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を逐次更新する「フロー型」のデータ処理を行う。
続いて、インクデータ生成装置10の第2動作について、図11のフローチャート及び図12-図17を参照しながら説明する。この「第2動作」は、第1動作により入力されたメタ情報に基づいてインクデータ50を生成する動作を意味する。ここで、データ生成部38は、メタ情報を付与する度にインクデータ50を逐次更新する「フロー型」のデータ処理を行う。
<第2動作の説明>
図11のステップS7において、第2取得部32は、メタ情報が既に付与されているストロークの集合(以下、既存集合という)に属するストローク要素を示すデータ(以下、既存集合データ44という)を取得する。この既存集合データ44は、新規集合データ42と同様に、ストローク要素を特定可能なデータであり、例えば、ストロークの識別情報であるストロークIDであってもよい。
図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と、を備える。
以上のように、インクデータ生成装置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の表記方法に従って生成する例について説明する。
以下、インク記述言語が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」であるメタ情報が付与される。
図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)を備える。
以上のように、インクデータ生成装置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 (11)
- ストロークの集合毎のメタ情報を記述するメタデータを含むデジタルインクを生成するデジタルインク生成装置であって、
メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得部と、
メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得部と、
前記第1取得部により取得された前記第1集合データ及び前記第2取得部により取得された前記第2集合データを用いて、前記第1集合と前記第2集合の間の包含関係を判定する集合判定部と、
前記集合判定部により前記第1集合と前記第2集合の間に包含関係があると判定された場合、上位集合又は下位集合である前記第2集合の第2メタデータに依存するように前記第1集合の第1メタデータを生成するデータ生成部と、
を備えることを特徴とするデジタルインク生成装置。 - 前記データ生成部は、前記第1集合と前記第2集合の間に包含関係があると判定された場合、前記第2集合の識別コードを参照する態様で前記第1メタデータを生成することを特徴とする請求項1に記載のデジタルインク生成装置。
- 前記データ生成部は、前記第1集合と前記第2集合の間に包含関係がないと判定された場合、予め定められたメタ情報の付与順に従う位置に前記第1メタデータを生成することを特徴とする請求項1に記載のデジタルインク生成装置。
- 前記第1集合を構成する複数のストロークの位置又は形状の相互関係に基づいて、前記第1集合に付与されるべき属性を推定する属性推定部をさらに備えることを特徴とする請求項1に記載のデジタルインク生成装置。
- 前記属性推定部は、ストロークの端点に関する特徴量を入力し、セマンティクス属性のラベル値を出力する識別器を含んで構成されることを特徴とする請求項4に記載のデジタルインク生成装置。
- 複数本のストロークを表示領域内に同時に表示可能であるとともに、ユーザの手書き入力によって前記複数本のストロークの中から前記第1集合に属するストローク要素を選択可能に構成されるUI部をさらに備え、
前記UI部は、前記第1集合に付与するセマンティクス属性を入力可能なユーザコントロールをさらに表示し、
前記データ生成部は、前記ユーザコントロールを用いて入力されたセマンティクス属性を示す前記第1メタデータを生成する
ことを特徴とする請求項5に記載のデジタルインク生成装置。 - 前記UI部は、前記属性推定部により推定されたセマンティック属性を前記ユーザコントロールの初期値として表示することを特徴とする請求項6に記載のデジタルインク生成装置。
- ストロークの集合毎のメタ情報を記述するメタデータを含むデジタルインクを生成するデジタルインク生成装置であって、
ストロークの集合に属するストローク要素を示す集合データを集合毎に取得するデータ取得部と、
前記データ取得部により取得された集合毎の前記集合データに基づいて、複数の集合間の包含関係を示すメタデータを出力するデータ出力部と、
を備えることを特徴とするデジタルインク生成装置。 - 前記データ出力部は、集合の包含関係を示すデータ構造によってセマンティクス属性を記述するメタチャンクを含む前記メタデータを出力することを特徴とする請求項8に記載のデジタルインク生成装置。
- ストロークの集合毎のメタ情報を記述するメタデータを含むデジタルインクを生成するデジタルインク生成方法であって、
メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得ステップと、
メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得ステップと、
それぞれ取得された前記第1集合データ及び前記第2集合データを用いて、前記第1集合と前記第2集合の間の包含関係を判定する判定ステップと、
前記判定ステップで前記第1集合と前記第2集合の間に包含関係があると判定された場合、上位集合又は下位集合である前記第2集合の第2メタデータに依存するように前記第1集合の第1メタデータを生成する生成ステップと、
を1つ又は複数のコンピュータが実行することを特徴とするデジタルインク生成方法。 - ストロークの集合毎のメタ情報を記述するメタデータを含むデジタルインクを生成するためのデジタルインク生成プログラムであって、
メタ情報がまだ付与されていない第1集合に属するストローク要素を示す第1集合データを取得する第1取得ステップと、
メタ情報が既に付与されている第2集合に属するストローク要素を示す第2集合データをストロークの集合毎に取得する第2取得ステップと、
それぞれ取得された前記第1集合データ及び前記第2集合データを用いて、前記第1集合と前記第2集合の間の包含関係を判定する判定ステップと、
前記判定ステップで前記第1集合と前記第2集合の間に包含関係があると判定された場合、上位集合又は下位集合である前記第2集合の第2メタデータに依存するように前記第1集合の第1メタデータを生成する生成ステップと、
を1つ又は複数のコンピュータに実行させることを特徴とするデジタルインク生成プログラム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018207701 | 2018-11-02 | ||
JP2018207701 | 2018-11-02 | ||
JP2020553713A JP6918252B2 (ja) | 2018-11-02 | 2019-10-07 | インクデータ生成装置、方法及びプログラム |
JP2021119352A JP7332657B2 (ja) | 2018-11-02 | 2021-07-20 | デジタルインク生成装置、方法及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021119352A Division JP7332657B2 (ja) | 2018-11-02 | 2021-07-20 | デジタルインク生成装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023153238A true JP2023153238A (ja) | 2023-10-17 |
Family
ID=70462219
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020553713A Active JP6918252B2 (ja) | 2018-11-02 | 2019-10-07 | インクデータ生成装置、方法及びプログラム |
JP2021119352A Active JP7332657B2 (ja) | 2018-11-02 | 2021-07-20 | デジタルインク生成装置、方法及びプログラム |
JP2023131047A Pending JP2023153238A (ja) | 2018-11-02 | 2023-08-10 | デジタルインク生成装置、方法及びプログラム |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020553713A Active JP6918252B2 (ja) | 2018-11-02 | 2019-10-07 | インクデータ生成装置、方法及びプログラム |
JP2021119352A Active JP7332657B2 (ja) | 2018-11-02 | 2021-07-20 | デジタルインク生成装置、方法及びプログラム |
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) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263682A (ja) * | 1995-03-22 | 1996-10-11 | Matsushita Electric Ind Co Ltd | 手書きストローク編集装置 |
US7836390B2 (en) * | 2006-01-26 | 2010-11-16 | Microsoft Corporation | Strategies for processing annotations |
JP5774558B2 (ja) | 2012-08-10 | 2015-09-09 | 株式会社東芝 | 手書き文書処理装置、方法及びプログラム |
JP5787843B2 (ja) * | 2012-08-10 | 2015-09-30 | 株式会社東芝 | 手書き描画装置、方法及びプログラム |
BR112016009938B1 (pt) * | 2013-11-19 | 2022-01-25 | Wacom Co., Ltd | Métodos de geração de dados de tinta e de desenho para renderização de dados de imagem |
EP3279774B1 (en) | 2015-03-31 | 2021-02-24 | Wacom Co., Ltd. | Ink file output method, output device and program |
US10082951B2 (en) | 2016-01-07 | 2018-09-25 | Myscript | System and method for digital ink interactivity |
-
2019
- 2019-10-07 DE DE112019005487.2T patent/DE112019005487T5/de active Pending
- 2019-10-07 WO PCT/JP2019/039463 patent/WO2020090356A1/ja active Application Filing
- 2019-10-07 JP JP2020553713A patent/JP6918252B2/ja active Active
- 2019-10-07 CN CN201980061745.XA patent/CN112740201A/zh active Pending
-
2021
- 2021-03-09 US US17/196,876 patent/US11755195B2/en active Active
- 2021-07-20 JP JP2021119352A patent/JP7332657B2/ja active Active
-
2023
- 2023-07-25 US US18/358,775 patent/US20230367473A1/en active Pending
- 2023-08-10 JP JP2023131047A patent/JP2023153238A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE112019005487T5 (de) | 2021-08-05 |
US20210191613A1 (en) | 2021-06-24 |
JPWO2020090356A1 (ja) | 2021-10-07 |
WO2020090356A1 (ja) | 2020-05-07 |
JP2021184271A (ja) | 2021-12-02 |
US20230367473A1 (en) | 2023-11-16 |
JP7332657B2 (ja) | 2023-08-23 |
CN112740201A (zh) | 2021-04-30 |
US11755195B2 (en) | 2023-09-12 |
JP6918252B2 (ja) | 2021-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360473B2 (en) | User interface creation from screenshots | |
US10437466B2 (en) | Formula inputting method and apparatus | |
CN114641753A (zh) | 使用机器学习从楼层平面图图纸进行合成数据生成和建筑信息模型(bim)要素提取 | |
US20150154442A1 (en) | Handwriting drawing apparatus and method | |
JP2007279828A (ja) | 帳票処理装置、帳票様式作成装置、帳票、帳票処理用のプログラム、帳票様式作成用のプログラム | |
CN108700994A (zh) | 用于数字墨水交互性的系统和方法 | |
US10996843B2 (en) | System and method for selecting graphical objects | |
US10210141B2 (en) | Stylizing text by replacing glyph with alternate glyph | |
CN110663017B (zh) | 多笔画智能墨水手势语言 | |
JP2009151449A (ja) | アンドゥー機能付き電子黒板 | |
JP7332657B2 (ja) | デジタルインク生成装置、方法及びプログラム | |
JPWO2016117564A1 (ja) | プログラム、情報記憶媒体及び認識装置 | |
US11430166B1 (en) | Facilitating generation of number-bullet objects | |
US8015485B2 (en) | Multidimensional web page ruler | |
CA3075627A1 (en) | Integrated document editor | |
US20220156419A1 (en) | Computer aided drawing drafting automation from markups using machine learning | |
WO2022180725A1 (ja) | 文字認識装置、プログラム及び方法 | |
WO2022147780A1 (en) | Automated flow chart generation and visualization system | |
JP2007286822A (ja) | Gui仕様書生成方法およびgui仕様書生成システム | |
Liang et al. | Sketch2Wireframe: an automatic framework for transforming hand-drawn sketches to digital wireframes in UI design | |
JP2014238663A (ja) | 情報処理システムおよびその制御方法、並びにプログラム | |
Lucchese | Sketch Recognition on Mobile Devices | |
Browne | Sketch Practically Anywhere: Capturing, Recognizing, and Interacting with Physical Ink Using Commodity Hardware | |
JP2016110389A (ja) | 検索装置、方法及びプログラム | |
JP2012027561A (ja) | 画像作成装置及びデータ作成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230815 |