(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023038894
(43)【公開日】2023-03-17
(54)【発明の名称】表示装置、表示プログラム、表示方法
(51)【国際特許分類】
G06V 30/19 20220101AFI20230310BHJP
【FI】
G06V30/19 G
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022089897
(22)【出願日】2022-06-01
(31)【優先権主張番号】P 2021145385
(32)【優先日】2021-09-07
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】吉田 拓郎
【テーマコード(参考)】
5B064
【Fターム(参考)】
5B064AB04
5B064DC09
5B064DC18
(57)【要約】
【課題】ユーザの意図する図形を表示させることを目的とする。
【解決手段】手書きによるストロークデータの入力を受け付ける入力受付部と、入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定するグループ判定部と、前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる表示制御部と、を有する表示装置である。
【選択図】
図10
【特許請求の範囲】
【請求項1】
手書きによるストロークデータの入力を受け付ける入力受付部と、
入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定するグループ判定部と、
前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる表示制御部と、を有する表示装置。
【請求項2】
前記ストロークデータが、第一の条件を満たす場合に、前記ストロークデータを図形を示すストロークデータであると判定するストローク判定部を有し、
前記グループ判定部は、
前記第一の条件を満たすストロークデータの入力が完了してから所定時間以内に入力され、且つ、前記第一の条件及び第二の条件を満たすストロークデータを、前記第一の条件を満たすストロークデータと同一のグループのストロークデータとする、請求項1記載の表示装置。
【請求項3】
前記グループに含まれるストロークデータに基づいて、前記図形を予測した予測変換候補を出力する図形予測部を有し、
前記表示制御部は、
前記予測変換候補の一覧をディスプレーに表示させる、請求項2記載の表示装置。
【請求項4】
前記第一の条件は、
前記ストロークデータと対応する表示物から得られた第一の矩形の高さが、第一の高さ閾値より大きい、又は、前記第一の矩形の高さが第二の高さ閾値より小さく、且つ、前記第一の矩形の幅が幅閾値より大きいことである、請求項3記載の表示装置。
【請求項5】
前記第二の条件は、
前記第一の条件を満たすストロークデータの入力後、所定時間以内に入力されたストロークデータと対応する表示物が、前記第一の条件を満たすストロークデータと対応する表示物から得られた前記第一の矩形を含む第二の矩形と交差することである、請求項4記載の表示装置。
【請求項6】
前記グループに含まれる複数のストロークデータが、第三の条件及び第四の条件を満たす場合に、前記グループに含まれる複数のストロークデータに基づいて、表の形式を予測した予測変換候補を出力する表形式予測部を有し、
前記表示制御部は、
前記予測変換候補の一覧をディスプレーに表示させる、請求項2記載の表示装置。
【請求項7】
前記第三の条件は、
前記グループに含まれる複数のストロークデータにおいて、前記ストロークデータと対応する表示物から得られる第一の矩形の幅と高さが、予め決められた第一の範囲となるストロークデータが2つ以上存在し、且つ、前記グループに含まれるストロークデータが3つ以上存在することである、請求項6記載の表示装置。
【請求項8】
前記第四の条件は、
前記第三の条件を満たす複数のストロークデータと対応する複数の表示物において、一方の表示物が、他方の表示物から得られた前記第一の矩形を含む第二の矩形と交差し、且つ、前記複数の表示物のそれぞれから得られた前記第一の矩形の大きさが、前記第一の範囲又は予め決められた第二の範囲となることである、請求項7記載の表示装置。
【請求項9】
前記第一の矩形は、前記表示物の外接矩形であり、前記第二の矩形は、前記外接矩形の幅と高さに、予め設定された固定値を加算して得られる近傍矩形である、請求項5又は8に記載の表示装置。
【請求項10】
手書きによるストロークデータの入力を受け付け、
入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定し、
前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる、処理をコンピュータに実行させる表示プログラム。
【請求項11】
表示装置による表示方法であって、前記表示装置が、
手書きによるストロークデータの入力を受け付け、
入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定し、
前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる、表示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示装置、表示プログラム、表示方法に関する。
【背景技術】
【0002】
従来では、手書き文字入力と手書き図形入力のモード切替を自動的に行う技術が知られている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上述した従来の表示装置では、ユーザが任意に手書き入力を行った場合に、ユーザの意図しない図形として認識される可能性がある。
【0004】
本発明は、上記課題に鑑み、ユーザの意図する図形を表示させることを目的とする。
【課題を解決するための手段】
【0005】
上記課題に鑑み、本発明は、手書きによるストロークデータの入力を受け付ける入力受付部と、入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定するグループ判定部と、前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる表示制御部と、を有する表示装置である。
【発明の効果】
【0006】
ユーザの意図する図形を表示させることができる。
【図面の簡単な説明】
【0007】
【
図1】第一の実施形態の表示装置の全体構成図の一例である。
【
図2】表示装置のハードウェア構成図の一例である。
【
図4】第一の実施形態の外接矩形と近傍矩形について説明する図である。
【
図6】第一の実施形態の表示装置が有する機能を説明する機能ブロック図の一例である。
【
図7】ストロークデータ記憶部に記憶されるストロークデータを説明する図である。
【
図8】第一の実施形態の表示装置の動作を説明する第一のフローチャートである。
【
図9】第一の実施形態の表示装置の動作を説明する第二のフローチャートである。
【
図10】図形の予測変換候補の表示例を説明する図である。
【
図11】第二の実施形態の表示システムのシステム構成の一例を示す図である。
【
図13】第三の実施形態の外接矩形について説明する図である。
【
図14】第三の実施形態の近傍矩形について説明する図である。
【
図15】第四の条件について説明する第一の図である。
【
図16】第四の条件について説明する第二の図である。
【
図17】第三の実施形態の表示装置が有する機能を説明する機能ブロック図の一例である。
【
図18】第三の実施形態の表示装置の動作を説明する第一のフローチャートである。
【
図19】第三の実施形態の表示装置の動作を説明する第二のフローチャートである。
【
図20】表の予測変換候補の表示例を説明する第一の図である。
【
図21】表の予測変換候補の表示例を説明する第二の図である。
【発明を実施するための形態】
【0008】
(第一の実施形態)
以下に、図面を参照して、本実施形態について説明する。
図1は、第一の実施形態の表示装置の全体構成を説明する図である。
図1(a)では、表示装置の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
【0009】
図1(a)に示されているように、表示装置2は表示装置2の一例としてのディスプレー220が設置されている。ユーザUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)ことができる。
【0010】
また、
図1(b)は、壁につり下げられた縦長の電子黒板として使用される表示装置2を示している。
【0011】
図1(c)は、机230に平置きされた表示装置2を示す。表示装置2は厚みが1cm程度なので、一般の机に平置きしても机の高さを調整する必要がない。また、ユーザは表示装置2を容易に移動できる。
【0012】
なお、ペン2500の座標の入力方式には、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は、筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
【0013】
次に、
図2を参照して、表示装置2のハードウェア構成を説明する。
図2は、表示装置のハードウェア構成の一例を示す図である。
【0014】
本実施形態の表示装置2は、図示するように、情報処理装置又はコンピュータの構成を有している。
図2に示すように、表示装置2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、及び、SSD(Solid State Drive)204を備えている。
【0015】
これらのうち、CPU201は、表示装置2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。
【0016】
SSD204は、OSや表示装置用のプログラム等の各種データを記憶する。このプログラムは汎用的なOS(Windows(登録商標)、Mac OS(登録商標)、Android(登録商標)、iOS(登録商標)等)を搭載した情報処理装置で動作するアプリケーションプログラムでもよい。この場合、普段は汎用的な情報処理装置として利用されるが、ユーザがアプリケーションプログラムを実行すると、表示装置2の専用機と同様、ユーザが手書きすることができる。
【0017】
また、表示装置2は、ディスプレーコントローラー213、タッチセンサーコントローラー215、タッチセンサー216、ディスプレー220、電源スイッチ227、チルトセンサー217、シリアルインタフェース218、スピーカー219、マイク221、無線通信装置222、赤外線I/F223、電源制御回路224、ACアダプター225、及びバッテリー226を備えている。
【0018】
ディスプレーコントローラー213は、出力画像をディスプレー220等へ出力するために画面表示の制御及び管理を行う。タッチセンサー216は、ディスプレー220上にペン2500やユーザの手等(ペンやユーザの手は入力手段となる)が接触したことを検知する。また、タッチセンサー216はペンIDを受信する。
【0019】
タッチセンサーコントローラー215は、タッチセンサー216の処理を制御する。タッチセンサー216は、座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、例えば、光学式の場合、ディスプレー220の上側両端部に設置された2つ受発光装置が、ディスプレー220に平行して複数の赤外線を放射し、ディスプレー220の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。
【0020】
タッチセンサー216は、物体によって遮断された2つの受発光装置が放射した赤外線の位置情報をタッチセンサーコントローラー215に出力し、タッチセンサーコントローラー215が、物体の接触位置である座標位置を特定する。また、タッチセンサーコントローラー215は通信ユニット215aを有しており、ペン2500と無線で通信することができる。例えば、Bluetooth(登録商標)などの規格で通信している場合は、市販されているペンを使用することができる。通信ユニット215aに予め1つ以上のペン2500を登録しておくと、ユーザはペン2500を表示装置2と通信させる接続設定を行わなくても通信できる。
【0021】
電源スイッチ227は、表示装置2の電源のON/OFFを切り換えるためのスイッチである。チルトセンサー217は、表示装置2の傾き角度を検出するセンサーである。主に、表示装置2が
図1(a)、
図1(b)、又は、
図1(c)のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
【0022】
シリアルインタフェース218はUSBなどの外部との通信インタフェースである。シリアルインタフェース218は、外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi-FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザが入手したSSID(Service Set Identifier)とパスワードをユーザが携帯する端末に設定すると、アクセスポイントに接続できる。
【0023】
なお、無線通信装置222には2つのアクセスポイントが用意されているとよい。
a. アクセスポイント→インターネット
b. アクセスポイント→社内ネットワーク→インターネット
aのアクセスポイントは社外のユーザ用で、ユーザは社内ネットワークにはアクセスできないが、インターネットを利用できる。bのアクセスポイントは社内のユーザ用で、ユーザは社内ネットワーク及びインターネットを利用できる。
【0024】
赤外線I/F223は、隣に配置された表示装置2を検出する。赤外線I/F223は、赤外線の直進性を利用して、隣に配置された表示装置2のみを検出できる。赤外線I/F223は各辺に1つずつ設けられることが好ましく、表示装置2のどの方向に他の表示装置2が配置されたのかを検出できる。これにより画面が広がり、隣の表示装置2に過去に手書きされた手書き情報(1つのディスプレー220の広さを1ページとして別のページの手書き情報)等を表示できる。
【0025】
電源制御回路224は、表示装置2の電源であるACアダプター225とバッテリー226を制御する。ACアダプター225は商用電源が共有する交流を直流に変換する。
【0026】
ディスプレー220がいわゆる電子ペーパーの場合、画像の表示を維持するためにほとんど又は一切電力を消費しないので、バッテリー226による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で表示装置2を使用することが可能になる。
【0027】
更に、表示装置2は、バスライン210を備えている。バスライン210は、
図2に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0028】
なお、タッチセンサー216は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなど種々の検出手段を用いてもよい。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
【0029】
ここで、本実施形態の表示装置2における図形の認識について説明する。本実施形態の表示装置2は、入力手段により手書き入力されたストロークデータが、予め決められた第一の条件を満たす場合に、このストロークデータを、図形の一部となるストロークデータと判定する。
【0030】
また、本実施形態では、図形の一部と判定されたストロークデータに続いて、所定時間内に入力されたストロークデータが、第一の条件及び予め決められた第二の条件を満たす場合に、この2つのストロークデータを1つの図形に含まれるストロークデータと判定する。
【0031】
言い換えれば、本実施形態では、第一の条件を満たすストロークデータの入力の完了から所定時間以内に入力されたストロークデータが、第一及び第二の条件を満たす場合に、これらのストロークデータを、図形を形成する1つのグループとして認識する。
【0032】
そして、本実施形態の表示装置2は、ストロークデータのグループが示す図形の認識を行い、認識結果として、図形の候補の一覧を表示させる。図形の詳細は後述する。
【0033】
なお、ストロークデータの入力の完了とは、ペンアップを検知することである。ペンアップとはディスプレー(タッチパネル)に接触していた入力手段がディスプレーから離れることをいう。
【0034】
また、本実施形態では、ユーザがディスプレー220に入力手段を押しつけてから連続的に移動させた後、ディスプレー220から離すという一連の操作をストロークという。また、入力手段は、タッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、入力手段は、ペン、人の指や手、棒状部材などがある。
【0035】
ストロークは、ディスプレー220に接触することなく、ユーザの動きを追跡することを含む。この場合、例えば、ユーザのジェスチャー、ユーザの手または足によるボタンの押下、または他の方法により、ストロークを開始させてもよいし、マウスやポインティングデバイスを使用してストロークを開始させてもよい。
【0036】
さらに、同じ又は異なるユーザのジェスチャー、ボタンを離す、または他の方法により、ストロークを終了させてもよいし、マウスやポインティングデバイスを使用して、ストロークを終了させてもよい。
【0037】
また、本実施形態のストロークデータとは、入力手段により入力される座標の軌跡に基づいてディスプレー220に表示される情報である。ストロークデータは適宜、補間されてよい。
【0038】
手書きデータとは、1つ以上のストロークデータを有するデータである。手書き入力とは、ユーザによって、手書きデータが入力されることを示す。手書き入力は、タッチインターフェース、ペンやスタイラスなどの触覚オブジェクト、またはユーザの体を使って実行されてもよい。また、手書き入力は、ジェスチャーベースの入力、手の動きの追跡入力、またはユーザによる他のタッチフリー入力など、他のタイプの入力を介して実行されてもよい。本実施形態では、手書き入力および手書き入力データに言及するが、他の形態の手書き入力が利用されてもよい。
【0039】
また、本実施形態では、ストロークデータに基づいてディスプレー220に表示される表示物をオブジェクトという。オブジェクトとは対象という意味であるが、本実施形態では表示対象などの意味である。
【0040】
より具体的には、オブジェクトとは、表示装置2に対して入力されたストロークデータに対して、手書き認識を行った結果として得られる表示物である。この表示物は、ストロークデータが示すストローク画像であってもよい。また、ストロークデータに対して手書き認識処理を行った結果として得られた表示物は、ストロークデータと対応するオブジェクトと表現される場合がある。ストロークデータは、オブジェクトを示すストロークデータと表現される場合がある。
【0041】
ストロークデータを手書き認識によって変換したオブジェクトには、文字列の他、「済」などの決まった文字やマークとして表示されるスタンプ、図形等が含まれてよい。
【0042】
ここで、図形について説明する。以下の説明における「図形」とは、円形、多角形、星形等のような様々な形状、直線、曲線、表等を含む。言い換えれば、以下の説明における「図形」は、文字の一部又は文字以外のものとして認識されるオブジェクトである。
【0043】
【0044】
本実施形態では、ストロークデータと対応するオブジェクトに外接する外接矩形の幅と高さが、予め決められた範囲であることを第一の条件とする。言い換えれば、第一の条件を満たすストロークデータとは、ストロークデータと対応するオブジェクトの外接矩形の幅と高さが、予め決められた範囲にあるストロークデータである。
【0045】
図3では、横軸が外接矩形の幅を示し、縦軸が外接矩形の高さを示す。本実施形態の表示装置2では、例えば、外接矩形の幅がb以下であり、高さがa以下である場合には、このオブジェクトを、日本語文字として認識する。
【0046】
また、本実施形態の表示装置2は、例えば、外接矩形の幅がbより大きく、高さがcより大きくa以下である場合には、このオブジェクトを、英語筆記体の一部として認識する。
【0047】
このように、本実施形態では、入力されたストロークデータと対応するオブジェクトの外接矩形の幅と高さに基づき、入力されたストロークデータが示す文字の種類等を認識している。このため、入力されたストロークデータが示す文字の種類等は、言い換えれば、入力されたストロークデータと対応するオブジェクトの外接矩形の幅と高さに基づき認識される。
【0048】
ここで、本実施形態では、外接矩形の高さがa(第一の高さ閾値)より大きいこと、又は、外接矩形の幅がb(第一の幅閾値)より大きく、且つ、高さがc(第二の高さ閾値)より小さいこと、を第一の条件とする。そして、表示装置2は、第一の条件を満たすストロークデータを、図形の一部と判定する。言い換えれば、第一の条件を満たすストロークデータとは、ストロークデータと対応するオブジェクトが、文字の一部又は文字以外のものとして認識されるストロークデータである。
【0049】
次に、
図4を参照して、本実施形態の外接矩形と近傍矩形について説明する。
図4は、外接矩形と近傍矩形について説明する図である。
図4(a)は、外接矩形について説明する図であり、
図4(b)は、近傍矩形について説明する図である。
【0050】
図4(a)に示すように、外接矩形401は、ディスプレー220に表示されたオブジェクトOb001に外接する矩形である。オブジェクトOb001とは、オブジェクトOb001と対応するストロークデータに対して手書き認識処理を行った結果として得られた表示物である。
【0051】
本実施形態では、外接矩形401の幅と高さに、予め設定された固定値αを加算した幅と高さの矩形を、近傍矩形402とする。つまり、本実施形態における、入力されたストロークデータと対応するオブジェクトの近傍矩形とは、入力されたオブジェクトの外接矩形に基づき決められる矩形である。
【0052】
本実施形態の固定値αは、例えば、ディスプレーのサイズや画素数、使用用途等に応じて決められてよい。本実施形態では、例えば、40インチのディスプレー(画素数2880×2160)に、数人が手書き入力できる文字のサイズを想定した場合、固定値αを3cmとしてもよい。
【0053】
この場合、外接矩形401の幅が15cmであり、高さが13cmである場合、近傍矩形402の幅は18cmとなり、高さは16cmとなる。
【0054】
【0055】
本実施形態では、第一の条件を満たすストロークデータの入力の完了から、所定時間以内に入力されたストロークデータが、第一の条件を満たし、且つ、所定時間以内に入力されたストロークデータと対応するオブジェクトが、直前に入力されたストロークデータと対応するオブジェクトの近傍矩形と交差する場合に、所定時間以内に入力されたストロークデータを、直前に入力されたストロークデータと同じグループとする。
【0056】
つまり、第二の条件とは、ストロークデータと対応するオブジェクトが直前に入力されたストロークデータと対応するオブジェクトの近傍矩形と交差することである。より具体的には、第二の条件とは、第一の条件を満たすストロークデータの入力後、所定時間以内に入力されたストロークデータと対応するオブジェクトが、第一の条件を満たすストロークデータと対応するオブジェクトの近傍矩形と交差することである。
【0057】
言い換えれば、第二の条件を満たすストロークデータとは、第一の条件を満たすストロークデータの入力後、所定時間以内に入力されたストロークデータであって、且つ、このストロークデータと対応するオブジェクトが、第一の条件を満たすストロークデータと対応するオブジェクトの近傍矩形と交差する、ストロークデータである。
【0058】
図5では、オブジェクトOb001を示すストロークデータが入力された直後に、オブジェクトOb002を示すストロークデータが入力され、オブジェクトOb003を示すストロークデータ、オブジェクトOb004を示すストロークデータと入力された場合を示している。
【0059】
このとき、オブジェクトOb002は、第一の条件を満たす。また、オブジェクトOb002は、領域501において、オブジェクトOb001の近傍矩形402と交差している。したがって、オブジェクトOb002は、第一の条件及び第二の条件を満たす。このため、表示装置2は、オブジェクトOb001とオブジェクトOb002とを1つのグループとして認識する。
【0060】
図5の例では、同様にして、オブジェクトOb002とオブジェクトOb003とが1つのグループとして認識され、さらに、オブジェクトOb003とオブジェクトOb002とが1つのグループとして認識さたれ場合を示している。つまり、
図5の例では、オブジェクトOb001からオブジェクトOb004までの4つのオブジェクトを示すストロークデータが、1つの図形を形成するストロークデータのグループとして認識される。
【0061】
本実施形態の表示装置2は、このストロークデータのグループに基づき、図形の認識を行い、認識結果となる候補の一覧をディスプレーに表示させる。
【0062】
次に、
図6を参照して、表示装置2の機能について説明する。
図6は、第一の実施形態の表示装置が有する機能を説明する機能ブロック図の一例である。
【0063】
表示装置2は、入力受付部21、描画データ生成部22、ストローク判定部23、グループ判定部24、データ記録部25、ネットワーク通信部26、操作受付部27、図形予測部28、及び、表示制御部29を有している。表示装置2が有する各機能は、
図3に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
【0064】
入力受付部21はタッチセンサー216に対しペン2500等の入力手段が接触した位置の座標を検出することで、ストロークデータ(座標点列)の入力を受け付ける。描画データ生成部22はペン2500のペン先が接触した座標を入力受付部21から取得する。描画データ生成部22は、この座標点列を補間することで接続してストロークデータを生成する。
【0065】
ストローク判定部23は、ユーザが手書きしたストロークデータ(手書きデータ)が、図形を示すストロークデータであるか否かを判定する。言い換えれば、ストローク判定部23は、ストロークデータと対応するオブジェクトが第一の条件を満たすか否かを判定する。
【0066】
グループ判定部24は、ストロークデータが、直前に入力されたストロークデータと同一グループのストロークデータとなるか否かを判定する。言い換えれば、グループ判定部24は、ストロークデータと対応するオブジェクトが第二の条件を満たすか否かを判定する。
【0067】
データ記録部25は、表示装置2に手書き入力されたストロークデータ、手書き認識により変換されたオブジェクト、及び、PC(Personal Computer)の画面、ファイル等を記憶部40に記憶する。ネットワーク通信部26は、LAN等のネットワークに接続して、他の機器とネットワークを介したデータの送受信を行う。操作受付部27は、表示装置2に対する各種の操作を受け付ける。
【0068】
図形予測部28は、グループ判定部24により1つのグループとされた複数のストロークデータから、描画された図形を予測し、予測した結果を予測変換候補として出力する。図形の予測方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。
【0069】
表示制御部29は、ストロークデータ、ストロークデータから手書き認識により変換されたオブジェクト、及び、ユーザが操作するための操作メニューなどをディスプレー220に表示させる。また、本実施形態の表示制御部29は、図形予測部28から出力される予測変換候補をディスプレー220に表示させる。
【0070】
また、表示装置2は、
図3に示されているSSD204やRAM203などに構築される記憶部40を有し、記憶部40にはストロークデータ記憶部41が構築されている。
【0071】
図7は、ストロークデータ記憶部に記憶されるストロークデータを説明する図である。
図7(a)は、ページデータを示す概念図である。
【0072】
ページデータは、ディスプレー220に表示される1ページ分のデータである。ページデータは、
図7(a)に示されているように、任意の1ページを識別するためのページデータID、このページの表示を開始した時刻を示す開始時刻、ページに対し手書き等によるページの内容の書き換えが行われなくなった時刻を示す終了時刻、及び、入力手段によって生じたストローク配列データを識別するためのストローク配列データIDが関連付けて記憶されている。なお、
図7では、文字認識後のテキストデータ、画像データ、図形などは省略されている。
【0073】
ストローク配列データは、1つのストロークデータがディスプレー220に表示されるためのデータである。例えば、ユーザが入力手段によってアルファベット「S」を描く場合は一筆書きとなるため、ストロークデータIDが1つで一文字のアルファベット[S]が示される。ユーザが入力手段によってアルファベット「T」を描く場合、二筆書きとなるため、ストロークデータIDが2つで一文字のアルファベット「T」が示されることになる。
【0074】
また、ストローク配列データは、
図7(b)に示すように詳細な情報を示している。
図7(b)は、ストローク配列データを示す概念図である。1つのストローク配列データは、複数のストロークデータによって表される。そして、1つのストロークデータは、このストロークデータを識別するためのストロークデータID、1つのストロークの書き始めの時刻を示す開始時刻、1つのストロークの書き終わりの時刻を示す終了時刻、ストロークの色、ストロークの幅、ストロークデータが含まれるグループ、種類、及び、ストロークの通過点の配列を識別するための座標配列データIDを示している。
【0075】
本実施形態のグループは、1つのオブジェクトとして認識されるストロークデータのグループである。種類は、ストロークデータを含むグループの種類を示す。なお、
図7(b)の例では、ストロークデータを含むグループの種類は、図形とされているが、グループの種類には、日本語文字、数字、英語、英語の筆記体も含まれる。また、図形には、例えば、表等が含まれてもよい。
【0076】
更に、この座標配列データは、
図7(c)に示されているように詳細な情報を示している。
図7(c)は、座標配列データを示す概念図である。
図7(c)に示されているように、座標配列データは、ディスプレー220上の1点(X座標値、Y座標値)、この1点を通過したときのストロークの開始時刻からの差分の時刻(ms)、及び、この1点におけるペン2500の筆圧の各情報を示している。即ち、
図7(c)に示されている1点の集まりが、
図7(b)に示されている1つの座標配列データで示されている。例えば、ユーザが入力手段によってアルファベット「S」を描く場合、一筆書きとなるが、「S」を描き終えるまでに、複数の通過点を通過するため、座標配列データは、これら複数の通過点の情報を示している。
【0077】
次に、
図8及び
図9を参照して、本実施形態の表示装置2の動作について説明する。
図8は、第一の実施形態の表示装置の動作を説明する第一のフローチャートである。
図8の処理は表示装置2の起動中、繰り返し実行される。
【0078】
表示装置2において、入力受付部21は、図形の一部として認識されるストロークデータの入力を受け付ける(S801)。ステップS801の詳細は後述する。
【0079】
続いて、ストローク判定部23は、ステップS801のストロークデータの入力(手書き)が終わってペンアップしてから所定時間Tが経過した否かを判定する(ステップS802)。
【0080】
ステップS802において、所定時間Tが経過した場合(ステップS802でYes)、表示装置2は、後述するステップS807へ進む。
【0081】
ステップS802において、所定時間Tが経過していない場合(ステップS802でNo)、入力受付部21が、図形の一部として認識されるストロークデータの入力を受け付ける(ステップS803)。ステップS803の詳細は後述する。
【0082】
続いて、表示装置2は、グループ判定部24により、ステップS803で入力されたストロークデータが、ステップS801で入力されたストロークデータと対応するオブジェクトの近傍矩形と交わっているか否かを判定する(ステップS804)。言い換えれば、グループ判定部24は、ステップS803で入力されたストロークデータが、第二の条件を満たすか否かを判定している。
【0083】
ステップS804において、該当するオブジェクトが近傍矩形と交わっている場合、グループ判定部24は、ステップS801で入力されたストロークデータと、ステップS803で入力されたストロークデータとを、同じグループのストロークデータと認識し(ステップS805)、ステップS802へ戻る。
【0084】
ステップS804において、該当するオブジェクトが近傍矩形と交わっていない場合、表示装置2は、ステップS801で入力されたストロークデータと、ステップS803で入力されたストロークデータとを、同じグループのストロークデータとは認識しない(ステップS806)。続いて、表示装置2は、図形予測部28により、グループ内に含まれるストロークデータ群と対応するオブジェクト群に基づき、描画された図形を予測し、表示制御部29により、予測変換候補をディスプレー220に表示させる(ステップS807)。予測変換候補の表示例の詳細は後述する。
【0085】
次に、
図9を参照して、
図8のステップS801とステップS803の処理について説明する。
図9は、第一の実施形態の表示装置の動作を説明する第二のフローチャートである。本実施形態において、
図8のステップS801で実行される処理と、ステップS803で実行される処理とは同様である。
【0086】
表示装置2は、入力受付部21により、入力手段が接触した座標を検出し、描画データ生成部22によりストロークデータを生成し、表示制御部29により、ストロークデータと対応するオブジェクトをディスプレー220に表示させる(ステップS901)。
【0087】
続いて、表示装置2は、ストローク判定部23により、ステップS901で入力されたストロークデータと対応するオブジェクトの外接矩形の高さが、高さaより大きいか否かを判定する(ステップS902)。言い換えれば、ストローク判定部23は、ステップS901で入力されたストロークデータと対応するオブジェクトの外接矩形の高さが、第一の高さ閾値より大きいか否かを判定している。
【0088】
ステップS902において、外接矩形の高さが、高さaより大きい場合、ストローク判定部23は、ステップS901に入力されたストロークデータは、第一の条件を満たすものとして、図形の一部であるストロークデータと判定し(ステップS903)、
図8のステップS802又はステップS803へ進む。
【0089】
また、ステップS902において、外接矩形の高さが、高さa以下である場合、ストローク判定部23は、外接矩形の高さが高さcより小さく、且つ、外接矩形の幅がよりも大きいか否かを判定する(ステップS904)。言い換えれば、ストローク判定部23は、ステップS901で入力されたストロークデータと対応するオブジェクトの外接矩形の高さが第二の閾値より大きく、且つ、外接矩形の幅が第一の幅閾値より大きいか否かを判定している。
【0090】
ステップS904において、ステップS901で入力されたストロークデータと対応するオブジェクトの外接矩形が、上述した条件を満たす場合、ストローク判定部23は、ステップS903へ進む。ステップS904において、外接矩形が上述する条件を満たさない場合、表示装置2は、処理を終了する。
【0091】
このように、表示装置2は、
図9に示すように、入力されたストロークデータが、第一の条件を満たすストロークデータであるか否かを判定する処理を行っている。
【0092】
なお、本実施形態では、入力されたストロークデータが、第一の条件を満たすストロークデータであるか否かを判定する際に、入力されたストロークデータと対応するオブジェクトの外接矩形の高さと幅を用いるものとしたが、これに限定されない。
【0093】
本実施形態では、例えば、ストロークデータが、第一の条件を満たすストロークデータであるか否かを判定する際に、このストロークデータと対応するオブジェクトから得られる第一の矩形の高さと幅を用いてもよい。
【0094】
オブジェクトから得られる第一の矩形とは、オブジェクトの外接矩形の高さと幅に対して予め設定された固定値を加算して得られる矩形であってもよく、オブジェクトの外接矩形を含む矩形であってよい。ここで加算される値は、例えば、固定値αよりも小さい値であってよい(
図4、
図14参照)。また、第一の矩形は、オブジェクトの外接矩形の高さと幅から予め設定された固定値を減算して得られる矩形であってもよい。
【0095】
言い換えれば、本実施形態における、第一の条件は、ストロークデータと対応するオブジェクトから得られる第一の矩形の高さが、第一の高さ閾値より大きい、又は、第一の矩形の高さが第二の高さ閾値より小さく、且つ、第一の矩形の幅が幅閾値より大きいことである。
【0096】
また、本実施形態では、入力されたストロークデータが、第二の条件を満たすストロークデータであるか否かを判定する際に、このストロークデータと対応するオブジェクトの外接矩形から得られる近傍矩形を用いるものとしたが、これに限定されない。
【0097】
本実施形態では、第一の矩形から得られる第二の矩形を、第二の条件を満たすか否かを判定する際の近傍矩形として、用いてもよい。
【0098】
第二の矩形は、第一の矩形の高さと幅とに対して予め設定された固定値を加算して得られる矩形であり、第一の矩形を含む。
【0099】
言い換えれば、本実施形態において、第二の条件とは、第一の条件を満たすストロークデータの入力後、所定時間以内に入力されたストロークデータと対応するオブジェクトが、第一の条件を満たすストロークデータと対応するオブジェクトの第一の矩形を含む第二の矩形と交差することである。
【0100】
次に、
図10を参照して、図形の予測変換候補の表示例について説明する。
図10は、図形の予測変換候補の表示例を説明する図である。
【0101】
図10では、オブジェクトOb001を示すストロークデータからオブジェクトOb004を示すストロークデータまでが1つのグループとされた場合を示している。
【0102】
この場合、表示装置2は、図形予測部28により、1つのグループとされたストロークデータ群に基づき、ストロークデータ群が示す図形を予測する。具体的には、図形予測部28は、1つのグループとされたストロークデータ群と対応するオブジェクト群の外接矩形101内に描画された図形の候補を予測する。そして、表示装置2は、表示制御部29により、予測された図形の候補を、予測変換候補の一覧102として、外接矩形101の近傍に表示させる。
【0103】
表示装置2は、一覧102から図形が選択されると、外接矩形101に描画されたオブジェクトを消去し、選択された図形と対応する画像103を表示させる。
【0104】
図10の例では、ペン2500により、一覧102から「ひし形」が選択されている。したがって、表示制御部29は、外接矩形101内のオブジェクトOb001からオブジェクトOb004を消去し、外接矩形101内に、ひし形の画像103を描画する。
【0105】
本実施形態では、このように、図形の一部と判定されたストロークデータのグループが認識されると、このグループ内のストロークデータ群に基づき図形を予測し、予測変換候補の一覧を表示させる。
【0106】
したがって、本実施形態では、手書き入力で図形を入力する際に、文字認識を行う状態(文字認識モード)から図形認識を行う状態(図形認識モード)に切り替える等といった煩雑な操作が不要である。また、本実施形態では、手書き入力されたストロークデータに基づき、図形の予測変換候補を表示させ、予測変換候補から選択された図形を表示させる。したがって、本実施形態によれば、ユーザの意図しない図形に誤変換されることを抑制し、ユーザの意図する図形を出力させることができる。
【0107】
(第二の実施形態)
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態では、表示装置2と接続されたサーバ装置が図形を予測し、予測変換候補を出力する点が、第一の実施形態と相違する。したがって、以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【0108】
図11は、第二の実施形態の表示システムのシステム構成の一例を示す図である。本実施形態の表示システム19において、表示装置2とサーバ装置12とは、インターネット等のネットワークを介して接続されている。
【0109】
このような表示システム19の場合、表示装置2は、
図6に示した、入力受付部21、描画データ生成部22、ネットワーク通信部26、操作受付部27、表示制御部29を有する。
【0110】
一方、サーバ装置12は、ストローク判定部23、グループ判定部24、データ記録部25、図形予測部28、及び、ネットワーク通信部を有する。
【0111】
表示装置2のネットワーク通信部26はサーバ装置12に、ストロークデータを送信する。サーバ装置12は、
図8、
図9のフローチャートが示す処理を行い、予測変換候補を表示装置2に送信する。
【0112】
(第三の実施形態)
以下に図面を参照して、第三の実施形態について説明する。第三の実施形態では、図形に含まれる表を認識する点が第一の実施形態と相違する。したがって、以下の第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【0113】
本実施形態では、1つのグループとされたストロークデータ群と対応するオブジェクト群が、表であるか否かを判定するための第三の条件と、第四の条件を設ける。
【0114】
そして、本実施形態では、1つのグループとされたストロークデータ群と対応するオブジェクト群が第三の条件と第四の条件を満たす場合に、このオブジェクト群が示す図形を表と認識し、表の形式の候補を予測する。
【0115】
本実施形態では、このように、入力された複数のストロークデータに基づき表を認識することで、ユーザの意図する形式の表を表示させることができる。
【0116】
図12は、第三の条件について説明する図である。本実施形態の第三の条件は、同一グループ内に、外接矩形の幅と高さが、予め決められた範囲となるオブジェクトを示すストロークデータが2つ以上存在し、且つ、同一グループに3つ以上のストロークデータが含まれることである。
【0117】
言い換えれば、第三の条件とは、同一グループ内に、オブジェクトの外接矩形の幅と高さが、予め決められた範囲となるストロークデータが2つ以上存在し、且つ、同一グループに含まれるストロークデータが3つ以上存在することである。
【0118】
ここで、第三の条件におけるオブジェクトの外接矩形の幅と高さの範囲について説明する。
【0119】
本実施形態では、オブジェクトの外接矩形の幅に対し、第二の幅閾値dを設ける。そして、第三の条件におけるオブジェクト外接矩形の大きさの予め決められた範囲を、以下の2つの範囲とし、この範囲を、図形Bの範囲と表現する。
・高さがa(第一の高さ閾値)より大きく、且つ、幅がd(第二の幅閾値)以下の範囲
・高さがc(第二の高さ閾値)より小さく、且つ、幅がb(第一の幅閾値)より大きい範囲
オブジェクトの外接矩形の範囲が、図形Bの範囲となる場合とは、例えば、ストロークデータと対応するオブジェクトが縦方向の線である場合や横方向の線である場合である。言い換えれば、外接矩形の範囲が、図形Bの範囲となるオブジェクトは、表の構成要素となり得るオブジェクトである。
【0120】
また、以下の説明では、高さがaより大きく、且つ、幅がdより大きい範囲を、図形Aの範囲と表現する。オブジェクトの外接矩形が図形Aの範囲となるオブジェクトは、表以外の図形となり得るオブジェクトである。
【0121】
以下に、
図13及び
図14を参照して、外接矩形の範囲が、図形Bの範囲となるオブジェクトの外接矩形と近傍矩形について説明する。
図13は、第三の実施形態の外接矩形について説明する図である。
【0122】
図13(a)に示すように、外接矩形131aは、ディスプレー220に表示されたオブジェクトOb005に外接する矩形である。オブジェクトOb005とは、オブジェクトOb005と対応するストロークデータに対して手書き認識処理を行った結果として得られた表示物である。
【0123】
また、
図13(b)に示すように、外接矩形132aは、ディスプレー220に表示されたオブジェクトOb006に外接する矩形である。オブジェクトOb006とは、オブジェクトOb005と対応するストロークデータに対して手書き認識処理を行った結果として得られた表示物である。
【0124】
ここで、外接矩形131aは、高さがa(第一の高さ閾値)より大きく、幅がd(第二の幅閾値)以下である。また、外接矩形132aは、高さがc(第二の高さ閾値)より小さく、幅がb(第一の幅閾値)より小さい。
【0125】
次に、
図14を参照して、オブジェクトの近傍矩形について説明する。
図14は、第三の実施形態の近傍矩形について説明する図である。
【0126】
図14では、オブジェクトOb007の外接矩形133aと、近傍矩形133bとを示す。ここで、オブジェクトOb007の近傍矩形133bは、オブジェクトOb007の外接矩形133aの幅と高さのそれぞれに、予め設定された固定値αを加算して得られる矩形である。
【0127】
本実施形態の固定値αは、例えば、ディスプレー220のサイズや画素数、使用用途等に応じて決められてよい。本実施形態では、例えば、40インチのディスプレー(画素数2880×2160)に、数人が手書き入力できる文字のサイズを想定した場合、固定値αを3cmとしてもよい。
この場合、外接矩形133aの幅が5cmであり、高さが13cmである場合、近傍矩形133bの幅は8cmとなり、高さは16cmとなる。
【0128】
本実施形態の固定値αは、例えば、ディスプレーのサイズや画素数、使用用途等に応じて決められてよい。本実施形態では、例えば、40インチのディスプレー(画素数2880×2160)に、数人が手書き入力できる文字のサイズを想定した場合、固定値αを3cmとしてもよい。
【0129】
本実施形態では、オブジェクトOb005、オブジェクトOb006についても同様に、外接矩形131a、132aの高さと幅のそれぞれに、予め設定された固定値αを加算することで、オブジェクトOb005、オブジェクトOb006の近傍矩形が得られる。
【0130】
このように、本実施形態の第三の条件とは、同一グループとされたストロークデータ群と対応するオブジェクト群が、外接矩形の幅と高さが決められた範囲内となるオブジェクトを2つ以上含み、且つ、3つ以上のオブジェクトを含むことである。
【0131】
次に、
図15及び
図16を参照して、第四の条件について説明する。本実施形態の第四の条件は、
・第三の条件を満たすオブジェクト群に含まれるオブジェクト同士において、第一のオブジェクトが第二のオブジェクトの近傍矩形と交差すること
・同一グループとされたストロークデータ群と対応するオブジェクト群の外接矩形の高さがa(第一の高さ閾値)より大きいこと、又は、外接矩形の幅がb(第一の幅閾値)より大きく、且つ、高さがc(第二の高さ閾値)より小さいこと
である。
【0132】
つまり、第四の条件は、第三の条件を満たすオブジェクト群に含まれるオブジェクト同士が互いの近傍矩形で交差し、且つ、オブジェクト群の外接矩形の大きさが、図形Aの範囲又は図形Bの範囲となる大きさであることである。なお、図形Bの範囲とは、予め決められた第一の範囲であり、図形Aの範囲とは、予め決められた第二の範囲である。
【0133】
図15は、第四の条件について説明する第一の図である。
図15では、オブジェクトOb005を示すストロークデータが入力された直後に、オブジェクトOb006を示すストロークデータが入力され、オブジェクトOb006を示すストロークデータ、オブジェクトOb007を示すストロークデータと入力された場合を示している。
【0134】
また、
図15では、オブジェクトOb007を示すストロークデータが入力された直後から、順次、オブジェクトOb008、オブジェクトOb009、オブジェクトOb010、オブジェクトOb011を示すストロークデータが、各ストロークデータが入力されてから所定時間以内に入力された場合を示している。
図15では、これらのストロークデータが、同一のグループとされているものとして、説明する。
【0135】
図15において、近傍矩形131bは、オブジェクトOb005の近傍矩形であり、近傍矩形132bは、オブジェクトOb006の近傍矩形であり、近傍矩形133bは、オブジェクトOb007の近傍矩形である。また、
図15に示す近傍矩形134bは、オブジェクトOb008の近傍矩形であり、近傍矩形135bは、オブジェクトOb009の近傍矩形である。また、
図15に示す近傍矩形136bは、オブジェクトOb010の近傍矩形であり、近傍矩形137bは、オブジェクトOb011の近傍矩形である。
【0136】
ここで、オブジェクトOb005の近傍矩形131bは、オブジェクトOb006と領域150aにおいて交差している。また、オブジェクトOb006の近傍矩形132bは、オブジェクトOb007と領域150bにおいて交差しており、オブジェクトOb008と領域150cで交差しており、オブジェクトOb009と領域150dで交差している。
【0137】
また、オブジェクトOb007の近傍矩形133bは、オブジェクトOb010と領域150eで交差しており、オブジェクトOb011と領域150fで交差している。また、オブジェクトOb008の近傍矩形134bは、領域150fにおいてオブジェクトOb010と交差しており、領域150hにおいてオブジェクトOb010と交差している。
【0138】
また、オブジェクトOb090の近傍矩形135bは、領域150iでオブジェクトOb010と交差しており、領域150jでオブジェクトOb010と交差している。また、オブジェクトOb010の近傍矩形137bは、領域150kでオブジェクトOb050と交差している。
【0139】
さらに、
図15に示すオブジェクトOb050~オブジェクトOb011を含むオブジェクト群の外接矩形101Aの大きさは、高さがa(第一の高さ閾値)より大きく、幅がb(第一の幅閾値)より大きい。つまり、外接矩形101Aの大きさは、図形Aの範囲である。
【0140】
図15の例では、近傍矩形131b、133b、134b、135bの大きさは、全て、高さがa(第一の高さ閾値)より大きく、且つ、幅がd(第二の幅閾値)以下の範囲である。また、近傍矩形132b、136b、137bの大きさは、高さがc(第二の高さ閾値)より小さく、且つ、幅がb(第一の幅閾値)より大きい範囲である。
【0141】
つまり、
図15に示すオブジェクトOb005~オブジェクトOb011は、全て、それぞれの近傍矩形の大きさが、図形Bの範囲となるオブジェクトである。
【0142】
したがって、
図15に示すオブジェクトOb050~オブジェクトOb011を含むオブジェクト群は、近傍矩形の幅と高さが決められた範囲内となるオブジェクトを2つ以上含み、且つ、3つ以上のオブジェクトを含む。つまり、オブジェクトOb050~オブジェクトOb011を含むオブジェクト群は、第三の条件を満たす。
【0143】
また、
図15に示すオブジェクトOb050~オブジェクトOb011を含むオブジェクト群は、第三の条件を満たすオブジェクト群に含まれるオブジェクト同士が互いの近傍矩形で交差し、且つ、オブジェクト群の外接矩形101Aの大きさが、図形A又は図形Bに該当する大きさであるから、第四の条件を満たす。
【0144】
したがって、本実施形態では、
図15に示すオブジェクトOb050~オブジェクトOb011を示すオブジェクト群が示す図形を表と認識し、表の形式の候補を予測する。
【0145】
図16は、第四の条件について説明する第二の図である。
図16では、オブジェクトOb012を示すストロークデータが入力された直後に、オブジェクトOb013を示すストロークデータが入力され、その直後にオブジェクトOb014を示すストロークデータが入力された場合を示している。
【0146】
また、
図16では、オブジェクトOb012を示すストロークデータが入力された直後から、順次、オブジェクトOb013、オブジェクトOb014を示すストロークデータが、各ストロークデータが入力されてから所定時間以内に入力された場合を示している。
図16では、これらのストロークデータが、同一のグループとされているものとして、説明する。
【0147】
図16において、外接矩形161aはオブジェクトOb012の外接矩形であり、近傍矩形161bは、オブジェクトOb012の近傍矩形である。また、外接矩形162aは、オブジェクトOb013の外接矩形であり、近傍矩形162bは、オブジェクトOb013の近傍矩形である。また、外接矩形163aは、オブジェクトOb014の外接矩形であり、近傍矩形163bは、オブジェクトOb014の近傍矩形である。
【0148】
ここで、オブジェクトOb012の近傍矩形161bは、領域160a、160bにおいて、オブジェクトOb013と交差している。また、オブジェクトOb012の近傍矩形161bは、領域160c、160dにおいて、オブジェクトOb014と交差している。また、オブジェクトOb013の近傍矩形162bは、領域160eにおいて、オブジェクトOb014と交差している。
【0149】
さらに、
図16に示すオブジェクトOb012~オブジェクトOb014を含むオブジェクト群の外接矩形101Bの大きさは、高さがa(第一の高さ閾値)より大きく、幅がb(第一の幅閾値)より大きい。つまり、外接矩形101Bの大きさは、図形Aの範囲である。
【0150】
図16の例では、近傍矩形161bの大きさは、高さがa(第一の高さ閾値)より大きく、幅がb(第一の幅閾値)より大きいため、図形Aの範囲となる。
【0151】
また、
図16の例では、近傍矩形162bの大きさは、高さがc(第二の高さ閾値)より小さく、且つ、幅がb(第一の幅閾値)より大きい範囲となる。また、近傍矩形163bの大きさは、高さがa(第一の高さ閾値)より大きく、且つ、幅がd(第二の幅閾値)以下の範囲となる。
【0152】
つまり、オブジェクトOb013とオブジェクトOb014の近傍矩形162b、163bの大きさは、図形Bの範囲となる。
【0153】
このように、
図16に示すオブジェクトOb012~オブジェクトOb014を含むオブジェクト群は、近傍矩形が図形Bの範囲となるオブジェクトを2つ以上含み、且つ、オブジェクトを3つ以上含む。したがって、オブジェクトOb012~オブジェクトOb014を含むオブジェクト群は、第三の条件を満たす。
【0154】
また、
図16に示すオブジェクトOb012~オブジェクトOb014を含むオブジェクト群は、第三の条件を満たすオブジェクト群に含まれるオブジェクト同士が互いの近傍矩形で交差し、且つ、オブジェクト群の外接矩形101Bの大きさが、図形A又は図形Bに該当する大きさであるから、第四の条件を満たす。
【0155】
したがって、本実施形態では、
図16に示すオブジェクトOb012~オブジェクトOb014を示すオブジェクト群が示す図形を表と認識し、表の形式の候補を予測する。
【0156】
次に、
図17を参照して、本実施形態の表示装置の機能について説明する。
図17は、第三の実施形態の表示装置が有する機能を説明する機能ブロック図の一例である。
【0157】
本実施形態の表示装置2Aは、入力受付部21、描画データ生成部22、ストローク判定部23、グループ判定部24、データ記録部25、ネットワーク通信部26、操作受付部27、図形予測部28、表示制御部29、及び、表形式予測部30を有する。
【0158】
本実施形態の表形式予測部30は、グループ判定部24により1つのグループとされた複数のストロークデータ(ストロークデータ群)と対応するオブジェクト群が、第三の条件及び第四の条件を満たすか否かを判定する。そして、表形式予測部30は、オブジェクト群が第三の条件及び第四の条件を満たす場合に、描画された図形を表と判定して表の形式を予測し、予測した結果の予測変換候補として出力する。
【0159】
次に、
図18及び
図19を参照して、本実施形態の表示装置2Aの動作について説明する。
図18は、第二の実施形態の表示装置の動作を説明する第一のフローチャートである。
図18の処理は表示装置2Aの起動中、繰り返し実行される。
【0160】
図18のステップS1801からステップS106までの処理は、
図8のステップS801からステップS806までの処理と同様であるから、説明を省略する。
【0161】
ステップS1802において、所定時間Tが経過した場合(ステップS1802でYes)、又は、ステップS1806に続いて、表示装置2Aは、表形式予測部30により、グループ判定部24により同一グループと判定さたれストロークデータ群と対応するオブジェクト群が、第三の条件及び第四の条件を満たすか否かを判定する(ステップS1807)。
【0162】
ステップS1807において、オブジェクト群が第三の条件及び第四の条件を満たす場合、表示装置2Aは、表形式予測部30により、オブジェクト群に基づき描画された表の形式を予測し、表示制御部29により、予測変換候補をディスプレー220に表示させる(ステップS1808)。
【0163】
ステップS1807において、オブジェクト群が第三の条件及び第四の条件を満たさない場合、表示装置2Aは、図形予測部28により、オブジェクト群に基づき描画された図形を予測し、表示制御部29により、予測変換候補をディスプレー220に表示させる(ステップS1809)。
【0164】
次に、
図19を参照して、
図18のステップS1801とステップS1803の処理について説明する。
図19は、第三の実施形態の表示装置の動作を説明する第二のフローチャートである。本実施形態において、
図18のステップS1801で実行される処理と、ステップS1803で実行される処理とは同様である。
【0165】
図19のステップS1901とステップS1902の処理は、
図9のステップS901とステップS902の処理と同様であるから、説明を省略する。
【0166】
ステップS1902において、オブジェクトの外接矩形の高さが、高さa(第一の高さ閾値)よりも高い場合、ストローク判定部23は、オブジェクトの外接矩形の幅が、幅d(第二の幅閾値)より大きいか否かを判定する(ステップS1903)。
【0167】
ステップS1903において、オブジェクトの外接矩形の幅が、幅d(第二の幅閾値)より大きい場合、このオブジェクトを示すストロークデータを、図形Aの範囲のオブジェクトを示すストロークデータとして、手書き認識を行い(ステップS1904)、
図18のステップS1802又はステップS1804へ進む。なお、このとき、ストローク判定部23は、図形Aの範囲のされたストロークデータの数をnとし、nの値をインクリメントさせて、n=n+1とする。なお、nの初期値は0である。
【0168】
ステップS1902において、オブジェクトの外接矩形の高さが、高さa(第一の高さ閾値)以下である場合、ストローク判定部23は、オブジェクトの外接矩形の高さが高さc(第二の高さ閾値)より低く、且つ、外接矩形の幅が幅b(第一の幅閾値)より大きいか否かを判定する(ステップS1905)。
【0169】
ステップS1905において、オブジェクトの外接矩形の高さが高さcより低く、且つ、幅が幅bより大きい場合、ストローク判定部23は、このオブジェクトを示すストロークデータを、図形Bの範囲のオブジェクトを示すストロークデータとして、手書き認識を行い(ステップS1906)、
図18のステップS1802又はステップS1804へ進む。なお、このとき、ストローク判定部23は、図形Bの範囲のされたストロークデータの数をmとし、mの値をインクリメントさせて、m=m+1とする。なお、mの初期値は0である。
【0170】
ステップS1905において、オブジェクトの外接矩形が、高さが高さcより低く、且つ、幅が幅bより大きい、という条件を満たさない場合、ストローク判定部23は処理を終了する。
【0171】
なお、本実施形態のnの値とmの値は、
図18のステップS1807において、オブジェクト群が第三の条件を満たすか否かを判定する際に参照されてよい。この場合、同一グループに含まれるオブジェクト群において、図形Bの範囲のオブジェクトの数と対応するmの値が2以上であり、図形Aの範囲のオブジェクトと図形Bの範囲のオブジェクトの数との合計であるn+mの値が3以上であれば、このオブジェクト群は第三の条件を満たすことになる。
【0172】
なお、本実施形態では、同一グループとされたストロークデータ群と対応するオブジェクト群が、第三の条件を満たすか否かを判定する際に、オブジェクトの外接矩形の代わりに、オブジェクトから得られる第一の矩形を用いてもよい。
【0173】
言い換えれば、実施形態の第三の条件とは、複数のストロークデータのうち、対応するオブジェクトから得られる第一の矩形の幅と高さが、予め決められた第一の範囲となるストロークデータが2つ以上存在し、且つ、グループに含まれるストロークデータが3つ以上存在することである。
【0174】
また、本実施形態では、同一グループとされたストロークデータ群と対応するオブジェクト群が、第四の条件を満たすか否かを判定する際に、オブジェクトの近傍矩形の代わりに、オブジェクトの第一の矩形を含む第二の矩形を用いてもよい。
【0175】
言い換えれば、実施形態の第四の条件とは、第三の条件を満たす複数のオブジェクトに含まれるオブジェクト同士において、一方のオブジェクトが、他方のオブジェクトの第一の矩形を含む第二の矩形内で交差し、且つ、複数のオブジェクトのそれぞれの第一の矩形の大きさが、第一の範囲又は予め決められた第二の範囲となることである。
【0176】
次に、
図20と
図21を参照して、図形の予測変換候補の表示例について説明する。
図20は、表の予測変換候補の表示例を説明する第一の図である。
【0177】
図20では、
図15に示すオブジェクトOb005を示すストロークデータからオブジェクトOb011を示すストロークデータまでが1つのグループとされた場合を示している。
【0178】
この場合、表示装置2Aは、表形式予測部30により、1つのグループとされたストロークデータ群に基づき、ストロークデータ群が示す表の形式を予測する。具体的には、表形式予測部30は、1つのグループとされたストロークデータ群と対応するオブジェクト群の外接矩形101A内に描画された表の形式の候補を予測する。そして、表示装置2Aは、表示制御部29により、予測された表の形式の候補を、予測変換候補の一覧102Aとして、外接矩形101Aの近傍に表示させる。
【0179】
表示装置2Aは、一覧102Aから表の形式が選択されると、外接矩形101Aに描画されたオブジェクトを消去し、選択された図形と対応する画像103Aを表示させる。
【0180】
図20の例では、一覧102Aには、予測された表の形式として、「2行×3列」が表示されており、ペン2500により、一覧102Aから「2行×3列」が選択されている。したがって、表示制御部29は、外接矩形101A内のオブジェクトOb005からオブジェクトOb011を消去し、外接矩形101A内に、「2行×3列」の表の画像103Aを描画する。
【0181】
図21は、表の予測変換候補の表示例を説明する第一の図である。
図21では、
図16に示すオブジェクトOb0012を示すストロークデータからオブジェクトOb014を示すストロークデータまでが1つのグループとされた場合を示している。
【0182】
この場合、表示装置2Aは、表形式予測部30により、オブジェクト群の外接矩形101B内に描画された表の形式の候補を予測する。そして、表示装置2Aは、表示制御部29により、予測された表の形式の候補を、予測変換候補の一覧102Bとして、外接矩形101Bの近傍に表示させる。
【0183】
表示装置2Aは、一覧102Bから表の形式が選択されると、外接矩形101Bに描画されたオブジェクトを消去し、選択された図形と対応する画像103Bを表示させる。
【0184】
図21の例では、一覧102Bには、予測された表の形式として、「2行×2列」が表示されており、ペン2500により、一覧102Bから「2行×2列」が選択されている。したがって、表示制御部29は、外接矩形101B内のオブジェクトOb012からオブジェクトOb014を消去し、外接矩形101B内に、「2行×2列」の表の画像103Bを描画する。
【0185】
本実施形態では、このように、図形の一部と判定されたストロークデータを1つのグループとし、グループ内のストロークデータ群と対応するオブジェクト群が表を示すものと判定された場合に、オブジェクト群に基づき表の形式を予測する。なお、本実施形態の表の形式とは、例えば、表に含まれる行数と列数であってもよい。そして、本実施形態では、予測変換候補の一覧を表示させる。
【0186】
したがって、本実施形態では、手書き入力で表を入力する際に、文字認識を行う状態(文字認識モード)から表認識を行う状態(表認識モード)に切り替える等といった煩雑な操作が不要である。また、本実施形態では、手書き入力されたストロークデータに基づき、表の形式の予測変換候補を表示させ、予測変換候補から選択された形式の表を表示させる。したがって、本実施形態によれば、ユーザの意図しない図形に誤変換されることを抑制し、ユーザの意図する形式の表を出力させることができる。
【0187】
本発明の実施形態は、コンピュータの能力および機能性に大きな改善をもたらす。これらの改善により、ユーザは、情報処理装置において情報を格納し提示する方法であるテーブルとの、より効率的で堅牢な対話を提供するコンピュータを利用することができる。さらに、本発明の実施形態は、より効率的で強力かつ堅牢なユーザーインタフェースの使用を通じて、より良いユーザ体験を提供する。このようなユーザーインタフェースは、人間と機械との間のより良い相互作用を提供する。
【0188】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0189】
例えば、本実施形態では、日本語の手書きを想定して近傍矩形が設定されたが、左から右に筆記する言語でない場合、筆記方向に応じて近傍矩形が設定される。
【0190】
また、本実施形態では、ストロークデータが主に日本語に変換されているが、ストロークデータの変換先の言語は他の言語(英語、中国語、ヒンドゥー語、スペイン語、フランス語、アラビア語、ロシア語等)でよい。
【0191】
また、本実施形態では電子黒板を一例として説明したが、電子黒板は、電子ホワイトボード、電子情報ボード、などと呼ばれてよい。また、本実施形態は、タッチパネルを有する情報処理装置であれば好適に適用できる。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。また、表示装置2は、電気泳動方式を用いたものであってもよい。
【0192】
また、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、表示装置2は超音波の到達時間により距離を算出する。表示装置2は、方向と距離によりペンの位置を特定でき、ペンの軌跡をストロークデータとしてプロジェクターが描画(投影)する。
【0193】
また、
図6などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0194】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0195】
本発明の態様は、例えば、以下のとおりである。
<1> 手書きによるストロークデータの入力を受け付ける入力受付部と、
入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定するグループ判定部と、
前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる表示制御部と、を有する表示装置。
<2> 前記ストロークデータが、第一の条件を満たす場合に、前記ストロークデータを図形を示すストロークデータであると判定するストローク判定部を有し、
前記グループ判定部は、
前記第一の条件を満たすストロークデータの入力が完了してから所定時間以内に入力され、且つ、前記第一の条件及び第二の条件を満たすストロークデータを、前記第一の条件を満たすストロークデータと同一のグループのストロークデータとする、前記<1>記載の表示装置。
<3> 前記グループに含まれるストロークデータに基づいて、前記図形を予測した予測変換候補を出力する図形予測部を有し、
前記表示制御部は、
前記予測変換候補の一覧をディスプレーに表示させる、前記<2>記載の表示装置。
<4> 前記第一の条件は、
前記ストロークデータと対応する表示物から得られた第一の矩形の高さが、第一の高さ閾値より大きい、又は、前記第一の矩形の高さが第二の高さ閾値より小さく、且つ、前記第一の矩形の幅が幅閾値より大きいことである、前記<2>又は<3>記載の表示装置。
<5> 前記第二の条件は、
前記第一の条件を満たすストロークデータの入力後、所定時間以内に入力されたストロークデータと対応する表示物が、前記第一の条件を満たすストロークデータと対応する表示物から得られた前記第一の矩形を含む第二の矩形と交差することである前記<2>乃至<4>の何れか一項に記載の表示装置。
<6> 前記グループに含まれる複数のストロークデータが、第三の条件及び第四の条件を満たす場合に、前記グループに含まれる複数のストロークデータに基づいて、表の形式を予測した予測変換候補を出力する表形式予測部を有し、
前記表示制御部は、
前記予測変換候補の一覧をディスプレーに表示させる、前記<2>乃至<5>の何れか一項に記載の表示装置。複数
<7> 前記第三の条件は、前記グループに含まれる複数のストロークデータにおいて、前記ストロークデータと対応する表示物から得られる第一の矩形の幅と高さが、予め決められた第一の範囲となるストロークデータが2つ以上存在し、且つ、前記グループに含まれるストロークデータが3つ以上存在することである、前記<6>記載の表示装置。
<8> 前記第四の条件は、
前記第三の条件を満たす前記複数のストロークデータと対応する複数の表示物において、一方の表示物が、他方の表示物から得られた前記第一の矩形を含む第二の矩形と交差し、且つ、前記複数の表示物のそれぞれから得られた前記第一の矩形の大きさが、前記第一の範囲又は予め決められた第二の範囲となることである、前記<7>記載の表示装置。
<9> 前記第一の矩形は、前記表示物の外接矩形であり、前記第二の矩形は、前記外接矩形の幅と高さに、予め設定された固定値を加算して得られる近傍矩形である、前記<5>乃至<8>の何れか一項に記載の表示装置。
<10> 手書きによるストロークデータの入力を受け付け、
入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定し、
前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる、処理をコンピュータに実行させる表示プログラム。
<11> 表示装置による表示方法であって、前記表示装置が、
手書きによるストロークデータの入力を受け付け、
入力された複数の前記ストロークデータが、図形を示すストロークデータのグループであるか否かを判定し、
前記グループに含まれるストロークデータに基づき、前記図形を予測した結果を表示させる、表示方法。
【符号の説明】
【0196】
2 表示装置
19 表示システム
21 入力受付部
23 ストローク判定部
24 グループ判定部
28 図形予測部
30 表形式予測部
【先行技術文献】
【特許文献】
【0197】