IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソノー電機工業株式会社の特許一覧

<>
  • 特許-情報処理プログラム及び情報処理端末 図1
  • 特許-情報処理プログラム及び情報処理端末 図2
  • 特許-情報処理プログラム及び情報処理端末 図3
  • 特許-情報処理プログラム及び情報処理端末 図4
  • 特許-情報処理プログラム及び情報処理端末 図5
  • 特許-情報処理プログラム及び情報処理端末 図6
  • 特許-情報処理プログラム及び情報処理端末 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-08-01
(45)【発行日】2023-08-09
(54)【発明の名称】情報処理プログラム及び情報処理端末
(51)【国際特許分類】
   G06K 7/14 20060101AFI20230802BHJP
   G06F 3/04842 20220101ALI20230802BHJP
【FI】
G06K7/14 047
G06F3/04842
【請求項の数】 8
(21)【出願番号】P 2022179750
(22)【出願日】2022-11-09
【審査請求日】2022-11-10
【早期審査対象出願】
(73)【特許権者】
【識別番号】513197574
【氏名又は名称】ソノー電機工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】請園 邦雄
【審査官】小林 紀和
(56)【参考文献】
【文献】特開2001-266064(JP,A)
【文献】特許第7101427(JP,B1)
【文献】国際公開第2022/074955(WO,A1)
【文献】特開2022-002124(JP,A)
【文献】特表2021-520017(JP,A)
【文献】特開2009-151446(JP,A)
【文献】南木 徹,Auto-ID Solution XPANDコードを用いた施設内誘導支援 XPAND/QRビーコンによる低コストな施設内誘導サービス,月刊自動認識,日本,日本工業出版株式会社,2019年08月10日,第32巻 第9号,pp.20-27
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/04842
G06K 7/14
(57)【特許請求の範囲】
【請求項1】
ディスプレイを備えた情報処理端末に、
符号化コードであるSコードを含む画像データに係る画像を前記ディスプレイ上に表示する表示処理と、
前記ディスプレイ上に表示された前記画像に対してユーザが指示操作した指示位置を検出する指示位置検出処理と、
前記指示位置検出処理により検出された指示位置を含む前記画像上の所定範囲をコード検出範囲に設定する設定処理と、
前記設定処理により設定されたコード検出範囲内に前記コードがあるか否かを判断する判断処理と、
前記判断処理により、前記設定されたコード検出範囲内に前記Sコードが複数個含まれていると判断された場合、前記複数個のSコードからいずれか1つのSコードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理と、
前記決定処理により決定されたデコード対象コードをデコードするデコード処理と、
を実行させる情報処理プログラム。
【請求項2】
デコード処理によるデコード結果を、前記情報処理端末が備えた通信インタフェースを介して、前記情報処理端末の外部のサーバコンピュータに送信する送信処理、
をさらに実行させる、
請求項1に記載の情報処理プログラム。
【請求項3】
前記決定処理により前記複数個のコードからいずれか1つのコードを選択できなかった場合、ユーザに前記ディスプレイ上に表示された前記画像に対する再度の指示操作を促すように報知する報知処理、
をさらに実行させる、
請求項に記載の情報処理プログラム。
【請求項4】
前記判断処理により、前記設定されたコード検出範囲内に前記コードがないと判断された場合、前記設定されたコード検出範囲を拡大させる拡大処理、
をさらに実行させ、
前記判断処理では、前記拡大処理により前記拡大されたコード検出範囲内に前記コードがあるか否かを判断する、
請求項に記載の情報処理プログラム。
【請求項5】
前記判断処理により、前記拡大されたコード検出範囲内に前記コードが複数個含まれていると判断された場合、前記複数個のコードからいずれか1つのコードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理、
をさらに実行させ、
前記デコード処理では、前記決定処理により決定されたデコード対象コードをデコードする、
請求項に記載の情報処理プログラム。
【請求項6】
前記判断処理により、前記拡大処理により前記拡大されたコード検出範囲内に前記コードがないと判断された場合、前記拡大処理を再度実行するとともに、前記再度拡大されたコード検出範囲について前記判断処理を実行するという制御処理を繰り返し、
前記制御処理を所定回数繰り返した後の前記判断処理により、前記所定回数拡大されたコード検出範囲内に前記コードがないと判断された場合、ユーザに前記ディスプレイ上に表示された前記画像に対する再度の指示操作を促すように報知する、
請求項に記載の情報処理プログラム。
【請求項7】
前記所定の選択ルールは、前記指示位置との前記画像上の位置が最も近いコードを選択するというルールである、
請求項又はに記載の情報処理プログラム。
【請求項8】
ディスプレイと、
コントローラと、
を備えた情報処理端末であって、
前記コントローラは、
符号化コードであるSコードを含む画像データに係る画像を前記ディスプレイ上に表示する表示処理と、
前記ディスプレイ上に表示された前記画像に対してユーザが指示操作した指示位置を検出する指示位置検出処理と、
前記指示位置検出処理により検出された指示位置を含む前記画像上の所定範囲をコード検出範囲に設定する設定処理と、
前記設定処理により設定されたコード検出範囲内に前記コードがあるか否かを判断する判断処理と、
前記判断処理により、前記設定されたコード検出範囲内に前記Sコードが複数個含まれていると判断された場合、前記複数個のSコードからいずれか1つのSコードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理と、
前記決定処理により決定されたデコード対象コードをデコードするデコード処理と、
を実行する、
情報処理端末。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、ディスプレイに表示された画像上の符号化コードに対する指示操作に応じてその符号化コードをデコードする技術に関するものである。
【背景技術】
【0002】
特許文献1には、黒色又は白色のいずれか一方で塗りつぶされたデータセルをマトリクス状に配置したデータマトリクスを含み、データマトリクスを構成する各行又は各列のいずれか一方に含まれるデータセルのうち、多くとも1つのデータセルのみが黒色で塗りつぶされ、他のデータセルはすべて白色で塗りつぶされるようにした2次元コードが記載されている。
【0003】
そして、2次元コードのデコードは、まず2次元コードを含む被写体をカメラで撮影し、次にその撮像画像から2次元コードを検出し、さらに検出した2次元コードに対して画像解析することによりなされる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2020-173601号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、例えば、被写体上に複数の2次元コードが密に形成され、その中の1つの2次元コードのみをデコードしたい場合がある。この場合、デコード対象の2次元コードのみが写るようにズームアップする必要がある。特に、特許文献1に記載の2次元コードは、認識性を保持しつつ、可及的に縮小化することができるので、隣接する2次元コード間の間隙が狭いと、ズームアップしたとしても、デコード対象の2次元コードのみが写るようにすることは困難である。
【0006】
本願は、ディスプレイ上に表示された画像内に複数の符号化コードが密に表示されている場合でも、デコード対象の符号化コードを容易に選択してデコードすることが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本願の情報処理プログラムは、ディスプレイを備えた情報処理端末に、符号化コードであるSコードを含む画像データに係る画像をディスプレイ上に表示する表示処理と、ディスプレイ上に表示された画像に対してユーザが指示操作した指示位置を検出する指示位置検出処理と、指示位置検出処理により検出された指示位置を含む画像上の所定範囲をコード検出範囲に設定する設定処理と、設定処理により設定されたコード検出範囲内にSコードがあるか否かを判断する判断処理と、判断処理により、設定されたコード検出範囲内にSコードが複数個含まれていると判断された場合、複数個のSコードからいずれか1つのSコードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理と、決定処理により決定されたデコード対象コードをデコードするデコード処理と、を実行させる、ことを特徴とする。
【0008】
本願の情報処理プログラムでは、ユーザは、ディスプレイ上に表示された画像に含まれる符号化コードであるSコードを指示操作するだけで、そのコードをデコードすることができるので、ディスプレイ上に表示された画像内に複数のコードが密に表示されている場合でも、デコード対象のコードを容易に選択してデコードすることが可能となる。
【0009】
また、本願の情報処理プログラムは、ディスプレイを備えた情報処理端末に、デコード処理によるデコード結果を、情報処理端末が備えた通信インタフェースを介して、情報処理端末の外部のサーバコンピュータに送信する送信処理、をさらに実行させる、ことを特徴とする。
【0010】
これにより、デコード結果が自動的に外部のサーバコンピュータに送信されるので、便利である。
【0012】
これにより、ユーザがデコード目的のコードを正確に指示していなくても、そのコードを検出することができる。
【0014】
これにより、ディスプレイ上に表示された画像内に複数のコードが密に表示されている場合でも、その中からデコード目的のコードを自動的に選択してデコードすることが可能となる。
【0015】
また、本願の情報処理プログラムは、ディスプレイを備えた情報処理端末に、決定処理により複数個のコードからいずれか1つのコードを選択できなかった場合、ユーザにディスプレイ上に表示された画像に対する再度の指示操作を促すように報知する報知処理、をさらに実行させる、ことを特徴とする。
【0016】
これにより、ディスプレイ上に表示された画像内に複数のコードが密に表示されている場合に、デコード目的でないコードが不用意に選択されてデコードされることを防止することが可能となる。
【0017】
また、本願の情報処理プログラムは、ディスプレイを備えた情報処理端末に、判断処理により、設定されたコード検出範囲内にコードがないと判断された場合、設定されたコード検出範囲を拡大させる拡大処理、をさらに実行させ、判断処理では、拡大処理により拡大されたコード検出範囲内にコードがあるか否かを判断する、ことを特徴とする。
【0018】
これにより、ユーザがデコード目的のコードを外した状態で指示していたとしても、そのコードを検出することができる。
【0019】
また、本願の情報処理プログラムは、ディスプレイを備えた情報処理端末に、判断処理により、拡大されたコード検出範囲内にコードが複数個含まれていると判断された場合、複数個のコードからいずれか1つのコードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理、をさらに実行させ、デコード処理では、決定処理により決定されたデコード対象コードをデコードする、ことを特徴とする。
【0020】
これにより、拡大されたコード検出範囲内に複数のコードが表示されるようになった場合でも、その中からデコード目的のコードを自動的に選択してデコードすることが可能となる。
【0021】
また、本願の情報処理プログラムは、判断処理により、拡大処理により拡大されたコード検出範囲内にコードがないと判断された場合、拡大処理を再度実行するとともに、再度拡大されたコード検出範囲について判断処理を実行するという制御処理を繰り返し、制御処理を所定回数繰り返した後の判断処理により、所定回数拡大されたコード検出範囲内にコードがないと判断された場合、ユーザにディスプレイ上に表示された画像に対する再度の指示操作を促すように報知する、ことを特徴とする。
【0022】
このようにコード検出範囲の拡大を何回か繰り返しても、コードが含まれない場合には、ユーザに指示操作のやり直しを促すことで、過大なコード検出範囲の拡大を防止することが可能となる。
【0023】
また、所定の選択ルールは、指示位置との画像上の位置が最も近いコードを選択するというルールである、ことを特徴とする。
【0024】
これにより、ユーザの意図通りのコードを選択して、デコード対象コードに決定することが可能となる。
【0025】
上記目的を達成するため、本願の情報処理端末は、ディスプレイと、コントローラと、を備えた情報処理端末であって、コントローラは、符号化コードであるSコードを含む画像データに係る画像をディスプレイ上に表示する表示処理と、ディスプレイ上に表示された画像に対してユーザが指示操作した指示位置を検出する指示位置検出処理と、指示位置検出処理により検出された指示位置を含む画像上の所定範囲をコード検出範囲に設定する設定処理と、設定処理により設定されたコード検出範囲内にSコードがあるか否かを判断する判断処理と、判断処理により、設定されたコード検出範囲内にSコードが複数個含まれていると判断された場合、複数個のSコードからいずれか1つのSコードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理と、決定処理により決定されたデコード対象コードをデコードするデコード処理と、を実行する、ことを特徴とする。
【0026】
本願の情報処理端末では、ユーザは、ディスプレイ上に表示された画像に含まれる符号化コードであるSコードを指示操作するだけで、そのコードをデコードすることができるので、ディスプレイ上に表示された画像内に複数のコードが密に表示されている場合でも、デコード対象のコードを容易に選択してデコードすることが可能となる。
【図面の簡単な説明】
【0027】
図1】本願の一実施の形態に係るスマートフォンの概略構成を示すブロック図である。
図2図1のスマートフォン、特にCPUが実行する符号化コード認識処理の手順を示すフローチャートである。
図3図2の符号化コード認識処理に含まれるデコード対象コード決定処理の詳細な手順を示すフローチャートである。
図4図2の符号化コード認識処理に含まれるコード検出範囲変動処理の詳細な手順を示すフローチャートである。
図5】符号化コードを含む画像データの一例を示す図である。
図6図3のデコード対象コード決定処理の実行の様子を説明するための図である。
図7】符号化コードの一例を示す図である。
【発明を実施するための形態】
【0028】
以下、本願の実施の形態を図面に基づいて詳細に説明する。
【0029】
図1は、本願の一実施の形態に係るスマートフォン100の概略構成を示すブロック図である。
【0030】
同図に示すように、本実施形態のスマートフォン100は、スマートフォン100全体の制御を司るCPU101を備えている。CPU101には、タッチパネル102(「ディスプレイ」の一例)、操作子103、各種センサ104,メモリ105、タイマ106、音声入力インタフェース(I/F)107、通信インタフェース(I/F)110、サウンドシステム108及びカメラ109が接続されている。
【0031】
タッチパネル102は、一般的なスマートフォンが備えているものと変わらず、表示デバイスとしての機能と、入力デバイスとしての機能を兼ね備えたものである。ユーザによって表示画面上の位置が指定されると、その位置情報(座標)がタッチパネル102からCPU101に伝送される。CPU101は、その位置情報に応じた処理(処理しないことも含む)を行う。表示画面上には、各種機能のそれぞれの動作を指示するための複数のアイコンの他に、表示コンテンツが表示される。表示コンテンツは、例えば、図5(a)に示す電子商品カタログのインデックスページや、図5(b)に示す電子設計図であるが、これは一例に過ぎない。ただし、表示コンテンツには、何らかの符号化コードが含まれていることを要する。
【0032】
操作子103は、タッチパネル102上に表示されるアイコンやボタン(ソフトウェアにより生成されて表示されるもの)ではなく、ハードウェアスイッチ(ハードウェアにより形成されるもの)である。その典型例としては、電源スイッチやリセットスイッチ(ともに図示せず)などを挙げることができる。
【0033】
各種センサ104には、地磁気センサ、GPS、加速度センサ、超音波センサ、赤外線または可視光を検出する光センサなどが含まれる。
【0034】
メモリ105には、CPU101によって実行される制御プログラムや各種アプリケーションプログラム、各プログラムによって画面表示に利用される画像データや発音に利用される音声データを含む各種データ等を記憶するROMと、上記画像データや音声データを含む各種データ、各種入力情報および演算結果等を一時的に記憶するRAMが含まれている。上記制御プログラムや各種アプリケーションプログラム、各種データ等は、本実施形態では適宜、追加、削除あるいはアップデートできるようにするために、ROMとして、書き換え可能な不揮発性のもの、具体的にはフラッシュメモリを採用している。
【0035】
タイマ106は、タイマ割込み処理における割込み時間や各種時間を計時する。
【0036】
音声入力I/F107は、マイクロフォン(以下「マイク」と略す)111を接続し、マイク111を介して入力された周囲のアナログ音声信号(典型的には、ユーザが発音した音声)をデジタル音声信号(音声データ)に変換し、バッファ(図示せず)に記憶する。
【0037】
通信I/F110は、スマートフォン100を、例えばインターネットなどの通信ネットワーク200に接続させ、通信ネットワーク200に接続された他の機器、本実施形態では、管理サーバ310及び多数のWebサーバ320n(n=1,2,・・)との間で各種データの送受信を行う。上記プログラム等の追加、削除あるいはアップデートは、管理サーバ310を介して行うようにしてもよい。この場合、通信I/F110は、管理サーバ310から各種プログラムや各種データをダウンロードするために用いられる。クライアントとなるスマートフォン100は、通信I/F110および通信ネットワーク200を介して管理サーバ310へとプログラムやデータのダウンロードを要求するコマンドを送信する。管理サーバ310は、このコマンドを受け、要求されたプログラムやデータを、通信ネットワーク200を介してスマートフォン100へと配信し、スマートフォン100が通信I/F110を介して、これらプログラムやデータを受信してメモリ105(のフラッシュメモリ)に蓄積することにより、ダウンロードが完了する。
【0038】
サウンドシステム108は、例えば、DACやアンプ、スピーカ等によって構成される。サウンドシステム108は、電話の相手方が発音して、通信ネットワーク200及び通信I/F110を介して入力された音声信号を音響に変換する。この場合、相手方のスマートフォンあるいは電話機が通信ネットワーク200に接続されていることは言うまでもない。また、サウンドシステム108は、CPU101が上記制御プログラムや各種アプリケーションプログラムを実行しているときに生成した楽音信号も音響に変換する。楽音信号は、本実施形態では、CPU101が音源プログラムを実行することによって生成する、いわゆるソフトウェア音源によって生成する。もちろん、ソフトウェア音源を用いて楽音信号を生成する態様に限らず、ハードウェア音源を用いてもよいし、一部をハードウェアで構成し、残りをソフトウェアで構成した音源を用いてもよい。
【0039】
なお本実施形態では、情報処理端末としてスマートフォン100を採用したが、これに限らず、タブレット端末や携帯型のノートPC、PDA(personal digital assistant)などを採用してもよい。
【0040】
以上のように構成されたスマートフォン100が実行する制御処理を、図2図7を参照して詳細に説明する。以下、各処理の手順の説明において、ステップを「S」と表記する。
【0041】
図2は、スマートフォン100、特にCPU101が実行する符号化コード認識処理の手順を示している。この符号化コード認識処理は、スマートフォン100のユーザが符号化コードを含む画像データ(以下「符号化コード含有画像データ」という)からいずれかの符号化コードをデコードしたいと考え、符号化コード認識処理を実現するアプリケーションプログラム(以下「アプリ」と略して言う)を指定して起動を指示したときに開始する。以降、各処理の説明において、ステップを「S」と表記する。
【0042】
図2において、まずCPU101は、符号化コード含有画像データを取得する(S10)。ここで、符号化コード含有画像データを取得する態様は、いくつか考えられる。例えば、符号化コードを含む物理媒体をカメラ109で撮影して取得する態様が考えられる。この態様では、ユーザは、被写体となる物理媒体にカメラ109を向け、シャッター(図示せず)を操作することで、目的とする符号化コード含有画像データを取得する。また、別の態様としては、既に存在する符号化コード含有画像データを取得する態様も考えられる。例えば、目的とする符号化コード含有画像データが、上記管理サーバ310やWebサーバ320nに記憶されている場合、CPU101は、その記憶場所にアクセスし、その記憶場所に記憶されている符号化コード含有画像データをダウンロードして取得する。記憶場所が、例えば、QRコード(登録商標)に埋め込まれているとすると、CPU101は、例えば、ユーザがカメラ109で撮影したQRコード(登録商標)をデコードして取得すればよい。また、符号化コード含有画像データがメモリ105に記憶されているときには、メモリ105から読み出して取得するようにしてもよい。上記図5(a)の電子商品カタログのインデックスページや上記図5(b)の電子設計図は、このようにして取得された符号化コード含有画像データの一例を示している。
【0043】
次にCPU101は、取得した符号化コード含有画像データをタッチパネル102に表示させる(S12)。そして、CPU101は、タッチパネル102がタップ(「指示操作」の一例)されるまで待機し(S14:NO)、タッチパネル102がタップされると(S14:YES)、CPU101は、処理をS16に進める。
【0044】
S16では、CPU101は、タップ位置を中心とするコード検出範囲を設定する。符号化コード認識処理が開始されて初めて処理がS16に進んだとき、CPU101は、コード検出範囲としてデフォルト値を設定する。デフォルト値は、デコード対象の符号化コードの大きさに応じて予め決定するようにすればよいが、デコード対象の符号化コードの種類が決まっていないときには、デコード対象の符号化コードを特定の符号化コードと想定し、その符号化コードの大きさに応じて決定するようにすればよい。
【0045】
次にCPU101は、設定したコード検出範囲内に符号化コードがあるか否かを判断する(S18)。図6は、コード検出範囲に符号化コードがあるときの一例を含んでいる。ここで、符号化コードとして、上記特許文献1に記載された2次元コードを例に挙げている。以下、この2次元コードを「Sコード」と言う。なお、特許文献1では、Sコードとして複数種類が提案されているが、本実施形態では、その中の図7に示すSコード1を用いることにする。以下、図6を用いてS18以降の処理を説明する前に、図7を用いてSコード1の構成について簡単に説明する。
【0046】
図7において、Sコード1は、10行×10列の100個のデータセル12cからなるデータマトリクス12を含むコードであり、矩形平面10上に形成されている。そして矩形平面10の4コーナーにはそれぞれ、第1~第4コーナーセル10a~10dが設けられている。第1コーナーセル10aは、黒色で三角形状に塗りつぶされ、Sコード1が10×10のデータセル12cからなるデータマトリクス12を有するタイプであることを示している。一方、第2~第4コーナーセル10b~10dはいずれも、黒色で矩形状に塗りつぶされ、Sコード1の存在位置を示している。
【0047】
データマトリクス12は、矩形平面10内に、矩形状に形成され、各行12rは、10個のデータセル12cを有し、各列12lも、10個のデータセル12cを有している。各データセル12cも、矩形状に形成され、黒色又は白色のいずれか1色で塗りつぶされる。
【0048】
データマトリクス12中の第1列、つまり領域R1には、第1列を除いたデータマトリクス12の分割態様と、データマトリクス12に割り当てられるコードの種類とを規定する役割を持たせている。領域R1に含まれるデータセルのうち、例えば、第1行目のデータセル(1,1)が黒データセルである場合は、領域R1を除いたデータマトリクス12は領域R11~R13の3分割にして使用すること、及び2次元コード1がWebサーバ320nに格納されているデータの位置を特定する種類のコードであることを示す。領域R11は、10×4のデータセル12cを含み、領域R12は、5×5のデータセル12cを含み、領域R13は、5×5のデータセル12cを含んでいる。そして、領域R11に割り当てられるコードは、Webサーバ320nのURLを示し、領域R12に割り当てられるコードは、当該Webサーバ320nに格納されたデータが存在するディレクトリ名を示し、領域R13に割り当てられるコードは、当該データの表示ファイル名を示している。但し、R11~R13に割り当てられるコードが、直接的に上記URL、ディレクトリ名及び表示ファイル名を示すのではなく、間接的に上記URL、ディレクトリ名及び表示ファイル名を示している。つまり、R11~R13に割り当てられるコードは、N進数の数値であるのに対して、URL、ディレクトリ名及び表示ファイル名は、N進数の数値ではないからである。しかし、R11~R13に割り当てられるコードは、上記URL、ディレクトリ名及び表示ファイル名と1対1に対応付けられているので、CPU101は、Sコード1をデコードして得たデコード結果を管理サーバ310に送信し、管理サーバ310が、受信したデコード結果から対応するURL、ディレクトリ名及び表示ファイル名を取得し、Webサーバ320nに送信すれば、CPU101は、Webサーバ320nから目的の画像データを取得することができる。
【0049】
図6は、上述のようにコード検出範囲に符号化コードがあるときの一例を含んでいる。図6中、“+”で示される位置が、ユーザのタップ位置を示し、そのタップ位置を中心とした円内が、コード検出範囲を示している。そして、タップ位置TP1とコード検出範囲A1が、符号化コード認識処理の開示後初めて、処理がS18に進んだときの一例を示し、タップ位置TP2とコード検出範囲A2が、符号化コード認識処理の開始後2回目に、処理がS18に進んだときの一例を示している。
【0050】
図2に戻り、今処理が上記S18に進んだときに、ユーザが図6のタップ位置TP1をタップしたとすると、CPU101は、設定したコード検出範囲A1内に符号化コードがあると判断し(S18:YES)、デコード対象コード決定処理を実行する(S20)。
【0051】
図3は、デコード対象コード決定処理の詳細な手順を示している。図3において、まずCPU101は、デコードできないコードを排除する(S50)。デコードできないコードとは、Sコード1では、第1~第4コーナーセル10a~10dのうち、少なくとも一部のコーナーセルがコード検出範囲内に入っていないコードのことである。このようなコードは、Sコード1と認識できないので、排除する必要がある。図6に示すコード検出範囲A1では、Sコード1bとSコード1eが、デコードできないコードとして排除される。
【0052】
図3に戻り、次にCPU101は、デコード可能コードが複数検出されたか否かを判断する(S52)。図6に示すコード検出範囲A1では、デコード可能コードはSコード1aのみであるので、CPU101は、S52で“NO”と判断し、処理をS60に進める。S60では、CPU101は、デコード可能コードが1つであるか否かを判断する。今、デコード可能コードはSコード1aの1つのみであるので、CPU101は、S60で“YES”と判断し、デコード対象コード決定処理を終了する。
【0053】
図2に戻り、CPU101は、デコード対象コードが決定されたか否かを判断する(S22)。今、デコード対象コードとしてSコード1aが決定されたので、CPU101は、S22で“YES”と判断し、デコード対象コードとして決定されたSコード1aをデコードし、デコード結果を上記管理サーバ310に送信した(S24)後、符号化コード認識処理を終了する。
【0054】
一方、上記S18の判断において、設定したコード検出範囲に符号化コードがない場合(S18:NO)、CPU101は、コード検出範囲変動処理を実行する(S30)。ユーザが、例えば、図6のタップ位置TP2をタップしたとすると、そのタップ位置TP2を中心とするコード検出範囲A1内には、デコード可能コードが1つもない。この場合、CPU101は、S18で“NO”と判断する。
【0055】
図4は、コード検出範囲変動処理の詳細な手順を示している。図4において、まずCPU101は、コード検出範囲を1段階拡大する(S70)。図6のコード検出範囲A2は、コード検出範囲A1から1段階拡大したコード検出範囲の一例を示している。
【0056】
次にCPU101は、コード検出範囲の拡大を何回行ったかをカウントするための変動回数カウンタを“1”だけインクリメントした(S72)後、コード検出範囲変動処理を終了する。なお、変動回数カウンタは、例えば、メモリ105上に確保したカウンタ領域(図示せず)をカウントアップする、ソフトウェアカウンタで構成すればよい。
【0057】
図2に戻り、CPU101は、変動回数カウンタのカウント値が所定回数(例えば、3回)を超えているか否かを判断し(S32)、変動回数カウンタのカウント値≦所定回数の場合(S32:NO)、CPU101は、処理を上記S16に戻す。S16では、CPU101は、タップ位置はそのままで、拡大後のコード検出範囲を設定する。続くS18では、CPU101は、設定したコード検出範囲内にコードがあるか否かを判断する。
【0058】
今、図6に示すように、タップ位置TP2に対するコード検出範囲がコード検出範囲A2であるとすると、CPU101は、S18で、設定したコード検出範囲A2内にコードがあると判断する。そして、CPU101は、処理を上記デコード対象コード決定処理(S20)に進め、デコードできないコードを排除する(S50)。デコードできないコードの排除後、コード検出範囲A2には、デコード可能コードとして、2つのSコード1fとSコード1gが検出されることになる。したがって、CPU101は、上記S52で“YES”と判断し、処理をS54に進める。
【0059】
S54では、CPU101は、予め設定されたルールに従い、デコード対象コードを1つに絞る。ここで、ルールは、例えば、
(R1)タップ位置に最も近いコードをデコード対象コードとする;
(R2)タップ位置から同じ距離に複数のコードがある場合、ユーザにその旨を知らせ、ユーザに再度のタップを促す;
ことが考えられる。
【0060】
図6のコード検出範囲A2には、上述のように2つのSコード1fとSコード1gがあり、Sコード1fもSコード1gも、タップ位置TP2から等距離にあるので、CPU101は、ルール(R2)を適用し、ユーザにその旨を知らせ、ユーザに再度のタップを促す。一方、図6の例とは異なり、タップ位置TP2からの距離が、Sコード1gよりSコード1fの方が近いとすると、CPU101は、ルール(R1)を適用し、Sコード1fをデコード対象コードとする。このようにして、コード検出範囲内に複数のコードが含まれている場合、デコード対象コードが1つに絞られる。そして、CPU101は、絞ったコードをデコード対象コードに決定する(S56)。その後、CPU101は、デコード対象コード決定処理を終了する。
【0061】
デコード対象コード決定処理が終了すると、CPU101は、処理を上記S22(図2)に進める。今、デコード対象コードとしてSコード1fが決定されているとすると、CPU101は、S22で“YES”と判断し、Sコード1fをデコードし、デコード結果を管理サーバ310に送信した(S24)後、符号化コード認識処理を終了する。
【0062】
一方、上記S32の判断において、変動回数カウンタのカウント値>所定回数の場合(S32:YES)、CPU101は、処理をS40に進める。S40では、CPU101は、エラーを報知する。この場合、コード検出範囲を複数回(例えば、3回)拡大しても、そのコード検出範囲内にコードが含まれないので、エラーとしては、コード検出範囲内にコードが含まれないことと、別のタップ位置をタップするようにユーザに促すことをタッチパネル102上に表示することが考えられる。もちろん、報知の態様は、ユーザがエラー内容を知ることができれば、表示に限らず、音声等の他の態様を採用してもよい。CPU101は、S40の処理を終了すると、符号化コード認識処理を終了する。
【0063】
図6のタップ位置TP3を中心としたコード検出範囲A3は、CPU101が上記S70(図4)の処理を、例えば3回実行した後のコード検出範囲を示している。コード検出範囲A3には、Sコード1hが含まれているので、CPU101は、S18で“YES”と判断して、処理を上記S20のデコード対象コード決定処理に進める。しかし、デコード対象コード決定処理では、CPU101は、上記S60で“NO”と判断し、デコード可能コード無しに決定する(S62)。この後、処理が上記S22に進むと、CPU101は、S22で“NO”と判断し、処理を上記S40に進める。エラー内容は、上述した内容と同様であればよい。
【0064】
なお、本実施形態では、タッチパネル102がタップされると直ちにタップ位置を中心とするコード検出範囲が設定される(図2のS14,S16参照)が、これに代えて、タップ位置にSコード1があるか否かを判断するようにし、タップ位置にSコード1がない場合に、コード検出範囲を設定するようにしてもよい。この場合、Sコード1全体をタップできていないとき、例えば、Sコード1の一部のみタップしているときには、タップ位置を中心にして徐々にコード検出範囲を拡大していき、そのSコード1全体が含まれるようになるとその拡大を停止し、そのコード検出範囲内のSコード1をデコード対象コードに決定するようにしてもよい。
【0065】
以上説明したように、本実施形態のスマートフォン100は、タッチパネル102と、CPU101と、を備えた情報処理端末であって、CPU101は、Sコード1を含む画像データをタッチパネル102上に表示する表示処理と、タッチパネル102上に表示された画像データに対してユーザがタッチしたタッチ位置を検出するタッチ位置検出処理と、タッチ位置検出処理により検出されたタッチ位置にSコード1があるか否かを判断する判断処理と、判断処理によりSコード1があると判断された場合、その符号化コードをデコードするデコード処理と、を実行する。
【0066】
このように、本実施形態のスマートフォン100では、ユーザは、タッチパネル102上に表示された画像に含まれるSコード1をタッチするだけで、そのSコード1をデコードすることができるので、タッチパネル102上に表示された画像内に複数のSコード1が密に表示されている場合でも、デコード対象のSコード1を容易に選択してデコードすることが可能となる。
【0067】
ちなみに、本実施形態において、タッチパネル102は、「ディスプレイ」の一例である。CPU101は、「コントローラ」の一例である。Sコード1は、「符号化コード」の一例である。タッチは、「指示操作」の一例である。
【0068】
また、CPU101は、デコード処理によるデコード結果を、スマートフォン100が備えた通信I/F110を介して、スマートフォン100の外部の管理サーバ310に送信する送信処理、をさらに実行する、ことを特徴とする。ちなみに、管理サーバ310は、「サーバコンピュータ」の一例である。
【0069】
これにより、デコード結果が自動的に外部の管理サーバ310に送信されるので、便利である。
【0070】
また、CPU101は、タッチ位置検出処理により検出されたタッチ位置を含む画像上の所定範囲をコード検出範囲A1に設定する設定処理、をさらに実行し、判断処理では、設定処理により設定されたコード検出範囲A1内にSコード1があるか否かを判断する、ことを特徴とする。
【0071】
これにより、ユーザがデコード目的のSコード1を正確にタッチしていなくても、そのSコード1を検出することができる。
【0072】
また、CPU101は、判断処理により、設定されたコード検出範囲A2内にSコード1が複数個含まれていると判断された場合、複数個のSコード1からいずれか1つの符号化コードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理、をさらに実行し、デコード処理では、決定処理により決定されたデコード対象コードをデコードする、ことを特徴とする。
【0073】
これにより、タッチパネル102上に表示された画像内に複数のSコード1が密に表示されている場合でも、その中からデコード目的のSコード1を自動的に選択してデコードすることが可能となる。
【0074】
また、CPU101は、決定処理により複数個のSコード1からいずれか1つのSコード1を選択できなかった場合、ユーザにタッチパネル102上に表示された画像に対する再度のタッチを促すように報知する報知処理、をさらに実行する、ことを特徴とする。
【0075】
これにより、タッチパネル102上に表示された画像内に複数のSコード1が密に表示されている場合に、デコード目的でないSコード1が不用意に選択されてデコードされることを防止することが可能となる。
【0076】
また、CPU101は、判断処理により、設定されたコード検出範囲内にSコード1がないと判断された場合、設定されたコード検出範囲を拡大させる拡大処理、をさらに実行し、判断処理では、拡大処理により拡大されたコード検出範囲内にSコード1があるか否かを判断する、ことを特徴とする。
【0077】
これにより、ユーザがデコード目的のSコード1を外した状態でタッチしていたとしても、そのSコード1を検出することができる。
【0078】
また、CPU101は、判断処理により、拡大されたコード検出範囲内にSコード1が複数個含まれていると判断された場合、複数個のSコード1からいずれか1つの符号化コードを所定の選択ルールに従って選択し、デコード対象コードに決定する決定処理、をさらに実行し、デコード処理では、決定処理により決定されたデコード対象コードをデコードする、ことを特徴とする。
【0079】
これにより、拡大されたコード検出範囲内に複数のSコード1が表示されるようになった場合でも、その中からデコード目的の符号化コードを自動的に選択してデコードすることが可能となる。
【0080】
また、CPU101は、判断処理により、拡大処理により拡大されたコード検出範囲内にSコード1がないと判断された場合、拡大処理を再度実行するとともに、再度拡大されたコード検出範囲について判断処理を実行するという制御処理を繰り返し、制御処理を所定回数繰り返した後の判断処理により、所定回数拡大されたコード検出範囲内にSコード1がないと判断された場合、ユーザにタッチパネル102上に表示された画像に対する再度のタッチを促すように報知する、ことを特徴とする。
【0081】
このようにコード検出範囲の拡大を何回か繰り返しても、符号化コードが含まれない場合には、ユーザに指示操作のやり直しを促すことで、過大なコード検出範囲の拡大を防止することが可能となる。
【0082】
また、所定の選択ルールは、タッチ位置との画像上の位置が最も近いSコード1を選択するというルールである、ことを特徴とする。
【0083】
これにより、ユーザの意図通りのSコード1を選択して、デコード対象コードに決定することが可能となる。
【0084】
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
【0085】
(1)上記実施形態では、符号化コードとしてSコードを例に挙げて説明したが、符号化コードは、Sコードに限らず、QRコード(登録商標)等の他の2次元コードであってよいし、2次元コードに限らず、例えばバーコード等の1次元コードであってもよい。
【0086】
(2)上記実施形態では、符号化コード含有画像データの一例として、電子商品カタログのインデックスページ(図5(a))を挙げているが、これに限らず、電子商品カタログのインデックスページ以外のページ、例えば、各商品の内容を詳細に説明するベージ等の他のページであってもよい。また、電子商品カタログに限らず、上記図5(b)に示す電子設計図等の他の範疇に属する画像データであってもよい。要するに、符号化コード含有画像データは、符号化コードが含まれる画像データであれば、どのようなデータであってもよく、例えば、符号化コード含有画像データを含む文書データや、符号化コード含有画像データを添付した電子メールデータなどを挙げることができる。
【0087】
(3)上記実施形態では、タッチパネル102上に表示された符号化コード含有画像データに係る画像に対する指示は、ユーザ自身の指で行う場合が一般的であるが、これに限らず、スタイラスペンなどを用いて行うようにしてもよい。また指示態様は、上記実施形態では、タップ、つまりシングルタップを想定しているが、これに限らず、ダブルタップでもよいし、さらに他の指示態様であってもよい。
【0088】
(4)上記実施形態では、符号化コード含有画像データに係る画像をタッチパネル102上に表示し、その画像上の指示をタッチ操作により行うようにしたが、これに限らず、符号化コード含有画像データに係る画像をタッチ機能の無いディスプレイに表示するようにし、画像上に表示されたマウスポインタを用いてその画像上の指示を行うようにしてもよい。さらに、タッチパネル102上に表示された符号化コード含有画像データに係る画像の指示を、タッチ操作に加えて、マウスポインタを用いても行えるようにしてもよい。
【符号の説明】
【0089】
100…スマートフォン、101…CPU、102…タッチパネル、105…メモリ、110…通信I/F、200…通信ネットワーク、310…管理サーバ、320n…Webサーバ 。
【要約】
【課題】ディスプレイ上に表示された画像内に複数の符号化コードが密に表示されている場合でも、デコード対象の符号化コードを容易に選択してデコードすることが可能となる技術を提供する。
【解決手段】スマートフォン100は、タッチパネル102と、CPU101と、を備えた情報処理端末であって、CPU101は、Sコード1を含む画像データをタッチパネル102上に表示する表示処理と、タッチパネル102上に表示された画像データに対してユーザがタッチしたタッチ位置を検出するタッチ位置検出処理と、タッチ位置検出処理により検出されたタッチ位置にSコード1があるか否かを判断する判断処理と、判断処理によりSコード1があると判断された場合、その符号化コードをデコードするデコード処理と、を実行する。
【選択図】 図6
図1
図2
図3
図4
図5
図6
図7