JP2015035150A - 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム - Google Patents
手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム Download PDFInfo
- Publication number
- JP2015035150A JP2015035150A JP2013166367A JP2013166367A JP2015035150A JP 2015035150 A JP2015035150 A JP 2015035150A JP 2013166367 A JP2013166367 A JP 2013166367A JP 2013166367 A JP2013166367 A JP 2013166367A JP 2015035150 A JP2015035150 A JP 2015035150A
- Authority
- JP
- Japan
- Prior art keywords
- data
- axis
- ruled line
- sets
- stroke data
- 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
Images
Classifications
-
- 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/40—Document-oriented image-based pattern recognition
-
- 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/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- 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
-
- 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/32—Digital ink
- G06V30/36—Matching; Classification
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Processing Or Creating Images (AREA)
- Document Processing Apparatus (AREA)
- Editing Of Facsimile Originals (AREA)
- Computer Hardware Design (AREA)
- Character Discrimination (AREA)
- Image Processing (AREA)
Abstract
【課題】より自由に手書きされた表を整形できる手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムを提供する。【解決手段】実施形態によれば、入出力部と、処理部と、を含む手書き文書処理装置が提供される。入出力部は、手書き文書の複数セットのストロークデータを取得する。複数セットのストロークデータは、第1ストロークデータを含む第1部分と、第2ストロークデータを含む第2部分と、第3ストロークデータを含む第3部分と、を含む。処理部は、入出力部が取得した複数セットのストロークデータに基づいて、第1部分に対応する第1罫線と、第2部分に対応する第1セル内データと、第3部分に対応する第2セル内データと、第1セル内データと第2セル内データとの間に設けられた第2罫線と、を含む第1表データを導出して、第1表データを入出力部に供給する第1処理動作が可能である。【選択図】図1
Description
本発明の実施形態は、手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムに関する。
例えば、ペン入力インタフェースなどを用いて、表を含む情報が電子的に手書きされる。手書きされた表を適切に処理して、表の整形が行われる。より自由に手書きされた表を整形できることが望まれる。
本発明の実施形態は、より自由に手書きされた表を整形できる手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムを提供する。
本発明の実施形態によれば、入出力部と、処理部と、を含む手書き文書処理装置が提供される。前記入出力部は、手書き文書の複数セットのストロークデータを取得する。前記複数セットのストロークデータは、第1ストロークデータを含む第1部分と、第2ストロークデータを含む第2部分と、第3ストロークデータを含む第3部分と、を含む。前記処理部は、第1処理動作の実施が可能である。第1処理動作は、前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第1部分に対応する第1罫線と、前記第2部分に対応する第1セル内データと、前記第3部分に対応する第2セル内データと、前記第1セル内データと前記第2セル内データとの間に設けられた第2罫線と、を含む第1表データを導出して、前記第1表データを前記入出力部に供給する。
以下に、本発明の各実施の形態について図面を参照しつつ説明する。
なお、図面は模式的または概念的なものであり、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
なお、図面は模式的または概念的なものであり、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
(第1の実施形態)
図1は、第1の実施形態に係る手書き文書処理装置を例示する模式図である。
図1に表したように、本実施形態に係る手書き文書処理装置110は、入出力部10と、処理部20と、を含む。
図1は、第1の実施形態に係る手書き文書処理装置を例示する模式図である。
図1に表したように、本実施形態に係る手書き文書処理装置110は、入出力部10と、処理部20と、を含む。
処理部20には、例えば、演算装置などの半導体装置が用いられる。処理部20には、例えば、コンピュータが用いられる。入出力部10には、例えば、半導体装置の端子などを用いても良い。入出力部10には、コンピュータの端子(インターフェースを含む)を用いても良い。
入出力部10は、データを取得する。入出力部10によるデータの取得は、有線または無線の任意の方式が用いられる。取得されるデータは、例えば、手書き文書の複数セットのストロークデータ80を含む。ストロークデータ80の例については、後述する。
処理部20は、入出力部10が取得した複数セットのストロークデータ80に基づいて、処理を行う。処理部20は、処理の結果(データ)を入出力部10に供給する。
手書き文書処理装置110には、表示部70が接続可能である。例えば、入出力部10に表示部70が接続される。表示部70には、例えば、液晶表示装置、有機EL表示装置、または、投射型表示装置などが用いられる。表示部70には、プリンタを用いても良い。実施形態において、印刷も表示に含める。実施形態において、表示部70は任意である。表示部70は、表示領域71を有する。表示部70としてプリンタを用いる場合は、表示領域71は、印刷可能な領域に対応する。表示領域71は、例えば、辺71sを有する。
ストロークデータ80は、表示部70に表示可能である。処理部20の処理の結果(データ)は、表示部70に表示可能である。以下、ストロークデータ80及び処理の結果(データ)について、表示部70に表示させたときの状態の例として説明する。
図2は、第1の実施形態に係る手書き文書処理装置におけるストロークデータを例示する模式図である。
図2に表したように、複数セットのストロークデータ80は、例えば、表状の情報を含む。使用者が、例えば、入力用のタブレットに、手書きで表を入力する。入力には、例えばペンまたは指などが用いられる。
図2に表したように、複数セットのストロークデータ80は、例えば、表状の情報を含む。使用者が、例えば、入力用のタブレットに、手書きで表を入力する。入力には、例えばペンまたは指などが用いられる。
複数セットのストロークデータ80は、例えば、罫線入力データ85を含む。この例では、罫線入力データ85は、横罫線入力データ85aと、縦罫線入力データ85bと、を含む。複数セットのストロークデータ80は、非罫線入力データ86をさらに含む。この例では、複数セットの非罫線入力データ86が設けられる。罫線入力データ85は、線状である。罫線入力データ85は、表の罫線の少なくとも一部に対応する。非罫線入力データ86は、表のセル内のデータに対応する。
例えば、非罫線入力データ86は、文字情報及び図形情報の少なくともいずれかを含む。この例では、「AAA1」、「BBB1」、「CCC1」、「aaa11」、「bbb11」及び「DDD1」の文字情報が設けられている。さらに、「○」、及び、「△」の図形情報が設けられている。
複数セットのストロークデータ80は、例えば、第1部分81uと、第2部分82u、と、第3部分83uと、を含む。
第1部分81uは、罫線入力データ85(この例では、横罫線入力データ85a)の少なくとも一部に対応する。第1部分81uは、第1ストロークデータ81を含む。第1ストロークデータ81は、線状である。
第2部分82uは、非罫線入力データ86の少なくとも一部に対応する。第2部分82uは、第2ストロークデータ82を含む。第2ストロークデータ82は、例えば、文字情報の少なくとも一部及び図形情報の少なくとも一部を含む。
第3部分83uは、非罫線入力データ86の少なくとも一部に対応する。第3部分83uは、第3ストロークデータ83を含む。第3ストロークデータ83は、例えば、文字情報の少なくとも一部及び図形情報の少なくとも一部を含む。
このような手書き文書の複数セットのストロークデータ80が、入出力部10に供給される。
複数セットのストロークデータ80は、例えば、複数セットの時系列データを含む。例えば、複数セットの時系列データのそれぞれは、手書きの複数のストロークのそれぞれに対応する。それぞれのストロークは、複数の座標を有する。
1つのセットのストロークデータは、例えば、(x(1,1),y(1,1)), (x(1,2),y(1,2)),…, (x(1,N(1)),y(1,N(1)))のデータを含む。別のセットのストロークデータは、(x(2,1),y(2,1)), (x(2,2),y(2,2)),…, (x(2,N(2)),y(2,N(2)))のデータを含む。ここで、N(i)は、i番目のストロークの、サンプリング時の点の数である。ストロークデータは、手書き入力の筆跡データに対応する。ストロークデータの、データ構造の例については、後述する。
処理部20は、入出力部10が取得した複数セットのストロークデータ80に基づいて、処理動作を実施する。例として、第1処理動作について説明する。
図3は、第1の実施形態に係る手書き文書処理装置における処理結果を例示する模式図である。
図3は、処理部20により処理されて導出された表データ(第1表データ40a)を例示している。
図3に表したように、例えば、第1表データ40aは、罫線出力データ45を含む。この例では、罫線出力データ45は、例えば、横罫線出力データ45aと、縦罫線出力データ45bと、を含む。第1表データ40aは、非罫線出力データ46をさらに含む。この例では、複数セットの非罫線出力データ46が設けられる。罫線出力データ45は、線状である。罫線出力データ45は、第1表データ40aの罫線の少なくとも一部に対応する。非罫線出力データ46は、第1表データ40aのセル内のデータに対応する。罫線出力データ45の少なくとも一部は、罫線入力データ85の少なくとも一部に対応する。非罫線出力データ46の少なくとも一部は、非罫線入力データ86の少なくとも一部に対応する。
図3は、処理部20により処理されて導出された表データ(第1表データ40a)を例示している。
図3に表したように、例えば、第1表データ40aは、罫線出力データ45を含む。この例では、罫線出力データ45は、例えば、横罫線出力データ45aと、縦罫線出力データ45bと、を含む。第1表データ40aは、非罫線出力データ46をさらに含む。この例では、複数セットの非罫線出力データ46が設けられる。罫線出力データ45は、線状である。罫線出力データ45は、第1表データ40aの罫線の少なくとも一部に対応する。非罫線出力データ46は、第1表データ40aのセル内のデータに対応する。罫線出力データ45の少なくとも一部は、罫線入力データ85の少なくとも一部に対応する。非罫線出力データ46の少なくとも一部は、非罫線入力データ86の少なくとも一部に対応する。
例えば、非罫線出力データ46は、第1セル内データ41cと、第2セル内データ42cと、を含む。第1セル内データ41cは、複数セットのストロークデータ80のうちの第2部分82uに対応する。第2セル内データ42cは、複数セットのストロークデータ80のうちの第3部分83uに対応する。この例では、第1セル内データ41cと、第2セル内データ42cと、は、表の横方向に並ぶ。
例えば、罫線出力データ45は、第1罫線41rと、第2罫線42rと、を含む。第1罫線41rは、複数セットのストロークデータ80のうちの第1部分81uに対応する。第2罫線42rは、第1セル内データ41cと、第2セル内データ42cと、との間に設けられる。この例では、第1罫線41rは、表の横罫線のいずれかに対応する。第2罫線42rは、表の縦罫線のいずれかに対応する。例えば、第1罫線41rは、第1部分81uの延在方向に対して、実質的に平行である。
実施形態において、第1セル内データ41cと、第2セル内データ42cと、は、表の縦方向に並んでも良い。この場合、第2罫線42rは、表の横罫線のいずれかに対応する。
このように、処理部20で実施される第1処理動作においては、処理部20は、入出力部10が取得した複数セットのストロークデータ80に基づいて、第1部分81uに対応する第1罫線41rと、第2部分82uに対応する第1セル内データ41cと、第3部分83uに対応する第2セル内データ42cと、第2罫線42rと、を含む第1表データ40aを導出して、第1表データ40aを入出力部10に供給する。第2罫線42rは、第1セル内データ41cと第2セル内データ42cとの間に設けられる。
手書き入力された第1部分81uは、線状であり、必ずしも直線ではない。これに対して、この例では、第1部分81uに対応する第1罫線41rは、直線状である。
この例では、第1セル内データ41cは、手書き入力された複数セットのストロークデータ80のうちの第2部分82uのストロークデータである。第2セル内データ42cは、手書き入力された複数セットのストロークデータ80のうちの第3部分83uのストロークデータである。実施形態において、セル内データ(非罫線出力データ46)は、ストロークデータを変換したデータでも良い。
図4は、第1の実施形態に係る手書き文書処理装置における別の処理結果を例示する模式図である。
図4に表したように、この例では、非罫線出力データ46は、非罫線入力データ86に基づいて導出された(作成された)データである。非罫線出力データ46は、例えば、非罫線入力データ86を変換して得られる。非罫線入力データ86が例えばパターン認識され、パターン認識されたデータに基づいて、非罫線出力データ46が得られる。非罫線出力データ46は、例えば、文字のフォントなどの情報を含む。
図4に表したように、この例では、非罫線出力データ46は、非罫線入力データ86に基づいて導出された(作成された)データである。非罫線出力データ46は、例えば、非罫線入力データ86を変換して得られる。非罫線入力データ86が例えばパターン認識され、パターン認識されたデータに基づいて、非罫線出力データ46が得られる。非罫線出力データ46は、例えば、文字のフォントなどの情報を含む。
例えば、第1セル内データ41cは、第2部分82uのストロークデータに基づいて導出された(作成された)データである。第2セル内データ42cは、第2部分82uのストロークデータに基づいて導出された(作成された)データである。
このように、セル内データ(非罫線出力データ46)は、ストロークデータを変換したデータを含んでも良い。
このように、セル内データ(非罫線出力データ46)は、ストロークデータを変換したデータを含んでも良い。
第1処理動作に含まれる処理の例について説明する。
図5は、第1の実施形態に係る手書き文書処理装置における動作を例示するフローチャート図である。
図5に表したように、第1処理動作は、例えば、軸推定処理(ステップS110)と、交点推定処理(ステップS120)と、分類処理(ステップS130)と、を含む。
図5は、第1の実施形態に係る手書き文書処理装置における動作を例示するフローチャート図である。
図5に表したように、第1処理動作は、例えば、軸推定処理(ステップS110)と、交点推定処理(ステップS120)と、分類処理(ステップS130)と、を含む。
図6(a)及び図6(b)は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
これらの図は、軸推定処理を例示している。
これらの図は、軸推定処理を例示している。
図6(a)に表したように、軸推定処理においては、第1軸51と、第2軸52と、が推定される。第2軸52は、第1軸51に対して垂直である。例えば、第2軸52は、第1軸と直交する。第1軸51及び第2軸52は、手書き入力された面内に設けられる。例えば、ストロークデータ80を表示部70に表示したときに、第1軸51及び第2軸52は、表示部70の表示領域71の面内に設けられる。
例えば、第1軸51は、表の主軸であり、第2軸52は、表の副軸である。第1軸51が、表の副軸であり、第2軸52が、表の主軸でも良い。
表においては、縦の罫線と、横の罫線と、が直交して書かれる。主軸は、縦罫線の方向及び横罫線の方向の一方に沿って延在する。副軸は、縦罫線の方向及び横罫線の方向の他方に沿って延在する。
例えば、罫線に対応するストロークデータ(罫線入力データ85であり、この例では、横罫線入力データ85a)は、第2軸52に対して垂直な成分を有する。この垂直な成分を第2軸52に射影したときに、第2軸52上の特定の座標上に、この成分が集中する。すなわち、第2軸52上に、射影成分のピーク52pが生じる。
例えば、罫線に対応するストロークデータ(罫線入力データ85であり、この例では、縦罫線入力データ85b)は、第1軸51に対して垂直な成分を有する。この垂直な成分を第1軸51に射影したときに、第1軸51上の特定の座標上に、この成分が集中する。すなわち、第1軸51上に、射影成分のピーク51pが生じる。
一方、縦罫線または横罫線に対して傾斜する傾斜軸に、罫線に対応するストロークデータの成分を射影すると、幅広い座標に射影成分が射影される。このため、射影成分のピークは明確でない。例えば、滑らかな山と谷とが生じる。この点に着目して、ストロークデータの、軸への射影成分のピークを判断基準として、表の軸の方向を推定することができる。
例えば、軸推定処理において、主軸の候補となる軸を、0度〜180度の範囲で回転させて、射影成分を求める。例えば、所定の角度の間隔で、主軸の候補となる軸が回転される。主軸の候補となる軸の回転に連動して、副軸の候補となる軸も回転される。
図6(b)に表したように、軸推定処理においては、第1候補軸51oと、第2候補軸52oと、が設定される。第2候補軸52oは、第1候補軸51oに対して垂直である。この例では、第1候補軸51o及び第2候補軸52oのそれぞれは、表の軸に対して傾斜している。
第1候補軸51oへの複数セットのストロークデータ80の射影成分の累積51hにおいて、明確なピークが生じない。同様に、第2候補軸52oへの複数セットのストロークデータ80の射影成分の累積52hにおいても、明確なピークが生じない。これは、罫線入力データ85(横罫線入力データ85a及び縦罫線入力データ85b)のそれぞれの延在方向に対して、第1候補軸51oの延在方向が傾斜しており、第2候補軸52oの延在方向も傾斜しているためである。すなわち、罫線入力データ85と非罫線入力データ86の平均的なデータが、第1候補軸51oに射影され、第2候補軸52oに射影される。これにより、明確なピークが生じない。
これに対して、図6(a)に表したように、第1候補軸51o及び第2候補軸52oのそれぞれが、表の軸のそれぞれに沿っている場合は、明確なピーク51p及び明確なピーク52pが生じる。
このように、所定の方向に延在する第1候補軸51o及び第2候補軸52oにおいて、それらの軸に、ストロークデータ80を射影した成分を累積したヒストグラム(累積51h及び累積52h)に、ピーク51p及びピーク52pが形成される。このピーク51p及びピーク52pは、表の罫線入力データ85のそれぞれに対応する。
図6(a)に例示したように、非罫線入力データ86の射影成分の累積51h及び累積52hは、ピーク51p及びピーク52pの値よりも小さい。
このように、所定の方向に延在する第1候補軸51o及び第2候補軸52oを設定し、その時のピークの高さを算出する。そして、候補軸の延在する方向の角度を変化させて、それぞれの角度のときのピークの高さを求める。そして、ピークの高さが高くなる角度の候補軸が、第1軸51及び第2軸52とされる。
例えば、第1部分82uに含まれる第1ストロークデータ81が所定の方向(この例では横方向)に延在している。このとき、縦方向に延在する第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのピーク値(ピーク52pの高さ)は、第2軸52に対して傾斜する傾斜軸(例えば第2候補軸52o)への、複数セットのストロークデータ80の射影成分の累積52hのピーク値よりも高い。
例えば、他のストロークデータ(例えば縦罫線入力データ85b)が、所定の方向(この例では縦方向)に延在している。このとき、横方向に延在する第1軸51への、複数セットのストロークデータ80の射影成分の累積51hのピーク値(ピーク51pの高さ)は、第1軸51に対して傾斜する傾斜軸(例えば第1候補軸51o)への、複数セットのストロークデータ80の射影成分の累積51hのピーク値よりも高い。
さらに、第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのピーク値(ピーク52pの高さ)は、第2軸52に対して傾斜する第1候補軸51o(傾斜軸)への、複数セットのストロークデータ80の射影成分の累積51hのピーク値よりも高くても良い。
同様に、第1軸51への、複数セットのストロークデータ80の射影成分の累積51hのピーク値(ピーク51pの高さ)は、第1軸51に対して傾斜する第2候補軸52o(傾斜軸に対して垂直な軸)への、複数セットのストロークデータ80の射影成分の累積52hのピーク値よりも高くても良い。
例えば、第1候補軸51o及び第2候補軸52oにおける、複数セットのストロークデータ80の射影成分の累積(ヒストグラム)から、エントロピーを算出する。エントロピーとは、乱雑さの尺度を表す。エントロピーの値が大きいほど、偏りが大きいことを示す。ヒストグラムに当てはめると、射影成分の局所的なピークが存在するほど、エントロピーの値が大きくなる。エントロピーが最も大きくなる軸候補を、第1軸51及び第2軸52の組み合わせとして選択しても良い。
すなわち、軸推定処理は、例えば、第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのエントロピーが最小となるように、第2軸52を推定することを含んでも良い。例えば、互いに延在方向が異なる複数の候補軸のうちで、累積52hのエントロピーが最小となるように、第2軸52が推定される。
軸推定処理は、例えば、第1軸51への、複数セットのストロークデータ80の射影成分の累積51hのエントロピーが最小となるように、第1軸51を推定することを含んでも良い。例えば、互いに延在方向が異なる複数の候補軸のうちで、累積51hのエントロピーが最小となるように、第1軸51が推定される。
例えば、予め定められた値以上のエントロピーが得られる範囲の、軸候補の角度の中心の角度に対応する軸方向を、第1軸51及び第2軸52の組み合わせとして選択しても良い。
すなわち、第1軸51または第2軸52における、ヒストグラムの偏りは、傾斜軸におけるヒストグラムの偏りも大きい。第1軸51または第2軸52における主軸らしさは、傾斜軸における主軸らしさよりも、高い。
図7は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図7は、交点推定処理を例示している。図7においては、図を見易くするために、ストロークデータ80のうちの罫線入力データ85が示され、非罫線入力データ86は、省略されている。
図7は、交点推定処理を例示している。図7においては、図を見易くするために、ストロークデータ80のうちの罫線入力データ85が示され、非罫線入力データ86は、省略されている。
図7に表したように、交点推定処理においては、例えば、第1軸51と罫線入力データ85との交点の位置、及び、第2軸52と罫線入力データ85との交点の位置と、が推定される。例えば、第1軸51と縦罫線入力データ85bとの交点85bcの位置、及び、第2軸52と横罫線入力データ85aとの交点85acの位置と、が推定される。
罫線入力データ85に対応するストロークデータの射影成分は、軸の特定の座標に集中する。このため、射影成分のヒストグラムのピークに着目して、交点が推定できる。
例えば、複数セットのストロークデータ80の第1軸51への射影成分を累積したヒストグラム(累積51h)に対して、第1しきい値51thが設けられる。ヒストグラム(累積51h)のピーク51pの値(高さ)が、第1しきい値51th以上である位置が求められる。この位置に基づいて、交点85bcの位置(座標)が決まる。
例えば、複数セットのストロークデータ80の第2軸52への射影成分を累積したヒストグラム(累積52h)に対して、第2しきい値52thが設けられる。ヒストグラム(累積52h)のピーク52pの値(高さ)が、第2しきい値52th以上である位置が求められる。この位置に基づいて、交点85acの位置(座標)が決まる。
例えば、座標の集合が求められる。この座標の集合においては、ヒストグラムの値が、上記のしきい値を、連続して超える。例えば、このような座標の集合において、ヒストグラムの最大となる座標が、交点の位置とされる。
交点推定処理においては、例えば、第1軸51への、複数セットのストロークデータ80の射影成分の累積51hのピーク51pの位置と、第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのピーク52pの位置と、に基づいて、交点(交点85ac及び交点85bcの少なくともいずれか)が推定される。交点85ac及び交点85bcの少なくともいずれかは、第1表データ40aの第1罫線41rと、第1軸51及び第2軸52の少なくともいずれかと、の交点となる。
すなわち、交点推定処理においては、第1軸51への、複数セットのストロークデータ80の射影成分の累積51hと、第2軸52への、複数セットのストロークデータ80の射影成分の累積52hと、に基づいて、交点85ac及び交点85bcの少なくともいずれかが推定される。
図8は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図8は、分類処理を例示している。
分類処理においては、複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
図8は、分類処理を例示している。
分類処理においては、複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
例えば、ストロークデータ80のそれぞれが第1軸51及び第2軸52のそれぞれに射影される。図8においては、例として、第1ストロークデータ81の第2軸52への射影成分のヒストグラム(累積81h)が図示されている。ヒストグラム(累積81h)にピーク81pが生じている。この射影されたヒストグラムのピーク81pの第2軸52上の位置と、交点85acの第2軸52上の位置と、の距離が短いときに、そのストローク(第1ストロークデータ81)が、罫線に対応すると判断される。この罫線は、第2軸52に対して垂直な方向に沿って延在する。
例えば、このピーク81pが急峻である場合に、そのストローク(第1ストロークデータ81)が、罫線に対応すると判断される。例えば、ピーク81pは、半値幅を有する。ピークに関して、しきい値が予め定められる。例えば、得られたピーク81pの半値幅が、しきい値以下のときに、ピーク81pが急峻であると判定される。
例えば、射影されたヒストグラムの第2軸52上の位置と、交点の第2軸52上の位置と、の間の距離に関して、しきい値が定められる。例えば、1つのセットのストロークデータ80に含まれる要素の第2軸52への射影成分の第2軸52上のそれぞれの位置と、交点85acの第2軸52上の位置と、の間のそれぞれの距離が求められる。1つのセットのストロークデータ80について求められたこれらの距離の全てが、しきい値以下のときに、この1つのセットのストロークデータ80が罫線に対応する、と判定される。
例えば、第2軸52に関して、複数の交点(複数の交点85ac)が得られる場合、上記の距離に関するしきい値は、この複数の交点85acどうしの距離の最小値に基づいて定めても良い。例えば、しきい値は、複数の交点85acどうしの距離の最小値の0.05倍以上0.2倍以下である。例えば、しきい値は、複数の交点85acどうしの距離の最小値の0.1倍である。
同様に、この射影されたヒストグラムのピークの第1軸51上の位置と、交点85bcの第1軸51上の位置と、の距離が短いときに、そのストロークが、罫線に対応すると判断される。例えば、第1軸51について、射影成分と交点85bcとの間の距離についてしきい値を定めても良い。そして、1つのセットのストロークデータ80について求められたこれらの距離の全てが、しきい値以下のときに、この1つのセットのストロークデータ80が罫線に対応する、と判定される。この罫線は、第1軸51に対して垂直な方向に沿って延在する。
例えば、第1軸51に関して複数の交点(複数の交点85bc)が得られる場合、上記の距離に関するしきい値は、この複数の交点85bcどうしの距離の最小値を基づいて定めても良い。例えば、しきい値は、複数の交点85bcどうしの距離の最小値の0.05倍以上0.2倍以下である。例えば、しきい値は、複数の交点85bcどうしの距離の最小値の0.1倍である。
そして、複数セットのストロークデータ80のうちで、罫線に対応すると判定されたストロークデータを除くストロークデータが、非罫線(すなわち、セル内データ)に対応する、と判定される。
例えば、複数セットのストロークデータ80が、第1部分81uと、第2部分82uと、第3部分83uと、を含む場合、第1部分81uと、上記の交点と、の間の距離は、第2部分82uと、その交点と、の間の距離よりも短い。そして、第1部分81uと、その交点と、の間の距離よりも短い。距離が短い状態は、距離が零である状態を含む。
図9(a)及び図9(b)は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図9(a)は、分類処理によって、罫線に対応すると判定されたストロークデータ(罫線入力データ85)を例示している。図9(b)は、分類処理によって、非罫線に対応すると判定されたストロークデータ(非罫線入力データ86)を例示している。分類処理により、入出力部10が取得した複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
図9(a)は、分類処理によって、罫線に対応すると判定されたストロークデータ(罫線入力データ85)を例示している。図9(b)は、分類処理によって、非罫線に対応すると判定されたストロークデータ(非罫線入力データ86)を例示している。分類処理により、入出力部10が取得した複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
分類された、罫線入力データ85と、非罫線入力データ86と、に基づいて、罫線入力データ85の位置に、罫線出力データ45が設けられ、非罫線入力データ86の位置に、非罫線出力データ46が設けられる。すなわち、第1表データ40aが得られる。
このような処理が処理部20で行われ、処理した結果(第1表データ40a)が、入出力部10に供給される。第1表データ40aを表示部70に表示することで、図3及び図4に例示した表示状態が得られる。すなわち、第1部分81uに対応する第1罫線41rと、第2部分82uに対応する第1セル内データ41cと、第3部分83uに対応する第2セル内データ42cと、第1セル内データ41cと第2セル内データ42cとの間に設けられた第2罫線42rと、が表示可能である。
図10は、第1の実施形態に係る手書き文書処理装置における別のストロークデータを例示する模式図である。
図10に表したように、この例における複数セットのストロークデータ80aでは、罫線入力データ85の一部(第1部分81u)が、破線(または点線)である。すなわち、手書き入力において、罫線が、複数の線分により描かれる。
図10に表したように、この例における複数セットのストロークデータ80aでは、罫線入力データ85の一部(第1部分81u)が、破線(または点線)である。すなわち、手書き入力において、罫線が、複数の線分により描かれる。
例えば、第1部分81uは、第1方向に沿って延在している。この例では、第1方向は、X軸方向(例えば横方向)である。そして、第1部分81uは、複数セットの第1ストロークデータ81を含む。この複数セットの第1ストロークデータ81は、第1方向に沿って並ぶ。複数セットの第1ストロークデータ81は、第1方向に沿って互いに離間している。すなわち、第1部分81uは、第1方向に沿って延在する破線である。
この例では、複数セットの第1ストロークデータ81のそれぞれが線状である。このとき、複数セットの第1ストロークデータ81のそれぞれが、第1方向に沿って延在していても良い。
例えば、複数セットの第1ストロークデータ81のそれぞれが点状でも良い。このとき、点状の、複数セットの第1ストロークデータ81が、第1方向に沿って並ぶ。実施形態においては、このような種々の形状の第1部分81uを用いることができる。
この例では、破線状の第1部分81uは、第1方向(X軸方向)に沿って延在している。すなわち、破線状の第1部分81uは、横罫線入力データ85aのうちの1つである。
図10に例示したように、縦罫線入力データ85bの少なくともいずれかが、破線状でも良い。
この例では、複数セットの第1ストロークデータ81どうしの間隔は、比較的短い。これにより、複数セットの第1ストロークデータ81を含む第1部分81uは、破線状の罫線と認識される。例えば、複数セットの第1ストロークデータ81どうしの間隔L1は、第2部分82uの第1方向に沿った長さL2よりも短い。複数セットの第1ストロークデータ81どうしの間隔L1は、第3部分83uの第1方向に沿った長さL3よりも短い。
図10に例示した、複数セットのストロークデータ80aにおいて、上記以外については、図2に関して説明した複数セットのストロークデータ80と同様である。
このような複数セットのストロークデータ80aが、入出力部10で取得されたときにも、処理部20は、図3及び図4に例示した第1表データ40aを導出することができる。
このとき、図3及び図4に例示したように、第1罫線41rは、第1部分81uが延在する第1方向に沿って延在する。すなわち、第1罫線41rは、破線状の第1部分81uに対して、実質的に平行である。
このような複数セットのストロークデータ80aが用いられる場合の、処理部20の処理の例について説明する。
例えば、この場合も、処理部20において、軸推定処理(ステップS110)と、交点推定処理(ステップS120)と、分類処理(ステップS130)と、を含む第1処理動作が行われる。
図11は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図11は、軸推定処理を例示している。図11に表したように、軸推定処理において、第1軸51と、第2軸52と、が推定される。第2軸52は、第1軸51に対して垂直である。
図11は、軸推定処理を例示している。図11に表したように、軸推定処理において、第1軸51と、第2軸52と、が推定される。第2軸52は、第1軸51に対して垂直である。
この場合も、罫線に対応するストロークデータ(罫線入力データ85であり、この例では、横罫線入力データ85a)は、第2軸52に対して垂直な成分を有する。第2軸52上に、射影成分のピーク52pが生じる。
例えば、罫線に対応するストロークデータ(罫線入力データ85であり、この例では、縦罫線入力データ85b)は、第1軸51に対して垂直な成分を有する。第1軸51上に、射影成分のピーク51pが生じる。連続したストロークデータの罫線データに対応するピーク51pは、比較的高い。破線状のストロークデータの罫線データに対応するピーク51pは、比較的低い。
この場合も、非罫線入力データ86の射影成分の累積51h及び累積52hは、ピーク51p及びピーク52pの値よりも小さい。
このときも、主軸及び副軸の候補となる軸を、0度〜180度の範囲で回転させて、射影成分を求める。
例えば、第1部分82uに含まれる第1ストロークデータ81が、横方向に延在しているとき、縦方向に延在する第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのピーク52pの高さは、傾斜軸(例えば第2候補軸52o)への、複数セットのストロークデータ80の射影成分の累積52hのピーク値よりも高い。
例えば、縦罫線入力データ85bが、縦方向に延在している。このとき、横方向に延在する第1軸51への、複数セットのストロークデータ80の射影成分の累積51hのピーク51pの高さは、傾斜軸(例えば第1候補軸51o)への、複数セットのストロークデータ80の射影成分の累積51hのピーク値よりも高い。
この場合も、軸推定処理において、例えば、第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのエントロピーが最小となるように、第2軸52を推定しても良い。
図12は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図12は、交点推定処理を例示している。図12においては、図を見易くするために、ストロークデータ80のうちの罫線入力データ85が示され、非罫線入力データ86は、省略されている。
図12は、交点推定処理を例示している。図12においては、図を見易くするために、ストロークデータ80のうちの罫線入力データ85が示され、非罫線入力データ86は、省略されている。
図12に表したように、この場合も、交点推定処理においては、例えば、第1軸51と縦罫線入力データ85bとの交点85bcの位置、及び、第2軸52と横罫線入力データ85aとの交点85acの位置と、が推定される。
この場合も、第1しきい値51th、及び、第2しきい値52thが設けられる。既に説明したように、破線状のストロークデータの罫線データに対応するピーク51pは、連続したストロークデータの罫線データに対応するピーク51pよりも低い。しきい値を用いることで、破線状の罫線入力データ85の交点を求めることが容易になる。
例えば、座標の集合が求められる。この座標の集合においては、ヒストグラムの値が、上記のしきい値を、連続して超える。例えば、このような座標の集合において、ヒストグラムの最大となる座標を、交点の位置とする。
図13は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図13は、分類処理を例示している。分類処理においては、複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
図13は、分類処理を例示している。分類処理においては、複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
例えば、ストロークデータ80のそれぞれが第1軸51及び第2軸52のそれぞれに射影される。例えば、第1ストロークデータ81の第2軸52への射影成分のヒストグラム(累積81h)、ピーク81pが生じている。
射影されたヒストグラムのピーク81pの第2軸52上の位置と、交点85acの第2軸52上の位置と、の距離が短いときに、そのストローク(第1ストロークデータ81)が、罫線に対応すると判断される。この罫線は、第2軸52に対して垂直な方向に沿って延在する。この場合も、例えば、このピーク81pが急峻である場合に、そのストローク(第1ストロークデータ81)が、罫線に対応すると判断される。
そして、複数セットのストロークデータ80のうちで、罫線に対応すると判定されたストロークデータを除くストロークデータが、非罫線(すなわち、セル内データ)に対応する、と判定される。
図14(a)及び図14(b)は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図14(a)は、分類処理によって、罫線に対応すると判定されたストロークデータ(罫線入力データ85)を例示している。図14(b)は、分類処理によって、非罫線に対応すると判定されたストロークデータ(非罫線入力データ86)を例示している。分類処理により、入出力部10が取得した複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
図14(a)は、分類処理によって、罫線に対応すると判定されたストロークデータ(罫線入力データ85)を例示している。図14(b)は、分類処理によって、非罫線に対応すると判定されたストロークデータ(非罫線入力データ86)を例示している。分類処理により、入出力部10が取得した複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
罫線入力データ85の第1部分81uが、破線状であり、複数セットの第1ストロークデータ81を含む場合も、その第1部分81uは、罫線であると正しく判断される。
分類された、罫線入力データ85と、非罫線入力データ86と、に基づいて、罫線入力データ85の位置に、罫線出力データ45が設けられ、非罫線入力データ86の位置に、非罫線出力データ46が設けられる。すなわち、第1表データ40aが得られる。
このように、実施形態に係る手書き文書処理装置110によれば、ストロークデータの軸への射影成分に基づいて、表の構造が推定される。これにより、破線状の罫線が入力される場合においても、表を整形することができる。より自由に手書きされた表を整形できることができる。実施形態によれば、ロバストに表の整形が実施できる。
例えば、手書きされた罫線データを画像情報として処理する参考例がある。この参考例においては、例えば、手書きされた罫線データの画像情報が、軸に射影され、作成されたヒストグラムのピークの位置から、罫線が推定される。この場合、手書きされた罫線データが破線状である場合に、誤りが生じ易い。例えば、罫線データが非罫線データと判断される。すなわち、破線状の罫線データが、「−」(バー)の文字情報または図形情報と、誤って判断されることがある。例えば、手書きされた表が、破線状の罫線データと、「−」のセル内データと、を含む場合、この誤りを防止することは困難である。
これに対して、本実施形態においては、手書き文書が、複数セットのストロークデータ80に基づいて処理される。ストロークデータ80のそれぞれは、手書きの際の方向に関する情報を有している。方向に関する情報を含むストロークデータ80を軸へ射影した累積を用いることで、このような誤りが抑制される。
方向に関する情報を保有していれば、破線上の罫線データのように、連続するストロークが同一方向に沿う場合を捉えて、上記の誤りを抑制することが可能となる。
本実施形態に係る手書き文書処理装置110においては、手書き文書の表において、罫線が省略された場合にも、罫線を推定することができる。実施形態によれば、より自由に手書きされた表を整形できる手書き文書処理装置が提供できる。
図15は、第1の実施形態に係る手書き文書処理装置における別のストロークデータを例示する模式図である。
図15に表したように、この例における複数セットのストロークデータ80bでは、罫線に対応するストロークデータが省略されている。例えば、図2に例示したストロークデータ80における一番上の横罫線が、図15に例示したストロークデータ80bにおいては、省略されている。さらに、図2に例示したストロークデータ80における、2つの縦罫線が、図15に例示したストロークデータ80bにおいては、省略されている。
図15に表したように、この例における複数セットのストロークデータ80bでは、罫線に対応するストロークデータが省略されている。例えば、図2に例示したストロークデータ80における一番上の横罫線が、図15に例示したストロークデータ80bにおいては、省略されている。さらに、図2に例示したストロークデータ80における、2つの縦罫線が、図15に例示したストロークデータ80bにおいては、省略されている。
例えば、第2部分82uと、第3部分83uと、は、第2部分82uから第3部分83uに向かう方向において、隣り合う。複数セットのストロークデータ80は、第2部分82uと第3部分83uとの間に配置されるストロークデータを有しない。
この場合も、例えば、処理部20において、軸推定処理(ステップS110)と、交点推定処理(ステップS120)と、分類処理(ステップS130)と、を含む第1処理動作が行われる。
図16は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図16は、軸推定処理を例示している。図16に表したように、軸推定処理において、第1軸51と、第2軸52と、が推定される。第2軸52は、第1軸51に対して垂直である。
図16は、軸推定処理を例示している。図16に表したように、軸推定処理において、第1軸51と、第2軸52と、が推定される。第2軸52は、第1軸51に対して垂直である。
この場合も、第2軸52上に、射影成分のピーク52pが生じる。さらに、第1軸51上に、射影成分のピーク51pが生じる。非罫線入力データ86の射影成分の累積51h及び累積52hは、ピーク51p及びピーク52pの値よりも小さい。
このときも、例えば、第1部分82uに含まれる第1ストロークデータ81が所定の方向(この例では横方向)に延在している。このとき、縦方向に延在する第2軸52への、複数セットのストロークデータ80の射影成分の累積52hのピーク値(ピーク52pの高さ)は、第2軸52に対して傾斜する傾斜軸(例えば第2候補軸52o)への、複数セットのストロークデータ80の射影成分の累積52hのピーク値よりも高い。
例えば、縦罫線入力データ85bが、縦方向に延在している。このとき、横方向に延在する第1軸51への、複数セットのストロークデータ80の射影成分の累積51hのピーク値(ピーク51pの高さ)は、第1軸51に対して傾斜する傾斜軸(例えば第1候補軸51o)への、複数セットのストロークデータ80の射影成分の累積51hのピーク値よりも高い。
図16に例示したように、非罫線入力データ86が存在していない(省略されている)位置において、縦方向に延在する第2軸52への、複数セットのストロークデータ80の射影成分の累積52hに、ボトム52b(極小部分)が生じる。
後述するように、これらのボトム51b(極小部分)及びボトム52b(極小部分)が、省略された罫線に対応すると推定される。
例えば、第2軸52への射影成分の累積52hにおいて、横罫線入力データ85aに対応する急峻なピーク52pと、非罫線入力データ86に対応する低くブロードな山と、が生じる。この急峻なピーク52pの高さは、予め定められたしきい値52th以上である。そして、この例では、横罫線入力データ85aに対応する急峻なピーク52pと、非罫線入力データ86に対応する低くブロードな山と、の間に、射影成分の累積52hが低い部分52qが生じる。この部分52qは、省略されたと推定される罫線データには対応しない。
例えば、第2軸52に関して、省略された罫線であると推定されるボトム52bと、罫線データに対応するピーク52pと、の間に、少なくとも1つの非罫線データに対応するブロードな山が配置される。または、罫線の省略状態によっては、省略された罫線であると推定される2つのボトム52b(極小部分)の間に、非罫線入力データ86の射影成分の累積52hのブロードな山が配置されても良い。
同様に、非罫線入力データ86が存在していない(省略されている)位置において、横方向に延在する第1軸51への、複数セットのストロークデータ80の射影成分の累積51hに、ボトム51b(極小部分)が生じる。
例えば、第1軸51への射影成分の累積51hにおいて、縦罫線入力データ85bに対応する急峻なピーク51pと、非罫線入力データ86に対応する低くブロードな山と、が生じる。この急峻なピーク51pの高さは、予め定められたしきい値51th以上である。そして、この例では、縦罫線入力データ85bに対応する急峻なピーク51pと、非罫線入力データ86に対応する低くブロードな山と、の間に、射影成分の累積52hが低い部分51qが生じる。この部分51qは、省略されたと推定される罫線データには対応しない。
例えば、第1軸51に関して、省略された罫線であると推定されるボトム51bと、罫線データに対応するピーク51pと、の間に、少なくとも1つの非罫線データに対応するブロードな山が配置される。または、省略された罫線であると推定される2つのボトム51b(極小部分)の間に、非罫線入力データ86の射影成分の累積52hのブロードな山が配置されても良い。
図17は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図17は、交点推定処理を例示している。図17においては、図を見易くするために、ストロークデータ80のうちの罫線入力データ85が示され、非罫線入力データ86は、省略されている。
図17は、交点推定処理を例示している。図17においては、図を見易くするために、ストロークデータ80のうちの罫線入力データ85が示され、非罫線入力データ86は、省略されている。
図17に表したように、この場合も、交点推定処理においては、例えば、第1軸51と縦罫線入力データ85bとの交点85bcの位置、及び、第2軸52と横罫線入力データ85aとの交点85acの位置と、が推定される。
例えば、手書き入力において、省略されていない罫線については、既に説明した方法により、交点が求められる。すなわち、交点推定処理においては、第1軸51への複数セットのストロークデータ80の射影成分の累積51hのピーク51pの位置と、第2軸52への複数セットのストロークデータ80の射影成分の累積52hのピーク52pの位置と、の少なくともいずれかに基づいて、交点(交点85ac及び交点85bcの少なくともいずれか)が推定される。
一方、手書き入力において、省略されていると推定される罫線については、射影成分のボトムの位置に基づいて、交点が求められる。例えば、交点推定処理において、第1軸51への複数セットのストロークデータ80の射影成分の累積51hのボトム51bの位置と、第2軸52への複数セットのストロークデータ80の射影成分の累積52hのボトム52bの位置と、の少なくともいずれかに基づいて、交点(交点85ac及び交点85bcの少なくともいずれか)が推定される。
このように、この例では、交点推定処理は、第1軸51への複数セットのストロークデータ80の射影成分の累積51hのボトム51bの位置と、第2軸52への複数セットのストロークデータ80の射影成分の累積52hのボトム52bの位置と、の少なくともいずれかに基づいて、交点の少なくともいずれかを推定することを含む。
図18は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図18は、分類処理を例示している。例えば、ストロークデータ80のそれぞれが第1軸51及び第2軸52のそれぞれに射影される。図18には、例として、第1ストロークデータ81の第2軸52への射影成分のヒストグラム(累積81h)が図示されている。ヒストグラム(累積81h)にピーク81pが生じている。
図18は、分類処理を例示している。例えば、ストロークデータ80のそれぞれが第1軸51及び第2軸52のそれぞれに射影される。図18には、例として、第1ストロークデータ81の第2軸52への射影成分のヒストグラム(累積81h)が図示されている。ヒストグラム(累積81h)にピーク81pが生じている。
第2軸52において、累積52hのピーク52pの位置が、交点85acの少なくともいずれかの位置であると推定される。例えば、射影されたヒストグラムのピーク81pの第2軸52上の位置と、交点85acの第2軸52上の位置と、の距離が短いときに、そのストローク(第1ストロークデータ81)が、罫線に対応すると判断される。
さらに、第2軸52において、累積52hのボトム52bの位置が、別の交点85acの位置であると推定される。
ピーク52pに対応する罫線は、手書きにより入力された罫線である。ボトム52bに対応する罫線は、手書き入力において省略されたと推定される罫線である。これらの罫線は、第2軸52に対して垂直な方向に沿って延在する。
同様に、第1軸51において、累積51hのピーク51pの位置が、交点85bcの少なくともいずれかの位置であると推定される。さらに、第1軸51において、累積51hのボトム51bの位置が、別の交点85bcの位置であると推定される。
ピーク51pに対応する罫線は、手書きにより入力された罫線である。ボトム51bに対応する罫線は、手書き入力において省略されたと推定される罫線である。これらの罫線は、第1軸51に対して垂直な方向に沿って延在する。
そして、複数セットのストロークデータ80のうちで、罫線に対応すると判定されたストロークデータを除くストロークデータが、非罫線(すなわち、セル内データ)に対応する、と判定される。
図19(a)〜図19(c)は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
図19(a)は、分類処理によって、罫線に対応すると判定されたストロークデータ(罫線入力データ85)を例示している。図19(b)は、分類処理によって、非罫線に対応すると判定されたストロークデータ(非罫線入力データ86)を例示している。図19(c)は、ボトム51b及びボトム52bの少なくともいずれかに基づいて作成された、罫線出力データ45(横罫線出力データ45a及び縦罫線出力データ45b)を例示している。
図19(a)は、分類処理によって、罫線に対応すると判定されたストロークデータ(罫線入力データ85)を例示している。図19(b)は、分類処理によって、非罫線に対応すると判定されたストロークデータ(非罫線入力データ86)を例示している。図19(c)は、ボトム51b及びボトム52bの少なくともいずれかに基づいて作成された、罫線出力データ45(横罫線出力データ45a及び縦罫線出力データ45b)を例示している。
分類処理により、入出力部10が取得した複数セットのストロークデータ80が、罫線入力データ85と、非罫線入力データ86と、に分類される。
さらに、罫線に対応すると判定されたストロークデータ(罫線入力データ85)に加えて、省略されたと推定される罫線に対応して、横罫線出力データ45a及び縦罫線出力データ45bの少なくとも一部が作成される。
図19(c)に示した例では、作成された罫線出力データ45は、第2罫線42rを含む。このようして、作成された罫線出力データ45と、罫線入力データ85に基づく罫線出力データ45と、が、処理部20により得られる。すなわち、図3または図4に例示した第1表データ40aが得られる。
例えば、作成される罫線(この例では第2罫線42r)は、ボトム51b及びボトム52bの少なくともいずれかに基づいて作成される。例えば、ボトム51bに基づいて第2罫線42rが作成される場合は、第2罫線42rは、ボトム51bの位置を有し、第2軸52に沿う。すなわち、この場合は、第2罫線42rは、第1軸51に対して垂直である。例えば、ボトム52bに基づいて第2罫線42rが作成される場合は、第2罫線42rは、ボトム52bの位置を有し、第1軸51に沿う。すなわち、この場合は、第2罫線42rは、第2軸52に対して垂直である。
この例では、罫線に対応するストロークが省略されている。このため、省略された罫線に対応するピークが生じない。このとき、非罫線データであるセル内データどうしの間に、罫線があると推定して交点が推定される。
このように、実施形態に係る手書き文書処理装置110によれば、ストロークデータの軸への射影成分に基づいて、表の構造が推定される。これにより、省略されたと推定される罫線が存在する場合においても、表を整形することができる。より自由に手書きされた表を整形できることができる。実施形態によれば、ロバストに表の整形が実施できる。
実施形態において、交点推定処理の少なくとも一部と、分類処理の少なくとも一部と、は、同時に実施されてもよい。交点推定処理の少なくとも一部は、省略しても良い。
例えば、第1処理動作は、上記の軸推定処理と、分類処理と、を含む。分類処理においては、第1軸51への複数セットのストロークデータ80の射影成分の累積51hと、第2軸52への複数セットのストロークデータ80の射影成分の累積52hと、の少なくともいずれかに基づいて、複数セットのストロークデータ80を、罫線のデータと、罫線のデータとは異なるセル内データと、に分類する。そして、上記の第1罫線41rは、上記の罫線のデータの少なくとも一部を含む。このとき、例えば、上記の罫線のデータの第2軸52への射影成分の累積52hのピーク52pは、セル内データの第2軸52への射影成分の累積52hのピークよりも高い。例えば、上記の罫線のデータの第1軸51への射影成分の累積51hのピーク51pは、セル内データの第1軸51への射影成分の累積51hのピークよりも高い。
図20は、第1の実施形態に係る手書き文書処理装置における別のストロークデータを例示する模式図である。
図20に表したように、この例では、複数セットのストロークデータ80cによる表が、傾斜して入力されている。例えば、手書き入力のタブレットなどの入力装置を傾斜させて使用したときに、このような傾斜した表が、手書きされる。
図20に表したように、この例では、複数セットのストロークデータ80cによる表が、傾斜して入力されている。例えば、手書き入力のタブレットなどの入力装置を傾斜させて使用したときに、このような傾斜した表が、手書きされる。
例えば、複数セットのストロークデータ80cのうちの第1部分81uの延在方向は、表示部70の表示領域71の辺71sに対して傾斜している。
このときも、既に説明した第1処理動作が実施される。
このときも、既に説明した第1処理動作が実施される。
図21は、第1の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。
これらの図は、軸推定処理を例示している。
図21に表したように、この場合も、軸推定処理において、第1軸51と、第2軸52と、が推定される。第1軸51は、第1部分81uの延在方向に沿っている。このため、第1軸51は傾斜する。
これらの図は、軸推定処理を例示している。
図21に表したように、この場合も、軸推定処理において、第1軸51と、第2軸52と、が推定される。第1軸51は、第1部分81uの延在方向に沿っている。このため、第1軸51は傾斜する。
この場合も、罫線に対応するストロークデータ(例えば、横罫線入力データ85a)は、第2軸52に対して垂直な成分を有する。この垂直な成分を第2軸52に射影したときに、第2軸52上の特定の座標上に、射影成分のピーク52pが生じる。
例えば、罫線に対応するストロークデータ(例えば、縦罫線入力データ85b)は、第1軸51に対して垂直な成分を有する。この垂直な成分を第1軸51に射影したときに、第1軸51上の特定の座標上に、射影成分のピーク51pが生じる。
この場合も、例えば、軸推定処理において、主軸の候補となる軸を、0度〜180度の範囲で回転させて、射影成分を求める。すなわち、所定の方向に延在する第1候補軸51o及び第2候補軸52oを設定し、その時のピークの高さを算出する。そして、候補軸の延在する方向の角度を変化させて、それぞれの角度のときのピークの高さを求める。そして、ピークの高さが高くなる角度の候補軸が、第1軸51及び第2軸52となる。このようにして、第1軸51及び第2軸52が求められる。
さらに、例えば、交点推定処理及び分類処理を実施することで、第1表データ40aが導出される。
図22(a)及び図22(b)は、第1の実施形態に係る手書き文書処理装置における処理結果を例示する模式図である。
図22(a)は、第1表データ40aを例示している。図22(b)は、第2表データ40bを例示している。
図22(a)は、第1表データ40aを例示している。図22(b)は、第2表データ40bを例示している。
図22(a)に表したように、第1部分81uに対応する第1罫線41rと、第2部分82uに対応する第1セル内データ41cと、第3部分83uに対応する第2セル内データ42cと、第2罫線42rと、を含む第1表データ40aが導出される。このような第1表データ40aは、入出力部10に供給され、表示部70に表示可能である。この場合も、第2罫線42rは、第1セル内データ41cと第2セル内データ42cとの間に設けられる。
この例では、手書き入力された表が、表示部70の表示領域71の辺71sに対して傾斜しているため、第1表データ40aの罫線(第1罫線41r及び第2罫線42rなど)も、辺71sに対して傾斜している。
このとき、処理部20は、第2表データ40bを導出しても良い。
図22(b)に表したように、第2表データ40bにおいては、第1表データ40aの罫線(第1罫線41r及び第2罫線42rなど)は、辺71sに対して平行または垂直である。このような第2表データ40bは、例えば、第1表データ40aを回転させることで得られる。回転の角度は、例えば、手書き入力された複数セットのストロークデータ80cの第1部分81uの延在方向と、表示領域71の辺71sと、の間の角度に基づいて定められる。例えば、第1罫線41r及び第2罫線42rなどが、この角度で回転される。セル内データ(例えば、第1セル内データ41c及び第2セル内データ42cなど)も、回転されても良い。
図22(b)に表したように、第2表データ40bにおいては、第1表データ40aの罫線(第1罫線41r及び第2罫線42rなど)は、辺71sに対して平行または垂直である。このような第2表データ40bは、例えば、第1表データ40aを回転させることで得られる。回転の角度は、例えば、手書き入力された複数セットのストロークデータ80cの第1部分81uの延在方向と、表示領域71の辺71sと、の間の角度に基づいて定められる。例えば、第1罫線41r及び第2罫線42rなどが、この角度で回転される。セル内データ(例えば、第1セル内データ41c及び第2セル内データ42cなど)も、回転されても良い。
例えば、図22(a)に例示した第1罫線41rが回転されて、図22(b)に例示した第3罫線43rが作成される。図22(a)に例示した第2罫線42rが回転されて、図22(b)に例示した第4罫線44rが作成される。図22(a)に例示した第1セル内データ41cが回転されて、図22(b)に例示した第3セル内データ43cが作成される。図22(a)に例示した第2セル内データ42cが回転されて、図22(b)に例示した第4セル内データ44cが作成される。
このような処理は、処理部20で実施できる。すなわち、処理部20は、以下の第2処理動作が可能である。第2処理動作においては、入出力部10が取得した複数セットのストロークデータ80cに基づいて、第1部分81uに対応する第3罫線43rと、第2部分82uに対応する第3セル内データ43cと、を含む第2表データ40bを導出する。この例では、第2表データ40bは、第3部分83uに対応する第4セル内データ44cと、第4罫線44rと、をさらに含む。第4罫線44rは、第3セル内データ43cと、第4セル内データ44cと、の間を通る。第4罫線44rは、第3罫線44rに対して垂直または平行である。
このような第2表データ40bが、入出力部10に供給される。入出力部10から表示部70に第2表データ40bが供給され、第2表データ40bが、表示部70に表示される。
表示部70に第1部分81uを表示したときの第1部分81uの延在方向と、表示部70に第3罫線43rを表示したときの第3罫線43rの延在方向と、は、交差する。すなわち、非平行である。例えば、第1部分81uの延在方向は、表示部70の表示領域71の辺71sに対して傾斜する。第3罫線43rの延在方向は、その辺71sに沿う。または、第3罫線43rの延在方向は、その辺71sに対して垂直である。辺71sとして、表示領域71の縦方向の辺を用いても良く、横方向の辺を用いても良い。
このように、本実施形態に係る手書き文書処理装置110は、手書きされた表が傾斜している場合にも適用できる。罫線が斜めに傾斜して描かれた場合にも、表の軸の方向を正しく推定することができる。実施形態によれば、表の構造を、回転ロバストに推定することができる。
実施形態は、例えば、ペン入力インタフェースを用いたノートアプリケーションの入力画面に、表を傾けて書く場合に適用できる。実施形態は、例えば、複数の使用者が書き込みをする状況において、画面に対して斜めに位置する人が表を書き込んだ場合に適用できる。これらの場合において、使用者の意図に沿って、表の罫線と、それ以外(セル内データ)と、を分類できる。その結果に基づいて、表を整形することが容易になる。
本実施形態に係る手書き文書処理装置110は、例えば、ペン入力インタフェース(または手による入力インターファール)を含むアプリケーションに適用される。このアプリケーションにおいては、例えば、自由なレイアウトにおいて、図形描画ツール等を利用せずに、使用者が表を手書きで入力する。
この場合、罫線を入力面に対して傾けて書くことがある。さらに、1本の罫線を不連続に書くことがある。表を手書きで入力する際に、罫線を省略して入力する場合もある。
本実施形態によれば、例えば、このような状況に対処することができる。ユーザーインタフェースが向上できる。例えば、手書きされた罫線を適切に処理して表の整形を行うことができる。
図23は、第1の実施形態に係る手書き文書処理装置に用いられるデータを例示する模式図である。
図23は、複数セットのストロークデータ80のデータ構造の例を示している。ストロークデータ80は、例えば、筆跡データである。
図23は、複数セットのストロークデータ80のデータ構造の例を示している。ストロークデータ80は、例えば、筆跡データである。
例えば、インクデータ構造410は、ストローク総数411と、複数のストローク構造(ストローク構造412及びストローク構造413など)を含む。
「ストローク」は、手書き入力された筆画に対応する。ストロークは、例えば、ペン等が入力面に接してから離れるまでの、ペン等の軌跡に対応する。例えば、所定のタイミングで(例えば一定周期で)、軌跡上の点がサンプリングされる。ストロークは、例えば、サンプリングされた点の系列により表現される。
1つのストロークのストローク構造420は、例えば、ストローク構造412及びストローク構造413などのいずれかである。ストローク構造420は、例えば、ペンが移動した面上の座標の値の集合(点構造)により表現される。
例えば、ストローク構造420は、点総数421と、開始時刻422と、外接図形423と、点構造(点構造424及び点構造425など)と、を含む。点総数421は、ストロークを形成する点の個数である。点構造の数は、点総数421である。
開始時刻422は、例えば、ストロークにおいて、ペンが入力面に接して書き出された時刻である。外接図形423は、文書面上において、ストロークの軌跡の外接図形である。外接図形423は、例えば、文書面上において、ストロークを内包する、最小面積の矩形であることが好ましい。
点構造(点構造424及び点構造425など)は、例えば、入力装置に依存する。点構造の1つである点構造430は、例えば、x座標431、y座標432、筆圧433及び時間差434を含む。x座標431は、サンプリングされた点のx方向の座標である。y座標432は、サンプリングされた点のy方向の座標である。筆圧433は、サンプリングされた点における筆圧である。時間差434は、例えば、初期時刻(例えば上記の開始時刻422)と、その点のサンプリングの時刻と、の間の時間差である。点構造430は、このような4つの値を含む。
例えば、座標は、文書面における座標系である。座標においては、例えば、文書面の左上の隅が、原点とされる。例えば、原点から、右下の隅に向かって、座標の値が大きくなる。座標は、このような正の値により表現しても良い。
例えば、入力装置が筆圧を取得しない場合、または、筆圧を取得しても以降の処理で筆圧のデータを使用しない場合がある。このような場合には、筆圧433は省略可能である。または、筆圧433に、無効を示すデータを付与しても良い。
ストローク構造420における、点構造430のそれぞれの領域に、x座標431、及び、y座標432などの実データを記載しても良い。または、ストローク構造420における、点構造430のそれぞれの領域に、対応する点構造430へのリンク情報を記載しても良い。例えば、ストローク構造420のデータと、点構造430のデータと、を別々に管理する場合に適用できる。
実施形態に係る手書き文書処理装置110は、例えば、スタンドアローンの装置である。手書き文書処理装置110は、例えば、複数のノードに分散した構成を有しても良い。複数のノードは、例えば、ネットワークを介して互いに通信可能である。
手書き文書処理装置110には、例えば、デスクトップ型コンピュータ、ラップトップ型コンピュータ、または、携帯型コンピュータなどが用いられる。手書き文書処理装置110には、携帯型の情報機器、タッチパネルを有する情報機器、または、スマートフォンなどが用いられる。文書処理装置110には、各種の情報処理装置が用いられる。手書き文書処理装置110には、様々な装置が用いられる。
図24は、第1の実施形態に係る手書き文書処理装置を例示する模式図である。
図24は、手書き文書処理装置110のブロック図である。図24は、手書き文書処理装置110のハードウェアの例を示す。
図24は、手書き文書処理装置110のブロック図である。図24は、手書き文書処理装置110のハードウェアの例を示す。
手書き文書処理装置110は、例えば、CPU201、入力デバイス202、出力デバイス203、RAM204、ROM205、外部メモリ・インタフェース206、及び、通信インタフェース207を含む。例えば、入出力部10として、入力デバイス202、出力デバイス203、外部メモリ・インタフェース206、及び、通信インタフェース207の少なくともいずれかが用いられる。処理部20として、例えば、CPU201が用いられる。
手書き文書処理装置110としてタッチパネルを使用する場合には、例えば、液晶パネルと、ペンと、液晶パネル上に設けられたストローク検出装置等が利用される。
例えば、手書き文書処理装置110の一部をクライアント上に設け、手書き文書処理装置110の別の一部をサーバ上に設けても良い。
図25は、第1の実施形態に係る手書き文書処理装置を例示する模式図である。
図25に表したように、ネットワーク300上にサーバ303が設けられる。ネットワーク300は、例えば、イントラネット及びインターネットの少なくともいずれかを含む。クライアント301、及び、クライアント302のそれぞれが、ネットワーク300を介して、サーバ303と通信可能である。実施形態に係る手書き文書処理装置110は、このようなクライアントとサーバにより形成されても良い。
図25に表したように、ネットワーク300上にサーバ303が設けられる。ネットワーク300は、例えば、イントラネット及びインターネットの少なくともいずれかを含む。クライアント301、及び、クライアント302のそれぞれが、ネットワーク300を介して、サーバ303と通信可能である。実施形態に係る手書き文書処理装置110は、このようなクライアントとサーバにより形成されても良い。
例えば、クライアント301は、無線通信を介してネットワーク300に接続される。クライアント302は、有線通信を介してネットワーク300に接続される。
クライアント301及びクライアント302は、例えば、ユーザー装置である。サーバ303は、例えば、LAN上に設けられる。LANとして、例えば、企業内LAN等が用いられる。サーバ303は、例えば、インターネット・サービス・プロバイダ等により運営されても良い。サーバ303が、ユーザー装置でも良い。ユーザーが、他のユーザーに、サーバの機能を提供しても良い。手書き文書処理装置110を、クライアントとサーバとに分散する構成は、種々の変形が可能である。
図26は、第1の実施形態に係る手書き文書処理装置の動作を例示するフローチャート図である。
図26に表したように、文書処理装置110においては、例えば、手書き文書の複数セットのストロークデータ80を取得する(ステップS150)。この動作は、例えば、入出力部10で実施される。複数セットのストロークデータ80は、例えば、第1ストロークデータ81を含む第1部分81uと、第2ストロークデータ82を含む第2部分82uと、第3ストロークデータ83を含む第3部分83と、を含む。
図26に表したように、文書処理装置110においては、例えば、手書き文書の複数セットのストロークデータ80を取得する(ステップS150)。この動作は、例えば、入出力部10で実施される。複数セットのストロークデータ80は、例えば、第1ストロークデータ81を含む第1部分81uと、第2ストロークデータ82を含む第2部分82uと、第3ストロークデータ83を含む第3部分83と、を含む。
そして、処理(例えば第1処理動作)が実施される(ステップS160)。この処理は、例えば、処理部20において、実施される。第1処理動作においては、取得した複数セットのストロークデータ80に基づいて、第1部分81uに対応する第1罫線41rと、第2部分82uに対応する第1セル内データ41cと、第3部分83に対応する第2セル内データ42cと、第1セル内データ41cと第2セル内データ42cとの間に設けられた第2罫線42rと、を含む第1表データ40aを導出する。そして、第1表データ40aを出力する。
(第2の実施形態)
本実施形態は、手書き文書処理プログラムに係る。第1の実施形態に関して説明した処理は、ソフトウェアであるプログラムに基づいて実行されることが可能である。
このプログラムにおいては、第1の実施形態に関して説明した処理の少なくとも一部が実施される。
本実施形態は、手書き文書処理プログラムに係る。第1の実施形態に関して説明した処理は、ソフトウェアであるプログラムに基づいて実行されることが可能である。
このプログラムにおいては、第1の実施形態に関して説明した処理の少なくとも一部が実施される。
例えば、手書き文書処理プログラムは、コンピュータに、手書き文書の複数セットのストロークデータ80を取得させる。複数セットのストロークデータ80は、第1ストロークデータ81を含む第1部分81uと、第2ストロークデータ82を含む第2部分82uと、第3ストロークデータ83を含む第3部分83と、を含む。
手書き文書処理プログラムは、コンピュータに、第1処理動作を実施させる。第1処理動作においては、取得した複数セットのストロークデータ80に基づいて、第1部分81uに対応する第1罫線41rと、第2部分82uに対応する第1セル内データ41cと、第3部分83uに対応する第2セル内データ42cと、第1セル内データ41cと第2セル内データ42cとの間に設けられた第2罫線42rと、を含む第1表データ40aを導出する。
さらに、手書き文書処理プログラムは、コンピュータに、上記の第2処理動作を実施させても良い。
本実施形態に係る手書き文書処理プログラムは、例えば、汎用の計算機システムに記憶可能である。このプログラムを読み込むことにより、実施形態に係る手書き文書処理装置110で得られる効果と同様な効果を得ることができる。
実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、記録媒体に記録可能である。記録媒体として、例えば、磁気ディスク(フレキシブルディスク、または、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、または、半導体メモリ、などが用いられる。
記録媒体は、コンピュータまたは組み込みシステムが読み取り可能である。記録媒体の記録(記憶)の形式は、任意である。
コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示を、CPUで実行させる。実施形態に係る手書き文書処理装置110における動作が実施できる。コンピュータがプログラムを取得する場合、または、読み込む場合、ネットワークを通じて取得または読み込むことができる。
プログラムは、例えば、コンピュータや組み込みシステムに、記録媒体からインストールされる。このプログラムの指示に基づいて、コンピュータ上で稼働しているOS(オペレーティングシステム)、データベース管理ソフト、または、ネットワーク等のMW(ミドルウェア)等が、実施形態に含まれる処理の一部を実行してもよい。
実施形態に係る記録媒体は、例えば、コンピュータ、または、組み込みシステムと独立している。実施形態はこれに限らず、実施形態に係る記録媒体には、例えば、プログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。プログラムのダウンロードにおいては、例えば、LANまたはインターネット等を介して行われる。
実施形態において、記録媒体の数は、1または、複数である。複数の記録媒体に基づいて、本実施形態に係る処理が実行されても良い。本実施形態に係る記録媒体に含まれる媒体の構成は、任意である。
実施形態に係るコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づいて、本実施形態における各処理を実行する。本実施形態に係るコンピュータまたは組み込みシステムには、例えば、パーソナルコンピュータ、または、マイコン等の1つ装置が用いられる。本実施形態に係るコンピュータまたは組み込みシステムには、例えば、複数の装置がネットワーク接続されたシステム等を用いても良い。
また、実施形態に係るコンピュータは、パーソナルコンピュータ、情報処理機器に含まれる演算処理装置、マイコン等も含む。実施形態に係るコンピュータは、プログラムによって実施形態に係る機能を実現することが可能な機器(装置)を含む。
(第3の実施形態)
本実施形態は、手書き文書処理方法に係る。本方法において、例えば、図26に関して説明した処理を行う。手書き文書処理方法においては、第1の実施形態に関して説明した手書き文書処理装置110及びその変形を用いることができる。
本実施形態は、手書き文書処理方法に係る。本方法において、例えば、図26に関して説明した処理を行う。手書き文書処理方法においては、第1の実施形態に関して説明した手書き文書処理装置110及びその変形を用いることができる。
実施形態によれば、より自由に手書きされた表を整形できる手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムが提供できる。
なお、本願明細書において、「直交」、「垂直」、または、「平行」は、ばらつきなどを含むものであり、実質的に垂直、または、実質的に平行である状態を含む。
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、手書き文書処理装置に含まれる入出力部、及び、処理部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
その他、本発明の実施の形態として上述した手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムを基にして、当業者が適宜設計変更して実施し得る全ての手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムも、本発明の要旨を包含する限り、本発明の範囲に属する。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…入出力部、 20…処理部、 40a…第1表データ、 40b…第2表データ、 41c…第1セル内データ、 41r…第1罫線、 42c…第2セル内データ、 42r…第2罫線、 43c…第3セル内データ、 43r…第3罫線、 44c…第4セル内データ、 44r…第4罫線、 45…罫線出力データ、 45a…横罫線出力データ、 45b…縦罫線出力データ、 46…非罫線出力データ、 51…第1軸、 51b…ボトム、 51h…累積、 51o…第1候補軸、 51p…ピーク、 51q…部分、 51th…しきい値、 52…第2軸、 52b…ボトム、 52h…累積、 52o…第2候補軸、 52p…ピーク、 52q…部分、 52th…しきい値、 70…表示部、 71…表示領域、 71s…辺、 80、80a、80b、80c…ストロークデータ、 81…第1ストロークデータ、 81h…累積、 81p…ピーク、 81u…第1部分、 82…第2ストロークデータ、 82u…第2部分、 83…第3ストロークデータ、 83u…第3部分、 85…罫線入力データ、 85a…横罫線入力データ、 85ac…交点、 85b…縦罫線入力データ、 85bc…交点、 86…非罫線入力データ、 110…手書き文書処理装置、 201…CPU、 202…入力デバイス、 203…出力デバイス、 204…RAM、 205…ROM、 206…外部メモリ・インタフェース、 207…通信インタフェース、 300…ネットワーク、 301、302…クライアント、 303…サーバ、 410…インクデータ構造、 411…ストローク総数、 412、413、420…ストローク構造、 421…点総数、 422…開始時刻、 423…外接図形、 424、425、430…点構造、 431…x座標、 432…y座標、 433…筆圧、 434…時間差、 L1…間隔、 L2、L3…長さ
Claims (17)
- 手書き文書の複数セットのストロークデータを取得する入出力部であって、前記複数セットのストロークデータは、第1ストロークデータを含む第1部分と、第2ストロークデータを含む第2部分と、第3ストロークデータを含む第3部分と、を含む入出力部と、
前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第1部分に対応する第1罫線と、前記第2部分に対応する第1セル内データと、前記第3部分に対応する第2セル内データと、前記第1セル内データと前記第2セル内データとの間に設けられた第2罫線と、を含む第1表データを導出して、前記第1表データを前記入出力部に供給する第1処理動作の実施が可能な処理部と、
を備えた手書き文書処理装置。 - 前記第1部分は第1方向に沿って延在し、
前記第1部分は、複数セットの前記第1ストロークデータを含み、
前記複数セットの前記第1ストロークデータは、前記第1方向に沿って互いに離間し、
前記第1罫線は、前記第1方向に沿って延在する請求項1記載の手書き文書処理装置。 - 前記複数セットの前記第1ストロークデータどうしの間隔は、前記第2部分の前記第1方向に沿った長さよりも短く、前記第3部分の前記第1方向に沿った長さよりも短い請求項2記載の手書き文書処理装置。
- 前記第2部分と、前記第3部分と、は、前記第2部分から前記第3部分に向かう方向において、隣り合う請求項1〜3のいずれか1つに記載の手書き文書処理装置。
- 前記処理部は、
前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第1部分に対応する第3罫線と、前記第2部分に対応する第3セル内データと、を含む第2表データを導出して、前記第2表データを前記入出力部に供給する第2処理動作がさらに可能であり、
表示部に前記第1部分を表示したときの前記第1部分の延在方向と、前記表示部に前記第3罫線を表示したときの前記第3罫線の延在方向と、は、交差する請求項1〜4のいずれか1つに記載の手書き文書処理装置。 - 前記表示部は、辺を有する表示領域を有し、
前記第1部分の前記延在方向は、前記辺に対して傾斜し、
前記第3罫線の前記延在方向は、前記辺に沿う請求項5記載の手書き文書処理装置。 - 前記第1処理動作は、
第1軸と、前記第1軸に対して垂直な第2軸と、を導出する軸推定処理であって、前記第2軸への前記複数セットのストロークデータの射影成分の累積のピークは、前記第2軸に対して傾斜する傾斜軸への前記複数セットのストロークデータの射影成分の累積のピークよりも高い軸推定処理と、
前記第2軸への前記複数セットのストロークデータの射影成分の累積に基づいて、前記第1部分に対応する前記第1罫線を導出し、前記第2部分と前記第3部分との間を通り前記第1罫線に対して平行及び垂直のいずれかの前記第2罫線を導出する罫線導出処理と、
を含み、
前記第2軸への前記第1部分の射影成分のピーク値は、前記第2軸への前記第2部分の射影成分のピーク値よりも高く、前記第2軸への前記第3部分の射影成分のピーク値よりも高い請求項1〜6のいずれか1つに記載の手書き文書処理装置。
- 前記第1処理動作は、
第1軸と、前記第1軸に対して垂直な第2軸と、を導出する軸推定処理であって、前記第2軸への前記複数セットのストロークデータの射影成分の累積のピーク値は、前記第2軸に対して傾斜する傾斜軸への前記複数セットのストロークデータの射影成分の累積のピーク値よりも高い軸推定処理と、
前記第1軸への前記複数セットのストロークデータの射影成分の累積と、前記第2軸への前記複数セットのストロークデータの射影成分の累積と、の少なくともいずれかに基づいて、前記複数セットのストロークデータを、罫線のデータと、前記罫線のデータとは異なるセル内データと、に分類する分類処理を含み、
前記第1罫線は、前記罫線のデータの少なくとも一部を含む請求項1〜6のいずれか1つに記載の手書き文書処理装置。 - 前記罫線のデータの前記第2軸への射影成分の累積のピークは、前記セル内データの前記第2軸への射影成分の累積のピークよりも高い請求項8記載の手書き文書処理装置。
- 前記第1処理動作は、
第1軸と、前記第1軸に対して垂直な第2軸と、を導出する軸推定処理であって、前記第2軸への前記複数セットのストロークデータの射影成分の累積のピーク値は、前記第2軸に対して傾斜する傾斜軸への前記複数セットのストロークデータの射影成分の累積のピーク値よりも高い軸推定処理と、
前記第1軸への前記複数セットのストロークデータの射影成分の累積と、前記第2軸への前記複数セットのストロークデータの射影成分の累積と、の少なくともいずれかに基づいて、前記第1軸及び前記第2軸の少なくともいずれかと前記第1罫線とが交差する交点を推定する交点推定処理と、
前記複数セットのストロークデータのそれぞれと、前記推定された前記交点と、の間の距離に基づいて、前記複数セットのストロークデータを、罫線のデータと、前記罫線のデータとは異なるセル内データと、に分類する分類処理と、
を含み、
前記第1部分と前記交点との間の距離は、前記第2部分と前記交点との距離よりも短く、前記第3部分と前記交点との間の距離よりも短い、請求項1〜6のいずれか1つに記載の手書き文書処理装置。 - 前記交点推定処理は、
前記第1軸への前記複数セットのストロークデータの射影成分の前記累積のピークの位置と、前記第2軸への前記複数セットのストロークデータの射影成分の前記累積のピークの位置と、の少なくともいずれかに基づいて、前記交点の少なくとも一部を推定することを含む請求項10記載の手書き文書処理装置。 - 前記交点推定処理は、
前記第1軸への前記複数セットのストロークデータの射影成分の前記累積のボトムの位置と、前記第2軸への前記複数セットのストロークデータの射影成分の前記累積のボトムの位置と、の少なくともいずれかに基づいて、前記交点の少なくとも一部を推定することを含む請求項10記載の手書き文書処理装置。 - 前記軸推定処理は、
前記第2軸への前記複数セットのストロークデータの前記射影成分の前記累積のエントロピーが最小となるように、前記第2軸を推定する請求項7〜12のいずれか1つに記載の手書き文書処理装置。 - 手書き文書の複数セットのストロークデータを取得する入出力部であって、前記複数セットのストロークデータは、複数セットの第1ストロークデータを含み第1方向に沿って延在する第1部分と、第2ストロークデータを含む第2部分と、を含む入出力部と、
前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第1部分に対応する第1罫線と、前記第2部分に対応する第1セル内データと、を含む第1表データを導出して、前記第1表データを前記入出力部に供給する第1処理動作の実施が可能な処理部と、
を備え、
前記複数セットの前記第1ストロークデータは、前記第1方向に沿って互いに離間し、
前記第1罫線は、前記第1方向に沿って延在する手書き文書処理装置。 - 前記複数セットの前記第1ストロークデータどうしの間隔は、前記第2部分の前記第1方向に沿った長さよりも短い請求項14記載の手書き文書処理装置。
- コンピュータに、
手書き文書の複数セットのストロークデータを取得させ、前記複数セットのストロークデータは、第1ストロークデータを含む第1部分と、第2ストロークデータを含む第2部分と、第3ストロークデータを含む第3部分と、を含み、
前記取得した前記複数セットのストロークデータに基づいて、前記第1部分に対応する第1罫線と、前記第2部分に対応する第1セル内データと、前記第3部分に対応する第2セル内データと、前記第1セル内データと前記第2セル内データとの間に設けられた第2罫線と、を含む第1表データを導出する第1処理動作を実施させる手書き文書処理プログラム。 - 手書き文書の複数セットのストロークデータを取得し、前記複数セットのストロークデータは、第1ストロークデータを含む第1部分と、第2ストロークデータを含む第2部分と、第3ストロークデータを含む第3部分と、を含み、
前記取得した前記複数セットのストロークデータに基づいて、前記第1部分に対応する第1罫線と、前記第2部分に対応する第1セル内データと、前記第3部分に対応する第2セル内データと、前記第1セル内データと前記第2セル内データとの間に設けられた第2罫線と、を含む第1表データを導出する第1処理動作を実施する手書き文書処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013166367A JP2015035150A (ja) | 2013-08-09 | 2013-08-09 | 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム |
US14/452,349 US20150042661A1 (en) | 2013-08-09 | 2014-08-05 | Handwritten document processing device, handwritten document processing method, and handwritten document processing program |
CN201410389153.XA CN104346320A (zh) | 2013-08-09 | 2014-08-08 | 手写文档处理装置、手写文档处理方法和手写文档处理程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013166367A JP2015035150A (ja) | 2013-08-09 | 2013-08-09 | 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015035150A true JP2015035150A (ja) | 2015-02-19 |
Family
ID=52448232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013166367A Pending JP2015035150A (ja) | 2013-08-09 | 2013-08-09 | 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150042661A1 (ja) |
JP (1) | JP2015035150A (ja) |
CN (1) | CN104346320A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102133532B1 (ko) * | 2013-08-26 | 2020-07-13 | 삼성전자주식회사 | 필기 입력기반 레이아웃 제공 방법 및 그 장치 |
JP6430198B2 (ja) * | 2014-09-30 | 2018-11-28 | 株式会社東芝 | 電子機器、方法及びプログラム |
CN108509960B (zh) * | 2018-04-20 | 2022-04-22 | 科大讯飞股份有限公司 | 一种文本朝向检测方法及装置 |
CN112560820B (zh) * | 2021-02-22 | 2021-06-01 | 金陵科技学院 | 表格检测方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001766A (en) * | 1988-05-16 | 1991-03-19 | At&T Bell Laboratories | Apparatus and method for skew control of document images |
JPH06203165A (ja) * | 1993-01-07 | 1994-07-22 | Canon Inc | 画像情報処理方法及び装置 |
JP3445394B2 (ja) * | 1993-12-17 | 2003-09-08 | ゼロックス・コーポレーション | 少なくとも二つのイメージセクションの比較方法 |
US7583841B2 (en) * | 2005-12-21 | 2009-09-01 | Microsoft Corporation | Table detection in ink notes |
US8473467B2 (en) * | 2009-01-02 | 2013-06-25 | Apple Inc. | Content profiling to dynamically configure content processing |
CN102566812B (zh) * | 2011-09-30 | 2015-02-18 | 北京壹人壹本信息科技有限公司 | 一种手写记事本的实现方法及装置 |
CN102750531B (zh) * | 2012-06-05 | 2014-08-06 | 江苏尚博信息科技有限公司 | 用于票据文档定位格的手写体标记符号检测方法 |
-
2013
- 2013-08-09 JP JP2013166367A patent/JP2015035150A/ja active Pending
-
2014
- 2014-08-05 US US14/452,349 patent/US20150042661A1/en not_active Abandoned
- 2014-08-08 CN CN201410389153.XA patent/CN104346320A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN104346320A (zh) | 2015-02-11 |
US20150042661A1 (en) | 2015-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070053B (zh) | 一种字体特征提取方法和装置 | |
JP5717691B2 (ja) | 手書き文字検索装置、方法及びプログラム | |
US20150067465A1 (en) | Handwritten document processing device, handwritten document processing method, and handwritten document processing program | |
US9171218B2 (en) | Image processing apparatus, image processing method, and computer readable medium that recognize overlapping elements in handwritten input | |
JP2014215752A (ja) | 電子機器および手書きデータ処理方法 | |
JP2015035150A (ja) | 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム | |
US20160283786A1 (en) | Image processor, image processing method, and non-transitory recording medium | |
JP6222541B2 (ja) | 画像処理装置及びプログラム | |
US9250802B2 (en) | Shaping device | |
JP2013246733A (ja) | 文書検索装置、方法およびプログラム | |
JP6081606B2 (ja) | 電子機器および方法 | |
JP6223687B2 (ja) | 電子機器および手書き文書検索方法 | |
JP5735126B2 (ja) | システムおよび筆跡検索方法 | |
JP2010231480A (ja) | 筆跡処理装置、プログラム、及び方法 | |
US10725650B2 (en) | Handwritten music sign recognition device and program | |
JP6373664B2 (ja) | 電子機器、方法及びプログラム | |
JP7035852B2 (ja) | 筆記選択プログラム、筆記選択方法および情報処理装置 | |
JP6915313B2 (ja) | 図面抽出プログラム、図面抽出方法及び情報処理装置 | |
JP6609181B2 (ja) | 文字属性推定装置、及び文字属性推定プログラム | |
WO2018099126A1 (zh) | 输入信息显示方法和系统 | |
JP6437205B2 (ja) | 手書き音楽記号認識装置及びプログラム | |
JP5669044B2 (ja) | 文書検定システム及び文書検定方法 | |
JP7071840B2 (ja) | 画像中の文字ストローク情報の推定 | |
JP2015111467A (ja) | 手書き文字検索装置、方法及びプログラム | |
US20150016725A1 (en) | Retrieval method and electronic apparatus |