(57)【要約】【課題】  バーコードの不正利用を防止できるバーコード生成装置、バーコード生成方法およびバーコード生成プログラムを提供する。【解決手段】  実施形態によれば、バーコード生成装置は、インターフェースとプロセッサとを有する。インターフェースは、バーコードの表示指示を受け付ける。プロセッサは、インターフェースにより受けた表示指示に応じて基本バーコードを作成し、基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成し、複数のバーコードを順次表示する画面に対するバーコードリーダのスキャン画像における誤読の有無を判断し、誤読が無いと判断された場合に前記複数のバーコードを表示装置に順次表示させる。【選択図】図２
2020204957.tif 000002
【特許請求の範囲】
【請求項１】
バーコードの表示指示を受け付けるインターフェースと、
前記インターフェースにより受けた表示指示に応じて基本バーコードを作成し、
前記基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成し、
前記複数のバーコードを順次表示する画面に対するバーコードリーダのスキャン画像における誤読の有無を判断し、
前記誤読が無いと判断された場合に前記複数のバーコードを表示装置に順次表示させる、プロセッサと、
を有するバーコード生成装置。
【請求項２】
前記誤読の有無を判断することは、前記ノイズを重畳した複数のバーコードの画像それぞれにおける誤読の有無を判断し、さらに、順次表示される前記複数のバーコードをスキャンした場合に得られる可能性がある合成画像における誤読の有無を判断することである、
前記請求項１に記載のバーコード生成装置。
【請求項３】
バーコードの表示指示を受け付けるインターフェースと、
前記インターフェースにより受けた表示指示に応じて基本バーコードを作成し、
前記基本バーコードを単一ではデコード不能な複数の画像に分割した分割バーコード画像群を作成し、
前記分割バーコード画像群を表示装置に順次表示させる、プロセッサと、
を有するバーコード生成装置。
【請求項４】
前記分割バーコード画像群は、前記基本バーコードを隣接する領域同士で一部の領域が重なるように分割した画像群である、
請求項３に記載のバーコード生成装置。
【請求項５】
インターフェースを介して受けたバーコードの表示指示に応じて基本バーコードを作成し、
前記基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成し、
前記複数のバーコードを順次表示した画面に対するバーコードリーダのスキャン画像における誤読の有無を判断し、
前記誤読が無いと判断された場合に前記複数のバーコードを表示装置に順次表示させる、
バーコード生成方法。
【請求項６】
コンピュータに、
インターフェースを介して受けたバーコードの表示指示に応じて基本バーコードを作成し、
前記基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成し、
前記複数のバーコードを順次表示した画面に対するバーコードリーダのスキャン画像における誤読の有無を判断し、
前記誤読が無いと判断された場合に前記複数のバーコードを表示装置に順次表示させる、
ことを実行させるバーコード生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、バーコード生成装置、バーコード生成方法およびバーコード生成プログラムに関する。
【背景技術】
【０００２】
近年、クーポンあるいは入場券などの代用として、スマートフォンなどの携帯端末が表示するバーコードを利用するソリューションが普及している。しかしながら、ディスプレイに表示するバーコードは、表示画面のキャプチャ機能、あるいは、デジタルカメラデジカメなどを用いた複製などによって不正な利用や配布が行われるリスクがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−６８７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、バーコードの不正利用を防止できるバーコード生成装置、バーコード生成方法およびバーコード生成プログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態によれば、バーコード生成装置は、インターフェースとプロセッサとを有する。インターフェースは、バーコードの表示指示を受け付ける。プロセッサは、インターフェースにより受けた表示指示に応じて基本バーコードを作成し、基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成し、複数のバーコードを順次表示する画面に対するバーコードリーダのスキャン画像における誤読の有無を判断し、誤読が無いと判断された場合に前記複数のバーコードを表示装置に順次表示させる。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るバーコード生成装置としての携帯端末の構成例を示すブロック図である。
【図２】図２は、第１実施形態に係るバーコード生成装置のメモリに記憶するプログラムの例を示す図である。
【図３】図３は、第１実施形態に係るバーコード生成装置が生成する複数のバーコード画像の例を示す図である。
【図４】図４は、第１実施形態に係るバーコード生成装置が生成する複数のバーコード画像に対する表示制御とバーコードリーダによるスキャン画像の例を示す。
【図５】図５は、第１実施形態に係るバーコード生成装置としての携帯端末によるバーコード表示処理の動作例を説明するためのフローチャートである。
【図６】図６は、第１実施形態の変形例に係るバーコード生成装置としてのサーバの構成例を示すブロック図である。
【図７】図７は、第１実施形態の変形例に係るバーコード生成装置としてのサーバによるバーコード表示処理の動作例を説明するためのフローチャートである。
【図８】図８は、第２実施形態に係るバーコード生成装置が生成する複数の分割バーコードの第１の例を示す図である。
【図９】図９は、第２実施形態に係るバーコード生成装置が生成する複数の分割バーコードの第２の例を示す図である。
【図１０】図１０は、第２実施形態に係るバーコード生成装置としての携帯端末によるバーコード表示処理の動作例を説明するためのフローチャートである。
【図１１】図１１は、第２実施形態の変形例に係るバーコード生成装置としてのサーバによるバーコード表示処理の動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、本実施形態について、図面を参照しながら説明する。  
各実施形態に係るバーコード生成装置は、スマートフォン、携帯電話機あるいはタブレットＰＣなどの携帯端末のディスプレイに表示するバーコードを生成するものである。バーコード生成装置は、携帯端末であっても良いし、携帯端末と通信可能なサーバなどのコンピュータであっても良い。以下に説明する第１実施形態および第２実施形態では、バーコード生成装置が携帯端末である場合とサーバである場合とについて説明するものとする。
【０００８】
（第１実施形態）
図１は、第１実施形態に係るバーコード生成装置としての携帯端末１０の構成例を示すブロック図である。  
図１に示すように、携帯端末１０は、プロセッサ１１、ＲＯＭ（read-only memory）１２、ＲＡＭ（random-access memory）１３、データメモリ１４、インターフェース（パネルインターフェース）１５、および、タッチパネル１６を有する。プロセッサ１１は、ＲＯＭ１２、ＲＡＭ１３、データメモリ１４およびパネルインターフェース１５に接続される。タッチパネル１６は、ディスプレイ１７およびタッチセンサ１８を有する。タッチパネル１６は、パネルインターフェース１５を介してプロセッサ１１に接続される。
【０００９】
プロセッサ１１は、プログラムを実行することにより種々の処理を実行する。プロセッサ１１は、例えば、ＣＰＵ（central processing unit）である。プロセッサ１１は、ＲＯＭ２１またはデータメモリ１４が記憶するプログラムを実行することにより各種の処理機能を実現する。例えば、プロセッサ１１は、バーコード作成用のプログラムを実行することにより、ディスプレイに表示させるバーコードの画像を作成する。プロセッサ１１は、バーコード表示用のプログラムを実行することにより、作成したバーコードの画像をディスプレイ１７に表示する。
【００１０】
ＲＯＭ１２は、不揮発性のメモリである。ＲＯＭ１２は、プログラムおよびデータを記憶する。例えば、ＲＯＭ１２は、オペレーティングシステム、ミドルウェア、アプリケーションなどのプログラムを記憶する。また、ＲＯＭ１２は、プロセッサ１１が各種の処理を実行する場合に参照するデータを記憶しても良い。
【００１１】
ＲＡＭ１３は、作業用のデータを記憶する。ＲＡＭ１３は、いわゆるワークエリアとして利用されるメモリである。ＲＡＭ１３は、プロセッサ１１が各種の処理を実行する場合に参照するデータ、或は、一時的に使用するデータなどを適宜記憶する。
【００１２】
データメモリ１４は、書き換え可能な不揮発性メモリである。データメモリ１４は、例えば、ＥＥＰＲＯＭ（登録商標）（electric erasable programmable read-only memory）、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）、あるいは、メモリカードなどのメモリ（記憶装置）で構成する。
【００１３】
パネルインターフェース１５は、タッチパネル１６に接続する。タッチパネル１６は、携帯端末１０におけるインターフェースに接続される表示装置の一例である。図１に示す例において、タッチパネル１６は、表示器としてのディスプレイ１７と操作部としてのタッチセンサ１８とを有する。なお、携帯端末１０におけるインターフェースに接続される表示装置は、バーコードの画像を表示できるものであれば良く、タッチセンサを具備するタッチパネルでなくても良い。
【００１４】
パネルインターフェース１５は、タッチパネル１６におけるディスプレイ１７およびタッチセンサ１８とプロセッサ１１とを接続する。プロセッサ１１は、パネルインターフェース１５を介してディスプレイ１７に表示する画像を制御する。また、プロセッサ１１は、パネルインターフェース１５を介してタッチセンサ１８により検知した入力信号（操作信号）を取得する。パネルインターフェース１５は、タッチパネル１６によって入力されるパーコードの表示指示を受け付けるインターフェースの一例である。
【００１５】
次に、携帯端末１０のプロセッサ１１が実行するプログラムについて説明する。  
ＲＯＭ１２またはデータメモリ１４には、プロセッサ１１が実行するプログラムがインストールされる。例えば、プロセッサ１１は、携帯端末１０の基本的な動作を司るオペレーティングシステム（ＯＳ）のプログラムを実行する。プロセッサ１１は、ＯＳを実行しった上で各種のアプリケーションプログラムを実行する。
【００１６】
図２は、第１実施形態に係る携帯端末１０のＲＯＭ１２に記憶するプログラム群の例を示す模式図である。  
図２に示すように、ＲＯＭ１２には、プロセッサ１１が実行する種々のプログラムが格納される。図２に示す例では、ＲＯＭ１２には、オペレーティングシステム（ＯＳ）、バーコード表示プログラム、バーコード作成プログラムが格納される。ＯＳは、携帯端末１０の基本的な動作を司るプログラムである。プロセッサ１１は、ＯＳを実行することにより、ＯＳがベースとなるアプリケーションプログラムを実行できる。例えば、バーコード表示プログラムおよびバーコード作成プログラムは、ＯＳ上で動作するアプリケーションプログラムとして作成されるもので良い。
【００１７】
バーコード表示プログラムおよびバーコード作成プログラムは、後述する第１実施形態としての動作を実現するためのアプリケーションプログラムである。  
バーコード表示プログラムは、バーコードを表示装置に表示するためのプログラムである。するプロセッサ１１は、バーコード表示プログラムを実行することにより後述するようなバーコード画像の表示制御を実現する。  
バーコード作成プログラムは、バーコードを作成するためのプログラムである。プロセッサ１１は、バーコード作成プログラムを実行することにより後述するような基本バーコードの作成、および、表示用の複数のバーコード画像の作成などを実現する。
【００１８】
ただし、図２に示すプログラムは、プロセッサ１１が実行できるようにメモリに記憶されていれば良く、データメモリ１４などのＲＯＭ１２以外のメモリに記憶しても良い。例えば、ＯＳをＲＯＭ１２に記憶し、バーコード表示プログラムおよびバーコード作成プログラムをデータメモリ１４に記憶しても良い。
【００１９】
次に、第１実施形態に係るハーコード生成装置としての携帯端末１０が作成するバーコード画像について説明する。  
第１実施形態に係る携帯端末１０は、基本バーコードに、ノイズを重畳させた複数のバーコード画像（表示画像）を作成し、複数のバーコード画像を順番に繰り返し表示する。バーコードリーダのスキャナは、順次表示される複数の表示画像をスキャンタイミングによって合成した画像として読み取る。バーコードリーダは、スキャンのタイミングが合えば、ノイズのない領域を合成したバーコードを読み取ることでができる。これにより、携帯端末１０は、個々の表示画像ではデコード不可となるバーコード画像を表示し、バーコードリーダにはノイズのないバーコードを読み取らせることができる。
【００２０】
図３は、基本バーコード３０にノイズを重畳することで作成する複数のバーコード画像（表示画像）３１Ａ、３１Ｂの例を示す図である。  
バーコード画像３１Ａは、基本バーコード３０の左側の一箇所にノイズを重畳することにより作成する第１の表示画像である。バーコード画像３１Ｂは、基本バーコード３０の右側の一箇所にノイズを重畳することにより作成する第２の表示画像である。バーコード画像３１Ａのノイズがない部分とバーコード画像３１Ｂのノイズがない部分とがスキャンされると、ノイズのない基本バーコード３０が読み取られることとなる。
【００２１】
図４は、ノイズを重畳した複数のバーコード画像３１Ａ、３１Ｂの表示制御とスキャン結果としてのスキャン画像３２ａ〜３２ｄとの関係を説明するための図である。  
携帯端末１０は、ディスプレイ１７にバーコード画像３１Ａとバーコード画像３１Ｂとを交互に表示させる。ディスプレイ１７の表示画面に対して所定方向（ａ方向）からスキャンするスキャナ（バーコードリーダ）は、スキャンタイミングによってバーコード画像３１Ａとバーコード画像３１Ｂとを合成した画像として読み取る。つまり、バーコードリーダが読み取る画像（スキャン画像）は、ディスプレイ１７における各表示画像の表示タイミングとスキャンタイミングとの関係で、いくつかのパターンとなり得る。
【００２２】
図４では、バーコードリーダ（スキャナ）が読み取る得るスキャン画像３２ａ〜３２ｄの例を示す。  
スキャン画像３２ａは、基本バーコード３０に左側のノイズｎ１が重畳された画像である。スキャン画像３２ａは、バーコード画像３１Ａだけを読み取った結果である。スキャン画像３２ａは、ノイズｎ１によってバーコードリーダでのデコードが不可となる。  
スキャン画像３２ｂは、基本バーコード３０に右側のノイズｎ２が重畳された画像である。スキャン画像３２ｂは、バーコード画像３１Ｂだけを読み取った結果である。スキャン画像３２ｂは、ノイズｎ２によってバーコードリーダでのデコードが不可となる。
【００２３】
スキャン画像３２ｃは、基本バーコード３０に左側のノイズｎ１と右側のノイズｎ２とが重畳された画像である。スキャン画像３２ｃは、バーコード画像３１Ａにおけるノイズを含む領域（バーコード画像３１Ａの左側の領域）とバーコード画像３２Ｂにおけるノイズを含む領域（バーコード画像３１Ｂの右側の領域）とを組み合わせて読み取った結果である。スキャン画像３２ｃは、ノイズｎ１とノイズｎ２とによってバーコードリーダでのデコードが不可となる。
【００２４】
スキャン画像３２ｄは、基本バーコード３０にノイズを含まない画像である。スキャン画像３２ｄは、バーコード画像３１Ａにおけるノイズがない領域（バーコード画像３１Ａの右側の領域）とバーコード画像３１Ｂにおけるノイズがない領域（バーコード画像３１Ｂの左側の領域）とを組み合わせて読み取った結果である。スキャン画像３２は、ノイズを含まず、基本バーコードを読み取ったものとなるため、バーコードリーダでのデコードが可となる。
【００２５】
バーコードリーダは、スキャン画像３２ａ、３２ｂ、３２ｃをノイズによってデコード不能とすると、再びスキャンを実施する。つまり、バーコードリーダは、所定時間内であれば、ノイズを含まないバーコード画像としてのスキャン画像３２ｄ（つまり、デコード可となるバーコード）が読み取れるまでスキャンを繰り返す。この結果として、ハーコードリーダは、ディスプレイ１７に交互に表示される２つのノイズ重畳したバーコード画像から正しいバーコード（デコード可能なバーコード）を読み取ることができる。携帯端末１０は、バーコードリーダがスキャン画像３２ｄを読み取れるようにディスプレイ１７に複数のバーコード画像（表示画像）３１Ａおよび３１Ｂを交互に表示させる。
【００２６】
一般に、スキャン画像に対するデコード結果は、バーコードに含まれるチェックデジットによって判定される。このため、ノイズが含まれるスキャン画像であっても、ノイズが間違った読み取りを誘発した場合、チェックデジットでは低確率で読み取りが成立しています可能性がある。たとえば、ＷＰＣでは、誤った読み取り結果であっても、１０分の１の確率でＣ／Ｄが一致して読み取りが成立してしまうことがある。すなわち、基本バーコードに対して単純にランダムなノイズを付加しただけでは、バーコードリーダがノイズを含む画像で誤読してしまう可能性がある。
【００２７】
このため、第１実施形態に係るバーコード装置は、ノイズを重畳した複数のバーコード画像と複数のバーコード画像を合成した画像において誤読の有無をチェックする。携帯端末１０は、バーコード画像３１Ａ、バーコード画像３１Ｂ、バーコード画像３１Ａとバーコード画像３１Ｂとを組み合わせた合成画像における誤読の有無を確認する。これにより、ディスプレイ１７にノイズを重畳したバーコード画像を表示したことによる誤読を防止できる。
【００２８】
次に、第１実施形態に係るバーコード生成装置としての携帯端末１０におけるバーコード表示処理について説明する。  
図５は、携帯端末１０におけるバーコード表示処理の動作例を説明するためのフローチャートである。  
携帯端末１０のプロセッサ１１は、ディスプレイ１７にバーコードを表示する場合、バーコードリーダに読み取らせる基本バーコードを作成する（ＡＣＴ１１）。例えば、プロセッサ１１は、バーコードリーダによって読み取らせる情報（バーコード化する情報）を取得する。たとえば、バーコード化する情報は、データメモリ１４などに記憶した情報であっても良い、外部装置などから取得する情報であっても良いし、プロセッサ１１の演算処理によって生成する情報であっても良い。
【００２９】
基本バーコードを作成すると、プロセッサ１１は、基本バーコードにノイズを重畳することにより複数のバーコード画像（表示画像）を作成する（ＡＣＴ１２）。プロセッサ１１は、バーコードリーダのスキャン方向において基本バーコードの異なる位置にノイズを重畳した複数のバーコード画像を作成する。例えば、図３に示す例によれば、プロセッサ１１は、基本バーコード３０に対して、左側の領域にノイズを重畳したバーコード画像３１Ａと右側の領域にノイズを重畳したバーコード画像３１Ｂとを作成する。
【００３０】
ノイズを重畳して複数のバーコード画像を生成した後、プロセッサ１１は、作成した個々のバーコード画像について誤読の可能性があるか否かをチェックする（ＡＣＴ１３）。何れかのバーコード画像で誤読の可能性があると判断した場合（ＡＣＴ１３、ＹＥＳ）、プロセッサ１１は、ＡＣＴ１２へ戻り、別の位置にノイズを重畳した複数のバーコード画像を作成する。
【００３１】
どのバーコード画像も誤読無しと判断した場合（ＡＣＴ１３、ＮＯ）、プロセッサ１１は、複数のバーコード画像が合成して読み取られた場合の画像（スキャン画像）に誤読の可能性があるか否かを判断する（ＡＣＴ１４）。何れかのスキャン画像で誤読の可能性があると判断した場合（ＡＣＴ１４、ＹＥＳ）、プロセッサ１１は、ＡＣＴ１２へ戻り、別の位置にノイズを重畳した複数のバーコード画像を作成する。
【００３２】
複数のバーコード画像を合成したスキャン画像にも誤読無しと判断した場合（ＡＣＴ１４、ＮＯ）、プロセッサ１１は、複数のバーコード画像を順次ディスプレイ１７に表示させる表示制御を実行する（ＡＣＴ１５）。例えば、図４に示すように、第１の表示画像としてのバーコード画像３１Ａと第２の表示画像としてのバーコード画像３１Ｂとをディスプレイ１７に交互に表示させる。プロセッサ１１は、バーコードリーダがバーコード画像３１Ａの右側の領域とバーコード画像３１Ｂの左側の領域とを連続してスキャンできるようになるタイミングで、バーコード画像３１Ａとバーコード画像３１Ｂとを順番に切り替えて表示させる。
【００３３】
プロセッサ１１は、複数のバーコード画像を順次ディスプレイ１７に表示させると、プロセッサ１１は、バーコードの表示終了の指示を受け付ける（ＡＣＴ１６）。プロセッサ１１は、バーコードの表示終了の指示を受けるまで（ＡＣＴ１６、ＮＯ）、複数のバーコード画像の表示制御を継続する。また、プロセッサ１１は、バーコードの表示終了の指示を受けると（ＡＣＴ１６、ＹＥＳ）。一連のバーコード表示処理を終了する。例えば、プロセッサ１１は、タッチセンサ１８により検知するユーザの指示としてバーコードの表示終了を受け付けるようにしても良い。また、プロセッサ１１は、バーコードの表示時間を設定しておき、表示開始から表示時間が経過した時点でバーコードの表示終了と判断するようにしても良い。
【００３４】
以上のように、第１実施形態に係るバーコード生成装置としての携帯端末は、基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成する。携帯端末は、ノイズを重畳して作成した複数のバーコードを順次表示した画面をバーコードリーダがスキャンした場合に誤読することがあるか否かを判断する。携帯端末は、誤読が無いと判断された場合にノイズを重畳して作成した複数のバーコードを画面に順次表示させる。  
これにより、第１実施形態によれば、誤読のリスクを低減させながら画面に表示するバーコードの不正利用を防止できるバーコード生成装置としての携帯端末を提供できる。
【００３５】
（第１実施形態の変形例）
次に、上述した第１実施形態の変形例について説明する。  
図６は、第１実施形態の変形例に係るバーコード生成装置としてのサーバ４０の構成例を示すブロック図である。  
第１実施形態の変形例では、サーバ４０が携帯端末などの表示装置と通信し、表示装置から要求に応じてノイズを重畳した複数のバーコード画像を作成する。さらに、サーバ４０は、作成した複数のバーコード画像を表示装置に順次表示させる。すなわち、サーバ４０がバーコード生成装置として機能し、表示装置におけるバーコード画像の表示を制御する。
【００３６】
図６に示すように、サーバ４０は、プロセッサ４１、ＲＯＭ（read-only memory）４２、ＲＡＭ（random-access memory）４３、データメモリ４４、および、通信インターフェース（Ｉ／Ｆ）４５を有する。プロセッサ４１は、ＲＯＭ４２、ＲＡＭ４３、データメモリ４４および通信インターフェース４５に接続される。
【００３７】
プロセッサ４１は、プログラムを実行することにより種々の処理を実行する。プロセッサ４１は、例えば、ＣＰＵ（central processing unit）である。プロセッサ４１は、ＲＯＭ４１またはデータメモリ４４が記憶するプログラムを実行することにより各種の処理機能を実現する。例えば、プロセッサ４１は、通信プログラムを実行することにより通信インターフェース４５を介した表示装置との通信を実行する。プロセッサ４１は、バーコード作成用のプログラムを実行することにより表示装置のディスプレイに表示させるバーコードの画像を作成する。プロセッサ４１は、バーコード表示用のプログラムを実行することにより作成したバーコードの画像を表示装置のディスプレイに表示する。
【００３８】
ＲＯＭ４２は、不揮発性のメモリである。ＲＯＭ４２は、プログラムおよびデータを記憶する。例えば、ＲＯＭ４２は、オペレーティングシステム、ミドルウェア、アプリケーションなどのプログラムを記憶する。また、ＲＯＭ４２は、プロセッサ４１が各種の処理を実行する場合に参照するデータを記憶しても良い。
【００３９】
ＲＡＭ４３は、作業用のデータを記憶する。ＲＡＭ４３は、ワークエリアとして利用されるメモリである。ＲＡＭ４３は、プロセッサ４１が各種の処理を実行する場合に参照するデータ、或は、一時的に使用するデータなどを適宜記憶する。
【００４０】
データメモリ４４は、書き換え可能な不揮発性メモリである。データメモリ４４は、例えば、ＥＥＰＲＯＭ（登録商標）（electric erasable programmable read-only memory）、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）、あるいは、メモリカードなどのメモリ（記憶装置）で構成する。
【００４１】
通信インターフェース４５は、ネットワークを介して外部装置と通信するためのインターフェース（ネットワークインターフェース）である。図６に示す構成例において、通信インターフェース４５は、ネットワークを介して表示装置５０と通信するためのインターフェースである。通信インターフェース４５は、表示装置５０から要求されるパーコードの表示指示を受け付けるインターフェースの一例である。
【００４２】
表示装置５０は、ネットワークを介してサーバ４０と通信する。表示装置５０は、サーバ４０から供給されるバーコード画像を表示する装置である。また、表示装置５０は、ユーザの操作などに応じてバーコードの表示をサーバ４０に供給する。表示装置５０は、サーバ４０へバーコードの表示を要求し、サーバからのバーコード画像をバーコードリーダで読み取られるバーコード画像として表示できるものであれば良い。例えば、表示装置５０は、スマートフォン、携帯電話、タブレットＰＣなどの携帯端末である。
【００４３】
また、サーバ４０のプロセッサ４１が実行するプログラムは、ＲＯＭ４２またはデータメモリ４４に記憶される。プロセッサ１１が実行するプログラムとしては、図２に例示するものと同様に、オペレーティングシステム（ＯＳ）、バーコード表示プログラム、バーコード作成プログラムなどがある。  
ＯＳは、サーバ４０の基本的な動作を司るプログラムである。プロセッサ４１は、ＯＳを実行することにより、ＯＳがベースとなるプログラムが実行可能となる。
【００４４】
バーコード表示プログラムは、バーコードを表示装置５０に表示させるためのプログラムである。バーコード作成プログラムは、表示装置５０に表示されるバーコードを作成するためのプログラムである。また、サーバ４０は、表示装置５０と通信するためのプログラム、表示装置５０からのコマンドに応じて動作するためのプログラムなどもＲＡＭ４２またはデータメモリ４４に格納する。
【００４５】
次に、第１実施形態の変形例に係るハーコード生成装置としてのサーバ４０が作成するバーコード画像について説明する。  
第１実施形態の変形例に係るサーバ４０は、表示装置５０からの要求に応じて基本バーコードにノイズを重畳させた複数のバーコード画像（表示画像）を作成する。サーバ４０は、作成した複数のバーコード画像を表示装置５０のディスプレイに順番に繰り返し表示させる。すなわち、サーバ４０が作成する複数のバーコード画像は、図３に例示するものと同様、基本バーコードの異なる位置にノイズを重畳させたバーコード画像である。サーバ４０は、ノイズを重畳させた複数のバーコード画像を表示装置５０に順次表示させて、図４に示すようなスキャン画像をバーコードリーダが読み取れるようにする。
【００４６】
また、サーバ４０は、上述した携帯端末と同様、ノイズを重畳した複数のバーコード画像と複数のバーコード画像を合成した画像とに対して誤読の有無をチェックする。サーバ０は、個々のバーコード画像と複数のバーコード画像３１Ａを組み合わせた合成画像における誤読の有無を確認する。これにより、サーバ４０は、表示装置５０に表示させるバーコード画像による誤読を防止するものである。
【００４７】
次に、第１実施形態の変形例に係るバーコード生成装置としてのサーバ４０におけるバーコード表示処理について説明する。  
図７は、サーバ４０におけるバーコード表示処理の動作例を説明するためのフローチャートである。  
サーバ４０のプロセッサ４１は、ネットワークを介して接続される表示装置５０からのバーコードの表示要求を受け付ける（ＡＣＴ２０）。表示装置５０からバーコードの表示を要求するコマンドを受信した場合（ＡＣＴ２０、ＹＥＳ）、プロセッサ４１は、表示装置５０に表示させてバーコードリーダに読み取らせる基本バーコードを作成する（ＡＣＴ２１）。プロセッサ４１は、表示装置５０からの要求に応じて表示すべきバーコードの情報（基本バーコードが示す情報）を取得し、取得した情報から基本バーコードを作成する。基本バーコードが示す情報は、データメモリ４４に記憶している情報であっても良いし、プロセッサ４１の演算処理によって生成する情報であっても良い。
【００４８】
基本バーコードを作成すると、プロセッサ４１は、基本バーコードの異なる位置にノイズを重畳することにより複数のバーコード画像（表示画像）を作成する（ＡＣＴ２２）。ノイズを重畳した複数のバーコード画像を生成した後、プロセッサ４１は、作成した個々のバーコード画像について誤読の可能性があるか否かをチェックする（ＡＣＴ２３）。何れかのバーコード画像で誤読の可能性があると判断した場合（ＡＣＴ２３、ＹＥＳ）、プロセッサ４１は、ＡＣＴ２２へ戻り、別の位置にノイズを重畳した複数のバーコード画像を作成する。
【００４９】
どのバーコード画像も誤読無しと判断した場合（ＡＣＴ２３、ＮＯ）、プロセッサ４１は、複数のバーコード画像が合成して読み取られた場合の画像（スキャン画像）に誤読の可能性があるか否かを判断する（ＡＣＴ２４）。何れかのスキャン画像で誤読の可能性があると判断した場合（ＡＣＴ２４、ＹＥＳ）、プロセッサ４１は、ＡＣＴ２２へ戻り、別の位置にノイズを重畳した複数のバーコード画像を作成する。
【００５０】
複数のバーコード画像を合成したスキャン画像にも誤読無しと判断した場合（ＡＣＴ２４、ＮＯ）、プロセッサ４１は、複数のバーコード画像を順次表示装置５０のディスプレイに表示させる（ＡＣＴ２５）。例えば、プロセッサ４１は、バーコードとして表示するバーコード画像（第１の表示画像）３１Ａとバーコード画像（第２の表示画像）３１Ｂとを表示装置５０へ供給する。また、プロセッサ４１は、バーコード画像３１Ａとバーコード画像３１Ｂとを交互に表示させるタイミング（表示切替のタイミング）を表示装置５０へ指示する。ここで、プロセッサ４１は、バーコードリーダがバーコード画像３１Ａの右側の領域とバーコード画像３１Ｂの左側の領域とを連続してスキャンできるようになる表示切替のタイミングを表示装置５０へ指示する。これにより、表示装置５０は、バーコード画像３１Ａとバーコード画像３１Ｂとを指示されたタイミングで交互にディスプレイ１７に表示させる。
【００５１】
プロセッサ４１は、複数のバーコード画像を順次表示装置５０に表示させるとともに、バーコードの表示終了の指示を受け付ける（ＡＣＴ２６）。例えば、プロセッサ４１は、複数のバーコード画像を順次表示させながら表示装置５０からの表示終了の通知を受け付ける。また、プロセッサ４１は、表示開始から所定時間で表示装置５０による複数のバーコード画像の表示を終了するようにしても良い。プロセッサ４１は、バーコードの表示を終了すると判断した場合（ＡＣＴ２６、ＮＯ）、ＡＣＴ２５へ戻って複数のバーコード画像の表示を継続する。また、プロセッサ１１は、バーコードの表示を終了すると判断した場合（ＡＣＴ２６、ＹＥＳ）、表示装置５０によるバーコードの表示を終了する。
【００５２】
以上のように、第１実施形態の変形例に係るバーコード生成装置としてのサーバは、表示装置と通信し、表示装置から要求に応じて基本バーコードを作成する。サーバは、基本バーコードの異なる個所にノイズを重畳した複数のバーコードを生成する。サーバは、ノイズを重畳して作成した複数のバーコードを順次表示した画面をバーコードリーダがスキャンした場合に誤読することがあるか否かを判断する。サーバは、誤読が無いと判断された場合にノイズを重畳して作成した複数のバーコードを表示装置に順次表示させる。  
これにより、第１実施形態の変形例によれば、誤読のリスクを低減させながら表示装置に表示するバーコードの不正利用を防止できるバーコード生成装置としてのサーバを提供できる。
【００５３】
（第２実施形態）
次に、第２実施形態について説明する。  
第２実施形態に係るバーコード生成装置は、第１実施形態で説明した構成を有する携帯端末で実現される。すなわち、第２実施形態に係るバーコード生成装置は、第１実施形態で説明した図１に示す構成を有する携帯端末１０であるものとする。このため、第２実施形態では、バーコード生成装置としての携帯端末１０の構成については詳細な説明を省略するものとする。
【００５４】
ただし、第２実施形態に係る携帯端末１０のＲＯＭ１２またはデータメモリ１４に記憶するアプリケーションプログラムが、第１実施形態とは異なるものとなる。例えば、第２実施形態に係る携帯端末１０のＲＯＭ１２には、ＯＳとともに後述する処理を実現するためのアプリケーションプログラムが記憶される。
【００５５】
次に、第２実施形態に係るハーコード生成装置としての携帯端末１０が作成するバーコード画像について説明する。  
第２実施形態に係る携帯端末１０は、基本バーコードを単体ではデコード不能とある部分ごとに分割し、分割したバーコード（分割バーコード）群を作成する。携帯端末１０は、分割バーコードの画像を順次ディスプレイ１７に表示する。
【００５６】
ここで、バーコードリーダには、細切れに一部分ずつ読み取ったバーコードを集めて１つのバーコードとしてデコードする機能（分割読取機能）を有するものとする。分割読取機能は、一般的なバーコードリーダに実装される、分割読取機能は、例えば、袋状の物品などの読み取り難い場所に貼り付けられたバーコードを読み取るための機能である。分割読取機能を有するバーコードリーダは、ディスプレイ１７に順次表示される分割バーコードを読み取り、分割バーコードを組み合わせてバーコード全体をデコードできる。第２実施形態では、ディスプレイ１７に表示したバーコードの画像を読み取るバーコードリーダが分割読取機能を具備することを前提として説明するものとする。
【００５７】
図８は、基本バーコード８０から作成する分割バーコード８１、８２の第１の例を示す図である。  
図８では、基本バーコード８０を２つの分割バーコード８１、８２に分割する例を示す。図８に示す例は、ハーフセグメントによる２分割の例である。図８において、ハーフセグメントは、ガードバーからセンターバーと１つのキャラクタとを含むセグメントとしている。図８に示すように、分割バーコード８１は、基本バーコード８０の左側の領域を含むように構成する。分割バーコード８２は、基本バーコード８０の右側の領域を含む領域構成である。分割バーコード８１と分割バーコード８２とは、一部の領域が重なるように構成される。図８に示す例では、センターバーを含むセンターバーの前後の１キャラクタ分が重なるように、２つの分割バーコード８１、８２が作成される。
【００５８】
図９は、基本バーコード９０から作成する分割バーコード９１、９２、９３の第２の例を示す図である。  
図９では、基本バーコード９０を３つの分割バーコード９１、９２、９３に分割する例を示す。図９に示す例は、パーシャルセグメントによる３分割の例である。図９において、パーシャルセグメントは、ガードバー、又は、センターバーを含む数キャラクタのセグメントとしている。図９に示すように、分割バーコード９１は、基本バーコード８０の左側の領域を含むように構成する。分割バーコード９２は、基本バーコード８０の中央付近の領域を含むように構成する。分割バーコード９３は、基本バーコード８０の右側の領域を含むように構成する。
【００５９】
また、分割バーコード９１と分割バーコード９２とは、一部の領域が重なるように構成する。図９に示す具体例では、分割バーコード９１と分割バーコード９２とは、左側データキャラクタにおける１キャラクタ分が重なるように構成される。また、分割バーコード９２と分割バーコード９３とは、一部の領域が重なるように構成する。図９に示す具体例では、分割バーコード９２と分割バーコード９３とは、右側データキャラクタにおける１キャラクタ分が重なるように構成される。
【００６０】
基本バーコードから作成する複数の分割バーコードは、基本バーコードにおける領域が隣接するもの同士で一部の領域が重なるように構成される。分割バーコード同士で重なる領域は、適宜設定可能である。個々の分割バーコードは、単独でデコードできないように構成すれば良い。このため、隣接する領域の分割バーコード同士は、複数キャラクタ分の領域で重なるように構成しても良い。
【００６１】
また、分割バーコードは、それぞれが単独ではデコードできないように構成する。このため、携帯端末１０がディスプレイ１７に表示した分割バーコードは、単独ではデコードできない。ディスプレイに表示する個々の分割バーコードが利用不能であれば、ディスプレイに表示された画像（分割バーコード）をキャプチャしても不正に使用ことはできない。また、分割バーコードは、ノイズを重畳することなく、基本バーコードから切り出して作成するため、個々の分割バーコードでの誤読のリスクも少なくできる。
【００６２】
次に、第２実施形態に係るバーコード生成装置としての携帯端末１０におけるバーコード表示処理について説明する。  
図１０は、第２実施形態に係る携帯端末１０におけるバーコード表示処理の動作例を説明するためのフローチャートである。  
携帯端末１０のプロセッサ１１は、ディスプレイ１７にバーコードを表示する場合、バーコードリーダに読み取らせる基本バーコードを作成する（ＡＣＴ１１１）。基本バーコードを作成すると、プロセッサ１１は、基本バーコードを分割して複数の分割バーコード画像（分割画像）を作成する（ＡＣＴ１１２）。
【００６３】
プロセッサ１１は、基本バーコードを複数の領域に分割し、分割した各領域と隣接する領域との重なり部分と含む分割バーコードを作成し、分割数は、バーコードリーダで読み取れる範囲内であれば良い。例えば、分割数が２であれば、プロセッサ１１は、ハーフセグメントで基本バーコードを２つに分割して２つの分割バーコードを作成する。また、分割数が３であれば、プロセッサ１１は、基本バーコードを３つのパーシャルセグメントで分割し、３つの分割バーコード画像を作成する。
【００６４】
分割バーコードを生成した後、プロセッサ１１は、複数の分割バーコードの画像を順次ディスプレイ１７に表示させる（ＡＣＴ１１３）。ディスプレイの順次表示される分割バーコードは、バーコードリーダがそれぞれの画像を順番に読み取れれば良い。従って、プロセッサ１１は、それぞれの分割バーコードの画像をバーコードリーダで順番に読み取れるように表示する。
【００６５】
分割バーコード画像を順次ディスプレイ１７に表示させると、プロセッサ１１は、バーコードの表示終了の指示を受け付ける（ＡＣＴ１１４）。プロセッサ１１は、バーコードの表示終了の指示を受けるまで（ＡＣＴ１１４、ＮＯ）、複数の分割バーコード画像を順番に表示させる制御を継続する。また、プロセッサ１１は、バーコードの表示終了の操作指示を受けると（ＡＣＴ１１４、ＹＥＳ）、一連のバーコード表示処理を終了する。例えば、プロセッサ１１は、タッチセンサ１８により検知するユーザの指示としてバーコードの表示終了を受け付ける。また、プロセッサ１１は、バーコードの表示時間を設定しておき、表示開始から表示時間が経過した時点でバーコードの表示終了と判断するようにしても良い。
【００６６】
以上のように、第２実施形態に係るバーコード生成装置としての携帯端末は、一部の領域が重なるように基本バーコードを分割した複数の分割バーコードを生成する。携帯端末は、複数の分割バーコードをディスプレイに順次表示させる。  
これにより、第２実施形態によれば、複数の分割バーコードを順次表示することでバーコードの不正利用を防止できる。
【００６７】
（第２実施形態の変形例）
次に、上述した第２実施形態の変形例について説明する。  
第２実施形態の変形例に係るバーコード生成装置は、第２実施形態の変形例で説明した構成を有するサーバで実現される。すなわち、第２実施形態の変形例に係るバーコード生成装置は、第１実施形態で説明した図６に示す構成を有するサーバ４０であるものとする。このため、第２実施形態の変形例としては、バーコード生成装置としてのサーバ４０の構成についての詳細な説明を省略するものとする。
【００６８】
ただし、第２実施形態の変形例に係るサーバ４０のＲＯＭ４２またはデータメモリ４４に記憶するアプリケーションプログラムは第１実施形態の変形例とは異なるものとなる。例えば、第２実施形態の変形例に係るサーバ４０のＲＯＭ４２には、ＯＳとともに後述する処理を実現するためのアプリケーションプログラムが記憶される。
【００６９】
第２実施形態の変形例に係るサーバ４０のプロセッサ４１は、表示装置５０からの要求に応じて基本バーコードを分割して生成した複数の分割バーコード画像（表示画像）を作成する。サーバ４０のプロセッサ４１は、作成した分割バーコード画像を表示装置５０のディスプレイに順番に繰り返し表示させる。プロセッサ４１が作成する複数の分割バーコード画像は、図８または図９などに例示するものと同様であって良い。
【００７０】
次に、第２実施形態の変形例に係るバーコード生成装置としてのサーバ４０におけるバーコード表示処理について説明する。  
図１１は、サーバ４０におけるバーコード表示処理の動作例を説明するためのフローチャートである。  
サーバ４０のプロセッサ４１は、ネットワークを介して接続される表示装置５０からのバーコードの表示要求を受け付ける（ＡＣＴ１２０）。表示装置５０からバーコードの表示を要求するコマンドを受信した場合（ＡＣＴ１２０、ＹＥＳ）、プロセッサ４１は、表示装置５０に表示させてバーコードリーダに読み取らせる基本バーコードを作成する（ＡＣＴ１２１）。プロセッサ４１は、表示装置５０からの要求に応じて表示すべきバーコードの情報（基本バーコードで示す情報）を取得し、取得した情報から基本バーコードを作成する。基本バーコードで示す情報は、データメモリ４４に記憶している情報であっても良いし、プロセッサ４１の演算処理によって生成する情報であっても良い。
【００７１】
基本バーコードを作成すると、プロセッサ４１は、基本バーコードを分割して複数の分割バーコード画像（表示画像）を作成する（ＡＣＴ１２２）。複数の分割バーコード画像を生成した後、プロセッサ４１は、複数の分割バーコード画像を順次表示装置５０のディスプレイに表示させる（ＡＣＴ１２３）。例えば、プロセッサ４１は、分割バーコード画像を順番に表示装置５０へ配信することにより複数の分割バーコード画像を表示装置５０に分割バーコードを表示させる。また、プロセッサ４１は、複数の分割バーコード画像を一括で表示装置５０へ供給し、表示装置５０が分割バーコード画像を順番に表示するようにしても良い。
【００７２】
プロセッサ４１は、複数のバーコード画像を順次表示装置５０に表示させるとともに、バーコードの表示終了の指示を受け付ける（ＡＣＴ１２４）。例えば、プロセッサ４１は、複数のバーコード画像を順次表示させながら表示装置５０からの表示終了を要求する終了コマンドを受け付ける。プロセッサ４１は、バーコードの表示を終了すると判断した場合（ＡＣＴ１２４、ＮＯ）、ＡＣＴ１２３へ戻って複数のバーコード画像の表示を継続する。また、プロセッサ１１は、バーコードの表示を終了すると判断した場合（ＡＣＴ１２４、ＹＥＳ）、表示装置５０によるバーコードの表示を終了する。
【００７３】
以上のように、第２実施形態の変形例に係るバーコード生成装置としてのサーバは、表示装置と通信し、表示装置からの要求に応じて基本バーコードを作成する。サーバは、一部の領域が重なるように基本バーコードを分割した複数の分割バーコードを生成する。サーバは、複数の分割バーコードを表示装置に順次表示させる。  
これにより、第２実施形態によれば、複数の分割バーコードを順次表示することでバーコードの不正利用を防止できる。
【００７４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７５】
１０…携帯端末、１１…プロセッサ、１２…ＲＯＭ、１５…パネルインターフェース、１６…タッチパネル、１７…ディスプレイ、１８…タッチセンサ、４０…サーバ、４１…プロセッサ、４２…ＲＯＭ、４５…通信インターフェース、５０…表示装置。
【図１】
2020204957.tif 000003
【図２】
2020204957.tif 000004
【図３】
2020204957.tif 000005
【図４】
2020204957.tif 000006
【図５】
2020204957.tif 000007
【図６】
2020204957.tif 000008
【図７】
2020204957.tif 000009
【図８】
2020204957.tif 000010
【図９】
2020204957.tif 000011
【図１０】
2020204957.tif 000012
【図１１】
2020204957.tif 000013