(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】表示装置、表示方法、プログラム
(51)【国際特許分類】
G06F 3/04883 20220101AFI20241210BHJP
G09G 5/22 20060101ALI20241210BHJP
G09G 5/373 20060101ALI20241210BHJP
G09G 5/00 20060101ALI20241210BHJP
【FI】
G06F3/04883
G09G5/22 680Z
G09G5/373 100
G09G5/00 510H
(21)【出願番号】P 2021038081
(22)【出願日】2021-03-10
【審査請求日】2024-01-19
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】皆川 文彦
【審査官】宮本 昭彦
(56)【参考文献】
【文献】米国特許出願公開第2020/0356254(US,A1)
【文献】特開2014-092902(JP,A)
【文献】特開2014-142768(JP,A)
【文献】特開2001-042992(JP,A)
【文献】米国特許出願公開第2016/0180160(US,A1)
【文献】特開2013-114431(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 - 3/04895
G09G 5/00 - 5/42
G06F 40/00 - 40/197
(57)【特許請求の範囲】
【請求項1】
直線により囲まれた枠内に入力手段によって手書きされた文字の入力を受け付ける受付手段と、
前記手書きされた文字のサイズを算出する算出手段と、
手書きされた文字が追加されていく手書き方向の枠と手書きされた文字との間にあるスペースが、
手書き方向が横書きの場合は、前記文字のサイズの幅に基づく閾値以下または閾値より小さい場合、
手書き方向が縦書きの場合は、前記文字のサイズの高さに基づく閾値以下または閾値より小さい場合、
手書きされた文字が入るように前記枠を拡張する制御手段と、
を有する表示装置。
【請求項2】
前記算出手段は、手書きされた前記文字に含まれるストロークデータの、最大の幅又は最大の高さを前記文字のサイズとして算出することを特徴とする請求項1に記載の表示装置。
【請求項3】
前記算出手段は、手書きされた前記文字を文字認識し、
文字認識された1つの文字の最大の幅又は最大の高さを前記文字のサイズとして算出することを特徴とする請求項1に記載の表示装置。
【請求項4】
前記表示装置はタッチパネルを備えたディスプレイを有し、
前記ディスプレイは前記入力手段が触れた位置にもとづいて前記文字の入力を受け付け、
前記算出手段は、前記入力手段が
前記ディスプレイから離れたタイミングで、前記文字のサイズを算出することを特徴とする請求項1~3のいずれか1項に記載の表示装置。
【請求項5】
前記制御手段は、前記枠
を手書き方向に拡張することを特徴とする請求項1~3のいずれか1項に記載の表示装置。
【請求項6】
前記制御手段は、枠内への手書きが終了した場合、拡張した
前記枠を元に戻すことを特徴とする請求項1~5のいずれか1項に記載の表示装置。
【請求項7】
前記制御手段は、
横書きしている手書き方向に既に別のオブジェクトが存在する場合、
手書き方向に対し垂直下向き方向に前記枠を拡張することを特徴とする請求項1~6のいずれか1項に記載の表示装置。
【請求項8】
前記制御手段は、
横書きしている手書き方向と、
前記手書き方向に対し垂直下向き方向の両方に、前記枠を拡張することを特徴とする請求項1~3のいずれか1項に記載の表示装置。
【請求項9】
直線により囲まれた枠内に入力手段によって手書きされた文字の入力を受け付ける受付手段と、
前記手書きされた文字のサイズを算出する算出手段と、
手書きされた文字が追加されていく手書き方向の枠と手書きされた文字との間にあるスペースが、
手書き方向が横書きの場合は、前記文字のサイズの幅に基づく閾値以下または閾値より小さい場合、
手書き方向が縦書きの場合は、前記文字のサイズの高さに基づく閾値以下または閾値より小さい場合、
拡張ボタンを表示する表示制御手段と、
前記拡張ボタンの押下に応じて前記枠を拡張する制御手段と、
を有する表示装置。
【請求項10】
前記制御手段が、前記拡張ボタンの押下に応じて前記枠を拡張した場合、
前記表示制御手段は、拡張された
前記枠を元に戻す縮小ボタンを表示し、
前記制御手段は、前記縮小ボタンの押下に応じて拡張された
前記枠を元に戻すことを特徴とする請求項9に記載の表示装置。
【請求項11】
受付手段が、直線により囲まれた枠内に入力手段によって手書きされた文字の入力を受け付けるステップと、
算出手段が、前記手書きされた文字のサイズを算出するステップと、
手書きされた文字が追加されていく手書き方向の枠と手書きされた文字との間にあるスペースが、
手書き方向が横書きの場合は、前記文字のサイズの幅に基づく閾値以下または閾値より小さい場合、
手書き方向が縦書きの場合は、前記文字のサイズの高さに基づく閾値以下または閾値より小さい場合、
制御手段が、
手書きされた文字が入るように前記枠を拡張するステップと、
を有する表示方法。
【請求項12】
表示装置を、
直線により囲まれた枠内に入力手段によって手書きされた文字の入力を受け付ける受付手段と、
前記手書きされた文字のサイズを算出する算出手段と、
手書きされた文字が追加されていく手書き方向の枠と手書きされた文字との間にあるスペースが、
手書き方向が横書きの場合は、前記文字のサイズの幅に基づく閾値以下または閾値より小さい場合、
手書き方向が縦書きの場合は、前記文字のサイズの高さに基づく閾値以下または閾値より小さい場合、
手書きされた文字が入るように前記枠を拡張する制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示装置、表示方法、及び、プログラムに関する。
【背景技術】
【0002】
手書き認識技術を利用し、手書きデータを文字に変換して、ディスプレイに表示する表示装置が知られている。比較的大型のタッチパネルを備えた表示装置は会議室や公共施設などに配置され、複数のユーザーにより電子黒板などとして利用される。
【0003】
表示装置では、図形や表内などの枠内にユーザーが文字を手書きすることができる。枠が小さすぎて文字が枠内に入り切らなくなった場合に、文字を枠に入れる技術が知られている(例えば、特許文献1参照。)。特許文献1には、手書き文字がはみ出た場合に、文字列全体が枠内に収まるように自動的に文字を適切なサイズに縮小する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、枠を拡張することができないという問題があった。枠の大きさを変えずに、文字を縮小すると、文字が見にくくなるおそれがある。
【0005】
本発明は、上記課題に鑑み、文字が入るように枠を拡張することができる表示装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、直線により囲まれた枠内に入力手段によって手書きされた文字の入力を受け付ける受付手段と、前記手書きされた文字のサイズを算出する算出手段と、手書きされた文字が追加されていく手書き方向の枠と手書きされた文字との間にあるスペースが、手書き方向が横書きの場合は、前記文字のサイズの幅に基づく閾値以下または閾値より小さい場合、手書き方向が縦書きの場合は、前記文字のサイズの高さに基づく閾値以下または閾値より小さい場合、手書きされた文字が入るように前記枠を拡張する制御手段と、を有する表示装置を提供する。
【発明の効果】
【0007】
文字が入るように枠を拡張することができる表示装置を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】表の枠のサイズが変更される様子を説明する図である。
【
図2】表示装置が枠を拡張する処理の概略を説明する図である。
【
図4】表示装置のハードウェア構成図の一例である。
【
図5】表示装置の機能をブロック状に分けて説明する機能ブロック図の一例である。
【
図7】一文字分のサイズの決定方法を説明する図である。
【
図8】表示装置が枠に手書きされた手書きデータに基づいて枠を拡張する手順を説明するフローチャート図の一例である。
【
図10】枠の右端と下端の拡張を説明する図である。
【
図11】手書き終了後のスペースの削除を説明する図である。
【
図12】拡張ボタンの押下に応じて拡張される枠を説明する図である。
【
図13】縮小ボタンの押下に応じて縮小される枠を説明する図である。
【
図14】表示装置が拡張ボタンの押下に応じて枠を拡張する手順を説明するフローチャート図の一例である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として表示装置と、表示装置が行う表示方法について図面を参照しながら説明する。
【実施例1】
【0010】
<比較例>
まず、
図1を参照して、本実施形態の表示装置2を説明するに当たって好適な比較例を説明する。
図1は、表401の枠402のサイズが変更される様子を説明する図である。なお、比較例は従来技術でない点に注意されたい。
【0011】
図1(a)に示すように、表401が4つの枠402を有している。ユーザーが入力手段291で手書きしている枠402に文字が入りきらなくなると、表示装置2は書き込み中のストロークデータ403に合わせて枠402を拡張する。
【0012】
図1(b)に示すように、手書き中のストロークデータの座標が右に移動するほど、表示装置2は枠402を右方向に拡張する。
【0013】
しかしながら、手書き中のストロークデータの座標に応じて枠402を拡張する方法では、手書きデータの右端と枠402までに十分なスペースがない状態が常に続くため、ユーザーが書きにくい場合がある。例えば、ユーザーがストロークデータの右端よりも右側に次のストロークデータを手書きしたい場合(「イ」のように右端から書く場合、句読点や濁点を打つ場合)、スペースが足りない状況が生じうる。これは、
図1(c)のように、ユーザーが手書きをやめた状態では、次の文字を書き始めるスペースがないことからも分かる。この場合、ユーザーは自分で枠402のサイズを変えてから書き込みを行う必要がある。
【0014】
<表示装置の動作の概略>
図2は、表示装置2が枠402を拡張する処理の概略を説明する図である。
図2(a)に示すように、枠402内の右端に文字を書き込むスペースがなくなった。表示装置2は入力手段291の先端がディスプレイから離れると、書き込むスペースがどのくらいあるかを判断し、スペースが足りないと判断すると、
図2(b)に示すように、一文字分程度のスペースが生じるように枠402を拡張する。
【0015】
一例として、表示装置2は、すでに枠402に手書き済みのストロークデータから、一文字分の文字サイズを算出する。表示装置2は、手書き方向である右端のスペース(手書き方向の枠と最後に手書きされた文字の右端との間にあるスペース)が文字サイズより小さくなった場合、枠402を少なくとも一文字分、手書き方向である右方向に拡張する。こうすることで、ユーザーは一文字分より大きいスペース405に次の文字を手書きできる。
【0016】
<用語について>
入力手段とはタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。
【0017】
ユーザーがディスプレイに入力手段を押しつけてから連続的に移動させた後、ディスプレイから離すという一連の操作をストロークという。ストロークデータとは、入力手段により入力される座標の軌跡に基づいてディスプレイに表示される情報である。ストロークデータは適宜、補間されてよい。手書きデータとは、1つ以上のストロークデータを有するデータである。手書き入力とは、ユーザーによって、手書きデータが入力されることを示している。
【0018】
ストロークデータに基づいてディスプレイに表示される表示物をオブジェクトという。オブジェクトとは対象という意味であるが、本実施形態では表示対象などの意味である。
手書きデータが文字認識して変換された文字列には、テキストデータの他、「済」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて表示されたデータも含まれてよい。
【0019】
文字列とは手書きデータから文字認識により変換された1つ以上の文字コード(フォント)である。文字列は、コンピュータで扱われる1つ以上の文字でよい。文字には、数字、アルファベット、及び、記号等が含まれる。文字列はテキストデータとも言われる。
【0020】
枠とは少なくとも4つの直線で囲まれた輪郭の線である。枠としては、例えば、表を構成する各セル、図形の1つである四角形がある。
【0021】
スペースとは空間、余地、余白などの意味である。本実施形態では、文字と枠との間の空白をスペースという。
【0022】
拡張とは、範囲を広げて大きくすることをいう。縮小とは縮めて小さくすることをいう。
【0023】
<構成例>
図3は、表示装置2の概略斜視図の一例を示す。表示装置2をユーザー(利用者)が利用している。本実施形態の表示装置2は、ユーザーが手又は電子ペン2500などの入力手段291でディスプレイ上に手書きを行うことができる。
【0024】
図3の表示装置2は横置きされているが、縦置きすることも可能である。ユーザーは表示装置2をディスプレイの中心を軸に回転させて、横置きと縦置きを切り替えることができる。
【0025】
<ハードウェア構成例>
図4は、表示装置2のハードウェア構成の一例を示す図である。本実施形態の表示装置2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、SSD(Solid State Drive)204、ネットワークコントローラ205、及び、外部機器接続I/F206(Interface)を備えており、複数の利用者により情報を共有するための共有端末である。
【0026】
これらのうち、CPU201は、表示装置2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。
【0027】
SSD204は、表示装置2用のプログラム等の各種データを記憶する。このプログラムは汎用的なOS(Windows(登録商標)、Mac OS(登録商標)、Android(登録商標)、iOS(登録商標)等)を搭載した情報処理装置で動作するアプリケーションプログラムでもよい。
【0028】
ネットワークコントローラ205は、ネットワークとの通信を制御する。外部機器接続I/F206は、USB(Universal Serial Bus)メモリ2600、外付け機器(カメラ2900、スピーカ2800、マイク2700)との通信を制御する。
【0029】
また、表示装置2は、キャプチャデバイス211、GPU212、ディスプレイコントローラ213、接触センサ214、センサコントローラ215、電子ペンコントローラ216、近距離通信部219、及び近距離通信部219のアンテナ219aを備えている。
【0030】
これらのうち、キャプチャデバイス211は、PC10のディスプレイに対して映像情報を静止画又は動画として表示させる。GPU(Graphics Processing Unit)212は、グラフィクスを専門に扱う半導体チップである。ディスプレイコントローラ213は、GPU212からの出力画像をディスプレイ220等へ出力するために画面表示の制御及び管理を行う。
【0031】
接触センサ214は、ディスプレイ220上に電子ペン2500やユーザーの手H等が接触したことを検知する。電子ペン2500と手Hを区別しない場合、入力手段291という。
【0032】
センサコントローラ215は、接触センサ214の処理を制御する。接触センサ214は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ220の上側両端部に設置された2つ受発光装置が、ディスプレイ220に平行して複数の赤外線を放射し、ディスプレイ220の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法であっても良い。
【0033】
接触センサ214は、物体によって遮断された2つの受発光装置が放射した赤外線のIDをセンサコントローラ215に出力し、センサコントローラ215が、物体の接触位置である座標位置を特定する。電子ペンコントローラ216は、電子ペン2500と通信することで、ディスプレイ220へのペン先のタッチやペン尻のタッチの有無を判断する。近距離通信部219は、NFC、Bluetooth(登録商標)等の通信回路である。
【0034】
更に、表示装置2は、バスライン210を備えている。バスライン210は、CPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0035】
なお、接触センサ214は、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体がディスプレイに接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いても良い。また、電子ペンコントローラ216が、電子ペン2500のペン先及びペン尻だけでなく、電子ペン2500のユーザーが握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしても良い。
【0036】
<機能について>
図5は、表示装置2の機能をブロック状に分けて説明する機能ブロック図の一例を示す図である。
図5に示す、表示装置2が有する各機能部は、
図4に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
【0037】
表示装置2は、入力手段291がディスプレイ220に接触したことを検知する接触検知部301、及び、接触位置の座標を検知する座標検知部302を備えている。接触検知部301は、主に電子ペン2500がペン先又はペン尻が押下された旨の信号を送信する。接触検知部301は、この信号に基づいて接触を検知する。
【0038】
接触検知部301により接触が検知されると、座標検知部302により検知された座標情報と共に、接触を通知するイベントがイベント振分部303に通知される。
【0039】
イベント振分部303は、接触がUIコントロールの操作か、ジェスチャー操作か、ストローク描画かの判断を行い、それぞれに応じた処理部に振分を行う。UIコントロールの操作とは、操作メニューとして表示されるボタンやアイコンに対するユーザーの押下をいう。UIはユーザーインターフェースの略である。ジェスチャー操作とは、手書きデータの選択、移動、拡張縮小、などをいう。
【0040】
入力手段291の接触がUIコントロールの操作と判断された場合、イベントは操作処理部304に送信され、操作処理部304がユーザーの要求に対応する処理を実行する。処理の結果は画面表示に反映するため後述の画像処理部313に送られる。
【0041】
入力手段291の接触がジェスチャー操作と判断された場合、イベントはジェスチャー処理部305に送信され、ジェスチャー処理部305がユーザーの実施したジェスチャーに紐づけられている操作を判別し、該当する操作を実行するように操作処理部304に指示する。操作処理部304は、UIコントロールの操作の場合と同様にジェスチャー処理部から指示された処理を実行する。
【0042】
入力手段291の接触がストローク描画と判断された場合には、イベントはストローク処理部306に送信される。ストローク処理部306は、ストロークデータの座標点に基づいて手書きデータを描画したり、描画された手書きデータを削除したり、描画された手書きデータを編集したりする。
【0043】
文字サイズ算出部307は、ストローク処理部306により描画された文字列における一ストロークデータのサイズ(幅・高さ)又は一文字あたりの文字のサイズ(幅・高さ)の算出を行う。文字サイズの算出の方法については後述する。
【0044】
描画オブジェクト処理部308は、直線、図形、表、画像などの描画オブジェクトの変換や編集の処理を行う部分である。描画オブジェクト処理部308は、例えば、ストロークデータを直線、図形又は表などに変換したり、OCR(Optical Character Recognition)機能によりテキストデータに変換したりする。また、直線、図形、表、又は画像などの描画オブジェクトの変倍(拡張・縮小)や変形も実行する。後述の枠402の拡張や縮小はこの描画オブジェクト処理部308がその処理を行う。描画オブジェクト処理部308は算出された文字のサイズと、手書き方向の枠と手書きされた文字との間にあるスペースとの比較結果に応じて、枠を拡張する。
【0045】
ストローク処理部306により出力されたストロークデータ、描画オブジェクト処理部308により出力された描画オブジェクトは、ページ処理部310で管理されるページ上に描画される。ページ処理部310は、ページの追加や削除、表示するページ切り替えなどのページの管理を行う。ストロークデータや描画オブジェクトなどの各ページの情報はページデータ記憶部311に記憶される。
【0046】
UI画像生成部309は、ページ処理部310から出力される情報(どのメニューを表示するか)や、ユーザー操作に基づいて画面に表示すべき操作メニューを生成する。生成した操作メニューは表示部312に出力され、表示装置2のディスプレイ上に表示される。
【0047】
【表1】
表1はページデータ記憶部311が記憶するオブジェクト情報を模式的に示す。オブジェクト情報は、表示装置2が表示する各種のオブジェクトを管理する情報である。
【0048】
・オブジェクトIDは画面内のオブジェクトを識別する識別情報である。オブジェクトは画面に表示されている各種の表示物の全てをいう。
【0049】
・種別はオブジェクトの種類である。例えば、表(行又は列)、手書き、文字、図形、画像、等がある。表は表オブジェクトを示す。手書きはストロークデータ(座標点列)である。文字は手書きデータから変換された文字列(文字コード)である。文字列をテキストデータという場合もある。図形は、三角や四角など手書きデータから変換された幾何学的な形状である。画像は、PCやインターネットなどから取り込まれたJpeg、Png、Tiffなどの画像データである。各オブジェクトのデータはオブジェクトIDに対応付けて管理されている。
【0050】
・座標は、表示装置2の画面の所定の原点を基準としてオブジェクトの始点の位置を示す。オブジェクトの始点は例えば描画オブジェクトの外接矩形の左上頂点である。座標は例えば、ディスプレイの画素単位で表される。
【0051】
・サイズは、各オブジェクトの大きさ(幅と高さ)である。終点の位置が記録されていてもよい。
【0052】
【表2】
表2は、表の詳細情報を示す。表オブジェクトについてはオブジェクトIDと表が対応付けて管理されている。1つの表は、行と列で特定される枠を有する。枠とは行と列で区切られる表の1領域である。詳細情報は枠ごとに座標とサイズを有している。表1に示したようにストロークデータなどの各オブジェクトは位置が分かっているので、各オブジェクトがどの枠に収納されているかが特定される。
【0053】
<表の枠の拡張例>
図6を参照して、枠402の拡張方法について説明する。
図6(a)に示すように、ユーザーが表401の枠402に「ホワイトボー」と手書きして、入力手段291の先端をディスプレイから離した。「ホワイトボー」という手書きデータの右端から(「ー」の最右の座標)、手書き方向(右方向)の枠402までにスペースはほとんどない。
【0054】
描画オブジェクト処理部308は、一文字分よりスペースがなくなると、少なくとも一文字以上のスペースが作成されるように、手書き方向の枠402を拡張する。一文字分のサイズは、すでに枠402に手書きされているストロークデータ又は一文字のサイズに応じて決定される。
【0055】
図6(b)は拡張された枠402を示す。手書きデータの右端にスペース405が生成されている。枠402の拡張により、一文字分より小さいと判断されたスペースと一文字分のスペースを合計したスペース405が生じる。したがって、ユーザーはスペース405に続きの文字を手書きすることができる。
【0056】
なお、手書き方向は、手書きデータ全体(「ホワイトボー」)の外接矩形に基づいて判断される。描画オブジェクト処理部308は枠内の手書きデータ全体の外接矩形のアスペクト比が横長を示す場合は横書き、縦長を示す場合は縦書きと判断する。あるいは、描画オブジェクト処理部308は、枠内の手書きデータ全体の幅と高さを監視し、変化が大きい方が手書き方向であると判断してもよい。
【0057】
右から左方向か、左から右方向か、又は、上から下方向か、下から上方向か、の判断については、手書きデータの座標が大きくなる方向でよい。
【0058】
図7は、一文字分のサイズの決定方法を説明する図である。文字サイズ算出部307は、既に手書きされているストロークデータの中で最も大きい幅と高さをそれぞれ一文字分の文字の幅と高さに決定する。すなわち、文字サイズ算出部307は、各ストロークデータの外接矩形を求め、最大の幅と高さを抽出する。枠402を水平方向に拡張する場合、描画オブジェクト処理部308は少なくとも最大の幅、枠402を拡張する。枠402を手書き方向に対し垂直下向き方向に拡張する場合、描画オブジェクト処理部308は少なくとも最大の高さ、枠402を拡張する。なお、描画オブジェクト処理部308は最大値でなく、最小値、平均値又は中央値を採用してもよい。
【0059】
また、文字サイズ算出部307は1つのストロークデータに着目するのでなく、一文字に着目してもよい。例えば、描画オブジェクト処理部308は、OCR処理により手書きデータをリアルタイムに文字に変換する。文字サイズ算出部307は、各文字の外接矩形を求め、最大の幅と高さを抽出する。文字サイズ算出部307は、1つの文字の最大の幅又は最大の高さを一文字分のサイズとする。なお、認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。
【0060】
<表示装置が枠を拡張する処理手順>
図8は、表示装置2が枠402に手書きされた手書きデータに基づいて枠402を拡張する手順を説明するフローチャート図の一例である。なお、本フローチャートではユーザーが表や図形など枠402に囲まれた領域内に書き込みを実施していることを前提としている。枠402に囲まれた領域内への書き込みでない場合には、本フローチャートの処理を表示装置2が実施しなくてもよいし、後述のステップS3においてNOと判断することによりそれ以降の処理が実行されないようにしてもよい。
【0061】
ユーザーによる手書きが行われると、入力手段291が接触した座標を座標検知部302が検出する。イベント振分部303は座標点列に基づいてストローク描画のイベントであると判断し、ストローク処理部306がストロークデータをディスプレイに表示する(S1)。
【0062】
ユーザーが入力手段291の先端をディスプレイから離すと、文字サイズ算出部307が一文字の文字サイズを算出する(S2)。
【0063】
なお、文字サイズ算出部307が一文字の文字サイズを算出するタイミングは入力手段291の先端をディスプレイから離したタイミングでなくてもよい。ユーザーが手書き中にリアルタイムに、文字サイズ算出部307が一文字の文字サイズを算出してもよい。
【0064】
次に、描画オブジェクト処理部308は枠402内に次の一文字を書き込むスペースがあるかどうかを判断する(S3)。本実施形態では、描画オブジェクト処理部308がスペースの有無を判断する閾値として、ステップS2により算出された一文字分の文字サイズを利用する。描画オブジェクト処理部308は、一文字分の文字サイズよりも枠402内の右端のスペース(最右の文字の右端から枠までの間隔)が小さい場合にスペースが無いと判断する。
【0065】
なお、描画オブジェクト処理部308がスペースの有無を判断する閾値は一文字分の文字サイズと一致させる必要はなく、一文字分の文字サイズにマージンを加算した値などを利用してもよい。描画オブジェクト処理部308は、マージンを加味することでスペースを一文字分より大きくできる。マージンは固定値でもよいし、文字サイズの10%など文字サイズに応じて描画オブジェクト処理部308が決定してもよい。
【0066】
更に、スペースの有無を判断する閾値は二文字分以上でもよい。ユーザーから見ると二文字以上のスペースが確保されるので、手書きに集中しやすくなる。また、描画オブジェクト処理部308がスペースの有無を判断する閾値(一文字分、二文字分等)をユーザーが設定できてもよい。
【0067】
また、本実施形態では手書き方向を左から右としているため右端のスペースを判断に用いているが、ユーザーが右から左に手書きする場合、左端のスペースを用いるとよい。同様に、ユーザーが上から下に手書きする場合、下端のスペースを用いるとよい。ユーザーが下から上に手書きする場合、上端のスペースを用いるとよい。
【0068】
また、手書き方向が右方向でも、右方向に既に別の手書きデータ等がある場合、描画オブジェクト処理部308が下方向に拡張する場合がある(
図9参照)。各描画オブジェクトの座標はページデータ記憶部311に記憶されているので、描画オブジェクト処理部308は描画オブジェクトの外接矩形と枠が重なるかどうかを判断する。この場合、ステップS3におけるスペース有無の判断において、右端だけでなく下端のスペースも判断される。一文字以上のスペースがあれば拡張する必要がない。
【0069】
ステップS3において右端のスペースが閾値より大きい場合、描画オブジェクト処理部308は何もせずステップS1に戻る。
【0070】
ステップS3において右端のスペースが閾値以下の場合には、描画オブジェクト処理部308は枠402の拡張を行う(S4)。枠402の拡張は、枠402の右端に少なくとも一文字分のスペースをできるようにすることをいう。表の場合、描画オブジェクト処理部308は列の幅を広げ、図形の場合、図形の横幅を広げることでスペースを作る。
【0071】
なお、描画オブジェクト処理部308は枠の拡張前に存在するスペースを考慮して、一文字分のスペースができるように枠を拡張してもよい。つまり、拡張後のスペースが一文字分であればよい。描画オブジェクト処理部308はステップS2で算出された一文字のサイズから枠の拡張前に存在するスペースを差し引いて、枠を拡張する。
【0072】
また、描画オブジェクト処理部308は、一文字分でなく、二文字分や三文字分などのスペースが得られるように枠402を拡張してもよい。枠402を拡張する頻度が減り、表示装置2の負荷を低減できる。また、ユーザーから見て枠402のサイズが頻繁に変わらないので手書きに集中しやすくなる。また、描画オブジェクト処理部308が一度に拡張する大きさ(一文字分、二文字分等)をユーザーが設定できてもよい。
【0073】
次に、描画オブジェクト処理部308はユーザーによる手書きが終了したか否かを判断する(S5)。例えば、最後の筆記から一定時間経過した場合に、描画オブジェクト処理部308は手書きが終了したものと判断する。この判断方法は一例であり、その他の例として、例えば筆記モードとその他のモードが存在する表示装置2において、ユーザーがボタンを押下することなどで、筆記モードから抜けた場合に筆記終了と判断する方法でもよい。
【0074】
ステップS5において手書きが継続中と判断された場合、処理がステップS1に戻り、表示装置2は処理を継続する。
【0075】
ステップS5において、手書きが終了したと判断された場合、描画オブジェクト処理部308はステップS4で拡張した枠402を縮小して拡張前に戻す(S6)。すなわち、描画オブジェクト処理部308は、ステップS4で拡張した分だけ逆方向に枠402を縮小する。これにより、枠402の拡張によって自動的に作成された右端のスペースが不要なまま残ることを防止し、枠402のサイズが、文字列が収まる適切な大きさとなる。
【0076】
<枠の下端の拡張>
図9に示すように、描画オブジェクト処理部308は、枠402の右端ではなく下端(手書き方向に対し垂直下向き方向)にスペースを作るように枠402を拡張してもよい。
図9は枠の下端の拡張を説明する図である。
【0077】
図9(a)は
図6(a)と同じものである。「ホワイトボー」という手書きデータの右端から、手書き方向(右方向)の枠402までにスペースがほとんどない。
【0078】
しかし、描画オブジェクト処理部308が、手書きデータの右端にスペースを作ることができない場合がある。例えば、別の手書きデータ409や文字列等がすでに表示されている場合がある。別の手書きデータ409等の座標はページデータ記憶部311に記憶されている。
【0079】
このような場合、描画オブジェクト処理部308は、手書きデータの下端に少なくとも一文字以上の高さのスペースが作成されるように、枠402を拡張する。つまり、描画オブジェクト処理部308は、枠402の下端を拡張することで、枠402の高さを少なくとも一文字分大きくする。描画オブジェクト処理部308は枠内の全てのストロークデータのうち最も下方にあるストロークデータの座標を特定し、そこから少なくとも一文字分の高さ、枠402を拡張する。例えば、「ホワイトボー」の「ト」の下端が最も下方にあるストロークデータの座標である場合、描画オブジェクト処理部308は「ト」の下端に対し一文字分、枠を拡張する。
【0080】
図9(b)では、手書きデータの下端にスペース406が生成されている。したがって、ユーザーは手書きデータの下端のスペース406に続きの文字を手書きすることができる。
【0081】
また、
図10に示すように、描画オブジェクト処理部308は、枠402の右端と下端(手書き方向に対し垂直下向き方向)の両方にスペースを作るように枠402を拡張してもよい。
図10は、枠の右端と下端の拡張を説明する図である。
【0082】
図10(a)は
図6(a)と同じものである。「ホワイトボー」という手書きデータの右端から、手書き方向(右方向)の枠402までにスペースはほとんどない。
【0083】
描画オブジェクト処理部308は、手書きデータの右端と下端のそれぞれに少なくとも一文字以上のスペースが作成されるように、枠402を拡張する。つまり、描画オブジェクト処理部308は、枠402の幅と行の高さを少なくとも一文字分大きくする。
【0084】
図10(b)では、手書きデータの右端にスペース405が生成され、下端にスペース406が生成されている。したがって、ユーザーは右端のスペース405又は下端のスペース406に続きの文字を手書きすることができる。
【0085】
図10のような拡張方法は、ユーザーが行を変えて手書きしたい場合に対応できる。ユーザーが右方向にのみ手書きした場合、手書き終了後に描画オブジェクト処理部308は下端のスペースを削除するとよい。
【0086】
<手書き終了後のスペースの削除>
図11は手書き終了後のスペースの削除を説明する図である。手書き終了したと判断された場合、描画オブジェクト処理部308は拡張した枠402を縮小して拡張前の枠402のサイズに戻す。
【0087】
図11(a)は枠402が拡張された状態を示す。
図11(b)は拡張前のサイズに縮小された枠402を示す。こうすることで、枠402のサイズを手書きデータが収まる適切な大きさにできる。
【0088】
なお、描画オブジェクト処理部308は枠を拡張したか否かに関わらず、又は、枠402の拡張量に関係なく、枠402を手書きデータが収まるサイズに縮小してもよい。この場合、描画オブジェクト処理部308は手書きデータの右端まで枠402を縮小すればよい。
【0089】
また、
図11(b)に示すように、手書きデータが収まるように枠402のサイズが縮小された場合、実施例2で説明する拡張ボタンでユーザーが枠を拡張できる。
【0090】
また、
図9で説明したように、描画オブジェクト処理部308が自動的に拡張した枠402を縮小するのでなく、実施例2で説明する縮小ボタンの押下で枠402を縮小してもよい。この場合、右端にスペースが残るので、ユーザーがスペースを空けておいて追加で手書きできる。
【0091】
<主な効果>
本実施形態の表示装置2は、右端のスペースが文字サイズより小さくなった場合に、少なくとも一文字分のスペースができるように枠402を拡張するので、ユーザーは一文字分より大きいスペースに次の文字を手書きできる。
【実施例2】
【0092】
本実施例では、ユーザーが枠402の拡張ボタン410を押下した場合に枠402を拡張する表示装置2について説明する。
【0093】
なお、本実施例においては、上記の実施例にて説明した
図4に示したハードウェア構成図、及び、
図5に示した機能ブロック図を援用できるものとして説明する。
【0094】
<拡張ボタンの例>
図12は、拡張ボタン410の押下に応じて拡張される枠402を説明する図である。
図12(a)は
図6(a)と同じである。本実施例のUI画像生成部309は、右端のスペースが一文字分より小さくなると、拡張ボタン410を表示する。そして、拡張ボタン410が押下されると、描画オブジェクト処理部308が手書きデータの右端にスペースができるように枠402の右端を拡張する(
図12(b))。拡張方法は実施例1と同様でよい。
【0095】
拡張ボタン410を押下した場合にだけ、枠402が拡張されるので、ユーザーの意思で枠402を拡張できる。
【0096】
なお、拡張ボタン410として下端の拡張ボタン410をUI画像生成部309が表示してもよいし、右側の拡張ボタン410と下端の拡張ボタン410の両方を表示してもよい。
【0097】
図13に示すように、縮小ボタン411の押下により描画オブジェクト処理部308が枠402を縮小することができる。
【0098】
図13は、縮小ボタン411の押下に応じて縮小される枠402を説明する図である。
図13(a)は
図12(b)と同じであるが、手書きデータの右端にスペース405が生成された状態を示す。
【0099】
本実施例のUI画像生成部309は、枠402が拡張されると、縮小ボタン411を表示する。そして、縮小ボタン411が押下されると、描画オブジェクト処理部308は、枠402を拡張前のサイズに縮小する。縮小方法は実施例1と同様でよい。
【0100】
なお、下端に枠402が拡張された場合、UI画像生成部309は下端の拡張を元に戻す縮小ボタン411をUI画像生成部309が表示してよい。UI画像生成部309は、下端の拡張を元に戻す縮小ボタン411と右端の拡張を元に戻す縮小ボタン411の両方を表示してもよい。
【0101】
<表示装置が枠を拡張する処理手順>
図14は、表示装置2が拡張ボタン410の押下に応じて枠402を拡張する手順を説明するフローチャート図の一例である。なお、
図14の説明では主に
図8との相違を説明する。
【0102】
ステップS11、S12、S13はそれぞれ
図8のステップS1、S2,S3と同様の処理である。
【0103】
ステップS13において、枠402内のスペースが閾値以下と判断された場合、UI画像生成部309は枠402の拡張を行うための拡張ボタン410の表示を行う(S14)。
【0104】
描画オブジェクト処理部308は、ユーザーにより拡張ボタン410が押下されたか否かを判断する(S15)。イベント振分部303は座標検知部302が検知した入力手段291の座標が拡張ボタン410に重畳するので、操作処理部304にUI操作のイベントを振り分ける。操作処理部304は拡張ボタン410が押下されたので、描画オブジェクト処理部308に枠402の拡張を要求する。
【0105】
ステップS15で拡張ボタン410が押下されたと判断された場合、描画オブジェクト処理部308が枠402の拡張を行う(S16)。ステップS16における枠402の拡張処理は
図8のS4と同様でよい。描画オブジェクト処理部308は、右方向(手書き方向)のみに枠402を拡張してもよいし、下方向(手書き方向に対し垂直下向き方向)に枠402を拡張してもよい。
【0106】
更に、UI画像生成部309は拡張ボタン410を消去し、枠402の縮小を行うための縮小ボタン411を表示する(S17)。
【0107】
ステップS18のユーザーによる手書き終了したかどうかの判断方法は、
図8のステップS5と同様でよい。ステップS18において手書き継続中と判断される場合、処理はステップS11に戻り処理を継続する。
【0108】
ステップS18において手書き終了したと判断された場合、描画オブジェクト処理部308は枠402の縮小を行うための縮小ボタン411がユーザーによって押下されたかどうかを判断する(S19)。イベント振分部303は座標検知部302が検知した入力手段291の座標が縮小ボタン411に重畳するので、操作処理部304にUI操作のイベントを振り分ける。操作処理部304は縮小ボタン411が押下されたので、描画オブジェクト処理部308に枠402の縮小を要求する。
【0109】
ステップS19において縮小ボタン411が押下されていないと判断された場合、描画オブジェクト処理部308は何もせずに処理を終了する。この場合、縮小ボタン411は表示された状態を継続してもよいし、一定時間後に消去されてもよい。
【0110】
ステップS19において、縮小ボタン411が押下されたと判断された場合、描画オブジェクト処理部308は枠402の縮小処理を行う(S20)。ステップS20における枠402の縮小処理は、
図8のステップS6における縮小処理と同様であり、ステップS1で拡張された枠402を元に戻す処理である。
【0111】
なお、
図14では処理の流れを示すためにステップS15やステップS19で拡張ボタン410又は縮小ボタン411の押下が判断されている。しかし、描画オブジェクト処理部308が、ユーザーによる拡張ボタン410又は縮小ボタン411の押下を非同期的に判断する形態にして、押下されたタイミングで即時に枠402の拡張や縮小を実行する形態としてもよい。
【0112】
<主な効果>
本実施例の表示装置2によれば、ユーザーが拡張ボタン410を押下すると枠を拡張でき、縮小ボタン411を押下すると枠を拡張に前のサイズに戻すことができる。
【実施例3】
【0113】
以下の実施例では表示装置2の別の構成例について説明する。
【0114】
<<表示装置の別の構成例1>>
本実施形態の表示装置2は大型のタッチパネルを有するものとして説明されているが、表示装置2はタッチパネルを有するものに限られない。
【0115】
図15は、表示装置2の他の構成例を示す図である。
図15では、通常のホワイトボード452の上辺にプロジェクター451が設置されている。このプロジェクター451が表示装置2に相当する。通常のホワイトボード452とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
【0116】
プロジェクター451は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード452に投影できる。この映像は、無線又は有線で接続されたPCから送信されてもよいし、プロジェクター451が記憶していてもよい。
【0117】
ユーザーは専用の電子ペン2501を使ってホワイトボード452に手書きする。電子ペン2501は、ユーザーが手書きのためにホワイトボード452に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター451はカメラを有しており、発光部を撮像して画像を解析し電子ペン2501の方向を特定する。また、電子ペン2501は発光と共に音波を発信しており、プロジェクター451は音波の到達時間により距離を算出する。プロジェクター451は、方向と距離により電子ペン2501の位置を特定できる。電子ペン2501の位置には手書きされたデータが描画(投影)される。
【0118】
プロジェクター451はメニュー454を投影するので、ユーザーが電子ペン2501でボタンを押下すると、プロジェクター451が電子ペン2501の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン455が押下されると、ユーザーが手書きした手書きされたデータ(座標点列)がプロジェクター451で保存される。プロジェクター451は、予め定められたサーバー453又はUSBメモリ2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー454は表示されなくてもよい。
【実施例4】
【0119】
<<表示装置の別の構成例2>>
図16は、表示装置2の他の構成例を示す図である。
図16の例では、表示装置2が、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
【0120】
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
【0121】
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し(検出方法は
図15と同様でよい)、端末装置600へ送信する。
【0122】
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力される手書きデータの画像データを生成し、画像投影装置700Aによって手書きデータの画像をスクリーン800に描画させる。
【0123】
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力された手書データの画像とを合成した重畳画像を示す重畳画像データを生成する。
【実施例5】
【0124】
<<表示装置の別の構成例3>>
図17は、表示装置2の構成例を示す図である。
図17の例では、表示装置2が、端末装置600と、ディスプレイ800Aと、ペン動作検出装置810Aとを有する。
【0125】
ペン動作検出装置810Aは、ディスプレイ800Aの近傍に配置され、ディスプレイ800A上に、電子ペン820Aが示している点を示す座標情報を検出し(検出方法は
図15と同様でよい)、端末装置600へ送信する。なお、
図17の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
【0126】
端末装置600は、ペン動作検出装置810Aから受信した座標情報に基づき、電子ペン820Aによって入力される手書データの画像の画像データを生成し、ディスプレイ800Aに表示させる。
【実施例6】
【0127】
<<表示装置の別の構成例4>>
図18は、表示装置2の構成例を示す図である。
図18の例では、表示装置2が、端末装置600と、画像投影装置700Aとを有する。
【0128】
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。座標情報は、スクリーン800に形成された微小な位置情報を電子ペン820Bが読み取ってもよいし、スクリーン800から座標情報を受信してもよい。
【0129】
そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力される手書データの画像の画像データを生成し、画像投影装置700Aに手書データの画像を投影させる。
【0130】
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820Bによって入力された手書データの画像とを合成した重畳画像を示す重畳画像データを生成する。
【0131】
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。
【0132】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0133】
例えば、本実施形態では、手書きデータの入力を主に説明したが、描画オブジェクト処理部308は手書きデータを文字認識することができる。文字認識のタイミングでスペースの有無や枠の拡張を表示装置2が行ってもよい。
【0134】
また、本実施形態では、電子黒板として使用できる表示装置を説明したが、表示装置は画像を表示できればよく、例えばデジタルサイネージなどでもよい。また、ディスプレイでなくプロジェクターが表示データを表示してもよい。この場合、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、表示装置2は、ペン先の座標を超音波により検出してもよい。ペンは発光と共に超音波を発信しており、表示装置2は超音波の到達時間により距離を算出する。方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークとしてプロジェクターが描画(投影)する。
【0135】
また、本実施形態では電子黒板を一例として説明したが、タッチパネルを有する情報処理装置であれば好適に適用できる。電子黒板と同様の機能を有する装置を、電子ホワイトボード、電子情報ボード、インタラクティブボードなどともいう。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。
【0136】
また、
図5などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0137】
また、表示装置2が単体で本実施形態の機能を有する場合を説明したが、表示装置2の機能をサーバーが提供してもよい。この場合、表示装置2とサーバーがネットワークを介して通信する。表示装置2は手書きデータを表示すると共にサーバーに送信し、サーバーが文字認識や表機能などを提供する。
【0138】
また、本実施形態において、比較の対象として閾値が例示されていたとしても閾値は例示された値には限定されない。このため、本実施形態では、全ての閾値に関し、閾値未満と閾値以下という記載は同等の意味を持ち、閾値超過と閾値以上という記載は同等の意味を持つ。例えば、閾値を11とした場合の閾値未満という記載は閾値が10である場合の閾値以下と同等の意味を持つ。また、閾値を10とした場合の閾値超過という記載は閾値が11である場合の閾値以上と同等の意味を持つ。
【0139】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0140】
なお、ストローク処理部306は受付手段の一例である。文字サイズ算出部307は算出手段の一例である。描画オブジェクト処理部308は制御手段の一例である。UI画像生成部309は表示制御手段の一例である。
【符号の説明】
【0141】
2 表示装置
【先行技術文献】
【特許文献】
【0142】