JP2021028760A - 電子機器およびその制御方法 - Google Patents
電子機器およびその制御方法 Download PDFInfo
- Publication number
- JP2021028760A JP2021028760A JP2019147447A JP2019147447A JP2021028760A JP 2021028760 A JP2021028760 A JP 2021028760A JP 2019147447 A JP2019147447 A JP 2019147447A JP 2019147447 A JP2019147447 A JP 2019147447A JP 2021028760 A JP2021028760 A JP 2021028760A
- Authority
- JP
- Japan
- Prior art keywords
- image
- imaging means
- camera
- electronic device
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10712—Fixed beam scanning
- G06K7/10722—Photodetector array or CCD scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1447—Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
Abstract
【課題】読取装置が二次元コードを読み取る際の、読取装置を遠ざけたり近づけたりする操作を減らすことができる。【解決手段】スマートフォン100において、第1の撮像手段と、第1の撮像手段とは焦点距離の異なる第2の撮像手段と、撮像された画像に含まれる光学コード画像から情報を読み取る読取手段と、第1の撮像手段で撮像された画像から読取手段によって光学コード画像に基づく情報を読み取ることができた場合は、読み取った情報に応じた処理を実行し、第1の撮像手段で撮像された画像から読取手段によって光学コード画像に基づく情報を読み取ることができなかった場合は、第2の撮像手段で撮像された画像から読取手段によって光学コード画像に基づく情報を読み取り、読み取った情報に応じた処理を実行するように制御する制御手段と、を有する。【選択図】図2
Description
本発明は、複数の撮像手段によって、二次元コードのような光学コード情報を認識することが可能な電子機器および電子機器の制御方法に関するものである。
従来、広告や取扱説明書、工場での生産管理などに光学コード情報である二次元コードが印刷、表示され、ユーザーが二次元コードを読み取ることで、Webページや詳細情報へのアクセスができるようなものが知られている。また近年では、スマートフォンを用いた決済方法の一つとして、二次元コードを用いた電子決済が広く知られるようになった。特許文献1には、バーコード(一次元コード)を読み取る際に、読取装置で撮影されているバーコードの大きさに応じてレンズを駆動し、光学ズームの倍率を切り替えることが開示されている。
しかし特許文献1では、レンズ駆動による光学ズームを行うことで適正な大きさでバーコードを撮影できる距離までは、バーコードと読取装置との距離をユーザーが調節する必要がある。また、読取装置に光学的なレンズ駆動を行うことができる機構を搭載しようとするとある程度の大きさの読取装置が必要になり、小型の読取装置に搭載することは難しい。そのため、従来の読取装置でバーコードを読み取る際に、読取装置とバーコードが近すぎたり遠すぎたりする場合に、読取装置がバーコードを読み取ることができる位置まで、ユーザーが読取装置を遠ざけたり近づけたりしなければならないことがあった。
そこで本発明は、読取装置が光学コード画像を読み取る際に、ユーザーが読取装置を遠ざけたり近づけたりする操作を減らすことを目的とする。
上記目的を達成するために、本発明は、
第1の撮像手段と、
前記第1の撮像手段とは焦点距離の異なる第2の撮像手段と、
撮像された画像に含まれる光学コード画像から情報を読み取る読取手段と、
前記第1の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができた場合は、読み取った情報に応じた処理を実行し、
前記第1の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができなかった場合は、
前記第2の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取り、読み取った情報に応じた処理を実行するように制御する制御手段とを有することを特徴とする。
第1の撮像手段と、
前記第1の撮像手段とは焦点距離の異なる第2の撮像手段と、
撮像された画像に含まれる光学コード画像から情報を読み取る読取手段と、
前記第1の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができた場合は、読み取った情報に応じた処理を実行し、
前記第1の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができなかった場合は、
前記第2の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取り、読み取った情報に応じた処理を実行するように制御する制御手段とを有することを特徴とする。
本発明によれば、読取装置が光学コード画像を読み取る際に、ユーザーが読取装置を遠ざけたり近づけたりする操作を減らすことができる。
以下、図面を参照して本発明の好適な実施形態を説明する。
図1(a)(b)に本発明を適用可能な装置(電子機器)の一例としてのスマートフォン100の外観図を示す。図1(a)はスマートフォン100の前面図であり、図1(b)はスマートフォン100の背面図である。図1において、ディスプレイ105は画像や各種情報を表示する、スマートフォン前面に設けられた表示部である。タッチパネル106aはタッチ操作部材であり、ディスプレイ105の表示面(操作面)に対するタッチ操作を検出することができる。スマートフォン100は、アウトカメラ114、もしくは、インカメラ115で撮影したライブビュー画像(LV画像)をディスプレイ105に表示することが可能である。アウトカメラ114は後述する、望遠カメラ114a、標準カメラ114b、超広角カメラ114cを含む。電源ボタン106bは操作部106に含まれる操作部材であり、ディスプレイ105の点灯/消灯を切り替えることができる。ある程度の時間、例えば3秒間、電源ボタン106bの押下を継続(長押し)するとスマートフォン100の電源のON/OFFを切り替えることができる。音量プラスボタン106c、音量マイナスボタン106dは音声出力部112から出力する音量のボリュームをコントロールする音量ボタンである。音量プラスボタン106cを押下すると音量が大きくなり、音量マイナスボタン106dを押下すると音量が小さくなる。また、カメラ使用時の撮影待機状態においては、音量プラスボタン106cや音量マイナスボタン106dを押下することで撮影を指示するシャッターボタンとしても機能する。電源ボタン106bと音量マイナスボタン106dを同時に押下したり、音量マイナスボタン106dを素早く数回押下したりした場合に、特定の機能を実行するように、ユーザーが任意に設定することもできる。ホームボタン106eはディスプレイ105にスマートフォン100の起動画面であるホーム画面を表示させるための操作ボタンである。スマートフォン100において様々なアプリケーションを起動し、使用していた場合に、ホームボタン106eを押下することで、起動している様々なアプリケーションを一時的に閉じて、ホーム画面を表示することができる。なお、ホームボタン106eは物理的に押下可能なボタンを想定しているが、物理ボタンではなくディスプレイ105に表示された同様に機能を持った、タッチ可能なボタンでもよい。音声出力端子112aはイヤホンジャックであり、イヤホンや外部スピーカーなどに音声を出力する端子である。スピーカー112bは音声を出す本体内蔵のスピーカーである。音声出力端子112aに音声を出力する端子、例えばイヤホンコードを装着していない場合に、スマートフォン100において音声が出力されるような場合には、スピーカー112bから音声が出力される。
図2は、本実施形態によるスマートフォン100の構成例を示すブロック図である。内部バス150に対してCPU101、メモリ102、不揮発性メモリ103、アウトカメラ画像処理部104、ディスプレイ105、操作部106、記憶媒体I/F107、外部I/F109、及び、通信I/F110が接続されている。また、内部バス150に対して音声出力部112、姿勢検出部113、アウトカメラ114、インカメラ115、インカメラ画像処理部116も接続されている。内部バス150に接続される各部は、内部バス150を介して互いにデータのやりとりを行うことができるようにされている。
CPU101は、スマートフォン100の全体を制御する制御部であり、少なくとも1つのプロセッサーまたは回路からなる。メモリ102は、例えばRAM(半導体素子を利用した揮発性のメモリなど)からなる。CPU101は、例えば不揮発性メモリ103に格納されるプログラムに従い、メモリ102をワークメモリとして用いて、スマートフォン100の各部を制御する。不揮発性メモリ103には、画像データや音声データ、その他のデータ、CPU101が動作するための各種プログラムなどが格納される。不揮発性メモリ103は例えばフラッシュメモリやROMなどで構成される。
アウトカメラ画像処理部104は、CPU101の制御に基づいて、アウトカメラ114で撮影した画像に対して各種画像処理や被写体認識処理を施す。望遠カメラ114a、標準カメラ114b、超広角カメラ114cのそれぞれに望遠カメラ画像処理部104a、標準カメラ画像処理部104b、超広角カメラ画像処理部104cがある。それぞれの画像処理部が、それぞれのカメラが撮影した画像に対して処理を施す。なお、本実施形態では3つのアウトカメラの1つ1つが画像処理部を持つような構成にしたが、必ずしも全てが個別である必要はなく、いずれか2つのカメラが1つの画像処理部を共有してもよいし、3つのカメラが画像処理部を共有してもよい。同様に、インカメラ画像処理部116はインカメラ115で撮影した画像の処理を担う。各画像処理部は、不揮発性メモリ103や記憶媒体108に格納された画像や、外部I/F109を介して取得した映像信号、通信I/F110を介して取得した画像などに対して各種画像処理を施すこともできる。各画像処理部が行う画像処理には、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理などが含まれる。各画像処理部は、特定の画像処理を施すための専用の回路ブロックで構成してもよい。また、アウトカメラ画像処理部104は、後述する二次元コードの特徴を検出し、その所在を判定し、二次元コードが保有する情報を読み取る、という一連の処理であるデコード処理を行うことも可能である。デコード処理については、QRコードの説明の部分で後述する。アウトカメラ画像処理部104は、1つの処理ブロックに統合され、それぞれのカメラによる画像を並列処理や時分割処理によって一手に担う構成であってもよい。また、画像処理の種別によっては各画像処理部を用いずにCPU101がプログラムに従って画像処理を施すことも可能である。
ディスプレイ105は、CPU101の制御に基づいて、画像やGUI(Graphical User Interface)を構成するGUI画面などを表示する。CPU101は、プログラムに従い表示制御信号を生成し、ディスプレイ105に表示するための映像信号を生成してディスプレイ105に出力するようにスマートフォン100の各部を制御する。ディスプレイ105は出力された映像信号に基づいて映像を表示する。なお、スマートフォン100自体が備える構成としてはディスプレイ105に表示させるための映像信号を出力するためのインターフェースまでとし、ディスプレイ105は外付けのモニタ(テレビなど)で構成してもよい。
操作部106は、キーボードなどの文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッドなどを含む、ユーザー操作を受け付けるための入力デバイスである。なお、タッチパネルは、ディスプレイ105に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるようにした入力デバイスである。操作部106には、上述した、タッチパネル106a、電源ボタン106b、音量プラスボタン106c、音量マイナスボタン106d、ホームボタン106eが含まれる。
記憶媒体I/F107は、メモリーカードやCD、DVDといった記憶媒体108が装着可能とされ、CPU101の制御に基づき、装着された記憶媒体108からのデータの読み出しや、当該記憶媒体108に対するデータの書き込みを行う。記憶媒体108は、スマートフォン100内に組み込まれた内蔵ストレージでもよい。外部I/F109は、外部機器と有線ケーブルや無線によって接続し、映像信号や音声信号の入出力を行うためのインターフェースである。通信I/F110は、外部機器やインターネット111などと通信して、ファイルやコマンドなどの各種データの送受信を行うためのインターフェースである。
音声出力部112は、動画や音楽データの音声や、操作音、着信音、各種通知音などを出力する。音声出力部112には、イヤホンなどを接続する音声出力端子112a、スピーカー112bが含まれるものとするが、無線通信などで音声出力を行ってもよい。
姿勢検出部113は、重力方向に対するスマートフォン100の姿勢や、ヨー、ロール、ピッチの各軸に対する姿勢の傾きを検知する。姿勢検出部113で検知された姿勢に基づいて、スマートフォン100が横に保持されているか、縦に保持されているか、上に向けられたか、下に向けられたか、斜めの姿勢になったかなどを判別可能である。姿勢検出部113としては、加速度センサー、ジャイロセンサー、地磁気センサー、方位センサー、高度センサーなどのうち少なくとも1つを用いることができ、複数を組み合わせて用いることも可能である。
アウトカメラ114はスマートフォン100の筐体において、ディスプレイ105とは反対の側に配置されたカメラである。望遠カメラ114aの焦点距離は標準カメラ114bの焦点距離よりも長く、標準カメラ114bよりも、より望遠側を撮影することができる。超広角カメラ114cの焦点距離は、標準カメラ114bの焦点距離よりも短く、標準カメラ114bよりも、より広角に撮影できる。すなわち、望遠カメラ114a、標準カメラ114b、超広角カメラ114cの順に焦点距離が短くなり、それに伴い画角も狭くなる。本実施形態では、望遠カメラ114aはあらかじめ決められた倍率に光学的に等倍される機構のレンズを想定しているが、ユーザーによって倍率を可変できるような機構としてもよい。インカメラ115は、スマートフォン100の筐体においてディスプレイ105と同じ面に配置されたカメラである。望遠カメラ114a、標準カメラ114b、超広角カメラ114cは3つ同時に撮影動作を行うことができる。なお、3つのアウトカメラを同時に撮影動作行えることを上述したが、必ずしも3つすべてのカメラが同時に動作する必要はなく、3つのうちいずれか2つのカメラを動作するようにしてもよいし、1つのカメラが単独で動作することもできる。アウトカメラ114およびインカメラ115で撮影したライブビュー映像は、いずれもディスプレイ105上に表示することができる。タッチパネル106aの操作によって、どのカメラで撮影した映像をディスプレイ105上で表示するかを選択することができる。すなわち、望遠カメラ114aを選択すれば、標準カメラ114bよりもより拡大された画像をディスプレイ105に表示することができる。標準カメラ114bを選択すれば、望遠カメラ114aよりも広角で、超広角カメラ114cよりも拡大された画像を表示することができる。超広角カメラ114cを選択すれば、望遠カメラ114aと標準カメラ114bの両方よりも広角の画像を表示することができる。もしくは、アウトカメラ114とインカメラ115のどちらを利用するかによって、眼前の光景を撮影するか、撮影者自身を自分撮り撮影するかを選択することができる。
なお操作部106には、タッチパネル106aが含まれる。CPU101はタッチパネル106aへの以下の操作、あるいは状態を検出できる。
・タッチパネル106aにタッチしていなかった指やペンが新たにタッチパネル106aにタッチしたこと、すなわち、タッチの開始(以下、タッチダウン(Touch−Down)と称する。)
・タッチパネル106aを指やペンがタッチしている状態であること(以下、タッチオン(Touch−On)と称する)
・指やペンがタッチパネル106aをタッチしたまま移動していること(以下、タッチムーブ(Touch−Move)と称する)
・タッチパネル106aへタッチしていた指やペンがタッチパネル106aから離れたこと、すなわち、タッチの終了(以下、タッチアップ(Touch−Up)と称する)
・タッチパネル106aに何もタッチしていない状態(以下、タッチオフ(Touch−Off)と称する)
・タッチパネル106aにタッチしていなかった指やペンが新たにタッチパネル106aにタッチしたこと、すなわち、タッチの開始(以下、タッチダウン(Touch−Down)と称する。)
・タッチパネル106aを指やペンがタッチしている状態であること(以下、タッチオン(Touch−On)と称する)
・指やペンがタッチパネル106aをタッチしたまま移動していること(以下、タッチムーブ(Touch−Move)と称する)
・タッチパネル106aへタッチしていた指やペンがタッチパネル106aから離れたこと、すなわち、タッチの終了(以下、タッチアップ(Touch−Up)と称する)
・タッチパネル106aに何もタッチしていない状態(以下、タッチオフ(Touch−Off)と称する)
タッチダウンが検出されると、同時にタッチオンも検出される。タッチダウンの後、タッチアップが検出されない限りは、通常はタッチオンが検出され続ける。タッチムーブが検出された場合も、同時にタッチオンが検出される。タッチオンが検出されていても、タッチ位置が移動していなければタッチムーブは検出されない。タッチしていた全ての指やペンがタッチアップしたことが検出されると、タッチオフが検出される。
これらの操作・状態や、タッチパネル106a上に指やペンがタッチしている位置座標は内部バスを通じてCPU101に通知される。CPU101は通知された情報に基づいてタッチパネル106a上にどのような操作(タッチ操作)が行なわれたかを判定する。タッチムーブについてはタッチパネル106a上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル106a上の垂直成分・水平成分毎に判定できる。所定距離以上をタッチムーブしたことが検出された場合はスライド操作が行なわれたと判定するものとする。タッチパネル106a上に指をタッチしたままある程度の距離だけ素早く動かして、そのまま離すといった操作をフリックと呼ぶ。フリックは、言い換えればタッチパネル106a上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でタッチムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる(スライド操作に続いてフリックがあったものと判定できる)。更に、複数箇所(例えば2点)を同時にタッチして、互いのタッチ位置を近づけるタッチ操作をピンチイン、互いのタッチ位置を遠ざけるタッチ操作をピンチアウトと称する。ピンチアウトとピンチインを総称してピンチ操作(あるいは単にピンチ)と称する。タッチパネル106aは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサー方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いてもよい。タッチパネルに対する接触があったことでタッチがあったと検出する方式や、タッチパネルに対する指やペンの接近があったことでタッチがあったと検出する方式があるが、いずれの方式でもよい。
二次元コードとは、横方向にしか情報を持たない一次元コード、例えばバーコード、に対し、水平方向と垂直方向に情報を持つ表示方式のコードのことを指す。主な二次元コードとして、マトリックス式とスタック式があり、マトリックス式ではQRコード(登録商標)、スタック式ではPDF417が代表的なものとしてあげられる。二次元コードは、一次元コードに対して多くの情報を持つことができ、特にQRコードは数字だけでなく、英字や漢字などの多言語のデータを格納することができる。また、QRコードはイメージセンサで読み取りが可能であるため、他の二次元コードのように専用の読み取り装置が必ずしも必要ではなく、携帯電話やスマートフォンなどが有する撮像手段であるカメラで容易に読み取ることができる。
QRコードは上述したようにマトリックス式の二次元コードであり、図6に示すように、小さな正方形であるセル602を上下左右に配列することによって形成されるパターン画像である。数字や英字、漢字などの様々な記号に対してエンコード処理を行い、セル602とその配列の組み合わせでQRコードを作成する。正方形の3隅に切り出しシンボルと呼ばれる、シンボル601のようなパターンを配置しており、この切り出しシンボルによりQRコードであることを認識する。具体的には、撮影した画像から、シンボル601の切り出しシンボルを検出し、検出されたシンボル601に基づいてQRコードのサイズを検出する。検出したQRコードのサイズ内の、セル602が形成するセルの分布パターンを検出し、この分布パターンを解読することで、QRコードが保有する情報の読み取りを行う。画像からシンボル601の切り出しシンボルを探し、セルの分布パターンを検出し、情報を読み取るまでの一連の処理を、デコード処理と呼ぶ。
切り出しシンボルであるシンボル601に基づいて、CPU101は、QRコードの認識やサイズ検出のみならず、QRコードの傾きや歪みも検出する。後述する本実施形態において、QRコードが撮影範囲にあるか否かの認識は、シンボル601を認識することで判定する。ただし、QRコードの持っている情報を正しく読み取るためには、上述したように、QRコードのセル602によって作られる分布パターンを正確に読み取る必要がある。例えばスマートフォンを用いてQRコードを読み取ろうとしている場合に、スマートフォンのカメラとQRコードが遠すぎたり、撮影場所が暗いなどの理由で、セル602が作る分布パターンを正確に認識することができないと、QRコードから情報を読み取れない。すなわち、デコード処理が行えない。そのため、QRコードが保有している情報を読み取る、デコード処理を実行するためには、セル602の作る分布パターンを正確に読み取ることが必要となる。なお、現在では縦のセル数×横のセル数が21×21セルから4セル刻みで177×177セルまでのQRコードが存在する。図6に示すQRコードは21×21セルであり、セルの数が多くなればなるほど、多くの情報量を保有することができる。
近年ではQRコードを広告や取扱説明書などに印刷や表示をすることで、QRコードを読み取ったユーザーが目的のWebページに容易にアクセスすることができるなど、様々な情報を容易に得ることができるようになった。また、QRコードはデータの一部が読み取れなかったり、誤って読み込んでしまったりした場合にも、その誤りを訂正するための冗長コードが付加されている。これにより、他のコードと比較して汚れや歪みに強いコードであることから、工場などの生産現場においても、生産ラインの管理として広く用いられている。さらには、現金などの紙幣ではなくクレジットカードを用いた電子決済が多用される中、電子決済の1つとして、スマートフォンでQRコードを読み取るQRコード決済が広く知られ始めている。このようなQRコード決済が広く浸透した場合に、決済時にユーザーがQRコードの読み取りに時間をかけることなく、スムーズに決済をできるようにすることが望まれる。
本実施形態では、スマートフォン100における二次元コード読み取り時のカメラを制御する制御処理について説明する。
(第1の実施形態)
第1の実施形態では、望遠カメラ114a、標準カメラ114b、超広角カメラ114cの3つのアウトカメラ114を同時に駆動させ、アウトカメラ114のうち最適なカメラで光学コード情報である二次元コードを読み取る例を説明する。図4は、アウトカメラ114との画像処理部104を駆動させて、二次元コードの読み取り、すなわち二次元コードのデコード処理を行う制御処理フローチャートである。この制御処理はスマートフォン100において、CPU101が不揮発性メモリ103に格納されたプログラムを実行することにより実現される。図4のフローチャートは、スマートフォン100においてカメラアプリケーションを起動し、撮影待機状態であるときに開始される。上述したカメラアプリケーションに限らず、二次元コードをデコード処理するためのアプリケーションの二次元コード読み取り機能を起動した際の、撮影待機状態でもよい。図3(a)〜(d)はディスプレイ105に表示される、二次元コードを読み取る際の表示例である。
第1の実施形態では、望遠カメラ114a、標準カメラ114b、超広角カメラ114cの3つのアウトカメラ114を同時に駆動させ、アウトカメラ114のうち最適なカメラで光学コード情報である二次元コードを読み取る例を説明する。図4は、アウトカメラ114との画像処理部104を駆動させて、二次元コードの読み取り、すなわち二次元コードのデコード処理を行う制御処理フローチャートである。この制御処理はスマートフォン100において、CPU101が不揮発性メモリ103に格納されたプログラムを実行することにより実現される。図4のフローチャートは、スマートフォン100においてカメラアプリケーションを起動し、撮影待機状態であるときに開始される。上述したカメラアプリケーションに限らず、二次元コードをデコード処理するためのアプリケーションの二次元コード読み取り機能を起動した際の、撮影待機状態でもよい。図3(a)〜(d)はディスプレイ105に表示される、二次元コードを読み取る際の表示例である。
S401では、CPU101は、望遠カメラ114a、標準カメラ114b、超広角カメラ114cの3つのアウトカメラ114で撮影を開始し、3つのアウトカメラ画像処理部104a〜104cの駆動を開始する。
S402では、CPU101は、S401で駆動した3つのアウトカメラ114のうち、標準カメラ114bで撮影したLV画像をディスプレイ105に表示する。この時の表示例を図3(a)に示す。第1の実施形態では、LV画像に含まれるコード304の読み取りをどのアウトカメラ114で実行しているかに関わらず、ディスプレイ105には標準カメラ114bで撮影したLV画像を表示する。ディスプレイ105に表示したLV画像に重畳して、望遠カメラ114aの撮影可能範囲(撮像可能範囲)を示すインジケーターとして枠301aと指標302を表示する。指標302は、望遠カメラ114aで撮影できる画像の中心位置及び超広角カメラ114cで撮影できる画像の中心位置を示すアイテムである。望遠カメラ114aの撮影可能範囲として表示する枠は、ユーザーが範囲を視認できる表示形態であればよく、図3(a)の枠301aに示すように実線での枠でもよいし、点線での枠でもよい。また、図3(b)の枠301bに示すように、撮影可能範囲外に半透過のマスクをかけるような表示形態としてもよい。図3(a)に示す指標302は、望遠カメラ114aで撮影できる画像の中心であることをユーザーが視認できる指標であればよく、指標302のような十字型の指標でもよいし、点などの指標でもよい。LV画像に重畳して表示するものでなくてもよい。ディスプレイ105に表示するLV画像に重畳して枠301aや指標302を示すことで、コード304を読み取る際に、どの位置にコード304をフレーミングすればスマートフォン100が読み取ることができるのか、ユーザーが視認しやすい。また、いずれのカメラで認識を行っているか否かに関わらず、標準カメラ114bで撮影したLV画像をディスプレイ105に表示することにより、ユーザーは望遠カメラ114aで撮影されたLV画像を見るよりも、より広範囲を視認することができる。これにより、ユーザーはコード304を撮影する際にフレーミングがしやすくなる。標準カメラ114bのLV画像に重畳して、望遠カメラ114aの撮影可能範囲である枠301aを示すことにより、コード304を枠301a内に写りこませていれば、望遠カメラ114aで認識する際にコード304が画角外になる可能性が低くなる。つまり、枠301aのインジケーター内にコード304を映り込ませていれば、どのアウトカメラ114で認識をしていても、コード304を認識できる可能性が高まる。また枠や指標に加えて、ディスプレイ105上に図3(a)のガイド303のようなメッセージ表示を行うことで、よりユーザーにコード304を枠301aのインジケーター内に撮影してもらいやすくなり、コード304を認識できる可能性がより高くなる。
S403では、CPU101は、標準カメラ114bで撮影した画像から標準カメラ画像処理部104bを用いて、光学コード画像、すなわち、二次元コードらしき被写体があったか否かを判定する。あった場合はS404へ進み、なかった場合はS406へ進む。前述したように、シンボル601があるか否かを判定することができれば、撮影している被写体が二次元コードであるか否かを判定することができる。例えば、二次元コードが情報を読み取るには小さすぎるほど標準カメラ114bから遠い場合でも、シンボル601はセル602により大きいため、遠くからでも検出がしやすい。また、3か所のシンボル601全てが撮影されなくても、2つないし1つのシンボル601が撮影されていれば、二次元コードである可能性が高まる。つまりS403においては、標準カメラ114bで撮影した画像内に、シンボル601があるか否かを判定する。
S404では、CPU101は、標準カメラ114bで撮影した画像から、標準カメラ画像処理部104bで二次元コードが読み取り可能か否かを判定する。読み取り可能であれば、S411へ進み、そうでない場合はS405へ進む。前述したように、二次元コードが読み取り可能ということは、二次元コードを形成するセル602の分布パターンを検出できるということであり、すなわち、二次元コードのデコード処理が実行できるということである。二次元コードのデコード処理が実行可能であることは、セル602の分布パターンを検出できるほど正確に二次元コードを撮影できていることを示す。S403においてシンボル601が検出でき、二次元コードを認識できていたとしても、標準カメラ114bと二次元コードとがあまりに離れすぎていると、分布パターンを正確に検出することができない。また標準カメラ114bと二次元コードとが近すぎて3か所のシンボル601全てが検出できない場合には、デコード処理のうち、二次元コードのサイズを把握することができないため、近すぎる場合にもデコード処理は行えない。
S405では、CPU101は、望遠カメラ114aで撮影した画像から望遠カメラ画像処理部104aを用いて、二次元コードらしき被写体があったか否か、すなわち、シンボル601があったか否かを判定する。あった場合は、S406へ進み、なかった場合はS407へ進む。
S406では、CPU101は、望遠カメラ114aで撮影した画像から、望遠カメラ画像処理部104aで二次元コードが読み取り可能か否か、すなわち、二次元コードらしき被写体のセル602の分布パターンが検出可能か否かを判定する。検出可能であれば、S411へ進み、そうでない場合は、S407へ進む。
S407では、CPU101は、S403において標準カメラ114bで撮影した画像内に、シンボル601が3つあったか否かを判定する。シンボル601が3つあった場合は、S408へ進み、ない場合はS409へ進む。
S408では、CPU101は、S403で判定した二次元コードらしき被写体に対して、図3(a)の枠305に示すような二次元コードインジケーターを表示し、S404へ戻る。S407Yesより、標準カメラ114bで撮影した画像内にシンボル601が3つあることから、標準カメラ114bで二次元コード全体が撮影できているということになる。ただし、標準カメラ114bでセル602の分布パターンを検出するには、二次元コードが小さすぎてデコード処理が行えなかった(標準カメラ114bと二次元コードとの距離が遠かった)、と考えられる。S407でのYes判定に加えて、S405とS406でのNo判定より、二次元コードらしき被写体が図3(a)に示すように、望遠カメラ114aの撮影可能範囲内である枠301a内にないことが考えられる。このような状態で望遠カメラ114aを用いて認識を試みたとしても、コード304は望遠カメラ114aの撮影可能範囲外にあるため、コード304全体を撮影できない。したがって、コード304が十分に大きくても情報を読み取ることはできない。そのため、枠305のような二次元コードインジケーターで二次元コードらしき被写体であるコード304を強調することで、ユーザーにコード304を視認しやすくする。また、ガイド303のようなメッセージ表示をする。これらコード304とガイド303によって、コード304を望遠カメラ114aの撮影可能範囲内に移動するようにユーザーに促す。ユーザーがコード304を望遠カメラ114aの撮影可能範囲内にフレーミングすれば、標準カメラ画像処理部104bと望遠カメラ画像処理部104aの両方でコード304をより認識しやすくなる。さらに、LV画像の中心を示す指標302を、ディスプレイ105上に表示すれば、ユーザーが直感的に二次元コードを指標302に合うように撮影しようとし、コード304を認識できる可能性がさらに高まる。なお、ガイド303はディスプレイ105へLV画像の表示を開始し始めたときから表示していてもいいし、S408での枠305と同じタイミングで表示を開始してもよい。
S409では、CPU101は、超広角カメラ114cで撮影した画像から超広角カメラ画像処理部104cを用いて、二次元コードらしき被写体があったか否か、すなわち、シンボル601があったか否かを判定する。あった場合は、S410へ進み、なかった場合は、S403へ戻る。S407Noより、標準カメラ114bで撮影した画像内にシンボル601が3つなかったことがわかる。このことから、図3(c)のように、コード304が大きく撮影されすぎてコード304の一部しか撮影できていないこと(標準カメラ114bとコード304の距離が近すぎる)が考えられる。そのため、広角カメラ114cを用いて、より広い範囲の撮影を試みる。このような場合でも、S408で述べたように、指標302のおかげで超広角カメラ114cの撮影範囲の中央にコード304を収めるようにフレーミングされることが促され、超広角カメラ114cでコード304が認識されやすくなる。
S410では、CPU101は、超広角カメラ114cで撮影した画像から、超広角カメラ画像処理部104cで二次元コードが読み取り可能か否か、すなわち、二次元コードらしき被写体のセル602の分布パターンが検出可能か否かを判定する。検出可能であれば、S411へ進み、そうでない場合は、S403へ戻る。
S411では、CPU101は、S407において表示した二次元コードインジケーターの表示があるか否かを判定する。表示がある場合は、S412へ進み、ない場合はS413へ進む。
S412では、CPU101は、S407において表示した二次元コードインジケーターである枠305の表示形態を変化させる。S407ではコード304は明確に二次元コードであるとは認識されておらず、二次元コードらしき被写体と判定された。つまり、S407で表示した枠305は、ユーザーに二次元コードらしき被写体であることを知らせるための二次元コードインジケーターに過ぎず、二次元コードを読み取れていることを示すためのものではない。したがって、S404、S408、S410において二次元コードを読み取れた場合には、それをユーザーに知らせるために、例えば枠305の色を白色から黄色にしたり、四隅のみの枠ではなく、二次元コード全体を囲うような枠を表示したりしてもよい。このような表示形態の変化によりユーザーは、画像処理部104が二次元コードを読み取ることができたことを理解することができる。
S413では、CPU101は、S404、S406、S410でコード304のセル602による分布パターンを読み取れたことから、デコード処理を行う。デコード処理によって得られた結果をディスプレイ105へ表示する。具体的には、二次元コードが保有する情報をディスプレイ105に表示する。例えば、コード304が保有する情報が、Webページのアクセス先を示すURLであった場合には、図3(d)のダイアログボックス308のようにアクセス情報であるURLを表示し、Webページへのアクセスを行うか否かの確認画面を表示する。ガイド306へタッチされた場合は、Webページにアクセスを行う。ガイド307がタッチされた場合は、ユーザーが、Webページへアクセスしたくない、もしくは、再度二次元コードの読み取りを行いたいと考えていると想定し、図3(a)のような撮影待機状態へ戻る。本実施形態ではWebページにアクセスする際には図3(d)のようなダイアログボックス308を表示し、確認画面を出すような表示形態としているが、確認画面を出さなくてもよい。確認画面を出すことなく二次元コードが保有する情報であるURLへアクセスを行い、二次元コードを読み取ったらすぐにWebページを開くようにしてもよい。また、確認画面を出すか直接Webページを開くか、ユーザーが任意に設定できるようにしてもよい。テキスト情報などを保有した二次元コードの場合は、ダイアログボックス308のURLを表示している部分にテキスト情報などを表示する。本実施形態では、様々な二次元コードを読み取ることのできるアプリケーションを用いて、様々な情報を読み取る形態を説明しているが、特定の情報を持った二次元コードのみを読み取るアプリケーションを用いて読み取りを行う場合も想定される。このような場合には、上記特定のアプリケーションでのみ読み取ることのできる、特定の情報以外を持った二次元コードを読み取った場合は、ダイアログボックス308のような形態で警告表示を行ってもよいし、警告表示も行わず撮影待機状態を継続してもよい。
S414では、CPU101は、撮影待機状態が終了したか否かを判定する。終了した場合は本制御フローを終了し、終了していない場合はS403へ戻る。撮影待機状態が終了しているということは、ユーザーがカメラアプリケーションを終了した場合、もしくは、S413でデコード処理を行った結果、撮影待機画面ではない別の画面へ遷移したことが考えられる。どちらの場合でも、ユーザーが二次元コードの読み取りを終了したと想定し、本制御フローを終了する。撮影待機画面が継続している場合は、引き続き二次元コードの読み取りを行うと想定する。
図3と図4の制御フローから、望遠カメラ114a、標準カメラ114b、超広角カメラ114cの3つのアウトカメラ114及び画像処理部104を同時に駆動させて、二次元コードを読み取る。3つのアウトカメラ114を同時に駆動させることで、ユーザーがアウトカメラ114の切替操作をしなくとも、二次元コードを読み取ることができたカメラで情報に素早く容易にアクセスすることができる。また、どのカメラで二次元コードを読み取っていても、表示するLV画像は標準カメラ114bで撮影したものにすることで、望遠カメラ114aで撮影したものよりも広い範囲を視認することができ、二次元コードをフレーミングしやすい。第1の実施形態では、3つのアウトカメラ114を同時に駆動させるため、カメラの切り替え動作がないため、いずれかのアウトカメラ114で二次元コードを読み取ることができれば、デコード処理を行うことができる。図3(c)のようにアウトカメラ114とコード304とが近すぎる場合は、広角カメラ114cで二次元コードの認識、読み取りを行う。このような場合、枠301aや指標302に合わせてユーザーが二次元コードをフレーミングすれば、3つのアウトカメラ114のうち、どのカメラにおいても二次元コードを認識しやすくなる。そのため、表示するLV画像は、標準カメラ114bで撮影したものにする。これにより3つのアウトカメラ114を用いて、より広い焦点距離の範囲で二次元コードを読み取ることができるため、ユーザーは、読取装置を遠ざけたり近づけたりする操作を減らすことができる。
(第2の実施形態)
第2の実施形態では、3つあるアウトカメラ114を1つずつ切り替えて個別に駆動させ、最適なカメラで光学コード情報である二次元コードの認識を行うことができるように制御する例を説明する。図5は、スマートフォン100のアウトカメラ114を1つずつ個別に駆動させて、二次元コードの読み取りを行う制御処理フローチャートである。この制御処理はスマートフォン100において、CPU101が不揮発性メモリ103に格納されたプログラムを実行することにより実現される。図5のフローチャートは、スマートフォン100においてカメラアプリケーションを起動し、撮影待機状態であるときに開始される。上述したカメラアプリケーションに限らず、二次元コードを認識するための二次元コード読み取り可能アプリケーションの二次元コード読み取り機能を起動した際の、撮影待機状態でもよい。図3(a)〜(d)はディスプレイ105に表示される、二次元コードを読み取る際の表示例である。
第2の実施形態では、3つあるアウトカメラ114を1つずつ切り替えて個別に駆動させ、最適なカメラで光学コード情報である二次元コードの認識を行うことができるように制御する例を説明する。図5は、スマートフォン100のアウトカメラ114を1つずつ個別に駆動させて、二次元コードの読み取りを行う制御処理フローチャートである。この制御処理はスマートフォン100において、CPU101が不揮発性メモリ103に格納されたプログラムを実行することにより実現される。図5のフローチャートは、スマートフォン100においてカメラアプリケーションを起動し、撮影待機状態であるときに開始される。上述したカメラアプリケーションに限らず、二次元コードを認識するための二次元コード読み取り可能アプリケーションの二次元コード読み取り機能を起動した際の、撮影待機状態でもよい。図3(a)〜(d)はディスプレイ105に表示される、二次元コードを読み取る際の表示例である。
S501では、CPU101は、標準カメラ114b、標準カメラ画像処理部104bを駆動させ、標準カメラ114bでの撮影を開始する。第1の実施形態のS401では、望遠カメラ114a、標準カメラ114b、広角カメラ114c、望遠カメラ画像処理部104a、標準カメラ画像処理部104b、広角カメラ画像処理部104cの駆動を開始した。これに対してS501では、標準カメラ114b、標準カメラ画像処理部104bのみを駆動し、望遠カメラ114a、望遠カメラ画像処理部104a、広角カメラ114c、広角カメラ画像処理部104cの駆動はこのタイミングでは行わない。標準カメラ114bにて撮影したLV画像をディスプレイ105に表示を開始する。S402と同様に、この時の表示例を図3(a)に示す。なお、第2の実施形態においては、枠301aは表示しなくてもよい。
S502では、S403と同様に、CPU101は、標準カメラ114bで撮影した画像から標準カメラ画像処理部104bを用いて、光学コード画像、すなわち、二次元コードらしき被写体があったか否かを判定する。あった場合はS503へ進み、なかった場合はS504へ進む。
S503では、S404と同様に、CPU101は、標準カメラ114bで撮影した画像から、標準カメラ画像処理部104bで二次元コードが読み取り可能か否かを判定する。読み取り可能であれば、S513へ進み、そうでない場合はS505へ進む。
S504では、CPU101は、S501において標準カメラ114bが駆動を開始してから、所定時間が経過したか否かを判定する。所定時間経過した場合は、S506へ進み、そうでない場合はS502へ戻る。S502において標準カメラ114bで撮影した画像内に二次元コードらしき被写体がないと判定された場合は、ユーザーがカメラアプリケーションを起動したばかりで、撮影可能範囲内に二次元コードをフレームインできていない可能性が考えられる。そのため、標準カメラ114bの駆動を開始してからの時間を計測し、所定時間の経過があった場合は、標準カメラ114bの撮影可能範囲内に二次元コードがない、もしくは、二次元コードが小さすぎると想定し、S506へと進む。ここでの所定時間とは、例えば5秒程度の時間を想定しているが、5秒よりも短い時間でも長い時間でも良いし、ユーザーが任意に設定できるようにしてもよい。なお、計測した時間は、標準カメラ114bの駆動の停止、もしくは、二次元コードの読み取り実行に応じて、リセットする。
S505では、CPU101は、標準カメラ114b及び標準カメラ画像処理部104bの駆動を停止し、望遠カメラ114a及び望遠カメラ画像処理部104aの駆動を開始する。S502、S503において標準カメラ114bで二次元コードらしき被写体が認識できたにもかかわらず二次元コードが読み取れなかったことから、二次元コードが情報を読み取れるほど十分に大きくないと想定できる。二次元コードが十分に大きくないため、シンボル601からコード304が二次元コードであることは認識できるが、セル602による形状を正確に認識できず、情報が読み取れない。そのため、標準カメラ114bから望遠カメラ114aへと切り替えることで、二次元コードを拡大して読み取る。また、標準カメラ114bの駆動を停止したことから、望遠カメラ114bで撮影したLV画像を、ディスプレイ105に表示する。引き続きLV画像に重畳して、LV画像の中心を示す指標302を表示する。
S506では、S405と同様に、CPU101は、望遠カメラ114aで撮影した画像から望遠カメラ画像処理部104aを用いて、二次元コードらしき被写体があったか否かを判定する。あった場合は、S507へ進み、なかった場合はS508へ進む。
S507では、S406と同様に、CPU101は、望遠カメラ114aで撮影した画像から、望遠カメラ画像処理部104aで二次元コードが読み取り可能か否かを判定する。読み取り可能であれば、S513へ進み、そうでない場合は、S510へ進む。
S508では、CPU101は、S505において望遠カメラ114aが駆動を開始してから、所定時間が経過したか否かを判定する。所定時間経過した場合は、S509へ進み、そうでない場合はS506へ戻る。S505において望遠カメラ114aの駆動を開始してからの時間の計測を行う。S504で述べたように、ここでの所定時間とは、例えば5秒程度の時間を想定しているが、5秒よりも短い時間でも長い時間でも良いし、ユーザーが任意に設定できるようにしてもよい。S504での所定時間とは異なる時間でもよい。なお、計測した時間は、望遠カメラ114aの駆動の停止、もしくは、二次元コードのデコード処理の実行に応じて、リセットする。
S509では、S407と同様に、CPU101は、S505において望遠カメラ114aで撮影した画像内に、シンボル601が3つあったか否かを判定する。シンボル601が3つあった場合は、S510へ進み、ない場合はS511へ進む。
S510では、S408と同様に、CPU101は、S506で判定した二次元コードらしき被写体に対して、図3(a)の枠305に示すような二次元コードインジケーターを表示し、S503へ戻る。
S511では、CPU101は、望遠カメラ114a及び望遠カメラ画像処理部104aの駆動を停止し、超広角カメラ114c及び超広角カメラ画像処理部104cの駆動を開始する。S502、S503、S506、S507から、図3(c)に示すように、二次元コードとアウトカメラ114との距離が近すぎるために、二次元コード全体を撮影できていない可能性がある。この場合、S503において標準カメラ114bを用いても全体を撮影できなかったことから、望遠カメラ114aから超広角カメラ114cへと切り替えることで撮影可能な範囲をより広くし、二次元コード全体の撮影を行う。また、望遠カメラ114bの駆動を停止したことから、超広角カメラ114cで撮影したLV画像を、ディスプレイ105に表示する。引き続きLV画像に重畳して、LV画像の中心を示す指標302を表示する。
S512では、S409と同様に、CPU101は、超広角カメラ114cで撮影した画像から超広角カメラ画像処理部104cを用いて、二次元コードらしき被写体があったか否かを判定する。あった場合は、S513へ進み、なかった場合は、S501へ戻る。
S513では、S410と同様に、CPU101は、超広角カメラ114cで撮影した画像から、超広角カメラ画像処理部104cで二次元コードが読み取り可能か否かを判定する。読み取り可能であれば、S514へ進み、そうでない場合は、S501へ戻る。
S514では、S411と同様に、CPU101は、S510において表示した二次元コードインジケーターの表示があるか否かを判定する。表示がある場合は、S515へ進み、ない場合はS516へ進む。
S515では、S412と同様に、CPU101は、S510において表示した二次元コードインジケーターである枠305の表示形態を変化させる。
S516では、S413と同様に、CPU101は、S503、S507、S513で読み取った二次元コードをデコードし、デコードした結果をディスプレイ105へ表示する。
S517では、S414と同様に、CPU101は、撮影待機状態が終了したか否かを判定する。終了した場合は本制御フローを終了し、終了していない場合はS501へ戻る。
図3と図5の制御フローから、望遠カメラ114a、標準カメラ114b、超広角カメラ114cの3つのアウトカメラ114をそれぞれ個別に駆動させて、二次元コードの読み取りを行う。3つのアウトカメラ114は、アウトカメラ114と二次元コードの位置関係から自動で切り替わるため、ユーザーがアウトカメラ114の切り替えを行わずとも、最適なカメラで読み取りを行うことができる。アウトカメラ114が切り替わる条件として、以下のような2つがある。一つ目として、いずれかのアウトカメラ114で撮影した画像内に、二次元コードらしき形状(シンボル601)があるが、二次元コードから情報を読み取ることはできない場合。二つ目として、いずれかのアウトカメラ114で撮影した画像内に、二次元コードらしき被写体が見当たらない、かつ、所定時間経過した場合。上記2つの条件の少なくとも一方を満たした場合に、アウトカメラ114のうち例えば標準カメラ114bが駆動していた場合は、標準カメラ114bの駆動を停止し、望遠カメラ114aの駆動を開始するようにする。また、アウトカメラ114が切り替わるのにともなってLV画像も切り替わるため、ユーザーが現在どのカメラで二次元コードが撮影されているのかを理解することができる。また、指標302に合わせて、ユーザーが二次元コードをフレーミングすることで、3つのアウトカメラ114のうち、どのカメラが駆動しているかユーザーが明確に理解していなくても、二次元コードを認識しやすくなる。3つのアウトカメラ114が個別に駆動するため、3つ全てが駆動するときに比べて、電力の消費を抑えることができる。これにより3つのアウトカメラ114を用いて、より広い焦点距離の範囲で二次元コードを読み取ることができるため、ユーザーは、読取装置を遠ざけたり近づけたりする操作を減らすことができる。
また、3つのアウトカメラ114の中心を示す指標302をLV画像に表示することにより、ユーザーが指標302を目安にしてコード304をフレーミングすれば、カメラが自動で切り替わったとしても、撮影範囲にコード304が収まっている可能性が高い。コード304が撮影範囲に収まっていれば、認識が速く行われる可能性も上げることができる。
なお、本実施形態では、3つのアウトカメラ114で同時もしくは個別に、印刷もしくは表示された光学コード情報である二次元コードを読み取りやすくする例を説明したが、これに限るものではない。光学コード情報であればよく、例えば、二次元コードではなく一次元コードを読み取ってもよい。次元によらず、情報を有することができる、様々なパターンによって作成されたパターン画像でもよい。また、本実施形態での認識する対象として二次元コードではなく、人物や動物などの被写体に対しても本実施形態を適用することができる。具体的には、人物や動物などの被写体を認識できるカメラを備えたスマートフォン100において、3つのアウトカメラ114を同時もしくは個別に駆動し、撮影を開始する。標準カメラ114bで被写体が明確に認識できなくとも、動いているものや被写体らしきものを認識できれば、標準カメラ114bから望遠カメラ114aに切り替え、望遠カメラ114aで被写体を認識しようとする。望遠カメラ114aで被写体を認識することができれば、望遠カメラ114aで認識することができた被写体を被写体として認識し、撮影を行う。望遠カメラ114aを使用しても被写体を認識できなかった場合には、超広角カメラ114cに切り替え、超広角カメラ114cで被写体を認識する。上述したような、二次元コードではなく人物や動物などの被写体に本実施形態を適用したとしても、同様の効果が得られる。つまり、カメラと被写体との位置関係によらず、被写体を最適な大きさで撮影をすることができ、かつ、被写体をフレーミングしやすい。
上述した本実施形態において、カメラと二次元コードとの位置関係をユーザーが気にすることなく、二次元コードを認識できるように制御する。これにより、ユーザーはカメラと二次元コードの位置関係を気にすることなく、最適なカメラが二次元コードを読み取ってくれるため、ユーザーはより多様な状況下においても二次元コードを容易に読み取らせることができる。さらには、二次元コードを撮影する間はディスプレイ105にLV画像を表示するため、LV画像上に二次元コードが撮影されるようにすれば、スマートフォン100が二次元コードを好適なカメラで認識することができる。第1の実施形態においては、同時に駆動している3つのうち、どのカメラで二次元コードを読み取る場合でも、ディスプレイ105に表示するLV画像は標準カメラ114bで撮影したものとする。そのため、望遠カメラ114aで撮影した場合よりも、広い範囲を視認しながら二次元コードをフレーミングすることができる。第2の実施形態では、駆動しているカメラによるLV画像を表示するため、どのカメラが駆動しているかユーザーが認識しながら二次元コードを撮影することができる。
なお、CPU101が行うものとして説明した上述の各種制御は1つのハードウェアが行ってもよいし、複数のハードウェア(例えば、複数のプロセッサーや回路)が処理を分担することで、装置全体の制御を行ってもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。本発明をスマートフォンに適用した場合を例にして説明したが、これはこの例に限定されず撮影手段を有し、撮影された画像から光学コード情報を読み取ることのできる電子機器であれば適用可能である。すなわち、本発明はパーソナルコンピュータやPDA、デジタルカメラや携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダーなどに適用可能である。
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
Claims (19)
- 第1の撮像手段と、
前記第1の撮像手段とは焦点距離の異なる第2の撮像手段と、
撮像された画像に含まれる光学コード画像から情報を読み取る読取手段と、
前記第1の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができた場合は、読み取った情報に応じた処理を実行し、
前記第1の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができなかった場合は、
前記第2の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取り、読み取った情報に応じた処理を実行するように制御する制御手段とを有することを特徴とする電子機器。 - 前記制御手段は、
少なくとも前記第1の撮像手段と前記第2の撮像手段による撮像が、同時に行われるように制御することを特徴とする請求項1に記載の電子機器。 - 前記制御手段は、
前記第1の撮像手段と前記第2の撮像手段による撮像が同時に行われている状態において、
前記第2の撮像手段で撮像したライブビュー画像を表示手段に表示することなく、前記第1の撮像手段で撮像したライブビュー画像を前記表示手段に表示するように制御することを特徴とする請求項2に記載の電子機器。 - 前記第1の撮像手段は前記第2の撮像手段よりも焦点距離が短く、
前記制御手段は、
前記第1の撮像手段で撮像したライブビュー画像のうち、前記第2の撮像手段の撮像可能範囲を示す第1のインジケーターを表示することを特徴とする請求項1乃至3のいずれか1項に記載の電子機器。 - 前記制御手段は、
少なくとも前記第1の撮像手段と前記第2の撮像手段のうち、いずれか1つの撮像手段による撮像が行われている状態で、
前記光学コード画像が特定の条件を満たしたことに応じて、
撮像を行っている前記第1の撮像手段に替わって、前記第2の撮像手段による撮像を開始するように制御することを特徴とする請求項1に記載の電子機器。 - 前記特定の条件とは、
前記光学コード画像の特徴を示す特定の形状を認識している、かつ、前記読取手段によって前記光学コード画像に基づく情報を読み取ることができなかったこと、
もしくは、
前記特定の形状を認識していない、かつ、所定時間が経過したこと、
の少なくとも一方であることを特徴とする請求項5に記載の電子機器。 - 前記制御手段は、
前記第1の撮像手段での撮像から前記第2の撮像手段での撮像への切り替えは、
ユーザーによる切替操作なしに行うように制御することを特徴とする請求項5または6に記載の電子機器。 - 前記制御手段は、
前記第1の撮像手段で撮像したライブビュー画像の上に、前記第2の撮像手段で撮像される画像の中心を示す第2のインジケーターを表示するように制御することを特徴とする請求項1乃至7のいずれか1項に記載の電子機器。 - 第3の撮像手段を更に有し、
前記制御手段は、
前記第1の撮像手段で撮像された画像、及び、前記第2の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取ることができなかった場合は、
前記第3の撮像手段で撮像された画像から前記読取手段によって前記光学コード画像に基づく情報を読み取り、読み取った情報に応じた処理を実行するように制御することを特徴とする請求項1乃至8のいずれか1項に記載の電子機器。 - 前記第3の撮像手段は、前記第1の撮像手段よりも焦点距離が短いことを特徴とする請求項9に記載の電子機器。
- 前記読み取った情報に応じた処理とは、
当該情報を表示する処理であることを特徴とする請求項1乃至10のいずれか1項に記載の電子機器。 - 前記読み取った情報に応じた処理とは、
前記読み取った情報が特定のアクセス先へのアクセス情報だった場合に、前記特定のアクセス先にアクセスする処理であることを特徴とする請求項1乃至11のいずれか1項に記載の電子機器。 - 前記制御手段は、
前記光学コード画像を前記第1のインジケーター内に移動させるよう促すメッセージ表示を行うことを特徴とする請求項1乃至12のいずれか1項に記載の電子機器。 - 前記制御手段は、
前記読取手段によって読み取った前記光学コード画像に対して第3のインジケーターを表示するように制御することを特徴とする請求項1乃至13のいずれか1項に記載の電子機器。 - 前記光学コード画像は、印刷もしくは表示されたパターン画像であることを特徴とする請求項1乃至14のいずれか1項に記載の電子機器。
- 前記光学コード画像は、バーコードもしくはQRコードであることを特徴とする請求項15に記載の電子機器。
- 第1の撮像手段と、
前記第1の撮像手段とは焦点距離の異なる第2の撮像手段と、を有する電子機器の制御方法であって、
撮像された画像に含まれる光学コード画像から情報を読み取る読取ステップと、
前記第1の撮像手段で撮像された画像から前記読取ステップによって前記光学コード画像に基づく情報を読み取ることができた場合は、読み取った情報に応じた処理を実行し、
前記第1の撮像手段で撮像された画像から前記読取ステップによって前記光学コード画像に基づく情報を読み取ることができなかった場合は、
前記第2の撮像手段で撮像された画像から前記読取ステップによって前記光学コード画像に基づく情報を読み取り、読み取った情報に応じた処理を実行するように制御する制御ステップとを有することを特徴とする電子機器の制御方法。 - コンピュータを、請求項1乃至16のいずれか1項に記載された電子機器の各手段として機能させるためのプログラム。
- コンピュータを、請求項1乃至16のいずれか1項に記載された電子機器の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019147447A JP2021028760A (ja) | 2019-08-09 | 2019-08-09 | 電子機器およびその制御方法 |
US16/943,664 US11138402B2 (en) | 2019-08-09 | 2020-07-30 | Electronic apparatus and control method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019147447A JP2021028760A (ja) | 2019-08-09 | 2019-08-09 | 電子機器およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021028760A true JP2021028760A (ja) | 2021-02-25 |
Family
ID=74498879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019147447A Pending JP2021028760A (ja) | 2019-08-09 | 2019-08-09 | 電子機器およびその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11138402B2 (ja) |
JP (1) | JP2021028760A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114926347A (zh) * | 2021-09-23 | 2022-08-19 | 星宸科技股份有限公司 | 图像校正方法及处理器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3811235B2 (ja) | 1996-11-05 | 2006-08-16 | オリンパス株式会社 | バーコード読み取り装置 |
US20080277477A1 (en) * | 2007-05-10 | 2008-11-13 | Serge Thuries | Dynamic focus calibration, such as dynamic focus calibration using an open-loop system in a bar code scanner |
US10592712B2 (en) * | 2017-12-01 | 2020-03-17 | Datalogic Ip Tech S.R.L. | Compact camera module with multilevel zoom and focus distance utilizing a switchable mirror |
-
2019
- 2019-08-09 JP JP2019147447A patent/JP2021028760A/ja active Pending
-
2020
- 2020-07-30 US US16/943,664 patent/US11138402B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11138402B2 (en) | 2021-10-05 |
US20210042485A1 (en) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102173123B1 (ko) | 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 | |
US10222903B2 (en) | Display control apparatus and control method thereof | |
JP2016091567A (ja) | 内蔵カメラ付きウェアラブルデバイスを用いたバーコード読取システム | |
JP2014010494A (ja) | 電子機器およびその制御方法、プログラム並びに記憶媒体 | |
US10057479B2 (en) | Electronic apparatus and method for switching touch operations between states | |
EP2887648B1 (en) | Method of performing previewing and electronic device for implementing the same | |
US11496670B2 (en) | Electronic device with display screen capable of reliable detection of a user selected displayed eye region in a scene to be captured, and region selection method | |
EP4184931A1 (en) | Image capturing apparatus capable of suppressing detection of subject not intended by user, control method for image capturing apparatus, and storage medium | |
JP2021028760A (ja) | 電子機器およびその制御方法 | |
KR20200127928A (ko) | 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 | |
US11039070B2 (en) | Electronic device for selecting a candidate from a candidate group and changing a candidate group, control method of electronic device, and non-transitory computer readable medium | |
US20190332235A1 (en) | Electronic apparatus, control method for electronic apparatus, and non-transitory computer readable medium | |
JP6971696B2 (ja) | 電子機器およびその制御方法 | |
JP6486077B2 (ja) | 表示装置、サーバ装置、表示システム及びその制御方法、並びに制御プログラム、記憶媒体 | |
JP2013134565A (ja) | 個人認証装置 | |
JP2019096305A (ja) | 電子機器およびその制御方法およびプログラムおよび記録媒体 | |
JP2021060790A (ja) | 電子機器及びその制御方法 | |
US20230276015A1 (en) | Electronic apparatus, method of controlling the same, and computer-readable storage medium storing program | |
US20230254555A1 (en) | Electronic apparatus, control method therefor, and computer-readable storage medium storing program | |
JP2019061539A (ja) | 入力補助装置および携帯端末 | |
US20230291998A1 (en) | Electronic apparatus, method for controlling the same, and computer-readable storage medium storing program | |
JP2023047536A (ja) | 電子機器 | |
JP2014175779A (ja) | 撮像装置および撮像方法 | |
JP2021174295A (ja) | 電子機器及びその制御方法 | |
WO2019102885A1 (ja) | 画像の表示部分を変更可能な電子機器 |