(57)【要約】 【課題】  デバイスの表示ランプを撮像した撮像画像内の表示ランプの位置を精度良く推定する。【解決手段】  撮像部と表示部とを含む撮像端末のための制御装置は、デバイス上の特定領域を撮像部を用いて撮像することによって生成される撮像画像データを取得する第１の取得部であって、特定領域は、デバイスの状態を示す１個以上の表示ランプを含む、第１の取得部と、撮像画像データを解析することによって、撮像画像データによって表される撮像画像内の文字の位置を推定する第１の推定部と、推定された撮像画像内の文字の位置を基準として、撮像画像内の表示ランプの位置を推定する第２の推定部と、を備える、制御装置。【選択図】  図１２
2014165554.tif 000002
【特許請求の範囲】
【請求項１】
撮像部を含む撮像端末のためのコンピュータプログラムであって、
前記撮像部による撮像の対象である対象製品上の特定領域を前記撮像部を用いて撮像することによって生成される撮像画像データを取得する第１の取得機能であって、前記特定領域は、前記対象製品の状態を示す１個以上の表示ランプを含む、前記第１の取得機能と、
前記撮像画像データを解析することによって、前記撮像画像データによって表される撮像画像内の文字の位置を推定する第１の推定機能と、
推定された前記撮像画像内の文字の位置を基準として、前記撮像画像内の前記表示ランプの位置を推定する第２の推定機能と、
を前記撮像端末に搭載されたコンピュータに実現させる、コンピュータプログラム。
【請求項２】
請求項１に記載のコンピュータプログラムであって、
前記第１の取得機能は、
撮像対象を表示する表示部に、撮像対象である前記特定領域内の前記表示ランプが表示されるべき前記表示部内の位置を利用者に示すガイド画像を表示するガイド画像表示機能と、
前記表示部に表示された画像を表す前記撮像画像データを前記撮像部に生成させる生成機能と、
を備え、
前記ガイド画像は、前記表示部に表示された前記特定領域と、重畳するように表示され、
前記第２の推定機能は、前記撮像画像内の文字の位置と、前記撮像画像内の前記ガイド画像に対応する位置と、を基準として、前記撮像画像内の前記表示ランプの位置を推定する、コンピュータプログラム。
【請求項３】
請求項２に記載のコンピュータプログラムであって、
前記表示ランプは、前記特定領域内の特定の配置ラインに沿って配置された複数個のランプを含み、
前記ガイド画像は、前記特定の配置ラインが位置すべき前記表示部内のラインを示す画像を含み、
前記第１の推定機能は、前記撮像画像内の前記文字の配列に沿った第１のラインの位置を推定し、
前記第２の推定機能は、前記第１のラインと、前記表示部内のラインに対応する前記撮像画像内の第２のラインとの交点を、前記撮像画像内の前記表示ランプの位置として推定する、コンピュータプログラム。
【請求項４】
請求項３に記載のコンピュータプログラムであって、
前記第１の推定機能は、前記撮像画像内の前記第２のラインと平行な第３のラインに沿った前記撮像画像の明度の変化に基づいて、前記第２のライン上の前記第１のラインの位置を決定する、コンピュータプログラム。
【請求項５】
請求項３に記載のコンピュータプログラムであって、
前記第１の推定機能は、前記撮像画像データを用いて、前記撮像画像のエッジ画像を表すエッジ画像データを生成するエッジ画像生成機能を備え、
前記第１の推定機能は、前記エッジ画像データに基づいて、前記第１のラインの位置を決定する、コンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムであって、
前記エッジ画像生成機能は、前記エッジ画像データを用いて、前記エッジ画像を縮小した縮小エッジ画像を表す縮小エッジ画像データを生成し、
前記第１の推定機能は、前記撮像画像内の前記第２のラインと平行な第３のラインに対応する前記縮小エッジ画像内のライン上の複数個の画素のうちの所定値以上の値を有する画素の位置と、前記所定値未満の値を有する画素の位置と、に基づいて、前記第１のラインの位置を決定する、コンピュータプログラム。
【請求項７】
請求項１ないし請求項６のいずれかに記載のコンピュータプログラムであって、
前記第１の取得機能は、第１の撮像画像データと、前記第１の撮像画像データが撮像されてから所定時間後に撮像される第２の撮像画像データと、を含む複数個の前記撮像画像データを取得し、
前記第１の推定機能は、複数個の前記撮像画像データによって表される複数個の前記撮像画像内の文字の位置をそれぞれ推定し、
前記第２の推定機能は、推定された複数個の前記撮像画像内の文字の位置を基準として、複数個の前記撮像画像内の前記表示ランプの位置をそれぞれ推定し、
前記コンピュータプログラムは、さらに、
推定された複数個の前記撮像画像内の前記表示ランプの位置に基づいて、複数個の前記撮像画像データを解析することによって、点滅状態を含む前記表示ランプの表示状態を特定する特定機能を
前記撮像端末に搭載されたコンピュータに実現させる、コンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムであって、
前記対象製品が、第１種の製品である場合には、前記第１の取得機能は、前記第１の撮像画像データが撮像されてから第１の所定時間後に撮像される前記第２の撮像画像データを取得し、
前記対象製品が、第２種の製品である場合には、前記第１の取得機能は、前記第１の撮像画像データが撮像されてから第２の所定時間後に撮像される前記第２の撮像画像データを取得する、コンピュータプログラム。
【請求項９】
請求項７に記載のコンピュータプログラムであって、
前記対象製品が、第１種の製品である場合には、
前記第１の取得機能は、Ｎ個（Ｎは、１以上の整数）の前記撮像画像データを取得し、
前記特定機能は、Ｎ個の前記撮像画像データを解析することによって、前記表示ランプの表示状態を特定し、
前記対象製品が、第２種の製品である場合には、
前記第１の取得機能は、Ｍ個（Ｍは、Ｎ＜Ｍの整数）の前記撮像画像データを取得し、
前記特定機能は、Ｍ個の前記撮像画像データを解析することによって、前記表示ランプの表示状態を特定する、コンピュータプログラム。
【請求項１０】
請求項１ないし請求項９のいずれかに記載のコンピュータプログラムであって、さらに、
前記対象製品の種類ごとに前記表示ランプに関連する特徴を示す特徴情報を取得する第２の取得機能と、
推定された前記撮像画像内の前記表示ランプの位置に基づいて、前記撮像画像データを解析することによって、前記表示ランプの表示状態を特定する特定機能と、
を前記撮像端末に搭載されたコンピュータに実現させ、
前記特定機能は、前記特徴情報を用いて、前記表示ランプの表示状態を特定する、コンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムであって、
前記特徴情報は、前記表示ランプを含む前記特定領域内の特徴点の位置を示す位置情報を含み、
前記特定機能は、前記位置情報を用いて、前記撮像画像内の被写体の位置を補正する処理を、前記第１の推定機能による前記撮像画像内の文字の位置の推定に先立って実行する、コンピュータプログラム。
【請求項１２】
撮像部と表示部とを含む撮像端末のための制御装置であって、
デバイス上の特定領域を前記撮像部を用いて撮像することによって生成される撮像画像データを取得する第１の取得部であって、前記特定領域は、前記デバイスの状態を示す１個以上の表示ランプを含む、前記第１の取得部と、
前記撮像画像データを解析することによって、前記撮像画像データによって表される撮像画像内の文字の位置を推定する第１の推定部と、
推定された前記撮像画像内の文字の位置を基準として、前記撮像画像内の前記表示ランプの位置を推定する第２の推定部と、
を備える、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像を利用する技術に関し、特に、撮像画像内のデバイスの表示ランプの位置を推定する技術に関する。
【背景技術】
【０００２】
製品に備えられた表示ランプの状態を、撮影した撮像画像を用いて検出する技術が知られている。例えば、特許文献１に開示された技術では、対象製品としてのサーバコンピュータのラックに取り付けられた監視装置は、監視カメラによって、サーバコンピュータに搭載された、異常を報知するための報知ＬＥＤの点灯状態を検出する。監視装置は、検出された点灯状態に応じた警告内容を示す情報を、管理コンピュータに送信する。この技術では、撮像画像内の報知ＬＥＤの位置は、利用者によってマウスなどのポインティングデバイスを用いて指定される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２４２９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術は、撮像画像内の報知ＬＥＤの位置を推定しないので、撮像画像内の報知ＬＥＤの位置を利用者が指定する必要があった。
【０００５】
本発明の目的は、製品の表示ランプを撮像した撮像画像内において、表示ランプの位置を精度良く推定できる技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］撮像部を含む撮像端末のためのコンピュータプログラムであって、前記撮像部による撮像の対象である対象製品上の特定領域を前記撮像部を用いて撮像することによって生成される撮像画像データを取得する第１の取得機能であって、前記特定領域は、前記対象製品の状態を示す１個以上の表示ランプを含む、前記第１の取得機能と、前記撮像画像データを解析することによって、前記撮像画像データによって表される撮像画像内の文字の位置を推定する第１の推定機能と、推定された前記撮像画像内の文字の位置を基準として、前記撮像画像内の前記表示ランプの位置を推定する第２の推定機能と、を前記撮像端末に搭載されたコンピュータに実現させる、コンピュータプログラム。
【０００８】
上記構成によれば、比較的推定が容易な文字の位置を基準にして、表示ランプの位置を推定する。この結果、表示ランプの位置を精度良く推定することができる。
【０００９】
［適用例２］適用例１に記載のコンピュータプログラムであって、前記第１の取得機能は、撮像対象を表示する表示部に、撮像対象である前記特定領域内の前記表示ランプが表示されるべき前記表示部内の位置を利用者に示すガイド画像を表示するガイド画像表示機能と、前記表示部に表示された画像を表す前記撮像画像データを前記撮像部に生成させる生成機能と、を備え、前記ガイド画像は、前記表示部に表示された前記特定領域と、重畳するように表示され、前記第２の推定機能は、前記撮像画像内の文字の位置と、前記撮像画像内の前記ガイド画像に対応する位置と、を基準として、前記撮像画像内の前記表示ランプの位置を推定する、コンピュータプログラム。
【００１０】
この構成によれば、撮像時に、表示ランプが表示されるべき表示部内の位置を利用者に示すガイド画像を表示部に表示する。そして、文字の位置と、撮像画像内のガイド画像に対応する位置を基準として、表示ランプの位置を推定するので、表示ランプの位置の推定精度を、さらに、向上することができる。
【００１１】
［適用例３］適用例２に記載のコンピュータプログラムであって、前記表示ランプは、前記特定領域内の特定の配置ラインに沿って配置された複数個のランプを含み、前記ガイド画像は、前記特定の配置ラインが位置すべき前記表示部内のラインを示す画像を含み、前記第１の推定機能は、前記撮像画像内の前記文字の配列に沿った第１のラインの位置を推定し、前記第２の推定機能は、前記第１のラインと、前記表示部内のラインに対応する前記撮像画像内の第２のラインとの交点を、前記撮像画像内の前記表示ランプの位置として推定する、コンピュータプログラム。
【００１２】
表示ランプは、表示ランプに関する文字列に沿ったライン上に位置している場合が多い。本実施例では、文字列に沿った第１のラインと、特定の配置ラインが位置すべき表示部内のラインに対応する第２のラインとの交点を、表示ランプの位置として推定する。この結果、表示ランプの位置の推定精度を、さらに、向上することができる。
【００１３】
［適用例４］適用例３に記載のコンピュータプログラムであって、前記第１の推定機能は、前記撮像画像内の前記第２のラインと平行な第３のラインに沿った前記撮像画像の明度の変化に基づいて、前記第２のライン上の前記第１のラインの位置を決定する、コンピュータプログラム。
【００１４】
この構成によれば、第２のラインと平行な第３のラインに沿った撮像画像の明度の変化に基づいて、文字列に沿った第１のラインの位置を決定するので、文字列に沿った第１のラインの位置を適切に決定することができる。
【００１５】
［適用例５］適用例３に記載のコンピュータプログラムであって、前記第１の推定機能は、前記撮像画像データを用いて、前記撮像画像のエッジ画像を表すエッジ画像データを生成するエッジ画像生成機能を備え、前記第１の推定機能は、前記エッジ画像データに基づいて、前記第１のラインの位置を決定する、コンピュータプログラム。
【００１６】
この構成によれば、エッジ画像を用いて、第１のラインの位置を適切に決定することができる。
【００１７】
［適用例６］適用例５に記載のコンピュータプログラムであって、前記エッジ画像生成機能は、前記エッジ画像データを用いて、前記エッジ画像を縮小した縮小エッジ画像を表す縮小エッジ画像データを生成し、前記第１の推定機能は、前記撮像画像内の前記第２のラインと平行な第３のラインに対応する前記縮小エッジ画像内のライン上の複数個の画素のうちの所定値以上の値を有する画素の位置と、前記所定値未満の値を有する画素の位置と、に基づいて、前記第１のラインの位置を決定する、コンピュータプログラム。
【００１８】
この構成によれば、縮小エッジ画像を用いて、第１のラインの位置を適切に決定することができる。
【００１９】
［適用例７］適用例１ないし適用例６のいずれかに記載のコンピュータプログラムであって、前記第１の取得機能は、第１の撮像画像データと、前記第１の撮像画像データが撮像されてから所定時間後に撮像される第２の撮像画像データと、を含む複数個の前記撮像画像データを取得し、前記第１の推定機能は、複数個の前記撮像画像データによって表される複数個の前記撮像画像内の文字の位置をそれぞれ推定し、前記第２の推定機能は、推定された複数個の前記撮像画像内の文字の位置を基準として、複数個の前記撮像画像内の前記表示ランプの位置をそれぞれ推定し、前記コンピュータプログラムは、さらに、推定された複数個の前記撮像画像内の前記表示ランプの位置に基づいて、複数個の前記撮像画像データを解析することによって、点滅状態を含む前記表示ランプの表示状態を特定する特定機能を
前記撮像端末に搭載されたコンピュータに実現させる、コンピュータプログラム。
【００２０】
この構成によれば、第１の撮像画像データと第２の撮像画像データを含む複数個の撮像画像データを解析することによって、点滅状態を含む表示ランプの表示状態を特定することができる。この結果、点滅状態を含む表示ランプの表示状態を適切に特定することができる。
【００２１】
［適用例８］適用例７に記載のコンピュータプログラムであって、前記対象製品が、第１種の製品である場合には、前記第１の取得機能は、前記第１の撮像画像データが撮像されてから第１の所定時間後に撮像される前記第２の撮像画像データを取得し、前記対象製品が、第２種の製品である場合には、前記第１の取得機能は、前記第１の撮像画像データが撮像されてから第２の所定時間後に撮像される前記第２の撮像画像データを取得する、コンピュータプログラム。
【００２２】
この構成によれば、対象製品の種類ごとに異なる所定時間に従って撮像される第２の撮像画像データを取得するので、対象製品の種類に応じて、精度良く表示ランプの表示状態を特定することができる。
【００２３】
［適用例９］適用例７に記載のコンピュータプログラムであって、前記対象製品が、第１種の製品である場合には、前記第１の取得機能は、Ｎ個（Ｎは、１以上の整数）の前記撮像画像データを取得し、前記特定機能は、Ｎ個の前記撮像画像データを解析することによって、前記表示ランプの表示状態を特定し、前記対象製品が、第２種の製品である場合には、前記第１の取得機能は、Ｍ個（Ｍは、Ｎ＜Ｍの整数）の前記撮像画像データを取得し、前記特定機能は、Ｍ個の前記撮像画像データを解析することによって、前記表示ランプの表示状態を特定する、コンピュータプログラム。
【００２４】
この構成によれば、対象製品の種類によって適切な数の撮像画像データを解析して、表示ランプの表示状態を特定するので、対象製品の種類に応じて、精度良く表示ランプの表示状態を特定することができる。
【００２５】
［適用例１０］適用例１ないし適用例９のいずれかに記載のコンピュータプログラムであって、さらに、前記対象製品の種類ごとに前記表示ランプに関連する特徴を示す特徴情報を取得する第２の取得機能と、推定された前記撮像画像内の前記表示ランプの位置に基づいて、前記撮像画像データを解析することによって、前記表示ランプの表示状態を特定する特定機能と、を前記撮像端末に搭載されたコンピュータに実現させ、前記特定機能は、前記特徴情報を用いて、前記表示ランプの表示状態を特定する、コンピュータプログラム。
【００２６】
この構成によれば、表示ランプに関連する特徴に応じて、表示ランプの表示状態を精度良く特定することができる。
【００２７】
［適用例１１］適用例１０に記載のコンピュータプログラムであって、前記特徴情報は、前記表示ランプを含む前記特定領域内の特徴点の位置を示す位置情報を含み、前記特定機能は、前記位置情報を用いて、前記撮像画像内の被写体の位置を補正する処理を、前記第１の推定機能による前記撮像画像内の文字の位置の推定に先立って実行する、コンピュータプログラム。
【００２８】
この構成によれば、特定領域内の特徴点の位置を用いて、撮像画像内の被写体の位置を補正した後に撮像画像内の文字の位置を推定するので、文字の位置、および、文字の位置を基準に推定される表示ランプの位置を精度良く推定することができる。この結果、表示ランプの表示状態を精度良く特定することができる。
【００２９】
なお、本発明は、種々の形態で実現することが可能であり、例えば、撮像部を備える撮像端末の制御方法、これらの撮像端末の機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００３０】
【図１】第１実施例における情報提供システムの構成を示すブロック図である。
【図２】プリンタ２００の外観斜視図である。
【図３】プリンタ２００の特定領域１００の拡大図である。
【図４】ＵＲＬテーブルＤＴ１の一例を示す図である。
【図５】特徴情報テーブルＤＴ２に含まれる各テーブルの一例を示す図である。
【図６】情報提供処理のフローチャートである。
【図７】情報提供部３００によって表示されるＵＩ画像の一例を示す図である。
【図８】自動認識処理のフローチャート
【図９】撮像画像補正処理のフローチャートである。
【図１０】撮像画像補正処理の説明図である。
【図１１】ランプ範囲推定処理のフローチャートである。
【図１２】ランプ範囲推定処理および表示状態特定処理の説明図である。
【図１３】表示状態特定処理のフローチャートである。
【図１４】サポート情報の表示画像ＡＩ５の一例である。
【図１５】変形例の表示ランプの表示状態と撮像条件について説明する図である。
【発明を実施するための形態】
【００３１】
Ａ．第１実施例
Ａ−１．システムの構成：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、第１実施例における情報提供システムの構成を示すブロック図である。このシステムは、プリンタ２００と、インターネット７０に接続されたサーバ６０と、携帯端末４００と、を備えている。
【００３２】
プリンタ２００は、ＣＰＵ２１０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置２２０と、ＲＡＭなどの揮発性記憶装置２３０と、レーザー方式のプリントエンジンである印刷実行部２４０と、後述する１個の操作ボタン３０（図３）を含む操作部２６０と、後述する複数個の表示ランプ１１〜１５を含む表示部２７０と、パーソナルコンピュータ（図示省略）などの外部装置とデータ通信を行うためのインタフェースを含む通信部２８０と、を備えている。なお、本実施例の操作部２６０は、多数のボタンや、タッチパネルを備えていない。また、表示部２７０は、液晶ディスプレイなどの表示パネルを備えていない。各種の設定などの複雑な操作は、図示しないパーソナルコンピュータなどにインストールされたプリンタドライバを介して、実行される。
【００３３】
揮発性記憶装置２３０には、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域２３１が設けられている。不揮発性記憶装置２２０は、プリンタ２００を制御するためのコンピュータプログラム２２１を格納している。
【００３４】
コンピュータプログラム２２１は、例えば、プリンタ２００の出荷時に予め不揮発性記憶装置２２０に格納されている。また、コンピュータプログラム２２１は、ＣＤ−ＲＯＭなどに記録された形態や、サーバからダウンロードされる形態で提供され得る。
【００３５】
ＣＰＵ２１０は、コンピュータプログラム２２１を実行することにより、プリンタ２００の全体を制御する。具体的には、ＣＰＵ２１０は、装置制御部１１０と、ＵＩ制御部１２０として機能する。装置制御部１１０は、印刷実行部２４０を制御して、印刷処理などのプリンタ２００の主たる機能を実現する。ＵＩ制御部１２０は、操作部２６０や表示部４７０などを用いたユーザインタフェースに関する制御、すなわち、操作部２６０を介した利用者からの操作の受け付けや、表示部２７０を介した利用者に対するプリンタ２００に関連する情報の提供などを実行する。
【００３６】
図２は、プリンタ２００の外観斜視図である。図３は、プリンタ２００の特定領域１００の拡大図である。図２に示すように、プリンタ２００は、略直方体の筐体１０を備えている。筐体１０の底部には、用紙を収納する用紙トレイ１８が、前方の側面から引き出し状に開閉可能に装着されている。また、筐体１０の後方の側面には、開閉可能なカバー１９が装着されている。カバー１９は、例えば、用紙詰まりを解消する際や、トナーなどを交換する際に、開閉される。筐体１０の上面１０Ａには、印刷原稿が排出される開口１６が形成されるとともに、開口１６から排出された印刷原稿が収容される排出トレイとして機能する上面部材１７が組み付けられている。
【００３７】
さらに、筐体１０の上面１０Ａにおける角付近の特定領域１００には、図３に示すように、複数個の表示ランプ１１〜１５と、１個の操作ボタン３０と、が配置されている。複数個の表示ランプ１１〜１５は、図３のＹ方向に沿ったランプ配置ラインＬＬに沿って、略等間隔に配置されている。複数個の表示ランプ１１〜１５は、例えば、ＬＥＤで構成され、プリンタ２００の複数の装置状態、例えば、正常状態（例えば、印刷ジョブの待ち受け状態、印刷中の状態）や、エラー状態（例えば、トナー切れの状態、用紙切れの状態）を、表示するために用いられる。
【００３８】
複数個の表示ランプ１１〜１５のそれぞれの近傍、具体的には、図３の右側には（＋Ｘ方向）、対応する表示ランプに関する文字の配列（以下、単に、文字列と呼ぶ）２１〜２５が刻印されている。すなわち、１個の表示ランプと、該１個の表示ランプに対応する文字列と、は、ランプ配置ラインＬＬと略垂直な方向に並んで配置されている。換言すれば、複数個の表示ランプ１１〜１５の対応する文字列を基準とした位置は、互いに同じである。すなわち、複数個の表示ランプ１１〜１５のそれぞれは、対応する文字列の左側（−Ｘ方向）に配置されている。例えば、表示ランプ１１は、文字列２１の左側に配置され、表示ランプ１３は、文字列２３の左側に配置されている。文字列２１〜２５は、視認性の観点から筐体１０の上面１０Ａの色（例えば、白色）に対して、高いコントラストを有する色（例えば、黒色）に着色されている。例えば、表示ランプ１１に対応する文字列２１は、「Cover」であり、表示ランプ１１が主としてカバー１９に関する状態を表示するために用いられることを示している。
【００３９】
なお、プリンタの種類（機種）によって、表示ランプの個数、各表示ランプの位置およびサイズは、異なっている。例えば、表示ランプの個数は、５個（図３）に限られず、４個である機種や、３個である機種が存在する。ただし、本実施例では、複数個の表示ランプは、機種に拘わらずに、一本のランプ配置ライン（例えば、図３のラインＬＬ）に沿って、配置されている。また、機種に拘わらずに、表示ランプと、対応する文字列と、は、ランプ配置ラインＬＬと垂直な方向に並んでいる。
【００４０】
図３に示すように、上面１０Ａにおける、複数個の表示ランプ１１〜１５と、文字列２１〜２５と、操作ボタン３０と、が配置された領域（以下、パネル領域とも呼ぶ）の右側には、上述した上面部材１７が配置されている。この結果、パネル領域と、上面部材１７と、の間には、見切り線ＤＬが現れる。
【００４１】
サーバ６０は、周知の計算機であり、図示しないサーバプログラムを実行することにより、携帯端末４００や図示しないパーソナルコンピュータなどのクライアント計算機に対して、ＷＥＢサービスを提供する。ＷＥＢサービスは、利用者に対してサポート情報を提供するサービスであり、サーバ６０の記憶部６５には、プリンタ２００の利用者をサポートするためのサポート情報群６５１がＷＥＢページの形式で格納されている。サーバ６０は、例えば、プリンタ２００を製品として販売した販売者によって、運営されている。
【００４２】
携帯端末４００は、例えば、プリンタ２００の利用者が所有するスマートフォンなどの多機能携帯電話である。携帯端末４００は、ＣＰＵ４１０と、フラッシュメモリなどの不揮発性記憶装置４２０と、ＲＡＭなどを含みバッファ領域４２７などに用いられる揮発性記憶装置４２５と、無線ＩＦ部４３０と、電話ＩＦ部４４０と、スピーカやマイクを含み電話機能などを実現するための音声処理部４５０と、タッチパネルや操作キーなどを含む操作部４６０と、タッチパネルと重畳された液晶パネルなどを含む表示部４７０と、イメージセンサを用いて撮像を行うカメラ４９０と、を主に備えている。
【００４３】
無線ＩＦ部４３０は、アンテナを含み、例えば、図示しないアクセスポイントを介した無線通信（インフラストラクチャーモードに準拠する無線通信）を行う。無線ＩＦ部４３０は、後述するように、携帯端末４００がサーバ６０にアクセスするためなどに用いられる。
【００４４】
電話ＩＦ部４４０は、アンテナを含み、基地局（図示省略）との間で携帯電話通信の方式（例えば、Ｗ−ＣＤＭＡ）に準拠する無線通信を行う。電話ＩＦ部４４０は、例えば、電話や、基地局（図示省略）を介したインターネット７０への接続などを実現する。無線ＩＦ部４３０と同様に、電話ＩＦ部４４０は、携帯端末４００がサーバ６０にアクセスするためなどに用いられる。
【００４５】
カメラ４９０は、ＣＣＤやＣＭＯＳなどの撮像素子を用いて、撮像対象物（被写体）を表す画像データを生成・取得することができる。
【００４６】
不揮発性記憶装置４２０には、制御プログラムＰＧ１と、情報提供プログラムＰＧ２と、ブラウザプログラムＰＧ３と、ＵＲＬ（Uniform Resource Locator）が記述されたＵＲＬテーブルＤＴ１と、プリンタ２００に関する特徴情報が記述された特徴情報テーブルＤＴ２と、が格納されている。
【００４７】
制御プログラムＰＧ１は、ＯＳ（オペレーティングシステム）の機能や、電話機能、カメラ４９０の制御機能、携帯端末４００の基本機能を実現するプログラムである。ブラウザプログラムＰＧ３は、ＷＥＢページを閲覧するためのＷＥＢブラウザとしての機能を実現するプログラムである。制御プログラムＰＧ１およびブラウザプログラムＰＧ３は、例えば、携帯端末４００の製造者によって提供され、出荷時に予め格納されている。情報提供プログラムＰＧ２は、プリンタ２００に関する情報を利用者に提供する処理を、サーバ６０と協働して、実現するプログラムである。情報提供プログラムＰＧ２は、携帯端末４００に新たな機能を追加するプログラム（「アプリ」とも呼ばれる。）であり、例えば、携帯端末４００の製造者とは異なる提供者（例えば、プリンタ２００の製造者）によって、所定のサーバからダウンロードする形態で、提供される。また、情報提供プログラムＰＧ２は、例えば、携帯端末４００の製造者によって提供され、出荷時に予め格納されていても良い。
【００４８】
図４は、ＵＲＬテーブルＤＴ１の一例を示す図である。ＵＲＬテーブルＤＴ１は、後述する情報提供処理の対象となる複数種類のプリンタ（プリンタ２００を含む）のそれぞれに対応する複数のテーブルＤＴ１ａ〜ＤＴ１ｃを含んでいる。例えば、複数のテーブルＤＴ１ａ〜ＤＴ１ｃは、プリンタの状態（ステータス）と、プリンタの状態に対応する情報を取得するために用いられるＵＲＬとが、複数個の表示ランプの表示状態と対応付けて記録されている。例えば、プリンタの特定の機種（例えば、プリンタ２００）に対応するテーブルＤＴ１ａには、複数個の表示ランプ１１〜１５の第１の表示状態に対して、プリンタの第１の状態「トナー残  少」（トナー残量が基準値よりも少なくなった状態）と、第１のＵＲＬ「http://aa...」とが対応付けられている。第１の表示状態は、表示ランプ１２が「黄の点滅」であり、表示ランプ１５が「緑の点灯」であり、他の表示ランプ１１、１３、１４が「消灯」である表示状態である。また、テーブルＤＴ１ａには、複数個の表示ランプ１１〜１５の第２の表示状態に対して、プリンタの第２の状態「紙詰まり」（用紙が印刷実行部内の機構に詰まって印刷を実行できない状態）と、第２のＵＲＬ「http://bb...」とが対応付けられている。第２表示状態は、表示ランプ１１と表示ランプ１４が「黄色の点滅」であり、表示ランプ１５が「赤の点灯」であり、他の表示ランプ１２、１３が「消灯」である表示状態である。
【００４９】
ＵＲＬ（Uniform Resource Locator）は、対応するプリンタの状態（複数個の表示ランプの対応する表示状態と言うこともできる）に関係するサポート情報を含むＷＥＢページのサーバ６０内の位置を表す位置情報である。サポート情報は、例えば、エラー状態に関係する情報、具体的には、エラーの解決方法、エラーの解決に必要な消耗品（トナーや感光ドラム）に関する情報などを含む。なお、これらのサポート情報は、関係情報の例である。なお、プリンタの種類（機種）ごとにテーブルが用意されていることから解るように、プリンタの状態が同じであっても、機種が異なれば、対応するＵＲＬは異なる場合がある。例えば、機種によって、使用すべきトナーや感光ドラムの種類（品番）が異なる場合があり、エラーの解決方法も異なる場合があるからである。
【００５０】
特徴情報テーブルＤＴ２（図１）は、撮像情報テーブルＤＴＡ（図５（Ａ））と、特徴点情報テーブルＤＴＢ（図５（Ｂ））と、を含んでいる。また、特徴情報テーブルＤＴ２は、表示状態情報テーブルＤＴＣ（図５（Ｃ））を含んでも良い。表示状態情報テーブルＤＴＣ（図５（Ｃ））を用いる例については変形例で説明する。
【００５１】
図５は、特徴情報テーブルＤＴ２（図１）に含まれる各テーブルの一例を示す図である。
【００５２】
図５（Ａ）には、撮像情報テーブルＤＴＡの一例が示されている。撮像情報テーブルＤＴＡには、情報提供処理の対象となる複数種類のプリンタのそれぞれについて、撮像情報として、撮像回数と撮像間隔とが記録されている。撮像回数および撮像間隔については、後述する自動認識処理（図８）にて説明する。
【００５３】
図５（Ｂ）には、特徴点情報テーブルＤＴＢの一例が示されている。特徴点情報テーブルＤＴＢは、情報提供処理の対象となる複数種類のプリンタのそれぞれに対応する複数のテーブルＤＴＢａ〜ＤＴＢｃを含んでいる。例えば、プリンタの特定の機種に対応するテーブルＤＴＢａには、特定領域１００（図３）内の複数個の特徴点の位置を示す位置情報が記録されている。例えば、複数個の特徴点は、図５（Ｂ）に示すように、上述した見切り線ＤＬ上に配置された３個の点Ｐ１〜Ｐ３（図３）を含んでいる。これらの複数個の特徴点は、後述する撮像画像補正処理（図９、図１０）において、参照される点であるので、「参照点」とも呼ぶ。
【００５４】
なお、プリンタの種類（機種）ごとにテーブルが用意されていることから解るように、プリンタの種類によって、これらの参照点の位置は、異なっている。ただし、本実施例では、プリンタの種類に拘わらずに、ランプ配置ライン（例えば、図３のラインＬＬ）と平行なデザイン上の特徴的な線（例えば、図３の見切り線ＤＬ）が存在する。このために、各機種のテーブルＤＴＢａ〜ＤＴＢｃには、これらのデザイン上の特徴的な線上の３個の特徴点の位置情報が記録されている。
【００５５】
図５（Ｃ）には、ランプの表示状態が記録された表示状態情報テーブルＤＴＣが示されている。表示状態情報テーブルＤＴＣは、情報提供処理の対象となる複数種類のプリンタのそれぞれに対応する複数のテーブルＤＴＣａ〜ＤＴＣｃを含んでいる。例えば、プリンタの特定の機種に対応するテーブルＤＴＣａには、複数個の表示ランプ１１〜１５（図３）のそれぞれが取り得る表示状態が記録されている。
【００５６】
１個の表示ランプの表示状態は、表示ランプの発光時の色（発光色とも呼ぶ）の観点からは、「黄」「赤」「緑」「青」の４種類のうちのいずれかである。また、１個の表示ランプの表示状態は、発光の態様の観点からは、「消灯」、「点灯」、「点滅」の３種類のうちのいずれかである。「消灯」は、表示ランプが発光していない状態が維持される表示状態である。「点灯」は、表示ランプが発光している状態が維持される表示状態である。「点滅」は、表示ランプが発光している状態と、発光していない状態が、所定間隔で繰り返される表示状態である。これらの発光色と、発光の態様と、の組合わせによって、本実施例では、９種類（「消灯」１種類、「点灯」４種類（４色）、「点滅」４種類（４色））の表示状態がある。
【００５７】
「消灯」は、全ての表示ランプが取り得る表示状態であるので、図５（Ｃ）の表示状態情報テーブルＤＴＣには、記録されていない。図５（Ｃ）の表示状態情報テーブルＤＴＣにおいて、各発光色に対応して記述された丸印は、対応する発光色について「点灯」が取り得る表示状態であることを示し、各発光色に対応して記述された二重丸の印は、対応する発光色について「点灯」と「点滅」の両方が取り得る表示状態であることを示している。また、各発光色に対応して記述されたばつ印は、対応する発光色では、「点灯」も「点滅」もしないことを示している。図５（Ｃ）に示すように、１個の表示ランプが、複数の発光色で「点灯」または「点滅」することもある（例えば、図５（Ｃ）の表示ランプ１５）。なお、プリンタの種類（機種）ごとにテーブルが用意されていることから解るように、プリンタの種類によって、各表示ランプが取り得る表示状態は、異なる場合がある。
【００５８】
図１に戻って説明を続ける。図１のＣＰＵ４１０は、制御プログラムＰＧ１を実行することによって、携帯端末４００の基本機能を実現するメイン制御部５５として機能し、ブラウザプログラムＰＧ３を実行することによって、ＷＥＢブラウザ５０として機能する。また、ＣＰＵ４１０は、情報提供プログラムＰＧ２を実行することによって、情報提供部３００として機能する。
【００５９】
情報提供部３００は、画像データ取得部３１０と、機種情報取得部３２０と、特徴情報取得部３３０と、文字位置推定部３４０と、ランプ位置推定部３５０と、特定部３６０と、識別情報取得部３７０と、ブラウザ制御部３８０と、を備えている。画像データ取得部３１０は、ガイド画像表示部３１２と、撮像画像生成部３１４と、を備えている。文字位置推定部３４０は、エッジ画像生成部３４５を備えている。これらの各処理については、後述する。
【００６０】
Ａ−３．携帯端末４００の情報提供部３００の処理：
図６は、情報提供処理のフローチャートである。この情報提供処理は、例えば、情報提供プログラムＰＧ２が利用者によって起動されたときに、情報提供部３００（図１）によって実行される。利用者は、例えば、複数個の表示ランプ１１〜１５が、プリンタ２００が特定の状態であることを示す表示状態である場合に、当該プリンタ２００の特定の状態に関係する情報を取得するために、情報提供プログラムＰＧ２を起動する。より具体的には、例えば、利用者は、プリンタ２００がトナー切れなどのエラー状態であるために、複数個の表示ランプ１１〜１５が当該エラー状態を示す表示状態となった場合に、当該エラー状態の解決方法を詳しく知るために、情報提供プログラムＰＧ２を起動する。
【００６１】
ステップＳ１０にて、情報提供部３００（情報提供プログラムＰＧ２）が起動されて、情報提供部３００が動作可能な状態になると、機種情報取得部３２０は、機種選択画像ＡＩ１を表示部４７０に表示する（ステップＳ２０）。
【００６２】
図７は、情報提供部３００によって表示されるＵＩ画像の一例を示す図である。図７（Ａ）には、機種選択画像ＡＩ１の一例が示されている。この機種選択画像ＡＩ１は、情報提供部３００が対応しているプリンタの機種を識別するための機種情報（例えば、型番、製品情報とも呼ぶ）の一覧ＭＮと、複数個の機種情報にそれぞれ対応する複数個のラジオボタンＲＢと、を含んでいる。利用者は、１個のラジオボタンＲＢをＯＮにしたうえで、決定ボタンＢＴ１にタッチすることによって、プリンタの機種（対象機種）を選択する。
【００６３】
ステップＳ２５では、機種情報取得部３２０は、利用者の選択に基づいて、対象機種を識別するための機種情報（例えば、型番）を取得する。以下では、図１〜図３を参照して説明したプリンタ２００が対象機種である場合を例に説明する。
【００６４】
ステップＳ３０では、情報提供部３００は、取得された機種情報によって識別される対象機種に応じたメイン画像ＡＩ２を、表示部４７０に表示する。図７（Ｂ）には、メイン画像ＡＩ２の一例が示されている。メイン画像ＡＩ２は、対象機種のプリンタ２００の部分画像ＰＩと、複数個の表示ランプ１１〜１５に対応する複数個のフィールドＤＦ１〜ＤＦ５と、ＷＥＢブラウザの起動を受け付ける起動ボタンＢＴ２と、撮像モードへの移行（すなわち、後述する自動認識処理への移行）を受け付ける撮像ボタンＢＴ３と、機種選択ボタンＢＴ４と、を含んでいる。機種選択ボタンＢＴ４は、上述した機種選択画像ＡＩ１を表示して、機種選択を利用者から受け付ける機種選択モードへ移行するためのボタンであり、対象機種を変更する際に押下される。
【００６５】
部分画像ＰＩは、例えば、上述した特定領域１００（図３）のうち、複数個の表示ランプ１１〜１５が配置された部分を含む画像である。複数個のフィールドＤＦ１〜ＤＦ５は、部分画像ＰＩに表された複数個の表示ランプ１１〜１５に対応する位置、すなわち、複数個の表示ランプ１１〜１５の右側に、それぞれ配置されている。表示される部分画像の種類、および、表示されるフィールドの数は、対象機種によって、すなわち、ステップＳ２５にて取得された機種情報によって、異なる。
【００６６】
利用者は、撮像ボタンＢＴ３を押下して後述する自動認識処理に移行することもできる。また、利用者は、機種選択ボタンＢＴ４を押下して、対象機種を変更することもできる。すなわち、これらの処理は利用者の選択に応じて実行される。ここでは、煩雑を避けるために、対象機種の変更は行われず、次のステップでは、利用者の操作に応じて、自動認識処理が実行されるものとして全体の処理を説明する（図６）。
【００６７】
ステップＳ３５では、利用者の操作に応じて、自動認識処理が実行される。自動認識処理は、プリンタ２００の特定領域１００を撮像することによって生成される１個または複数個の撮像画像データを解析することによって、撮像画像内の複数個の表示ランプ１１〜１５の表示状態を認識（特定）する処理である。図８は、自動認識処理のフローチャートである。
【００６８】
図８のステップＳ１００では、画像データ取得部３１０は、上述した撮像情報テーブルＤＴＡ（図５（Ａ））を参照して、対象機種の撮像回数と、撮像間隔と、を決定する。対象機種の複数個の表示ランプの中に、取り得る表示状態に「点滅」を含む表示ランプがない場合、すなわち、取り得る表示状態が「点灯」と「消灯」のいずれかである場合には、撮像回数は１回に設定され、撮像間隔は設定されない（例えば、図５（Ａ）の機種Ｂ）。対象機種の複数個の表示ランプの中に、取り得る表示状態に「点滅」を含む表示ランプがある場合には、撮像回数は、２回に設定され、撮像間隔は、点滅間隔と同じ間隔に設定される（例えば、図５（Ａ）の機種Ａ）。
【００６９】
本実施例では、表示ランプの「点滅」の態様は１種類であり、発光している状態と、発光していない状態とが、一定の点滅間隔（例えば、１秒）で繰り返される態様である。このために、点滅間隔と等しい間隔で、２回に亘って表示ランプを撮像すると、表示ランプが「点滅」している場合には、特定の場合を除いて、一方の撮像画像には、発光した状態の表示ランプが含まれ、他方の撮像画像には、発光していない状態の表示ランプが含まれる。この結果、２つの撮像画像から、表示ランプが「点滅」していることが判定可能である。特定の場合とは、発光の開始の瞬間と終了の瞬間とに２回の撮像が行われる場合である。この場合には、両方の撮像画像に発光した状態の表示ランプが含まれたり、両方の撮像画像に発光していない状態の表示ランプが含まれ得る。ただし、このようなケースが起こる確率は比較的低い。
【００７０】
ステップＳ１５０では、画像データ取得部３１０は、カメラ４９０を起動し、カメラ４９０を撮像可能な状態にする。画像データ取得部３１０のガイド画像表示部３１２は、このときに、表示部４７０に撮像用画像ＡＩ３を表示する。図７（Ｃ）には、撮像用画像ＡＩ３の一例が図示されている。撮像用画像ＡＩ３は、ガイド画像として、矩形状の枠画像ＢＸと、図７（Ｃ）の上下方向に延びるライン画像ＬＮと、を含んでいる。撮像用画像ＡＩ３の他の領域ＮＡには、カメラ４９０が捉えている撮像対象（例えば、表示ランプ１１〜１５を含む特定領域１００）が表示される。枠画像ＢＸおよびライン画像ＬＮは、カメラ４９０が捉えている撮像対象（例えば、表示ランプ１１〜１５を含む特定領域１００）と重畳されて表示部４７０に表示される。対象枠画像ＢＸおよびライン画像ＬＮは、プリンタ２００の特定領域１００（図３）を利用者が撮像する際に、撮像対象である特定領域１００内の複数個の表示ランプ１１〜１５が表示されるべき表示部４７０内の位置を、利用者に示すための画像である。利用者は、複数個の表示ランプ１１〜１５の全体が枠画像ＢＸ内に位置し、かつ、複数個の表示ランプ１１〜１５のランプ配置ラインＬＬ（図３）と、ライン画像ＬＮとが一致するように、特定領域１００の撮像を行う。なお、図７（Ｃ）に破線で示す複数個の表示ランプ１１〜１５は、撮像時における複数個の表示ランプ１１〜１５の理想的な位置（目標位置とも呼ぶ）を示している。
【００７１】
ステップＳ２００では、画像データ取得部３１０の撮像画像生成部３１４は、特定領域１００を撮像することによって得られる撮像画像データを生成・取得する。例えば、撮像画像生成部３１４は、利用者の撮像操作（表示部４７０内の任意の位置の押下など）を契機に、ステップＳ１００で決定された撮像回数分の撮像画像データを、決定された撮像間隔で生成する。生成される撮像画像データは、Ｒ、Ｇ、Ｂの各成分値を画素値とするビットマップデータである。
【００７２】
ステップＳ３００では、情報提供部３００は、後述する撮像画像補正処理（Ｓ４００）、ランプ範囲推定処理（Ｓ５００）、および、表示状態特定処理（Ｓ６００）の処理対象とするために、生成された１個以上の撮像画像データの中から１個の撮像画像データを選択する。ステップＳ４００では、情報提供部３００は、選択された撮像画像データに対して、撮像画像補正処理を実行する。撮像画像補正処理は、特徴点情報テーブルＤＴＢ（図５（Ｂ））に記録された特徴点の位置情報を用いて、撮像画像内の被写体（具体的には、表示ランプ１１〜１５）を回転補正する処理である。図９は、撮像画像補正処理のフローチャートである。図１０は、撮像画像補正処理の説明図である。
【００７３】
図１０（Ａ）には、撮像画像補整処理前の撮像画像ＳＩ、すなわち、ステップＳ２００にて生成された撮像画像データによって表される撮像画像ＳＩの一例が示されている。図１０（Ａ）のセンターラインＣＬは、撮像画像ＳＩのＸ方向の中央を通り、Ｙ方向に延びる線であり、撮像用画像ＡＩ３のライン画像ＬＮに対応する仮想的な線である。撮像画像ＳＩ内の表示ランプ１１〜１５の実際の位置は、上述した目標位置（図７（Ｃ））とは異なる場合がある。例えば、図１０（Ａ）の撮像画像ＳＩでは、複数個の表示ランプ１１〜１５のランプ配置ラインＬＬは、センターラインＣＬに対して傾いているので、複数個の表示ランプ１１〜１５の位置は、目標位置からずれている。以下に説明する撮像画像補正処理では、ランプ配置ラインＬＬのセンターラインＣＬに対する傾きが補正される。
【００７４】
ステップＳ４１０では、エッジ画像生成部３４５は、撮像画像データに対して、エッジ抽出処理を実行して、エッジ画像ＥＩを表すエッジ画像データを生成する。エッジ画像データは、撮像画像データに含まれる各画素値（ＲＧＢ値）を輝度値Ｙに変換し、輝度値Ｙに対して公知のｓｏｂｅｌフィルタを適用して得られる。なお、エッジ画像データの生成には、Ｓｏｂｅｌフィルタに限らず、Ｐｒｅｗｉｔｔフィルタ、Ｒｏｂｅｒｔｓフィルタなど種々のエッジ抽出フィルタが利用できる。
【００７５】
図１０（Ｂ）には、エッジ画像データによって表されるエッジ画像ＥＩの一例が示されている。エッジ画像ＥＩには、文字列２１〜２５のエッジ２１ｅ〜２５ｅと、見切り線ＤＬのエッジＤＬｅと、操作ボタン３０の外縁のエッジ３０ｅと、が比較的明確に現れる。一方、エッジ画像ＥＩには、複数個の表示ランプ１１〜１５のエッジは、明確に現れない場合がある。例えば、表示ランプ１１〜１５のうちの点灯しているランプのエッジは、ランプの光によるフレア（ランプの光がランプの周辺に広がって写る現象）によって、明確に現れない場合がある。表示ランプ１１〜１５のうちの消灯しているランプの色は、文字列２１〜２５と比較すると、周囲（背景）の色とのコントラストが低いために、消灯しているランプのエッジは、明確に現れない場合がある。
【００７６】
ステップＳ４２０では、特定部３６０は、見切り線ＤＬに対応するエッジ画像ＥＩ内のエッジＤＬｅ上に３個の特徴点Ｐｅ１〜Ｐｅ３（図１０（Ｂ））の座標を算出する。具体的には、情報提供部３００は、エッジ画像データを解析することによって、エッジ画像ＥＩ内の線状のエッジＤＬｅを特定する。エッジＤＬｅの特定は、周知の直線検出アルゴリズム（例えば、Hough変換など）を用いて実行される。そして、情報提供部３００は、検出されたエッジＤＬｅの上端部と中央部と下端部にそれぞれ１個ずつ、計３個の特徴点Ｐｅ１〜Ｐｅ３を設定し、これらの座標を算出する。
【００７７】
ステップＳ４３０では、特定部３６０は、エッジ画像ＥＩ上で算出された３個の特徴点Ｐｅ１〜Ｐｅ３と、対応する３個の参照点とに基づいて、回転補正量θを算出する。３個の参照点は、特徴点情報テーブルＤＴＢのうちの対象機種のテーブル（図７）に記録された対応する３個の特徴点（参照点）Ｐ１〜Ｐ３（図３）である。具体的には、特徴情報取得部３３０は、特徴点情報テーブルＤＴＢのうちの対象機種のテーブルから、３個の参照点Ｐ１〜Ｐ３の位置情報を取得する。情報提供部３００は、３個の特徴点Ｐｅ１〜Ｐｅ３を結ぶ直線と、３個の参照点Ｐ１〜Ｐ３を結ぶ直線と、の間の角度を、回転補正量θとして算出する。
【００７８】
ステップＳ４４０では、特定部３６０は、ステップＳ４３０にて算出された回転補正量θに従って、エッジ画像ＥＩを回転させる回転補正を実行する。図１０（Ｃ）には、回転補正後のエッジ画像ＥＩ２が示されている。図１０（Ｃ）のエッジ画像ＥＩ２は、３個のＰｅ１〜Ｐｅ３が位置するエッジＤＬｅがＹ方向と平行になるように、補正されていることが解る。この結果、エッジ画像ＥＩ２内のランプ配置ラインＬＬは、センターラインＣＬと平行になる。
【００７９】
ステップＳ４５０では、特定部３６０は、ステップＳ４３０にて算出された回転補正量θに従って、撮像画像ＳＩを回転させる回転補正を実行する。図１０（Ｄ）には、補正後の撮像画像ＳＩ２が示されている。エッジ画像ＥＩ２（図１０（Ｄ））と同様に、図１０（Ｄ）の撮像画像ＳＩ２内のランプ配置ラインＬＬは、センターラインＣＬと平行になる。
【００８０】
撮像画像補正処理が終了すると、すなわち、補正後のエッジ画像ＥＩ２を表すエッジ画像データと、補正後の撮像画像ＳＩ２を表す撮像画像データとが生成されると、図８のステップＳ５００では、情報提供部３００は、ランプ範囲推定処理を実行する。図１１は、ランプ範囲推定処理のフローチャートである。図１２は、ランプ範囲推定処理および表示状態特定処理の説明図である。
【００８１】
ステップＳ５１０では、文字位置推定部３４０のエッジ画像生成部３４５は、補正後のエッジ画像ＥＩ２を縮小する縮小処理を実行して、縮小エッジ画像ＭＥＩを表す縮小エッジ画像データを生成する。具体的には、文字位置推定部３４０は、平均画素法を用いて、エッジ画像ＥＩ２のＸ方向の画素数およびＹ方向の画素数をそれぞれ（１／１０）から（１／２０）程度まで減少させることによって、縮小エッジ画像データを生成する。縮小率は、エッジ画像ＥＩ２内の文字列のエッジ２１ｅ〜２５ｅの文字高さ（Ｙ方向の画素数）が、２画素から５画素分の長さになるように、設定されている。
【００８２】
図１２（Ａ）には、縮小エッジ画像ＭＥＩの一例が示されている。縮小エッジ画像ＭＥＩは、縮小率が高いので、縮小エッジ画像ＭＥＩ内において、エッジ画像ＥＩ２内の複数個の文字のエッジ２１ｅ〜２５ｅに対応する複数個の文字領域ＴＥ１〜ＴＥ５は、文字を判別できないほど粗くなる。図１２（Ａ）では、図の煩雑を避けるために、文字領域ＴＥ１〜ＴＥ５以外の画素の図示は省略されている。また、図１２（Ａ）には、エッジ画像ＥＩ２の文字のエッジ２１ｅ〜２５ｅが参考として示されている。文字のエッジ２１ｅ〜２５ｅは、参考として示されたものであり、縮小エッジ画像ＭＥＩに、文字が判別できるエッジが現れるわけではない。エッジ画像ＥＩ２の文字のエッジ２１ｅ〜２５ｅが配置される領域は、画素値（エッジ量）が比較的高い画素が密集しているので、文字領域ＴＥ１〜ＴＥ５内の画素は、周囲の領域（背景領域とも呼ぶ）と比較して、画素値が大きくなる。
【００８３】
ステップＳ５１５では、文字位置推定部３４０は、文字検出ラインＴＬ上の注目画素Ｐ（Ｙ）の座標値Ｙを初期値「０」に設定する。文字検出ラインＴＬは、センターラインＣＬと平行なライン、すなわち、Ｙ方向に沿ったラインであり、センターラインＣＬとの距離が所定値Ｈであるラインである（図１２（Ａ））。センターラインＣＬは、表示ランプ１１〜１５が配置されているランプ配置ラインＬＬとほぼ一致している（図１０（Ｄ））ので、文字検出ラインＴＬは、ランプ配置ラインＬＬとの距離がほぼ所定値Ｈであるラインと言うことができる。所定値Ｈは、文字検出ラインＴＬが、文字領域ＴＥ１〜ＴＥ５を通るように、設定されている。最初の注目画素Ｐ（０）は、文字検出ラインＴＬ上の画素のうち、−Ｙ方向の端の画素（図１２（Ａ）の上端の画素）である。
【００８４】
文字位置推定部３４０は、注目画素Ｐ（Ｙ）の画素値Ｖ（Ｙ）と所定の閾値ＴＨとを比較し（ステップＳ５２０）、画素値Ｖ（Ｙ）が所定の閾値ＴＨより大きいか否かを判断する（ステップＳ５２５）。文字位置推定部３４０は、画素値Ｖ（Ｙ）が所定の閾値ＴＨより大きい場合には（ステップＳ５２５：ＹＥＳ）、推定フラグを「ＯＮ」にする（ステップＳ５３０）。閾値ＴＨは、文字領域ＴＥ１〜ＴＥ内の画素が取り得ると推定される画素値（例えば、比較的最大値（例えば２５５）に近い値）と、背景領域内の画素が取り得ると推定される画素値（例えば、比較的最小値（例えば０）に近い値）と、の中間の値（例えば、取り得る範囲の５０％程度の値（例えば１２８））に設定されている。したがって、推定フラグが「ＯＮ」にされることは、注目画素Ｐ（Ｙ）は、文字領域ＴＥ１〜ＴＥ５を構成する画素であると推定されたこと、すなわち、文字列２１〜２５が配置されている領域内の画素であると推定されたことを意味している。
【００８５】
文字位置推定部３４０は、画素値Ｖ（Ｙ）が所定の閾値ＴＨ以下である場合には（ステップＳ５２５：ＮＯ）、推定フラグを「ＯＦＦ」にする（ステップＳ５３５）。推定フラグが「ＯＦＦ」にされることは、注目画素Ｐ（Ｙ）は、背景領域を構成する画素であると推定されたこと、すなわち、文字列２１〜２５が配置されている領域内の画素ではないと推定されたことを意味している。
【００８６】
ステップＳ５４０では、文字位置推定部３４０は、推定フラグの値（「ＯＮ」または「ＯＦＦ」）が、現在の推定フラグの値が、前回の推定フラグの値と異なるか否かを判断する。現在の推定フラグは、現在の注目画素（Ｙ）について設定された推定フラグであり、前回の推定フラグは、前回の注目画素Ｐ（Ｙ−１）について設定された推定フラグである。なお、注目画素が、最初の注目画素Ｐ（０）である場合には、前回の推定フラグはないが、前回の推定フラグは「ＯＦＦ」であるとして、判断される。
【００８７】
現在の推定フラグの値と現在の推定フラグの値が異なる場合には（ステップＳ５４０：ＹＥＳ）、文字位置推定部３４０は現在の推定フラグは「ＯＮ」であるか否かを判断する（ステップＳ５４５）。
【００８８】
現在の推定フラグが「ＯＮ」である場合には（ステップＳ５４５：ＹＥＳ）、すなわち、前回の推定フラグが「ＯＦＦ」であり、かつ、現在の推定フラグが「ＯＮ」である場合には、文字位置推定部３４０は、現在の注目画素Ｐ（Ｙ）の座標値Ｙを、ピーク開始位置に決定する（ステップＳ５５０）。現在の推定フラグが「ＯＦＦ」である場合には（ステップＳ５４５：ＮＯ）、すなわち、前回の推定フラグが「ＯＮ」であり、かつ、現在の推定フラグが「ＯＦＦ」である場合には、文字位置推定部３４０は、現在の注目画素Ｐ（Ｙ）の座標値Ｙを、ピーク終了位置に決定する（ステップＳ５５５）。
【００８９】
現在の推定フラグと現在の推定フラグとが同じ値である場合には（ステップＳ５４０：ＮＯ）、文字位置推定部３４０は、上記のステップＳ５４５〜５５５をスキップして、ステップＳ５６０に処理を進める。
【００９０】
ステップＳ５６０では、文字位置推定部３４０は、注目画素Ｐ（Ｙ）の座標値Ｙをインクリメントする（Ｙに１を加算する）。ステップＳ５６０では、文字位置推定部３４０は、座標値Ｙが、座標値Ｙが取り得る値の最大値Ｙｍａｘより大きいか否かを判断する。Ｙｍａｘは、縮小エッジ画像ＭＥＩのＹ方向の端の座標値である。図１２（Ａ）には、座標値ＹがＹｍａｘである文字検出ラインＴＬ上の画素Ｐ（Ｙｍａｘ）が図示されている。
【００９１】
座標値Ｙが最大値Ｙｍａｘ以下である場合には（ステップＳ５６５：ＮＯ）、すなわち、文字検出ラインＴＬ上の全ての画素を処理していない場合には、文字位置推定部３４０は、ステップＳ５２０に戻って、上述したステップＳ５２０〜Ｓ５６０の処理を繰り返す。座標値Ｙが最大値Ｙｍａｘより大きい場合には（ステップＳ５６５：ＹＥＳ）、すなわち、文字検出ラインＴＬ上の全ての画素を処理した場合には、文字位置推定部３４０は、ランプ範囲推定処理を終了する。
【００９２】
図１２（Ｂ）には、ランプ範囲推定処理の結果が図示されている。図１２（Ｂ）の例では、０〜Ｙｍａｘまでの座標範囲に、縮小エッジ画像ＭＥＩ内の５個の文字領域ＴＥ１〜ＴＥ５に対応する５個のピークＰｋ１〜Ｐｋ５が検出されている。１個のピークの開始位置から終了位置までの座標値Ｙの範囲が、１個の文字領域のＹ方向の範囲を示している。例えば、図１２（Ｂ）では、表示ランプ１１に対応するピークＰｋ１の開始位置ＰＳ１と、終了位置ＰＥ１とが図示されている。１個の文字領域のＹ方向の範囲は、１個の表示ランプのＹ方向の範囲と推定される。本実施例では、図３に示すように、複数個の表示ランプ１１〜１５のそれぞれ（例えば、表示ランプ１１）と、対応する文字列２１〜２５のそれぞれ（例えば、文字列２１）とは、Ｘ方向に沿って並んでいる、すなわち、Ｙ方向の位置（座標値）が同じであるからである。すなわち、本実施例では、縮小エッジ画像ＭＥＩを用いて、文字列２１〜２５に対応する文字領域ＴＥ１〜ＴＥ５のＹ方向の範囲を推定することは、縮小エッジ画像ＭＥＩや縮小撮像画像ＭＳＩにおける複数個の表示ランプ１１〜１５のＹ方向の範囲を推定することに等しい。
【００９３】
ランプ範囲推定処理が終了すると、図８のステップＳ６００では、表示状態特定処理を実行する。表示状態特定処理は、補正後の撮像画像ＳＩ２（図１０（Ｄ））を表す画像データを解析することによって、撮像画像ＳＩ２内の複数個の表示ランプ１１〜１５のそれぞれの表示状態、具体的には、発光の色（黄、赤、青、緑）を特定する処理である。図１３は、表示状態特定処理のフローチャートである。
【００９４】
ステップＳ６１０では、特定部３６０は、補正後の撮像画像ＳＩ２を縮小する縮小処理を実行して、縮小撮像画像ＭＳＩを表す縮小撮像画像データを生成する。具体的には、特定部３６０は、図１１のステップＳ５１０で縮小エッジ画像データを生成する際と同様に、平均画素法を用いて、縮小撮像画像データを生成する。縮小率は、図１１のステップＳ５１０で縮小エッジ画像データを生成する際と同じ縮小率が用いられる。この結果、縮小エッジ画像ＭＥＩのサイズ（縦横の画素数）と、縮小撮像画像ＭＳＩのサイズとは、同じになる。図１２（Ｃ）には、縮小撮像画像ＭＳＩの一例が図示されている。図１２（Ｃ）では、図の煩雑を避けるために、後述するランプ範囲内の画素以外の画素の図示は省略されている。
【００９５】
ステップＳ６１５では、特定部３６０は、センターラインＣＬの先頭画素Ｐａ（０）の値（ＲＧＢ値）を用いて、明度の閾値Ｖｔｈと、彩度の閾値Ｓｔｈを算出する。先頭画素Ｐａ（０）は、文字検出ラインＴＬ上の画素のうち、−Ｙ方向の端の画素（図１２（Ａ）の上端の画素）である。先頭画素Ｐａ（０）は、図１２（Ｃ）に図示されているように、縮小撮像画像ＭＳＩにおける表示ランプ１１ａ〜１５ａが配置された領域内の画素とは異なる画素であり、プリンタ２００の筐体１０の領域、すなわち、表示ランプ１１ａ〜１１ｄや文字のエッジ２１ｅ〜２５ｅが配置されていない領域内の画素である。縮小撮像画像ＭＳＩの１個の画素の値は、縮小前の撮像画像ＳＩ２の対応する複数個の画素の値の平均値である。したがって、先頭画素Ｐａ（０）の値は、縮小前の撮像画像ＳＩ２における、筐体１０を表す所定領域内の画素の値の平均値である。特定部３６０は、ＲＧＢ色空間の表色値をＨＳＶ色空間の表色値に変換する変換式（１）を用いて、先頭画素Ｐａ（０）の画素の値（ＲＧＢ値）によって表される色の明度と彩度を、明度の閾値Ｖｔｈと彩度の閾値Ｓｔｈとして、算出する。なお、変換式（１）において、ＭＡＸは、ＲＧＢの３個の成分値のうちの最大値を表し、ＭＩＮは、ＲＧＢの３個の成分値のうちの最小値を表す。
【００９６】
【数１】
2014165554.tif 000003
【００９７】
筐体１０の色には、発光していない表示ランプの色（具体的には、濃いグレー）と比較して、彩度および明度のうちの少なくとも一方が高い色（例えば、白、うすいグレー）が用いられている。また、筐体１０の色には、発光している表示ランプの色（緑、赤、黄など）と比較して、彩度が低い色が用いられている。また、発光している表示ランプの色は、発光していない周囲部分（筐体１０を含む）の色と比較して、明度が高くなることは明らかである。このために、筐体１０の色を基準として、後述するように、筐体１０の色の彩度および明度を閾値として、表示ランプが発光しているか否かを適切に判定することができる。また、筐体１０の色の彩度および明度を予め算出して機種ごとに記憶しておくことも考えられるが、撮像画像内の表示ランプや、筐体の色は、撮像が行われる部屋の明るさや、カメラの特性などの撮像条件によって変動し得る。このために、撮像画像内の筐体の色を用いて、彩度や明度の閾値を算出することで、表示ランプが発光しているか否かを精度良く判定することができる。
【００９８】
ステップＳ６２０では、特定部３６０は、ランプ範囲推定処理にて検出された複数個のピークの中から、先頭画素(Ｙ座標値が最少の画素)に近い順で処理対象のピークを選択する。図１２の例では、図１２（Ｂ）に示す５個のピーク５個Ｐｋ１〜Ｐｋ５のうちのまずＰｋ１が選択され、処理が進むに従い、Ｐｋ２、Ｐｋ３・・・と順次に選択される。
【００９９】
ピークの選択後、ステップＳ６２５では、ランプ位置推定部３５０は、選択されたピークに対応するランプ範囲を決定（推定）する。上述したように、１個のピークの開始位置から終了位置までの座標値Ｙの範囲は、１個の表示ランプのＹ方向の範囲と推定できる。また、センターラインＣＬは、表示ランプ１１〜１５が配置されているランプ配置ラインＬＬとほぼ一致している（図１０（Ｄ））。このため、センターラインＣＬのＸ座標と、ピークの開始位置から終了位置までの座標値Ｙと、によって規定される座標の画素に対応する領域が、ランプ範囲と推定される。より具体的には、ランプ位置推定部３５０は、センターラインＣＬ上の複数個の画素のうち、選択されたピークの開始位置から、選択されたピークの終了位置までのＹ座標の複数個の画素に対応する領域を、ランプ範囲と推定する。例えば、センターラインＣＬのＸ座標が「Ｘｍｉｄ」であり、ピークの開始位置のＹ座標がＹ１Ｓ、ピークの終了位置がＹ１Ｅとすると、座標（Ｘｍｉｄ、Ｙ１Ｓ）から、座標（Ｘｍｉｄ、Ｙ１Ｅ）までの（Ｙ１Ｅ−Ｙ１Ｓ＋１）個の画素に対応する領域がランプ範囲と推定される。換言すれば、文字領域ＴＥ１〜ＴＥ５を通り、これら文字領域における文字の配列方向（Ｘ方向）に沿った、ピークの開始位置から終了位置までの幅を持ったライン（文字配列ライン）ＰＬ１〜ＰＬ５と、センターラインＣＬとの重なる領域が、表示ランプの位置する範囲であると推定される。図１２（Ｃ）において、ＪＰ１からＪＰ５は、表示ランプの位置を示している。
【０１００】
ステップＳ６３０では、特定部３６０は、縮小撮像画像ＭＳＩにおいて、ランプ範囲内の複数個の画素の値（ＲＧＢ値）の平均値を、ＲＧＢの３個の成分のそれぞれについて算出する。
【０１０１】
ステップＳ６３５では、特定部３６０は、ＲＧＢの３個の成分の平均値（Ｒａｖｅ、Ｇａｖｅ、Ｂａｖｅ）に基づいて、処理対象の表示ランプの色の明度Ｖａと、彩度Ｓａと、色相Ｈａと、を算出する。具体的には、特定部３６０は、上述した変換式（１）を用いて、３個の成分の平均値（Ｒａｖｅ、Ｇａｖｅ、Ｂａｖｅ）によって表される色の明度Ｖａと、彩度Ｓａと、色相Ｈａと、を算出する。
【０１０２】
ステップＳ６４０では、特定部３６０は、処理対象の表示ランプの彩度Ｓａが彩度の閾値Ｓｔｈ以上であり、かつ、処理対象の表示ランプの明度Ｖａが明度の閾値Ｖｔｈ以上であるか否かを判断する。
【０１０３】
彩度Ｓａが閾値Ｓｔｈ未満である、あるいは、明度Ｖａが閾値Ｖｔｈ未満である場合には（ステップＳ６４０：ＮＯ）、特定部３６０は、処理対象のピークに対応する表示ランプは、発光していないと判定する（ステップＳ６５０）。一方、彩度Ｓａが閾値Ｓｔｈ以上であり、かつ、明度Ｖａが閾値Ｖｔｈ以上である場合には（ステップＳ６４０：ＹＥＳ）、特定部３６０は、処理対象のピークに対応する表示ランプは、発光していると判断して、ステップＳ６４５を実行する。
【０１０４】
ステップＳ６４５では、特定部３６０は、処理対象の表示ランプの色相Ｈａに基づいて、処理対象の表示ランプの発光色を判定する。具体的には、図１３に示すように、特定部３６０は、発光色ごとに規定された色相範囲を参照して発光色を判定する。色相Ｈａが、５０＜Ｈａ≦７０の範囲内である場合には、発光色は黄色であると判定され、７０＜Ｈａ≦２００の範囲内である場合には、発光色は緑色であると判定される。また、色相Ｈａが、２００＜Ｈａ≦３００の範囲内である場合には、発光色は青色であると判定され、３００＜Ｈａ≦３６０または０＜Ｈａ≦５０の範囲内である場合には、発光色は赤色であると判定される。
【０１０５】
ステップＳ６５５では、特定部３６０は、検出された全てのピークを選択したか否かを判断する。未選択のピークがある場合には（ステップＳ６５５：ＮＯ）、特定部３６０は、ステップＳ６２０に戻って、未選択のピークを処理対象として選択して、上述したステップＳ６２５〜Ｓ６５０までの処理を繰り返す。全ての表示ランプを処理した場合には（ステップＳ６５５：ＹＥＳ）、特定部３６０は、表示状態特定処理を終了する。
【０１０６】
表示状態特定処理が終了すると、図８のステップＳ７００では、特定部３６０は、全ての撮像画像を処理したか否かを判断する。未処理の撮像画像がある場合には（ステップＳ７００：ＮＯ）、特定部３６０は、ステップＳ３００に戻って、未処理の撮像画像を処理対象として、上述したステップＳ３００〜Ｓ６００までの処理を繰り返す。全ての撮像画像を処理した場合には（ステップＳ７００：ＹＥＳ）、特定部３６０は、ステップＳ８００に処理を移行する。
【０１０７】
ステップＳ８００では、特定部３６０は、撮像画像を用いた特定結果に基づいて、複数個の表示ランプのそれぞれについて、最終的な表示状態を特定する。具体的には、撮像画像が１個である場合には、特定部３６０は、該１個の撮像画像を用いた特定結果を、そのまま最終的な特定結果に採用する。撮像画像が２個である場合には、特定部３６０は、２個の撮像画像を用いた２個の特定結果に基づいて、最終的な特定結果を決定する。例えば、図８内に表で示すように、対象の表示ランプについて、１番目の撮像画像（画像Ａと呼ぶ）を用いた特定結果と、２番目の撮像画像（画像Ｂと呼ぶ）を用いた特定結果との両方が「発光」である場合には、対象の表示ランプの表示状態は、「点灯」であると特定される。また、画像Ａを用いた特定結果と、画像Ｂを用いた特定結果との両方が「発光していない」である場合には、対象の表示ランプの表示状態は、「消灯」であると特定される。また、画像Ａと画像Ｂのうちの一方の画像を用いた特定結果が「発光」であり、他方の画像を用いた特定結果が「発光していない」である場合には、対象の表示ランプの表示状態は、「点滅」であると特定される。全ての表示ランプの最終的な特定結果が決定されると、自動認識処理は終了される。
【０１０８】
自動認識処理が終了すると、図６のステップＳ４０では、情報提供部３００は、自動認識処理によって特定された表示ランプの表示状態を表示部４７０に表示する。図７（Ｄ）には、自動認識処理後のメイン画像ＡＩ４の一例が示されている。図７（Ｄ）の例では、複数個の表示ランプ１１〜１５に対応する複数個のフィールドＤＦ１〜ＤＦ５のそれぞれに、表示ランプの表示状態（特定結果）が表示されていることが解る。さらに、メイン画像ＡＩ４内の部分画像ＰＩ２では、表示ランプの画像（例えば、図７（Ｄ）の表示ランプ１２、１５の画像）が、表示ランプの表示状態（特定結果）に応じて更新されている。
【０１０９】
情報表示指示を受け付けられる（ステップＳ５０）と、すなわち、メイン画像ＡＩ４において、利用者によって起動ボタンＢＴ２が押下されると、識別情報取得部３７０は、特定された表示ランプの表示状態と、対象機種と、に基づいて、識別情報としてのＵＲＬを取得する（ステップＳ５５）。具体的には、識別情報取得部３７０は、ＵＲＬテーブルＤＴ１のうちの対象機種のテーブル（図４）を参照して、特定された表示ランプの表示状態に対応付けられたＵＲＬを取得する。例えば、図４のテーブルＤＴ１ａが参照される場合であって、図３に示す複数個の表示ランプ１１〜１５の特定された表示状態が、「消灯」「黄の点滅」「消灯」「消灯」「緑の点灯」である場合には、ＵＲＬとして「http://aa...」が取得される。
【０１１０】
ステップＳ６０では、ブラウザ制御部３８０は、ブラウザプログラムＰＧ３（図１）をＣＰＵ４１０に実行させることによってＷＥＢブラウザ５０（図１）を起動して、ステップＳ５０で取得されたＵＲＬをＷＥＢブラウザ５０に渡す。
【０１１１】
ステップＳ６５では、ＷＥＢブラウザ５０は、ブラウザ制御部３８０から取得したＵＲＬに基づいて、サポート情報をサーバ６０から取得する。ステップＳ７０では、ＷＥＢブラウザ５０は、取得されたサポート情報を表示部４７０に表示する。換言すれば、出力制御部３７０ブラウザ制御部３７０は、ＷＥＢブラウザ５０を用いて、関係情報としてのサポート情報を取得するとともに、ＷＥＢブラウザ５０を用いて、取得されたサポート情報を表示部４７０に表示する。
【０１１２】
図１４は、サポート情報の表示画像ＡＩ５の一例である。この表示画像ＡＩ５は、サーバ６０が提供する複数のＷＥＢページのうち、特定された表示ランプの表示状態によって示される対象機種の特定の状態に対応するサポート情報を含むページの画像である。このページは、図１４に示すように、対象機種が特定の状態になった場合に、対象機種の利用者が参考とすることを想定して作成されたページである。図１４に例示されたページは、トナーの残量が基準値より少なくなった状態に対応するページであり、当該状態の説明、および、トナーの交換方法や購入方法などの対処方法を含むメッセージＭＳを含んでいる。
【０１１３】
以上説明した本実施例によれば、情報提供部３００は、図１１のランプ範囲推定処理において、撮像画像データによって表される撮像画像の文字の位置（図１２（Ｂ）のピークＰｋ１〜Ｐｋ５に対応するＹ方向の位置）を推定している。そして、情報提供部３００では、図１３の表示状態特定処理において、推定された文字の位置を基準として、撮像画像内の表示ランプの位置（（図１２（Ｃ）の画素群ＪＰ１〜ＪＰ５の位置））を推定している。上述したように、筐体１０上の文字の色には、読みやすさを確保するために、背景（筐体１０の文字が配置されていない領域）の色に対するコントラストが高い色が用いられる。このために、撮像画像内のエッジを検出することによって、容易に文字の位置を推定することができる。これに対して、表示ランプの発光していない時の表示ランプの領域内の色は周囲の色に対するコントラストが低い場合があり、表示ランプの発光時の色は、フレアの影響で周囲にまで広がる場合がある。このために、表示ランプそのものをエッジ抽出等の画像処理によって推定することは比較的困難な可能性がある。本実施例では、比較的推定が容易な文字の位置を基準にして、表示ランプの位置を推定することによって、表示ランプの位置を精度良く推定することができる。
【０１１４】
さらに、情報提供部３００は、推定された文字の位置と、撮像時に表示部４７０に表示されるガイド画像に対応する撮像画像内の位置と、を基準として、表示ランプの位置を推定している（図１３）。この結果、表示ランプの位置の推定精度を、さらに、向上することができる。具体的には、情報提供部３００は、表示ランプのＹ方向の位置（Ｙ座標）には、文字のＹ方向の位置として推定されるピークＰｋ１〜Ｐｋ５（図１２（Ｂ））の位置を採用する。そして、情報提供部３００は、表示ランプのＸ方向の位置（Ｘ座標）には、ガイド画像としてのライン画像ＬＮ（図７（Ｃ））に対応する縮小撮像画像ＭＳＩ内のセンターラインＣＬ（図１２（Ｃ））の位置を採用している。換言すれば、情報提供部３００は、文字列２１〜２５のそれぞれに沿った文字配列ライン（ピークに対応するＹ座標を通り、Ｘ方向に平行なライン）と、センターラインＣＬと交点を、表示ランプの位置として推定している。このように、表示ランプに関する文字列が、表示ランプに隣接して配置される慣例を利用して、表示ランプの位置のさらに精度良く推定することができる。
【０１１５】
また、情報提供部３００は、センターラインＣＬと平行な、言い換えれば、ランプ配置ラインＬＬと平行な文字検出ラインＴＬに沿った縮小エッジ画像ＭＥＩの画素値の変化に基づいて、文字の位置（ピークＰｋ１〜Ｐｋ５の位置）を決定している（図１１）。縮小エッジ画像ＭＥＩは、撮像画像ＳＩの明度の変化を強調するためにエッジ抽出処理が施されたエッジ画像ＥＩに基づく画像であるので、情報提供部３００は、文字検出ラインＴＬに沿った撮像画像の明度の変化に基づいて、文字の位置を決定していると言うことができる。この結果、文字の位置を適切に決定することができる。
【０１１６】
さらに、情報提供部３００は、エッジ画像ＥＩ２を縮小して得られる縮小エッジ画像ＭＥＩ内の文字検出ラインＴＬ上の複数個の画素のうちの、閾値ＴＨ以上の値を有する画素の位置と、閾値ＴＨ未満の値を有する画素の位置と、に基づいて、文字の位置（ピークＰｋ１〜Ｐｋ５の位置）を決定している（図１１）。縮小前のエッジ画像ＥＩ２は、文字がはっきりと認識できる程度の解像度を有しているので、文字の種類や形状に応じて、文字領域内においても画素値（エッジ量）が大きく変動する。また、文字領域以外の領域にも様々なノイズ（局所的に画素値が大きくなる画素）が発生し得る。このために、縮小前のエッジ画像ＥＩ２内の画素を、文字領域に対応する画素と、文字領域以外の領域に対応する画素とを、適切に分離できる閾値ＴＨの設定は、比較的困難である。また、画素値と閾値ＴＨとの単純な比較では、これらの画素を適切に分離できない可能性がある。平均画素法を用いて縮小された縮小エッジ画像ＭＥＩでは、縮小前のエッジ画像ＥＩ２内においてエッジが密集している文字領域に対応する画素の値が平均的に大きくなる。また、縮小エッジ画像ＭＥＩでは、文字領域以外の領域に対応する画素の値が平均的に小さくなるとともに、文字領域以外の領域内のノイズが低減される。この結果、画素値と閾値ＴＨとの単純な比較によって、文字領域に対応する画素と、文字領域以外の領域に対応する画素とを、適切に分離できる。また、縮小エッジ画像ＭＥＩや縮小撮像画像ＭＳＩを用いることによって、処理すべき画素数を大幅に減らすことができるので、処理負荷の低減および処理に必要なメモリなどのリソースの低減を実現することができる。
【０１１７】
さらに、情報提供部３００は、表示ランプの表示状態に「点滅」が含まれる場合には、第１の撮像画像データと、第１の撮像画像データが撮像されてから所定時間後に撮像される第２の撮像画像データとを取得する。そして、情報提供部３００は、これらの撮像画像データを解析することによって、点滅状態を含む前記表示ランプの表示状態を特定する。この結果、「点滅」を含む表示ランプの表示状態を適切に特定することができる。ここで、図５（Ａ）の撮像情報テーブルＤＴＡに示すように、上記の所定時間（撮像間隔）は、機種に応じて適切な時間が用いられる。すなわち、対象のプリンタが、第１種のプリンタである場合には、第１の所定時間が用いられ、対象のプリンタが、第２種のプリンタである場合には、第２の所定時間が用いられる。この結果、プリンタの機種に応じて、精度良く表示ランプの表示状態を特定することができる。また、図５（Ａ）の撮像情報テーブルＤＴＡに示すように、機種ごとに定められた適切な個数の撮像画像データが取得される。この結果、動画などの多数の撮像画像データを取得して解析する場合と比較して、解析負荷を抑制することができる。
【０１１８】
さらに、情報提供部３００は、撮像画像補正処理（図９）を実行して、撮像画像内の表示ランプの位置を補正する。これに、ランプ配置ラインＬＬとセンターラインＣＬとをほぼ平行にすることができる。この結果、ランプ範囲推定処理（図１１）および表示状態特定処理（図１３）において、ランプ範囲内の画素を精度良く推定することができる。例えば、撮像時における利用者の手振れなどによって、撮像画像ＳＩ内のランプ配置ラインＬＬが傾いていたとしても、表示ランプの表示状態を精度良く特定することができる。
【０１１９】
Ｂ．変形例：
（１）上記実施例の情報提供処理では、識別情報取得部３７０は、携帯端末４００の不揮発性記憶装置４２０に格納されたＵＲＬテーブルＤＴ１からＵＲＬを取得しているが、これに代えて、サーバ６０からＵＲＬを取得しても良い。具体的には、図６の情報提供処理において、ステップＳ５５に代えて、ステップＳ５２Ａ〜Ｓ５６Ａが実行されても良い。ステップＳ５２Ａでは、識別情報取得部３７０は、特定された表示ランプの表示状態と、対象機種と、に基づいて、対象機種のプリンタの状態を取得する。例えば、識別情報取得部３７０は、ＵＲＬテーブルＤＴ１のうちの対象機種のテーブル（図４）を参照して、特定された表示ランプの表示状態に対応付けられたプリンタの状態を取得する。例えば、図４のテーブルＤＴ１ａが参照される場合であって、図３に示す複数個の表示ランプ１１〜１５の特定された表示状態が、「消灯」「黄の点滅」「消灯」「消灯」「緑の点灯」である場合には、プリンタの状態として「トナー残  少」が取得される。ステップＳ５４Ａでは、識別情報取得部３７０は、プリンタの状態を示す状態情報と、対象機種を示す機種情報と、をサーバ６０に対して送信する。サーバ６０は、受信した状態情報と機種情報との組合わせに対応するＵＲＬを携帯端末４００に対して返信する。ステップＳ５６Ａでは、識別情報取得部３７０は、サーバ６０から、対応するＵＲＬを取得（受信）する。この場合には、サーバ６０において、サーバの管理者がサポート情報を提供するＷＥＢページを更新することによって、ＵＲＬが変更されても、携帯端末４００は、問題なくサポート情報を取得することができる。なお、ＵＲＬの取得元となるサーバと、サポート情報の取得元となるサーバとは、異なっても良い。
【０１２０】
（２）上記実施例では、撮像回数は、１回または２回であるが、表示ランプが取り得る表示状態に応じて、異なる回数であっても良い。図１５は、変形例における表示ランプの表示状態と撮像条件について説明する図である。変形例における表示ランプは、複数の点滅状態を含む複数の表示状態、具体的には、「点灯」「消灯」「第１の点滅」「第２の点滅」の４種類の表示状態を取り得る。「点灯」「消灯」は、第１実施例における同名の表示状態と同じである。「第１の点滅」は、第１の間隔ＬＴ１で、発光している状態と、発光していない状態とが繰り返される表示状態である。図１５（Ａ）に示すように、「第２の点滅」は、第２の間隔ＬＴ２で、発光している状態と、発光していない状態とが繰り返される表示状態である。第１の間隔ＬＴ１は、第２の間隔ＬＴ２より２倍以上長い。
【０１２１】
この場合には、これらの４種類の表示状態を判断するために、特に、２種類の点滅状態を適切に判断するために、撮像間隔は、最小の点滅間隔、図１５の例では、第２の間隔ＬＴ２に設定される。そして、撮像回数Ｋは、撮像間隔（＝最小の点滅間隔）のＫ倍の時間が、少なくとも最長の点滅間隔、図１５の例では、第１の間隔ＬＴ１より長くなるように設定される。図１５の例では、（ＬＴ２×３）＞ＬＴ１＞（ＬＴ２×２）であるので、撮像回数は、少なくとも３以上に設定される。図１５（Ｂ）には、撮像間隔が第２の間隔ＬＴ２に設定され、撮像回数が３回に設定されている場合に、３個の撮像画像Ａ〜Ｃを解析して得られる特定結果に基づいて、最終的な特定結果の決定する方法が示されている。３個の撮像画像Ａ〜Ｃは、この順序（アルファベット順）で撮像されたものとする。
【０１２２】
具体的には、３個の撮像画像Ａ〜Ｃの全てが「発光」である場合には、対象の表示ランプの表示状態は、「点灯」であると特定される。また、３個の撮像画像Ａ〜Ｃの全てが「発光していない」である場合には、対象の表示ランプの表示状態は、「消灯」であると特定される。また、３個の撮像画像Ａ〜Ｃに、「発光」である画像と、「発光していない」である画像と、の両方が含まれる場合には、対象の表示ランプの表示状態は、「第１の点滅」か「第２の点滅」のいずれかに特定される。すなわち、３個の撮像画像Ａ〜Ｃを時系列に並べた場合に、「発光」である画像と、「発光していない」である画像と、が交互に並ぶ場合には、対象の表示ランプの表示状態は、「第２の点滅」であると特定される。また、３個の撮像画像Ａ〜Ｃを時系列に並べた場合に、「発光」である画像が連続して２個並ぶ場合、または、「発光していない」である画像が連続して２個並ぶ場合には、対象の表示ランプの表示状態は、「第１の点滅」であると特定される。
【０１２３】
このように、撮像回数は、機種ごとに異なる表示ランプが取り得る表示状態に応じて、１以上の各種の値に設定されても良い。一般的に言えば、対象のプリンタが、第１種のプリンタである場合には、Ｎ個（Ｎは、１以上の整数）の撮像画像データが取得され、Ｎ個の撮像画像データの解析によって、撮像画像内の表示ランプの表示状態が特定され、対象のプリンタが、第２種のプリンタである場合には、Ｍ個（Ｍは、Ｎ＜Ｍの整数）の撮像画像データが取得され、Ｍ個の前記撮像画像データの解析によって、撮像画像内の表示ランプの表示状態が特定されても良い。
【０１２４】
（３）上記各実施例は、製品の例示としてプリンタをあげているが、これに代えて、他の電子機器、例えば、プリント機能とスキャナ機能を備えるスキャナ、単体のスキャナなどの他の電子機器であっても良い。
【０１２５】
（４）上記実施例では、図３に示すように、表示ランプ１１〜１５の右側（＋Ｘ方向）に、対応する文字列２１〜２５が配置されているので、推定された文字列の位置の左側（−Ｘ方向）に表示ランプが位置していると推定されているが、これに限られない。例えば、表示ランプ１１〜１５の上側（−Ｙ方向）や左側（−Ｘ方向）に、対応する文字列２１〜２５が配置されている場合には、推定された文字列の位置の下側（＋Ｙ方向）や右側（＋Ｘ方向）に表示ランプが位置していると推定しても良い。一般的には、推定された文字列の位置を基準にして、表示ランプの位置が推定されれば良い。
【０１２６】
（５）なお、撮像画像補正処理は省略されても良い。すなわち、補正前のエッジ画像ＥＩを縮小して得られる縮小エッジ画像ＭＥＩを用いて、ランプ範囲推定処理が実行されても良く、補正前の撮像画像ＳＩを縮小して得られる縮小撮像画像ＭＳＩを用いて、表示状態特定処理が実行されても良い。また、回転補正を実行する撮像画像補正処理に加えて、エッジ画像ＥＩや撮像画像ＳＩをＸ方向に平行に移動させる補正処理が実行されても良い。具体的には、回転補正によって、センターラインＣＬと平行にされたランプ配置ラインＬＬのＸ方向の位置が、センターラインＣＬと一致するように、エッジ画像ＥＩや撮像画像ＳＩの全体を移動させる補正処理が実行されても良い。
【０１２７】
（６）また、表示状態情報テーブルＤＴＣに記録された各表示ランプが取り得る表示状態の情報（図５（Ｃ））は、上記実施例では、使用されていない。これらの表示状態情報は、機種ごとに異なる特徴情報として、撮像画像データの解析に用いられても良い。例えば、表示状態特定処理によって特定された表示ランプの表示状態が、表示状態情報（図５（Ｃ）に規定される情報）によって示された取り得る表示状態と異なる場合には、解析の結果が誤りである可能性が高い。この場合には、例えば、情報提供部３００は、判定に用いる複数個の画素（図１２（Ｃ）の画素群ＪＰ１〜ＪＰ５）を、Ｘ方向の位置（Ｘ座標）が１画素分だけ異なる別の複数個の画素に変更して、表示ランプの表示状態の判定を再び実行しても良い。この場合には、撮像画像ＳＩ２内のランプ配置ラインＬＬが、センターラインＣＬからずれている場合であっても、表示ランプの表示状態を適切に特定することができる。
【０１２８】
（７）上記実施例では、ガイド画像表示部３１２は、ガイド画像として、枠画像ＢＸおよびライン画像ＬＮ（図７（Ｃ））を、表示部４７０に表示しているが、ガイド画像は、これに限られない。例えば、ガイド画像は、例えば、表示ランプ１１〜１５のそれぞれに対応する複数個の枠画像であっても良い。この場合には、利用者は、表示ランプ１１〜１５のそれぞれが、対応する枠画像と重なるように、表示ランプ１１〜１５が表示部４７０に表示される位置を調整した状態で、撮像を実行する。一般的には、ガイド画像は、撮像対象である表示ランプが表示されるべき表示部４７０内の位置を利用者に示す画像であれば良い。そして、上記実施例のように、複数個の表示ランプ１１〜１５がランプ配置ラインＬＬに沿って並んでいる場合には、ガイド画像は、ランプ配置ラインＬＬが位置すべき表示部４７０内のラインを直接的に示す画像（例えば、図７（Ｃ）のライン画像ＬＮ）、あるいは、間接的に示す画像（例えば、変形例における複数個の枠画像）を含むことが好ましい。
【０１２９】
（８）上記実施例では、表示ランプの位置の推定は、表示ランプの表示状態を特定するために実行されているが、表示ランプの位置の推定は、他の目的のために実行されても良い。例えば、表示ランプの位置を推定することによって、表示ランプの個数や、複数個の表示ランプの間の間隔などのプリンタの特徴を認識することができる。従って、例えば、撮像画像データを解析することによって、プリンタの機種を特定するために、表示ランプの位置の推定が実行されても良い。
【０１３０】
（９）例えば、撮像画像ＳＩの解像度が比較的低い場合には、エッジ画像ＥＩや撮像画像ＳＩの縮小処理を省略しても良い。すなわち、縮小前のエッジ画像ＥＩを用いて、ランプ範囲推定処理が実行されても良く、縮小前の撮像画像ＳＩを用いて、表示状態特定処理が実行されても良い。また、機種情報の取得は省略されても良い。すなわち、情報提供部３００は、１つの機種のための専用のアプリケーションプログラム（例えば、製品の付属プログラム）によって実現されても良い。
【０１３１】
（１０）また、上記情報提供処理に用いられる各種の情報、例えば、機種選択画像ＡＩ１に表示される機種情報の一覧や、図４、図５に示す各種のテーブルに記録された情報は、予め不揮発性記憶装置４２０に格納されている。これに代えて、これらの情報は、必要に応じて、サーバ６０から取得されて、揮発性記憶装置４２５に一時的に格納されても良い。
【０１３２】
（１１）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１３３】
（１２）本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
【０１３４】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１３５】
１１〜１５...表示ランプ、３０...操作ボタン、５０...ＷＥＢブラウザ、５５...メイン制御部、６０...サーバ、６５...記憶部、７０...インターネット、１００...特定領域、１１０...装置制御部、１２０...ＵＩ制御部、２００...プリンタ、２１０...ＣＰＵ、２２０...不揮発性記憶装置、２２１...コンピュータプログラム、２３０...揮発性記憶装置、２３１...バッファ領域、２４０...印刷実行部、２６０...操作部、２７０...表示部、２８０...通信部、３００...情報提供部、３１０...画像データ取得部、３１２...ガイド画像表示部、３１４...撮像画像生成部、３２０...機種情報取得部、３３０...特徴情報取得部、３４０...文字位置推定部、３４５...エッジ画像生成部、３５０...ランプ位置推定部、３６０...特定部、３７０...識別情報取得部、３８０...ブラウザ制御部、４００...携帯端末、４１０...ＣＰＵ、４２０...不揮発性記憶装置、４２５...揮発性記憶装置、４２７...バッファ領域、４３０...無線ＩＦ部、４５０...音声処理部、４６０...操作部、４７０...表示部、４９０...カメラ、６５１...サポート情報群、４４０...電話ＩＦ部、ＰＧ１...制御プログラム、ＰＧ２...情報提供プログラム、ＰＧ３...ブラウザプログラム、ＤＴ１...ＵＲＬテーブル、ＤＴ２...特徴情報テーブル
【図１】
2014165554.tif 000004
【図２】
2014165554.tif 000005
【図３】
2014165554.tif 000006
【図４】
2014165554.tif 000007
【図５】
2014165554.tif 000008
【図６】
2014165554.tif 000009
【図７】
2014165554.tif 000010
【図８】
2014165554.tif 000011
【図９】
2014165554.tif 000012
【図１０】
2014165554.tif 000013
【図１１】
2014165554.tif 000014
【図１３】
2014165554.tif 000015
【図１４】
2014165554.tif 000016
【図１５】
2014165554.tif 000017
【図１２】
2014165554.tif 000018