本発明の実施の形態について、図面に基づいて以下に説明する。
<実施の形態1>
図1は、本発明の実施の形態1による情報共有支援装置の構成の一例を示すブロック図である。ここで、情報共有支援装置とは、上述の対面協調作業を支援するための装置のことをいう。
図1に示すように、本実施の形態1による情報共有支援装置は、入出力部1と、入力イベント処理部2と、画像データ管理部3と、ユーザ検出部4と、画面制御部5とを備えている。
入出力部1は、テーブルトップ型ディスプレイを有しており、画面制御部5から入力された各種画像(後述のベース画像データ312、部品画像データ323)を出力して画面に表示し、かつディスプレイ周囲に存在する少なくとも1人以上のユーザによる入力操作を受け付ける。ベース画像データ312と、当該ベース画像データ312上に重畳される部品画像データ323とを画面表示するとともに、ユーザによる入力操作を受け付ける。
また、入出力部1には、ユーザの操作を検知するタッチセンサなどのセンサが設けられており、ユーザが入出力部1に対して操作を行うと、センサによって操作イベントの発生が検知され、検知された操作イベントをイベント発生信号S1として入力イベント処理部2に送信する。
画像データ管理部3は、ベース画像データ312を格納するベース画像DB(データベース)31と、部品画像データ323を格納する部品画像DB32とを有し、ベース画像データ312および部品画像データ323を管理している。
ベース画像DB31には、例えば地図データや図面データなど、入出力部1のディスプレイ上に描画されるベース画像に関するデータが格納されている。具体的には、図2に示すように、少なくとも1以上のベース画像IDデータ311と、入出力部1に描画されるベース画像データ312とが対応付けられて格納されている。
部品画像DB32には、例えば文字データやアイコン(記号)データなど、ベース画像上に重畳描画される部品画像に関するデータが格納されている。具体的には、図3に示すように、各部品画像データ323の描画対象となるベース画像IDデータ321と、0以上の部品画像IDデータ322と、部品画像データ323と、ベース画像データ上に部品画像データ323を描画する際に基準となる描画基準座標データ324とがそれぞれ対応付けて格納されている。なお、図3のベース画像IDデータ321は、図2のベース画像IDデータ311に対応している。
部品画像IDデータ322は、文字やアイコンなどの部品画像の区別が可能なIDが格納されている。
部品画像データ323は、部品画像IDデータ322に対応するデータ、例えば文字であれば文字列データ、描画時の境界矩形データ、文字色など、あるいは、アイコンであれば矩形や円などの図形データまたは静止画像データとその境界矩形図形データなど、描画時に必要な各種属性データが格納されている。
本実施の形態では、ベース画像データ312として地図を用い、部品画像データ323として地名などの文字や地図記号などのアイコンを用いる場合について説明する。
ベース画像データ312および各部品画像データ323は、それぞれ計算機上の論理座標系C1上に配置される。ベース画像データ312および部品画像データ323には、論理座標系C1上において描画の基準となる座標が設定されている。本実施の形態では、例えば、ベース画像データ312は論理座標系C1の原点を基準座標とし、部品画像データ323は描画基準座標データ324を基準座標としている。
一例として、ベース画像IDデータ321の値が「1」である場合の論理座標系C1上におけるベース画像データ312と部品画像データ323との配置の様子を図4に示す。図4に示すように、ベース画像データ312(斜め方向の直線を有する画像)は論理座標系C1の原点を中心として配置され、各部品画像データ323(地名および地図記号を示す画像)はそれぞれの描画基準座標データ324を中心として各属性に基づいて配置されている。
ベース画像データ312および部品画像データ323を入出力部1のディスプレイ上に描画する際には、一般的に普及している画像表示システムの座標変換方法によって、画像データの移動、拡縮率、あるいは回転などが考慮され、物理座標系C2に座標変換される。ここでは説明を簡単にするため、論理座標系C1上のベース画像データ312と、ディスプレイ上に表示される物理座標系C2上のベース画像データ312との大きさは同じであるものとし、ベース画像データ312の移動や拡縮に関する座標変換は行なわないものとする。
入力イベント処理部2は、入出力部1を介してユーザが入力した操作イベント(入力操作のイベント情報)を取得して解析する。なお、入力イベント処理部2が取得する操作イベントは、入出力部1以外の入力部を介して入力されたものであってもよい。
入力イベント処理部2は、図5に示すようなイベントテーブル21を有している。イベントテーブル21には、イベントIDデータ211と、イベントの分類データ(イベントの種類)を規定するイベント種類データ212と、各種操作イベントの操作パターンデータ213とが対応付けられて登録されている。
図5に示すように、イベント種類データ212として、例えば表示モード変更要求イベント2121、部品画像角度変更要求イベント2122、ベース画面変更要求イベント2123などが登録される。それぞれのイベントに対応する操作パターンとしては、例えばジェスチャ入力、ディスプレイ上に表示されたメニュー操作などが考えられる。
例えば、表示モード変更要求イベント2121がジェスチャ入力である場合は、複数のモードを区別するジェスチャ(ディスプレイ上で手をスライドさせるジェスチャ、手で「×」という形状を描くジェスチャなど)による操作パターンが、また、部品画像角度変更要求イベント2122であればディスプレイ上で手を画面に接触させた状態で回転させるジェスチャの軌跡などの操作パターンが操作パターンデータ213に登録されている。なお、上記の他に、タッチ回数とその対象、または空中で行なう(ディスプレイの画面から離して行う)ジェスチャの操作パターンなどを操作パターン213として登録してもよい。
ここで、入力イベント処理部2の動作の一例について説明する。
まず、入力イベント処理部2は、入出力部1からイベント発生信号S1を受信すると、操作パターンデータ22を取得する。操作パターンデータ22は、ユーザが入出力部1を介して入力した操作パターンを示すデータであり、ジェスチャ軌跡の情報や、選択されたメニューボタンの位置情報などが含まれる。なお、入出力部1は、操作パターンデータ22をイベント発生信号S1に含めて入力イベント処理部2に送信するようにしてもよい。
次に、取得した操作パターンデータ22と、イベントテーブル21に登録されている操作パターンデータ213とでパターンマッチングを行い、イベントIDデータ211およびイベント種類データ212を特定する。このとき、操作パターンデータ22が表示モード変更要求イベント2121であると判別された場合は、操作パターンデータ22と一致した操作パターンデータ213に対応するイベントIDデータ211と、操作パターンデータ22とを画面制御部5に出力する。一方、操作パターンデータ22が部品画像角度入力要求イベント2122あるいはベース画像変更要求イベント2123であると判別された場合は、画面制御部5に操作パターンデータ22と一致した操作パターンデータ213に対応するイベントIDデータ211を出力する。
特に、イベント種類データ212が部品画像角度入力要求イベント2122またはベース画像変更要求イベント2123である場合において、入力イベント処理部2は入出力部1から、それぞれの操作パターンデータ22から角度データ221を取得し、または変更対象となるベース画像IDデータ311を取得して画面制御部5に出力する。例えば、入出力部1を介して手を回転させるジェスチャが入力された場合、操作パターンデータ22は手が回転した軌跡を示すデータとなる。この操作パターンデータ22と、イベントテーブル21に登録された全ての操作パターンデータ213とをパターンマッチングした結果、操作パターンデータ22は部品画像角度変更要求イベント2122を示すものであると判別される。その後、操作パターンデータ22から、入出力部1を介してユーザが入力した角度データ221を算出し、イベントIDデータ211および角度データ221を画面制御部5に出力する。なお、入力されたイベント種類の判別方法はこの限りではない。
図1に戻り、ユーザ検出部4は、位置情報入力部41と、ユーザ位置テーブル42とを備えている。図6は、ユーザが入出力部1の周囲に存在する状況を示している。位置情報入力部41は、入出力部1の周囲に存在するユーザの位置データ6を取得する。位置データ6は、入出力部1のディスプレイにおける表示画面の中心(すなわち、入出力部1の中心)を原点とした座標系上のx,y座標のデータである。本実施の形態では、位置データ6の座標系と物理座標系C2とは一致しているものとし、以下、ユーザの位置を示す座標系も物理座標系C2として説明する。図6では、入出力部1の中心が原点となる物理座標系を設定しているが、座標系の設定方法はこの限りではない。
位置情報入力部41には、ユーザが入出力部1の周囲に存在しているか否かを判断するために用いられる、図6に示すような入出力部使用エリアA1を示す座標群が設定されている。また、ユーザ位置テーブル42には、図7に示すような、ユーザ番号データ421と、ユーザの座標位置を示す位置座標データ422とが格納されている。
位置情報入力部41は、位置データ6を取得すると、例えば入出力部使用エリアA1内に各位置データ6が含まれるか否かを判別し、入出力部使用エリアA1内に位置データ6が含まれる場合は、ユーザ位置テーブル42の位置座標データ422を最新の位置データ6の値に更新する。なお、入出力部使用エリアA1内に位置データ6が含まれない場合(すなわち、入出力部1の周囲にユーザが1人も存在しない場合)は、全ての位置座標データ422に「−(位置座標データなし)」が格納される。また、ユーザの位置データ6を生成するセンサは、画像センサやユーザの身体に装着して位置を測定するセンサなど、ユーザの位置を測定し当該測定した位置情報をユーザ検出部4に送信する機能を有していれば、いかなるセンサを用いてもよい。
画面制御部5は、表示モード変更処理部51と、表示モード格納部52と、部品画像方向決定部53と、描画データ生成処理部54とを備えている。
表示モード格納部52には、各表示モードに対応する部品画像データ323の回転制御方法に関する情報が格納されており、当該情報は部品画像方向決定部53にて部品画像データ323の表示方向を決定する際に参照される。ここで、本実施の形態の表示モードとしては、例えばユーザの位置に関わらず特定の方向に部品画像データ323を表示する(回転制御を行なわない)モードと、ユーザの位置に応じて自動で部品画像データ323の表示方向を所定の角度だけ回転させて表示するモードと、ユーザが回転角度を入力することによって手動で部品画像データ323の表示方向を変更可能とするモードとの3種類があるとする。
具体的に、表示モード格納部52では、図8に示すような、表示モードIDデータ521と、現在設定されている表示モードか否かを示す現表示モードデータ522と、部品画像データ323の回転制御を行なうか否かを示す回転制御データ523と、回転制御を行なう場合に自動で制御するか否かを示す自動制御データ524と、回転制御を自動で制御する場合に部品画像データ323を回転させる単位角度を示す回転角度データ525と、表示モードの編集時に補足説明として入力可能なモード説明データ526とを1セットとしてテーブルに格納している。ここで、「T」は「True(真)」を示し、「F」は「False(偽)」を示しており、以下同様である。なお、モード説明データ526はなくてもよい。
例えば、現表示モードデータ522には、現在設定されている表示モードである場合は「T」が格納され、現在設定されている表示モードでない場合は「F」が格納される。
回転制御データ523には、部品画像データ323の回転制御を行なう場合は「T」が格納され、回転制御を行なわない場合は「F」が格納される。
自動制御データ524には、回転制御を自動で行う場合は「T」が格納され、回転制御を手動で制御を行う場合は「F」が格納される。ここで、回転制御データ523が「F」の場合は、回転制御自体が行なわれないため自動制御データ524には「−」が格納される。
回転角度データ525には、自動制御データ524が「T」の場合は例えば「45°」など角度の値が入力されるが、それ以外(自動制御データ534が「F」または「−」)の場合は例えば「−」と入力される。
図8に示す例では、表示モード格納部52には3種類の表示モードが格納されている。 例えば、表示モードIDデータ521が「1」は部品画像データ323に対して回転制御を行なわない表示モードであり、表示モードIDデータ521が「2」はユーザの位置情報に基づいて部品画像データ323の表示方向を所定の角度だけ回転させるモード、表示モードIDデータ521が「3」はユーザが手動で部品画像データ323の表示方向を変更可能とするモードを示している。
表示モード変更処理部51は、入力イベント処理部2が出力した表示モード変更要求イベント2121に対応するイベントIDデータ211と、操作パターンデータ22とを取得する。次いで、表示モード格納部52を参照して、取得したイベントIDデータ211に対応する表示モード変更要求イベント2121が、現在とは異なる表示モードに変更するものであるか否かを判断し、現在とは異なる表示モードに変更するものである場合は現表示モードデータ522のデータを更新する処理を行う。
具体的に、表示モード変更処理部51は、入力イベント処理部2からイベントIDデータ211と操作パターンデータ22とを取得すると、入力イベント処理部2のイベントテーブル21を参照し、取得したイベントIDデータ211に対応する操作パターンデータ213と、取得した操作パターンデータ22とを照合して、表示モード格納部52に格納される表示モードIDデータ521を特定する。次いで、表示モード格納部52の現表示モードデータ522に「T」が格納されている表示モードIDデータ521を参照し、当該参照した表示モードIDデータ521と、特定した表示モードIDデータとが同一でなければ、現在参照している現表示モードデータ522に「F」を格納し、特定した表示モードIDデータ521の現表示モードデータ522に「T」を格納する。
部品画像方向決定部53は、表示モード格納部52の現表示モードデータ522を参照し、現在設定されている表示モードに対応する回転制御の方法に従って、部品画像DB32に格納されている部品画像データ323の回転角度を決定する。ここで、回転角度とは、図6に示す物理座標系C2のy軸正方向を基準(0°)、当該基準から反時計回りの方向を正方向として回転する角度であるものとする。回転角度は物理座標系C2上にて決定された後、論理座標系C1に変換される。部品画像方向決定部53では、論理座標系C1上で部品画像データ323の回転制御を行い、入出力部1に出力する時に物理座標系C2に変換されて描画されるものとする。なお、論理座標系C1と物理座標系C2との間における変換処理は、部品画像方向決定部53、描画データ生成処理部54あるいは入出力部1のいずれで行ってもよい。
部品画像方向決定部53は、図9に示すような、部品画像IDデータ5311と部品画像角度データ5312とを含む部品画像角度テーブル531を有している。部品画像角度テーブル531の内容は、ベース画像データ312を変更するイベントが発生した際に更新される。なお、図9の部品画像IDデータ5311は、図3の部品画像IDデータ322に対応している。
具体的に、部品画像方向決定部53は、入力イベント処理部2からベース画像変更要求イベント2123と、ベース画像IDデータ311とが入力されると、部品画像DB32から、ベース画像IDデータ311と合致するベース画像IDデータ321の部品画像IDデータ322を読み出し、読み出した部品画像IDデータ322を部品画像角度テーブル531の部品画像IDデータ5311に格納する。部品画像角度データ5312には、後に説明する回転角度決定処理前の場合には、現状表示されている各部品画像データ323の基準(0°)からの回転角度が格納されている。回転角度決定処理後の場合には、新たに決定された部品画像角度データ5312の値が格納され更新される。なお、部品画像角度データ5312の初期値には0°が格納されているものとする。
以下、部品画像方向決定部53の動作について説明する。
図10は、部品画像方向決定部53が表示モード格納部52を参照し、部品画像データ323の回転角度を決定するための処理の一例を示すフローチャートである。
図10に示すように、部品画像方向決定部53は、大別すると、表示モードの確認処理を実行するステップS1と、部品画像データ323の回転角度を決定する処理を実行するステップS2と、ステップS2で決定した回転角度を描画データ生成処理部54にデータ送信する処理を実行するステップS3との3ステップを実行する。
ステップS1において、表示モード格納部52を参照し、現在の表示モードを確認する。具体的には、表示モード格納部52の現表示モードデータ522のうち「T」が格納されたデータを検索し、現表示モードデータ522が「T」に対応する表示モードIDデータ521を取得する。
ステップS2において、現在の表示モードIDデータ521に対応する回転制御に関する各種データ(回転制御データ523、自動制御データ524、回転角度データ525)を参照し、参照した値に応じて部品画像データ323の回転角度を決定する(回転角度決定処理を実行する)。
具体的に、ステップS21において、回転制御データ523の値を参照し、回転制御データ523の値が「T」の場合はステップS22に移行し、回転制御データ523の値が「F」の場合は初期化処理を実行するステップS23に移行する。
ステップS22において、自動制御データ524の値を参照し、自動制御データ524の値が「T」の場合は自動制御処理を実行するステップS24に移行し、自動制御データ524の値が「F」の場合は手動制御処理を実行するステップS25に移行する。
ステップS23、ステップS24、ステップS25のいずれかの処理を実行することによって、部品画像データ323の回転角度が決定される。
ステップS2(ステップS23、ステップS24、ステップS25のいずれか)の後、ステップS3において、参照しているベース画像IDデータ321に対応する部品画像DB32のデータと、部品画像角度テーブル531のデータとを描画データ生成処理部54に送信して処理を終了する。
次に、ステップS2におけるステップS23、ステップS24、およびステップS25における処理の詳細について順に説明する。
ステップS23における初期化処理について説明する。
ステップS23における初期化処理は、表示モードIDデータ521が「1」、すなわち部品画像データ323の回転制御が行なわれない表示モードの場合に実行される。このとき、部品画像データ323が既に回転された状態であれば、回転角度の基準である0°になるよう部品画像データ323に対する回転制御を初期化する処理を行なう。
具体的には、部品画像角度テーブル531の部品画像角度データ5312をそれぞれ参照し、部品画像角度データ5312に「0°」の値を格納する。
ステップS24における自動制御処理について説明する。
ステップS24における自動制御処理は、表示モードIDデータ521が「2」、すなわち少なくとも1人以上のユーザの位置座標データ422に基づいて、部品画像データ323の表示方向を所定の角度だけ回転させる表示モードの場合に実行される。
部品画像方向決定部53は、表示モード格納部52に格納される回転角度データ525を参照する。例えば、図8では回転角度データ525の値は「45°」であり、このとき部品画像データ323の回転角度は、図11に示すような入出力部1の中心を原点P0とし、基準であるy軸正方向の0°から反時計方向に45°単位のいずれかの角度(0°、45°、90°、135°、180°、225°、270°、315°)に決定される。
図11に示すように、入出力部使用エリアA1は、エリアA101〜A112に分割されており、部品画像方向決定部53は、当該部品画像方向決定部53が有する図12に示すような入出力部使用エリアテーブル532にてエリアA101〜A112を管理している。なお、入出力部使用エリアA1の分割方法は、この限りではない。
図12に示すように、入出力部使用エリアテーブル532は、エリアA101〜A112のそれぞれを示すエリアIDデータ5321と、エリアA101〜A112のそれぞれの境界矩形を形成する4つの座標を示すエリア座標データ5322と、閲覧が推奨される角度の範囲を示す閲覧推奨角度データ5323と、当該エリアと対面するエリアIDデータ5321を格納した対面エリアデータ5324とを有している。
ここで、回転角度の算出について説明する。なお、以下に説明する回転角度の算出は一例であって、他の方法で回転角度を算出してもよい。
部品画像方向決定部53は、入出力部1の周囲に存在するユーザ数533を算出する。ユーザ数533は、ユーザ位置テーブル42の位置座標データ422の値が「−」でない、最も大きなユーザ番号データ421をユーザ数とする。例えば、ユーザ位置テーブル42が図7に示すような場合において、ユーザ数533は「2」となる。このとき、全ての位置座標データ422が「−」である場合、ユーザ数533は「0」であるものとし、以下で説明する回転角度決定処理は実行しない。
ユーザ数533が「1」の場合と、ユーザ数533が「1」より大きな場合とでは、回転角度決定処理の方法が異なる。
まず、ユーザ数533が「1」の場合について説明する。ユーザ数533が「1」の場合におけるユーザ位置テーブル42を図13に示し、入出力部1の周囲の状況を図11に示す。
部品画像方向決定部53は、ユーザ番号データ421が「1」に対応するユーザの位置座標データ4221を取得する。次いで、ユーザの位置座標データ4221のx座標の絶対値Xとy座標の絶対値Yとを用い、原点P0とユーザの位置座標データ4221とを結ぶ直線とy軸とで形成される角度θ1を求める。次いで、ユーザの位置座標データ4221のx座標の値が正かつy座標の値が負の場合は180°から角度θ1を引いた値を求め、x座標およびy座標の値がともに負の場合は180°に角度θ1を足した値を求め、x座標の値が負かつy座標の値が正の場合は360°から角度θ1を引いた値を求める。その後、角度θ1を挟む規定された2つの角度を算出し、より近い方の角度を部品画像角度データ5312に入力して更新する。
例えば、図11の場合では、距離Xは300、距離Yは700となり、角度θ1は23.19°となる。角度θ1(23.19°)は、0°と45°の間に位置し、その中間の22.5°より大きいため、0°よりも値が近い45°を部品画像角度データ5312に入力する。なお、角度θ1が2つの角度の中間(例えば、規定された2つの角度が0°と45°の場合は22.5°)に位置する場合は、より小さい角度を選ぶ(この場合は0°)など、どちらの角度を選択してもよい。
次に、ユーザ数533が「2」以上の場合について説明する。ユーザ数533が「2」の場合におけるユーザ位置テーブル42を図7に示し、入出力部1の周囲の状況を図14に示す。
部品画像方向決定部53は、全てのユーザの位置座標データ422(図7の場合は位置座標データ4221,4222)を取得する。次いで、入出力部使用エリアテーブル532を参照し、ユーザの位置座標データ4221が存在するエリアIDデータ5321を取得する。図14の場合では、ユーザ番号データ421が「1」のユーザが存在するエリアは「A102」、ユーザ番号データ421が「2」のユーザが存在するエリアは「A104」となる。このとき、各ユーザが存在するエリアIDデータ5321に対応する対面エリアデータ5324を参照し、対面エリアデータ5324に他のユーザのエリアIDデータ5321と合致するデータがあるか否かを確認する。対面エリアデータ5324に他のユーザのエリアIDデータ5321と合致するデータがなければ、各ユーザは同じような方向から入出力部1を見ているものと判断する。例えば、図14の場合では、エリアIDデータ5321の「A102」,「A104」のそれぞれの対面エリアデータ5324に「A104」「A102」がないため、同じような方向に向かって2人のユーザが存在していると判断する。
次いで、全てのユーザの位置座標データ4221,4222の重心座標P1を算出し、上述の方法と同様に、重心座標P1のx座標の絶対値X、y座標の絶対値Yから角度θ1を決定する。例えば、図14の場合では、重心座標P1はx=750(距離X)、y=450(距離Y)となり、角度θ1の値は59°となる。結果として算出される回転角度は45°となり、上記と同様に部品画像角度データ5312を更新する。
また、仮に対面エリアデータ5324に、他のユーザのユーザエリアIDデータ5321が1つでも存在すれば、ユーザが入出力部1の対面に存在すると判断する。この場合は、例えば基準の回転角度である「0°」となるようにステップS23と同様の処理を行なう。なお、ユーザの位置座標データ422の分布を加味し、ユーザが特定のエリア内に多く存在する位置に応じて回転角度を決定する処理を行うようにしてもよい。
ステップS25の手動制御処理について説明する。
ステップS25における手動制御処理は、表示モードIDデータ521が「3」、すなわち入力イベント処理部2が入出力部1から取得した、ユーザが入力した角度データ221を部品画像データ323の回転角度とする表示モードの場合に実行される。角度データ221は、現在の部品画像角度データ5312からのオフセット値である。従って、部品画像角度データ5312には、現在の部品画像角度データ5312の値に角度データ211の値を加えた値が格納される。
図1に戻り、描画データ生成処理部54は、部品画像方向決定部53から取得した各種データ(部品画像角度テーブル531に格納された各データ、部品画像DB32に格納された各データ)に基づいて部品画像データ323の描画方向(回転角度)を変更し、変更した部品画像データ323とベース画像データ312とを合成(重畳描画)して入出力部1に出力する。
具体的に、描画データ生成処理部54は、部品画像方向決定部53から、現在設定されているベース画像IDデータ321に対応する部品画像DB32のデータと、部品画像角度テーブル531に格納された各データとを取得する。
次いで、ベース画像DB31から、ベース画像IDデータ311に対応するベース画像データ312を取得し、取得したベース画像データ312を中心が論理座標系C1上の原点と一致するように配置する。
次いで、部品画像DB32の部品画像データ323を1つずつ取得し、取得した部品画像データ323を論理座標系C1の原点を基準として配置し、当該部品画像データ323の部品画像IDデータ322に対応する部品画像角度データ5312に基づいて、原点を中心とする回転制御処理を実行する。
次いで、部品画像DB32の描画基準座標データ324の位置に描画する。
上記の処理を全ての部品画像データ323に対して実行し、論理座標系C1上に描画された描画データ(ベース画像データ312および部品画像データ323)を入出力部1に送信する。入出力部1では、上述の通り、論理座標系C1の描画データを物理座標系C2の描画データに変換し、ディスプレイの描画エリアに表示させる。図15は、入出力部1における描画データの表示の一例を示している。
以上のことから、本実施の形態1によれば、ユーザの状況(ユーザの人数、ユーザの位置、ユーザによる所定の操作)に応じて表示モードを選択し、選択した表示モードに基づく方法で各部品画像データ323の表示方向(回転角度)を決定して表示することができる。従って、ディスプレイ全体に表示されたベース画像データ312の表示方向を変更することなく、方向性を有する部品画像の表示方向のみを議論や作業の進行に合わせて適切に変更することができるため、ユーザの表示画像に対する視認負荷を低減し、ユーザが移動することなくより円滑に議論や作業を進めることができる。具体的には、入出力部1の周囲に存在する少なくとも1人以上のユーザの位置を考慮し、当該ユーザの位置に応じて部品画像データ323の表示方向を自動的に変更して表示することによって、ユーザの部品画像データ323に対する視認性を向上させる効果が得られる。また、ユーザが手動で部品画像データ323の回転角度を入力することによって、特定の位置に存在するユーザに向けて部品画像データ323を表示させることができ、当該ユーザの視認性を向上させる効果が得られる。
<実施の形態2>
実施の形態1による情報共有支援装置では、表示モード格納部52において部品画像データ323の回転方向を自動制御する表示モード(表示モードIDデータ521が「2」の表示モード)が選択された際、複数のユーザが入出力部1の対面エリアに存在しない場合は、ユーザが存在する位置に近い所定の方向(図8の場合では45°刻みの方向)に回転させていた。しかし、予め定められた方向(角度)ではなく、ユーザの位置の変化に応じて回転方向(回転角度)を細かく変化させる回転制御方法も考えられる。そこで、本発明の実施の形態2では、ユーザの位置に応じた回転角度を算出する方法について説明する。なお、以下に説明する回転角度の算出方法は一例であり、その他の算出方法を用いてもよい。
例えば、実施の形態1の表示モード格納部52において、表示モードIDデータ521に「4」、回転制御データ523に「T」、自動制御データ524に「T」、回転角度データ525に例えば「Free」という文字列が入力された表示モードが格納されているものとする。表示モードIDデータ521が「4」に対応する現表示モードデータ522が「T」として格納されている場合、部品画像方向決定部53は、図10のステップS24において以下の処理を行なう。
部品画像方向決定部53は、実施の形態1と同様に、入出力部1の周囲に存在するユーザ数533を算出する。なお、ユーザ数533が「0」の場合は、以下で説明する回転角度決定処理は実行しない。
まず、ユーザ数533が「1」の場合について説明する。ユーザ数533が「1」の場合におけるユーザ位置テーブル42を図13に示し、入出力部1の周囲の状況を図11に示す。
部品画像方向決定部53は、ユーザ番号データ421が「1」に対応するユーザの位置座標データ4221を取得し、実施の形態1と同様の方法で角度θ1を求める。ユーザの位置座標データ4221のx座標の値が正かつy座標の値が負の場合は180°から角度θ1を引いた値を、x座標およびy座標の値がともに負の場合は180°に角度θ1を足した値を、x座標の値が負かつy座標の値が正の場合は360°から角度θ1を引いた値を求め、求めた値を部品画像角度データ5312に入力して更新する。例えば、図11の場合では、距離Xは300、距離Yは700、角度θ1は23.1°となり、当該角度の値(23.1°)を部品画像角度データ5312に入力する。
次に、ユーザ数533が「2」以上の場合について説明する。ユーザ数533が「2」の場合におけるユーザ位置テーブル42を図7に示し、入出力部1の周囲の状況を図14に示す。
部品画像方向決定部53は、実施の形態1と同様に、全てのユーザの位置座標データ4221,4222を取得するとともに、各ユーザが存在するエリアIDデータ5321を取得する。また、対面エリアデータ5324を参照し、各ユーザが同じような方向から入出力部1を見ているか否かを判断する。ユーザが対面に存在しない(各ユーザが同じような方向から入出力部1を見ている)と判断された場合は、同様に全てのユーザの位置座標データ4221,4222の重心座標P1を算出し、角度θ1を決定する。例えば、図14の場合では、重心座標P1はx=750(距離X)、y=450(距離Y)、角度θ1は59°となり、当該角度の値(59°)を部品画像角度データ5312に入力する。
一方、対面にユーザが存在すると判断された場合は、例えばユーザ位置テーブル42のユーザ番号データ421が「1」であるユーザの方向に部品画像データ323が回転するように、ユーザ数533が「1」の場合と同様の処理を実行する。なお、ユーザの位置座標データ422の分布を加味し、ユーザが所定のエリア内に多く存在する方向に対して、ユーザ数533が「2」以上の場合と同様の処理を実行してもよい。
上記の処理を実行し、全ての部品画像角度データ5312に角度θ1を入力した後、実施の形態1と同様に、描画データ生成処理部54にて描画データ(ベース画像データ312、部品画像データ323)を生成し、入出力部1に出力する。
以上のことから、本実施の形態2によれば、実施の形態1による効果に加えて、ユーザの位置の変化に応じて部品画像データ323の回転角度を細かく制御することができる。
<実施の形態3>
実施の形態1,2による情報共有支援装置では、表示モード格納部52において部品画像データ323の回転角度を自動制御する表示モード(表示モードIDデータ521が「2」の表示モード)が選択された際、複数のユーザが入出力部1を挟んだ対面エリアに存在する場合は、特定のユーザに向けるよう部品画像データ323の回転角度を決定する処理を実行している。しかし、ディスプレイ上に表示される部品画像データ323の全てが決定された方向に回転して表示されるため、対面エリアに存在するユーザが当該ユーザの近くで表示される部品画像データ323を見る際、部品画像データ323を逆方向から見ることになり見辛くなることが予想される。そこで、本発明の実施の形態3では、部品画像データ323の回転角度を自動制御する際、全ての方向に対して平等に表示するために、ディスプレイの中心から放射状に配向して表示するよう部品画像データ323を回転させる方法について説明する。なお、以下に説明する方法は一例であり、その他の方法を用いてもよい。
例えば、実施の形態1の表示モード格納部52において、表示モードIDデータ521に「5」、回転制御データ523に「T」、自動制御データ524に「T」、回転角度データ525に例えば「Radial」という文字列が入力された表示モードが格納されているものとする。表示モードIDデータ521が「5」に対応する現表示モードデータ522が「T」として格納されている場合、部品画像方向決定部53は、図10のステップS24において以下の処理を行なう。
まず、部品画像方向決定部53は、論理座標系C1上における各部品画像データ323の描画基準座標データ324を物理座標系C2上における座標データに変換する。なお、本実施の形態3では、実施の形態1と同様に、論理座標系C1上と物理座標系C2上の表示データの大きさは同じであるものとする。例えば、図3に示す部品画像DB32の部品画像IDデータ322が「T0001」に対応する物理座標系C2上の描画基準座標データ324は、x=−800、y=−300となる。このときの物理座標系C2上における部品画像データ323の配置の一例を図16に示す。
次いで、物理座標系C2のy軸正方向を0°とし、そこから原点P0(入出力部1におけるベース画像データ312および部品画像データ323を描画する描画エリアの中心)を中心とした物理座標系C2上における各部品画像データ323の描画基準座標データ324までの角度θ2を求める。計算方法は、実施の形態2におけるステップS24と同様であり、各部品画像データ323の描画基準座標データのx座標の絶対値Xと、y座標の絶対値Yとに基づいて算出する。例えば、部品画像IDデータ322が「T0001」の部品画像データ323の場合において、角度θ2は249.4°となる。この角度θ2(ここでは249.4°)を部品画像角度テーブル531の部品画像角度データ5312に入力する。
上記の処理を全ての部品画像データ323について実行し、実施の形態1と同じように描画データ生成処理部54にて描画データを生成した後、入出力部1に出力する。入出力部1のディスプレイ上に表示される描画データの一例を図17に示す。
以上のことから、本実施の形態3によれば、部品画像データ323を入出力部1のディスプレイの全ての方向に対して放射状に配向して表示させているため、入出力部1の周囲に存在する特定のユーザのみが視認性が悪くなるといった不具合を解消することができる。
<実施の形態4>
実施の形態1,2による情報共有支援装置では、入出力部1のディスプレイ全体に表示された全ての部品画像データ323を特定の方向に回転させて表示している。当該特定方向にのみユーザが存在する場合や、説明時に当該特定方向に表示する場合には、上記の表示方法でも支障はないが、ディスプレイを挟んだ対面エリアにユーザが存在し、かつ各ユーザが当該ユーザの近くに表示される部品画像データ323を見て作業や議論を行なう状況では、一部のユーザが適切な方向から部品画像データを見ることができない場合がある。
また、実施の形態3による情報共有支援装置では、ディスプレイの中心から外向きの放射状に部品画像データ323を回転させて表示している。これは、ディスプレイの四辺全てに(ディスプレイの周囲に満遍なく)ユーザが存在する場合には有効な表示方法であると考えられるが、ディスプレイの特定の辺の近くに集中してユーザが存在する場合は一部の部品画像データ323がユーザの存在しない方向に表示され、ユーザにとって当該部品画像データ323を見る際の認知負荷が高くなってしまう。
そこで、本発明の実施の形態4では、ディスプレイ上において画像が表示されるエリア全体を示す画像表示領域を自動で分割して少なくとも2つ以上の回転エリアを生成し、生成した回転エリアごとに部品画像データ323の表示角度を自動で変更する方法について説明する。
図18は、本実施の形態4による情報共有支援装置の構成の一例を示すブロック図である。図18に示すように、本実施の形態4による情報共有支援装置は、実施の形態1〜3と同様に、入出力部1と、入力イベント処理部7と、画像データ管理部3と、ユーザ検出部4と、画面制御部8とを備えている。また、画面制御部8は、表示モード変更処理部81と、表示モード格納部82と、部品画像方向決定部83と、描画データ生成処理部84と、回転エリア生成部85と、回転エリア格納部86とを備えている。
なお、入出力部1、画像データ管理部3、およびユーザ検出部4は、実施の形態1〜3と同様であるため、ここでは説明を省略する。以下では、主に入力イベント処理部7および画面制御部8について説明する。
入力イベント処理部7は、実施の形態1と同様の方法で、入出力部1を介してユーザが入力した操作イベントを解析するが、イベントが部品画像角度変更要求イベント2122であると判断した場合には、当該イベントが発生した物理座標系C2における座標データを部品画像方向決定部83に送信する。
表示モード格納部82では、図1に示す表示モード格納部52における各表示モードに対応する部品画像データ323の回転制御方法に関する情報に加えて、各表示モードに対応する回転エリアの制御方法に関する情報が格納されている。表示モード格納部82に格納されている各情報は、部品画像方向決定部83にて回転角度を決定する際、および回転エリア生成部85にて回転エリアを決定する際に参照される。
具体的に、表示モード格納部82では、図19に示すような、入出力部1のディスプレイに表示される画像表示領域を2つ以上に分割して自動で回転エリアを生成するか否かを示す回転エリア制御データ827が格納されている。すなわち、各表示モードに対応した回転エリアの制御方法に関する情報を格納している。なお、図19において、表示モードIDデータ821、現表示モードデータ822、回転制御データ823、自動制御データ824、回転角度データ825、モード説明データ826のそれぞれは、図8に示す表示モードIDデータ521、現表示モードデータ522、回転制御データ523、自動制御データ524、回転角度データ525、モード説明データ526に対応している。
回転エリア制御データ827には、回転エリアを生成する場合は「T」、回転エリアを生成しない、つまり回転エリアがディスプレイの画像表示領域全体(回転エリア数が1つ)の場合は「F」が格納される。ここで、回転エリア制御データ827が「F」の表示モードの場合は、実施の形態1〜3と同様に、ディスプレイ上の全ての部品画像を、回転制御させない表示モード、ユーザ位置に応じて所定の方向または放射状に自動で回転制御させる表示モード、手動で回転させる表示モードのいずれかで回転制御される。一方、回転エリア制御データ827が「T」として格納されている、2つ以上の回転エリアを自動で生成する表示モードとしては、各回転エリア内で予め定められた初期表示の方向のみに向けて部品画像データ323を表示する表示モード(表示モードIDデータ821は「4」)、回転エリアごとにユーザ位置に応じて部品画像データ323の回転角度を自動で制御する表示モード(表示モードIDデータ821が「5」)、回転エリアごとに部品画像データ323の回転角度を手動で制御する表示モード(表示モードIDデータ821が「6」)の3種類の表示モードが存在する。特に、表示モードIDデータ821が「5」の表示モードの場合、回転角度データ825には実施の形態1,2と同様に、回転角度(例えば45°)または「Free」という文字列が格納される。
表示モード変更処理部81は、表示モード変更要求イベント2121が入力イベント処理部7から入力されると、図1の表示モード変更処理部51と同様の方法で、表示モードIDデータ821を特定し、特定した表示モードIDデータ821が現在の表示モードと異なる場合は表示モード格納部82の現表示モードデータ822を更新する。このとき、現表示モードデータ822に「T」が格納された表示モードIDデータ821に対応する回転エリア制御データ827に「T」が格納されていれば、回転エリア生成部85に対して回転エリアの生成を指示する信号を送信する。
回転エリア格納部86は、図20に示すように、回転エリアIDデータ851と、回転エリアを表す座標の点列データを格納するエリア点列データ852とを対応付けて格納している。すなわち、回転エリア格納部86は、回転エリア生成部85にて生成された回転エリアの座標位置を示す座標データを格納している。エリア点列データ852としては、例えば回転エリアを区切る各直線の交点の座標、またはディスプレイの画像表示領域との交点の座標が格納される。なお、回転エリアを区切る線は曲線であってもよく、その場合は曲線の制御点のデータも格納される。また、交点座標ではなく、回転エリアを構成する全ての座標を格納してもよい。回転エリアIDデータ851に対応するエリア点列データ852に座標の点列データが格納されていない場合は、例えば「−」が格納される。
本実施の形態4において、回転エリア生成部85は、ディスプレイ上の画像表示領域(描画エリア)を自動で分割し、ユーザ数と同じ数の回転エリアを生成する。回転エリア生成部85は、表示モード変更処理部81から回転エリアの生成を指示する信号を受信すると、ユーザ位置テーブル42を参照してユーザ数533を算出する。ユーザ数533が「0」または「1」の場合は回転エリアを分割して生成しないため、例えばディスプレイの画像表示領域を示す4点の座標の点列データを、回転エリア格納部86の回転エリアIDデータ851が「1」に対応するエリア点列データ852に格納する(図20参照)。一方、ユーザ数533が「2」以上の場合は、回転エリアの生成処理を実行する。
図21は、物理座標系C2におけるユーザ数533が「3」の場合の入出力部1の周囲の状況の一例を示す図である。図21において、画像表示領域は、座標AP1〜AP4の4点を結ぶ矩形の領域であるものとする。
回転エリア生成部85は、ユーザ位置テーブル42から各ユーザの位置座標データ422(図21では、ユーザの位置座標データ4221,4222,4223)を取得し、取得した位置座標データ422に基づいて、物理座標系C2の原点P0と各ユーザの位置座標データ422とを結ぶ直線間の角度を求める。次いで、求めた角度をそれぞれ2等分する直線L1〜L3を算出し、直線L1〜L3と画像表示領域の境界との交点の座標AP5〜AP7を算出する。次いで、原点P0と、交点AP5〜AP7と、画像表示領域の境界とからなる図形(領域)を回転エリアRA01〜RA03として決定し、各回転エリアの頂点の点列データ、または、各回転エリアに含まれる全ての座標を計算し、回転エリアIDデータ851の「1」〜「3」のそれぞれに対応するエリア点列データ852に格納する。
部品画像方向決定部83では、図1の部品画像方向決定部53とは、部品画像データ323の回転角度決定処理の一部が異なる。本実施の形態4では、実施の形態1にて説明した図10のステップS1における表示モード確認処理、およびステップS3のデータ送信処理は同じである。しかし、本実施の形態4では、ステップS2の最初に回転エリア制御を行なうか否かを判断し、回転エリア制御を行うと判断した場合は部品画像データ323の回転制御モードを解析し、回転角度決定処理にて回転エリアごとに部品画像データ323の回転角度を決定する。以下、部品画像方向決定部83の動作について、図10を参照して説明する。
ステップS1において、表示モード格納部82から現在設定されている表示モードIDデータ821を取得し、現在の表示モードを確認する。
ステップS2において、現在の表示モードIDデータ821に対応する各種制御データを取得する。具体的に、ステップS21の処理を実行する前に、回転エリア制御データ827の値を確認し、回転エリア制御データ827の値が「F」の場合は回転エリア制御を行なわないため、実施の形態1〜3と同様に、図10のステップS21以降の処理を実行する。一方、回転エリア制御データ827の値が「T」の場合はステップS21に移行する。
ステップS21において、回転制御データ823の値を参照し、回転制御データ823の値が「T」の場合はステップS22に移行し、回転制御データ823の値が「F」の場合は初期化処理を実行するステップS23に移行する。
ステップST22において、実施の形態1と同様に、自動制御データ824を参照し、自動制御データ824の値が「T」の場合は自動制御処理を実行するステップS24に移行し、自動制御データ824の値が「F」の場合は手動制御処理を実行するステップS25に移行する。
ステップS23、ステップS24、ステップS25のいずれかの処理を実行することによって部品画像データ323の回転角度を決定し、決定した回転角度の値を部品画像角度テーブル531に入力してデータを更新する。
ステップS2(ステップS23、ステップS24、ステップS25のいずれか)の後、ステップS3において、参照しているベース画像IDデータ321に対応する部品画像DB32のデータと、部品画像角度テーブル531のデータと、回転エリア格納部86に回転エリアの境界線の点列データ(エリア点列データ852)が格納されていれば当該エリア点列データ852とを描画データ生成処理部84に送信して処理を終了する。
次に、本実施の形態4における上記のステップS23、ステップS24、およびステップS25における処理の詳細について説明する。
ステップS23における初期化処理について説明する。
ステップS23における初期化処理は、例えば図19の表示モードIDデータ821が「4」、すなわち部品画像データ323の回転制御が行なわれない表示モードの場合に実行される。実施の形態1では、ディスプレイ上の全ての部品画像データ323を物理座標系C2のy軸正方向(0°)となるように初期化していたが、本実施の形態4では、回転エリアごとに初期表示方向を設定し、各回転エリア内の全ての部品画像データ323を設定した方向に回転させる処理を実行する。
具体的には、回転エリア格納部86の回転エリアIDデータ851が「1」に対応するエリア点列データ852から順に参照し、現在表示しているベース画像データ312に重畳描画される部品画像データ323に対応する描画基準座標データ324が、現在参照している回転エリアに含まれるか否かを判断する。描画基準座標データ324が回転エリアに含まれていると判断した場合は、当該部品画像IDデータ322を記憶する。部品画像データ323の回転角度は、例えば自動で、図21の回転エリアRA01の場合において、線分AP5AP4と、線分AP6AP4との長さを比較し、距離が長い方の線分に対して垂直となるような回転角度(x軸正方向、45°)を設定する。あるいは、表示モード変更処理部81にて表示モードを更新する際に、手動で初期表示方向(角度)をユーザに入力させておき、ユーザが入力した角度を回転角度として設定してもよい。この場合、具体的には、予め入力イベント処理部7に初期方向入力要求イベント(例えば、操作パターンとして掌を直線状にスライドさせるなど)を登録しておき、表示モードの更新時に初期方向入力要求イベントの発生を待ち、その後のイベント発生座標に基づいて特定された制御対象となる回転エリアに対して、入力された方向とy軸正方向と間の角度を回転角度とする。回転角度の算出後、記録した部品画像IDデータ322に対応する部品画像角度テーブル531の部品画像角度データ5312の値を、算出した回転角度の値に更新する。上記の処理を全ての回転エリアについて実行する。
ステップS24における自動制御処理について説明する。
ステップS24における自動制御処理は、例えば図19の表示モードIDデータ821が「5」、すなわちユーザの位置に基づき、部品画像データ323の回転角度を回転エリアごとに自動で決定する表示モードの場合に実行される。
部品画像方向決定部83は、ステップS23Bと同様に、1つずつ回転エリアを参照し、当該回転エリアに含まれる部品画像IDデータ322を算出して記憶する。次いで、ユーザの位置座標データ422を参照し、現在参照している回転エリアと当該回転エリアの近くに存在するユーザとを関連付ける。例えば、回転エリアRA01の場合は位置座標4222のユーザと関連付けられる。次いで、回転エリアの重心座標Gを求め、重心座標Gとユーザの位置座標データ422とを結ぶ直線とy軸とから形成される角度θ1を算出し、実施の形態1、2と同様の方法で回転角度を得る。そして、現在参照している回転エリアに属する部品画像データ323の部品画像角度データ5312を、算出した回転角度の値に更新する。上記の処理を全ての回転エリアに対して実行する。
ステップS25の手動制御処理について説明する。
ステップS25における手動制御処理は、例えば図19の表示モードIDデータ821が「6」、すなわち回転エリアごとにユーザが入力した角度データ221を、当該回転エリアにおける部品画像データ323の回転角度とする表示モードの場合に実行される。角度データ211は、実施の形態1と同様に、現在の部品画像角度データ5312からのオフセット値である。
入力イベント処理部7は、入力された部品画像角度変更要求イベント2122の操作パターンから角度データ221を算出すると同時に、回転角度入力イベントが発生した物理座標系C2の座標データを部品画像方向決定部83に送信する。部品画像方向決定部83では、入力イベント処理部7から取得した座標データに基づいて、イベントが発生した回転エリアを関連付ける。そして、当該回転エリアに含まれる部品画像IDデータ322を算出し、算出した部品画像IDデータ322に対応する部品画像角度データ5312に、角度データ221を加えた値を格納する。
上記より、回転エリアごとに異なる回転角度を部品画像角度データ5312に格納するため、描画データ生成処理部84にて描画データを作成すると、回転エリアごとに異なる方向に描画された部品画像データ323を含む画像が入出力部1に表示される。
なお、回転エリアの境界の視認が容易なように、回転エリア生成部85にて直線L1〜L3を算出する際に、直製L1〜L3の点列データも回転エリア格納部86に格納しておき、描画データ生成処理部84にて直線L1〜L3を含む描画データを入出力部1に出力してもよい。
以上のことから、本実施の形態4によれば、ユーザの状況に応じて回転エリアを自動で生成可能な表示モードを実行し、各回転エリアごとに部品画像データ323の回転角度を決定して表示させることができる。従って、各ユーザが当該ユーザの近くに表示される部品画像データを見て作業や議論を行う場合などにおいて、複数のユーザがディスプレイを挟んだ対面エリアに存在する場合であっても、各ユーザは必要な部品画像データを低い視認負荷で見ることができる。
<実施の形態5>
実施の形態4による情報共有支援装置では、回転エリアをユーザの位置に応じて自動で生成していたが、本発明の実施の形態5では、ディスプレイ上の画像表示領域をユーザの入力によって手動で分割して複数の回転エリアを生成することが可能な手動生成方法について説明する。なお、以下に説明する方法は一例であり、その他の方法を用いてもよい。なお、以下では、図18を参照して実施の形態4による情報共有支援装置の構成および動作について説明する。
本実施の形態5における情報共有支援装置において、入力イベント処理部7は、回転エリア手動生成要求イベントに関する情報をさらに追加して格納するとともに、ユーザによって入力されたエリア分割データを回転エリア生成部85に送信する機能を有している。
また、表示モード格納部82は、回転エリアを自動生成するか手動生成するかを規定する回転エリア自動制御データ828を格納している。
また、回転エリア生成部85は、入力イベント処理部7から取得したエリア分割データに基づいて回転エリアを生成する機能を有している。
その他の構成および動作は、実施の形態4と同様であるため、ここでは説明を省略する。
入力イベント処理部7には、イベントテーブル21のイベント種類データ212に「回転エリア手動生成要求イベント」、操作パターン213に例えば「画像表示領域の境界座標を含む、なぞるジェスチャ」などの操作パターンが登録されている。当該回転エリア手動生成要求イベントは、後に説明する表示モード変更要求イベント2121が発生した際、回転エリア制御を手動で行う表示モードであると判断した場合に、ユーザによる入力を受け付ける。
ユーザは、回転エリアを生成するために、例えば図22に示すような回転エリアの境界となる直線または曲線を描くように入出力部1のディスプレイ上で自由になぞる。図22の場合では、L4に示す線分(破線)を描くようになぞった後、L5の線分(実線)を描くようになぞっている。ただし、制約として、線分L4,L5のように、なぞる際には少なくとも1つ以上の画面表示領域の境界座標(図22の線分L4の場合は交点AP8,AP10、線分L5の場合は交点AP11)を含めるようにする。このように入力されると、パターンマッチングにより回転エリア手動生成要求イベントであると判断し、線分の操作パターンデータを保存する。上記の画像表示領域における分割操作イベントの受け付けは、例えば一定時間が経過すると終了し、終了した時点で回転エリアを構成する線分が決定されるものとする。そして、各線分の操作パターンデータ(エリア分割データ)を回転エリア生成部85に送信する。
表示モード格納部82では、実施の形態4による表示モード格納部82に対して、回転エリア自動制御データ828がさらに格納されている。実施の形態4のように自動で回転エリアを生成する場合は回転エリア制御データ827に「T」が入力され、本実施の形態5のように手動で回転エリアを生成する場合は「F」が入力される。また、回転エリア制御データ827が「F」の場合には、回転エリア自動制御データ828に「−」が入力される。
回転エリア生成部85では、実施の形態4による回転エリア生成部85に加えて、手動入力による回転エリア生成処理について規定している。回転エリア生成部85は、実施の形態4と同様に、表示モード変更処理部81から回転エリアの生成を指示する信号を受信した場合、表示モード格納部82の現在の表示モードを参照する。このとき、回転エリア自動制御データ828が「F」である場合は、手動回転エリア生成処理を実行する。
ここで、手動回転エリア生成処理について説明する。
まず、入力イベント処理部7から送信された、回転エリアの境界を示す線分ごとに描かれた操作パターンデータ(ユーザが手動で描画エリアを分割したエリア分割データ)に基づいて、線分を構成する座標の点列データを算出する。次いで、全ての線分同士の交点座標(図22ではAP9)と、各線分と画像表示領域の境界との交点座標(図22ではAP8,AP10,AP11)とを算出し、算出した座標に基づいて各回転エリアRA04〜RA06を形成する座標の点列データを求める。例えば図22の回転エリアRA04の点列座標は、AP4,AP8,AP9,AP11となる。そして、これらの回転エリアの点列座標と、各線分の点列データとを回転エリア格納部86のエリア点列データ852に格納する。
なお、部品画像方向決定部83による部品画像方向決定処理は、実施の形態4と同様の処理が実行される。
以上のことから、本実施の形態5によれば、ユーザが手動で入力した線分に基づいて回転エリアを手動で生成することができる。従って、ユーザが自由により細かな回転エリアを生成することができるため、作業や議論をより効率的に行うことができる。
<実施の形態6>
実施の形態4,5による情報共有支援装置では、2つ以上の回転エリアが存在する場合において、全ての回転エリアに対して同一の回転制御を行っている(同一の表示モードを適用している)。例えば、図19の表示モードIDデータ821の値が「5」の場合は、全ての回転エリアが自動で回転制御している。しかし、ユーザの作業状況によっては、回転エリアごとに異なる回転制御を行いたい場合(例えば、ある回転エリアでは自動制御、別の回転エリアでは手動制御など)があると考えられる。そこで、本発明の実施の形態6では、回転エリアごとに部品画像データ323の回転制御方法を設定することが可能な情報共有支援装置について説明する。なお、以下では、図18を参照して実施の形態6による情報共有支援装置の構成および動作について説明する。
本実施の形態6による情報共有支援装置において、回転エリア格納部86は、回転エリアに含まれる部品画像データ323の回転制御方法を自動、手動、または制御なしのいずれであるのかを示すエリア回転制御データ853と、自動制御の場合に参照されるエリア回転角度データ854とを格納している。
また、入力イベント処理部7は、表示モード変更要求イベント2121が発生した場合は、当該イベントが発生した物理座標系C2の座標を表示モード変更処理部81に送信する機能を有している。
また、表示モード格納部82は、回転エリアを設定する表示モードにおいて回転エリアの表示を個別に制御するか否かを示す個別制御データ829を格納している。
また、表示モード変更処理部81は、表示モード変更要求イベント2121が発生すれば、イベントが発生した座標データに基づいて表示モードが変更された回転エリアを特定し、かつ、表示モードIDデータ821を特定し、当該表示モードIDデータ821に対応する回転制御方法を回転エリア格納部86のエリア回転制御データ853に格納している。
また、部品画像方向決定部83は、回転エリア格納部86に格納されたエリア回転制御データ853の回転制御方法に従って、回転エリアごとに部品画像データ323の回転角度を決定する処理を実行する。
その他の構成および動作は、実施の形態4,5と同様であるため、ここでは説明を省略する。
回転エリア格納部86には、エリア回転制御データ853が格納されており、部品画像データ323を、ユーザの位置に応じて自動制御する場合は例えば「自動」、ユーザが入力した回転角度を反映させる手動制御の場合は例えば「手動」、回転制御を行なわない場合は例えば「制御なし」などが格納される。また、自動制御の場合には、エリア回転角度データ854に、所定の角度単位で回転させる場合はその角度(例えば45°)、ユーザの位置に応じて自由に回転させる場合は例えば「Free」などが格納される。
表示モード格納部82には、各回転エリアを個別に制御するか否かを示す個別制御データ829が格納されている。回転エリア制御データ827が「T」の場合において、個別制御データ829には、回転エリアごとに制御する表示モードの場合は例えば「T」、実施の形態4,5のように回転エリア全体を特定の回転方法で制御する場合は例えば「F」が格納される。また、回転エリア制御データ827が「F」の場合には、回転エリア自体が生成されないため、個別制御データ829には例えば「−」が格納される。このときの表示モードにおいて、回転制御データ823、自動制御データ824、回転角度データ825のそれぞれには、モード変更時の初期表示の値が格納される。
以下、表示モードが各回転エリアで個別に回転制御を行なうモードに変更された後の処理について説明する。
入出力部1を介してユーザの入力があった際、入力イベント処理部7は、入力されたイベントが表示モード変更要求イベント2121であると解析した場合は、操作パターンデータ22と、当該操作パターンデータ22が入力された位置座標を表示モード変更処理部81に送信する。
表示モード変更処理部81は、回転エリア格納部86に格納されているエリア点列データ852を確認して、イベントが発生した位置座標データが含まれる回転エリアを特定する。次いで、操作パターンデータ22を解析し、表示モード格納部82に格納されている個別制御データ829が「F」(回転エリア全体を制御する表示モード)であるデータの中から表示モードIDデータ821を特定する。これは、画面全体を制御する表示モードのテーブルに、全ての回転制御方法が記載されているためである。表示モードIDデータ821の特定後、当該表示モードIDデータ821に対応する回転制御データ823、自動制御データ824、および回転角度データ825をそれぞれ参照し、回転エリア格納部86に格納されている回転エリアのエリア回転制御データ853、エリア回転角度データ854に各データを格納する。上記の処理により、回転エリア固有の回転制御方法に関する情報が回転エリア格納部86に格納されることになる。
部品画像方向決定部83では、図10のステップS1において、表示モード格納部82に格納されている現在設定されている表示モードを参照するが、ここで個別制御データ829が「F」の場合は、実施の形態4、5と同じ処理を実行する。一方、個別制御データ829が「T」の場合は、回転エリア格納部86に格納されているエリア回転制御データ853と、エリア回転角度データ854とを参照し、回転エリアごとの回転制御方法に従って部品画像データ323の回転角度を決定する。以降の処理方法は、実施の形態4,5と同じである。
以上のことから、本実施の形態6によれば、ユーザによって回転エリアごとに回転制御方法を設定することができるため、各ユーザが回転エリア内において自身の作業内容に合った回転制御方法を選択することができて作業効率が向上する。
なお、図1,18において、入力イベント処理部2,7、表示モード変更処理部51,81、部品画像方向決定部53,83、描画データ生成処理部54,84、回転エリア生成部85、位置情報入力部41の各々は、ソフトウェアに基づくCPU(Central Processing Unit)を用いたプログラム処理を実行することによって実現されるようにしてもよい。また、可能であれば、入力イベント処理部2,7、表示モード変更処理部51,81、部品画像方向決定部53,83、描画データ生成処理部54,84、回転エリア生成部85、位置情報入力部41の各々を、ハードウェア(例えば、電気信号に対して特定の演算あるいは処理を行うように構成された演算/処理回路等)として構成するようにしてもよい。また、上記の両者を混在させてもよい。
また、図1,18において、ベース画像DB31、部品画像DB32、ユーザ位置テーブル42、表示モード格納部52,82、回転エリア格納部86の各々は、データを保持しておく機能を、例えばHDD(Hard Disk Drive)、DVD(Digital Versatile Disk)、半導体メモリなどによって構成してもよい。また、入力イベント処理部2,7、部品画像方向決定部53,83の各々が有するデータ(テーブル)を保持する機能についても同様である。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。