(57)【要約】 【課題】手書きされた罫線を適切に処理して表の整形を行えるようにする。【解決手段】実施形態によれば、手書き文書処理装置が提供される。該装置の入力部は、ストロークデータを入力する。分類部は、前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類する。分割部は、前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割する。判定部は、前記第２領域内の罫線は、その一方の端点に罫線が接続されない第１罫線と、その一方の端点に仮想の外接罫線が接続される第２罫線のどちらであるかを判定する。【選択図】図１
2014038518.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サンプリング時の点数である。ストロークデータ１（筆跡データ）のより具体的なデータ構造の例については後述する。
【００１２】
分類部５は、ストロークデータ１を複数の罫線のデータと罫線以外のストロークデータとに分類する。表の罫線には、（１）相対的にストローク長が大きい、（２）ストロークの始終端によって決まる縦横のアスペクト比が極端に大きい／小さい、といった特徴がある。そこで、これらを判断基準としてストロークデータ１を罫線とそれ以外に分類することができる。
【００１３】
図３はストローク長のヒストグラムを表している。同図のヒストグラムＬにおいて、閾値Ｔｈを超えるストローク長を持つストロークは罫線（または罫線の候補）である。これは上記（１）の条件に該当する。図４はストロークの始終端によって決まる縦横のアスペクト比を示している。同図において、始端Ｓ１と終端Ｅ１を有するストロークは、縦方向に比べて横方向に極端に長いことから、罫線に分類される。また、始端Ｓ２と終端Ｅ２を有するストロークは、縦方向に比べて横方向に極端に短いことから、これも罫線に分類される。図４の例は上記（２）の条件に該当する。
【００１４】
図５は、分類部５による処理結果を説明するための図である。同図において、参照符号ＲＬは、ストロークデータ１における複数の罫線のデータを示しており、参照符号ＨＷはストロークデータ１における罫線以外のストロークデータを示している。なお、ストロークデータＨＷは、手書きの表のセル内に入力された手書きの文字列（本例では「好影響」、「悪影響」、「内部環境」…「グローバル化」）である。
【００１５】
分割部６は、分類部５により分類された複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割する。ここでは、ストロークデータ１において罫線に分類されたデータのみに着目する。まず図６（ａ）に示すように、ストロークの交点（ＩＰ１〜ＩＰ９）および端点（ＥＰ１〜ＥＰ９）を検出する。次に、端点（ＥＰ１〜ＥＰ９）のなかから、矩形の各辺について最も端に位置する複数の端点を選択し、分類部５により分類された複数の罫線（つまり全ての罫線）を包含する領域を求める。この包含領域は必ずしも１つの矩形である必要はなく、図６（ｂ）のように複数の矩形の組み合わせであってもよい。次に、交点（ＩＰ１〜ＩＰ９）に基づいて当該包含領域を複数の領域Ｒに分割する（図６（ｂ））。この複数の領域Ｒは、図７に示すように、第１領域ＲＡ１〜ＲＡ４と、第２領域ＲＢ１〜ＲＢ９とを含む。
【００１６】
例えば第１領域ＲＡ１は、図６（ａ）に示した４つの交点ＩＰ１、ＩＰ２、ＩＰ３、ＩＰ４によって囲まれたセル（手書き文字列「技術力高い」を含む）に対応する。同様に、第１領域ＲＡ２は、４つの交点ＩＰ２、ＩＰ３、ＩＰ５、ＩＰ６によって囲まれたセル（手書き文字列「機動力弱い」を含む）に対応する。以下、これら第１領域ＲＡ１〜ＲＡ４を「セル領域」と呼ぶことにする。
【００１７】
これに対し、例えば第２領域ＲＢ１は、図６（ａ）に示したように端点ＥＰ１（およびＥＰ４）を含んでいる。また、第２領域ＲＢ１は４つの交点によって囲まれておらず、交点ＩＰ１しか含んでいない。したがって、第２領域ＲＢ１は、当該領域に対応するセルの一部の罫線が欠けており、高々３つの罫線（この例では２つの罫線）を含む領域に該当する。以下、これら第２領域ＲＢ１〜ＲＢ９を「はみ出し領域」と呼ぶことにする。同様に、第２領域ＲＢ２は、図６（ａ）に示したように端点ＥＰ１（およびＥＰ２）を含んでいる。また、第２領域ＲＢ２は交点ＩＰ１およびＩＰ２の２つしか含んでおらず、４つの交点によって囲まれていない。同様に、第２領域ＲＢ９は、図６（ａ）に示したように端点ＥＰ９を含んでいる。また、第２領域ＲＢ９は交点ＩＰ６およびＩＰ９の２つしか含んでおらず、４つの交点によって囲まれていない。
【００１８】
分割部６は、単純には、それぞれが少なくとも１つの端点を含んだ領域の組をはみ出し領域とし、それ以外の領域の組をセル領域とするように領域分割を行ってもよい。あるいは、４つの交点を含んだ領域の組をセル領域とし、それ以外の領域の組をはみ出し領域とするように領域分割を行ってもよい。
【００１９】
判定部７は、個々のはみ出し領域（ＲＢ１〜ＲＢ９）について、当該はみ出し領域内の罫線は、その一方の端点に罫線が接続されない第１罫線（以下「はみ出し罫線」という）と、その一方の端点に仮想の外接罫線が接続される第２罫線のどちらであるかを判定する。はみ出し罫線は、罫線の交点から突出した「はみ出し（small extension）」であり、原則として表の整形において除去されるべきものである。
【００２０】
（実施例Ａ）  
実施例Ａにおいて、判定部７は、セルを構成する罫線のストローク長から算出した統計量に基づく第１基準値を下回る罫線をはみ出し罫線であると判定する。
【００２１】
実施例Ａの判定部７による処理のフローチャートを図８に示す。  
（ステップＳ１）  
図９に示すセル領域（ＲＡ１〜ＲＡ４）の複数の罫線のストロークに基づいて、罫線の統計量を算出する。単純には、縦ストローク長の平均および横ストローク長の平均をそれぞれ統計量として用いる。
【００２２】
（ステップＳ２）  
未処理のはみ出し領域があるか否かを判定する。全てのはみ出し領域を処理したら終了する。
【００２３】
（ステップＳ３）  
はみ出し領域を構成する罫線はステップＳ１の統計量に基づく基準を満たすか否かを判定する。ここで、縦ストローク長の平均に所定係数（例えば０．５）を乗じた値を縦ストロークの第１基準値とし、横ストローク長の平均に所定係数を乗じた値を横ストロークの第１基準値とする。
【００２４】
（ステップＳ４）  
はみ出し領域を構成する罫線が縦ストロークであれば、当該罫線の縦ストローク長が縦ストローク長の第１基準値以上であるならば、当該罫線は、仮想の外接罫線に接続する罫線であると判定する。一方、はみ出し領域を構成する罫線が横ストロークであれば、当該罫線の横ストローク長が横ストローク長の第１基準値以上であるならば、当該罫線についても仮想の外接罫線に接続する罫線であると判定する。これらは、ステップＳ３の判定において基準を満たすものに該当する。
【００２５】
（ステップＳ５）  
はみ出し領域を構成する罫線が縦ストロークであれば、当該罫線の縦ストローク長が縦ストローク長の第１基準値を下回るならば、当該罫線は、はみ出し罫線であると判定する。一方、はみ出し領域を構成する罫線が横ストロークであれば、当該罫線の横ストローク長が横ストローク長の第１基準値を下回るならば、当該罫線についてもはみ出し罫線であると判定する。これらは、ステップＳ３の判定において基準を満たさないものに該当する。
【００２６】
図１０および図１１は、判定部７による処理結果を示す図である。はみ出し領域（ＲＢ１〜ＲＢ９）を処理した結果、はみ出し領域ＲＢ６、ＲＢ７、ＲＢ８、ＲＢ９は×印で示すように、はみ出し罫線を含んでいる。図１１は、はみ出し罫線ＲＢＬ１〜ＲＢＬ３と、仮想の外接罫線が接続される第２罫線ＲＡＬ１〜ＲＡＬ６を示している。後述する推定処理によれば、これら第２罫線ＲＡＬ１〜ＲＡＬ６に接続されるべき外接罫線を推定し、補完することができる。
【００２７】
（実施例Ｂ）  
実施例Ｂは、罫線の長さに依存しない判定を行う点で実施例Ａとは異なる。実施例Ｂにおいて、判定部７は、はみ出し領域内の罫線以外のストロークの数が第２基準値以上であるならば、当該はみ出し領域内の罫線は、仮想の外接罫線が接続される第２罫線であると判定する。はみ出し領域内の罫線以外のストロークとは、図１２に示すように、手書きされた文字等を構成するストローク群ＨＷ１（手書きされた「好影響」）〜ＨＷ４（手書きされた「外部環境」）のことである。第２基準値（ストローク数）は、例えば４とする。本例において、ストローク群ＨＷ１〜ＨＷ４の各々は明らかに４ストローク以上である。
【００２８】
実施例Ｂによれば、はみ出し領域ＲＢ２、ＲＢ３、ＲＢ４、ＲＢ５内の罫線が第２罫線と判定される。残りのはみ出し領域における残りの罫線は、はみ出し罫線と判定される。したがって、図１１と同じ結果が得られる。はみ出し領域ＲＢ２、ＲＢ３、ＲＢ４、ＲＢ５は、一部の罫線を欠いたセル領域とみなすことができる。
【００２９】
なお、実施例Ｂは、罫線の長短ではなく、罫線以外のストロークの数に基づく判定を行うものであるから、罫線の長さが短い場合であってかつ、仮想の外接罫線が接続されるべき罫線を適切に判定することができる。
【００３０】
ここでは、第２基準を罫線以外のストロークの数について主に説明したが、はみ出し領域に含まれる罫線以外のストロークの合計長などを利用してもよい。例えば図１２に示すように、ストローク群ＨＷ１〜ＨＷ４の各々のストローク長の合計はあきらかに罫線よりも長い。はみだし領域に含まれる罫線以外のストローク長を領域毎に合計し、その合計長と第２基準を比較することによって、仮想の外接罫線が接続されるべき罫線を適切に判定することができる。
【００３１】
（実施例Ｃ）  
実施例Ｃは、セル領域が存在しない場合に対処するものである。この場合、セルを構成する罫線は存在しないから、実施例Ａにおける統計量を求めることができない。また、罫線以外のストロークが手書き入力されていない場合についても、セルに相当する領域を検出することができないから、実施例Ｂを適用することはできない。
【００３２】
実施例Ｃにおいて、判定部７は、はみ出し領域内の２つの罫線の交点で決まる２つの線分の長さの比に基づいて、短い方の線分ははみ出し罫線であると判定する。例えば図１３に示すように、交点ＩＰと端点ＥＰ１とを含む線分の長さｍと、交点ＩＰと端点ＥＰ２とを含む線分ｎの比から、線分ｎははみ出し罫線であると判定することができる。逆に、ｍとｎの比がほぼ１：１の場合には、ｍおよびｎは第２罫線であると判定され、端点ＥＰ１およびＥＰ２には外接罫線が接続される。
【００３３】
（実施例Ｄ）  
実施例Ｄは、実施例Ｂと組み合わせて実施することができる。実施例Ｂを適用した場合、第２基準値（罫線以外のストローク数の基準値）を用いて第２罫線（外接罫線に接続される罫線）が判定される。具体的には、図１４に示すように、罫線以外のストローク群ＨＷ１を含んだ領域３、罫線以外のストローク群ＨＷ２を含んだ領域４、罫線以外のストローク群ＨＷ３を含んだ領域５は、第２罫線を含む領域、すなわち罫線の一部を欠いたセル領域であると判定される。
【００３４】
ここで、同じ列に属する領域、同じ行に属する領域に対してユーザーは共通の意図をもって手書きを行うものと推測され、一部の領域がセル領域であるならば、同じ列または行に属する他の領域は空白のセル領域であると考えることができる。したがって、上記セル領域であるとの判定結果を、他の領域にも適用することが好ましい。
【００３５】
実施例Ｄでは、同じ罫線に接続された領域をグループにまとめ、グループ内において上記判定結果を伝播させる。具体的には、判定部７は、罫線を共有する複数のはみ出し領域をグループ化し、第２罫線の判定結果をグループ内に適用する。例えば図１４において、はみ出し領域３内の罫線は第２罫線であるとの判定結果を、同じ行において罫線を共有する別のはみ出し領域１および２に適用し、当該別のはみ出し領域１および２内の罫線を第２罫線であると判定する。
【００３６】
なお、上述した実施例Ａ〜Ｄは、各々を単独で実施してもよいし、複数の実施例を適宜組み合わせてもよい。
【００３７】
次に、推定部８および表示部９について説明する。
【００３８】
（実施例Ｅ）  
実施例Ｅにおいて、推定部８は、判定部７によって判定された第２罫線に接続される外接罫線を推定する第１の推定部を備える。第１の推定部は、図１５に示すように、第２罫線の端点群Ｇ１およびＧ２のそれぞれについて、外接罫線Ｌ１およびＬ２を推定する。外接罫線Ｌ１およびＬ２は、手書き入力されておらず省略された仮想の外接罫線に相当する。例えば、端点群Ｇ１のＹ座標の平均位置を通る水平線を横（行）方向の外接罫線Ｌ１とし、端点群Ｇ２のＸ座標の平均位置を通る垂直線を縦（列）方向の外接罫線Ｌ２とする。同図に示すように、推定された外接罫線Ｌ１およびＬ２は、手書きの内容とともに表示部９によって表示される。
【００３９】
（実施例Ｅ’）  
実施例Ｅ’は、実施例Ｅの変形例に関する。外接罫線を推定する際には、図１６に示すように、罫線以外のストローク群ＨＷ１およびＨＷ２、すなわち本例では手書きされた文字列にかからないように、外接罫線ＡＬの水平位置を補正することが好ましい。
【００４０】
簡単には、ＨＷ１及びＨＷ２のＹ座標と外接罫線Ｌ１のＹ座標を比較し、同じ値もしくは所定の閾値内の値の場合に補正する。
【００４１】
（実施例Ｆ）  
実施例Ｆにおいて、推定部８は、ユーザーによって手書きされた罫線の直線化罫線を推定する第２の推定部を備える。例えば図１７に示すように、手書きの罫線Ｌ１〜Ｌ６について、各罫線の重心を通る直線ＲＬ１〜ＲＬ６が推定される。表示部９は、手書きの罫線Ｌ１〜Ｌ６に代えて直線ＲＬ１〜ＲＬ６を表示する。
【００４２】
（実施例Ｇ）  
実施例Ｇにおいて、表示部９は、推定部８によって推定された外接罫線（仮想線）と、ユーザーが手書き入力した罫線とを異なる表示形態で表示する。具体的には、ストロークの属性、例えば表示色、太さ、線種などを切り替える。例えば図１８において、外接罫線ＦＬ１およびＦＬ２は、推定部８によって推定され、補完されたものであり、他の罫線は、ユーザーが手書き入力した罫線である。両者を区別可能なように表示形態を異ならせる。
【００４３】
なお、推定された外接罫線を区別可能にする表示モードと、このような区別を行わない表示モードとを切り替え可能にすることが好ましい。
【００４４】
なお、上述した実施例Ｅ〜Ｇは、各々を単独で実施してもよいし、複数の実施例を適宜組み合わせてもよい。
【００４５】
次に、ストロークデータ１（筆跡データ）のより具体的なデータ構造の例について図１９を参照して説明する。
【００４６】
「ストローク」とは、手書き入力された筆画であり、ペン等が入力面に接してから離れるまでの軌跡を表す。通常、所定のタイミングで（例えば一定周期で）軌跡上の点がサンプリングされるので、ストロークは、サンプリングされた点の系列により表現される。
【００４７】
図１９（ｂ）の例において、１ストローク分（すなわち、１画分）のストローク構造は、ペンが移動した平面上の座標値の集合（点構造）で表現され、具体的には、そのストロークを形成する点の個数を示す「点総数」、「開始時刻」、「外接図形」、点総数に相当する個数の「点構造」の配列を含む構造体である。ここで、開始時刻は、そのストロークにおいてペンが入力面に接して書き出された時刻を示す。外接図形は、文書平面上においてそのストロークの軌跡に対する外接図形（好ましくは、文書平面上においてそのストロークを内包する最小面積の矩形）を示す。
【００４８】
点の構造は、入力デバイスに依存し得る。図１９（ｃ）の例では、１点の構造は、その点がサンプリングされた座標値ｘ，ｙ、筆圧並びに初期点（例えば上記の「開始時刻」）からの時間差の４値を持つ構造体である。
【００４９】
なお、座標は文書平面の座標系であり、左上の隅の原点として右下の隅になるほど値が大きくなる正の値で表現しても良い。
【００５０】
また、入力デバイスが筆圧を取得できない場合或いは筆圧を取得できても以降の処理で筆圧を使用しない場合には、図１９（ｃ）の筆圧を省いても良いし或いは筆圧に無効を示すデータを記述しても良い。
【００５１】
なお、図１９（ｂ），（ｃ）の例において、ストローク構造における個々の点構造の領域に、座標値ｘ，ｙ等の実データを記載しても良いし、あるいは、ストローク構造のデータと点構造のデータとを別々に管理するものとして、ストローク構造における個々の点構造の領域に、対応する点構造へのリンク情報を記載しても良い。
【００５２】
本実施形態の手書き文書処理装置は、スタンドアローンの装置として構成することも、ネットワークを介して通信可能な複数のノードに分散した形で構成することも可能である。
【００５３】
また、本実施形態の手書き文書処理装置は、デスクトップ型又はラップトップ型の汎用計算機、携帯型の汎用計算機、その他の携帯型の情報機器、タッチパネルを有する情報機器、スマートフォン、その他の情報処理装置など、様々なデバイスによって実現可能である。
【００５４】
図２０に、本実施形態の手書き文書処理装置を実現するハードウェアの構成例を示す。図中、２０１はＣＰＵ、２０２は所定の入力デバイス、２０３は所定の出力デバイス、２０４はＲＡＭ、２０５はＲＯＭ、２０６は外部メモリ・インタフェース、２０７は通信インタフェースである。例えば、タッチパネルを使用する場合には、例えば液晶パネルとペンと液晶パネル上に設けられたストローク検出装置等が利用される（図中、２０８参照）。
【００５５】
また、例えば、図１の構成の一部分をクライアント上に設け、図１の構成の残りの部分をサーバ上に設けることも可能である。
【００５６】
例えば、図２１は、イントラネット及び／又はインターネット等のネットワーク３００上にサーバ３０３が存在し、各クライアント３０１，３０２がネットワーク３００を介してそれぞれサーバ３０３と通信することによって、本実施形態の手書き文書処理装置が実現する様子を例示している。
【００５７】
なお、クライアント３０１は、無線通信を介してネットワーク３００に接続され、クライアント３０２は、有線通信を介してネットワーク３０２に接続される場合を例示している。
【００５８】
クライアント３０１，３０２は、通常、ユーザー装置である。サーバ３０３は、例えば、企業内ＬＡＮ等のＬＡＮ上に設けられたものであっても良いし、インターネット・サービス・プロバイダ等が運営するものであっても良い。また、サーバ３０３がユーザー装置であって、あるユーザーが他のユーザーに機能を提供するものであっても良い。
【００５９】
図１の構成を、クライアントとサーバに分散する方法として、種々の方法が考えられる。
【００６０】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の手書き文書処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の手書き文書処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００６１】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００６２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６３】
１…ストロークデータ、２…手書き文書処理装置、３…主要部、４…入力部、５…分類部、６…分割部、７…判定部、８…推定部、９…表示部。
【図１】
2014038518.tif 000003
【図２】
2014038518.tif 000004
【図３】
2014038518.tif 000005
【図４】
2014038518.tif 000006
【図５】
2014038518.tif 000007
【図６】
2014038518.tif 000008
【図７】
2014038518.tif 000009
【図８】
2014038518.tif 000010
【図９】
2014038518.tif 000011
【図１０】
2014038518.tif 000012
【図１１】
2014038518.tif 000013
【図１２】
2014038518.tif 000014
【図１３】
2014038518.tif 000015
【図１４】
2014038518.tif 000016
【図１５】
2014038518.tif 000017
【図１６】
2014038518.tif 000018
【図１７】
2014038518.tif 000019
【図１８】
2014038518.tif 000020
【図１９】
2014038518.tif 000021
【図２０】
2014038518.tif 000022
【図２１】
2014038518.tif 000023
【手続補正書】
【提出日】平成25年3月25日(2013.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストロークデータを入力する入力部と、
前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類する分類部と、
前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割する分割部と、
前記第２領域内の罫線は、その一方の端点に罫線が接続されない第１罫線と、その一方の端点に仮想の外接罫線が接続される第２罫線のどちらであるかを判定する判定部と、
を備えた手書き文書処理装置。
【請求項２】
前記仮想の外接罫線を推定する第１の推定部をさらに備えた請求項１記載の装置。
【請求項３】
前記複数の罫線の直線化罫線を推定する第２の推定部をさらに備えた請求項１記載の装置。
【請求項４】
前記外接罫線を前記ストロークデータの複数の罫線とは異なる表示形態で表示する表示部をさらに備えた請求項２記載の装置。
【請求項５】
前記判定部は、前記セルを構成する罫線のストローク長から算出した統計量に基づく第１基準値を下回る罫線を前記第１罫線であると判定する請求項１記載の装置。
【請求項６】
前記判定部は、前記第２領域内の前記罫線以外のストロークの数およびストロークの合計長のいずれか一方が第２基準値以上であるならば、当該第２領域内の罫線は前記第２罫線であると判定する請求項１記載の装置。
【請求項７】
前記判定部は、前記第２領域内の２つの罫線の交点で決まる２つの線分の長さの比に基づいて、短い方の線分は前記第１罫線であると判定する請求項１記載の装置。
【請求項８】
前記判定部は、前記第２基準値を用いた前記第２罫線の判定結果を、罫線を共有する別の第２領域に適用し、当該別の第２領域内の罫線を前記第２罫線であると判定する請求項６記載の装置。
【請求項９】
ストロークデータを入力すること、
前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類すること、
前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割すること、
前記第２領域内の罫線は、その一方の端点に罫線が接続されない第１罫線と、その一方の端点に仮想の外接罫線が接続される第２罫線のどちらであるかを判定すること、
を含む手書き文書処理方法。
【請求項１０】
コンピュータを、
ストロークデータを入力する入力部、
前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類する分類部、
前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割する分割部、
前記第２領域内の罫線は、その一方の端点に罫線が接続されない第１罫線と、その一方の端点に仮想の外接罫線が接続される第２罫線のどちらであるかを判定する判定部、
として機能させるためのプログラム。
【請求項１１】
ストロークデータを入力し、前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類し、前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割し、前記第２領域内の罫線は、その一方の端点に罫線が接続されない第１罫線と、その一方の端点に仮想の外接罫線が接続される第２罫線のどちらであるかを判定するように構成されたプロセッサと、
前記プロセッサに接続されたメモリと、
を備えた手書き文書処理装置。
【請求項１２】
ストロークデータを入力する入力部と、
前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類する分類部と、
前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割する分割部と、
前記第２領域内の高々３つの罫線に、少なくとも１つの外接罫線を補って表示する表示制御部と、
を備えた手書き文書処理装置。
【請求項１３】
ストロークデータを入力する入力部と、
前記ストロークデータを複数の罫線のデータと罫線以外のストロークデータとに分類する分類部と、
前記複数の罫線を包含する領域を、４つの罫線で囲まれたセルに対応する第１領域と、高々３つの罫線しか含まない第２領域とに分割する分割部と、
前記第２領域内の少なくとも１つの罫線を除去する表示制御部と、
を備え、前記第２領域において基準値以下の長さのはみ出し罫線が除去される、手書き文書処理装置。