(57)【要約】【課題】より自由に手書きされた表を整形できる手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムを提供する。【解決手段】実施形態によれば、入出力部と、処理部と、を含む手書き文書処理装置が提供される。入出力部は、手書き文書の複数セットのストロークデータを取得する。複数セットのストロークデータは、第１ストロークデータを含む第１部分と、第２ストロークデータを含む第２部分と、第３ストロークデータを含む第３部分と、を含む。処理部は、入出力部が取得した複数セットのストロークデータに基づいて、第１部分に対応する第１罫線と、第２部分に対応する第１セル内データと、第３部分に対応する第２セル内データと、第１セル内データと第２セル内データとの間に設けられた第２罫線と、を含む第１表データを導出して、第１表データを入出力部に供給する第１処理動作が可能である。【選択図】図１
2015035150.tif 000002
【特許請求の範囲】
【請求項１】
手書き文書の複数セットのストロークデータを取得する入出力部であって、前記複数セットのストロークデータは、第１ストロークデータを含む第１部分と、第２ストロークデータを含む第２部分と、第３ストロークデータを含む第３部分と、を含む入出力部と、
前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第１部分に対応する第１罫線と、前記第２部分に対応する第１セル内データと、前記第３部分に対応する第２セル内データと、前記第１セル内データと前記第２セル内データとの間に設けられた第２罫線と、を含む第１表データを導出して、前記第１表データを前記入出力部に供給する第１処理動作の実施が可能な処理部と、
を備えた手書き文書処理装置。
【請求項２】
前記第１部分は第１方向に沿って延在し、
前記第１部分は、複数セットの前記第１ストロークデータを含み、
前記複数セットの前記第１ストロークデータは、前記第１方向に沿って互いに離間し、
前記第１罫線は、前記第１方向に沿って延在する請求項１記載の手書き文書処理装置。
【請求項３】
前記複数セットの前記第１ストロークデータどうしの間隔は、前記第２部分の前記第１方向に沿った長さよりも短く、前記第３部分の前記第１方向に沿った長さよりも短い請求項２記載の手書き文書処理装置。
【請求項４】
前記第２部分と、前記第３部分と、は、前記第２部分から前記第３部分に向かう方向において、隣り合う請求項１〜３のいずれか１つに記載の手書き文書処理装置。
【請求項５】
前記処理部は、
前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第１部分に対応する第３罫線と、前記第２部分に対応する第３セル内データと、を含む第２表データを導出して、前記第２表データを前記入出力部に供給する第２処理動作がさらに可能であり、
表示部に前記第１部分を表示したときの前記第１部分の延在方向と、前記表示部に前記第３罫線を表示したときの前記第３罫線の延在方向と、は、交差する請求項１〜４のいずれか１つに記載の手書き文書処理装置。
【請求項６】
前記表示部は、辺を有する表示領域を有し、
前記第１部分の前記延在方向は、前記辺に対して傾斜し、
前記第３罫線の前記延在方向は、前記辺に沿う請求項５記載の手書き文書処理装置。
【請求項７】
前記第１処理動作は、
第１軸と、前記第１軸に対して垂直な第２軸と、を導出する軸推定処理であって、前記第２軸への前記複数セットのストロークデータの射影成分の累積のピークは、前記第２軸に対して傾斜する傾斜軸への前記複数セットのストロークデータの射影成分の累積のピークよりも高い軸推定処理と、
前記第２軸への前記複数セットのストロークデータの射影成分の累積に基づいて、前記第１部分に対応する前記第１罫線を導出し、前記第２部分と前記第３部分との間を通り前記第１罫線に対して平行及び垂直のいずれかの前記第２罫線を導出する罫線導出処理と、
を含み、
前記第２軸への前記第１部分の射影成分のピーク値は、前記第２軸への前記第２部分の射影成分のピーク値よりも高く、前記第２軸への前記第３部分の射影成分のピーク値よりも高い請求項１〜６のいずれか１つに記載の手書き文書処理装置。
【請求項８】
前記第１処理動作は、
第１軸と、前記第１軸に対して垂直な第２軸と、を導出する軸推定処理であって、前記第２軸への前記複数セットのストロークデータの射影成分の累積のピーク値は、前記第２軸に対して傾斜する傾斜軸への前記複数セットのストロークデータの射影成分の累積のピーク値よりも高い軸推定処理と、
前記第１軸への前記複数セットのストロークデータの射影成分の累積と、前記第２軸への前記複数セットのストロークデータの射影成分の累積と、の少なくともいずれかに基づいて、前記複数セットのストロークデータを、罫線のデータと、前記罫線のデータとは異なるセル内データと、に分類する分類処理を含み、
前記第１罫線は、前記罫線のデータの少なくとも一部を含む請求項１〜６のいずれか１つに記載の手書き文書処理装置。
【請求項９】
前記罫線のデータの前記第２軸への射影成分の累積のピークは、前記セル内データの前記第２軸への射影成分の累積のピークよりも高い請求項８記載の手書き文書処理装置。
【請求項１０】
前記第１処理動作は、
第１軸と、前記第１軸に対して垂直な第２軸と、を導出する軸推定処理であって、前記第２軸への前記複数セットのストロークデータの射影成分の累積のピーク値は、前記第２軸に対して傾斜する傾斜軸への前記複数セットのストロークデータの射影成分の累積のピーク値よりも高い軸推定処理と、
前記第１軸への前記複数セットのストロークデータの射影成分の累積と、前記第２軸への前記複数セットのストロークデータの射影成分の累積と、の少なくともいずれかに基づいて、前記第１軸及び前記第２軸の少なくともいずれかと前記第１罫線とが交差する交点を推定する交点推定処理と、
前記複数セットのストロークデータのそれぞれと、前記推定された前記交点と、の間の距離に基づいて、前記複数セットのストロークデータを、罫線のデータと、前記罫線のデータとは異なるセル内データと、に分類する分類処理と、
を含み、
前記第１部分と前記交点との間の距離は、前記第２部分と前記交点との距離よりも短く、前記第３部分と前記交点との間の距離よりも短い、請求項１〜６のいずれか１つに記載の手書き文書処理装置。
【請求項１１】
前記交点推定処理は、
前記第１軸への前記複数セットのストロークデータの射影成分の前記累積のピークの位置と、前記第２軸への前記複数セットのストロークデータの射影成分の前記累積のピークの位置と、の少なくともいずれかに基づいて、前記交点の少なくとも一部を推定することを含む請求項１０記載の手書き文書処理装置。
【請求項１２】
前記交点推定処理は、
前記第１軸への前記複数セットのストロークデータの射影成分の前記累積のボトムの位置と、前記第２軸への前記複数セットのストロークデータの射影成分の前記累積のボトムの位置と、の少なくともいずれかに基づいて、前記交点の少なくとも一部を推定することを含む請求項１０記載の手書き文書処理装置。
【請求項１３】
前記軸推定処理は、
前記第２軸への前記複数セットのストロークデータの前記射影成分の前記累積のエントロピーが最小となるように、前記第２軸を推定する請求項７〜１２のいずれか１つに記載の手書き文書処理装置。
【請求項１４】
手書き文書の複数セットのストロークデータを取得する入出力部であって、前記複数セットのストロークデータは、複数セットの第１ストロークデータを含み第１方向に沿って延在する第１部分と、第２ストロークデータを含む第２部分と、を含む入出力部と、
前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第１部分に対応する第１罫線と、前記第２部分に対応する第１セル内データと、を含む第１表データを導出して、前記第１表データを前記入出力部に供給する第１処理動作の実施が可能な処理部と、
を備え、
前記複数セットの前記第１ストロークデータは、前記第１方向に沿って互いに離間し、
前記第１罫線は、前記第１方向に沿って延在する手書き文書処理装置。
【請求項１５】
前記複数セットの前記第１ストロークデータどうしの間隔は、前記第２部分の前記第１方向に沿った長さよりも短い請求項１４記載の手書き文書処理装置。
【請求項１６】
コンピュータに、
手書き文書の複数セットのストロークデータを取得させ、前記複数セットのストロークデータは、第１ストロークデータを含む第１部分と、第２ストロークデータを含む第２部分と、第３ストロークデータを含む第３部分と、を含み、
前記取得した前記複数セットのストロークデータに基づいて、前記第１部分に対応する第１罫線と、前記第２部分に対応する第１セル内データと、前記第３部分に対応する第２セル内データと、前記第１セル内データと前記第２セル内データとの間に設けられた第２罫線と、を含む第１表データを導出する第１処理動作を実施させる手書き文書処理プログラム。
【請求項１７】
手書き文書の複数セットのストロークデータを取得し、前記複数セットのストロークデータは、第１ストロークデータを含む第１部分と、第２ストロークデータを含む第２部分と、第３ストロークデータを含む第３部分と、を含み、
前記取得した前記複数セットのストロークデータに基づいて、前記第１部分に対応する第１罫線と、前記第２部分に対応する第１セル内データと、前記第３部分に対応する第２セル内データと、前記第１セル内データと前記第２セル内データとの間に設けられた第２罫線と、を含む第１表データを導出する第１処理動作を実施する手書き文書処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムに関する。
【背景技術】
【０００２】
例えば、ペン入力インタフェースなどを用いて、表を含む情報が電子的に手書きされる。手書きされた表を適切に処理して、表の整形が行われる。より自由に手書きされた表を整形できることが望まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−５０６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、より自由に手書きされた表を整形できる手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムを提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態によれば、入出力部と、処理部と、を含む手書き文書処理装置が提供される。前記入出力部は、手書き文書の複数セットのストロークデータを取得する。前記複数セットのストロークデータは、第１ストロークデータを含む第１部分と、第２ストロークデータを含む第２部分と、第３ストロークデータを含む第３部分と、を含む。前記処理部は、第１処理動作の実施が可能である。第１処理動作は、前記入出力部が取得した前記複数セットのストロークデータに基づいて、前記第１部分に対応する第１罫線と、前記第２部分に対応する第１セル内データと、前記第３部分に対応する第２セル内データと、前記第１セル内データと前記第２セル内データとの間に設けられた第２罫線と、を含む第１表データを導出して、前記第１表データを前記入出力部に供給する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る手書き文書処理装置を示す模式図である。
【図２】第１の実施形態に係る手書き文書処理装置におけるストロークデータを示す模式図である。
【図３】第１の実施形態に係る手書き文書処理装置における処理結果を示す模式図である。
【図４】第１の実施形態に係る手書き文書処理装置における別の処理結果を示す模式図である。
【図５】第１の実施形態に係る手書き文書処理装置における動作を示すフローチャート図である。
【図６】図６（ａ）及び図６（ｂ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図７】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図８】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図９】図９（ａ）及び図９（ｂ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１０】第１の実施形態に係る手書き文書処理装置における別のストロークデータを示す模式図である。
【図１１】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１２】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１３】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１４】図１４（ａ）及び図１４（ｂ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１５】第１の実施形態に係る手書き文書処理装置における別のストロークデータを示す模式図である。
【図１６】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１７】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１８】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図１９】図１９（ａ）〜図１９（ｃ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図２０】第１の実施形態に係る手書き文書処理装置における別のストロークデータを示す模式図である。
【図２１】第１の実施形態に係る手書き文書処理装置における動作の一部を示す模式図である。
【図２２】図２２（ａ）及び図２２（ｂ）は、第１の実施形態に係る手書き文書処理装置における処理結果を示す模式図である。
【図２３】第１の実施形態に係る手書き文書処理装置に用いられるデータを示す模式図である。
【図２４】第１の実施形態に係る手書き文書処理装置を示す模式図である。
【図２５】第１の実施形態に係る手書き文書処理装置を示す模式図である。
【図２６】第１の実施形態に係る手書き文書処理装置の動作を示すフローチャート図である。
【発明を実施するための形態】
【０００７】
以下に、本発明の各実施の形態について図面を参照しつつ説明する。  
なお、図面は模式的または概念的なものであり、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。  
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
（第１の実施形態）  
図１は、第１の実施形態に係る手書き文書処理装置を例示する模式図である。  
図１に表したように、本実施形態に係る手書き文書処理装置１１０は、入出力部１０と、処理部２０と、を含む。
【０００９】
処理部２０には、例えば、演算装置などの半導体装置が用いられる。処理部２０には、例えば、コンピュータが用いられる。入出力部１０には、例えば、半導体装置の端子などを用いても良い。入出力部１０には、コンピュータの端子（インターフェースを含む）を用いても良い。
【００１０】
入出力部１０は、データを取得する。入出力部１０によるデータの取得は、有線または無線の任意の方式が用いられる。取得されるデータは、例えば、手書き文書の複数セットのストロークデータ８０を含む。ストロークデータ８０の例については、後述する。
【００１１】
処理部２０は、入出力部１０が取得した複数セットのストロークデータ８０に基づいて、処理を行う。処理部２０は、処理の結果（データ）を入出力部１０に供給する。
【００１２】
手書き文書処理装置１１０には、表示部７０が接続可能である。例えば、入出力部１０に表示部７０が接続される。表示部７０には、例えば、液晶表示装置、有機ＥＬ表示装置、または、投射型表示装置などが用いられる。表示部７０には、プリンタを用いても良い。実施形態において、印刷も表示に含める。実施形態において、表示部７０は任意である。表示部７０は、表示領域７１を有する。表示部７０としてプリンタを用いる場合は、表示領域７１は、印刷可能な領域に対応する。表示領域７１は、例えば、辺７１ｓを有する。
【００１３】
ストロークデータ８０は、表示部７０に表示可能である。処理部２０の処理の結果（データ）は、表示部７０に表示可能である。以下、ストロークデータ８０及び処理の結果（データ）について、表示部７０に表示させたときの状態の例として説明する。
【００１４】
図２は、第１の実施形態に係る手書き文書処理装置におけるストロークデータを例示する模式図である。  
図２に表したように、複数セットのストロークデータ８０は、例えば、表状の情報を含む。使用者が、例えば、入力用のタブレットに、手書きで表を入力する。入力には、例えばペンまたは指などが用いられる。
【００１５】
複数セットのストロークデータ８０は、例えば、罫線入力データ８５を含む。この例では、罫線入力データ８５は、横罫線入力データ８５ａと、縦罫線入力データ８５ｂと、を含む。複数セットのストロークデータ８０は、非罫線入力データ８６をさらに含む。この例では、複数セットの非罫線入力データ８６が設けられる。罫線入力データ８５は、線状である。罫線入力データ８５は、表の罫線の少なくとも一部に対応する。非罫線入力データ８６は、表のセル内のデータに対応する。
【００１６】
例えば、非罫線入力データ８６は、文字情報及び図形情報の少なくともいずれかを含む。この例では、「ＡＡＡ１」、「ＢＢＢ１」、「ＣＣＣ１」、「ａａａ１１」、「ｂｂｂ１１」及び「ＤＤＤ１」の文字情報が設けられている。さらに、「○」、及び、「△」の図形情報が設けられている。
【００１７】
複数セットのストロークデータ８０は、例えば、第１部分８１ｕと、第２部分８２ｕ、と、第３部分８３ｕと、を含む。
【００１８】
第１部分８１ｕは、罫線入力データ８５（この例では、横罫線入力データ８５ａ）の少なくとも一部に対応する。第１部分８１ｕは、第１ストロークデータ８１を含む。第１ストロークデータ８１は、線状である。
【００１９】
第２部分８２ｕは、非罫線入力データ８６の少なくとも一部に対応する。第２部分８２ｕは、第２ストロークデータ８２を含む。第２ストロークデータ８２は、例えば、文字情報の少なくとも一部及び図形情報の少なくとも一部を含む。
【００２０】
第３部分８３ｕは、非罫線入力データ８６の少なくとも一部に対応する。第３部分８３ｕは、第３ストロークデータ８３を含む。第３ストロークデータ８３は、例えば、文字情報の少なくとも一部及び図形情報の少なくとも一部を含む。
【００２１】
このような手書き文書の複数セットのストロークデータ８０が、入出力部１０に供給される。
【００２２】
複数セットのストロークデータ８０は、例えば、複数セットの時系列データを含む。例えば、複数セットの時系列データのそれぞれは、手書きの複数のストロークのそれぞれに対応する。それぞれのストロークは、複数の座標を有する。
【００２３】
１つのセットのストロークデータは、例えば、(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番目のストロークの、サンプリング時の点の数である。ストロークデータは、手書き入力の筆跡データに対応する。ストロークデータの、データ構造の例については、後述する。
【００２４】
処理部２０は、入出力部１０が取得した複数セットのストロークデータ８０に基づいて、処理動作を実施する。例として、第１処理動作について説明する。
【００２５】
図３は、第１の実施形態に係る手書き文書処理装置における処理結果を例示する模式図である。  
図３は、処理部２０により処理されて導出された表データ（第１表データ４０ａ）を例示している。  
図３に表したように、例えば、第１表データ４０ａは、罫線出力データ４５を含む。この例では、罫線出力データ４５は、例えば、横罫線出力データ４５ａと、縦罫線出力データ４５ｂと、を含む。第１表データ４０ａは、非罫線出力データ４６をさらに含む。この例では、複数セットの非罫線出力データ４６が設けられる。罫線出力データ４５は、線状である。罫線出力データ４５は、第１表データ４０ａの罫線の少なくとも一部に対応する。非罫線出力データ４６は、第１表データ４０ａのセル内のデータに対応する。罫線出力データ４５の少なくとも一部は、罫線入力データ８５の少なくとも一部に対応する。非罫線出力データ４６の少なくとも一部は、非罫線入力データ８６の少なくとも一部に対応する。
【００２６】
例えば、非罫線出力データ４６は、第１セル内データ４１ｃと、第２セル内データ４２ｃと、を含む。第１セル内データ４１ｃは、複数セットのストロークデータ８０のうちの第２部分８２ｕに対応する。第２セル内データ４２ｃは、複数セットのストロークデータ８０のうちの第３部分８３ｕに対応する。この例では、第１セル内データ４１ｃと、第２セル内データ４２ｃと、は、表の横方向に並ぶ。
【００２７】
例えば、罫線出力データ４５は、第１罫線４１ｒと、第２罫線４２ｒと、を含む。第１罫線４１ｒは、複数セットのストロークデータ８０のうちの第１部分８１ｕに対応する。第２罫線４２ｒは、第１セル内データ４１ｃと、第２セル内データ４２ｃと、との間に設けられる。この例では、第１罫線４１ｒは、表の横罫線のいずれかに対応する。第２罫線４２ｒは、表の縦罫線のいずれかに対応する。例えば、第１罫線４１ｒは、第１部分８１ｕの延在方向に対して、実質的に平行である。
【００２８】
実施形態において、第１セル内データ４１ｃと、第２セル内データ４２ｃと、は、表の縦方向に並んでも良い。この場合、第２罫線４２ｒは、表の横罫線のいずれかに対応する。
【００２９】
このように、処理部２０で実施される第１処理動作においては、処理部２０は、入出力部１０が取得した複数セットのストロークデータ８０に基づいて、第１部分８１ｕに対応する第１罫線４１ｒと、第２部分８２ｕに対応する第１セル内データ４１ｃと、第３部分８３ｕに対応する第２セル内データ４２ｃと、第２罫線４２ｒと、を含む第１表データ４０ａを導出して、第１表データ４０ａを入出力部１０に供給する。第２罫線４２ｒは、第１セル内データ４１ｃと第２セル内データ４２ｃとの間に設けられる。
【００３０】
手書き入力された第１部分８１ｕは、線状であり、必ずしも直線ではない。これに対して、この例では、第１部分８１ｕに対応する第１罫線４１ｒは、直線状である。
【００３１】
この例では、第１セル内データ４１ｃは、手書き入力された複数セットのストロークデータ８０のうちの第２部分８２ｕのストロークデータである。第２セル内データ４２ｃは、手書き入力された複数セットのストロークデータ８０のうちの第３部分８３ｕのストロークデータである。実施形態において、セル内データ（非罫線出力データ４６）は、ストロークデータを変換したデータでも良い。
【００３２】
図４は、第１の実施形態に係る手書き文書処理装置における別の処理結果を例示する模式図である。  
図４に表したように、この例では、非罫線出力データ４６は、非罫線入力データ８６に基づいて導出された（作成された）データである。非罫線出力データ４６は、例えば、非罫線入力データ８６を変換して得られる。非罫線入力データ８６が例えばパターン認識され、パターン認識されたデータに基づいて、非罫線出力データ４６が得られる。非罫線出力データ４６は、例えば、文字のフォントなどの情報を含む。
【００３３】
例えば、第１セル内データ４１ｃは、第２部分８２ｕのストロークデータに基づいて導出された（作成された）データである。第２セル内データ４２ｃは、第２部分８２ｕのストロークデータに基づいて導出された（作成された）データである。  
このように、セル内データ（非罫線出力データ４６）は、ストロークデータを変換したデータを含んでも良い。
【００３４】
第１処理動作に含まれる処理の例について説明する。  
図５は、第１の実施形態に係る手書き文書処理装置における動作を例示するフローチャート図である。  
図５に表したように、第１処理動作は、例えば、軸推定処理（ステップＳ１１０）と、交点推定処理（ステップＳ１２０）と、分類処理（ステップＳ１３０）と、を含む。
【００３５】
図６（ａ）及び図６（ｂ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
これらの図は、軸推定処理を例示している。
【００３６】
図６（ａ）に表したように、軸推定処理においては、第１軸５１と、第２軸５２と、が推定される。第２軸５２は、第１軸５１に対して垂直である。例えば、第２軸５２は、第１軸と直交する。第１軸５１及び第２軸５２は、手書き入力された面内に設けられる。例えば、ストロークデータ８０を表示部７０に表示したときに、第１軸５１及び第２軸５２は、表示部７０の表示領域７１の面内に設けられる。
【００３７】
例えば、第１軸５１は、表の主軸であり、第２軸５２は、表の副軸である。第１軸５１が、表の副軸であり、第２軸５２が、表の主軸でも良い。
【００３８】
表においては、縦の罫線と、横の罫線と、が直交して書かれる。主軸は、縦罫線の方向及び横罫線の方向の一方に沿って延在する。副軸は、縦罫線の方向及び横罫線の方向の他方に沿って延在する。
【００３９】
例えば、罫線に対応するストロークデータ（罫線入力データ８５であり、この例では、横罫線入力データ８５ａ）は、第２軸５２に対して垂直な成分を有する。この垂直な成分を第２軸５２に射影したときに、第２軸５２上の特定の座標上に、この成分が集中する。すなわち、第２軸５２上に、射影成分のピーク５２ｐが生じる。
【００４０】
例えば、罫線に対応するストロークデータ（罫線入力データ８５であり、この例では、縦罫線入力データ８５ｂ）は、第１軸５１に対して垂直な成分を有する。この垂直な成分を第１軸５１に射影したときに、第１軸５１上の特定の座標上に、この成分が集中する。すなわち、第１軸５１上に、射影成分のピーク５１ｐが生じる。
【００４１】
一方、縦罫線または横罫線に対して傾斜する傾斜軸に、罫線に対応するストロークデータの成分を射影すると、幅広い座標に射影成分が射影される。このため、射影成分のピークは明確でない。例えば、滑らかな山と谷とが生じる。この点に着目して、ストロークデータの、軸への射影成分のピークを判断基準として、表の軸の方向を推定することができる。
【００４２】
例えば、軸推定処理において、主軸の候補となる軸を、０度〜１８０度の範囲で回転させて、射影成分を求める。例えば、所定の角度の間隔で、主軸の候補となる軸が回転される。主軸の候補となる軸の回転に連動して、副軸の候補となる軸も回転される。
【００４３】
図６（ｂ）に表したように、軸推定処理においては、第１候補軸５１ｏと、第２候補軸５２ｏと、が設定される。第２候補軸５２ｏは、第１候補軸５１ｏに対して垂直である。この例では、第１候補軸５１ｏ及び第２候補軸５２ｏのそれぞれは、表の軸に対して傾斜している。
【００４４】
第１候補軸５１ｏへの複数セットのストロークデータ８０の射影成分の累積５１ｈにおいて、明確なピークが生じない。同様に、第２候補軸５２ｏへの複数セットのストロークデータ８０の射影成分の累積５２ｈにおいても、明確なピークが生じない。これは、罫線入力データ８５（横罫線入力データ８５ａ及び縦罫線入力データ８５ｂ）のそれぞれの延在方向に対して、第１候補軸５１ｏの延在方向が傾斜しており、第２候補軸５２ｏの延在方向も傾斜しているためである。すなわち、罫線入力データ８５と非罫線入力データ８６の平均的なデータが、第１候補軸５１ｏに射影され、第２候補軸５２ｏに射影される。これにより、明確なピークが生じない。
【００４５】
これに対して、図６（ａ）に表したように、第１候補軸５１ｏ及び第２候補軸５２ｏのそれぞれが、表の軸のそれぞれに沿っている場合は、明確なピーク５１ｐ及び明確なピーク５２ｐが生じる。
【００４６】
このように、所定の方向に延在する第１候補軸５１ｏ及び第２候補軸５２ｏにおいて、それらの軸に、ストロークデータ８０を射影した成分を累積したヒストグラム（累積５１ｈ及び累積５２ｈ）に、ピーク５１ｐ及びピーク５２ｐが形成される。このピーク５１ｐ及びピーク５２ｐは、表の罫線入力データ８５のそれぞれに対応する。
【００４７】
図６（ａ）に例示したように、非罫線入力データ８６の射影成分の累積５１ｈ及び累積５２ｈは、ピーク５１ｐ及びピーク５２ｐの値よりも小さい。
【００４８】
このように、所定の方向に延在する第１候補軸５１ｏ及び第２候補軸５２ｏを設定し、その時のピークの高さを算出する。そして、候補軸の延在する方向の角度を変化させて、それぞれの角度のときのピークの高さを求める。そして、ピークの高さが高くなる角度の候補軸が、第１軸５１及び第２軸５２とされる。
【００４９】
例えば、第１部分８２ｕに含まれる第１ストロークデータ８１が所定の方向（この例では横方向）に延在している。このとき、縦方向に延在する第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値（ピーク５２ｐの高さ）は、第２軸５２に対して傾斜する傾斜軸（例えば第２候補軸５２ｏ）への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値よりも高い。
【００５０】
例えば、他のストロークデータ（例えば縦罫線入力データ８５ｂ）が、所定の方向（この例では縦方向）に延在している。このとき、横方向に延在する第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値（ピーク５１ｐの高さ）は、第１軸５１に対して傾斜する傾斜軸（例えば第１候補軸５１ｏ）への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値よりも高い。
【００５１】
さらに、第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値（ピーク５２ｐの高さ）は、第２軸５２に対して傾斜する第１候補軸５１ｏ（傾斜軸）への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値よりも高くても良い。
【００５２】
同様に、第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値（ピーク５１ｐの高さ）は、第１軸５１に対して傾斜する第２候補軸５２ｏ（傾斜軸に対して垂直な軸）への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値よりも高くても良い。
【００５３】
例えば、第１候補軸５１ｏ及び第２候補軸５２ｏにおける、複数セットのストロークデータ８０の射影成分の累積（ヒストグラム）から、エントロピーを算出する。エントロピーとは、乱雑さの尺度を表す。エントロピーの値が大きいほど、偏りが大きいことを示す。ヒストグラムに当てはめると、射影成分の局所的なピークが存在するほど、エントロピーの値が大きくなる。エントロピーが最も大きくなる軸候補を、第１軸５１及び第２軸５２の組み合わせとして選択しても良い。
【００５４】
すなわち、軸推定処理は、例えば、第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのエントロピーが最小となるように、第２軸５２を推定することを含んでも良い。例えば、互いに延在方向が異なる複数の候補軸のうちで、累積５２ｈのエントロピーが最小となるように、第２軸５２が推定される。
【００５５】
軸推定処理は、例えば、第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈのエントロピーが最小となるように、第１軸５１を推定することを含んでも良い。例えば、互いに延在方向が異なる複数の候補軸のうちで、累積５１ｈのエントロピーが最小となるように、第１軸５１が推定される。
【００５６】
例えば、予め定められた値以上のエントロピーが得られる範囲の、軸候補の角度の中心の角度に対応する軸方向を、第１軸５１及び第２軸５２の組み合わせとして選択しても良い。
【００５７】
すなわち、第１軸５１または第２軸５２における、ヒストグラムの偏りは、傾斜軸におけるヒストグラムの偏りも大きい。第１軸５１または第２軸５２における主軸らしさは、傾斜軸における主軸らしさよりも、高い。
【００５８】
図７は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図７は、交点推定処理を例示している。図７においては、図を見易くするために、ストロークデータ８０のうちの罫線入力データ８５が示され、非罫線入力データ８６は、省略されている。
【００５９】
図７に表したように、交点推定処理においては、例えば、第１軸５１と罫線入力データ８５との交点の位置、及び、第２軸５２と罫線入力データ８５との交点の位置と、が推定される。例えば、第１軸５１と縦罫線入力データ８５ｂとの交点８５ｂｃの位置、及び、第２軸５２と横罫線入力データ８５ａとの交点８５ａｃの位置と、が推定される。
【００６０】
罫線入力データ８５に対応するストロークデータの射影成分は、軸の特定の座標に集中する。このため、射影成分のヒストグラムのピークに着目して、交点が推定できる。
【００６１】
例えば、複数セットのストロークデータ８０の第１軸５１への射影成分を累積したヒストグラム（累積５１ｈ）に対して、第１しきい値５１ｔｈが設けられる。ヒストグラム（累積５１ｈ）のピーク５１ｐの値（高さ）が、第１しきい値５１ｔｈ以上である位置が求められる。この位置に基づいて、交点８５ｂｃの位置（座標）が決まる。
【００６２】
例えば、複数セットのストロークデータ８０の第２軸５２への射影成分を累積したヒストグラム（累積５２ｈ）に対して、第２しきい値５２ｔｈが設けられる。ヒストグラム（累積５２ｈ）のピーク５２ｐの値（高さ）が、第２しきい値５２ｔｈ以上である位置が求められる。この位置に基づいて、交点８５ａｃの位置（座標）が決まる。
【００６３】
例えば、座標の集合が求められる。この座標の集合においては、ヒストグラムの値が、上記のしきい値を、連続して超える。例えば、このような座標の集合において、ヒストグラムの最大となる座標が、交点の位置とされる。
【００６４】
交点推定処理においては、例えば、第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク５１ｐの位置と、第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク５２ｐの位置と、に基づいて、交点（交点８５ａｃ及び交点８５ｂｃの少なくともいずれか）が推定される。交点８５ａｃ及び交点８５ｂｃの少なくともいずれかは、第１表データ４０ａの第１罫線４１ｒと、第１軸５１及び第２軸５２の少なくともいずれかと、の交点となる。
【００６５】
すなわち、交点推定処理においては、第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈと、第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈと、に基づいて、交点８５ａｃ及び交点８５ｂｃの少なくともいずれかが推定される。
【００６６】
図８は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図８は、分類処理を例示している。  
分類処理においては、複数セットのストロークデータ８０が、罫線入力データ８５と、非罫線入力データ８６と、に分類される。
【００６７】
例えば、ストロークデータ８０のそれぞれが第１軸５１及び第２軸５２のそれぞれに射影される。図８においては、例として、第１ストロークデータ８１の第２軸５２への射影成分のヒストグラム（累積８１ｈ）が図示されている。ヒストグラム（累積８１ｈ）にピーク８１ｐが生じている。この射影されたヒストグラムのピーク８１ｐの第２軸５２上の位置と、交点８５ａｃの第２軸５２上の位置と、の距離が短いときに、そのストローク（第１ストロークデータ８１）が、罫線に対応すると判断される。この罫線は、第２軸５２に対して垂直な方向に沿って延在する。
【００６８】
例えば、このピーク８１ｐが急峻である場合に、そのストローク（第１ストロークデータ８１）が、罫線に対応すると判断される。例えば、ピーク８１ｐは、半値幅を有する。ピークに関して、しきい値が予め定められる。例えば、得られたピーク８１ｐの半値幅が、しきい値以下のときに、ピーク８１ｐが急峻であると判定される。
【００６９】
例えば、射影されたヒストグラムの第２軸５２上の位置と、交点の第２軸５２上の位置と、の間の距離に関して、しきい値が定められる。例えば、１つのセットのストロークデータ８０に含まれる要素の第２軸５２への射影成分の第２軸５２上のそれぞれの位置と、交点８５ａｃの第２軸５２上の位置と、の間のそれぞれの距離が求められる。１つのセットのストロークデータ８０について求められたこれらの距離の全てが、しきい値以下のときに、この１つのセットのストロークデータ８０が罫線に対応する、と判定される。
【００７０】
例えば、第２軸５２に関して、複数の交点（複数の交点８５ａｃ）が得られる場合、上記の距離に関するしきい値は、この複数の交点８５ａｃどうしの距離の最小値に基づいて定めても良い。例えば、しきい値は、複数の交点８５ａｃどうしの距離の最小値の０．０５倍以上０．２倍以下である。例えば、しきい値は、複数の交点８５ａｃどうしの距離の最小値の０．１倍である。
【００７１】
同様に、この射影されたヒストグラムのピークの第１軸５１上の位置と、交点８５ｂｃの第１軸５１上の位置と、の距離が短いときに、そのストロークが、罫線に対応すると判断される。例えば、第１軸５１について、射影成分と交点８５ｂｃとの間の距離についてしきい値を定めても良い。そして、１つのセットのストロークデータ８０について求められたこれらの距離の全てが、しきい値以下のときに、この１つのセットのストロークデータ８０が罫線に対応する、と判定される。この罫線は、第１軸５１に対して垂直な方向に沿って延在する。
【００７２】
例えば、第１軸５１に関して複数の交点（複数の交点８５ｂｃ）が得られる場合、上記の距離に関するしきい値は、この複数の交点８５ｂｃどうしの距離の最小値を基づいて定めても良い。例えば、しきい値は、複数の交点８５ｂｃどうしの距離の最小値の０．０５倍以上０．２倍以下である。例えば、しきい値は、複数の交点８５ｂｃどうしの距離の最小値の０．１倍である。
【００７３】
そして、複数セットのストロークデータ８０のうちで、罫線に対応すると判定されたストロークデータを除くストロークデータが、非罫線（すなわち、セル内データ）に対応する、と判定される。
【００７４】
例えば、複数セットのストロークデータ８０が、第１部分８１ｕと、第２部分８２ｕと、第３部分８３ｕと、を含む場合、第１部分８１ｕと、上記の交点と、の間の距離は、第２部分８２ｕと、その交点と、の間の距離よりも短い。そして、第１部分８１ｕと、その交点と、の間の距離よりも短い。距離が短い状態は、距離が零である状態を含む。
【００７５】
図９（ａ）及び図９（ｂ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図９（ａ）は、分類処理によって、罫線に対応すると判定されたストロークデータ（罫線入力データ８５）を例示している。図９（ｂ）は、分類処理によって、非罫線に対応すると判定されたストロークデータ（非罫線入力データ８６）を例示している。分類処理により、入出力部１０が取得した複数セットのストロークデータ８０が、罫線入力データ８５と、非罫線入力データ８６と、に分類される。
【００７６】
分類された、罫線入力データ８５と、非罫線入力データ８６と、に基づいて、罫線入力データ８５の位置に、罫線出力データ４５が設けられ、非罫線入力データ８６の位置に、非罫線出力データ４６が設けられる。すなわち、第１表データ４０ａが得られる。
【００７７】
このような処理が処理部２０で行われ、処理した結果（第１表データ４０ａ）が、入出力部１０に供給される。第１表データ４０ａを表示部７０に表示することで、図３及び図４に例示した表示状態が得られる。すなわち、第１部分８１ｕに対応する第１罫線４１ｒと、第２部分８２ｕに対応する第１セル内データ４１ｃと、第３部分８３ｕに対応する第２セル内データ４２ｃと、第１セル内データ４１ｃと第２セル内データ４２ｃとの間に設けられた第２罫線４２ｒと、が表示可能である。
【００７８】
図１０は、第１の実施形態に係る手書き文書処理装置における別のストロークデータを例示する模式図である。  
図１０に表したように、この例における複数セットのストロークデータ８０ａでは、罫線入力データ８５の一部（第１部分８１ｕ）が、破線（または点線）である。すなわち、手書き入力において、罫線が、複数の線分により描かれる。
【００７９】
例えば、第１部分８１ｕは、第１方向に沿って延在している。この例では、第１方向は、Ｘ軸方向（例えば横方向）である。そして、第１部分８１ｕは、複数セットの第１ストロークデータ８１を含む。この複数セットの第１ストロークデータ８１は、第１方向に沿って並ぶ。複数セットの第１ストロークデータ８１は、第１方向に沿って互いに離間している。すなわち、第１部分８１ｕは、第１方向に沿って延在する破線である。
【００８０】
この例では、複数セットの第１ストロークデータ８１のそれぞれが線状である。このとき、複数セットの第１ストロークデータ８１のそれぞれが、第１方向に沿って延在していても良い。
【００８１】
例えば、複数セットの第１ストロークデータ８１のそれぞれが点状でも良い。このとき、点状の、複数セットの第１ストロークデータ８１が、第１方向に沿って並ぶ。実施形態においては、このような種々の形状の第１部分８１ｕを用いることができる。
【００８２】
この例では、破線状の第１部分８１ｕは、第１方向（Ｘ軸方向）に沿って延在している。すなわち、破線状の第１部分８１ｕは、横罫線入力データ８５ａのうちの１つである。
【００８３】
図１０に例示したように、縦罫線入力データ８５ｂの少なくともいずれかが、破線状でも良い。
【００８４】
この例では、複数セットの第１ストロークデータ８１どうしの間隔は、比較的短い。これにより、複数セットの第１ストロークデータ８１を含む第１部分８１ｕは、破線状の罫線と認識される。例えば、複数セットの第１ストロークデータ８１どうしの間隔Ｌ１は、第２部分８２ｕの第１方向に沿った長さＬ２よりも短い。複数セットの第１ストロークデータ８１どうしの間隔Ｌ１は、第３部分８３ｕの第１方向に沿った長さＬ３よりも短い。
【００８５】
図１０に例示した、複数セットのストロークデータ８０ａにおいて、上記以外については、図２に関して説明した複数セットのストロークデータ８０と同様である。
【００８６】
このような複数セットのストロークデータ８０ａが、入出力部１０で取得されたときにも、処理部２０は、図３及び図４に例示した第１表データ４０ａを導出することができる。
【００８７】
このとき、図３及び図４に例示したように、第１罫線４１ｒは、第１部分８１ｕが延在する第１方向に沿って延在する。すなわち、第１罫線４１ｒは、破線状の第１部分８１ｕに対して、実質的に平行である。
【００８８】
このような複数セットのストロークデータ８０ａが用いられる場合の、処理部２０の処理の例について説明する。
【００８９】
例えば、この場合も、処理部２０において、軸推定処理（ステップＳ１１０）と、交点推定処理（ステップＳ１２０）と、分類処理（ステップＳ１３０）と、を含む第１処理動作が行われる。
【００９０】
図１１は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１１は、軸推定処理を例示している。図１１に表したように、軸推定処理において、第１軸５１と、第２軸５２と、が推定される。第２軸５２は、第１軸５１に対して垂直である。
【００９１】
この場合も、罫線に対応するストロークデータ（罫線入力データ８５であり、この例では、横罫線入力データ８５ａ）は、第２軸５２に対して垂直な成分を有する。第２軸５２上に、射影成分のピーク５２ｐが生じる。
【００９２】
例えば、罫線に対応するストロークデータ（罫線入力データ８５であり、この例では、縦罫線入力データ８５ｂ）は、第１軸５１に対して垂直な成分を有する。第１軸５１上に、射影成分のピーク５１ｐが生じる。連続したストロークデータの罫線データに対応するピーク５１ｐは、比較的高い。破線状のストロークデータの罫線データに対応するピーク５１ｐは、比較的低い。
【００９３】
この場合も、非罫線入力データ８６の射影成分の累積５１ｈ及び累積５２ｈは、ピーク５１ｐ及びピーク５２ｐの値よりも小さい。
【００９４】
このときも、主軸及び副軸の候補となる軸を、０度〜１８０度の範囲で回転させて、射影成分を求める。
【００９５】
例えば、第１部分８２ｕに含まれる第１ストロークデータ８１が、横方向に延在しているとき、縦方向に延在する第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク５２ｐの高さは、傾斜軸（例えば第２候補軸５２ｏ）への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値よりも高い。
【００９６】
例えば、縦罫線入力データ８５ｂが、縦方向に延在している。このとき、横方向に延在する第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク５１ｐの高さは、傾斜軸（例えば第１候補軸５１ｏ）への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値よりも高い。
【００９７】
この場合も、軸推定処理において、例えば、第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのエントロピーが最小となるように、第２軸５２を推定しても良い。
【００９８】
図１２は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１２は、交点推定処理を例示している。図１２においては、図を見易くするために、ストロークデータ８０のうちの罫線入力データ８５が示され、非罫線入力データ８６は、省略されている。
【００９９】
図１２に表したように、この場合も、交点推定処理においては、例えば、第１軸５１と縦罫線入力データ８５ｂとの交点８５ｂｃの位置、及び、第２軸５２と横罫線入力データ８５ａとの交点８５ａｃの位置と、が推定される。
【０１００】
この場合も、第１しきい値５１ｔｈ、及び、第２しきい値５２ｔｈが設けられる。既に説明したように、破線状のストロークデータの罫線データに対応するピーク５１ｐは、連続したストロークデータの罫線データに対応するピーク５１ｐよりも低い。しきい値を用いることで、破線状の罫線入力データ８５の交点を求めることが容易になる。
【０１０１】
例えば、座標の集合が求められる。この座標の集合においては、ヒストグラムの値が、上記のしきい値を、連続して超える。例えば、このような座標の集合において、ヒストグラムの最大となる座標を、交点の位置とする。
【０１０２】
図１３は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１３は、分類処理を例示している。分類処理においては、複数セットのストロークデータ８０が、罫線入力データ８５と、非罫線入力データ８６と、に分類される。
【０１０３】
例えば、ストロークデータ８０のそれぞれが第１軸５１及び第２軸５２のそれぞれに射影される。例えば、第１ストロークデータ８１の第２軸５２への射影成分のヒストグラム（累積８１ｈ）、ピーク８１ｐが生じている。
【０１０４】
射影されたヒストグラムのピーク８１ｐの第２軸５２上の位置と、交点８５ａｃの第２軸５２上の位置と、の距離が短いときに、そのストローク（第１ストロークデータ８１）が、罫線に対応すると判断される。この罫線は、第２軸５２に対して垂直な方向に沿って延在する。この場合も、例えば、このピーク８１ｐが急峻である場合に、そのストローク（第１ストロークデータ８１）が、罫線に対応すると判断される。
【０１０５】
そして、複数セットのストロークデータ８０のうちで、罫線に対応すると判定されたストロークデータを除くストロークデータが、非罫線（すなわち、セル内データ）に対応する、と判定される。
【０１０６】
図１４（ａ）及び図１４（ｂ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１４（ａ）は、分類処理によって、罫線に対応すると判定されたストロークデータ（罫線入力データ８５）を例示している。図１４（ｂ）は、分類処理によって、非罫線に対応すると判定されたストロークデータ（非罫線入力データ８６）を例示している。分類処理により、入出力部１０が取得した複数セットのストロークデータ８０が、罫線入力データ８５と、非罫線入力データ８６と、に分類される。
【０１０７】
罫線入力データ８５の第１部分８１ｕが、破線状であり、複数セットの第１ストロークデータ８１を含む場合も、その第１部分８１ｕは、罫線であると正しく判断される。
【０１０８】
分類された、罫線入力データ８５と、非罫線入力データ８６と、に基づいて、罫線入力データ８５の位置に、罫線出力データ４５が設けられ、非罫線入力データ８６の位置に、非罫線出力データ４６が設けられる。すなわち、第１表データ４０ａが得られる。
【０１０９】
このように、実施形態に係る手書き文書処理装置１１０によれば、ストロークデータの軸への射影成分に基づいて、表の構造が推定される。これにより、破線状の罫線が入力される場合においても、表を整形することができる。より自由に手書きされた表を整形できることができる。実施形態によれば、ロバストに表の整形が実施できる。
【０１１０】
例えば、手書きされた罫線データを画像情報として処理する参考例がある。この参考例においては、例えば、手書きされた罫線データの画像情報が、軸に射影され、作成されたヒストグラムのピークの位置から、罫線が推定される。この場合、手書きされた罫線データが破線状である場合に、誤りが生じ易い。例えば、罫線データが非罫線データと判断される。すなわち、破線状の罫線データが、「−」（バー）の文字情報または図形情報と、誤って判断されることがある。例えば、手書きされた表が、破線状の罫線データと、「−」のセル内データと、を含む場合、この誤りを防止することは困難である。
【０１１１】
これに対して、本実施形態においては、手書き文書が、複数セットのストロークデータ８０に基づいて処理される。ストロークデータ８０のそれぞれは、手書きの際の方向に関する情報を有している。方向に関する情報を含むストロークデータ８０を軸へ射影した累積を用いることで、このような誤りが抑制される。
【０１１２】
方向に関する情報を保有していれば、破線上の罫線データのように、連続するストロークが同一方向に沿う場合を捉えて、上記の誤りを抑制することが可能となる。
【０１１３】
本実施形態に係る手書き文書処理装置１１０においては、手書き文書の表において、罫線が省略された場合にも、罫線を推定することができる。実施形態によれば、より自由に手書きされた表を整形できる手書き文書処理装置が提供できる。
【０１１４】
図１５は、第１の実施形態に係る手書き文書処理装置における別のストロークデータを例示する模式図である。  
図１５に表したように、この例における複数セットのストロークデータ８０ｂでは、罫線に対応するストロークデータが省略されている。例えば、図２に例示したストロークデータ８０における一番上の横罫線が、図１５に例示したストロークデータ８０ｂにおいては、省略されている。さらに、図２に例示したストロークデータ８０における、２つの縦罫線が、図１５に例示したストロークデータ８０ｂにおいては、省略されている。
【０１１５】
例えば、第２部分８２ｕと、第３部分８３ｕと、は、第２部分８２ｕから第３部分８３ｕに向かう方向において、隣り合う。複数セットのストロークデータ８０は、第２部分８２ｕと第３部分８３ｕとの間に配置されるストロークデータを有しない。
【０１１６】
この場合も、例えば、処理部２０において、軸推定処理（ステップＳ１１０）と、交点推定処理（ステップＳ１２０）と、分類処理（ステップＳ１３０）と、を含む第１処理動作が行われる。
【０１１７】
図１６は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１６は、軸推定処理を例示している。図１６に表したように、軸推定処理において、第１軸５１と、第２軸５２と、が推定される。第２軸５２は、第１軸５１に対して垂直である。
【０１１８】
この場合も、第２軸５２上に、射影成分のピーク５２ｐが生じる。さらに、第１軸５１上に、射影成分のピーク５１ｐが生じる。非罫線入力データ８６の射影成分の累積５１ｈ及び累積５２ｈは、ピーク５１ｐ及びピーク５２ｐの値よりも小さい。
【０１１９】
このときも、例えば、第１部分８２ｕに含まれる第１ストロークデータ８１が所定の方向（この例では横方向）に延在している。このとき、縦方向に延在する第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値（ピーク５２ｐの高さ）は、第２軸５２に対して傾斜する傾斜軸（例えば第２候補軸５２ｏ）への、複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク値よりも高い。
【０１２０】
例えば、縦罫線入力データ８５ｂが、縦方向に延在している。このとき、横方向に延在する第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値（ピーク５１ｐの高さ）は、第１軸５１に対して傾斜する傾斜軸（例えば第１候補軸５１ｏ）への、複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク値よりも高い。
【０１２１】
図１６に例示したように、非罫線入力データ８６が存在していない（省略されている）位置において、縦方向に延在する第２軸５２への、複数セットのストロークデータ８０の射影成分の累積５２ｈに、ボトム５２ｂ（極小部分）が生じる。
【０１２２】
後述するように、これらのボトム５１ｂ（極小部分）及びボトム５２ｂ（極小部分）が、省略された罫線に対応すると推定される。
【０１２３】
例えば、第２軸５２への射影成分の累積５２ｈにおいて、横罫線入力データ８５ａに対応する急峻なピーク５２ｐと、非罫線入力データ８６に対応する低くブロードな山と、が生じる。この急峻なピーク５２ｐの高さは、予め定められたしきい値５２ｔｈ以上である。そして、この例では、横罫線入力データ８５ａに対応する急峻なピーク５２ｐと、非罫線入力データ８６に対応する低くブロードな山と、の間に、射影成分の累積５２ｈが低い部分５２ｑが生じる。この部分５２ｑは、省略されたと推定される罫線データには対応しない。
【０１２４】
例えば、第２軸５２に関して、省略された罫線であると推定されるボトム５２ｂと、罫線データに対応するピーク５２ｐと、の間に、少なくとも１つの非罫線データに対応するブロードな山が配置される。または、罫線の省略状態によっては、省略された罫線であると推定される２つのボトム５２ｂ（極小部分）の間に、非罫線入力データ８６の射影成分の累積５２ｈのブロードな山が配置されても良い。
【０１２５】
同様に、非罫線入力データ８６が存在していない（省略されている）位置において、横方向に延在する第１軸５１への、複数セットのストロークデータ８０の射影成分の累積５１ｈに、ボトム５１ｂ（極小部分）が生じる。
【０１２６】
例えば、第１軸５１への射影成分の累積５１ｈにおいて、縦罫線入力データ８５ｂに対応する急峻なピーク５１ｐと、非罫線入力データ８６に対応する低くブロードな山と、が生じる。この急峻なピーク５１ｐの高さは、予め定められたしきい値５１ｔｈ以上である。そして、この例では、縦罫線入力データ８５ｂに対応する急峻なピーク５１ｐと、非罫線入力データ８６に対応する低くブロードな山と、の間に、射影成分の累積５２ｈが低い部分５１ｑが生じる。この部分５１ｑは、省略されたと推定される罫線データには対応しない。
【０１２７】
例えば、第１軸５１に関して、省略された罫線であると推定されるボトム５１ｂと、罫線データに対応するピーク５１ｐと、の間に、少なくとも１つの非罫線データに対応するブロードな山が配置される。または、省略された罫線であると推定される２つのボトム５１ｂ（極小部分）の間に、非罫線入力データ８６の射影成分の累積５２ｈのブロードな山が配置されても良い。
【０１２８】
図１７は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１７は、交点推定処理を例示している。図１７においては、図を見易くするために、ストロークデータ８０のうちの罫線入力データ８５が示され、非罫線入力データ８６は、省略されている。
【０１２９】
図１７に表したように、この場合も、交点推定処理においては、例えば、第１軸５１と縦罫線入力データ８５ｂとの交点８５ｂｃの位置、及び、第２軸５２と横罫線入力データ８５ａとの交点８５ａｃの位置と、が推定される。
【０１３０】
例えば、手書き入力において、省略されていない罫線については、既に説明した方法により、交点が求められる。すなわち、交点推定処理においては、第１軸５１への複数セットのストロークデータ８０の射影成分の累積５１ｈのピーク５１ｐの位置と、第２軸５２への複数セットのストロークデータ８０の射影成分の累積５２ｈのピーク５２ｐの位置と、の少なくともいずれかに基づいて、交点（交点８５ａｃ及び交点８５ｂｃの少なくともいずれか）が推定される。
【０１３１】
一方、手書き入力において、省略されていると推定される罫線については、射影成分のボトムの位置に基づいて、交点が求められる。例えば、交点推定処理において、第１軸５１への複数セットのストロークデータ８０の射影成分の累積５１ｈのボトム５１ｂの位置と、第２軸５２への複数セットのストロークデータ８０の射影成分の累積５２ｈのボトム５２ｂの位置と、の少なくともいずれかに基づいて、交点（交点８５ａｃ及び交点８５ｂｃの少なくともいずれか）が推定される。
【０１３２】
このように、この例では、交点推定処理は、第１軸５１への複数セットのストロークデータ８０の射影成分の累積５１ｈのボトム５１ｂの位置と、第２軸５２への複数セットのストロークデータ８０の射影成分の累積５２ｈのボトム５２ｂの位置と、の少なくともいずれかに基づいて、交点の少なくともいずれかを推定することを含む。
【０１３３】
図１８は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１８は、分類処理を例示している。例えば、ストロークデータ８０のそれぞれが第１軸５１及び第２軸５２のそれぞれに射影される。図１８には、例として、第１ストロークデータ８１の第２軸５２への射影成分のヒストグラム（累積８１ｈ）が図示されている。ヒストグラム（累積８１ｈ）にピーク８１ｐが生じている。
【０１３４】
第２軸５２において、累積５２ｈのピーク５２ｐの位置が、交点８５ａｃの少なくともいずれかの位置であると推定される。例えば、射影されたヒストグラムのピーク８１ｐの第２軸５２上の位置と、交点８５ａｃの第２軸５２上の位置と、の距離が短いときに、そのストローク（第１ストロークデータ８１）が、罫線に対応すると判断される。
【０１３５】
さらに、第２軸５２において、累積５２ｈのボトム５２ｂの位置が、別の交点８５ａｃの位置であると推定される。
【０１３６】
ピーク５２ｐに対応する罫線は、手書きにより入力された罫線である。ボトム５２ｂに対応する罫線は、手書き入力において省略されたと推定される罫線である。これらの罫線は、第２軸５２に対して垂直な方向に沿って延在する。
【０１３７】
同様に、第１軸５１において、累積５１ｈのピーク５１ｐの位置が、交点８５ｂｃの少なくともいずれかの位置であると推定される。さらに、第１軸５１において、累積５１ｈのボトム５１ｂの位置が、別の交点８５ｂｃの位置であると推定される。
【０１３８】
ピーク５１ｐに対応する罫線は、手書きにより入力された罫線である。ボトム５１ｂに対応する罫線は、手書き入力において省略されたと推定される罫線である。これらの罫線は、第１軸５１に対して垂直な方向に沿って延在する。
【０１３９】
そして、複数セットのストロークデータ８０のうちで、罫線に対応すると判定されたストロークデータを除くストロークデータが、非罫線（すなわち、セル内データ）に対応する、と判定される。
【０１４０】
図１９（ａ）〜図１９（ｃ）は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
図１９（ａ）は、分類処理によって、罫線に対応すると判定されたストロークデータ（罫線入力データ８５）を例示している。図１９（ｂ）は、分類処理によって、非罫線に対応すると判定されたストロークデータ（非罫線入力データ８６）を例示している。図１９（ｃ）は、ボトム５１ｂ及びボトム５２ｂの少なくともいずれかに基づいて作成された、罫線出力データ４５（横罫線出力データ４５ａ及び縦罫線出力データ４５ｂ）を例示している。
【０１４１】
分類処理により、入出力部１０が取得した複数セットのストロークデータ８０が、罫線入力データ８５と、非罫線入力データ８６と、に分類される。
【０１４２】
さらに、罫線に対応すると判定されたストロークデータ（罫線入力データ８５）に加えて、省略されたと推定される罫線に対応して、横罫線出力データ４５ａ及び縦罫線出力データ４５ｂの少なくとも一部が作成される。
【０１４３】
図１９（ｃ）に示した例では、作成された罫線出力データ４５は、第２罫線４２ｒを含む。このようして、作成された罫線出力データ４５と、罫線入力データ８５に基づく罫線出力データ４５と、が、処理部２０により得られる。すなわち、図３または図４に例示した第１表データ４０ａが得られる。
【０１４４】
例えば、作成される罫線（この例では第２罫線４２ｒ）は、ボトム５１ｂ及びボトム５２ｂの少なくともいずれかに基づいて作成される。例えば、ボトム５１ｂに基づいて第２罫線４２ｒが作成される場合は、第２罫線４２ｒは、ボトム５１ｂの位置を有し、第２軸５２に沿う。すなわち、この場合は、第２罫線４２ｒは、第１軸５１に対して垂直である。例えば、ボトム５２ｂに基づいて第２罫線４２ｒが作成される場合は、第２罫線４２ｒは、ボトム５２ｂの位置を有し、第１軸５１に沿う。すなわち、この場合は、第２罫線４２ｒは、第２軸５２に対して垂直である。
【０１４５】
この例では、罫線に対応するストロークが省略されている。このため、省略された罫線に対応するピークが生じない。このとき、非罫線データであるセル内データどうしの間に、罫線があると推定して交点が推定される。
【０１４６】
このように、実施形態に係る手書き文書処理装置１１０によれば、ストロークデータの軸への射影成分に基づいて、表の構造が推定される。これにより、省略されたと推定される罫線が存在する場合においても、表を整形することができる。より自由に手書きされた表を整形できることができる。実施形態によれば、ロバストに表の整形が実施できる。
【０１４７】
実施形態において、交点推定処理の少なくとも一部と、分類処理の少なくとも一部と、は、同時に実施されてもよい。交点推定処理の少なくとも一部は、省略しても良い。
【０１４８】
例えば、第１処理動作は、上記の軸推定処理と、分類処理と、を含む。分類処理においては、第１軸５１への複数セットのストロークデータ８０の射影成分の累積５１ｈと、第２軸５２への複数セットのストロークデータ８０の射影成分の累積５２ｈと、の少なくともいずれかに基づいて、複数セットのストロークデータ８０を、罫線のデータと、罫線のデータとは異なるセル内データと、に分類する。そして、上記の第１罫線４１ｒは、上記の罫線のデータの少なくとも一部を含む。このとき、例えば、上記の罫線のデータの第２軸５２への射影成分の累積５２ｈのピーク５２ｐは、セル内データの第２軸５２への射影成分の累積５２ｈのピークよりも高い。例えば、上記の罫線のデータの第１軸５１への射影成分の累積５１ｈのピーク５１ｐは、セル内データの第１軸５１への射影成分の累積５１ｈのピークよりも高い。
【０１４９】
図２０は、第１の実施形態に係る手書き文書処理装置における別のストロークデータを例示する模式図である。  
図２０に表したように、この例では、複数セットのストロークデータ８０ｃによる表が、傾斜して入力されている。例えば、手書き入力のタブレットなどの入力装置を傾斜させて使用したときに、このような傾斜した表が、手書きされる。
【０１５０】
例えば、複数セットのストロークデータ８０ｃのうちの第１部分８１ｕの延在方向は、表示部７０の表示領域７１の辺７１ｓに対して傾斜している。  
このときも、既に説明した第１処理動作が実施される。
【０１５１】
図２１は、第１の実施形態に係る手書き文書処理装置における動作の一部を例示する模式図である。  
これらの図は、軸推定処理を例示している。  
図２１に表したように、この場合も、軸推定処理において、第１軸５１と、第２軸５２と、が推定される。第１軸５１は、第１部分８１ｕの延在方向に沿っている。このため、第１軸５１は傾斜する。
【０１５２】
この場合も、罫線に対応するストロークデータ（例えば、横罫線入力データ８５ａ）は、第２軸５２に対して垂直な成分を有する。この垂直な成分を第２軸５２に射影したときに、第２軸５２上の特定の座標上に、射影成分のピーク５２ｐが生じる。
【０１５３】
例えば、罫線に対応するストロークデータ（例えば、縦罫線入力データ８５ｂ）は、第１軸５１に対して垂直な成分を有する。この垂直な成分を第１軸５１に射影したときに、第１軸５１上の特定の座標上に、射影成分のピーク５１ｐが生じる。
【０１５４】
この場合も、例えば、軸推定処理において、主軸の候補となる軸を、０度〜１８０度の範囲で回転させて、射影成分を求める。すなわち、所定の方向に延在する第１候補軸５１ｏ及び第２候補軸５２ｏを設定し、その時のピークの高さを算出する。そして、候補軸の延在する方向の角度を変化させて、それぞれの角度のときのピークの高さを求める。そして、ピークの高さが高くなる角度の候補軸が、第１軸５１及び第２軸５２となる。このようにして、第１軸５１及び第２軸５２が求められる。
【０１５５】
さらに、例えば、交点推定処理及び分類処理を実施することで、第１表データ４０ａが導出される。
【０１５６】
図２２（ａ）及び図２２（ｂ）は、第１の実施形態に係る手書き文書処理装置における処理結果を例示する模式図である。  
図２２（ａ）は、第１表データ４０ａを例示している。図２２（ｂ）は、第２表データ４０ｂを例示している。
【０１５７】
図２２（ａ）に表したように、第１部分８１ｕに対応する第１罫線４１ｒと、第２部分８２ｕに対応する第１セル内データ４１ｃと、第３部分８３ｕに対応する第２セル内データ４２ｃと、第２罫線４２ｒと、を含む第１表データ４０ａが導出される。このような第１表データ４０ａは、入出力部１０に供給され、表示部７０に表示可能である。この場合も、第２罫線４２ｒは、第１セル内データ４１ｃと第２セル内データ４２ｃとの間に設けられる。
【０１５８】
この例では、手書き入力された表が、表示部７０の表示領域７１の辺７１ｓに対して傾斜しているため、第１表データ４０ａの罫線（第１罫線４１ｒ及び第２罫線４２ｒなど）も、辺７１ｓに対して傾斜している。
【０１５９】
このとき、処理部２０は、第２表データ４０ｂを導出しても良い。  
図２２（ｂ）に表したように、第２表データ４０ｂにおいては、第１表データ４０ａの罫線（第１罫線４１ｒ及び第２罫線４２ｒなど）は、辺７１ｓに対して平行または垂直である。このような第２表データ４０ｂは、例えば、第１表データ４０ａを回転させることで得られる。回転の角度は、例えば、手書き入力された複数セットのストロークデータ８０ｃの第１部分８１ｕの延在方向と、表示領域７１の辺７１ｓと、の間の角度に基づいて定められる。例えば、第１罫線４１ｒ及び第２罫線４２ｒなどが、この角度で回転される。セル内データ（例えば、第１セル内データ４１ｃ及び第２セル内データ４２ｃなど）も、回転されても良い。
【０１６０】
例えば、図２２（ａ）に例示した第１罫線４１ｒが回転されて、図２２（ｂ）に例示した第３罫線４３ｒが作成される。図２２（ａ）に例示した第２罫線４２ｒが回転されて、図２２（ｂ）に例示した第４罫線４４ｒが作成される。図２２（ａ）に例示した第１セル内データ４１ｃが回転されて、図２２（ｂ）に例示した第３セル内データ４３ｃが作成される。図２２（ａ）に例示した第２セル内データ４２ｃが回転されて、図２２（ｂ）に例示した第４セル内データ４４ｃが作成される。
【０１６１】
このような処理は、処理部２０で実施できる。すなわち、処理部２０は、以下の第２処理動作が可能である。第２処理動作においては、入出力部１０が取得した複数セットのストロークデータ８０ｃに基づいて、第１部分８１ｕに対応する第３罫線４３ｒと、第２部分８２ｕに対応する第３セル内データ４３ｃと、を含む第２表データ４０ｂを導出する。この例では、第２表データ４０ｂは、第３部分８３ｕに対応する第４セル内データ４４ｃと、第４罫線４４ｒと、をさらに含む。第４罫線４４ｒは、第３セル内データ４３ｃと、第４セル内データ４４ｃと、の間を通る。第４罫線４４ｒは、第３罫線４４ｒに対して垂直または平行である。
【０１６２】
このような第２表データ４０ｂが、入出力部１０に供給される。入出力部１０から表示部７０に第２表データ４０ｂが供給され、第２表データ４０ｂが、表示部７０に表示される。
【０１６３】
表示部７０に第１部分８１ｕを表示したときの第１部分８１ｕの延在方向と、表示部７０に第３罫線４３ｒを表示したときの第３罫線４３ｒの延在方向と、は、交差する。すなわち、非平行である。例えば、第１部分８１ｕの延在方向は、表示部７０の表示領域７１の辺７１ｓに対して傾斜する。第３罫線４３ｒの延在方向は、その辺７１ｓに沿う。または、第３罫線４３ｒの延在方向は、その辺７１ｓに対して垂直である。辺７１ｓとして、表示領域７１の縦方向の辺を用いても良く、横方向の辺を用いても良い。
【０１６４】
このように、本実施形態に係る手書き文書処理装置１１０は、手書きされた表が傾斜している場合にも適用できる。罫線が斜めに傾斜して描かれた場合にも、表の軸の方向を正しく推定することができる。実施形態によれば、表の構造を、回転ロバストに推定することができる。
【０１６５】
実施形態は、例えば、ペン入力インタフェースを用いたノートアプリケーションの入力画面に、表を傾けて書く場合に適用できる。実施形態は、例えば、複数の使用者が書き込みをする状況において、画面に対して斜めに位置する人が表を書き込んだ場合に適用できる。これらの場合において、使用者の意図に沿って、表の罫線と、それ以外（セル内データ）と、を分類できる。その結果に基づいて、表を整形することが容易になる。
【０１６６】
本実施形態に係る手書き文書処理装置１１０は、例えば、ペン入力インタフェース（または手による入力インターファール）を含むアプリケーションに適用される。このアプリケーションにおいては、例えば、自由なレイアウトにおいて、図形描画ツール等を利用せずに、使用者が表を手書きで入力する。
【０１６７】
この場合、罫線を入力面に対して傾けて書くことがある。さらに、１本の罫線を不連続に書くことがある。表を手書きで入力する際に、罫線を省略して入力する場合もある。
【０１６８】
本実施形態によれば、例えば、このような状況に対処することができる。ユーザーインタフェースが向上できる。例えば、手書きされた罫線を適切に処理して表の整形を行うことができる。
【０１６９】
図２３は、第１の実施形態に係る手書き文書処理装置に用いられるデータを例示する模式図である。  
図２３は、複数セットのストロークデータ８０のデータ構造の例を示している。ストロークデータ８０は、例えば、筆跡データである。
【０１７０】
例えば、インクデータ構造４１０は、ストローク総数４１１と、複数のストローク構造（ストローク構造４１２及びストローク構造４１３など）を含む。
【０１７１】
「ストローク」は、手書き入力された筆画に対応する。ストロークは、例えば、ペン等が入力面に接してから離れるまでの、ペン等の軌跡に対応する。例えば、所定のタイミングで（例えば一定周期で）、軌跡上の点がサンプリングされる。ストロークは、例えば、サンプリングされた点の系列により表現される。
【０１７２】
１つのストロークのストローク構造４２０は、例えば、ストローク構造４１２及びストローク構造４１３などのいずれかである。ストローク構造４２０は、例えば、ペンが移動した面上の座標の値の集合（点構造）により表現される。
【０１７３】
例えば、ストローク構造４２０は、点総数４２１と、開始時刻４２２と、外接図形４２３と、点構造（点構造４２４及び点構造４２５など）と、を含む。点総数４２１は、ストロークを形成する点の個数である。点構造の数は、点総数４２１である。
【０１７４】
開始時刻４２２は、例えば、ストロークにおいて、ペンが入力面に接して書き出された時刻である。外接図形４２３は、文書面上において、ストロークの軌跡の外接図形である。外接図形４２３は、例えば、文書面上において、ストロークを内包する、最小面積の矩形であることが好ましい。
【０１７５】
点構造（点構造４２４及び点構造４２５など）は、例えば、入力装置に依存する。点構造の１つである点構造４３０は、例えば、ｘ座標４３１、ｙ座標４３２、筆圧４３３及び時間差４３４を含む。ｘ座標４３１は、サンプリングされた点のｘ方向の座標である。ｙ座標４３２は、サンプリングされた点のｙ方向の座標である。筆圧４３３は、サンプリングされた点における筆圧である。時間差４３４は、例えば、初期時刻（例えば上記の開始時刻４２２）と、その点のサンプリングの時刻と、の間の時間差である。点構造４３０は、このような４つの値を含む。
【０１７６】
例えば、座標は、文書面における座標系である。座標においては、例えば、文書面の左上の隅が、原点とされる。例えば、原点から、右下の隅に向かって、座標の値が大きくなる。座標は、このような正の値により表現しても良い。
【０１７７】
例えば、入力装置が筆圧を取得しない場合、または、筆圧を取得しても以降の処理で筆圧のデータを使用しない場合がある。このような場合には、筆圧４３３は省略可能である。または、筆圧４３３に、無効を示すデータを付与しても良い。
【０１７８】
ストローク構造４２０における、点構造４３０のそれぞれの領域に、ｘ座標４３１、及び、ｙ座標４３２などの実データを記載しても良い。または、ストローク構造４２０における、点構造４３０のそれぞれの領域に、対応する点構造４３０へのリンク情報を記載しても良い。例えば、ストローク構造４２０のデータと、点構造４３０のデータと、を別々に管理する場合に適用できる。
【０１７９】
実施形態に係る手書き文書処理装置１１０は、例えば、スタンドアローンの装置である。手書き文書処理装置１１０は、例えば、複数のノードに分散した構成を有しても良い。複数のノードは、例えば、ネットワークを介して互いに通信可能である。
【０１８０】
手書き文書処理装置１１０には、例えば、デスクトップ型コンピュータ、ラップトップ型コンピュータ、または、携帯型コンピュータなどが用いられる。手書き文書処理装置１１０には、携帯型の情報機器、タッチパネルを有する情報機器、または、スマートフォンなどが用いられる。文書処理装置１１０には、各種の情報処理装置が用いられる。手書き文書処理装置１１０には、様々な装置が用いられる。
【０１８１】
図２４は、第１の実施形態に係る手書き文書処理装置を例示する模式図である。  
図２４は、手書き文書処理装置１１０のブロック図である。図２４は、手書き文書処理装置１１０のハードウェアの例を示す。
【０１８２】
手書き文書処理装置１１０は、例えば、ＣＰＵ２０１、入力デバイス２０２、出力デバイス２０３、ＲＡＭ２０４、ＲＯＭ２０５、外部メモリ・インタフェース２０６、及び、通信インタフェース２０７を含む。例えば、入出力部１０として、入力デバイス２０２、出力デバイス２０３、外部メモリ・インタフェース２０６、及び、通信インタフェース２０７の少なくともいずれかが用いられる。処理部２０として、例えば、ＣＰＵ２０１が用いられる。
【０１８３】
手書き文書処理装置１１０としてタッチパネルを使用する場合には、例えば、液晶パネルと、ペンと、液晶パネル上に設けられたストローク検出装置等が利用される。
【０１８４】
例えば、手書き文書処理装置１１０の一部をクライアント上に設け、手書き文書処理装置１１０の別の一部をサーバ上に設けても良い。
【０１８５】
図２５は、第１の実施形態に係る手書き文書処理装置を例示する模式図である。  
図２５に表したように、ネットワーク３００上にサーバ３０３が設けられる。ネットワーク３００は、例えば、イントラネット及びインターネットの少なくともいずれかを含む。クライアント３０１、及び、クライアント３０２のそれぞれが、ネットワーク３００を介して、サーバ３０３と通信可能である。実施形態に係る手書き文書処理装置１１０は、このようなクライアントとサーバにより形成されても良い。
【０１８６】
例えば、クライアント３０１は、無線通信を介してネットワーク３００に接続される。クライアント３０２は、有線通信を介してネットワーク３００に接続される。
【０１８７】
クライアント３０１及びクライアント３０２は、例えば、ユーザー装置である。サーバ３０３は、例えば、ＬＡＮ上に設けられる。ＬＡＮとして、例えば、企業内ＬＡＮ等が用いられる。サーバ３０３は、例えば、インターネット・サービス・プロバイダ等により運営されても良い。サーバ３０３が、ユーザー装置でも良い。ユーザーが、他のユーザーに、サーバの機能を提供しても良い。手書き文書処理装置１１０を、クライアントとサーバとに分散する構成は、種々の変形が可能である。
【０１８８】
図２６は、第１の実施形態に係る手書き文書処理装置の動作を例示するフローチャート図である。  
図２６に表したように、文書処理装置１１０においては、例えば、手書き文書の複数セットのストロークデータ８０を取得する（ステップＳ１５０）。この動作は、例えば、入出力部１０で実施される。複数セットのストロークデータ８０は、例えば、第１ストロークデータ８１を含む第１部分８１ｕと、第２ストロークデータ８２を含む第２部分８２ｕと、第３ストロークデータ８３を含む第３部分８３と、を含む。
【０１８９】
そして、処理（例えば第１処理動作）が実施される（ステップＳ１６０）。この処理は、例えば、処理部２０において、実施される。第１処理動作においては、取得した複数セットのストロークデータ８０に基づいて、第１部分８１ｕに対応する第１罫線４１ｒと、第２部分８２ｕに対応する第１セル内データ４１ｃと、第３部分８３に対応する第２セル内データ４２ｃと、第１セル内データ４１ｃと第２セル内データ４２ｃとの間に設けられた第２罫線４２ｒと、を含む第１表データ４０ａを導出する。そして、第１表データ４０ａを出力する。
【０１９０】
（第２の実施形態）  
本実施形態は、手書き文書処理プログラムに係る。第１の実施形態に関して説明した処理は、ソフトウェアであるプログラムに基づいて実行されることが可能である。  
このプログラムにおいては、第１の実施形態に関して説明した処理の少なくとも一部が実施される。
【０１９１】
例えば、手書き文書処理プログラムは、コンピュータに、手書き文書の複数セットのストロークデータ８０を取得させる。複数セットのストロークデータ８０は、第１ストロークデータ８１を含む第１部分８１ｕと、第２ストロークデータ８２を含む第２部分８２ｕと、第３ストロークデータ８３を含む第３部分８３と、を含む。
【０１９２】
手書き文書処理プログラムは、コンピュータに、第１処理動作を実施させる。第１処理動作においては、取得した複数セットのストロークデータ８０に基づいて、第１部分８１ｕに対応する第１罫線４１ｒと、第２部分８２ｕに対応する第１セル内データ４１ｃと、第３部分８３ｕに対応する第２セル内データ４２ｃと、第１セル内データ４１ｃと第２セル内データ４２ｃとの間に設けられた第２罫線４２ｒと、を含む第１表データ４０ａを導出する。
【０１９３】
さらに、手書き文書処理プログラムは、コンピュータに、上記の第２処理動作を実施させても良い。
【０１９４】
本実施形態に係る手書き文書処理プログラムは、例えば、汎用の計算機システムに記憶可能である。このプログラムを読み込むことにより、実施形態に係る手書き文書処理装置１１０で得られる効果と同様な効果を得ることができる。
【０１９５】
実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、記録媒体に記録可能である。記録媒体として、例えば、磁気ディスク（フレキシブルディスク、または、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、または、半導体メモリ、などが用いられる。
【０１９６】
記録媒体は、コンピュータまたは組み込みシステムが読み取り可能である。記録媒体の記録（記憶）の形式は、任意である。
【０１９７】
コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示を、ＣＰＵで実行させる。実施形態に係る手書き文書処理装置１１０における動作が実施できる。コンピュータがプログラムを取得する場合、または、読み込む場合、ネットワークを通じて取得または読み込むことができる。
【０１９８】
プログラムは、例えば、コンピュータや組み込みシステムに、記録媒体からインストールされる。このプログラムの指示に基づいて、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）、データベース管理ソフト、または、ネットワーク等のＭＷ（ミドルウェア）等が、実施形態に含まれる処理の一部を実行してもよい。
【０１９９】
実施形態に係る記録媒体は、例えば、コンピュータ、または、組み込みシステムと独立している。実施形態はこれに限らず、実施形態に係る記録媒体には、例えば、プログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。プログラムのダウンロードにおいては、例えば、ＬＡＮまたはインターネット等を介して行われる。
【０２００】
実施形態において、記録媒体の数は、１または、複数である。複数の記録媒体に基づいて、本実施形態に係る処理が実行されても良い。本実施形態に係る記録媒体に含まれる媒体の構成は、任意である。
【０２０１】
実施形態に係るコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づいて、本実施形態における各処理を実行する。本実施形態に係るコンピュータまたは組み込みシステムには、例えば、パーソナルコンピュータ、または、マイコン等の１つ装置が用いられる。本実施形態に係るコンピュータまたは組み込みシステムには、例えば、複数の装置がネットワーク接続されたシステム等を用いても良い。
【０２０２】
また、実施形態に係るコンピュータは、パーソナルコンピュータ、情報処理機器に含まれる演算処理装置、マイコン等も含む。実施形態に係るコンピュータは、プログラムによって実施形態に係る機能を実現することが可能な機器（装置）を含む。
【０２０３】
（第３の実施形態）  
本実施形態は、手書き文書処理方法に係る。本方法において、例えば、図２６に関して説明した処理を行う。手書き文書処理方法においては、第１の実施形態に関して説明した手書き文書処理装置１１０及びその変形を用いることができる。
【０２０４】
実施形態によれば、より自由に手書きされた表を整形できる手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムが提供できる。
【０２０５】
なお、本願明細書において、「直交」、「垂直」、または、「平行」は、ばらつきなどを含むものであり、実質的に垂直、または、実質的に平行である状態を含む。
【０２０６】
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、手書き文書処理装置に含まれる入出力部、及び、処理部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。  
また、各具体例のいずれか２つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
【０２０７】
その他、本発明の実施の形態として上述した手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムを基にして、当業者が適宜設計変更して実施し得る全ての手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラムも、本発明の要旨を包含する限り、本発明の範囲に属する。
【０２０８】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【０２０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１０】
１０…入出力部、  ２０…処理部、  ４０ａ…第１表データ、  ４０ｂ…第２表データ、  ４１ｃ…第１セル内データ、  ４１ｒ…第１罫線、  ４２ｃ…第２セル内データ、  ４２ｒ…第２罫線、  ４３ｃ…第３セル内データ、  ４３ｒ…第３罫線、  ４４ｃ…第４セル内データ、  ４４ｒ…第４罫線、  ４５…罫線出力データ、  ４５ａ…横罫線出力データ、  ４５ｂ…縦罫線出力データ、  ４６…非罫線出力データ、  ５１…第１軸、  ５１ｂ…ボトム、  ５１ｈ…累積、  ５１ｏ…第１候補軸、  ５１ｐ…ピーク、  ５１ｑ…部分、  ５１ｔｈ…しきい値、  ５２…第２軸、  ５２ｂ…ボトム、  ５２ｈ…累積、  ５２ｏ…第２候補軸、  ５２ｐ…ピーク、  ５２ｑ…部分、  ５２ｔｈ…しきい値、  ７０…表示部、  ７１…表示領域、  ７１ｓ…辺、  ８０、８０ａ、８０ｂ、８０ｃ…ストロークデータ、  ８１…第１ストロークデータ、  ８１ｈ…累積、  ８１ｐ…ピーク、  ８１ｕ…第１部分、  ８２…第２ストロークデータ、  ８２ｕ…第２部分、  ８３…第３ストロークデータ、  ８３ｕ…第３部分、  ８５…罫線入力データ、  ８５ａ…横罫線入力データ、  ８５ａｃ…交点、  ８５ｂ…縦罫線入力データ、  ８５ｂｃ…交点、  ８６…非罫線入力データ、  １１０…手書き文書処理装置、  ２０１…ＣＰＵ、  ２０２…入力デバイス、  ２０３…出力デバイス、  ２０４…ＲＡＭ、  ２０５…ＲＯＭ、  ２０６…外部メモリ・インタフェース、  ２０７…通信インタフェース、  ３００…ネットワーク、  ３０１、３０２…クライアント、  ３０３…サーバ、  ４１０…インクデータ構造、  ４１１…ストローク総数、  ４１２、４１３、４２０…ストローク構造、  ４２１…点総数、  ４２２…開始時刻、  ４２３…外接図形、  ４２４、４２５、４３０…点構造、  ４３１…ｘ座標、  ４３２…ｙ座標、  ４３３…筆圧、  ４３４…時間差、  Ｌ１…間隔、  Ｌ２、Ｌ３…長さ
【図１】
2015035150.tif 000003
【図２】
2015035150.tif 000004
【図３】
2015035150.tif 000005
【図４】
2015035150.tif 000006
【図５】
2015035150.tif 000007
【図６】
2015035150.tif 000008
【図７】
2015035150.tif 000009
【図８】
2015035150.tif 000010
【図９】
2015035150.tif 000011
【図１０】
2015035150.tif 000012
【図１１】
2015035150.tif 000013
【図１２】
2015035150.tif 000014
【図１３】
2015035150.tif 000015
【図１４】
2015035150.tif 000016
【図１５】
2015035150.tif 000017
【図１６】
2015035150.tif 000018
【図１７】
2015035150.tif 000019
【図１８】
2015035150.tif 000020
【図１９】
2015035150.tif 000021
【図２０】
2015035150.tif 000022
【図２１】
2015035150.tif 000023
【図２２】
2015035150.tif 000024
【図２３】
2015035150.tif 000025
【図２４】
2015035150.tif 000026
【図２５】
2015035150.tif 000027
【図２６】
2015035150.tif 000028