(57)【要約】【課題】手書き入力に応じた処理をより的確に実行する。【解決手段】情報処理装置は、第１検出部と、第２検出部と、実行部と、を備える。第１検出部は、表示部に表示される情報に対して手書き入力された、情報に含まれるオブジェクトの選択を指示する選択命令と、情報に対して手書き入力された第１オブジェクトと、を検出する。第２検出部は、情報に含まれるオブジェクトのうち、選択命令により選択が指示された第２オブジェクトを検出する。実行部は、第１オブジェクトおよび第２オブジェクトを用いて、指定された処理を実行する。【選択図】図１
2014102669.tif 000002
【特許請求の範囲】
【請求項１】
表示部に表示される情報に対して手書き入力された、前記情報に含まれるオブジェクトの選択を指示する選択命令と、前記情報に対して手書き入力された第１オブジェクトと、を検出する第１検出部と、
前記情報に含まれるオブジェクトのうち、前記選択命令により選択が指示された第２オブジェクトを検出する第２検出部と、
前記第１オブジェクトおよび前記第２オブジェクトを用いて、指定された処理を実行する実行部と、
を備える情報処理装置。
【請求項２】
前記第１検出部は、さらに、前記情報に対して手書き入力された、処理の実行を指示する実行命令を検出し、
前記実行部は、前記第１オブジェクトおよび前記第２オブジェクトを用いて、前記実行命令により実行が指示される処理を実行する、
請求項１に記載の情報処理装置。
【請求項３】
前記実行命令を前記表示部に表示するとともに、表示された前記実行命令を前記処理の実行後に前記表示部から消去する表示制御部をさらに備える、
請求項２に記載の情報処理装置。
【請求項４】
前記処理の実行前と実行中とで、前記実行命令の表示態様を変更して前記表示部に表示する表示制御部をさらに備える、
請求項２に記載の情報処理装置。
【請求項５】
前記第１検出部は、前記第２オブジェクトが検出された時刻に対して、手書き入力された時刻の差分が予め定められた時間以内である前記実行命令を検出する、
請求項２に記載の情報処理装置。
【請求項６】
前記第１検出部は、さらに、前記情報に対して手書き入力された、前記選択命令に関係付けることを示す関係命令を検出するとともに、前記関係命令により前記選択命令に関係付けることが指示された前記実行命令を検出する、
請求項２に記載の情報処理装置。
【請求項７】
前記第１検出部は、前記関係命令が検出された時刻に対して、手書き入力された時刻の差分が予め定められた時間以内である前記実行命令を検出する、
請求項６に記載の情報処理装置。
【請求項８】
前記第１検出部は、前記選択命令から予め定められた距離以内に存在する点を端点とする線を前記関係命令として検出する、
請求項６に記載の情報処理装置。
【請求項９】
前記第１検出部は、特定パターンと一致または類似するオブジェクトを前記実行命令として検出する、
請求項１に記載の情報処理装置。
【請求項１０】
前記処理の実行前と実行中とで、前記選択命令の表示態様を変更して前記表示部に表示する表示制御部をさらに備える、
請求項１に記載の情報処理装置。
【請求項１１】
前記処理の実行前と実行後とで、前記選択命令の表示態様を変更して前記表示部に表示する表示制御部をさらに備える、
請求項１に記載の情報処理装置。
【請求項１２】
前記第２検出部は、前記情報に含まれるオブジェクトのうち、手書き入力により指定された領域に対して重なる度合いが、予め定められた閾値以上であるオブジェクトを、前記第２オブジェクトとして検出する、
請求項１に記載の情報処理装置。
【請求項１３】
表示部に表示される情報に対して手書き入力された、前記情報に含まれるオブジェクトの選択を指示する選択命令と、前記情報に対して手書き入力された第１オブジェクトと、を検出する第１検出ステップと、
前記情報に含まれるオブジェクトのうち、前記選択命令により選択が指示された第２オブジェクトを検出する第２検出ステップと、
前記第１オブジェクトおよび前記第２オブジェクトを用いて、指定された処理を実行する実行ステップと、
を含む情報処理方法。
【請求項１４】
コンピュータを、
表示部に表示される情報に対して手書き入力された、前記情報に含まれるオブジェクトの選択を指示する選択命令と、前記情報に対して手書き入力された第１オブジェクトと、を検出する第１検出部と、
前記情報に含まれるオブジェクトのうち、前記選択命令により選択が指示された第２オブジェクトを検出する第２検出部と、
前記第１オブジェクトおよび前記第２オブジェクトを用いて、指定された処理を実行する実行部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
利用者が入力した手書きの検索要求に適合する文書をデータベース等から検索する情報処理装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４６４１５号公報
【特許文献２】特許第３５３７９４９号
【非特許文献】
【０００４】
【非特許文献１】“増田,  内田,  迫江,  オンライン文字認識におけるDPマッチンク゛の実験的最適化,  電気関係学会九州支部連合大会,  H.17.  http://human.ait.kyushu-u.ac.jp/~uchida/Papers/masuda-shibu2005.pdf”
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、手書き入力に応じた処理をより的確に実行できる情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の情報処理装置は、第１検出部と、第２検出部と、実行部と、を備える。第１検出部は、表示部に表示される情報に対して手書き入力された、情報に含まれるオブジェクトの選択を指示する選択命令と、情報に対して手書き入力された第１オブジェクトと、を検出する。第２検出部は、情報に含まれるオブジェクトのうち、選択命令により選択が指示された第２オブジェクトを検出する。実行部は、第１オブジェクトおよび第２オブジェクトを用いて、指定された処理を実行する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかる情報処理装置のブロック図。
【図２】検出されるオブジェクトの例を示す図。
【図３】オブジェクト検出の処理を示すフローチャート。
【図４】形状判定の処理を示すフローチャート。
【図５】閉ループ判定の処理を示すフローチャート。
【図６】閉ループの内側に筆跡が含まれるかを判定する処理の説明図。
【図７】横線の近傍上部に筆跡があるか否かを判定する処理の説明図。
【図８】インクデータ構造を示す図。
【図９】第１の実施形態における情報処理のフローチャート。
【図１０】ストローク解析応答処理のフローチャート。
【図１１】オブジェクト選択のフローチャート。
【図１２】関係命令検出処理のフローチャート。
【図１３】ストローク解析応答処理のフローチャート。
【図１４】表示される文書データの一例を示す図。
【図１５】文書データに含まれるオブジェクトのデータ構造を示す図。
【図１６】オブジェクトの階層構造の一例を説明するための図。
【図１７】検索処理の実行手順の一例を示す図。
【図１８】この場合の検索処理の実行手順の一例を示す図。
【図１９】この場合の検索処理の実行手順の一例を示す図。
【図２０】この場合の検索処理の実行手順の一例を示す図。
【図２１】選択命令、注目領域、およびオブジェクトの関係を示す図。
【図２２】画像オブジェクトをクエリとして検索する例を示す図。
【図２３】検索処理のシーケンスの例を示す図。
【図２４】検索処理のシーケンスの他の例を示す図。
【図２５】検索処理のシーケンスの他の例を示す図。
【図２６】検索処理のシーケンスの他の例を示す図。
【図２７】検索処理のシーケンスの他の例を示す図。
【図２８】検索処理で用いられるデータを示す図
【図２９】アニメーション表示の一例を示す図。
【図３０】アニメーション表示の一例を示す図。
【図３１】不要な命令を消去した後の画面の一例を示す図。
【図３２】検索命令と検索処理の種類との関係を示す図。
【図３３】検索結果の出力例を示す図。
【図３４】検索結果の他の出力例を示す図。
【図３５】既存オブジェクトの新規選択と再選択を説明するための図。
【図３６】既存オブジェクトの新規選択と再選択を説明するための図。
【図３７】既存オブジェクトの新規選択と再選択を説明するための図。
【図３８】検索命令を実行させる場合の画面遷移を示す図。
【図３９】スケジュールに予定を追加する処理の画面遷移を示す図。
【図４０】注釈付けを実行させる場合の画面遷移を示す図。
【図４１】注釈付けの表示態様の変更方法を説明するための図。
【図４２】本実施形態にかかる情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
スマートホンなどのタッチパネルディスプレイ端末で検索を行う場合、検索クエリを入力する窓をタップしてカーソルを移し、表示されたソフトウェアキーボードで文字列を打ち込んだ後、検索ボタンをタップする方式が一般的である。ソフトウェアキーボードの代わりに手書き文字を書くための窓が現れるものも存在する。手書き入力されたストロークデータは、認識されて文字列に変換され、検索クエリとされる。しかしながら、これらの方法では、検索クエリを入力して検索を実行するまでに、カーソル移動、クエリ文字列入力、および、検索ボタン押下という手順が必要であった。また、検索対象によって異なるクエリの入力を行わなければならなかった。
【００１０】
クエリ入力を簡略化できるものとして、既に表示されている文字列をクエリとして検索を行う例がある。例えば、文書データを表示させ、この文書データの文字列を表示画面上で選択すると、検索ボタンを押す必要もなく直ちにこの文字列に関連した情報が表示される技術が知られている。このときの文字列の選び方は、表示されている文字列の上をポインティングデバイスのカーソルでなぞる動作である。しかしながら、この方法では、クエリ選択後直ちに検索が実行される。このため、検索対象を指定できないという問題と、後述の注釈付けとの混在ができないという問題が発生する。
【００１１】
近年のペンタブレット端末の普及に伴い、メモ帳やスケッチブックを模した画面に手書きで文字や絵を書き込むことのできるアプリケーションをはじめ、画面上に既存の文書データを表示させ、そこに手書きでメモなどを書き込むことのできるアプリケーションが登場している。特に後者のアプリケーションでは、利用者が重要と考えた文書データ中のオブジェクト（文字列や画像など）を丸囲いしたり下線引きしたりして、このオブジェクトに印を付けることができる。さらにその近傍に引き出し線や注釈（アノテーション）を書き込んだりすることもできる。このように文書データを表示させ、この文書データ中のオブジェクトをその表示上で利用者が丸囲いや下線引きなどする筆記行為は、当該オブジェクトを他と区別して記銘（注釈）したいとする意図が込められている。そして、その近傍に文字列などが書き込まれると、これらは総体として当該オブジェクトへの注釈情報となる。
【００１２】
一方、上述の例のように、利用者が文書データ中のオブジェクトをクエリとした何らかの検索を行わせたいとき、当該オブジェクトを丸囲いや下線引きして選択することは極めて自然な行為である。ところが、この筆記行為自体は、単体では前述の注釈意図と区別することができない。すなわち両者を区別するための何らかの追加入力が必要になる。この入力を丸囲いなどに続く利用者の筆記行為で行った場合、その筆記内容に応じて注釈意図か検索意図かを区別することが必要になる。
【００１３】
第１の実施形態の情報処理装置では、表示部に表示される情報（文書）から、検索のためのクエリとして用いるオブジェクト（クエリオブジェクト）を利用者が選択して検索を行うための新しい方法を提供する。具体的には、本実施形態の情報処理装置は、利用者の書き込みから、選択命令、関係命令、および、検索命令などの命令を検出する。選択命令は、処理の対象とするオブジェクトの選択を指示する命令である。選択命令は、例えば丸囲いや下線引きなどである。関係命令は、複数のオブジェクトを関係付けることを指示する命令である。関係命令は、例えば、あるオブジェクトからの引き出し線や矢印である。検索命令は、検索処理の実行を指示する命令である。検索命令は、例えば「？」、「ＷＥＢで検索」、「英訳は？」、「意味は？」、および、「類義語は？」などの特定パターンを表す文字列である。
【００１４】
また本実施形態では、異なる検索対象を単独、または、まとめて指示できる検索命令と検索結果の扱い方法を提供する。具体的には、検索命令として「全対象検索」、「フルコマンド」、および、「簡易コマンド」を用意し、それぞれのコマンド（命令）に対応した検索対象に対する検索を、単独または組み合わせて実行できる枠組みを提供する。このとき、検索結果は検索対象別に整理されて利用者に提示される。ここで全対象検索とは、選択したオブジェクトを用いた検索全般をいう。選択したオブジェクトが手書きの文字であれば、手書きの文字自体に類似するものの検索を行ってもよい。手書きの文字のテキストを認識した後に検索したり、類似するテキストを含む文書を検索したりしてもよい。選択したオブジェクトが画像であれば、類似した画像を検索してもよいし、類似した画像に付属する情報を検索してもよい。この場合、検索対象はシステムに依存する。利用者が事前に検索対象を登録してもよいし、所定の制限を設けるようにしてもよい。
【００１５】
利用者は、選択命令と関係命令と検索命令を表示された文書上に書き込むという直感的で手早く行える方法で、クエリの指定、および、当該クエリに関する情報の検索を行うことができる。このとき、書き込む検索命令を変えることで、異なる検索対象について単独または組み合わせて検索を行うことができる。
【００１６】
なお、本実施形態では主にオブジェクトをクエリとする検索処理を例に説明するが、適用可能な処理は検索処理に限られるものではない。指定されたオブジェクトを用いる処理であればあらゆる処理に適用できる。例えば後述するように、指定されたオブジェクトをスケジュールに登録する処理に適用することができる。検索処理以外の処理に適用する場合、上述の検索命令は、当該処理の実行命令に置き換えられる。
【００１７】
また、本実施形態で表示部に表示される文書は、手書き文書であってもよいし、手書き文書でない文書であってもよい。手書き文書は、例えば筆跡のデータ（後述）を含む文書である。手書き文書でない文書は、例えば、文字コードで表されるデータを含む文書（テキストデータなど）である。テキストデータは、例えば、手書き文書を光学スキャナおよびカメラ等で撮影して得た画像を文字認識して求めてもよい。
【００１８】
図１は、第１の実施形態にかかる情報処理装置１００の構成の一例を示すブロック図である。図１に示すように、情報処理装置１００は、表示部１２１と、入力部１２２と、記憶部１２３と、通信部１２４と、表示制御部１１１と、取得部１１２と、第１検出部１１３と、第２検出部１１４と、実行部１１５と、記憶制御部１１６と、を備えている。
【００１９】
表示部１２１は、各種情報を表示する。表示部１２１は、タッチパネルディスプレイなどにより構成できる。
【００２０】
入力部１２２は、各種指示入力を受け付ける。入力部１２２は、例えば、マウス、ボタン、リモコン、キーボード、マイク等の音声データ認識装置、および画像認識装置等のうち１つ、または複数の組み合せにより構成できる。
【００２１】
なお、表示部１２１および入力部１２２は、一体的に構成されていてもよい。例えば、表示部１２１および入力部１２２は、表示機能および入力機能の双方を備えたＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部として構成されていてもよい。ＵＩ部は、例えば、タッチパネル付ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等である。
【００２２】
記憶部１２３は、各種情報を記憶する。記憶部１２３は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２３】
通信部１２４は、外部装置との間の通信処理を行う。通信部１２４は、例えば、情報処理装置１００の外部の記憶部１３０と接続される。記憶部１３０は、例えば、ＷＥＢデータ１３１、意味辞書１３２、訳語辞書１３３、および、関連文書１３４などの、検索対象となる情報を記憶する。ここで、関連文書とは所定のカテゴリに分類された文書集合などを表す。利用者が規定したカテゴリを用いて分類された文書集合でもよい。例えば、手書き文書を集めた関連文書の集合であってもいいし、それ以外のカテゴリがあってもよい。手書きの文字等に対して、オンラインで認識した手書き文書から類似する文字や文書を検索したりしてもよい。なお、図１では１つの記憶部１３０を記載しているが、記憶部１３０は、物理的に異なる複数の記憶装置に分割されていてもよい。
【００２４】
検索対象となる情報は、手書き文書であってもよいし、テキストデータなどの手書き文書でない文書であってもよい。手書き文書を検索対象とする場合は、記憶部１３０が手書き文書ＤＢ（図示せず）を含んでもよい。
【００２５】
表示制御部１１１は、表示部１２１に対する情報の表示を制御する。例えば、表示制御部１１１は、入力された文書データを表示部１２１に表示する。また、表示制御部１１１は、手書き入力されたストロークデータを表示部１２１に表示する。後述するように、表示制御部１１１は、処理の実行前、実行中、および、実行後などのタイミングに応じて、表示するデータの表示態様を変更するような制御を実行する。
【００２６】
取得部１１２は、入力部１２２を介して筆跡のデータを取得する。取得部１１２により取得される筆跡のデータは、１画（ストローク）ごとに分離された座標の時系列データを持ち、例えば次のように表される。
画１：（ｘ（１，１），y（１，１）），（ｘ（１，２），y（１，２）），・・・，
（ｘ（１，Ｎ（１）），y（１，Ｎ（１）））
画２：（ｘ（２，１），y（２，１）），（ｘ（２，２），y（２，２）），・・・，
（ｘ（１，Ｎ（２）），y（２，Ｎ（２）））
・・・
ただし、Ｎ（ｉ）は画ｉのサンプリング時の点数である。なお、手書き文書ＤＢに格納される手書き文書についても、上記のような筆跡のデータを有する。
【００２７】
第１検出部１１３は、取得部１１２により取得された筆跡の座標データに基づいて当該筆跡の形状を判定することにより、手書き入力されたオブジェクトを検出する。上述の選択命令、関係命令、および、検索命令などの命令は、このように検出されるオブジェクトに該当する。また、第１検出部１１３は、これらの命令以外の文字列を追加オブジェクト（第１オブジェクト）として検出する。
【００２８】
図２は、検出されるオブジェクトの例を示す図である。図２では、オブジェクトの例として、文字列、下線、および、囲み線が示されている。これらは筆跡の形状によって分類される。オブジェクト２０は文字列のオブジェクトである。これは、例えば「アイデア」という文字列を手書き入力（または表示された文書中で選択）したものである。文字列の内容は「アイデア」という文字列のみならず任意であることは言うまでもない。オブジェクト２２は下線のオブジェクトである。下線は、文字列を強調するために筆記される場合が多い。オブジェクト２３は丸囲いや四角囲いなどの囲み線のオブジェクトである。囲み線は、下線と同様に文字列を強調したり、特定の文字列を他の文字列とは区別したりするために筆記される場合が多い。
【００２９】
第２検出部１１４は、表示される情報から選択されたオブジェクト（第２オブジェクト）を検出する。例えば、第２検出部１１４は、選択命令で選択が指示されるオブジェクト（第２オブジェクト）を、表示された文書データから検出する。
【００３０】
オブジェクトを検出する具体的な処理について図３のフローチャートを参照して説明する。
【００３１】
ステップＳ５１において入力筆跡の形状判定を行う。第１検出部１１３は、取得部１１２により取得された入力の筆跡データに含まれる座標データを用いて、その筆跡の形状を判定することにより文字列、下線、囲み線などのオブジェクトを検出する。なお、オブジェクトの形状はこれらに限られるものではない。例えば、下線以外の引き出し線や矢印を検出してもよい。引き出し線や矢印は、関係命令を表すオブジェクトとして検出されてもよい。
【００３２】
図４は、形状判定の処理を示すフローチャートである。この形状判定の処理は、取得部１１２により取得された筆跡の座標データに基づいて行われる。
【００３３】
図４のステップＳ６１において、第１検出部１１３は、入力筆跡が１画であるか複数画であるかを判定する。「１画」の場合には、ステップＳ６２において、第１検出部１１３は、その１画の筆跡が閉ループを構成しているか否かを判定する。閉ループ判定の処理を、図５を参照して説明する。第１検出部１１３は、折れ線Ｐ１，Ｐ２，．．Ｐｎ−１，Ｐｎが閉曲線であるかを判定する。折れ線の各線分をＬｉ=ＰｉＰｉ＋１で表す。このとき、第１検出部１１３は、ＬｉとＬｊ（ｉ＜ｊ）が交差しているかどうかを調べ、交差している場合、Ｐ［ｉ］，．．．Ｐ［ｊ＋１］が閉曲線を構成していると判定する。例えば、図５の例では、線分Ｌ［２］とＬ［７］が交わっていて、Ｐ［２］，．．，Ｐ［８］が閉曲線を構成している。さらに、第１検出部１１３は、ストローク（１画のストロークデータ）の始点Ｐ［０］から終点Ｐ［８］までの距離を計算する。計算した距離がストロークの全長と比較して小さいならば、閉ループと判定する。図４のステップＳ６２において閉ループと判定された場合には、ステップＳ６４において、第１検出部１１３は、閉ループの内側に筆跡が含まれるか否かを判定する。
【００３４】
閉ループの内側に筆跡が含まれるか否かを判定する処理を、図６を参照して説明する。判定対象となる筆跡の各点Ｑ［１］，Ｑ［２］，…，Ｑ［Ｍ］がすべて閉ループ曲線内にあるとき、第１検出部１１３は、閉ループ内に筆跡が含まれると判定する。閉ループ内に点Ｑが含まれるかどうかは、次のように判定することができる。閉ループ曲線をＰ［１］（Ｘ［１］，Ｙ［１］），Ｐ［２］（Ｘ［２］，Ｙ［２］），…，Ｐ［Ｎ−１］（Ｘ［Ｎ−１］，Ｙ［Ｎ−１］）とし、判定対象の点をＱ（Ｘ，Ｙ）とする。
【００３５】
（１）２点Ｐ［ｉ］、Ｐ［ｉ＋１］を通る直線ｆ［ｉ］（ｘ，ｙ）=０を、ｆ（ｘ，ｙ）=（Ｙ［ｉ＋１］−Ｙ［ｉ］）＊（ｘ−Ｘ［ｉ］）−（Ｘ［ｉ＋１］−Ｘ［ｉ］）＊（ｙ−Ｙ［ｉ］）＝０として計算する。ただし、ｉ＝Ｎのときは、２点Ｐ［Ｎ］、Ｐ［０］を通る直線ｆ［Ｎ］
（ｘ，ｙ）=０となる。
【００３６】
（２）Ｑ（Ｘ，Ｙ）が直線の進行方向に対してどちら側にあるかを判定する。ｆ［ｉ］（Ｘ，Ｙ）を計算する。この値が正なら直線の進行方向に対して右側、負なら左側になる。
【００３７】
（３）上記（１）（２）をすべてのｉについて繰り返し、Ｑ（Ｘ，Ｙ）がすべての直線ｆ［ｉ］（Ｘ，Ｙ）で同じ符号を取れば、Ｑは閉ループの内側にあると判定する。
【００３８】
ステップＳ６４において閉ループと判定された場合には、第１検出部１１３は、「囲み線」をオブジェクトとして検出する。この場合、第１検出部１１３は、「囲み線」を、選択命令を示すオブジェクトとして検出してもよい。
【００３９】
ステップＳ６２またはステップＳ６４において閉ループと判定されなかった場合には、ステップＳ６３において、第１検出部１１３は、当該１画の筆跡は横線であるかを判定する。例えば、第１検出部１１３は、公知の直線回帰問題を解き、折れ線を直線で当てはめる。第１検出部１１３は、その処理で求められる回帰誤差が閾値以内であれば直線と判定する。直線と判定できた場合、第１検出部１１３は、直線の傾きの絶対値が一定値以下であれば横向きと判定する。ステップＳ６３において、横線と判定された場合には、ステップＳ６５において、第１検出部１１３は、横線の近傍上部に筆跡があるか否かを判定する。
【００４０】
横線の近傍上部に筆跡があるか否かを判定する処理を、図７を参照して説明する。
【００４１】
判定対象となる筆跡の各点Ｑ［１］，Ｑ［２］，…，Ｑ［Ｍ］がすべて線分の上部近傍にあるとき、第１検出部１１３は、線分の上部近傍に筆跡があると判定する。線分の上部近傍に点Ｑがあるかどうかは次のように判定することができる。線分をＰ［１］（Ｘ［１］，Ｙ［１］），Ｐ［２］（Ｘ［２］，Ｙ［２］）、ただし、Ｘ［１］＜Ｘ［２］とし、判定対象の点をＱ（Ｘ，Ｙ）とする。以下の４式を同時に満たすとき、線分の上部近傍に点Ｑがあると判定することができる。
【００４２】
Ｘ［１］＜ＸＸ＜Ｘ［２］  Ｙ＞（Ｙ［１］＋Ｙ［２］）／２Ｙ＜（Ｙ［１］＋Ｙ［２］）／２＋ＣただしＣは予め定めた閾値である。
【００４３】
ステップＳ６５において横線の近傍上部に筆跡があると判定された場合には、第１検出部１１３は、「下線」をオブジェクトとして検出する。この場合、第１検出部１１３は、「下線」を、選択命令を示すオブジェクトとして検出してもよい。
【００４４】
ステップＳ６３またはステップＳ６５において横線と判定されなかった場合、および、ステップＳ６１において「複数画」と判定された場合には、第１検出部１１３は、「文字列」をオブジェクトとして検出する。第１検出部１１３は、検出した「文字列」が特定の文字列の場合に、この文字列を、検索命令を示すオブジェクトとして検出してもよい。例えば第１検出部１１３は、「文字列」がが「ＷＥＢで検索」であった場合に、「文字列」を、検索命令を示すオブジェクトとして検出してもよい。
【００４５】
図３のステップＳ５２では、第１検出部１１３は、検出されたオブジェクトが選択命令であるか否かを判定する。選択命令でない場合（ステップＳ５２：Ｎｏ）、第１検出部１１３は、検出されたオブジェクトとともに、入力された筆跡のデータをそのまま出力する。選択命令である場合（ステップＳ５２：Ｙｅｓ）、第２検出部１１４は、選択命令で選択が指示されるオブジェクトを、表示された文書から検出する（ステップＳ５３）。例えば、選択命令が「囲み線」の場合、第２検出部１１４は、この「囲み線」で囲まれる文書の領域から、文字列などのオブジェクトを検出して出力する。
【００４６】
なお、表示される文書が手書き文書の場合、第２検出部１１４は、選択命令で指示される部分の筆跡のデータを検出してもよい。表示される文書が手書き文書以外のテキストデータ等の場合、第２検出部１１４は、選択命令で指示される部分のテキストデータを検出してもよい。
【００４７】
以上のように検出されたオブジェクトは、実行部１１５に渡される。なお、第１検出部１１３による上記の検出方法は一例であり、これに限られるものではない。手書き入力された記号および文字等のオブジェクトを検出する方法であればあらゆる方法を適用できる。また、第２検出部１１４による上記の検出方法は一例であり、これに限られるものではない。表示される情報から選択されたオブジェクトを検出する方法であればあらゆる方法を適用できる。
【００４８】
実行部１１５は、検出されたオブジェクトを用いた処理を実行する。例えば、実行部１１５は、検索命令が検出されたときに、少なくとも選択命令で選択されたオブジェクトをクエリとする検索処理を実行する。
【００４９】
検索対象は文字コード列、筆跡データなどで照合検索可能な情報である。
【００５０】
手書き文書以外のテキストデータ等を検索対象とする場合、実行部１１５は、例えば検出されたオブジェクトに対応するテキストデータをクエリとして検索処理を実行する。検出されたオブジェクトが手書き文字の場合、実行部１１５は、手書き文字を文字認識してテキストデータに変換してクエリとして用いてもよい。
【００５１】
手書き文書を検索対象とする場合、実行部１１５は、例えば検出されたオブジェクトに対応する筆跡データをクエリとして検索処理を実行する。具体的には、手書き文書ＤＢにおいて当該文字列のクエリに類似またはマッチする筆跡を検索する。
【００５２】
ここで、文字列のクエリに類似またはマッチする筆跡を手書き文書ＤＢから検索する処理の具体例について説明する。実行部１１５は、クエリの筆跡を表すストローク列に類似するストローク列を例えば特徴ベクトルのマッチングによって検索する。ストロークデータ（筆跡データ）のより具体的な構造の例を図８を参照して説明する。
【００５３】
「ストローク」とは、手書き入力された筆画であり、ペン等が入力面に接してから離れるまでの軌跡を表す。通常、所定のタイミングで（例えば一定周期で）軌跡上の点がサンプリングされるので、ストロークは、サンプリングされた点の系列により表現される。
【００５４】
図８（ｂ）の例において、１ストローク分（すなわち、１画分）のストローク構造は、ペンが移動した平面上の座標値の集合（点構造）で表現され、具体的には、そのストロークを形成する点の個数を示す「点総数」、「開始時刻」、「外接図形」、点総数に相当する個数の「点構造」の配列を含む構造体である。ここで、開始時刻は、そのストロークにおいてペンが入力面に接して書き出された時刻を示す。外接図形は、文書平面上においてそのストロークの軌跡に対する外接図形（好ましくは、文書平面上においてそのストロークを内包する最小面積の矩形）を示す。
【００５５】
点の構造は、入力デバイスに依存し得る。図８（ｃ）の例では、１点の構造は４値を持つ構造体である。４値はその点がサンプリングされた座標値ｘ，ｙ、筆圧並びに初期点からの時間差である。例えば上記の「開始時刻」は初期点である
【００５６】
なお、座標は文書平面の座標系である。例えば、左上の隅を原点として右下の隅になるほど値が大きくなる正の値で表現しても良い。
【００５７】
また、入力デバイスが筆圧を取得できない場合或いは筆圧を取得できても以降の処理で筆圧を使用しない場合には、図８（ｃ）の筆圧を省いても良い。または筆圧に無効を示すデータを記述しても良い。
【００５８】
なお、図８（ｂ），（ｃ）の例において、ストローク構造における個々の点構造の領域に、入力デバイス上の座標値ｘ，ｙ等の実データを記載しても良い。または、ストローク構造のデータと点構造のデータとを別々に管理するものとして扱ってもよい。この場合、ストローク構造における個々の点構造の領域に、対応する点構造へのリンク情報を記載しても良い。
【００５９】
クエリの筆跡を表すストローク列に類似するストローク列を検索する際の特徴ベクトルのマッチングの具体例としては、例えば、ＤＰマッチング（ＤＰ；Dynamic  Programming、動的計画法）を利用しても良い。なお、利用者が指定するストローク列のストローク数と、利用者が所望するストローク列のストローク数とは、必ずしも同じにはならない可能性がある。なぜならば、同じ意味を有する文字列であっても、筆記者によって異なる画数で筆記される可能性があるからである。例えば筆記者によっては同じ文字の２画分を１画で筆記することなどがある。通常、ストロークに関するＤＰマッチングは、１ストローク対１ストロークの対応のみを扱い、２つのストローク列間の伸縮を許容した最適な対応付けを行う手法である。ここでは、例えば、１ストローク対Ｎストロークの対応も考慮したＤＰマッチングを用いることによって、筆画変動にロバストなマッチングが可能となる（例えば、非特許文献１を参照）。
【００６０】
例えば、マッチングの対象となるストローク列に含まれる全てのストロークを始点として、利用者が指定するクエリであるストローク列との対応付けを行った後、ストローク列間の類似度を算出する。そして、各始点からの類似度を算出した後、降順にソートする。全てのストロークを始点とするため、オーバーラップした結果が得られる。その後、ピーク検出を行って、オーバーラップしたストロークの範囲を統合する。
【００６１】
なお、上記の他にも、種々のマッチング方法が可能である。
【００６２】
記憶制御部１１６は、記憶部１２３に対する情報の記憶処理を制御する。
【００６３】
なお、表示制御部１１１、第１検出部１１３、実行部１１５、および、記憶制御部１１６は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００６４】
次に、このように構成された第１の実施形態にかかる情報処理装置１００による情報処理について図９を用いて説明する。図９は、第１の実施形態における情報処理の一例を示すフローチャートである。
【００６５】
ここで、以下のフローチャートで用いるパラメータと関数の定義について記載する。
【００６６】
（パラメータ）
docid：文書識別ID（given）
docdata：入力されたdocidに対応した文書データ
OL：これまでに選択されたdocdata内の既存オブジェクトのリスト（再選択に利用）
null：リスト等の中身が空である状態
S：入力された１ストロークデータ
SL：ストロークSのリスト（上述のストローク列に相当）
obj1：選択された既存オブジェクトのリスト（図１０（後述）では単オブジェクト、図１３（後述）では複数オブジェクトを許容）
arc：筆記された関係命令（引き出し線など）
ST：筆記された追加ストロークのリスト
obj2：追加ストロークとして筆記されたdocdata外の追加オブジェクト
cmd：追加ストロークとして筆記されたコマンド。検索命令、予定追加命令等がある
mode：内部制御用のモード。以下ではmodo=0,1,2を、それぞれ既存オブジェクト選択命令の筆記（検出）、関係命令の筆記（検出）、および、追加ストロークの筆記（検出）、を行うモードとする。
【００６７】
（関数）
loaddoc（）：文書データを入力する関数。docidで指定される文書データを読み込んでdocdataクラスインスタンスを返す。（書式）docdata  =  loaddoc（docid）
inputS（）：１ストロークデータを入力する関数。ペンダウンからペンアップまでの１ストロークを入力してSクラスインスタンスを返す。（書式）  S  =  inputS（）
dispS（）：ストロークSを表示する関数。（書式）  dispS（S）
dtctobj1（）：SLを解析してdocdata内の既存オブジェクトの選択を検出する関数。検出時にはobjクラスインスタンスを返し、非検出時にはnullを返す。（書式）  obj  =  dtctobj1（SL,  docdata,  OL）
dtctarc（）：SLを解析して関係命令を検出する関数。（書式）  arc  =  dtctarc（SL,  obj1,  docdata）
addlist（）：リスト（list）にデータ（data）を追加記録する関数。（書式）  list  =  addlist（list,  data）
recog（）：追加ストロークSTを認識してobj2とcmdを抽出してクラスインスタンスを返す関数。該当がなければobj2やcmdをnullとする。（書式）  （obj2,  cmd）  =  recog（ST）
dispanote（）：注釈付け表示を行う関数。（書式）  dispanote（arc,  obj2）
dispcmd（）：検出されたコマンドの表示を行う関数。（書式）  dispcmd（arc,  obj2）
exec（）：obj1とobj2を引数としたcmdを実行する関数。（書式）  exec（cmd,  obj1,  obj2）
savedata（）：データを保存する関数
【００６８】
まず、表示制御部１１１は、利用者等により表示が指定された文書データを入力し（docdata=loaddoc（docid））、表示部１２１に表示する（ステップＳ１）。第１検出部１１３は、オブジェクトのリストOLを初期化する（OL=null）（ステップＳ２）。次に、入力されたストローク（入力筆跡）を解析し、解析結果に応じた応答を行うストローク解析応答処理が実行される（ステップＳ１３）。ストローク解析応答処理（ステップＳ１３）では、以下のステップＳ３〜ステップＳ１２が実行される。
【００６９】
まず、取得部１１２は、ストロークSの入力を受付け、表示部１２１に表示する（dispS(S=inputS())、SL=addlist(SL，S)）（ステップＳ３）。第１検出部１１３は、既存オブジェクトの選択命令が検出されたか否かを判定する（ステップＳ４）。既存オブジェクトとは、表示された文書データ内に含まれるオブジェクトを表す。選択命令が検出された場合、第２検出部１１４は、例えば、obj1=dtctobj1（SL,  docdata,  OL）により、選択命令により選択される既存オブジェクトobj1を、表示された文書データ（docdata）から検出する。既に選択された既存オブジェクトを格納するOLから、いずれかの既存オブジェクトが再選択された場合は、第２検出部１１４は、OLから指定（選択）されたオブジェクトを検出する。
【００７０】
選択命令が検出されない場合（ステップＳ４：Ｎｏ）、ステップＳ３に戻り処理を繰り返す。選択命令が検出された場合（ステップＳ４：Ｙｅｓ）、第１検出部１１３は、関係命令が検出されたか否かを判定する（ステップＳ５）。第１検出部１１３は、例えば、arc  =  dtctarc（SL,  obj1,  docdata）により検出されたオブジェクトarcが、関係命令であるかを判定する。
【００７１】
関係命令が検出されない場合（ステップＳ５：Ｎｏ）、ステップＳ３に戻り処理を繰り返す。関係命令が検出された場合（ステップＳ５：Ｙｅｓ）、第１検出部１１３は、追加ストロークの筆記が完了したか否かを判定する（ステップＳ６）。例えば、第１検出部１１３は、追加ストロークを書き込むための書き込み枠以外の領域に、ストロークSが書き込まれた場合に、追加ストロークの筆記が完了したと判定する。なお、筆記完了の判定方法はこれに限られるものではない。例えば、第１検出部１１３が、ペン等が離れるなどにより所定時間以上、筆跡のデータが取得されなくなった場合に、筆記が完了したと判定してもよい。
【００７２】
筆記が完了していない場合（ステップＳ６：Ｎｏ）、第１検出部１１３は、追加ストロークを記録する（ST=addlist（ST,  S））（ステップＳ７）。その後、ステップＳ３に戻り処理が繰り返される。
【００７３】
筆記が完了した場合（ステップＳ６：Ｙｅｓ）、第１検出部１１３は、追加ストロークを認識する（（obj2,  cmd）=recog（ST））（ステップＳ８）。
【００７４】
ストロークの認識とは、上述のように、筆跡の座標データ（図９では筆記された追加ストロークのリスト）に基づいて当該筆跡の形状を判定してオブジェクトを検出することである。第１検出部１１３は、検出したオブジェクトが特定のコマンド（命令）に対応すると判定した場合、判定したコマンドをcmdに設定する。例えば、追加ストロークの形状から「？」および「ＷＥＢで検索」などのオブジェクトが検出された場合に、第１検出部１１３は、オブジェクトが検索命令に相当すると判定して、このオブジェクトをcmdに設定する。
【００７５】
第１検出部１１３は、検出したオブジェクトがコマンド以外の文字列等であると判定した場合、判定したオブジェクトをobj2に設定する。例えば、追加ストロークの形状から「国内」などの特定のコマンドに対応しないオブジェクトが検出された場合に、第１検出部１１３は、オブジェクトをobj2に設定する。このオブジェクト（追加オブジェクト）は、例えば、既存オブジェクトobj1に追加するクエリとして、検索時に利用される。
【００７６】
実行部１１５は、コマンドが検出されたか否かを判定する（ステップＳ９）。コマンドが検出された場合（ステップＳ９：Ｙｅｓ）、実行部１１５は、検出されたコマンドを表示部１２１に表示する（dispcmd（arc,  obj2））（ステップＳ１０）。例えば、実行部１１５は、検出された関係命令arcと、検出された追加オブジェクトobj2を、表示部１２１に表示する。
【００７７】
実行部１１５は、例えば利用者によるコマンド実行の指示に応じて、検出されたコマンドを実行する（exec（cmd,  obj1,  obj2））（ステップＳ１１）。例えば、検索命令がコマンドとして検出された場合、実行部１１５は、ojb1およびobj2を含むクエリによる検索処理を実行する。このとき、obj1が前記第２オブジェクトであり、obj2が前記第１オブジェクトである。
【００７８】
コマンドが検出されていない場合（ステップＳ９：Ｎｏ）、実行部１１５は、追加ストロークから検出されたオブジェクトは注釈であると判断し、注釈付け表示を実行する（dispanote（arc,  obj2））（ステップＳ１２）。例えば、実行部１１５は、検出された関係命令arcと、検出された追加オブジェクトobj2を、表示部１２１に表示するよう表示制御部１１１に依頼する。
【００７９】
実行部１１５は、検出されたオブジェクトのデータを記憶部１２３等に保存し（savedata（））（ステップＳ１３）、処理を終了する。保存したデータは、例えば、過去に入力した筆跡の履歴として利用者が参照するときに利用される。保存先は、記憶部１２３に限られず、記憶部１３０などの外部装置に記憶してもよい。例えば、最初は記憶部１２３に記憶し、所定のタイミングで記憶部１２３に記憶されたデータを記憶部１３０などの外部装置に移動（またはコピー）してもよい。
【００８０】
なお、図９は、（１）既存オブジェクトの選択、（２）関係命令の検出、（３）追加ストロークによるコマンドの検出、の順でオブジェクト（命令等）が検出された場合に、実行部１１５がコマンドを実行する例を示している。コマンドを実行する条件およびタイミングはこれに限られるものではない。例えば、関係命令が検出されなくても（ステップＳ５：Ｎｏ）、（１）既存オブジェクトの選択、（２）追加ストロークによるコマンドの検出、の順でオブジェクトが検出された場合に、選択された既存オブジェクトを用いたコマンドを実行してもよい。コマンド実行タイミング等の詳細は後述する。
【００８１】
次に、図９のストローク解析応答処理（Ｓ１３）のさらに詳細な処理ついて説明する。図１０は、ストローク解析応答処理の一例を示すフローチャートである。なお、図１０の各ステップに対応づけた括弧内には、図９の対応するステップの番号を記載している。
【００８２】
取得部１１２は、各パラメータを初期化する（mode=0、ST=SL=null、obj1=obj2=arc=null）（ステップＳ１０１）。ステップＳ１０２は図９のステップＳ３と同様である。
【００８３】
第１検出部１１３は、選択待ちのモード（mode=0）、すなわち、選択命令の検出待ちの状態であるか否かを判定する（ステップＳ１０３）。選択待ちの場合（ステップＳ１０３：Ｙｅｓ）、第１検出部１１３は、オブジェクトの再選択であるか否かを判定する（ステップＳ１０４）。オブジェクトの再選択とは、既に選択された既存オブジェクトを格納するOLから既存オブジェクトを選択することを表す。オブジェクトの再選択でない場合（ステップＳ１０４：Ｎｏ）、第１検出部１１３は、オブジェクトの新規選択であるか否かを判定する（ステップＳ１０５）。オブジェクトの新規選択とは、表示された文書データ（docdata）から新たにオブジェクトを選択することを表す。オブジェクトの新規選択でない場合（ステップＳ１０５：Ｎｏ）、ステップＳ１０２に戻り処理を繰り返す。
【００８４】
オブジェクトの再選択である場合（ステップＳ１０４：Ｙｅｓ）、および、オブジェクトの新規選択である場合（ステップＳ１０５：Ｙｅｓ）、第１検出部１１３は、選択されたオブジェクトのリストobj1に、新たに選択されたオブジェクトobjを追加する（obj1=addlist（obj1,  obj）（ステップＳ１０６）。また、第１検出部１１３は、モードを選択済み（関係命令の検出待ち）に更新する（mode=1）。また、第１検出部１１３は、ストロークのリストSLを初期化する（SL=null）。ステップＳ１０５から遷移した場合は、第１検出部１１３は、選択された既存オブジェクトのリストOLに、新たに選択されたオブジェクトobjを追加する（OL  =addlist（OL,  obj）。この後、ステップＳ１０２に戻り処理が繰り返される。
【００８５】
ステップＳ１０３で、選択待ちでないと判定された場合（ステップＳ１０３：Ｎｏ）、第１検出部１１３は、選択済みのモード（mode=1）、すなわち、関係命令の検出待ちの状態であるか否かを判定する（ステップＳ１０７）。選択済みの場合（ステップＳ１０７：Ｙｅｓ）、第１検出部１１３は、関係命令（例えば引き出し線）を検出したか否かを判定する（ステップＳ１０８）。なお、引き出し線は関係命令の一例であり、矢印などの他のオブジェクトであってもよい。
【００８６】
関係命令を検出していない場合（ステップＳ１０８：Ｎｏ）、ステップＳ１０２に戻り処理を繰り返す。関係命令が検出された場合（ステップＳ１０８：Ｙｅｓ）、第１検出部１１３は、検出した関係命令（引き出し線など）を、arcに設定する（ステップＳ１０９）。また、第１検出部１１３は、モードを追加ストロークの検出待ちに更新する（mode=2）。また、第１検出部１１３は、追加ストロークのリストSTおよびストロークのリストSLを初期化する（ST=SL=null）。このとき、表示制御部１１１が、追加ストロークを書き込むための書き込み枠Ｗを表示してもよい。この後、ステップＳ１０２に戻り処理が繰り返される。
【００８７】
ステップＳ１０７で選択済みのモードでないと判定された場合（ステップＳ１０７：Ｎｏ）、第１検出部１１３は、筆記が完了したか否かを判定する（ステップＳ１１０）。ステップＳ１１０、ステップＳ１１１は、それぞれ図９のステップＳ６、ステップＳ７と同様である。
【００８８】
筆記が完了した場合（ステップＳ１１０：Ｙｅｓ）、第１検出部１１３は、追加ストロークを認識する（（obj2,  cmd）=recog（ST））（ステップＳ１１２）。このとき、表示制御部１１１が、書き込み枠Ｗの表示、および、筆記完了を指示するために書き込み枠Ｗ外に筆記されたストロークSの表示を消去するように構成してもよい。
【００８９】
ステップＳ１１３〜ステップＳ１１６は、図９のステップＳ９〜ステップＳ１２と同様である。
【００９０】
次に、図１０のオブジェクトの選択を検出する処理（ステップＳ１０４およびステップＳ１０５）のさらに詳細な処理ついて説明する。図１１は、オブジェクト選択の検出処理の一例を示すフローチャートである。
【００９１】
第１検出部１１３は、ストロークSのリストSLが、既存オブジェクトのリストOLに含まれるオブジェクトのいずれかの外接矩形に内包されるか否かを判定する（ステップＳ２０１）。内包される場合（ステップＳ２０１：Ｙｅｓ）、第１検出部１１３は、オブジェクトが再選択されたことを検出する（ステップＳ２０２）。この場合、第１検出部１１３は、objに、リストSLに含まれるストロークSを内容するオブジェクトを設定する。表示制御部１１１は、リストSLに含まれるストロークSの表示を消去する（ステップＳ２０３）。この処理により、利用者は再選択したいオブジェクトの上をタップするだけで当該オブジェクトを再選択できる。
【００９２】
リストSLがリストOLに含まれるオブジェクトのいずれかの外接矩形に内包されない場合（ステップＳ２０１：Ｎｏ）、第１検出部１１３は、囲い線や下線の検出を試みる。この検出には図５〜図７およびその説明にて述べた方法を用いることができるが、ここではより簡便な方法で検出を行う例を示す。すなわち、第１検出部１１３は、リストSLに含まれるストロークSの外接矩形Ｒ、および、外接矩形Ｒの長手距離aを計算する（ステップＳ２１１）。第１検出部１１３は、リストSLに含まれるストロークSの全長bを計算する（ステップＳ２１２）。
【００９３】
第１検出部１１３は、全長bが長手距離aの２倍の値より大きいか否か(b>a×2）を判定する（ステップＳ２１３）。全長bが長手距離aの２倍の値より大きい場合（ステップＳ２１３：Ｙｅｓ）、第１検出部１１３は、外接矩形Rを注目領域Tに設定する（ステップＳ２１４）。一方、全長bが長手距離aの１．２倍の値以下の場合（ステップＳ２１３：ＮｏからステップＳ２１５：Ｙｅｓ）、第１検出部１１３は、外接矩形Rを上方に拡張した領域を注目領域Tに設定する（ステップＳ２１６）。それ以外の場合（ステップＳ２１５：Ｎｏ）は、第２検出部１１４は、オブジェクトの選択がなかったとして、objにnullを設定し（ステップＳ２２０）、処理を終了する。
【００９４】
全長bが長手距離aの２倍の値より大きい場合は、丸囲いなどが記入された場合が想定される。全長bが長手距離aの１．２倍の値以下の場合は、下線などが記入された場合が想定される。両者を区別できれば、aの２倍や１．２倍以外の値を全長bと比較してもよい。
【００９５】
第２検出部１１４は、注目領域Tと重なる度合い（例えば、重なる領域の面積の比率）が所定の閾値以上である既存オブジェクトを文書データ（docdata）から検出する（ステップＳ２１７）。注目領域Tと重なる領域の面積の比率は、例えば、注目領域Tと既存オブジェクトとが重なる領域の面積の、既存オブジェクト全体の面積に対する割合により求めることができる。
【００９６】
第２検出部１１４は、既存オブジェクトが検出できたか否かを判定する（ステップＳ２１８）。検出できた場合（ステップＳ２１８：Ｙｅｓ）、第２検出部１１４は、検出されたオブジェクトをobjに設定する（ステップＳ２１９）。検出できなかった場合（ステップＳ２１８：Ｎｏ）、第２検出部１１４は、objにnullを設定し（ステップＳ２２０）、処理を終了する。
【００９７】
次に、図１０の関係命令検出処理（ステップＳ１０８）のさらに詳細な処理ついて説明する。図１２は、関係命令検出処理の一例を示すフローチャートである。なお、フローチャートに右には、データ等の複数の具体例が示されている。具体例のうち上の例は、選択命令が丸囲いの場合の例である。具体例のうち下の例は、選択命令が下線の場合の例である。図１２のフローチャートのスタート時点で、選択された既存オブジェクトのリストobj1には少なくとも１つの既存オブジェクトが記録されている。以下の処理は、リストobj1に含まれる各オブジェクトについて実行される。
【００９８】
第１検出部１１３は、リストSLに含まれるストロークの始点が、obj1に含まれる各オブジェクトの選択命令の外接矩形を上下左右に所定の長さ広げた領域U1内に存在するか否かを判定する（ステップＳ３０１）。図１２の丸囲いの例では、ストロークの始点P0がU1内に存在すると判定される。
【００９９】
いずれのオブジェクトについても、ストロークの始点がU1内に存在しない場合（ステップＳ３０１：Ｎｏ）、第１検出部１１３は、リストSLに含まれるストロークの始点が、obj1に含まれる各オブジェクトの外接矩形を上下左右に所定の長さ広げた領域U2内に存在するか否かを判定する（ステップＳ３０２）。図１２の下線の例では、ストロークの始点P0がU2内に存在すると判定される。
【０１００】
ストロークの始点がU2内に存在しない場合（ステップＳ３０２：Ｎｏ）、第１検出部１１３は、関係命令（引き出し線など）を非検出であることを設定し（arc=null）（ステップＳ３０３）、処理を終了する。
【０１０１】
ストロークの始点がU1内に存在する場合（ステップＳ３０１：Ｙｅｓ）、および、ストロークの始点がU2内に存在する場合（ステップＳ３０２：Ｙｅｓ）、第１検出部１１３は、リストSLに含まれるストロークの終点が、U1またはU2の外部に存在し、かつ、他のオブジェクトの外接矩形の外部に存在するか否かを判定する（ステップＳ３０４）。図１２の例では、ストロークの終点P1は、U1およびU2の外部に存在すると判定される。
【０１０２】
ストロークの終点がU1またはU2の外部に存在し、かつ、他のオブジェクトの外接矩形の外部に存在する場合（ステップＳ３０４：Ｙｅｓ）、第１検出部１１３は、リストSLに含まれるストロークを、関係命令（引き出し線など）として検出する（arc=SL）（ステップＳ３０５）。
【０１０３】
ストロークの終点がU1またはU2の外部に存在しない場合、または、他のオブジェクトの外接矩形の外部に存在しない場合（ステップＳ３０４：Ｎｏ）、第１検出部１１３は、関係命令（引き出し線など）を非検出であることを設定し（arc=null）（ステップＳ３０３）、処理を終了する。
【０１０４】
図１０では、１つのオブジェクト（単オブジェクト）が選択された場合に（ステップＳ１０４：Ｙｅｓ、または、ステップＳ１０５：Ｙｅｓ）、関係命令の検出処理（ステップＳ１０８以降）に遷移したが、複数のオブジェクトを選択できるように構成してもよい。
【０１０５】
図１３は、複数のオブジェクトの選択を許容する場合のストローク解析応答処理の一例を示すフローチャートである。図１０と比較すると、図１３では、ステップＳ１０３−２、ステップＳ１０５−２およびステップＳ１０７−２が、図１０のステップＳ１０３、ステップＳ１０５およびステップＳ１０７から変更されている。その他のステップは図１０と同様であるため同一の符号を付し説明を省略する。
【０１０６】
ステップＳ１０３−２では、mode=0だけでなくmode=1の場合も選択待ちのモードであると判定する点、および、選択待ちのモードでないと判定された場合（ステップＳ１０３−２：Ｎｏ）、ステップＳ１１０に遷移する点が、図１０のステップＳ１０３と異なっている。
【０１０７】
ステップＳ１０５−２では、オブジェクトの新規選択でない場合（ステップＳ１０５−２：Ｎｏ）、ステップＳ１０７−２に遷移する点が、図１０のステップＳ１０５と異なっている。
【０１０８】
ステップＳ１０７−２では、選択済みのモード（mode=1）でないと判定された場合（ステップＳ１０７−２：Ｎｏ）、ステップＳ１０２に戻る点が、図１０のステップＳ１０７と異なっている。
【０１０９】
このような処理により、関係命令が検出されるまで、すなわち、ステップＳ１０９でmode=2に変更されるまで、複数のオブジェクトを選択することが可能となる。
【０１１０】
次に、本実施形態による情報処理の具体例について説明する。図１４は、表示される文書データの一例を示す図である。図１４は、テキストオブジェクト７０１および画像オブジェクト７０２を含む文書データを表示する例を示す。
【０１１１】
図１５は、文書データに含まれるオブジェクトのデータ構造の一例を示す図である。図１５に示すように、文書データは、テキストオブジェクト、画像オブジェクト、および、動画オブジェクトなどを含むことができる。なお、オブジェクトはこれらに限られるものではない。例えば、文書データが、手書き文書を含むオブジェクト、および、音声オブジェクトなどを含んでもよい。
【０１１２】
テキストオブジェクトは、例えば単語オブジェクト（単語OBJ）および文字オブジェクト（文字OBJ）などを階層構造として含むことができるオブジェクトである（文OBJ）。テキストオブジェクトは、文字、記号、および、マークなどを表す文字コードが埋め込まれる。テキストオブジェクトは、文字に外接する矩形（文字外接矩形）の集合などが、表示領域として設定される。
【０１１３】
画像オブジェクトは、例えば画像を表示するオブジェクト（画像表示OBJ）およびキャプションなどの上記文OBJなどを含むことができるオブジェクトである。画像オブジェクトは、画像および文字コードが埋め込まれる。画像オブジェクトは、画像を表示する矩形（画像矩形）、および、上述の文字外接矩形の集合などが、表示領域として設定される。
【０１１４】
動画オブジェクトは、例えば画像表示OBJ、再生開始等のためのボタンオブジェクト（ボタンOBJ）およびキャプションなどの上記文OBJなどを含むことができるオブジェクトである。動画オブジェクトは、動画、画像および文字コードが埋め込まれる。動画オブジェクトは、画像矩形および文字外接矩形の集合などが、表示領域として設定される。
【０１１５】
図１６は、オブジェクトの階層構造の一例を説明するための図である。
【０１１６】
テキストオブジェクト７０１は、内部の矩形で囲んだ文OBJを第１階層に含むことができる。なお、矩形は説明の便宜上、図示したものであり、表示部１２１に表示する必要はない。図１６のテキストオブジェクト７０１は、１０個の文OBJを含んでいる。
【０１１７】
各文OBJは、単語OBJを下位階層（第２階層）に含む。図１６の下部に示す矩形９０１それぞれが、単語OBJに相当する。図１６では、「・キャリア別」の部分について、「・」、「キャリア」、および、「別」の３個の単語OBJが含まれる例が示されている。単語OBJは、例えば形態素解析等により求めることができる。
【０１１８】
各単語OBJは、さらに文字OBJを下位階層（第３階層）に含む。図１６の矩形９０２それぞれが、文字OBJに相当する。各文字OBJは、例えば、表示領域データ、および、文字コードデータを含む。表示領域データは、文字OBJを表示する領域を示すデータである。
【０１１９】
画像オブジェクト７０２は、内部の矩形で囲んだ画像表示OBJおよび文OBJを第１階層に含むことができる。図１６では、携帯電話の画像が画像表示OBJに相当する。また、携帯電話の画像の下側に表示される「Ｔ社製品」が、文OBJに相当する。この文OBJの階層構造は、テキストオブジェクト７０１で説明した文OBJと同様である。画像表示OBJは、例えば、表示領域データ、および、画像データを含む。
【０１２０】
図１６に示すデータ構造は、例えば、事前に設定されており、文書データの入力時に、文書データの一部として入力してもよい。また、文書データを撮影した画像をドキュメントリーダー等により認識および解析（形態素解析等）して、図１６のような構造のデータを生成するように構成してもよい。また、図１６に示すデータ構造は一例であり、これに限られるものではない。例えば、画像オブジェクト７０２の画像に付すキャプション（図１６の例では「Ｔ社製品」）が、テキストオブジェクトであってもよい。また、手書き文書を含むオブジェクトの場合は、例えば文字コードデータの代わりにストロークデータを含むように構成してもよい。
【０１２１】
図１７は、検索処理の実行手順の一例を示す図である。図１７は、既存オブジェクトの選択命令１００１（丸囲い、下線などの筆記）、関係命令１００２（引き出し線、矢印などの筆記）、追加オブジェクト１００３（任意文字列の筆記）、および、検索命令１００４（「？」などの筆記）の順に筆記される例を示している。図９のフローチャートでは、選択命令１００１および関係命令１００２は、それぞれステップＳ４およびステップＳ５で検出され、追加オブジェクト１００３および検索命令１００４は、ステップＳ８で検出される。図１７の例では、実行部１１５は、選択命令１００１により選択される既存オブジェクト「キャリア」、および、追加オブジェクト１００３＝「国内」を用いて検索処理を実行する。実行部１１５は、例えば、各オブジェクトのみ（既存オブジェクトのみ、追加オブジェクトのみ）をクエリとする検索と、各オブジェクトのＡＮＤ条件をクエリとする検索（ＡＮＤ検索）とを実行する。なお、検索処理の実行方法はこれに限られるものではない。例えば、実行部１１５が、各オブジェクトのＡＮＤ検索のみを実行してもよい。
【０１２２】
図１７の関係命令の入力は省略されてもよい。図１８は、この場合の検索処理の実行手順の一例を示す図である。図１８は、既存オブジェクトの選択命令１１０１、追加オブジェクト１１０３、および、検索命令１１０４の順に筆記される例を示している。この場合も、実行部１１５は、選択命令１１０１により選択される既存オブジェクト「キャリア」、および、追加オブジェクト１１０３＝「国内」を用いて検索処理を実行する。
【０１２３】
また、追加オブジェクトの入力が省略されてよい。図１９は、この場合の検索処理の実行手順の一例を示す図である。図１９は、既存オブジェクトの選択命令１２０１、関係命令１２０２、および、検索命令１２０４の順に筆記される例を示している。この場合、実行部１１５は、選択命令１３０１により選択される既存オブジェクト「キャリア」を用いて検索処理を実行する。
【０１２４】
図１９から、さらに関係命令の入力が省略されてもよい。図２０は、この場合の検索処理の実行手順の一例を示す図である。図２０は、既存オブジェクトの選択命令１３０１、および、検索命令１３０４の順に筆記される例を示している。この場合、実行部１１５は、選択命令１３０１により選択される既存オブジェクト「キャリア」を用いて検索処理を実行する。
【０１２５】
次に、既存オブジェクトを選択するための筆記（選択命令）および選択される既存オブジェクトの例について説明する。図２１は、選択命令、注目領域、および、選択されるオブジェクトの関係の例を示す図である。
【０１２６】
矩形９０２は、文字OBJの表示領域に相当する矩形である。矩形９０１は、単語OBJの表示領域に相当する矩形である。図２１の下部は、このようなテキストオブジェクトに対して、３つの異なる選択命令が入力された場合それぞれのオブジェクトの選択例を示す。
【０１２７】
文字列「キャリア」に重なって筆記された下線１４０１の場合、下線１４０１の外接矩形を上に所定量伸ばした矩形が注目領域１４０２となる。この場合、注目領域１４０２との干渉面積の比率が閾値以上である単語「キャリア」が既存オブジェクトとして選択される。干渉面積は、例えば、注目領域１０４２と既存オブジェクトとが重なる領域の面積である。
【０１２８】
文字列「キャリア」の下部に正しく（重ならずに）筆記された下線１４１１の場合、下線１４１１の外接矩形を上に所定量伸ばした矩形が注目領域１４１２となる。この場合、注目領域１４１２との干渉面積の比率が閾値以上である単語「キャリア」が既存オブジェクトとして選択される。
【０１２９】
文字列「キャリア」を囲むように筆記された丸囲い１４２１の場合、丸囲い１４２１の外接矩形が注目領域１４２２となる。この場合、注目領域１４２２との干渉面積の比率が閾値以上である単語「キャリア別」が既存オブジェクトとして選択される。
【０１３０】
図２２は、画像オブジェクトをクエリとして検索する例を示す図である。図２２に示すような丸囲いの選択命令が入力された場合、丸囲いの外接矩形が注目領域１５０１となる。この注目領域１５０１内には、携帯電話の画像、および、文字列「Ｔ社製品」が含まれる。追加オブジェクト１５０２（「仕様」）が入力されたとすると、以下のように、オブジェクトそれぞれをクエリとする検索と、各オブジェクトのＡＮＤ検索が実行される。
（１）携帯電話の画像をクエリとした類似画像検索
（２）既存オブジェクト「Ｔ社製品」をクエリとした情報検索
（３）追加オブジェクト「仕様」をクエリとした情報検索
（４）上記（１）および（２）のＡＮＤ検索
（５）上記（１）および（３）のＡＮＤ検索
（６）上記（２）および（３）のＡＮＤ検索
（７）上記（１）、（２）および（３）のＡＮＤ検索
【０１３１】
図２３は、検索処理のシーケンスの例を示す図である。画面１６０１、１６０３、１６０４は、それぞれ選択命令１６１１、オブジェクト１６１３、オブジェクト１６１４が順に入力された画面の例である。これまでは、手書き入力の時間間隔（インターバル）を考慮していなかったが、インターバルを考慮して各命令を検出するように構成してもよい。
【０１３２】
例えば、第１検出部１１３は、選択命令１６１１が検出された時刻と、オブジェクト１６１３が検出された時刻との差分が予め定められた時間（所定時間）以内である場合に、オブジェクト１６１３を追加オブジェクトとして検出してもよい。なお、オブジェクトの検出（選択）の順序は任意である。例えば、オブジェクト１６１３が先に検出され、後から選択命令１６１１が検出された場合にも、検出された時刻の差分が所定時間以内であれば、オブジェクト１６１３を追加オブジェクトとして検出してもよい。
【０１３３】
第１検出部１１３は、差分が所定時間より大きい場合に、オブジェクト１６１３は注釈であると判定してもよい。また、例えば、第１検出部１１３は、追加オブジェクト（オブジェクト１６１３）が検出された時刻と、オブジェクト１６１４が検出された時刻との差分が所定時間以内である場合に、オブジェクト１６１４を検索命令として検出してもよい。
【０１３４】
図２４は、検索処理のシーケンスの他の例を示す図である。画面１７０１、１７０２、１７０４は、それぞれ選択命令１７１１、オブジェクト１７１２、オブジェクト１７１４が順に入力された画面の例である。第１検出部１１３は、選択命令１６１１が検出された時刻と、オブジェクト１７１２が検出された時刻との差分が所定時間以内である場合に、オブジェクト１７１２を関係命令として検出してもよい。同様に、第１検出部１１３は、オブジェクト１７１２（関係命令）が検出された時刻と、オブジェクト１７１４が検出された時刻との差分が所定時間以内である場合に、オブジェクト１７１４を検索命令として検出してもよい。
【０１３５】
図２５は、検索処理のシーケンスの他の例を示す図である。図２５は、複数の既存オブジェクトを選択可能とする場合の例を示す。画面１８０１−１、１８０１−２、１７０２、１７０４は、それぞれ選択命令１８１１−１、選択命令１８１１−２、オブジェクト１８１２、オブジェクト１８１４が順に入力された画面の例である。第１検出部１１３は、選択命令１８１１−１および選択命令１８１１−２の検出された時刻の差が所定時間以内である場合に、各選択命令で選択されたオブジェクトを、既存オブジェクトのリスト（obj1）に追加してもよい。
【０１３６】
図２６は、検索処理のシーケンスの他の例を示す図である。図２６は、事前に筆記された選択命令および注釈を、所定時間経過後であっても改めて関連付けてクエリとして用いる場合の例を示す。画面１９０１−１、１９０１−２、１９０２−１、１９０２−２、１９０４は、それぞれ、選択命令と注釈とを含む事前筆記１９１１−１、選択命令を含む事前筆記１９１１−２、オブジェクト１９１２−１、オブジェクト１９１２−２、オブジェクト１９１４が順に入力された画面の例である。事前筆記１９１１−１、および、事前筆記１９１１−２は、オブジェクト１９１２−１が入力される前までに入力されているものとする。
【０１３７】
このような場合であっても、所定の位置関係となるように関係命令（オブジェクト１９１２−１、オブジェクト１９１２−２）を筆記すれば、事前筆記１９１１−１、および、事前筆記１９１１−２に対応するオブジェクトをクエリとして用いることができる。例えば、以下の（１）〜（５）の条件を満たす場合に、事前筆記１９１１−１に含まれる選択命令で選択される既存オブジェクト（スマホ契約者数）、注釈（３０００万人突破）、および、事前筆記１９１１−２に含まれる選択命令で選択される既存オブジェクト（キャリア）を、クエリに含めることができる。
（１）オブジェクト１９１２−１が事前筆記１９１１−２と所定の位置関係にある
（２）オブジェクト１９１２−２が事前筆記１９１１−２に含まれる選択命令と所定の位置関係にある
（３）オブジェクト１９１４がオブジェクト１９１２−１およびオブジェクト１９１２−２と所定の位置関係にある
（４）オブジェクト１９１２−１とオブジェクト１９１２−２の入力された時刻の差が所定時間以内である
（５）オブジェクト１９１２−２とオブジェクト１９１４の入力された時刻の差が所定時間以内である
【０１３８】
なお、所定の位置関係とは、上述のように、選択命令の外接矩形（または、外接矩形を所定の長さ広げた領域）内にストロークの端点（始点および終点）が存在する関係などを表す。
【０１３９】
図２７は、検索処理のシーケンスの他の例を示す図である。図２７は、図２６と異なる方法により筆記された関係命令を用いて検索する例を示す。画面２００１、２００２、２００３、２００４は、それぞれ、選択命令２０１１、選択命令２０１２、オブジェクト２０１３、オブジェクト２０１４が順に入力された画面の例である。図２７の例では、関係命令に相当するオブジェクト２０１３が、複数の選択命令（選択命令２０１１、選択命令２０１２）をそれぞれ結ぶ形状となっている。このような場合であっても、命令同士が所定の位置関係を満たせば、複数の選択命令に対応する複数の既存オブジェクトをクエリとする検索処理を実行することができる。
【０１４０】
図２８は、検索処理で用いられるデータ（クエリデータ）の例を示す図である。図２８に示すように、文字コードを含むデータ（文字コード列データ（「キャリア」））、および、画像データが、クエリデータとなりうる。文字コード列データを用いる場合、文字コード列データが一致または類似する文書が検索される。画像データを用いる場合、画像データが一致または類似する画像が検索される。類似画像検索は、画像データから得られる特徴量を比較する方法などの、従来から用いられているあらゆる方法を適用できる。
【０１４１】
実行部１１５が処理を実行中および実行後に、実行中であること、および、実行後であることを利用者が認識できるように、オブジェクト等の表示態様を変更させてもよい。例えば、表示制御部１１１が、検索処理の実行中に、選択命令、関係命令、および、検索命令の少なくとも１つの表示が変化するアニメーションを表示してもよい。また、表示制御部１１１が、各命令の少なくとも１つの、色、明るさ（点滅するなど）、線幅、大きさ、形状（波打つなど）、および、位置（揺れるなど）などの表示態様を変化させて表示してもよい。
【０１４２】
また、表示制御部１１１は、例えば関係命令および検索命令を、検索処理が完了した後に表示部１２１から消去してもよい。これにより、不要な命令ストロークデータを表示上から消すことができ、背景に表示される文書データの可読性を損なわないようにすることができる。
【０１４３】
図２９および図３０は、アニメーション表示の一例を示す図である。図２９は、関係命令および検索命令が、選択命令の周囲の楕円軌道を公転しながら、自転するアニメーションの例である。表示制御部１１１は、検索終了後にアニメーション表示を終了させ、関係命令および検索命令を元の位置に表示させてもよい。
【０１４４】
図３０は、図２９の関係命令および検索命令を、２つの玉（明滅させてもよい）に変更した上で、図２９と同様の動作をさせるアニメーションの例である。表示制御部１１１は、検索終了後に２つの玉が小さく、かつ、暗くなって消えるように表示させてもよい。
【０１４５】
図３１は、不要な命令を消去した後の画面の一例を示す図である。表示制御部１１１は、さらに、検索終了後に選択命令の表示態様を変更してもよい。例えば、表示制御部１１１は、検索終了後に、選択命令の色、線幅（太くするなど）、および、形状（楕円に変更するなど）、を変化させて表示してもよい。また、表示制御部１１１は、さらに選択命令を消去してもよい。
【０１４６】
これまで述べたように、本実施形態では、表示された文書から検出される既存オブジェクトだけでなく、追加で手書き入力された追加オブジェクトも用いて検索などの処理を実行できる。これにより、手書き入力に応じた処理をより的確に実行できるようになる。図１７の例では、選択命令１００１により選択される既存オブジェクト「キャリア」だけでなく、追加オブジェクト１００３＝「国内」を用いて検索処理が実行される。
【０１４７】
このような処理に加えて、検索対象とする文書（文書の集合）を検索命令の種類に応じて変更するように構成してもよい。図３２は、検索命令と検索処理の種類（検索対象とする文書の種類）との関係の一例を示す図である。図３２の例では、検索命令は、全対象検索、フルコマンド、および、簡易コマンドに分類される。全対象検索は、すべての文書を検索対象とする検索処理の実行命令を表す。フルコマンドおよび簡易コマンドは、一部の文書を検索対象とする検索処理の実行命令を表す。フルコマンドは、検索対象の文書を特定可能な単語等を含むコマンドである。簡易コマンドは、記号等を用いてフルコマンドの記載を簡易化したコマンドである。
【０１４８】
図３２では、例えばフルコマンド「ＷＥＢで検索」に対応した簡易コマンドを「Ｗ？」とする例が示されている。なお、各検索命令として検出する文字列および記号等は予め定められ、例えば記憶部１２３等に記憶される。
【０１４９】
図３２のＷＥＢ情報検索は、ＷＥＢ上のデータ（例えばＷＥＢデータ１３１）を対象とする検索命令である。関連文書検索は、例えば関連文書１３４を対象とする検索命令である。辞書検索は、例えば意味辞書１３２を対象とする検索命令である。訳語検索は、例えば訳語辞書１３３を対象とする検索命令である。
【０１５０】
図１７の例では、選択命令１００１により選択される既存オブジェクト「キャリア」と追加オブジェクト１００３＝「国内」とを含むクエリを用いて、全対象検索に相当する検索命令１００４（「？」）が実行される。
【０１５１】
なお、本実施形態では、「ＷＥＢで検索」などの文字列を追加オブジェクト１００３として検出することができる。そして、実行部１１５が、このような文字列が指定された場合、既存オブジェクトをクエリとする検索を、追加オブジェクトで指定された文書を対象として検索するように構成することができる。従って、図３２のように検索対象とする文書を検索命令の種類に応じて切替えるように構成しなくても、検索対象を限定する処理を実現できる。
【０１５２】
また、検索命令の種類に応じて検索対象を切替えるのではなく、すべての検索対象文書のうち一部または全部を対象として検索処理を実行し、検索結果を検索対象文書ごとに表示するように構成してもよい。
【０１５３】
図３３は、検索結果の出力例を示す図である。図３３は、既存オブジェクト「キャリア」をクエリとした場合の検索結果の表示例を表す。また、図３３では、検索対象の文書ごとにタブを切替え可能に表示する例が示されている。表示制御部１１１は、例えば、タブ２６０１〜２６０４に、それぞれＷＥＢデータ、関連文書、意味辞書、および、訳語辞書を対象とする検索処理の検索結果を表示してもよい。
【０１５４】
表示制御部１１１は、すべての検索対象の検索結果の取得を待たずに、いずれかの検索対象の検索結果が得られた時点で、検索結果の表示処理を開始してもよい。また、表示制御部１１１は、いずれかの検索対象の検索結果が得られるまで、上記のようなデータの表示態様の変更処理を実行してもよい。
【０１５５】
表示制御部１１１は、利用者による指示によらず、検索結果が得られた時点で検索結果の表示処理を開始してもよいし、利用者による結果表示の指示（画面およびオブジェクトへのタップ等）が検出された場合に、検索結果を表示してもよい。
【０１５６】
図３４は、検索結果の他の出力例を示す図である。図３４は、既存オブジェクト「キャリア」と既存オブジェクト「スマホ契約者数」をクエリとした場合の検索結果の表示例を表す。表示制御部１１１は、例えば、タブ２７０１〜２７０３に、それぞれ、両オブジェクトのＡＮＤ検索による検索結果、各オブジェクトのみによる検索の検索結果を表示してもよい。
【０１５７】
次に、既存オブジェクトの新規選択と再選択の例を説明する。図３５〜図３７は、既存オブジェクトの新規選択と再選択の具体例を説明するための図である。
【０１５８】
図３５は、丸囲いにより既存オブジェクトが新規選択され、その後、丸囲い（丸囲いの外接矩形）の内部がタップされた場合に、既存オブジェクトが再選択されたと判断する例である。図３６は、四角囲いにより既存オブジェクトが新規選択され、その後、四角囲い（四角囲いの外接矩形）の内部がタップされた場合に、既存オブジェクトが再選択されたと判断する例である。図３７は、下線により既存オブジェクトが新規選択され、その後、下線の外接矩形を拡大した矩形の内部がタップされた場合に、既存オブジェクトが再選択されたと判断する例である。なお、表示制御部１１１は、タップ時のストロークを消去してもよい（図１１のステップＳ２０３）。
【０１５９】
図３８は、検索命令を実行させる場合の画面遷移の一例を示す図である。図３８では、画面３１０１、３１０２、３１０３、３１０４、３１０５、および３１０６の順に画面が遷移する。
【０１６０】
画面３１０１は、既存オブジェクトの選択命令が筆記された画面の例である。この場合、modeが０から１に更新され、obj1に「スマホ契約者数」が設定される。画面３１０２は、関係命令（引き出し線）が筆記された画面の例である。この場合、modeが１から２に更新され、arcに引き出し線が設定される。画面３１０３は、書き込み枠３１１１が表示された画面の例である。書き込み枠３１１１は、例えば、関係命令のストロークの終点を基準に表示される。
【０１６１】
画面３１０４は、追加オブジェクトが筆記された画面の例である。この例では、「国内」および「？」のストロークがストロークのリストSTに設定される。画面３１０５は、筆記完了が通知された場合の画面の例である。例えば、利用者が書き込み枠の外部をタップすることにより、筆記完了が検出される（図９のステップＳ６）。表示制御部１１１は、タップ時のストロークの表示３１１２を消去してもよい。
【０１６２】
画面３１０６は、追加ストロークの認識、検索処理の実行、および、検索結果の表示が実行された画面の例である。追加ストロークの認識により、例えばobj2に「国内」が設定され、cmdに「？」が設定される。これに従い、「スマホ契約者数」および「国内」をクエリとする検索処理が実行される。検索結果の表示欄３１１４には、この検索処理による検索結果が表示される。図３８の領域３１１３に示すように、表示制御部１１１は、検索処理実行後に、関係命令（arc）、書き込み枠、および、追加ストローク（ST）の表示を消去してもよい。
【０１６３】
実行部１１５は、上述した検索処理のみではなく、スケジュール登録処理などの任意の処理を実行するように構成できる。図３９は、スケジュールに予定を追加する処理の画面遷移の一例を示す図である。図３９では、画面３２０１、３２０２、３２０３、３２０４、３２０５、および３２０６の順に画面が遷移する。
【０１６４】
図３９の例では、画面３２０４で、「１０月１２日」および「Ｃ」のストロークがストロークのリストSTに設定される。「Ｃ」は、オブジェクトをスケジュールの予定に追加することを表すコマンドの例である。なお、「Ｃ」以外の文字列や記号等を予定追加のコマンドとして定めてもよい。
【０１６５】
この結果、画面３２０６に示すように、文字列「キャリア別のシェアを把握」を１０月１２日の予定として追加する処理が実行される。図３８と同様に、表示制御部１１１は、タップ時のストロークの表示３２１２、および、領域３２１３内の表示を消去してもよい。また、表示制御部１１１は、予定追加の結果を表示欄３２１４に表示してもよい。予定に追加するオブジェクトは、テキストデータ（文字コード列）であってもよいし、筆跡のデータであってもよい。
【０１６６】
図４０は、注釈付けを実行させる場合の画面遷移の一例を示す図である。図４０では、画面３３０１、３３０２、３３０３、３３０４、３３０５、および３３０６の順に画面が遷移する。図４０は、例えば検索命令（図３８）および予定追加コマンド（図３９）などの所定の実行命令が検出されなかったために、追加オブジェクトが注釈と判断される例を示す。
【０１６７】
画面３３０１〜３３０３までの処理は、図３８の画面３１０１〜３１０３までと同様である。画面３３０４では、「？」および「Ｃ」のようなコマンドを含まない文字列「○○○○」が入力される。この場合、筆記完了が検出されると、追加ストロークの認識により（図９のステップＳ８）、obj2に「○○○○」が設定され、cmdにnullが設定される。検出されたオブジェクトは注釈であると判断され、注釈付けが表示領域３３１３に表示される（図９のステップＳ１２）。
【０１６８】
表示制御部１１１は、タップ時のストロークの表示３３１２を消去してもよい。また、表示制御部１１１は、注釈付けの表示態様を変換して表示部１２１に表示してもよい。
【０１６９】
図４１は、注釈付けの表示態様の変更方法を説明するための図である。図４１は、注釈付け時に関係命令として検出された引き出し線を、直線に整形して表示する例である。表示態様の変化方法はこれに限られるものではない。例えば、注釈付けとして検出された追加オブジェクト（手書きのストロークデータ）を文字認識し、得られた文字コードを所定のフォントを用いて表示してもよい。
【０１７０】
このように、第１の実施形態にかかる情報処理装置では、表示された文書から検出される既存オブジェクトと追加オブジェクトとを用いて検索などの処理を実行できる。これにより、手書き入力に応じた処理をより的確に実行することができる。
【０１７１】
次に、本実施形態にかかる情報処理装置のハードウェア構成について図４２を用いて説明する。図４２は、本実施形態にかかる情報処理装置のハードウェア構成を示す説明図である。
【０１７２】
本実施形態にかかる情報処理装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【０１７３】
本実施形態にかかる情報処理装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１７４】
本実施形態にかかる情報処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１７５】
さらに、本実施形態にかかる情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１７６】
本実施形態にかかる情報処理装置で実行されるプログラムは、コンピュータを上述した情報処理装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１７７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７８】
１００  情報処理装置
１１１  表示制御部
１１２  取得部
１１３  第１検出部
１１４  第２検出部
１１５  実行部
１１６  記憶制御部
１２１  表示部
１２２  入力部
１２３  記憶部
１２４  通信部
１３０  記憶部
１３１  ＷＥＢデータ
１３２  意味辞書
１３３  訳語辞書
１３４  関連文書
【図１】
2014102669.tif 000003
【図２】
2014102669.tif 000004
【図３】
2014102669.tif 000005
【図４】
2014102669.tif 000006
【図５】
2014102669.tif 000007
【図６】
2014102669.tif 000008
【図７】
2014102669.tif 000009
【図８】
2014102669.tif 000010
【図９】
2014102669.tif 000011
【図１０】
2014102669.tif 000012
【図１１】
2014102669.tif 000013
【図１２】
2014102669.tif 000014
【図１３】
2014102669.tif 000015
【図１４】
2014102669.tif 000016
【図１５】
2014102669.tif 000017
【図１６】
2014102669.tif 000018
【図１７】
2014102669.tif 000019
【図１８】
2014102669.tif 000020
【図１９】
2014102669.tif 000021
【図２０】
2014102669.tif 000022
【図２１】
2014102669.tif 000023
【図２２】
2014102669.tif 000024
【図２３】
2014102669.tif 000025
【図２４】
2014102669.tif 000026
【図２５】
2014102669.tif 000027
【図２６】
2014102669.tif 000028
【図２７】
2014102669.tif 000029
【図２８】
2014102669.tif 000030
【図２９】
2014102669.tif 000031
【図３０】
2014102669.tif 000032
【図３１】
2014102669.tif 000033
【図３２】
2014102669.tif 000034
【図３３】
2014102669.tif 000035
【図３４】
2014102669.tif 000036
【図３５】
2014102669.tif 000037
【図３６】
2014102669.tif 000038
【図３７】
2014102669.tif 000039
【図３８】
2014102669.tif 000040
【図３９】
2014102669.tif 000041
【図４０】
2014102669.tif 000042
【図４１】
2014102669.tif 000043
【図４２】
2014102669.tif 000044