JP5774558B2 - 手書き文書処理装置、方法及びプログラム - Google Patents

手書き文書処理装置、方法及びプログラム Download PDF

Info

Publication number
JP5774558B2
JP5774558B2 JP2012178937A JP2012178937A JP5774558B2 JP 5774558 B2 JP5774558 B2 JP 5774558B2 JP 2012178937 A JP2012178937 A JP 2012178937A JP 2012178937 A JP2012178937 A JP 2012178937A JP 5774558 B2 JP5774558 B2 JP 5774558B2
Authority
JP
Japan
Prior art keywords
stroke
attribute
stroke group
group
additional information
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.)
Active
Application number
JP2012178937A
Other languages
English (en)
Other versions
JP2014038384A (ja
Inventor
俊信 中洲
俊信 中洲
梓帆美 高橋
梓帆美 高橋
智行 柴田
智行 柴田
和範 井本
和範 井本
山内 康晋
康晋 山内
洋次郎 登内
洋次郎 登内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012178937A priority Critical patent/JP5774558B2/ja
Priority to CN201380042549.0A priority patent/CN104541288A/zh
Priority to PCT/JP2013/071990 priority patent/WO2014025072A2/en
Publication of JP2014038384A publication Critical patent/JP2014038384A/ja
Priority to US14/616,511 priority patent/US20150146985A1/en
Application granted granted Critical
Publication of JP5774558B2 publication Critical patent/JP5774558B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • 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/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18076Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • 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/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明の実施形態は、手書き文書処理装置、方法及びプログラムに関する。
手書きストローク群に属性(文字又は図形)を割り当て、属性に応じてストローク群を処理する手書き文書処理装置が知られている。
特開平08−263682号公報
本実施形態は、より効果的にストローク群を処理できる手書き文書処理装置、方法及びプログラムを提供することを目的とする。
実施形態によれば、ストローク取得部、ストローク群生成部、付加情報生成部を備える。ストローク取得部は、ストロークデータを取得する。ストローク群生成部は、上記ストロークデータをもとに、所定の基準を満たす1又は複数のストロークからなるストローク群を生成する。付加情報生成部は、上記ストローク群のうちの一つと、上記ストローク群のうちの他の一つとの間の関係性を示す付加情報を生成して、上記ストローク群のうちの上記一つに付与する。
本実施形態に係る手書き文書処理装置の構成例を示す図である。 本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。 本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。 インクデータのフォーマットの一例を示す図である。 ストロークデータの入力について説明するための図である。 第1属性及び第2属性について説明するための図である。 付加情報について説明するための図である。 ストローク群データのフォーマットの一例を示す図である。 第1属性、第2属性及び付加情報の例を示す図である。 第1属性、第2属性及び付加情報の例を示す図である。 ストロークデータの分類について説明するための図である。 ストロークデータの分類について説明するための図である。 ストローク群データ生成の一例を示す図である。 本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。 本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。 本実施形態に係る手書き文書処理装置の処理例を示すフローチャートである。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 ストローク群の処理の例を説明するための図である。 検索結果表示の一例を示す図である。 検索結果表示の一例を示す図である。 検索結果表示の一例を示す図である。 検索結果表示の一例を示す図である。 ハードウェア構成例について説明するための図である。 ネットワークを伴う構成例について説明するための図である。
以下、図面を参照しながら本発明の実施形態に係る手書き文書処理装置について詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
図1に、本実施形態の手書き文書処理装置の構成例を示す。図1に示されるように、本実施形態の手書き文書処理装置は、ストローク取得部1、ストローク群データ生成部2、ストローク群処理部3、操作部4、提示部5、インクデータデータベース(インクデータDB)11、ストローク群データベース(ストローク群DB)12を備えている。
ストローク取得部1は、ストロークを取得する。なお、ストロークとは手書き入力された筆画である。具体的には、ペン等が文書の記載を行う面に接してから離れるまでの軌跡を表す。
インクデータDB11は、ストロークを文書単位でまとめたインクデータを記憶する。ここでは、ユーザが筆記するストロークを取得する場合を中心に説明を行う。なお、この手書き入力の方法には、タッチパネル上でペンにより入力する方法、タッチパネル上で指により入力する方法、タッチパッド上で指により入力する方法、マウスを操作して入力する方法、電子ペンによる方法など、種々の方法を用いることができる。
ユーザが筆記した多数のストローク(インクデータ)は、例えば、ユーザが文書を書き終わる際或いは保存する際などに、インクデータDB11として蓄積される。インクデータは、文書単位等でストロークを格納するためのデータ構造である。
ストローク群データ生成部2は、インクデータから、ストローク群のデータを生成する。
ストローク群DB12は、個々のストローク群のデータを記憶する。1つのストローク群は、一纏まりとなる1又は複数のストロークからなる。詳しくは後述するが、例えば、手書き文字について、行又は単語などをストローク群とすることができる。また、例えば、図形について、フローチャートの要素図形、表、イラストなどをストローク群とすることができる。本実施形態では、ストローク群が、処理の基本的な単位となる。
ストローク群処理部3は、ストローク群に関する処理を行う。
操作部4は、ストローク群に関する処理のために、ユーザが操作するためのものである。操作部4は、GUI(Grafical User Interface; グラフィカルユーザーインターフェース)を提供しても良い。
提示部5は、ストロークに関する情報、ストローク群に関する情報、ストローク群に対する処理の結果などを提示する。
なお、ストローク取得部1と操作部4と提示部5の全部又は一部を、(例えばGUIとして)統合して構成しても良い。
詳しくは後述するが、ストローク群データ生成部2は、ストローク群生成部21、第1属性抽出部22、第2属性抽出部23、付加情報生成部24を含んでも良い。
また、ストローク群処理部3は、検索部31、整形部32を含んでも良い。
ただし、本実施形態の手書き文書処理装置は、必ずしも図1中の全要素を備えなくても良い。
図2に、本実施形態の手書き文書処理装置の処理の一例を示す。
ステップS1において、ストローク取得部1が、ストロークデータを取得する。ストロークデータを所定単位でまとめたインクデータを取得して用いると効率的な処理ができるのでよい。以下はインクデータを用いることを前提として説明する。
ステップS2において、ストローク群データ生成部2(ストローク群生成部21)が、該インクデータから、ストローク群のデータを生成する。
ステップS3において、ストローク群データ生成部2(第1属性抽出部22)が、第1属性を抽出する。
ステップS4において、ストローク群データ生成部2(第2属性抽出部23)が、第2属性を抽出する。
ステップS5において、ストローク群データ生成部2(付加情報生成部24)が、付加情報を生成する。
ステップS6において、提示部5が、ストローク群と、第1属性/第2属性/付加情報との対応を提示する。
なお、ステップS2〜S5を上記とは異なる順序で実行しても良い。また、ステップS3〜ステップS5の一部を省いても良い。
ステップS6において、一部のデータの提示を省いても良い。ステップS6を省いても良いし、ステップS6の代わりに又はステップS6に加えて、ストローク群/第1属性/第2属性/付加情報の全部又は一部を表示装置以外の装置へ向けて出力しても良い。
図3に、本実施形態の手書き文書処理装置の処理の他の例を示す。
ステップS11〜S15は、図2のステップS1〜S5と同様である。
ステップS16において、ストローク群処理部3(例えば、検索部31、整形部32)が、第1属性/第2属性/付加情報の全部又は一部に基づいて、ストローク群を処理する。
ステップS17において、提示部5が、処理結果を提示する。
なお、ステップS17の代わりに又はステップS17に加えて、処理結果を表示装置以外の装置へ向けて出力しても良い。
なお、図2及び図3は例であり、これらの他にも様々な処理手順が可能である。
次に、図4を参照しながら、インクデータのデータ構造及びストロークデータのデータ構造について説明する。
通常、ストロークは、所定のタイミングで軌跡上の点がサンプリングされる。例えば、一定周期でユーザの手書きの軌跡上の点がサンプリングされる。従って、ストロークデータはサンプリングされた点の系列により表現される。
図4(b)の例において、1ストローク分(すなわち、1画分)のストロークデータ構造は、ペンが移動した平面上の座標値の集合(点構造)で表現される。具体的には、そのストロークを形成する点の個数を示す「点総数」、「開始時刻」、「外接図形」、点総数に相当する個数の「点構造」の配列を含む構造体である。ここで、開始時刻は、そのストロークにおいてペンが入力面に接して書き出された時刻を示す。外接図形は、文書平面上においてそのストロークの軌跡に対する外接図形を示す。特に、文書平面上においてそのストロークを内包する最小面積の矩形が好ましい。
点の構造は、入力デバイスに依存し得る。図4(c)の例では、1点の構造は、その点がサンプリングされた座標値x,y、筆圧並びに初期点(例えば上記の「開始時刻」)からの時間差の4値を持つ構造体である。
なお、ここで座標は文書平面の座標系を用いる。例えば、左上の隅の原点として右下の隅になるほど値が大きくなる正の値で表現しても良い。
また、入力デバイスが筆圧を取得できない場合或いは筆圧を取得できても以降の処理で筆圧を使用しない場合には、図4(c)の筆圧を省いても良いし或いは筆圧に無効を示すデータを記述しても良い。
なお、図4(b),(c)の例において、ストローク構造における個々の点構造の領域に、座標値x,y等の実データを記載しても良いし、あるいは、ストローク構造のデータと点構造のデータとを別々に管理するものとして、ストローク構造における個々の点構造の領域に、対応する点構造へのリンク情報を記載しても良い。
図5に、取得されるストロークの例を示す。ここでは、ストローク内のサンプル点のサンプリング周期が所定時間である場合を例にとって説明する。図5(a)は、サンプリングした点の座標を示しており、図5(b)は、時間的に連続する点構造を線形補間して示している。サンプリング点の座標間隔が異なるのは、筆速の違いによるものである。サンプリング点数は、個々のストロークにより異なり得る。
図4(a)の例において、インクデータのデータ構造は、その文書の全領域に含まれるストローク構造の個数を示す「ストローク総数」、ストローク総数に相当する個数の「ストローク構造」の配列を含む構造体である。
なお、図4(a),(b)の例において、インクデータ構造における個々のストローク構造の領域に、図4(b)のデータを記載しても良いし、あるいは、インクデータ構造のデータと、図4(b)のストロークのデータ構造とを別々に管理するものとして、インクデータ構造における個々のストロークのデータ構造の領域に、対応する図4(b)のデータへのリンク情報を記載しても良い。
入力デバイスを用いてユーザが筆記したストロークデータは、例えば図4に示すようなインクデータ構造によりメモリ上に展開される。インクデータは、例えば文書として保存される際などに、インクデータDB11として蓄積される。
なお、複数の文書を蓄積する場合に、それら文書を識別するための文書IDを、各インクデータに対応付けて保存しても良い。また、個々のストロークを識別するために、各ストローク構造にストロークIDを付与しても良い。
次に、ストローク群データ生成部2(ストローク群生成部21、第1属性抽出部22、第2属性抽出部23、付加情報生成部24)及びストローク群DB12について説明する。
ストローク群生成部21は、手書き文書(インクデータ)から、所定の基準を満たし、一纏まりとなる1又は複数のストロークからなるストローク群を生成する。1つのストロークは、少なくとも1つのストローク群に属する。
なお、所定の基準或いはストローク群生成方法は、適宜設定又は選択等し得る。例えば、文字について、行、単語、文字のいずれをストローク群とするかに応じて選択できる。また、図形について、例えば、一つの表の罫線全体を一つのストローク群とするか、一つの表の個々の罫線(線分)をそれぞれ1つのストローク群とするかに応じて選択できる。また、交差する2つの線分を全体で1つのストローク群とするか、交差する2つの線分を2つのストローク群とするかに応じて選択できる。その他にも、様々な目的等に応じて、ストローク群生成方法を変えることができる。
また、ストローク群を生成する契機には、様々な方法がある。例えば、1ページの文書の入力が完了した際に、あるいは、過去に入力された1ページの文書に対して、ストローク群を生成する処理を行っても良い。また、例えば、ユーザが、ストローク群を生成する指示を与えても良い。また、例えば、所定の時間の間、ストロークが入力されなかったことを契機として、ストローク群を生成する処理を開始しても良い。また、ある領域にストロークが入力されていた場合に、その領域から所定の範囲内について、所定の時間の間、ストロークが入力されなかったことを契機として、その領域内のストローク群を生成する処理を開始しても良い。
第1属性抽出部22は、個々のストローク群に固有の属性を抽出する。抽出された属性は、ストローク群に対して第1属性として付与される。第1属性は、例えば、文字又は図形である。第1属性の更なる例は、表、イラスト、数式などである。
なお、ストローク群生成部21と第1属性抽出部22が、統合されても良い。すなわち、ストローク群と第1属性が同時に得られる方法を用いても良い。
ストローク群を生成する方法には、様々な方法が利用可能である。
例えば、以下のような方法が考えられる。
(1)一定の時間内に入力された1又は複数のストロークの集合を、1つのストローク群とする。
(2)ストローク間の距離が、予め定められた閾値以下である1又は複数のストロークの集合を、1つのストローク群とする。ストローク間の距離とは、例えば、ストローク位置の重心の間の距離、あるいは、ストロークに外接する図形の重心点の間の距離である。外接する図形とは、例えば、矩形などの多角形又は円若しくは楕円などである。
(3)隣接する線分構造に着目し、ストロークの頂点数と連続する頂点間の線分の種別とから、図形作成の上で基本となる基本図形を構成する要素群を抽出し、さらに、抽出した基本図形の相対位置関係から、一つの図形を構成するストローク群に分割する(例えば、児島 治彦:隣接線分構造解析法によるオンライン手書き図形入力方式, 情報処理学会研究報告ヒューマンコンピュータインタラクション 26,P1-9,(1986)を参照)。
(4)これらを組み合わせた手法。
上記は例であり、利用可能なストローク群生成方法は、これに限定されない。また、公知の手法を利用しても構わない。
なお、ストローク群を連鎖的に拡張しても良い。例えば、ストロークaとストロークbが1つのストローク群となる条件を満たし、ストロークbとストロークcが1つのストローク群となる条件を満たす場合には、ストロークaとストロークcが1つのストローク群となる条件を満たすか否かにかかわらずに、ストロークaとストロークbとストロークcを、1つのストローク群としても良い。
また、孤立したストロークは、それ自身に1つのストローク群を与える。
第1属性抽出部22は、上記生成された個々のストローク群に固有の属性を抽出する。
第1属性の抽出には、種々の方法がある。
第1属性抽出部22は、例えば、ストローク群を文字認識し、その尤度から、該ストローク群が文字であるか否か判定し、文字であると判定された場合に、該ストローク群の第1属性を文字としても良い。同様に、第1属性抽出部22は、例えば、ストローク群を図形認識し、その尤度から、該ストローク群が図形であるか否か判定し、図形であると判定された場合に、該ストローク群の第1属性を図形としても良い。あるいは、第1属性抽出部22は、例えば、「閾値以上のストローク長を有するストロークを含むストローク群については、第1属性を図形とする」というようなルールを用意し適用しても良い。
なお、文字とも図形とも認識されなかったストローク群の扱いについては、種々の方法が考えられる。文字とも図形とも認識されなかったストローク群には、例えば、予め定められた属性(例えば図形)を第1属性として付与しても良い。あるいは、周辺のストローク群から第1属性を推定しても良い。例えば、周辺のストローク群の第1属性の多数が文字である場合には第1属性を文字とし、周辺のストローク群の第1属性の多数が図形である場合には第1属性を図形としても良い。
第2属性抽出部23は、第1属性抽出部22とは異なり、文書中の位置的に近い(所定の基準を満たす)複数のストローク群からなる集合(ストローク群集合)から、1つの属性を抽出する。
例えば、互いの距離が閾値以下である場合に、それらストローク群を一つにまとめても良い。その際に、上記のストローク群の場合と同様に、ストローク群集合を連鎖的に拡張しても良い。なお、複数のストローク群から1つのストローク群集合を生成するための基準或いは方法には、種々のものが考えられる。
ストローク群集合から抽出された属性は、該ストローク群集合に含まれる1又は複数のストローク群それぞれに対して第2属性として付与される。第2属性は、例えば、文字又は図形である。第2属性の更なる例は、表、イラスト、数式などである。なお、孤立した1つのストローク群については、第2属性は、第1属性と等しいものとして構わない。
なお、第2属性の扱いに関しては、いくつかの方法が考えられる。例えば、すべてのストローク群に対して、第1属性と第2属性の両方が付与されても良いし、あるいは、第1属性と第2属性とが異なるストローク群に対してのみ、第2属性が付与されても良い。後者の場合、第2属性が付与されていないことは、第2属性が第1属性と等しいことを意味する。
第2属性の抽出には、種々の方法がある。
第2属性抽出部23は、例えば、ストローク群集合の全領域に占める、第1属性が文字であるストローク群の領域の占める割合と、ストローク群集合の全領域に占める、第1属性が図形であるストローク群の領域の占める割合とを比較し、前者が大きい場合には、第2属性を文字とし、後者が大きい場合には、第2属性を図形としても良い。ここで、ストローク群集合の全領域は、例えば、ストローク群集合に含まれる各ストローク群の外接図形の面積の総和であり、第1属性が文字であるストローク群の領域は、例えば、第1属性が文字である各ストローク群の外接図形の面積の総和である。第1属性が図形であるストローク群の領域は、例えば、第1属性が図形である各ストローク群の外接図形の面積の総和である。
あるいは、第2属性抽出部23は、例えば、ストローク群集合に含まれるストローク群の個数に対する、第1属性が文字であるストローク群の個数の比率と、ストローク群集合に含まれるストローク群の個数に対する、第1属性が図形であるストローク群の個数の比率とを比較する。前者が大きい場合には、第2属性を文字とし、後者が大きい場合には、第2属性を図形としても良い。
第2属性抽出部23はインクデータから直接、文書中の文字領域及び図形領域を求めてもよい。この時、ストローク群集合が文字領域となる場合に第2属性「文字」を付与する。また、ストローク群集合が図形領域となる場合に第2属性「図形」を付与するようにしても良い。
なお、ストローク群生成部21と第1属性抽出部22と第2属性抽出部23が、統合されても良い。すなわち、ストローク群と第1属性と第2属性が同時に得られる方法を用いても良い。
ここで、図6を参照しながら、ストローク群、第1属性及び第2属性の例について説明する。
(a)は、手書き文書(ストローク列)の例である。本例では、(b)の上方の113〜120が、それぞれ、第1属性「文字」を付与されるストローク群である。111で示す領域に含まれる各ストローク群113〜120には、それぞれ、第2属性「文字」が付与される。また、本例では、(b)の下方の各フローチャート要素は、それぞれ、第1属性「図形」を付与されるストローク群である。例えば処理、ディスク、線、矢印等が図を付与されるストローク群である。(図中の121,122等)、フローチャート要素内の文字群(図中の123等)は、それぞれ、第1属性「文字」を付与されるストローク群である。112で示す領域に含まれる各ストローク群には、それぞれ、第2属性「図形」が付与される。
ここで、例えば、ストローク群120は、第1属性=第2属性=「文字」であり、ストローク群122は、第1属性=第2属性=「図形」であるが、これに対して、例えば、ストローク群122内のストローク群123は、第1属性=「文字」、第2属性=「図形」である。ストローク群123は、それ自体は「文字」であるが、同時に、「図形」の領域を構成している。
なお、第1属性及び第2属性とは異なる第3属性を抽出し、利用しても良い。第4以降の属性も同様である。
付加情報生成部24は、個々のストローク群ごとに、付加情報を生成する。1つのストローク群に対して1又は複数の付加情報が生成された場合、該生成された1又は複数の付加情報が、該1つのストローク群に付与される。あるストローク群に対して、付加情報が生成されないことも有り得る。
なお、すべてのストローク群に対して付加情報を生成するようにしても良いし、例えば、第1属性と第2属性とが異なるストローク群に対してのみ付加情報を生成するようにしても良い。
付加情報は、例えば、2つのストローク群の間の関係性を示す情報である。関係性には、一方のストローク群が他のストローク群の内部に包含する包含関係、2つのストローク群が部分的にオーバーラップする交差関係、2つのストローク群が接続する接続関係、2つのストローク群が隣接する隣接関係がある。なお、位置的に離れた2つのストローク群は、上記のいずれの関係性も持たない。
本実施形態では、上記のいずれかの関係性が存在する場合に付加情報が生成され、そうでない場合には付加情報が生成されないものとする。
本実施形態では、上記の関係性のうち包含関係については、包含する側のストローク群については付加情報「包含する」が生成され、包含される側のストローク群については付加情報「包含される」が生成される。他の包含関係については、付加情報「交差」、付加情報「接続」又は付加情報「隣接」が生成される。
例えば、図7(a)の例では、ストローク群701がストローク群702を包含するので、ストローク群701には付加情報「包含する」が付与され、ストローク群702には付加情報「包含される」が付与される。(b)の例では、ストローク群703とストローク群704が交差しているので、両ストローク群703,704にそれぞれ付加情報「交差」が付与される。(c)の例では、ストローク群705とストローク群706が接続しているので、両ストローク群705,706にそれぞれ付加情報「接続」が付与される。(d)の例では、ストローク群707とストローク群710が互いに隣接するので、両ストローク群707,710にそれぞれ付加情報「隣接」が付与される。ストローク群707と711、ストローク群708と710、そして、ストローク群709と711についても、同様である。なお、この他に、ストローク群707と708、そして、ストローク群707と711は、互いに隣接している。
以下、包含関係、交差関係、接続関係、隣接関係の判定方法の例について説明する。
例えば、各ストローク群に対して外接する多角形を算出し、ストローク群Aの外接多角形がストローク群Bの外接多角形に包含され、かつ、ストローク群Bのサンプリング点が全てAの外接多角形の外にある場合に、ストローク群Aはストローク群Bに包含されていると判定しても良い。なお、多少はみ出すストロークにも対応できるよう、Aの外接多角形の面積の所定の割合以上(例えば9割以上)がBの外接多角形に包含され、Bのサンプリング点の所定の割合以上(例えば9割以上)がAの外接多角形の外にある場合としても良い。
また、包含されていないとき、かつ、ストローク群Aとストローク群Bとの外接矩形が所定の割合以上(例えば、AとBのうち面積の小さいほうの1割以上)で重なりをもつ場合に、AとBは交差していると判定しても良い。
また、包含又は交差でないとき、かつ、ストローク群Aとストローク群Bとの外接矩形が所定の割合未満(例えば、AとBのうち面積の小さいほうの1割未満)で重なりをもつ場合に、AとBは接続していると判定しても良い。なお、多少離れたストロークにも対応できるよう、極小な閾値以下なら外接矩形が離れていても接続と判定するようにしても良い。
また、包含又は接続でないとき、AとBの外接矩形の距離が閾値以下の場合に、隣接関係として判定しても良い。
なお、関係性の判定方法は上記方法に制限されるものではなく、他にも種々の方法が可能である。
次に、ストローク群のデータ構造について説明する。
ストローク群のデータ構造としては、種々のものが考えられる。
図8に、個々のストローク群のデータ構造の例を示す。図8の例では、1つのストローク群のデータは、「ストローク群ID」、「ストロークのデータ」、「第1属性」、「第2属性」、「付加情報」を含む。
「ストローク群ID」は、当該文書中でストローク群を識別する識別子である。
「ストロークのデータ」は、当該ストローク群を構成する1又は複数のストロークを特定可能とするデータである。「ストロークのデータ」には、当該ストローク群を構成する個々のストロークに対応するストローク構造(図4(a)参照)を保持しても良いし、当該ストローク群を構成する個々のストロークに対応するストロークIDを保持しても良い。
「第1属性」及び「第2属性」は、いずれのストローク群にも1つずつ付与される。
「付加情報」は、ストローク群によって、付与されるか否か及び付与される個数が変わりえる。ストローク群に付与される個々の付加情報は、当該ストローク群との関係をもつ他のストローク群(以下、関係ストローク群と呼ぶ。)のストローク群ID(以下、「関係ストローク群ID」と呼ぶ。)と、その関係性の種別との対からなる。なお、「関係性の種別」に加えて又はその代わりに、関係ストローク群の第1属性、或いは、第1属性及び第2属性をも保持するようにしても良い。
なお、「第1属性」「第2属性」「付加情報」のうち使用しないものがある場合には、それを図8から省略して構わない。
また、ストローク群のデータには、他の種々の情報を保持しても良い。
なお、提示部5は、ストローク群と、第1属性/第2属性/付加情報との関係を提示する機能を有するのが望ましい。例えば、図6の(b)では、文字のストローク群を矩形113〜120で示しており、第2属性を枠111,112で示している。これに加えて、第2属性が文字か図形かが分かるように、例えば、枠の線種、枠の色などを変えて提示しても良いし、「文字」「図形」などを表示しても良い。また、図6の(b)では、図形領域112内のストローク群を示す矩形を省略しているが、これを提示しても良い。また、第1属性について、文字か図形かが分かるように提示しても良い。更に、付加情報(包含関係、交差関係、接続関係、隣接関係)が分かるように、提示しても良い。また、図28,29のように、一部の情報のみ提示しても良い。
次に、図9を参照しながら、ストローク群のデータ構造の例について説明する。
例えば、(a)のようなフローチャートの一部を示すインクデータが入力され、4つのストローク群が生成されるものとする。ここでは、001のストローク群が、002のストローク群に包含され、002と004のストローク群が接続しており、そして、002と003のストローク群が接続している。この場合、例えば、ストローク群ID=001〜004のストローク群のデータ構造は、それぞれ、(b)〜(e)のようになる。なお、「ストロークのデータ」は省略している。
次に、図10を参照しながら、ストローク群のデータ構造の他の例について説明する。
例えば、(a)のような手書文字と図形の一部を示すインクデータが入力され、4つのストローク群が生成されるものとする。ここでは、001と002のストローク群が隣接しており、002と003のストローク群が隣接しており、002と004のストローク群が隣接しており、003と004のストローク群が交差している。この場合、例えば、ストローク群ID=001〜004のストローク群のデータ構造は、それぞれ、(b)〜(e)のようになる。なお、「ストロークのデータ」は省略している。
ところで、ストローク群データ生成部2は、少なくともストローク群生成部21を含み、更に第1属性抽出部22、第2属性抽出部23、付加情報生成部24を任意に含んでも良い。例えば、次のような構成のバリエーションが可能である。
・付加情報生成部24を含む。この場合、付加情報に応じて、ストローク群に関する処理を行うことができる。
・第1属性抽出部22と付加情報生成部24を含む。この場合、第1属性/付加情報に応じて、ストローク群に関する処理を行うことができる。
・第1属性抽出部22と第2属性抽出部23を含む。この場合、第1属性/第2属性に応じて、ストローク群に関する処理を行うことができる。
・第1属性抽出部22と第2属性抽出部23と付加情報生成部24を含む。この場合、第1属性/第2属性/付加情報に応じて、ストローク群に関する処理を行うことができる。
以下、ストローク群の生成及び第1属性の抽出方法の他の例を説明する。
手書き文書は、まず、文字領域と図形領域に分類される。
各々の「文字領域」の内包領域は、更に複数の領域に分類し得る。例えば、図11に示されるように、「文字領域」は、「段落ブロック」に分類し得、「段落ブロック」は、「行ブロック」に分類し得る。更に、図12に示すように、「行ブロック」は、「単語ブロック」に分類し得る。また、「単語ブロック」は、「文字ブロック」に分類し得る。
1つの「行ブロック」、1つの「単語ブロック」又は1つの「文字ブロック」を、1つのストローク群としても良い。1つの「段落ブロック」を1つのストローク群とすることも可能である。
次に、図13を参照しながら、分類処理の例について説明する。図13のブロック生成部20、ストローク群データ生成部2の内部機能ブロック又は内部処理の構成例である。
まず、手書き文書を、文字領域と図形領域と表領域の単位に分類する(領域分類211)。
例えば、各ストロークが文字と図形と表とのいずれに属するかを判定するように予め学習された識別器を用いて、ストロークに対して尤度を算出し、文書平面上での空間的な近さと連続性を加味するためマルコフ確率場(Markov random field;MRF)で表現し、最も分離のよい領域を推定することによって、文字領域と図形領域と表領域に領域分割しても良い(例えば、“X.-D. Zhou, J.-L. Yu, C.-L. Liu, T. Nagasaki, and K. Marukawa, “Online Handwritten Japanese Character String Recognition Incorporating Geometric Context,” Proc. Ninth Int’l Conf. Document Analysis and Recognition, Curitiba, Brazil, pp. 48-52, 2007.”を参照)。
なお、文字領域と図形領域と表領域の分類は、上記手法に制限されない。
手書き文書を、文字領域と図形領域と表領域に分類した後、文字領域に関して更に詳細な領域に分類する。
まず、本実施形態では、行ブロックの領域に分類する(行ブロック生成処理212)。
各ストロークデータには、筆記された時間情報が含まれるため、例えば、筆記順に並べ替えたストローク列に関して、連続するストロークの外接矩形間の距離が閾値未満ならば、同一の行ブロックに属すると判定し、閾値以上ならば、異なる行ブロックに属すると判定しても良い。
Figure 0005774558
上記の式は、i番目のストロークが直前のストロークと同一の行であるかを判定する関数である。SRは、ストロークの外接矩形を示し、Dist(r1,r2)は、外接矩形r1とr2の距離を返す関数とする。ここでの外接矩形間の距離は、外接矩形の重心点間のユークリッド距離とする。また、閾値thresholdlineは、予め定められたパラメータであり、筆記可能な文書平面の範囲に連動する。文字列等のストローク位置データのx軸方向が大幅に変化したことが分かればよく、例えば、対象インクデータのx軸の範囲の30%などとすればよい
ところで、行ブロックに相当するストローク列は軸と平行に筆記されているとは限らないので、表記の回転を吸収するため、右から左か、上から下か、左から右かの3種類の方向に正規化しても良い。文書平面上において、行ブロックの主成分分析により第一主成分を求め、その固有ベクトルと上記の3種類の方向とを比較して、上記の3種類の方向のうちで最も近い方向に、行ブロックを回転させる。なお、筆記されている言語が限定できる場合は、正規化する方向を限定することができる。例えば、アラビア語であるならば、左から右への方向のみに限定し、あるいは、日本語であるならば、右から左への方向と、上から下への方向の2方向に限定するなどが考えられる。
なお、行ブロックの分類は、上記手法に制限されない。
1つの「行ブロック」を、1つのストローク群とする場合には、分類処理はこれで完了して良い。1つの「単語ブロック」又は「文字ブロック」を、1つのストローク群とする場合には、更に次の分類処理を行う。
次に、文字ブロックの領域に分類する(文字ブロック生成処理213)。
例えば、上記の手法で分類した行ブロックの領域の外接矩形における短辺の中央値を1文字のサイズとして、各行ブロックの領域に対して分類を行う。筆記順にストロークの外接矩形のAND処理を行い、結合した矩形を求める。このとき、結合後の矩形が行ブロックの領域の長辺方向に文字サイズより大きくなるならば、対象のストロークは直前のそれと異なる文字ブロックの領域に属すると判定し、そうでないならば、同一の文字ブロックの領域に属すると判定しても良い。
なお、文字ブロックの分類は、上記手法に制限されない。
1つの「単語ブロック」を、1つのストローク群とする場合には、分類処理はこれで完了して良い。1つの「文字ブロック」を、1つのストローク群とする場合には、更に次の分類処理を行う。
次に、単語ブロックの領域に分類する(単語ブロック生成処理214)。
なお、ここでの単語とは、例えば形態素解析を行い品詞ごとに分割された単語ではなく、行ブロックよりも詳細で文字ブロックよりも大まかな領域を表す。正確に単語として分類するには文字認識が必須であるため、テキスト情報として意味のある単語になるとは限らない。単語ブロックの領域は、例えば、行ブロックの領域に対して文字ブロックの領域の外接矩形の座標値に関してクラスタリングすることによって、k個のクラスタに分類し、その各クラスタを単語ブロックの領域とすることによって、算出しても良い。
なお、単語ブロックの分類は、上記手法に制限されない。
1つの「段落ブロック」を、1つのストローク群とする場合には、行ブロックの分類に続いて更に次の分類処理を行う。
次に、段落ブロックの領域に分類する(段落ブロック生成処理215)。
例えば、文書平面上において、行ブロックの領域の短辺の方向に関して全てのストロークを射影し、一定区間中のストローク頻度を算出したヒストグラムを求める。求めたヒストグラムは多峰性を有し、その各峰を1つの段落ブロックとして分類する。峰の総数が未知であるため、頻度の凝縮性と射影軸上での距離を用いてクラスタリングすることによって、分峰することができる(例えば、“今井, 藤村, 黒田, ヒストグラム値による重み付き逐次ファシ゛ィクラスタリンク゛に基づく多峰性ヒストグラムの分峰手法, 映像情報メテ゛ィア学会誌, 映像メテ゛ィア61(4), pp. 550-553, 2007.”を参照)。
なお、段落ブロックの分類は、上記手法に制限されない。
これまで、インクデータからストローク群のデータの生成を中心に説明してきたが、以下では、ストローク群に対する処理を中心に説明する。なお、処理の対象とするストローク群は、例えば、図1のストローク群データ生成部2により生成されたものであっても良いし、外部から取得したものであっても良い。
次に、ストローク群処理部3について説明する。
ストローク群処理部3は、ストローク群に関する処理を行うための1又は複数の種々の処理部を含むことができる。図1では、例として、ストローク群に関する検索を行う検索部31と、ストローク群に関する整形処理を行う整形部32を示している(ただし、本実施形態は、これに制限されるものではない)。
ストローク群に関する処理には、様々なものがある。例えば、検索処理、編集処理などがある。検索には、例えば、文字検索、図形検索、ページ検索、レイアウト検索などがある。編集には、例えば、文字図形整形、フォント変更、文字図形編集、図形/文字のみ色付け表示などがある。
本実施形態では、ストローク群に割り当てられた第1属性と第2属性と付加情報の全部又は一部に応じて、処理の内容の全部又は一部を変えることができる。
例えば、
第1属性が文字のストローク群は、文字認識をして整形し、
第1属性が図形のストローク群は、図形認識をして整形し、
その後、
付加情報のない文字のストローク群は、左端揃えにし、
付加情報のある文字のストローク群は、中央揃えにする。
というような処理を定義することができる。
また、例えば、図6の例の場合に、ストローク群120は、第1属性=第2属性=「文字」であり、ストローク群122は、第1属性=第2属性=「図形」であり、ストローク群123は、第1属性=「文字」、第2属性=「図形」である。
図17に、図6とは異なる例を示す。(a)のように手書き文書が入力されたものとする。(b)の1701の領域に含まれるストローク群(ただし、1703内の「文字を囲むループ」を除く)には、第1属性=第2属性=「文字」が付与され、1702の領域に含まれるストローク群には、第1属性=第2属性=「図形」が付与される。しかし、1703内の「文字を囲むループ」を示すストローク群には、第1属性=「図形」、第2属性=「文字」が付与される。
例えば、属性に「文字」又は「図形」を用いる場合には、上記のように、
・第1属性=「文字」、第2属性=「文字」のストローク群
・第1属性=「図形」、第2属性=「図形」のストローク群
・第1属性=「文字」、第2属性=「図形」のストローク群
・第1属性=「図形」、第2属性=「文字」のストローク群
の4種類のストローク群が有り得る。
例えば、着目した属性に応じて、処理の内容を変えることができる。例えば、以下のような処理が考えられる。
・第1属性=「文字」のストローク群には、処理A1を適用し、第1属性=「図形」のストローク群には、処理A2を適用する。
・第2属性=「文字」のストローク群には、処理B1を適用し、第1属性=「図形」のストローク群には、処理B2を適用する。
・第1属性=「文字」、第2属性=「文字」のストローク群には、処理C1を適用し、第1属性=「図形」、第2属性=「図形」のストローク群には、処理C2を適用し、第1属性=「文字」、第2属性=「図形」のストローク群には、処理C3を適用し、第1属性=「図形」、第2属性=「文字」のストローク群には、処理C4を適用する。
また、処理モードに応じて、第1属性と第2属性と付加情報のうちから使用するものを選択することも可能である。処理モードの例を示す。
モード1:第1属性を用いる
モード2:第2属性を用いる
モード3:付加情報を用いる
モード4:第1属性及び第2属性を用いる
モード5:第1属性及び付加情報を用いる
モード6:第2属性及び付加情報を用いる
モード7:第1属性、第2属性及び付加情報を用いる
以上の組み合わせも可能である。
以下、ストローク群処理部3の幾つかの処理手順例を示す。
図14に、ストローク群処理部3の処理の一例を示す。
ステップS21で、対象となる手書き文書又はストローク群の指定を受け、ステップS22で、指定された手書き文書に含まれるストローク群又は指定されたストローク群を、第1属性/第2属性/付加情報に応じて、整形処理し、ステップS23で、その処理結果を提示する。
図15に、ストローク群処理部3の処理の一例を示す。
ステップS31で、クエリとする手書き文書又はストローク群の指定を受け、ステップS32で、第1属性/第2属性/付加情報を利用して、クエリによる検索を行い、ステップS33で、その処理結果を提示する。
図16に、ストローク群処理部3の処理の一例を示す。
ステップS41で、処理モードを取得し、ステップS42で、処理モードに応じた第1属性/第2属性/付加情報を用いて、ストローク群を処理し、ステップS43で、その処理結果を提示する。
なお、図14〜図16は例であり、これらの他にも様々な処理手順が可能である。
以下では、ストローク群に対する処理の幾つかの例について説明する。
<文字図形整形処理例>
文字図形整形処理の例について説明する。
例えば、次のような文字図形整形処理が可能である。
・第1属性=「文字」のストローク群(以下、文字ストローク群と呼ぶ。)は、文字認識エンジンにかけて、フォント形式にする。
・第1属性=「図形」のストローク群(以下、図形ストローク群と呼ぶ。)は、図形認識エンジンにかけて、線を綺麗にする。
・付加情報のない(図形に含まれない)文字は、左揃えにする。
・付加情報のある文字は、中央揃えにする。
上記処理の実現のためには、付加情報を用いた処理をしない場合には、一旦全て左揃えにし、次に必要な部分の文字を中央揃えに変更するなど、2度手間になる。実施形態では、付加情報を利用するため1度の処理が可能である。
図18に、手書き文書の例を示し、図19に、手書き文書を整形処理した結果の例を示す。
文字図形整形処理の他の例について説明する。
例えば、次のような文字図形整形処理が可能である。
・図形ストローク群に対して、包含、交差又は接続関係にある文字ストローク群は、整形しない。
・図形ストローク群に対して、隣接関係にある文字ストローク群は、整形する。具体的には、表の中身は、手書きそのままの状態で表現し、キャプションだけを整形する場合などがある。
また、整形したい関係性の文字をユーザが選択できるようにしても良い。例えば、ユーザが、包含、交差…などの選択肢から選択すし、選択された関係性の付与されたものを整形する。
図20の(a)に、表と、表に隣接する表題「テストのスコア」の手書き文書の例を示す。ここでは、表が認識され、表の中の文字の内包が検出される具体的には、表の中身は、テストのスコアが表に内包されていることが検出される。(b)に、表に内包される文字は、整形処理せず、表の外部に隣接する表題文字「テストのスコア」のみが整形処理された結果の例を示す。
図21に他の例を示す。(a)に、イラスト、手書きのコメント「海がきれいだよ」と、表題「8月8日沖縄」を手書きした例を示す。(b)は、手書きのコメント(2101、2102)を整形処理する場合である。「8月8日沖縄」と「海がきれいだよ」の文字ストローク群がそれぞれ2101、2102に整形される。(c)は、イラストに隣接する文字(2105)は、整形せず、イラストから離れている文字のみを整形(2101)する処理の場合の結果の例を示す。
文字図形整形処理の他の例について説明する。
例えば、次のような文字図形整形処理が可能である。
・文字ストローク群は、整形する。
・文字ストローク群の中でも、図形ストローク群に対して包含、接続又は隣接関係にある文字ストローク群は、強調表示する。
図22の(a)と(b)に、コメント「明日はいつもの場所に5時に行く!」と、「5時」を強調するための図形(2201,2202)を手書きした例を示す。2201は、丸での囲みによる強調であり、2201は、下線の付与による強調である。(c)に、文字を整形処理するとともに、図形(2201,2202)と交差又は隣接する文字のみを強調処理(この例では拡大)した結果の例を示す。なお、強調処理は、拡大に限らず、太字にする、赤いフォントにする、マークするなど、種々の方法が可能である。
文字図形整形処理の他の例について説明する。
例えば、次のような文字図形整形処理が可能である。
・文字ストローク群は、整形する。
・文字ストローク群の中でも、図形ストローク群に対して交差又は隣接の関係にある文字ストローク群を削除し、前に詰めて表示する。
図23の(a)と(b)に、コメント「すみませんが頭が頭痛なので休みます。」と、「頭が」を削除するための図形(2301,2302)を手書きした例を示す。(c)(d)に、文字を整形処理するとともに、図形(2201,2202)と交差する文字のみを削除又は非表示にした結果の例を示す。(c)は、削除又は非表示のある行を左詰にしない例であり(2303参照)、(d)は、削除又は非表示のある行を左詰にする例である(2304参照)。
このように、二重線又は×などで不要な文字が消されているページを整形することができる。
<ページ検索処理>
ページ検索処理の例について説明する。
ページ検索では、予め筆記された(例えば大量の)手書き文書から、ユーザが手書きした(筆跡データを含む)手書き文書をクエリとして、検索を行う。ユーザが文書を指定する方法には、どのような方法を使用しても良い。例えば、ユーザが実際に文書を手書きすることによって、クエリを指定するようにしても良い。予め用意されたストローク列のテンプレートをレイアウト上に配置することによってユーザが文書を作成しても良い。既存の手書き文書の中からユーザがクエリとして用いる文書を選択するようにしても良い。それらの組み合わせであっても良い。クエリに類似またはマッチするレイアウトを有する手書き文書が、検索結果として提示される。
例えば、図24の(a)のような手書き文書が保存されており、(b)又は(c)のようなクエリが指定される場合に、(a)〜(c)それぞれに例示するように、手書き文書及びクエリを、文字部分と図形部分に分解して、文字部分ごとに、または図形部分ごとに、マッチングをとっても良い。本実施形態では、更に、付加情報(例えば、包含、交差、接続、隣接の関係性)を利用することができる。
例えば、クエリがもつ接続関係と同じ接続関係をもつ候補ほど、上位にする。
例えば、クエリに応じて、図形ストローク群が文字ストローク群を包含する関係をもつ条件又は図形ストローク群が文字ストローク群を包含する関係をもたない条件を満たしている候補を上位にする。
さらに、その中でも、図及び文字の位置の近いものを上位にする。
例えば、図24の(b)のようなクエリが指定された場合の検索結果の例を、図25の(a)に示す。図25中の不等号は、検索された手書き文書の類似度の大小関係を示している。このクエリでは文字「D」が図形との関係をもたないことから、文字「D」が図形との関係をもたない候補が上位にきている。
これに対して、例えば、図24の(c)のようなクエリが指定された場合の検索結果の例を、図25の(b)に示す。この例では、文字「D」が図形との包含関係をもつ候補が上位にきている。
このように、2つのクエリについて同じ候補が検索されるが、付加情報を用いることによって、クエリに応じて優先度が変更できる。従って、候補の提示順位等が異なってくる。
また、ユーザは、文書中の覚えている部分だけをクエリとして記述する場合がある。ユーザが覚えている部分の付加情報を利用した場合、所望の検索結果を得られる可能性があり、また、所望の候補が上位にくる可能性がある。
なお、検索結果を提示する際に、表示されたページとともに、どのような関係性かについても提示すれば、より簡単に所望の結果が得られるので良い。
<メニューからの処理選択の例>
メニューからの処理選択の例について説明する。
ユーザ操作の例として、図26を参照しながら、文字図形整形の例について説明する。
整形処理には、第1属性/第2属性/付加情報の全部又は一部が使用されても良い。
(a)ページ閲覧モードの初期状態において、整形したいページ(属性が付与されたもの)を選択する。
(b)所望のページが表示される。なお、既存ページの選択ではなく、その場で手書きして属性を付与したものでも良い。
(c)ページ上でクリックすると、該ページに対する操作一覧が表示される。
(d)操作一覧において、文字図形整形をクリックする。
(e)整形処理を行う。例えば、文字部分は文字認識による整形を行い、図形部分は図形認識による整形を行う。例えば、図17から図18のように、上部に文字、下部に図形の混在したものがそれぞれ必要に応じて整形された結果が得られる。
(f)整形されたページが表示される。
(ユーザ操作の例:レイアウト検索)
ユーザ操作の例として、図27を参照しながら、レイアウト検索の例について説明する。
ページ検索には、第1属性/第2属性/付加情報の全部又は一部が使用されても良い。
(a)ページ閲覧モードの初期状態において、クエリとしたいページ(属性が付与されたもの)を選択する。
(b)所望ページが表示される。なお、既存ページの選択ではなく、その場で手書きして属性付与したものでも良い。
(c)ページ上でクリックすると、該ページに対する操作一覧が表示される。
(d)操作一覧において、レイアウト検索をクリックする。
(e)検索を行う。例えば、第1属性/第2属性/付加情報の全部又は一部を利用して、全頁のレイアウトが解析されても良い。例えば、図6(a)の文書がクエリとして選択される。例えば、第2属性が用いられる場合、図6(b)のように、文書の上方部分111が第2属性「文字」であり、文書の下方部分112が第2属性「図形」であるクエリが用いられる。この結果、例えば、図17のような文書が検索される。
(f)クエリページと似たレイアウトのページが表示される。
<レイアウト検索の例>
レイアウト検索の例について説明する。
図28に、レイアウト検索の例を示す。
(a)ユーザが手書きクエリを指定する。なお、ユーザは、覚えている部分だけ記述しても良い。
(b)手書きクエリに対して、第1属性/第2属性/付加情報の全部又は一部が付与される。
(c)レイアウト検索を行う。同じレイアウトのページが複数検索された場合、類似度を算出して順位付けを行う。
その際、例えば、文字部分に文字認識処理をかけ、その領域にクエリ内の文字を含んだページの類似度を高く設定してもよい。同様に、図形部分に図形認識をし、その領域でクエリ内の図を含んだページの類似度を高く設定しても良い。また、文字の方が図形よりも確信度が高いとみなしても良い。
(d)候補を類似度の順に表示する。
図29に、レイアウト検索の他の例を示す。
(a)図28の(a)と同じように、ユーザがクエリを手書きする。
(b)ここでは、更に、図形ストローク群の中に、文字ストローク群「判定部」と書かれたものとする。
(c)レイアウト検索を行う。
その際、例えば、文字部分に文字認識処理をかけ、その領域にクエリ内の文字を含んだページの類似度を高く設定してもよい。同様に、クエリの図形領域中に文字がある場合は、図形領域の中に同じ文字を含んだページの類似度を高く設定するようにしても良い。この時ユーザは必ずしも適切な文字の位置を示さないので、文字の位置まで合っている必要はなく、同じ文字を含んだページを検索結果としてもよい)。また、図形部分も同様に図形認識をし、その領域でクエリ内の図を含んだページの類似度を高く設定しても良い。
(d)候補を類似度の順に表示する。
次に、提示部5について説明する。
提示部5は、ストロークに関する情報、ストローク群に関する情報、ストローク群に対する処理の結果などを提示する。
表示の方法には、種々の方法が可能である。
例えば、検索結果の中の一部のページを表示する場合に、
・文字と図形が、離れているページだけ表示
・文字と図形が、包含、交差、接続、隣接関係にあるページだけ表示
・文字と図形が、上下関係の任意の組み合わせのページだけ表示
などをユーザが切り替えられるようにしても良い。
また、例えば、検索結果を表示するなど、複数の文書を表示する場合に、図30に例示するように、表示デバイスの画面をタイル状に分割し、各タイルに縮小した文書のサムネイルを表示させるようにしても良い。その際に、表示順として、例えば、検索結果の類似度の高いストローク列を含む順に、文書のサムネイルを並べるようにしても良い。また、サムネイルにおいて、各種の領域を示す枠を表示するようにしても良い。
また、1つのページを表示する際に、例えば、図31に示すように、一様縮小しても良い。
また、1つのページを表示する際に、例えば、
・注目領域(クエリに対応する領域を含む一定矩形領域)だけクリッピング
・文字部分だけを表示
・図形部分だけを表示
などをユーザが切り替えられるようにしても良い。
図32に、図31の文字「ディレクター」の部分に注目した表示例を示す。
また、1つのページを表示する際に、例えば、リターゲッティング技術を用いても良い。リターゲッティング技術によれば、注目領域は見やすくしつつ、全体も把握することができる。リターゲッティング技術には、例えば、次のようなものがある。
・注目領域を一様拡大、その外側一定範囲までを歪める(特許4977243参照)。
・SeamCarving:注目領域以外のエネルギーの小さい(平坦)領域を削る。
図32に、図31の文字「ディレクター」の部分に注目した表示例を示す。
また、例えば、表示するページの順序についても、種々のバリエーションが可能である。例えば、ページ検索において、クエリページでの関係性とは関係なく、上位に表示したい関係性をユーザが選択できるようにすることも可能である。
上述した属性は一度ユーザに提示し、ユーザが変更することも可能である。
例えば、第1属性に「文字」を付与できるようにしてもよい。ユーザは書き込みを行うものが文字または図形であることを指定してもよい。入力端末に、「文字」や「図形」等のいくつかの属性候補を提示し、ユーザが付与できるようにしてもよいし、文字や図形を入力するモードに応じた属性を第1属性または第2属性にするよう、ユーザが選択してもよい。
以下、本実施形態のバリエーションについて説明する。
本実施形態の手書き文書処理装置のストローク群処理部3は、手書き文書処理装置の内部に蓄積されている手書き文書群を検索対象としても良いし、手書き文書処理装置がイントラネット及び/又はインターネット等のネットワークに接続可能である場合に、ネットワークを介してアクセス可能な手書き文書群を検索対象としても良いし、手書き文書処理装置に接続されたリムーバブル・メモリ内に蓄積された手書き文書群を検索対象としても良いし、それらの任意の組み合わせであっても良い。なお、それら手書き文書は、少なくとも本実施形態の検索において使用する特徴量と同じ特徴量が対応付けられて、蓄積されているのが望ましい。
本実施形態の手書き文書処理装置は、スタンドアローンの装置として構成することも、ネットワークを介して通信可能な複数のノードに分散した形で構成することも可能である。
また、本実施形態の手書き文書処理装置は、デスクトップ型又はラップトップ型の汎用計算機、携帯型の汎用計算機、その他の携帯型の情報機器、タッチパネルを有する情報機器、スマートフォン、その他の情報処理装置など、様々なデバイスによって実現可能である。
図34に、本実施形態の手書き文書処理装置を実現するハードウェアの構成例を示す。図中、201はCPU、202は所定の入力デバイス、203は所定の出力デバイス、204はRAM、205はROM、206は外部メモリ・インタフェース、207は通信インタフェースである。例えば、タッチパネルを使用する場合には、例えば液晶パネルとペンと液晶パネル上に設けられたストローク検出装置等が利用される(図中、208参照)。
また、例えば、図1の構成の一部分をクライアント上に設け、図1の構成の残りの部分をサーバ上に設けることも可能である。
例えば、図35は、イントラネット及び/又はインターネット等のネットワーク302上にサーバ301が存在し、各クライアント303,304がネットワーク302を介してそれぞれサーバ301と通信することによって、本実施形態の手書き文書処理装置が実現する様子を例示している。
なお、クライアント303は、無線通信を介してネットワーク302に接続され、クライアント304は、有線通信を介してネットワーク302に接続される場合を例示している。
クライアント303,304は、通常、ユーザ装置である。サーバ301は、例えば、企業内LAN等のLAN上に設けられたものであっても良いし、インターネット・サービス・プロバイダ等が運営するものであっても良い。また、サーバ301がユーザ装置であって、あるユーザが他のユーザに機能を提供するものであっても良い。
図1の構成を、クライアントとサーバに分散する方法として、種々の方法が考えられる。
例えば、図1中、102で示す範囲をクライアント側に搭載し、それ以外の範囲をサーバ側に搭載しても良いし、ストローク群処理部3のみをサーバ側に搭載し、それ以外の範囲をクライアント側に搭載しても良い。
なお、図1の101の範囲を備えた装置、あるいは、図1の101からストローク取得部1を除外した範囲を備えた装置を実現しても良い。この場合、当該装置は、ストローク列から、ストローク群のデータを生成する機能を有するものである。また、例えば、図1中の102で示す範囲をクライアント側に搭載し、ストローク群処理部3を第1のサーバに搭載し、101からストローク取得部1を除いた範囲を第2のサーバに搭載しても良い。
また、これら以外の分散方法も可能である。
以上説明してきたように、本実施形態によれば、第1属性/第2属性/付加情報の全部又は一部を用いてストローク群に対する処理を行うので、より効果的にストローク群を処理することができる。
なお、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の手書き文書処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の手書き文書処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…ストローク取得部、2…ストローク群データ生成部、3…ストローク群処理部、4…操作部、5…提示部、11…インクデータデータベース、12…ストローク群データベース、20…ブロック生成部、21…ストローク群生成部、22…第1属性抽出部、23…第2属性抽出部、24…付加情報生成部、31…検索部、32…整形部、201…CPU、202…入力デバイス、203…出力デバイス、204…RAM、205…ROM、206…外部メモリ・インタフェース、207…通信インタフェース、301…サーバ、302…ネットワーク、303,304…クライアント。

Claims (11)

  1. ストロークデータを取得するストローク取得部と、
    前記ストロークデータをもとに、所定の基準を満たす1又は複数のストロークからなるストローク群を生成するストローク群生成部と
    記ストローク群のうちの一つが前記ストローク群のうちの他の一つを包含する若しくは包含される関係、又は、前記ストローク群のうちの前記一つと、前記ストローク群のうちの前記他の一つとが交差、接続若しくは隣接する関係のいずれかの関係性を示す付加情報を生成して、前記ストローク群のうちの前記一つに付与する付加情報生成部と、
    個々の前記ストローク群について第1属性を抽出して、前記ストローク群に付与する第1属性抽出部と、
    所定の基準を満たす複数の前記ストローク群からなるストローク群集合について第2属性を抽出して、前記ストローク群集合に含まれる前記ストローク群のそれぞれに付与する第2属性抽出部と
    を備える手書き文書処理装置。
  2. 前記ストローク群に付与された前記付加情報に基づいて、前記ストローク群を処理するストローク群処理部を更に含む請求項1に記載の手書き文書処理装置。
  3. 前記第1属性と前記第2属性とが異なる前記ストローク群に対してのみ前記付加情報を生成する請求項に記載の手書き文書処理装置。
  4. 前記ストローク群に付与された前記第1属性、前記第2属性及び前記付加情報のうちの少なくとも前記第2属性又は前記付加情報に基づいて、前記ストローク群を処理するストローク群処理部を更に含む請求項に記載の手書き文書処理装置。
  5. 前記ストローク群に付与された前記第1属性、前記第2属性及び前記付加情報のうち、指定された処理モードに対応するものに基づいて、前記ストローク群を処理するストローク群処理部を更に含む請求項に記載の手書き文書処理装置。
  6. 前記第1属性及び前記第2属性は、文字又は図形である請求項に記載の手書き文書処理装置。
  7. 前記処理は、整形処理又は検索処理である請求項に記載の手書き文書処理装置。
  8. 前記処理は検索処理であって、前記第1属性及び前記第2属性がそれぞれ文字及び図形である場合に、前記検索処理に指定されたクエリに包含の関係性を含む付加情報がある場合には、前記包含の関係性を含む付加情報をもつ候補ほど上位になるように提示する提示部を更に備える請求項2に記載の手書き文書処理装置。
  9. 前記ストローク群のうちの前記一つと、前記ストローク群のうちの前記他の一つと、前記付加情報により示される前記関係性との対応を提示する提示部を更に備える請求項1に記載の手書き文書処理装置。
  10. 手書き文書処理装置の手書き文書処理方法において、
    ストロークデータを取得するステップと、
    前記ストロークデータをもとに、所定の基準を満たす1又は複数のストロークからなるストローク群を生成するステップと、
    前記ストローク群のうちの一つが前記ストローク群のうちの他の一つを包含する若しくは包含される関係、又は、前記ストローク群のうちの前記一つと、前記ストローク群のうちの前記他の一つとが交差、接続若しくは隣接する関係のいずれかの関係性を示す付加情報を生成して、前記ストローク群のうちの前記一つに付与するステップ
    個々の前記ストローク群について第1属性を抽出して、前記ストローク群に付与するステップと、
    所定の基準を満たす複数の前記ストローク群からなるストローク群集合について第2属性を抽出して、前記ストローク群集合に含まれる前記ストローク群のそれぞれに付与するステップと
    を有する手書き文書処理装置。
  11. コンピュータを手書き文書処理装置として機能させるためのプログラムであって、
    ストロークデータを取得するストローク取得部と、
    前記ストロークデータをもとに、所定の基準を満たす1又は複数のストロークからなるストローク群を生成するストローク群生成部と、
    前記ストローク群のうちの一つが前記ストローク群のうちの他の一つを包含する若しくは包含される関係、又は、前記ストローク群のうちの前記一つと、前記ストローク群のうちの前記他の一つとが交差、接続若しくは隣接する関係のいずれかの関係性を示す付加情報を生成して、前記ストローク群のうちの前記一つに付与する付加情報生成部と
    個々の前記ストローク群について第1属性を抽出して、前記ストローク群に付与する第1属性抽出部と、
    所定の基準を満たす複数の前記ストローク群からなるストローク群集合について第2属性を抽出して、前記ストローク群集合に含まれる前記ストローク群のそれぞれに付与する第2属性抽出部と
    をコンピュータに実現させるためのプログラム。
JP2012178937A 2012-08-10 2012-08-10 手書き文書処理装置、方法及びプログラム Active JP5774558B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012178937A JP5774558B2 (ja) 2012-08-10 2012-08-10 手書き文書処理装置、方法及びプログラム
CN201380042549.0A CN104541288A (zh) 2012-08-10 2013-08-09 手写文档处理设备和方法
PCT/JP2013/071990 WO2014025072A2 (en) 2012-08-10 2013-08-09 Handwritten document processing apparatus and method
US14/616,511 US20150146985A1 (en) 2012-08-10 2015-02-06 Handwritten document processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012178937A JP5774558B2 (ja) 2012-08-10 2012-08-10 手書き文書処理装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014038384A JP2014038384A (ja) 2014-02-27
JP5774558B2 true JP5774558B2 (ja) 2015-09-09

Family

ID=49253373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012178937A Active JP5774558B2 (ja) 2012-08-10 2012-08-10 手書き文書処理装置、方法及びプログラム

Country Status (4)

Country Link
US (1) US20150146985A1 (ja)
JP (1) JP5774558B2 (ja)
CN (1) CN104541288A (ja)
WO (1) WO2014025072A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6352695B2 (ja) * 2014-06-19 2018-07-04 株式会社東芝 文字検出装置、方法およびプログラム
US9613263B2 (en) * 2015-02-27 2017-04-04 Lenovo (Singapore) Pte. Ltd. Ink stroke grouping based on stroke attributes
US9904847B2 (en) * 2015-07-10 2018-02-27 Myscript System for recognizing multiple object input and method and product for same
US10324618B1 (en) * 2016-01-05 2019-06-18 Quirklogic, Inc. System and method for formatting and manipulating digital ink
US10067731B2 (en) 2016-01-05 2018-09-04 Quirklogic, Inc. Method and system for representing a shared digital virtual “absolute” canvas
US10129335B2 (en) 2016-01-05 2018-11-13 Quirklogic, Inc. Method and system for dynamic group creation in a collaboration framework
US10755029B1 (en) 2016-01-05 2020-08-25 Quirklogic, Inc. Evaluating and formatting handwritten input in a cell of a virtual canvas
US9898653B2 (en) * 2016-05-25 2018-02-20 Konica Minolta Laboratory U.S.A. Inc. Method for determining width of lines in hand drawn table
US10271033B2 (en) * 2016-10-31 2019-04-23 Verizon Patent And Licensing Inc. Methods and systems for generating depth data by converging independently-captured depth maps
JP7172351B2 (ja) * 2018-09-21 2022-11-16 富士フイルムビジネスイノベーション株式会社 文字列認識装置及び文字列認識プログラム
JP6918252B2 (ja) 2018-11-02 2021-08-11 株式会社ワコム インクデータ生成装置、方法及びプログラム
JP7331551B2 (ja) * 2019-08-19 2023-08-23 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3638176B2 (ja) * 1996-05-24 2005-04-13 松下電器産業株式会社 手書きデータ編集装置及び手書きデータ編集方法
US7136082B2 (en) * 2002-01-25 2006-11-14 Xerox Corporation Method and apparatus to convert digital ink images for use in a structured text/graphics editor
US7352902B2 (en) * 2003-09-24 2008-04-01 Microsoft Corporation System and method for detecting a hand-drawn object in ink input
JP4654773B2 (ja) * 2005-05-31 2011-03-23 富士フイルム株式会社 情報処理装置、動画像符号化装置、情報処理方法及び情報処理プログラム
US7929769B2 (en) * 2005-12-13 2011-04-19 Microsoft Corporation Script recognition for ink notes
JP2011221604A (ja) * 2010-04-05 2011-11-04 Konica Minolta Business Technologies Inc 手書きデータ管理システム及び手書きデータ管理プログラム並びに手書きデータ管理方法
JP4977243B2 (ja) 2010-09-16 2012-07-18 株式会社東芝 画像処理装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP2014038384A (ja) 2014-02-27
WO2014025072A2 (en) 2014-02-13
CN104541288A (zh) 2015-04-22
WO2014025072A3 (en) 2014-05-01
US20150146985A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
JP5774558B2 (ja) 手書き文書処理装置、方法及びプログラム
JP5787843B2 (ja) 手書き描画装置、方法及びプログラム
RU2702270C2 (ru) Обнаружение выбора рукописного фрагмента
US9886669B2 (en) Interactive visualization of machine-learning performance
AU2007317938B2 (en) Media material analysis of continuing article portions
JP5717691B2 (ja) 手書き文字検索装置、方法及びプログラム
US7860313B2 (en) Methods and apparatuses for extending dynamic handwriting recognition to recognize static handwritten and machine generated text
WO2020192463A1 (zh) 一种展示方法及装置
CN103838566A (zh) 信息处理装置和信息处理方法
JP2007317022A (ja) 手書文字処理装置及び手書文字処理方法
JPH1153402A (ja) 情報検索装置
US20140184610A1 (en) Shaping device and shaping method
Kumar et al. Benchmarking recognition results on camera captured word image data sets
JP2013246732A (ja) 手書き文書検索装置、方法及びプログラム
JP5694236B2 (ja) 文書検索装置、方法およびプログラム
Chen et al. UI layers merger: merging UI layers via visual learning and boundary prior
JP4148867B2 (ja) 筆跡処理装置
JP6030172B2 (ja) 手書き文字検索装置、方法及びプログラム
JP2009020689A (ja) データ検索方法及びデータ検索装置
JP2016031721A (ja) 検索装置、方法及びプログラム
KR102542174B1 (ko) 디지털 참고서 제공 시스템 및 그 방법
JP7395915B2 (ja) 情報処理装置、コンピュータプログラム及び情報処理方法
JP5911981B2 (ja) 文書検索装置、方法およびプログラム
WO2020090356A1 (ja) インクデータ生成装置、方法及びプログラム
Tao et al. Ground-truth and performance evaluation for page layout analysis of born-digital documents

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150701

R151 Written notification of patent or utility model registration

Ref document number: 5774558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350