(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-17
(45)【発行日】2024-07-25
(54)【発明の名称】コード読取装置
(51)【国際特許分類】
G06K 7/14 20060101AFI20240718BHJP
G06K 19/06 20060101ALI20240718BHJP
【FI】
G06K7/14 034
G06K7/14 013
G06K19/06 028
G06K19/06 056
(21)【出願番号】P 2021058253
(22)【出願日】2021-03-30
【審査請求日】2023-07-25
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】澤田 展秀
【審査官】北村 学
(56)【参考文献】
【文献】特開2003-323585(JP,A)
【文献】特開2004-326582(JP,A)
【文献】特開2011-119820(JP,A)
【文献】特開2017-117225(JP,A)
【文献】米国特許第10936837(US,B1)
【文献】古本 啓祐 ほか,グレースケール多重化二次元コードとその応用,電子情報通信学会技術研究報告,第112巻 第315号,一般社団法人電子情報通信学会,2012年11月15日,pp. 7-12
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/14
G06K 19/06
(57)【特許請求の範囲】
【請求項1】
特定のコードを撮像可能なカメラと、
前記カメラから前記特定のコードを示す画像を取得して、当該画像から前記特定のコードに記録されている情報を読み取るコード処理を実行する処理実行部と、
を備え、
前記特定のコードは、黒色と白色のグラデーションである白黒グラデーションの間の3個以上の色で構成されており、
前記特定のコードは、第1のパターンを有する第1の情報コードと、第2のパターンを有する第2の情報コードと、を含み、
前記第1の情報コードは、第1の情報を記録し、
前記第2の情報コードは、第2の情報を記録し、
前記第1のパターンは、前記3個以上の色のうちの第1の色と、前記3個以上の色のうちの第2の色であって、前記第1の色よりも前記白色に近い前記第2の色と、の2色のパターンであり、
前記第2のパターンは、前記3個以上の色のうちの第3の色と、前記3個以上の色のうちの第4の色であって、前記第2の色及び前記第3の色の双方よりも前記白色に近い前記第4の色と、の2色のパターンであり、
前記画像において、前記白黒グラデーションは、所定の解像度で表されており、
前記コード処理は、
前記画像を前記所定の解像度より低い第1の解像度で表される第1の画像に変換する第1の変換処理であって、前記第1の解像度は、前記所定の解像度を前記第1の色と前記第2の色との間の色を中心として縮小した解像度である、前記第1の変換処理と、
前記画像を前記所定の解像度より低い第2の解像度で表される第2の画像に変換する第2の変換処理であって、前記第2の解像度は、前記所定の解像度を前記第3の色と前記第4の色との間の色を中心として縮小した解像度である、前記第2の変換処理と、
前記第1の画像から前記第1の情報コードに記録されている前記第1の情報を読み取る第1の読取処理と、
前記第2の画像から前記第2の情報コードに記録されている前記第2の情報を読み取る第2の読取処理と、
を備える、コード読取装置。
【請求項2】
前記第1の色は、前記黒色であり、
前記第4の色は、前記白色である、請求項1に記載のコード読取装置。
【請求項3】
前記特定のコードは、4個以上の色で構成されており、
前記第3の色は、前記第2の色よりも前記白色に近い色である、請求項2に記載のコード読取装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示する技術は、情報コードに記録されている情報を読み取るためのコード読取装置に関する。
【背景技術】
【0002】
特許文献1には、情報コード(例えばバーコード)を撮像可能なカメラを備えるコード読取装置が開示されている。コード読取装置は、カメラが情報コードを撮像する場合に、情報コードを示す画像から情報コードに記録されている情報を読み取る。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、カメラの色のグラデーションの解像度が高まっている。コード読取装置も、比較的に高い解像度を有するカメラを備える場合がある。コード読取装置は、カメラから取得した画像を二値化して、二値化後の画像によって表されるバーコード内の情報を読み取る。単純な二値化に対して高解像度の色のグラデーションは冗長である。従来の単純な二値化の方法では、高解像度の色のグラデーションのうち、情報コードに利用される2色(例えば白黒)以外の色は、情報コードの読取に利用されていなかった。
【0005】
本明細書では、カメラから取得した画像の色のグラデーションを利用して、情報コードを読み取るための技術を提供する。
【課題を解決するための手段】
【0006】
本明細書で開示するコード読取装置は、特定のコードを撮像可能なカメラと、前記カメラから前記特定のコードを示す画像を取得して、当該画像から前記特定のコードに記録されている情報を読み取るコード処理を実行する処理実行部と、を備え、前記特定のコードは、黒色と白色のグラデーションである白黒グラデーションの間の3個以上の色で構成されており、前記特定のコードは、第1のパターンを有する第1の情報コードと、第2のパターンを有する第2の情報コードと、を含み、前記第1の情報コードは、第1の情報を記録し、前記第2の情報コードは、第2の情報を記録し、前記第1のパターンは、前記3個以上の色のうちの第1の色と、前記3個以上の色のうちの第2の色であって、前記第1の色よりも前記白色に近い前記第2の色と、の2色のパターンであり、前記第2のパターンは、前記3個以上の色のうちの第3の色と、前記3個以上の色のうちの第4の色であって、前記第2の色及び前記第3の色の双方よりも前記白色に近い前記第4の色と、の2色のパターンであり、前記画像において、前記白黒グラデーションは、所定の解像度で表されており、前記コード処理は、前記画像を前記所定の解像度より低い第1の解像度で表される第1の画像に変換する第1の変換処理であって、前記第1の解像度は、前記所定の解像度を前記第1の色と前記第2の色との間の色を中心として縮小した解像度である、前記第1の変換処理と、前記画像を前記所定の解像度より低い第2の解像度で表される第2の画像に変換する第2の変換処理であって、前記第2の解像度は、前記所定の解像度を前記第3の色と前記第4の色との間の色を中心として縮小した解像度である、前記第2の変換処理と、前記第1の画像から前記第1の情報コードに記録されている前記第1の情報を読み取る第1の読取処理と、前記第2の画像から前記第2の情報コードに記録されている前記第2の情報を読み取る第2の読取処理と、を備える。ここで、前記第1の色は、例えば、前記黒色であり、前記第4の色は、前記白色であってもよい。また、特定のコードは、4個以上の色で構成されていてもよく、前記第3の色は、前記第2の色よりも前記白色に近い色であってもよい。
【0007】
上記のコード読取装置によって読み取られる特定のコードは、第1の色から第4の色の白黒グラデーションを有する。例えば、従来のコード読取装置で特定のコードを読み取ることを想定する。この場合、特定のコードの画像が単純に二値化されるので、二値化後の画像からは、第4の色と他の色(即ち第1~第3の色)とのコントラスト比によって表される情報、即ち、第2の情報コード内の第2の情報が読み取られ得るに過ぎない。これに対して、上記の構成によれば、コード読取装置は、特定のコードを示す画像を第1の色と第2の色の間の色を中心とした第1の解像度で表される第1の画像に変更して第1の画像から第1の情報コードに記録されている第1の情報を読み取るともに、特定のコードを示す画像を第3の色と第4の色の間の色を中心とした第2の解像度で表される第2の画像に変更して第2の画像から第2の情報コードに記録されている第2の情報を読み取る。即ち、コード読取装置は、白黒グラデーションを表す所定の解像度を第1の解像度及び第2の解像度に縮小して、従来のコード読取装置では読み取ることができなかった第1の情報を読み取ることができる。
【0008】
また、上記のコード読取装置の制御方法、コード読取装置のためのコンピュータプログラム、及び、当該コンピュータプログラムを保存する記憶媒体も、新規で有用である。
【図面の簡単な説明】
【0009】
【
図3】コード読取装置が実行する処理を示すフローチャート図である。
【
図4】白黒グラデーションの解像度を説明する図である。
【発明を実施するための形態】
【0010】
(コード読取装置10の構成;
図1、
図2)
本実施例のコード読取装置10は、情報コード(例えばバーコード、二次元コード、多段のバーコード等)に記録されている情報を読み取るための携帯装置である。なお、
図1に示すコード読取装置10の外観は、一例に過ぎず、例えば、コード読取装置10は、スマートフォンと同様の外観を有していてもよいし、据え置き型の装置であってもよい。
【0011】
コード読取装置10は、操作部12と、表示部14と、カメラ20と、制御部30と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をコード読取装置10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。また、表示部14は、ユーザの操作を受け付け可能なタッチパネル(即ち操作部12)として機能してもよい。
【0012】
カメラ20は、LEDライト等の発光源と、CCDイメージセンサと、を含む。カメラ20の色のグラデーションの解像度は、12bitである。カメラ20から取得した画像は、4096諧調の色のグラデーションで表される。なお、変形例では、カメラ20の解像度は、8bit、14bit等であってもよい。
【0013】
制御部30は、CPU32と、不揮発性メモリなどによって構成されるメモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム40に従って、様々な処理を実行する。
【0014】
コード読取装置10は、従来のバーコード200に記録されている情報を読み取るだけでなく、特殊なコード100に記録されている情報も読取可能である。
【0015】
図1に示すように、特殊なコード100は、黒色と白色のグラデーションである白黒グラデーションの間の白色、薄いグレー、濃いグレー、黒色の4色で構成されている。特殊なコード100は、上段のバーコード100aと、下段のバーコード100bと、を含む。上段のバーコード100aは、黒色と濃いグレーとの2色のパターンを有するバーコードである。下段のバーコード100bは、薄いグレーと白色との2色のパターンを有するバーコードである。なお、
図1に記載の特殊なコード100は、模式的な図であることに留意されたい。
【0016】
(コード読取装置10の処理;
図3)
図3を参照して、コード読取装置10のCPU32がプログラム40に従って実行する処理について説明する。
図3の処理は、特殊なコード100に記録されている情報を読み取るための処理である。
図3の処理は、コード読取装置10が、操作部12を介して、特殊なコード100内の情報の読取の指示を受け付けることをトリガとして開始される。
【0017】
S10では、CPU32は、カメラ20を起動して、特殊なコード100の撮像をカメラ20に実行させる。これにより、CPU32は、カメラ20から画像を取得する。なお、以下では、カメラ20から取得した画像を「撮像画像」と記載する。ここで、例えば、撮像画像が特殊なコード100の画像(以下では「コード画像」と記載)を含む場合には、コード画像は、
図4に示すような、12bit(即ち4096諧調)の白黒グラデーションの解像度で表される。
【0018】
S20では、CPU32は、撮像画像を、12bitの解像度よりも低い下位8bitの解像度で表される第1の画像に変換する。下位8bitの解像度は、12bitの解像度を黒色と濃いグレーとの間の色(例えば、4bit目の諧調の色)を中心に縮小した解像度である。
図4に示すように、下位8bitの解像度では、濃いグレーの諧調は、4bit目の諧調よりも白色側である。撮像画像がコード画像を含む場合において、第1の画像のうちのコード画像に対応する画像が二値化されると、当該画像における白色、薄いグレー、及び、濃いグレーの部分は、白色に変換され、当該画像における黒色の部分は、黒色に変換される。即ち、第1の画像の二値化により、
図1の画像IM1が得られる。画像IM1によって示される白黒のパターンは、上段のバーコード100aの白黒のパターンと同じである。
【0019】
S22では、CPU32は、第1の画像から情報を読み取ることが可能か否かを判断する。例えば、CPU32は、第1の画像から特殊なコード100のパターンを表す特徴(以下では「コードパターン」と記載)が検出される場合に、第1の画像から情報を読み取ることが可能であると判断し(S22でYES)、S24に進む。一方、CPU32は、第1の画像からコードパターンが検出されない場合に、第1の画像から情報を読み取ることが不可能であると判断し(S22でNO)、S24をスキップして、S30に進む。
【0020】
S24では、CPU32は、第1の画像を二値化する。そして、CPU32は、二値化後の画像(例えば
図1の画像IM1)をデコードすることによって、上段のバーコード100aに記録されている情報を読み取る。CPU32は、S24が終了すると、S30に進む。
【0021】
S30では、CPU32は、撮像画像を、12bitの解像度よりも低い上位8bitの解像度で表される第2の画像に変換する。上位8bitの解像度は、12bitの解像度を白色と薄いグレーとの間の色(例えば、8bit目の諧調の色)を中心に縮小した解像度である。
図4に示すように、上位8bitの解像度では、薄いグレーの諧調は、8bit目の諧調よりも黒色側である。撮像画像がコード画像を含む場合において、第2の画像のうちのコード画像に対応する画像が二値化されると、当該画像における薄いグレー、濃いグレー、及び、黒色の部分は、黒色に変換され、当該画像における白色の部分は、白色に変換される。即ち、第2の画像の二値化により、
図1の画像IM2が得られる。画像IM2によって示される白黒のパターンは、下段のバーコード100bの白黒のパターンと同じである。
【0022】
S32は、第2の画像が利用される点を除いて、S22と同様である。CPU32は、第2の画像から情報を読み取ることが可能であると判断する(S32でYES)場合に、S34に進む。一方、CPU32は、第2の画像から情報を読み取ることが不可能であると判断する場合(S32でNO)に、S34をスキップして、S40に進む。
【0023】
S34では、CPU32は、第2の画像を二値化する。そして、CPU32は、二値化後の画像(例えば
図1の画像IM2)をデコードすることによって、下段のバーコード100bに記録されている情報を読み取る。CPU32は、S34が終了すると、S40に進む。
【0024】
S40では、CPU32は、特殊なコード100の読取結果を出力する。特殊なコード100の読取が成功する場合には、読取結果は、特殊なコード100に記録されている2個の情報を含む。特殊なコード100の読取が失敗する場合には、読取結果は、読取失敗を示す情報を含む。例えば、CPU32は、読取結果を表示部14に表示させることにより、読取結果を出力する。また、変形例では、CPU32は、読取結果を外部の装置(例えばサーバ)に送信することによって、読取結果を出力してもよい。また、他の変形例では、CPU32は、読取結果を示す音声を出力してもよい。S40が終了すると、
図3の処理が終了する。
【0025】
(本実施例の効果)
例えば、従来のコード読取装置で特殊なコード100を読み取ることを想定する。この場合、特殊なコード100の画像が単純に二値化されるので、二値化後の画像からは、白色と他の色(即ち薄いグレー、濃いグレー、黒色)とのコントラスト比によって表される情報、即ち、下段のバーコード100bの情報が読み取られ得るに過ぎない。これに対して、本実施例の構成によれば、コード読取装置10は、コード画像を下位8bitの解像度で表される第1の画像(
図1の画像IM1参照)に変更し、第1の画像から上段のバーコード100a内の情報を読み取るともに、コード画像を上位8bitの解像度で表される第2の画像(
図1の画像IM2参照)に変更し、第2の画像から下段のバーコード100b内の情報を読み取る。即ち、コード読取装置10は、12bitの解像度を下位8bitの解像度及び上位8bitの解像度に縮小して、従来のコード読取装置では読み取ることができなかった上段のバーコード100a内の情報を読み取ることができる。
【0026】
例えば、特殊なコード100を店舗で利用することが想定される。例えば、上段のバーコード100aには、店舗内の商品の賞味期限等の情報が記録され、下段のバーコード100bには、店舗内の商品を識別する識別コード(例えばPOSコード)が記録される。店舗の管理者は、コード読取装置10を利用して、特殊なコード100を読み取ることにより、識別コードだけでなく、賞味期限等の情報も取得することができる。一方、店舗の販売員は、従来のコード読取装置(例えばPOSレジに接続されているスキャナ)を利用して、特殊なコード100を読み取ることにより、識別コードを取得することができる。例えば、管理者が利用する情報コードに加えて、販売員が利用する情報コードを用意する比較例が想定される。この比較例では、1個の商品に対して、2個の情報コードが別々の場所に表示される。これに対して、本実施例の構成によれば、1個の商品に対して、1個の特殊なコード100を1か所に表示すればよい。そして、1個の特殊なコード100により、商品を扱う作業者の立場に応じて、異なる情報を作業者に取得させることができる。
【0027】
(対応関係)
特殊なコード100、上段のバーコード100a、下段のバーコード100bが、それぞれ、「特定のコード」、「第1の情報コード」、「第2の情報コード」の一例である。黒色、濃いグレー、薄いグレー、白色が、それぞれ、「第1の色」、「第2の色」、「第3の色」、「第4の色」の一例である。コード読取装置10、カメラ20、制御部30が、それぞれ、「コード読取装置」、「カメラ」、「処理実行部」の一例である。12bitの解像度、下位8bitの解像度、上位8bitの解像度が、それぞれ、「所定の解像度」、「第1の解像度」、「第2の解像度」の一例である。
図3のS20、S24、S30、S34が、それぞれ、「第1の変換処理」、「第1の読取処理」、「第2の変換処理」、「第2の読取処理」の一例である。
【0028】
以上、本明細書で開示する技術の具体例を説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【0029】
(変形例1)「第1の情報コード(及び第2の情報コード)」は、バーコードに限らず、例えば、多段のバーコード、二次元コード等であってもよい。
【0030】
(変形例2)上記の実施例では、特殊なコード100は、白色、薄いグレー、濃いグレー、黒色の4個の色で構成されている。これに代えて、特殊なコード100は、最も薄いグレー、薄いグレー、濃いグレー、最も濃いグレーの4色で構成されていてもよい。別言すれば、特殊なコード100は、白黒グラデーションの間の任意の4色で構成されていればよい。本変形例では、最も濃いグレー、最も薄いグレーが、それぞれ、「第1の色」、「第4の色」の一例である。
【0031】
(変形例3)上記の実施例では、撮像画像が下位8bitの解像度で表される第1の画像に変換される(
図3のS20)。これに代えて、撮像画像が、黒色側の任意の諧調の間の範囲(例えば、7bit目の諧調から2bit目の諧調の範囲、9bit目の諧調から2bit目の諧調の範囲)における解像度で表される画像に変換されてもよい。本変形例では、黒色側の任意の諧調の間の範囲における解像度が、「第1の解像度」の一例である。
【0032】
(変形例4)上記の実施例では、特殊なコード100は、白色、薄いグレー、濃いグレー、黒色の4個の色で構成されている。これに代えて、特殊なコード100は、白色、グレー、黒色の3個の色で構成されてもよい。本変形例では、グレーが、「第2の色及び第3の色」の一例である。また、他の変形例では、特殊なコード100は、5個以上の色で構成されてもよい。一般的に言えば、「特定のコード」は、3個以上の色で構成されていればよい。
【0033】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0034】
10 :コード読取装置
12 :操作部
14 :表示部
20 :カメラ
30 :制御部
32 :CPU
34 :メモリ
40 :プログラム
100 :特殊なコード
100a :上段のバーコード
100b :下段のバーコード
IM1、IM2 :二値化後の画像