(第1実施形態)
以下、本発明の第1実施形態による端末装置1を備える帳票データ管理システムSについて図面を参照して説明する。図1は、帳票データ管理システムSの構成を示す概略ブロック図である。帳票データ管理システムSは、端末装置1、帳票データ管理装置3、及び端末装置1と帳票データ管理装置3とを接続する通信ネットワーク4を備える。
端末装置1は、例えば、カメラを内蔵したスマートフォン、携帯電話、携帯情報端末、タブレットPC(Personal Computer)などの装置である。端末装置1は、帳票データ管理装置3、または他のサーバ装置から通信ネットワーク4を通じてダウンロードした所定のアプリケーションプログラム(以下、APと示す)を実行し、例えば、通信装置として機能したり、以下に説明する帳票撮影用の装置として機能したりする。
端末装置1は、操作部10、撮影部11、表示部12、フレーム画像取得部13、記憶部14、文字認識部15、選択部16、認識データ管理部17、通信部18、及び画像処理部20を備える。
第1実施形態において、端末装置1の撮影の対象となる帳票には、例えば、図2に示すようなタイトル(健康診断個人票)、項目名(例えば、事業所名、所在地、氏名など)、及び罫線からなるテンプレートが予め印刷されている。この図2に示すテンプレートに文字や数字の情報が記録されると、例えば、図3に示すような帳票となる。
撮影部11は、例えば、CCD(Charge Coupled Device)カメラであり、操作部10から撮影開始の指示情報が供給された場合、1秒間に10~30フレームのフレームレートでの撮影を連続して行い、フレームレートの周期ごとにフレーム画像のデータを取得する。また、撮影部11は、操作部10から撮影終了の指示情報が供給された場合に撮影を終了する。例えば、図4及び図5は、図3に示す帳票を上から順に連続して撮影することにより得られたフレーム画像61,62の例である。
表示部12は、例えば、タッチパッドのような入力装置が画面上に配置されたタッチパネルなどであり、撮影部11が撮影したフレーム画像、または、記憶部14が記憶する画像のデータを画面に表示する。
通信部18は、端末装置1の外部の機器、例えば、帳票データ管理装置3と通信ネットワーク4を通じて通信を行う。
記憶部14は、フレーム画像記憶部141、アプリケーション記憶部142、テンプレート画像記憶部143、テンプレート特徴情報記憶部146、帳票定義情報記憶部144、帳票情報記憶部145、及び重畳画像記憶部147を備える。
フレーム画像記憶部141は、フレーム画像取得部13が撮影部11から取得したフレーム画像のデータを、各々のフレーム画像に対応付けられているフレーム識別情報と共に記憶する。アプリケーション記憶部142は、帳票データ管理装置3、または他のサーバ装置から通信ネットワーク4を通じてダウンロードした所定のAPを記憶する。
テンプレート画像記憶部143は、予め図2に示す帳票のテンプレートの画像を外部のイメージスキャナー等を用いて、例えばフレーム画像と同程度の解像度で読み取ることにより得られるテンプレート画像のデータを記憶する。
帳票定義情報記憶部144は、例えば、図6に示す帳票定義テーブル1441を予め記憶する。帳票定義テーブル1441は、「帳票識別情報」、「項目名」、「項目番号」、「定義情報」の項目を有する。「帳票識別情報」の項目には、帳票のテンプレートの種類、例えば、欄の形式や項目名の異なるテンプレートを一意に識別可能な情報であって、テンプレートの種類毎に予め付与された帳票識別情報が書き込まれる。「項目名」の項目には、帳票識別情報に対応する帳票に含まれる項目名の情報が書き込まれる。「項目番号」の項目には、項目名毎に予め付与された項目番号が書き込まれる。「定義情報」の項目には、項目名や、その項目名に対応して記録される情報(以下、項目記録情報という)が横書きなのか、縦書きなのかを示す情報や、項目名、及び項目記録情報の位置関係を示す情報が書き込まれる。ここで、項目名及び項目記録情報の位置関係を示す情報とは、例えば、図6に示すように、項目名及び項目記録情報が横一行、または縦一行に位置する情報や、項目名の位置に対して項目記録情報が上下左右のいずれかの行、または列に位置する情報などである。
なお、帳票定義情報記憶部144は、予めユーザによって指定された帳票の種類のテンプレートに対応する帳票定義テーブル1441を記憶する。他の種類のテンプレート、すなわち帳票識別情報の異なるテンプレートが用いられる帳票の撮影を行う場合、帳票定義情報記憶部144に、当該他のテンプレートに対応する帳票定義テーブル1441を書き込む必要がある。
帳票情報記憶部145は、フレーム画像毎に生成される同一のデータ形式を有する帳票情報テーブルを記憶する。例えば、図7に示す帳票情報テーブル1451-1は、図4に示したフレーム画像61に対応して生成されるテーブルである。帳票情報テーブル1451は、「フレーム識別情報」、「項目番号」、「取得情報」の項目の各々の欄に、対応するフレーム画像における項目番号、取得情報としての項目記録情報それぞれが書き込まれる。なお、文字認識部15が、項目名は取得するが、当該項目名に対応する項目記録情報を取得していない項目名の項目番号に対応する「取得情報」の項目は空欄となる。
テンプレート特徴情報記憶部146は、テンプレート画像記憶部143が記憶するテンプレート画像に基づいて、画像処理部20が算出する特徴点や特徴量を含む特徴情報を記憶する。
重畳画像記憶部147は、重畳画像のデータと、図8に示す重畳状態テーブル1471を記憶する。ここで、重畳画像とは、例えば、テンプレート画像の大きさや、項目及び罫線の位置に合うように画像処理部20により画像変換が行われたフレーム画像がテンプレート画像に対して重ねられた画像である。この重畳状態テーブル1471は、図8に示すように、「フレーム識別情報」、「配置状態」の項目を有している。「フレーム識別情報」の項目には、重畳画像に重畳されているフレーム画像のフレーム識別情報が重ねられた順に書き込まれる。図8に示す例では、最初にフレーム識別情報「1」のフレーム画像がテンプレート画像に重ねられ、その後、フレーム識別情報「2」のフレーム画像、フレーム識別情報「3」のフレーム画像が重ねられたことを示している。
「配置状態」の項目には、フレーム画像が重複領域を有して重ねた場合、前後のフレーム画像との関係で、どちらのフレーム画像が上または下のいずれの配置であるかを示す情報が書き込まれる。例えば、図8の例では、フレーム識別情報が「1」のフレーム画像が最初にテンプレート画像に重ねられており、前にフレーム画像が存在しないため、「配置状態」の項目の上欄には、存在しないことを示す「-」が書き込まれる。第1実施形態では、後から重ねるフレーム画像を上として重ねるため、次に重ねられたフレーム識別情報「2」のフレーム画像との関係では、フレーム識別情報「1」のフレーム画像は下の位置になる。そのため、フレーム識別情報「1」の「配置状態」の項目の下欄には、「下」が書き込まれ、フレーム識別情報「2」の「配置状態」の項目の上欄には、「上」が書き込まれる。なお、図8は、フレーム画像を3枚重ねた場合の例であり、重ねるフレーム画像の枚数に応じたレコード(行)が生成される。
なお、記憶部14のうちフレーム画像記憶部141、帳票情報記憶部145、重畳画像記憶部147は、例えば、テンプレートの種類が同一である複数の帳票の撮影を行う場合、他の帳票と混在しないように、各帳票の撮影を開始する前に初期化しておく必要がある。また、帳票撮影用のAPが終了した際に記憶領域が解放されるのが望ましい。
また、記憶部14のうちテンプレート画像記憶部143、帳票定義情報記憶部144、テンプレート特徴情報記憶部146が記憶する情報は、帳票撮影用のAPが終了、あるいは端末装置1の電源がOFFされても記憶領域に保持しておいても良く、例えば、不揮発性の記憶領域(ファラッシュメモリなど)に予め構成される。なお、帳票撮影用のAPを起動するごとに、テンプレート画像や、帳票定義テーブル1441を登録し直す構成としてもよい。
以下に、説明する操作部10、フレーム画像取得部13、文字認識部15、選択部16、認識データ管理部17、及び画像処理部20は、例えば、帳票撮影用のAPが端末装置1の内部のCPUに実行されることにより構成される機能部である。
操作部10は、例えば、表示部12の画面上の備えられるタッチパッドに接続しており、ユーザが指を使って画面上に触れた場合、タッチパッドが出力する触れた画面上の位置を示す情報に応じた処理を行う。例えば、帳票撮影用のAPは、起動すると、表示部12の画面上に、撮影処理の開始を指示する撮影開始ボタン、撮影処理の終了を指示する撮影終了ボタンを表示する。
操作部10は、タッチパッドが出力する位置情報が撮影開始ボタンの位置である場合、フレーム画像記憶部141、帳票情報記憶部145、重畳画像記憶部147の初期化を行う。操作部10は、当該初期化を行った後、撮影部11に対して帳票を連続して撮影処理の開始を示す撮影開始の指示情報を撮影部11に出力する。また、操作部10は、タッチパッドが出力する位置情報が撮影終了ボタンの位置である場合、撮影部11と文字認識部15と選択部16に対して撮影処理の終了を示す撮影終了の指示情報を出力する。
フレーム画像取得部13は、撮影部11が生成して出力するフレーム画像を取得する。フレーム画像取得部13は、フレーム画像を取得すると新たなフレーム識別情報を生成し、取得したフレーム画像と生成したフレーム識別情報とを対応付けてフレーム画像記憶部141に書き込んで記憶させる。フレーム識別情報は、例えば、フレーム画像の時系列順がわかるように、フレーム画像取得部13が若い番号、例えば、「1」から順に値を増加させて生成する。
文字認識部15は、OCR(Optical Character Recognition)処理により、フレーム画像から文字や数字の画像(文字画像)を、抽出して切り出し、パターン辞書、フォント辞書等を用いて文字認識を行ない、文字や数字を示す文字情報を取得する。ここで、文字認識することにより得られる情報は、例えば、文字や数字を示す文字情報であり、例えば、テキストデータでもよい。また、文字認識部15は、文字認識の際に、文字や数字の各々の外接矩形の座標を取得する。
また、文字認識部15は、文字情報と座標情報を出力する際、文字認識処理を行ったフレーム画像のフレーム識別情報を、出力する文字情報及び座標情報に対応付ける。文字認識部15は、文字認識処理を行った場合、フレーム画像に含まれる全ての文字情報と座標情報の組み合わせを一度に検出するが、フレーム画像から文字情報及び座標情報の組み合わせを取得できない場合、文字認識処理が不成功と判定し、当該フレーム画像に対応するフレーム識別情報を取得しない。そして、文字認識部15は、フレーム識別情報と、文字情報と、座標情報とを用い、帳票定義情報記憶部144における帳票定義テーブル1441を参照し、取得した文字情報から、特定の座標の範囲に含まれる文字情報を検出する。
ここで、特定の座標の範囲とは、横書きであれば、一行に並んでいて、各文字の間隔が一定になっている文字列に含まれる各文字の座標情報によって特定される範囲である。文字認識部15は、検出した特定の座標の範囲に含まれている文字情報の中から項目名の文字、または文字列を特定する。文字認識部15は、特定した項目名の文字、または文字列を含む特定の座標の範囲に含まれる文字情報を、項目名の情報と、対応する項目記録情報とに分離して取得する。
例えば、図3に示す帳票の場合、文字認識部15は、「氏名」の項目名について、「氏名」の項目名の情報と、「特許太郎」の項目記録情報を取得する。なお、文字認識部15は、項目名の情報と、対応する項目記録情報の両方を常に取得するわけではなく、項目名の情報のみを取得する場合もある。例えば、図4に示すフレーム画像61の場合、「年齢」の項目については、対応する項目記録情報がフレーム画像61に含まれていない。そのため、文字認識部15は、項目名の情報のみを取得する。例えば、項目記録情報が、撮影対象に含まれていない場合、最初から帳票に記載されていない場合、また、不鮮明で文字認識ができない場合などである。したがって、帳票情報テーブル1451が生成されても、項目記録情報が、記録されない場合もある。これに対し、文字認識部15は、項目名の情報がなければ、項目記録情報を分離できず、項目記録情報のみを取得することはない。
文字認識部15は、取得した全ての項目名に対応する項目番号を帳票定義テーブル1441から読み出し、読み出した項目番号と取得した項目記録情報とを対応付ける。文字認識部15は、1つのフレーム画像における項目名の情報と項目記録情報の取得を終了した場合、帳票情報記憶部145に新たな帳票情報テーブル1451を生成し、生成した帳票情報テーブル1451に項目番号と、項目番号に対応する項目記録情報と、フレーム識別情報とを書き込んで記憶させる。なお、文字認識部15は、フレーム画像から文字情報及び座標情報が取得できない場合、当該フレーム画像に対応するフレーム識別情報を取得せず、帳票情報記憶部145に帳票情報テーブル1451は生成されない。
選択部16は、操作部10から撮影終了の指示情報を受けると、帳票情報記憶部145が記憶する帳票情報テーブル1451の中から保存対象の帳票情報テーブル1451を選択する。この保存対象とする帳票情報テーブル1451をどのように選択するかは、任意に定められるが、ここでは、例えば、帳票情報テーブル1451間の重複ができるだけ少ない状態で、項目記録情報を漏れなく保存しておくように保存対象を選択するように定めるとする。この場合、例えば、選択部16は、以下のような処理を行う。
選択部16は、項目記録情報が記録されていない帳票情報テーブル1451を帳票情報記憶部145から削除する。また、選択部16は、例えば、いずれか1つの帳票情報テーブル1451を選択し、選択した帳票情報テーブル1451に含まれている全ての項目記録情報が、他の帳票情報テーブル1451のいずれかに記録されている場合、読み出した帳票情報テーブル1451を重複情報として削除することを全ての帳票情報テーブル1451について行う。これらの削除処理を行うことで、帳票情報テーブル1451間の項目記録情報の重複を少なくしつつ、項目記録情報を漏れなく保存しておくことができる。
選択部16は、最後に帳票情報記憶部145に残っている帳票情報テーブル1451を保存対象として選択する。選択部16は、保存対象の選択が終了すると、画像処理開始の指示情報を画像処理部20に出力する。
画像処理部20は、テンプレート画像記憶部143が記憶するテンプレート画像の特徴を示す特徴情報を算出し、算出したテンプレート画像の特徴情報をテンプレート特徴情報記憶部146に書き込んで記憶させる。ここで、特徴情報とは、対象とする画像から得られる特徴点と特徴量である。また、特徴点とは、対象とする画像におけるコーナー(角)などの特徴的な個所を示す情報であり、特徴量とは、対象とする画像の特徴点にどのような特徴があるかを示す情報である。特徴情報を算出するアルゴリズムとしては、例えば、KAZE(画像特徴量の抽出アルゴリズムの一例)などが適用される。
また、画像処理部20は、帳票情報記憶部145からいずれか1つの帳票情報テーブル1451を選択して読み出し、読み出した帳票情報テーブル1451の「フレーム識別情報」の項目に示されたフレーム識別情報に対応するフレーム画像をフレーム画像記憶部141から読み出す。画像処理部20は、読み出したフレーム画像の特徴情報を算出し、算出したフレーム画像の特徴情報とフレーム識別情報とフレーム画像とをマッチング処理する。画像処理部20は、帳票情報記憶部145において、処理対象の帳票情報テーブル1451がなくなると、認識データ管理部17に送信処理を開始する指示情報を出力する。
また、画像処理部20は、フレーム画像の特徴情報と、テンプレート特徴情報記憶部146が記憶するテンプレート画像の特徴情報とに基づいて形状などが類似する箇所をペアとして検出するマッチング(例えば、特徴量マッチング)処理を行う。
そして、画像処理部20は、マッチング結果により、帳テンプレート画像の大きさや、項目及び罫線の位置に合うようにフレーム画像を変換する処理を行い、変換したフレーム画像とフレーム識別情報を出力する。ここで、変換する処理は、例えば、以下のようにマッチング結果から射影変換(ホモグラフィー)行列を算出し、算出した射影変換行列に基づいてフレーム画像を変換する透視変換を行う。
本実施形態において、フレーム画像の射影変換行列は、マッチング処理によりペアにされた箇所の座標情報に基づいて算出される行列であり、透視変換を行うためのパラメータに相当する行列である。そのため、透視変換は、撮影の際に歪んだり拡大または縮小されていたりするフレーム画像の座標変換を行ない、正面からみたときに見えるテンプレート画像の座標に対応させる。したがって、透視変換後のフレーム画像の座標系と、テンプレート画像の座標系とは一致する。
また、画像処理部20は、テンプレート画像記憶部143からテンプレート画像を読み出し、このテンプレート画像を重畳画像のデータの初期画像データとして重畳画像記憶部147に書き込み、重畳状態テーブル1471を生成する。また、画像処理部20は、フレーム画像を透視変換した後、この透視変換されたフレーム画像と、重畳画像記憶部147から読み出した重畳画像との座標を一致させ、重畳画像の前面に重ねて新たな重畳画像を生成し、生成した重畳画像を重畳画像記憶部147に上書きする。
また、画像処理部20は、重畳画像記憶部147が記憶する重畳状態テーブル1471に対し、重ねたフレーム画像に対応するフレーム識別情報を「フレーム識別情報」の項目に書き込み、「配置状態」の項目に、新たに追加したフレーム画像と、1つ前のフレーム画像との位置関係に対応させ「-」、「上」及び「下」のいずれかの情報を書き込む。
認識データ管理部17は、画像処理部20から送信処理を開始する指示情報を受けた場合、帳票定義情報記憶部144が記憶する帳票定義テーブル1441の「帳票識別情報」の項目に示されている帳票識別情報と、重畳画像記憶部147が記憶する重畳画像及び重畳状態テーブル1471を読み出す。また、認識データ管理部17は、帳票情報記憶部145が記憶する全ての帳票情報テーブル1451を読み出す。認識データ管理部17は、読み出した帳票情報テーブル1451の「フレーム識別情報」の項目に示されているフレーム識別情報に対応するフレーム画像をフレーム画像記憶部141から読み出す。
また、認識データ管理部17は、読み出した全ての情報に対して端末装置1に予め付与されているユーザ識別情報を対応付けて通信部18を通じて帳票データ管理装置3に送信する。ここで、ユーザ識別情報とは、ユーザを個別に識別する情報であり、例えば、端末装置1の電話番号、端末装置1の個体識別番号などでもよいし、端末装置1を用いて帳票データ管理装置3にログインしている場合には、ログインする際のユーザID(IDentification)でもよい。
帳票データ管理装置3は、例えば、Webサーバ装置として通信ネットワーク4に接続されており、記録処理部31と記憶部32を備える。記録処理部31は、通信ネットワーク4を通じて端末装置1の認識データ管理部17が送信する情報を受信し、受信した情報を記憶部32に書き込む。
記憶部32は、図9に示す帳票情報集計テーブル321を記憶する。帳票情報集計テーブル321は、「ユーザ識別情報」、「帳票識別情報」、「重畳画像情報」、「重畳画像構成情報(フレーム識別情報)」、「変換前フレーム画像情報」、「項目番号」、「取得情報」、「表示状態」の項目を有する。
「ユーザ識別情報」、「帳票識別情報」「重畳画像情報」の項目には、それぞれ認識データ管理部17から受信するユーザ識別情報、帳票識別情報、重畳画像のデータが記録処理部31によって書き込まれる。「重畳画像構成情報(フレーム識別情報)」の項目には、認識データ管理部17から受信する重畳状態テーブル1471の「フレーム識別情報」の項目のフレーム識別情報が、当該項目に記録されている順にしたがって記録処理部31によって書き込まれる。「変換前フレーム画像情報」の項目には、「重畳画像構成情報(フレーム識別情報)」に記録されているフレーム識別情報に対応する透視変化前のフレーム画像のデータが記録処理部31によって書き込まれる。
「項目番号」及び「取得情報」の項目には、「重畳画像構成情報(フレーム識別情報)」に記録されているフレーム識別情報に対応する帳票情報テーブル1451の「項目番号」の項目と「取得情報」の項目の情報が記録処理部31によって書き込まれる。「表示状態」の項目には、「取得情報」の項目に記録されている項目記録情報の中で重畳画像に表示されている項目記録情報を「○」で示し、表示されていない項目記録情報を「×」示す表示状態の情報が書き込まれる。これにより、例えば、ユーザが、後からどの項目記録情報が保存対象になっているかを、重複画像を参照しつつ確認することが可能となる。
(端末装置による画像管理処理)
次に、図10から図17を参照しつつ、帳票を撮影して得られるフレーム画像、及びフレーム画像から得られる文字情報をテンプレート画像に関連付けて帳票データ管理装置3の記憶部32に記憶させる画像管理処理について説明する。
端末装置1のアプリケーション記憶部142は、予めダウンロードされた帳票撮影用のAPを記憶している。また、テンプレート画像記憶部143は、予め図2に示すテンプレートの画像のデータを記憶しており、帳票定義情報記憶部144は、これから撮影する帳票のテンプレートの種類に対応する帳票定義テーブル1441を予め記憶している。ユーザによる帳票撮影用のAPの起動指示を受けて端末装置1は、アプリケーション記憶部142に記憶されている帳票撮影用のAPを起動する。
起動した帳票撮影用のAPは、撮影部11と表示部12を起動し、表示部12の画面に、撮影開始ボタン、撮影終了ボタンを表示する。表示部12は、画面に撮影部11の撮像素子に結像されている画像を表示するプレビュー表示を開始する。
図10は、画像管理処理のうち端末装置1による帳票の撮影処理の流れを示すフローチャートである。ユーザは、表示部12のプレビュー表示を参照しながら、例えば、撮影部11のレンズを図3に示す帳票の用紙の先頭の領域に向けて、撮影開始ボタンを選択する(ステップSa1)。
操作部10は、撮影開始ボタンが選択されると、フレーム画像記憶部141、帳票情報記憶部145、重畳画像記憶部147の初期化を行い、撮影部11に対して撮影開始の指示情報を出力する。撮影部11は、操作部10から撮影開始の指示情報を受けると、1秒間に10~30フレームのフレームレートでの撮影を連続して行う処理を開始し、撮影ごとに生成するフレーム画像をフレーム画像取得部13に出力する。
ユーザは、端末装置1において、表示部12のプレビュー表示を参照しながら、帳票の一部を撮影対象として、帳票の先頭から末端まで端末装置1を移動させていく。これにより、ユーザは、シャッターボタンを押すなどの操作を行わない。そして、撮影部11は、例えば、毎秒10~30フレームで、帳票の先頭から末端にわたって、帳票の一部を撮影したフレーム画像を撮影する。この場合、ユーザは、シャッターボタンを押下するなど特別な操作を行う必要がなく、動画を撮影している感覚で撮影を行う。
フレーム画像取得部13は、撮影部11が出力するフレーム画像を取得すると、新たなフレーム識別情報を生成し、取得したフレーム画像に生成したフレーム識別情報を対応付けてフレーム画像記憶部141に書き込んで記憶させる(ステップSa2)。ここで、フレーム画像61に対して、フレーム識別情報として「1」を生成して対応付ける。
文字認識部15は、フレーム画像記憶部141に新たなフレーム画像が書き込まれた場合、書き込まれたフレーム画像の文字認識処理を行い、フレーム画像から文字情報と、当該文字情報に対応する座標情報を検出する(ステップSa3)。
文字認識部15は、1つのフレーム画像から1つ以上の文字情報と座標情報の組み合わせを検出したか否かを判定し、OCR処理が成功したか否かを判定する(ステップSa4)。文字認識部15は、1つのフレーム画像から1つ以上の文字情報と座標情報の組み合わせを検出していない場合、OCR処理が不成功と判定し(ステップSa4、No)、処理をステップSa2に進め、フレーム画像取得部13が次のフレーム画像の取得を行う。
一方、文字認識部15は、1つのフレーム画像から1つ以上の文字情報と座標情報の組み合わせを検出する場合、OCR処理が成功と判定し(ステップSa4、Yes)、検出した全ての文字情報と座標情報の組み合わせに対してフレーム画像のフレーム識別情報を対応付ける。
文字認識部15は、フレーム識別情報に対応する全ての文字情報及び座標情報と、帳票定義情報記憶部144の帳票定義テーブル1441とに対応し、文字情報の中から項目名と、項目記録情報とを検出して取得する。文字認識部15は、帳票定義テーブル1441を参照し、取得した項目記録情報に対して項目番号を対応付ける(ステップSa5)。
文字認識部15は、帳票情報記憶部145に新たな帳票情報テーブル1451を生成し、生成した帳票情報テーブル1451の「フレーム識別情報」の項目にフレーム識別情報を書き込む。文字認識部15は、「項目番号」の項目に取得した項目番号を書き込み、項目番号に対応する項目記録情報を「取得情報」の項目に書き込んで記憶させる(ステップSa6)。例えば、図4に示すフレーム画像61の場合、文字認識部15は、図7に示す帳票情報テーブル1451-1を生成する。ここで、項目番号「007」は、「年齢」の項目であり、図4に示すように「年齢」の項目名に対応する項目記録情報はフレーム画像61に含まれないため、帳票情報テーブル1451-1において項目番号のみが書き込まれる。
文字認識部15は、操作部10から撮影終了ボタンが選択された(撮影終了の指示情報を受けた)か否かを判定する(ステップSa7)。文字認識部15は、撮影終了の指示情報を受けたと判定した場合(ステップSa7、Yes)、処理を終了する。一方、文字認識部15は、撮影終了の指示情報を受けていないと判定した場合(ステップSa7、No)、処理をステップSa2に進め、フレーム画像取得部13が次のフレーム画像の取得を行う。
例えば、次に、図5に示すフレーム画像62がフレーム画像取得部13によって取得されると、図11に示す帳票情報テーブル1451-2が帳票情報記憶部145に生成される。また、図12に示すフレーム画像63がフレーム画像取得部13によって取得されると、図13に示す帳票情報テーブル1451-3が帳票情報記憶部145に生成される。
図14は、画像管理処理のうち端末装置1による保存対象の帳票情報テーブルの選択処理の流れを示すフローチャートである。選択部16は、操作部10から撮影終了の指示情報を受けると、帳票情報記憶部145を参照し、項目記録情報が存在しない帳票情報テーブル1451を全て削除する(ステップSb1)。
次に、選択部16は、帳票情報記憶部145から未処理の、すなわち未だ処理対象としていない帳票情報テーブル1451の中で順番の最後の帳票情報テーブル1451を読み出す(ステップSb2)。
選択部16は、読み出した帳票情報テーブル1451の「取得情報」の項目に記録されている項目記録情報の各々が、帳票情報記憶部145の他の帳票情報テーブル1451のいずれかに記録された保存対象か否かを判定する(ステップSb3)。
選択部16は、当該帳票情報テーブル1451の「取得情報」の項目に記録されている項目記録情報の各々が、帳票情報記憶部145に記憶されている他の帳票情報テーブル1451のいずれかに記録されている場合、保存対象ではないと判定し(ステップSb3、No)、読み出した帳票情報テーブル1451を帳票情報記憶部145から削除する。
一方、選択部16は、当該帳票情報テーブル1451の「取得情報」の項目に記録されている項目記録情報の各々が、帳票情報記憶部145に記憶されている他の帳票情報テーブル1451のいずれにも記録されていない場合、保存対象であると判定する(ステップSb3、Yes)。当該帳票情報テーブル1451を削除すると失われる項目記録情報が存在するためである。選択部16は、未処理の帳票情報テーブル1451が帳票情報記憶部145に存在するか否かを判定する(ステップSb5)。
選択部16は、未処理の帳票情報テーブル1451が帳票情報記憶部145に存在すると判定した場合(ステップSb5、Yes)、処理をステップSb2に進める。一方、選択部16は、未処理の帳票情報テーブル1451が帳票情報記憶部145に存在しないと判定した場合(ステップSb5、No)、画像処理開始の指示情報を画像処理部20に出力して(ステップSb6)、処理を終了する。
また、選択部16は、図14に示すステップSb2の処理において、未処理の帳票情報テーブル1451の中で最後に帳票情報記憶部145に書き込まれた帳票情報テーブル1451を読み出しているが、例えば、最初に帳票情報記憶部145に書き込まれた帳票情報テーブル1451を読み出してもよい。
図15は、画像管理処理のうち端末装置1によるテンプレート画像にフレーム画像を重ねて重畳画像を生成する処理の流れを示すフローチャートである。
画像処理部20は、選択部16から画像処理開始の指示情報を受けると、テンプレート画像記憶部143が記憶するテンプレート画像の特徴情報を算出し、算出した特徴情報をテンプレート特徴情報記憶部146に書き込んで記憶させる。画像処理部20は、画像処理開始の指示情報が供給された場合、テンプレート画像記憶部143からテンプレート画像を読み出し、読み出したテンプレート画像を重畳画像のデータの初期画像データとして重畳画像記憶部147に書き込む。また、画像処理部20は、重畳画像記憶部147に重畳状態テーブル1471を生成する(ステップSc1)。
また、画像処理部20は、帳票情報記憶部145の中から未処理の帳票情報テーブル1451を検出し、検出した未処理の帳票情報テーブル1451の中で最初に帳票情報記憶部145に書き込まれた帳票情報テーブル1451を読み出す(ステップSc2)。すなわち、画像処理部20は、検出した未処理の帳票情報テーブル1451を帳票情報記憶部145に書き込まれた順番に並べた場合、この順番に帳票情報テーブル1451を読み出す。
画像処理部20は、読み出した帳票情報テーブル1451の「フレーム識別情報」の項目のフレーム識別情報に対応するフレーム画像をフレーム画像記憶部141から読み出す(ステップSc3)。画像処理部20は、読み出したフレーム画像の特徴情報を算出する(ステップSc4)。
画像処理部20は、算出したフレーム画像の特徴情報と、テンプレート特徴情報記憶部146のテンプレート画像の特徴情報とを比較し、例えば、図16に示すように、形状などが類似する箇所をペアとして検出するマッチング処理を行う(ステップSc5)。すなわち、画像処理部20は、例えば、フレーム画像61の符号700の「健」の文字の座標と、テンプレート画像50の符号600の「健」の文字の座標をペアとして検出する。また、画像処理部20は、フレーム画像61の符号701のコーナー(角)の座標と、テンプレート画像50の符号601のコーナー(角)の座標をペアとして検出する。
画像処理部20は、マッチング結果に対応して射影変換行列を算出し、算出した射影変換行列によりフレーム画像を透視変換する(ステップSc6)。
画像処理部20は、フレーム画像を透視変換した後、重畳画像記憶部147から重畳画像を読み出す。画像処理部20は、読み出した重畳画像と座標が一致するように、フレーム画像を重畳画像の前面に重ねて新たな重畳画像を生成し、生成した重畳画像を重畳画像記憶部147に上書きする。画像処理部20は、重畳画像記憶部147が記憶する重畳状態テーブル1471に対して重ねたフレーム画像に対応するフレーム識別情報を「フレーム識別情報」の項目に書き込み、「配置状態」の項目を更新する(ステップSc7)。
フレーム画像61の場合、テンプレート画像50には、1つのフレーム画像61のみ重なっておらず、前にフレーム画像が存在しない。このため、画像処理部20は、フレーム画像61に対応するフレーム識別情報「1」の「配置状態」の項目の上と下の両方の欄に「-」を書き込む。また、フレーム画像61の次のフレーム画像62の場合、画像処理部20は、フレーム画像61に対応するフレーム識別情報「1」の「配置状態」の項目の下の欄に「下」を書き込み、フレーム画像62に対応するフレーム識別情報「2」の「配置状態」の項目の上の欄に「上」を書き込み、下の欄に「-」を書き込む。
画像処理部20は、ステップSc7の処理を終了した後、帳票情報記憶部145に未処理の帳票情報テーブル1451が存在するか否かを判定する(ステップSc8)。画像処理部20は、帳票情報記憶部145に未処理の帳票情報テーブル1451が存在すると判定した場合(ステップSc8、Yes)、ステップSc2からの処理を行う。
一方、画像処理部20は、帳票情報記憶部145に未処理の帳票情報テーブル1451が存在しないと判定した場合(ステップSc8、No)、認識データ管理部17に対して送信処理を開始する指示情報を出力する。
例えば、フレーム画像61,62,63が撮影された場合、画像処理部20が、送信処理を開始する指示情報を出力する際に、重畳画像記憶部147には、図17に示す重畳画像40が生成されている。重畳画像40において、最後面に存在するのが、テンプレート画像50であり、フレーム画像61-r,62-r,63-rが、それぞれ透視変換されたフレーム画像61,62,63である。
最初にフレーム画像61-rがテンプレート画像50に重ねられ、その後、フレーム画像62-r、フレーム画像63-rの順で重ねられている。上述したように、第1実施形態では、後から重ねられるフレーム画像が、上に位置するように重ねられるため、フレーム画像61-rと、フレーム画像62-rの一部は見えない状態になっている。また、重畳画像記憶部147には、最終的に、図8に示す重畳状態テーブル1471が生成される。
例えば、フレーム画像61,62,63が撮影された場合、認識データ管理部17は、画像処理部20から送信処理を開始する指示情報を受けると、帳票定義情報記憶部144が記憶する帳票定義テーブル1441の「帳票識別情報」の項目に示されている帳票識別情報「0001」を読み出す。また、認識データ管理部17は、重畳画像記憶部147が記憶する重畳画像40及び重畳状態テーブル1471を読み出す。また、認識データ管理部17は、帳票情報記憶部145が記憶する帳票情報テーブル1451-1,1451-2,1451-3を読み出す。認識データ管理部17は、読み出した帳票情報テーブル1451-1,1451-2,1451-3の「フレーム識別情報」の項目に示されているフレーム識別情報「1」,「2」,「3」に対応するフレーム画像61,62,63をフレーム画像記憶部141から読み出す。また、認識データ管理部17は、読み出した全ての情報に対して端末装置1に予め付与されているユーザ識別情報を対応付けて通信部18を通じて帳票データ管理装置3に送信して(ステップSc9)、処理を終了する。
帳票データ管理装置3の記録処理部31は、通信ネットワーク4を通じて端末装置1の認識データ管理部17が送信する情報を受信すると、受信した情報を帳票情報集計テーブル321の各項目に書き込んで記憶させる。
記録処理部31は、帳票情報集計テーブル321の「表示状態」の項目に情報を書き込む際、認識データ管理部17から受信する重畳状態テーブル1471の「配置状態」の情報を参照する。記録処理部31は、前後のフレーム画像との間で、項目番号が一致する項目記録情報については、「配置状態」の情報が「上」になっているフレーム画像の表示状態を「○」として記録し、「下」になっているフレーム画像に対応する表示状態を「×」として記録する。
例えば、図4に示すフレーム画像61からは、図7の帳票情報テーブル1451-1に示すように、項目番号「001」の事業所名から「007」の「年齢」までの項目名の情報が取得されている。また、図5に示すフレーム画像62からは、図11の帳票情報テーブル1451-2に示すように、項目番号「005」の「性別」から項目番号「012」の「他覚症状」までの項目記録情報が取得されている。したがって、フレーム画像61とフレーム画像62では、項目番号「005」の「性別」と、「006」の「健診年月日」と、「007」の「年齢」の項目が重複している。
図17の重畳画像40に示すように、フレーム画像61-rの前面に、フレーム画像62-rが重ねられているため、図8に示すように、重畳状態テーブル1471の「配置状態」の項目において、フレーム画像61-rに対応するフレーム識別情報「1」の下の欄は「下」になっており、フレーム画像62-rに対応するフレーム識別情報「2」の上の欄は「上」になっている。したがって、記録処理部31は、図9に示すように、帳票情報集計テーブル321の「表示状態」の項目において、フレーム識別情報「1」に対応する項目番号「005」,「006」,「007」については「×」を書き込み、フレーム識別情報「2」に対応する項目番号「005」,「006」,「007」については「○」を書き込む。
なお、上記の第1実施形態では、画像処理部20は、図15に示すステップSc2の処理において、未処理の帳票情報テーブル1451の中で最初に帳票情報記憶部145に書き込まれた帳票情報テーブル1451を読み出しているが、例えば、最後に帳票情報記憶部145に書き込まれた帳票情報テーブル1451を読み出してもよい。図15に示すように、最初に帳票情報記憶部145に書き込まれた帳票情報テーブル1451から順に処理を行うと、図17に示すように、例えば、時系列に並べた場合に古いフレーム画像61-rの前面に新しいフレーム画像62-rが重ねられる。逆に、最後に帳票情報記憶部145に書き込まれた帳票情報テーブル1451から順に処理を行うと、例えば、時系列に並べた場合に新しいフレーム画像63-rの前面に古いフレーム画像62-rが重ねられる。また、画像処理部20は、未処理の帳票情報テーブル1451の中からランダムに帳票情報テーブル1451を読み出してもよい。
また、上記の第1実施形態では、端末装置1を帳票の先頭から末端に向かって動かして撮影するとしているが、端末装置1を帳票の末端から先頭に向かって動かしても、帳票の任意の領域をランダムに撮影してもよい。
また、上記の第1実施形態では、図10に示す処理の終了後に、図14に示す処理が行われ、図14に示す処理の終了後に、図15に示す処理が行われる構成になっている。帳票の任意の領域をランダムに撮影する場合、このような順番で行う必要があるが、帳票を先頭から順に末端方向に向かって撮影した場合、逆に、帳票を末端から順に先頭方向に向かって撮影した場合、得られるフレーム画像は時系列となり、フレーム画像間の項目記録情報の重複は、一定の範囲のフレーム画像の中で確認すればよい。したがって、フレーム画像が時系列に得られた場合、図10に示す処理が一定時間行われた後に、図14に示す処理を開始し、更に、図14に示す処理が一定時間行われた後に、図15に示す処理を開始して図10、図14、及び図15に示す処理を並列に行ってもよい。
また、上記の第1実施形態では、認識データ管理部17は、読み出した全ての帳票情報テーブル1451の「フレーム識別情報」の項目に示されているフレーム識別情報に対応するフレーム画像をフレーム画像記憶部141から読み出しているが、重畳状態テーブル1471の「フレーム識別情報」に示されているフレーム識別情報に対応するフレーム画像をフレーム画像記憶部141から読み出してもよい。
上記の第1実施形態の構成では、端末装置1において、フレーム画像取得部13は、任意に連続して定められる帳票の一部の領域を撮影対象として撮影部11が連続して撮影するごとに得られるフレーム画像を取得する。文字認識部15は、フレーム画像ごとに文字認識処理を行う。画像処理部20は、予め与えられる帳票のテンプレートの画像の特徴を示す特徴情報と、文字認識処理により文字情報が検出されたフレーム画像ごと特徴情報とに対応し、フレーム画像を変換し、変換したフレーム画像をテンプレート画像に重ねる。これにより、帳票の一部を撮影したフレーム画像のうち文字情報の取得ができたフレーム画像と、テンプレート画像とを関係付けられるため、ユーザは、当該フレーム画像が、帳票のどの位置に対応しているかを容易に把握できる。また、テンプレート画像を基準としてフレーム画像を重ねていくため、フレーム画像が傾いて撮影されても、傾きを補正できるため、縦の罫線及び横の罫線が、それぞれ垂直及び水平の方向になり精度の良い重畳画像が得られる。また、撮影漏れがある場合も容易に見つけることが可能となる。
(第1実施形態の他の構成例)
上記の第1実施形態では、画像処理部20は、図15に示すステップSc7の処理においてフレーム画像を重ねる際、既にテンプレート画像50に重ねられているフレーム画像の前面に重ねていく処理を行っていた。このステップSc7の処理を行う際に、画像処理部20は、帳票情報テーブル1451の「項目番号」及び「取得情報」の項目の記録状態に基づいて、フレーム画像を重ねる順を変更してもよい。例えば、図18に示すフレーム画像62aは、「性別」の項目記録情報と、「健診年月日」の項目記録情報が不鮮明である。そのため、文字認識部15は、これらの項目では、項目記録情報を取得できず、項目名の「性別」と「健診年月日」の文字情報のみを取得する。
第1実施形態において説明した画像処理部20の処理をフレーム画像62aに適用した場合、フレーム画像62aを透視変換した画像(以下、フレーム画像62a-r)をフレーム画像61-rの前面に重ねるため、フレーム画像61に表示されている「性別」/「男」、「健診年月日」/「平成29年6月10日」の情報が重畳画像40で見えなくなる。
図19は、フレーム画像62aに対応して帳票情報記憶部145に生成される帳票情報テーブル1451a-2を示した図である。画像処理部20は、図7に示す帳票情報テーブル1451-1と、帳票情報テーブル1451a-2の共通の項目番号である「005」から「007」に対応する「取得情報」の項目を参照する。項目番号「005」,「006」については、帳票情報テーブル1451-1には、項目記録情報として、「男」、「平成29年6月10日」が記録されるのに対し、帳票情報テーブル1451a-2には、項目記録情報が記録されない。
このような場合、画像処理部20は、フレーム画像62a-rをフレーム画像61-rの前面に重ねると、項目番号「005」,「006」に対応する項目記録情報が隠れると判定し、図20に示すようにフレーム画像61-rの背面にフレーム画像62a-rを重ねる。また、画像処理部20は、図21に示すように、重畳状態テーブル1471のフレーム識別情報「1」の「配置状態」の項目の下の欄に「上」を書き込み、フレーム識別情報「2」の「配置状態」の項目の上の欄に「下」を書き込む。
上記の第1実施形態の他の構成例において、画像処理部20は、テンプレート画像にフレーム画像を重ねる際、1つ前に重ねられたフレーム画像と文字情報が重複する場合、両方のフレーム画像の含む文字情報に基づき、いずれのフレーム画像を上にして重ねるかを選択する。これにより、テンプレート画像にフレーム画像が重ねられて生成される重畳画像において、文字情報が他のフレーム画像に隠されず、多くの文字情報が表示できる。
(第2実施形態)
本発明の第2実施形態は、第1の実施形態と構成は同様であるが、動作が異なる。以下、文字認識部15及び画像処理部20の第1の実施形態と異なる動作のみを説明する。
文字認識部15は、第1実施形態の処理とともに、以下のような処理を行う。すなわち、文字認識部15は、帳票情報記憶部145に対して、第1実施形態の帳票情報テーブル1451のデータ形式に替えて、図22に示すように「座標情報」の項目が追加されたデータ形式のテーブルを生成する。この、図22に示す帳票情報テーブル1451b-1は、フレーム画像61に基づいて、文字認識部15が帳票情報記憶部145に生成したテーブルである。なお、第2実施形態において、帳票情報記憶部145が記憶するいずれか1つのテーブルを示す場合、符号の枝番号を付けずに帳票情報テーブル1451bとして示す。この図22における「座標情報」に書き込まれる4個の座標情報は、当該レコードの項目番号に対応する項目名と項目記録情報の文字情報を囲む領域を示す座標情報である。文字認識部15は、文字情報ごとの座標情報に基づいて、4個の座標情報を算出して、帳票情報テーブル1451bに書き込む。
上記の第1実施形態の他の構成例に示した例において、図7に示す帳票情報テーブル1451-1と、図19に示す帳票情報テーブル1451a-2に共通の項目番号である「007」の場合、帳票情報テーブル1451-1の「取得情報」の項目には、情報が存在せず、帳票情報テーブル1451a-2の「取得情報」の項目に「40歳」という項目記録情報が存在していた。図4に示すフレーム画像61では、「年齢」の項目名に対応する項目記録情報を記録する欄が、斜めに切れており、フレーム画像61-rを上にして重ねても、フレーム画像62a-rに表示された「40歳」が見えていた。これに対し、フレーム画像61の「年齢」の項目名に対応する項目記録情報が不鮮明に記録されているだけで、項目記録情報を記録する領域がフレーム画像61に存在している場合、フレーム画像61-rを上にして重ねると、フレーム画像62a-rに表示された「40歳」が隠れる。
そこで、第2実施形態において、画像処理部20は、第1実施形態の処理とともに、以下のような処理を行う。画像処理部20は、フレーム画像61-rをテンプレート画像50に重ねた後、帳票情報テーブル1451b-1の「取得情報」の項目を参照し、「取得情報」の項目に項目記録情報が記録されていない行を検出する。帳票情報テーブル1451b-1の場合、項目番号「007」を検出する。
画像処理部20は、検出した項目番号「007」に対応する「座標情報」の項目の4個の座標情報(xg1、yg1),(xg2、yg2),(xg3、yg3),(xg4、yg4)を読み出す。画像処理部20は、フレーム画像61に対応する射影変換行列と、帳票情報テーブル1451b-1の「座標情報」とにより、図23に示すようにフレーム画像61-rの不要領域150を算出し、算出した不要領域150をテンプレート画像50に重ねたフレーム画像61-rから除去する。フレーム画像62aの場合、画像処理部20は、図24に示すように、フレーム画像62a-rにおける不要領域1501と不要領域1502を算出し、フレーム画像62-rから不要領域1501,1502を除去する。
なお、画像処理部20は、不要領域150,1501、1502を算出する際、罫線の位置で除去できるように不要領域150,1501、1502を算出してもよい。例えば、画像処理部20は、フレーム画像61の場合、項目記録情報が存在しない項目である「年齢」の横方向の罫線の座標情報を検出し、検出した座標情報を用いて横方向の罫線に沿った不要領域150を算出する。フレーム画像62aの場合、画像処理部20は、項目記録情報が存在しない項目である「性別」、「健診年月日」、「視聴」の横方向の罫線の座標情報を検出し、この座標情報を用いて横方向の罫線に沿った不要領域1501,1502を算出する。不要領域150,1501,1502が除去された後のフレーム画像61b-rと、フレーム画像62b-rとの位置関係は、図25に示す位置関係となり、重複部分がなくなり、重ね合わせの際に必要な情報が隠れるという問題を解消できる。
なお、上記のように不要領域150,1501,1502を除去せずに、不要領域150,1501,1502以外の領域、すなわち項目記録情報が存在する領域を罫線ごとに切り分けて、切り分けた領域をテンプレート画像50の該当箇所に重ねてもよい。また、テンプレート画像50には、項目名は示されているため、帳票情報テーブル1451に記録されている項目記録情報を文字情報とし、テンプレート画像50の解像度に合う文字の大きさにして、テンプレート画像50の対応するように配置してもよい。
また、上記第1及び第2実施形態では、予め外部のイメージスキャナー等で読み取ったテンプレートの画像をテンプレート画像記憶部143に記憶させている。これに対して、撮影部11によってテンプレートの静止画を撮影して得られるテンプレート画像をテンプレート画像記憶部143に記憶させてもよい。
また、上記第1及び第2実施形態において、画像処理部20が誤ったマッチング結果に基づいて透視変換を行うと、変換後の画像が読めないものになる可能性がある。例えば、マッチング結果の距離の値は、値の大きさが小さいほど確度が高くなるが、このマッチング結果の距離の値や、対応すると判定された特徴点の数に閾値を設ける等の処理を加えて、マッチングの精度を高めてもよい。また、画像処理部20による透視変換の結果で得られるフレーム画像のサイズが大きすぎる場合、変換が失敗したとして除外してもよい。
また、上記第1及び第2実施形態の構成において、帳票の撮影の際に、別の帳票や任意の物体が写り込んでしまうと、画像処理部20による処理において、別の帳票や任意の物体を特徴として算出する場合がある。そのため、画像処理部20が、フレーム画像記憶部141からフレーム画像を読み出した際、フレーム画像の外周を示す線を検出し、外周部分をトリミングしてからフレーム画像の特徴情報を算出してもよい。
また、第1及び第2実施形態では、端末装置1が、画像処理部20と重畳画像記憶部147を備えて、重畳画像を生成する画像処理を行う1台の「画像処理装置」として機能しているが、画像処理部20と重畳画像記憶部147を分離して、外部の装置(例えば、画像処理サーバ装置など)が、画像処理部20と重畳画像記憶部147を備えるようにしてもよい。この場合、端末装置1が、フレーム画像記憶部141が記憶する情報と、帳票テンプレート画像記憶部413が記憶する情報と、帳票情報記憶部145が記憶する情報とを、外部の装置に出力する。外部の装置の画像処理部20は、端末装置1が出力する情報に基づいて、重畳画像を生成し、最終的に得られた重畳画像を端末装置1に出力するといった構成になる。かかる場合、端末装置1と当該外部の装置が一体となって重畳画像を生成する「画像処理装置」となる。
また、第1及び第2実施形態において、重畳状態テーブル1471において、どのフレーム画像が上になっているかを示す「配置状態」の情報を記憶しているが、例えば、常に時系列で後になるフレーム画像を上に重ねる、または下に重ねるといった決まった処理を行うのであれば、重畳状態テーブル1471を備えなくてもよい。この場合、記録処理部31は、重畳状態テーブル1471を参照できないことになるため、図9に示す帳票情報集計テーブル32の「表示状態」の項目を設けなくてもよい。
上述した実施形態における端末装置1をコンピュータで実現してもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するでもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものでもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものでもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られず、この発明の要旨を逸脱しない範囲の設計等も含まれる。