以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムの例を示す図である。
第1の実施の形態の情報処理システムは、AR技術を用いて、ユーザが注目するオブジェクトに対応する付加情報を画面に表示する。例えば、この情報処理システムは、帳票に印字された印字データに対応する、帳票に印字されていない付加情報を表示することで、帳票を使用した業務を支援することができる。その場合、帳票には、事務処理に用いられる各種の帳面や帳簿、伝票類が含まれうる。付加情報には、帳票に印字された氏名に対応する人物プロファイルや、帳票に印字された数値データを可視化したグラフなど、印字データを補足するための業務上有用な補足情報が含まれうる。第1の実施の形態の情報処理システムは、表示制御装置1、撮像手段2および表示手段3を有する。
表示制御装置1は、後述するように表示手段3の表示内容を制御する。表示制御装置1は、ユーザの操作する端末装置でもよいし、端末装置と通信を行うサーバ装置でもよい。前者はクライアント装置やクライアントコンピュータと呼ばれることもあり、後者はサーバコンピュータと呼ばれることもある。撮像手段2は、現実の空間を継続的に撮像する。撮像手段2は、例えば、デジタルスチルカメラまたはデジタルビデオカメラである。表示手段3は、表示制御装置1の制御のもと各種の情報を表示する。表示手段3に表示されうる情報には、撮像手段2を用いて撮像された撮像画像や、撮像画像に写ったオブジェクトに対応する付加情報などが含まれる。表示手段3は、例えば、液晶ディスプレイである。
ここで、撮像手段2および表示手段3は、ユーザの操作する端末装置に含まれていてもよい。表示制御装置1は、撮像手段2および表示手段3と一体に形成されていてもよい。すなわち、表示制御装置1が撮像手段2および表示手段3を含む端末装置であってもよい。また、表示制御装置1は、撮像手段2や表示手段3と分離していてもよい。すなわち、表示制御装置1が端末装置と通信するサーバ装置であってもよい。
表示制御装置1は、制御部1aを有する。制御部1aは、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサを含んでもよい。また、制御部1aは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、例えば、表示制御装置1が備えるRAM(Random Access Memory)やHDD(Hard Disk Drive)などの記憶装置に記憶された表示制御プログラムを実行する。なお、複数のプロセッサの集合(マルチプロセッサ)を単に「プロセッサ」と呼ぶこともある。
制御部1aは、以下に説明する第1の表示制御と第2の表示制御とを選択的に実行する。第1の表示制御では、制御部1aは、撮像手段2を用いて撮像された撮像画像を表示手段3に表示させる。そして、制御部1aは、撮像画像に写ったオブジェクトの中から、対象オブジェクトの指定をユーザから受け付ける。撮像画像に帳票が写っている場合、例えば、対象オブジェクトとして帳票の中の1または2以上の帳票項目が指定される。
対象オブジェクトが指定されると、制御部1aは、指定された対象オブジェクトに対応する付加情報を取得する。付加情報の例として、指定された帳票項目に関連するグラフ画像や製品画像などが挙げられる。付加情報は、例えば、オブジェクトと対応付けてHDDなどの不揮発性の記憶装置に記憶されている。記憶装置は、表示制御装置1が備えていてもよいし、他の情報処理装置が備えていてもよい。後者の場合、制御部1aは、ネットワークを介して他の情報処理装置から付加情報を取得する。
付加情報を取得すると、制御部1aは、撮像画像と重畳させて表示手段3に付加情報を表示させる。第1の表示制御は、ユーザが撮像画像の中から対象オブジェクトを指定し、詳細に確認したい付加情報を選択している状態に対応すると言うことができる。第1の表示制御は、対象オブジェクトが撮像手段2の撮像範囲内にある間、すなわち、撮像画像の中に対象オブジェクトが写っている間、継続して実行される。
一方、対象オブジェクトが撮像手段2の撮像範囲から外れたこと、すなわち、撮像画像の中に対象オブジェクトが写っていないことを検出すると、制御部1aは、表示制御を第1の表示制御から第2の表示制御に切り替える。第2の表示制御では、制御部1aは、第1の表示制御で指定された対象オブジェクトを特定する情報と、第1の表示制御で表示された付加情報とを対応付けて、表示手段3に表示させる。第2の表示制御では、撮像手段2を用いて撮像した撮像画像は、表示手段3に表示しなくてもよい。
対象オブジェクトを特定する情報は、第1の表示制御のときに撮像した撮像画像の中から抽出した対象オブジェクトの画像でもよいし、予め記憶装置に記憶されたデータであってもよい。他の情報処理装置が当該記憶装置を備えている場合、制御部1aは、ネットワークを介して他の情報処理装置から対象オブジェクトを特定する情報を取得する。
第2の表示制御は、表示させる付加情報を確定し、ユーザが詳細に付加情報を確認している状態に対応すると言うことができる。付加情報と対応付けて対象オブジェクトを特定する情報を表示することで、表示手段3に撮像画像が表示されていなくても、ユーザは表示中の付加情報が何れのオブジェクトに関連するものかを認識できる。第2の表示制御は、例えば、対象オブジェクトの候補が撮像手段2の撮像範囲内に入るまで、すなわち、撮像画像の中に対象オブジェクトの候補が写るまで、継続して実行される。対象オブジェクトの候補が撮像手段2の撮像範囲内に入ったことを検出すると、制御部1aは、第2の表示制御を解除し、表示制御を第1の表示制御に切り替える。
例えば、撮像手段2を用いて撮像画像4aが撮像されると、表示手段3に撮像画像4aが表示される。撮像画像4aの中からユーザが対象オブジェクト5を指定すると、制御部1aは、対象オブジェクト5に対応する付加情報6を取得し、撮像画像4aと重畳させて付加情報6を表示手段3に表示させる。その後、撮像手段2を用いて、対象オブジェクト5が写っていない撮像画像4bが撮像されたとする。撮像手段2の撮像範囲から対象オブジェクト5が外れる場合としては、例えば、ユーザが付加情報6のメモを取るために端末装置を机上に置いた場合などが考えられる。すると、制御部1aは、対象オブジェクト5を特定する情報と付加情報6とを表示手段3に表示させる。
第1の実施の形態の情報処理システムによれば、対象オブジェクトの候補が撮像手段2の撮像範囲に入っているときは、対象オブジェクトを指定可能にすると共に、指定された対象オブジェクトに対応する付加情報と撮像画像とが重畳して表示手段3に表示される。一方、対象オブジェクトが撮像手段2の撮像範囲から外れると、直前に表示されていた付加情報が対象オブジェクトを特定する情報と対応付けて表示手段3に表示される。
これにより、ユーザによる付加情報の確認が容易となる。すなわち、ユーザは端末装置を動かしながら、対象オブジェクトを次々と指定し、指定した各対象オブジェクトに対応する付加情報を簡単に確認することができる。そして、詳細に確認したい付加情報が見つかると、ユーザは端末装置を机上など安定した場所に置いて、付加情報のメモを取るなどの作業を行うことができる。対象オブジェクトが撮像範囲から外れると、付加情報の選択が確定してその付加情報が継続して表示されるため、ユーザは撮像手段2を対象オブジェクトに向けつつメモを取るなどの作業を行わなくてもよく作業が容易となる。
[第2の実施の形態]
第2の実施の形態について説明する。
第2の実施の形態の情報処理システムは、AR技術を用いて、ユーザが注目するオブジェクトに対応する付加情報を画面に表示する。例えば、この情報処理システムは、帳票に印字された印字データに対応する、帳票に印字されていない付加情報を表示することで、帳票を使用した業務を支援することができる。
帳票には、事務処理に用いられる各種の帳面や帳簿、伝票類が含まれうる。付加情報には、帳票に印字された氏名に対応する人物プロファイルや、帳票に印字された数値データを可視化したグラフなど、印字データを補足するための業務上有用な補足情報が含まれうる。
(システムについて)
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、端末装置100、帳票管理サーバ300、帳票登録端末400、ARサーバ200を含む。
端末装置100は、無線通信によりARサーバ200と通信できる。端末装置100は、例えば、スマートフォン、携帯電話、タブレット端末などのコンピュータである。端末装置100は、内蔵または外部接続したカメラによる撮像機能を有する。
ARサーバ200、帳票管理サーバ300は、サーバ装置である。帳票登録端末400は、例えば、パーソナルコンピュータやタブレット端末などのコンピュータである。
ARサーバ200は、ネットワークNWを介して帳票管理サーバ300と通信できる。帳票管理サーバ300は、ネットワークNWを介してARサーバ200および帳票登録端末400と通信できる。ネットワークNWは、有線または無線の通信網である。
ARサーバ200、帳票管理サーバ300、帳票登録端末400の少なくとも2つを1つのコンピュータに統合してもよい。
端末装置100は、帳票を撮像し、撮像画像を画面上に表示する。このとき、端末装置100は、帳票毎に対応するARマーカを撮像画像から検出し、検出したARマーカの情報(例えば、特徴量)をARサーバ200へ送信して、ARサーバ200でARマーカの情報に対応する帳票を特定できるようにする。
帳票に含まれる帳票項目をユーザが指定すると、端末装置100は、指定された帳票項目に対応する付加情報をARサーバ200から取得する。端末装置100は、取得した付加情報を撮像画像上に重畳してまたは撮像画像外の表示領域に表示する。また、端末装置100は、帳票が撮像範囲を外れた場合に撮像画像および付加情報の表示を維持する。
ARサーバ200は、端末装置100からARマーカの情報を受信した場合、受信したARマーカの情報に対応する付加情報を端末装置100へ送信する。
帳票管理サーバ300は、帳票の帳票様式(枠線、帳票項目、ARマーカの位置および種類、付加情報の生成方法など)を示すオーバレイ情報を管理する。また、帳票管理サーバ300は、帳票の帳票項目毎に記入された帳票データをオーバレイ情報と対応付けて管理する。
帳票登録端末400は、帳票様式の設計や帳票データの記入を行うユーザが操作するコンピュータである。帳票登録端末400は、帳票管理サーバ300による管理対象として、設計された帳票様式を示すオーバレイ情報、および記入された帳票データを帳票管理サーバ300に登録させる。このとき、帳票登録端末400は、帳票を識別する識別情報である帳票ID、および帳票に付するARマーカをオーバレイ情報に対応付けて帳票管理サーバ300に登録させる。
(ARマーカについて)
ARマーカは正方形であり、内部の白領域および白領域を囲う黒枠を有し、白領域の幅と黒枠の幅との比が2:1乃至14:3になるように定められる。ARマーカの検出は黒枠で行われる。ARマーカの判別は白領域内の画像パターンから抽出される特徴量に基づいて行われる。
特徴量の抽出は、ARマーカから抽出した白領域を所定の分割数(例えば、16分割(4×4)、256分割(16×16)など)で分割し、分割領域の各々を数値化することで行われる。つまり、各分割領域に対応する数値の集合がARマーカの特徴量となる。
撮像画像からのARマーカの特徴量の抽出は、撮像画像をグレースケール化し、二値化し、白黒反転した上で、上記白領域(反転しているため、実際には黒背景の領域)を上記分割数で分割し、各分割領域の特徴を数値化することで行われる。但し、撮像画像がカラー画像でない場合にはグレースケール化が省略される。
(ハードウェアについて)
図3は、第2の実施の形態の端末装置のハードウェアの例を示す図である。
端末装置100は、通信部101、CPU102、RAM103、不揮発性メモリ104、ディスプレイ105、キーパッド106、音声信号処理部107、スピーカ107a、マイクロホン107b、カメラ108およびバス109を有する。
通信部101、CPU102、RAM103、不揮発性メモリ104、ディスプレイ105、キーパッド106、音声信号処理部107およびカメラ108は、バス109に接続されている。スピーカ107aおよびマイクロホン107bは、音声信号処理部107に接続されている。
通信部101は、無線LAN(Local Area Network)や携帯電話網の通信方式に従って無線通信を行う無線インタフェースである。
無線LANの通信方式の場合、通信部101は、CPU102からの指示に応じてアクセスポイントをスキャンし、スキャン結果をCPU102に報告する。また、通信部101は、CPU102から指示されたアクセスポイントに接続する手続きを行う。これにより、当該アクセスポイントを介したデータ通信が可能となる。携帯電話網の通信方式の場合、通信部101は、CPU102からの指示に応じて基地局に接続し、基地局を介したデータ通信が可能となる。
CPU102は、プログラムの命令を実行するプロセッサである。CPU102は、不揮発性メモリ104に記憶されたプログラムやデータの少なくとも一部をRAM103にロードし、プログラムに応じた処理を行う。なお、CPU102は複数のプロセッサコアを備えてもよく、端末装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM103は、CPU102が実行するプログラムやプログラムから参照されるデータを一時的に記憶する揮発性の半導体メモリである。なお、端末装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
不揮発性メモリ104は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、通信部101による無線通信を制御する通信制御プログラムが含まれる。不揮発性メモリ104として、例えば、フラッシュメモリを用いることができる。ただし、端末装置100は、HDDなど他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
ディスプレイ105は、CPU102からの指示に応じて、Webページや静止画像・動画像などのコンテンツ、および、操作画面を表示する。ディスプレイ105としては、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、様々な種類のディスプレイを使用できる。
キーパッド106は、ユーザからの入力を受け付ける入力装置である。キーパッド106は、1または2以上のキーを備え、ユーザによって押下されたキーを示す入力信号をCPU102に出力する。なお、端末装置100は、キーパッド106に代えてまたはキーパッド106と共に、タッチパネルなどの他の入力装置を有してもよい。例えば、タッチパネルは、ディスプレイ105に重ねて設置される。タッチパネルは、ディスプレイ105に対するタッチ操作を検出し、タッチ位置をCPU102に通知する。
音声信号処理部107は、CPU102からの指示に応じて音声信号を処理する。音声信号処理部107は、デジタルの音声データを取得し、アナログの音声信号に変換してスピーカ107aに出力する。また、音声信号処理部107は、マイクロホン107bからアナログの音声信号を取得し、デジタルの音声データに変換する。
スピーカ107aは、音声信号処理部107から音声信号としての電気信号を取得し、物理振動に変換して音を再生する。例えば、ユーザが通話を行っているとき、通話相手の声や背景雑音が再生される。マイクロホン107bは、音の物理振動を電気信号に変換し、音声信号としての電気信号を音声信号処理部107に出力する。例えば、ユーザが通話を行っているとき、ユーザの声や背景雑音がマイクロホン107bから入力される。
カメラ108は、光学系、撮像素子、ADC(Analog-to-Digital Converter)、および信号処理回路などを有する。光学系は、レンズや絞り機構などを含む導光部である。撮像素子は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの光電変換素子である。
ADCは、撮像素子から出力される電気信号をデジタル信号に変換する回路である。信号処理回路は、ADCから出力されたデジタル信号に対して画質の調整や符号化などの信号処理を施して画像データを生成する回路である。信号処理回路により生成された画像データは、不揮発性メモリ104に書き込まれる。
図4は、第2の実施の形態の帳票管理サーバのハードウェアの例を示す図である。
ARサーバ200は、CPU201、RAM202、HDD203、画像信号処理部204、入力信号処理部205、媒体リーダ206および通信インタフェース207を有する。上記のユニットは、それぞれバス208に接続されている。
CPU201は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU201は、HDD203に記憶されたプログラムやデータの少なくとも一部をRAM202にロードし、プログラムを実行する。なお、CPU201は複数のプロセッサコアを備えてもよく、ARサーバ200は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM202は、CPU201が実行するプログラムやCPU201が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、ARサーバ200は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD203は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、ARサーバ200は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部204は、CPU201からの命令に従って、ARサーバ200に接続されたディスプレイ51に画像を出力する。ディスプレイ51としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL)ディスプレイなどを用いることができる。
入力信号処理部205は、ARサーバ200に接続された入力デバイス52から入力信号を取得し、CPU201に出力する。入力デバイス52としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、ARサーバ200に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ206は、記録媒体53に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体53として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ206は、例えば、記録媒体53から読み取ったプログラムやデータをRAM202またはHDD203に格納する。
通信インタフェース207は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局またはアクセスポイントと無線リンクで接続される無線通信インタフェースでもよい。
例えば、通信インタフェース207は、ネットワークNWに接続され、ネットワークNWを介して他のコンピュータ(例えば、帳票管理サーバ300)と通信を行う。また、通信インタフェース207は、無線通信網を介して他のコンピュータ(例えば、端末装置100)と通信を行う。
なお、ARサーバ200は、媒体リーダ206を備えていなくてもよく、ユーザが操作する端末装置(例えば、帳票登録端末400)から制御可能である場合には画像信号処理部204や入力信号処理部205を備えていなくてもよい。また、ディスプレイ51や入力デバイス52が、ARサーバ200の筐体と一体に形成されていてもよい。帳票管理サーバ300および帳票登録端末400も、ARサーバ200と同様のハードウェア構成によって実現することができる。
(端末装置の機能について)
図5は、第2の実施の形態の端末装置の機能の例を示すブロック図である。
端末装置100は、撮像部111、マーカ検出部112、付加情報取得部113、表示制御部114を有する。
撮像部111の機能は、カメラ108により実現できる。マーカ検出部112、表示制御部114の機能は、CPU102により実現できる。付加情報取得部113の機能は、CPU102および通信部101の機能により実現できる。
撮像部111は、帳票を撮像し、撮像画像をマーカ検出部112および表示制御部114へ入力する。
マーカ検出部112は、撮像画像からARマーカを検出する。また、マーカ検出部112は、検出したARマーカの特徴量を抽出し、付加情報取得部113へ入力する。このとき、マーカ検出部112は、ARマーカの白領域を所定の分割数(例えば、256分割)で分割し、各分割領域の特徴(黒画素数など)を数値化して特徴量を計算する。
付加情報取得部113は、ARサーバ200へARマーカの特徴量を送信し、ARサーバ200を介して帳票管理サーバ300からARマーカに対応する帳票のオーバレイ情報を取得する。
ユーザにより帳票項目が指定された場合、付加情報取得部113は、指定された帳票項目を特定する識別情報である項目識別番号をARサーバ200に送信し、ARサーバ200から項目識別番号に対応する付加情報および帳票データを取得する。但し、帳票データは、ARサーバ200を介して帳票管理サーバ300から取得される。
付加情報取得部113は、取得したオーバレイ情報、帳票データ、および付加情報を表示制御部114へ入力する。
表示制御部114は、撮像画像と共に付加情報をディスプレイ105に表示する。
付加情報を表示する際、表示制御部114は、入力装置(キーパッド106やタッチパネル)への入力を監視し、マーカ検出部112により検出された各ARマーカに対応する帳票項目のうちユーザが指定した1つ以上の帳票項目に対応する付加情報を表示する。
また、表示制御部114は、付加情報を表示した状態で、帳票項目の指定を解除する操作(例えば、帳票項目のタッチ操作など)が行われた場合に、解除対象の帳票項目に対応する付加情報を非表示にする。
また、表示制御部114は、撮像範囲から帳票が外れていないかを判定する。
例えば、表示制御部114は、撮像部111により撮像画像が得られる度に、マーカ検出部112により帳票のARマーカが検出されたかを判定し、そのARマーカが得られない場合には撮像範囲から帳票が外れていると判定する。
撮像範囲から帳票が外れていると判定した場合、表示制御部114は、オーバレイ情報、帳票データ、および付加情報を利用して、ディスプレイ105に帳票および付加情報を表示する。つまり、表示制御部114は、撮像範囲から帳票が外れた状態でも帳票と付加情報の表示を維持する。
また、表示制御部114は、撮像範囲から帳票が外れた後に帳票の表示を維持している状態で、帳票表示の解除操作が行われた場合に、通常の画面表示(例えば、撮像部111からリアルタイムに入力される撮像画像の表示など)に切り替える。
また、表示制御部114は、撮像範囲から帳票が外れた後に帳票の表示を維持している状態で、撮像範囲内に別の帳票が検出された場合(例えば、別の帳票のARマーカが検出された場合)、別の帳票の撮像画像および付加情報を表示する。
(ARサーバの機能について)
図6は、第2の実施の形態のARサーバの機能の例を示すブロック図である。
ARサーバ200は、記憶部211および付加情報管理部212を有する。
記憶部211の機能は、RAM202およびHDD203により実現できる。付加情報管理部212の機能は、CPU201および通信インタフェース207などにより実現できる。
記憶部211は、ARデータベース(DB)211aを有する。
図7は、第2の実施の形態のARデータベースの例を示す図である。
ARデータベース211aは、項目識別番号、帳票ID、対象項目、付加情報が登録されるデータベースである。
項目識別番号は、帳票データが記入された帳票の帳票項目をそれぞれ識別する識別番号である。図7の例において、ARデータベース211aには、4つの項目識別番号AR01、AR02、AR03、AR04が登録されている。
帳票IDは、各帳票を識別する識別情報である。図7の例において、ARデータベース211aには、帳票IDがHYO01、HYO02のレコードが登録されている。項目識別番号と帳票IDとを組み合わせると、帳票データを含む帳票項目が一意に特定できる。
対象項目は、オーバレイ情報に含まれる帳票様式が示す帳票のレイアウトの中で、個々の帳票項目を特定するための特定情報である。例えば、対象項目を指定することで、帳票データの内容にかかわらずレイアウト中の帳票項目を特定することができる。
付加情報は、端末装置100のディスプレイ105に帳票と共に表示される画像データである。図7の例において、ARデータベース211aには、画像データP−graph01、P−graph02、P−map01、P−map02が登録されている。P−graph01、P−graph02は付加情報の一例でありグラフ画像の画像データである。P−map01、P−map02は付加情報の一例であり地図画像の画像データである。
再び図6を参照する。
付加情報管理部212は、帳票管理サーバ300から帳票ID、対象項目、付加情報を取得する。また、付加情報管理部212は、帳票IDと対象項目との組み合わせ毎に項目識別番号を設定する。そして、付加情報管理部212は、項目識別番号、帳票ID、対象項目、付加情報をARデータベース211aに登録する。また、付加情報管理部212は、帳票管理サーバ300から帳票IDと共にARマーカを取得し、取得したARマーカの特徴量を計算して保持する。
(帳票管理サーバの機能について)
図8は、第2の実施の形態の帳票管理サーバの機能の例を示すブロック図である。
帳票管理サーバ300は、記憶部311、帳票管理部312、および付加情報登録部313を有する。
記憶部311の機能は、RAM202、HDD203または他のメモリなどにより実現できる。帳票管理部312、付加情報登録部313の機能は、CPU201および通信インタフェース207などにより実現できる。
記憶部311は、帳票データベース(DB)311aを有する。
図9は、第2の実施の形態の帳票データベースの例を示す図である。
帳票データベース311aは、帳票IDと、帳票様式と、帳票データとが登録されるデータベースである。
帳票IDは、各帳票を識別するための識別情報である。図9の例において、帳票データベース311aには、帳票IDがそれぞれHYO01、HYO02の2つのレコードが登録されている。
帳票様式は、帳票上の枠線、帳票項目、ARマーカの位置および種類、付加情報の生成方法などである。帳票様式のうち帳票項目は上述した対象項目として特定される。図9の例において、帳票データベース311aには、帳票様式を示すオーバレイ情報AAAが登録されている。
帳票データは、帳票の帳票項目に記入されたデータである。図9の例において、帳票データベース311aには、帳票IDがHYO01の帳票上の帳票データを含むデータファイルU01.dat、および帳票IDがHYO02の帳票上の帳票データを含むデータファイルU02.datが登録されている。
再び図8を参照する。
帳票管理部312は、帳票登録端末400から帳票様式を示すオーバレイ情報および帳票データを取得し、取得したオーバレイ情報および帳票データを帳票データベース311aに登録する。帳票管理部312は、帳票管理サーバ300に直接またはネットワークNWを介して接続されたプリンタ70を用い、帳票様式に従って帳票データを含む帳票を印刷する。このとき、帳票管理部312は、帳票にARマーカを印刷する。
付加情報登録部313は、オーバレイ情報に含まれる付加情報の生成方法に従い、帳票データから付加情報を生成する。例えば、付加情報登録部313は、月別売上高を示す帳票データの数値からグラフを生成し、グラフの画像データを付加情報とする。
また、付加情報登録部313は、帳票データベース311aに登録された帳票の帳票ID、その帳票に印刷されるARマーカ、対象項目、および付加情報をARサーバ200に送信し、ARデータベース211aへの登録をさせる。
付加情報登録部313は、ARサーバ200から帳票IDを指定してオーバレイ情報を要求された場合、その帳票IDに対応するオーバレイ情報をARサーバ200に提供する。また、付加情報登録部313は、ARサーバ200から帳票IDを指定して帳票データを要求された場合、その帳票IDに対応する帳票データをARサーバ200に提供する。
(付加情報の表示制御などについて)
図10は、第2の実施の形態の帳票の例を示す図である。図10に示した請求書は、商標の一例である。図10に例示した請求書のように、帳票は、帳票全体の領域である帳票部T1と、帳票項目の領域である帳票項目部T11、T12、T13とを含む。帳票項目部T11、T12、T13には、帳票データである文字や数字が記入される。
印刷された帳票の帳票項目部T11、T12、T13のレイアウトはユーザが設計した帳票様式に従う。印刷された帳票の帳票データはユーザが記入した内容である。上記のように、帳票様式にはARマーカの位置なども含まれる。
ARマーカを付す位置は、帳票登録端末400を利用してユーザが任意に設定できる。図10の例では、帳票項目部T13の上にARマーカM1が印刷されている。
帳票項目部T11の帳票項目は、請求先の情報(名称など)を含む項目である。帳票項目部T12の帳票項目は、商品毎の単価の情報を含む項目である。帳票項目部T13の帳票項目は、請求明細(発注日の日付、請求額など)の情報を含む項目である。
帳票項目部T11、T12、T13の帳票項目は一例であるが、請求先や請求元の住所および電話番号などの個人情報あるいは統計処理の対象となる数表などが帳票項目として利用されうる。帳票項目の内容は他の関連する情報(つまり、付加情報)と結びつく。
例えば、帳票項目部T11に含まれる名称の情報からプロフィールデータや住所を割り出すことができるし、割り出した住所から地図データを生成することができる。プロフィールデータや地図データなどの情報は付加情報として利用することができる。
地図データやプロフィールデータは、帳票管理サーバ300の記憶部311に予め登録されていてもよいし、付加情報登録部313がWebから検索して取得してもよい。
帳票項目部T13に含まれる日付と数値からは、棒グラフや円グラフなどのグラフを生成することができる。棒グラフや円グラフの画像データも付加情報として利用できる。
どの帳票項目について、どのような付加情報を重畳表示するかは、帳票の設計時に帳票登録端末400を利用してユーザが任意に設定でき、オーバレイ情報として帳票データベース311aに登録される。
図10の例では帳票項目部T11、T12、T13に帳票データが記入されているが、帳票データベース311aに登録されている帳票データを参照すれば、帳票データが記入されている帳票項目の特定ができる。
帳票項目が複数のフィールド(図10の例では帳票項目部T12、T13の金額を記入する枠)を含む場合、帳票データと帳票様式とを参照することでデータが記入されたフィールドと空のフィールドとをそれぞれ特定できる。
図11は、第2の実施の形態の付加情報の表示の例(表示操作)を示す図である。図11の例は、端末装置100の入力装置としてタッチパネルを利用する例である。
付加情報は、端末装置100で帳票を撮像し、端末装置100のディスプレイ105に表示された帳票の帳票項目部を指定する操作に応じて表示される。
例えば、図11(A)に示すように、ディスプレイ105に表示された帳票項目部T13を操作体H(例えば、指やスタイラスペンなど)でタッチすると、(B)に示すように付加情報A13が表示される。このとき、帳票項目部T13は、指定状態を明示するために強調表示され、付加情報A13と紐付けて表示される。
なお、図11には1つの帳票項目を指定する場合が例示されているが、2つ以上の帳票項目が指定された場合には、各帳票項目に対応する付加情報が同様に表示される。
図12は、第2の実施の形態の付加情報の表示の例(全画面表示:指定帳票項目+付加情報)を示す図である。
図11に示したように、付加情報A13が表示された状態で、図12(A)に示すように端末装置100または帳票が移動して撮像範囲から帳票が外れると、(B)に示すように指定されていた帳票項目部T13および付加情報A13があらためて表示される。この表示により、指定した帳票項目部T13および付加情報A13の表示が維持され、ユーザが継続して視認可能になる。
ディスプレイ105を見ながら他の作業を行う場合、帳票が撮像範囲内に位置するように端末装置100を手で持ち続けるのは大変なことが多い。例えば、ディスプレイ105に表示された付加情報A13を参照しながら紙にメモをとる場合などでは、端末装置100を片手で維持しつつ他方の手でペンを動かすため、端末装置100の状態を維持するのはユーザにとって大きな負担になる。
しかし、第2の実施の形態の技術によれば、図11および図12に示した端末装置100の表示動作が実現され、撮像範囲から帳票が外れても帳票項目部T13および付加情報A13の表示が維持されるため、上記のようなユーザの負担が軽減される。
なお、指定した帳票項目部T13および付加情報A13の表示を維持する際、その表示のレイアウトや表示方式は図12(B)の例に限定されない。
図13は、第2の実施の形態の付加情報の表示の例(全画面表示:全帳票項目+付加情報)を示す図である。
図12(B)の例は、指定された帳票項目部T13を付加情報A13と共に表示していたが、例えば、図13に示すように、付加情報A13と共に帳票部T1(つまり、帳票全体)が表示されるように変形することもできる。また、帳票部T1を表示する場合には、指定された部分(つまり、付加情報A13に対応する部分)が明確になるように帳票項目部T13が強調表示(例えば、枠線や色彩などによる強調表示)される。
図14は、第2の実施の形態の付加情報の表示の例(全画面表示の解除)を示す図である。
第2の実施の形態に係る端末装置100を利用すると、図11〜図13に例示したように、撮像範囲から帳票が外れても帳票項目部T13および付加情報A13が表示される。
また、その後に、図14(A)に示すように他の帳票が撮像範囲に入った場合(ARマーカM2で判定可能)には、(B)に示すように、帳票項目部T13および付加情報A13の表示が解除される。つまり、撮像範囲に含まれる他の帳票の帳票部T2がディスプレイ105に表示される。
また、帳票項目部T13および付加情報A13の全画面表示の後、同じ帳票が再び撮像範囲に入った場合(ARマーカM1で判定可能)も同様に、全画面表示が解除される。この場合、撮像範囲に含まれる帳票の帳票部T1がディスプレイ105に表示される。
このように、表示の解除が自動的に行われることで、複数の帳票を次々と処理する際に解除操作の工程を省略できる分、スムーズに作業できるようになり、作業効率を高めることが可能になる。
なお、端末装置100は、ユーザの操作により帳票項目部T13および付加情報A13の表示が解除されるようにする機能を有していてもよい。例えば、ユーザが画面上をタッチした場合に帳票項目部T13および付加情報A13の表示が解除される処理と、図14に例示した解除処理とが共に機能するように変形してもよい。この変形により、上記の作業効率向上効果に加え、ユーザが自らの判断で表示を切り替えることが可能になり、よりストレスなく操作できるようになる。
(付加情報の登録について)
図15は、第2の実施の形態の付加情報の登録の処理フローを示すシーケンス図である。
(S101)帳票登録端末400を操作するユーザは、帳票様式の設計または予め用意された帳票様式の中から利用する帳票様式を選択する。
帳票様式を設計する場合、ユーザは、帳票様式の設計用プログラムを利用し、帳票の枠線のレイアウト、帳票データを記入するフィールドの設定、帳票項目の設定、フィールドと帳票項目との対応付けなどを行う。
また、ユーザは、どの位置にARマーカを付与するか、どのようなARマーカを付与するか(ARマーカのデザイン)、および付加情報の生成方法を定義する。ここでユーザが定義した内容も帳票様式に含まれる。帳票登録端末400は、設計された帳票様式の情報(オーバレイ情報)を保持する。
帳票様式が予め用意されている場合、その帳票様式の情報は、帳票登録端末400が保持していてもよいし、帳票管理サーバ300が保持していてもよい。
帳票管理サーバ300が帳票様式の情報を保持している場合、帳票登録端末400は、帳票管理サーバ300から帳票様式の情報を取得し、取得した情報が示す帳票様式を選択可能な状態でユーザに提示する。帳票登録端末400は、選択された帳票様式の情報(オーバレイ情報)を保持する。
(S102)帳票登録端末400は、S101で設計または選択された帳票様式に従い画面(例えば、ディスプレイ51の画面)上に帳票を表示する。このとき、帳票登録端末400は、帳票に含まれる帳票項目に対しユーザが帳票データを記入可能な状態にする。ユーザは、帳票項目に帳票データを記入する。
また、ユーザは、個々に帳票を識別する帳票IDを帳票に付与する。但し、帳票データが記入された帳票毎に帳票登録端末400が帳票IDを自動的に付与してもよい。帳票登録端末400は、帳票様式、帳票データ、帳票IDを対応付けて保持する。このとき、帳票登録端末400は、どの帳票データがどの帳票項目のフィールドに記入されたかを示す情報を帳票データのデータファイルに含めて保持する。
(S103)帳票登録端末400は、帳票を登録するように帳票管理サーバ300へ要求する。このとき、帳票登録端末400は、帳票の情報(帳票様式)、帳票データ、帳票IDを帳票管理サーバ300へ送信し、該帳票の情報を登録するように要求する。帳票管理サーバ300に含まれる帳票の情報にはオーバレイ情報も含まれる。
(S104)帳票の登録要求を受けた帳票管理サーバ300の帳票管理部312は、帳票登録端末400から受信した帳票の情報を帳票データベース311a(例えば、図9を参照)に登録する。
(S105)帳票管理部312は、S104で帳票データベース311aに登録した帳票様式に従い、プリンタ70を利用して帳票データを記入した帳票を印刷する。このとき、帳票様式で定義されているARマーカも帳票上に印刷される。
(S106)帳票管理サーバ300の付加情報登録部313は、帳票様式でARマーカ毎に定義された付加情報の生成方法に従い、ARマーカが付与される帳票項目に記入された帳票データを用いて付加情報を生成する。
例えば、「請求額」の帳票項目に割り当てられた付加情報の生成方法が「円グラフの生成」である場合、付加情報登録部313は、該当する帳票項目の帳票データ(金額)から円グラフを生成する(図11のA13参照)。
(S107)付加情報登録部313は、S106で生成した付加情報の登録をARサーバ200へ要求する。このとき、付加情報登録部313は、S106で生成した付加情報、その付加情報に対応するARマーカの画像データをARサーバ200へ送信する。また、付加情報登録部313は、そのARマーカが付された帳票に対応する帳票ID、各帳票項目を識別するための項目識別番号、およびレイアウト上の各帳票項目を特定するための対象項目をARサーバ200へ送信する。
(S108)付加情報の登録要求を受けたARサーバ200の付加情報管理部212は、帳票管理サーバ300から受信した付加情報をARデータベース211aに登録する。このとき、付加情報管理部212は、付加情報と共に受信した帳票ID、項目識別番号、対象項目を対応付けてARデータベース211aに登録する。
また、付加情報管理部212は、ARマーカの画像データから特徴量を計算する。付加情報管理部212は、ARマーカから白領域を抽出し、白領域を所定の分割数(256分割など)で分割し、分割領域の各々を数値化してARマーカの特徴量を計算する。そして、付加情報管理部212は、計算した特徴量を帳票IDに対応付けて保持する。
(付加情報の表示について)
図16は、第2の実施の形態の付加情報の表示の処理フローを示すシーケンス図である。
(S111)端末装置100の撮像部111は、帳票を撮像し、撮像画像を出力する。撮像部111が撮像する帳票は、帳票管理サーバ300の帳票管理部312により印刷されたものである。
(S112)端末装置100のマーカ検出部112は、S111で撮像部111が出力した撮像画像からARマーカを検出する。このとき、マーカ検出部112は、撮像画像からARマーカの黒枠に基づいてARマーカの検出を行う。ARマーカが検出された場合(検出成功)、処理はS113へ進む。一方、ARマーカが検出されなかった場合(検出失敗)、図16に示した一連の処理は終了する。
(S113)マーカ検出部112は、撮像画像から検出したARマーカの白領域に含まれる画像パターンからARマーカの特徴量を計算する。
撮像画像がカラー画像である場合、マーカ検出部112は、撮像画像をグレースケール化し、二値化し、白黒反転した上で、ARマーカの白領域(反転しているため、実際には黒背景の領域)を所定の分割数で分割し、各分割領域の特徴を数値化する。これらの処理により得られた各分割領域に対応する数値の集合がARマーカの特徴量となる。
上記所定の分割数は、ARサーバ200が保持する特徴量の計算時に用いた分割数と同じである。なお、撮像画像がカラー画像でない場合にはグレースケール化の処理が省略されうる。
(S114)端末装置100の付加情報取得部113は、S113の処理で計算されたARマーカの特徴量をARサーバ200へ送信し、そのARマーカに対応するオーバレイ情報の要求をする。
(S115)オーバレイ情報の要求を受けたARサーバ200の付加情報管理部212は、受信したARマーカの特徴量に対応する帳票IDを特定し、特定した帳票IDを帳票管理サーバ300へ送信してオーバレイ情報の要求をする。
(S116)オーバレイ情報の要求を受けた帳票管理サーバ300は、帳票データベース311aを参照し、受信した帳票IDに対応するオーバレイ情報(帳票様式のデータ)を抽出してARサーバ200へ送信する。
(S117)帳票管理サーバ300からオーバレイ情報を受信したARサーバ200の付加情報管理部212は、受信したオーバレイ情報を端末装置100へ送信する。
(S118)端末装置100の付加情報取得部113は、ユーザによる帳票項目の指定を受け付ける。このとき、付加情報取得部113は、ARサーバ200から受信したオーバレイ情報を利用して撮像画像から帳票項目を認識し、ユーザにより指定を受け付けた帳票項目を特定できるようにする。
例えば、付加情報取得部113は、端末装置100の入力装置(キーパッド106やタッチパネルなど)への入力信号を監視し、帳票項目を指定する入力信号を受信した場合に、帳票項目が指定されたと判定する。
帳票項目の指定が行われた場合(指定完了)、処理はS119へと進む。一方、帳票項目の指定が行われていない場合(指定未了)、S118の処理が繰り返される。
(S119)端末装置100の付加情報取得部113は、S112で計算したARマーカの特徴量をARサーバ200へ送信し、ARマーカに対応する付加情報等(付加情報、帳票データ、オーバレイ情報)を要求する。
(S120)付加情報等の要求を受けたARサーバ200の付加情報管理部212は、保持しているARマーカの特徴量のうち、端末装置100から受信したARマーカの特徴量に最も近い特徴量を抽出する。また、付加情報管理部212は、抽出した特徴量に対応する帳票IDを特定する。
例えば、特徴量がビット列で表現されている場合、付加情報管理部212は、ビット列同士の距離(例えば、ハミング距離)が最も短くなる特徴量を抽出し、抽出した特徴量に対応する帳票IDを特定する。
(S121)付加情報管理部212は、S120で特定した帳票IDを帳票管理サーバ300へ送信し、その帳票IDに対応する帳票データ等(帳票データ、オーバレイ情報)を要求する。
(S122)帳票データ等の要求を受けた帳票管理サーバ300の付加情報登録部313は、ARサーバ200から受信した帳票IDに対応する帳票データおよびオーバレイ情報を帳票データベース311aから抽出する。そして、付加情報登録部313は、抽出した帳票データおよびオーバレイ情報(帳票データ等)をARサーバ200へ送信する。
(S123)ARサーバ200の付加情報管理部212は、帳票管理サーバ300から受信した帳票データ等と付加情報とを対応付けて保持する。
(S124)付加情報管理部212は、付加情報等(付加情報、帳票データ、オーバレイ情報)を端末装置100へ送信する。
(S125)付加情報等を受信した端末装置100の付加情報取得部113は、付加情報等を表示制御部114へ入力する。表示制御部114は、撮像画像と共に付加情報をディスプレイ105に表示する。なお、S118からS125までの処理はユーザ操作(帳票項目の指定)に応じて繰り返し実行される。
ここで、S125の処理について、さらに説明する。
図17は、第2の実施の形態の付加情報の表示制御に係る処理フローを示すフロー図である。
(S131)表示制御部114は、撮像範囲に帳票があるかを判定する。
例えば、表示制御部114は、撮像部111が撮像画像を取得する度に、マーカ検出部112から出力されるARマーカの検出結果を監視し、ARマーカが検出された場合に撮像範囲に帳票があると判定する。他方、ARマーカが検出されなかった場合、表示制御部114は、撮像範囲に帳票がないと判定する。
撮像範囲に帳票がある場合、処理はS134へと進む。一方、撮像範囲に帳票がない場合、処理はS132へと進む。
(S132)表示制御部114は、画面全体を使って付加情報と帳票を表示する。
例えば、表示制御部114は、上述したS118の処理で指定された帳票項目と、その帳票項目に対応する付加情報とをディスプレイ105に表示する(図12(B)参照)。あるいは、表示制御部114は、上述したS118の処理で指定された帳票項目に対応する付加情報と、帳票全体(帳票部)とをディスプレイ105に表示する(図13参照)。
このとき、表示制御部114は、ARサーバ200を介して帳票管理サーバ300から取得したオーバレイ情報および帳票データを利用して帳票項目または帳票部を表示する。なお、指定された帳票項目の特定には、例えば、対象項目が利用される。
(S133)表示制御部114は、S132の表示(全体表示)の解除操作がされたかを判定する。
例えば、指定された帳票項目をユーザがタッチした場合に全体表示が解除される設定の場合、表示制御部114は、入力装置の入力信号を監視し、該当する帳票項目がタッチされた場合に全体表示の解除操作がされたと判定する。
全体表示の解除操作がされた場合、処理は上述したS111(図16参照)へ戻り、再びS111以降の処理が実行される。一方、全体表示の解除操作がされていない場合、処理はS131へと進む。
(S134)表示制御部114は、撮像範囲にある帳票が、上述したS118(図16参照)の処理で帳票項目が指定された帳票かを判定する。つまり、表示制御部114は、撮像範囲にある帳票が変更されたかを判定する。
例えば、表示制御部114は、マーカ検出部112から出力される検出結果を参照し、ARマーカに対応する帳票IDが変わった場合、撮像範囲にある帳票が変更されたと判定する。
帳票が変更された場合、処理は上述したS111(図16参照)へ戻り、再びS111以降の処理が実行される。一方、上述したS118(図16参照)の処理で帳票項目が指定された帳票である場合、処理はS135へと進む。
(S135)表示制御部114は、撮像画像と共に付加情報を表示する。
(S136)表示制御部114は、帳票項目の指定が変更されたかを判定する。
例えば、表示制御部114は、入力装置の入力信号を監視し、現在指定されている帳票項目とは異なる帳票項目が指定された場合、帳票項目の指定が変更されたと判定する。また、表示制御部114は、現在指定されている帳票項目の指定が解除(例えば、タッチ操作による解除など)された場合、帳票項目の指定が変更されたと判定する。
帳票項目の指定が変更された場合、処理は上述したS113(図16)へ戻り、再びS118以降の処理が実行される。一方、帳票項目の指定が変更されていない場合、処理はS131へ進む。
(変形例)
図16の例では、ARマーカから帳票IDが特定されているが、端末装置100にユーザが帳票IDを手入力し、端末装置100からARサーバ200へと送信されるシステムに変形することもできる。さらに、ユーザの手入力に代えて、端末装置100が撮像画像から帳票IDを自動認識するシステムに変形してもよい。例えば、帳票IDが印刷される場所が予め設定されていれば、その場所に記載された文字や数字のデータを、OCR(Optical Character Recognition)技術により撮像画像から読み取ることができる。
以上、第2の実施の形態について説明した。
第2の実施の形態によれば、帳票が撮像範囲に入っているときは、帳票の帳票項目を指定可能にすると共に、指定された帳票項目に対応する付加情報が撮像画像と共に表示される。一方、帳票が撮像範囲から外れると、直前に表示されていた付加情報が、対応する帳票項目と紐付けて表示される。これにより、ユーザによる付加情報の確認が容易となる。
例えば、ユーザは端末装置100を動かしながら、帳票項目を次々と指定し、指定した各帳票項目に対応する付加情報を簡単に確認することができる。また、詳細に確認したい付加情報が見つかると、ユーザは端末装置を机上など安定した場所に置いて、付加情報のメモを取るなどの作業を行うことができる。帳票が撮像範囲から外れると、付加情報の選択が確定してその付加情報が継続して表示されるため、ユーザは、他の作業を並行して行う際に撮像範囲に帳票を捉えた状態を維持しなくてよくなり作業が容易となる。