(57)【特許請求の範囲】
【請求項１】
文書構造の要素となるオブジェクトを表示するための表示手段と、
表示されたオブジェクトに対してユーザにより入力されたＮ次元情報を検出するための検出手段と、
検出されたＮ次元情報に基づいて、予め定められた時間におけるＮ次元座標の集合を特定するための特定手段と、
特定された座標の集合に基づいて、処理対象のオブジェクトを特定するためのオブジェクト特定手段と、
特定された座標の集合に基づいて、描画された図形を特定するための図形特定手段と、
図形に関連付けて、オブジェクトに対する処理指示を予め記憶するための記憶手段と、
特定された図形に関連付けられた処理指示を取得するための処理指示取得手段と、
取得された処理指示に応じて、前記処理対象のオブジェクトに対する構造化データを処理するための処理手段とを含み、
前記記憶手段は、前記特定されたオブジェクトの文書構造における意味を付加するという処理指示を記憶するための手段を含み、
前記処理手段は、前記処理対象のオブジェクトに文書構造における意味が付加された構造化データを生成するための手段を含む、構造化データ処理装置。
【請求項２】
前記記憶手段は、図形と、図形およびオブジェクトの位置関係とに関連付けて、処理指示を記憶するための関連付け記憶手段をさらに含む、請求項１に記載の構造化データ処理装置。
【請求項３】
前記関連付け記憶手段は、図形とオブジェクトとが重畳するか否かに応じて異なる処理指示を記憶するための手段を含む、請求項２に記載の構造化データ処理装置。
【請求項４】
前記記憶手段は、前記図形が複数のオブジェクトを特定する場合には、前記複数のオブジェクトの関係を付加するという処理指示を記憶するための手段をさらに含み、
前記処理手段は、前記処理対象の複数のオブジェクトの関係を示す構造化データを生成するための手段をさらに含む、請求項１に記載の構造化データ処理装置。
【請求項５】
前記記憶手段は、前記図形が複数のオブジェクトを特定する場合には、前記複数のオブジェクトの階層関係を付加するという処理指示を記憶するための手段をさらに含み、
前記処理手段は、前記処理対象の複数のオブジェクトの階層関係を示す構造化データを生成するための手段をさらに含む、請求項１に記載の構造化データ処理装置。
【請求項６】
前記記憶手段は、前記複数のオブジェクトの階層関係を変更するという処理指示を記憶するための手段をさらに含み、
前記処理手段は、前記構造化データにおける階層関係を変更するための手段をさらに含む、請求項１に記載の構造化データ処理装置。
【請求項７】
前記図形は、円、線およびオブジェクト間で繰返される線のいずれかである、請求項１〜請求項６のいずれかに記載の構造化データ処理装置。
【請求項８】
前記図形は、オブジェクトに重畳して描画された、円および線のいずれかである、請求項１〜請求項６のいずれかに記載の構造化データ処理装置。
【請求項９】
前記特定手段は、ユーザにより描画されたジェスチャをＮ次元座標の集合として特定するための手段を含む、請求項１〜請求項８のいずれかに記載の構造化データ処理装置。
【請求項１０】
前記特定手段は、ユーザにより描画された一筆書きの軌跡をＮ次元座標の集合として特定するための手段を含む、請求項１〜請求項８のいずれかに記載の構造化データ処理装置。
【請求項１１】
前記一筆書きの軌跡をＮ次元座標の集合として特定するための手段は、前記一筆書きが中断された場合であっても、予め定められた条件を満足する場合には、中断された前後における描画を一筆書きの軌跡として特定するための手段を含む、請求項１０に記載の構造化データ処理装置。
【請求項１２】
前記記憶手段は、図形に関連付けて、複数の処理指示を記憶するための手段をさらに含み、
前記処理手段は、前記複数の処理指示に応じて、前記処理対象のオブジェクトに対する構造化データを処理するための手段をさらに含む、請求項１に記載の構造化データ処理装置。
【請求項１３】
前記検出手段は、複数の図形に対応するＮ次元情報を検出するための手段を含み、
前記図形特定手段は、複数の図形を特定するための手段を含み、
前記処理指示取得手段は、特定された複数の図形に関連付けられた複数の処理指示を取得するための手段を含む、請求項１に記載の構造化データ処理装置。
【請求項１４】
文書構造の要素となるオブジェクトを表示する表示ユニットと、ユーザが操作する操作ユニットと、記憶ユニットと、演算ユニットとを備えた構造化データ処理装置における処理方法であって、前記演算ユニットが実行する、
オブジェクトを前記表示ユニットに表示するステップと、
表示されたオブジェクトに対してユーザにより入力されたＮ次元情報を検出するステップと、
検出されたＮ次元情報に基づいて、予め定められた時間におけるＮ次元座標の集合を特定するステップと、
特定された座標の集合に基づいて、処理対象のオブジェクトを特定するステップと、
特定された座標の集合に基づいて、描画された図形を特定するステップと、
前記記憶ユニットに、図形に関連付けて、オブジェクトに対する処理指示を予め記憶するステップと、
特定された図形に関連付けられた処理指示を取得するステップと、
取得された処理指示に応じて、前記処理対象のオブジェクトに対する構造化データを処理するステップとを含み、
前記記憶するステップは、前記特定されたオブジェクトの文書構造における意味を付加するという処理指示を予め記憶するステップを含み、
前記処理するステップは、前記処理対象のオブジェクトに文書構造における意味が付加された構造化データを生成するステップを含む、構造化データ処理方法。
【請求項１５】
請求項１４に記載の構造化データ処理方法を、表示ユニットと操作ユニットと記憶ユニットとを備えたコンピュータにおいて実現させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータで表示されるオブジェクトについての構造化データを処理する装置に関し、特に、オブジェクトについてのリンク関係等を含む構造化データを、容易に作成したり編集したり削除したりすることのできる構造化データ処理装置に関係がある。さらに、本発明は、それらの装置における構造化データ処理方法、その方法を実現するためのプログラムおよびそのプログラムを記録した記録媒体にも関係がある。
【背景技術】
【０００２】
従来から、電子データであるテキストデータおよび／または画像データで構成されるオブジェクトデータを、データに対する意味を付加するために、または、データの親子関係（階層関係）を示す階層構造を付加するために、構造化データとして表現する技術が知られている。
【０００３】
この構造化データとは、たとえば、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などの記述言語により構成されるデータである。ＸＭＬでは、タグと呼ばれる特定の文字列によりオブジェクトデータを示し、タグの属性でデータに対する意味を付加することが可能であり、かつ、タグの子の要素として別のタグを記述することで、オブジェクトデータの親子関係（階層関係）を示すことが可能である。
【０００４】
最近では、操作デバイスと表示デバイスとを備えた計算機用のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の発達により、視覚的に表現されたグラフィカルオブジェクトの間を線分で結ぶことによりリンク情報を生成することが行われている。
【０００５】
特開２００４−１１０５８４号公報（特許文献１）は、マウスまたはタブレットなどの操作デバイスを用いてストロークを描画することにより、オブジェクト間のリンク情報を生成するリンク生成装置を開示する。このリンク生成装置は、入力装置からのストローク情報の形状を検出する形状検出部と、形状検出部により検出した形状の検出位置にオブジェクトがあるか否かを検出するオブジェクト検出部と、形状検出部が検出した形状に従ってオブジェクト検出部が検出したオブジェクト間をリンク状態とするリンク生成部とを有する。
【０００６】
このリンク生成装置によると、リンクオブジェクトのストロークをオブジェクトに交差するように描画してリンクするオブジェクトを検出し、その交差した順にリンク線分を生成するため、ＧＵＩ操作におけるリンク編集操作が簡単になる。その結果、このリンク生成装置を用いると、オブジェクト間に何らかの関係性がある状態を持たせるリンク情報を生成したり編集したりする際の操作性を向上することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１１０５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、この特許文献１に開示されたリンク生成装置においては、ユーザ操作のストロークで示された対象となるオブジェクトのリンクのみを生成するため、対となる並列な関係のみのリンク情報しか生成することができない。すなわち、このリンク生成装置でオブジェクトの従属関係または親子関係を含めた複雑な文書構造を生成する場合には、対象となるオブジェクトをストロークでリンクする作業を、繰り返し行う必要があるという問題が生じる。
【０００９】
また、このリンク生成装置においては、対象となるオブジェクトの関係のみを生成しており、文書構造の重要な要素となるオブジェクトの意味を付加することは行っていない。このため、このリンク生成装置でオブジェクトの意味を付加ためには、別途、オブジェクトを選択してオブジェクトの意味を付加する作業を、繰り返し行う必要があるという問題が生じる。
【００１０】
従って、本発明の目的は、処理対象であるオブジェクトに、ユーザにより入力されたＮ次元情報（たとえば、Ｎ＝２、３）により、データ属性などの意味を付加したりオブジェクトの階層構造を示したりする構造化データを容易に処理（生成、編集および削除）することのできる、構造化データ処理装置、その装置における構造化データ処理方法、その構造化データ処理方法を実現するためのプログラムおよびそのプログラムを記録した記録媒体を提供することである。
【課題を解決するための手段】
【００１１】
本発明のある局面に係る構造化データ処理装置は、オブジェクトを表示するための表示手段と、表示されたオブジェクトに対してユーザにより入力されたＮ次元情報を検出するための検出手段と、検出されたＮ次元情報に基づいて、予め定められた時間におけるＮ次元座標の集合を特定するための特定手段と、特定された座標の集合に基づいて、処理対象のオブジェクトを特定するためのオブジェクト特定手段と、特定された座標の集合に基づいて、描画された図形を特定するための図形特定手段と、図形に関連付けて、オブジェクトに対する処理指示を予め記憶するための記憶手段と、特定された図形に関連付けられた処理指示を取得するための処理指示取得手段と、取得された処理指示に応じて、処理対象のオブジェクトに対する構造化データを処理するための処理手段とを含む。
【００１２】
本発明の別の局面に係る構造化データ処理方法は、オブジェクトを表示する表示ユニットと、ユーザが操作する操作ユニットと、記憶ユニットと、演算ユニットとを備えた構造化データ処理装置における処理方法である。この処理方法は、オブジェクトを表示ユニットに表示するステップと、表示されたオブジェクトに対してユーザにより入力されたＮ次元情報を検出するステップと、検出されたＮ次元情報に基づいて、予め定められた時間におけるＮ次元座標の集合を特定するステップと、特定された座標の集合に基づいて、処理対象のオブジェクトを特定するステップと、特定された座標の集合に基づいて、描画された図形を特定するステップと、記憶ユニットに、図形に関連付けて、オブジェクトに対する処理指示を予め記憶するステップと、特定された図形に関連付けられた処理指示を取得するステップと、取得された処理指示に応じて、処理対象のオブジェクトに対する構造化データを処理するステップとを含む。これらのステップは、演算ユニットにより実行される。
【００１３】
これらの構造化データ処理装置および構造化データ処理方法によると、表示されたオブジェクトに対してユーザにより入力されたＮ次元情報（たとえばマウスまたはタブレットにより入力された２次元または３次元の座標情報であるがここでは２次元とする）に基づいて２次元座標の集合が特定される。これは、たとえば、タブレットペンにより描画されたストロークである。このストロークに基づいて処理対象のオブジェクトが特定されるとともに、ストロークに基づいて図形が特定され、特定された図形に関連付けられた処理指示が取得される。すなわち、表示さえたオブジェクトを見たユーザが入力した２次元情報により、処理対象のオブジェクトが特定でき、処理指示が取得できる。特定されたオブジェクトに対する構造化データが、処理指示に従って処理（生成、編集および削除）される。その結果、ユーザにより入力された２次元情報により、データ属性などの意味を付加したりオブジェクトの階層構造を示したりする構造化データを容易に処理することができる。
【００１４】
記憶手段は、図形と、図形およびオブジェクトの位置関係とに関連付けて、処理指示を記憶するための手段を含むように構成することができる。
【００１５】
このようにすると、ユーザにより入力された２次元情報により特定される図形が、オブジェクトが表示された領域の中にあるか否かにより区別できる処理指示を記憶させることができる。このため、多くの種類の処理指示を記憶させて、オブジェクトの構造化データに対して様々な処理を行うことができる。
【００１６】
記憶手段は、図形とオブジェクトとが重畳するか否かに応じて異なる処理指示を記憶するための手段を含むように構成することができる。
【００１７】
このようにすると、ユーザにより入力された２次元情報により特定される図形が、オブジェクトが表示された領域の中に描画されているときと、領域の外に描画されているときとで異なる処理指示を記憶させることができる。このため、多くの種類の処理指示を記憶させて、オブジェクトの構造化データに対して様々な処理を行うことができる。
【００１８】
記憶手段は、図形がオブジェクトを特定する場合には、特定されたオブジェクトの属性を付加するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、処理対象のオブジェクトに属性が付加された構造化データを生成するための手段を含むように構成することができる。また、記憶手段は、図形が複数のオブジェクトを特定する場合には、複数のオブジェクトの関係を付加するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、処理対象の複数のオブジェクトの関係を示す構造化データを生成するための手段を含むように構成することができる。
【００１９】
このようにすると、ユーザにより入力された２次元情報により特定される図形により、１または２以上のオブジェクトが特定される場合にはそのオブジェクトの属性を構造化データに付加するように処理して、複数のオブジェクトが特定される場合にはそれらのオブジェクトの間の関係を構造化データが示すように処理することができる。このため、図形が特定するオブジェクトの数が異なると、異なる種類の処理指示を記憶させて、オブジェクトの構造化データに対して様々な処理を行うことができる。
【００２０】
記憶手段は、図形が複数のオブジェクトを特定する場合には、複数のオブジェクトの階層関係を付加するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、処理対象の複数のオブジェクトの階層関係を示す構造化データを生成するための手段を含むように構成することができる。また、記憶手段は、複数のオブジェクトの階層関係を変更するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、構造化データにおける階層関係を変更するための手段を含むように構成することができる。
【００２１】
このようにすると、ユーザにより入力された２次元情報により特定される図形により、複数のオブジェクトが特定される場合にはそれらのオブジェクトの間の階層関係を構造化データが示すように処理することができる。この場合において、構造化データにおける改造関係を変更できるので、オブジェクトの構造化データにおける階層関係について様々な処理を行うことができる。
【００２２】
図形は、円、線およびオブジェクト間で繰返される線のいずれかであるように構成することができる。さらに、図形は、オブジェクトに重畳して描画された、円および線のいずれかであるように構成することができる。
【００２３】
これらの図形の種類および図形がオブジェクトに重畳して描画されているか否かに基づいて、処理指示を細かく記憶させておくことができる。このため、オブジェクトの構造化データに対して様々な処理を行うことができる。
【００２４】
特定手段は、ユーザにより描画されたジェスチャをＮ次元座標の集合として特定するための手段を含むように構成することができる。
【００２５】
このようにすると、２次元座標の集合によりユーザのジェスチャを特定して、そのジェスチャに関連付けられた指示情報を取得して、オブジェクトに対する構造化データを処理することができる。
【００２６】
特定手段は、ユーザにより描画された一筆書きの軌跡をＮ次元座標の集合として特定するための手段を含むように構成することができる。この場合において、特定手段は、一筆書きが中断された場合であっても、予め定められた条件を満足する場合には、中断された前後における描画を一筆書きの軌跡として特定するための手段を含むように構成することができる。
【００２７】
このようにすると、２次元座標の集合によりユーザの一筆書きを特定して、その一筆書きに関連付けられた指示情報を取得して、オブジェクトに対する構造化データを処理することができる。この場合において、一筆書きが一旦中断した場合であっても、中断された前後における描画を一筆書きの軌跡として特定することができ、一筆書きの不得意なユーザの要求に応えることができる。
【００２８】
記憶手段は、図形に関連付けて、複数の処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、複数の処理指示に応じて、処理対象のオブジェクトに対する構造化データを処理するための手段を含むように構成することができる。
【００２９】
このようにすると、図形をユーザが描画するだけで複数の処理指示を取得して、オブジェクトの構造化データについて複数の処理を行うことができる。このため、少ない操作で複数の処理を行うことができる。
【００３０】
検出手段は、複数の図形に対応するＮ次元情報を検出するための手段を含むように構成することができる。この場合において、図形特定手段は、複数の図形を特定するための手段を含み、処理指示取得手段は、特定された複数の図形に関連付けられた複数の処理指示を取得するための手段を含むように構成することができる。
【００３１】
ユーザが複数の図形に対応する２次元情報を入力した場合には、特定された複数の図形に関連付けられた複数の処理指示が取得され、オブジェクトの構造化データについて複数の処理を行うことができる。このため、複数の処理指示を一度に取得して、複数の処理を行うことができる。
【００３２】
本発明のさらに別の局面に係るプログラムは、上述した構造化データ処理方法を、表示ユニットと操作ユニットと記憶ユニットとを備えたコンピュータにおいて実現させる。本発明のさらに別の局面に係る記録媒体は、このようなプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００３３】
このプログラムおよび記録媒体によると、表示ユニットと操作ユニットと記憶ユニットとを備えたコンピュータを用いて、表示ユニットに表示されたオブジェクトに対してユーザにより入力された２次元情報に基づいて、処理対象であるオブジェクトに、データの属性を付加したり階層構造を示したりする構造化データを容易に処理（生成、編集および削除）することができる。
【発明の効果】
【００３４】
本発明によると、処理対象であるオブジェクトに、ユーザにより入力されたＮ次元情報により、データ属性などの意味を付加したりオブジェクトの階層構造を示したりする構造化データを容易に処理（生成、編集および削除）することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の第１の実施の形態に係る生成装置の外観図である。
【図２】本発明の第１の実施の形態に係る生成装置の制御ブロック図である。
【図３】オブジェクトデータの表示例を示す図である。
【図４】図３におけるオブジェクトの領域を示す図である。
【図５】図３におけるオブジェクトの座標系を示す図である。
【図６】オブジェクトデータのテキストファイルを示す図である。
【図７】オブジェクトデータのメモリ上の配置を示す図である。
【図８】ストロークデータを示す図である。
【図９】図８におけるストロークデータの座標系を示す図である。
【図１０】ストロークデータのメモリ上の配置を示す図である。
【図１１】ジェスチャ情報データを示す図である。
【図１２】ジェスチャ情報データのメモリ上の配置を示す図である。
【図１３】アクション情報データを説明する図（その１）である。
【図１４】アクション情報データを説明する図（その２）である。
【図１５】オブジェクト特定データのメモリ上の配置を示す図である。
【図１６】構造化データを示す図である。
【図１７】構造化データのメモリ上の配置を示す図である。
【図１８】本発明の第１の実施の形態に係る生成装置において実行される生成処理を示すフローチャート（メインルーチン）である。
【図１９】図１８における操作検出処理（サブルーチン）を示すフローチャートである。
【図２０】図１８におけるジェスチャ特定処理（サブルーチン）を示すフローチャートである。
【図２１】図１８における対象オブジェクト特定処理（サブルーチン）を示すフローチャートである。
【図２２】図１８における構造化データ生成処理（サブルーチン）を示すフローチャートである。
【図２３】ユーザ操作の具体例を示す図（その１）である。
【図２４】ユーザ操作の具体例を示す図（その２）である。
【図２５】ユーザ操作の具体例を示す図（その３）である。
【図２６】ユーザ操作の具体例を示す図（その４）である。
【図２７】ユーザ操作の具体例を示す図（その５）である。
【図２８】ユーザ操作の具体例を示す図（その６）である。
【図２９】ユーザ操作に対する構造化データ生成状態の具体例を示す図（その１）である。
【図３０】ユーザ操作に対する構造化データ生成状態の具体例を示す図（その２）である。
【図３１】ユーザ操作に対する構造化データ生成状態の具体例を示す図（その３）である。
【図３２】ユーザ操作に対する構造化データ生成状態の具体例を示す図（その４）である。
【図３３】ユーザ操作に対する構造化データ生成状態の具体例を示す図（その５）である。
【図３４】ユーザ操作に対する構造化データ生成状態の具体例を示す図（その６）である。
【図３５】構造化データをＸＭＬファイルとして構成した例を示す図である。
【図３６】本発明の第２の実施の形態に係る生成装置に記憶されるジェスチャ情報データを示す図である。
【図３７】ユーザ操作の具体例を示す図（その７）である。
【図３８】ユーザ操作の具体例を示す図（その８）である。
【図３９】ユーザ操作の具体例を示す図（その９）である。
【図４０】ユーザ操作の具体例を示す図（その１０）である。
【図４１】ユーザ操作の具体例を示す図（その１１）である。
【図４２】本発明の第３の実施の形態に係る生成装置で実行される操作検出処理のフローチャートを示す図である。
【図４３】本発明の第４の実施の形態に係る生成装置に記憶されるジェスチャ情報データを示す図である。
【発明を実施するための形態】
【００３６】
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの機能および名称も同一である。従って、それらについての詳細な説明は繰返さない。なお、以下においては、本発明に係る、オブジェクトについての構造化データ処理装置を、オブジェクト構造化データ生成装置と記載する。
【００３７】
＜第１の実施の形態＞
［オブジェクト構造化データ生成装置の概略構成］
図１に示す外観図を参照して、本実施の形態に係るオブジェクト構造化データ生成装置１００の概略構成について説明する。図１に示すように、このオブジェクト構造化データ生成装置１００は、演算ユニット（後述する制御部２００）および記憶ユニット（後述する記憶部３００）を備えたコンピュータと、周辺機器としての表示パネル４１０（出力媒体）および操作部５００とを備える。
【００３８】
このオブジェクト構造化データ生成装置１００は、周辺機器である表示パネル４１０に、処理対象であるオブジェクトデータ３１０を表示する。表示パネル４１０に表示されたオブジェクトデータ３１０に対して、キーボード５１０、マウス５２０およびタブレット５３０（板状の入力デバイスであって入力ペンとともに用いられる）等の操作部５００をユーザが操作する。この操作に対応して、表示パネル４１０のオブジェクトデータ３１０上にストロークデータ３２０が表示される。オブジェクト構造化データ生成装置１００は、ユーザによる操作に対応するストロークデータ３２０から、ジェスチャ情報データに基づいてジェスチャを特定し、オブジェクト特定データを生成して、ストロークデータ３２０の対象となるオブジェクトデータ３１０を特定する。オブジェクト構造化データ生成装置１００は、ジェスチャ情報データから取得のアクション情報データとオブジェクト特定データとに基づいて、構造化データを生成する。
【００３９】
なお、オブジェクト構造化データ生成装置１００は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることもできる。この点で、オブジェクト構造化データ生成装置１００は、オブジェクトについての構造化データを生成する装置に限られず、構造化データを編集または削除する装置とも言える。そのため、正確には、オブジェクト構造化データ生成装置１００は、オブジェクト構造化データを生成、編集および削除装置である。この点において、オブジェクト構造化データ生成装置１００は、構造化データを処理する装置である。以下においては、このオブジェクト構造化データ生成装置１００を、単に生成装置１００と記載する。
【００４０】
［生成装置の制御ブロック］
図２は、本実施の形態に係る生成装置１００の制御ブロック図である。この図２に示すように、この生成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含む制御部２００、各種の記憶デバイスで構成される記憶部３００、表示パネル４１０、操作部５００および外部インターフェイス部６００を備える。生成装置１００を構成するこれらの各部間のデータ送受信は、ＣＰＵに接続されたバスが用いられる。
【００４１】
生成装置１００を制御する制御部２００は、記憶部３００に記憶しているオブジェクトデータ３１０を、表示パネル４１０に表示させ、操作部５００を用いたユーザによる操作に対応して、そのオブジェクトデータの構造化データを生成して、記憶部３００に記憶する。
【００４２】
生成装置１００は、外部インターフェイス部６００を介してネットワーク７００に接続されている。このようにネットワーク７００に接続されていることにより、たとえば、ネットワーク７００に接続された他の端末（図示しない）からオブジェクトデータ３１０を受信したり、生成装置１００が生成した構造化データを他の端末へ送信したりすることができる。以下、生成装置１００を構成する各部分について詳細に説明する。
【００４３】
・制御部２００
制御部２００は、生成装置１００の全体を制御する。制御部２００は、記憶部３００または外部インターフェイス部６００を介してネットワーク７００に接続された記憶装置などからオブジェクトデータ３１０を取得して、表示パネル４１０で表示する。制御部２００は、後述する生成処理で生成された構造化データを、記憶部３００に書き込んだり、外部インターフェイス部６００を介してネットワーク７００に接続された記憶装置に書き込むために送信したりする。
【００４４】
・記憶部３００
記憶部３００は、生成装置１００の記憶装置である。記憶部３００は、たとえば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により構成される。記憶部３００には、処理途中の一時的な記憶を含めると、オブジェクトデータ３１０、ストロークデータ３２０、ジェスチャ情報データ、アクション情報データ、オブジェクト特定データ、および構造化データが記憶される。記憶されるデータについての詳細な説明は後述する。
【００４５】
・表示パネル４１０
表示パネル４１０は、図示しない表示制御部を介して制御部２００により制御される。表示制御部は、グラフィックカード上にＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備えている。表示制御部は、入力されるデータを一旦ＶＲＡＭに格納する。表示制御部は、ＶＲＡＭに入力されるデータを表示信号に変換して、表示パネル４１０に出力する。表示パネル４１０は、表示信号を画像として表示する。
【００４６】
・操作部５００
操作部５００は、生成装置１００のユーザインターフェイスである。操作部５００は、キーボード５１０、マウス５２０およびタブレット５３０を含む。生成装置１００のユーザは、操作部５００を用いて、表示するオブジェクトデータ３１０を選択したり、ストロークデータ３２０の生成について操作したりする。
【００４７】
・外部インターフェイス部６００
外部インターフェイス部６００は、生成装置１００の外部とのインターフェイスであり、データを送受信する入出力インターフェイスである。外部インターフェイス部６００は、ネットワークカードにより構成される。外部インターフェイス部６００は、ネットワーク７００に無線通信プロトコルで接続される。
【００４８】
［データ構造］
記憶部３００に記憶される、オブジェクトデータ３１０、ストロークデータ３２０、ジェスチャ情報データ、アクション情報データ、オブジェクト特定データ、および構造化データについて説明する。
【００４９】
・オブジェクトデータ３１０
オブジェクトデータ３１０は、図３の表示１００１で示すように、テキストデータまたは画像データなどから構成されるオブジェクトが配置されたレイアウトを生成できる。レイアウトの各オブジェクトを詳細に見ると、図４に示すように、オブジェクト１１０１、オブジェクト１１０２、オブジェクト１１０４およびオブジェクト１１０５はテキストデータを要素として含み、オブジェクト１１０３は画像データを要素として含む。さらに、各オブジェクトは、図５に示すように、位置情報（ＸＹ座標情報）により規定される。たとえば、オブジェクト１１０１は、オブジェクトの開始位置を示す座標（ｘ１、ｙ１）とオブジェクトの終了位置を示す座標（ｘ２、ｙ２）とで特定される矩形の範囲により規定される。
【００５０】
図６に、オブジェクトデータ３１０のテキストファイルの一例を示す。図６に示すように、オブジェクトデータ３１０は、１行ごとに各オブジェクトが記載される。各行においては、カンマで区切られた領域に、矩形を示す座標、テキストデータおよび画像データのいずれであるのかを示す要素、要素の具体的な内容が記載されている。このデータの読み込み処理を行った場合、メモリ上では、図７に示すデータ１３０１、データ１３０２およびデータ１３０３のように、各オブジェクトの開始位置を示す座標および終了位置を示す座標、要素、その内容の各データが、メモリアドレスに配置される。
【００５１】
・ストロークデータ３２０
ストロークデータ３２０は、図８に示すように、表示パネル４１０の表示領域２００１内で操作部５００により操作されるポインタ２００２によって描かれる軌跡２００３を示すデータである。詳細には、図９に示すように、２点（ＸＹ座標で規定される二次元平面状の点）を直線により繰り返し繋ぐパスにより、ストロークデータ３２０が表わされる。座標は、操作部５００の操作を単位時間に区切った際の、操作部５００による操作位置の座標を抽出することにより取得される。具体的には、ある時間に操作部５００の操作位置は、座標（ｓｘ１、ｓｙ１）であり、次の時間に座標（ｓｘ２、ｓｙ２）であった場合、これらの２点を繋ぐ直線がストロークデータとなる。これらを繰り返すことで複雑なストロークを表現することができる。
【００５２】
また、操作部５００の操作を完了した場合、最後の座標にストロークが完了していることを示す完了フラグが付加される。図９においては、座標（ｓｘＮ、ｓｙＮ）の座標が白丸で示されており、この点でストロークが完了していることを示している。メモリ上では、図１０のデータ２１０１に示すように、各座標データが複数メモリアドレスに配置され、ストロークデータが完了している場合にはデータの末尾に完了フラグが付加されている。
【００５３】
このように、ユーザの操作に基づいて、予め定められた時間における座標点の集合を特定することによりストロークデータ３２０が特定でき、このストロークデータ３２０を分析することにより、ユーザが操作部５００を用いて描画した図形が特定できる。このようなユーザの一連の操作は、オブジェクトデータ３１０に対する処理（構造化データの生成処理）についてのユーザの意思表示となる。このような意思表示が、ジェスチャとして表わされる。
【００５４】
・ジェスチャ情報データ
ジェスチャ情報データは、図１１に示すように、ストロークによるジェスチャの情報（ジェスチャ内容３００１およびジェスチャイメージ３００２）と、ジェスチャの対象オブジェクト３００３と、ジェスチャによる構造化データの生成の仕方を示すアクション情報データ３００４とから構成される。ジェスチャは、たとえば、線を引く、円を描く、などの内容があり、それぞれのジェスチャの内容が識別できるように、座標データが保持されている。対象オブジェクト３００３は、ジェスチャの対象となるオブジェクトデータが存在しないか、または、存在して単数のオブジェクト内でのジェスチャであるか、または、存在して複数のオブジェクト間でのジェスチャであるかを示す。メモリ上では、図１２に示すように各ジェスチャの座標情報と、対象オブジェクトの情報とそれに対応したアクション情報データがメモリアドレスに配置される。
【００５５】
・アクション情報データ
アクション情報データは、構造化データの生成の仕方の情報を保持しており、図１１に示すアクション情報データ３００４を例に説明する。図１６のノード１に対して、オブジェクトに「見出し」の意味を付加するアクション情報データを処理すると、図１３のノード４００１のようにノード１に見出しという意味を付加することができる。また、図１６のノード１を現在の階層の位置として、階層構造の階層の位置を下げるアクション情報データを処理すると、図１４のノード４１０１の子のノード４１０２の位置が現在の階層の位置となる。また、逆にノード４１０２を現在の階層の位置として、階層構造の階層の位置を上げるアクション情報データを処理すると、図１４のノード４１０２の親のノード４１０１の位置が現在の階層の位置となる。
【００５６】
・オブジェクト特定データ
オブジェクト特定データは、図１５に示すようにオブジェクトデータ３１０の各オブジェクトがジェスチャ情報データのジェスチャの対象であるか否かを示すデータである。オブジェクト特定データは、オブジェクトデータ３１０のオブジェクトの個数と同じフラグを持ち、各オブジェクトがジェスチャの対象であるという情報とジェスチャ対象でないという情報を持つことができる。これにより、オブジェクトデータ３１０が、ジェスチャ情報データのジェスチャに対する対象オブジェクトであるか否かを判定できる。
【００５７】
・構造化データ
構造化データは、図１６に示すノードというテキストデータまたは画像データなどを単位とするデータの集まりと、ノードの親子関係を保持するデータである。図１６においては、たとえば、基準であるルートのノード０に対して、ノード１とノード４が子の関係にあり、ノード１とノード４に対してノード０は親の関係にある。また、ノード１とノード４は同じ親を持つ関係であり、ノード１とノード４は同じ階層のノードと表現する。親子関係は、親の関係の位置を１つ上の階層、子の関係の位置を１つ下の階層と表現することもできる。このとき、親子関係の基準とするノードは、現在の階層と表現できる。
【００５８】
これらに加えて、各ノードには、テキストデータまたは画像データなどの要素についての意味を持たせることもできる。たとえば、ノード１に対して「見出し」という意味を、ノード２に対して「本文」という意味を持たせることで、「見出し」というノード１に対して「本文」というノード２が親子関係にあるという情報を持たせることが可能である。図１７は、構造化データのメモリ上での例であり、各ノードの要素に関する情報以外に、親子関係を示すノードの情報や、同じ階層に位置するノードとの関係を示す情報を保持している。
【００５９】
［生成装置で実行されるソフトウェア構造］
本実施の形態に係る生成装置１００の制御部２００は、記憶部３００に記憶されているソフトウェア（プログラム）がＣＰＵに読み込まれて実行されることにより、各種の処理を実現する。このように制御部２００がソフトウェアを実行することにより、オブジェクトについての構造化データが生成される。
【００６０】
・生成処理プログラムの概要（メインフローチャート）
図１８に示すように、オブジェクトについての構造化データを生成するために、オブジェクトデータ読み込み処理（Ｓ１０００）、オブジェクトデータ表示処理（Ｓ２０００）、操作検出処理（Ｓ３０００）、ジェスチャ特定処理（Ｓ４０００）、ジェスチャ検出判定処理（Ｓ５０００）、対象オブジェクト特定処理（Ｓ６０００）、構造化データ生成処理（Ｓ７０００）、および終了判定処理（Ｓ８０００）が、制御部２００により実行される。以下、このような処理について、詳細に説明する。
【００６１】
ステップ（以下、ステップをＳと略す。）１０００にて、生成装置１００の制御部２００（以下、単に「制御部２００」と記載する。）は、オブジェクトデータを読み込む。このとき、制御部２００は、記憶部３００、自己が備えるデータ読取装置（たとえば光ディスクからの読取装置）、または、外部インターフェイス部６００を介してネットワーク７００に接続された記憶装置から、オブジェクトデータ３１０を読み込むことにより、オブジェクトデータを取得する。その後、処理は、オブジェクト表示処理（Ｓ２０００）へ移される。
【００６２】
Ｓ２０００にて、制御部２００は、取得したオブジェクトデータ３１０を解析して、表示パネル４１０にオブジェクトデータ３１０を表示する。その後、処理は、操作検出処理（Ｓ３０００）へ移される。
【００６３】
Ｓ３０００にて、制御部２００は、表示パネル４１０に表示されたオブジェクトデータ３１０に対して、操作部５００（キーボード５１０、マウス５２０またはタブレット５３０）を用いたユーザによる操作を検出する。このとき、制御部２００は、ユーザが操作を行ったか否か、ユーザが操作した場合マウス５２０またはタブレット５３０などでボタンを押下した状態で継続的にストロークを指定する操作を行ったか否か、ボタンの押下を中断したか否かなどを検出する。制御部２００は、ストロークを指定する操作が行われたことを検出した場合、ストロークデータ３２０を生成する。このような操作検出処理（Ｓ３０００）はサブルーチン化されており、その詳細は後述する。その後（サブルーチンから戻ると）、処理は、ジェスチャ特定処理（Ｓ４０００）へ移される。
【００６４】
Ｓ４０００にて、制御部２００は、操作検出処理で生成されたストロークデータ３２０を取得し、予めジェスチャの内容とジェスチャに対応するアクション情報とを対応付けたジェスチャ情報データに基づいて、ストロークデータが一致するジェスチャを特定する。このとき、制御部２００は、一致するジェスチャが存在する場合、検出した旨の情報とともに一致したジェスチャ情報データを生成する。制御部２００は、一致するジェスチャが存在しない場合、検出していない旨の情報を生成する。このようなジェスチャ特定処理（Ｓ４０００）はサブルーチン化されており、その詳細は後述する。その後（サブルーチンから戻ると）、処理は、ジェスチャ検出判定処理（Ｓ５０００）へ移される。
【００６５】
Ｓ５０００にて、制御部２００は、ジェスチャ特定処理（Ｓ４０００）にてストロークデータ３２０からジェスチャを検出したか否かを判定する。ジェスチャを検出したと判定されると（Ｓ５０００にてＹＥＳ）、処理は、対象オブジェクト特定処理（Ｓ６０００）へ移される。もしそうでなく、ジェスチャを検出したと判定されないと（Ｓ５０００にてＮＯ）、処理は、終了判定処理（Ｓ８０００）へ移される。
【００６６】
Ｓ６０００にて、制御部２００は、オブジェクトデータ読み込み処理（Ｓ１０００）にて取得したオブジェクトデータ３１０、操作検出処理（Ｓ３０００）にて取得したストロークデータ３２０、および、ジェスチャ特定処理（Ｓ４０００）にて取得したジェスチャ情報データに基づいて、検出されたジェスチャのストロークの対象となるオブジェクトデータ３１０を特定し、オブジェクト特定データを生成する。このような対象オブジェクト特定処理（Ｓ６０００）はサブルーチン化されており、その詳細は後述する。その後（サブルーチンから戻ると）、処理は、構造化データ生成処理（Ｓ７０００）へ移される。
【００６７】
Ｓ７０００にて制御部２００は、ジェスチャ特定処理（Ｓ４０００）にて取得したジェスチャ情報データ、および、対象オブジェクト特定処理（Ｓ６０００）にて取得したオブジェクト特定データに基づいて、構造化データを生成する。このとき、制御部２００は、オブジェクト特定データからジェスチャの対象となるオブジェクトが存在するか否かを判定して、存在する場合には対象オブジェクトが複数であるか否かを判定する。制御部２００は、その判定に応じて、ジェスチャ情報データからアクション情報データを取得し、アクション情報データに応じた構造化データを生成する。このような構造化データ生成処理（Ｓ７０００）はサブルーチン化されており、その詳細は後述する。その後（サブルーチンから戻ると）、処理は、終了判定処理（Ｓ８０００）へ移される。
【００６８】
Ｓ８０００にて、制御部２００は、オブジェクトデータについての構造化データを生成する処理を終了するか否かを判定する。このとき、制御部２００は、操作検出処理（Ｓ３０００）にて生成したストロークデータ３２０に基づいて、終了するか否かを判定する。ストロークデータ３２０に完了フラグが付加されている場合には処理を終了すると判定されて（Ｓ８０００にてＹＥＳ）、この処理を終了する。もしそうでなく、ストロークデータ３２０に完了フラグが含まれていない場合には処理を終了すると判定されないで（Ｓ８０００にてＮＯ）、処理は、操作検出処理（Ｓ３０００）へ戻される。
【００６９】
・操作検出処理（Ｓ３０００）
上述した図１８の操作検出処理（Ｓ３０００）について詳細に説明する。図１９に示すように、サブルーチン化された操作検出処理（Ｓ３０００）において、制御部２００は、規定時間経過判定処理（Ｓ３１００）、操作判定処理（Ｓ３２００）、ストローク継続判定処理（Ｓ３３００）、ストロークデータ追加処理（Ｓ３４００）、ストロークデータ存在判定処理（Ｓ３５００）、完了フラグ付加処理（Ｓ３６００）、およびストロークデータ保存処理（Ｓ３７００）を実行する。
【００７０】
Ｓ３１００にて、制御部２００は、規定時間が経過したか否かを判定する。このとき、制御部２００は、たとえば、１秒という時間が予め設定されている場合、１秒を経過したか否かを判定する。規定時間が経過していると判定されないと（Ｓ３１００にてＮＯ）、処理は、操作判定処理（Ｓ３２００）へ移される。もしそうでなく、規定時間が経過したと判定された場合（Ｓ３１００にてＹＥＳ）、処理は、ストロークデータ存在判定処理（Ｓ３５００）へ移される。
【００７１】
Ｓ３２００にて、制御部２００は、操作部５００を構成するキーボード５１０、マウス５２０およびタブレット５３０などで操作が行われた否かを判定する。たとえば、制御部２００は、タブレット５３０の入力ペンを押下された状態でストロークを描く操作がされたことを検出すると、操作が行われたと判定する。操作が行われたと判定されると（Ｓ３２００にてＹＥＳ）、処理は、Ｓ３３００へ移される。もしそうでなく、操作が行われたと判定されないと（Ｓ３２００にてＮＯ）、処理は、Ｓ３１００へ戻される。
【００７２】
Ｓ３３００にて、制御部２００は、操作部５００によるユーザの操作が、継続されたストロークであるか否かを判定する。このとき、たとえば、制御部２００は、タブレット５３０の入力ペンを押下した状況でストロークを描き続けていると、操作部５００によるユーザの操作が、継続されたストロークであると判定する。タブレット５３０の入力ペンが押下した状態から離す操作を行ったような場合には、継続されたストロークであると判定されない。継続されたストロークであると判定されると（Ｓ３３００にてＹＥＳ）、処理は、ストロークデータ追加処理（Ｓ３４００）へ移される。もしそうでなく、継続されたストロークであると判定されないと（Ｓ３３００にてＮＯ）、処理は、完了フラグ追加処理（Ｓ３６００）へ移される。
【００７３】
Ｓ３４００にて、制御部２００は、操作判定処理（Ｓ３２００）、および、ストローク継続判定処理（Ｓ３４００）で検出された操作の座標系をストロークデータ３２０として、記憶部３００に追加して蓄積する。その後、処理は、規定時間経過判定処理（Ｓ３１００）へ戻される。
【００７４】
Ｓ３５００にて、制御部２００は、ストロークデータ３２０に追加・蓄積された座標データが存在するか否かを判定する。ストロークデータ３２０に追加された座標データが存在すると判定されないと（Ｓ３５００にてＮＯ）、処理は、Ｓ３１００へ戻される。もしそうでなく、ストロークデータ３２０に追加された座標データが存在すると判定されると（Ｓ３５００にてＹＥＳ）、処理は、ストロークデータ保存処理（Ｓ３７００）へ移される。
【００７５】
Ｓ３６００にて、制御部２００は、ストロークデータ３２０の末端に、生成処理の完了を示す完了フラグを付加する。完了フラグは、上述した終了判定処理（Ｓ８０００）において、生成処理のすべてを終了するか否かの判定にて用いられる。その後、処理は、ストロークデータ提供処理（Ｓ３７００）へ移される。
【００７６】
Ｓ３７００にて、制御部２００は、ストロークデータ追加処理（Ｓ３４００）にて追加・蓄積したストロークデータ３２０を後述の処理で取得して利用するためにデータを提供する。たとえば、制御部２００によるデータの提供は、データのコピーであったり、データを保存したメモリのアドレスへの参照であったりする。その後、処理は、終了して、処理は、図１８のＳ４０００へ移される。これにより、操作検出処理（Ｓ３０００）のすべての処理が完了する。
【００７７】
・ジェスチャ特定処理（Ｓ４０００）
上述した図１８のジェスチャ特定処理（Ｓ４０００）について詳細に説明する。図２０に示すように、サブルーチン化されたジェスチャ特定処理（Ｓ４０００）において、制御部２００は、ストロークデータ取得処理（Ｓ４１００）、全ジェスチャ情報データ取得処理（Ｓ４２００）、ストロークデータ解析処理（Ｓ４３００）、ジェスチャ情報データ比較完了判定処理（Ｓ４４００）、ジェスチャ情報データ取得処理（Ｓ４５００）、ジェスチャ比較判定処理（Ｓ４６００）、ジェスチャ検出情報提供処理（Ｓ４７００）、およびジェスチャ非検出情報提供処理（Ｓ４８００）を実行する。
【００７８】
Ｓ４１００にて、制御部２００は、操作検出処理（Ｓ３０００）にて生成したストロークデータ３２０を取得する。その後、処理は、全ジェスチャ情報データ取得処理（Ｓ４２００）へ移される。
【００７９】
Ｓ４２００にて、制御部２００は、予め設定されたジェスチャ情報データについてのすべてのデータを取得する。その後、処理は、ストロークデータ解析処理（Ｓ４３００）へ移される。
【００８０】
Ｓ４３００にて、制御部２００は、ストロークデータ３２０内の座標データを解析する。このとき、制御部２００は、ストロークの形状、ストロークの方向などストロークに関する情報を生成する。その後、処理は、ジェスチャ情報データ比較完了判定処理（Ｓ４４００）へ移される。
【００８１】
Ｓ４４００にて、制御部２００は、全ジェスチャ情報データ取得処理（Ｓ４２００）にて取得したすべてのジェスチャ情報データに対して、後述のジェスチャ比較判定処理（Ｓ４６００）が完了したが完了したか否かを判定する。すべてのジェスチャ情報データとの比較が完了したと判定されないと（Ｓ４４００にてＮＯ）、処理は、ジェスチャ情報データ取得処理（Ｓ４５００）へ移される。もしそうでなく、すべてのジェスチャ情報データとの比較が完了したと判定されると（Ｓ４４００にてＹＥＳ）、処理は、ジェスチャ非検出情報提供処理（Ｓ４８００）へ移される。
【００８２】
Ｓ４５００にて、制御部２００は、全ジェスチャ情報データ取得処理（Ｓ４２００）にて取得したすべてのジェスチャ情報データから、ジェスチャ情報データの１つを順に取得する。その後、処理は、ジェスチャ比較判定処理（Ｓ４６００）へ移される。
【００８３】
Ｓ４６００にて、制御部２００は、ストロークデータ解析処理（Ｓ４３００）にて解析したストロークデータ３２０と、ジェスチャ情報データ取得処理（Ｓ４５００）にて取得したジェスチャ情報データのジェスチャとが、同じジェスチャであるか否かを判定する。このとき、たとえば、制御部２００は、ストロークデータ解析処理（Ｓ４３００）にて解析したストロークの形状が一致するかについてマッチング処理で判定したり、ストロークの方向が一致するか否かをマッチング処理で判定したりする。なお、ストロークデータ解析処理（Ｓ４３００）にて解析した情報とジェスチャ情報データのジェスチャとの比較方法はこれに限定するものでなく、公知のジェスチャについてのマッチング処理を用いても構わない。ストロークデータ３２０とジェスチャ情報データのジェスチャの内容とがマッチング処理によって一致すると判定されると（Ｓ４６００にてＹＥＳ）、処理は、ジェスチャ検出情報提供処理（Ｓ４７００）へ移される。もしそうでなく、ストロークデータ３２０とジェスチャ情報データのジェスチャの内容とがマッチング処理によって一致すると判定されないと（Ｓ４６００にてＮＯ）、処理は、ジェスチャ非検出情報提供処理（Ｓ４８００）へ移される。
【００８４】
Ｓ４７００にて、制御部２００は、ジェスチャを検出した旨の情報を後述の処理（メインルーチン）へ返すとともに、一致したジェスチャ情報データをメインルーチンへ返す。その後、処理は、終了して、処理は、図１８のＳ５０００へ移され、ジェスチャ特定処理（Ｓ４０００）のすべての処理が完了する。
【００８５】
Ｓ４８００にて、制御部２００は、ジェスチャを検出していない旨の情報を後述の処理（メインルーチン）へ返す。その後、処理は、終了して、処理は、図１８のＳ５０００へ移され、ジェスチャ特定処理（Ｓ４０００）のすべての処理が完了する。
【００８６】
・対象オブジェクト特定処理（Ｓ６０００）
上述した図１８の対象オブジェクト特定処理（Ｓ６０００）について詳細に説明する。図２１に示すように、サブルーチン化された対象オブジェクト特定処理（Ｓ６０００）において、制御部２００は、ジェスチャ情報データ取得処理（Ｓ６１００）、ストロークデータ取得処理（Ｓ６２００）、座標情報取得処理（Ｓ６３００）、全オブジェクトデータ取得処理（Ｓ６４００）、オブジェクト特定データ生成処理（Ｓ６５００）、全オブジェクトデータ比較完了判定処理（Ｓ６６００）、オブジェクトデータ取得処理（Ｓ６７００）、オブジェクトデータ範囲比較処理（Ｓ６８００）、オブジェクト対象情報付加処理（Ｓ６８１０）、オブジェクト非対象情報付加処理（Ｓ６８２０）、およびオブジェクト特定データ提供処理（Ｓ６９００）を実行する。
【００８７】
Ｓ６１００にて、制御部２００は、ジェスチャ特定処理（Ｓ４０００）にて取得したジェスチャ情報データを取得する。その後、処理は、ストロークデータ取得処理（Ｓ６２００）へ移される。
【００８８】
Ｓ６２００にて、制御部２００は、操作検出処理（Ｓ３０００）にて取得したストロークデータ３２０を取得する。その後、処理は、座標情報取得処理（Ｓ６３００）へ移される。
【００８９】
Ｓ６３００にて、制御部２００は、ジェスチャ情報データ取得処理（Ｓ６１００）にて取得したジェスチャ情報データとストロークデータ取得処理（Ｓ６２００）にて取得したストロークデータ３２０とに基づいて、ジェスチャ情報データ内のジェスチャのストロークデータ３２０上の座標を取得する。その後、処理は、全オブジェクトデータ取得処理（Ｓ６４００）へ移される。
【００９０】
Ｓ６４００にて、制御部２００は、オブジェクトデータ読み込み処理（Ｓ１０００）にて取得したオブジェクトデータ３１０のすべてを取得する。その後、処理は、オブジェクト特定データ生成処理（Ｓ６５００）へ移される。
【００９１】
Ｓ６５００にて、制御部２００は、全オブジェクトデータ取得処理（Ｓ６４００）にて取得したすべてのオブジェクトデータ３１０に対して、ジェスチャのストロークの対象か否かを特定するための情報を保持するデータの領域を生成する。ここで、制御部２００は、データを保持するための領域を生成し、ジェスチャのストロークの対象か否かの情報は後述の処理で追加する。その後、処理は、全オブジェクトデータ比較完了判定処理（Ｓ６６００）へ移される。
【００９２】
Ｓ６６００にて、制御部２００は、全オブジェクトデータ取得処理（Ｓ６４００）にて取得したすべてのオブジェクトデータ３１０に対して、後述のオブジェクトデータ範囲比較処理（Ｓ６８００）が行われたか否かを判定する。すべてのオブジェクトデータ３１０に対して比較が完了していると判定されないと（Ｓ６６００にてＮＯ）、処理は、オブジェクトデータ取得処理（Ｓ６７００）へ移される。もしそうでなく、すべてのオブジェクトデータ３１０に対して比較が完了していると判定されると（Ｓ６６００にてＹＥＳ）、処理は、オブジェクト特定データ提供処理（Ｓ６９００）へ移される。
【００９３】
Ｓ６７００にて、制御部２００は、全オブジェクトデータ取得処理（Ｓ６４００）にて取得したすべてのオブジェクトデータ３１０から、オブジェクトデータ３１０の１つを取得する。その後、処理は、オブジェクトデータ範囲比較処理（Ｓ６８００）へ移される。
【００９４】
Ｓ６８００にて、制御部２００は、座標情報取得処理（Ｓ６３００）にて取得したジェスチャの座標が、オブジェクトデータ取得処理（Ｓ６７００）にて取得したオブジェクトデータ３１０の範囲に含まれるか否かを判定する。ジェスチャの座標がオブジェクトデータ３１０の範囲に含まれると判定されると（Ｓ６８００にてＹＥＳ）、オブジェクトデータ３１０はジェスチャの対象オブジェクトとして、処理は、オブジェクト対象情報付加処理（Ｓ６８１０）へ移される。もしそうでなく、ジェスチャの座標がオブジェクトデータ３１０の範囲に含まれると判定されないと（Ｓ６８００にてＮＯ）、オブジェクトデータ３１０はジェスチャの対象オブジェクトではないとして、処理は、オブジェクト非対象情報付加処理（Ｓ６８２０）へ移される。
【００９５】
Ｓ６８１０にて、制御部２００は、オブジェクトデータ範囲比較処理（Ｓ６８００）にて対象オブジェクトであると判定された結果を受けて、オブジェクト特定データのオブジェクトデータ３１０に対応する箇所に対象オブジェクトである旨の情報を付加する。その後、処理は、全オブジェクトデータ比較完了判定処理（Ｓ６６００）へ戻される。
【００９６】
Ｓ６８２０にて、制御部２００は、オブジェクトデータ範囲比較処理（Ｓ６８００）にて対象オブジェクトであると判定された結果を受けて、オブジェクト特定データのオブジェクトデータ３１０に対応する箇所に対象オブジェクトでない旨の情報を付加する。その後、処理は、全オブジェクトデータ比較完了判定処理（Ｓ６６００）へ戻される。
【００９７】
Ｓ６９００にて、制御部２００は、オブジェクト特定データ生成処理（Ｓ６５００）にて生成し、オブジェクト対象情報付加処理（Ｓ６８１０）およびオブジェクト非対象情報付加処理（Ｓ６８２０）にてデータを付加したオブジェクト特定データを後述の処理で取得できるように提供する。その後、処理は、終了して、処理は、図１８のＳ７０００へ移され、対象オブジェクト特定処理（Ｓ６０００）のすべての処理が完了する。
【００９８】
・構造化データ生成処理（Ｓ７０００）
上述した図１８の構造化データ生成処理（Ｓ７０００）について詳細に説明する。図２２に示すように、サブルーチン化された構造化データ生成処理（Ｓ７０００）において、制御部２００は、ジェスチャ情報データ取得処理（Ｓ７１００）、オブジェクト特定データ取得処理（Ｓ７２００）、構造化データ取得処理（Ｓ７３００）、対象オブジェクト存在判定処理（Ｓ７４００）、対象オブジェクト複数判定処理（Ｓ７５００）、オブジェクト外アクション情報データ取得処理（Ｓ７６００）、オブジェクト内アクション情報データ取得処理（Ｓ７７００）、オブジェクト間アクション情報データ取得処理（Ｓ７８００）、対象オブジェクトデータ取得処理（Ｓ７９００）、および構造化データ要素生成処理（Ｓ７９５０）を実行する。
【００９９】
Ｓ７１００にて、制御部２００は、ジェスチャ特定処理（Ｓ４０００）にて取得したジェスチャ情報データを取得する。その後、処理は、オブジェクト特定データ取得処理（Ｓ７２００）へ移される。
【０１００】
Ｓ７２００にて、制御部２００は、対象オブジェクト特定処理（Ｓ６０００）にて取得したオブジェクト特定データを取得する。その後、処理は、構造化データ取得処理（Ｓ７３００）へ移される。
【０１０１】
Ｓ７３００にて、制御部２００は、既に構造化データ生成処理（Ｓ７０００）を行い構造化データが存在する場合に、構造化データを取得する。その後、処理は、対象オブジェクト存在判定処理（Ｓ７４００）へ移される。
【０１０２】
Ｓ７４００にて、制御部２００は、オブジェクト特定データ取得処理（Ｓ７２００）にて取得したオブジェクト特定データに基づいて、対象オブジェクトが存在するか否かを判定する。このとき、制御部２００は、オブジェクト特定データに付加された対象オブジェクトか否かの情報が、すべて対象オブジェクトでない旨の情報を保持している場合、対象オブジェクトが存在しないと判定する。対象オブジェクトが存在すると判定されると（Ｓ７４００にてＹＥＳ）、処理は、対象オブジェクト複数判定処理（Ｓ７５００）へ移される。もしそうでなく、対象オブジェクトが存在すると判定されないと（Ｓ７４００にてＮＯ）、処理は、オブジェクト外アクション情報取得処理（Ｓ７６００）へ移される。
【０１０３】
Ｓ７５００にて、制御部２００は、オブジェクト特定データ取得処理（Ｓ７２００）にて取得したオブジェクト特定データに基づいて、対象オブジェクトが複数存在するか否かを判定する。このとき、制御部２００は、オブジェクト特定データに付加された対象オブジェクトか否かの情報に対象オブジェクトである旨の情報が複数存在する場合、対象オブジェクトが複数存在すると判定する。対象オブジェクトが複数存在すると判定されないと（Ｓ７５００にてＮＯ）、処理は、オブジェクト内アクション情報取得処理（Ｓ７７００）へ移される。もしそうでなく、対象オブジェクトが複数存在すると判定されると（Ｓ７５００にてＹＥＳ）、処理は、オブジェクト間アクション情報取得処理（Ｓ７８００）へ移される。
【０１０４】
Ｓ７６００にて、制御部２００は、オブジェクト特定データに対象オブジェクトが存在しない場合の処理として、ジェスチャ情報データ取得処理（Ｓ７１００）にて取得したジェスチャ情報データからオブジェクト外の場合に適用するアクション情報データを取得する。その後、処理は、構造化データ要素生成処理（Ｓ７９５０）へ移される。
【０１０５】
Ｓ７７００にて、制御部２００は、オブジェクト特定データに対象オブジェクトが存在する、かつ、単数で存在する場合の処理として、ジェスチャ情報データ取得処理（Ｓ７１００）にて取得したジェスチャ情報データからオブジェクト内の場合に適用するアクション情報データを取得する。その後、処理は、対象オブジェクトデータ取得処理（Ｓ７９００）へ移される。
【０１０６】
Ｓ７８００にて、制御部２００は、オブジェクト特定データに対象オブジェクトが存在する、かつ、複数で存在する場合の処理として、ジェスチャ情報データ取得処理（Ｓ７１００）にて取得したジェスチャ情報データからオブジェクト間の場合に適用するアクション情報データを取得する。その後、処理は、対象オブジェクトデータ取得処理（Ｓ７９００）へ移される。
【０１０７】
Ｓ７９００にて、制御部２００は、オブジェクト特定データに対象オブジェクトが存在する場合（単数および複数を問わず）の処理として、対象オブジェクトのオブジェクトデータ３１０を、オブジェクトデータ読み込み処理（Ｓ１０００）にて取得したオブジェクトデータ３１０から取得する。その後、処理は、構造化データ要素生成処理（Ｓ７９５０）へ移される。
【０１０８】
Ｓ７９５０にて、制御部２００は、構造化データ取得処理（Ｓ７３００）にて取得した構造化データと、オブジェクト外アクション情報取得処理（Ｓ７６００）にて取得したアクション情報データとに基づいて、構造化データを生成する。このとき、制御部２００は、対象オブジェクトが存在しない場合であるので、アクション情報データの内容に基づき構造化データを生成する。ここでは、たとえば、取得した構造化データの現在の階層の位置を変更する処理などが対応する。また、Ｓ７９５０にて、制御部２００は、構造化データ取得処理（Ｓ７３００）にて取得した構造化データと、オブジェクト内アクション情報取得処理（Ｓ７７００）またはオブジェクト間アクション情報取得処理（Ｓ７８００）にて取得したアクション情報データと、対象オブジェクトデータ取得処理（Ｓ７９００）にて取得したオブジェクトデータ３１０とに基づいて、構造化データを生成する。このとき、制御部２００は、対象オブジェクトが存在する場合であるので、アクション情報データの内容に基づき、オブジェクトデータ３１０を参照しつつ、構造化データを生成する。ここでは、たとえば、取得した構造化データの現在の階層の位置に、取得のオブジェクトデータ３１０に対応するノードを生成する処理などが対応する。その後、処理は、終了して、処理は、図１８のＳ８０００へ移され、構造化データ生成処理（Ｓ７０００）のすべての処理が完了する。
【０１０９】
［生成装置における動作（１ジェスチャ１アクション）］
以上のような構造およびフローチャートに基づく、本実施の形態に係る生成装置の動作について説明する。なお、以下においては、説明をわかりやすくするために、図４に示すオブジェクトデータに対して、操作部５００の操作によって描かれるストロークのジェスチャによって生成される構造化データは、構造化データのノードの意味がデフォルトに「本文」という意味を保持することを想定する。また、生成される構造化データはルートのノードの１つ下の階層からデータを生成することを想定する。ジェスチャ情報データは図１１に示すデータを用いることを想定する。
【０１１０】
ユーザは、操作部５００を操作して、オブジェクトデータ３１０を読み込むように指示する（Ｓ１０００）。読み込まれたオブジェクトデータ３１０は、各オブジェクトの表示位置と表示する内容とが解析されて、表示パネル４１０に、図３に示すようなレイアウトで表示される（Ｓ２０００）。
【０１１１】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが操作部５００を用いてストロークを描く。操作部５００が操作されない状態が継続して、規定時間が経過しても（Ｓ３１００にてＹＥＳ）、ストロークデータ３２０が存在しないと（Ｓ３５００にてＮＯ）、次の規定時間が経過するまでユーザによる操作を検出する状態を繰り返す。すなわち、規定時間が経過する間（Ｓ３１００にてＮＯ）、ユーザにより操作部５００が操作されたか否かを判定して、操作部５００が操作されない場合（Ｓ３２００にてＮＯ）、操作部５００が操作されたことを検出するまで待つ。
【０１１２】
操作部５００がユーザにより操作された場合、たとえば、図２３に示すストローク７０００のように操作部５００の操作が継続的に行われてストロークが描かれた場合（Ｓ３２００にてＹＥＳかつＳ３３００にてＹＥＳ）、操作部５００における座標をストロークデータ３２０として追加・蓄積する（Ｓ３４００）。
【０１１３】
規定時間が経過したときに（Ｓ３１００にてＹＥＳ）、操作部５００をユーザが操作した結果であるストロークデータ３２０が存在する場合には（Ｓ３５００にてＹＥＳ）、追加・蓄積したストロークデータ３２０がメインルーチンへ返される（Ｓ３７００）。
【０１１４】
ストローク７０００がジェスチャに該当するか特定するために、生成されたストロークデータ３２０が取得される（Ｓ４１００）。このとき、図１１に示すジェスチャ情報データが取得される（Ｓ４２００）。ストローク７０００のストロークデータ３２０の座標データに基づいて、ストローク７０００が線を描いたストロークであることが解析される（Ｓ４３００）。図１１に示すジェスチャ情報データの４つのデータと順に比較を行い（Ｓ４４００にてＮＯ、Ｓ４５００）、取得されたジェスチャ情報データの１つとジェスチャの内容が一致するか否かを判定する（Ｓ４６００）。ここでは、ストローク７０００の解析したストロークが線を描くストロークであり、図１１の線を描くジェスチャと一致するため（Ｓ４６００にてＹＥＳ）、ジェスチャを検出した旨の情報と、線を描くジェスチャ情報データをメインルーチンへ返す（Ｓ４７００）。
【０１１５】
ジェスチャを検出したので（Ｓ５０００にてＹＥＳ）、ジェスチャの対象となるオブジェクトデータ３１０が特定される。先の処理でジェスチャを検出したジェスチャ情報データが取得される（Ｓ６１００）。操作部５００をユーザが操作することにより生成されたストロークデータが取得されて（Ｓ６２００）、ストロークデータからジェスチャの座標が取得される（Ｓ６３００）。ここでは、線を描くジェスチャの具体的な座標を取得する。表示パネル４１０に表示のオブジェクトデータが取得されて（Ｓ６４００）、取得されたオブジェクトデータからオブジェクト特定データが生成される（Ｓ６５００）。
【０１１６】
このとき、図４のオブジェクトデータ３１０のオブジェクトと同じ数の５つのフラグを設定できるオブジェクト特定データが生成される。すべてのオブジェクトについてオブジェクトデータ範囲比較処理されるまで（Ｓ６６００にてＮＯ）、オブジェクトが順番に比較処理されて、ジェスチャの対象オブジェクトが特定される。ここでは、図４のオブジェクト１１０１が取得されて（Ｓ６７００）、ストローク内のジェスチャの座標がオブジェクト１１０１の範囲内の座標であるか否かが判定される。図２３に示すように、線を描いたジェスチャのストローク７０００は、オブジェクト１１０１の範囲内にあると判定されて（Ｓ６８００にてＹＥＳ）、オブジェクト特定データのオブジェクト１１０１に対応するフラグが、対象オブジェクトである旨の情報とされる（Ｓ６８１０）。繰り返して、オブジェクト１１０２、オブジェクト１１０３、オブジェクト１１０４およびオブジェクト１１０５の範囲には線を描いたジェスチャのストローク７００１は含まれないことから、オブジェクト特定データのフラグが、対象オブジェクトでない旨の情報とされる（Ｓ６８２０）。すべてのオブジェクトデータとの比較が終わると（Ｓ６６００にてＹＥＳ）、生成したオブジェクト特定データが、次の処理のためにメインルーチンへ返される（Ｓ６９００）。
【０１１７】
ストロークデータからジェスチャと、ジェスチャの対象となるオブジェクトデータが特定できると構造化データが生成される。特定されたジェスチャ情報データが取得されて（Ｓ７１００）、対象となるオブジェクトデータを判定するオブジェクト特定データが取得される（Ｓ７２００）。ここまでの処理にてすでに生成された構造化データが存在する場合、構造化データが取得される（Ｓ７３００）。ここでは、構造化データがまだ存在しないので、新規の構造化データが生成されることになる。
【０１１８】
オブジェクト特定データから対象オブジェクトが存在するか否かが判定される（Ｓ７４００）。ここでは、オブジェクト１１０１に対して対象オブジェクトであるフラグがあるので、対象オブジェクトが存在すると判定される（Ｓ７４００にてＹＥＳ）。次に、対象オブジェクトが複数存在するか否かが判定される（Ｓ７５００）。ここでは、オブジェクト１１０１のみが対象オブジェクトであるフラグがあるので、対象オブジェクトは複数存在しないと判定する（Ｓ７５００にてＮＯ）。これによって、ストローク７０００のジェスチャの対象オブジェクトは、オブジェクト１１０１のみと特定される（Ｓ７５００にてＹＥＳ）。ジェスチャ情報データから、線を描くジェスチャのうち、オブジェクト内に対応するアクション情報データが取得される（Ｓ７７００）。対象オブジェクトであるオブジェクト１１０１のオブジェクトデータが取得し（Ｓ７９００）、アクション情報データに応じた構造化データが生成される（Ｓ７９５０）。ここでは、図１１において、線を描くジェスチャのオブジェクト内のアクション情報データは、現在の階層にオブジェクトと配置する処理であると規定されているため、構造化データのルートの１つ下の階層にオブジェクト１１０１の内容、すなわち、「問題１  面積」というテキストの要素が配置される。
【０１１９】
このとき、図２９に示すようにルートのノード８００１の子のノードに、デフォルトの「本文」という意味を持つテキスト要素のノードが配置されることになる（Ｓ７９５０）。これにより、ストローク７０００に対する構造化データの生成処理は、完了し、ストロークデータに完了フラグが付加されていないため（Ｓ８０００にてＮＯ）、再び、操作部５００の操作を検出する処理を繰り返す（Ｓ３０００）。
【０１２０】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク７０００に続けて、図２４に示すストローク７００１を描いた場合の構造化データの生成処理を説明する。なお、先に説明したストローク７０００により生成される場合の動作と異なる動作にのみについて説明する。それ以外の動作について同じであるため、ここでの詳細な説明は繰返さない。
【０１２１】
ストローク７００１は、描かれたストロークの座標データに基づいて、円を描いたストロークであると解析されて（Ｓ４３００）、図１１のジェスチャ情報データのデータと比較される。図１１に示す円を描くジェスチャとストローク７００１とが一致することから（Ｓ４６００にてＹＥＳ）、ジェスチャを検出した旨の情報がメインルーチンへ返される（Ｓ４７００）。ジェスチャの対象となるオブジェクトは、図２４に示すオブジェクト１１０１のみであるオブジェクト特定データが生成されて（Ｓ６９００）、ジェスチャ情報データから円を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される（Ｓ７７００）。対象オブジェクトであるオブジェクト１１０１のオブジェクトデータが取得されて（Ｓ７９００）、アクション情報に応じた構造化データが生成される（Ｓ７９５０）。
【０１２２】
ここでは、図１１において、円を描くジェスチャのオブジェクト内のアクション情報データは、オブジェクトに「見出し」の意味を付加する処理であると規定されているため、構造化データの現在の階層のオブジェクト１１０１に対応する先の処理で生成されたノード８００２の意味を「見出し」とする。このような動作の結果、図２９のノード８００２の意味「本文」という構造化データが、図３０のノード８００２の意味「見出し」という構造化データへ編集される。ここでは、ジェスチャの内容は意味を付加するだけであり、ノード８００２の階層の位置およびノードの内容は変更されず、ノードが新規に生成されることもない。
【０１２３】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク７００１に続けて、図２５に示すストローク７００２を描いた場合の構造化データの生成処理を説明する。ここでも、上述の説明と異なる動作のみについて説明する。
【０１２４】
ストローク７００２は、描かれたストロークの座標データに基づいて、繰り返し行き来するストロークであると解析されて（Ｓ４３００）、図１１のジェスチャ情報データのデータと比較される。図１１に示す繰り返し行き来するジェスチャとストローク７００２とが一致することから（Ｓ４６００にてＹＥＳ）ジェスチャを検出した旨の情報がメインルーチンへ返される（Ｓ４７００）。ジェスチャの対象となるオブジェクトは、図２５に示すオブジェクト１１０１およびオブジェクト１１０２であるオブジェクト特定データが生成されて（Ｓ６９００）、ジェスチャ情報データから繰り返し行き来するジェスチャのうち、対象オブジェクトがオブジェクト間であるアクション情報データが取得される（Ｓ７８００）。対象オブジェクトであるオブジェクト１１０１およびオブジェクト１１０２のオブジェクトデータが取得されて（Ｓ７９００）、アクション情報に応じた構造化データが生成される（Ｓ７９５０）。
【０１２５】
ここでは、図１１において、繰り返し行き来をするジェスチャのオブジェクト間のアクション情報データは、階層構造の階層の位置を下げてオブジェクトを配置する処理であると規定されているため、構造化データの現在の階層の位置が１つ下げられる。このような動作の結果、図３１に示すように、オブジェクト１１０１に対応するノード８００２に、オブジェクト１１０２に対応するノード８００３が子の関係として生成される。
【０１２６】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク７００２に続けて、図２６に示すストローク７００３を描いた場合の構造化データの生成処理を説明する。ここでも、上述の説明と異なる動作のみについて説明する。
【０１２７】
ストローク７００３は、描かれたストロークの座標データに基づいて、線を描いたストロークであると解析されて（Ｓ４３００）、図１１のジェスチャ情報データのデータと比較される。図１１に示す線を描くジェスチャとストローク７００３とが一致することから（Ｓ４６００にてＹＥＳ）、ジェスチャを検出した旨の情報がメインルーチンへ返される（Ｓ４７００）。ジェスチャの対象となるオブジェクトは、図２６に示すオブジェクト１１０３のみであるオブジェクト特定データが生成されて（Ｓ６９００）、ジェスチャ情報データから線を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される（Ｓ７７００）。対象オブジェクトであるオブジェクト１１０３のオブジェクトデータが取得されて（Ｓ７９００）、アクション情報に応じた構造化データが生成される（Ｓ７９５０）。
【０１２８】
ここでは、図１１において、線を描くジェスチャのオブジェクト内のアクション情報データは、現在の階層にオブジェクトを配置する処理であると規定されている。このため、構造化データの現在の階層に、オブジェクトが配置される。このような動作の結果、図３２に示すように、オブジェクト１１０３に対応するノード８００４が生成される。
【０１２９】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク７００３に続けて、図２７に示すストローク７００４を描いた場合の構造化データの生成処理を説明する。
【０１３０】
ストローク７００４は、描かれたストロークの座標データに基づいて、円を描いたストロークであると解析されて（Ｓ４３００）、図１１のジェスチャ情報データのデータと比較される。図１１に示す円を描くジェスチャとストローク７００４とが一致することから（Ｓ４６００にてＹＥＳ）、ジェスチャを検出した旨の情報がメインルーチンへ返される（Ｓ４７００）。ジェスチャの対象となるオブジェクトは、図２７で示すように、１つもないというオブジェクト特定データが生成されて（Ｓ６９００）、ジェスチャ情報データから円を描くジェスチャのうち、対象オブジェクトがオブジェクト外であるアクション情報データが取得される（Ｓ７６００）。対象オブジェクトがないため、オブジェクトデータの取得はなく、アクション情報に応じた構造化データが生成される（Ｓ７９５０）。
【０１３１】
ここでは、図１１において、円を描くジェスチャのオブジェクト外のアクション情報データは、階層構造の階層の位置を上げる処理であると規定されているため、構造化データの現在の位置が１つ上げられる。このような動作の結果、図３３の点線で示すノード８００５が、現在の位置に配置される。このように、この時点ではノード８００５は生成されていないが、次にノードを追加する場合の位置を分かり易く示すものである。
【０１３２】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク７００４に続けて、図２８に示すストローク７００５、ストローク７００６およびストローク７００７を描いた場合の構造化データの生成処理については、上述の通りである。すなわち、
ストローク７００５でオブジェクト１１０４に対して線を描く処理は、ストローク７０００でオブジェクト１１０１に対して線を描いた処理（図２３）と同じであり、ストローク７００６でオブジェクト１１０４に対して円を描く処理は、ストローク７００１でオブジェクト１１０１に対して円を描いた処理（図２４）と同じであり、ストローク７００７でオブジェクト１１０４とオブジェクト１１０５との間を繰り返し行き来するストロークを描く処理は、ストローク７００２でオブジェクト１１０１とオブジェクト１１０２との間を繰り返し行き来するストロークを描いた処理（図２５）と同じである。
【０１３３】
同様に処理を繰り返すことにより、図３４に示す構造化データが生成される。図３４に示すように、生成された構造化データは、ノード８００２とノード８００５とが同じ階層、かつ、「見出し」という意味を有しており、さらに、ノード８００２の下位階層にノード８００３およびノード８００４が配置され、ノード８００５の下位階層にノード８００６が配置され、これらのノード８００３、ノード８００４およびノード８００５は「本文」という意味を有している。
【０１３４】
図３４に示す構造化データを、構造化文書（たとえば、タグによって記載されたＸＭＬなどの記述言語により構成された文書）として作成した場合のデータ例を、図３５に示す。
【０１３５】
以上のようにして、本実施の形態に係る生成装置によると、ユーザが操作部５００を用いてストロークを描くだけの容易な操作により、オブジェクトデータの各オブジェクトに意味を持たせ、かつ、各オブジェクトの親子関係（階層関係）を保持した、構造化データを生成することができる。
【０１３６】
＜第２の実施の形態＞
以下に、本発明の第２の実施の形態に係る生成装置について説明する。第１の実施の形態と同様に、本実施の形態に係る生成装置は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることができる。本実施の形態に係る生成装置は、第１の実施の形態に係る生成装置において適用されたジェスチャ情報データとは異なるジェスチャ情報データを適用して、オブジェクトに対して構造化データを生成したり、編集したり、削除したりする。なお、生成装置のハードウェア構造（図１および図２）およびフローチャート（図１８〜図２２）については、上述した第１の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
【０１３７】
［データ構造］
記憶部３００に記憶される、ジェスチャ情報データについて説明する。
【０１３８】
・ジェスチャ情報データ
本実施の形態に係る生成装置１００においては、１つのジェスチャに対して複数のアクション情報データが割り当てられる。すなわち、図３６に示すように、図１１に示したジェスチャ情報データとは異なるジェスチャ情報データが、本実施の形態に係る生成装置１００の記憶部３００に記憶される。
【０１３９】
図３６は、１つのジェスチャに対して複数のアクション情報データを割り当てた場合のジェスチャ情報データである。たとえば、図３６において、円を描くジェスチャに対して、階層構造の階層の位置を変えた後に、オブジェクトを配置し、配置したオブジェクトの意味を付加して、さらに階層構造の階層の位置を変えるといった複数のアクション情報データが割り当てられている。このようにジェスチャ情報データでは、１つのジェスチャに対して複数のアクション情報データを割り当てる構成でもよい。
【０１４０】
［生成装置における動作（１ジェスチャ多アクション）］
以上のような構造およびフローチャートに基づく、本実施の形態に係る生成装置の動作について説明する。なお、以下において、説明をわかりやすくするための想定は、第１の実施の形態と同じである。ジェスチャ情報データは、図１１ではなく図３６に示すデータが用いられる。また、ジェスチャに対するアクション情報データによる構造化データを生成する動作以外は、第１の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
【０１４１】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが操作部５００を用いてストロークを描く。以下において、図３７に示すストローク１１００１を描いた場合の構造化データの生成処理を説明する。
【０１４２】
ストローク１１００１は、描かれたストロークの座標データに基づいて、円を描くストロークであると解析されて（Ｓ４３００）、図３６のジェスチャ情報データのデータと比較される。図３６に示す円を描くジェスチャとストローク１１００１とが一致することから（Ｓ４６００にてＹＥＳ）、ジェスチャを検出した旨の情報がメインルーチンへ返される（Ｓ４７００）。ジェスチャの対象となるオブジェクトは、図３７に示すオブジェクト１１０１であるオブジェクト特定データが生成されて（Ｓ６９００）、ジェスチャ情報データから円を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される（Ｓ７７００）。対象オブジェクトであるオブジェクト１１０１のオブジェクトデータが取得されて（Ｓ７９００）、アクション情報に応じた構造化データが生成される（Ｓ７９５０）。
【０１４３】
ここでは、図３６において、円を描くジェスチャのオブジェクト内のアクション情報データは、階層構造の階層の位置をルートの直下に変更し、現在の位置にオブジェクトを配置し、続けて、オブジェクトに「見出し」の意味を付加し、階層構造の階層の位置を下げる処理であると規定されている。このため、これらの処理を行うと、図３０に示すように、オブジェクト１１０１に対するノード８００２が、ルートのノード８００１の下位階層に子の関係で生成されて、かつ、ノード８００２のオブジェクトには「見出し」の意味が付加される。また、階層構造の位置を下げる処理が行われているため、続けて行われる処理は、ノード８００２についての子の関係の位置からの処理が始まることになる。
【０１４４】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク１１００１に続けて、図３８に示すストローク１１００２を描いた場合の構造化データの生成処理を説明する。
【０１４５】
ストローク１１００２は、描かれたストロークの座標データに基づいて、線を描いたストロークであると解析されて（Ｓ４３００）、図３６のジェスチャ情報データのデータと比較される。図３６に示す線を描くジェスチャとストローク１１００２とが一致することから（Ｓ４６００にてＹＥＳ）、ジェスチャを検出した旨の情報がメインルーチンへ返される（Ｓ４７００）。ジェスチャの対象となるオブジェクトは、図３８で示すようにオブジェクト１１０２であるオブジェクト特定データが生成されて（Ｓ６９００）、ジェスチャ情報データから線を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される（Ｓ７７００）。対象オブジェクトであるオブジェクト１１０２のオブジェクトデータが取得されて（Ｓ７９００）、アクション情報に応じた構造化データが生成される（Ｓ７９５０）。
【０１４６】
ここでは、図３６において、線を描くジェスチャのオブジェクト内のアクション情報データは、現在の階層にオブジェクトを配置する処理であると規定されている。このため、構造化データの現在の階層に、オブジェクトが配置される。このような動作の結果、図３１に示すように、オブジェクト１１０２に対するノード８００３が、ノード８００２の子の関係の位置に生成される。
【０１４７】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク１１００２に続けて、図３９に示すストローク１１００３を描いた場合の構造化データの生成処理は、図３８に示したストローク１１００２を描いた場合の構造化データの生成処理と同じである。図３９のストローク１１００３を描いたジェスチャによって、図３２に示すオブジェクト１１０３に対するノード８００４が、ノード８００３に続き、ノード８００２の子の関係の位置に生成される。
【０１４８】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク１１００３に続けて、図４０に示すストローク１１００４を描いた場合の構造化データの生成処理は、図３７に示したストローク１１００１を描いた場合の構造化データの生成処理と同じである。図４０のストローク１１００４を描いたジェスチャによって、図３４に示すオブジェクト１１０４に対するノード８００５が、ノード８００２に続き、ルートのノード８００１の子の関係の位置に生成されて、かつ、ノード８００５は「見出し」の意味が付加される。また、次の処理は、ノード８００５の子の関係の位置から始められる。
【０１４９】
表示パネル４１０に表示されたオブジェクトデータ３１０に対して、ユーザが、ストローク１１００４に続けて、図４１に示すストローク１１００５を描いた場合の構造化データの生成処理は、図３８に示したストローク１１００２を描いた場合の構造化データの生成処理と同じである。図４１のストローク１１００５を描いたジェスチャによって、図３４に示すオブジェクト１１０５に対するノード８００６が、ノード８００５の子の関係の位置に生成される。このようにして、生成された構造化データは、上述した第１の実施の形態における図２３〜図２８に示す操作によって生成された構造化データと全く同じである。
【０１５０】
以上のようにして、本実施の形態に係る生成装置によると、１つのジェスチャに対して複数のアクション情報データを割り当てる。これにより、操作部５００を用いてストロークを描く操作がより容易になる。このようなより容易な操作によって、オブジェクトデータの各オブジェクトに意味を持たせ、かつ、各オブジェクトの親子関係（階層関係）を保持した、構造化データを生成することができる。
【０１５１】
＜第３の実施の形態＞
以下に、本発明の第３の実施の形態に係る生成装置について説明する。第１の実施の形態および第２の実施の形態と同様に、本実施の形態に係る生成装置は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることができる。本実施の形態に係る生成装置は、第１の実施の形態および第２の実施の形態に係る生成装置において実行される操作検出処理（Ｓ３０００）とは異なる操作検出処理を実行して、一筆書きを中断した後に継続した場合でも、オブジェクトに対して構造化データを生成したり、編集したり、削除したりする。なお、生成装置のハードウェア構造（図１および図２）およびフローチャート（図１８、図２０〜図２２）については、上述した第１の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
【０１５２】
［生成装置で実行されるソフトウェア構造］
本実施の形態に係る生成装置１００の制御部は、操作部５００によるストロークを描く操作の継続が中断した場合に、別の操作によって操作の継続が中断していないとみなして、継続したストロークとする処理を実行する（ストロークを描く操作の再開を判定）。
【０１５３】
図４２は、上述した図１９に対応する操作検出処理のフローチャートである。なお、図４２において図１９と異なるのは、Ｓ３３００にてストロークが継続していないと判定された場合に（Ｓ３３００にてＮＯ）、Ｓ３５５０の処理にて、継続を示す別の操作が特定できるか否かに基づいて処理を分岐する点である。これ以外の処理は同じであり、同じステップ番号を付してあるので、それらについてのここでの詳細な説明は繰返さない。
【０１５４】
Ｓ３５５０にて、制御部２００は、継続を示す別の操作が特定できるか否かを判定する。継続を示す別の操作が特定できるかと判定されると（Ｓ３５５０にてＹＥＳ）、処理は、Ｓ３１００へ移されて、ストロークを継続する処理へ戻される。もしそうでなく、継続を示す別の操作が特定できると判定されないと（Ｓ３５５０にてＮＯ）、処理は、Ｓ３６００へ移されて、ストロークの継続が完了したことを示す完了フラグが付加される。
【０１５５】
このようなＳ３５５０における継続を示す別の操作とは、たとえば、キーボード５１０の任意のキーに対して、タブレット５３０でストロークを描く操作を中断した場合にも継続しているものとみなす処理を、割り当てることが考えられる。このとき、タブレット５３０でストロークを描いている最中に、キーボード５１０で任意のキーを押下することで、タブレット５３０のストロークを描くことを中断しても、ストロークを描くことが継続されているとみなされる。このため、タブレット５３０によるストロークを描くことを再開した場合に、先に中断したストロークから継続してストロークを描くことが可能となる。
【０１５６】
このように操作部５００の組み合わせにより、ストロークを描く操作が途中で中断しても、再開した場合にストロークを継続して描いているとして処理を続けることができる。
【０１５７】
＜第４の実施の形態＞
以下に、本発明の第４の実施の形態に係る生成装置について説明する。第１の実施の形態〜第３の実施の形態と同様に、本実施の形態に係る生成装置は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることができる。本実施の形態に係る生成装置は、第１の実施の形態に係る生成装置において適用されたジェスチャ情報データとは異なるジェスチャ情報データを適用して、オブジェクトに対して構造化データを生成したり、編集したり、削除したりする。なお、生成装置のハードウェア構造（図１および図２）およびフローチャート（図１８〜図２２）については、上述した第１の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
【０１５８】
［データ構造］
本実施の形態に係る生成装置１００は、操作部５００を用いたストロークを描く操作が、マルチタッチパネルにより複数のストロークを同時に描画しても、その操作に対応して、オブジェクトに対して構造化データを生成したり、編集したり、削除したりすることができる。これを実現するために、記憶部３００に記憶される、ジェスチャ情報データについて説明する。
【０１５９】
・ジェスチャ情報データ
本実施の形態に係る生成装置１００においては、複数のストロークに対してアクション情報データが割り当てられる。すなわち、図４３に示すように、図１１および図３６に示したジェスチャ情報データとは異なるジェスチャ情報データが、本実施の形態に係る生成装置１００の記憶部３００に記憶される。
【０１６０】
図４３は、ジェスチャの内容が複数のストロークにより構成される場合のジェスチャ情報データである。たとえば、複数のストロークにより構成されるジェスチャの内容とは、図４３に示すように、ストロークの１つ目が円を描くジェスチャであり、ストロークの２つ目が線を描くジェスチャであるなどである。
【０１６１】
この場合、操作部５００によって描かれた複数のストロークのそれぞれに対して、ジェスチャ情報データと比較する。ジェスチャ情報データとして記憶されたジェスチャ内容における複数のストロークと、操作部５００によって描かれた複数のストロークとが一致した場合、ジェスチャが特定される（Ｓ４０００）。
【０１６２】
このように、複数のストロークの組み合わせによりジェスチャ内容を構成することで、より詳細なアクション情報データを割り当てることができる。その結果、構造化データの生成が、より
容易となる。
【０１６３】
なお、本実施の形態において、複数のストロークについての処理は、上述した処理に限定されるものではなく、別の公知の処理であっても構わない。
【０１６４】
また、複数のストロークを描画する場合もマルチタッチパネルに限定されるものではない。たとえば、第３の実施の形態のようにストロークを描く操作を中断する処理との組み合わせなどによって構成されてもよいし、操作部５００の複数のデバイスによるストロークの描画で入力となる構成であってもよい。
【０１６５】
＜変形例＞
以下に、上述した第１の実施の形態〜第４の実施の形態に共通する変形例について説明する。
【０１６６】
・ハードウェアについての別の構成
以下に、生成装置１００のハードウェア構成について、別の構成を説明する。生成装置１００のハードウェア構成は、上述した構成に限定されるものではなく、以下のような構成であっても構わない。
【０１６７】
記憶部３００は、フラッシュメモリなどのメモリデバイスで構成されていても構わない。また、脱着可能なＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）カードまたはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどで構成されていても構わない。
【０１６８】
また、表示パネル４１０は、プラズマディスプレイ、有機または無機のＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）パネル、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などで構成されていても構わない。また、生成装置１００において、データを表示する対象は、ネットワーク７００により接続された機器であっても構わない。
【０１６９】
また、操作部５００は、上述したマルチタッチパネルのほかに、ボタンによる入力およびマイクによる音声入力などで構成しても構わない。
【０１７０】
外部インターフェイス部６００は、無線通信用のインターフェイスであっても有線通信用のインターフェイスであっても構わない。また、生成装置１００の各部のデータ送受信は、通信ケーブルまたは無線通信装置などを介して構成するものであっても構わない。
【０１７１】
ＣＰＵを含む制御部２００で実行されるプログラムは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）で実行されても構わないし、演算処理ユニットが回路として組み込まれているロジック回路などで実行されても構わない。また、制御部２００を実現するプログラムは、記憶部３００に記憶されるものに限定されない。外部インターフェイス部６００を介してネットワーク７００に接続された記憶装置に記憶され、そのネットワーク７００上の記憶装置からダウンロードするプログラムであっても構わない。さらに、このようなプログラムを記録した記録媒体から生成装置１００が備える読取装置を用いて読み込んでＣＰＵがこのプログラムを実行することにより制御部２００を実現するようにしても構わない。
【０１７２】
・データ構造についての別の構成
さらに、生成装置１００の記憶部３００に記憶される各データについて、別の構造を説明する。各データは、上述した図に示される内容に限定するものではなく、以下のような内容であっても構わない。
【０１７３】
オブジェクトデータ３１０は、位置と範囲とを示す情報およびその内容を示す情報が含まれていればよく、図３５に示したように、ＸＭＬなどの記述言語により構成された文書データであっても構わない。
【０１７４】
構造化データは、テキストまたは画像などの要素のデータと、そのデータに対する意味を保持でき、かつ、親子関係のデータ構造の情報を保持できれば、ＸＭＬなどの記述言語により構成されるデータに限定されるものではない。
【０１７５】
ストロークデータ３２０は、本実施の形態においては、座標データとしたが、座標データに限定されるものではない。ストロークの方向を示すデータ列またはベクトルデータなど、公知の他のデータ形式であっても構わない。
【０１７６】
ジェスチャ情報データも、本実施の形態においては、ジェスチャの内容を座標データとしたが、座標データに限定されるものではない。ストロークデータ３２０と同様に、公知の別のデータ形式であってよい。
【０１７７】
ジェスチャ情報データとストロークデータ３２０とのマッチング処理も、公知のアルゴリズムを用いた処理であっても構わない。また、ジェスチャ情報データは、本実施の形態においては予め準備されたデータであるとしたが、ジェスチャの内容は、操作部５００による操作がジェスチャとして認識できるものであれば限定されるものではない。また、ジェスチャとアクション情報データとの組み合わせも限定するものではなく、ユーザが編集して様々な組み合わせを実現できる構成であっても構わない。
【０１７８】
・情報についての別の構成
上述した実施の形態においては、２次元座標により特定される２次元情報を処理の対象としたものであったが、３次元情報であっても構わない。
【０１７９】
今回開示された実施の形態は単に例示であって、本発明が上述した実施の形態のみに限定されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内でのすべての変更を含む。
【符号の説明】
【０１８０】
１００  オブジェクト構造化データ生成装置（生成装置）
２００  制御部
３００  記憶部
４１０  表示パネル
５００  操作部
５１０  キーボード
５２０  マウス
５３０  タブレット
６００  外部インターフェイス部
７００  ネットワーク
【図１】
0005620113.tif 000002
【図２】
0005620113.tif 000003
【図３】
0005620113.tif 000004
【図４】
0005620113.tif 000005
【図５】
0005620113.tif 000006
【図６】
0005620113.tif 000007
【図７】
0005620113.tif 000008
【図８】
0005620113.tif 000009
【図９】
0005620113.tif 000010
【図１０】
0005620113.tif 000011
【図１１】
0005620113.tif 000012
【図１２】
0005620113.tif 000013
【図１３】
0005620113.tif 000014
【図１４】
0005620113.tif 000015
【図１５】
0005620113.tif 000016
【図１６】
0005620113.tif 000017
【図１７】
0005620113.tif 000018
【図１８】
0005620113.tif 000019
【図１９】
0005620113.tif 000020
【図２０】
0005620113.tif 000021
【図２１】
0005620113.tif 000022
【図２２】
0005620113.tif 000023
【図２３】
0005620113.tif 000024
【図２４】
0005620113.tif 000025
【図２５】
0005620113.tif 000026
【図２６】
0005620113.tif 000027
【図２７】
0005620113.tif 000028
【図２８】
0005620113.tif 000029
【図２９】
0005620113.tif 000030
【図３０】
0005620113.tif 000031
【図３１】
0005620113.tif 000032
【図３２】
0005620113.tif 000033
【図３３】
0005620113.tif 000034
【図３４】
0005620113.tif 000035
【図３５】
0005620113.tif 000036
【図３６】
0005620113.tif 000037
【図３７】
0005620113.tif 000038
【図３８】
0005620113.tif 000039
【図３９】
0005620113.tif 000040
【図４０】
0005620113.tif 000041
【図４１】
0005620113.tif 000042
【図４２】
0005620113.tif 000043
【図４３】
0005620113.tif 000044