(58)【調査した分野】(Int.Cl.,DB名)
前記識別ヘッダは、3以上の自然数Nについて、行方向にN個連続する同一色の画素からなる第1画素群と、当該行内で前記第1画素群に隣接し、該第1画素群とは異なる色の1又は複数の画素からなる第2画素群とを含むことを特徴とする請求項1又は2に記載の情報表示処理装置。
前記識別ヘッダ検出手段は、3以上の自然数Nについて、画面上の画素の値を行方向に検索し、直前の画素と色が異なる画素を検出した場合に、該検出した画素が前記識別ヘッダの第N+1列の画素であるか否かを判定し、該判定結果が否である場合に、前記検出した画素からN列後方の画素より検索を再開することを特徴とする請求項5に記載の操作支援装置。
前記識別ヘッダ検出手段はさらに、Nより大きい自然数Mについて、直前の画素と色が同一である画素を検出した場合に、該検出した画素からM列後方の画素の色が前記識別ヘッダの第N+1列から第N+M列の画素の色と一致するか否かを判定し、一致すると判定した場合には前記検出した画素の直後の画素より、一致しないと判定した場合には前記検出した画素からM−N+1列後方の画素より、それぞれ検索を再開することを特徴とする請求項6に記載の操作支援装置。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態について、図面を参照しつつ詳細に説明する。以下の記載において、先に説明した図面と同一の機能を有する部材には同一の番号を付し、その説明を省略する。
【0022】
〔第1の実施形態〕
図1に、本発明の第1の実施形態に係る分析制御装置(情報表示処理装置・操作支援装置)1を示す。分析制御装置1の実態はコンピュータであり、中央演算処理装置であるCPU(Central Processing Unit)10にメモリ12、LCD(Liquid Crystal Display)等から成るモニタ(表示部)14、キーボードやマウス等から成る入力部16、記憶部20が互いに接続されている。このうち、上記のメモリ12はRAM(Random Access Memory)等の揮発性記憶装置、記憶部20はROM(Read only Memory)・フラッシュメモリ・EPROM(Erasable Programmable ROM)・EEPROM(登録商標)(Electrically EPROM)・HDD(Hard Disc Drive)・SSD(Solid State Drive)等の不揮発性記憶装置によって構成される。記憶部20には分析制御プログラム21、操作支援プログラム22が設けられている。分析制御プログラム21及び操作支援プログラム22が備える後述の各要素は、CPU10がこれらのプログラムをメモリ12に読み出して実行することで実現される機能手段である。記憶部20にはまた、OS(Operating System)29も記憶されている。
【0023】
分析制御装置1は、外部装置との直接的な接続や、外部装置等とのLAN(Local Area Network)などのネットワークを介した接続を司るためのインターフェース(I/F)18を備えており、該I/F18よりネットワークケーブルNW(又は無線LAN)を介して分析装置A1に接続されている。
なお、分析データ処理装置1と接続される分析装置は複数台であっても構わない。また、分析制御装置1と分析装置A1は一体の装置として構成されていても構わない。
【0024】
分析装置A1は、本実施形態では液体クロマトグラフ質量分析装置(LC−MS)とする。ただし、分析装置A1の実態はこれに限定されず、ガスクロマトグラフ装置(GC)や液体クロマトグラフ装置(LC)、またガスクロマトグラフ質量分析装置(GC−MS)であってもよい。分析装置A1はその他の実験機器や医療機器であってもよく、コンピュータによる制御又は監視が可能な分析装置であれば測定の手法や対象は問わない。
【0025】
分析制御プログラム21は、分析装置A1による分析を制御するためのアプリケーションソフトウェアであり、各種パラメータを決定するとともに、該パラメータに従った分析の実行を分析装置A1に命令する。分析制御プログラム21はまた、分析装置A1による分析結果をモニタ14の画面上にリアルタイムで表示させる。
図1においては、分析制御プログラム21に係るように、パラメータ決定部31、分析実行命令部32、分析データ記憶部33、符号化部(符号化手段)34、及び表示制御部(表示制御手段)35が示されている。分析制御プログラム21はこの他に、分析装置A1による分析結果を解析する解析ソフトとしての機能を具備していてもよいが、本発明の趣旨からは外れるため図示及び説明を省略する。
【0026】
パラメータ決定部31は、分析装置A1による分析の各種パラメータを、入力部16を解したユーザ入力に基づいて決定する。上記各種パラメータは例えば温度・圧力・ポンプの送液モード・ポンプの流速等であり、分析装置A1の分析実行中に変更が可能であってもよい。
分析実行命令部32は、パラメータ決定部31が決定した分析パラメータを分析装置A1に通知するとともに、該通知されたパラメータに従った分析の実行を分析装置A1に命令する。これらの通知及び命令はI/F18を介して行われる。
分析データ記憶部33は、上記の命令に基づいて分析装置A1が実行した分析の結果を分析データとして保存する記憶領域である。
【0027】
符号化部34は、分析制御プログラム21が保持する所定の情報を符号化して符号画像を作成するものである。上記所定の情報としては例えば、パラメータ決定部31が決定したパラメータ、分析データ記憶部33に保存されている分析結果、及び分析制御プログラム21上で発生したエラーの内容等が挙げられる。上記符号画像としては、情報の内容に応じて異なるRGB値を割り当てられた1又は複数の画素を用いることもできるし、QRコード(登録商標)等のように符号化・復号化アルゴリズムが既知である二値画像を用いてもよい。符号化される情報のとり得る値が数段階に限られる場合には前者を、情報が連続的な変数であったり文字列であったりして限られた範囲のRGB値のみでは表現が困難な場合には後者を採用すればよい。また、複数行に亘るQRコードの各行の画像を分離して1行内に連結させ、これを符号画像としてもよい。
【0028】
表示制御部35は、モニタ14に対し、分析制御プログラム21によって処理された各種情報の映像信号を出力するものである。具体的には、分析制御プログラム21が備える不図示の分析データ処理部によって所定の処理(例えばグラフ化等)を施された分析データを画像として
図2(a)のようにモニタ14の画面上に表示させる。
図2(a)は、表示制御部35がモニタ14の画面上に表示させる分析制御プログラム21のウィンドウ200の一例である。さらに本実施形態の特徴として、表示制御部35は、符号化部34が作成した符号画像に後述の識別ヘッダを付して画面上の所定の位置(例えば同図の点線で囲まれた領域A内)に表示させる。以下の記載では、識別ヘッダ及び符号画像を画面上に表示させることを「埋め込み」と称する。識別ヘッダ及び符号画像の埋め込み先は典型的には所定の背景色で占められる余白領域であり、識別ヘッダ又は符号画像が特定のオブジェクトと重畳しないようにすることが好ましい。
【0029】
ここで、本実施形態における識別ヘッダについて説明する。
識別ヘッダとは、モニタ14の画面上で表示されている符号画像を後述の操作支援プログラム22が検出しやすくするためのものである。すなわち、識別ヘッダは容易に検出され得る特殊な配列パターンを有し、且つ符号画像に対して規定の相対位置を有する。具体例として、
図2(b)に示すように単一の画素220を符号画像とする場合には、当該画素220と行方向に隣接する一端を有し且つそれぞれ異なる所定のRGB値を有する3個の連続画素201〜203を識別ヘッダ210とすることができる。
図2(b)は、
図2(a)中の領域A内の画像を拡大した図であり、該領域A内に埋め込まれた識別ヘッダ210及び第4画素(符号画像)220が示されている。
【0030】
ここで、本実施形態の特徴として、識別ヘッダ及び符号画像は、画面上に埋め込まれた状態でユーザによる視認が困難な色、すなわち、表示位置にて隣接する画素との色差がユーザによる目視で認識できないほど僅かであるようなRGB値を有する。
【0031】
図3を参照して具体例を示す。識別ヘッダ210及び第4画素220は
図2(a)に示す領域A内に埋め込まれるものとし、領域Aはその全体がウィンドウ200の背景色(200, 200, 200)のRGB値を有する画素で占められているものとする。なお、モニタ14はR・G・Bの各色について256階調の表現が可能である。
図3(a)は、表示制御部35がモニタ14の画面上に埋め込む識別ヘッダ210の各画素のRGB値を示す表である。同図に示すとおり、第1画素201には(201, 201, 201)、第2画素202には(199, 199, 199)、第3画素203には(202, 202, 202)とのRGB値が割り当てられており、これらの値は送液モードによらず不変である。
一方、第4画素220は送液モードに応じて異なるRGB値が割り当てられる。
図3(b)は、第4画素220のRGB値と送液モードとの対応関係を示す表である。送液モードはアイソクラティックモード・バイナリモード・低圧グラジエント溶出モードの3種類があり、これらのモードに対し第4画素220のRGB値はそれぞれ(201, 200, 200)、(202, 200, 200)、(203, 200, 200)が割り当てられる。同図に示す例では送液モードに応じてR値のみが変化しているが、G値又はB値を変化させてももちろんよく、これらを組み合わせて変化させてもよい。
【0032】
上記例示したRGB値から分かるように、識別ヘッダ210及び第4画素220は、領域Aに埋め込まれた際に隣接する画素に対してごく僅かな色差しかなく、埋め込まれた画像をユーザが目視によって認識することはほぼ不可能と言ってよい。一方、操作支援プログラム22は画素のRGB値を参照するため、ユーザにとっては判別不可能な色差をも正確に認識して識別ヘッダ210を検出し、また第4画素220がとり得る3種類の状態のそれぞれを正確に識別することができる。従って表示制御部35は、画面上の他のオブジェクトの視認性を低下させたり、ユーザに不快感を与えたりすることなく、符号化した情報を画面上に埋め込むことができる。符号画像としてQRコードを用いる場合には、該QRコードを構成する画素群の色(通常は2階調)を上記と同様にユーザによる視認が困難なRGB値とすればよい。
【0033】
なお、上記の各RGB値はあくまで一例であり、具体的な値はこれらの画素群が表示される領域に合わせて適宜設定されればよい。典型的には、分析制御プログラム21のウィンドウ200において大部分の余白領域を占める色に近い値に設定しておけば、表示位置の自由度が高く実用に適するであろう。また誤検出防止の観点から、識別ヘッダ210の各画素のRGB値は画面上で通常用いられない色の配列となるよう設定されることが好ましい。さらに、同様の観点から、識別ヘッダの画素数は3以上とすることが好ましい。
【0034】
また、QRコードのような多数の画素からなる画像を符号画像とする場合には、操作支援プログラム22が符号画像を正確に検出できるよう、識別ヘッダの直後に符号画像のサイズ情報を示す画素を予め定めた規則に基づいて付してもよい。例えば、符号画像のサイズが数段階ある場合、それぞれのサイズに異なるRGB値を割り当てる構成とすることができる。上記のサイズ情報を示す画素は符号画像の一部であってもよいし、符号画像から独立した画素であってもよい。
【0035】
再び
図1を参照し、分析制御装置1の記憶部20に設けられた操作支援プログラム22について説明を行う。
操作支援プログラム22は、分析制御プログラム21上でのユーザの操作を支援するためのプログラムである。操作支援プログラム22は、既に分析制御プログラム21がインストールされているコンピュータに後からインストールされてもよいし、分析制御プログラム21と同時にインストールされてもよい。
図1においては、実操作支援プログラム22に係るように、ヘッダ検出部(識別ヘッダ検出手段)41、符号画像検出部(符号画像検出手段)42、復号化部(復号化手段)43、操作支援実行部(実行手段)44、及びデータベース(DB)45が示されている。
【0036】
ヘッダ検出部41は、モニタ14の画面上に表示された識別ヘッダを検出するものである。具体的には、例えばモニタ14の画面の左上端の画素から右方向にRGB値を走査し、識別ヘッダと一致する画像を検索する。なお、走査が右端まで達したら行を1進め、再び左端の画素から右方向へ走査を行う。
【0037】
符号画像検出部42は、符号画像を検出する。具体的には、識別ヘッダと符号画像との予め定められた位置関係に基づき、ヘッダ検出部41が検出した識別ヘッダの位置から符号画像の位置を求め、該求めた位置に表示されている符号画像を検出する。
【0038】
復号化部43は、符号画像検出部42が検出した符号画像を復号化して元の情報を取得する。具体的には、情報が符号画像のRGB値として符号化されている場合、復号化部43は、データベース45に格納されている、符号画像のRGB値と所定の情報とが紐付けられた符号対応テーブルを参照し、符号画像検出部42が検出した符号画像のRGB値と紐付けられている情報を特定する。この符号対応テーブルは、例えば先に参照した
図3(b)に示す表のようなデータ構造を有する。また、QRコード等のように符号化・復号化アルゴリズムが既知である画像を符号画像とする場合には、復号化部43は対応する復号化アルゴリズムを用いて元の情報を取得することができる。
【0039】
操作支援実行部44は、復号化部43が取得した情報に基づき、所定の処理を実行するものである。上記所定の処理としては、例えば取得された情報が適用中の分析パラメータであれば、該パラメータに応じた説明コメントや所定のボタンといったGUIの表示が挙げられる。また、分析制御プログラム21への送信メッセージが既知であれば、適用中の分析パラメータに応じた分析制御プログラム21上の設定画面を表示させることも有用である。別の例として、復号化部43が取得した情報が発生エラーの内容を含むものであれば、該エラーからの回復手順をユーザに教示するためのコメントを表示させてもよい。これら所定の処理は、データベース45に格納されている、所定の情報と処理とが紐付けられた操作支援処理対応テーブル(不図示)を参照することで決定される。
【0040】
データベース45は、符号画像と所定の情報とを紐付けた符号対応テーブル、及び所定の情報と所定の処理とを紐付けた操作支援処理対応テーブルを格納している。符号対応テーブルは復号化部43が符号画像から元の情報を復号化するために参照され、動作対応テーブルは該元の情報に基づき操作支援実行部44が実行すべき動作を決定するために参照される。なお、復号化部43が既知の復号化アルゴリズム(例えばQRコードの読み取り技術)によって符号画像の復号化を行う場合には、上記のような符号対応テーブルは必須ではない。
【0041】
〔符号画像埋め込み処理の流れ〕
ここで、フローチャートである
図4、及び必要に応じて
図2〜3を参照しつつ、本実施形態の分析制御プログラム21による符号画像埋め込み処理の流れについて説明を行う。ここでは上述にて説明した
図2及び
図3の例を用いる。分析制御プログラム21による符号画像埋め込み処理の開始タイミングは、パラメータ決定部31が送液モードを決定した時点でもよいし、分析実行命令部32が分析装置A1に分析の実行を命令した時点でもよい。あるいは、一定の時間間隔ごとに符号画像埋め込み処理が繰り返し実行されてもよい。
【0042】
まず、符号化部34が送液モードを取得する(ステップS101)。具体的には、符号化部34は、パラメータ決定部31が決定したパラメータ情報を取得し、複数のパラメータのうち送液モードに関するパラメータを抽出する。
【0043】
次に、符号化部34は送液モードに応じて第4画素220のRGB値を決定する(ステップS102)。具体的には、
図3(b)に示す対応関係に基づき、送液モードに応じたRGB値を第4画素220に割り当てる。ここでは例として送液モードは低圧グラジエント溶出モードとし、符号化部34は(203, 200, 200)とのRGB値を割り当てる。
【0044】
次に、表示制御部35が識別ヘッダ210及び第4画素220を所定の位置に表示させる(ステップS103)。具体的には、表示制御部35は、
図2(a)に示すウィンドウ200内の所定の位置(例えばウィンドウ200の背景色(200, 200, 200)のRGB値を有する画素で占められる領域A内)に、
図2(b)に示す4個の連続する画素201、202、203、220を埋め込む。このうち最初の3個の画素が識別ヘッダ210であり、
図3(a)に示すとおり第1画素201には(201, 201, 201)、第2画素202には(199, 199, 199)、第3画素203には(202, 202, 202)のRGB値が割り当てられる。第4画素220のRGB値はステップS102にて決定された(203, 200, 200)である。なお、識別ヘッダ210及び第4画素220が表示される位置は領域A内に限定されず、全体又は大部分のRGB値が(200, 200, 200)又はこれに近い値である領域であればよい。一般的なアプリケーションウィンドウでは余白領域の色(背景色)は均一であるから、実際には表示制御部35はウィンドウ200内のほぼ任意の余白領域に識別ヘッダ210及び第4画素220を埋め込むことができる。
【0045】
その後、パラメータ決定部31によって送液モードの変更がなされれば(ステップS104でYes)、符号画像埋め込み処理はステップS101に戻り、符号化部34が変更後の送液モード情報を取得する。送液モードに変更がなければ(ステップS104でNo)、表示制御部35は識別ヘッダ210及び第4画素の埋め込み表示を維持する。別の例として、表示制御部35はステップS103から一定時間が経過した場合に表示を解除してもよい。
【0046】
以上説明した処理により、分析制御プログラム21は送液モードをRGB値として符号化した第4画素220をモニタ14の画面上に埋め込む。このとき、第4画素220に識別ヘッダ210を付すことにより、操作支援プログラム22が識別ヘッダ210を検出することで規定の位置関係に基づいて間接的に第4画素を検出可能とすることができる。さらに、識別ヘッダ210及び第4画素220を表示領域の背景色に近い色とすることで、これらがユーザに視認されにくくなり、他のオブジェクトの視認性を低下させたり、ユーザを不快にさせたりすることを防止できる。
【0047】
〔検索・操作支援処理の流れ〕
次に、フローチャートである
図5、及び必要に応じて
図6を参照しつつ、本実施形態の操作支援プログラム22による検索・操作支援処理の流れについて説明を行う。ここでは、上述にて説明した符号画像埋め込み処理により、分析制御プログラム21が識別ヘッダ210及び第4画素220を既にウィンドウ200内に埋め込んでいるものとする。操作支援プログラム22による検索・操作支援処理は一定の時間間隔ごとに繰り返し実行されてもよいし、ユーザの指示に応じて実行されてもよい。あるいは、分析制御プログラム21から操作支援プログラム22に所定のタイミング(例えばステップS103の完了時点)で検索・操作支援処理の開始命令が出力されるようにしておき、操作支援プログラム22は該命令に応じて検索・操作支援処理を開始する構成としてもよい。
【0048】
まず、ヘッダ検出部41が画面の左上端から行内の画素を検索する(ステップS201)。具体的には、モニタ14の画面のキャプチャ画像について第1行左端の画素(1, 1)のRGB値を参照する。ここでの「キャプチャ画像」は、一般的なコンピュータのOSが備えている、画面の表示内容を複写して一時記憶領域に格納する画面キャプチャ機能を用いて得られた画像である。ヘッダ検出部41はOS29に対しモニタ14の画面のキャプチャを指示し、これにより得られた画像内の画素のRGB値を参照する。キャプチャ画像のサイズは幅X画素、高さY画素とする。
【0049】
ヘッダ検出部41は行内を右方向に検索しながら画素のRGB値を参照し(ステップS202)、識別ヘッダ210と一致する画像、すなわち先頭からRGB値が(201, 201, 201)、(199, 199, 199)、(202, 202, 202)となる3個の連続する画素の有無を判定する(ステップS204)。識別ヘッダ210が検出されなければ(ステップS204でNo)、ステップS202に戻り検索を続ける。なお、検索がキャプチャ画像の右端列まで達すれば(ステップS203でYes)、一致判定を行わずに検索対象を次の行の左端に移し(ステップS208)、ステップS202に戻り検索を続ける。ステップS208によって検索対象行がキャプチャ画像の下端からはみ出す場合は(ステップS209でYes)画面全体の検索が終了したことを意味するため、検索・操作支援処理は終了となる。
【0050】
検索がキャプチャ画像の右端まで達した場合(ステップS203でYes)に識別ヘッダ210との一致判定を行わない理由は、画面の右端の画素が識別ヘッダ210の第3画素203であるときは第4画素220は画面外にはみ出しており検出が不可能なためである。符号画像が幅W画素、高さH画素の画像である場合には、ステップS203及びS209における判定式は例えば以下の式(1)及び式(2)となる。
x > X - W …(1)
y > Y - H + 1 …(2)
上記式(1)及び(2)は識別ヘッダ210の直後の画素を左上端とする符号画像を想定したものである。識別ヘッダ210と符号画像との位置関係が異なれば式も変わることに留意されたい。
【0051】
識別ヘッダ210が検出されると(ステップS204でYes)、続いて符号画像検出部42が第4画素220を検出する(ステップS205)。具体的には、識別ヘッダ210の第3画素203の直後の(
図2(b)に示す例では右側に隣接している)検索対象画素を第4画素220と認識する。
【0052】
次に、復号化部43が第4画素220のRGB値から送液モードを特定する(ステップS206)。具体的には、データベース45に格納されている符号対応テーブルを参照し、符号画像検出部42が検出した第4画素220のRGB値と紐付けられている送液モードを特定する。より具体的には、上記符号対応テーブルのうち第4画素のRGB値を示すカラムのデータ値が、ステップS203にて符号画像検出部42が検出した画素のRGB値と一致するレコードを検索し、一致したレコードにおける送液モードを示すカラムのデータ値を特定する。符号対応テーブルのデータ構造の一例として
図3(b)を参照すれば、「第4画素」カラムにおいてRGB値(203, 200, 200)のデータ値を有するレコードにおける「送液モード」カラムのデータ値は「低圧グラジエント溶出」であるから、復号化部43は、送液モードは低圧グラジエント溶出モードであると特定する。
【0053】
次に、操作支援実行部44が送液モードに応じた処理を実行する(ステップS207)。具体的には、データベース45に格納されている、所定の情報と処理とが紐付けられた不図示の操作支援処理対応テーブルを参照し、復号化部43が特定した送液モードと紐付けられている処理を実行する。ステップS206にて送液モードは低圧グラジエント溶出モードであると特定された。ここでは例として、グラジエントタイムプログラム設定画面を表示するよう、分析制御プログラム21に対しメッセージを送信する。本ステップの結果としてグラジエントタイムプログラム設定画面600が表示された状態を
図6に示す。別の例として、適用中の送液モードをユーザに通知する説明文等のGUIを画面上に表示してもよい。
【0054】
以上で検索・操作支援処理は終了となる。なお、分析制御プログラム21が複数の識別ヘッダ及び符号画像を同時に埋め込み可能である場合には、ステップS207の後にステップS202に戻り検索を続ける構成とすればよい。
【0055】
以上説明した処理により、操作支援プログラム22はモニタ14の画面を検索して識別ヘッダ210を検出すると、識別ヘッダ210との規定の位置関係に基づいて第4画素220を検出する。そして、検出した第4画素のRGB値から符号化部34が符号化した送液モードを特定し、該特定した送液モードと紐付けられた所定の処理(例えばGUIの表示等)を実行することで、分析制御プログラム21のユーザの操作を支援することができる。
【0056】
上述した符号画像埋め込み処理と検索・操作支援処理との組み合わせにより、さらに次のような効果が得られる。すなわち、例えば第4画素220のように1又は複数の画素のRGB値として情報が符号化されている場合、操作支援プログラム22が符号画像を直接に検出するには、符号画像の取りうるRGB値ごとに検索対象画素との一致判定を行わなければならない。このような方法は処理負荷が大きい上に、符号画像の画素数が少ない場合には無関係の画素を符号画像として誤検出する危険性が高くなることから現実的ではない。これに対し本実施形態では、符号化される情報に対して不変の識別ヘッダ210によって符号画像の位置が規定されるため、操作支援プログラム22はこの識別ヘッダ210を検出しさえすればよく、つまり1の画像についての検索によって高精度に符号画像を検出することができる。また、QRコードを符号画像とする場合についても、複数行に亘るQRコードと完全に一致する画像を検索する処理よりも、識別ヘッダ210のような1行内の画素の連なりを検出する処理の方が計算量は少なく抑えられる。従って、本実施形態によれば画像の検索に掛かるコンピュータの処理負荷が軽減される。
【0057】
上述では説明の簡略化のため、分析制御プログラム21が送液モードのみを第4画素220のRGB値として符号化し、操作支援プログラム22がこれを復号化して所定の設定画面を表示する構成について説明を行った。応用例として、分析制御プログラム21が送液モードと現在のポンプの流速値との両方をQRコードとして符号化しておき、これを復号化した操作支援プログラム22が上記流速値を「初期濃度」として入力した状態でグラジエントタイムプログラム設定画面600(
図6参照)を表示させてもよい。
【0058】
〔第2の実施形態〕
図7〜
図11を参照して、本発明の第2の実施形態に係る分析制御装置1について説明する。本実施形態に係る分析制御装置1の機能ブロック構成は上記第1の実施形態と同様であるが、表示制御部35が表示させる識別ヘッダの態様、及びヘッダ検出部41による検索方法が異なる。
【0059】
図7に、本実施形態において表示制御部35がモニタ14の画面上に埋め込む識別ヘッダの一例を示す。識別ヘッダ710は、第1画素P
1から第N画素P
NまでのN個の画素(第1画素群)が全て同じRGB値を有し、第N+1画素P
N+1から第N+a画素P
N+aまでのa個の画素(第2画素群)は直前のN個の画素とは異なるRGB値を有する。Nの値は3以上とし、aの値は1以上の任意の数である。なお、同図では識別ヘッダ710は1行の画素の連なりとして示されているが、複数行に亘る画像であってもよく、その先頭行において図に示すような配列を有していればよい。それぞれのRGB値の具体的な値については上記第1の実施形態における識別ヘッダ210の各画素と同様、埋め込み位置において隣接する画素に対する色差がごく僅かとなるよう設定される。本実施形態における符号画像埋め込み処理の流れは上記第1の実施形態と同様である(
図4参照)。
【0060】
〔検索・操作支援処理の流れ〕
次に、フローチャートである
図8及び
図9を参照しつつ、本実施形態の操作支援プログラム22による検索・操作支援処理の流れについて説明を行う。検索・操作支援処理が開始されるタイミングについては、上記第1の実施形態における検索・操作支援処理と同様とする。
【0061】
まず、ヘッダ検出部41が行内の画素を検索する(ステップS301)。具体的には、モニタ14の画面のキャプチャ画像について第1行第N列の画素(N, 1)のRGB値を参照する。キャプチャ画像のサイズは幅X画素、高さY画素とし、符号画像のサイズは幅W画素、高さH画素とする。
【0062】
ヘッダ検出部41は行内を右方向に検索しながら画素のRGB値を参照し(ステップS302)、直前の画素からRGB値が変化したか否かを判定する(ステップS304)。この判定は、画素を1列進めるごとにメモリ領域にあるデータを比較する関数(以下、メモリ比較関数と称する)を実行し、直前の画素のデータとRGB値を比較することでなされる。同じRGB値が連続していれば(ステップ304でNo)、ステップS302に戻り検索を続ける。なお、ステップS302の結果検索対象画素がキャプチャ画像の右端からW+a画素手前の位置から右にはみ出す場合は(ステップS303でYes)、RGB値の変化の有無を判定せず検索対象を次の行の第N列に移し(ステップS308)、ステップS302に戻り検索を続ける。ステップS308によって検索対象行がキャプチャ画像の下端行からH−1行手前の行から下にはみ出す場合は(ステップS309でYes)、符号画像を検出し得る画面範囲の検索が終了したことを意味するため、検索・操作支援処理は終了となる。
【0063】
ここで、ステップS304において判定するのは、検索対象画素のRGB値が直前の画素から変化したか否かのみであり、識別ヘッダ710の第N+1画素PN+1のRGBと一致するか否かは判定条件に含まれないことに留意されたい。直前の画素からのRGB値の変化が検出されると(ステップS304でYes)、続いてヘッダ検出部41は、検索対象画素が識別ヘッダ710の第N+1画素P
N+1であるか否かを判定する(ステップS305)。具体的には、ヘッダ検出部41は、現在の検索対象画素(x, y)を識別ヘッダ710の第N+1画素P
N+1であると仮定し、(x - N, y)から(x + a - 1, y)までのN+a個の画素の連なりが識別ヘッダ710と一致するか否かを判定する。この判定は、上記N+a個の連続する画素についてメモリ比較関数を実行し、これが識別ヘッダ710と一致するか否かを判定することでなされる。識別ヘッダ710が複数行に亘る画像である場合は、先頭行について一致が見られれば行を1進めて同様のメモリ比較関数を実行していく形で、識別ヘッダ710の全ての行について一致の判定を行う。なお、連続する複数の画素についてのメモリ比較関数は、ステップS304における単一画素単位のメモリ比較関数と処理負荷上の大きな差異はない。
【0064】
上記の処理をより概念的に換言すれば、ヘッダ検出部41は、直前の画素からRGB値が変化した画素を識別ヘッダ710の第N+1画素P
N+1と仮定して、該仮定を検証する形で検索を行う。
すなわち、ステップS301及びS308にて第N列の画素から検索を開始する理由は、第1列から第N−1列までの画素からRGB値が変化する画素は第N+1画素P
N+1の候補となり得ないためである。識別ヘッダ710がキャプチャ画像の左端から開始すると仮定した場合、第N+1画素P
N+1は第N列の画素とRGB値が異なる第N+1列の画素として検出されるので、第N−1列以前の画素との比較は不要であることが分かる。従って、第N画素PNの位置として考えられる最左端の列である第N列から検索を開始することとなる。
【0065】
(x - N, y)から(x + a - 1, y)までのN+a個の画素の連なりが識別ヘッダ710と一致した場合(ステップS305でYes)、該判定結果は識別ヘッダ710が検出されたことを意味する。従って、検索・操作支援処理は
図9に示すステップS401に移行する。
まず、符号画像検出部42が符号画像を検出する(ステップS401)。具体的には、識別ヘッダ710に対して所定の相対位置にある(例えば第N+a画素P
N+aの直後の画素を左上端とする)幅W画素、高さH画素の画像を符号画像と認識する。
次に、復号化部43が符号画像を復号化して分析パラメータを特定する(ステップS402)。具体的には、データベース45に格納されている符号対応テーブルを参照し、符号画像検出部42が検出した符号画像と紐付けられている分析パラメータを特定する。又は、所定の復号化アルゴリズムを用いて分析パラメータを特定してもよい。本ステップの具体例の一つとして、上記第1の実施形態にて説明したステップS206が挙げられる。
次に、操作支援実行部44が分析パラメータに応じた処理を実行する(ステップS403)。具体的には、データベース45に格納されている、所定の情報と処理とが紐付けられた不図示の操作支援処理対応テーブルを参照し、復号化部43が特定した分析パラメータと紐付けられている処理を実行する。本ステップの具体例の一つとして、上記第1の実施形態にて説明したステップS207が挙げられる。
ステップS305において識別ヘッダが検出された場合、検索・操作支援処理は以上で終了となる。上記第1の実施形態と同様、ステップS403の後にステップS302に戻り検索を続ける構成としてもよい。
【0066】
再び
図8を参照されたい。(x - N, y)から(x + a - 1, y)までのN+a個の画素の連なりが識別ヘッダ710と一致しなかった場合(ステップS305でNo)、ヘッダ検出部41は、検索対象画素をN−1列進め(ステップS306)、検索対象画素がキャプチャ画像の右端からW+a画素手前の位置から右にはみ出していなければ(ステップS307でNo)、ステップS302に戻り検索を続ける。ステップS306の結果検索対象画素がキャプチャ画像の右端からW+a画素手前の位置から右にはみ出す場合は(ステップS307でNo)、ステップS308に移行し、次の行の第N列の画素から検索を行う。
【0067】
ステップS306において検索対象画素をN−1列進める理由は、直後の画素(x + 1, y)から(x + N - 1, y)までのN−1個の画素は識別ヘッダ710の第N+1画素P
N+1ではあり得ないためである。
図10に具体例を示して説明する。同図ではN=5、a=1とした。ヘッダ検出部41は、図中白矢印の方向に行内を検索している。いま、ステップS304において直前の画素1000からRGB値が変化したと判定された検索対象画素1001について、ステップS305において識別ヘッダ710の第N+1画素P
N+1ではないとの判定結果が得られた。この場合に第N+1画素P
N+1が検索対象画素1001から最も近い状況は、同図に示すように検索対象画素1001が識別ヘッダ710の第1画素P
1であった場合である。従って、ステップS301及びS308にて第N列の画素から検索を開始する理由と同様の理由により、現在の検索対象行における第N画素P
Nの位置として考えられる最左端の画素であるN−1列先の画素1002から検索を再開することとなる。なお、同図には符号画像の一例として識別ヘッダ710の直後の画素1020を示してあるが、符号画像が単一の画素に限定されないことは上述のとおりである。
【0068】
以上説明した処理によれば、ヘッダ検出部41は、行内で連続する2画素のRGB値が異なる場合に、2つのうち後方にある画素を識別ヘッダ710の第N+1画素P
N+1と仮定して該仮定を検証し、検証結果が否であれば検索対象画素をN列進めて検索を再開する。すなわち、第N+1画素P
N+1の候補とした画素が第N+1画素P
N+1ではなかった場合にN−1個の画素について検索をスキップすることができる。これにより処理負荷はさらに軽減される。なお、画面内の画素のRGB値が不均一であればスキップの機会が増え、またNの値が大きければスキップされる画素の数が多くなり、処理効率の向上に寄与する。
【0069】
本実施形態による処理負荷の軽減率について具体的に説明する。識別ヘッダ710がキャプチャ画像中に検出されず、画面全体を検索する状況を想定し、検索における処理負荷増大の主要因となるメモリ比較関数の実行回数を、本実施形態を使用しない場合と使用した場合とで比較する。ここでの「本実施形態を使用しない場合」とは、上記第1の実施形態のように、画面上の画素を1つずつ検索し、識別ヘッダと完全に一致する画像を検索する手法を採る場合である。
【0070】
キャプチャ画像のサイズを幅X画素、高さY画素とし、識別ヘッダ710と符号画像との両方を含む矩形領域のサイズを幅Wq、高さHq画素とする。また、キャプチャ画像上で行方向に連続する画素においてRGB値が異なる割合をP(%)とする。このとき、本実施形態を使用しない場合の処理負荷Q1は、以下の式(3)で表される。
Q1 = (X - Wq) * (Y - Hq) …(3)
Wq及びHqをそれぞれ減算するのは、識別ヘッダ710又は符号画像が画面外にはみ出ている場合を除外するためである。
一方、本実施形態を使用した場合の処理負荷Q2は、以下の式(4)で表される。
Q2 = {(100 - P) + P * 2 / N} * (X - Wq) * (Y - Hq) / 100
…(4)
上記式(3)及び(4)から分かるように、Pの値が0のとき、すなわちキャプチャ画像中の全画素が均一のRGB値を有するときには、本実施形態による処理負荷の軽減は発生しない。しかし実際の使用上そのような状況はまず考えられず、Pは20〜90の値をとると考えられる。
【0071】
図11に、本実施形態を使用した場合の識別ヘッダ710の検索に要する処理負荷を示す。本実施形態を使用しない場合の処理負荷を1とした値を示してある。同図に示すとおり、Pの値が大きいほど、またNの値が大きいほど処理負荷が軽減される。
【0072】
〔第3の実施形態〕
図12〜
図16を参照して、本発明の第3の実施形態に係る分析制御装置1について説明する。本実施形態に係る分析制御装置1の機能ブロック構成は上記第1の実施形態と同様であるが、表示制御部35が表示させる識別ヘッダの態様、及びヘッダ検出部41による検索方法については上記第2の実施形態にさらなる変更が加えられている。
【0073】
図12に、本実施形態において表示制御部35がモニタ14の画面上に埋め込む識別ヘッダの一例を示す。識別ヘッダ1210は、第1画素P
1から第N画素P
NまでのN個の画素(第1画素群)が全て同じRGB値を有し、第N+1画素P
N+1から第N+M画素P
N+MまでのM個の画素(第2画素群)は直前のN個の画素とは異なるRGB値(Mr, Mg, Mb)を有する。Nの値は3以上とし、Mの値はNより大きい数とする。上記第2の実施形態と同様、識別ヘッダ1210は複数行に亘る画像であってもよい。本実施形態における符号画像埋め込み処理の流れは上記第1の実施形態と同様である(
図4参照)。それぞれのRGB値の具体的な値については上記第1の実施形態における識別ヘッダ210の各画素と同様、埋め込み位置において隣接する画素との色差がごく僅かとなるよう設定される。
【0074】
ただし、上記M個の画素のRGB値(Mr, Mg, Mb)は、モニタ14の画面上であまり使用されない値とすることが好ましい。例えば、Mr=Mg=Mbが成立する色はWindows(登録商標)上で使用されることが多い一方、Mr≠Mg、Mg≠Mb、Mb≠Mrが成立する色はあまり使用されないため、後者の3式を満たすようなRGB値を割り当てる。
【0075】
〔検索・操作支援処理の流れ〕
次に、フローチャートである
図13及び
図14を参照しつつ、本実施形態の操作支援プログラム22による検索・操作支援処理の流れについて説明を行う。検索・操作支援処理が開始されるタイミングについては、上記第1の実施形態における検索・操作支援処理と同様とする。
【0076】
図13に示すステップS501〜S503、S505〜S509における処理は上記第2の実施形態にて
図8を参照して説明したステップS301〜S303、S305〜S309と同様である。ステップS503及びS507においてはaがMに置き換えられているが、これは識別ヘッダ710、1210における第N+1画素P
N+1以降の画素の数の違いによるものである。その他の各ステップにおいても、aはMに置換されるものとする。
【0077】
ステップS504についても判定処理の内容についてはステップS304と同様である。ただし本実施形態では、直前の画素からRGB値が変化していないと判定されたとき(ステップ504でNo)、すなわち同じ色の画素が連続しているときに、ヘッダ検出部41はそのまま次の画素を検索するのではなく、
図14に示すステップS601に移行する。
【0078】
同色の画素が連続した場合、ヘッダ検出部41は検索対象画素をM列進める(ステップS601)。そして現在の検索対象画素のRGB値が第N+1画素P
N+1から第N+M画素P
N+MまでのM個の画素と一致するか否かを判定する(ステップS602)。具体的には、ステップS504の時点での検索対象画素と(x, y)としたとき、(x + M, y)のRGB値が(Mr, Mg, Mb)であるか否かを判定する。一致する場合(ステップS602でYes)、検索対象画素をM列戻し(ステップS604)、すなわち(x, y)に戻り、ステップS502に戻って検索を続ける。
【0079】
ステップS601において検索対象画素をM列進めた先の画素(x + M, y)のRGB値が、識別ヘッダ1210外で使用される可能性が低い(Mr, Mg, Mb)である場合、当該画素(x + M, y)は識別ヘッダ1210の上記M個の画素の1つである可能性が極めて高い。このとき、画素(x, y)の後方の近い位置に識別ヘッダ1210の第N+1画素P
N+1が存在すると考えられるため、ステップS604において検索対象画素を(x, y)に戻す。すなわち、本実施形態では、ヘッダ検出部41は、同じRGB値を有する画素が2個連続したとき、これら2個の画素を識別ヘッダ1210の第1画素P
1及び第2画素P
2又はこれらの周辺の画素と仮定し、該仮定を検証する形で検索を行う。
【0080】
一方、検索対象画素のRGB値が(Mr, Mg, Mb)ではなかった場合(ステップS602でNo)、ヘッダ検出部41は検索対象画素をN列戻し(ステップS603)、すなわち(x + M - N, y)を検索対象画素とし、ステップS502に戻り検索を続ける。
【0081】
ステップS602の判定結果が否であるときに(x, y)の後方M−N−1個の画素を検索対象画素としない理由は、これらの画素が識別ヘッダ1210に含まれる画素の候補となり得ないためである。
図15に具体例を示して説明する。同図ではN=3、M=6とした。ヘッダ検出部41は、図中白矢印の方向に行内を検索している。いま、ステップS504において直前の画素1500とRGB値が同一であると判定された検索対象画素1501から6列進んだ画素1502について、ステップS602においてRGB値が(Mr, Mg, Mb)と一致しないとの判定結果が得られた。この場合に識別ヘッダ1210の上記M個の画素の先頭、すなわち第N+1画素P
N+1が検索対象画素1502から最も近い状況は、同図に示すように検索対象画素1502が識別ヘッダ1210の第N画素P
Nであった場合である。このとき、識別ヘッダ1210の直前に位置する画素は検索対象画素1502の3列手前の画素1503である。従って、検索対象画素をN列戻すことで画素1503に移動すれば、直後の画素1504(すなわち第1画素P
1)が画素1503とRGB値が異なる場合に(ステップS504でYes)、ステップS505〜S506によって検索対象画素が識別ヘッダ1210の第N画素P
Nに移動し、ステップS502〜S505によって直後の第N+1画素P
N+1が検出されることとなる。なお、同図には符号画像の一例として識別ヘッダ1210の直後の画素1520を示してあるが、符号画像が単一の画素に限定されないことは上述のとおりである。
【0082】
以上説明した処理によれば、ヘッダ検出部41は、上記第2の実施形態の構成に加えてさらに、同一のRGB値を有する画素が行内で2個連続した場合、これら2画素を識別ヘッダ1210の第1画素P
1及び第2画素P
2又はこれらの周辺の画素と仮定する。そして、これら2画素のうち後方にある画素から検索対象をM列先の画素に進め、当該画素のRGB値が識別ヘッダ1210の第N+1画素P
N+1から第N+M画素P
N+MまでのM個の画素のRGB値と一致するか否かを判定する。一致する場合は現在の位置からM−1列手前、すなわち元の位置の直後の画素に戻って検索を続け、一致しない場合は現在の位置からN−1列だけ手前に戻って、すなわち元の位置からM−N+1列進んで検索を続ける。すなわち、上記2画素の後方において近い位置に識別ヘッダ1210がないと判断されれば、M−N個の画素について検索をスキップすることができる。これにより処理負荷はさらに軽減される。また、MとNの差が大きければスキップされる画素の数が多くなり、処理効率の向上に寄与する。
【0083】
本実施形態による処理負荷の軽減率について具体的に説明する。比較方法については上記第の実施形態と同様であり、本実施形態を使用しない場合の処理負荷Q1は式(3)で表される。一方、本実施形態を使用した場合の処理負荷Q3は、以下の式(5)で表される。
Q3 = {(100 - P) * 2 / (M - N) + P * 2 / N} * (X - Wq) * (Y - Hq) / 100 …(5)
【0084】
図16に、本実施形態を使用した場合の識別ヘッダ1210の検索に要する処理負荷を示す。本実施形態を使用しない場合の処理負荷を1とした値を示してある。簡便のためM=2Nとした。この場合はPの値によらず処理負荷の軽減率は一定となる。なお、式(4)及び(5)によれば、M=N+2のときQ3はQ2に等しいので、上記第2の実施形態からさらに軽減率を向上させるためにはN+2<Mとすればよい。
【0085】
ここで、識別ヘッダ1210の形状ごとの処理効率についていくつかの具体例を示す。例えば、幅20画素、高さ20画素の画像を識別ヘッダ1210とした場合には、本実施形態を使用しない場合の30%程度に処理負荷が抑えられる。また、行内で連続する60個の画素の連なりを識別ヘッダ1210とした場合には、処理負荷は本実施形態を使用しない場合の10%程度に抑えられる。識別ヘッダ1210の幅N+Mの増大に伴い処理効率は向上するが、高さの増大は処理効率の向上に寄与しない。これは、ヘッダ検出部41による検索が行方向の走査であることによる。
【0086】
〔変形例〕
上述の各実施形態では、操作支援プログラム22は分析制御プログラム21とともに使用されることを前提とし、識別ヘッダの各画素のRGB値は操作支援プログラム22にとって既知であった。しかしながら、操作支援プログラム22が多様なソフトウェアを対象とする場合には、次のような構成とすることも有用であろう。
例えば、符号画像及び識別ヘッダに割り当てられたRGB値が既知でない場合、ヘッダ検出部41は、ほぼ全ての画素が均一なRGB値(以下、背景色と称する)を有する所定サイズの領域中で、予め定められた色差を有する画素群を検出したときにこれを識別ヘッダとして検出してもよい。具体的には、
図3に示す例であれば、背景色が(R, G, B)である所定の領域において、RGB値が(R + 1, G, B)、(R - 1, G, B)、(R + 2, G, B)と連続する3画素を検出した場合に、これを識別ヘッダ210として認識する。第4画素220についても、背景色からの差分値に基づき情報を復号化する構成とすればよい。符号画像がQRコードである場合には、該QRコードを構成する画素と背景色との差分を予め定めておけばよい。このように構成すれば、各画素の背景色との色差と、色差と符号化された情報との対応関係が既知であれば、様々なUI(User Interface)デザインに対応してユーザの操作を支援することが可能となる。
【0087】
なお、上述した各実施形態及び変形例は本発明の例であり、本発明の趣旨の範囲で適宜に変更、修正、追加、組み合わせを行っても本願特許請求の範囲に包含されることは当然である。
例えば、上述の各実施形態においては、識別ヘッダを符号画像の左上端の直前に付する構成について説明を行ったが、符号画像の左下端の直前、若しくは右上端又は右下端の直後に識別ヘッダを付してもよい。また、複数種類の識別ヘッダがモニタ14の画面上に同時に表示されてもよく、ヘッダ検出部41がこれらをそれぞれ検出する構成としてもよい。