(58)【調査した分野】(Int.Cl.,DB名)
前記評価の結果に基づいて、バーコード画像であって、該バーコード画像を所定の画像表示装置に表示した場合に該表示されたバーコード画像を所定のバーコード読取装置で読み取ることが可能なバーコード画像の内容を特定することを特徴とする請求項1乃至6の何れか1項に記載のバーコード評価装置。
前記評価の結果に基づいて、所定のバーコード画像を所定の画像表示装置に表示した場合に、該表示されたバーコード画像を読み取ることが可能なバーコード読取装置の仕様を特定することを特徴とする請求項1乃至7の何れか1項に記載のバーコード評価装置。
前記評価の結果に基づいて、所定の画像表示装置で表示可能で、且つ、該表示されたバーコード画像を所定のバーコード読取装置で読み取ることが可能なバーコード画像を生成することを特徴とする請求項1乃至8の何れか1項に記載のバーコード評価装置。
前記依頼の内容及び前記評価の結果に基づいて、前記バーコード画像生成依頼装置が依頼した所定の内容のバーコード画像を生成したとしても該バーコード画像が前記所定の画像表示装置で表示できない、又は、前記バーコード画像生成依頼装置が依頼した所定の内容のバーコード画像を表示しても前記所定のバーコード読取装置で読み取ることができない、と判断される場合には、その旨を前記バーコード評価装置が前記バーコード画像生成依頼装置に通知することを特徴とする請求項10に記載のバーコード画像生成システム。
【発明を実施するための形態】
【0032】
まず、本発明の実施例の概略を説明する。
【0033】
本発明の実施例は、携帯端末等の画面に「表示させたいバーコード」が、表示可能かつバーコードスキャナで読取可能かどうか、すなわち、バーコードスキャナ、端末が「適切な関係にあるかどうか」を、定量的に評価できる。かかる評価は、携帯端末等の画面に「表示させたいバーコード」のモジュール幅と、読み取りに使用するバーコードスキャナの仕様、及び使用を想定する携帯端末、すなわち、画像表示装置の画面仕様(ピクセル幅、画素密度)をもとにして行われる。
【0034】
また、本発明の実施例では、かかる評価の方法を応用することによって、端末の画面仕様とバーコードスキャナの仕様から、表示可能かつバーコードスキャナで読取可能となる、「表示させたいバーコード」のモジュール幅を導き出すことができる。
【0035】
更に、本発明の実施例では、かかる評価の方法を応用することによって、「表示させたいバーコード」を読み取るために必要なバーコードスキャナの仕様を定めることができる。
【0037】
次に、本発明の実施例について具体的に説明する前提として、かかる評価の方法の、具体的な内容について説明する。
【0038】
1.基本的な考え方
(1)定義
まず、以下の説明において使用する文言を定義する。
【0039】
バーコードに含まれる黒・白パターン(バー・スペース)の部分をバーコードシンボルと称する。そして、バーコードシンボルと左右に必要な余白(マージン)とを合わせたものをバーコードと称する。
【0040】
また、バーコードシンボルの最小の幅の単位を最小モジュール幅と称する。また、バーコード全体のモジュール幅を全体モジュール幅と称する。そして、全体モジュール幅の大きさを表す場合には、最小モジュール幅を基準として、全体幅○○モジュール(mod)と表す。
【0041】
また、バーコードを画像化したバーコード画像の全体幅は、1モジュールあたりの構成ドット数と全体モジュール幅とを乗算した幅となる。例えば、全体幅100モジュールで構成されたバーコードであれば、1モジュールあたり1ドットで画像化すると、バーコード画像の全体幅は、100ドット、ということになる。
【0042】
更に、「表示させたいバーコード」の全体モジュール幅をW
mとする。W
mのモジュール幅は、使用したい(すなわち、端末画面に表示させたい)バーコードの種類と、エンコードする文字列の桁数とで決まる。また、W
mは、全体モジュール幅であるから、バーコードシンボルの幅と左右に必要な余白(マージン)の幅とを含む。
【0043】
更に、1モジュールあたりの構成ドット数をt(tは、正の整数である。)とする。すると、「表示させたいバーコード」の全体モジュール幅W
mに1モジュールあたりの構成ドット数tを掛けた値であるt・W
mがバーコード画像の全体ドット幅となる。
【0044】
一例として、CODE128のCODE SET Cと呼ばれるバーコードで、数字20桁を構成したとする。この場合、W
m=11×20/2+55=165[mod]となる。このとき、1モジュールあたりの構成ドット数tを2[dot/mod]とすると、バーコードの画像幅は2[dot/mod]×165[mod]=330[dot]となる。
【0045】
なお、CODE128は、日本工業規格(JIS:Japanese Industrial Standards)により規格番号:JIS X 0504として規格化されている。また、CODE128のCODE SET Cにエンコードされる文字列は数字のみで2桁単位となる。
【0046】
次に、バーコードスキャナの読取可能なバーコードの幅の上限幅を、W
s[mm]とする。また、バーコードスキャナの読取可能な最小分解能、すなわちバーコードスキャナで検出可能な最小の幅をd
s[mm]とする。これらは、バーコード読取装置の仕様値である。
【0047】
また、以下の説明では、バーコードを表示する画面を有する装置のことを、適宜「端末」と呼ぶ。また、バーコード読取装置のことを、適宜「バーコードスキャナ」と呼ぶ。
【0048】
以上の定義をまとめると、本明細書にて使用する変数一覧は以下のようになる。なお、各変数の単位は一般的に想定されるものを使用することとする。
W
m:表示させたいバーコードの横モジュール幅であり、単位は[mod]とする。また、W
mは、正の整数である。
t:バーコード画像の1モジュールあたりの構成ドット数であり、単位は[dot/mod]とする。tは、正の整数である。
W
s:バーコードスキャナの読取可能なバーコードの幅の上限であり、単位は[mm]とする。W
sは、正の数である。
d
s:バーコードスキャナの最小分解能であり、単位は[mm]とする。d
sは、正の数である。
(2)「適正領域」の条件
前述の定義に基づき、バーコードを端末画面に表示でき、且つ、バーコードスキャナで読み取りができる条件を考えると、次のような3つの条件全てが満たされる必要がある。
第1の条件:端末画面に表示するバーコードの幅t・W
mがバーコードスキャナの読取可能幅W
sを超えないこと。
第2の条件:端末画面に表示するバーコードの最小モジュール幅がバーコードスキャナの最小分解能d
s以上であること。
第3の条件:端末画面に表示するバーコードの幅t・W
mが、表示する端末の画面の幅に収まること。
【0049】
ここで、まず第1の条件について考える。
【0050】
端末画面の画素間距離(ドットピッチとも呼ばれる)をd[mm/pix]とすると、構成されるバーコードの幅は、t・W
m・d[mm]である。そして、このt・W
m・dが、バーコードスキャナの読取可能幅W
sを超えないことが第1の条件であるので、
t・W
m・d≦W
sという式が成り立つ。これを変形すると、次の式が導かれる。
【0052】
この式より、dのとり得る最大値d
hは
【0054】
なお、端末画面の画素密度は、仕様値として1インチ当たりの画素数を意味するppi(pixel per inch)という単位を慣例的に用いる。そして、この単位を利用すると次の通りとなる。
【0055】
画素間距離d[mm/pix]に対応するppi値をPとすると、1[inch]=25.4[mm]であることから、
【0056】
【数3】
…となる。この式を変形すると、
【0060】
に代入し、不等式を整理すると次の式(A)を得る。
【0062】
この時、バーコードの1モジュールあたりの構成ドット数t[dot/mod]における画素密度Pがとり得る最小値をP
l(t)とすると、
【0064】
…となる。
ここで、P
lをt=1のときのP
l(t)の値、すなわち、
【0066】
…と置くと、
P
l(t)=t・P
l…と表記することができ、式(A)は次の式(A’)ように表記することができる。
【0068】
これは、表示させたい幅W
mのバーコードが、バーコードスキャナの読取可能幅W
sを超えないための、端末画素密度P[ppi]の条件となる。
【0069】
この式(A’)から、P
lはバーコードのモジュール幅W
mとバーコードスキャナの読取可能幅W
sに依存することが分かる。
【0070】
次に、第2の条件について考える
端末画面の画素間距離をd[mm/dot]とすると、表示させたいバーコードの最小モジュール幅は、t・d[mm]となる。この値が、バーコードスキャナの最小分解能d
sを下回らないことが必要であることから、
t・d≧d
s…という関係が必要となる。
【0071】
この式を第1の条件について考えたときと同様に、ppi値に変換し、
【0076】
この時、1モジュールあたりの構成ドット数t[dot/mod]における画素密度Pのとり得る最大値をP
h(t)とすると、
【0077】
【数15】
となる。ここで、P
hをt=1のときのP
h(t)の値、すなわち、
【0079】
【数17】
…と表記することができ、式(B)は次の式(B’)のように表記することができる。
【0081】
これがすなわち、バーコードスキャナの最小分解能d
s[mm]を下回らない端末画素密度P[ppi]の条件となる。
この式(B’)から、P
hはバーコードスキャナの最小分解能d
sにのみ依存することが分かる。
【0082】
以上、第1の条件及び第2の条件について考えた。結果、第1の条件について考えることにより導かれた式(A’)、第2の条件について考えることにより導かれた式(B’)は下記のとおりである。
【0085】
この式(A’)及び式(B’)の二つの式から、t・P
l≦P≦t・P
hという関係式が成立することが、「Pが『適正範囲』に入る条件」となる。
【0086】
ここで、上記、式(A’)と式(B’)の関係式がPについて成立せず、「Pが『適正範囲』とならない条件」、すなわち、P
l>P
hの関係となる場合を考える。
【0088】
【数22】
…となり、W
mで解くと、
【0089】
【数23】
…と導かれる。これは「不適となる条件」である。
【0090】
この関係式は、表示すべきバーコードのモジュール幅W
m[mod]が、
【0092】
を超えると、端末の画面仕様によらず、端末の画面上に表示されるバーコードは、バーコードスキャナで読み取りができないことを示している。また、その「不適となる条件」は、バーコードスキャナの仕様値のみに依存していることを意味する。そのため、この条件を考慮することにより端末の画面仕様を比較することなく、バーコードが「不適」と判定することができる。
【0094】
【数25】
は、バーコードのモジュール幅W
mが「適切な範囲」となる必要条件の一つとなる。
更に、
【0096】
は、バーコードスキャナの最小分解能d
sと同じモジュール幅で、バーコードスキャナの読取可能最大幅W
sいっぱいにバーコードを構成した場合のバーコードのモジュール幅、と解釈することができる。
【0098】
を超えている場合に、バーコードの最小モジュール幅が、バーコードスキャナの最小分解能d
sより大きくなるように、バーコードを端末画面に表示すると、端末画面上に表示されたバーコードの全体幅がバーコードスキャナの読取可能幅W
sを超える。そのため、バーコードスキャナでの読み取りができなくなる。また、そうするのではなく、W
mが
【0100】
を超えている場合に、バーコードの幅をバーコードスキャナの読取可能幅W
s以下で表示できるように端末画面に表示すると、表示されたバーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回る。そのため、バーコードスキャナでの読み取りができなくなる。つまり、どのような端末画面仕様でも、バーコードスキャナで読み取りができないバーコードとなる。
【0101】
これは、バーコードスキャナの仕様に対してバーコードのモジュール幅W
mが大きすぎることを意味する。この場合、バーコード作成者は、データを構成するエンコード桁数を削減する、あるいはモジュール幅を小さく構成できるバーコード種別に変更するといった対応が必要となる。また、エンコード桁数の削減やバーコード種別の変更を行なわないのであれば、使用を想定するバーコードスキャナを、より
【0103】
が大きい値となる機種へ変更する、という対応が必要となる。なお、これらの対応を組み合わせるようにしてもよい。例えば、データを構成するエンコード桁数を削減したりバーコード種別を変更した上で、更に、バーコードスキャナを変更するようにしてもよい。
【0106】
となるW
mはバーコードを構成する上での、バーコードの全体モジュール幅の限界である。
【0107】
例えば、バーコードスキャナの仕様が、読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]とすれば、モジュール幅W
mの限界値は、60/0.15=400[mod]となる。従って、全体モジュール幅が400[mod]を超えるバーコードは、表示する端末の画面仕様によらず、「バーコードスキャナで読み取りができない」ものとなる。なぜならば、端末の画面上に表示されるバーコードの幅がバーコードスキャナの読取可能最大幅を超えるか、バーコードを構成する最小モジュール幅がバーコードスキャナの最小分解能を下回ることとなるからである。
【0108】
以上まとめると、端末画面上に表示させるバーコードの構成を設計する場合は、バーコードのモジュール幅W
mを、この限界値を超えないように、バーコードのコード種別や、エンコード桁数等を決める必要がある。
【0110】
表示するバーコードのモジュール幅W
m(又はtW
m)が、表示する端末の画面の幅に収まるとは、表示するバーコードの幅tW
m[dot]が端末画面の幅W[pix]を超えないということで、すなわち、端末画面上にバーコード画像をはみ出さずに表示できる、という意味である。
【0111】
つまり、端末の画面幅W[pix]に対して、
t・W
m≦W → W≧t・W
m…式(C)…の関係となることが第3の条件となる。
【0112】
以上第1の条件、第2の条件及び第3の条件について説明した。
【0113】
次に、横軸をP[ppi]、縦軸をW[dot]としたP−W図である
図1を参照して、前述した第1の条件、第2の条件及び第3の条件を満たすP−W領域、すなわち、式(A’)、式(B’)、式(C)を満たすP−W領域について説明する。
【0114】
図1に表される101の領域はt=1[dot/mod]の条件下でバーコードを構成した場合に、表示するバーコードの幅とバーコードスキャナの仕様範囲を同時に満たす領域である「適正領域」に相当する。具体的には、表示させたいバーコードのモジュール幅W
mがバーコードスキャナの読取可能幅W
sを超えない最小の画素密度P
l[ppi]と、バーコードスキャナの最小分解能d
s[mm]を下回らない最大の端末画面画素密度P
h[ppi]に挟まれ、且つ、端末の画面幅Wが表示させたいバーコードのモジュール幅W
m以上である範囲を示している。
【0115】
同様に、
図1の102の領域はt=2[dot/mod]の条件下でバーコードを構成した場合の「適正領域」を示しており、
図1の103の領域はt=3[dot/mod]の条件下でバーコードを構成した場合の「適正領域」を示している。
【0116】
図1のP−W図に、任意の端末kの画面仕様である、画面幅W
k[pix]と、画面のppi値P
k[ppi]をプロットする。すなわち、k=(P
k,W
k)をプロットする。
【0117】
そして、このようにプロットしたときに、
図1の101の領域、102の領域及び103の領域の内側にk=(P
k,W
k)があれば、端末kは「適正領域」にあり、端末kでバーコードを表示でき、且つ、想定するバーコードスキャナの仕様で読み取りができることが示される。
【0118】
一方で、このようにプロットしたときに、
図1の101の領域、102の領域及び103の領域の外側の領域にk=(P
k,W
k)があれば、端末kは「適正領域」に無く、端末kでバーコードを表示できない、あるいは、表示できたとしても想定するバーコードスキャナの仕様で読み取りができない可能性が高い、と判断することができる。
【0119】
また、端末kの画面仕様k=(P
k,W
k)が、前述の「適正領域」の内側にある場合、端末kの画面上に表示すべきバーコードの条件は、「適正領域」が定義するtの条件に従う必要があることを意味する。例えば、端末kが前述の「適正領域」の1つである101の領域にあるのであれば、t=1とする必要がある。
【0120】
また、任意の端末kの画面仕様k(P
k,W
k)が前述の「適正領域」に無い場合には、この任意の端末kが単に適正ではないということが分かるだけではない。P−W図上にプロットしたk(P
k,W
k)の位置に基づいて、適正でない要因、すなわち、不適正要因も分かる。
【0121】
この点について、
図1を単純化した図である、
図2−1を参照して説明する。
【0122】
図2−1は
図1のt=1の条件での「適正領域」及び「適正ではない領域」のみを示したものである。
図2−1の201の領域は前述の
図1の101に相当し、「適正領域」を示している。一方で、
図2−1の201の領域以外の202の領域、203の領域及び204の領域は、t=1の条件下では、「適正ではない領域」ということになる。それぞれの「適正ではない領域」に任意の端末kの画面仕様k(P
k,W
k)がプロットされる場合の不適正要因は、それぞれ次のとおりである。
【0123】
<
図2−1の202の領域、すなわち、W
k<W
mの領域の不適正要因>
端末の画面幅W
kがt=1[dot/mod]の条件でも、表示させるべきバーコードのモジュール幅W
mを下回るため、端末の画面上に目的のバーコードを表示できない。
【0124】
<
図2−1の203の領域、すなわち、P
k<P
lかつ、W
k≧W
mの領域の不適正要因>
端末の画面上にt=1[dot/mod]の条件でバーコードを表示することはできる。しかしながら、画素密度が低く(画素間距離が大きく)、表示させたバーコードの幅がバーコードスキャナの読取可能幅W
sを超えてしまい、想定したバーコードスキャナの仕様では読み取りできない。
【0125】
<
図2−1の204の領域、すなわち、P
k>P
hかつ、W
k≧W
mの領域の不適正要因>
端末の画面上にt=1[dot/mod]の条件でバーコードを表示することはできる。しかしながら、画素密度が高く(画素間距離が小さく)、表示させたバーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、想定したバーコードスキャナの仕様では読み取りできない。
【0126】
以上、
図2−1を参照して説明した「適正でない領域」の場所による「不適正要因の違い」を踏まえ、t=1〜3の適正領域を定義した
図1の「適正でない領域」の「不適正要因」について
図2−2を参照して説明する。
【0127】
図2−2の211の領域、212の領域及び213の領域は、「適正領域」である
図1の101の領域、102の領域及び103の領域に相当する。
【0128】
このとき、「適正でない領域」は214の領域乃至221の領域に分類され、それぞれの領域は次のような「不適正要因」を有する。
【0129】
<
図2−2の214の領域、すなわち、W
k<W
mの領域の不適正要因>
端末の画面幅W
kがt=1[dot/mod]の条件下でも、表示させるべきバーコードのモジュール幅W
mを下回っているため、バーコードを表示できない。
【0130】
<
図2−2の215の領域、すなわち、W
k≧W
mかつP
k<P
lの領域の不適正要因>
端末の画面上にt=1[dot/mod]の条件下でバーコードを表示することはできる。しかしながら、画素密度が低く(画素間距離が大きく)、表示させたバーコードの幅がバーコードスキャナの読取可能幅W
sを超えてしまい、バーコードスキャナで読取できない。
【0131】
<
図2−2の216の領域、すなわち、W
m≦W
k<2W
mかつ、P
k>P
hの領域の不適正要因>
端末の画面上にt=1[dot/mod]の条件下でバーコードを表示することはできる。しかしながら、画素密度が高く(画素間距離が小さく)、表示させたバーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、バーコードスキャナで読取できない。
【0132】
<
図2−2の217の領域、すなわち、2W
m≦W
k<3W
mかつ、P
h<P
k<2P
lの領域の不適正要因>
端末の画面上にt=1[dot/mod]及びt=2[dot/mod]の条件下でバーコードを表示することはできる。しかしながら、t=2で表示した場合は、バーコードシンボルの幅がバーコードスキャナの読取可能幅W
sを超えてしまい、また、t=1で表示した場合は、バーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、何れの場合であってもバーコードスキャナで読取できない。
【0133】
<
図2−2の218の領域、すなわち、2W
m≦W
k<3W
mかつ、P
k>2P
hの領域の不適正要因>
端末の画面上にt=1[dot/mod]及びt=2[dot/mod]の条件下でバーコードを表示することはできる。しかしながら、何れのtの条件下でも、バーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、バーコードスキャナで読取できない。
【0134】
<
図2−2の219の領域、すなわち、3W
m≦W
k<4W
mかつ、P
h<P
k<2P
lの領域の不適正要因>(4W
mは図示を省略する)
端末の画面上にt=1[dot/mod]、t=2[dot/mod]及びt=3[dot/mod]の何れの条件下であってもバーコードを表示することはできる。しかしながら、t=2又は3で表示した場合は、バーコードの幅がバーコードスキャナの読取可能幅W
sを超えてしまい、また、t=1で表示した場合は、バーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、何れの場合であってもバーコードスキャナで読取できない。
【0135】
<
図2−2の220の領域、すなわち、3W
m≦W
k<4W
mかつ、2P
h<P
k<3P
lの領域の不適正要因>(4W
mは図示を省略する)
端末の画面上にt=1[dot/mod]、t=2[dot/mod]及びt=3[dot/mod]の何れの条件下であってもバーコードを表示することはできる。しかしながら、t=3で表示した場合は、バーコードの幅がバーコードスキャナの読取可能幅W
sを超えてしまい、また、t=1又は2で表示した場合は、バーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、何れの場合であってもバーコードスキャナで読取できない。
【0136】
<
図2−2の221の領域、すなわち、3W
m≦W
k<4W
mかつ、P
k>3P
hの領域の不適正要因>(4W
mは図示を省略する)
端末の画面上にt=1[dot/mod]、t=2[dot/mod]及びt=3[dot/mod]の何れの条件下であってもバーコードを表示することはできる。しかしながら、何れのtの条件下でも、バーコードの最小モジュール幅がバーコードスキャナの最小分解能d
sを下回り、バーコードスキャナで読取できない。
【0137】
次に、再度
図1を参照して、二つの端末(端末k1及び端末k2)について考える。
【0138】
端末k1の画面の仕様に対応する点である
図1の104は、前述の「適正領域」の一つに入っている。つまり、端末k1は「適正領域」に入る端末の例である。この端末k1は、t=2[dot/mod]の構成であれば、表示したいバーコードを画面上に表示でき、また、バーコードスキャナの読取可能幅及び最小分解能の仕様範囲で読取できる、という範囲内にあることが分かる。
【0139】
端末k2の画面の仕様に対応する点である
図1の105は、前述の「適正領域」の一つに入っていない。つまり、端末k1は「適正領域」に入らない端末の例である。この端末k2の縦軸方向はW
m<W
k2<2W
m、横位置が2P
h<P
k2<3P
lの位置である。そのため、
図2−2の216の領域に相当し、t=1[dot/mod]の構成であれば、表示したいバーコードを画面上に表示することができる。しかしながら、表示されるバーコードの最小モジュール幅がバーコードスキャナの最小分解能の仕様値を下回り、使用を想定するバーコードスキャナの仕様では、読み取りできないことが分かる。
【0140】
次に、「適正率」の算出について説明する。
【0141】
前述の「適正領域」をU、n種類の端末k1、k2…knの点集合をkとする。また、適正領域Uの範囲内にある端末kの数、すなわち、k∈Uとなる端末の数をmとする。すると、端末の適正率zをz=m/n(0≦z≦1)とすることができる。これにより、使用したいバーコードの構成仕様、バーコードスキャナの仕様、端末の画面仕様をそれぞれ考慮した「適正率」を算出することができる。
【0142】
以上により、「『使用したいバーコード』が適切かどうか」という課題に対し、定量的な「適正率」の値そのものを算出することができる。また、算出した「適正率」を、他の条件下で算出された他の「適正率」の値と比較することによって「評価」を行なうことが可能となる。
【0143】
以上説明した各変数及び各式等についてまとめると以下のようになる。
【0149】
式(D)は式(A’)及び式(B’)の双方が成立するために必要なW
mの範囲を示す式である。式(A’)及び式(B’)の説明の際に「不適となる条件」として説明したように
【0151】
の場合にP
l>P
hの関係となり、式(A’)、式(B’)が成立しなくなる。そのため、式(A’)、式(B’)の双方が成立するためにはモジュール幅W
mが上記式(D)の範囲にあることが前提となる。
【0152】
<使用する変数一覧(単位は一般的に想定されるものを使用している)>
[定義]
W
m:表示させたいバーコードの横モジュール幅であり、単位は[mod]とする。また、W
mは、正の整数である。
t:バーコード画像の1モジュールあたりの構成ドット数であり、単位は[dot/mod]とする。tは、正の整数である。
W
s:バーコードスキャナの読取可能なバーコードの幅の上限であり、単位は[mm]とする。W
sは、正の数である。
d
s:バーコードスキャナの最小分解能であり、単位は[mm]とする。d
sは、正の数である。
【0155】
:表示させたいバーコード幅t・W
mがバーコードスキャナの読取可能幅W
sを超えない最大の画素間距離[mm/dot]。
【0157】
:d
h[mm/dot]に対応する最小のppi値[ppi]。→表示させたいバーコード幅t・W
mがバーコードスキャナの読取可能幅W
sを超えない最小の画素密度[ppi]。
【0162】
:バーコードスキャナの最小分解d
s[mm]を下回らない最大の端末画面ppi値[ppi]。
【0163】
【数40】
とし、次のように式を記述する。
【0165】
[その他]
d:(任意の)端末の画素間距離[mm/pix]。
【0167】
:(任意の)端末画面の画素間距離d[mm/pix]を[ppi]に変換。
W:(任意の)端末の画面幅[pix]。
【0168】
なお、これらを説明する図は、特に
図1、
図2−1及び
図2−2である。また、本評価方法に特に関連する式は、式(A)’、式(B)’、式(C)、式(D)である。
【0169】
次に、本発明の実施例について図を参照して具体的に説明する。以下の説明では、5つの実施例について詳細に説明するが、まずこれら5つの実施例について簡略に説明する。
【0170】
まず、実施例1は、画像表示装置及びバーコード読取装置を評価するための評価装置に関する実施例である。
【0171】
また、実施例2は、複数の画像表示装置及び複数のバーコード読取装置を評価するための評価装置に関する実施例である。
【0172】
更に、実施例3は、複数の画像表示装置で表示可能であって特定のバーコード読取装置で読み取り可能なバーコードを決定する評価装置に関する実施例である。
【0173】
実施例4は、複数の画像表示装置で表示可能である特定のバーコードを読み取るバーコード読取装置の仕様を決定するバーコード読取装置の仕様決定装置に関する実施例である。
【0174】
実施例5は、画像表示装置に表示するバーコード画像を生成するバーコード画像生成システムに関する実施例である。
【実施例1】
【0175】
実施例1について詳細に説明する。実施例1は、使用したいバーコードが、表示したい端末で表示でき、且つ、使用を想定するバーコードスキャナで読み取り可能か否かを判定する評価装置に関するものである。なお、以下の各実施例における、バーコードは本発明の「バーコード画像」に相当する。また、端末は、本願発明の「画像表示装置」に相当する。更に、バーコードスキャナは本発明の「バーコード読取装置」に相当する。更に、評価装置は、本願発明の「バーコード評価装置」に相当する。
【0176】
まず、
図3を参照して、かかる評価装置の構成例について説明する。
図3を参照すると評価装置の一構成例である評価装置10は、CPU(Central Processing Unit)11、記憶装置群12、画像出力部13及びI/O(Input/Output)14を含む。また、これら評価装置10に含まれる各部は、評価装置10内に設けられたバスライン15を介して相互に通信可能に接続される。
【0177】
更に、画像出力部13には、表示装置21が接続される。更に、I/O14には、入力装置22が接続される。
【0178】
CPU11は、記憶装置群12に格納されたプログラムに基づいた演算処理を行い、演算結果に基づいて評価装置10全体を制御する。また、CPU11は、同様にして、使用したいバーコードが、表示したい端末で表示でき、且つ、使用を想定するバーコードスキャナで読み取り可能か否かを判定する。
【0179】
記憶装置群には、各種の記憶装置が含まれる。例えば、RAM(Random Access Memory
)といった主記憶装置や、ROM(Read Only Memory)や、HDD(Hard disk drive)あるいはSSD(Solid State Drive)といった補助記憶装置が含まれる。これらの記憶装置は、変数や、プログラムや、その他表示に必要な情報等を記憶する。
【0180】
画像出力部13は、CPU11の指示に従って画像を出力する部分である。画像出力部13が出力した画像信号は表示装置21に出力される。
【0181】
表示装置21は、使用したいバーコードが、表示したい端末で表示でき、且つ、使用を想定するバーコードスキャナで読み取り可能か否の判定結果を、ユーザに参照させるための装置である。表示装置21は、例えば、液晶ディスプレイにより実現される。
【0182】
また、I/O14は、評価装置10に外部機器を接続するための部分である。I/O14には例えば入力装置22が接続される。
【0183】
入力装置22は、ユーザの入力を受け付ける装置であり、例えばキーボードにより実現される。ユーザが、入力装置22を利用して例えば、バーコードの幅、バーコードスキャナの仕様、端末の画面仕様といった情報を入力する。すると、入力された情報は、I/O14を介して評価装置10入力される。そして、これらの情報は、CPU11により処理される。
【0184】
なお、評価装置10は、本実施例特有の装置として実現されても良いが、汎用の、例えばパーソナルコンピュータ等の装置に、本実施例特有のプログラムを組み込むことにより実現してもよい。
【0185】
次に、或るバーコードが、或る端末で表示可能で、且つ、或るバーコードスキャナで読み取り可能か否かを判定する際の、評価装置10の処理について、
図4のフローチャートを参照して説明する。
【0186】
まず、ステップS401、ステップS402及びステップS403で、バーコードの幅、バーコードスキャナの仕様、及び端末の画面仕様、といった評価のために必要な情報の入力を受け付ける。
【0187】
具体的には、ユーザが入力装置22等の装置を用いて必要な情報を入力する。そして、評価装置10は、この必要な情報をI/O14を介して受け付ける。なお、評価装置10に、ネットワークを介したデータ通信を行なうための通信部を更に含ませるようにしても良い。そして、必要な情報の一部又は全部を、通信部を介したデータ通信により、外部の装置から取得するようにしても良い。
【0188】
具体的に、ステップS401では、使用したいバーコードを識別するための情報(例えば、使用したいバーコードの名称)と、このバーコードの、バーコードシンボルとバーコードの左右余白とを含む全体モジュール幅W
m[mod]の入力を受け付ける。
【0189】
ステップS402では、使用を想定するバーコードスキャナを識別するための情報(例えば、使用を想定するバーコードスキャナの名称)と、このバーコードスキャナの最小分解能d
s[mm]及びこのバーコードスキャナの読取可能最大幅W
s[mm]の入力を受け付ける。
【0190】
ステップS403では、使用を想定する端末を識別するための情報(例えば、使用を想定する端末の名称)と、この端末の画面仕様である、画面幅(ピクセル数)W
k[pix]及び画素密度P
k[ppi]の入力を受け付ける。
【0191】
ここで、使用したいバーコードのモジュール幅W
mは、使用したいバーコードのコード種別やエンコードする情報桁数等の、「使用したいバーコード」の構成条件に依存する。そのため、使用したバーコードの種類やエンコードする情報桁数等が予め決定されているならば、使用したいバーコードのモジュール幅W
mを事前に算出することができる。
【0192】
ここで、コード種別やエンコードする情報桁数等の、「使用したいバーコード」の構成条件に応じたモジュール幅W
mの計算式の例を表1に示す。
【0193】
【表1】
【0194】
なお、ステップS401では、ユーザからモジュール幅W
mそのものを受け付けても良い。つまり、ユーザが、コード種別やエンコードする情報桁数等の、「使用したいバーコード」の構成条件に基づいて予め算出したモジュール幅W
mを受け付けても良い。
【0195】
しかし、そうするのではなく、ユーザからモジュール幅W
mの算出に必要な、コード種別やエンコードする情報桁数等の、「使用したいバーコード」の構成条件等の情報を受け付け、評価装置10がモジュール幅W
mを算出するようにしても良い。
【0196】
その場合は、評価装置10に、表1に示した計算式に基づいた算出を行なうための機能を実装する。そのためには、例えば、表1に示した計算式に基づいた算出を行なうためのプログラムを記憶装置群12に格納しておく。そして、CPU11が、このプログラムに基づいた演算を行なうことによりモジュール幅W
mを算出する。
【0197】
モジュール幅W
mの算出に必要な情報は、例えばステップS401の段階でユーザが入力する、コードの種類、データの桁数、及びその他コードに依存した必要な情報(例えば、CODABARのNW比等)を受け付ける。そして、これらの情報に基づいてモジュール幅W
mを算出して得れば良い。
【0198】
次に、ステップS401、ステップS402及びステップS403で受け付けた情報に基づいて、バーコードの適否判定処理を開始する(ステップS404)。
【0199】
ここで、ステップS404では、端末の画面仕様については考慮せず、バーコード寸法がバーコードスキャナの仕様に対して適切か否かをまず判断する。
【0200】
具体的には、バーコードスキャナの読取可能幅W
s[mm]と同じ幅のバーコードが、バーコードスキャナの最小分解能d
s[mm]を最小モジュール幅として構成した場合のモジュール幅、すなわち、
【0201】
【数43】
【0202】
が、ステップS401で入力したバーコードの幅W
m[mod]以上かどうか、すなわち、
【0203】
【数44】
となっているか否かを判定する。この判定で
【0204】
【数45】
【0205】
の関係が成立していない場合は(ステップS404においてNo)、ステップS405に進む。
【0206】
ここで、
【0207】
【数46】
【0208】
とは、バーコードスキャナで読取可能なバーコードの最大幅(モジュール幅)である。式(A’)及び式(B’)の説明の際に前述したように、理論上、
【0209】
【数47】
【0210】
を超えるモジュール幅をもつバーコードシンボルは、端末の画面に表示できたとしても、バーコードの全体幅がバーコードスキャナの読取可能幅を超えるか、バーコードスキャナの最小分解能を下回ることになり、バーコードスキャナで読み取りできない。
【0211】
例えば、或るバーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]とすれば、
【0212】
【数48】
【0213】
となり、モジュール幅W
mが400[mod]を超えるバーコードは、表示する端末の画面仕様を考慮するまでもなく、この或るバーコードスキャナでは読み取りできない、ということになる。
【0214】
ステップS405では、「バーコード寸法がバーコードスキャナ仕様に不適合」である旨を表示装置21に出力し、ステップS412に進んでNG判定となり、ステップS413で一連の判定処理を終了する。
【0215】
一方、ステップS404の判定で
【0216】
【数49】
【0217】
の関係が成立していれば(ステップS404においてYes)、ステップS406に進む。
【0218】
ステップS406では、ステップS401で入力されたモジュール幅W
mを持つバーコードが、ステップS403で入力された画面仕様を持つ端末の画面に表示可能であるか否かを判断する。具体的には、バーコードのモジュール幅W
mが端末画面幅W
k以下であれば、バーコードは端末に「表示可能」であり、そうでなければ「表示不能」、となる。
【0219】
ステップS406の判定で「表示不能」であれば(ステップS406においてNo)、ステップS407に進む。
【0220】
そして、ステップS407では「バーコードは端末画面上に表示不能」である旨を表示装置21に出力し、ステップS412に進んでNG判定となり、ステップS413で一連の判定処理を終了する。
【0221】
一方、406の判定で「バーコードは端末画面上に表示可能」であれば(ステップS406においてYes)、ステップS408に進む。
【0222】
ステップS408では、モジュール幅W
mのバーコードを、端末画面上に表示した場合、バーコードの最小モジュール幅がバーコードスキャナの最小分解能より大きく、且つ、端末画面上に表示したときのバーコードの幅[mm]がバーコードスキャナの読取可能幅以下であるか否かを判定する。
【0223】
具体的には、次のように計算する。
【0224】
表示するバーコードの最小モジュール幅をt[dot/mod]とすると、
【0225】
【数50】
【0226】
となる整数を最大値として、1[dot/mod]、2[dot/mod]…、となる。
このとき、tのとり得る範囲で、端末の画素密度P
kに対し
【0227】
【数51】
【0228】
【数52】
【0229】
…の二式が同時に成立するtが存在するか否かを判定する。判定の結果、二式が同時に成立するtが一つも存在しなければ「読取不能」となり(ステップS408においてNo)、ステップS409に進む。そして、ステップS409では、「バーコードは表示可能だが、バーコードスキャナで読取不能」である旨を表示装置21に出力し、ステップS412に進みNG判定となり、ステップS413で一連の判定処理を終了する。
【0230】
一方で、式(A’)、式(B’)が同時に成立するtが一つでも存在すれば、「読取可能」となり(ステップS408においてYes)、ステップS410に進む。ステップS410では「バーコードは表示可能でバーコードスキャナで読取可能」である旨を表示装置21に出力する。なお、この場合に、式(A’)、式(B’)が同時に成立するtの値がいくつであるのかも表示するようにしても良い。そして、ステップS411に進み、OK判定となり、ステップS413で一連の判定処理を終了する。
【0231】
ステップS413で一連の判定処理終了後、
図5の様に、縦軸を端末画面幅W[pix]、横軸を画素密度P[ppi]としたP−W平面に、式(A’)、式(B’)及びW≧t・W
mの全てが同時に成立する領域を表す。本例では、これら全てが同時に成立する領域として501の領域及び502の領域を示す。
【0232】
そして、そのP−W平面上に、判定処理の対象とした端末の、画素密度P
k[ppi]及び画面幅W
k[pix]に対応する点、すなわち、判定処理の対象とした端末の画面仕様に対応する点をプロットする。
【0233】
そして、式(A’)、式(B’)及びW≧t・W
mの全てが同時に成立する領域を示すと共に、判定処理の対象とした端末の画面仕様に対応する点をプロットした、かかるP−W平面を表示装置21に表示する等の方法で出力する。
【0234】
例えば、
図5に示されるように、判定処理の対象とした端末の画面仕様に対応する点である503をプロットした図を表示する。このようにすることで、幅W
m[mod]のバーコードを、画素密度P
k[ppi]、画面幅W
k[pix]の端末画上に表示しようとしたときに表示でき、且つ、最小分解能d
s[mm]と読取可能最大幅W
s[mm]のバーコードスキャナで読取可能となるかどうか、すなわち、バーコード幅、端末画面仕様、バーコードスキャナ仕様の関係が「適正」であるか否かが可視化され、端末の画面を参照したユーザが視覚的に確認することができる。
【0235】
例えば、ユーザが、
図5が表示された表示装置21を参照すると、端末kの画面仕様に対応する点である503が、t=2の条件下であれば「適正領域」にあることが分かる。つまり、端末kについて、t=2の条件下であれば、バーコード幅、端末画面仕様、バーコードスキャナ仕様の関係が「適正」となることが分かる。
【0236】
また、式(A’)、式(B’)及びW≧t・W
mの全てが同時に成立する領域に端末の画素密度P
k[ppi]、画面幅W
k[pix]の点kが入らない場合は何らかの原因で「適正でない」ことが分かる。更に、式(A’)と式(B’)及びW≧t・W
mがの全て同時に成立する領域と点kの位置関係により、適正でない「原因」と、「どの程度」適正ではないのかも判断することができる。
【0237】
例えば、
図5に示される、端末k1の画面仕様に対応する点である504は、501の領域及び502の領域の何れの領域にも無い。つまり、端末k1の画面仕様は、バーコード幅及びバーコードスキャナ仕様との関係で、「適正でない」ことを意味する。この時、端末k1の画面仕様に対応する点である504の縦軸W
k1はW
mと2W
mの間に位置するため、t=1の条件でのみ「表示可能」と分かる。しかし、t=1の場合の適正領域である501の領域より右側、すなわち端末k1の画面仕様に対応する点である504の横軸P
k1はP
hより大きい。そのため、t=1の条件で端末にバーコードを端末上に表示した場合、表示されたバーコードの最小モジュール幅がバーコードスキャナの最小分解能を下回るためバーコードスキャナで読み取りできない、という「不適正要因」が分かる。また、端末k1の画面仕様に対応する点である
図5の504の例で、504が、どの程度適正領域境界から離れているかを、
【0238】
【数53】
【0239】
で定量化し、不適の「程度」を測ることができる。
【0240】
また、端末k2の画面仕様に対応する点である
図5の505は端末k1の画面仕様に対応する点である504同様、501の領域及び502の領域の何れの領域にも無い。つまり、端末k2の画面仕様は、バーコード幅及びバーコードスキャナ仕様との関係で、「適正でない」ことを意味する。この時、端末k2の画面仕様に対応する点である505の縦軸W
k2はW
mと2W
mの間に位置するため、t=1の条件でのみ「表示可能」と分かる。
【0241】
しかし、t=1の場合の適正領域である501の領域よりより左側、すなわち点k2の横軸P
k2はP
lより小さい。そのため、t=1の条件で端末にバーコードを端末上に表示した場合、表示されたバーコードの全体幅がバーコードスキャナの読取可能幅を上回り、バーコードスキャナで読み取りできない、という「不適正要因」が分かる。また、端末k2の画面仕様に対応する点である
図5の505の例で、505が、どの程度適正領域境界から離れているかを、
【0242】
【数54】
【0243】
で定量化し、不適の「程度」を測ることができる。
【0244】
以上説明した本実施例では、バーコード幅、端末画面仕様、バーコードスキャナ仕様の関係が「適正」となるか否かを評価することができる。また、適正でない場合には、適正でない「原因」と、「どの程度」適正ではないのかも分かる。そして、これらの情報を可視化して、ユーザに提示することより、ユーザが視覚的にこれらの情報を把握することが可能となる、という効果を奏する。
【実施例2】
【0245】
次に、実施例2について説明する。実施例2は、使用したい複数のバーコードが、表示したい複数の端末で表示でき、且つ、使用を想定する複数のバーコードスキャナで読み取り可能か否かを判定する評価装置に関するものである。
【0246】
本実施例は、複数のバーコードと複数のバーコードスキャナ、及び、複数の端末で、端末画面上にバーコードを表示でき、かつバーコードスキャナで読み取りが可能かどうかを総合的に判断する手段として有効である。
【0247】
本実施例における評価装置10の構成は、
図3を参照して説明した実施例1の構成と同様であるため、再度の説明を省略する。
【0248】
次に、あるバーコードが、ある端末で表示可能で、且つ、あるバーコードスキャナで読み取り可能かどうかを判定する際の評価装置10の処理を、
図6のフローチャートを参照して説明する。ここで、
図6のフローチャートに示される処理は、
図4を参照して説明した実施例1における処理を変形し、複数のバーコード、複数の端末、複数のバーコードスキャナで読み取り可能か否かを判定することができるようにしたものである。
【0249】
まず、ステップS601、ステップS602及びステップS603で、複数のバーコードの幅、複数のバーコードスキャナの仕様、及び複数の端末の画面仕様、といった評価のために必要な情報の入力を受け付ける。具体的には、ユーザが入力装置22等の装置を用いて必要な情報を入力する。そして、評価装置10は、この必要な情報をI/O14を介して受け付ける。なお、評価装置10に、ネットワークを介したデータ通信を行なうための通信部を更に含ませるようにしても良い。そして、必要な情報の一部又は全部を、通信部を介したデータ通信により、外部の装置から取得するようにしても良い。
【0250】
より具体的には、ステップS601では、使用したいバーコードを識別するための情報(例えば、使用したいバーコードの名称)、このバーコードの、バーコードシンボルとバーコードの左右余白とを含む全体モジュール幅W
m[mod]の入力を複数のバーコードの分受け付ける。
【0251】
ステップS602では、使用を想定するバーコードスキャナを識別するための情報(例えば、使用を想定するバーコードスキャナの名称)、このバーコードスキャナの最小分解能d
s[mm]とこのバーコードスキャナの読取可能最大幅W
s[mm]の入力をバーコードスキャナ複数台分受け付ける。
【0252】
ステップS603では、使用を想定する端末を識別するための情報(例えば、使用を想定する端末の名称)と、この端末の画面仕様である、画面幅(ピクセル数)W
k[pix]及び画素密度P
k[ppi]の入力を端末複数台分受け付ける。
【0253】
入力された情報は、それぞれ所定のデータベースに格納され、記憶される。具体的には、バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3に記録される。ここで、これら3つのデータベースは、評価装置10の記憶装置群12に含まれる何れかの記憶装置により実現されるものとする。なお、今回の処理に伴って実行されるステップS601、ステップS602及びステップS603において情報が入力されても良いが、入力されるべき情報の一部又は全部を、予め、バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3に記録しておくようにしても良い。
【0254】
ここで、入力される情報とデータベースとの対応について説明する。
【0255】
バーコード情報データベース12−1には、ステップS601にて入力されるバーコード情報、すなわち、使用したいバーコードを識別するための情報(例えば、使用したいバーコードの名称)、このバーコードの、バーコードシンボルとバーコードの左右余白とを含む全体モジュール幅W
m[mod]、といった情報が複数のバーコード分格納される。ここで、使用したいバーコードのモジュール幅W
mは、実施例1と同様、使用するバーコードの種類やエンコードする情報桁数等、「使用したいバーコード」の構成条件に依存し、事前に算出することができる。また、実施例1同様に、評価装置10が、表1に示した計算式等に基づいてモジュール幅W
mを算出するようにしてもよい。
【0256】
また、バーコードスキャナ情報データベース12−2には、ステップS602にて入力されるバーコードスキャナ情報、すなわち、使用を想定するバーコードスキャナを識別するための情報(例えば、使用を想定するバーコードスキャナの名称)、このバーコードスキャナの最小分解能d
s[mm]とこのバーコードスキャナの読取可能最大幅W
s[mm]、といった情報がバーコードスキャナ複数台分格納される。
【0257】
また、端末情報データベース12−3には、ステップS603にて入力される端末情報、すなわち、使用を想定する端末を識別するための情報(例えば、使用を想定する端末の名称)と、この端末の画面仕様である、画面幅(ピクセル数)W
k[pix]及び画素密度P
k[ppi]といった情報が端末複数台分格納される。
【0258】
このとき、バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3の各データベース上では、それぞれのデータをn番目のデータとして取り扱う。また、評価装置10のCPU11は、必要に応じてn番目のデータを取り出すことができるものとする。バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3の各データベースの記録状態の例を、表2、表3及び表4として以下に示す。
【0259】
【表2】
【0260】
【表3】
【0261】
【表4】
【0262】
これら各データベースに情報が格納されたのち、
図6のステップS604から適否判定処理に入るので、この処理について説明を行なう。
【0263】
ステップS604ではバーコード情報データベース12−1から、未判定のバーコード幅情報W
m[mod]を取り出す。次に、ステップS605で、未判定のバーコードスキャナ仕様である、バーコードスキャナの最小分解能d
s[mm]と読取可能最大幅W
s[mm]を取り出す。次に、606で、バーコードスキャナ情報データベース12−2から未判定の端末の画面仕様である、画面幅(ピクセル数)W
k[pix]と画素密度P
k[ppi]を取り出す。このように、本実施例では、判定処理のたびに未判定の情報を取り出して、判定対象を変更することにより、複数のバーコード、複数のバーコードスキャナ仕様、及び複数の端末の画面仕様の、各組み合わせについて判定を行なう。
【0264】
次に、ステップS607に進み、端末の画面仕様によらず、バーコード寸法がバーコードスキャナの仕様に対して適切かどうかを判断する。
【0265】
具体的な判定方法は、実施例1の
図4のステップS404の判定方法と同様、
【0266】
【数55】
【0267】
が、ステップS604で取り出したバーコードの幅W
m[mod]より大きいかどうか、以上かどうか、すなわち、
【0268】
【数56】
となっているかどうかを判定する。この判定で
【0269】
【数57】
【0270】
の関係が成立していない場合は(ステップS607においてNo)、ステップS608に進む。
【0271】
ステップS608では、端末画面仕様を問わず「バーコード寸法がバーコードスキャナ仕様に不適合」と判断し、ステップS616に進んでNG判定とする。そして、ステップS619で、端末仕様の個別確認処理をすることなく、今回判定の対象としている、モジュール幅W
mを持つバーコードが、全ての端末でNGという判定結果を判定結果データベース12−4に記録する。更に、全ての端末の判定が終了した、という扱いにしたうえで、次の処理であるステップS620に進む。ここで、判定結果データベース12−4は、判定結果を記憶するデータベースである。また、判定結果データベース12−4は、バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、及び端末情報データベース12−3の3つのデータベースと同様に、評価装置10の記憶装置群12に含まれる何れかの記憶装置により実現されるものとする。
【0272】
一方、ステップS607の判定で
【0273】
【数58】
【0274】
の関係が成立していれば(ステップS607においてYes)、ステップS609に進む。
【0275】
ステップS609では、実施例1の
図4のステップS406と同様、ステップS604で入力され、今回判定の対象としている、モジュール幅W
mを持つバーコードが、ステップS606で入力され、今回判定の対象としている、画面仕様を持つ端末の画面に表示可能であるか否かを判断する。具体的には、バーコードのモジュール幅W
mが端末画面幅W
k以下であれば、バーコードは端末に「表示可能」であり、そうでなければ「表示不能」、となる。
【0276】
ステップS609の判定で「表示不能」であれば(ステップS609においてNo)、ステップS610に進む。
【0277】
ステップS610では「バーコードは端末画面上に表示不能」と判断し、ステップS615に進んでNG判定とする。そして、ステップS617では、判定した端末の情報、バーコードのモジュール幅情報、バーコードスキャナの仕様情報と判定結果を判定結果データベース12−4に記録し、次の処理であるステップS618に進む。
【0278】
一方、ステップS609の判定で「バーコードは端末画面上に表示可能」であれば(ステップS609においてYes)、ステップS611に進む。
【0279】
ステップS611では、実施例1の
図4のステップS408と同様、今回判定の対象としているモジュール幅W
mのバーコードを今回判定の対象としている端末画面上に表示した場合、バーコードの最小モジュール幅が今回判定の対象としているバーコードスキャナの最小分解能より大きく、且つ、端末画面上に表示したときのバーコードの幅が今回判定の対象としているバーコードスキャナの読取可能W
s[mm]幅以下であるか否かを判定する。
【0280】
具体的には、実施例1と同様に、次のように計算する。
【0281】
表示するバーコードの最小モジュール幅をt[dot/mod]とすると、
【0282】
【数59】
【0283】
となる整数を最大値として、1[dot/mod]、2[dot/mod]…、となる。
このとき、tのとり得る範囲で、端末の画素密度P
kに対し
【0284】
【数60】
【0285】
【数61】
【0286】
…の二式が同時に成立するtが存在するか否かを判定する。判定の結果、二式が同時に成立するtが一つも存在しなければ「読取不能」となり(ステップS611においてNo)、ステップS612に進む。
【0287】
ステップS612で、「バーコードは表示可能だが、バーコードスキャナで読取不能」と判断してステップS615に進んでNG判定とする。また、ステップS617で判定した端末の情報、バーコードのモジュール幅情報、バーコードスキャナの仕様情報と判定結果を判定結果データベース12−4に記録する。そして、次の処理であるステップS618に進む。
【0288】
このとき、バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3の各データベース上では、それぞれのデータをn番目のデータとして取り扱う。また、評価装置10のCPU11は、必要に応じてn番目のデータを取り出すことができるものとする。バーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3の各データベースの記録状態の例は、表2、表3及び表4に示されている。
【0289】
ここで、判定結果データベース12−4の記録状態の例を、表5として以下に示す。
【0290】
なお、判定結果に加えて、判定過程で計算した値、及び、ステップS608、ステップS610及びステップS612で「不適合」と判断した理由を付帯情報として追加しても良い。本実施例では、使用したいバーコード、バーコードスキャナの仕様、及び端末の画面仕様の全てについて総当りで判定を行なう。そのため、判定結果のレコードの総数は、端末の数×バーコードスキャナの数×バーコードの数になる。ただし、通常は全ての組み合わせについて判定を行うが、仮に何らかの理由がある場合には、一部の組み合わせについて判定を行なうようにしてもよい。
【0291】
【表5】
【0292】
ステップS618では、ステップS603で入力された端末情報、すなわち、端末情報データベース12−3に記録されている端末のうち、ステップS609及びステップS611での判定処理が行われていない端末が残っているか否かを確認する。この時、未判定の端末があれば(ステップS618においてNo)、ステップS606に戻り、改めて未判定の端末を選択して判定処理を行う。一方で、未判定の端末が無ければ(ステップS618においてYes)、ステップS620に進む。
【0293】
ステップS620では、ステップS602で入力されたバーコードスキャナの仕様情報、すなわち、バーコードスキャナ情報データベース12−2に記録されているバーコードスキャナのうち、ステップS607及びステップS611での判定処理が行われていないバーコードスキャナが残っているか否かを確認する。この時、未判定のバーコードスキャナがあれば(ステップS620においてNo)ステップS605に戻り、改めて未判定のバーコードスキャナを選択して判定処理を行う。一方で、未判定のバーコードスキャナが無ければ(ステップS620においてYes)、ステップS621に進む。
【0294】
ステップS621では、ステップS601で入力されたバーコードのモジュール幅情報、すなわち、バーコード情報データベース12−1に記録されているバーコードのうち、ステップS607、ステップS609及びステップS611で判定処理が行われていないバーコードが残っているか否かを確認する。この時、未判定のバーコードがあれば(ステップS621においてNo)、ステップS604に戻り、改めて未判定のバーコードを選択して判定処理を行う。一方で、未判定のバーコードが無ければ(ステップS621においてYes)、ステップS622に進む。ここで、ステップS621においてYesとなったということは、使用したいバーコード、バーコードスキャナの仕様、及び端末の画面仕様の全ての組み合わせについて判定が行われたということとなる。そのため、この段階で、判定処理は終了する。
【0295】
そして、ステップS622では、一連の判定過程で記録されている判定結果(判定結果データベース12−4に記憶されている情報)をもとに、判定結果を出力する。出力は、例えば表示装置21に判定結果を表示することにより行われる。
【0296】
この時、判定結果データベース12−4の記録情報を全て出力してもよいが、バーコードスキャナの種類とバーコード幅別に分けてリスト形式で表示してもよい。この場合の結果表示例は、以下の表6に表わされる様になる。この時、バーコードスキャナの種類とバーコード幅別に、判定結果が「OK」となった端末の数を、判定対象とした端末の数で除算した値を「適合率」と定義して算出することができる。また、算出した「適合率」も例えばユーザに対して出力することができる。
【0297】
ここで、判定対象とした端末全てについて、判定結果がOKとなった場合の適合率は1となる。一方で、判定結果がOKとならなかった端末が増えるほど適合率は1よりも小さくなる。つまり、より1に近い値の方が「適合率」が良いといえる。そして、それぞれの条件における「適合率」の値を比較することにより、どのバーコードスキャナの種類とバーコード幅の組み合わせが最も好ましいかを判断することが可能となる。
【0298】
【表6】
【0299】
また、
図1等を参照して前述したように、判定処理の結果について可視化して、視覚的に表示してもよい。具体的には、横軸に端末画面密度P、縦軸に端末画面幅WとしたP−W平面をバーコードスキャナの種類とバーコード幅毎に作成する。そして、作成した各P−W平面上にステップS607、ステップS609、及びステップS611の判定過程で計算した適合領域を示す。更に、各端末の画素密度と画面幅をP、Wとした点をプロットする。このようにすることで、判定処理の結果について可視化して、視覚的に表示しても良い。
【0300】
このように判定結果をP−W平面上に視覚的に表示した場合の一例が
図7に表わされている。ここで、
図7は下記の表7に表す画面仕様である端末k1乃至k12を対象に、モジュール幅W
m=308[mod](1種類)、バーコードスキャナの仕様が、最小分解能0.15[mm]、読取可能幅60[mm](1種類)の場合に、
図6のフローチャートに記載の処理に従って判定した結果を前述のP−W平面にプロットしたものである。
【0301】
図7の701の領域内、702の領域内及び703の領域内にある点(に対応する端末)が「判定OK」となる点(に対応する端末)である。この時、701の領域内、702の領域内及び703の領域内の領域内にある点が6点であることから、判定結果が「判定OK」となった端末の数は6となり、これを判定対象とした端末の数12で除算した値である「適合率」は6/12=0.5と算出できる
【0302】
【表7】
【0303】
更に、使用予定の全端末の数量中に、使用予定の各端末の数量が占める割合である「存在率(又は稼働率)」が分かっている場合は、その存在率情報を加味することができる。具体的には、OK判定となった端末の存在率(又は稼働率)をそれぞれ加算することで、「実効適合率」として算出することもできる。算出した「実効適合率」は例えばユーザに対して出力することができる。
【0304】
ここで、「実効適合率」の考え方について説明する。実際にバーコードを端末に表示して、バーコードスキャナで読み取る場面を想定した場合に、少数しか存在しない(又は少数しか稼働していない)端末が使用される可能性よりも、多数存在する(又は多数稼働している)端末が使用される可能性の方が高いと考えられる。
【0305】
そのため、多くの種別の端末でOK判定となったとしても、それらの端末の存在率(又は稼働率)が極めて低いのであれば、表示や読み取りに失敗する場面が多くなると考えられる。一方で、少数の種別の端末でしかOK判定とならなかったとしても、それらの端末の存在率(又は稼働率)が極めて高いのであれば、表示や読み取りに成功する場面が多くなると考えられる。
【0306】
つまり、各端末の存在率(又は稼働率)が大きく異なるような場合には、「適合率」のみでは、適切な評価を行いきれない場合も想定される。
【0307】
そのため、適合率に加えて、OK判定となった端末の存在率(又は稼働率)をそれぞれ加算して、端末の存在率(又は稼働率)を考慮した「実効適合率」を算出する。「実効適合率」は、少数しか存在しない(又は少数しか稼働していない)端末で判定OKとなる場合より、多数存在する端末(又は多数稼働している)で判定OKとなる場合に高くなる。
【0308】
こうすることにより、「適合率」が同じような値であった場合でも、各端末の存在率(又は稼働率)を考慮した、他の観点からの評価を行なうことが可能となる。
【0309】
下記の表8は、表7に記載した画面仕様の各端末について、前述のバーコードスキャナ仕様とバーコード幅(最小分解能0.15[mm]、読取可能幅60[mm]モジュール幅W
m=308[mod])の場合について判定を行った際の判定結果を示している。そして、判定結果に基づいて算出された実効適合率も示している。
【0310】
この例では、OK判定となった各端末の存在率を加算した値が0.62であるため、実効適合率は0.62となる。
【0311】
【表8】
【0312】
ステップS622で結果を表示したら、ステップS623に進み、処理を終了する。また、参照元のデータベースであるバーコード情報データベース12−1、バーコードスキャナ情報データベース12−2、端末情報データベース12−3の各データベースに新たにデータが登録されるような場合(再度ステップS601乃至ステップS603の何れか又は全てが行われるような場合)には、判定結果も異なったものとなる。このような場合には、この新たなデータにも基づいた判定を行なうために、参照元のデータベースを再度参照し、再度の判定及び判定結果の出力を行なうようにしてもよい(再度のステップS604乃至ステップS623)。
【0313】
以上説明した本実施例では、複数のバーコードと複数のバーコードスキャナ、及び、複数の端末で、端末画面上にバーコードを表示でき、かつバーコードスキャナで読み取りが可能かどうかを判定することができる。
【0314】
更に、本実施例では、適合率や実効適合率を算出できることから、総合的な評価を行なうことが可能となる、という効果を奏する。
【0315】
なお、以下に
図7の各領域を特定するための数式を参考のために記載する。
<参考>
モジュール幅W
m=308[mod]、バーコードスキャナの仕様が、最小分解能d
s=0.15[mm]、読取可能幅W
s=60[mm]の場合の計算値
P≧t・P
l(P
l=25.4・W
m/W
s) …式(A’)
P≧t・25.4×308/60
P≧130.387・t(P
l=130.387) …(a)
P≦t・P
h(P
h=25.4/d
s) …式(B’)
P≦t・25.4/0.15
P≦169.333・t(P
l=169.333) …(b)
W≧t・W
m …式(C)
W≧308・t…(c)
そして、(a)、(b)、(c)の式を同時に満たす領域が、t=1の場合が
図7の701の領域、t=2の場合が702の領域、t=3の場合が703の領域となる。
【実施例3】
【0316】
次に、実施例3について説明する。実施例3は、特定のバーコードスキャナと複数の端末を使用することを想定したときに、端末上に表示可能で、かつ、この特定のバーコードスキャナで読み取りが可能となる、最適なバーコードのモジュール幅(又は、バーコードのエンコード桁数)を決定する評価装置に関するものである。
【0317】
本実施例は、端末で表示でき、かつバーコードスキャナで読み取りが可能な範囲で、できるだけバーコードシンボルの幅(エンコード桁数)を大きくしたいという目的を実現する手段として有効である。
【0318】
本実施例における評価装置10の構成は、
図3を参照して説明した実施例1や実施例2の構成と同様であるため、再度の説明を省略する。
【0319】
次に、或るバーコードスキャナの仕様に対し、少なくともこの或るバーコードスキャナで読み取りできるバーコードのモジュール幅を決定するための処理について、
図8のフローチャートを参照して説明する。
【0320】
まず、後段の処理において、エンコード桁数を与えると、バーコードを構成するのに必要なモジュール幅を算出できるようにする必要がある。そのため、モジュール幅を算出するために必要な情報である、バーコードの種類や、付帯情報の入力を受け付ける(ステップS801)。ここで、バーコードの種類とは、例えばCODE128やCODABARといったものである。また、付帯情報とは、例えばCODE128であればCodeSetC、CODABARであればNW比・キャラクタ間ギャップといった情報である。なお、コード種別により特定されるバーコードの種類及びバーコード構成条件に応じたモジュール幅W
mの具体的な計算式については、表1を参照して前述している通りである。
【0321】
次に、ステップS802において、検討の対象となるバーコードスキャナの情報を受け付ける。具体的には、バーコードスキャナを識別するための情報(例えば、バーコードスキャナの名称)と、「使用を想定するバーコードスキャナの仕様」である最小分解能d
s[mm]及び読取可能最大幅W
s[mm]の入力を受け付ける。
【0322】
受け付けた各情報は、バーコードスキャナ情報データベース12−2に格納してステップS803に進む。なお、本実施例におけるバーコード情報データベース12−1及びバーコードスキャナ情報データベース12−2は、実施例2におけるバーコード情報データベース12−1及びバーコードスキャナ情報データベース12−2とそれぞれ同等のものであり評価装置10の記憶装置群12に含まれる何れかの記憶装置により実現されるものとする。
【0323】
また、今回の処理に伴って実行されるステップS802において情報が入力されても良いが、入力されるべき情報の一部又は全部を、予め、バーコードスキャナ情報データベース12−2に記録しておくようにしても良い。また、評価装置10に、ネットワークを介したデータ通信を行なうための通信部を更に含ませるようにしても良い。そして、バーコードスキャナ情報データベース12−2に格納する情報の一部又は全部を、通信部を介したデータ通信により、外部の装置から取得するようにしても良い。
【0324】
続いて、ステップS803では、検証すべきバーコードのモジュール幅の最大値W
bをバーコードスキャナの仕様情報に基づいて算出する。
【0325】
具体的には、少なくとも、バーコードスキャナの仕様とバーコードの幅が「端末の仕様によらず不適」とならないための条件、すなわち、
【0326】
【数62】
…の条件を満たすW
mの最大値をW
bとする。
【0327】
すなわち、バーコードのモジュール幅の最大値W
bは
【0328】
【数63】
【0329】
…との式で算出できる。W
bは検証すべきバーコードのモジュール幅の最大値となる。
【0330】
例えば、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]の場合、上記の式に基づいて
【0331】
【数64】
【0332】
となり、W
b=400と算出できる。
【0333】
ステップS804では、検証すべきバーコードのモジュール幅の最小値W
aをバーコードスキャナの仕様情報から算出する。具体的には、次のような考え方で算出する。
【0334】
図1の様に、P−W平面上、バーコードのモジュール幅とバーコードスキャナの仕様からから適合する領域を示すことができるが、例えば、1モジュールあたりの構成ドット数t=1の適合領域である101の領域の右端(P=P
h)とt=2の適合領域である102の領域の左端(P=2P
l)の間に隙間ができ、この隙間の領域に端末の画面仕様があると、「バーコードとバーコードスキャナがその端末とは適合しない」という結果を導いてしまう。そのため、t=1の適合領域である101の領域の右端(P=P
h)とt=2の適合領域である102の領域の左端(P=2P
l)の間の隙間を考え、理想的には、この隙間がゼロ以下であれば、より「適合する範囲」を広げることができる。具体的には、次のように算出する。
【0335】
1モジュールあたりのドット数t[dot/mod]のときの左右適合領域のギャップ幅gは次のような式で示すことができる。
【0336】
g=(t+1)・P
l-t・P
h
各実施例の説明の前提として説明した、式(A’)、式(B’)から、
【0337】
【数65】
、及び、
【0338】
【数66】
であることから、
【0339】
【数67】
…となる。
【0340】
ギャップgが0以下であるためには、g≦0、つまり
【0341】
【数68】
これをW
mについて解くと、
【0342】
【数69】
…となる。
【0343】
t=1とt=2の適正領域のギャップを考え、t=1を代入すると、
【0344】
【数70】
…となる。
【0345】
この条件を満たすW
mの最大値をW
aとする。
すなわち、バーコードのモジュール幅の最小値W
aは、
【0346】
【数71】
【0347】
…との式で算出できる。また、W
aは前述の「隙間」の幅が0以下となる最大値で、W
mがこの値より大きくなるにつれ、「適合しない」端末が増加する。
【0348】
例えば、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]の場合、上記の式から
【0349】
【数72】
となり、W
a=200と算出できる。
【0350】
次に、ステップS803及びステップS804でそれぞれ算出したW
aとW
bを用いて、
【0351】
【数73】
【0352】
となる範囲のバーコードのモジュール幅Wが検査対象として決定する(ステップS805)。
【0353】
例えば、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]の場合、前述したように式(D)に基づいた式
【0354】
【数74】
からW
b=400となり、式(E)に基づいた式
【0355】
【数75】
からW
a=200となるため、
【0356】
【数76】
となる範囲のバーコードのモジュール幅Wで検証することとする。
【0357】
このとき、桁数n(整数)に対してバーコードの全体モジュール幅Wを算出する式を、バーコード種類別計算式格納部12−5を参照して取得する。ここで、桁数n(整数)に対してバーコードの全体モジュール幅Wを算出する式は、コード種別情報及び付帯情報に応じて異なる。そのため、ステップS801で入力を受け付けたコード種別情報及び付帯情報に対応する式を取得する。ここで、バーコード種類別計算式格納部12−5は、さまざまなコード種別情報及び付帯情報に対応する、桁数n(整数)に対してバーコードの全体モジュール幅Wを算出する式を格納する部分である。具体的には、バーコード種類別計算式格納部12−5には表1に記載されているような式が格納される。また、バーコード種類別計算式格納部12−5は、評価装置10の記憶装置群12に含まれる記憶装置により実現される。
【0358】
そして、取得した式に基づいて、W
aを超えない最大の桁数n
a、W
bを超えない最大の桁数n
bを求める。つまり、バーコードのモジュール幅Wはエンコード桁数のn
a桁からn
b桁の範囲で求めれば良い。
【0359】
例えば、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]の場合に、対象となるバーコードの種別情報及び付帯情報がGS1−128(EAN−128)のCODESET Cであれば、表1の計算式より、W=11n/2+66であるため、
W
a=11n
a/2+66、W
b=11n
b/2+66、をそれぞれ、n
a、n
bについて解くと、
n
a…24.36を超えない整数(ただし、CODESET Cなので偶数)=24桁、
n
b…60.73を超えない整数(ただし、CODESET Cなので偶数)=60桁、
となり、調査を行うバーコードの桁数の範囲は24桁〜60桁と決まる。
【0360】
ステップS806ではステップS805で決定した、調査を行うバーコードの桁数の範囲、すなわち、n
a桁からn
b桁の範囲で、バーコードのモジュール幅を算出する。算出には、前述したように、バーコード種類別計算式格納部12−5から取得した式を用いる。
【0361】
そして、算出した、n
a桁からn
b桁の各桁に対応したバーコードのモジュール幅それぞれを、バーコード情報データベース12−1に格納する。ここで、バーコード情報データベース12−1は、前述したように、実施例2におけるバーコード情報データベース12−1と同等のものであり、評価装置10の記憶装置群12に含まれる何れかの記憶装置により実現されるものとする。
【0362】
例えば、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]の場合に、対象となるバーコードの種別情報がGS1−128(EAN−128)のCODESET Cであれば、調査すべき桁数が24桁〜60桁(偶数桁)である。そのため、下記の表9に記載の様に桁数からバーコード幅を算出することで、19種類のバーコードを想定することができる。
図8のステップS806ではこれらのバーコードの情報を「バーコード情報データベース12−1」に記録する。
【0363】
【表9】
【0364】
次のステップS807では、実施例2で使用した、
図6のフローチャートに記載の処理を活用すべく、
図6のステップS603を呼び出す。そして、
図6のステップS603から
図6のフローチャートに記載の処理を行い、想定する端末の仕様情報を入力して実施例2と同様の手法で評価処理を行う。
【0365】
この時、バーコードスキャナの仕様情報はステップS802で入力を受け付けてバーコードスキャナ情報データベース12−2に格納した情報を用いる。また、バーコードのモジュール幅の情報はステップS806でバーコード情報データベース12−1に格納した情報を用いる。
【0366】
図6のフローチャートに記載の処理を行い、判定結果を得たら、
図8のステップS808に戻り、結果の分析を行う。
図6のフローチャートに記載の処理の処理結果から、実施例2と同様にバーコードのモジュール幅別の適合率を計算し、計算結果を表示装置21に表示する。
【0367】
例えば、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]であるとする。また、対象となるバーコードの種別及び付帯情報がGS1−128(EAN−128)のCODESET Cであるとする。更に、調査すべき桁数が24桁〜60桁(偶数桁)であるとする。更に、表示を想定する端末の仕様を表7のk1〜k12であるとする。この場合、その検証結果は下記の表10に記載の様になる。
【0368】
この時、横軸を桁数、縦軸を適合率としてグラフ化したものが
図9である。
【0369】
【表10】
【0370】
次、ステップS809に進み、ステップS808で明らかとなったバーコードのエンコード桁数と適合率の関係から、最適値を導き出す。具体的には、適合率が最も高い条件を検索することによって、最適値を決定する。また、仮に最も高い適合率の条件が複数ある場合には、桁数が最も多い条件を検索することによって、最適値を決定する。
【0371】
例えば、前述の表10及び
図9に表わされる例であれば、適合率が最も高かった1.0となる桁数で最も桁数が多い条件は、桁数が30桁の場合であると分かる。つまりこの場合、桁数が30桁、バーコードのモジュール幅が231[mod]の条件が最適値となる。
【0372】
このように、ステップS809でバーコードの最適条件を決定してその結果を出力したら、ステップS810で処理を終了する。
【0373】
なお、例として用いた、バーコードスキャナの読取可能幅W
s=60[mm]、最小分解能d
s=0.15[mm]、対象となるバーコードの種別及び付帯情報がGS1−128(EAN−128)のCODESET C、表示を想定する端末が表7のk1〜k12とした場合の端末と適合範囲を示すP−W図が
図10及び
図11に表わされている。具体的には、この場合であって、調査対象の最小桁数である24桁の場合の端末と適合範囲を示すP−W図が
図10に表わされている。また、この場合であって、最適桁数として結果が出た30桁の場合の端末と適合範囲を示すP−W図が
図11に表わされている。
【0374】
24桁の場合と比べ、30桁の場合の方が、端末仕様の適合領域(1101の領域、1102の領域及び1103の領域)の面積は小さいが、想定端末の仕様を示す点が全て「適合領域」の中に納まることが分かる。
【0375】
この場合、「24桁」とは、端末の仕様を考慮せず、バーコードスキャナの仕様とバーコードのモジュール幅から導き出される、適合領域の範囲、すなわち、t=1の場合の適合領域(
図10の1001の領域)とt=2の場合の適合領域(
図10の1002の領域)の境界が密着するように導き出した桁数である。これに対し、「30桁」は、更に端末の仕様を考慮した場合にできるだけ桁数が多くなるように、すなわち、
図11の1101の領域と
図11の1102の領域に、
図11の端末の仕様を示す点が外れないように導き出した桁数となる。
【0376】
このようにして導いた「30桁」の場合では、
図11の端末k11がt=2の場合の適合領域(
図11の1102の領域)の左端に位置する。また、端末k12がt=1の場合の適合領域(
図11の1101の領域)の右端に位置する。このことから、バーコードスキャナの仕様とバーコードのモジュール幅のみから導かれた「24桁」の場合より、端末の仕様を考慮することによって、「適合率を維持したまま」6桁多くバーコードを構成できることが分かる。
【0377】
同じ条件で、桁数が44桁の場合(W
m=308[mod])である
図7を見ると、この条件では、12種の端末のうち6種(k4,k7,k8,k9,k10,k11)が「適合領域」の外にあるため、適合率が低下(この条件では適合率0.5)していると分かる。
【0378】
なお、実施例3は、実施例3としての機能を含む単独の装置として実現してもよいし、実施例1もしくは実施例2としての機能を含む装置の1つの機能として実現してもよい。つまり、実施例3を実施例1や実施例2と組み合わせてもよい。
【0379】
なお、実施例2と組み合わせるのではなく、単独の装置として実現したり、実施例1と組み合わせる場合には、ステップS807において
図6のステップS603以降の処理を呼び出すのではなく、同等の処理を実現するためのプログラム等を装置に実装しておき、このプログラムに基づいて、
図6のステップS603の処理を実行するようにすればよい。
【0380】
以上説明した本実施例では、適合率を考慮した上で、桁数の最適値を決定できることから、端末で表示でき、かつバーコードスキャナで読み取りが可能な範囲で、できるだけバーコードシンボルの幅(エンコード桁数)を大きくすることができる、という効果を奏する。
【実施例4】
【0381】
次に、実施例4について説明する。実施例4は、特定のモジュール幅のバーコードと、バーコードの表示を想定した複数の端末に、バーコードが端末上に表示可能であるとき、そのバーコードを読取可能なバーコードスキャナの仕様を決定するバーコードスキャナ仕様特定装置に関するものである。
【0382】
本実施例は、特定のモジュール幅のバーコードと、バーコードの表示を想定した複数の端末に、バーコードが端末上に表示可能であるとき、そのバーコードを読み取るために必要とされるバーコードスキャナの仕様を知りたいという目的を実現する手段として有効である。
【0383】
本実施例である、バーコードスキャナ仕様特定装置10’は、CPU11’、記憶装置群12’、画像出力部13’及びI/O14’を含む。バーコードスキャナ仕様特定装置10’に含まれる各部は、バーコードスキャナ仕様特定装置10’内に設けられたバスライン15’を介して接続される。画像出力部13’には、表示装置21が接続され、I/O14’には、入力装置22が接続される。バーコードスキャナ仕様特定装置10’の構成については図示しないが、
図3の評価装置10の構成と同一であり、バーコードスキャナ仕様特定装置10’のCPU11’、記憶装置群12’、画像出力部13’、I/O14’及びバスライン15’は、それぞれ、評価装置10のCPU11、記憶装置群12、画像出力部13、I/O14及びバスライン15に相当する。
【0384】
また、これら、バーコードスキャナ仕様特定装置10’内の各部の機能は、
図3を参照して説明した実施例1、実施例2及び実施例3の評価装置10内に含まれる同名の各部の機能と同様であるため、再度の説明を省略する。
【0385】
次に、決まったモジュール幅のバーコードと、バーコードの表示を想定した複数の端末から、適切なバーコードスキャナの仕様(最小分解能と読取可能幅)を決定するための処理について、
図12のフローチャートを参照して説明する。
【0386】
まず、ステップS1201では、「ある決まったモジュール幅のバーコード」のバーコードを識別するための情報(例えば、バーコードの名称)と、モジュール幅W
mの入力を受け付ける。受け付けた各情報はバーコード情報データベース12−1に格納してステップS1202に進む。なお、本実施例におけるバーコード情報データベース12−1及び端末情報データベース12−3は、実施例2や実施例3におけるバーコード情報データベース12−1及び端末情報データベース12−3とそれぞれ同等のものでありバーコードスキャナ仕様特定装置10’の記憶装置群12’に含まれる何れかの記憶装置により実現されるものとする。
【0387】
次に、ステップS1202では、使用を想定する端末の情報、すなわち、端末を識別するための情報(例えば、端末の名称)、画面幅W
k[pix]、画素密度P
k[ppi]の入力を受け付ける。受け付けた各情報は、端末情報データベース12−3に格納してステップS1203に進む。なお、ステップS1201及びステップS1202の何れか又は双方における入力の受け付けを予め行っておき、予め情報を各データベースに記録しておいても良い。また、バーコードスキャナ仕様特定装置10’に、ネットワークを介したデータ通信を行なうための通信部を更に含ませるようにしても良い。そして、各データベースに格納する情報の一部又は全部を、通信部を介したデータ通信により、外部の装置から取得するようにしても良い。
【0388】
ステップS1203では、端末情報データベース12−3を検索して端末画面幅の最大値W
kmaxを検索して取り出し、ある決まったモジュール幅のバーコードのモジュール幅W
mに対し、
【0389】
【数77】
【0390】
を満たす整数tの最大値、t
maxを求める。このt
maxは後段の処理で用いる。次に、ステップS1204に進む。
【0391】
例えば、バーコードのモジュール幅W
m=308[mod]、端末が表7に記載の端末k1乃至端末k12の場合、端末画面幅の最大値W
kmaxは端末k1の1080[pix]であるため、
【0392】
【数78】
、すなわち、
【0393】
【数79】
となる整数tの最大値t
maxは3と決まる。
【0394】
ステップS1204からは、具体的な解析に入る。ステップS1204では繰り返しパラメータとしてtを設け、t=1として、ステップS1205に進む。
【0395】
ステップS1205では、端末情報データベース12−3から、端末の画面幅W
kに対し、
tW
m≦W
k≦(t+1)W
mを満たす端末を抽出し、ステップS1206に進む。
【0396】
例えば、バーコードのモジュール幅W
m=308[mod]、端末が表7に記載の端末k1乃至端末k12で、t=1のとき、ステップS1205で摘出の対象とする「tW
m≦W
k≦(t+1)W
mを満たす端末」には、308≦W
k≦616を満たす端末、つまり、端末k7乃至端末k12の6種類の端末が該当する。
【0397】
ステップS1206では、ステップS1205で抽出した端末の中から、画素密度P
kが最も小さい値を検索し、その値をP
kaとし、ステップS1207に進む。
【0398】
ステップS1207では、ステップS1205で抽出した端末の中から、画素密度P
kが最も大きい値を検索し、その値をP
kbとし、ステップS1208進む。
【0399】
例えば、バーコードのモジュール幅W
m=308[mod]、端末が表7に記載の端末k1乃至端末k12で、t=1のとき、ステップS1205で抽出した端末k7乃至端末k12の6種類の端末について画素密度P
kを調べる。
【0400】
すると、画素密度が最も小さい値は端末k12の165[ppi](→P
ka)、最も大きい値は端末k7の300[ppi](→P
kb)であることが分かる。
【0401】
ステップS1208では、ステップS1206で取り出した画素密度が最も小さい値P
kaを用いて、
【0402】
【数80】
【0403】
から、P=P
kaのときの、最小モジュール幅の構成ドット数tにおけるバーコードスキャナの読取可能幅W
sをW
stとして、W
stで解くと、
【0404】
【数81】
…となる。この時のW
sの最小値W
stを、
【0405】
【数82】
の式により求める。なお、t=1のとき、W
stはW
s1と表記するものとする。
【0406】
次に、ステップS1209では、ステップS1207で取り出した画素密度が最も大きい値P
kbを用いて、
【0407】
【数83】
【0408】
から、P=P
kbのときの、最小モジュール幅の構成ドット数tにおけるバーコードスキャナの最小分解能d
sをd
stとして、d
stで解くと、
【0409】
【数84】
…となる。この時のd
sの最大値d
stを、
【0410】
【数85】
の式により求める。なお、t=1のとき、d
stはd
s1と表記するものとする。
【0411】
例えば、バーコードのモジュール幅W
m=308[mod]、端末が表7に記載の端末k1乃至端末k12で、t=1のとき、ステップS1205で抽出した端末k7乃至端末k12の6種類の端末の最小画素密度がk12の165[ppi](→P
ka)、最大画素密度はk7の300[ppi](→P
kb)であるため、
【0412】
【数86】
【0413】
から、W
sの最小値W
s1=25.4×308/165=47.4[mm]と算出される。
また、
【0414】
【数87】
【0415】
から、d
sの最大値d
s1=25.4/300=0.0847[mm]と算出される。
【0416】
ステップS1210に進み、ステップS1208及びステップS1209で計算したW
stとd
stをtの値と共に、算出結果記録データベース12−6に記録し、ステップS1211に進む。なお、算出結果記録データベース12−6は本実施例における算出結果を格納するデータベースであり、バーコードスキャナ仕様特定装置10’の記憶装置群12’に含まれる何れかの記憶装置により実現されるものとする。
【0417】
ステップS1211では、現在のtの値がステップS1203で計算したt
max以上であるか否かを判断する。
【0418】
ここで、現在のtの値がt
max未満であれば(ステップS1211においてNo)、ステップS1212に進み、現在のtの値に1を加算して新たなtの値とする。そして、ステップS1205に戻り、新たなtの値を用いて、再びステップS1205乃至ステップS1210の処理を行う。
【0419】
一方で、現在のtの値がt
max以上であれば(ステップS1211においてYes)、ステップS1213に進む。
【0420】
ステップS1213では、算出結果記録データベース12−6を参照し、t=1からt=t
maxで計算された、W
st(W
s1,W
s2…)の中から、最大となる値を取り出す。
【0421】
また、ステップS1214では算出結果記録データベース12−6を参照し、t=1からt=t
maxで計算された、d
st(d
s1,d
s2…)の中から、最小となる値を取り出す。
【0422】
そして、ステップS1215では、ステップS1213で取り出されたW
stの値と、ステップS1214で取り出されたd
stの値を表示装置21に表示する。この時に表示する値が、「ある決まったモジュール幅W
mのバーコードと、バーコードの表示を想定した複数の端末(画面幅W
k、画素密度P
k)に、おける理想的なバーコードスキャナの仕様(読取可能幅:W
stの最大値、最小分解能:d
stの最小値)」を示している。
【0423】
ステップS1215で、W
stの値と、d
stの値を表示装置21に表示後、ステップS1216に移行して処理を終了する。
【0424】
例えば、バーコードのモジュール幅W
m=308[mod]、端末が表7に記載の端末k1乃至端末k12の場合、
図12のステップS1203の計算でtmax=3と決まり、算出結果記録データベース12−6に記録される内容は下記の表11に記載の内容となる。
【0425】
【表11】
【0426】
表11から、Wstの最大値、すなわちt=3のときのWs3=58.67[mm]が、バーコードスキャナの理想的な読取可能幅であり、d
stの最小値、すなわち、t=1のときのd
s1=0.0847[mm]がバーコードスキャナの理想的な最小分解能と決まる。
この時、
【0427】
【数88】
から、P
l=133.3[ppi]、
【0428】
【数89】
【0429】
から、P
h=300[ppi]、
となるため、端末と適合範囲を示すP−W図は、
図13に表わされるようになる。
【0430】
図13を参照すると、表7に記載の端末k1乃至端末k12の各端末の画面仕様に対応する全ての点が、t=1〜3の適合範囲である、1301の領域、1302の領域及び1303の領域の何れかの領域の内側にあり、本実施例で算出したバーコードスキャナの仕様において、想定した全ての端末(表7に記載の端末k1乃至端末k12)の画面でバーコードを表示でき、且つ、読み取りが可能となっていることが分かる。
【0431】
なお、結果として算出されたバーコードスキャナの仕様(読取可能幅と最小分解能)が、バーコードスキャナの製造技術として技術的にあるいはコスト的に困難な値となった場合、バーコードの幅を減らす(桁数を減らす)、あるいは、表示を想定する端末の種類を絞る等の検討が必要となる。
【0432】
なお、実施例4は、実施例4としての機能を含む単独の装置として実現してもよいし、実施例1乃至実施例3としての機能を含む装置の1つの機能として実現してもよい。つまり、実施例4を実施例1乃至実施例3と組み合わせてもよい。
【0433】
以上説明した本実施例では、特定のモジュール幅のバーコードと、バーコードの表示を想定した複数の端末の画面仕様を考慮した上で、バーコードスキャナの仕様を決定する。このことから、本実施例では、特定のモジュール幅のバーコードと、バーコードの表示を想定した複数の端末に、バーコードが端末上に表示可能であるとき、そのバーコードを読み取るために必要とされるバーコードスキャナの仕様を知ることができる、という効果を奏する。
【実施例5】
【0434】
次に、実施例5について説明する。実施例5は、実際に端末画面にバーコードを表示するシステムに関するものである。なお、本実施例で、バーコードを生成するとは、バーコード画像データを生成することを意味するものとする。
【0435】
まず、
図14を参照して、本実施例であるバーコードシステム100の全体の構成例について説明する。
【0436】
図14を参照すると、バーコードシステム100は、端末群30、端末k31、第1の事業者サーバ41、第2の事業者サーバ42、バーコード生成サーバ50、及び回線網60を含む。
【0437】
本実施例では、利用者が利用する端末として、端末群30に含まれる、端末k31やその他の複数の端末が存在する。これらの端末は利用者が利用する端末であるが、その機種等は様々であり、当然のことながらその画面仕様も様々である。
【0438】
なお、以下では、利用者が端末k31を使用する場合を例に取って説明を行なう。
【0439】
また、第1の事業者サーバ41及び第2の事業者サーバ42は、それぞれバーコードを用いたサービスを提供する事業者が利用するサーバ装置である。本実施例では、事業者Aが第1の事業者サーバ41を利用しており、事業者Bが第2の事業者サーバ42を利用しているものとする。事業者A、事業者Bはそれぞれ異なる目的のサービスを提供していて、それぞれ、サービス提供のために使用するバーコードの種類やエンコード桁数が異なるものとする。なお、第1の事業者サーバ41及び第2の事業者サーバ42は、本発明の、「依頼装置」に相当する。
【0440】
バーコード生成サーバ50は、本実施例の特徴を利用したバーコードを生成するサーバ装置である。
【0441】
そして、本システム内に含まれる各端末及び各サーバは、回線網60を介して通信可能に接続される。
【0442】
具体的には、端末k31は、回線網60を通じて、バーコードを用いたサービスを提供する第1の事業者サーバ41や、第2の事業者サーバ42にアクセスすることができるものとする。
【0443】
また、バーコードを用いたサービスを提供する第1の事業者サーバ41や第2の事業者サーバ42から、本実施例の特徴を利用したバーコードを生成するバーコード生成サーバ50にアクセスし、バーコードの画像を取得するものとする。
【0444】
なお、回線網60は、例えば携帯電話網やインターネットの公衆網や、専用線の何れか、あるいはこれらの組み合わせにより実現することができる。
【0445】
以上説明したバーコードシステム100の構成において、端末k31が事業者Aの第1の事業者サーバ41にアクセスし、事業者Aの第1の事業者サーバ41を介して端末k31にバーコードを表示する場合について以下説明する。
【0446】
事業者Aは、運用前提として、使用するバーコードの種類とエンコードする桁数、その他、選択するバーコードの種類によって構成に必要な付帯情報(例えば、NW7ならNW比、等)、及び、端末k31からアクセスされた場合に表示すべきエンコード文字列の内容を事前に決めておく。また、想定するバーコード読取装置(バーコードスキャナ)の読取可能幅W
s[mm]、最小分解能d
s[mm]を決めておく。
【0447】
端末k31から、第1の事業者サーバ41にアクセス(HTTPアクセス)があった場合、第1の事業者サーバ41には、端末k41の基礎情報として、端末名、OS、ブラウザの種類といった情報を含む、user agentと呼ばれる情報が通知される。また、第1の事業者サーバ41は、端末k41の画面情報を、web apiによって、画面幅はwindow.screen.width、画面高さはwindowscreen.heightを用いて取得することができる。つまり、第1の事業者サーバ41では、端末k31のアクセスによって、user agent情報と画面幅・高さ情報を得ることができる。また、サービス利用者が第1の事業者サーバ41にログインする形態をとって、利用者の管理番号を取得し、この管理番号に基づいてuser agent情報に準じる情報や画面幅・高さ情報を特定するようにしてもよい。
【0448】
なお、端末によっては、画面の物理的な回転状態によって、window.screen.widthとwindowscreen.heightが入れ替わる場合がある。この点、本実施例では、window.screen.width<windowscreen.heightとして取り扱う。つまり、端末画面の「画面幅」は常に画面短手方向を、「画面高」は常に長手方向を示すものとする。
【0449】
第1の事業者サーバ41では、前述のuser agent情報と端末画面の「画面幅」「画面高」情報と、事業者Aが使用したいバーコードの種類(及び関連パラメータ等の補足情報)と桁数、及びエンコード文字列、更に、事業者Aが想定するバーコードスキャナの仕様の読取可能幅W
s[mm]、最小分解能d
s[mm]を、バーコード生成サーバ50に伝達する。
【0450】
バーコード生成サーバ50では、第1の事業者サーバ41から伝達された各種情報と、バーコード生成サーバ50内の端末情報データベースを利用して、バーコード画像と、適合性を評価し、その結果を第1の事業者サーバ41に送信する。
【0451】
第1の事業者サーバ41では、バーコード生成サーバ50で作成されたバーコード画像と適合性情報とをもとに端末k31に、バーコード生成サーバ50で作成されたバーコード画像を端末k31の画面に表示させる否かを判断する。そして、問題が無ければバーコード生成サーバ50で作成されたバーコード画像を端末k31の画面に表示させる。適合性情報から問題ありと判断する場合は、バーコード画像を表示しないか、別のパラメータでバーコード生成サーバ50に改めて送信し、新たなバーコード画像の取得を試みることができる。
【0452】
また、バーコード生成サーバ50は要求されたバーコードを要求元の条件に従って作成できる。そのため、例えば、事業者Aと異なる事業者である事業者Bが利用する第2の事業者サーバ42からの、別のバーコード種別や桁数のデータ要求に応答することができ、バーコード種別やエンコード桁数は固定されない点が特徴となる。
【0453】
バーコード生成サーバ50の処理について、この処理を表すフローチャートが記載された
図15−1、
図15−2及び
図15−3を参照して説明する。
【0454】
バーコード生成サーバの処理は
図15−1のステップS1501から始まり、この時、第1の事業者サーバ41から、各種情報(図中では、符号41−1を付す)を得て、ステップS1502に進む。ここで、かかる各種情報とは、
「・端末kのuser agent情報
・端末kの画面幅W
k
・端末kの画面高H
k
・想定バーコードスキャナの読取可能幅W
s
・想定バーコードスキャナの最小分解能d
s
・バーコードの種類、構成パラメータ等の付帯情報
・バーコードの桁数、エンコード文字列」である。
【0455】
ステップS1502ではステップS1051で得た情報から、バーコードのモジュール幅W
mを算出する。この時、バーコードシンボルの種類、構成パラメータ、バーコードの桁数及びエンコード文字列に基づいて、実施例1の説明の際に参照した表1の様に、バーコードのモジュール幅W
mは一意に決まる。
【0456】
次に、ステップS1503に進み、ステップS1501で得たuser agent情報と端末画面幅情報、端末画面高情報から、端末の種別を分類する。例えば、android(登録商標) OSを用いた携帯端末と、iOS(登録商標)を用いた携帯端末を適合対象として仕分ける場合について考える。この場合、user agentの文字列に、”android”と”mobile”の文字列が同時に存在すれば、android OSを用いた携帯端末と判定できる。また、user agentの文字列に、”iPhone(登録商標)”の文字列があり、”iPad(登録商標)”、”iPod(登録商標)”の文字列が無ければ、iOSを用いた携帯端末と分かる。そして、iOSを用いた携帯端末と分かれば、端末kの画面幅W
kが320[pix]ならiPhone3GS、W
kが640[pix]なら、iPhone4/4S/5/5C/5Sであると分かる。更に、iPhone4/4S/5/5C/5Sであると分かった場合に、端末kの画面高H
kが960[pix]ならiPhone4/4Sの何れかであり、1136[pix]ならiPhone5/5C/5Sの何れかである、と細分化することができる。
【0457】
次に、ステップS1503における分類結果に基づいて、端末kの種別がPC(personal computer)やタブレット端末であるか否かを判定する(ステップS1504)。ここで、端末kの種別が、ステップS1503の分類から漏れる、PC(personal computer)やタブレット端末といったものである場合には(ステップS1504においてYes)、ステップS1505でフラグ=Fとして、(A)=ステップS1535)に進む。なお、図中では(A)を丸囲み英数字で表記する。以下(B)及び(C)についても同様とする。
【0458】
一方、ステップS1503における分類結果に基づいて、端末kがPCやタブレット端末と判断されなかった場合には(ステップS1504においてNo)、ステップS1506に進む。
【0459】
ステップS1506では、再びuser agent情報を解析し、この文字列の中から端末kの端末機種名を抽出し、ステップS1507に進む。
【0460】
ステップS1507では、ステップS1506で取得した端末機種名を検索キーとして端末機種情報データベース50−1を検索することにより、端末機種情報データベース50−1から改めて、端末の画面幅W
k、画面高H
k、画素密度P
kを取得する。ここで、この端末機種情報データベース50−1は、端末のメーカ等が公開している公開情報等の既知の情報を事前にまとめて、データベースとしたものである。なお、端末機種情報データベース50−1、生成送信ログ50−2及び未知端末情報データベース50−3は、それぞれ、バーコード生成サーバ50がアクセス可能な、バーコード生成サーバ50内部又は外部の記憶装置に記憶されるものとする。なお、図中では、データベースを適宜DBと表記する。
【0461】
次に、端末機種情報データベース50−1に端末kの端末機種名に対応する端末機種名が存在するか否かを判断する(ステップS1508)。
【0462】
端末機種情報データベース50−1に端末kの端末機種名に対応する端末機種名が存在しない場合には(ステップS1508においてNo)、ステップS1509に進み、「未知の端末」としてフラグをCにセットし、(B)=
図15−3のステップS1521に進む。一方で、端末機種情報データベース50−1に端末kの端末機種名に対応する端末機種名が存在する場合には(ステップS1508においてYes)、「既知の端末」と確認して(ステップS1510)、ステップS1511に進む。
【0463】
ステップS1511では、ステップS1502で算出したW
mとステップS1507で取得したW
kを比較する。そして、W
k<W
mであれば(ステップS1511においてNo)、端末の画面幅が表示すべきバーコードの幅より狭いということとなる。そのため、「端末にバーコードを表示できない」と判断してステップS1512に進み、フラグをEにセットし、(A)=ステップS1535に進む。
【0464】
一方、W
k≧W
mならば(ステップS1511においてYes)、ステップS1513に進む。
【0465】
なお、ステップS1511における比較は、各実施例の説明の前提として前述した式(C)に相当する。
【0466】
W≧t・W
m …式(C)
次に、ステップS1513では、1モジュールあたりの構成ドット数をt[dot/mod]として、t≦W
k/W
mとなる正の整数tの最大値t
maxを求め、ステップS1514に進む。
【0467】
例えば、バーコードのモジュール幅W
m=300[mod]、端末の画面幅W
k=720[dot]とすると、
t≦720/300→t≦2.4…となり、t
max=2となる。
【0468】
ここで求められるt
maxは、端末の画面に表示できる最大の1モジュールあたりの構成ドット数であり、その時のバーコードの幅は、t
max・W
mと表すことができる。
【0469】
次に、
図15−2を参照する。ステップS1514では、t
max〜1の範囲で、バーコードの最小モジュール幅がバーコードスキャナの最小分解能より大きく、且つ、端末画面上に表示したときのバーコードの幅がバーコードスキャナの読取可能幅以下であるか否かを判定する。
【0470】
具体的には次のように計算する。
【0471】
【数90】
【0472】
【数91】
【0473】
の2つの関係式に基づき、
式(A’)から、A=P
k−25.4・t・W
m/W
s、という計算を行う。
式(A’)の関係式が成立していれば、Aは正の値をとる。
次に、式(B’)から、B=25.4・t/d
s−P
k、という計算を行う。
式(B’)の関係式が成立していれば、Bは正の値をとる。
【0474】
例えば、t
max=2、バーコードのモジュール幅W
m=300[mod]、端末の画素密度P
k=300[dpi]、バーコードスキャナの読取可能幅W
s=60[mm]、バーコードスキャナの最小分解能d
s=0.15[mm]とすると、次のような表(表12)を作ることができる。
【0475】
【表12】
【0476】
ステップS1515で、ステップS1514で求められたA、Bそれぞれの値をチェックし、A、Bともに正となるtが存在するか確認する。「A、Bともに正となるtが存在する」場合には(ステップS1515においてYes)、ステップS1517に進む。
【0477】
ここで、「A、Bともに正となるtが存在する」とは、すなわち、式(A’)、式(B’)が同時に成立するtが存在する、つまり、バーコード、端末画面仕様、バーコードスキャナ仕様が適合していることを示す。
【0478】
表12の例では、t=2のときに、「A、Bともに正」なので(ステップS1515においてYes)、ステップS1517に進むことができる。
【0479】
ステップS1517では、「A、Bともに正」となるtの最大値(表12の例ではt=2)を、tの値として選択し、ステップS1518に進む。
【0480】
ステップS1518では、「適正範囲」でバーコード画像を作製できるという意味で、フラグをAにセットして、ステップS1519に進む。
【0481】
一方、ステップS1514で求めるA、Bが、ともに正となるtが存在しない場合、すなわち、式(A’)、式(B’)が同時に成立するtが存在しない場合には(ステップS1515においてNo)、ステップS1516に進む。ここで、式(A’)、式(B’)が同時に成立するtが存在しないとは、つまり、バーコード、端末画面仕様、バーコードスキャナ仕様が適合しないことを示す。
【0482】
例えば、表13の例(t
max=2、バーコードのモジュール幅W
m=300[mod]、端末の画素密度P
k=250[dpi]、バーコードスキャナの読取可能幅W
s=60[mm]、バーコードスキャナの最小分解能d
s=0.15[mm])の場合、t=1の場合はBが負の値となり、t=2の場合はAが負の値となる。つまり、A及びBがともに正となるtは存在しない(ステップS1515においてNo)。このため、ステップS1516に進む。
【0483】
【表13】
【0484】
ステップS1516では、負の値となったA又は負の値となったBの絶対値が最も小さくなるtをtの値として選択する。
【0485】
この時、選択したtで負の値となった値がAであれば、フラグをBa、Aの絶対値をP
kで割った値(|A|/P
k)を戻り値としてセットする。
【0486】
一方で、選択したtで負の値となった値がBであれば、フラグをBb、及びBの絶対値をP
kで割った値(|B|/P
k)を戻り値としてセットし、ステップS1519に進む。
【0487】
ここで、|A|/P
kや|B|/P
kは、「適正範囲」から、どの程度外れているかを定量的に示す指標となる。
【0488】
例えば、上記の表13に記載の例では、t=2のときにAの値が負であり、t=1のときにBの値が負である。そして、t=2のときにAの絶対値とt=1のときにBの絶対値
を比較すると、t=2のときのAの絶対値が最も小さいため、t=2と決定する。この時、「適正範囲」から、どの程度外れているかを定量的に示す指標は、|A|/P
k=0.016(1.6%)となる。この値が大きければ大きいほど、端末上に表示されたバーコードが読み取りできない可能性が高くなることを意味する。
【0489】
ステップS1519では、ステップS1517又はステップS1516で決定したtの値と、ステップS1502で得た第1の事業者サーバ41からの情報のバーコードの種類、構成パラメータ等の付帯情報及びエンコードデータと、端末画面密度P
kを用いてバーコード画像を生成する。
【0490】
この時、バーコードは1モジュールあたりt[dot]で構成し、バーコードの画像の幅はt・W
mとなる。対象のバーコードの種類がいわゆる1次元のバーコードであれば、高さは端末画面上で10mmとなるように、25.4/P
k×10[mm]を計算したドット数(正数値)とする。バーコード画像が完成したら、ステップS1535に進む。なお、前述したフラグEとなった場合には、端末kにて表示可能なバーコード画像を生成することはできない。また、前述したフラグFとなった場合には、端末kは携帯端末ではない。そのため、これらフラグE及びフラグFとなった場合には、バーコード画像を生成することなく、ステップS1535に進む。
【0491】
ステップS1535では、作成したバーコード画像に、フラグに応じたコメントを入れる。ステップS1535は、構成したバーコードの適正度を明確にするためにコメントを文字列として画像に埋め込む処理であるが、文字が必要なければこのステップS1535の処理は無くても良い。
【0492】
ここで、ステップS1535にてフラグに応じて画像に入れられる文字列は、例えば以下のようにする。
「・フラグA:「ご使用の端末画面上のバーコードを読み取らせてください。」
・フラグBa、Bb:「ご使用の端末ではバーコードを読み取りできない場合があります。」
・フラグC:「ご使用の端末ではバーコードを読み取りできない場合があります。」
・フラグDa、Db:「ご使用の端末ではバーコードを読み取りできない場合があります。」
・フラグE、Dc、De:「ご使用の端末ではバーコードを表示できません。」
・フラグF:「ご使用の端末は携帯端末ではありません。」」なお、これらの文字列は一例に過ぎず、他の文言を使用するようにしてもよい。
【0493】
ステップS1535でバーコードを含む画像が完成したら、ステップS1536に進む。この時、前述したようにフラグE及びフラグFとなった場合や、後述するフラグがE、Dc、De、Fの場合はバーコードを構成できないため、画像にバーコードは含まれないことになる。
【0494】
ステップS1536では、生成された画像と、フラグ、戻り値を、生成送信ログ50−2に記録する。また併せてステップS1536では、第1の事業者サーバ41に生成された画像と、フラグ、戻り値を返信し、処理を終了する(ステップS1537)。
【0495】
その後、生成された画像は、第1の事業者サーバ41から携帯端末k31に対して送信される。そして、生成された画像にバーコードが含まれているのであれば、かかるバーコードを携帯端末k31の画面上に表示する。これにより、ユーザは、バーコードスキャナでかかるバーコードを読み取ることが可能となる。
【0496】
また、バーコードを生成した場合であっても、生成していない場合であってもステップS1535にて入れられた文字列を携帯端末k31の画面上に表示することが可能となる。そして、ユーザは、この文字列を参照することにより、予めバーコードが読み取れるか否か等を判断することが可能となる。
【0497】
次に、ステップS1508で端末機種情報データベース50−1に、端末kの情報が無いと判断された場合(ステップS1508においてNo)の処理について説明する。
【0498】
この場合、前述したように、ステップS1509で「未知の端末」としてフラグをCにセットし、(B)=
図15−3のステップS1521に進む。
【0499】
図15−3のステップS1521では、再度、端末機種情報データベース50−1を参照し、画像幅がW
kと同じ端末の中で、最も多い画素密度P
kの値、つまり中央値を呼び出す。これは、未知の端末kの画素密度が不明であるため、端末kの画面幅であるW
kと画像幅が同じ端末の中で、最も存在しうるP
kの値を呼び出すことを目的としている。
【0500】
次に、画像幅がW
kと同一の他の端末が、端末機種情報データベース50−1に存在するか否かを確認する(ステップS1522)。つまり、ステップS1521において画像幅W
kからP
kの中央値を呼び出せたか否かを確認する。
【0501】
ここで、画像幅がW
kと同じ端末の画素密度P
kの中央値を呼び出すことができていれば(ステップS1522においてNo)、ステップS1524に進み、ここで呼び出した値を未知の端末kの仮の画素密度P
kとする。その後、ステップS1525に進む。
【0502】
一方で、ステップS1522で画像幅がW
kと同じ端末の画素密度P
kの中央値を呼び出すことができなければ、ステップS1523で「未知の端末、且つ、未知の画面幅」という意味で、フラグをDeにセットし、(A)=
図15−1のステップS1535に進む。ステップS1535以降の処理については前述した通りである。
【0503】
ステップS1525では、未知端末情報データベース50−3に、端末kの機種名k、端末kの画面幅W
k、端末kの画面高H
k、ステップS1524で決定した仮の画素密度P
kを記録して、ステップS1526に進む。
【0504】
ここで、未知端末情報データベース50−3は、後にどのような未知端末があったかを確認する用途等に利用でき、端末情報データベース50−1をメンテナンスする際の情報源の一つとして活用できる。
【0505】
ステップS1526では、ステップS1502で算出したW
mとステップS1507で取得したW
kを比較する。
【0506】
そして、W
k<W
mであれば(ステップS1526においてNo)、端末の画面幅が表示すべきバーコードの幅より狭いということとなる。そのため、「端末にバーコードを表示できない」と判断されてステップS1527に進み、フラグをDcにセットし、(A)=
図15−2のステップS1535に進む。ステップS1535以降の処理については前述した通りである。
【0507】
一方で、ステップS1526でW
k≧W
mならば(ステップS1526においてYes)、ステップS1528に進む。
【0508】
ステップS1528では、1モジュールあたりの構成ドット数をt[dot/mod]として、t≦W
k/W
mとなる正の整数tの最大値t
maxを求め、ステップS1529に進む。
【0509】
ステップS1529では、t
max〜1の範囲で、A=P
k−25.4・t・W
m/W
s とB=25.4・t/d
s−P
kを求め、ステップS1530に進む。ステップS1528及びステップS1529における処理の内容及び処理を行なう理由は、
図15−1のステップS1513及び
図15−2のステップS1514における処理の内容及び処理を行なう理由と同様である。
【0510】
ステップS1530で、ステップS1529で求められたA,Bそれぞれの値をチェックし、A,Bともに正となるtが存在するか確認する。「A、Bともに正となるtが存在する」場合には(ステップS1530においてYes)、ステップS1532に進む。
【0511】
ステップS1532では、「A、Bともに正」となるtの最大値を、tの値として選択し、ステップS1533に進む。
【0512】
ステップS1533では、端末kは未知の端末であるが、仮の画素密度P
kにおいて「適正範囲」でバーコードを作製できるという意味で、フラグをCにセットして、ステップS1534に進む。
【0513】
一方、ステップS1529で求めたA、Bにおいて「A、Bともに正」となるtが存在しない場合には(ステップS1530においてNo)、ステップS1531に進む。なお、この場合は、ステップS1515においてNoだった場合と同様に、バーコード、端末画面仕様、バーコードスキャナ仕様が適合しないことを示している。
【0514】
ステップS1531では、
図15−2のステップS1516の処理と同様、A又はB値のどちらかが負となっているので、負の値となっているA又は負の値となっているBの絶対値が最も小さくなるtをtの値として選択する。
【0515】
この時、選択したtで負の値となった値がAであれば、フラグをCa、及びAの絶対値をP
kで割った値(|A|/P
k)を戻り値としてセットする。一方で、選択したtで負の値となった値がBであれば、フラグをCb、及びBの絶対値をP
kで割った値(|B|/P
k)を戻り値としてセットする。そして、何れの場合であっても、セットの後に、ステップS1534に進む。
【0516】
ステップS1534は
図15−2のステップS1519に相当する。ステップS1534では、決定したtの値と、
図15−1のステップS1502で得た第1の事業者サーバ41からの情報のバーコードの種類、構成パラメータ等の付帯情報及びエンコードデータと、端末画面密度P
kを用いてバーコード画像を生成する。
【0517】
この時、バーコードシンボルは1モジュールあたりt[dot]で構成し、バーコードの画像の幅はt・W
mとなる。対象のバーコードの種類がいわゆる1次元のバーコードであれば、高さは端末画面上で10mmとなるように、25.4/P
k×10[mm]を計算したドット数(正数値)とする。バーコード画像が完成したら、(A)=
図15−2のステップS1535に進む。なお、前述したフラグDc、フラグDe及びフラグEとなった場合には、端末kにて表示可能なバーコード画像を生成することはできないので、この場合には、バーコード画像を生成することなく、ステップS1535に進む。ステップS1535以降の処理については前述した通りである。
【0518】
以上が、バーコード生成サーバ50の処理フローである。
【0519】
以上説明した本実施例では、バーコードの表示を想定した端末の画面仕様と、バーコードの読み取りを想定したバーコードスキャナの仕様と、を考慮したうえで、各事業者毎に内容の異なるバーコードを生成することができる、という効果を奏する。
【0520】
また、生成したバーコードを端末の画面上に表示した場合に、フラグに応じた、読み取りができるか否かに関する情報も表示させることが可能となる。そして、ユーザが、この文字列を参照することにより、予めバーコードが読み取れるか否か等を判断することが可能となる、という効果を奏する。
【0521】
なお、前述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0522】
例えば、上述した実施例5では、バーコード生成サーバを複数の事業者のサーバとは別に設けているが、事業者のサーバ毎にバーコード生成サーバを設けてもよい。つまり、バーコード生成サーバと事業者のサーバの関係は、1対多であってもよいが、1対1であってもよい。更に、バーコード生成サーバと事業者のサーバをそれぞれ別個に設けるのではなく、各事業者のサーバがバーコード生成する機能を含むようにしてもよい。
【0523】
また、上述した、実施例1乃至5では、構成するバーコードの全体モジュール幅を基準とし、1モジュールあたりのドット数tを選定している。つまり、同じエンコード桁数について、1行で表現することを前提としている。
【0524】
しかし、GS1 Databar Expandedと呼ばれる(一次元)バーコードでは、同じエンコード桁数について1行で表現できるだけでなく、同じエンコード桁数について複数行で表現することが可能である。そのため、この点も考慮してバーコードの適切な横幅を選択するようにしてもよい。
【0525】
このバーコードの適切な横幅の選択について、
図16及び
図17に記載されている具体例を参照して説明する。
図16はGS1 Databar Expandedで数字31桁を1行で構成した例を表す図である。また、
図17は
図16と同じエンコード内容で、2行で構成した例を表す図である。なお、エンコード内容を複数行で表現する場合は、GS1 Databar Expanded Stackedと呼ばれる。
【0526】
図16では、有効なバーコードの全体幅が249[mod]であるが、
図17の様に2行で構成することによって、同じ内容でも151[mod]の幅でバーコードを表示することができる。一方で、バーコードスキャナで読み取る場合は、
図16の例も
図17の例でも等しく同じデータとして取り扱われる。
【0527】
このように、同じバーコード種でバーコードの全体幅を減らす手段があるものは、その手段を使用することを想定するようにしても良い。例えば、
図16の様な、GS1 Databar Expandedであれば、1モジュールあたりのドット数tを選定するだけでなく、バーコードを表現する行数を決定してバーコードの適切な横幅を選択するプロセスを加えても良い。
【0528】
なお、上記の評価装置、端末、バーコードスキャナ及び各サーバのそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の評価装置、端末、バーコードスキャナ及び各サーバにより行なわれる各方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0529】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0530】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0531】
(付記1) バーコード画像の画像表示装置での表示の可否の判断及び表示されたバーコード画像のバーコード読取装置での読み取りの可否の判断を行うことである評価を、
前記バーコード画像の内容、前記画像表示装置の仕様及び前記バーコード読取装置の仕様に基づいて、実際に表示及び読み取りをすることなく行なうことを特徴とするバーコード評価装置。
【0532】
(付記2) 前記評価を、所定のバーコード画像、所定の画像表示装置及び所定のバーコード読取装置について行い、評価の結果を出力することを特徴とする付記1に記載の評価装置。
【0533】
(付記3) 画像表示装置の仕様を表す値を座標軸とした座標系を生成し、
所定のバーコード読取装置によって読み取り可能に所定のバーコード画像の表示するために前記画像表示装置に要求される仕様の範囲を前記座標系上に領域として表すと共に、前記評価の対象とした画像表示装置の仕様に対応する座標を前記平面上に点として表すことにより、
前記評価対象とした画像表示装置の仕様が前記要求される仕様の範囲に含まれるか否か、及び含まれない場合にはどの程度前記要求される仕様の範囲から外れているのかを視認可能に出力することを特徴とする付記1又は2に記載のバーコード評価装置。
【0534】
(付記4) 前記評価を、所定の1つもしくは複数のバーコード画像、所定の1つもしくは複数の画像表示装置及び所定の複数のバーコード読取装置の複数の組み合わせについて行い、評価の結果を出力することを特徴とする付記1に記載の評価装置。
【0535】
(付記5) 所定のバーコード画像及び所定のバーコード読取装置からなる所定の組と、前記所定の複数の画像表示装置それぞれとについての複数の評価の結果に基づいて、
前記所定のバーコード読取装置で読み取り可能に前記所定のバーコード画像を表示できる画像表示装置の数が、前記所定の複数の画像表示装置全ての数の内に占める割合を出力することを特徴とする付記4に記載のバーコード評価装置。
【0536】
(付記6) 所定のバーコード画像及び所定のバーコード読取装置からなる所定の組と、前記所定の複数の画像表示装置それぞれとについての複数の評価の結果に基づいて、
前記所定のバーコード読取装置で読み取り可能に前記所定のバーコード画像を表示できる画像表示装置の存在台数が、前記所定の複数の画像表示装置全ての存在台数の内に占める割合、
又は、前記所定のバーコード読取装置で読み取り可能に前記所定のバーコード画像を表示できる画像表示装置の稼働台数が、前記所定の複数の画像表示装置全ての稼働台数の内に占める割合、
の何れか又は双方の割合を出力することを特徴とする付記4に記載のバーコード評価装置。
【0537】
(付記7) 前記評価の結果に基づいて、バーコード画像であって、該バーコード画像を所定の画像表示装置に表示した場合に該表示されたバーコード画像を所定のバーコード読取装置で読み取ることが可能なバーコード画像の内容を特定することを特徴とする付記1乃至6の何れか1つに記載のバーコード評価装置。
【0538】
(付記8) 前記評価の結果に基づいて、所定のバーコード画像を所定の画像表示装置に表示した場合に、該表示されたバーコード画像を読み取ることが可能なバーコード読取装置の仕様を特定することを特徴とする付記1乃至7の何れか1つに記載のバーコード評価装置。
【0539】
(付記9) 前記評価の結果に基づいて、所定の画像表示装置で表示可能で、且つ、該表示されたバーコード画像を所定のバーコード読取装置で読み取ることが可能なバーコード画像を生成することを特徴とする付記1乃至8の何れか1つに記載のバーコード評価装置。
【0540】
(付記10) 前記評価に用いる画像表示装置の仕様の、一部の仕様については明らかであるが一部の仕様については不明な場合には、前記明らかな一部の仕様と同一又は近似する仕様を持つ既知の画像表示装置の全ての仕様に基づいて前記不明な一部の仕様を推測し、該推測された仕様と前記明らかな一部の仕様とに基づいて前記評価を行なうことを特徴とする付記1乃至9の何れか1つに記載のバーコード評価装置。
【0541】
(付記11) バーコード画像生成依頼装置と、付記1乃至10の何れか1つに記載のバーコード評価装置と、を備えるバーコード画像生成システムであって、
前記バーコード画像生成依頼装置が、前記バーコード評価装置に所定の内容のバーコード画像の生成を依頼し、
前記バーコード評価装置が、前記生成を依頼されたバーコード画像の内容及び前記評価の結果に基づいて、所定の画像表示装置で表示可能で、且つ、所定のバーコード読取装置で読み取ることが可能なバーコード画像を生成することを特徴とするバーコード画像生成システム。
【0542】
(付記12) 前記依頼の内容及び前記評価の結果に基づいて、前記バーコード画像生成依頼装置が依頼した所定の内容のバーコード画像を生成したとしても該バーコード画像が前記所定の画像表示装置で表示できない、又は、前記バーコード画像生成依頼装置が依頼した所定の内容のバーコード画像を表示しても前記所定のバーコード読取装置で読み取ることができない、と判断される場合には、その旨を前記バーコード評価装置が前記バーコード画像生成依頼装置に通知することを特徴とする付記11に記載のバーコード画像生成システム。
【0543】
(付記13) バーコード評価装置が行なうバーコード評価方法であって、
バーコード画像の画像表示装置での表示の可否の判断及び表示されたバーコード画像のバーコード読取装置での読み取りの可否の判断を行うことである評価を、
前記バーコード画像の内容、前記画像表示装置の仕様及び前記バーコード読取装置の仕様に基づいて、実際に表示及び読み取りをすることなく行なうことを特徴とするバーコード評価方法。
【0544】
(付記14) バーコード評価プログラムであって、
コンピュータを、
バーコード画像の画像表示装置での表示の可否の判断及び表示されたバーコード画像のバーコード読取装置での読み取りの可否の判断を行うことである評価を、
前記バーコード画像の内容、前記画像表示装置の仕様及び前記バーコード読取装置の仕様に基づいて、実際に表示及び読み取りをすることなく行なうバーコード評価装置として機能させることを特徴とするバーコード評価プログラム。
【0545】
(付記15) バーコード画像生成依頼装置と、バーコード評価装置と、備えるシステムが行なうバーコード画像生成方法であって、
前記バーコード画像生成依頼装置が、前記バーコード評価装置に所定の内容のバーコード画像の生成を依頼し、
前記バーコード評価装置が、バーコード画像の画像表示装置での表示の可否の判断及び表示されたバーコード画像のバーコード読取装置での読み取りの可否の判断を行うことである評価を、前記バーコード画像の内容、前記画像表示装置の仕様及び前記バーコード読取装置の仕様に基づいて、実際に表示及び読み取りをすることなく行ない、
前記バーコード評価装置が、前記生成を依頼されたバーコード画像の内容及び前記評価の結果に基づいて、所定の画像表示装置で表示可能で、且つ、所定のバーコード読取装置で読み取ることが可能なバーコード画像を生成することを特徴とするバーコード画像生成方法。
【0546】
(付記16) 1[mod]あたりの構成dot数をt=1、2、3、…とし、使用するバーコードのモジュール幅W
m[mod]とバーコードスキャナの読取可能幅W
s[mm]、最小分解能d
s[mm]から算出される「適正範囲」を、画素密度P[ppi]−端末画面幅W[pix]図に示し、このP−W平面状に、端末kの画面仕様である画素密度Pk,画面幅Wk、をプロットすることで、端末kが「適正範囲」にあるかどうかを判定する評価装置。
【0547】
(付記17) 前記判定した、端末kが前述の「適正範囲」にある端末数を全端末数で割った「適正端末比率」を用いて、その値そのもの、あるいは、別の条件での「適正端末比率」とを比較することによって、定量的な適正度を示す付記16に記載の評価装置。
【0548】
(付記18) 前記判定した、端末kの数量カウントに存在比率を掛け合わせた、実効値で「適正範囲」にある端末実行数を全端末数で割った「適正端末実効比率」を用いて、その値そのもの、あるいは、別の条件での「適正端末比率」を比較することによって、定量的な適正度を示す付記16に記載の評価装置。
【0549】
(付記19) バーコードの種類と桁数と、バーコード読取装置の最小分解能と読取可能幅と、画像表示装置の画面幅と画素密度と、から、前記バーコードを前記画像表示装置に表示可能であるか否か、また、前記画像表示装置に表示された前記バーコードを前記バーコード読取装置で読取可能であるか否かを判定する画像表示装置及びバーコード読取装置の評価装置。
【0550】
(付記20) バーコード読取装置の最小分解能と読取可能幅と、画像表示装置の画面幅と画素密度と、から、バーコードの種類と桁数が、前記画像表示装置に表示可能で、かつ、前記バーコード読取装置で読取可能であるか否かを判定する評価装置。
【0551】
(付記21) バーコード読取装置の最小分解能と読取可能幅と、画像表示装置の画面幅と画素密度と、から、前記画像表示装置に表示可能で、かつ、前記バーコード読取装置で読取可能であるバーコードの種類と桁数を特定するバーコード特定装置。
【0552】
(付記22) バーコードの種類と桁数と、画像表示装置の画面幅と画素密度と、から、前記画像表示装置に表示された前記バーコードを読取可能であるバーコード読取装置の最小分解能と読取可能幅とを特定するバーコード読取装置の仕様特定装置。
【0553】
(付記23) バーコードの種類と桁数と、バーコード読取装置の最小分解能と読取可能幅と、画像表示装置の画面幅と画素密度と、から、前記画像表示装置に表示可能で、かつ、前記バーコード読取装置で読取可能であるバーコード画像(データ)を作成するバーコード画像作成システム。