説明

作表装置、作表方法、プログラム、および当該プログラムを記録した記録媒体

【課題】整形された表を容易に作成する。
【解決手段】本発明に作表方法は、手書き入力された要素Fに基づいて表Tを生成する作表処理ステップと、表Tを表示する表示手段とを有する。作表処理ステップは、要素Fを検出する要素検出ステップと、要素Fを用いて表Tを生成する生成ステップとを有し、生成ステップは、枠線交点Iおよび終了マークEの中心点とを結ぶ線分を対角線とする矩形の外枠Cを生成する外枠生成ステップと、外枠Cの水平枠線間を結ぶ垂直補助線vT1〜vT3を、水平枠線要素Hと垂直補助線要素v1〜v3との交点のX座標に基づいて生成する垂直補助線生成ステップと、外枠Cの垂直枠線間を結ぶ水平補助線hT1およびhT2を、垂直枠線要素Vと水平補助線要素h1およびh2との交点のY座標に基づいて生成する水平補助線生成ステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、図表など線画の表示処理を行う作表装置に関し、より詳細には、タッチパネルなどにフリーハンドで描画された線画要素に基づいて表を自動的に作成する作表装置に関する。
【背景技術】
【0002】
従来、タッチパネルなどを用いて作表を行う方法として、(1)フリーハンドで作表を行う方法、(2)直線ツールの組み合わせで作表を行う方法、(3)設定画面を開いて行数および列数を入力することにより自動的に作表を行う方法の3つの方法が知られている。
【0003】
図28(a)〜(e)は従来の直線ツールの組み合わせで作表を行う方法を示す模式図である。図28に示されるように、直線ツールの組み合わせで作表を行う方法によれば、直線ツールを用いて枠線および補助線をそれぞれ描画することで表を作成することができる。
【0004】
図29(a)および(b)は従来の行数および列数を入力することにより自動的に作表を行う方法を示す模式図である。図29に示されるように、従来の行数および列数を入力することで自動的に作表を行う方法によれば、枠線および補助線を描画することなく、設定画面に行数および列数を入力することにより自動的に作表を行い、各セルが均等化された表を作成することができる。
【0005】
ところが、上記(1)および(2)の作表方法では、ユーザはタッチパネルなどを使用した直感的な作表を行うことが可能であるが、その反面、位置調整が困難であり、整形された表を作成するには描画技術が要求される。
【0006】
また、上記(3)の作表方法では、各セルが均等化された表を作成することが可能であるが、その反面、設定画面を開いて行数および列数を入力する必要があり、作表行為とは直接関係のない入力操作が要求される。
【0007】
このような作表方法に関連して、例えば、特許文献1〜3には、手書きした画像をスキャナによって読み取り認識することで、自動的に表を作成する作表方法が開示されている。
【0008】
図30(a)および(b)は、特許文献1に開示された作表方法を示す模式図である。図30に示されるように、特許文献1に記載の作表方法によれば、電子黒板ボード上で表の交点の位置にペンで印●を付けるのみで、交点座標群を抽出して自動的に表を作成することができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平7−143263(1995年6月2日公開)
【特許文献2】特開平8−16716(1996年1月19日公開)
【特許文献3】特開平6−187420(1994年7月8日公開)
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1に記載の作表方法では、上記(1)および(2)の作表方法と同様に位置調整が困難であるため、整形された表を作成することが困難であるという問題を有している。
【0011】
即ち、特許文献1に記載の作表方法では、ペンで描画された交点を開始点として補助線が引かれる構成である。このため、図30に示される縦方向または横方向に並んだ各交点の位置がズレて描画された結果、枠線と補助線との間に隙間が生じたり、或いは、枠線から補助線がはみ出したりすることがある。従って、特許文献1に記載の作表方法で整形された表を作成するためには、縦方向または横方向に並んだ各交点を同一直線上に正確に位置決めして描画する必要があり、位置調整が非常に煩雑となる。
【0012】
また、特許文献1に記載の作表方法では、交点のみを描画するため、最終的に作成される表の構成を特定することが困難であり、ユーザは所望の表を得ることは容易ではない。
【0013】
本発明は、上記従来の問題に鑑みてなされたものであって、その目的は、手書きで描画された線画要素に基づいて、所望の表を作成することができる作表装置を実現することにある。
【課題を解決するための手段】
【0014】
本発明に係る作表装置は、上記従来の問題を解決するために、表の作成に用いられる線画要素が手書き入力される入力手段と、上記入力手段に入力された上記線画要素に基づいて表を生成する作表処理手段と、上記作表処理手段によって生成された表を表示する表示手段とを備える作表装置において、作成される表の行方向をX軸方向、列方向をY軸方向としたとき、上記作表処理手段は、上記入力手段に入力された、X軸方向に沿って描画された第1の端点および第2の端点を有する第1の要素と、上記第1の要素と第1の交点で交差し、Y軸方向に沿って描画された第3の端点および第4の端点を有する第2の要素と、上記第1の交点と上記第2の端点とに挟まれた上記第1の要素と第3の交点で交差する少なくとも1つの第3の要素と、上記第1の交点と上記第4の端点とに挟まれた上記第2の要素と第4の交点で交差する少なくとも1つの第4の要素と、少なくとも、上記第2の交点のX座標に対して上記第2の端点側であり、且つ、上記第3の交点のY座標に対して上記第4の端点側に定義された所定領域に中心点を有する第5の要素とを含む上記線画要素を検出する要素検出部と、上記要素検出部によって検出された上記線画要素を用いて表を生成する生成部とを備え、上記生成部は、上記第1の交点および上記第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を生成する外枠生成部と、上記外枠のX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線を、上記第2の交点のX座標に基づいてY軸方向に生成する垂直補助線生成部と、上記外枠のY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線を、上記第3の交点のY座標に基づいてX軸方向に生成する水平補助線生成部とを備えることを特徴としている。
【0015】
本発明に係る作表方法は、上記従来の問題を解決するために、表の作成に用いられる線画要素が手書き入力される入力ステップと、上記入力ステップにて入力された上記線画要素に基づいて表を生成する作表処理ステップと、上記作表処理ステップによって生成された表を表示する表示手段とを有する作表方法において、作成される表の行方向をX軸方向、列方向をY軸方向としたとき、上記作表処理ステップは、上記入力ステップにて入力された、X軸方向に沿って描画された第1の端点および第2の端点を有する第1の要素と、上記第1の要素と第1の交点で交差し、Y軸方向に沿って描画された第3の端点および第4の端点を有する第2の要素と、上記第1の交点と上記第2の端点とに挟まれた上記第1の要素と第3の交点で交差する少なくとも1つの第3の要素と、上記第1の交点と上記第4の端点とに挟まれた上記第2の要素と第4の交点で交差する少なくとも1つの第4の要素と、少なくとも、上記第2の交点のX座標に対して上記第2の端点側であり、且つ、上記第3の交点のY座標に対して上記第4の端点側に定義された所定領域に中心点を有する第5の要素とを含む上記線画要素を検出する要素検出ステップと、上記要素検出ステップにて検出された上記線画要素を用いて表を生成する生成ステップとを有し、上記生成ステップは、上記第1の交点および上記第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を生成する外枠生成ステップと、上記外枠のX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線を、上記第2の交点のX座標に基づいてY軸方向に生成する垂直補助線生成ステップと、上記外枠のY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線を、上記第3の交点のY座標に基づいてX軸方向に生成する水平補助線生成ステップとを有することを特徴としている。
【0016】
上記発明によれば、外枠生成部は、入力手段に手書きで入力された表の作成に用いられる線画要素が要素検出部によって検出されたとき、当該線画要素に含まれる第1の交点と第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を描画する。そして、垂直補助線描画部は、当該外枠のY軸方向に対向する2つの水平枠線を結ぶ垂直補助線を、第2の交点のX座標に基づいてY軸方向に描画する。また、水平補助線描画部は、当該外枠のX軸方向に対向する2つの垂直枠線を結ぶ水平補助線を、第2の要素と第4の要素との交点である第3の交点のY座標に基づいてX軸方向に基づいて描画する。
【0017】
このように、上記発明によれば、垂直補助線生成部は、垂直補助線の両端が外枠の対向する2つの水平枠線上に位置するように、垂直補助線を第2の交点のX座標に基づいて生成する。即ち、垂直補助線生成部は、第2の交点のX座標および第1の交点のY座標で特定される点と、第2の交点のX座標および第5の要素の中心点のY座標で特定される点とを結ぶ垂直補助線を生成する構成である。また、水平補助線生成部は、水平補助線の両端が外枠の対向する2つの垂直枠線上に位置するように、水平補助線を第2の交点のX座標に基づいて生成する。即ち、水平補助線生成部は、第1の交点のX座標および第3の交点のY座標で特定される点と、第5の要素の中心点のX座標および第3の交点のY座標で特定される点とを結ぶ水平補助線を生成する構成である。このため、従来のように、枠線と補助線との間に隙間が生じたり、或いは、枠線から補助線がはみ出したりするなどの問題を解決することができる。
【0018】
また、上記発明では、ユーザは、作成される表の1つの水平枠線を規定する第1の要素、および作成される表の1つの垂直枠線を規定する第2の要素上に、枠線と補助線との交点位置を規定する第3の要素、および第4の要素を描画する構成である。このため、従来のように、交点のみを描画して表を作成する構成に比べて、最終的に作成される表の構成を特定することが容易であるため、ユーザは、所望の表を得ることができる。
【0019】
従って、上記発明によれば、手書きで描画された線画要素に基づいて、所望の表を作成することができる作表装置、および作表方法を実現することができる。
【0020】
また、本発明に係る作表装置では、上記作表処理手段は、作成する表のセルの幅を均等化するセル幅調整部を備え、上記セル幅調整部は、上記第3の要素が2つ以上描画されているとき、上記第2の交点間の間隔、および上記第1の交点と当該第1の交点に最も近い位置に描画された上記第2の交点との間隔をそれぞれ取得し、隣り合う当該間隔の差分がすべて所定閾値以下であるとき、上記セルの幅が均等化するように上記第2の交点のX座標を修正することが好ましい。
【0021】
上記発明によれば、第3の要素が2つ以上描画されているとき、セル幅調整部は、第2の交点間の間隔、および第1の交点と当該第1の交点に最も近い位置に描画された第2の交点との間隔をそれぞれ取得する。そして、セル幅調整部は、隣り合う当該間隔の差分がすべて所定閾値以下である場合、セルの幅が均等化するように第2の交点のX座標を修正する。このため、垂直補助線描画部によって、セルの幅が均等化される位置に垂直補助線が生成される。
【0022】
これにより、ユーザは、第3の要素を所定の誤差の範囲内で描画することにより、セルの幅が均等化された表を容易に得ることができる。
【0023】
また、本発明に係る作表装置では、上記作表処理手段は、作成する表のセルの幅を均等化するセル幅調整部を備え、上記セル幅調整部は、上記要素検出部によって上記第3の要素が1つ検出されたとき、上記第2の端点と上記第2の交点との間隔、および当該第2の交点と上記第1の交点との間隔をそれぞれ取得し、これらの間隔の差分が所定閾値以下であるとき、上記セルの幅が均等化するように上記第2の交点のX座標を修正することが好ましい。
【0024】
上記発明によれば、第3の要素が1つ描画されているとき、セル幅調整部は、第2の端点と第2の交点との間隔、および当該第2の交点と第1の交点との間隔をそれぞれ取得する。そして、セル幅調整部は、これらの間隔の差分が所定閾値以下であるとき、セルの幅が均等化するように第2の交点のX座標を修正する。このため、垂直補助線描画部によって、セルの幅が均等化される位置に垂直補助線が生成される。
【0025】
これにより、ユーザは、第3の要素を所定の誤差の範囲内で描画することにより、セルの幅が均等化された表を容易に得ることができる。
【0026】
また、本発明に係る作表装置では、上記作表処理手段は、作成する表のセルの高さを均等化するセル高さ調整部を備え、上記セル高さ調整部は、上記要素検出部によって上記第4の要素が2つ以上検出されたとき、上記第3の交点間の間隔、および上記第1の交点と当該第1の交点に最も近い位置に描画された上記第3の交点との間隔をそれぞれ取得し、隣り合う当該間隔の差分がすべて所定閾値以下であるとき、上記セルの高さが均等化するように上記第3の交点のY座標を修正することが好ましい。
【0027】
上記発明によれば、第4の要素が2つ以上描画されているとき、セル高さ調整部は、第3の交点間の間隔、および第1の交点と当該第1の交点に最も近い位置に描画された第3の交点との間隔をそれぞれ取得する。そして、セル高さ調整部は、隣り合う当該間隔の差分がすべて所定閾値以下であるとき、セルの高さが均等化するように第3の交点のY座標を修正する。このため、水平補助線描画部によって、セルの高さが均等化される位置に垂直補助線が生成される。
【0028】
これにより、ユーザは、第4の要素を所定の誤差の範囲内で描画することにより、セルの高さが均等化された表を容易に得ることができる。
【0029】
また、本発明に係る作表装置では、上記作表処理手段は、作成する表のセル高さを均等化するセル高さ調整部を備え、上記セル高さ調整部は、上記要素検出部によって上記第4の要素が1つ検出されたとき、上記第3の端点と上記第3の交点との間隔、および当該第3の交点と上記第1の交点との間隔をそれぞれ取得し、これらの間隔の差分が所定閾値以下であるとき、上記セルの高さが均等化するように上記第3の交点のY座標を修正することが好ましい。
【0030】
上記発明によれば、第4の要素が1つ描画されているとき、セル高さ調整部は、第4の端点と第3の交点との間隔、および当該第3の交点と第1の交点との間隔をそれぞれ取得する。そして、セル高さ調整部は、これらの間隔の差分が所定閾値以下である場合、セルの高さが均等化するように第3の交点のY座標を修正する。このため、水平補助線描画部によって、セルの高さが均等化される位置に垂直補助線が生成される。
【0031】
これにより、ユーザは、第4の要素を所定の誤差の範囲内で描画することにより、セルの高さが均等化された表を容易に得ることができる。
【0032】
また、本発明に係る作表装置では、上記作表処理手段は、作成する表に行タイトルを付加する行タイトル付加部を備え、上記行タイトル付加部は、上記要素検出部によって検出された上記線画要素における上記第1の交点と上記第1の端点との距離が所定閾値以上であるとき、上記第1の交点のX座標を上記第1の端点のX座標に修正し、垂直補助線生成部は、上記要素検出部によって検出された修正前の上記第1の交点を通る上記垂直補助線を生成することが好ましい。
【0033】
上記発明によれば、行タイトル付加部は、第1の端点と第1の交点との距離が所定閾値以上であるとき、第1の交点のX座標を第1の端点のX座標に修正する。これにより、外枠描画部によって、修正後の第1の交点と第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠が生成される。さらに、垂直補助線生成部は、修正前の第1の交点を通る垂直補助線を生成し、行タイトルを付加する。
【0034】
これにより、ユーザは、作成される表に行タイトルを付加したい場合、第1の端点と第1の交点との距離が所定閾値以上になるように作表要素を描画するだけで、行タイトルが付加された表を得ることができる。
【0035】
また、本発明に係る作表装置では、上記作表処理手段は、作成する表に列タイトルを付加する列タイトル付加部を備え、上記列タイトル付加部は、上記要素検出部によって検出された上記線画要素における上記第1の交点と上記第3の端点との距離が所定閾値以上であるとき、上記第1の交点のY座標を上記第1の端点のY座標に修正し、上記水平補助線生成部は、上記要素検出部によって検出された修正前の上記第1の交点を通る上記水平補助線を生成することが好ましい。
【0036】
上記発明によれば、列タイトル付加部は、第3の端点と第1の交点との距離が所定閾値以上であるとき、第1の交点のY座標と第3の端点のY座標に修正する。これにより、外枠描画部によって、修正後の第1の交点と第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠が描画される。さらに、水平補助線生成部は、修正前の第1の交点を通る水平補助線生成すし、行タイトルを付加する。
【0037】
これにより、ユーザは、作成される表に列タイトルを付加したい場合、第3の端点と第1の交点との距離が所定閾値以上になるように作表要素を描画するだけで、列タイトルが付加された表を得ることができる。
【0038】
また、本発明に係る作表装置では、上記作表処理手段は、上記表示手段の表示画面にマトリクス状に規定されたX軸方向またはY軸方向に平行な罫線の交点である罫線交点の座標を検出する罫線交点検出部と、上記罫線交点検出部により検出された上記罫線交点の座標に基づいて、上記線画要素における所定の座標を修正する座標修正部とを備え、上記座標修正部は、上記第1の交点の座標、上記第2の交点の座標、上記第3の交点の座標、または上記第5の要素の中心点の座標を、それぞれ近傍に位置する上記罫線交点の座標に修正することが好ましい。
【0039】
上記発明によれば、罫線交点検出部は、マトリクス状に規定されたX軸方向または軸方向に平行な罫線の交点である罫線交点の座標を検出する。そして、座標修正部は、第1の交点の座標、上記第2の交点の座標、上記第3の交点の座標、または上記第5の要素の中心点の座標を、それぞれ近傍の罫線交点の座標に修正する。
【0040】
これにより、このため、外枠、垂直補助線、および水平補助線を罫線と一致させた表を表示させることができる。
【0041】
また、本発明に係る作表装置では、上記要素検出部は、上記第1の要素または上記第2の要素を検出したときに、上記線画要素に含まれる他の要素の検出を開始することを特徴とする請求項1から8の何れか1項に記載の作表装置。
【0042】
上記発明によれば、要素検出部は、第1の要素または第2の要素を検出したときに、線画要素に含まれる他の要素の検出を開始する。このため、要素検出部は、第1の要素または第2の要素を検出するまでは、第3の要素、第4の要素、および第5の要素の検出処理を停止させる。
【0043】
これにより、要素検出部の処理負担を軽減し、消費電力量を低減することができる。
【0044】
また、本発明に係る作表装置では、上記第2の端点のX座標および上記第4の端点のY座標で特定される位置の近傍領域であることが好ましい。
【0045】
上記発明によれば、近傍領域は、第2の端点のX座標および第4の端点のY座標で特定示される位置の近傍に定義されている。これにより、要素検出部による要素検出部による誤検出を低減することができる。
【0046】
また、本発明に係る作表装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記描画部などとして動作させることにより、上記作表装置をコンピュータにて実現させる情報処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0047】
以上のように、本発明に係る作表装置は、表の作成に用いられる線画要素が手書き入力される入力手段と、上記入力手段に入力された上記線画要素に基づいて表を生成する作表処理手段と、上記作表処理手段によって生成された表を表示する表示手段とを備える作表装置において、作成される表の行方向をX軸方向、列方向をY軸方向としたとき、上記作表処理手段は、上記入力手段に入力された、X軸方向に沿って描画された第1の端点および第2の端点を有する第1の要素と、上記第1の要素と第1の交点で交差し、Y軸方向に沿って描画された第3の端点および第4の端点を有する第2の要素と、上記第1の交点と上記第2の端点とに挟まれた上記第1の要素と第3の交点で交差する少なくとも1つの第3の要素と、上記第1の交点と上記第4の端点とに挟まれた上記第2の要素と第4の交点で交差する少なくとも1つの第4の要素と、少なくとも、上記第2の交点のX座標に対して上記第2の端点側であり、且つ、上記第3の交点のY座標に対して上記第4の端点側に定義された所定領域に中心点を有する第5の要素とを含む上記線画要素を検出する要素検出部と、上記要素検出部によって検出された上記線画要素を用いて表を生成する生成部とを備え、上記生成部は、上記第1の交点および上記第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を生成する外枠生成部と、上記外枠のX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線を、上記第2の交点のX座標に基づいてY軸方向に生成する垂直補助線生成部と、上記外枠のY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線を、上記第3の交点のY座標に基づいてX軸方向に生成する水平補助線生成部とを備える。
【0048】
また、本発明に係る作表方法は、表の作成に用いられる線画要素が手書き入力される入力ステップと、上記入力ステップにて入力された上記線画要素に基づいて表を生成する作表処理ステップと、上記作表処理ステップによって生成された表を表示する表示手段とを有する作表方法において、作成される表の行方向をX軸方向、列方向をY軸方向としたとき、上記作表処理ステップは、上記入力ステップにて入力された、X軸方向に沿って描画された第1の端点および第2の端点を有する第1の要素と、上記第1の要素と第1の交点で交差し、Y軸方向に沿って描画された第3の端点および第4の端点を有する第2の要素と、上記第1の交点と上記第2の端点とに挟まれた上記第1の要素と第3の交点で交差する少なくとも1つの第3の要素と、上記第1の交点と上記第4の端点とに挟まれた上記第2の要素と第4の交点で交差する少なくとも1つの第4の要素と、少なくとも、上記第2の交点のX座標に対して上記第2の端点側であり、且つ、上記第3の交点のY座標に対して上記第4の端点側に定義された所定領域に中心点を有する第5の要素とを含む上記線画要素を検出する要素検出ステップと、上記要素検出ステップにて検出された上記線画要素を用いて表を生成する生成ステップとを有し、上記生成ステップは、上記第1の交点および上記第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を生成する外枠生成ステップと、上記外枠のX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線を、上記第2の交点のX座標に基づいてY軸方向に生成する垂直補助線生成ステップと、上記外枠のY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線を、上記第3の交点のY座標に基づいてX軸方向に生成する水平補助線生成ステップとを有する。
【0049】
それゆえ、手書きで描画された線画要素に基づいて、整形された所望の表を作成することが可能な作表装置、および作表方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【0050】
【図1】図1(a)〜(e)は、本実施形態に係る作表処理の概要を示す模式図である。
【図2】本実施形態に係る情報処理装置の概略を示す外観図である。
【図3】図2に示される情報処理装置の概略構成を示すブロック図である。
【図4】図3に示される作表処理部が実行する作表処理において用いられる表の作成に必要な要素の一例を示す模式図である。
【図5】図3に示される作表処理部が実行する作表処理の一例を示すフローチャートである。
【図6】図5に示される開始要素検出処理(S1)の一例を示すフローチャートである。
【図7】図6に示されるS101における処理の一例を示すフローチャートである。
【図8】図6に示される開始要素冠出処理(S1)の具体例を示す模式図である。
【図9】図5に示される要素検出処理(S2)の一例を示すフローチャートである。
【図10】(a)および(b)は、図4に示される終了マークを示す拡大図である。
【図11】図5に示される要素収集処理(S3)の一例を示すフローチャートである。
【図12】図5に示される特徴点収集処理(S5)の一例を示すフローチャートである。
【図13】(a)および(b)は、図12に示されるS501における処理の具体例示す模式図である。
【図14】図12に示されるS502、およびS503における処理の具体例を示す模式図である。
【図15】図12に示されるS504、およびS505における処理の具体例を示す模式図である。
【図16】図5に示される生成処理(S7)の一例を示すフローチャートである。
【図17】図16に示されるS701〜S706における処理の具体例を示す模式図である。
【図18】図16に示されるS707における処理の一例を示すフローチャートである。
【図19】図16に示されるS708における処理の一例を示すフローチャートである。
【図20】図16に示されるS709における処理の一例を示すフローチャートである。
【図21】図16に示されるS710における処理の具体例を示す模式図である。
【図22】図16に示されるS711における処理の一例を示すフローチャートである。
【図23】図16に示されるS712における処理の一例を示すフローチャートである。
【図24】図16に示されるS711、およびS712における処理の具体例を示す模式図である。
【図25】図16に示されるS713における処理の一例を示すフローチャートである。
【図26】図25に示される処理の具体例を示す模式図である。
【図27】本実施形態に係る作表処理の変形例を示す模式図である。
【図28】(a)〜(e)は、従来の直線ツールの組み合わせで作表を行う方法を示す模式図である。
【図29】(a)および(b)は、従来の行数および列数を入力することにより自動的に作表を行う方法を示す模式図である。
【図30】(a)および(b)は、特許文献1に開示された作表処理を示す模式図である。
【発明を実施するための形態】
【0051】
本発明の一実施形態について、図1〜図27に基づいて説明すれば以下のとおりである。本実施形態では、本発明に係る作表装置を情報処理装置に適用した場合について説明する。
【0052】
〔1〕作表処理の概要
本実施形態に係る情報処理装置が行う作表処理(作表方法)、例えば、電子会議システムなどにおいて、タッチパネル式のディスプレイに表を描画する際、ユーザによって手書きで描画された線画に基づいて整形された表を生成し表示させるものである。より詳細には、ユーザは、作表のポイントとなる、外枠の位置、行数および列数を意識して、水平枠線要素、垂直枠線要素、垂直補助線要素、水平補助線要素および終了マークから構成される表の作成に必要な要素(線画要素)を手書きで描画するのみで、整形された表をディスプレイに表示させることができる。なお、以下では、説明の便宜上、作成される表の行方向を水平方向またはX軸方向、列方向を垂直方向またはY軸方向として説明する。
【0053】
図1(a)〜(e)は、本実施形態に係る作表処理の概要を示す模式図である。図1(a)に示されるように、本実施形態に係る作表処理では、ユーザは、水平枠線要素(第1の要素)H、垂直枠線要素(第2の要素)V、垂直補助線要素(第3の要素)v(図中v1〜v3)、水平補助線要素(第4の要素)h(図中h1およびh2)、および終了マーク(第5の要素)Eの5種類の要素を作表に用いられる要素Fとして手書きで描画する。
【0054】
本実施形態に係る作表処理は、このような要素Fに基づいて、図1(b)に示されるように、水平枠線要素Hと垂直枠線要素Vとの交点である枠線交点(第1の交点)Iと終了マークEの中心点とを結ぶ線分を対角線とする矩形の外枠Cを生成する。
【0055】
そして、水平枠線要素Hと垂直補助線要素v1〜v3との交点(第2の交点)のX座標に基づいて、外枠Cの対向する2つの水平枠線間を結ぶ垂直補助線vT1〜vT3を生成する。このとき、垂直枠線要素Vと直補助線要素v1との間隔、および各垂直補助線要素v1〜v3間の間隔が所定の誤差の範囲内である場合、図1(c)に示されるように、セルの幅が均等になるように垂直補助線vT1〜vT3を生成する。
【0056】
同様に、垂直枠線要素Vと水平補助線要素h1およびh2との交点(第3の交点)のY座標に基づいて、外枠Cの対向する2つの垂直枠線間を結ぶ水平補助線hT1およびhT2を生成する。このとき、水平枠線要素Hと水平補助線要素h1との間隔、および水平補助線要素h1と水平補助線要素h2との間隔が所定の誤差の範囲内である場合、図1(d)に示されるように、セルの高さが均等になるように水平補助線hT1およびhT2を生成する。これにより、図1(e)に示されるように、各セルが均等化された表Tを作成することができる。
【0057】
このように、本実施形態に係る作表処理によれば、ユーザは、水平枠線要素H、垂直枠線要素V、垂直補助線要素v、水平補助線要素h、および終了マークEから構成される要素Fを描画するのみで、整形された表Tを得ることができる。
【0058】
さらに、ユーザは、表の作成に用いられる要素Fを一定のルールを以って書き分けることで、各種の表を得ることが可能となる。例えば、図1(a)に示される水平枠線要素Hの開始点HSまたは垂直枠線要素Vの開始点VSと、枠線交点Iとの距離が所定値以上である場合、行タイトル、または列タイトルを表Tに付加することなどができる。
【0059】
〔2〕情報処理装置の構成
次に、上記の作表処理を実行する情報処理装置(作表装置)1について、図2に基づいて説明する。
【0060】
図2は、本実施形態に係る情報処理装置1の概略を示す外観図である。図2に示されるように、情報処理装置1は、タッチパネル(入力手段)2、画像処理部3、およびディスプレイ(表示手段)4を備えている。
【0061】
タッチパネル2は、情報処理装置1に対するユーザからの入力操作を受け付ける入力デバイスである。タッチパネル2は、一点、若しくは多点のタッチパネルデバイスから構成することができる。タッチパネル2は、ユーザの指やタッチペンTPなどによる入力操作を検出してタッチされた位置を特定し、ユーザの入力操作の内容を示す信号を生成する。そして、タッチパネル2は、生成した信号を画像処理部3との間で情報の送受信を行う第1の通信部5を介して画像処理部3へ送信する。なお、タッチパネル2は、上述した機能を有するものであればよく、例えば、従来から広く用いられている感圧式、または静電式のパネルを適用してもよい。
【0062】
画像処理部3は、情報処理装置1全体の動作を制御して、タッチパネル2に対する入力操作に対応する画像をディスプレイ4に表示させる画像処理などを行う制御デバイスである。画像処理部3は、タッチパネル2との間で情報の送受信を行う第2の通信部6を介してタッチパネル2から送信された信号を受信し、受信した信号に応じて予め定められた処理を行う。
【0063】
具体的には、画像処理部3は、タッチパネル2から送信された信号を加工して画像データに変換する。即ち、画像処理部3は、タッチパネル2上においてタッチされている位置を示す信号を受信した場合、その位置に対応する座標を生成する。そして、画像処理部3は、タッチパネル2が検出した手書きで入力された文字などの入力の軌跡を画像データとして生成する。また、画像処理部3は、受信した信号に、図1(a)に示される要素Fが含まれている場合、要素Fに基づいて表Tを作成し、表Tの画像データを生成する。画像処理部3は、生成した画像データを映像信号に変換し、第3の通信部7を介してディスプレイ4に送信する。なお、画像処理部3の詳細については後述する。
【0064】
ディスプレイ4は、画像を表示する表示デバイスである。ディスプレイ4は、画像を表示可能なものであればよく、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)ディスプレイなどの表示デバイスを用いることができる。
【0065】
なお、本実施形態に係る情報処理装置1では、タッチパネル2およびディスプレイ4が、画像処理部3とは別体の独立したデバイスとして構成されているが、本発明はこれに限定されない。つまり、画像処理部3への指示を入力するタッチパネル2と、画像処理部3が生成した画像データに対応する画像を表示させるディスプレイ4とは、画像処理部3と通信可能に接続されていればよく、無線または有線を問わない。従って、情報処理装置1は、タッチパネル2、画像処理部3およびディスプレイ4が一体に構成されていてもよい。また、情報処理装置1が備える入力デバイスは、タッチパネル2に限られず、例えば、タッチパッドやマウス、タブレットなどであってもよい。
【0066】
〔3〕画像処理部の構成
次に、情報処理装置1が備える画像処理部3について、図1および図3に基づいて説明する。なお、
図3は、図2に示される情報処理装置1の概略構成を示すブロック図である。図3に示されるように、画像処理部3は、制御部10、第1の記憶部20、第2の記憶部30、および表示データ処理部40を備えている。なお、図3では、説明の便宜上、第1の通信部5、第2の通信部6、および第3の通信部7は省略している。
【0067】
制御部10は、画像処理部3が備える各部を統括して制御する。制御部10は、ペン入力処理部11、および作表処理部(作表処理手段)12を備えている。
【0068】
ペン入力処理部11は、タッチパネル2からタッチ操作が行われたことを示す信号を受信した場合、対応する座標を生成し、タッチパネル2が検出した手書き入力の軌跡を画像データとして生成する。そして、ペン入力処理部11は、生成した画像データを表示データ処理部40に出力して、ディスプレイ4に表示させる。
【0069】
作表処理部12は、タッチパネル2からタッチ操作が行われたことを示す信号に要素Fが含まれている場合、要素Fに基づいて表Tを作成する作表処理を実行する。作表処理部12は、要素検出部121、要素収集部122、特徴点収集部123、および生成処理部124を備えている。
【0070】
要素検出部121は、タッチパネル2から送信された信号に含まれる要素Fの描画開始を示す開始要素を検出する開始要素検出処理(図5のS1)を実行する。例えば、要素検出部121は、所定値以上の長さを有する線画を開始要素として検出する。また、要素検出部121は、開始要素を検出した場合、要素Fに含まれる他の要素を検出する要素検出処理(図5のS2)を実行する。具体的には、要素検出部121は、順次描画される線画を要素として検出し、各要素の開始点および終了点の座標ペアを要素データベース21に格納する。また、要素検出部121は、所定条件を満たした線画を検出した場合、当該線画を要素Fの描画終了を示す終了マークEとしてその中心点の座標をメモリ(図示省略)に記憶する。要素検出部121は、終了マークEを検出したとき、要素検出処理の終了を示す信号を要素収集部122に出力する。
【0071】
要素収集部122は、要素検出部121から上記信号が出力されたとき、要素データベース21に格納されたすべての要素から、水平枠線要素H、垂直枠線要素V、垂直補助線要素v、および水平補助線要素hを収集する要素収集処理(図5のS3)を実行する。具体的には、要素収集部122は、要素データベース21に格納されたすべての要素を読み出し、所定の条件に基づいて、水平線要素(水平枠線要素Hまたは水平補助線要素h)および垂直線要素(垂直枠線要素Vまたは垂直補助線要素v)を選別する。そして、要素収集部122は、水平線要素を水平線要素データベース22に格納し、垂直線要素を垂直線要素データベース23に格納する。
【0072】
また、要素収集部122は、水平線要素データベース22から、開始点と終了点とのX座標の差が最も大きい要素を水平枠線要素Hとして読み出し、開始点および終了点の座標ペアをメモリに記憶する。同様に、要素収集部122は、垂直線要素データベース23から、開始点と終了点とのY座標の差が最も大きい要素を垂直枠線要素Vとして読み出し、開始点および終了点の座標ペアをメモリに記憶する。
【0073】
さらに、要素収集部122は、要素Fを構成する要素がすべて収集されたか否かを判定する要素判定処理(図5のS4)を実行する。要素Fを構成する要素がすべて収集された場合、要素収集部122は、要素収集処理の終了を示す信号を特徴点収集部123に出力する。
【0074】
特徴点収集部123は、要素収集部122から上記信号が出力されたとき、要素Fから作表に必要な特徴点を収集する特徴点収集処理(図5のS5)を実行する。具体的には、特徴点収集部123は、水平枠線要素Hと垂直枠線要素Vとの枠線交点Iの座標、枠線交点Iと水平枠線要素Hの開始点HSおよび垂直枠線要素Vの開始点VSとの距離、および、各水平線要素(水平枠線要素Hおよび水平補助線要素h)間の間隔、および各垂直線要素(垂直枠線要素Vおよび垂直補助線要素v)間の間隔などを特徴点として収集し、当該特徴点を各種の座標情報と共にメモリに記憶する。
【0075】
また、特徴点収集部123は、作表に必要な特徴点がすべて収集されたか否かを判定する特徴点判定処理(図5のS6)を実行する。作表に必要な特徴点がすべて収集された場合、特徴点収集部123は、特徴点収集処理の終了を示す信号を生成処理部124に出力する。
【0076】
生成処理部124は、要素収集部122から上記信号が出力されたとき、特徴点収集部123によって収集された特徴点などに基づいて表Tの画像データを生成する生成処理(図5のS7)を実行する。生成処理部124は、タイトル判定部125、セル幅/高さ判定部126、座標特定部127、および生成部128を備えている。
【0077】
タイトル判定部125は、作成する表Tにタイトルを付加するか否かを判定する。具体的には、タイトル判定部125は、メモリから枠線交点Iと水平枠線要素Hの開始点HSとの距離を読み出し、当該距離が所定値以上である否かを判定する。当該距離が所定値未満である場合、タイトル判定部125は行タイトル無しと判断する。一方、当該距離が所定値以上である場合、タイトル判定部125は行タイトル有りと判断する。そして、タイトル判定部125は、判定結果を座標特定部127に出力する。
【0078】
同様に、タイトル判定部125は、メモリから枠線交点Iと垂直枠線要素Vの開始点VSとの距離を読み出し、当該距離が所定値以上である否かを判定する。当該距離が所定値未満である場合、タイトル判定部125は列タイトル無しと判断する。一方、当該距離が所定値以上である場合、タイトル判定部125は、列タイトル有りと判断する。そして、タイトル判定部125は、判定結果を座標特定部127に出力する。
【0079】
セル幅/高さ判定部126は、作成する表Tのセルの幅およびセルの高さを均等にするか否かを判定する。具体的には、セル幅/高さ判定部126は、メモリから水平線要素間の間隔を読み出し、隣り合う水平線要素間の間隔の差分がすべて所定閾値以下であるか否かを判定する。差分がすべて所定閾値以下である場合、セル幅/高さ判定部126は、セルの高さを均等にすると判断する。一方、差分の何れかが所定閾値よりも大きい場合、セル幅/高さ判定部126は、セルの高さを水平線要素間の間隔にすると判断する。そして、セル幅/高さ判定部126は、判定結果を座標特定部127に出力する。
【0080】
同様に、セル幅/高さ判定部126は、メモリから垂直線要素間の間隔を読み出し、隣り合う垂直線要素間の間隔の差分がすべて所定閾値以下であるか否かを判定する。差分がすべて所定閾値以下である場合、セル幅/高さ判定部126は、セルの幅を均等にすると判断する。一方、差分の何れかが所定閾値よりも大きい場合、セル幅/高さ判定部126は、セルの幅を垂直線要素間の間隔にすると判断する。そして、セル幅/高さ判定部126は、判定結果を座標特定部127に出力する。
【0081】
座標特定部127は、タイトル判定部125から判定結果を出力されたとき、当該判定結果に基づいて枠線交点Iの座標を適宜修正し、作成する表Tの外枠を特定する際の基準となる枠開始点の座標を特定する。具体的には、座標特定部127は、タイトル判定部125から行タイトル有りの判定結果が出力されたとき、メモリから枠線交点Iと水平枠線要素Hの開始点HSの座標を読み出し、枠線交点IのX座標を開始点HSのX座標に修正する。さらに、座標特定部127は、タイトル判定部125から列タイトル有りの判定結果が出力されたとき、メモリから垂直枠線要素Vの開始点VSの座標を読み出し、枠線交点IのY座標を開始点VSのY座標に修正する。そして、座標特定部127は、適宜修正した枠線交点Iの座標を枠開始点の座標として生成部128に出力する。
【0082】
また、座標特定部127は、セル幅/高さ判定部126から判定結果が出力されたとき、当該判定結果に基づいて、作成する表Tのセルの幅を規定する垂直補助線、およびセルの高さ規定する水平補助線座標を特定する。具体的には、座標特定部127は、セル幅/高さ判定部126からセルの幅を均等にする判定結果が出力されたとき、セルの幅を均等化するX座標を求め、当該X座標を垂直補助線座標として特定する。一方、セル幅/高さ判定部126からセルの幅を垂直線要素間の間隔にする判定結果が出力されたとき、メモリから水平枠線要素Hと垂直補助線要素vとの交点を座標を読み出し、当該交点のX座標を垂直補助線座標として特定する。
【0083】
同様に、座標特定部127は、セル幅/高さ判定部126からセルの高さを均等にする判定結果が出力されたとき、セルの高さを均等化するY座標を求め、当該Y座標を水平補助線座標として特定する。一方、セル幅/高さ判定部126からセルの高さを水平線要素間の間隔にする判定結果が出力されたとき、メモリから垂直枠線要素Vと水平補助線要素hとの交点を座標を読み出し、当該交点のY座標を水平補助線座標として特定する。そして、座標特定部127は、特定した垂直補助線のX座標、および水平補助線のY座標を生成部128に出力する。
【0084】
生成部128は、座標特定部127から所定の座標情報が出力されたとき、当該座標情報に基づいて表Tの画像データを作成する。具体的には、生成部128は、座標特定部127から出力された枠開始点と、メモリから読み取った終了マークEの中心点とを結ぶ線分を対角線とする矩形の外枠Cを生成する。このとき、生成部128は、行タイトルが設定されているとき、枠線交点Iを通って外枠Cの対向する2つの水平枠線間を結ぶ行タイトル線を生成し、行タイトルを付加する。また、生成部128は、列タイトルが設定されているか否かを判定し、列タイトルが設定されているとき、枠線交点Iを通って外枠Cの対向する2つの垂直枠線間を結ぶ列タイトル線を生成し、行タイトルを付加する。
【0085】
また、生成部128は、座標特定部127から出力された垂直補助線のX座標の位置に、外枠Cの対向する2つの水平枠線間を結ぶ垂直補助線を生成する。さらに、生成部128は、座標特定部127から出力された水平補助線のY座標の位置に外枠Cの対向する2つの垂直枠線間を結ぶ垂直補助線を生成する。そして、生成部128は、作成した表Tの画像データを表示データ処理部40に出力し、ディスプレイ4に表示させる。
【0086】
第1の記憶部20は、画像処理部3が各種処理を実行するときに、データを一時的に保持するための記憶領域であり、作業領域として使用される。第1の記憶部20は、要素データベース21、水平線要素データベース22、垂直線要素データベース23を備えている。
【0087】
要素データベース21は、要素検出部121によって検出された要素の開始点および終了点の座標ペアを格納する。
【0088】
水平線要素データベース22は、要素収集部122によって収集された水平線要素(水平枠線要素Hおよび水平補助線要素h)の開始点および終了点の座標ペアを格納する。
【0089】
垂直線要素データベース23は、要素収集部122によって収集された垂直線要素(垂直枠線要素Vおよび垂直補助線要素v)の開始点および終了点の座標ペアを格納する。なお、第1の記憶部20には、例えば、ROMやRAMなどのハードウェアを用いることができる。
【0090】
第2の記憶部30は、情報処理装置1で使用する各種データを格納する記憶デバイスである。本実施形態では、ペンソフト31やタッチパネルドライバ32などの各種プログラムが格納されている。例えば、ペンソフト31は、タッチペンTPによる入力操作に関する処理を実現するプログラムである。すなわち、ペンソフト31を制御部10が読み出して実行することにより、タッチペンTPによる描画機能が実現される。また、タッチパネルドライバ32は、タッチパネル2を動作させるドライバである。第2の記憶部30には、例えば、ハードディスクなどを用いることができる。
【0091】
表示データ処理部40は、ディスプレイ4に画像を表示させる制御を行う。即ち、表示データ処理部40は、表示対象となる画像データを映像信号に変換してディスプレイ4に送信し、ディスプレイ4に画像データに示される画像を表示させる。
【0092】
〔4〕作表処理部が実行する作表処理の流れ
次に、作表処理部12が実行する作表処理の流れについて、図4〜図28に基づいて説明する。まず、本実施形態に係る作表処理において表の作成に用いられる要素Fの構成について、図4に基づいて説明する。
【0093】
図4は、図3に示される作表処理部12が実行する作表処理おいて用いられる要素Fの一例を示す模式図である。図4に示されるように要素Fは、水平枠線要素H、垂直枠線要素V、垂直補助線要素v(図中v1〜v3)、水平補助線要素h(図中h1およびh2)、および終了マークEから構成される。なお、本実施形態では、水平枠線要素Hと垂直枠線要素Vとの交点である枠線交点Iが図中左上に、終了マークEが図中右下に描画された要素Fに基づいて表Tを作成する場合を例にして説明する。
【0094】
水平枠線要素Hは、X軸方向に沿って描画された開始点(第1の端点)HSおよび終了点(第2の端点)HEを有する線である。本実施形態では、水平枠線要素Hは、作成される表Tの外枠Cの対向する上下水平枠線のうち、上側の水平枠線に対応するものである。
【0095】
垂直枠線要素Vは、水平枠線要素Hと枠線交点Iで交差し、Y軸方向に沿って描画された開始点(第3の端点)VSおよび終了点(第4の端点)VEを有する線である。本実施形態では、垂直枠線要素Vは、作成される表Tの外枠Cの対向する上下垂直枠線のうち、左側の水平枠線に対応するものである。
【0096】
垂直補助線要素v1〜v3は、枠線交点Iと終了点HEとに挟まれた水平枠線要素H上に交点(第2の交点)Iv1〜Iv3を有するように描画された線である。具体的には、垂直補助線要素v1と水平枠線要素Hとは交点Iv1で交差しており、垂直補助線要素v2と水平枠線要素Hとは交点Iv2で交差しており、垂直補助線要素v3と水平枠線要素Hとは交点Iv3で交差している。
【0097】
水平補助線要素h1およびh2は、枠線交点Iと終了点VEとに挟まれた垂直枠線要素V上に描画された線である。水平補助線要素h1と垂直枠線要素Vとは交点(第3の交点)Ih1で交差しており、水平補助線要素h2と垂直枠線要素Vとは交点(第3の交点)Ih2で交差している。
【0098】
終了マークEは、少なくとも、交点Iv3のX座標に対して水平枠線要素Hの終了点HE側に位置し、且つ、交点Ih2に対して垂直枠線要素Vの終了点VE側に位置する所定領域に中心点eを有する略円形の線画である。本実施形態では、水平枠線要素Hの終了点HEのX座標および垂直枠線要素Vの終了点VEのY座標近傍の領域に描画されている。終了マークEは、なお、終了マークEの形状は、その中心点eが特定可能なものであれば特に限定されない。例えば、終了マークEは、円形のほか、多角形、或いはドットであってもよい。以下、図4に示される要素Fを用いて表Tを作成する作表処理の流れを説明する。
【0099】
図5は、図3に示される作表処理部12が実行する作表処理の一例を示すフローチャートである。図5に示されるように、本実施形態に係る作表処理は、開始要素検出処理(S1)、要素検出処理(S2)、要素収集処理(S3)、要素判定処理(S4)、特徴点収集処理(S5)、特徴点判定処理(S6)、および生成処理(S7)を含んでいる。以下、作表処理部12が実行する作表処理に含まれるS1〜S7の各処理について説明する。
【0100】
〔4−1〕開始要素検出処理(S1)
まず、開始要素検出処理について、図6〜図8に基づいて説明する。図6は、図5に示される開始要素検出処理(S1)の一例を示すフローチャートである。開始要素検出処理では、表Tの作成に用いられる要素Fの描画開始を示す開始要素が検出される。本実施形態では、開始要素として水平枠線要素Hまたは垂直枠線要素Vを検出する場合について説明する。
【0101】
図6に示されるように、開始要素検出処理は、S101〜S106を有している。まず、要素検出部121は、タッチパネル2に描画された線画の開始点および終了点の座標を取得する(S101)。そして、要素検出部121は、取得した線画の開始点および終了点の座標ペアを要素データベース21に格納する。なお、S101における要素検出部121の処理の詳細については後述する。
【0102】
次に、要素検出部121は、取得した線画の長さが所定値LA以上であるか否かを判定する(S102)。取得した線画の長さが所定値LA以上でない場合(S102でNO)、要素検出部121は、当該線画を水平枠線要素Hおよび垂直枠線要素Vの何れにも該当しないと判断し、当該線画の開始点および終了点の座標ペアを要素データベース21から削除する。そして、要素検出部121は、所定値LA以上の長さの線画が検出されるまで開始要素の検出を行う。
【0103】
一方、取得した線画の長さが所定値LA以上である場合(S102でYES)、要素検出部121は、当該線画の開始点と終了点とのY座標の差が所定値Dy以下であるか否かを判定する(S103)。Y座標の差が所定値Dy以下である場合(S103でYES)、要素検出部121は、当該線画を水平枠線要素Hであると判断し、要素Fが水平枠線要素Hから書き描き始められたと判断する(S104)。
【0104】
一方、Y座標の差が所定値Dy以下でない場合(S103でNO)、要素検出部121は、当該線画の開始点と終了点とのX座標の差が所定値Dx以下であるか否かを判定する(S105)。X座標の差が所定値Dx以下である場合(S105でYES)、要素検出部121は、当該線画を垂直枠線要素Vであると判断し、要素Fが垂直枠線要素Vから書き描き始められたと判断する(S106)。
【0105】
一方、X座標の差が所定値Dx以下でない場合(S105でNO)、要素検出部121は、当該線画を水平枠線要素Hおよび垂直枠線要素Vの何れにも該当しないと判断し、当該線画の開始点および終了点の座標ペアを要素データベース21から削除する。そして、要素検出部121は、S101に戻って開始要素が検出されるまで開始要素の検出を行う。
【0106】
次に、開始要素検出処理におけるS101での処理について、図7に基づいて説明する。図7は、図6に示されるS101における処理の一例を示すフローチャートである。図7に示されるように、S101は、S101a〜S101eを有している。
【0107】
まず、要素検出部121は、タッチパネル2の「非タッチ状態」から「タッチ状態」への変化を検出する(S101a)。「非タッチ状態」から「タッチ状態」への変化を検出した場合(S101aでYES)、要素検出部121は、「タッチ状態」を検出した座標を開始点としてメモリに記憶する(S101b)。一方、「非タッチ状態」から「タッチ状態」への変化を検出しない場合(S101aでNO)、要素検出部121は、「非タッチ状態」から「タッチ状態」への変化を検出するまで「タッチ状態」の検出を行う。
【0108】
次に、要素検出部121は、タッチパネル2の「タッチ状態」から「非タッチ状態」への変化を検出する(S101c)。「タッチ状態」から「非タッチ状態」への変化を検出した場合(S101cでYES)、要素検出部121は、「非タッチ状態」を検出した座標を終了点としてメモリに記憶する(S101d)。そして、要素検出部121は、取得した線画の開始点および終了点の座標ペアを要素データベース21に格納する(101e)。一方、「タッチ状態」から「非タッチ状態」への変化を検出しない場合(S101cでNO)、要素検出部121は、「タッチ状態」から「非タッチ状態」への変化を検出するまで「非タッチ状態」の検出を行う。
【0109】
次に、開始要素として垂直枠線要素Vが検出される場合の具体例を説明する。図8は、図6に示される開始要素検出処理(S1)の具体例を示す模式図である。図8に示されるように、例えば、タッチパネル2に線画AがY軸方向に沿って描画された場合、要素検出部121は、書き始め点を開始点、書き終わり点を終了点としてそれぞれの座標を検出し、開始点および終了点の座標ペアを要素データベース21に格納する(S101)。
【0110】
そして、要素検出部121は、線画Aの長さが所定値LA以上であるか否かを判定する(S102)。図8に示されるように、線画Aの長さは所定値LAよりも長いため、要素検出部121は所定値LA以上であると判定する(S102でYES)。ここで、所定値LAは、水平枠線要素Hおよび垂直枠線要素Vに必要な長さの下限値を示すものであり、当該所定値は必要に応じて適宜変更可能である。
【0111】
次に、要素検出部121は、線画Aの開始点と終了点とのY座標の差が所定値Dy以下であるか否かを判定する(S103)。図8に示されるように、線画Aは、開始点と終了点とのY座標の差が所定値Dyより大きいため、要素検出部121はY座標の差が所定値Dy以下でないと判定する(S103でNO)。これにより、要素検出部121は、線画Aを水平枠線要素Hに該当しないと判断する。
【0112】
次に、要素検出部121は、線画Aの開始点と終了点とのX座標の差が所定値Dx以下であるか否かを判定する(S105)。線画Aは、開始点と終了点とのX座標の差が所定値Dxより小さいため、要素検出部121は、X座標の差が所定値Dx以下であると判定する(S105でYES)。これにより、要素検出部121は、線画Aを垂直枠線要素Vであると判断し、垂直枠線要素Vから要素Fが書き描き始められたと判断する(S106)。
【0113】
このように、開始要素検出処理において開始要素が検出されたとき、要素検出部121は、要素検出処理(S2)を開始する。
【0114】
〔4−2〕要素検出処理(S2)
次に、図5に示される要素検出処理(S2)について、図9および図10に基づいて説明する。要素検出処理では、開始要素に続いて、要素Fを構成するすべての要素が検出される。
【0115】
図9は、図5に示される要素検出処理(S2)の一例を示すフローチャートである。図9に示されるように、要素検出処理は、S201〜S205を有している。要素検出部121は、開始要素を検出したとき、順次描画される線画を要素として検出し、各要素の開始点および終了点の座標ペアを要素データベース21に格納する(S201)。なお、S201における要素検出部121の処理は、図7に示されるS101の処理と同一である。
【0116】
次に、要素検出部121は、要素Fの描画終了を示す終了要素である終了マークEを検出する一連の処理を行う(S202〜S205)。本実施形態では、略円形状に描画された終了マークEを終了要素として検出する場合について説明する。
【0117】
図10(a)および(b)は、図4に示される終了マークEを示す拡大図である。要素検出部121は、図10(a)に示されるように、検出した要素の開始点と終了点との距離が所定値De以下であるか否かを判定する(S202)。開始点と終了点との距離が所定値De以下でない場合(S202でNO)、要素検出部121は、当該要素を終了マークEに該当しないと判断し、S201に戻って終了マークEが検出されるまで要素の検出を行う。
【0118】
一方、開始点と終了点との距離が所定値De以下である場合(S202でYES)、要素検出部121は、当該要素の中心座標が所定領域にあるか否かを判定する(S203)。具体的には、要素検出部121は、当該要素の中心座標のX座標が交点Iv3のX座標に対して終了点HE側であり、且つ、当該要素の中心座標のY座標が交点Ih2のY座標に対して終了点VE側である否かを判定する。或いは、要素検出部121は、終了点HEのX座標および終了点VEのY座標近傍にあるか否かを判定する。
【0119】
中心座標が所定領域にない場合(S203でNO)、要素検出部121は、当該要素を終了マークEに該当しないと判断し、S201に戻って終了マークEが検出されるまで要素の検出を行う。一方、所定領域にある場合(S203でYES)、要素検出部121は、図10(b)に示されるように、当該要素のX座標の最大値と最小値との差が所定値Lex以上であるか否かを判定する。また、要素検出部121は、当該要素のY座標の最大値と最小値との差が所定値Ley以上であるか否かを判定する(S204)。
【0120】
X座標の最大値と最小値との差が所定値Lex未満である場合、または当該線線画のY座標の最大値と最小値との差が所定値Ley未満である場合(S204でNO)、要素検出部121は、当該要素を終了マークEに該当しないと判断し、S201に戻って終了マークEが検出されるまで要素の検出を行う。一方、X座標の最大値と最小値の差が所定値Lex以上であり、且つ、Y座標の最大値と最小値の間隔が所定値Ley以上である(S204でYES)、要素検出部121は、当該要素を終了マークEであると判断し、終了マークEの中心点eの座標としてメモリに記憶する(S205)。そして、要素検出部121は、終了マークEを検出したとき、要素検出処理の終了を示す信号を要素収集部122に出力する。
【0121】
〔4−3〕要素収集処理(S3)
次に、図5に示される要素収集処理(S3)について、図11に基づいて説明する。要素収集処理では、要素検出部121によって要素データベース21に格納された要素から水平線要素(水平枠線要素Hおよび水平補助線要素v)、および垂直線要素(垂直枠線要素Vおよび垂直補助線要素v)が収集される。
【0122】
図11は、図5に示される要素収集処理(S3)の一例を示すフローチャートである。図11に示されるように、要素収集処理は、S301〜S309を有している。要素収集部122は、要素検出部121から要素検出処理の終了を示す信号が出力されたとき、要素データベース21に格納された要素の開始点および終了点の座標ペアを読み出す(S301)。そして、要素収集部122は、当該座標ペアの開始点と終了点とのX座標の差が所定値Dpx以下であるか否かを判定する(S302)。
【0123】
X座標の差が所定値Dpx以下である場合(S302でYES)、要素検出部121は、当該座標ペアで特定される要素を垂直枠線要素Vまたは垂直補助線要素vの何れかの垂直線要素であると判断し、垂直線要素データベース23に格納すると共に(S303)、当該座標ペアを要素データベース21から削除する(S306)。
【0124】
一方、座標ペアの開始点と終了点とのX座標の差が所定値Dpxより大きい場合(S302でNO)、要素収集部122は、当該座標ペアの開始点と終了点とのY座標の差が所定値Dpy以下であるか否かを判定する(S304)。
【0125】
Y座標の差が所定値Dpy以下である場合(S304でYES)、要素収集部122は、当該座標ペアで特定される要素を水平枠線要素Hまたは水平補助線要素hの何れかの水平線要素であると判断し、水平線要素データベース22に格納すると共に(S305)、当該座標ペアを要素データベース21から削除する(S306)。
【0126】
一方、Y座標の差が所定値Dpyより大きい場合(S304でNO)、要素収集部122は、当該座標ペアで特定される要素を垂直枠線要素V、垂直補助線要素v、水平枠線要素H、および水平補助線要素hの何れにも該当しないと判断し、当該座標ペアを要素データベース21から削除する(S306)。
【0127】
次に、要素収集部122は、要素データベース21が空であるか否かを判定する(S307)。要素データベース21が空でない場合(S307で)、要素収集部122はS301に戻って、要素データベース21が空になるまでS301〜S306を行う。一方、要素データベース21が空である場合(S307でYES)、要素収集部122は、要素データベース21に格納された要素から必要な水平線要素および垂直線要素が収集されたと判断し、S308に進む。
【0128】
次に、要素収集部122は、垂直線要素データベース23から、開始点と終了点とのY座標の差が最も大きい座標ペアを読み出して、当該座標ペアで特定される垂直線要素を垂直枠線要素Vと判断してメモリに記憶する。このとき、要素収集部122は、当該座標ペアを垂直線要素データベース23から削除する。これにより、垂直線要素データベース23には、垂直補助線要素v1〜v3に対応する座標ペアのみが格納される。
【0129】
同様に、要素収集部122は、水平線要素データベース22から、開始点と終了点とのX座標の差が最も大きい座標ペアを読み出して、当該座標ペアで特定される水平線要素を水平枠線要素Hと判断してメモリに記憶する。このとき、要素収集部122は、当該座標ペアを水平線要素データベース22から削除する。これにより、水平線要素データベース22には、水平補助線要素h1およびh2に対応する座標ペアのみが格納される。
【0130】
このように、要素収集処理において、要素データベース21に格納された要素から、水平枠線要素H、垂直枠線要素V、水平補助線要素h1およびh2、または垂直補助線要素v1〜v3を収集することができる。
【0131】
〔4−4〕要素判定処理(S4)
次に、図5に示される要素判定処理(S4)について説明する。要素収集処理では、表Tの作成に用いられる要素Fがすべて収集されたか否かが判定される。具体的には、要素収集部122は、1つの水平枠線要素H、1つの垂直枠線要素V、少なくとも1つの垂直補助線要素v、少なくとも1つの水平補助線要素h、および1つの終了マークEの5種類の要素がすべて収集されたか否かを判定する。要素Fがすべて収集されていない場合、要素収集部122はS2に戻って、要素Fがすべて収集されるまで要素の検出を行う。一方、要素Fがすべて収集された場合、要素収集部122は、要素収集処理の終了を示す信号を特徴点収集部123に出力する。
【0132】
〔4−5〕特徴点収集処理(S5)
次に、図5に示される特徴点収集処理(S5)について、図12〜図15に基づいて説明する。特徴点収集処理では、要素Fから作表に必要な特徴点が収集される。
【0133】
図12は、図5に示される特徴点収集処理(S5)の一例を示すフローチャートである。図12に示されるように、特徴点収集処理はS501〜S505を有している。まず、特徴点収集部123は、水平枠線要素Hと垂直枠線要素Vとの枠線交点Iの座標を特定する(S501)。
【0134】
図13(a)および図13(b)は、図12に示されるS501における処理の具体例示す模式図である。枠線交点Iの座標の求め方としては、図13(a)に示されるように、垂直枠線要素Vの開始点VSから終了点VEに向かって垂直枠線要素V上に観測点を移動させ、水平枠線要素Hと交差した位置の座標を枠線交点Iとして特定してもよい。
【0135】
或いは、図13(b)に示されるように、水平枠線要素Hの開始点HSと終了点HEとを結ぶ直線と、垂直枠線要素Vの開始点VSと終了点VEとを結ぶ直線との交点の座標を枠線交点Iとして特定してもよい。具体的には、水平枠線要素Hの開始点HSの座標をP2s(X21,Y21)、終了点HEの座標をP2e(X22,Y22)とし、垂直枠線要素Vの開始点VSの座標をP1s(X11,Y11)、終了点VEの座標をP1e(X12,Y12)としたとき、P2s(X21,Y21)とP2e(X22,Y22)とを端点とする線分、およびP1s(X11,Y11)とP1e(X12,Y12)とを端点とする線分の交点の座標を枠線交点Iとして特定してもよい。
【0136】
次に、特徴点収集部123は、特定した枠線交点Iの座標を用いて、枠線交点Iと水平枠線要素Hの開始点HSとの距離である水平枠線外距離を求める(S502)。同様に、特徴点収集部123は、枠線交点Iと垂直枠線要素Vの開始点VSとの距離である垂直枠線外距離を求める(S503)。
【0137】
図14は、図12に示されるS502、およびS503における処理の具体例を示す模式図である。図14に示されるように、特徴点収集部123は、枠線交点Iの座標を用いて、枠線交点Iと水平枠線要素Hの開始点HSとの距離を計算し、水平枠外距離dHを求める(S502)。例えば、特徴点収集部123は、枠線交点Iと開始点HSとのX座標の差分を水平枠外距離dHとして求める。
【0138】
同様に、特徴点収集部123は、枠線交点Iと垂直枠線要素Vの開始点VSとの距離を計算し、垂直枠外距離dVを求める(S503)。例えば、特徴点収集部123は、枠線交点Iと開始点VSとのY座標の差分を水平枠外距離dHとして求める。
【0139】
このようにして求められた水平枠外距離dHおよび垂直枠外距離dVは、後述する生成処理(S7)において、作成する表Tにタイトルを付加するか否かの判定に用いられる。
【0140】
次に、特徴点収集部123は、水平線要素間の間隔(S504)、および垂直線要素間の間隔をそれぞれ求める(S505)。
【0141】
図15は、図12に示されるS504、およびS505における処理の具体例を示す模式図である。図15に示されるように、特徴点収集部123は、水平線要素間の間隔として、水平補助線要素h2と水平補助線要素h1との間隔dh2、および水平補助線要素h1と水平枠線要素Hとの間隔dh1を、それぞれ求める(S504)。例えば、特徴点収集部123は、交点Ih2と交点Ih1とのY座標の差分を間隔dh2として求め、交点Ih1と枠線交点IとのY座標の差分を間隔dh1として求める。
【0142】
同様に、特徴点収集部123は、垂直線要素間の間隔として、垂直補助線要素v3と垂直補助線要素v2との間隔dv3、垂直補助線要素v2と垂直補助線要素v1との間隔dv2、および垂直補助線要素v1と垂直枠線要素Vとの間隔dv1を求める(S505)。例えば、特徴点収集部123は、交点Iv3と交点Iv2とのX座標の差分を間隔dv3として求め、交点Iv2と交点Iv1とのX座標の差分を間隔dv2として求め、交点Iv1と枠線交点IとのX座標の差分を間隔dv1として求める。
【0143】
このようにして求められた平線要素間の間隔dh1およびdh2と垂直線要素間の間隔dv1〜dv3とは、後述する生成処理(S7)において、作成する表Tのセルの高さ、およびセルの幅を均等化するか否かの判断に用いられる。
【0144】
このように、特徴点収集部処理において、枠線交点Iの座標、水平枠外距離dH、垂直枠外距離dV、水平線要素間の間隔dh1およびdh2、および垂直線要素間の間隔dv1〜dv3を特徴点とて収集することができる。
【0145】
〔4−6〕特徴点判定処理(S6)
次に、特徴点判定処理について説明する。特徴点判定処理では、特徴点収集処理(S5)において作表に必要な特徴点がすべて収集されたか否かが判定される。本実施形態では、特徴点収集部123は、枠線交点Iの座標を含む各座標、水平枠外距離dH、垂直枠外距離dV、水平線要素間の間隔dh1およびdh2、および垂直線要素間の間隔dv1〜dv3がすべて収集されたか否かを判定する。特徴点がすべて収集されていない場合、特徴点収集部123はS2に戻って特徴点がすべて収集されまで要素の検出を行う。一方、特徴点がすべて収集された場合、特徴点収集部123は、収集した特徴点をメモリに記憶し、特徴点収集処理の終了を示す信号を生成処理部124に出力する。
【0146】
〔4−7〕生成処理(S7)
次に、図5に示される生成処理(S7)について図16〜図26に基づいて説明する。生成処理では、特徴点収集処理(S5)において収集された特徴点などを用いて表Tの画像データを生成する。
【0147】
図16は、図5に示される生成処理(S7)の一例を示すフローチャートである。図16に示されるように、生成処理は、S701〜S713を有している。タイトル判定部125は、特徴点収集部123から特徴点収集処理の終了を示す信号が出力されたとき、作成する表Tにタイトルを付加するか否かを判定する(S701〜S706)。
【0148】
図17は、図16に示されるS701〜S706における処理の具体例を示す模式図である。タイトル判定部125は、まず、行タイトルを付加するか否かを判定する(S701)。具体的には、タイトル判定部125は、メモリから枠線交点Iと水平枠線要素Hの開始点HSとの距離である水平枠外距離dHを読み出し、水平枠外距離dHが所定値Lvtitle以上である否かを判定する。水平枠外距離dHが所定値Lvtitle未満である場合(S701でNO)、タイトル判定部125は、行タイトル無しと判定する(S702)。一方、水平枠外距離dHが所定値Lvtitle以上である場合(S701でYES)、タイトル判定部125は、行タイトル有りと判定する(S703)。
【0149】
同様に、タイトル判定部125は、作成する表Tに列タイトルを付加する否かを判定する(S704)。具体的には、タイトル判定部125は、メモリから枠線交点Iと垂直枠線要素Vの開始点VSと距離である垂直枠外距離dVを読み出し、垂直枠外距離dVが所定値Lhtitle以上である否かを判定する。垂直枠外距離dVが所定値Lhtitle未満である場合(S704でNO)、タイトル判定部125は、列タイトル無しと判定する(S705)。一方、垂直枠外距離dVが所定値Lhtitle以上である場合(S701でYES)、タイトル判定部125は、列タイトル有りと判定する(S706)。そして、タイトル判定部125は、判定結果を座標特定部127に出力する。
【0150】
座標特定部127は、タイトル判定部125から判定結果が出力されたとき、当該判定結果に基づいて枠線交点Iの座標を修正し、作成する表Tの外枠を特定する際の基準となる枠開始点の座標を特定する(S707)。
【0151】
図18は、図16に示されるS707における処理の一例を示すフローチャートである。図18に示されるように、S707は、S707a〜S707fを有している。
【0152】
座標特定部127は、タイトル判定部125から出力された行タイトルの判定結果を参照する(S707a)。判定結果が行タイトル無しの場合(S707aでNO)、座標特定部127は、メモリから枠線交点Iの座標を読み出し、枠線交点IのX座標を枠開始点のX座標と特定する。一方、判定結果が行タイトル有りの場合(S707aでYES)、座標特定部127は、メモリから枠線交点Iと水平枠線要素Hの開始点HSの座標を読み出し、枠線交点IのX座標を開始点HSのX座標に修正する。即ち、座標特定部127は、開始点HSのX座標を枠開始点のX座標と特定する。(S707c)。
【0153】
同様に、座標特定部127は、タイトル判定部125から出力された列タイトルの判定結果を参照する(S707d)。判定結果が列タイトル無しの場合(S707dでNO)、座標特定部127は、枠線交点IのY座標を枠開始点のY座標として特定する(S707e)。一方、判定結果が列タイトル有りの場合(S707dでYES)、座標特定部127は、メモリから垂直枠線要素Vの開始点VSの座標を読み出し、枠線交点IのY座標を開始点VSのY座標に修正する。即ち、座標特定部127は、開始点VSのY座標を枠開始点のY座標と特定する(S707f)。
【0154】
このように、S707において作成する表Tの外枠を特定する際の基準となる枠開始点のX座標およびY座標を特定することができる。なお、行タイトルおよび列タイトルを付加しない場合、座標特定部127は、枠線交点IのX座標およびY座標を枠開始点の座標として特定する。座標特定部127は、特定した枠開始点の座標を生成部128に出力する。
【0155】
次に、セル幅/高さ判定部126は、特徴点収集部123から特徴点収集処理の終了を示す信号が出力されたとき、作成する表Tのセルの幅を均等化するか否かを判定し、当該判定結果に基づいて、座標特定部127は、作成する表Tの垂直補助線位置を特定する(S708)。
【0156】
図19は、図16に示されるS708における処理の一例を示すフローチャートである。図19に示されるように、S708は、S708a〜S708eを有している。まず、セル幅/高さ判定部126は、特徴点収集部123から特徴点収集処理の終了を示す信号が出力されたとき、メモリから垂直線要素間の間隔dv1〜dv3を読み出し、垂直線要素間の間隔dv1〜dv3の偏差を求める(S708a)。具体的には、セル幅/高さ判定部126は、隣り合う垂直線要素間の間隔dv1と間隔dv2、および間隔dv2と間隔dv3とのX座標の差分を偏差としてそれぞれ求める。
【0157】
次に、セル幅/高さ判定部126は、当該偏差が何れも所定値Dvs以下であるか否かを判定する(S708b)。何れかの偏差が所定値Dvs以下でない場合(S708bでNO)、セル幅/高さ判定部126はセルの幅を垂直線要素間の間隔dv1〜dv3と判断する(S708c)。一方、すべての偏差が所定値Dvs以下である場合(S708bでYES)、セル幅/高さ判定部126は、セルの幅を均等化すると判断する(S708d)。そして、セル幅/高さ判定部126は、当該判定結果を座標特定部127に出力する。
【0158】
続いて、座標特定部127は、セル幅/高さ判定部126から出力された判定結果に基づいて作成する表Tの垂直補助線位置を特定する(S708e)。具体的には、セル幅/高さ判定部126からセルの幅を垂直線要素間の間隔dv1〜dv3とする判定結果が出力されたとき、座標特定部127は、メモリから水平枠線要素Hと垂直補助線要素v1〜v3との交点Iv1〜Iv3の座標を読み出し、交点Iv1〜Iv3のX座標を垂直補助線のX座標として特定する。一方、タイトル判定部125からセルの幅を均等にする判定結果が出力されたとき、座標特定部127は、セルの幅を均等化するX座標を求める。例えば、座標特定部127は、メモリから枠線交点Iの座標と終了マークEの中心点eの座標とを読み出し、これらのX座標の間隔を均等に分割するX座標を垂直補助線要素vの数に応じて求める。本実施形態では、3つの垂直補助線要素v1〜v3が描画されているため、座標特定部127は、上記X座標の間隔を均等に4分割するX座標を3つ求め、それぞれを垂直補助線座標として特定する。
【0159】
次に、セル幅/高さ判定部126は、作成する表Tのセルの高さを均等化するか否かを判定し、当該判定結果に基づいて、座標特定部127は、作成する表Tの水平補助線位置を特定する(S709)。
【0160】
図20は、図16に示されるS709における処理の一例を示すフローチャートである。図20に示されるように、S709は、S709a〜S709eを有している。まず、セル幅/高さ判定部126は、メモリから水平線要素間の間隔dh1およびdh2を読み出し、水平線要素間の間隔dh1およびdh2の偏差を求める(S709a)。具体的には、セル幅/高さ判定部126は、水平線要素間の間隔dh1と間隔dh2とのY座標の差分を偏差として求める。
【0161】
次に、セル幅/高さ判定部126は、当該偏差が所定値Dhs以下であるか否かを判定する(S709b)。偏差が所定値Dhs以下でない場合(S709bでNO)、セル幅/高さ判定部126はセルの高さを水平線要素間の間隔dh1およびdh2と判断する(S709c)。一方、偏差が所定値Dhs以下である場合(S709bでYES)、セル幅/高さ判定部126は、セルの高さを均等化すると判断する(S709d)。そして、セル幅/高さ判定部126は、当該判定結果を座標特定部127に出力する。
【0162】
続いて、座標特定部127は、セル幅/高さ判定部126から出力された判定結果に基づいて作成する表Tの水平補助線位置を特定する(S709e)。具体的には、セル幅/高さ判定部126からセルの幅を水平線要素間の間隔dh1およびdh2とする判定結果が出力されたとき、座標特定部127は、メモリから垂直枠線要素Vと水平補助線要素h1およびh2との交点Ih1およびIh2の座標を読み出し、交点Ih1およびIh2のY座標を水平補助線のY座標として特定する。一方、セル幅/高さ判定部126からセルの高さを均等にする判定結果が出力されたとき、座標特定部127は、セルの高さを均等化するY座標を求める。例えば、座標特定部127は、メモリから枠線交点Iの座標と終了マークEの中心点eの座標とを読み出し、これらのY座標の間隔を均等に分割するY座標を水平補助線要素hの数に応じて求める。本実施形態では、2つの水平補助線要素h1およびh2が描画されているため、座標特定部127は、上記Y座標の間隔を均等に3分割するY座標を2つ求め、それぞれを垂直補助線座標として特定する。
【0163】
次に、生成部128は、座標特定部127から枠開始点の座標が出力されたとき、作成する表Tの外枠を生成する(S710)。
【0164】
図21は、図16に示されるS710における処理の具体例を示す模式図である。図21に示されるように、生成部128は、枠開始点Sとメモリから読み出した終了マークEの中心点eとを用いて、枠開始点Sと終了マークEの中心点eとを結ぶ線分を対角線とする矩形の外枠Cを生成する。
【0165】
なお、図21では、行タイトルおよび列タイトルを何れも付加する場合の具体例を示しているが、例えば、行タイトルおよび列タイトルを何れも付加しない場合、生成部128は、枠線交点Iと終了マークEの中心点eとを結ぶ線分を対角線とする矩形の外枠Cを生成する。
【0166】
次に、生成部128は、外枠Cに列タイトルを付加する列タイトル線、または行タイトルを付加する行タイトル線を適宜生成する(S711・S712)。
【0167】
図22は、図16に示されるS711における処理の一例を示すフローチャートであり、図23は、図16に示されるS712における処理の一例を示すフローチャートである。また、図24は、図16に示されるS711、およびS712における処理の具体例を示す模式図である。
【0168】
図22に示されるように、S711は、S711aおよびS711bを有している。生成部128は、列タイトル有りの場合(S711aでYES)、外枠Cの対向する2つの垂直枠線間に、枠線交点Iを通り当該垂直枠線に直交する列タイトル線hT0を生成する(S711b)。これにより、外枠Cに列タイトルHTを付加することができる。一方、生成部128は、列タイトル無しの場合(S711aでNO)、外枠Cに列タイトルHTを付加することなく処理を終了する。
【0169】
図23に示されるように、S712は、S712aおよびS712bを有している。続いて、生成部128は、行タイトル有りの場合(S712aでYES)、外枠Cの対向する2つの水平枠線間に、枠線交点Iを通り当該水平枠線に直交する行タイトル線vT0を生成する(S712b)。これにより、外枠Cに行タイトルVTを付加することができる。一方、生成部128は、行タイトル無しの場合(S711aでNO)、外枠Cに行タイトルVTを付加することなく処理を終了する。
【0170】
次に、生成部128は、座標特定部127から出力された垂直補助線のX座標、および水平補助線のY座標を用いて、外枠Cに水平補助線および垂直補助線をそれぞれ生成する(S713)。
【0171】
図25は図16に示されるS713における処理の一例を示すフローチャートである。図25に示されるように、S713は、S713a〜S713fを有している。生成部128は、行タイトルVT無しの場合(S713aでNO)、枠線交点IのX座標から終了マークEの中心のX座標まで、座標特定部127から出力された水平補助線のY座標に基づいてそれぞれ水平補助線を生成する(S713b)。一方、生成部128は、行タイトルVT有りの場合(S713aでYES)、枠開始点SのX座標から終了マークEの中心のX座標まで、座標特定部127から出力された水平補助線のY座標に基づいてそれぞれ水平補助線を生成する(S713b)。これにより、行タイトルの有無によらず、外枠Cの対向する2つの垂直枠線間を結ぶ水平補助線を生成することができる。
【0172】
続いて、生成部128は、列タイトル無しの場合(S713dでNO)、枠線交点IのY座標から終了マークEの中心のY座標まで、座標特定部127から出力された垂直補助線のX座標に基づいてそれぞれ垂直補助線を生成する(S713e)。一方、生成部128は、列タイトル有りの場合(S713aでYES)、枠開始点SのY座標から終了マークEの中心のY座標まで、座標特定部127から出力された垂直補助線のX座標に基づいてそれぞれ水平補助線を生成する(S713b)。これにより、列タイトルの有無によらず、外枠Cの対向する2つの水平枠線間を結ぶ垂直補助線を生成することができる。
【0173】
図26は、本実施形態係る作表処理で生成される表Tの一例を示す模式図である。以上の処理により、図4に示される要素Fから図26の示される表Tを生成することができる。図26に示されるように、表Tでは、枠開始点SのX座標と終了マークEの中心点eのX座標との間に、座標特定部127から出力された水平補助線座標に基づいて水平補助線hT1およびhT2がそれぞれ生成される。また、枠開始点SのY座標と終了マークEの中心のY座標との間に、座標特定部127から出力された垂直補助線座標に基づいて垂直補助線vT1〜vT3がそれぞれ生成される(S713b)。このため、従来のように、枠線と補助線との間に隙間が生じたり、或いは、枠線から補助線がはみ出したりすることなく、整形された表Tを生成することができる。
【0174】
そして、生成部128は、生成した表Tの画像データを表示データ処理部40に出力し、表示データ処理部40は、当該画像データを映像信号に変換してディスプレイ4に送信し、ディスプレイ4に表Tを表示させる。
【0175】
〔5〕まとめ
以上のように、本実施形態に係る情報処理装置1は、表Tの作成に用いられる要素Fが手書き入力されるタッチパネル2と、タッチパネル2に入力された要素Fに基づいて表Tを生成する作表処理部12と、作表処理部12によって生成された表Tを表示するディスプレイ4とを備える情報処理装置1において、作成される表Tの行方向をX軸方向、列方向をY軸方向としたとき、作表処理部12は、タッチパネル2に入力された、X軸方向に沿って描画された開始点HSおよび終了点HEを有する水平枠線要素Hと、当該水平枠線要素Hと枠線交点Iで交差し、Y軸方向に沿って描画された開始点VSおよび終了点VEを有する垂直枠線要素Vと、枠線交点Iと終了点HEとに挟まれた水平枠線要素Hと交点Iv1〜Iv3で交差する少なくとも1つの垂直補助線要素v1〜v3と、枠線交点Iと終了点VEとに挟まれた垂直枠線要素Vと交点Ih1およびIh2で交差する少なくとも1つの水平補助線要素h1およびh2と、少なくとも、交点Iv3のX座標に対して終了点HE側であり、且つ、交点Ih2のY座標に対して終了点VE側に定義された所定領域に中心点eを有する終了マークEとを含む要素Fを検出する要素検出部121と、要素検出部121によって検出された要素Fを用いて表Tを生成する生成部128とを備え、生成部128は、枠線交点Iおよび終了マークEの中心点eとを結ぶ線分を対角線とする矩形の外枠Cを生成し、外枠CのX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線vT1〜vT3を、交点Iv1〜Iv3のX座標に基づいてY軸方向に生成し、外枠CのY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線hT1およびhT2を、交点Ih1およびIh2のY座標に基づいてX軸方向に生成する構成である。
【0176】
情報処理装置1によれば、生成部128は、垂直補助線vT1〜vT3の両端が外枠Cの対向する2つの水平枠線上に位置するように、垂直補助線vT1〜vT3を交点Iv1〜Iv3のX座標に基づいて生成する。即ち、生成部128は、交点Iv1〜Iv3のX座標および枠線交点IのY座標で特定される3点と、生成部128は、交点Iv1〜Iv3のX座標および終了マークEの中心点eのY座標で特定される3点とを結ぶ垂直補助線vT1〜vT3を生成する構成である。また、生成部128は、水平補助線の両端が外枠の対向する2つの垂直枠線上に位置するように、水平補助線hT1およびhT2を第2の交点のX座標に基づいて生成する。即ち、生成部128は、枠線交点IのX座標および交点Ih1およびIh2とで特定される2点と、終了マークEの中心点eのX座標および交点Ih1およびIh2で特定される2点とを結ぶ水平補助線hT1およびhT2を生成する構成である。このため、従来のように、枠線と補助線との間に隙間が生じたり、或いは、枠線から補助線がはみ出したりするなどの問題を解決することができる。
【0177】
また、情報処理装置1によれば、ユーザは、作成される表Tの1つの水平枠線を規定する水平枠線要素H、および作成される表Tの1つの垂直枠線を規定する垂直枠線要素V上に、枠線と補助線との交点位置を規定する垂直補助線要素v1〜v3、および水平補助線要素h1およびh2を描画する構成である。このため、従来のように、交点のみを描画して表を作成する構成に比べて、最終的に作成される表の構成を特定することが容易であるため、ユーザは、所望の表を得ることができる。
【0178】
それゆえ、本実施形態によれば、手書きで描画された線画要素に基づいて、所望の表を作成することができる作表装置、および作表方法を実現することができる。
〔変形例1〕
図27(a)〜(c)は、本実施形態に係る作表処理の変形例を示す模式図である。例えば、表計算ソフトなどと組み合わせて本実施形態に係る作表処理を実施することも可能である。この場合、図27(a)〜(c)に示されるマトリクス状に規定された罫線の交点である罫線交点の座標を検出することで、座標修正部は127、枠線交点Iの座標、交点Iv1〜Iv3の座標、交点Ih1およびIh2の座標、または終了マークEの中心点eの座標をそれそれ近傍の罫線交点の座標と一致するように修正する。これにより、図27(c)に示されるように、ディスプレイ4に表示された罫線上に表Tを表示させることができる。
〔変形例2〕
本実施形態では、2つの水平補助線要素h1およびh2が描画された場合、特徴点収集部123は、水平線要素間の間隔として、水平補助線要素h2と水平補助線要素h1との間隔dh2、および水平補助線要素h1と水平枠線要素Hとの間隔dh1をそれぞれ求め、セル幅/高さ判定部126は当該間隔に基づいてセルの高さを決定する場合について説明した。
【0179】
一方、水平補助線要素hが1つ描画された場合、特徴点収集部123は、水平線要素間の間隔に代えて、垂直枠線要素Vの終了点VEと水平補助線要素hとの間隔、および水平補助線要素hと水平枠線要素Hとの間隔をそれぞれ求め、セル幅/高さ判定部126は当該間隔に基づいてセルの幅を決定する構成であってもよい。
〔変形例3〕
同様に、本実施形態では、3つの垂直補助線要素v1〜v3が描画された場合、特徴点収集部123は、垂直線要素間の間隔として、垂直補助線要素v3と垂直補助線要素v2との間隔dv3、垂直補助線要素v2と垂直補助線要素v1との間隔dv2、および垂直補助線要素v1と枠線交点Iの垂直枠線要素Vとの間隔dv1をそれぞれ求め、セル幅/高さ判定部126は当該間隔に基づいてセルの高さを決定する場合について説明した。
【0180】
一方、垂直補助線要素vが1つ描画された場合、特徴点収集部123は、垂直線要素間の間隔に代えて、水平枠線要素Hの終了点HEと垂直補助線要素vとの間隔、および垂直補助線要素vと垂直枠線要素Vとの間隔をそれぞれ求め、セル幅/高さ判定部126は当該間隔に基づいてセルの幅を決定する構成であってもよい。
【0181】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0182】
最後に、情報処理装置1の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
【0183】
すなわち、情報処理装置1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリなどの記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである情報処理装置1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、情報処理装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0184】
上記記録媒体としては、例えば、磁気テープやカセットテープなどのテープ系、フロッピー(登録商標)ディスク/ハードディスクなどの磁気ディスクやCD−ROM/MO/MD/DVD/CD−Rなどの光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROMなどの半導体メモリ系などを用いることができる。
【0185】
また、情報処理装置1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網などが利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線などの有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【0186】
本発明は、例えば、タッチパネル式のディスプレイを備える電子会議システムなどに好適に適用することができる。
【符号の説明】
【0187】
1 情報処理装置(作表装置)
2 タッチパネル(入力手段)
3 画像処理部
4 ディスプレイ(表示手段)
125 タイトル判定部(行タイトル付加部・列タイトル付加部)
126 セル幅/高さ判定部(セル幅調整部・セル高さ調整部)
127 座標特定部(行タイトル付加部・列タイトル付加部・セル幅調整部・セル高さ調整部)
128 生成部(外枠生成部・垂直補助線生成部・水平補助線生成部)
F 要素(線画要素)
H 水平枠線要素(第1の要素)
V 垂直枠線要素(第2の要素)
v 垂直補助線要素(第3の要素)、
h 水平補助線要素(第4の要素)
E 終了マーク(第5の要素)
e 中心点(中心座標)
I 枠線交点(第1の交点)
Ih 交点(第2の交点)
Iv 交点(第3の交点)
vT1 垂直補助線
vT2 垂直補助線
vT3 垂直補助線
hT1 水平補助線
hT2 水平補助線
HS 開始点(第1の端点)
HE 終了点(第2の端点)
VS 開始点(第3の端点)
VE 終了点(第4の端点)
C 外枠
T 表

【特許請求の範囲】
【請求項1】
表の作成に用いられる線画要素が手書き入力される入力手段と、
上記入力手段に入力された上記線画要素に基づいて表を生成する作表処理手段と、
上記作表処理手段によって生成された表を表示する表示手段とを備える作表装置において、
作成される表の行方向をX軸方向、列方向をY軸方向としたとき、
上記作表処理手段は、上記入力手段に入力された、
X軸方向に沿って描画された第1の端点および第2の端点を有する第1の要素と、
上記第1の要素と第1の交点で交差し、Y軸方向に沿って描画された第3の端点および第4の端点を有する第2の要素と、
上記第1の交点と上記第2の端点とに挟まれた上記第1の要素と第3の交点で交差する少なくとも1つの第3の要素と、
上記第1の交点と上記第4の端点とに挟まれた上記第2の要素と第4の交点で交差する少なくとも1つの第4の要素と、
少なくとも、上記第2の交点のX座標に対して上記第2の端点側であり、且つ、上記第3の交点のY座標に対して上記第4の端点側に定義された所定領域に中心点を有する第5の要素とを含む上記線画要素を検出する要素検出部と、
上記要素検出部によって検出された上記線画要素を用いて表を生成する生成部とを備え、
上記生成部は、上記第1の交点および上記第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を生成する外枠生成部と、
上記外枠のX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線を、上記第2の交点のX座標に基づいてY軸方向に生成する垂直補助線生成部と、
上記外枠のY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線を、上記第3の交点のY座標に基づいてX軸方向に生成する水平補助線生成部とを備えることを特徴とする作表装置。
【請求項2】
上記作表処理手段は、作成する表のセルの幅を均等化するセル幅調整部を備え、
上記セル幅調整部は、上記第3の要素が2つ以上描画されているとき、上記第2の交点間の間隔、および上記第1の交点と当該第1の交点に最も近い位置に描画された上記第2の交点との間隔をそれぞれ取得し、隣り合う当該間隔の差分がすべて所定閾値以下であるとき、上記セルの幅が均等化するように上記第2の交点のX座標を修正することを特徴とする請求項1に記載の作表装置。
【請求項3】
上記作表処理手段は、作成する表のセルの幅を均等化するセル幅調整部を備え、
上記セル幅調整部は、上記要素検出部によって上記第3の要素が1つ検出されたとき、上記第2の端点と上記第2の交点との間隔、および当該第2の交点と上記第1の交点との間隔をそれぞれ取得し、これらの間隔の差分が所定閾値以下であるとき、上記セルの幅が均等化するように上記第2の交点のX座標を修正することを特徴とする請求項1に記載の作表装置。
【請求項4】
上記作表処理手段は、作成する表のセルの高さを均等化するセル高さ調整部を備え、
上記セル高さ調整部は、上記要素検出部によって上記第4の要素が2つ以上検出されたとき、上記第3の交点間の間隔、および上記第1の交点と当該第1の交点に最も近い位置に描画された上記第3の交点との間隔をそれぞれ取得し、隣り合う当該間隔の差分がすべて所定閾値以下であるとき、上記セルの高さが均等化するように上記第3の交点のY座標を修正することを特徴とする請求項1から3の何れか1項に記載の作表装置。
【請求項5】
上記作表処理手段は、作成する表のセル高さを均等化するセル高さ調整部を備え、
上記セル高さ調整部は、上記要素検出部によって上記第4の要素が1つ検出されたとき、上記第3の端点と上記第3の交点との間隔、および当該第3の交点と上記第1の交点との間隔をそれぞれ取得し、これらの間隔の差分が所定閾値以下であるとき、上記セルの高さが均等化するように上記第3の交点のY座標を修正することを特徴とする請求項1から3の何れか1項に記載の作表装置。
【請求項6】
上記作表処理手段は、作成する表に行タイトルを付加する行タイトル付加部を備え、
上記行タイトル付加部は、上記要素検出部によって検出された上記線画要素における上記第1の交点と上記第1の端点との距離が所定閾値以上であるとき、上記第1の交点のX座標を上記第1の端点のX座標に修正し、
垂直補助線生成部は、上記要素検出部によって検出された修正前の上記第1の交点を通る上記垂直補助線を生成することを特徴とする請求項1から5の何れか1項に記載の作表装置。
【請求項7】
上記作表処理手段は、作成する表に列タイトルを付加する列タイトル付加部を備え、
上記列タイトル付加部は、上記要素検出部によって検出された上記線画要素における上記第1の交点と上記第3の端点との距離が所定閾値以上であるとき、上記第1の交点のY座標を上記第1の端点のY座標に修正し、
上記水平補助線生成部は、上記要素検出部によって検出された修正前の上記第1の交点を通る上記水平補助線を生成することを特徴とする請求項1から5の何れか1項に記載の作表装置。
【請求項8】
上記作表処理手段は、上記表示手段の表示画面にマトリクス状に規定されたX軸方向またはY軸方向に平行な罫線の交点である罫線交点の座標を検出する罫線交点検出部と、
上記罫線交点検出部により検出された上記罫線交点の座標に基づいて、上記線画要素における所定の座標を修正する座標修正部とを備え、
上記座標修正部は、上記第1の交点の座標、上記第2の交点の座標、上記第3の交点の座標、または上記第5の要素の中心点の座標を、それぞれ近傍に位置する上記罫線交点の座標に修正することを特徴とする請求項1に記載の作表装置。
【請求項9】
上記要素検出部は、上記第1の要素または上記第2の要素を検出したときに、上記線画要素に含まれる他の要素の検出を開始することを特徴とする請求項1から8の何れか1項に記載の作表装置。
【請求項10】
上記所定領域は、上記第2の端点のX座標および上記第4の端点のY座標で特定される位置の近傍領域であることを特徴とする請求項1から9の何れか1項に記載の作表装置。
【請求項11】
表の作成に用いられる線画要素が手書き入力される入力ステップと、
上記入力ステップにて入力された上記線画要素に基づいて表を生成する作表処理ステップと、
上記作表処理ステップによって生成された表を表示する表示手段とを有する作表方法において、
作成される表の行方向をX軸方向、列方向をY軸方向としたとき、
上記作表処理ステップは、上記入力ステップにて入力された、
X軸方向に沿って描画された第1の端点および第2の端点を有する第1の要素と、
上記第1の要素と第1の交点で交差し、Y軸方向に沿って描画された第3の端点および第4の端点を有する第2の要素と、
上記第1の交点と上記第2の端点とに挟まれた上記第1の要素と第3の交点で交差する少なくとも1つの第3の要素と、
上記第1の交点と上記第4の端点とに挟まれた上記第2の要素と第4の交点で交差する少なくとも1つの第4の要素と、
少なくとも、上記第2の交点のX座標に対して上記第2の端点側であり、且つ、上記第3の交点のY座標に対して上記第4の端点側に定義された所定領域に中心点を有する第5の要素とを含む上記線画要素を検出する要素検出ステップと、
上記要素検出ステップにて検出された上記線画要素を用いて表を生成する生成ステップとを有し、
上記生成ステップは、上記第1の交点および上記第5の要素の中心点とを結ぶ線分を対角線とする矩形の外枠を生成する外枠生成ステップと、
上記外枠のX軸方向に平行な2つの水平枠線間を結ぶ垂直補助線を、上記第2の交点のX座標に基づいてY軸方向に生成する垂直補助線生成ステップと、
上記外枠のY軸方向に平行な2つの垂直枠線間を結ぶ水平補助線を、上記第3の交点のY座標に基づいてX軸方向に生成する水平補助線生成ステップとを有することを特徴とする作表方法。
【請求項12】
請求項1からの10の何れか1項に記載の作表装置を動作させるためのプログラムであって、コンピュータを上記各部として機能させるためのプログラム。
【請求項13】
請求項12に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2012−108784(P2012−108784A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−258005(P2010−258005)
【出願日】平成22年11月18日(2010.11.18)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】