(57)【要約】【課題】筆記の選択を容易に行うこと。【解決手段】情報処理装置１０は、手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付け、基準領域のうち筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、基準領域の探索方向に隣接し、かつ第１の探索領域に包含される第２の探索領域を設定し、第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて第１の探索領域を再設定し、第１の探索領域に含まれる筆記の探索方向側の端部と、第２の探索領域に含まれる筆記の探索方向側の端部との差分が所定の閾値以内である場合、第２の探索領域の探索方向側の端部を第１の探索領域の探索方向側の端部と同じ位置に再設定し、設定または再設定が行われた第１の探索領域に筆記が含まれない場合、筆記が探索済みである第１の探索領域に含まれる筆記を選択し、差分が所定の閾値を超える場合、筆記が探索済みである第２の探索領域に含まれる筆記を選択する。【選択図】図１
2020004124.tif 000002
【特許請求の範囲】
【請求項１】
手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付け、
前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定し、
前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定し、
前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定し、
設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する、
処理をコンピュータに実行させる筆記選択プログラム。
【請求項２】
前記設定する処理は、前記基準領域に含まれる筆記が一文字に対応する場合、前記第１の探索領域および前記第２の探索領域を設定することを特徴とする請求項１に記載の筆記選択プログラム。
【請求項３】
前記受け付ける処理は、前記基準領域の矩形に対応する四辺の指定を受け付けることを特徴とする請求項１または２に記載の筆記選択プログラム。
【請求項４】
前記設定する処理は、互いが一致しない複数の第２の探索領域を設定し、
前記再設定する処理は、複数の第２の探索領域ごとに前記第２の探索領域の前記探索方向側の端部を再設定し、
前記選択する処理は、前記複数の第２の探索領域ごとに前記第１の探索領域に含まれる筆記の前記探索方向側の端部との間で得られる差分のうちいずれか１つが前記所定の閾値を超える場合、前記差分が前記所定の閾値を超える第２の探索領域に含まれる筆記を選択することを特徴とする請求項１、２または３に記載の筆記選択プログラム。 
【請求項５】
前記設定する処理は、前記基準領域の前記探索方向のサイズと、前記基準領域の前記探索方向に直交する方向のサイズとの比が所定の条件を満たす場合、前記基準領域から一文字ごとに抽出された矩形領域を前記基準領域とし、前記基準領域ごとに前記第１の探索領域および前記第２の探索領域を設定することを特徴とする請求項１〜４のいずれか１つに記載の筆記選択プログラム。
【請求項６】
手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付け、
前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定し、
前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定し、
前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定し、
設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する、
処理をコンピュータが実行する筆記選択方法。
【請求項７】
手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付ける受付部と、
前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定する設定部と、
前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定する第１再設定部と、
前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定する第２再設定部と、
設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する筆記選択部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、筆記選択プログラム、筆記選択方法および情報処理装置に関する。
【背景技術】
【０００２】
手指や電子ペンなどの手書きが行われたストロークの軌跡を筆記として入力するユーザインタフェースが知られている。このように手書き入力が行われた筆記全体のうち一部の筆記を選択することにより、コピーや文字認識、文字認識が行われたテキストを用いるＷｅｂ検索などといった機能を利用することができる。
【０００３】
例えば、筆記の選択には、筆記全体を手書きで囲んだり、２点を指定したりすることで、筆記を選択する範囲を指定させる方法が用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２５４０９号公報
【特許文献２】特開２００５−２６７６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、筆記の選択を容易に行うことができない場合がある。
【０００６】
例えば、電子白板の他、机やボード、壁といった部屋全体にディスプレイやタッチパネルの機能を持たせることで空間全体をデジタル化するユーザインタフェース（以降、「空間ＵＩ（User  Interface）」と称する）などのユーザインタフェースが用いられる場合がある。このように大画面のユーザインタフェースが利用される場合、筆記を選択する範囲も広範囲になるので、手を大きく動かさねばならず、筆記の選択を容易に行うことは困難である。
【０００７】
１つの側面では、本発明は、筆記の選択を容易に行うことができる筆記選択プログラム、筆記選択方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様では、筆記選択プログラムは、手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付け、前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定し、前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定し、前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定し、設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
筆記の選択を容易に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る情報処理装置の機能的構成の一例を示すブロック図である。
【図２】図２は、初期設定の一例を示す図である。
【図３】図３は、筆記探索領域Ｓおよび空白探索領域Ｅの設定例を示す図である。
【図４】図４は、筆記探索領域Ｓの再設定の一例を示す図である。
【図５】図５は、確定済領域Ｆの拡張の一例を示す図である。
【図６Ａ】図６Ａは、探索済領域Ｄと確定済領域Ｆの差分の一例を示す図である。
【図６Ｂ】図６Ｂは、探索済領域Ｄと確定済領域Ｆの差分の一例を示す図である。
【図７】図７は、空白探索領域Ｅの再設定の一例を示す図である。
【図８】図８は、筆記選択の一例を示す図である。
【図９】図９は、実施例１に係る筆記選択処理の手順を示すフローチャートである。
【図１０Ａ】図１０Ａは、作業用画面の一例を示す図である。
【図１０Ｂ】図１０Ｂは、作業用画面の一例を示す図である。
【図１０Ｃ】図１０Ｃは、作業用画面の一例を示す図である。
【図１０Ｄ】図１０Ｄは、作業用画面の一例を示す図である。
【図１１Ａ】図１１Ａは、筆記選択の動作例１を示す図である。
【図１１Ｂ】図１１Ｂは、筆記選択の動作例１を示す図である。
【図１２Ａ】図１２Ａは、筆記選択の動作例２を示す図である。
【図１２Ｂ】図１２Ｂは、筆記選択の動作例１を示す図である。
【図１３】図１３は、実施例２に係る筆記選択処理の手順を示すフローチャートである。
【図１４Ａ】図１４Ａは、中央空白探索領域ＥＣの一例を示す図である。
【図１４Ｂ】図１４Ｂは、上方空白探索領域ＥＵの一例を示す図である。
【図１４Ｃ】図１４Ｃは、下方空白探索領域ＥＤの一例を示す図である。
【図１５Ａ】図１５Ａは、閾値Ｔｈ２の一例を示す図である。
【図１５Ｂ】図１５Ｂは、閾値Ｔｈ３の一例を示す図である。
【図１５Ｃ】図１５Ｃは、閾値Ｔｈ４の一例を示す図である。
【図１６】図１６は、複数行探索の動作例を示す図である。
【図１７】図１７は、フレームの分割方法の一例を示す図である。
【図１８】図１８は、実施例２に係る抽出処理の手順を示すフローチャートである。
【図１９Ａ】図１９Ａは、文字枠の抽出の一例を示す図である。
【図１９Ｂ】図１９Ｂは、文字枠の抽出の一例を示す図である。
【図１９Ｃ】図１９Ｃは、文字枠の抽出の一例を示す図である。
【図２０Ａ】図２０Ａは、文字枠の候補のマークの一例を示す図である。
【図２０Ｂ】図２０Ｂは、文字枠の候補のマークの一例を示す図である。
【図２１Ａ】図２１Ａは、文字枠の候補のマークの一例を示す図である。
【図２１Ｂ】図２１Ｂは、文字枠の候補のマークの一例を示す図である。
【図２２】図２２は、上下方向の矩形の指定の一例を示す図である。
【図２３】図２３は、実施例１〜実施例３に係る筆記選択プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して本願に係る筆記選択プログラム、筆記選択方法および情報処理装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
図１は、実施例１に係る情報処理装置の機能的構成の一例を示すブロック図である。図１に示す情報処理装置１０は、机やボード、壁といった部屋全体にディスプレイやタッチパネルの機能を持たせることで空間全体をデジタル化する空間ＵＩを提供するものである。なお、ここでは、ユースケースのあくまで一例として、空間ＵＩを提供する例を説明するが、電子白板やタッチパネルなどの他のユーザインタフェースであってかまわない。
【００１３】
このような空間ＵＩの機能の一環として、情報処理装置１０は、手書き入力が行われた筆記全体のうち一部の筆記を選択する操作、以下「筆記選択操作」を最小限の範囲の指定を受け付けることにより実現する筆記選択機能を提供する。
【００１４】
情報処理装置１０は、上記の空間ＵＩの機能を提供するコンピュータである。
【００１５】
一実施形態として、情報処理装置１０は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の空間ＵＩに対応する機能を実現する空間ＵＩプログラムを任意のコンピュータにインストールさせることによって実装できる。例えば、情報処理装置１０は、上記の空間ＵＩの機能を提供するコンピュータとしてオンプレミスに実装することとしてもよいし、上記の空間ＵＩの機能をアウトソーシングによって提供するクラウドとして実装することとしてもかまわない。
【００１６】
図１に示すように、情報処理装置１０には、出力装置１ａおよび環境センサ１ｂが接続される。これら出力装置１ａおよび環境センサ１ｂと、情報処理装置１０との間の接続形態は、有線または無線を問わない。例えば、任意のネットワークを介して接続されることとしてもよいし、ケーブル等を介して接続されることとしてもかまわない。
【００１７】
出力装置１ａは、各種の出力を行う装置である。
【００１８】
あくまで一例として、出力装置１ａは、机やボード、壁といった平面に映像を出力するプロジェクタとして実装することができる。例えば、出力装置１ａは、机やボード、壁といった平面のうち、手書き入力やジェスチャを受け付ける領域に作業用画面を投影することができる。
【００１９】
環境センサ１ａは、空間ＵＩを提供する環境に設置されるセンサである。
【００２０】
あくまで一例として、環境センサ１ａは、出力装置１ａにより平面に投影された作業用画面を撮像するカメラとして実装することができる。このように作業用画面が撮像された画像から手書き入力やジェスチャを検出することができる。例えば、赤外光付きの電子ペンが用いられる場合、カメラにより撮像された画像から赤外光の軌跡をトラッキングすることにより、手書き入力やジェスチャを検出することができる。
【００２１】
ここで挙げる空間ＵＩの機能は、あくまで一面に過ぎず、これ以外の既知の空間ＵＩの機能が情報処理装置１０により提供されることを妨げない。例えば、情報処理装置１０は、上記の作業用画面の他にも、デジタル付箋を空間に表示させたり、図示しないユーザ端末の他、任意のコンピュータに保存された画像や動画などのメディアコンテンツ、あるいは文書を空間に表示させたり、デジタル付箋やメディアコンテンツ、文書に対する操作を受け付けたりすることができる。
【００２２】
なお、ここでは、あくまで一例として、１組の出力装置１ａおよび環境センサ１ｂが用いられる例を説明したが、２組以上の出力装置１ａおよび環境センサ１ｂが用いられることしてもかまわない。この他、出力装置１ａおよび環境センサ１ｂが、プロジェクタおよびカメラ以外のハードウェアによって提供されることとしてもかまわない。例えば、机やボード、壁といった平面にタッチパネルを設置することにより出力装置１ａおよび環境センサ１ｂに対応する機能を実現することもできる。
【００２３】
図１に示すように、情報処理装置１０は、通信Ｉ／Ｆ（InterFace）部１１と、記憶部１３と、制御部１５とを有する。図１には、データの授受の関係を表す実線が示されているが、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
【００２４】
通信Ｉ／Ｆ部１１は、他の装置、例えば出力装置１ａや環境センサ１ｂなどとの間で通信制御を行うインタフェースである。
【００２５】
一実施形態として、通信Ｉ／Ｆ部１１には、ＬＡＮ（Local  Area  Network）カードなどのネットワークインタフェースカード等が対応する。例えば、通信Ｉ／Ｆ部１１は、環境センサ１ｂから作業用画面が撮像された画像を受け付けたり、作業用画面および作業用画面上に手書き入力が行われた筆記などの表示データを出力装置１ａへ出力したりする。
【００２６】
記憶部１３は、制御部１５で実行されるＯＳ（Operating  System）を始め、アプリケーションプログラム、例えば上記の空間ＵＩプログラム、あるいは空間ＵＩプログラムがライブラリとして参照する筆記選択プログラムなどの各種プログラムに用いられるデータを記憶する機能部である。
【００２７】
一実施形態として、記憶部１３は、情報処理装置１０における補助記憶装置として実装することができる。例えば、記憶部１３には、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。なお、記憶部１３は、必ずしも補助記憶装置として実装されずともよく、情報処理装置１０における主記憶装置として実装することもできる。この場合、記憶部１３には、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。
【００２８】
記憶部１３は、制御部１５で実行されるプログラムに用いられるデータの一例として、作業用画面に手書き入力が行われた筆記が記録された筆記データ１３ａを記憶する。この筆記データ１３ａ以外にも、記憶部１３には、他の電子データ、例えば作業用画面に表示させるデジタル付箋、メディアコンテンツ、文書などが記憶されることとしてもかまわない。
【００２９】
制御部１５は、情報処理装置１０の全体制御を行う処理部である。
【００３０】
一実施形態として、制御部１５は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、ＣＰＵやＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばＧＰＵ（Graphics  Processing  Unit）やＤＳＰ（Digital  Signal  Processor）の他、ＧＰＧＰＵ（General-Purpose  computing  on  Graphics  Processing  Units）により実装することができる。この他、制御部１５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによって実現されることとしてもかまわない。
【００３１】
ここで、以下では、上記の空間ＵＩの機能については既存の技術であるので、上記の筆記選択機能について詳細な説明を行う。
【００３２】
例えば、制御部１５は、図示しない主記憶装置として実装されるＲＡＭのワークエリア上に、上記の空間ＵＩプログラムにライブラリとして参照される筆記選択プログラム、あるいは上記の空間ＵＩプログラムにアドオンされる筆記選択プログラムを展開することにより、下記の処理部を仮想的に実現する。
【００３３】
図１に示すように、制御部１５は、受付部１５ａと、設定部１５ｂと、第１判定部１５ｃと、第１再設定部１５ｄと、第２判定部１５ｅと、第２再設定部１５ｆと、筆記選択部１５ｇとを有する。
【００３４】
受付部１５ａは、筆記領域の探索の基準となる基準領域を受け付ける処理部である。
【００３５】
一実施形態として、受付部１５ａは、一文字分に対応する筆記の外接矩形を指定する操作を受け付ける。このようにして指定された外接矩形を「基準領域Ｂ」として受け付ける。例えば、「基準領域Ｂ」は、電子ペン等で矩形の四辺を記述させることにより受け付けることとしてもよいし、矩形の開始点および終了点を指定させることにより受け付けることとしてもよい。この他、電子ペンで何らかのジェスチャを行い、その外接矩形を基準領域Ｂとして算出してもよい。また、利用者が指定した矩形そのものでなく、所定の範囲の遊び領域を付加して拡大した領域を基準領域Ｂとしても良い。
【００３６】
このように基準領域Ｂを受け付けた後、基準領域Ｂが探索済領域Ｄおよび確定済領域Ｆの初期値として設定される。ここで言う「探索済領域Ｄ」とは、その内部の筆記の探索が終了済みである領域のことを指す。また、「確定済領域Ｆ」とは、その内部に含まれる筆記が選択されることが確定済みである領域のことを指す。
【００３７】
ここで、あくまで一例として、作業用画面に手書き入力が行われる文字列の方向、いわゆる書字方向が横書きである場合、探索済領域Ｄの左方向および右方向が筆記や空白を探索する探索方向となる。以下では、１つ側面として、探索済領域Ｄの左方向を探索方向とする場合を例に挙げて具体例を説明する。なお、探索方向が右方向である場合、各処理における左右を反転させて処理を実行することにより、探索方向が左方向である場合と同様に筆記を選択できるので、その説明は省略する。
【００３８】
図２は、初期設定の一例を示す図である。図２には、作業用画面に手書き入力が行われた筆記の一例として、「ななな」の筆記が示されている。さらに、図２には、３つの「な」に対応する筆記のうち一番右の「な」の筆記を囲む矩形を基準領域Ｂとして受け付けた例が示されている。この場合、基準領域Ｂが探索済領域Ｄおよび確定済領域Ｆの初期値として設定される。
【００３９】
設定部１５ｂは、筆記探索領域Ｓおよび空白探索領域Ｅを設定する処理部である。
【００４０】
一実施形態として、設定部１５ｂは、探索済領域Ｄの探索方向に隣接する矩形の領域を筆記探索領域Ｓとして設定すると共に、当該筆記探索領域Ｓの部分領域を空白探索領域Ｅとして設定する。
【００４１】
図３は、筆記探索領域Ｓおよび空白探索領域Ｅの設定例を示す図である。図３には、図２に示す基準領域Ｂ、探索済領域Ｄおよび確定済領域Ｆが初期設定された状況の下で筆記探索領域Ｓおよび空白探索領域Ｅが設定される例が示されている。図３に一点鎖線で示すように、設定部１５ｂは、探索済領域Ｄの左辺と筆記探索領域Ｓの右辺とが一致する状態で基準領域Ｂの幅および高さと同一の幅および高さを持つ筆記探索領域Ｓを設定する。さらに、図３に破線で示すように、設定部１５ｂは、探索済領域Ｄの左辺に空白探索領域Ｅの右辺が含まれる状態で筆記探索領域Ｓと同一の幅を持ち、かつ筆記探索領域Ｓの高さよりも短い高さを持つ空白探索領域Ｅを設定する。
【００４２】
より詳細には、探索済領域Ｄの矩形の左上の頂点の座標を（ｘ１，ｙ１）とし、右下の頂点の座標を（ｘ２，ｙ２）とし、幅をｗとし、高さをｈとし、ｘ１およびｘ２の大小関係が「ｘ２＞ｘ１」であり、ｙ１およびｙ２の大小関係が「ｙ２＞ｙ１」であるとする。このとき、筆記探索領域Ｓには、左上の頂点の座標（ｘ１−ｗ，ｙ１）および右下の頂点の座標（ｘ２−ｗ，ｙ２）を持つ矩形が設定される。さらに、空白探索領域Ｅには、左上の頂点の座標（ｘ１−ｗ，ｙ１＋０．２＊ｈ）および右下の頂点の座標（ｘ２−ｗ，ｙ２−０．２＊ｈ）を持つ矩形が設定される。
【００４３】
第１判定部１５ｃは、筆記探索領域Ｓ内の筆記の有無を判定する処理部である。
【００４４】
一実施形態として、第１判定部１５ｃは、記憶部１３に記憶された筆記データ１３ａから筆記探索領域Ｓに一部または全部が含まれる筆記を検索する。その上で、第１判定部１５ｃは、筆記データ１３ａの検索結果として得られた筆記ごとに、当該筆記の外接矩形の中点が筆記探索領域Ｓに含まれるか否かを判定する。このとき、筆記の外接矩形の中点が筆記探索領域Ｓ内に含まれる場合、当該筆記が筆記探索領域Ｓ内に存在すると識別される。そして、第１判定部１５ｃは、筆記データ１３ａの検索結果として得られた筆記の外接矩形の中点のいずれかが筆記探索領域Ｓに含まれる場合、筆記探索領域Ｓに筆記が存在すると判定する。
【００４５】
なお、ここでは、筆記の外接矩形の中点が筆記探索領域Ｓ内に含まれるか否かにより当該筆記が筆記探索領域Ｓに存在すると識別する例を挙げたが、他の方法により筆記の有無を判定することができる。例えば、筆記の右端のドットが筆記探索領域Ｓに含まれるか否かにより筆記の有無を判定することもできる。
【００４６】
第１再設定部１５ｄは、筆記探索領域Ｓを再設定する処理部である。
【００４７】
一実施形態として、第１再設定部１５ｄは、筆記探索領域Ｓに筆記が存在する場合、筆記探索領域Ｓ内の筆記集合が含まれるように探索済領域Ｄを拡張する。その上で、第１再設定部１５ｄは、探索済領域Ｄに隣接する筆記探索領域Ｓを再設定する。
【００４８】
図４は、筆記探索領域Ｓの再設定の一例を示す図である。図４には、作業用画面に手書き入力が行われた筆記の一例として、「ののるな」の筆記が示されている。これらのうち左から１番目の「の」および左から２番目の「の」は、他の筆記「る」および「な」に比べて、サイズが小さく、さらに、位置も上側よりに存在する。このような筆記「ののるな」のうち、図４には、右から１番目の筆記「な」が探索済領域Ｄの初期値として設定されていると共に、その左辺に隣接する位置に筆記探索領域Ｓが設定されている状況下で筆記探索領域Ｓを再設定する例が示されている。
【００４９】
図４に示すように、筆記探索領域Ｓには、左から２番目の筆記「の」や右から２番目の筆記「る」などが含まれる。このように筆記探索領域Ｓに筆記が存在する場合、第１再設定部１５ｄは、探索済領域Ｄの左端を筆記探索領域Ｓ内に存在する筆記集合のうち左端のドットが存在する位置、すなわち左から２番目の筆記「の」の左端の位置に置き換えることにより、探索済領域Ｄを拡張する。さらに、第１再設定部１５ｄは、筆記探索領域Ｓの右辺が探索済領域Ｄの左辺と重なる位置に筆記探索領域Ｓを左方向へシフトすることにより、新たな筆記探索領域Ｓを再設定する。
【００５０】
第２判定部１５ｅは、空白探索領域Ｅ内の筆記の有無を判定する処理部である。
【００５１】
一実施形態として、第２判定部１５ｅは、筆記探索領域Ｓに筆記が存在する場合、記憶部１３に記憶された筆記データ１３ａから空白探索領域Ｅに一部または全部が含まれる筆記を検索する。その上で、第２判定部１５ｅは、筆記データ１３ａの検索結果として得られた筆記ごとに、当該筆記の外接矩形の中点が空白探索領域Ｅに含まれるか否かを判定する。このとき、筆記の外接矩形の中点が空白探索領域Ｅ内に含まれる場合、当該筆記が空白探索領域Ｅに存在すると識別される。そして、第２判定部１５ｅは、筆記データ１３ａの検索結果として得られた筆記の外接矩形の中点のいずれかが空白探索領域Ｅに含まれる場合、空白探索領域Ｅに筆記が存在すると判定する。
【００５２】
第２再設定部１５ｆは、空白探索領域Ｅを再設定する処理部である。
【００５３】
一実施形態として、第２再設定部１５ｆは、空白探索領域Ｅに筆記が存在する場合、空白探索領域Ｅ内の筆記集合が含まれるように確定済領域Ｆを拡張する。図５は、確定済領域Ｆの拡張の一例を示す図である。図５には、図４と同様、作業用画面に手書き入力が行われた筆記の一例として、「ののるな」の筆記が示されると共に、図４に示す筆記探索領域Ｓが再設定された時点の空白探索領域Ｅおよび確定済領域Ｆの初期値が示されている。図５に示すように、空白探索領域Ｅには、右から２番目の筆記「る」などが含まれる。このように空白探索領域Ｅに筆記が存在する場合、第２再設定部１５ｆは、確定済領域Ｆの左端を空白探索領域Ｅ内に存在する筆記集合のうち左端のドットが存在する位置、すなわち右から２番目の筆記「る」の左端の位置に置き換えることにより、確定済領域Ｆを拡張する。
【００５４】
このように確定済領域Ｆが拡張された後、第２再設定部１５ｆは、探索済領域Ｄと確定済領域Ｆの差分が所定の閾値Ｔｈ１以上であるか否かを判定する。
【００５５】
図６Ａ及び図６Ｂは、探索済領域Ｄと確定済領域Ｆの差分の一例を示す図である。図６Ａには、図４に示す探索済領域Ｄの拡張が行われると共に、図５に示す確定済領域Ｆの拡張が行われた状況下における探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が示されている。さらに、図６Ｂには、図５に示す確定済領域Ｆの拡張が行われた後に更なる探索済領域Ｄの拡張が行われた状況下における探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が示されている。
【００５６】
ここでは、あくまで一例として、閾値Ｔｈ１が基準領域Ｂの幅ｗ×１．２５であることとして、探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分と比較する例を説明する。図６Ａに示すように、図５に示す確定済領域Ｆの拡張が行われた直後の段階では、探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分は、閾値Ｔｈ１（＝ｗ×１．２５）以下となる。その一方で、図６Ｂに示すように、図５に示す確定済領域Ｆの拡張が行われた後に更なる探索済領域Ｄの拡張が行われた段階では、探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分は、閾値Ｔｈ１（＝ｗ×１．２５）を超える。
【００５７】
ここで、探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が閾値Ｔｈ１以下である場合、第２再設定部１５ｆは、空白探索領域Ｅの上下端の座標はそのままとし、空白探索領域Ｅの右端の座標を確定済領域Ｆの左端の座標に置換すると共に空白探索領域Ｅの左端の座標を筆記探索領域Ｓの左端の座標に置き換えることにより、空白探索領域Ｅを再設定する。
【００５８】
図７は、空白探索領域Ｅの再設定の一例を示す図である。図７には、図６Ａに示す差分が閾値Ｔｈ１以下であると判定された時点における筆記探索領域Ｓ、空白探索領域Ｅおよび確定済領域Ｆが示されている。図７に示すように、第２再設定部１５ｆは、空白探索領域Ｅのうち確定済領域Ｆと重複する部分、図７に右肩下がりのハッチングで示された領域を特定する。続いて、第２再設定部１５ｆは、空白探索領域Ｅから確定済領域Ｆと重複する部分が除外された領域Ｑと、筆記探索領域Ｓから図３に示す空白探索領域Ｅと同様の計算により得られる部分領域Ｐとを特定する。その上で、第２再設定部１５ｆは、先に特定した領域Ｑおよび部分領域Ｐを包含する外接矩形を新たな空白探索領域Ｅ´として再設定する。
【００５９】
このように空白探索領域Ｅ´が再設定された場合、第１判定部１５ｃの処理が改めて実行される。その後、第１判定部１５ｃにより筆記探索領域Ｓに筆記がないと判定されるか、あるいは第２再設定部１５ｆにより探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が閾値を超えると判定されるまで、第１判定部１５ｃ、第１再設定部１５ｄ、第２判定部１５ｅ、第２再設定部１５ｆの処理が繰り返して実行される。
【００６０】
筆記選択部１５ｇは、筆記を選択する処理部である。
【００６１】
１つの側面として、筆記選択部１５ｇは、第１判定部１５ｃにより筆記探索領域Ｓに筆記がないと判定された場合、探索済領域Ｄ内に存在する筆記を選択する。図８は、筆記選択の一例を示す図である。図８には、図２に示す筆記「ななな」において筆記探索領域Ｓの再設定が限界まで実行された時点における探索済領域Ｄが示されている。すなわち、図８に示すように、筆記探索領域に筆記が含まれない場合、筆記選択部１５ｇは、探索済領域Ｄに含まれる筆記「ななな」を選択する。
【００６２】
他の側面として、筆記選択部１５ｇは、第２再設定部１５ｆにより探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が閾値Ｔｈ１を超えると判定された場合、確定済領域Ｆ内に存在する筆記を選択する。すなわち、図６Ｂに示された例のように、探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が閾値Ｔｈ１を超える場合、筆記選択部１５ｇは、確定済領域Ｆに含まれる筆記「るな」を選択する。
【００６３】
このように選択された筆記、以下「選択状態の筆記」は、一例として、未選択の筆記の表示形態と異なる表示形態で表示させることができる。例えば、筆記選択部１５ｇは、選択状態の筆記もしくは選択状態の筆記を含む外接矩形を反転表示したり、蛍光マーカー等で表示したりすることができる。この他、筆記選択部１５ｇは、作業画面上で選択状態の筆記もしくは選択状態の筆記を含む外接矩形の近傍に選択状態の筆記をコピーするアイコン、選択状態の筆記に文字認識を実行するアイコン、選択状態の筆記に文字認識が行われたテキストを用いてＷｅｂ検索を行うアイコンなどを表示することもできる。
【００６４】
［処理の流れ］
図９は、実施例１に係る筆記選択処理の手順を示すフローチャートである。この処理は、一例として、基準領域Ｂを受け付けた場合に実行される。図９に示すように、受付部１５ａは、基準領域Ｂを受け付けると、基準領域Ｂを探索済領域Ｄおよび確定済領域Ｆの初期値として設定する（ステップＳ１０１）。
【００６５】
続いて、設定部１５ｂは、ステップＳ１０１で初期設定された探索済領域Ｄの探索方向に隣接する矩形の領域を筆記探索領域Ｓとして設定すると共に、当該筆記探索領域Ｓの部分領域を空白探索領域Ｅとして設定する（ステップＳ１０２）。
【００６６】
そして、第１判定部１５ｃは、筆記探索領域Ｓに筆記が存在するか否かを判定する（ステップＳ１０３）。このとき、筆記探索領域Ｓに筆記が存在する場合（ステップＳ１０３Ｙｅｓ）、第１再設定部１５ｄは、筆記探索領域Ｓ内の筆記集合が含まれるように探索済領域Ｄを拡張する（ステップＳ１０４）。その上で、第１再設定部１５ｄは、探索済領域Ｄに隣接する筆記探索領域Ｓを再設定する（ステップＳ１０５）。
【００６７】
その後、第２判定部１５ｅは、空白探索領域Ｅに筆記が存在するか否かを判定する（ステップＳ１０６）。このとき、空白探索領域Ｅに筆記が存在する場合（ステップＳ１０６Ｙｅｓ）、第２再設定部１５ｆは、空白探索領域Ｅ内の筆記集合が含まれるように確定済領域Ｆを拡張する（ステップＳ１０７）。なお、空白探索領域Ｅに筆記が存在しない場合（ステップＳ１０６Ｎｏ）、ステップＳ１０７をスキップしてステップＳ１０８の処理へ移行する。
【００６８】
そして、第２再設定部１５ｆは、探索済領域Ｄと確定済領域Ｆの差分が所定の閾値Ｔｈ１以上であるか否かを判定する（ステップＳ１０８）。このとき、差分が閾値Ｔｈ１以下である場合（ステップＳ１０８Ｙｅｓ）、第２再設定部１５ｆは、空白探索領域Ｅから確定済領域Ｆと重複する部分が除外された領域Ｑと、筆記探索領域Ｓの部分領域Ｐとに基づいて、空白探索領域Ｅを再設定する（ステップＳ１０９）。
【００６９】
その後、筆記探索領域Ｓに筆記が存在し、差分が閾値Ｔｈ１以下である限り（ステップＳ１０３ＹｅｓかつステップＳ１０８Ｙｅｓ）、上記のステップＳ１０３〜上記のステップＳ１０９の処理が繰り返し実行される。
【００７０】
ここで、筆記探索領域Ｓに筆記がない場合（ステップＳ１０３Ｎｏ）、筆記選択部１５ｇは、探索済領域Ｄ内に存在する筆記を選択し（ステップＳ１１０）、処理を終了する。また、探索済領域Ｄの左端の座標と確定済領域Ｆの左端の座標との差分が閾値Ｔｈ１を超える場合（ステップＳ１０８Ｎｏ）、筆記選択部１５ｇは、確定済領域Ｆ内に存在する筆記を選択し（ステップＳ１１１）、処理を終了する。
【００７１】
なお、図９に示す筆記選択処理は、作業用画面の書字方向が横書きである場合、左方向および右方向の２つの探索方向ごとに上記のステップＳ１０１〜上記のステップＳ１１１の処理が実行される。そして、探索方向ごとに得られた筆記の和集合が選択される。
【００７２】
［効果の一側面］
以上のように、図９に示した筆記選択処理によれば、作業用画面上に表示された筆記のうち一文字分相当のサイズを基準領域として指定することで筆記を選択できるので、大画面のユーザインタフェースが提供される場合でも、筆記選択操作を最小限の範囲の指定を受け付けることにより実現できる。したがって、筆記の選択を容易に行うことが可能である。
【００７３】
このように大画面のユーザインタフェースにおける筆記選択操作の利便性を向上させることができる他、図９に示した筆記選択処理によれば、複数人の利用者により筆記が入力されるマルチユーザの環境にロバストな筆記選択を実現できる。
【００７４】
［マルチユーザ環境における課題の一側面］
すなわち、上記のマルチユーザの環境では、大小様々なサイズの筆記が混在したり、異なる利用者により手書き入力が行われた筆記の位置が互いに近接したり、複数行にわたる筆記が手書き入力されたり、筆記の書字方向が縦横のみならず、斜め方向にばらついたりなどといったように自由な筆記が行われる。このように自由に筆記ができる環境が空間ＵＩにより提供される一方で、異なる利用者の筆記が混じらない状態で筆記を選択するのは困難である一面がある。
【００７５】
図１０Ａ〜図１０Ｄは、作業用画面の一例を示す図である。図１０Ａには、利用者Ａにより手書き入力が行われた筆記「チャット」が示されている。図１０Ａに示す作業用画面から利用者Ａの筆記を選択する場合、促音拗音に対応する筆記「ャ」や「ッ」も漏らさずに選択したい。また、図１０Ｂには、利用者Ｂにより手書き入力が行われた筆記『「東京都」』が示されている。図１０Ｂに示す作業用画面から利用者Ｂの筆記を選択する場合、カギ括弧に対応する筆記『「』や『」』も漏らさずに選択したい。このように、促音拗音あるいはカギ括弧などの一部の記号は、漢字、母音や子音に対応するひらがなやカタカナよりもサイズが小さい。このように文字のサイズがばらつく場合でも、同一の利用者により手書き入力が行われた筆記を漏らさずに選択することが好ましい。
【００７６】
また、図１０Ｃには、利用者Ｃにより筆記「川崎市中原区」が手書き入力されると共に、筆記「川崎市中原区」の右端の上部から開始して筆記「川崎市中原区」よりも小さなサイズで利用者Ｄにより筆記「そのまま」が手書き入力されている。また、図１０Ｄには、利用者Ｅにより筆記「この場合」が手書き入力されると共に、筆記「この場合」の右端の下部から開始して筆記「この場合」よりも大きなサイズで利用者Ｆにより筆記「ななななな」が手書き入力されている。
【００７７】
例えば、図１０Ｃに示す作業用画面から、利用者Ｃの筆記「川崎市中原区」を選択することを意図する場合、利用者Ｄの筆記「そのまま」を無視したい。また、図１０Ｄに示す作業用画面から、利用者Ｆの筆記「ななななな」を選択することを意図する場合、利用者Ｅの筆記「この場合」を無視したい。
【００７８】
ここで、同一の利用者により手書き入力が行われた筆記として、図１０Ａ及び図１０Ｂに示す促音拗音あるいはカギ括弧などの一部の記号に対応する筆記を選択しながらも、他の利用者の筆記が混在する場合、基準領域として一文字分に対応する範囲の指定を受け付けた利用者の筆記を図１０Ｃ及び図１０Ｄに示す他の利用者の筆記、例えば「そのまま」や「この場合」と分離して筆記を選択するのは、困難である側面がある。
【００７９】
すなわち、既存の技術においても、ＯＣＲやナンバプレートの認識などの他分野まで拡張すれば、文字の連続性を判定する処理を行うものも存在する。しかしながら、既存の技術における文字の連続性の判定は、いずれも横並びまたは縦並びの同一サイズの文字列を抽出することが限界である。例えば、文字の連続性の判定により、図１０Ａ及び図１０Ｂに示す促音拗音あるいはカギ括弧などの一部の記号に対応する筆記も一連の筆記と認識する場合、図１０Ｃに示す筆記「そのまま」や図１０Ｄに示す筆記「この場合」も一連の筆記として認識されることは避け得ない。
【００８０】
このように、既存の技術では実現が困難であるマルチユーザ対応の筆記選択機能を、図９に示す筆記選択処理により実現できる。この点を図１１Ａ、図１１Ｂ、図１２Ａ、図１２Ｂを用いて下記に説明する。
【００８１】
（１）動作例１
図１１Ａ及び図１１Ｂは、筆記選択の動作例１を示す図である。図１１Ａ及び図１１Ｂには、筆記「なった」のうち「た」の部分を基準領域Ｂとして受け付け、基準領域Ｂにしたがって筆記選択を行う例が示されている。
【００８２】
図１１Ａに示すように、ｔ１の時点では、基準領域Ｂが探索済領域Ｄおよび確定済領域Ｆの初期値として設定される（ステップＳ１０１＿ループ１）。このｔ１に続くｔ２の時点では、図中の一点鎖線で示すように、探索済領域Ｄの左辺と筆記探索領域Ｓの右辺とが一致する状態で基準領域Ｂの幅および高さと同一の幅および高さを持つ筆記探索領域Ｓが設定される。さらに、図中の破線で示すように、探索済領域Ｄの左辺に空白探索領域Ｅの右辺が含まれる状態で筆記探索領域Ｓと同一の幅を持ち、かつ筆記探索領域Ｓの高さよりも短い高さを持つ空白探索領域Ｅが設定される（ステップＳ１０２＿ループ１）。
【００８３】
ここで、筆記探索領域Ｓに筆記が含まれるか否かが判定される（ステップＳ１０３＿ループ１）。ここでは、筆記探索領域Ｓに筆記「っ」が含まれるので、ステップＳ１０３の分岐はＹｅｓに進む。そして、ｔ３の時点では、筆記探索領域Ｓ内の筆記「っ」が含まれるように探索済領域Ｄが拡張される（ステップＳ１０４＿ループ１）。次に、ｔ４の時点では、探索済領域Ｄに隣接する筆記探索領域Ｓが再設定される（ステップＳ１０５＿ループ１）。
【００８４】
その後、空白探索領域Ｅに筆記が含まれるか否かが判定される（ステップＳ１０６＿ループ１）。ここでは、空白探索領域Ｅには、筆記が含まれないので、ステップＳ１０６の分岐はＮｏに進む。この場合、ステップＳ１０７の確定済領域Ｆの拡張はスキップされる。そして、ｔ５の時点では、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標との差分が閾値Ｔｈ１以下であるか否かが判定される（ステップＳ１０８＿ループ１）。
【００８５】
ここでは、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標との差分は閾値Ｔｈ１以下であるので、ステップＳ１０８の分岐はＹｅｓに進む。続いて、ｔ６の時点では、空白探索領域Ｅから確定済領域Ｆと重複する部分が除外された領域Ｑと、筆記探索領域Ｓの部分領域Ｐとを包含する外接矩形が空白探索領域Ｅとして再設定される（ステップＳ１０９＿ループ１）。
【００８６】
このようにステップＳ１０９＿ループ１が実行された後、２回目のループに移行する。そして、ステップＳ１０５＿ループ１で再設定された筆記探索領域Ｓに筆記が含まれるか否かが判定される（ステップＳ１０３＿ループ２）。ここでは、ステップＳ１０５＿ループ１で再設定された筆記探索領域Ｓに筆記「な」が含まれるので、ステップＳ１０３＿ループ２の分岐はＹｅｓに進む。そして、図１１Ｂに示すように、ｔ７の時点では、筆記探索領域Ｓ内の筆記「な」が含まれるように探索済領域Ｄが拡張される（ステップＳ１０４＿ループ２）。次に、ｔ８の時点では、探索済領域Ｄに隣接する筆記探索領域Ｓが再設定される（ステップＳ１０５＿ループ２）。
【００８７】
その後、ステップＳ１０９＿ループ１で再設定された空白探索領域Ｅに筆記が含まれるか否かが判定される（ステップＳ１０６＿ループ２）。ここでは、空白探索領域Ｅには、筆記「な」が含まれるので、ステップＳ１０６＿ループ２の分岐はＹｅｓに進む。続いて、ｔ９の時点では、空白探索領域Ｅ内の筆記集合「な」が含まれるように確定済領域Ｆが拡張される（ステップＳ１０７＿ループ２）。
【００８８】
そして、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標との差分が閾値Ｔｈ１以下であるか否かが判定される（ステップＳ１０８＿ループ２）。ここでは、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標が一致するので、ステップＳ１０８の分岐はＹｅｓに進む。続いて、ｔ１０の時点では、空白探索領域Ｅから確定済領域Ｆと重複する部分が除外された領域Ｑと、筆記探索領域Ｓの部分領域Ｐとを包含する外接矩形が空白探索領域Ｅとして再設定される（ステップＳ１０９＿ループ２）。
【００８９】
このようにステップＳ１０９＿ループ２が実行された後、３回目のループに移行する。そして、ステップＳ１０５＿ループ２で再設定された筆記探索領域Ｓに筆記が含まれるか否かが判定される（ステップＳ１０３＿ループ３）。ここでは、ステップＳ１０５＿ループ１で再設定された筆記探索領域Ｓに筆記「な」が含まれるので、ステップＳ１０３＿ループ２の分岐はＮｏに進む。次に、ｔ１１の時点では、探索済領域Ｄ、図中の右肩下がりのハッチング部分に含まれる筆記「なった」が選択される（ステップＳ１１０）。
【００９０】
以上のように、図９に示す筆記選択処理を実行することで、同一の利用者により手書き入力が行われた筆記「なった」の選択時に促音拗音に対応する筆記「っ」を漏らさずに選択することができる。
【００９１】
（２）動作例２
図１２Ａ及び図１２Ｂは、筆記選択の動作例２を示す図である。図１２Ａ及び図１２Ｂには、ある利用者により手入力が行われた筆記「その他」と共に、当該筆記「その他」の右端の上部から開始して筆記「その他」よりも大きなサイズで別の利用者により手入力が行われた筆記「た」が作業用画面に含まれる例が示されている。このような作業用画面に含まれる筆記のうち「た」の部分を基準領域Ｂとして受け付け、基準領域Ｂにしたがって筆記選択を行う例が示されている。
【００９２】
図１２Ａに示すように、ｔ１の時点では、基準領域Ｂが探索済領域Ｄおよび確定済領域Ｆの初期値として設定される（ステップＳ１０１＿ループ１）。このｔ１に続くｔ２の時点では、図中の一点鎖線で示すように、探索済領域Ｄの左辺と筆記探索領域Ｓの右辺とが一致する状態で基準領域Ｂの幅および高さと同一の幅および高さを持つ筆記探索領域Ｓが設定される。さらに、図中の破線で示すように、探索済領域Ｄの左辺に空白探索領域Ｅの右辺が含まれる状態で筆記探索領域Ｓと同一の幅を持ち、かつ筆記探索領域Ｓの高さよりも短い高さを持つ空白探索領域Ｅが設定される（ステップＳ１０２＿ループ１）。
【００９３】
ここで、筆記探索領域Ｓに筆記が含まれるか否かが判定される（ステップＳ１０３＿ループ１）。ここでは、筆記探索領域Ｓに筆記「の」や「他」が含まれるので、ステップＳ１０３の分岐はＹｅｓに進む。そして、ｔ３の時点では、筆記探索領域Ｓ内の筆記「の」および筆記「他」が含まれるように探索済領域Ｄが拡張される（ステップＳ１０４＿ループ１）。次に、ｔ４の時点では、探索済領域Ｄに隣接する筆記探索領域Ｓが再設定される（ステップＳ１０５＿ループ１）。
【００９４】
その後、空白探索領域Ｅに筆記が含まれるか否かが判定される（ステップＳ１０６＿ループ１）。ここでは、空白探索領域Ｅには、筆記が含まれないので、ステップＳ１０６＿ループ１の分岐はＮｏに進む。この場合、ステップＳ１０７の確定済領域Ｆの拡張はスキップされる。そして、ｔ５の時点では、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標との差分が閾値Ｔｈ１以下であるか否かが判定される（ステップＳ１０８＿ループ１）。
【００９５】
ここでは、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標との差分は閾値Ｔｈ１以下であるので、ステップＳ１０８の分岐はＹｅｓに進む。続いて、ｔ６の時点では、空白探索領域Ｅから確定済領域Ｆと重複する部分が除外された領域Ｑと、筆記探索領域Ｓの部分領域Ｐとを包含する外接矩形が空白探索領域Ｅとして再設定される（ステップＳ１０９＿ループ１）。
【００９６】
このようにステップＳ１０９＿ループ１が実行された後、２回目のループに移行する。そして、ステップＳ１０５＿ループ１で再設定された筆記探索領域Ｓに筆記が含まれるか否かが判定される（ステップＳ１０３＿ループ２）。ここでは、ステップＳ１０５＿ループ１で再設定された筆記探索領域Ｓに筆記「そ」が含まれるので、ステップＳ１０３＿ループ２の分岐はＹｅｓに進む。そして、図１２Ｂに示すように、ｔ７の時点では、筆記探索領域Ｓ内の筆記「そ」が含まれるように探索済領域Ｄが拡張される（ステップＳ１０４＿ループ２）。次に、ｔ８の時点では、探索済領域Ｄに隣接する筆記探索領域Ｓが再設定される（ステップＳ１０５＿ループ２）。
【００９７】
その後、ステップＳ１０９＿ループ１で再設定された空白探索領域Ｅに筆記が含まれるか否かが判定される（ステップＳ１０６＿ループ２）。ここでも、空白探索領域Ｅには、筆記が含まれないので、ステップＳ１０６＿ループ２の分岐はＮｏに進む。この場合、ステップＳ１０７の確定済領域Ｆの拡張はスキップされる。
【００９８】
そして、ｔ９の時点では、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標との差分が閾値Ｔｈ１以下であるか否かが判定される（ステップＳ１０８＿ループ２）。ここでは、探索済領域Ｄの左端ＤＬＥＦＴの座標と確定済領域Ｆの左端ＦＬＥＦＴの座標が閾値Ｔｈ１を超えるので、ステップＳ１０８＿ループ２の分岐はＮｏに進む。続いて、ｔ１０の時点では、確定済領域Ｆ、図中の右肩下がりのハッチング部分に含まれる筆記「た」が選択される（ステップＳ１１１）。
【００９９】
以上のように、図９に示す筆記選択処理を実行することで、基準領域として一文字分に対応する範囲の指定を受け付けた利用者の筆記「た」を他の利用者の筆記「その他」と分離して筆記を選択できる。
【実施例２】
【０１００】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１０１】
［基準領域］
上記の実施例１では、一文字分に対応する範囲が基準領域として指定されることと見なして図９に示す筆記選択処理を実行する場合を例示したが、例えば、情報処理装置１０は、基準領域Ｂに包含される筆記が一文字であるか否か判定することもできる。一例として、情報処理装置１０は、基準領域の縦横比を用いて、基準領域に含まれる筆記が一文字または複数文字のいずれであるかを判定することができる。例えば、基準領域の縦横比から求まる割合が正方形に対応する「１」から所定の範囲内である場合、一文字と判定する一方で、基準領域の縦横比から求まる割合が正方形に対応する「１」から所定の範囲外である場合、複数文字と判定する。このとき、基準領域Ｂに包含される筆記が一文字である場合、情報処理装置１０は、図９に示す筆記選択処理を実行し、基準領域Ｂに包含される筆記が複数文字である場合、基準領域に含まれる筆記集合をそのまま選択することもできる。これによって、同一の利用者の筆記全体の選択と、その一部の筆記の選択とを切り替えて実行できる。
【０１０２】
［複数の空白探索領域の使用］
上記の実施例１では、１種類の空白探索領域Ｅを用いる例を説明したが、複数の空白探索領域を用いて筆記選択処理を行うこともできる。例えば、情報処理装置１０は、空白探索領域として、中央空白探索領域、上方空白探索領域、下方空白探索領域の３つ、および対応する確定済領域として、中央確定済領域、上方確定済領域、下方確定済領域の３つを用い、差分の判定を、探索済領域と、中央確定済領域、上方確定済領域および下方確定済領域とについてそれぞれ実行し、全ての差分が所定の閾値以内の場合、探索を繰り返すように実装することができる。
【０１０３】
図１３は、実施例２に係る筆記選択処理の手順を示すフローチャートである。この処理は、図９と同様、基準領域Ｂを受け付けた場合に実行される。図１３に示すように、受付部１５ａは、基準領域Ｂを受け付けると、基準領域Ｂを探索済領域Ｄおよび確定済領域Ｆの初期値として設定する（ステップＳ２０１）。
【０１０４】
続いて、設定部１５ｂは、ステップＳ２０１で初期設定された探索済領域Ｄの探索方向に隣接する矩形の領域を筆記探索領域Ｓとして設定すると共に、当該筆記探索領域Ｓの３つの部分領域を中央空白探索領域ＥＣ、上方空白探索領域ＥＵおよび下方空白探索領域ＥＤとして設定する（ステップＳ２０２）。
【０１０５】
例えば、中央空白探索領域ＥＣ、上方空白探索領域ＥＵおよび下方空白探索領域ＥＤは、次のようにして設定することができる。例えば、探索方向を左方向とし、探索済領域Ｄの矩形の左上の頂点の座標を（ｘ１，ｙ１）とし、右下の頂点の座標を（ｘ２，ｙ２）とし、幅をｗとし、高さをｈとし、ｘ１およびｘ２の大小関係が「ｘ２＞ｘ１」であり、ｙ１およびｙ２の大小関係が「ｙ２＞ｙ１」であるとする。このとき、中央空白探索領域ＥＣには、一例として、左上の頂点の座標（ｘ１−ｗ，ｙ１＋０．１５＊ｈ）および右下の頂点の座標（ｘ２−ｗ，ｙ２−０．１５＊ｈ）を持つ矩形が設定される。また、上方空白探索領域ＥＵには、一例として、左上の頂点の座標（ｘ１−ｗ，ｙ１）および右下の頂点の座標（ｘ２−ｗ，ｙ２−０．４＊ｈ）を持つ矩形が設定される。さらに、下方空白探索領域ＥＤには、左上の頂点の座標（ｘ１−ｗ，ｙ１＋０．４＊ｈ）および右下の頂点の座標（ｘ２−ｗ，ｙ２）を持つ矩形が設定される。
【０１０６】
これら中央空白探索領域ＥＣ、上方空白探索領域ＥＵおよび下方空白探索領域ＥＤは、模式的に示すと図１４Ａ〜図１４Ｃとなる。図１４Ａは、中央空白探索領域ＥＣの一例を示す図である。図１４Ｂは、上方空白探索領域ＥＵの一例を示す図である。図１４Ｃは、下方空白探索領域ＥＤの一例を示す図である。図１４Ａに示すように、中央空白探索領域ＥＣの上辺は、探索済領域Ｄの上辺よりも０．１５＊ｈ低い。また、中央空白探索領域ＥＣの下辺は、探索済領域Ｄの下辺よりも０．１５＊ｈ高い。このような中央空白探索領域ＥＣの高さは、０．７＊ｈとなる。また、図１４Ｂに示すように、上方空白探索領域ＥＵの上辺は、探索済領域Ｄの上辺と同じ高さである。一方、上方空白探索領域ＥＵの下辺は、探索済領域Ｄの下辺よりも０．４＊ｈ高い。このような上方空白探索領域ＥＵの高さは、０．６＊ｈとなる。また、図１４Ｃに示すように、下方空白探索領域ＥＤの上辺は、探索済領域Ｄの上辺よりも０．４＊ｈ低い。また、下方空白探索領域ＥＤの下辺は、探索済領域Ｄの下辺と同じ高さである。このような下方空白探索領域ＥＤの高さは、０．６＊ｈとなる。
【０１０７】
続いて、第１判定部１５ｃは、筆記探索領域Ｓに筆記が存在するか否かを判定する（ステップＳ２０３）。このとき、筆記探索領域Ｓに筆記が存在する場合（ステップＳ２０３Ｙｅｓ）、第１再設定部１５ｄは、筆記探索領域Ｓ内の筆記集合が含まれるように探索済領域Ｄを拡張する（ステップＳ２０４）。その上で、第１再設定部１５ｄは、探索済領域Ｄに隣接する筆記探索領域Ｓを再設定する（ステップＳ２０５）。
【０１０８】
その後、第２判定部１５ｅは、中央空白探索領域ＥＣに筆記が存在するか否かを判定する（ステップＳ２０６）。このとき、中央空白探索領域ＥＣに筆記が存在する場合（ステップＳ２０６Ｙｅｓ）、第２再設定部１５ｆは、中央空白探索領域ＥＣ内の筆記集合が含まれるように中央確定済領域ＦＣを拡張する（ステップＳ２０７）。なお、中央空白探索領域ＥＣに筆記が存在しない場合（ステップＳ２０６Ｎｏ）、ステップＳ２０７をスキップしてステップＳ２０８の処理へ移行する。
【０１０９】
そして、第２再設定部１５ｆは、探索済領域Ｄと中央確定済領域ＦＣの差分が所定の閾値Ｔｈ２以上であるか否かを判定する（ステップＳ２０８）。ここで用いる閾値Ｔｈ２には、上記の実施例１で例に挙げた閾値Ｔｈ１よりも短い値を用いる。図１５Ａは、閾値Ｔｈ２の一例を示す図である。図１５Ａに示すように、探索済領域Ｄと中央確定済領域ＦＣの差分と比較する閾値Ｔｈ２には、基準領域Ｂの幅ｗ＊１．０を用いることができる。このように上記の実施例１で例に挙げた閾値Ｔｈ１よりも短い値を用いるのは、筆記探索領域Ｓの上端部付近または下端部付近に筆記があったとしても、その筆記が選択されづらくするためである。
【０１１０】
このとき、探索済領域Ｄと中央確定済領域ＦＣの差分が閾値Ｔｈ２以下である場合（ステップＳ２０８Ｙｅｓ）、次のステップＳ２０９へ移行する。すなわち、第２判定部１５ｅは、上方空白探索領域ＥＵに筆記が存在するか否かを判定する（ステップＳ２０９）。このとき、上方空白探索領域ＥＵに筆記が存在する場合（ステップＳ２０９Ｙｅｓ）、第２再設定部１５ｆは、上方空白探索領域ＥＵ内の筆記集合が含まれるように上方確定済領域ＦＵを拡張する（ステップＳ２１０）。なお、上方空白探索領域ＥＵに筆記が存在しない場合（ステップＳ２０９Ｎｏ）、ステップＳ２１０をスキップしてステップＳ２１１の処理へ移行する。
【０１１１】
そして、第２再設定部１５ｆは、探索済領域Ｄと上方確定済領域ＦＵの差分が所定の閾値Ｔｈ３以上であるか否かを判定する（ステップＳ２１１）。ここで用いる閾値Ｔｈ３には、閾値Ｔｈ１および閾値Ｔｈ２よりも長い値を用いる。図１５Ｂは、閾値Ｔｈ３の一例を示す図である。図１５Ｂに示すように、探索済領域Ｄと上方確定済領域ＦＵの差分と比較する閾値Ｔｈ３には、基準領域Ｂの幅ｗ＊１．５を用いることができる。このように閾値Ｔｈ１や閾値Ｔｈ２よりも長い値を用いるのは、筆記探索領域Ｓの上寄りには語の一部に対応する筆記である可能性があるので、その筆記が選択されやすくするためである。
【０１１２】
このとき、探索済領域Ｄと上方確定済領域ＦＵの差分が閾値Ｔｈ３以下である場合（ステップＳ２１１Ｙｅｓ）、次のステップＳ２１２へ移行する。すなわち、第２判定部１５ｅは、下方空白探索領域ＥＤに筆記が存在するか否かを判定する（ステップＳ２１２）。このとき、下方空白探索領域ＥＤに筆記が存在する場合（ステップＳ２１２Ｙｅｓ）、第２再設定部１５ｆは、下方空白探索領域ＥＤ内の筆記集合が含まれるように下方確定済領域ＦＤを拡張する（ステップＳ２１３）。なお、下方空白探索領域ＥＤに筆記が存在しない場合（ステップＳ２１２Ｎｏ）、ステップＳ２１３をスキップしてステップＳ２１４の処理へ移行する。
【０１１３】
そして、第２再設定部１５ｆは、探索済領域Ｄと下方確定済領域ＦＤの差分が所定の閾値Ｔｈ４以上であるか否かを判定する（ステップＳ２１４）。ここで用いる閾値Ｔｈ４にも、閾値Ｔｈ１および閾値Ｔｈ２よりも長い値を用いる。図１５Ｃは、閾値Ｔｈ４の一例を示す図である。図１５Ｃに示すように、探索済領域Ｄと下方確定済領域ＦＤの差分と比較する閾値Ｔｈ４には、基準領域Ｂの幅ｗ＊１．５を用いることができる。このように閾値Ｔｈ１や閾値Ｔｈ２よりも長い値を用いるのは、筆記探索領域Ｓの下寄りには語の一部に対応する筆記である可能性があるので、その筆記が選択されやすくするためである。
【０１１４】
ここで、探索済領域Ｄと下方確定済領域ＦＤの差分が閾値Ｔｈ４以下である場合（ステップＳ２１４Ｙｅｓ）、中央空白探索領域ＥＣ、上方空白探索領域ＥＵおよび下方空白探索領域ＥＤの３つの空白領域を再設定し（ステップＳ２１５）、ステップＳ２０３の処理へ移行する。３つの空白領域の再設定は、中央空白探索領域ＥＣ、上方空白探索領域ＥＵおよび下方空白探索領域ＥＤのいずれから各々に対応する中央確定済領域ＦＣ、上方確定済領域ＦＵまたは下方確定済領域ＦＤと重複する部分が除外された領域ＱＣ、ＱＵまたはＱＤと、筆記探索領域Ｓにおける図１４Ａ、図１４Ｂまたは図１４Ｃの高さに位置する部分領域ＰＣ、ＰＵまたはＰＤとに基づいて再設定される。
【０１１５】
その後、筆記探索領域Ｓに筆記が存在し、３つの差分が閾値Ｔｈ２、閾値Ｔｈ３および閾値Ｔｈ４以下である限り（ステップＳ２０３Ｙｅｓ、ステップＳ２０８Ｙｅｓ、ステップＳ２１１ＹｅｓかつステップＳ２１４Ｙｅｓ）、上記のステップＳ２０３〜上記のステップＳ２１５の処理が繰り返し実行される。
【０１１６】
ここで、筆記探索領域Ｓに筆記がない場合（ステップＳ２０３Ｎｏ）、筆記選択部１５ｇは、探索済領域Ｄ内に存在する筆記を選択し（ステップＳ２１６）、処理を終了する。また、探索済領域Ｄの左端の座標と中央確定済領域ＦＣの左端の座標との差分が閾値Ｔｈ２を超える場合（ステップＳ２０８Ｎｏ）、筆記選択部１５ｇは、中央確定済領域ＦＣ内に存在する筆記を選択し（ステップＳ２１７）、処理を終了する。また、探索済領域Ｄの左端の座標と上方確定済領域ＦＵの左端の座標との差分が閾値Ｔｈ３を超える場合（ステップＳ２１１Ｎｏ）、筆記選択部１５ｇは、上方確定済領域ＦＵ内に存在する筆記を選択し（ステップＳ２１８）、処理を終了する。また、探索済領域Ｄの左端の座標と下方確定済領域ＦＤの左端の座標との差分が閾値Ｔｈ４を超える場合（ステップＳ２１４Ｎｏ）、筆記選択部１５ｇは、下方確定済領域ＦＤ内に存在する筆記を選択し（ステップＳ２１９）、処理を終了する。
【０１１７】
以上のように、図１３に示す筆記選択処理を実行することで、上方に偏った筆記や下方に偏った筆記を探索から除外することができる。
【０１１８】
日本語では、濁点、半濁点、句読点、拗音発音など、水平に筆記した場合、上方、下方に偏って記載される場合がある。しかし、これらの小さな文字の連続は通常二文字以内なので、上方、下方の空白を検出する探索範囲の横幅を小文字２文字分より大きく設定することで、連続した筆記と、無関係の筆記を切り分けられる。上記実施例で中央空白探索領域チェック字の閾値はｗ＊１．０とし、上方空白探索領域のチェックおよび、下方空白探索領域のチェック時の閾値は、ｗ＊１．５と大きくしてるのは、小文字二文字連続相当分を除外せずに選択するためである。また、アルファベットに関しても、アポストロフィやダブルクォートなど上限に偏って筆記される文字はあるが、通常二文字以内である。
【０１１９】
この他、筆記探索領域Ｓ、中央空白探索領域ＥＣ、上方空白探索領域ＥＵ、下方空白探索領域ＥＤのうち、どの領域で停止条件が成立したかを、矩形で明示的に示してもよい。また、基準領域や、最終的な確定済領域、または最終的な選択済み領域を明示的に示してもよい。
【０１２０】
［複数行探索］
例えば、情報処理装置１０は、基準領域Ｂとして受け付けた矩形領域の縦横比を算出し、当該縦横比が所定の度合い上で縦長である場合、複数行の探索を行うこともできる。これにより、一文字囲ったときは一行選択、縦長に囲ったときは、複数行選択という使い分けもできる。
【０１２１】
また、このような複数行選択を実現するために、筆記の書字方向が横書きである場合、情報処理装置１０は、筆記選択の探索方向に対応する左右方向でなく、筆記選択の探索方向と直交する上下方向に行を探索し、選択された筆記集合を包含する領域から、所定の行探索のアルゴリズムにしたがって一文字ごとの矩形領域を抽出し、一文字ごとに抽出された各矩形を基準領域とし、各基準領域に対して、左右方向の探索を行うことで、行ごとに分割された筆記集合を選択する。
【０１２２】
図１６は、複数行探索の動作例を示す図である。図１６には、１行目に筆記「大久保」、２行目に筆記「西新橋」、３行目に筆記「木更津」が含まれる作業用画面の例が示されている。図１６に示すように、情報処理装置１０は、ステップＳ１で１行目の筆記「大久保」のうち筆記「大」を基準領域として受け付け、ステップＳ２で筆記「大」の上下方向の探索により、筆記「大」、「西」および「木」の筆記集合を選択する。そして、ステップＳ３で、筆記集合から一文字ごとの矩形領域「大」、矩形領域「西」および矩形領域「木」を抽出し、各矩形領域に対して、左右方向に探索を行うことで行ごとに筆記集合「大久保」、「西新橋」および「木更津」を選択する。
【０１２３】
このように行ごとに選択された筆記集合に対して、予め定められた処理ないし利用者が指定した処理を適用することもできる。例えば、選択された各筆記集合「大久保」、「西新橋」および「木更津」ごとに、文字列認識を行い、認識結果テキストで、画像検索を行い表示するコマンドに対応するアイコンを表示することもできる。
【０１２４】
ここで、図１６に示すステップＳ２の処理について具体的に説明する。図１７は、フレームの分割方法の一例を示す図である。図１７には、筆記「大」、「西」および「木」の上下方向の筆記集合から各行の文字に対応する基準領域を抽出する例が示されている。図１７に示すように、情報処理装置１０は、文字ごとの矩形領域を基準領域として抽出する計算ステップの最初に、基準領域Ｂの矩形の高さを定められた定数Ｎ、例えば「１０」で分割することにより１フレームあたりの高さを求め、選択された筆記集合を包含する領域を、該１フレームあたりの高さを持つ複数のフレームで上下方向に分割する。例えば、図１７の例で言えば、基準領域Ｂより下方の領域が３０フレームに分割されている。なお、図１７の例では、最初の１文字目はすでにユーザから与えられた基準領域で特定されているため、基準領域より下方の筆記のみ分割の対象としている。
【０１２５】
次に、情報処理装置１０は、分割された各フレームに対して、フレーム内に存在する筆記数を算出する。各フレームについて、上方向に隣接する空白フレーム数、下方向に隣接する空白フレーム数を算出する。図１７に示すように、上記算出された情報はフレーム数×３の情報となる。以降、筆記数が１以上のフレームを「筆記フレーム」、筆記数が０のフレームを「空白フレーム」、筆記フレームと空白フレームの並びを「フレーム配列」と記載する場合がある。
【０１２６】
手書きの筆記の場合、文字の大きさは均一ではなく、行間の大きさにもばらつきがある、また、漢数字の「一」「二」のように元々筆記の上下に空白の多い文字も存在する。このような手書き筆記から文字枠を抽出するために、本実施例では、フレーム配列を順次探索し、抽出ルール、確定ルール、準抽出ルール１、準抽出ルール２の４つのルールを用いて一文字と推定される領域を抽出する。
【０１２７】
図１８は、実施例２に係る抽出処理の手順を示すフローチャートである。図１９に示す抽出処理は、フレーム配列のインデックスｉがＮになるまでループする。図１９に示すように、情報処理装置１０は、連続筆記フレームが存在するか否かを判定する（ステップＳ３０１）。ここで言う「連続筆記フレーム」とは、筆記フレームで始まる１以上の連続したフレームで、下記４つのルールの適用可否の判定対象となるデータである。
【０１２８】
このとき、連続筆記フレームがまだ存在しない場合（ステップＳ３０１Ｎｏ）、情報処理装置１０は、フレーム配列のインデックスｉに対応するフレームが筆記フレームであるか否かを判定する（ステップＳ３０２）。
【０１２９】
そして、フレーム配列のインデックスｉに対応するフレームが筆記フレームである場合（ステップＳ３０２Ｙｅｓ）、情報処理装置１０は、フレーム配列のインデックスｉに対応するフレームを第一要素とする連続筆記フレームを定義する（ステップＳ３０３）。その後、情報処理装置１０は、フレーム配列のインデックスｉを１つインクリメントし、ステップＳ３０１の処理へ移行する。なお、フレーム配列のインデックスｉに対応するフレームが筆記フレームでない場合（ステップＳ３０２Ｎｏ）、ステップＳ３０３をスキップし、ステップＳ３０１の処理へ移行する。
【０１３０】
一方、連続筆記フレームが存在する場合（ステップＳ３０１Ｙｅｓ）、情報処理装置１０は、フレーム配列のインデックスｉに対応するフレームを連続筆記フレームに追加する（ステップＳ３０４）。
【０１３１】
その後、情報処理装置１０は、連続筆記フレームに抽出ルールが適用可能であるか否かを判定する（ステップＳ３０５）。このとき、抽出ルールが適用可能である場合（ステップＳ３０５Ｙｅｓ）、情報処理装置１０は、連続筆記フレームに抽出ルールを適用する（ステップＳ３０６）。
【０１３２】
ここで、上記の「抽出ルール」は、一例として、予め定義されたＮ以下の数Ｍに対し、連続筆記フレーム数がＭ以上であり、かつ、連続筆記フレームと左右両端の空白数フレーム数を足した合計がＮ以上であることが条件とされる。この抽出ルールを満たす場合、情報処理装置１０は、連続筆記フレームを中心にＮフレーム分の領域を文字枠として抽出する。
【０１３３】
図１９Ａ〜図１９Ｃは、文字枠の抽出の一例を示す図である。図１９Ａ〜図１９Ｃには、抽出ルールが適用された場合における文字枠の抽出例が示されている。図１９Ａ〜図１９Ｃには、空白フレームが白色のブロックで示される一方で、筆記フレームが灰色のブロックで示されている。図１９Ａ〜図１９Ｃの例では、Ｎ＝１０であり、Ｍ＝７である場合の例が示されている。図１９Ａに示す例では、連続筆記フレームの数が８≧７、左右の空白数のうち小さいものが２であり、８＋２＋２≧１０となり、条件に合致する。また、図１９Ｂに示す例では、連続筆記フレームが７と奇数であれば、左右の空白フレーム１．５分を合わせて１０フレーム分が文字枠として抽出される。文字には、筆記と筆記の間に空白が必要な場合があるので、図１８のフローチャートで、連続筆記フレームにフレームを追記するときは、筆記フレームであるか空白フレームであるかのチェックは行っていない。また、図１９Ｃに示すように、連続筆記フレーム中に空白フレームが入る場合もある。
【０１３４】
また、抽出ルールが適用可能でない場合（ステップＳ３０５Ｎｏ）、情報処理装置１０は、連続筆記フレームに確定ルールが適用可能であるか否かを判定する（ステップＳ３０７）。このとき、確定ルールが適用可能である場合（ステップＳ３０７Ｙｅｓ）、情報処理装置１０は、連続筆記フレームに確定ルールを適用する（ステップＳ３０８）。
【０１３５】
ここで、上記の「確定ルール」は、連続筆記フレーム数がＮになり、かつ、文字枠候補が存在することが条件とされる。この確定ルールを満たす場合、該当文字枠候補を文字枠として抽出し、文字枠候補をクリアし、ループのインデクスを該当文字枠候補の最終端に設定する。文字枠候補が存在しない場合は、Ｎ個の連続筆記フレームをそのまま文字枠として抽出する。また、連続筆記フレームがフレーム配列の終端まで到達し、文字枠候補が存在する場合、該当文字枠候補を文字枠として抽出し、文字枠候補をクリアし、ループのインデクスを該当文字枠候補の最終端に設定する。文字枠候補が存在しない場合、現時点の連続筆記フレームを文字枠として抽出する。
【０１３６】
また、確定ルールが適用可能でない場合（ステップＳ３０７Ｎｏ）、情報処理装置１０は、連続筆記フレームに準抽出ルール１が適用可能であるか否かを判定する（ステップＳ３０９）。このとき、準抽出ルール１が適用可能である場合（ステップＳ３０９Ｙｅｓ）、情報処理装置１０は、連続筆記フレームに準抽出ルール１を適用する（ステップＳ３１０）。
【０１３７】
ここで、上記の「準抽出ルール１」は、「一」のような上下の空白が多い文字に対応するためのルールであり、予め定義されたＮ以下の数Ｍに対し、連続筆記フレーム数がＭ未満であり、かつ、連続筆記フレームと左右両端の空白数フレーム数を足した合計がＮ以上であることが条件とされる。この準抽出ルール１を満たす場合、情報処理装置１０は、連続筆記フレームを中心にＮフレーム分の領域を文字枠候補としてマークする。
【０１３８】
図２０Ａ及び図２０Ｂは、文字枠の候補のマークの一例を示す図である。図２０Ａ及び図２０Ｂには、準抽出ルール１が適用された場合に文字枠の候補をマークする例が示されている。図２０Ａ及び図２０Ｂの例にも、Ｎ＝１０であり、Ｍ＝７である場合の例が示されている。図２０Ａに示す例では、４フレームの連続筆記フレームに対して、左右にそれぞれ３以上の空白があり、条件を満たす。準抽出ルール１は、あくまで候補の抽出であり、更に探索進めていくことで、図２０Ｂに示す例のように、抽出ルールにマッチするより適切なパターンが現れる可能性がある。また探索を進めていくことで、再度準抽出ルール１にマッチする場合は、文字枠候補は置き換えられる。
【０１３９】
また、準抽出ルール１が適用可能でない場合（ステップＳ３０９Ｎｏ）、情報処理装置１０は、連続筆記フレームに準抽出ルール２が適用可能であるか否かを判定する（ステップＳ３１１）。このとき、準抽出ルール２が適用可能である場合（ステップＳ３１１Ｙｅｓ）、情報処理装置１０は、連続筆記フレームに準抽出ルール２を適用する（ステップＳ３１２）。
【０１４０】
ここで、上記の「準抽出ルール２」は、利用者が与えた基準領域よりも狭く、狭い行間で筆記された文字を抽出するためのルールである。例えば、予め定義されたＮ以下Ｍ以上の数Ｎ’に対し、連続筆記フレームと左右の空白フレーム数を足した合計がＮ’以上であることが条件とされる。この準抽出ルール２を満たす場合、情報処理装置１０は、連続筆記フレームを中心にＮ’フレーム分の領域を文字枠候補としてマークする。
【０１４１】
図２１Ａ及び図２１Ｂは、文字枠の候補のマークの一例を示す図である。図２１Ａ及び図２１Ｂには、準抽出ルール２が適用された場合に文字枠の候補をマークする例が示されている。図２１Ａ及び図２１Ｂの例にも、Ｎ＝１０であり、Ｍ＝７であり、Ｎ’＝８である場合の例が示されている。図２１Ａに示す例では、連続筆記フレーム数が５、左右に２ずつの空白があるので、５＋２×２＝９≧８となり条件にマッチする。準抽出ルール２は、あくまで候補の抽出であり、更に探索進めていくことで、図２１Ｂに示すように、抽出ルールにマッチするより適切なパターンが現れる可能性がある。また探索を進めていくことで、再度準抽出ルール１ないし２にマッチする場合は、文字枠候補は置き換えられる。
【０１４２】
その後、抽出ルールまたは確定ルールのいずれかが適用された場合、情報処理装置１０は、連続筆記フレームをクリアし（ステップＳ３１３）、フレーム配列のインデックスｉを１つインクリメントし、ステップＳ３０１の処理へ移行する。
【０１４３】
また、準抽出ルール１、準抽出ルール２またはいずれのルールも適用可能でない場合、フレーム配列のインデックスｉを１つインクリメントし、ステップＳ３０１の処理へ移行する。
【０１４４】
以上のように、図１８に示す抽出処理を実行することで、漢字「一」、漢字「二」、小さい文字、あるいは行間がばらつく場合でも各行に対応する基準領域を抽出することができる。
【０１４５】
［ユーザ指定］
上下方向の探索で選択された筆記集合から、一文字ごとの矩形領域を抽出し、一文字ごとに抽出された各矩形を基準領域とし、各基準領域に対して、左右方向の探索を行うことで、行ごとに分割された筆記集合を選択する場合、上下方向の探索で余分な行も抽出してしまう場合がある。その一例を図２２に示す。図２２は、上下方向の矩形の指定の一例を示す図である。図２２に示すように、複数行の筆記を行う場合、同一の筆記者が、同様の文字サイズで選択したい情報と異なる情報を筆記する場合がある。図２２の例では、３か所の地名３行分のすぐ下の行に、地名ではないコメントが記述されている。地名３行分を選択するつもりで、基準領域を指定して、上下方向の探索を行うと、選択する必要のない行まで選択してしまう可能性がある。
【０１４６】
このような行の過剰選択を避ける側面から、情報処理装置１０は、上下方向の筆記集合の選択に際しては探索を行わず、ユーザに選択すべき領域を指定させることもできる。例えば、一文字分の基準領域をユーザに指定させ（ステップＳ１）、ユーザから下方向にドラッグ操作を受け付け（ステップＳ２）、矩形領域を選択する（ステップＳ３）ことで、「大」、「西」および「木」の筆記集合を特定している。筆記集合を特定した後、筆記集合から、一文字ごとの矩形領域を抽出し、一文字ごとに抽出された各矩形を基準領域とし、各基準領域に対して、左右方向の探索を行うことで、ユーザの意図に即して複数行の筆記を選択することができる。
【０１４７】
［書字方向］
なお、上記の実施例１では、書字方向が横書きである例を挙げたが、当然のことながら書字方向が縦書き、あるいは斜め書きである場合にも図９、図１３、図１８などの処理を実行できる。例えば、上記の実施例１で挙げた左方向への探索を所定の探索方向、例えば上方向、下方向、斜め方向へ回転してあてはめれば同様の処理を実現できる。
【０１４８】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部１５ａ、設定部１５ｂ、第１判定部１５ｃ、第１再設定部１５ｄ、第２判定部１５ｅ、第２再設定部１５ｆまたは筆記選択部１５ｇを情報処理装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、受付部１５ａ、設定部１５ｂ、第１判定部１５ｃ、第１再設定部１５ｄ、第２判定部１５ｅ、第２再設定部１５ｆまたは筆記選択部１５ｇを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報処理装置１０の機能を実現するようにしてもよい。
【０１４９】
［筆記選択プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２３を用いて、上記の実施例と同様の機能を有する筆記選択プログラムを実行するコンピュータの一例について説明する。
【０１５０】
図２３は、実施例１〜実施例３に係る筆記選択プログラムを実行するコンピュータのハードウェア構成例を示す図である。図２３に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１５１】
ＨＤＤ１７０には、図２３に示すように、上記の実施例１で示した受付部１５ａ、設定部１５ｂ、第１判定部１５ｃ、第１再設定部１５ｄ、第２判定部１５ｅ、第２再設定部１５ｆ及び筆記選択部１５ｇと同様の機能を発揮する筆記選択プログラム１７０ａが記憶される。この筆記選択プログラム１７０ａは、図１に示した受付部１５ａ、設定部１５ｂ、第１判定部１５ｃ、第１再設定部１５ｄ、第２判定部１５ｅ、第２再設定部１５ｆ及び筆記選択部１５ｇの各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【０１５２】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から筆記選択プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、筆記選択プログラム１７０ａは、図２３に示すように、筆記選択プロセス１８０ａとして機能する。この筆記選択プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち筆記選択プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、筆記選択プロセス１８０ａが実行する処理の一例として、図９や図１３に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１５３】
なお、上記の筆記選択プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に筆記選択プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から筆記選択プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに筆記選択プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから筆記選択プログラム１７０ａを取得して実行するようにしてもよい。
【０１５４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５５】
（付記１）手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付け、
前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定し、
前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定し、
前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定し、
設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する、
処理をコンピュータに実行させる筆記選択プログラム。
【０１５６】
（付記２）前記設定する処理は、前記基準領域に含まれる筆記が一文字に対応する場合、前記第１の探索領域および前記第２の探索領域を設定することを特徴とする付記１に記載の筆記選択プログラム。
【０１５７】
（付記３）前記受け付ける処理は、前記基準領域の矩形に対応する四辺の指定を受け付けることを特徴とする付記１に記載の筆記選択プログラム。
【０１５８】
（付記４）前記設定する処理は、互いが一致しない複数の第２の探索領域を設定し、
前記再設定する処理は、複数の第２の探索領域ごとに前記第２の探索領域の前記探索方向側の端部を再設定し、
前記選択する処理は、前記複数の第２の探索領域ごとに前記第１の探索領域に含まれる筆記の前記探索方向側の端部との間で得られる差分のうちいずれか１つが前記所定の閾値を超える場合、前記差分が前記所定の閾値を超える第２の探索領域に含まれる筆記を選択することを特徴とする付記１に記載の筆記選択プログラム。
【０１５９】
（付記５）前記設定する処理は、前記基準領域の前記探索方向のサイズと、前記基準領域の前記探索方向に直交する方向のサイズとの比が所定の条件を満たす場合、前記基準領域から一文字ごとに抽出された矩形領域を前記基準領域とし、前記基準領域ごとに前記第１の探索領域および前記第２の探索領域を設定することを特徴とする付記１に記載の筆記選択プログラム。
【０１６０】
（付記６）手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付け、
前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定し、
前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定し、
前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定し、
設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する、
処理をコンピュータが実行する筆記選択方法。
【０１６１】
（付記７）前記設定する処理は、前記基準領域に含まれる筆記が一文字に対応する場合、前記第１の探索領域および前記第２の探索領域を設定することを特徴とする付記６に記載の筆記選択方法。
【０１６２】
（付記８）前記受け付ける処理は、前記基準領域の矩形に対応する四辺の指定を受け付けることを特徴とする付記６に記載の筆記選択方法。
【０１６３】
（付記９）前記設定する処理は、互いが一致しない複数の第２の探索領域を設定し、
前記再設定する処理は、複数の第２の探索領域ごとに前記第２の探索領域の前記探索方向側の端部を再設定し、
前記選択する処理は、前記複数の第２の探索領域ごとに前記第１の探索領域に含まれる筆記の前記探索方向側の端部との間で得られる差分のうちいずれか１つが前記所定の閾値を超える場合、前記差分が前記所定の閾値を超える第２の探索領域に含まれる筆記を選択することを特徴とする付記６に記載の筆記選択方法。
【０１６４】
（付記１０）前記設定する処理は、前記基準領域の前記探索方向のサイズと、前記基準領域の前記探索方向に直交する方向のサイズとの比が所定の条件を満たす場合、前記基準領域から一文字ごとに抽出された矩形領域を前記基準領域とし、前記基準領域ごとに前記第１の探索領域および前記第２の探索領域を設定することを特徴とする付記６に記載の筆記選択方法。
【０１６５】
（付記１１）手書き入力が行われた筆記が表示される画面上で筆記探索の基準とする基準領域の指定を受け付ける受付部と、
前記基準領域のうち前記筆記探索が行われる探索方向に隣接する第１の探索領域を設定すると共に、前記基準領域の前記探索方向に隣接し、かつ前記第１の探索領域に包含される第２の探索領域を設定する設定部と、
前記第１の探索領域に筆記が含まれる場合、当該筆記の前記探索方向側に隣接させて前記第１の探索領域を再設定する第１再設定部と、
前記第１の探索領域に含まれる筆記の前記探索方向側の端部と、前記第２の探索領域に含まれる筆記の前記探索方向側の端部との差分が所定の閾値以内である場合、前記第２の探索領域の前記探索方向側の端部を前記第１の探索領域の前記探索方向側の端部と同じ位置に再設定する第２再設定部と、
設定または再設定が行われた第１の探索領域に筆記が含まれない場合、前記筆記が探索済みである第１の探索領域に含まれる筆記を選択し、前記差分が前記所定の閾値を超える場合、前記筆記が探索済みである第２の探索領域に含まれる筆記を選択する筆記選択部と、
を有することを特徴とする情報処理装置。
【０１６６】
（付記１２）前記設定部は、前記基準領域に含まれる筆記が一文字に対応する場合、前記第１の探索領域および前記第２の探索領域を設定することを特徴とする付記１１に記載の情報処理装置。
【０１６７】
（付記１３）前記受付部は、前記基準領域の矩形に対応する四辺の指定を受け付けることを特徴とする付記１１に記載の情報処理装置。
【０１６８】
（付記１４）前記設定部は、互いが一致しない複数の第２の探索領域を設定し、
前記第２再設定部は、複数の第２の探索領域ごとに前記第２の探索領域の前記探索方向側の端部を再設定し、
前記筆記選択部は、前記複数の第２の探索領域ごとに前記第１の探索領域に含まれる筆記の前記探索方向側の端部との間で得られる差分のうちいずれか１つが前記所定の閾値を超える場合、前記差分が前記所定の閾値を超える第２の探索領域に含まれる筆記を選択することを特徴とする付記１１に記載の情報処理装置。
【０１６９】
（付記１５）前記設定部は、前記基準領域の前記探索方向のサイズと、前記基準領域の前記探索方向に直交する方向のサイズとの比が所定の条件を満たす場合、前記基準領域から一文字ごとに抽出された矩形領域を前記基準領域とし、前記基準領域ごとに前記第１の探索領域および前記第２の探索領域を設定することを特徴とする付記１１に記載の情報処理装置。
【符号の説明】
【０１７０】
１ａ  出力装置
１ｂ  環境センサ
１０    情報処理装置
１１    通信Ｉ／Ｆ部
１３    記憶部
１３ａ  筆記データ
１５    制御部
１５ａ  受付部
１５ｂ  設定部
１５ｃ  第１判定部
１５ｄ  第１再設定部
１５ｅ  第２判定部
１５ｆ  第２再設定部
１５ｇ  筆記選択部
【図１】
2020004124.tif 000003
【図２】
2020004124.tif 000004
【図３】
2020004124.tif 000005
【図４】
2020004124.tif 000006
【図５】
2020004124.tif 000007
【図６Ａ】
2020004124.tif 000008
【図６Ｂ】
2020004124.tif 000009
【図７】
2020004124.tif 000010
【図８】
2020004124.tif 000011
【図９】
2020004124.tif 000012
【図１０Ａ】
2020004124.tif 000013
【図１０Ｂ】
2020004124.tif 000014
【図１０Ｃ】
2020004124.tif 000015
【図１０Ｄ】
2020004124.tif 000016
【図１１Ａ】
2020004124.tif 000017
【図１１Ｂ】
2020004124.tif 000018
【図１２Ａ】
2020004124.tif 000019
【図１２Ｂ】
2020004124.tif 000020
【図１３】
2020004124.tif 000021
【図１４Ａ】
2020004124.tif 000022
【図１４Ｂ】
2020004124.tif 000023
【図１４Ｃ】
2020004124.tif 000024
【図１５Ａ】
2020004124.tif 000025
【図１５Ｂ】
2020004124.tif 000026
【図１５Ｃ】
2020004124.tif 000027
【図１６】
2020004124.tif 000028
【図１７】
2020004124.tif 000029
【図１８】
2020004124.tif 000030
【図１９Ａ】
2020004124.tif 000031
【図１９Ｂ】
2020004124.tif 000032
【図１９Ｃ】
2020004124.tif 000033
【図２０Ａ】
2020004124.tif 000034
【図２０Ｂ】
2020004124.tif 000035
【図２１Ａ】
2020004124.tif 000036
【図２１Ｂ】
2020004124.tif 000037
【図２２】
2020004124.tif 000038
【図２３】
2020004124.tif 000039