(第一の実施形態)
以下に図面を参照して、本実施形態について説明する。図1は、電子黒板について説明する図である。
本実施形態の電子黒板200は、近距離通信回路219、電源スイッチ222、ディスプレイ280、カメラ260を有する。電子黒板200は、電源スイッチ222が押下されると、後述する表示制御部が、ディスプレイ280に、電子ペンやユーザの指によって描画が可能な描画画面を表示させる表示部である。
また、本実施形態の電子黒板200は、ディスプレイ280に、電子ペンやユーザの指によって入力されたストローク画像や、オブジェクトを表示させる。
ストローク画像とは、ユーザのストロークによって描画される画像である。ストロークとは、電子黒板200の有するタッチパネルに電子ペンやユーザの指等の先端を押付け、そのままタッチパネル上を移動させた後、タッチパネルからペン等の先端を離す、という一連の操作を意味する。
オブジェクトとは、コンピュータ上で操作や処理の対象となる何らかの実体を示す。具体的には、例えば、オブジェクトは、ディスプレイ280上でアイコンなどの形で表示されるデータ集合や操作要素、個々の図形等を含む。また、Microsoft Office(登録商標)のアプリケーションでは、文書に挿入できる図表やワードアート等がオブジェクトと呼ばれている。また、本実施形態のオブジェクトには、例えば、文字に加え、気持ちやメッセージをイラストで表したスタンプ画像を含む。
本実施形態の電子黒板200は、ディスプレイ280において、オブジェクトと重ねて描画されたストローク画像に対しては、ストローク画像上において消去するためのタッチ操作が1度検出されれば、このストローク画像を消去する。また、電子黒板200は、オブジェクトに対しては、電子ペンやユーザの指等の先端の移動の軌跡が、オブジェクトを複数回通り過ぎたことが検出された場合に、オブジェクトを消去する。
以下に、図2を参照して、ストローク画像とオブジェクトの消去について説明する。図2は、ストローク画像とオブジェクトの消去の概要を説明する図である。
図2に示すオブジェクトsp1とストローク画像st1とは、ディスプレイ280において、重ねられて描画されている。ストローク画像st1は、オブジェクトsp1が描画された領域内(オブジェクトsp1の描画領域内)に描画されている。
また、図2の例では、電子黒板200は、ディスプレイ280から画像を消去するモードとされている。
また、図2では、ユーザが、電子ペン等によって、点P1にペンダウンし、点P2、点P3を経由して、点P4でペンアップする操作を行ったとする。
この場合、本実施形態の電子黒板200では、電子ペンの先端の座標がオブジェクトsp1と重なり始める点P11となった場合には、オブジェクトsp1もストローク画像st1も消去されない。
また、本実施形態では、電子ペンの先端の座標が、ストローク画像st1と重なる点P12となった場合に、ストローク画像st1のみを消去する。つまり、電子黒板200は、ストローク画像に電子ペンの先端を重ねる操作を、ストローク画像を消去するための操作と判定する。
このとき、オブジェクトsp1は消去されない。したがって、ディスプレイ280には、オブジェクトsp1のみが描画された状態となる。
電子ペンの先端の座標は、オブジェクトsp1が描画領域外である点P2まで到達した後、再びオブジェクトsp1が描画領域内を通って点P3へ到達し、さらにオブジェクトsp1の描画領域内を通り、オブジェクトsp1の描画領域外となる点P13へ到達する。
このとき、電子黒板200は、この一連の電子ペンの先端の座標の軌跡を、オブジェクトsp1に対する消去の操作と判定し、オブジェクトsp1を消去する。
つまり、本実施形態では、電子ペンの先端の座標が、ストローク画像上に1度重なると、このストローク画像を消去する。
そして、本実施形態では、電子ペンの先端の座標の軌跡が、複数回オブジェクトの描画領域を通り過ぎた場合に、オブジェクトを消去する。言い換えれば、本実施形態では、電子ペンの先端の座標が、オブジェクトの描画領域外の座標からオブジェクトの描画領域内の座標となることを複数回繰り返した場合に、オブジェクトを消去する。
このように、本実施形態では、ストローク画像(第一の画像)に対する消去の操作(第一の操作)と、オブジェクト(第二の画像)に対する消去の操作(第二の操作)とを異ならせる。本実施形態では、これによって、ストローク画像に対する消去の操作を行った場合に、ストローク画像と重なって描画されたオブジェクトまで消去されることがなく、ストローク画像のみを消去できる。また、本実施形態では、オブジェクトを消去する操作を行った場合には、オブジェクトのみを消去することができる。
したがって、本実施形態によれば、画像の消去を容易にでき、操作性を向上させることができる。
以下に、図3を参照して、本実施形態の電子黒板200のハードウェア構成について説明する。図3は、電子黒板のハードウェア構成の一例を示す図である。図3に示されているように、電子黒板2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、SSD(Solid State Drive)204、ネットワークI/F205、及び、外部機器接続I/F(Interface)206を備えている。
これらのうち、CPU201は、電子黒板2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。SSD204は、電子黒板用のプログラム等の各種データを記憶する。
ネットワークI/F205は、通信ネットワークとの通信を制御する。外部機器接続I/F206は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリ230、外付け機器(マイク240、スピーカ250、カメラ260)である。
また、電子黒板200は、キャプチャデバイス211、GPU212、ディスプレイコントローラ213、接触センサ214、センサコントローラ215、電子ペンコントローラ216、近距離通信回路219、及び近距離通信回路219のアンテナ219a、電源スイッチ222及び選択スイッチ類223を備えている。
これらのうち、キャプチャデバイス211は、外付けのPC(Personal Computer)270のディスプレイに対して映像情報を静止画または動画として表示させる。GPU(Graphics Processing Unit)212は、グラフィクスを専門に扱う半導体チップである。
GPU212は、CPU201に内蔵されてよいし、CPU201と統合されていてもよい。
ディスプレイコントローラ213は、GPU212からの出力画像をディスプレイ280等へ出力するために画面表示の制御及び管理を行う。接触センサ214は、ディスプレイ280上に電子ペン290やユーザの手H等の入力手段が接触したことを検知する。センサコントローラ215は、接触センサ214の処理を制御する。
接触センサ214は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ280の上側両端部に設置された2つ受発光装置が、ディスプレイ280に平行して複数の赤外線を放射し、ディスプレイ280の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ214は、物体によって遮断された2つの受発光装置が放射した赤外線のIDをセンサコントローラ215に出力し、センサコントローラ215が、物体(入力手段)の接触位置である座標位置を特定する。
電子ペンコントローラ216は、電子ペン290と通信することで、ディスプレイ280へのペン先のタッチやペン尻のタッチの有無を判断する。近距離通信回路219は、NF(Near Field Communication)やBluetooth(登録商標)等の通信回路である。電源スイッチ222は、電子黒板2の電源のON/OFFを切り換えるためのスイッチである。選択スイッチ類223は、例えば、ディスプレイ280の表示の明暗や色合い等を調整するためのスイッチ群である。
更に、電子黒板2は、バスライン210を備えている。バスライン210は、図2に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
尚、接触センサ214は、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体(入力手段)が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。また、電子ペンコントローラ216が、電子ペン290のペン先及びペン尻だけでなく、電子ペン290のユーザが握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
また、本実施形態では、カメラ260は、ディスプレイ280に電子ペン290や手Hが接近したことを検出する近接センサの一例としたが、電子黒板200は、近接センサとして、投影型静電容量方式タッチパネルや赤外線センサ等を有していても良い。
次に、図4を参照して、本実施形態の電子黒板200の機能構成について説明する。図4は、電子黒板の機能構成を説明する図である。
本実施形態の電子黒板200は、ページ記憶部320、入力部341、ページ生成部342、表示制御部343、座標取得部344、操作検知部345、モード判定部346、消去判定部347を有する。
本実施形態のページ記憶部320は、例えば、RAM203、SSD204、またはUSBメモリ230によって構築される。また、本実施形態の入力部341、ページ生成部342、表示制御部343、座標取得部344、操作検知部345、モード判定部346、消去判定部347は、図3に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能、または機能する手段である。
ページ記憶部320は、電子黒板200のディスプレイ280に表示されるページデータが記憶される。ページ記憶部320に記憶されるページデータは、例えば、ディスプレイ280において描画されたストローク画像を示すストローク画像データであっても良いし、外部から取得した画像データであっても良い。また、ページデータは、ディスプレイ280に表示された画像と、ディスプレイ280に入力されたストローク画像とを重畳した重畳画像の画像データであっても良い。ディスプレイ280に表示される画像データの詳細は後述する。
入力部341は、ディスプレイ280に対して手書き入力された文字や画像を示すストローク画像や、ディスプレイ280に設けられたタッチパネルに表示された画像の画像データ等を取得する。
また、入力部341は、カメラ260により撮影された動画データ等を取得する。本実施形態では、動画データは、画像データに含まれる。また、入力部341は、電子黒板200に対する各種の指示を受け付ける。また、入力部341は、PC270等から出力され、電子黒板200に入力される入力画像データ等を取得する。
ページ生成部342は、ディスプレイ280に表示された1ページの画像(表示画像)の画像データを取得する。また、ページ生成部342は、1ページの画像にストローク画像が入力された場合には、ストローク画像を示すストローク画像データを取得する。
具体的には、ページ生成部342は、ディスプレイ280に入力された入力画像やストローク画像等を重畳させた重畳画像の画像データを取得し、ページ記憶部320に格納する。尚、ページ生成部342は、ディスプレイ280に対してストローク画像が入力されていない場合には、ディスプレイ280に表示された画像を画像データとする。
また、ページ生成部342は、ディスプレイ280に対してストローク画像が入力された場合には、ストローク画像を示すストローク画像データを画像データとして、ページ記憶部320に格納する。
また、ページ生成部342は、ディスプレイ280に対して、オブジェクトが入力された場合には、オブジェクトを示す画像データを、ページデータと対応付けて
ページ記憶部320に格納する。
表示制御部343は、画像データをディスプレイ280に表示させる。また、表示制御部343は、ディスプレイ280に対する各種の表示を制御する。例えば、表示制御部343は、ディスプレイ280に表示された画像から、消去判定部347の判定結果に応じてストローク画像やオブジェクトを消去する。
座標取得部344は、ディスプレイ280に対して電子ペン290の先端やユーザの指先等が接触した点の座標を取得する。
操作検知部345は、座標取得部344によって検知される座標に基づき、ディスプレイ280に対して行われた操作を検知する。具体的には、操作検知部345は、タッチダウン操作、タッチムーブ操作、タッチアップ操作等を検知する。
タッチダウン操作とは、電子ペン290の先端や、手H等が接触センサ214に検知されることである。以下の説明では、接触センサ214によって接触が検知される対象となる電子ペン290の先端や手H等の入力手段を、検知対象と呼ぶ場合がある。
タッチムーブ操作は、タッチダウン操作において検知された検知対象の座標が移動することである。座標が移動するとは、時刻tnに検出された座標と時刻tn+1に検出された座標が所定範囲内(時刻tnから時刻tn+1の間に手Hなどの検知対象が移動しうる所定距離)にあることをいう。
タッチアップ操作は、タッチダウン操作又はタッチムーブ操作であると判定された検知対象が接触センサ214に検知されなくなることである。
モード判定部346は、操作検知部345によって検知された操作に基づいて操作モードを判定する。
より具体的には、モード判定部346は、操作検知部345によって検知されたタッチダウン操作における検知対象の座標が、ディスプレイ280に表示された消去モード選択ボタンの内部であった場合に、操作モードが画像の消去モードとされたものと判定する。また、モード判定部346は、ディスプレイ280に対する、電子ペン290の先端とは反対側の他端(ペン尻)の接触を検知した場合に、操作モードが画像の消去モードとされたものと判定しても良い。
消去判定部347は、モード判定部346によって消去モードであると判定された場合に、座標取得部344によって検知される検知対象の座標と、操作検知部345によって検知される操作と、に基づき、ストローク画像やオブジェクトを消去するか否かを判定する。
言い換えれば、本実施形態の消去判定部347は、座標取得部344によって取得された座標に基づき、操作検知部345によって検知された操作が、ストローク画像を消去する操作であるか、又は、オブジェクトを消去する操作であるかを判定する。
消去判定部347は、検知された操作が、ストローク画像を消去する操作である場合、表示制御部343によって、操作の対象となったストローク画像をディスプレイ280から消去させる。また、消去判定部347は、検知された操作が、オブジェクトを消去する操作である場合、表示制御部343によって、操作の対象となったオブジェクトをディスプレイ280から消去させる。
つまり、本実施形態の消去判定部347は、座標取得部344が取得した座標に基づき、操作検知部345が検知した操作が、ストローク画像(第一の画像)を消去する操作(第一の操作)であるか、オブジェクト(第二の画像)を消去する操作であるか否かを判定する。
本実施形態の表示制御部343は、消去判定部347による判定結果が、第一の操作であった場合には、第一の画像であるストローク画像を消去し、判定結果が、第二の操作であった場合には、第二の画像であるオブジェクトを消去する。
次に、図5を参照して、ディスプレイ280に表示される画像について説明する。図5は、電子黒板のディスプレイに表示される画像について説明する図である。
図5(A)は、重畳される画像を説明する図であり、図5(B)は、重畳画像の一例を示す図である。
本実施形態の電子黒板200において、表示制御部343は、入力部341により取得される入力画像や、ストローク画像、UI(User Interface)画像及び背景画像を予め指定されたレイアウトにしたがって重畳して表示させる。
尚、UI画像とは、予め設定された画像である。また、背景画像は、例えば、無地の画像やグリッド線を含む画像等であり、重畳画像に含まれるメディアデータである。メディアデータとは、背景画像をディスプレイ280に表示させるためのデータである。
表示制御部343は、図5に示すように、UI画像を表示させるためのレイヤ41、オブジェクトを表示させるためのレイヤ42、ストローク画像を表示させるためのレイヤ43、PCから出力されて電子黒板200に入力される入力画像を表示させるレイヤ44、背景画像を表示させるためのレイヤ45を有する。
本実施形態の表示制御部343は、電子黒板200のユーザからディスプレイ280を見たとき、レイヤ41が1層目、レイヤ42が2層目、レイヤ43が3層目、レイヤ44が4層目、レイヤ45が5層目となるように、各レイヤを重畳させる。
そして、表示制御部343は、UI画像の画像データ(UI画像データ)、オブジェクトを示す画像データ、ストローク画像データ、入力画像の画像データ(入力画像データ)、背景画像の画像データ(背景画像データ)を合成することで、5層の重畳画像40の画像データを生成する。
つまり、本実施形態の重畳画像とは、ディスプレイ280の各レイヤに表示された画像を合成した画像である。
次に、図6を参照して、本実施形態のページデータについて説明する。図6は、ページデータを説明する図である。
本実施形態の電子黒板200のページ生成部342は、図6に示すような構造のページデータを生成して、ページ記憶部320に格納しても良い。
本実施形態のページデータは、情報の項目として、ページデータID、開始時刻、終了時刻、ストロークID、オブジェクトID、メディアデータIDを有する。
項目「開始時刻」の値は、ページの表示が開始された時刻を示す。項目「終了時刻」の値は、ページデータの更新が終了した時刻を示す。項目「ストロークID」の値は、ストローク画像の入力により生成されたストローク配列データを識別するための識別情報を示す。本実施形態のストローク配列データは、特定の形状を示す点群の座標情報を含む。つまり、本実施形態のストローク配列データが、一画毎の軌跡を示す点群であるストローク情報である。
項目「オブジェクトID」の値は、オブジェクトを識別するための識別情報を示す。オブジェクトIDは、例えば、オブジェクトが描画される度に、各オブジェクトに付与されても良い。オブジェクトIDは、オブジェクトの描画領域を示す情報を含むオブジェクト領域情報と対応付けられる。
項目「メディアデータID」の値は、メディアデータを識別するための識別情報を示す。メディアデータとは、背景画像をディスプレイ280に表示させるためのデータである。
このように、本実施形態では、ページデータを保存する際に、入力されたストローク画像をディスプレイ280に表示させるためのストローク配列データを、ページデータと対応付ける。
また、本実施形態では、ストローク画像が入力されなかった場合には、ページデータと対応付けられるストローク配列データが存在しないため、ページデータにおける項目「ストローク配列データID」の値が空欄となる。
次に、図7と図8を参照して、ストローク配列データと、オブジェクト領域情報について説明する。図7は、ストローク配列データの一例を示す図である。
本実施形態のストローク配列データ320−1は、情報の項目として、ページIDと、ストロークIDと、座標群とを有し、これらは対応付けられている。項目「座標群」の値は、特定の形状を示す点群の座標情報である。
図8は、オブジェクト領域情報の一例を示す図である。オブジェクト領域情報320−2は、情報の項目として、ページID、オブジェクトID、座標、幅、高さ、カウンタを有する。
項目「座標」の値は、オブジェクトの描画領域において基準とされる点の座標を示す。具体的には、項目「座標」の値は、オブジェクトの外接矩形の左上の頂点の座標であっても良い。
項目「幅」の値は、オブジェクトの描画領域の幅を示し、項目「高さ」の値は、オブジェクトの描画領域の高さを示す。
項目「カウンタ」の値は、モード判定部346によって消去モードと判定された場合に、検知対象の座標が、オブジェクトの描画領域内を通った回数を示す。本実施形態では、項目「カウンタ」の値が、所定の閾値以上となったときに、対応するオブジェクトIDによって特定されるオブジェクトが消去されても良い。
次に、図9を参照して、本実施形態の電子黒板200の動作について説明する。図9は、第一の実施形態の電子黒板の動作を説明するフローチャートである。
本実施形態の電子黒板200は、操作検知部345により、タッチダウン操作を検知したか否かを判定する(ステップS901)。
ステップS901において、タッチダウン操作が検知されない場合、電子黒板200は、タッチダウン操作が検知されるまで待機する。
ステップS901において、タッチダウン操作が検知されると、電子黒板200は、モード判定部346により、操作モードが画像を消去する消去モードであるか否かを判定する(ステップS902)。ステップS902において、消去モードでない場合、電子黒板200は、操作に応じた他の処理を実行し(ステップS903)、ステップS901へ戻る。
ステップS902において、消去モードである場合、電子黒板200は、操作検知部345により、タッチアップ操作を検知したか否かを判定する(ステップS904)。
ステップS904において、タッチアップ操作が検知された場合、電子黒板200は、後述するステップS911へ進む。
ステップS904において、タッチアップ操作が検知されない場合、電子黒板200は、ステップS905とステップS907へ進む。尚、ステップS904において、タッチアップ操作が検知されない場合とは、タッチダウン操作もしくはタッチムーブ操作が検知されることを示す。
ステップS904において、タッチアップ操作が検知されない場合、電子黒板200は、消去判定部347により、ディスプレイ280において、検知対象によるタッチダウン操作が検知された座標が、ディスプレイ280に描画されたストローク画像と重なっているか否かを判定する(ステップS905)。
以下の説明では、検知対象のタッチが検知された座標を、タッチ座標と呼ぶ。
具体的には、消去判定部347は、座標取得部344によって検知されたタッチ座標を取得する。続いて、消去判定部347は、ページ記憶部320に格納されたストローク配列データ320−1を参照し、ストローク配列データ320−1に含まれる座標群に、タッチ座標と一致する座標があるか否かを判定している。
そして、消去判定部347は、ストローク配列データ320−1に含まれる座標群に、タッチ座標と一致する座標が存在する場合に、タッチ座標がストローク画像と重なるものと判定する。
ステップS905において、タッチ座標がストローク画像と重なっていた場合、電子黒板200は、表示制御部343によって、タッチ座標と重なっているストローク画像をディスプレイ280から消去し(ステップS906)、ステップS904へ戻る。
ステップS905において、タッチ座標がストローク画像と重なっていない場合、電子黒板200は、ステップS901へ戻る。
また、ステップS904において、タッチアップ操作が検知されない場合、電子黒板200は、消去判定部347により、タッチ座標がオブジェクトと重おり、且つ、直前のタッチ座標がオブジェクトと重なっていないか否かを判定する(ステップS907)。
言い換えれば、消去判定部347は、ステップS907において、検知対象の座標が、オブジェクトの描画領域外から、オブジェクトの描画領域内へ移動したか否かを判定している。
具体的には、消去判定部347は、オブジェクト領域情報320−2を参照し、オブジェクトの描画領域内に、座標取得部344によって検知されたタッチ座標を含むオブジェクトが存在するか否かを判定する。
また、消去判定部347は、該当するオブジェクトが存在する場合に、オブジェクト領域情報320−2を参照し、座標取得部344が直前に検知したタッチ座標が、該当するオブジェクトの描画領域内に含まれるか否かを判定する。
そして、消去判定部347は、直前に検知したタッチ座標が、該当するオブジェクトの描画領域内に含まれない場合、タッチ座標がオブジェクトと重なり、且つ、直前のタッチ座標がオブジェクトと重なっていない、という条件を満たすものと判定する。
また、消去判定部347は、描画領域内にタッチ座標を含むオブジェクトが存在しない場合や、描画領域内に座標取得部344が直前に検知したタッチ座標を含むオブジェクトが存在する場合には、タッチ座標がオブジェクトと重おり、且つ、直前のタッチ座標がオブジェクトと重なっていない、という条件を満たさないものと判定する。
ステップS907において、タッチ座標がオブジェクトと重おり、且つ、直前のタッチ座標がオブジェクトと重なっていない、という条件を満たさない場合、電子黒板200は、ステップS904へ戻る。
ステップS907において、タッチ座標がオブジェクトと重おり、且つ、直前のタッチ座標がオブジェクトと重なっていない、という条件を満たす場合、消去判定部347は、オブジェクト領域情報320−2を参照し、タッチ座標を描画領域内に含むオブジェクトのカウンタの値をインクリメントする(ステップS908)。
続いて、消去判定部347は、インクリメントしたカウンタの値が、所定の閾値以上であるか否かを判定する(ステップS909)。
言い換えれば、消去判定部347は、検知対象の座標が、所定の閾値と同じ回数。オブジェクトの描画領域外から、オブジェクトの描画領域内へ移動したか否かを判定している。つまり、消去判定部347は、検知対象の座標の軌跡が、オブジェクトの描画領域を、閾値と同じ回数を通り過ぎたか否かを判定している。尚、所定の閾値は、電子黒板200に対して設定された値であっても良い。
ステップS909において、カウンタの値が所定の閾値以上でない場合、つまり、カウンタの値が所定の閾値未満である場合、電子黒板200は、ステップS904へ戻る。
ステップS909において、カウンタの値が所定の閾値以上である場合、表示制御部343は、タッチ座標を描画領域内に含むオブジェクトを消去し(ステップS910)、ステップS904へ戻る。
ステップS904において、操作検知部345がタッチアップ操作を検知した場合、消去判定部347は、オブジェクト領域情報320−2において、削除されたオブジェクトと対応するカウンタをリセットし(ステップS911)、処理を終了する。
尚、このとき、電子黒板200は、オブジェクト領域情報320−2から、ステップS910で消去されたオブジェクトのオブジェクト領域情報を削除しても良い。
以下に、図10及び図11を参照して、ストローク画像とオブジェクトの消去について、具体的に説明する。
図10は、オブジェクトの消去について説明する図である。図10では、電子黒板200のディスプレイ280に描画された、オブジェクトsp10と、オブジェクトsp20とを示している。また、図10の例では、オブジェクトsp20の描画領域は、オブジェクトsp10の描画領域内に含まれる。
図10において、操作検知部345によりタッチダウン操作が検知されたときのタッチ座標が示す位置が点P21であったとする。この場合、点P21は、ストローク画像とは重なっていない。また、点P21から、検知対象のタッチ座標が移動し、オブジェクトsp20の描画領域外からオブジェクトsp20の描画領域内に移動した場合、消去判定部347は、オブジェクト領域情報320−2において、オブジェクトsp20と対応するカウンタの値をインクリメントし、「1」とする。
次に、消去判定部347は、タッチ座標が点P22まで移動し、点P22から折り返して、検知対象のタッチ座標が、再び、オブジェクトsp20の描画領域外からオブジェクトsp20の描画領域内に移動した場合に、オブジェクトsp20と対応するカウンタの値をインクリメントし、「2」とする。
このように、図10の例では、タッチ座標が点21から点22、点22から点23、点23から点24と移動する度に、タッチ座標は、オブジェクトの描画領域外から描画領域内へ移動することになり、カウンタがインクリメントされる。
したがって、検知対象の座標の移動の軌跡102は、オブジェクトsp20の描画領域を3回通り過ぎたことになる。ここで、所定の閾値を「3」とした場合、検知対象の座標の移動の軌跡102は、所定の閾値以上、オブジェクトsp20の描画領域を通り過ぎたことになるため、オブジェクトsp20は消去される。
尚、この場合、軌跡102は、オブジェクトsp10の描画領域を通り過ぎていない。したがって、軌跡102によって消去されるオブジェクトは、オブジェクトsp20のみであり、オブジェクトsp10は消去されない。
また、図10において、操作検知部345によりタッチダウン操作が検知されたときのタッチ座標が点P31であったとする。そして、タッチ座標が点31から点32、点32から点33、点33から点34と移動したとする。
この場合、タッチ座標の移動の軌跡101は、3回オブジェクトsp10を通り過ぎることになる。したがって、オブジェクトsp10は、消去される。尚、軌跡101は、オブジェクトsp20の描画領域を通り過ぎていないため、オブジェクトsp20は消去されず、オブジェクトsp10のみが消去される。
尚、図10において、オブジェクトsp10とオブジェクトsp20の両方を同時に消去する場合には、タッチ座標の移動の軌跡が、オブジェクトsp10とオブジェクトsp20の両方を通り過ぎるようにすれば良い。
このように、本実施形態によれば、オブジェクトが重ねられて描画されていた場合でも、特定のオブジェクトを消去することができる。
図11は、ストローク画像とオブジェクトの消去について説明する図である。図11では、電子黒板200のディスプレイ280に描画された、オブジェクトsp11と、オブジェクトsp12とを示しており、オブジェクトsp11の描画領域と、オブジェクトsp21の描画領域とは、一部が重なっている。
また、図11の例では、オブジェクトsp11の描画領域内に、ストローク画像「abc」が描画され、オブジェクトsp21の描画領域内には、ストローク画像「defgh」が描画されている。
図11において、操作検知部345によりタッチダウン操作が検知されたときのタッチ座標が点P41であったとする。この場合、点P41は、ストローク画像とは重なっていない。また、消去判定部347は、タッチ座標が、点P41から移動して、オブジェクトsp11の描画領域内に入ると、オブジェクト領域情報320−2におけるオブジェクトsp1のカウンタをインクリメントする。
また、タッチ座標がさらに点P42へ移動した場合、タッチ座標は、オブジェクトsp11の描画領域内に描画されたストローク画像「a」と重なる。したがって、ストローク画像「a」は、タッチ座標が点P42を示す位置となったときに、消去される。
続いて、タッチ座標が点P42から点P43へ移動し、点P43から折り返して再びオブジェクトsp11の描画領域内に入ると、消去判定部347は、オブジェクト領域情報320−2におけるオブジェクトsp1のカウンタをインクリメントする。
また、タッチ座標が、点P43から点P44まで移動すると、タッチ座標がストローク画像「c」と重なる。したがって、ストローク画像「c」は、タッチ座標が示す位置が点P44となったときに消去される。
また、タッチ座標が点P44から点P45へ移動し、さらに、点P45から点P46へ移動すると、タッチ座標の移動の軌跡111は、オブジェクトsp11の描画領域を3回通り過ぎたことになる。したがって、オブジェクトsp11は消去される。
このとき、オブジェクトsp11の描画領域内のストローク画像「b」と、オブジェクトsp12と、オブジェクトsp12の描画領域内のストローク画像は、消去されない。
また、操作検知部345によりタッチが検知されたときのタッチ座標が点P51であったとする。この場合、点P51は、ストローク画像とは重なっていない。
また、消去判定部347は、タッチ座標が、点P51から点P52、点P52から点P53、点P53から点P54と移動した場合、タッチ座標の移動の軌跡112は、オブジェクトsp12の描画領域内を所定の閾値以上通り過ぎたと判定する。したがって、オブジェクトsp12は消去される。
このとき、軌跡112は、ストローク画像と重なっていないため、オブジェクトsp12の描画領域内に描画されたストローク画像は消去されない。
さらに、操作検知部345によりタッチダウン操作が検知されたときのタッチ座標が点P61であり、点P61からタッチアップがされたとする。この場合、消去されるのは、点61と重なっていたストローク画像「e」である。したがって、この場合には、ストローク画像「e」のみが消去される。
このように、本実施形態によれば、ストローク画像を消去する際の操作と、オブジェクトを消去する際の操作とを異ならせる。言い換えれば、本実施形態によれば、タッチダウン後のタッチムーブ中にストローク画像に1回重なった場合に、このストローク画像を削除し、オブジェクトに複数回重なった場合にこのオブジェクトを削除する。
このため、本実施形態によれば、オブジェクトとストローク画像とが重なって描画されている場合であっても、ストローク画像とオブジェクトとをそれぞれ独立して、簡単な操作で消去することができ、操作性を向上させることができる。
(第二の実施形態)
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態では、オブジェクトを消去するための操作を、第一の実施形態に示す方法に限定しない点で、第一の実施形態と相違する。以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態と同様の符号を付与し、その説明を省略する。
図12は、第二の実施形態の電子黒板の動作を説明するフローチャートである。図12のステップS1201からステップS1204までの処理は、図9のステップS901からステップS904までの処理と同様であるから、説明を省略する。
ステップS1204において、タッチアップ操作が検知されない場合、電子黒板200は、消去判定部347により、ストローク画像を消去するための操作を受け付けたか否かを判定する(ステップS1205)。
ステップS1205において、ストローク画像を消去する操作を受け付けた場合、電子黒板200は、表示制御部343により、操作を受け付けたストローク画像を消去し(ステップS1206)、ステップS1204へ戻る。
ステップS1205において、ストローク画像を消去する操作を受け付けない場合、電子黒板200は、消去判定部347により、オブジェクトを消去するための操作を受け付けたか否かを判定する(ステップS1207)。ステップS1207において、オブジェクトを消去する操作を受け付けない場合、電子黒板200は、ステップS1204へ戻る。
ステップS1207において、オブジェクトを消去する操作を受け付けた場合、電子黒板200は、表示制御部343により、オブジェクトを消去し(ステップS1208)、ステップS1204へ戻る。
以下に、ストローク画像を消去する操作と、オブジェクトを消去する操作について説明する。
本実施形態では、例えば、タッチ座標が重なる回数によって、ストローク画像を消去する操作と、オブジェクトを消去する操作とを区別しても良い。
具体的には、例えば、描画されたストローク画像上を所定時間内に1回タッチすることを、ストローク画像を消去する操作(第一の操作)とし、描画されたオブジェクトを所定回数タッチすることを、オブジェクトを消去する操作(第二の操作)としても良い。所定時間は、例えば、予め設定された時間であって良い。
この場合、電子黒板200は、ステップS1201で検知したタッチ座標がストローク画像と重なる場合には、このストローク画像を消去する。そして、電子黒板200は、ストローク画像と重ならない場合には、タッチ座標がオブジェクトと重なるか否かを判定する。言い換えれば、電子黒板200は、タッチ座標がオブジェクトの描画領域内に含まれるか否かを判定する。
次に、電子黒板200は、タッチ座標がオブジェクトと重なる場合、電子黒板200は、このオブジェクトと重なるタッチ座標が、所定時間内に所定回数検知されたか否かを判定する。そして、電子黒板200は、オブジェクトの描画領域内において、所定時間内に所定回数のタッチ座標が検知された場合に、このオブジェクトを消去する。
このように、本実施形態によれば、ストローク画像を消去するための操作と、オブジェクトを消去するための操作とを異ならせることで、ストローク画像と、オブジェクトとをそれぞれ独立して消去できるようにする。
したがって、本実施形態によれば、オブジェクトとストローク画像とが重なって描画されていた場合であっても、それぞれを個別に消去することができ、操作性を向上させることができる。
また、本実施形態の電子黒板200は、サーバ装置と通信を行うシステムに含まれていても良い。
図13は、電子黒板を含む情報処理システムのシステム構成の一例を示す図である。情報処理システム500は、電子黒板(電子情報ボード)200と、サーバ装置550と、を有する。情報処理システム500において、電子黒板200とサーバ装置550とは、ネットワークを介して接続される。
本実施形態の情報処理システム500において、電子黒板200は、ページ記憶部320に格納されたページデータをサーバ装置550に送信し、サーバ装置550においてページデータを保存しても良い。この場合、電子黒板200の消去判定部347は、サーバ装置550に格納されたストローク配列データとオブジェクト領域情報とを参照してもよい。
尚、本実施形態の電子黒板200は、マイクによって集音した音声データや、各種のデータを取得したときの日時を、サーバ装置550に送信しても良い。
また、電子黒板200は、複数の端末装置と通信が可能であり、各端末装置から画像データや音声データを取得しても良い。この場合、電子黒板200に表示される画像は、複数の端末装置によって共有されても良く、電子黒板200は、複数の端末装置に共有される画面を表示させる共有端末となる。
次に、図14乃至図16を参照して、上述した情報処理システムの変形例について説明する。
図14は、情報処理システムの変形例を示す第一の図である。図14の例では、電子黒板200の代わりに、端末装置600、画像投影装置700、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700及びペン動作検出装置810と有線で接続されている。
画像投影装置700は、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストローク画像を示すストローク画像データを生成し、画像投影装置700によってストローク画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700に投影させている画像を示す重畳画像データを含むページデータを生成し、サーバ装置550に送信する。
図15は、情報処理システムの変形例を示す第二の図である。図15の例では、電子黒板200の代わりに、端末装置600とディスプレイ800Aと、ペン動作検出装置810とを有する。
ペン動作検出装置810は、ディスプレイ800Aの近傍に配置され、ディスプレイ800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。尚、図15の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成し、ディスプレイ800Aに表示させる。
また、本実施形態の端末装置600は、画像投影装置700に投影させている画像を示す重畳画像データを含むページデータを生成し、サーバ装置550に送信する。
図16は、情報処理システムの変形例を示す第三の図である。図16の例では、電子黒板200の代わりに、端末装置600と、画像投影装置700とを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストローク画像の画像データを生成し、画像投影装置700によって、スクリーン800上にストローク画像を投影させる。
また、端末装置600は、画像投影装置700に投影させている画像を示す重畳画像データを含むページデータを生成し、サーバ装置550に送信する。
以上のように、上述した各実施形態は、様々なシステム構成において適用することができる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
尚、本実施形態が適用される装置は、タッチ操作によって、オブジェクトを操作する機能を備えた表示装置であれば良く、電子黒板200に限定されにない。本実施形態が適用される装置は、例えば、ネットワーク家電、自動車(Connected Car)、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、ウェアラブルPC等であってもよい。
また、実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。
ある実施形態では、第1の装置は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、第2の装置は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
さらに、第1の装置および第2の装置は、図9に示す処理のステップを様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、第2の装置によって実行され得る。同様に、所定のユニットの機能は、第2の装置によって実行することができる。また、第1の装置と第2の装置の各要素は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。