JP5620113B2 - 構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体 - Google Patents

構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体 Download PDF

Info

Publication number
JP5620113B2
JP5620113B2 JP2010013903A JP2010013903A JP5620113B2 JP 5620113 B2 JP5620113 B2 JP 5620113B2 JP 2010013903 A JP2010013903 A JP 2010013903A JP 2010013903 A JP2010013903 A JP 2010013903A JP 5620113 B2 JP5620113 B2 JP 5620113B2
Authority
JP
Japan
Prior art keywords
data
structured data
stroke
gesture
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010013903A
Other languages
English (en)
Other versions
JP2011154430A (ja
Inventor
門脇 幹宏
幹宏 門脇
岡本 直樹
直樹 岡本
智雄 光冨
智雄 光冨
吉洋 福田
吉洋 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2010013903A priority Critical patent/JP5620113B2/ja
Publication of JP2011154430A publication Critical patent/JP2011154430A/ja
Application granted granted Critical
Publication of JP5620113B2 publication Critical patent/JP5620113B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータで表示されるオブジェクトについての構造化データを処理する装置に関し、特に、オブジェクトについてのリンク関係等を含む構造化データを、容易に作成したり編集したり削除したりすることのできる構造化データ処理装置に関係がある。さらに、本発明は、それらの装置における構造化データ処理方法、その方法を実現するためのプログラムおよびそのプログラムを記録した記録媒体にも関係がある。
従来から、電子データであるテキストデータおよび/または画像データで構成されるオブジェクトデータを、データに対する意味を付加するために、または、データの親子関係(階層関係)を示す階層構造を付加するために、構造化データとして表現する技術が知られている。
この構造化データとは、たとえば、XML(Extensible Markup Language)などの記述言語により構成されるデータである。XMLでは、タグと呼ばれる特定の文字列によりオブジェクトデータを示し、タグの属性でデータに対する意味を付加することが可能であり、かつ、タグの子の要素として別のタグを記述することで、オブジェクトデータの親子関係(階層関係)を示すことが可能である。
最近では、操作デバイスと表示デバイスとを備えた計算機用のGUI(Graphical User Interface)の発達により、視覚的に表現されたグラフィカルオブジェクトの間を線分で結ぶことによりリンク情報を生成することが行われている。
特開2004−110584号公報(特許文献1)は、マウスまたはタブレットなどの操作デバイスを用いてストロークを描画することにより、オブジェクト間のリンク情報を生成するリンク生成装置を開示する。このリンク生成装置は、入力装置からのストローク情報の形状を検出する形状検出部と、形状検出部により検出した形状の検出位置にオブジェクトがあるか否かを検出するオブジェクト検出部と、形状検出部が検出した形状に従ってオブジェクト検出部が検出したオブジェクト間をリンク状態とするリンク生成部とを有する。
このリンク生成装置によると、リンクオブジェクトのストロークをオブジェクトに交差するように描画してリンクするオブジェクトを検出し、その交差した順にリンク線分を生成するため、GUI操作におけるリンク編集操作が簡単になる。その結果、このリンク生成装置を用いると、オブジェクト間に何らかの関係性がある状態を持たせるリンク情報を生成したり編集したりする際の操作性を向上することができる。
特開2004−110584号公報
しかしながら、この特許文献1に開示されたリンク生成装置においては、ユーザ操作のストロークで示された対象となるオブジェクトのリンクのみを生成するため、対となる並列な関係のみのリンク情報しか生成することができない。すなわち、このリンク生成装置でオブジェクトの従属関係または親子関係を含めた複雑な文書構造を生成する場合には、対象となるオブジェクトをストロークでリンクする作業を、繰り返し行う必要があるという問題が生じる。
また、このリンク生成装置においては、対象となるオブジェクトの関係のみを生成しており、文書構造の重要な要素となるオブジェクトの意味を付加することは行っていない。このため、このリンク生成装置でオブジェクトの意味を付加ためには、別途、オブジェクトを選択してオブジェクトの意味を付加する作業を、繰り返し行う必要があるという問題が生じる。
従って、本発明の目的は、処理対象であるオブジェクトに、ユーザにより入力されたN次元情報(たとえば、N=2、3)により、データ属性などの意味を付加したりオブジェクトの階層構造を示したりする構造化データを容易に処理(生成、編集および削除)することのできる、構造化データ処理装置、その装置における構造化データ処理方法、その構造化データ処理方法を実現するためのプログラムおよびそのプログラムを記録した記録媒体を提供することである。
本発明のある局面に係る構造化データ処理装置は、オブジェクトを表示するための表示手段と、表示されたオブジェクトに対してユーザにより入力されたN次元情報を検出するための検出手段と、検出されたN次元情報に基づいて、予め定められた時間におけるN次元座標の集合を特定するための特定手段と、特定された座標の集合に基づいて、処理対象のオブジェクトを特定するためのオブジェクト特定手段と、特定された座標の集合に基づいて、描画された図形を特定するための図形特定手段と、図形に関連付けて、オブジェクトに対する処理指示を予め記憶するための記憶手段と、特定された図形に関連付けられた処理指示を取得するための処理指示取得手段と、取得された処理指示に応じて、処理対象のオブジェクトに対する構造化データを処理するための処理手段とを含む。
本発明の別の局面に係る構造化データ処理方法は、オブジェクトを表示する表示ユニットと、ユーザが操作する操作ユニットと、記憶ユニットと、演算ユニットとを備えた構造化データ処理装置における処理方法である。この処理方法は、オブジェクトを表示ユニットに表示するステップと、表示されたオブジェクトに対してユーザにより入力されたN次元情報を検出するステップと、検出されたN次元情報に基づいて、予め定められた時間におけるN次元座標の集合を特定するステップと、特定された座標の集合に基づいて、処理対象のオブジェクトを特定するステップと、特定された座標の集合に基づいて、描画された図形を特定するステップと、記憶ユニットに、図形に関連付けて、オブジェクトに対する処理指示を予め記憶するステップと、特定された図形に関連付けられた処理指示を取得するステップと、取得された処理指示に応じて、処理対象のオブジェクトに対する構造化データを処理するステップとを含む。これらのステップは、演算ユニットにより実行される。
これらの構造化データ処理装置および構造化データ処理方法によると、表示されたオブジェクトに対してユーザにより入力されたN次元情報(たとえばマウスまたはタブレットにより入力された2次元または3次元の座標情報であるがここでは2次元とする)に基づいて2次元座標の集合が特定される。これは、たとえば、タブレットペンにより描画されたストロークである。このストロークに基づいて処理対象のオブジェクトが特定されるとともに、ストロークに基づいて図形が特定され、特定された図形に関連付けられた処理指示が取得される。すなわち、表示さえたオブジェクトを見たユーザが入力した2次元情報により、処理対象のオブジェクトが特定でき、処理指示が取得できる。特定されたオブジェクトに対する構造化データが、処理指示に従って処理(生成、編集および削除)される。その結果、ユーザにより入力された2次元情報により、データ属性などの意味を付加したりオブジェクトの階層構造を示したりする構造化データを容易に処理することができる。
記憶手段は、図形と、図形およびオブジェクトの位置関係とに関連付けて、処理指示を記憶するための手段を含むように構成することができる。
このようにすると、ユーザにより入力された2次元情報により特定される図形が、オブジェクトが表示された領域の中にあるか否かにより区別できる処理指示を記憶させることができる。このため、多くの種類の処理指示を記憶させて、オブジェクトの構造化データに対して様々な処理を行うことができる。
記憶手段は、図形とオブジェクトとが重畳するか否かに応じて異なる処理指示を記憶するための手段を含むように構成することができる。
このようにすると、ユーザにより入力された2次元情報により特定される図形が、オブジェクトが表示された領域の中に描画されているときと、領域の外に描画されているときとで異なる処理指示を記憶させることができる。このため、多くの種類の処理指示を記憶させて、オブジェクトの構造化データに対して様々な処理を行うことができる。
記憶手段は、図形がオブジェクトを特定する場合には、特定されたオブジェクトの属性を付加するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、処理対象のオブジェクトに属性が付加された構造化データを生成するための手段を含むように構成することができる。また、記憶手段は、図形が複数のオブジェクトを特定する場合には、複数のオブジェクトの関係を付加するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、処理対象の複数のオブジェクトの関係を示す構造化データを生成するための手段を含むように構成することができる。
このようにすると、ユーザにより入力された2次元情報により特定される図形により、1または2以上のオブジェクトが特定される場合にはそのオブジェクトの属性を構造化データに付加するように処理して、複数のオブジェクトが特定される場合にはそれらのオブジェクトの間の関係を構造化データが示すように処理することができる。このため、図形が特定するオブジェクトの数が異なると、異なる種類の処理指示を記憶させて、オブジェクトの構造化データに対して様々な処理を行うことができる。
記憶手段は、図形が複数のオブジェクトを特定する場合には、複数のオブジェクトの階層関係を付加するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、処理対象の複数のオブジェクトの階層関係を示す構造化データを生成するための手段を含むように構成することができる。また、記憶手段は、複数のオブジェクトの階層関係を変更するという処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、構造化データにおける階層関係を変更するための手段を含むように構成することができる。
このようにすると、ユーザにより入力された2次元情報により特定される図形により、複数のオブジェクトが特定される場合にはそれらのオブジェクトの間の階層関係を構造化データが示すように処理することができる。この場合において、構造化データにおける改造関係を変更できるので、オブジェクトの構造化データにおける階層関係について様々な処理を行うことができる。
図形は、円、線およびオブジェクト間で繰返される線のいずれかであるように構成することができる。さらに、図形は、オブジェクトに重畳して描画された、円および線のいずれかであるように構成することができる。
これらの図形の種類および図形がオブジェクトに重畳して描画されているか否かに基づいて、処理指示を細かく記憶させておくことができる。このため、オブジェクトの構造化データに対して様々な処理を行うことができる。
特定手段は、ユーザにより描画されたジェスチャをN次元座標の集合として特定するための手段を含むように構成することができる。
このようにすると、2次元座標の集合によりユーザのジェスチャを特定して、そのジェスチャに関連付けられた指示情報を取得して、オブジェクトに対する構造化データを処理することができる。
特定手段は、ユーザにより描画された一筆書きの軌跡をN次元座標の集合として特定するための手段を含むように構成することができる。この場合において、特定手段は、一筆書きが中断された場合であっても、予め定められた条件を満足する場合には、中断された前後における描画を一筆書きの軌跡として特定するための手段を含むように構成することができる。
このようにすると、2次元座標の集合によりユーザの一筆書きを特定して、その一筆書きに関連付けられた指示情報を取得して、オブジェクトに対する構造化データを処理することができる。この場合において、一筆書きが一旦中断した場合であっても、中断された前後における描画を一筆書きの軌跡として特定することができ、一筆書きの不得意なユーザの要求に応えることができる。
記憶手段は、図形に関連付けて、複数の処理指示を記憶するための手段を含むように構成することができる。この場合において、処理手段は、複数の処理指示に応じて、処理対象のオブジェクトに対する構造化データを処理するための手段を含むように構成することができる。
このようにすると、図形をユーザが描画するだけで複数の処理指示を取得して、オブジェクトの構造化データについて複数の処理を行うことができる。このため、少ない操作で複数の処理を行うことができる。
検出手段は、複数の図形に対応するN次元情報を検出するための手段を含むように構成することができる。この場合において、図形特定手段は、複数の図形を特定するための手段を含み、処理指示取得手段は、特定された複数の図形に関連付けられた複数の処理指示を取得するための手段を含むように構成することができる。
ユーザが複数の図形に対応する2次元情報を入力した場合には、特定された複数の図形に関連付けられた複数の処理指示が取得され、オブジェクトの構造化データについて複数の処理を行うことができる。このため、複数の処理指示を一度に取得して、複数の処理を行うことができる。
本発明のさらに別の局面に係るプログラムは、上述した構造化データ処理方法を、表示ユニットと操作ユニットと記憶ユニットとを備えたコンピュータにおいて実現させる。本発明のさらに別の局面に係る記録媒体は、このようなプログラムを記録したコンピュータ読み取り可能な記録媒体である。
このプログラムおよび記録媒体によると、表示ユニットと操作ユニットと記憶ユニットとを備えたコンピュータを用いて、表示ユニットに表示されたオブジェクトに対してユーザにより入力された2次元情報に基づいて、処理対象であるオブジェクトに、データの属性を付加したり階層構造を示したりする構造化データを容易に処理(生成、編集および削除)することができる。
本発明によると、処理対象であるオブジェクトに、ユーザにより入力されたN次元情報により、データ属性などの意味を付加したりオブジェクトの階層構造を示したりする構造化データを容易に処理(生成、編集および削除)することができる。
本発明の第1の実施の形態に係る生成装置の外観図である。 本発明の第1の実施の形態に係る生成装置の制御ブロック図である。 オブジェクトデータの表示例を示す図である。 図3におけるオブジェクトの領域を示す図である。 図3におけるオブジェクトの座標系を示す図である。 オブジェクトデータのテキストファイルを示す図である。 オブジェクトデータのメモリ上の配置を示す図である。 ストロークデータを示す図である。 図8におけるストロークデータの座標系を示す図である。 ストロークデータのメモリ上の配置を示す図である。 ジェスチャ情報データを示す図である。 ジェスチャ情報データのメモリ上の配置を示す図である。 アクション情報データを説明する図(その1)である。 アクション情報データを説明する図(その2)である。 オブジェクト特定データのメモリ上の配置を示す図である。 構造化データを示す図である。 構造化データのメモリ上の配置を示す図である。 本発明の第1の実施の形態に係る生成装置において実行される生成処理を示すフローチャート(メインルーチン)である。 図18における操作検出処理(サブルーチン)を示すフローチャートである。 図18におけるジェスチャ特定処理(サブルーチン)を示すフローチャートである。 図18における対象オブジェクト特定処理(サブルーチン)を示すフローチャートである。 図18における構造化データ生成処理(サブルーチン)を示すフローチャートである。 ユーザ操作の具体例を示す図(その1)である。 ユーザ操作の具体例を示す図(その2)である。 ユーザ操作の具体例を示す図(その3)である。 ユーザ操作の具体例を示す図(その4)である。 ユーザ操作の具体例を示す図(その5)である。 ユーザ操作の具体例を示す図(その6)である。 ユーザ操作に対する構造化データ生成状態の具体例を示す図(その1)である。 ユーザ操作に対する構造化データ生成状態の具体例を示す図(その2)である。 ユーザ操作に対する構造化データ生成状態の具体例を示す図(その3)である。 ユーザ操作に対する構造化データ生成状態の具体例を示す図(その4)である。 ユーザ操作に対する構造化データ生成状態の具体例を示す図(その5)である。 ユーザ操作に対する構造化データ生成状態の具体例を示す図(その6)である。 構造化データをXMLファイルとして構成した例を示す図である。 本発明の第2の実施の形態に係る生成装置に記憶されるジェスチャ情報データを示す図である。 ユーザ操作の具体例を示す図(その7)である。 ユーザ操作の具体例を示す図(その8)である。 ユーザ操作の具体例を示す図(その9)である。 ユーザ操作の具体例を示す図(その10)である。 ユーザ操作の具体例を示す図(その11)である。 本発明の第3の実施の形態に係る生成装置で実行される操作検出処理のフローチャートを示す図である。 本発明の第4の実施の形態に係る生成装置に記憶されるジェスチャ情報データを示す図である。
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの機能および名称も同一である。従って、それらについての詳細な説明は繰返さない。なお、以下においては、本発明に係る、オブジェクトについての構造化データ処理装置を、オブジェクト構造化データ生成装置と記載する。
<第1の実施の形態>
[オブジェクト構造化データ生成装置の概略構成]
図1に示す外観図を参照して、本実施の形態に係るオブジェクト構造化データ生成装置100の概略構成について説明する。図1に示すように、このオブジェクト構造化データ生成装置100は、演算ユニット(後述する制御部200)および記憶ユニット(後述する記憶部300)を備えたコンピュータと、周辺機器としての表示パネル410(出力媒体)および操作部500とを備える。
このオブジェクト構造化データ生成装置100は、周辺機器である表示パネル410に、処理対象であるオブジェクトデータ310を表示する。表示パネル410に表示されたオブジェクトデータ310に対して、キーボード510、マウス520およびタブレット530(板状の入力デバイスであって入力ペンとともに用いられる)等の操作部500をユーザが操作する。この操作に対応して、表示パネル410のオブジェクトデータ310上にストロークデータ320が表示される。オブジェクト構造化データ生成装置100は、ユーザによる操作に対応するストロークデータ320から、ジェスチャ情報データに基づいてジェスチャを特定し、オブジェクト特定データを生成して、ストロークデータ320の対象となるオブジェクトデータ310を特定する。オブジェクト構造化データ生成装置100は、ジェスチャ情報データから取得のアクション情報データとオブジェクト特定データとに基づいて、構造化データを生成する。
なお、オブジェクト構造化データ生成装置100は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることもできる。この点で、オブジェクト構造化データ生成装置100は、オブジェクトについての構造化データを生成する装置に限られず、構造化データを編集または削除する装置とも言える。そのため、正確には、オブジェクト構造化データ生成装置100は、オブジェクト構造化データを生成、編集および削除装置である。この点において、オブジェクト構造化データ生成装置100は、構造化データを処理する装置である。以下においては、このオブジェクト構造化データ生成装置100を、単に生成装置100と記載する。
[生成装置の制御ブロック]
図2は、本実施の形態に係る生成装置100の制御ブロック図である。この図2に示すように、この生成装置100は、CPU(Central Processing Unit)を含む制御部200、各種の記憶デバイスで構成される記憶部300、表示パネル410、操作部500および外部インターフェイス部600を備える。生成装置100を構成するこれらの各部間のデータ送受信は、CPUに接続されたバスが用いられる。
生成装置100を制御する制御部200は、記憶部300に記憶しているオブジェクトデータ310を、表示パネル410に表示させ、操作部500を用いたユーザによる操作に対応して、そのオブジェクトデータの構造化データを生成して、記憶部300に記憶する。
生成装置100は、外部インターフェイス部600を介してネットワーク700に接続されている。このようにネットワーク700に接続されていることにより、たとえば、ネットワーク700に接続された他の端末(図示しない)からオブジェクトデータ310を受信したり、生成装置100が生成した構造化データを他の端末へ送信したりすることができる。以下、生成装置100を構成する各部分について詳細に説明する。
・制御部200
制御部200は、生成装置100の全体を制御する。制御部200は、記憶部300または外部インターフェイス部600を介してネットワーク700に接続された記憶装置などからオブジェクトデータ310を取得して、表示パネル410で表示する。制御部200は、後述する生成処理で生成された構造化データを、記憶部300に書き込んだり、外部インターフェイス部600を介してネットワーク700に接続された記憶装置に書き込むために送信したりする。
・記憶部300
記憶部300は、生成装置100の記憶装置である。記憶部300は、たとえば、DRAM(Dynamic Random Access Memory)により構成される。記憶部300には、処理途中の一時的な記憶を含めると、オブジェクトデータ310、ストロークデータ320、ジェスチャ情報データ、アクション情報データ、オブジェクト特定データ、および構造化データが記憶される。記憶されるデータについての詳細な説明は後述する。
・表示パネル410
表示パネル410は、図示しない表示制御部を介して制御部200により制御される。表示制御部は、グラフィックカード上にVRAM(Video Random Access Memory)を備えている。表示制御部は、入力されるデータを一旦VRAMに格納する。表示制御部は、VRAMに入力されるデータを表示信号に変換して、表示パネル410に出力する。表示パネル410は、表示信号を画像として表示する。
・操作部500
操作部500は、生成装置100のユーザインターフェイスである。操作部500は、キーボード510、マウス520およびタブレット530を含む。生成装置100のユーザは、操作部500を用いて、表示するオブジェクトデータ310を選択したり、ストロークデータ320の生成について操作したりする。
・外部インターフェイス部600
外部インターフェイス部600は、生成装置100の外部とのインターフェイスであり、データを送受信する入出力インターフェイスである。外部インターフェイス部600は、ネットワークカードにより構成される。外部インターフェイス部600は、ネットワーク700に無線通信プロトコルで接続される。
[データ構造]
記憶部300に記憶される、オブジェクトデータ310、ストロークデータ320、ジェスチャ情報データ、アクション情報データ、オブジェクト特定データ、および構造化データについて説明する。
・オブジェクトデータ310
オブジェクトデータ310は、図3の表示1001で示すように、テキストデータまたは画像データなどから構成されるオブジェクトが配置されたレイアウトを生成できる。レイアウトの各オブジェクトを詳細に見ると、図4に示すように、オブジェクト1101、オブジェクト1102、オブジェクト1104およびオブジェクト1105はテキストデータを要素として含み、オブジェクト1103は画像データを要素として含む。さらに、各オブジェクトは、図5に示すように、位置情報(XY座標情報)により規定される。たとえば、オブジェクト1101は、オブジェクトの開始位置を示す座標(x1、y1)とオブジェクトの終了位置を示す座標(x2、y2)とで特定される矩形の範囲により規定される。
図6に、オブジェクトデータ310のテキストファイルの一例を示す。図6に示すように、オブジェクトデータ310は、1行ごとに各オブジェクトが記載される。各行においては、カンマで区切られた領域に、矩形を示す座標、テキストデータおよび画像データのいずれであるのかを示す要素、要素の具体的な内容が記載されている。このデータの読み込み処理を行った場合、メモリ上では、図7に示すデータ1301、データ1302およびデータ1303のように、各オブジェクトの開始位置を示す座標および終了位置を示す座標、要素、その内容の各データが、メモリアドレスに配置される。
・ストロークデータ320
ストロークデータ320は、図8に示すように、表示パネル410の表示領域2001内で操作部500により操作されるポインタ2002によって描かれる軌跡2003を示すデータである。詳細には、図9に示すように、2点(XY座標で規定される二次元平面状の点)を直線により繰り返し繋ぐパスにより、ストロークデータ320が表わされる。座標は、操作部500の操作を単位時間に区切った際の、操作部500による操作位置の座標を抽出することにより取得される。具体的には、ある時間に操作部500の操作位置は、座標(sx1、sy1)であり、次の時間に座標(sx2、sy2)であった場合、これらの2点を繋ぐ直線がストロークデータとなる。これらを繰り返すことで複雑なストロークを表現することができる。
また、操作部500の操作を完了した場合、最後の座標にストロークが完了していることを示す完了フラグが付加される。図9においては、座標(sxN、syN)の座標が白丸で示されており、この点でストロークが完了していることを示している。メモリ上では、図10のデータ2101に示すように、各座標データが複数メモリアドレスに配置され、ストロークデータが完了している場合にはデータの末尾に完了フラグが付加されている。
このように、ユーザの操作に基づいて、予め定められた時間における座標点の集合を特定することによりストロークデータ320が特定でき、このストロークデータ320を分析することにより、ユーザが操作部500を用いて描画した図形が特定できる。このようなユーザの一連の操作は、オブジェクトデータ310に対する処理(構造化データの生成処理)についてのユーザの意思表示となる。このような意思表示が、ジェスチャとして表わされる。
・ジェスチャ情報データ
ジェスチャ情報データは、図11に示すように、ストロークによるジェスチャの情報(ジェスチャ内容3001およびジェスチャイメージ3002)と、ジェスチャの対象オブジェクト3003と、ジェスチャによる構造化データの生成の仕方を示すアクション情報データ3004とから構成される。ジェスチャは、たとえば、線を引く、円を描く、などの内容があり、それぞれのジェスチャの内容が識別できるように、座標データが保持されている。対象オブジェクト3003は、ジェスチャの対象となるオブジェクトデータが存在しないか、または、存在して単数のオブジェクト内でのジェスチャであるか、または、存在して複数のオブジェクト間でのジェスチャであるかを示す。メモリ上では、図12に示すように各ジェスチャの座標情報と、対象オブジェクトの情報とそれに対応したアクション情報データがメモリアドレスに配置される。
・アクション情報データ
アクション情報データは、構造化データの生成の仕方の情報を保持しており、図11に示すアクション情報データ3004を例に説明する。図16のノード1に対して、オブジェクトに「見出し」の意味を付加するアクション情報データを処理すると、図13のノード4001のようにノード1に見出しという意味を付加することができる。また、図16のノード1を現在の階層の位置として、階層構造の階層の位置を下げるアクション情報データを処理すると、図14のノード4101の子のノード4102の位置が現在の階層の位置となる。また、逆にノード4102を現在の階層の位置として、階層構造の階層の位置を上げるアクション情報データを処理すると、図14のノード4102の親のノード4101の位置が現在の階層の位置となる。
・オブジェクト特定データ
オブジェクト特定データは、図15に示すようにオブジェクトデータ310の各オブジェクトがジェスチャ情報データのジェスチャの対象であるか否かを示すデータである。オブジェクト特定データは、オブジェクトデータ310のオブジェクトの個数と同じフラグを持ち、各オブジェクトがジェスチャの対象であるという情報とジェスチャ対象でないという情報を持つことができる。これにより、オブジェクトデータ310が、ジェスチャ情報データのジェスチャに対する対象オブジェクトであるか否かを判定できる。
・構造化データ
構造化データは、図16に示すノードというテキストデータまたは画像データなどを単位とするデータの集まりと、ノードの親子関係を保持するデータである。図16においては、たとえば、基準であるルートのノード0に対して、ノード1とノード4が子の関係にあり、ノード1とノード4に対してノード0は親の関係にある。また、ノード1とノード4は同じ親を持つ関係であり、ノード1とノード4は同じ階層のノードと表現する。親子関係は、親の関係の位置を1つ上の階層、子の関係の位置を1つ下の階層と表現することもできる。このとき、親子関係の基準とするノードは、現在の階層と表現できる。
これらに加えて、各ノードには、テキストデータまたは画像データなどの要素についての意味を持たせることもできる。たとえば、ノード1に対して「見出し」という意味を、ノード2に対して「本文」という意味を持たせることで、「見出し」というノード1に対して「本文」というノード2が親子関係にあるという情報を持たせることが可能である。図17は、構造化データのメモリ上での例であり、各ノードの要素に関する情報以外に、親子関係を示すノードの情報や、同じ階層に位置するノードとの関係を示す情報を保持している。
[生成装置で実行されるソフトウェア構造]
本実施の形態に係る生成装置100の制御部200は、記憶部300に記憶されているソフトウェア(プログラム)がCPUに読み込まれて実行されることにより、各種の処理を実現する。このように制御部200がソフトウェアを実行することにより、オブジェクトについての構造化データが生成される。
・生成処理プログラムの概要(メインフローチャート)
図18に示すように、オブジェクトについての構造化データを生成するために、オブジェクトデータ読み込み処理(S1000)、オブジェクトデータ表示処理(S2000)、操作検出処理(S3000)、ジェスチャ特定処理(S4000)、ジェスチャ検出判定処理(S5000)、対象オブジェクト特定処理(S6000)、構造化データ生成処理(S7000)、および終了判定処理(S8000)が、制御部200により実行される。以下、このような処理について、詳細に説明する。
ステップ(以下、ステップをSと略す。)1000にて、生成装置100の制御部200(以下、単に「制御部200」と記載する。)は、オブジェクトデータを読み込む。このとき、制御部200は、記憶部300、自己が備えるデータ読取装置(たとえば光ディスクからの読取装置)、または、外部インターフェイス部600を介してネットワーク700に接続された記憶装置から、オブジェクトデータ310を読み込むことにより、オブジェクトデータを取得する。その後、処理は、オブジェクト表示処理(S2000)へ移される。
S2000にて、制御部200は、取得したオブジェクトデータ310を解析して、表示パネル410にオブジェクトデータ310を表示する。その後、処理は、操作検出処理(S3000)へ移される。
S3000にて、制御部200は、表示パネル410に表示されたオブジェクトデータ310に対して、操作部500(キーボード510、マウス520またはタブレット530)を用いたユーザによる操作を検出する。このとき、制御部200は、ユーザが操作を行ったか否か、ユーザが操作した場合マウス520またはタブレット530などでボタンを押下した状態で継続的にストロークを指定する操作を行ったか否か、ボタンの押下を中断したか否かなどを検出する。制御部200は、ストロークを指定する操作が行われたことを検出した場合、ストロークデータ320を生成する。このような操作検出処理(S3000)はサブルーチン化されており、その詳細は後述する。その後(サブルーチンから戻ると)、処理は、ジェスチャ特定処理(S4000)へ移される。
S4000にて、制御部200は、操作検出処理で生成されたストロークデータ320を取得し、予めジェスチャの内容とジェスチャに対応するアクション情報とを対応付けたジェスチャ情報データに基づいて、ストロークデータが一致するジェスチャを特定する。このとき、制御部200は、一致するジェスチャが存在する場合、検出した旨の情報とともに一致したジェスチャ情報データを生成する。制御部200は、一致するジェスチャが存在しない場合、検出していない旨の情報を生成する。このようなジェスチャ特定処理(S4000)はサブルーチン化されており、その詳細は後述する。その後(サブルーチンから戻ると)、処理は、ジェスチャ検出判定処理(S5000)へ移される。
S5000にて、制御部200は、ジェスチャ特定処理(S4000)にてストロークデータ320からジェスチャを検出したか否かを判定する。ジェスチャを検出したと判定されると(S5000にてYES)、処理は、対象オブジェクト特定処理(S6000)へ移される。もしそうでなく、ジェスチャを検出したと判定されないと(S5000にてNO)、処理は、終了判定処理(S8000)へ移される。
S6000にて、制御部200は、オブジェクトデータ読み込み処理(S1000)にて取得したオブジェクトデータ310、操作検出処理(S3000)にて取得したストロークデータ320、および、ジェスチャ特定処理(S4000)にて取得したジェスチャ情報データに基づいて、検出されたジェスチャのストロークの対象となるオブジェクトデータ310を特定し、オブジェクト特定データを生成する。このような対象オブジェクト特定処理(S6000)はサブルーチン化されており、その詳細は後述する。その後(サブルーチンから戻ると)、処理は、構造化データ生成処理(S7000)へ移される。
S7000にて制御部200は、ジェスチャ特定処理(S4000)にて取得したジェスチャ情報データ、および、対象オブジェクト特定処理(S6000)にて取得したオブジェクト特定データに基づいて、構造化データを生成する。このとき、制御部200は、オブジェクト特定データからジェスチャの対象となるオブジェクトが存在するか否かを判定して、存在する場合には対象オブジェクトが複数であるか否かを判定する。制御部200は、その判定に応じて、ジェスチャ情報データからアクション情報データを取得し、アクション情報データに応じた構造化データを生成する。このような構造化データ生成処理(S7000)はサブルーチン化されており、その詳細は後述する。その後(サブルーチンから戻ると)、処理は、終了判定処理(S8000)へ移される。
S8000にて、制御部200は、オブジェクトデータについての構造化データを生成する処理を終了するか否かを判定する。このとき、制御部200は、操作検出処理(S3000)にて生成したストロークデータ320に基づいて、終了するか否かを判定する。ストロークデータ320に完了フラグが付加されている場合には処理を終了すると判定されて(S8000にてYES)、この処理を終了する。もしそうでなく、ストロークデータ320に完了フラグが含まれていない場合には処理を終了すると判定されないで(S8000にてNO)、処理は、操作検出処理(S3000)へ戻される。
・操作検出処理(S3000)
上述した図18の操作検出処理(S3000)について詳細に説明する。図19に示すように、サブルーチン化された操作検出処理(S3000)において、制御部200は、規定時間経過判定処理(S3100)、操作判定処理(S3200)、ストローク継続判定処理(S3300)、ストロークデータ追加処理(S3400)、ストロークデータ存在判定処理(S3500)、完了フラグ付加処理(S3600)、およびストロークデータ保存処理(S3700)を実行する。
S3100にて、制御部200は、規定時間が経過したか否かを判定する。このとき、制御部200は、たとえば、1秒という時間が予め設定されている場合、1秒を経過したか否かを判定する。規定時間が経過していると判定されないと(S3100にてNO)、処理は、操作判定処理(S3200)へ移される。もしそうでなく、規定時間が経過したと判定された場合(S3100にてYES)、処理は、ストロークデータ存在判定処理(S3500)へ移される。
S3200にて、制御部200は、操作部500を構成するキーボード510、マウス520およびタブレット530などで操作が行われた否かを判定する。たとえば、制御部200は、タブレット530の入力ペンを押下された状態でストロークを描く操作がされたことを検出すると、操作が行われたと判定する。操作が行われたと判定されると(S3200にてYES)、処理は、S3300へ移される。もしそうでなく、操作が行われたと判定されないと(S3200にてNO)、処理は、S3100へ戻される。
S3300にて、制御部200は、操作部500によるユーザの操作が、継続されたストロークであるか否かを判定する。このとき、たとえば、制御部200は、タブレット530の入力ペンを押下した状況でストロークを描き続けていると、操作部500によるユーザの操作が、継続されたストロークであると判定する。タブレット530の入力ペンが押下した状態から離す操作を行ったような場合には、継続されたストロークであると判定されない。継続されたストロークであると判定されると(S3300にてYES)、処理は、ストロークデータ追加処理(S3400)へ移される。もしそうでなく、継続されたストロークであると判定されないと(S3300にてNO)、処理は、完了フラグ追加処理(S3600)へ移される。
S3400にて、制御部200は、操作判定処理(S3200)、および、ストローク継続判定処理(S3400)で検出された操作の座標系をストロークデータ320として、記憶部300に追加して蓄積する。その後、処理は、規定時間経過判定処理(S3100)へ戻される。
S3500にて、制御部200は、ストロークデータ320に追加・蓄積された座標データが存在するか否かを判定する。ストロークデータ320に追加された座標データが存在すると判定されないと(S3500にてNO)、処理は、S3100へ戻される。もしそうでなく、ストロークデータ320に追加された座標データが存在すると判定されると(S3500にてYES)、処理は、ストロークデータ保存処理(S3700)へ移される。
S3600にて、制御部200は、ストロークデータ320の末端に、生成処理の完了を示す完了フラグを付加する。完了フラグは、上述した終了判定処理(S8000)において、生成処理のすべてを終了するか否かの判定にて用いられる。その後、処理は、ストロークデータ提供処理(S3700)へ移される。
S3700にて、制御部200は、ストロークデータ追加処理(S3400)にて追加・蓄積したストロークデータ320を後述の処理で取得して利用するためにデータを提供する。たとえば、制御部200によるデータの提供は、データのコピーであったり、データを保存したメモリのアドレスへの参照であったりする。その後、処理は、終了して、処理は、図18のS4000へ移される。これにより、操作検出処理(S3000)のすべての処理が完了する。
・ジェスチャ特定処理(S4000)
上述した図18のジェスチャ特定処理(S4000)について詳細に説明する。図20に示すように、サブルーチン化されたジェスチャ特定処理(S4000)において、制御部200は、ストロークデータ取得処理(S4100)、全ジェスチャ情報データ取得処理(S4200)、ストロークデータ解析処理(S4300)、ジェスチャ情報データ比較完了判定処理(S4400)、ジェスチャ情報データ取得処理(S4500)、ジェスチャ比較判定処理(S4600)、ジェスチャ検出情報提供処理(S4700)、およびジェスチャ非検出情報提供処理(S4800)を実行する。
S4100にて、制御部200は、操作検出処理(S3000)にて生成したストロークデータ320を取得する。その後、処理は、全ジェスチャ情報データ取得処理(S4200)へ移される。
S4200にて、制御部200は、予め設定されたジェスチャ情報データについてのすべてのデータを取得する。その後、処理は、ストロークデータ解析処理(S4300)へ移される。
S4300にて、制御部200は、ストロークデータ320内の座標データを解析する。このとき、制御部200は、ストロークの形状、ストロークの方向などストロークに関する情報を生成する。その後、処理は、ジェスチャ情報データ比較完了判定処理(S4400)へ移される。
S4400にて、制御部200は、全ジェスチャ情報データ取得処理(S4200)にて取得したすべてのジェスチャ情報データに対して、後述のジェスチャ比較判定処理(S4600)が完了したが完了したか否かを判定する。すべてのジェスチャ情報データとの比較が完了したと判定されないと(S4400にてNO)、処理は、ジェスチャ情報データ取得処理(S4500)へ移される。もしそうでなく、すべてのジェスチャ情報データとの比較が完了したと判定されると(S4400にてYES)、処理は、ジェスチャ非検出情報提供処理(S4800)へ移される。
S4500にて、制御部200は、全ジェスチャ情報データ取得処理(S4200)にて取得したすべてのジェスチャ情報データから、ジェスチャ情報データの1つを順に取得する。その後、処理は、ジェスチャ比較判定処理(S4600)へ移される。
S4600にて、制御部200は、ストロークデータ解析処理(S4300)にて解析したストロークデータ320と、ジェスチャ情報データ取得処理(S4500)にて取得したジェスチャ情報データのジェスチャとが、同じジェスチャであるか否かを判定する。このとき、たとえば、制御部200は、ストロークデータ解析処理(S4300)にて解析したストロークの形状が一致するかについてマッチング処理で判定したり、ストロークの方向が一致するか否かをマッチング処理で判定したりする。なお、ストロークデータ解析処理(S4300)にて解析した情報とジェスチャ情報データのジェスチャとの比較方法はこれに限定するものでなく、公知のジェスチャについてのマッチング処理を用いても構わない。ストロークデータ320とジェスチャ情報データのジェスチャの内容とがマッチング処理によって一致すると判定されると(S4600にてYES)、処理は、ジェスチャ検出情報提供処理(S4700)へ移される。もしそうでなく、ストロークデータ320とジェスチャ情報データのジェスチャの内容とがマッチング処理によって一致すると判定されないと(S4600にてNO)、処理は、ジェスチャ非検出情報提供処理(S4800)へ移される。
S4700にて、制御部200は、ジェスチャを検出した旨の情報を後述の処理(メインルーチン)へ返すとともに、一致したジェスチャ情報データをメインルーチンへ返す。その後、処理は、終了して、処理は、図18のS5000へ移され、ジェスチャ特定処理(S4000)のすべての処理が完了する。
S4800にて、制御部200は、ジェスチャを検出していない旨の情報を後述の処理(メインルーチン)へ返す。その後、処理は、終了して、処理は、図18のS5000へ移され、ジェスチャ特定処理(S4000)のすべての処理が完了する。
・対象オブジェクト特定処理(S6000)
上述した図18の対象オブジェクト特定処理(S6000)について詳細に説明する。図21に示すように、サブルーチン化された対象オブジェクト特定処理(S6000)において、制御部200は、ジェスチャ情報データ取得処理(S6100)、ストロークデータ取得処理(S6200)、座標情報取得処理(S6300)、全オブジェクトデータ取得処理(S6400)、オブジェクト特定データ生成処理(S6500)、全オブジェクトデータ比較完了判定処理(S6600)、オブジェクトデータ取得処理(S6700)、オブジェクトデータ範囲比較処理(S6800)、オブジェクト対象情報付加処理(S6810)、オブジェクト非対象情報付加処理(S6820)、およびオブジェクト特定データ提供処理(S6900)を実行する。
S6100にて、制御部200は、ジェスチャ特定処理(S4000)にて取得したジェスチャ情報データを取得する。その後、処理は、ストロークデータ取得処理(S6200)へ移される。
S6200にて、制御部200は、操作検出処理(S3000)にて取得したストロークデータ320を取得する。その後、処理は、座標情報取得処理(S6300)へ移される。
S6300にて、制御部200は、ジェスチャ情報データ取得処理(S6100)にて取得したジェスチャ情報データとストロークデータ取得処理(S6200)にて取得したストロークデータ320とに基づいて、ジェスチャ情報データ内のジェスチャのストロークデータ320上の座標を取得する。その後、処理は、全オブジェクトデータ取得処理(S6400)へ移される。
S6400にて、制御部200は、オブジェクトデータ読み込み処理(S1000)にて取得したオブジェクトデータ310のすべてを取得する。その後、処理は、オブジェクト特定データ生成処理(S6500)へ移される。
S6500にて、制御部200は、全オブジェクトデータ取得処理(S6400)にて取得したすべてのオブジェクトデータ310に対して、ジェスチャのストロークの対象か否かを特定するための情報を保持するデータの領域を生成する。ここで、制御部200は、データを保持するための領域を生成し、ジェスチャのストロークの対象か否かの情報は後述の処理で追加する。その後、処理は、全オブジェクトデータ比較完了判定処理(S6600)へ移される。
S6600にて、制御部200は、全オブジェクトデータ取得処理(S6400)にて取得したすべてのオブジェクトデータ310に対して、後述のオブジェクトデータ範囲比較処理(S6800)が行われたか否かを判定する。すべてのオブジェクトデータ310に対して比較が完了していると判定されないと(S6600にてNO)、処理は、オブジェクトデータ取得処理(S6700)へ移される。もしそうでなく、すべてのオブジェクトデータ310に対して比較が完了していると判定されると(S6600にてYES)、処理は、オブジェクト特定データ提供処理(S6900)へ移される。
S6700にて、制御部200は、全オブジェクトデータ取得処理(S6400)にて取得したすべてのオブジェクトデータ310から、オブジェクトデータ310の1つを取得する。その後、処理は、オブジェクトデータ範囲比較処理(S6800)へ移される。
S6800にて、制御部200は、座標情報取得処理(S6300)にて取得したジェスチャの座標が、オブジェクトデータ取得処理(S6700)にて取得したオブジェクトデータ310の範囲に含まれるか否かを判定する。ジェスチャの座標がオブジェクトデータ310の範囲に含まれると判定されると(S6800にてYES)、オブジェクトデータ310はジェスチャの対象オブジェクトとして、処理は、オブジェクト対象情報付加処理(S6810)へ移される。もしそうでなく、ジェスチャの座標がオブジェクトデータ310の範囲に含まれると判定されないと(S6800にてNO)、オブジェクトデータ310はジェスチャの対象オブジェクトではないとして、処理は、オブジェクト非対象情報付加処理(S6820)へ移される。
S6810にて、制御部200は、オブジェクトデータ範囲比較処理(S6800)にて対象オブジェクトであると判定された結果を受けて、オブジェクト特定データのオブジェクトデータ310に対応する箇所に対象オブジェクトである旨の情報を付加する。その後、処理は、全オブジェクトデータ比較完了判定処理(S6600)へ戻される。
S6820にて、制御部200は、オブジェクトデータ範囲比較処理(S6800)にて対象オブジェクトであると判定された結果を受けて、オブジェクト特定データのオブジェクトデータ310に対応する箇所に対象オブジェクトでない旨の情報を付加する。その後、処理は、全オブジェクトデータ比較完了判定処理(S6600)へ戻される。
S6900にて、制御部200は、オブジェクト特定データ生成処理(S6500)にて生成し、オブジェクト対象情報付加処理(S6810)およびオブジェクト非対象情報付加処理(S6820)にてデータを付加したオブジェクト特定データを後述の処理で取得できるように提供する。その後、処理は、終了して、処理は、図18のS7000へ移され、対象オブジェクト特定処理(S6000)のすべての処理が完了する。
・構造化データ生成処理(S7000)
上述した図18の構造化データ生成処理(S7000)について詳細に説明する。図22に示すように、サブルーチン化された構造化データ生成処理(S7000)において、制御部200は、ジェスチャ情報データ取得処理(S7100)、オブジェクト特定データ取得処理(S7200)、構造化データ取得処理(S7300)、対象オブジェクト存在判定処理(S7400)、対象オブジェクト複数判定処理(S7500)、オブジェクト外アクション情報データ取得処理(S7600)、オブジェクト内アクション情報データ取得処理(S7700)、オブジェクト間アクション情報データ取得処理(S7800)、対象オブジェクトデータ取得処理(S7900)、および構造化データ要素生成処理(S7950)を実行する。
S7100にて、制御部200は、ジェスチャ特定処理(S4000)にて取得したジェスチャ情報データを取得する。その後、処理は、オブジェクト特定データ取得処理(S7200)へ移される。
S7200にて、制御部200は、対象オブジェクト特定処理(S6000)にて取得したオブジェクト特定データを取得する。その後、処理は、構造化データ取得処理(S7300)へ移される。
S7300にて、制御部200は、既に構造化データ生成処理(S7000)を行い構造化データが存在する場合に、構造化データを取得する。その後、処理は、対象オブジェクト存在判定処理(S7400)へ移される。
S7400にて、制御部200は、オブジェクト特定データ取得処理(S7200)にて取得したオブジェクト特定データに基づいて、対象オブジェクトが存在するか否かを判定する。このとき、制御部200は、オブジェクト特定データに付加された対象オブジェクトか否かの情報が、すべて対象オブジェクトでない旨の情報を保持している場合、対象オブジェクトが存在しないと判定する。対象オブジェクトが存在すると判定されると(S7400にてYES)、処理は、対象オブジェクト複数判定処理(S7500)へ移される。もしそうでなく、対象オブジェクトが存在すると判定されないと(S7400にてNO)、処理は、オブジェクト外アクション情報取得処理(S7600)へ移される。
S7500にて、制御部200は、オブジェクト特定データ取得処理(S7200)にて取得したオブジェクト特定データに基づいて、対象オブジェクトが複数存在するか否かを判定する。このとき、制御部200は、オブジェクト特定データに付加された対象オブジェクトか否かの情報に対象オブジェクトである旨の情報が複数存在する場合、対象オブジェクトが複数存在すると判定する。対象オブジェクトが複数存在すると判定されないと(S7500にてNO)、処理は、オブジェクト内アクション情報取得処理(S7700)へ移される。もしそうでなく、対象オブジェクトが複数存在すると判定されると(S7500にてYES)、処理は、オブジェクト間アクション情報取得処理(S7800)へ移される。
S7600にて、制御部200は、オブジェクト特定データに対象オブジェクトが存在しない場合の処理として、ジェスチャ情報データ取得処理(S7100)にて取得したジェスチャ情報データからオブジェクト外の場合に適用するアクション情報データを取得する。その後、処理は、構造化データ要素生成処理(S7950)へ移される。
S7700にて、制御部200は、オブジェクト特定データに対象オブジェクトが存在する、かつ、単数で存在する場合の処理として、ジェスチャ情報データ取得処理(S7100)にて取得したジェスチャ情報データからオブジェクト内の場合に適用するアクション情報データを取得する。その後、処理は、対象オブジェクトデータ取得処理(S7900)へ移される。
S7800にて、制御部200は、オブジェクト特定データに対象オブジェクトが存在する、かつ、複数で存在する場合の処理として、ジェスチャ情報データ取得処理(S7100)にて取得したジェスチャ情報データからオブジェクト間の場合に適用するアクション情報データを取得する。その後、処理は、対象オブジェクトデータ取得処理(S7900)へ移される。
S7900にて、制御部200は、オブジェクト特定データに対象オブジェクトが存在する場合(単数および複数を問わず)の処理として、対象オブジェクトのオブジェクトデータ310を、オブジェクトデータ読み込み処理(S1000)にて取得したオブジェクトデータ310から取得する。その後、処理は、構造化データ要素生成処理(S7950)へ移される。
S7950にて、制御部200は、構造化データ取得処理(S7300)にて取得した構造化データと、オブジェクト外アクション情報取得処理(S7600)にて取得したアクション情報データとに基づいて、構造化データを生成する。このとき、制御部200は、対象オブジェクトが存在しない場合であるので、アクション情報データの内容に基づき構造化データを生成する。ここでは、たとえば、取得した構造化データの現在の階層の位置を変更する処理などが対応する。また、S7950にて、制御部200は、構造化データ取得処理(S7300)にて取得した構造化データと、オブジェクト内アクション情報取得処理(S7700)またはオブジェクト間アクション情報取得処理(S7800)にて取得したアクション情報データと、対象オブジェクトデータ取得処理(S7900)にて取得したオブジェクトデータ310とに基づいて、構造化データを生成する。このとき、制御部200は、対象オブジェクトが存在する場合であるので、アクション情報データの内容に基づき、オブジェクトデータ310を参照しつつ、構造化データを生成する。ここでは、たとえば、取得した構造化データの現在の階層の位置に、取得のオブジェクトデータ310に対応するノードを生成する処理などが対応する。その後、処理は、終了して、処理は、図18のS8000へ移され、構造化データ生成処理(S7000)のすべての処理が完了する。
[生成装置における動作(1ジェスチャ1アクション)]
以上のような構造およびフローチャートに基づく、本実施の形態に係る生成装置の動作について説明する。なお、以下においては、説明をわかりやすくするために、図4に示すオブジェクトデータに対して、操作部500の操作によって描かれるストロークのジェスチャによって生成される構造化データは、構造化データのノードの意味がデフォルトに「本文」という意味を保持することを想定する。また、生成される構造化データはルートのノードの1つ下の階層からデータを生成することを想定する。ジェスチャ情報データは図11に示すデータを用いることを想定する。
ユーザは、操作部500を操作して、オブジェクトデータ310を読み込むように指示する(S1000)。読み込まれたオブジェクトデータ310は、各オブジェクトの表示位置と表示する内容とが解析されて、表示パネル410に、図3に示すようなレイアウトで表示される(S2000)。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが操作部500を用いてストロークを描く。操作部500が操作されない状態が継続して、規定時間が経過しても(S3100にてYES)、ストロークデータ320が存在しないと(S3500にてNO)、次の規定時間が経過するまでユーザによる操作を検出する状態を繰り返す。すなわち、規定時間が経過する間(S3100にてNO)、ユーザにより操作部500が操作されたか否かを判定して、操作部500が操作されない場合(S3200にてNO)、操作部500が操作されたことを検出するまで待つ。
操作部500がユーザにより操作された場合、たとえば、図23に示すストローク7000のように操作部500の操作が継続的に行われてストロークが描かれた場合(S3200にてYESかつS3300にてYES)、操作部500における座標をストロークデータ320として追加・蓄積する(S3400)。
規定時間が経過したときに(S3100にてYES)、操作部500をユーザが操作した結果であるストロークデータ320が存在する場合には(S3500にてYES)、追加・蓄積したストロークデータ320がメインルーチンへ返される(S3700)。
ストローク7000がジェスチャに該当するか特定するために、生成されたストロークデータ320が取得される(S4100)。このとき、図11に示すジェスチャ情報データが取得される(S4200)。ストローク7000のストロークデータ320の座標データに基づいて、ストローク7000が線を描いたストロークであることが解析される(S4300)。図11に示すジェスチャ情報データの4つのデータと順に比較を行い(S4400にてNO、S4500)、取得されたジェスチャ情報データの1つとジェスチャの内容が一致するか否かを判定する(S4600)。ここでは、ストローク7000の解析したストロークが線を描くストロークであり、図11の線を描くジェスチャと一致するため(S4600にてYES)、ジェスチャを検出した旨の情報と、線を描くジェスチャ情報データをメインルーチンへ返す(S4700)。
ジェスチャを検出したので(S5000にてYES)、ジェスチャの対象となるオブジェクトデータ310が特定される。先の処理でジェスチャを検出したジェスチャ情報データが取得される(S6100)。操作部500をユーザが操作することにより生成されたストロークデータが取得されて(S6200)、ストロークデータからジェスチャの座標が取得される(S6300)。ここでは、線を描くジェスチャの具体的な座標を取得する。表示パネル410に表示のオブジェクトデータが取得されて(S6400)、取得されたオブジェクトデータからオブジェクト特定データが生成される(S6500)。
このとき、図4のオブジェクトデータ310のオブジェクトと同じ数の5つのフラグを設定できるオブジェクト特定データが生成される。すべてのオブジェクトについてオブジェクトデータ範囲比較処理されるまで(S6600にてNO)、オブジェクトが順番に比較処理されて、ジェスチャの対象オブジェクトが特定される。ここでは、図4のオブジェクト1101が取得されて(S6700)、ストローク内のジェスチャの座標がオブジェクト1101の範囲内の座標であるか否かが判定される。図23に示すように、線を描いたジェスチャのストローク7000は、オブジェクト1101の範囲内にあると判定されて(S6800にてYES)、オブジェクト特定データのオブジェクト1101に対応するフラグが、対象オブジェクトである旨の情報とされる(S6810)。繰り返して、オブジェクト1102、オブジェクト1103、オブジェクト1104およびオブジェクト1105の範囲には線を描いたジェスチャのストローク7001は含まれないことから、オブジェクト特定データのフラグが、対象オブジェクトでない旨の情報とされる(S6820)。すべてのオブジェクトデータとの比較が終わると(S6600にてYES)、生成したオブジェクト特定データが、次の処理のためにメインルーチンへ返される(S6900)。
ストロークデータからジェスチャと、ジェスチャの対象となるオブジェクトデータが特定できると構造化データが生成される。特定されたジェスチャ情報データが取得されて(S7100)、対象となるオブジェクトデータを判定するオブジェクト特定データが取得される(S7200)。ここまでの処理にてすでに生成された構造化データが存在する場合、構造化データが取得される(S7300)。ここでは、構造化データがまだ存在しないので、新規の構造化データが生成されることになる。
オブジェクト特定データから対象オブジェクトが存在するか否かが判定される(S7400)。ここでは、オブジェクト1101に対して対象オブジェクトであるフラグがあるので、対象オブジェクトが存在すると判定される(S7400にてYES)。次に、対象オブジェクトが複数存在するか否かが判定される(S7500)。ここでは、オブジェクト1101のみが対象オブジェクトであるフラグがあるので、対象オブジェクトは複数存在しないと判定する(S7500にてNO)。これによって、ストローク7000のジェスチャの対象オブジェクトは、オブジェクト1101のみと特定される(S7500にてYES)。ジェスチャ情報データから、線を描くジェスチャのうち、オブジェクト内に対応するアクション情報データが取得される(S7700)。対象オブジェクトであるオブジェクト1101のオブジェクトデータが取得し(S7900)、アクション情報データに応じた構造化データが生成される(S7950)。ここでは、図11において、線を描くジェスチャのオブジェクト内のアクション情報データは、現在の階層にオブジェクトと配置する処理であると規定されているため、構造化データのルートの1つ下の階層にオブジェクト1101の内容、すなわち、「問題1 面積」というテキストの要素が配置される。
このとき、図29に示すようにルートのノード8001の子のノードに、デフォルトの「本文」という意味を持つテキスト要素のノードが配置されることになる(S7950)。これにより、ストローク7000に対する構造化データの生成処理は、完了し、ストロークデータに完了フラグが付加されていないため(S8000にてNO)、再び、操作部500の操作を検出する処理を繰り返す(S3000)。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク7000に続けて、図24に示すストローク7001を描いた場合の構造化データの生成処理を説明する。なお、先に説明したストローク7000により生成される場合の動作と異なる動作にのみについて説明する。それ以外の動作について同じであるため、ここでの詳細な説明は繰返さない。
ストローク7001は、描かれたストロークの座標データに基づいて、円を描いたストロークであると解析されて(S4300)、図11のジェスチャ情報データのデータと比較される。図11に示す円を描くジェスチャとストローク7001とが一致することから(S4600にてYES)、ジェスチャを検出した旨の情報がメインルーチンへ返される(S4700)。ジェスチャの対象となるオブジェクトは、図24に示すオブジェクト1101のみであるオブジェクト特定データが生成されて(S6900)、ジェスチャ情報データから円を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される(S7700)。対象オブジェクトであるオブジェクト1101のオブジェクトデータが取得されて(S7900)、アクション情報に応じた構造化データが生成される(S7950)。
ここでは、図11において、円を描くジェスチャのオブジェクト内のアクション情報データは、オブジェクトに「見出し」の意味を付加する処理であると規定されているため、構造化データの現在の階層のオブジェクト1101に対応する先の処理で生成されたノード8002の意味を「見出し」とする。このような動作の結果、図29のノード8002の意味「本文」という構造化データが、図30のノード8002の意味「見出し」という構造化データへ編集される。ここでは、ジェスチャの内容は意味を付加するだけであり、ノード8002の階層の位置およびノードの内容は変更されず、ノードが新規に生成されることもない。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク7001に続けて、図25に示すストローク7002を描いた場合の構造化データの生成処理を説明する。ここでも、上述の説明と異なる動作のみについて説明する。
ストローク7002は、描かれたストロークの座標データに基づいて、繰り返し行き来するストロークであると解析されて(S4300)、図11のジェスチャ情報データのデータと比較される。図11に示す繰り返し行き来するジェスチャとストローク7002とが一致することから(S4600にてYES)ジェスチャを検出した旨の情報がメインルーチンへ返される(S4700)。ジェスチャの対象となるオブジェクトは、図25に示すオブジェクト1101およびオブジェクト1102であるオブジェクト特定データが生成されて(S6900)、ジェスチャ情報データから繰り返し行き来するジェスチャのうち、対象オブジェクトがオブジェクト間であるアクション情報データが取得される(S7800)。対象オブジェクトであるオブジェクト1101およびオブジェクト1102のオブジェクトデータが取得されて(S7900)、アクション情報に応じた構造化データが生成される(S7950)。
ここでは、図11において、繰り返し行き来をするジェスチャのオブジェクト間のアクション情報データは、階層構造の階層の位置を下げてオブジェクトを配置する処理であると規定されているため、構造化データの現在の階層の位置が1つ下げられる。このような動作の結果、図31に示すように、オブジェクト1101に対応するノード8002に、オブジェクト1102に対応するノード8003が子の関係として生成される。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク7002に続けて、図26に示すストローク7003を描いた場合の構造化データの生成処理を説明する。ここでも、上述の説明と異なる動作のみについて説明する。
ストローク7003は、描かれたストロークの座標データに基づいて、線を描いたストロークであると解析されて(S4300)、図11のジェスチャ情報データのデータと比較される。図11に示す線を描くジェスチャとストローク7003とが一致することから(S4600にてYES)、ジェスチャを検出した旨の情報がメインルーチンへ返される(S4700)。ジェスチャの対象となるオブジェクトは、図26に示すオブジェクト1103のみであるオブジェクト特定データが生成されて(S6900)、ジェスチャ情報データから線を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される(S7700)。対象オブジェクトであるオブジェクト1103のオブジェクトデータが取得されて(S7900)、アクション情報に応じた構造化データが生成される(S7950)。
ここでは、図11において、線を描くジェスチャのオブジェクト内のアクション情報データは、現在の階層にオブジェクトを配置する処理であると規定されている。このため、構造化データの現在の階層に、オブジェクトが配置される。このような動作の結果、図32に示すように、オブジェクト1103に対応するノード8004が生成される。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク7003に続けて、図27に示すストローク7004を描いた場合の構造化データの生成処理を説明する。
ストローク7004は、描かれたストロークの座標データに基づいて、円を描いたストロークであると解析されて(S4300)、図11のジェスチャ情報データのデータと比較される。図11に示す円を描くジェスチャとストローク7004とが一致することから(S4600にてYES)、ジェスチャを検出した旨の情報がメインルーチンへ返される(S4700)。ジェスチャの対象となるオブジェクトは、図27で示すように、1つもないというオブジェクト特定データが生成されて(S6900)、ジェスチャ情報データから円を描くジェスチャのうち、対象オブジェクトがオブジェクト外であるアクション情報データが取得される(S7600)。対象オブジェクトがないため、オブジェクトデータの取得はなく、アクション情報に応じた構造化データが生成される(S7950)。
ここでは、図11において、円を描くジェスチャのオブジェクト外のアクション情報データは、階層構造の階層の位置を上げる処理であると規定されているため、構造化データの現在の位置が1つ上げられる。このような動作の結果、図33の点線で示すノード8005が、現在の位置に配置される。このように、この時点ではノード8005は生成されていないが、次にノードを追加する場合の位置を分かり易く示すものである。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク7004に続けて、図28に示すストローク7005、ストローク7006およびストローク7007を描いた場合の構造化データの生成処理については、上述の通りである。すなわち、
ストローク7005でオブジェクト1104に対して線を描く処理は、ストローク7000でオブジェクト1101に対して線を描いた処理(図23)と同じであり、ストローク7006でオブジェクト1104に対して円を描く処理は、ストローク7001でオブジェクト1101に対して円を描いた処理(図24)と同じであり、ストローク7007でオブジェクト1104とオブジェクト1105との間を繰り返し行き来するストロークを描く処理は、ストローク7002でオブジェクト1101とオブジェクト1102との間を繰り返し行き来するストロークを描いた処理(図25)と同じである。
同様に処理を繰り返すことにより、図34に示す構造化データが生成される。図34に示すように、生成された構造化データは、ノード8002とノード8005とが同じ階層、かつ、「見出し」という意味を有しており、さらに、ノード8002の下位階層にノード8003およびノード8004が配置され、ノード8005の下位階層にノード8006が配置され、これらのノード8003、ノード8004およびノード8005は「本文」という意味を有している。
図34に示す構造化データを、構造化文書(たとえば、タグによって記載されたXMLなどの記述言語により構成された文書)として作成した場合のデータ例を、図35に示す。
以上のようにして、本実施の形態に係る生成装置によると、ユーザが操作部500を用いてストロークを描くだけの容易な操作により、オブジェクトデータの各オブジェクトに意味を持たせ、かつ、各オブジェクトの親子関係(階層関係)を保持した、構造化データを生成することができる。
<第2の実施の形態>
以下に、本発明の第2の実施の形態に係る生成装置について説明する。第1の実施の形態と同様に、本実施の形態に係る生成装置は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることができる。本実施の形態に係る生成装置は、第1の実施の形態に係る生成装置において適用されたジェスチャ情報データとは異なるジェスチャ情報データを適用して、オブジェクトに対して構造化データを生成したり、編集したり、削除したりする。なお、生成装置のハードウェア構造(図1および図2)およびフローチャート(図18〜図22)については、上述した第1の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
[データ構造]
記憶部300に記憶される、ジェスチャ情報データについて説明する。
・ジェスチャ情報データ
本実施の形態に係る生成装置100においては、1つのジェスチャに対して複数のアクション情報データが割り当てられる。すなわち、図36に示すように、図11に示したジェスチャ情報データとは異なるジェスチャ情報データが、本実施の形態に係る生成装置100の記憶部300に記憶される。
図36は、1つのジェスチャに対して複数のアクション情報データを割り当てた場合のジェスチャ情報データである。たとえば、図36において、円を描くジェスチャに対して、階層構造の階層の位置を変えた後に、オブジェクトを配置し、配置したオブジェクトの意味を付加して、さらに階層構造の階層の位置を変えるといった複数のアクション情報データが割り当てられている。このようにジェスチャ情報データでは、1つのジェスチャに対して複数のアクション情報データを割り当てる構成でもよい。
[生成装置における動作(1ジェスチャ多アクション)]
以上のような構造およびフローチャートに基づく、本実施の形態に係る生成装置の動作について説明する。なお、以下において、説明をわかりやすくするための想定は、第1の実施の形態と同じである。ジェスチャ情報データは、図11ではなく図36に示すデータが用いられる。また、ジェスチャに対するアクション情報データによる構造化データを生成する動作以外は、第1の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが操作部500を用いてストロークを描く。以下において、図37に示すストローク11001を描いた場合の構造化データの生成処理を説明する。
ストローク11001は、描かれたストロークの座標データに基づいて、円を描くストロークであると解析されて(S4300)、図36のジェスチャ情報データのデータと比較される。図36に示す円を描くジェスチャとストローク11001とが一致することから(S4600にてYES)、ジェスチャを検出した旨の情報がメインルーチンへ返される(S4700)。ジェスチャの対象となるオブジェクトは、図37に示すオブジェクト1101であるオブジェクト特定データが生成されて(S6900)、ジェスチャ情報データから円を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される(S7700)。対象オブジェクトであるオブジェクト1101のオブジェクトデータが取得されて(S7900)、アクション情報に応じた構造化データが生成される(S7950)。
ここでは、図36において、円を描くジェスチャのオブジェクト内のアクション情報データは、階層構造の階層の位置をルートの直下に変更し、現在の位置にオブジェクトを配置し、続けて、オブジェクトに「見出し」の意味を付加し、階層構造の階層の位置を下げる処理であると規定されている。このため、これらの処理を行うと、図30に示すように、オブジェクト1101に対するノード8002が、ルートのノード8001の下位階層に子の関係で生成されて、かつ、ノード8002のオブジェクトには「見出し」の意味が付加される。また、階層構造の位置を下げる処理が行われているため、続けて行われる処理は、ノード8002についての子の関係の位置からの処理が始まることになる。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク11001に続けて、図38に示すストローク11002を描いた場合の構造化データの生成処理を説明する。
ストローク11002は、描かれたストロークの座標データに基づいて、線を描いたストロークであると解析されて(S4300)、図36のジェスチャ情報データのデータと比較される。図36に示す線を描くジェスチャとストローク11002とが一致することから(S4600にてYES)、ジェスチャを検出した旨の情報がメインルーチンへ返される(S4700)。ジェスチャの対象となるオブジェクトは、図38で示すようにオブジェクト1102であるオブジェクト特定データが生成されて(S6900)、ジェスチャ情報データから線を描くジェスチャのうち、対象オブジェクトがオブジェクト内であるアクション情報データが取得される(S7700)。対象オブジェクトであるオブジェクト1102のオブジェクトデータが取得されて(S7900)、アクション情報に応じた構造化データが生成される(S7950)。
ここでは、図36において、線を描くジェスチャのオブジェクト内のアクション情報データは、現在の階層にオブジェクトを配置する処理であると規定されている。このため、構造化データの現在の階層に、オブジェクトが配置される。このような動作の結果、図31に示すように、オブジェクト1102に対するノード8003が、ノード8002の子の関係の位置に生成される。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク11002に続けて、図39に示すストローク11003を描いた場合の構造化データの生成処理は、図38に示したストローク11002を描いた場合の構造化データの生成処理と同じである。図39のストローク11003を描いたジェスチャによって、図32に示すオブジェクト1103に対するノード8004が、ノード8003に続き、ノード8002の子の関係の位置に生成される。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク11003に続けて、図40に示すストローク11004を描いた場合の構造化データの生成処理は、図37に示したストローク11001を描いた場合の構造化データの生成処理と同じである。図40のストローク11004を描いたジェスチャによって、図34に示すオブジェクト1104に対するノード8005が、ノード8002に続き、ルートのノード8001の子の関係の位置に生成されて、かつ、ノード8005は「見出し」の意味が付加される。また、次の処理は、ノード8005の子の関係の位置から始められる。
表示パネル410に表示されたオブジェクトデータ310に対して、ユーザが、ストローク11004に続けて、図41に示すストローク11005を描いた場合の構造化データの生成処理は、図38に示したストローク11002を描いた場合の構造化データの生成処理と同じである。図41のストローク11005を描いたジェスチャによって、図34に示すオブジェクト1105に対するノード8006が、ノード8005の子の関係の位置に生成される。このようにして、生成された構造化データは、上述した第1の実施の形態における図23〜図28に示す操作によって生成された構造化データと全く同じである。
以上のようにして、本実施の形態に係る生成装置によると、1つのジェスチャに対して複数のアクション情報データを割り当てる。これにより、操作部500を用いてストロークを描く操作がより容易になる。このようなより容易な操作によって、オブジェクトデータの各オブジェクトに意味を持たせ、かつ、各オブジェクトの親子関係(階層関係)を保持した、構造化データを生成することができる。
<第3の実施の形態>
以下に、本発明の第3の実施の形態に係る生成装置について説明する。第1の実施の形態および第2の実施の形態と同様に、本実施の形態に係る生成装置は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることができる。本実施の形態に係る生成装置は、第1の実施の形態および第2の実施の形態に係る生成装置において実行される操作検出処理(S3000)とは異なる操作検出処理を実行して、一筆書きを中断した後に継続した場合でも、オブジェクトに対して構造化データを生成したり、編集したり、削除したりする。なお、生成装置のハードウェア構造(図1および図2)およびフローチャート(図18、図20〜図22)については、上述した第1の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
[生成装置で実行されるソフトウェア構造]
本実施の形態に係る生成装置100の制御部は、操作部500によるストロークを描く操作の継続が中断した場合に、別の操作によって操作の継続が中断していないとみなして、継続したストロークとする処理を実行する(ストロークを描く操作の再開を判定)。
図42は、上述した図19に対応する操作検出処理のフローチャートである。なお、図42において図19と異なるのは、S3300にてストロークが継続していないと判定された場合に(S3300にてNO)、S3550の処理にて、継続を示す別の操作が特定できるか否かに基づいて処理を分岐する点である。これ以外の処理は同じであり、同じステップ番号を付してあるので、それらについてのここでの詳細な説明は繰返さない。
S3550にて、制御部200は、継続を示す別の操作が特定できるか否かを判定する。継続を示す別の操作が特定できるかと判定されると(S3550にてYES)、処理は、S3100へ移されて、ストロークを継続する処理へ戻される。もしそうでなく、継続を示す別の操作が特定できると判定されないと(S3550にてNO)、処理は、S3600へ移されて、ストロークの継続が完了したことを示す完了フラグが付加される。
このようなS3550における継続を示す別の操作とは、たとえば、キーボード510の任意のキーに対して、タブレット530でストロークを描く操作を中断した場合にも継続しているものとみなす処理を、割り当てることが考えられる。このとき、タブレット530でストロークを描いている最中に、キーボード510で任意のキーを押下することで、タブレット530のストロークを描くことを中断しても、ストロークを描くことが継続されているとみなされる。このため、タブレット530によるストロークを描くことを再開した場合に、先に中断したストロークから継続してストロークを描くことが可能となる。
このように操作部500の組み合わせにより、ストロークを描く操作が途中で中断しても、再開した場合にストロークを継続して描いているとして処理を続けることができる。
<第4の実施の形態>
以下に、本発明の第4の実施の形態に係る生成装置について説明する。第1の実施の形態〜第3の実施の形態と同様に、本実施の形態に係る生成装置は、オブジェクトに対して構造化データを生成するのみならず、生成された構造化データを編集したり削除したりすることができる。本実施の形態に係る生成装置は、第1の実施の形態に係る生成装置において適用されたジェスチャ情報データとは異なるジェスチャ情報データを適用して、オブジェクトに対して構造化データを生成したり、編集したり、削除したりする。なお、生成装置のハードウェア構造(図1および図2)およびフローチャート(図18〜図22)については、上述した第1の実施の形態と同じであるため、ここでの詳細な説明は繰返さない。
[データ構造]
本実施の形態に係る生成装置100は、操作部500を用いたストロークを描く操作が、マルチタッチパネルにより複数のストロークを同時に描画しても、その操作に対応して、オブジェクトに対して構造化データを生成したり、編集したり、削除したりすることができる。これを実現するために、記憶部300に記憶される、ジェスチャ情報データについて説明する。
・ジェスチャ情報データ
本実施の形態に係る生成装置100においては、複数のストロークに対してアクション情報データが割り当てられる。すなわち、図43に示すように、図11および図36に示したジェスチャ情報データとは異なるジェスチャ情報データが、本実施の形態に係る生成装置100の記憶部300に記憶される。
図43は、ジェスチャの内容が複数のストロークにより構成される場合のジェスチャ情報データである。たとえば、複数のストロークにより構成されるジェスチャの内容とは、図43に示すように、ストロークの1つ目が円を描くジェスチャであり、ストロークの2つ目が線を描くジェスチャであるなどである。
この場合、操作部500によって描かれた複数のストロークのそれぞれに対して、ジェスチャ情報データと比較する。ジェスチャ情報データとして記憶されたジェスチャ内容における複数のストロークと、操作部500によって描かれた複数のストロークとが一致した場合、ジェスチャが特定される(S4000)。
このように、複数のストロークの組み合わせによりジェスチャ内容を構成することで、より詳細なアクション情報データを割り当てることができる。その結果、構造化データの生成が、より
容易となる。
なお、本実施の形態において、複数のストロークについての処理は、上述した処理に限定されるものではなく、別の公知の処理であっても構わない。
また、複数のストロークを描画する場合もマルチタッチパネルに限定されるものではない。たとえば、第3の実施の形態のようにストロークを描く操作を中断する処理との組み合わせなどによって構成されてもよいし、操作部500の複数のデバイスによるストロークの描画で入力となる構成であってもよい。
<変形例>
以下に、上述した第1の実施の形態〜第4の実施の形態に共通する変形例について説明する。
・ハードウェアについての別の構成
以下に、生成装置100のハードウェア構成について、別の構成を説明する。生成装置100のハードウェア構成は、上述した構成に限定されるものではなく、以下のような構成であっても構わない。
記憶部300は、フラッシュメモリなどのメモリデバイスで構成されていても構わない。また、脱着可能なHDD(Hard Disk Drive)、PC(Personal Computer)カードまたはUSB(Universal Serial Bus)メモリなどで構成されていても構わない。
また、表示パネル410は、プラズマディスプレイ、有機または無機のEL(Electro−Luminescence)パネル、CRT(Cathode Ray Tube)などで構成されていても構わない。また、生成装置100において、データを表示する対象は、ネットワーク700により接続された機器であっても構わない。
また、操作部500は、上述したマルチタッチパネルのほかに、ボタンによる入力およびマイクによる音声入力などで構成しても構わない。
外部インターフェイス部600は、無線通信用のインターフェイスであっても有線通信用のインターフェイスであっても構わない。また、生成装置100の各部のデータ送受信は、通信ケーブルまたは無線通信装置などを介して構成するものであっても構わない。
CPUを含む制御部200で実行されるプログラムは、DSP(Digital Signal Processor)で実行されても構わないし、演算処理ユニットが回路として組み込まれているロジック回路などで実行されても構わない。また、制御部200を実現するプログラムは、記憶部300に記憶されるものに限定されない。外部インターフェイス部600を介してネットワーク700に接続された記憶装置に記憶され、そのネットワーク700上の記憶装置からダウンロードするプログラムであっても構わない。さらに、このようなプログラムを記録した記録媒体から生成装置100が備える読取装置を用いて読み込んでCPUがこのプログラムを実行することにより制御部200を実現するようにしても構わない。
・データ構造についての別の構成
さらに、生成装置100の記憶部300に記憶される各データについて、別の構造を説明する。各データは、上述した図に示される内容に限定するものではなく、以下のような内容であっても構わない。
オブジェクトデータ310は、位置と範囲とを示す情報およびその内容を示す情報が含まれていればよく、図35に示したように、XMLなどの記述言語により構成された文書データであっても構わない。
構造化データは、テキストまたは画像などの要素のデータと、そのデータに対する意味を保持でき、かつ、親子関係のデータ構造の情報を保持できれば、XMLなどの記述言語により構成されるデータに限定されるものではない。
ストロークデータ320は、本実施の形態においては、座標データとしたが、座標データに限定されるものではない。ストロークの方向を示すデータ列またはベクトルデータなど、公知の他のデータ形式であっても構わない。
ジェスチャ情報データも、本実施の形態においては、ジェスチャの内容を座標データとしたが、座標データに限定されるものではない。ストロークデータ320と同様に、公知の別のデータ形式であってよい。
ジェスチャ情報データとストロークデータ320とのマッチング処理も、公知のアルゴリズムを用いた処理であっても構わない。また、ジェスチャ情報データは、本実施の形態においては予め準備されたデータであるとしたが、ジェスチャの内容は、操作部500による操作がジェスチャとして認識できるものであれば限定されるものではない。また、ジェスチャとアクション情報データとの組み合わせも限定するものではなく、ユーザが編集して様々な組み合わせを実現できる構成であっても構わない。
・情報についての別の構成
上述した実施の形態においては、2次元座標により特定される2次元情報を処理の対象としたものであったが、3次元情報であっても構わない。
今回開示された実施の形態は単に例示であって、本発明が上述した実施の形態のみに限定されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内でのすべての変更を含む。
100 オブジェクト構造化データ生成装置(生成装置)
200 制御部
300 記憶部
410 表示パネル
500 操作部
510 キーボード
520 マウス
530 タブレット
600 外部インターフェイス部
700 ネットワーク

Claims (16)

  1. 文書構造の要素となるオブジェクトを表示するための表示手段と、
    表示されたオブジェクトに対してユーザにより入力されたN次元情報を検出するための検出手段と、
    検出されたN次元情報に基づいて、予め定められた時間におけるN次元座標の集合を特定するための特定手段と、
    特定された座標の集合に基づいて、処理対象のオブジェクトを特定するためのオブジェクト特定手段と、
    特定された座標の集合に基づいて、描画された図形を特定するための図形特定手段と、
    図形に関連付けて、オブジェクトに対する処理指示を予め記憶するための記憶手段と、
    特定された図形に関連付けられた処理指示を取得するための処理指示取得手段と、
    取得された処理指示に応じて、前記処理対象のオブジェクトに対する構造化データを処理するための処理手段とを含み、
    前記記憶手段は、前記特定されたオブジェクトの文書構造における意味を付加するという処理指示を記憶するための手段を含み、
    前記処理手段は、前記処理対象のオブジェクトに文書構造における意味が付加された構造化データを生成するための手段を含む、構造化データ処理装置。
  2. 前記記憶手段は、図形と、図形およびオブジェクトの位置関係とに関連付けて、処理指示を記憶するための関連付け記憶手段をさらに含む、請求項1に記載の構造化データ処理装置。
  3. 前記関連付け記憶手段は、図形とオブジェクトとが重畳するか否かに応じて異なる処理指示を記憶するための手段を含む、請求項2に記載の構造化データ処理装置。
  4. 前記記憶手段は、前記図形が複数のオブジェクトを特定する場合には、前記複数のオブジェクトの関係を付加するという処理指示を記憶するための手段をさらに含み、
    前記処理手段は、前記処理対象の複数のオブジェクトの関係を示す構造化データを生成するための手段をさらに含む、請求項1に記載の構造化データ処理装置。
  5. 前記記憶手段は、前記図形が複数のオブジェクトを特定する場合には、前記複数のオブジェクトの階層関係を付加するという処理指示を記憶するための手段をさらに含み、
    前記処理手段は、前記処理対象の複数のオブジェクトの階層関係を示す構造化データを生成するための手段をさらに含む、請求項1に記載の構造化データ処理装置。
  6. 前記記憶手段は、前記複数のオブジェクトの階層関係を変更するという処理指示を記憶するための手段をさらに含み、
    前記処理手段は、前記構造化データにおける階層関係を変更するための手段をさらに含む、請求項1に記載の構造化データ処理装置。
  7. 前記図形は、円、線およびオブジェクト間で繰返される線のいずれかである、請求項1〜請求項6のいずれかに記載の構造化データ処理装置。
  8. 前記図形は、オブジェクトに重畳して描画された、円および線のいずれかである、請求項1〜請求項6のいずれかに記載の構造化データ処理装置。
  9. 前記特定手段は、ユーザにより描画されたジェスチャをN次元座標の集合として特定するための手段を含む、請求項1〜請求項8のいずれかに記載の構造化データ処理装置。
  10. 前記特定手段は、ユーザにより描画された一筆書きの軌跡をN次元座標の集合として特定するための手段を含む、請求項1〜請求項8のいずれかに記載の構造化データ処理装置。
  11. 前記一筆書きの軌跡をN次元座標の集合として特定するための手段は、前記一筆書きが中断された場合であっても、予め定められた条件を満足する場合には、中断された前後における描画を一筆書きの軌跡として特定するための手段を含む、請求項10に記載の構造化データ処理装置。
  12. 前記記憶手段は、図形に関連付けて、複数の処理指示を記憶するための手段をさらに含み、
    前記処理手段は、前記複数の処理指示に応じて、前記処理対象のオブジェクトに対する構造化データを処理するための手段をさらに含む、請求項1に記載の構造化データ処理装置。
  13. 前記検出手段は、複数の図形に対応するN次元情報を検出するための手段を含み、
    前記図形特定手段は、複数の図形を特定するための手段を含み、
    前記処理指示取得手段は、特定された複数の図形に関連付けられた複数の処理指示を取得するための手段を含む、請求項1に記載の構造化データ処理装置。
  14. 文書構造の要素となるオブジェクトを表示する表示ユニットと、ユーザが操作する操作ユニットと、記憶ユニットと、演算ユニットとを備えた構造化データ処理装置における処理方法であって、前記演算ユニットが実行する、
    オブジェクトを前記表示ユニットに表示するステップと、
    表示されたオブジェクトに対してユーザにより入力されたN次元情報を検出するステップと、
    検出されたN次元情報に基づいて、予め定められた時間におけるN次元座標の集合を特定するステップと、
    特定された座標の集合に基づいて、処理対象のオブジェクトを特定するステップと、
    特定された座標の集合に基づいて、描画された図形を特定するステップと、
    前記記憶ユニットに、図形に関連付けて、オブジェクトに対する処理指示を予め記憶するステップと、
    特定された図形に関連付けられた処理指示を取得するステップと、
    取得された処理指示に応じて、前記処理対象のオブジェクトに対する構造化データを処理するステップとを含み、
    前記記憶するステップは、前記特定されたオブジェクトの文書構造における意味を付加するという処理指示を予め記憶するステップを含み、
    前記処理するステップは、前記処理対象のオブジェクトに文書構造における意味が付加された構造化データを生成するステップを含む、構造化データ処理方法。
  15. 請求項14に記載の構造化データ処理方法を、表示ユニットと操作ユニットと記憶ユニットとを備えたコンピュータにおいて実現させるためのプログラム。
  16. 請求項15に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2010013903A 2010-01-26 2010-01-26 構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体 Active JP5620113B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010013903A JP5620113B2 (ja) 2010-01-26 2010-01-26 構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010013903A JP5620113B2 (ja) 2010-01-26 2010-01-26 構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2011154430A JP2011154430A (ja) 2011-08-11
JP5620113B2 true JP5620113B2 (ja) 2014-11-05

Family

ID=44540367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010013903A Active JP5620113B2 (ja) 2010-01-26 2010-01-26 構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP5620113B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3398981B2 (ja) * 1992-07-31 2003-04-21 ソニー株式会社 手書き入力情報処理装置
JP2003140791A (ja) * 2001-10-31 2003-05-16 Toshiba Corp 情報処理装置及び情報処理装置の制御方法
AU2003262757B2 (en) * 2003-08-21 2010-02-11 Microsoft Corporation Electronic ink processing
US7907141B2 (en) * 2007-03-23 2011-03-15 Palo Alto Research Center Incorporated Methods and processes for recognition of electronic ink strokes
JP2009194718A (ja) * 2008-02-15 2009-08-27 Fuji Xerox Co Ltd 情報構造化装置、情報構造化システム、及びプログラム

Also Published As

Publication number Publication date
JP2011154430A (ja) 2011-08-11

Similar Documents

Publication Publication Date Title
JP6123631B2 (ja) 情報処理装置及び情報処理プログラム
US10496258B2 (en) Information processing device, information processing method, program, and information storage medium
US10417792B2 (en) Information processing apparatus to display an individual input region for individual findings and a group input region for group findings
KR20170039379A (ko) 전자 장치 및 이의 제어 방법
JP6206202B2 (ja) 情報処理装置及び情報処理プログラム
JP5629509B2 (ja) 情報処理装置、情報閲覧装置、情報処理方法、およびプログラム
JP6237135B2 (ja) 情報処理装置及び情報処理プログラム
JP2003308310A (ja) 表示方法、表示装置、表示プログラム、および表示プログラムを記録した記録媒体
JP2008015929A (ja) 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム
JP6668868B2 (ja) 情報処理装置及び情報処理プログラム
JP5620113B2 (ja) 構造化データ処理装置、構造化データ処理方法、その方法を実現するためのプログラムおよび記録媒体
US20100185944A1 (en) Layout apparatus, layout method, and storage medium
JP2019101739A (ja) 情報処理装置、情報処理システムおよびプログラム
JP6481204B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP4693167B2 (ja) 帳票検索装置、帳票検索方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2001117918A (ja) 文書編集処理装置
JP6063153B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019148649A (ja) 画像処理装置、制御方法、およびプログラム
JP7331578B2 (ja) 表示装置、画像表示方法、プログラム
JP2009015717A (ja) 帳票作成装置及び帳票作成方法、プログラム及び記憶媒体
JP2009157470A (ja) 電子文書処理装置及びプログラム
JP2007286822A (ja) Gui仕様書生成方法およびgui仕様書生成システム
JP2009086851A (ja) 画面遷移図の表示方法およびシステム
JP2009015774A (ja) 情報処理装置及び情報処理方法
JP6171735B2 (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131008

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140610

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140918

R150 Certificate of patent or registration of utility model

Ref document number: 5620113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150