以下に添付図面を参照して、情報共有システムおよび情報共有方法、ならびに、情報処理装置および情報処理方法の実施形態を詳細に説明する。
(第1の実施形態)
第1の実施形態について説明する。第1の実施形態は、電子黒板装置(以下、インタラクティブホワイトボード:IWBと呼ぶ)の表示において、IWBに描画された内容に対応して表示させるためのアイコン画像の表示制御方法に係る。
なお、IWBは、表示部を構成する表示デバイスとして例えばLCD(Liquid Crystal Display)を用い、接触された位置に応じた信号を出力する入力デバイスが表示部と一体的に構成されたタッチパネル構造を有する。すなわち、ユーザは、例えば表示部の表示に従いIWBの表示面を接触(タップ)することで、タップした位置に応じた処理をIWBに実行させることが可能となっている。
(第1の実施形態に係るスタンプ表示について)
図1は、第1の実施形態に係るIWBの表示部に表示される初期表示画面の例を示す。図1において、IWBの表示部における表示領域10の上部が描画領域11とされ、下部が各種アイコンが表示されるツールバー12とされている。ツールバー12は、描画領域11に対する処理を選択するためのシンボルとしてのアイコン画像20、21、22a〜22dおよび23が表示されている。
ツールバー12に表示される各アイコン画像のうち、アイコン画像20は、描画領域11に対して描画を行う際に選択する。例えば、ユーザは、アイコン画像20をタップして選択した後に描画領域11内を手指などでなぞることで、なぞった軌跡に従った画像を描画することができる。図2は、このようにして、アイコン画像20を選択して、描画領域11に対して画像を描画し、文字列によるオブジェクト30を形成した例を示す。
アイコン画像21は、描画領域11に描画された画像の一部を消去する際に選択する。例えば、アイコン画像21をタップして選択した後に、上述のオブジェクト30上を手指などでなぞることで、なぞった軌跡に沿ってオブジェクト30の部分が消去される。
画像は、例えば、描画領域11に定義される座標系を用いたSVG(Scalable Vector Graphics)形式で記述される。これに限らず、ビットマップを用いて画像を表現してもよい。
アイコン画像22a〜22dは、描画領域11に対して描画された内容に対してマーカを設定する。マーカには、所定の意味を持つ画像を用いることができる。ユーザは、例えばアイコン画像22a〜22dのうち所望のアイコン画像(例えばアイコン画像22aとする)をタップし、さらに、描画領域11内の所望の位置をタップすることで、描画領域11内のタップした位置にアイコン画像22aを表示させることができる。IWBは、この、アイコン画像22aを表示させるためにタップした位置を示す位置情報と、当該アイコン画像22aの種類を示す情報とを関連付けてメモリに記憶する。
図1の例では、アイコン画像22aは、「決定」を示す文字「決」が表示され、アイコン画像22bは、「未決」を示す文字「未」が表示されている。また、アイコン画像22cは、チェック項目を示し、チェックボックスが表示される。例えば、ツールバー12から選択され描画領域11に表示された、描画領域11上の当該アイコン画像22cをタップすることで、当該アイコン画像22cにおけるチェックマークの表示および非表示が切り替えられる。また、アイコン画像22dは、例えば注目すべき項目であることを示すために用いることができる。以下、特に記載の無い限り、これらアイコン画像22a〜22dを、スタンプ22a〜22dと呼ぶ。
アイコン画像23は、描画領域11の表示をスタンプマップ表示に切り替える。スタンプマップ表示については、後述する。
図3は、第1の実施形態に適用可能な描画領域11の座標系の例を示す。IWBは、描画可能な第1の領域として、例えばIWBの機能を実現するシステムが定義可能な最大サイズの領域を定義することができる。図3において、この最大サイズの領域に従った第1の領域である定義領域13が、座標(0,0)−座標(xmax,ymax)を対角とする矩形領域として示されている。
図3において、第2の領域としての窓領域14は、定義領域13に含まれ、且つ、定義領域13よりもサイズが小さい領域として定義される領域である。図3の例では、座標(x0,y0)を基点とする位置に、窓領域14が定義されている様子を示す。すなわち、窓領域14は、定義領域13内の窓として定義され、定義領域13の全体の画像から、所定の座標(x0,y0)を基点として、窓領域14に指定されたサイズの矩形画像が切り出される。
描画領域11は、この窓領域14内の矩形画像を、描画領域11のサイズに合わせて変更した画像が表示される。例えば、描画領域11が800画素×600画素の固定サイズであり、窓領域14が1200画素×900画素である場合、窓領域14の画像を水平および垂直方向それぞれについて2/3倍の表示倍率で縮小することでサイズ変更した画像が描画領域11に表示される。なお、表示倍率は、元の画像を拡大する場合には1より大きく、縮小する場合には1未満となる値である。
また、窓領域14は、定義領域13の範囲内で移動させることができる。例えば、IWBにおいて、描画領域11内の任意の位置を手指などで接触したまま当該手指を移動させるドラッグ操作を行うことで、窓領域14の定義領域13内での位置が、ドラッグ操作による手指の移動方向とは逆方向に移動される。
図4は、定義領域13に対して多数のオブジェクト30、301、302、303、…、30m、…、30nが描画されている例を示す。図4の例では、描画領域11にはオブジェクト30のみが表示され、定義領域13内の描画領域11に対応する領域外に、さらにオブジェクト301、302、303、…、30m、…、30nが描画されており、描画領域11に対して上述のドラッグ操作を行うことで、描画領域11内の表示がスクロールされ、これらオブジェクト301、302、303、…、30m、…、30nが描画領域11内に表示されるようになる。
図5は、第1の実施形態に適用可能なIWBの一例の機能を示す機能ブロック図である。図5において、IWB100aは、入力処理部110と、表示制御部111と、制御部112と、画像処理部113と、アイコン記憶部114と、表示情報記憶部115とを有する。
これら入力処理部110、表示制御部111、制御部112、画像処理部113、アイコン記憶部114および表示情報記憶部115は、CPU(Central Processing Unit)上で動作するプログラムにより実現される。これに限らず、これら入力処理部110、表示制御部111、制御部112、画像処理部113、アイコン記憶部114および表示情報記憶部115のうち一部または全部を、互いに協働して動作するハードウェアにより構成してもよい。
入力処理部110は、IWB100aのタッチパネルによる入力部に対してなされるユーザ操作に対する処理を行う。例えば、入力処理部110は、入力部に対して接触された位置の検知や、同時に複数位置に対する接触がなされたか否かの検知、また、接触位置の時系列的な変化(接触位置の移動)の有無および移動方向の判定などを行う。また、入力処理部110は、各アイコン画像20、21および23、ならびに、スタンプ22a〜22dに対するユーザ操作が行われたか否かの判定も行う。
表示制御部111は、IWB100aの表示部に対する表示を制御する。例えば、表示制御部111は、表示領域10に対する描画領域11およびツールバー12の領域設定や、各アイコン画像20、21および23、ならびに、スタンプ22a〜22dのツールバー12および描画領域11に対する表示を制御する。また、表示制御部111は、後述する画像処理部113で生成されたSVGデータに基づきビットマップ画像を生成し、描画領域11に表示させる。さらに、表示制御部111は、上述した、窓領域14内の画像のサイズを、描画領域11のサイズに合わせて変更する処理を行う。
制御部112は、このIWB100aの全体の動作を制御する。画像処理部113は、入力処理部110の判定結果に基づき描画領域11になされた描画を検出し、検出された描画に従いSVGデータを生成する。このとき、画像処理部113は、描画によるSVGデータを、定義領域13の座標系に従い生成する。
アイコン記憶部114は、各アイコン画像20、21および23、ならびに、スタンプ22a〜22dを予め記憶する。なお、これら各アイコン画像20、21および23、ならびに、スタンプ22a〜22dは、例えば、SVGデータとしてアイコン記憶部114により記憶される。
表示情報記憶部115は、表示情報として画像処理部113で生成されたSVGデータを記憶する。また、表示情報記憶部115は、表示情報として描画領域11に表示された各スタンプ22a〜22dのSVGデータを記憶する。この各スタンプ22a〜22dのSVGデータは、上述した描画によるSVGデータと同様に、定義領域13における座標系に従い記憶される。
図6は、第1の実施形態に係るIWB100aの一例の構成を示す。図6において、IWB100aは、CPU121と、ROM(Read Only Memory)122と、RAM(Random Access Memory)123と、表示部124と、入力部125と、ストレージ127と、データI/F128と、通信I/F129とを有し、これら各部がバス120により互いに通信可能に接続されている。このように、IWB100aは、一般的なコンピュータと同等の構成を有する。
なお、第1の実施形態においては、データI/F128および通信I/F129は、省略することができる。また、IWB100aで動作するプログラムなどをROM122に予め記憶させておくことで、ストレージ127も省略可能である。
図6において、ストレージ127は、不揮発性の半導体メモリ(フラッシュメモリ)やハードディスクドライブであり、第1の実施形態に適用可能な情報処理プログラムが予め記憶される。この情報処理プログラムは、ROM122に予め記憶させておいてもよい。CPU121は、ROM127またはストレージ127に予め記憶されるプログラムに従い、RAM123をワークメモリとして用いて、このIWB100aの第1の実施形態に係る動作を制御する。
上述した表示情報記憶部115は、表示情報をRAM123に記憶させることができる。また、表示情報記憶部115は、表示情報をストレージ127に記憶させてもよい。この場合、表示情報は、ストレージ127に不揮発に記憶され、再びストレージ127から読み出して利用することが可能になる。
表示部124は、例えば表示デバイスとしてのLCDと、表示デバイスを駆動する駆動回路とを含み、CPU121によりプログラムに基づき生成された表示制御信号に従った画像を表示デバイスに表示させる。入力部125は、表示部124の表示面と対応するセンサを備え、接触を検出した位置に応じた制御信号を出力する。これら表示部124と入力部125とが一体的に構成されて、タッチパネル126が形成される。
データI/F128は、外部機器との間のデータ通信を制御する。データI/F128は、例えばUSB(Universal Serial Bus)インターフェイスを適用することができる。通信I/F129は、ネットワークを介した通信を制御する。
上述した入力処理部110、表示制御部111、制御部112、画像処理部113、アイコン記憶部114および表示情報記憶部115は、CPU121上で動作する情報処理プログラムによって実現される。情報処理プログラムは、ROM122やストレージ127に予め記憶させて提供される。これに限らず、情報処理プログラムを、ネットワークに接続されたコンピュータ上に格納し、通信I/F129によりネットワーク経由でダウンロードさせることにより提供するように構成することができる。また、情報処理プログラムを、ネットワーク経由で提供または配布するように構成してもよい。
これに限らず、情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。この場合、記録媒体に記録された情報処理プログラムは、例えばデータI/F128に接続された外部のドライブ装置を介してIWB100aに供給される。これに限らず、記録媒体に記録された情報処理プログラムを、パーソナルコンピュータなど他の情報処理装置上に一旦記憶させ、この他の情報処理装置から通信I/F129やデータI/F128を介した通信により、IWB100aに供給してもよい。
情報処理プログラムは、例えば、上述した各部(入力処理部110、表示制御部111、制御部112、画像処理部113、アイコン記憶部114および表示情報記憶部115)を含むモジュール構成となっており、実際のハードウェアとしてはCPU121が例えばストレージ127やROM122から情報処理プログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM123)上にロードされ、各部が主記憶装置上に生成されるようになっている。
次に、第1の実施形態に係るIWB100aの動作について、図7〜図10を用いてより詳細に説明する。図7は、スタンプ22a〜22dから1のスタンプを選択して描画領域11の所望の位置に表示させる処理の例を示すフローチャートである。
図7において、IWB100aは、ステップS10で、ツールバー12に表示されるスタンプ22a〜22dのうち何れかが選択されたか否かを判定する。IWB100aは、入力処理部110の検知結果に基づき、スタンプ22a〜22dの何れの位置にも接触が検知されず、スタンプ22a〜22dが何れも選択されていないと判定した場合、処理をステップS10に戻す。
IWB100aは、スタンプ22a〜22dの何れかがユーザによりタップされ、スタンプが選択されたと判定した場合、処理をステップS11に移行する。ここでは、スタンプ22a〜22dのうちスタンプ22aが選択されたものとする。IWB100aは、ステップS11で、ステップS10で選択されたスタンプ22aを表示させる位置が指定されたか否かを判定する。
図8(a)を用いて、スタンプ22aの選択および位置指定について説明する。図8(a)において、ユーザがスタンプ22aをタップしてスタンプ22aを選択する(ステップS10)。次に、ユーザは、選択したスタンプ22aを表示させる位置として、描画領域11内の任意の位置をタップする。図8(a)の例では、複数行の文字列からなるオブジェクト30の上から2行目の先頭の位置40がタップされている。
IWB100aは、次のステップS12で、入力処理部110の検知結果に基づき、ステップS11で指定されたスタンプ22aの表示位置の座標を取得する。例えば、IWB100aは、入力処理部110の検知結果に従い描画領域11上(表示領域10上)での座標を取得し、この座標を定義領域13の座標に変換する。次のステップS13で、IWB100aは、表示制御部111の制御により、ステップS12で取得された描画領域11の座標に従い、スタンプ22aを表示させる。
図8(b)は、図8(a)で指定された位置40に対してスタンプ22a’が表示された例を示す。図8(b)の例では、「決定」を示すスタンプ22a’がオブジェクト30の上から2行目に表示される。これにより、例えば、当該行の項目が決定済みの事項であることを示すことができる。
次のステップS14で、IWB100aは、ステップS13で描画領域11に表示されたスタンプ22a’の情報を、スタンプ情報としてスタンプリストに追加して保存する。スタンプリストは、例えば表示情報記憶部115により記憶されて保存される。
図9は、第1の実施形態に係るスタンプリストの例を示す。スタンプリストは、図9に例示されるように、スタンプ22a〜22dの種類を示す情報と、各スタンプ22a〜22dが表示される位置を示す定義領域13における座標とが関連付けられたスタンプ情報を含んで構成される。
なお、上述では、所望のスタンプ22aをタップし、次に当該スタンプ22aを表示させたい位置40をタップすることで、位置40に対してスタンプ22aを表示させているが、これはこの例に限定されない。例えば、図10に経路41で例示されるように、ツールバー12上のスタンプ22aをドラッグ&ドロップ操作で所望の位置まで移動させることで、スタンプ22aの表示位置を設定してもよい。なお、この場合、ツールバー12上のスタンプ22aは、ドラッグ&ドロップ操作後は、ツールバー12上の元の位置に残る。
(第1の実施形態に係るスタンプマップについて)
第1の実施形態では、定義領域13内に指定された全てのスタンプ位置を1の表示領域内に表示させた画像である、スタンプマップを生成することができる。このスタンプマップを用いることで、定義領域13内に多数のオブジェクト300〜30nが表示され、さらに、各オブジェクト300〜30nに対して適宜、スタンプが表示されている場合でも、所望の情報を素早く見つけ出すことが可能になる。
図11〜図14を用いて、第1の実施形態に係るスタンプマップの表示方法について説明する。ここでは、図11に例示されるように、定義領域13に対して複数のオブジェクト30、ならびに、オブジェクト301、302、303、…、30m、…、30nがそれぞれ任意の位置に描画されているものとする。その上で、オブジェクト30の近傍にスタンプ22a’の位置が、オブジェクト301の近傍にスタンプ22c’の位置が、オブジェクト302の近傍にスタンプ22d’の位置が、オブジェクト303の近傍にスタンプ22a’の位置が、オブジェクト30mの近傍にスタンプ22b’の位置が、それぞれ指定されているものとする。
図11において、図8(b)と同様に、点線で囲まれた領域が描画領域11内に表示されているものとする。このような場合、定義領域13の画像を、各スタンプ22a’〜22d’が全て描画領域11内に含まれるサイズに縮小して描画領域11内に表示させることで、ユーザは、どのオブジェクトに注目すべきかを容易に判断できることが期待される。
ここで、各スタンプ22a’〜22d’が定義領域13内に広範に配置されている場合について考える。この場合、定義領域13内の画像を縮小する際の表示倍率が非常に小さくなり、それに伴い、各スタンプ22a’〜22d’が、種類を目視で判別することが困難になるサイズに縮小されてしまうおそれがある。
そのため、第1の実施形態では、定義領域13内の画像が小さな表示倍率で縮小された場合に、各スタンプ22a’〜22d’を別の画像と置き換えたスタンプマップを形成する。これにより、各スタンプ22a’〜22d’が示す情報の目視による判別を容易としている。
図12は、第1の実施形態に係るスタンプマップ表示処理示す一例のフローチャートである。IWB100aは、ステップS20で、スタンプマップ表示が指示されたか否かを判定する。図8(b)を参照し、IWB100aは、入力処理部110の検知結果に基づき、ツールバー12に表示される、スタンプマップ表示を指示するアイコン画像23が指定されたか否かを判定する。IWB100aは、スタンプマップ表示が指定されていないと判定した場合、処理をステップS20に戻す。また、IWB100aは、ステップS20でアイコン画像23が指定されたと判定した場合、処理をステップS21に移行させる。
IWB100aは、ステップS21で、スタンプリストからスタンプ情報を取得し、スタンプの種類および座標を取得する。IWB100aは、次のステップS22で、ステップS21で取得されたスタンプ情報に含まれる各スタンプの座標に基づき、定義領域13内で描画領域11に表示させるための表示領域を設定する。
図13を用いて、ステップS22の処理について説明する。例えば、IWB100aにおいて表示制御部111は、表示情報記憶部115に記憶されるスタンプリストに含まれる各座標に基づき、x座標およびy座標の最大値および最小値を求める。表示制御部111は、求めたx座標およびy座標の最大値および最小値に従い、定義領域13内に窓領域14を設定する。
図13の例では、窓領域14は、x座標の最大値x2および最小値x1と、y座標の最大値y2および最小値y1とに従い、左下隅の座標(x1,y1)と右上隅の座標(x2,y2)とで定義される領域とされる。より具体的には、図13の例では、x座標の最小値x1がオブジェクト303の近傍に指定されたスタンプ22a’の位置によって決まり、x座標の最大値x2がオブジェクト302の近傍に指定されたスタンプ22d’の位置によって決まる。また、y座標の最小値y1がオブジェクト30mの近傍に指定されたスタンプ22b’の位置によって決まり、y座標の最大値y2がオブジェクト301の近傍に指定されたスタンプ22c’の位置によって決まる。
なお、実際には、窓領域14は、x座標の最大値x2および最小値x1と、y座標の最大値y2および最小値y1とに対して、後述するピン画像のサイズに応じたマージンが見込まれた領域とされる。
表示制御部111は、窓領域14を設定すると、次のステップS23で、窓領域14の画像を描画領域11に対してサイズを合わせて表示させる際の、窓領域14の画像に対する縮小の度合いを示す表示倍率を求める。そして、表示制御部111は、求めた表示倍率が閾値以下であるか否かを判定する。
表示制御部111は、ステップS23により窓領域14の表示倍率が閾値以下であると判定した場合、処理をステップS24に移行させる。表示制御部111は、ステップS24で、窓領域14の画像をステップS23で求めた表示倍率で縮小し、各スタンプの座標に対して、当該座標に表示されるスタンプの種類に応じたピン画像を表示する。
図14を用いて、スタンプ座標に対するピン画像の表示について説明する。表示制御部111は、上述したように、定義領域13の画像から窓領域14の画像を切り出して、切り出した画像に対して、ステップS23で求められた表示倍率で縮小処理を施す。さらに、表示制御部111は、縮小処理された窓領域14の画像における各スタンプの座標に対して、各スタンプ22a’〜22d’が、各スタンプ22a’〜22d’の種類に応じたピン画像25a〜25dに置き換えられる。
ピン画像25a〜25cは、指定された座標を指し示すための画像である。図14の例では、ピン画像25a〜25dは、円盤状のラベル部分と、鋭角三角形のピン部分とからなり、所謂マップピンを図案化した形状とされている。勿論、ピン画像25a〜25cの形状は、この形状に限定されるものではなく、指し示す座標と、対応するスタンプの種類とがそれぞれ容易に認識可能な形状であれば、他の形状でもよい。
ピン画像25a〜25dは、ラベル部分に対応するスタンプの種類が記される。例えば「決定」を示すスタンプ22aに対応するピン画像25aは、ラベル部分に「決」の文字が表示される。また例えば、「チェック項目」を示すスタンプ22cに対応するピン画像25cは、ラベル部分にチェックボックスが表示される。また、ピン画像25a〜25dにおいて、鋭角三角形の部分は、先端が対応するスタンプ座標に一致するように、窓領域14の画像に表示される。
このように、ピン画像25a〜25dは、対応するスタンプの種類を示す部分と、当該スタンプの座標を指し示す部分とが明確に分けられている。そのため、このピン画像25a〜25dを用いることで、閾値以下の表示倍率で縮小された窓領域14の画像内に多数のスタンプ座標が密集して表示された場合において、スタンプ22a〜22dを直に表示するよりも容易に、各スタンプ座標および各スタンプ座標に指定された意味を認識可能となる。
一方、表示制御部111は、ステップS23により窓領域14の表示倍率が閾値を超えると判定した場合、処理をステップS25に移行させる。表示制御部111は、ステップS25で、窓領域14の画像をステップS23で求めた表示倍率で縮小する。この場合、各スタンプの座標には、当該表示倍率で縮小されたスタンプ22a〜22dが表示される。これに限らず、各スタンプの座標に対して、スタンプ22a〜22dを元のサイズのまま表示してもよい。
このように、窓領域14の画像に対する表示倍率が閾値を超える場合に、各スタンプ座標にスタンプ22a〜22dを当該表示倍率で縮小して表示する。そのため、閾値は、対応する表示倍率で各スタンプ22a〜22dを縮小した場合に、各スタンプ22a〜22dの意味を判別可能な最小の値を設定すると好ましい。
表示制御部111は、ステップS24またはステップS25の処理が終了すると、処理をステップS26に移行する。表示制御部111は、IWB100aに対してユーザ操作がなされたか否かを判定する。表示制御部111は、入力処理部110の検知結果に基づき、IWB100aに対してユーザ操作がなされていないと判定した場合、処理をステップS26に戻す。また、表示制御部111は、入力処理部119の検知結果に基づき、IWB100aに対して何らかのユーザ操作がなされたと判定した場合、処理をステップS27に移行する。
表示制御部111は、ステップS27で、ステップS26で検知されたユーザ操作が、描画領域11に表示されたピン画像25a〜25dの何れかを指定する操作か否かを判定する。表示制御部111は、ピン25a〜25dの何れかを指定するユーザ操作がなされたと判定した場合、処理をステップS28に移行する。例えば、表示制御部111は、入力処理部110の検知結果に基づき、ユーザ操作によりピン画像25a〜25dの何れかがタップされたと判定した場合に、処理をステップS28に移行させる。
表示制御部111は、ステップS28で、ユーザ操作により指定されたピン画像25a〜25d(ここでは、オブジェクト30に対応するピン画像25aとする)が指し示す座標に基づき、例えばデフォルトとして指定されたサイズで描画領域11の表示を更新する。
図15を用いて、ピン画像が指定された際の表示について説明する。ピン画像25aが指定されると、窓領域14を、指定されたピン画像25aの座標を中心とし、サイズをデフォルトのサイズとして設定する。ここでは、窓領域14のデフォルトのサイズを描画領域11のサイズと一致させるものとする。この場合、窓領域14の画像を描画領域11に表示させる際の表示倍率は、1となる。
さらに、窓領域14におけるピン画像25aの座標に対して、当該ピン画像25aに対応するスタンプ22a’を表示する。これにより、図15に例示されるように、描画領域11の表示は、中央にスタンプ22a’が表示され、スタンプ22a’の位置に対応してオブジェクト30が表示された状態に更新される。これにより、ユーザは、指定したピン画像25aに対応するスタンプ22a’の種類と、当該スタンプ22a’が対応するオブジェクト30の内容とを容易に確認することができる。
ステップS28で描画領域11の表示が更新されると、図12のフローチャートによる一連の処理が終了する。
一方、表示制御部111は、上述のステップS27で、ステップS26で検知されたユーザ操作が描画領域11に表示されたピン画像25a〜25dの何れかを指定する操作ではないと判定した場合、処理をステップS29に移行させる。表示制御部111は、ステップS29で、ステップS26で検知されたユーザ操作がピンチイン/アウト操作であるか否かを判定する。
ピンチイン/アウト操作は、例えばタッチパネル126を手指などで同時に2箇所接触し、手指のタッチパネル126への接触を保ったまま、接触する2箇所の間隔を広げる(ピンチアウト)、または、狭める(ピンチイン)操作である。入力処理部110は、手指などをタッチパネル126から離し、タッチパネル126への接触を終了することで、ピンチイン/アウト操作が終了したことを検知する。ピンチイン/アウト操作は、タッチパネル126上で範囲を設定する場合などに用いて好適である。
表示制御部111は、入力処理部110の検知結果に基づき、IWB100aに対するユーザ操作がピンチイン/アウト操作であると判定した場合、処理をステップS30に移行させる。表示制御部111は、ステップS30で、ピンチイン/アウト操作による接触が終了した時点での上述の2箇所の座標を取得し、この2箇所の座標により定義される範囲を設定する。
表示制御部111は、次のステップS31で、ステップS30で設定された範囲を描画領域11の全体に適用する。すなわち、表示制御部111は、ステップS30で設定された範囲を窓領域14に適用し、この窓領域14の画像を、サイズを合わせて描画領域11に表示させるための表示倍率を求める。この場合、表示倍率としては、1以上すなわち拡大も有り得る。表示制御部111は、求めた表示倍率に従い窓領域14の画像を拡大または縮小して描画領域11に表示させる。
ステップS31で描画領域11に対する窓領域14の画像の表示が行われると、図12のフローチャートによる一連の処理が終了する。
一方、表示制御部111は、上述のステップS29で、ステップS26で検知されたユーザ操作がピンチイン/アウト操作ではないと判定した場合、処理をステップS32に移行させる。表示制御部111は、ステップS32で、ステップS26で検知されたユーザ操作に対応する処理を実行し、図12のフローチャートによる一連の処理が終了する。
このように、第1の実施形態によれば、描画領域11に描画されたオブジェクト30に対して所定の意味を示すスタンプ22a’〜22d’を表示することができる。さらに、第1の実施形態によれば、定義領域13内の画像を描画領域11にサイズを合わせて表示させる際に、各スタンプ22a’〜22d’をピン画像25a〜25dに置き換えることができる。そのため、定義領域13内に描画された各オブジェクトから、目的のオブジェクトを容易に発見することが可能となり、IWB100aの利便性を向上できる。
(第2の実施形態)
次に、第2の実施形態について説明する。電子化されていないホワイトボードを用いた会議などでは、会議の各参加者が手元で記入した付箋をホワイトボード上に貼付して議事を進行させる場合がある。第2の実施形態は、IWBとユーザの端末装置とを用いて、この付箋の機能を実現するものである。
図16は、第2の実施形態に係る情報共有システムの一例の構成を示す。図16において、情報共有システムは、IWB100bと、端末装置200と、これらIWB100bおよび端末装置200とインターネットなどのネットワークを介して接続されるサーバ300とを含む。
詳細は後述するが、IWB100bは、上述したIWB100aに対してネットワークに対する通信機能が追加されている。また、IWB100bは、ネットワーク上の情報を閲覧可能なブラウザアプリケーション(以下、ブラウザと略称する)が搭載される。ブラウザは、ネットワークから取得したプログラムに従って動作することができる。IWB100bの電子黒板としての機能を、このブラウザが取得したプログラムにより実現することが可能である。
端末装置200は、ネットワークへの接続機能を有する、携帯可能な情報処理装置であって、例えばスマートフォン(多機能携帯電話端末)を用いることができる。端末装置20は、例えば有効表示領域が対角サイズで数インチ〜十数インチといった比較的小型のタッチパネルを有する。また、端末装置200は、撮像機能を有し、被写体を撮像して画像として取り込むことができる。さらに、端末装置200は、ブラウザが搭載される。
サーバ300は、ネットワーククラウド上に構成される情報処理システムである。ネットワーククラウドは、互いにネットワークで接続される複数のコンピュータを含み、外部からは、その内部が隠蔽されたブラックボックスとして入出力のみが示されるネットワーク・グループである。ネットワーククラウドにおいて、1以上のコンピュータにより、情報処理システムとしてサーバ300が構成される。勿論、サーバ300は、ネットワーククラウド上の構成に限られず、例えば1台のコンピュータで構成してもよい。
このような情報共有システムにおいて、IWB100bでブラウザが起動されると、ブラウザは、サーバ300とネットワークを介して通信を行い、IWB100bが第2の実施形態に係る動作を行うためのプログラム(以降、IWBプログラムと呼ぶ)をサーバ300に対して要求する。ブラウザは、サーバ300からIWBプログラムを受信すると、受信した情報処理プログラムをブラウザ上で起動させる。IWBプログラムは、HTML(HyperText Markup Language)やJAVA(登録商標)などの、ブラウザ上で動作可能なプログラム言語を用いて記述される。
ブラウザは、IWBプログラムに従いサーバ300と通信を行い、サーバ300から、IWB100bを識別するためのIWB識別情報と、当該IWB識別情報およびサーバ300のネットワーク上の位置(URL:Uniform Resource Locator)を含む識別画像とを取得する。ブラウザは、IWB100bに対して識別画像を表示させる。図16の例では、識別画像として2次元コードの一つであるQRコード(登録商標)が用いられている。
ユーザは、端末装置200により、IWB100bに表示される識別画像を撮像し、撮像画像を復号してIWB識別情報およびサーバ300のURLを取得する。端末装置200は、取得したサーバ300のURLに従いサーバ300と通信を行い、端末装置200が第2の実施形態に係る動作を行うためのプログラム(以降、付箋プログラムと呼ぶ)をサーバ300から取得する。この付箋プログラムは、端末装置200に搭載されるブラウザ上で動作するもので、例えばHTMLやJAVA(登録商標)などの、ブラウザ上で動作可能なプログラム言語を用いて記述される。ユーザは、端末装置200を操作して、付箋プログラムが動作するブラウザにより付箋情報を入力し、入力した付箋情報をIWB識別情報を付加してサーバ300に送信する。
サーバ300は、端末装置200から送信された付箋情報を、IWB識別情報に従いIWB100bに送信する。IWB100bは、サーバ300から送信された付箋情報に基づく付箋画像を表示させる。このように、第2の実施形態によれば、各ユーザが保持する各端末装置200上で入力された付箋情報に基づく付箋画像をIWB100bに表示させることができ、IWB100bの利便性が向上する。
図17は、第2の実施形態に係るIWB100bの機能を説明するための機能ブロック図である。なお、図17において、上述の図5と共通する部分には同一の符号を付して、詳細な説明を省略する。図17において、第2の実施形態に係るIWB100bは、図5を用いて説明した第1の実施形態に係るIWB100aに対して、サーバ300と通信を行うための通信部116が追加されている。
IWB100bの構成は、図6を用いて説明した第1の実施形態に係るIWB100aと何ら変わるところが無いため、説明を省略する。
図17に示す入力処理部110、表示制御部111、制御部112、画像処理部113、アイコン記憶部114、表示情報記憶部115および通信部116は、その一部または全部がCPU121上で動作するIWBプログラムによって実現される。例えば、少なくとも表示制御部111および通信部116は、IWBプログラムにより実現される。第2の実施形態の場合、IWB100bは、このIWBプログラムを、第2の実施形態による動作を実行する毎にサーバ300から取得する。取得されたIWBプログラムは、例えばストレージ127やRAM123に記憶され、第2の実施形態による動作が終了した際に、ストレージ127やRAM123から消去される。
これに限らず、このIWBプログラムをCD、DVDなどのコンピュータに読み取り可能な記録媒体に記録して提供したり、ネットワークを介して提供してIWB100bにインストールしてもよい。
図18は、第2の実施形態に適用可能な端末装置200の機能を説明するための機能ブロック図である。端末装置200は、入力処理部210と、表示制御部211と、制御部212と、画像処理部213と、撮像制御部214と、通信部215とを有する。
これら入力処理部210、表示制御部211、制御部212、画像処理部213、撮像制御部214および通信部215は、CPU上で動作するプログラムにより実現される。これに限らず、入力処理部210、表示制御部211、制御部212、画像処理部213、撮像制御部214および通信部215のうち一部または全部を、互いに協働して動作するハードウェアにより構成してもよい。
入力処理部210は、端末装置200のタッチパネルによる入力部に対してなされるユーザ操作に対する処理を行う。表示制御部211は、端末装置200の表示部に対する表示を制御する。制御部212は、この端末装置200の全体の動作を制御する。画像処理部213は、入力処理部210の判定結果に基づき描画を検出し、検出された描画に従いSVGデータを生成する。
撮像制御部214は、CCD(Charge Coupled Device)などによる撮像素子の駆動制御を行い、撮像素子から撮像画像を取得し、撮像画像に対してホワイトバランス調整やガンマ補正などの所定の処理を施して、画像データとして出力する。通信部215は、ネットワークを介した通信を制御する。制御部212は、この端末装置200の全体の動作を制御する。
図19は、第2の実施形態に係る端末装置200の一例の構成を示す。図19において、端末装置200は、CPU221と、ROM222と、RAM223と、表示部224と、入力部225と、ストレージ227と、データI/F228と、通信I/F229とを有し、これらがバス220を介して互いに通信可能に接続されている。このように、端末装置200は、一般的なコンピュータと同等の構成を有する。
図19において、ストレージ227は、不揮発性の半導体メモリ(フラッシュメモリ)やハードディスクドライブである。CPU221は、ROM222またはストレージ227に記憶されるプログラムに従い、RAM223をワークメモリとして用いて、この端末装置200の全体の動作を制御する。
表示部224は、例えば表示デバイスとしてのLCDと、表示デバイスを駆動する駆動回路とを含み、CPU221がプログラムに基づき生成した表示制御信号に従った画像を表示デバイスに表示させる。入力部225は、表示部224の表示面と対応するセンサを備え、接触を検出した位置に応じた制御信号を出力する。これら表示部224と入力部225とが一体的に構成されて、タッチパネル226が形成される。
データI/F228は、外部機器との間のデータ通信を制御する。データI/F228は、例えばUSBインターフェイスを適用することができる。データI/Fとして、Bluetooth(登録商標)を適用してもよい。通信I/F229は、ネットワークを介した無線による通信を制御する。
図18に示す入力処理部210、表示制御部211、制御部212、画像処理部213、撮像制御部214および通信部215の一部または全部は、CPU221上で動作する付箋プログラムによって実現される。例えば、少なくとも入力処理部210および通信部215は、付箋プログラムにより実現される。第2の実施形態の場合、端末装置200は、この付箋プログラムを、第2の実施形態による動作を実行する毎にサーバ300から取得する。取得された付箋プログラムは、例えばストレージ227やRAM223に記憶され、第2の実施形態による動作が終了した際に、ストレージ227やRAM223から消去される。
これに限らず、この付箋プログラムをCD、DVDなどのコンピュータに読み取り可能な記録媒体に記録して提供したり、ネットワークを介して提供して端末装置200にインストールしてもよい。
付箋プログラムは、例えば、上述した各部(入力処理部210、表示制御部211、画像処理部213および通信部215)を含むモジュール構成となっており、実際のハードウェアとしてはCPU221が例えばストレージ227やRAM223から付箋プログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM223)上にロードされ、各部が主記憶装置上に生成されるようになっている。
図20は、第2の実施形態に係るサーバ300の機能を説明するための機能ブロック図である。図20において、サーバ300は、通信部310と、制御部311と、識別画像生成部312と、ユニークID生成部313と、プログラム記憶部314とを有する。これら通信部310、制御部311、識別画像生成部312、ユニークID生成部313およびプログラム記憶部314は、CPU上で動作するプログラムにより実現される。これに限らず、通信部310、制御部311、識別画像生成部312、ユニークID生成部313およびプログラム記憶部314の一部または全部を、互いに協働して動作するハードウェアにより構成してもよい。
通信部310は、ネットワークを介した通信を制御する。制御部311は、このサーバ300の全体の動作を制御する。識別画像生成部312は、このサーバ300のURLと、入力された識別情報とを符号化した識別画像を生成する。ユニークID生成部313は、要求に応じてユニークな識別情報を生成する。プログラム記憶部314は、IWB100bに送信するためのIWBプログラムと、端末装置200に送信するための付箋プログラムとを記憶する。
図21は、第2の実施形態に係るサーバ300の一例の構成を示す。図21において、サーバ300は、CPU321と、ROM322と、RAM323と、ストレージ324と、データI/F325と、通信I/F326とを有し、これら各部がバス320により互いに通信可能に接続される。このように、サーバ300は、一般的なコンピュータと同等の構成を有する。
図21において、ストレージ324は、例えばハードディスクドライブであり、第2の実施形態に係る情報処理プログラムが予め記憶される。また、ストレージ324は、第2の実施形態に係る、IWB100bに送信するための表示制御プログラムと、端末装置200に送信するための付箋プログラムとを予め記憶する。
CPU321は、ROM322またはストレージ324に予め記憶される情報処理プログラムに従い、RAM323をワークメモリとして用いて、このサーバ300の第2の実施形態に係る動作を制御する。データI/F325は、外部機器との間のデータ通信を制御する。データI/F325は、例えばUSBインターフェイスを適用することができる。データI/F325は、第2の実施形態に係るサーバ300の構成としては省略することができる。通信I/F326は、ネットワークを介した通信を制御する。
図22は、第2の実施形態に係る情報共有システムの動作の例を示すシーケンスチャートである。この図22と、図23〜図26に示すIWB100bおよび端末装置200における画面例を用いて、第2の実施形態に係る情報共有システムの動作について説明する。なお、図23、図25および図26において、上述した図1および図2と共通する部分には同一の符号を付して、詳細な説明を省略する。
IWB100bにおいて、ブラウザが起動されると、ブラウザは、当該ブラウザに第2の実施形態に係る処理を実行させるためのIWBプログラムを、ネットワークを介してサーバ300に要求する(ステップS100)。サーバ300は、この要求に応じて、プログラム記憶部314からIWBプログラムを読み出して通信部310によりネットワークを介してIWB100bに送信する(ステップS101)。
IWB100bは、プラウザによりサーバ300からのIWBプログラムを受信すると、ブラウザ上でIWBプログラムを実行させる。IWBプログラムが実行されると、図23(a)に例示されるように、IWB100bの表示部124における表示領域10に対して、ユーザ操作によりオブジェクト30の描画が可能な描画領域11と、各種機能を実行させるための各種アイコンが表示されるツールバー12とが表示される。第2の実施形態においては、ツールバー12に対して、付箋の利用の開始を指示するためのシンボルとしてのアイコン画像50がさらに表示される。
IWB100bは、IWBプログラムに従い、サーバ300に対して当該IWB100bにユニークは識別情報(ユニークID)を要求する(ステップS102)。サーバ300は、この要求に応じて、ユニークID生成部313により識別情報(ID=123とする)を生成し、生成した識別情報をIWB100bに送信する(ステップS103)。
IWB100bは、サーバ300から識別情報を取得すると、サーバ300に対して、識別情報に基づく識別画像を要求する(ステップS104)。サーバ300は、この要求に応じて、識別画像生成部312により、IWB100bからの識別情報を画像により符号化した識別画像を生成する。このとき、サーバ300は、識別情報にサーバ300のURLを付加した情報を符号化して、識別画像を生成する。ここでは、識別画像をQRコード(登録商標)とする。識別画像は、QRコード(登録商標)に限定されず、他のフォーマットでもよいし、識別情報およびURLをそのまま文字列で表した画像でもよい。サーバ300は、生成した識別画像をIWB100bに送信する(ステップS105)。
なお、IWB100bは、ステップS105でサーバ300からの識別画像を受信した時点で、サーバ300に対してポーリングを行い(ステップS106)、自分宛(ID=123宛)のメッセージの有無を確認する。
次に、ユーザ操作によりアイコン画像50がタップされることで、IWB100bに対して第2の実施形態に係る付箋の利用の開始が指示される(ステップS107)。この指示に応じて、IWB100bは、図23(b)に例示されるように、表示制御部111により識別画像51を表示領域10に表示させる(ステップS108)。
端末装置200を保持するユーザは、端末装置200を操作して、IWB100bの描画領域11に表示された識別画像51を撮像(スキャン)する(ステップS109)。例えば、端末装置200において、ユーザ操作に応じて、撮像制御部214の制御に従い撮像部230で識別画像51を含む被写体が撮像され、撮像画像として取得される。例えば制御部212は、この撮像画像を解析して識別画像部分を抽出し、抽出した識別画像を復号して識別情報(ID=123)とサーバ300のURLとを取得する(ステップS110)。
このような、識別画像の撮像、解析および復号処理は、例えば、端末装置200に予め搭載されるアプリケーションにより実行させることができる。
端末装置200は、ブラウザにより識別画像に基づき取得したURLに従いサーバ300と通信を行い、付箋情報を入力するための付箋画面を要求する(ステップS111)。サーバ300は、この要求に応じて、プログラム記憶部314から付箋プログラムを読み出して通信部310によりネットワークを介して端末装置200に送信する(ステップS112)。
端末装置200は、ブラウザによりサーバ300からの付箋プログラムを受信すると、ブラウザ上で付箋プログラムを実行させる。付箋プログラムが実行されると、端末装置200の表示部224に対して付箋画面が表示される(ステップS113)。
図24は、端末装置200の表示部224に表示される付箋画面の例を示す。図24(a)において、端末装置200の表示部224における表示領域60に対して、ユーザ操作により付箋情報の入力(描画)が可能な付箋情報入力領域61と、各種機能を実行させるための各種アイコンや入力窓、ボタンなどが表示されるツールバー62とが形成される。
ツールバー62において、アイコン画像70は、付箋情報入力領域61に対して付箋情報を入力する際に選択する。例えば、ユーザは、アイコン画像70をタップして選択した後に付箋情報入力領域61内を手指などでなぞることで、なぞった軌跡に従った画像を描画することができる。図24(b)は、このようにして、アイコン画像70を選択して、付箋情報入力領域61に対して、オブジェクト80として示される画像を描画した例を示す。このオブジェクト80が付箋情報に含まれる付箋画像として端末装置200に入力される。
アイコン画像71は、付箋情報入力領域61にに描画された画像の一部を消去する際に選択する。例えば、アイコン画像71をタップして選択した後に、上述のオブジェクト80上を手指などでなぞることで、なぞった軌跡に沿ってオブジェクト80の部分が消去される。
画像は、第1の実施形態において上述したオブジェクト30などと同様に、SVG形式で記述される。これに限らず、画像をビットマップを用いて表現してもよい。また、付箋情報は、上述のように画像として入力するものに限定されない。例えば、付箋情報をテキスト情報(文字コード)として入力してもよい。
ツールバー62において、名前入力部72は、例えば付箋情報を入力したユーザを識別するためのユーザ識別情報を入力することができる。ユーザ識別情報としては、当該ユーザの名前やニックネームを用いることができる。以下、このユーザ識別情報として名前を用いるものとする。例えば、名前入力部72をタップすることで、端末装置200に予め搭載される文字入力機能が起動され、キーパッドなどのような文字入力手段が表示部224上に出現する。ユーザは、この文字入力機能を利用してテキスト情報として名前を入力することができる。入力された名前を示す情報が付箋情報に追加して含められる。
ツールバー62において、ボタン73は、付箋情報入力領域61および名前入力部72により入力された付箋情報をサーバ300に送信する際に用いるボタンである。
ユーザは、端末装置200を操作して、上述のようにして付箋情報を端末装置200に対して入力する(ステップS114)。端末装置200は、ボタン73の操作に応じて(ステップS115)、入力された付箋情報を、ステップS109およびステップS110で識別画像51から取得したIWB100bの識別情報を付加してサーバ300に対して送信する(ステップS116)。この付箋情報がサーバ300に受信される。
一方、IWB100bは、ステップS106で上述したように、サーバ300に対してポーリングを行い、自分宛てのメッセージの有無を確認している。IWB100bは、このポーリングによりステップS116でサーバ300に送信された自分宛(ID=123)のメッセージを発見すると(ステップS117)、このメッセージをサーバ300に対して要求する(ステップS118)。サーバ300は、この要求に応じて、端末装置200から送信された付箋情報を、これら付箋情報に付加された送信された識別情報(ID=123)に示されるIWB100bに送信する(ステップS119)。
IWB100bは、サーバ300から送信された付箋情報を受信すると、ツールバー12に対して付箋情報を受信した旨を示すアイコン画像を追加して表示する(ステップS120)。例えば、IWB100bは、受信した付箋情報を表示情報記憶部115に記憶させる。また、IWB100bにおいて、表示制御部111は、例えば受信した付箋情報を示すアイコン画像を生成してツールバー12に表示すると共に、アイコン記憶部114に追加して記憶させる。
ユーザは、ツールバー12に表示された付箋情報を示すアイコン画像を操作することで、付箋情報を描画領域11内の所望の位置に表示させることができる。図25を用いて、付箋情報を示すアイコン画像に対する操作について説明する。
図25(a)は、ツールバー12上に付箋情報を示すアイコン画像が表示された例を示す。図25(a)の例では、3の付箋情報にそれぞれ対応する3のアイコン画像52a、52bおよび52cがツールバー12に表示されている。この例では、表示制御部111は、各アイコン画像52a、52bおよび52cを、それぞれ対応する付箋画像を縮小して形成したサムネイル画像を用いて生成している。また、ツールバー12において、各アイコン画像52a、52bおよび52cに対して、それぞれ対応する名前を示す名前情報53a。53bおよび53cが表示されている。
ツールバー12上の各アイコン画像52a、52bおよび52cを指定し、続けて描画領域11内の所望の位置を指定することで、当該所望の位置に対して指定したアイコン画像に対応する付箋情報を表示させることができる。例えば、図15(b)に例示されるように、ユーザが例えばアイコン画像52cをタップし、続けて描画領域11内の位置54をタップしたものとする。
この場合、図25(c)に例示されるように、アイコン画像52cに対応する付箋情報に含まれる付箋画像52c’が位置54に表示され、付箋画像52c’に対応する名前情報53c’が付箋画像52c’の近傍に表示される。付箋画像52c’のサイズは、予め定められたサイズに設定してもよいし、付箋画像52c’内のオブジェクト80に応じて動的に設定してもよい。アイコン画像52cに対応する付箋画像52c’が描画領域11内に表示されると、ツールバー12上の当該アイコン画像52cは、消去される。
ここで、描画領域11内に表示される付箋画像52c’を例えば手指などで接触して指定したまま接触位置を移動させるドラッグ操作を行うことで、付箋画像52c’の描画領域11内での位置を移動させることができる。名前情報53c’は、対応する付箋画像52c’の移動に従い移動される。
なお、上述では、所望のアイコン画像52cをタップし、次に当該アイコン画像52cに対応する付箋画像52c’を表示させたい位置54をタップすることで、位置54に対して付箋画像52c’を表示させているが、これはこの例に限定されず。ドラッグ&ドロップ操作を用いてもよい。例えば、図26に経路55で例示されるように、ツールバー12上のアイコン画像52cをドラッグ&ドロップ操作で所望の位置54まで移動させ、ユーザがアイコン画像52cから手指を離したときに、位置54に対して付箋画像52c’を表示させる。なお、この場合、ツールバー12上のアイコン画像52cは、ドラッグ&ドロップ操作後は、ツールバー12から消去される。
また、紙による付箋が何時でも剥がせるように、描画領域11内に表示される付箋画像52c’も、ユーザ操作に応じて描画領域11から消去させることができる。一例として、描画領域11内に表示される付箋画像52c’を2回連続してタップすることで、当該付箋画像52c’を描画領域11から消去することが考えられる。このとき、描画領域11から消去された付箋画像52c’に対応するアイコン画像52cがツールバー12に追加して表示される。
これに限らず、付箋画像52’をドラッグ&ドロップ操作により描画領域11の外部に移動させることで、当該付箋画像52c’を描画領域11から消去させるようにもできる。この場合でも、消去させた付箋画像52c’に対応するアイコン画像52cは、ツールバー12内に再び表示させるようにする。また、図26の手順と逆の手順を辿り、描画領域11内に表示される付箋画像52c’をドラッグ&ドロップ操作によりツールバー12上に移動させることで、当該付箋画像52c’を描画領域11から消去させ、対応するアイコン画像52cをツールバー12内に表示させるようにもできる。
このように、第2の実施形態では、端末装置200に対して入力した付箋情報をIWB100bに表示させることができる。また、付箋情報を示すアイコン画像52a〜52cがツールバー12に表示され、このアイコン画像52a〜52cを描画領域11内に移動させることで、対応する付箋情報を描画領域11に表示させることができる。そのため、IWB100b上で付箋の機能を実現でき、IWBの利便性が向上する。
なお、この第2の実施形態は、上述した第1の実施形態と組み合わせて実施することが可能である。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。