特許第6197960号(P6197960)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電気株式会社の特許一覧

<>
  • 特許6197960-情報処理装置、方法、およびプログラム 図000002
  • 特許6197960-情報処理装置、方法、およびプログラム 図000003
  • 特許6197960-情報処理装置、方法、およびプログラム 図000004
  • 特許6197960-情報処理装置、方法、およびプログラム 図000005
  • 特許6197960-情報処理装置、方法、およびプログラム 図000006
  • 特許6197960-情報処理装置、方法、およびプログラム 図000007
  • 特許6197960-情報処理装置、方法、およびプログラム 図000008
  • 特許6197960-情報処理装置、方法、およびプログラム 図000009
  • 特許6197960-情報処理装置、方法、およびプログラム 図000010
  • 特許6197960-情報処理装置、方法、およびプログラム 図000011
  • 特許6197960-情報処理装置、方法、およびプログラム 図000012
  • 特許6197960-情報処理装置、方法、およびプログラム 図000013
  • 特許6197960-情報処理装置、方法、およびプログラム 図000014
  • 特許6197960-情報処理装置、方法、およびプログラム 図000015
  • 特許6197960-情報処理装置、方法、およびプログラム 図000016
  • 特許6197960-情報処理装置、方法、およびプログラム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6197960
(24)【登録日】2017年9月1日
(45)【発行日】2017年9月20日
(54)【発明の名称】情報処理装置、方法、およびプログラム
(51)【国際特許分類】
   G06K 19/06 20060101AFI20170911BHJP
【FI】
   G06K19/06 112
   G06K19/06 028
【請求項の数】9
【全頁数】29
(21)【出願番号】特願2016-548594(P2016-548594)
(86)(22)【出願日】2015年6月17日
(86)【国際出願番号】JP2015067473
(87)【国際公開番号】WO2016042870
(87)【国際公開日】20160324
【審査請求日】2016年12月8日
(31)【優先権主張番号】特願2014-190208(P2014-190208)
(32)【優先日】2014年9月18日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】岩田 太地
(72)【発明者】
【氏名】渡邊 輝広
(72)【発明者】
【氏名】大串 靖憲
(72)【発明者】
【氏名】芦浦 敦
【審査官】 福田 正悟
(56)【参考文献】
【文献】 国際公開第2002/028655(WO,A1)
【文献】 特開2002−117372(JP,A)
【文献】 米国特許出願公開第2014/0252097(US,A1)
【文献】 特開2014−211709(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/06
(57)【特許請求の範囲】
【請求項1】
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する情報取得手段と、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得するパラメータ取得手段と、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成するコード生成手段と、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示する表示制御手段と、
を備え
前記パラメータ取得手段は、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
前記コード生成手段は、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、情報処理装置。
【請求項2】
前記表示制御手段により表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定する判定手段と、
前記判定手段による判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定手段による判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更する記録手段と、
をさらに備え、
前記パラメータ取得手段は、前記判定手段により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直し、
前記コード生成手段は、選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す、
請求項に記載の情報処理装置。
【請求項3】
前記表示制御手段は、前記コード生成手段により前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する、
請求項1または2に記載の情報処理装置。
【請求項4】
前記パラメータ取得手段は、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する、
請求項1乃至いずれか1項に記載の情報処理装置。
【請求項5】
前記パラメータ取得手段は、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信し、
前記コード生成手段は、前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する、
請求項1乃至いずれか1項に記載の情報処理装置。
【請求項6】
端末装置から機種およびコード体系の少なくともいずれか一方の情報を受信し、コード体系情報およびコード生成用パラメータを使用して、ソース情報からコード化されたコード画像を表示する端末装置の機種毎および前記コード体系毎に、コード生成用パラメータを記憶するパラメータ記憶部を参照し、受信した情報に対応するコード生成用パラメータを前記端末装置に送信するパラメータ送信手段と、
を備え、
前記パラメータ記憶部は、前記コード生成用パラメータの優先順位を前記コード体系毎に前記コード生成用パラメータに対応付けて記憶し、
前記コード生成用パラメータのスキャナによる読み取りが成功したか否かの判定結果を取得する判定結果取得手段と、
取得した前記判定結果に基づいて、前記コード生成用パラメータに対応付けられた前記優先順位を更新する優先順位更新手段と、を備え、
前記パラメータ送信手段は、複数の前記コード生成用パラメータを前記端末装置に送信する際に、前記優先順位を各コード生成用パラメータに付与して送信する、サーバ。
【請求項7】
前記優先順位更新手段は、前記判定結果取得手段により複数の前記端末装置から取得された複数の前記判定結果の統計値に基づいて、前記優先順位を更新する、
請求項に記載のサーバ。
【請求項8】
コンピュータに、
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する手順、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得する手順、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成する手順、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示する手順、
前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択する手順、を実行させ、
前記コード画像を生成する手順において、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する手順、
を実行させるためのプログラム。
【請求項9】
情報処理装置が、
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得し、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得し、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成し、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示し、
前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
前記コード画像を生成する際、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、
情報処理装置の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、方法、およびプログラムに関する。
【背景技術】
【0002】
携帯電話やスマートフォン等の端末装置の画面にQR(Quick Response)コード(登録商標)を表示し、バーコードスキャナに読み取らせる技術は、様々な分野で一般的に広く利用されている。
特許文献1に記載の画像処理装置は、テキストデータやバイナリデータからバーコード画像を生成し、プリンタに印刷させるバーコード生成ライブラリを実現するコンピュータ装置である。このバーコード生成ライブラリは、バーコードのエレメント(黒バーや白スペース)の幅(太さ)を異なる複数の補正値でそれぞれ補正処理した複数の異なるバーコードを、バーコードの高さ方向に積み重ねて1つのバーコードとして生成する。プリンタの性能によって、印刷されたバーコードの黒バーの幅(太さ)が細くなったり太くなったりしてバーコードの規格から外れてしまうような場合でも、補正された複数のバーコードのどれかが規格に適合し、スキャナで読み取れる可能性が高まる。
【0003】
特許文献1に記載の技術は、バーコード生成ライブラリによって生成されたバーコードを印刷した場合に、プリンタの性能によってバーコードの黒バーの幅(太さ)が細くなったり太くなったりしてしまい、バーコードスキャナで読み取れなくなってしまうという不具合を解消している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−63897号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1に記載の技術においては、バーコードの標準的な設定(バーコードの高さ、バーコード位置、バーコードが保持するデータ、バーコード規格の指定等)と、バーコードの補正処理を規定する補正設定とを含むパラメータセットを用いて、バーコードを生成し、プリンタで印刷する。すなわち、予め決まったバーコードの設定を用いて生成されるバーコードを、異なる補正値で補正処理して複数のバーコードを生成することを想定しているが、バーコードの設定自体の指定、たとえば、バーコードの黒バーや白バーの幅の比の指定を柔軟に変更すること等は想定されていない。
【0006】
一方、1次元バーコードに関して、携帯電話やスマートフォン等の端末装置のディスプレイ画面にバーコードを表示し、表示されたバーコードをスキャナで精度よく読み取らせる装置は、その読み取り精度の低さから、未だ実用化されていないのが現状である。
本発明の発明者らは、画面に表示される様々なコード体系のバーコードのエレメント(黒バーや白スペース)の幅等の指定を、画面のサイズ(インチ数または縦横のピクセル数)や解像度(ppi:pixels per inch)等の仕様とコード体系の組み合わせに応じて柔軟に変更することで、表示される様々なコード体系のバーコードがそれぞれ精度よく読み取れるようになることを発見した。
【0007】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、読み取り精度のよいコード画像を画面に表示する情報処理装置、方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【0009】
第一の側面は、情報処理装置に関する。
第一の側面に係る情報処理装置は、
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する情報取得手段と、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得するパラメータ取得手段と、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成するコード生成手段と、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示する表示制御手段と、
を有し、
前記パラメータ取得手段は、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
前記コード生成手段は、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する。
【0010】
第二の側面は、少なくとも1つのコンピュータにより実行される情報処理方法に関する。
第二の側面に係る情報処理方法は、
情報処理装置が、
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得し、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得し、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成し、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示し、
前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
前記コード画像を生成する際、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、
ことを含む。
【0011】
なお、本発明の他の側面としては、上記第二の側面の方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、情報処理装置上で、その情報処理方法を実施させるコンピュータプログラムコードを含む。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0013】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【0014】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
【0015】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【0016】
上記各側面によれば、読み取り精度のよいコード画像を表示する情報処理装置、方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【0017】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
【0018】
図1】本発明の実施の形態に係る情報処理装置の論理的な構成を示す機能ブロック図である。
図2】本発明の実施の形態に係る情報処理装置におけるバーコードの表示方法を説明するための図である。
図3】本発明の実施の形態に係る情報処理装置を実現するスマートフォンのハードウェア構成の一例を示すブロック図である。
図4】本実施形態の情報処理装置の動作の一例を示すフローチャートである。
図5】本実施形態の情報処理装置に関連するバーコードのスキャナによる読み取り検証結果の例を示す図である。
図6】本実施形態の情報処理装置に関連するバーコードの、コード体系別のスキャナによる読み取り検証結果と、パラメータの優先順位の例を示す図である。
図7】本実施形態の情報処理装置により生成されるバーコードを説明するための図である。
図8】本実施形態の情報処理装置により生成されるバーコードの表示例を示す図である。
図9】本発明の実施の形態に係る情報処理装置の構成を論理的に示す機能ブロック図である。
図10】本実施形態の情報処理装置の表示画面の例を示す図である。
図11】本発明の実施の形態に係る情報処理システムの構成の一例を示す概略ブロック図である。
図12】本発明の実施の形態に係るサーバの構成を論理的に示す機能ブロック図である。
図13】本実施形態のサーバを実現するコンピュータの構成例を示すブロック図である。
図14】本実施形態の情報処理システムの動作の一例を示すフローチャートである。
図15】本実施形態の情報処理装置に関連するバーコードの構成を説明するための図である。
図16】本実施形態の情報処理装置に関連するバーコードの構成を説明するための図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0020】
(第1の実施の形態)
本発明の第1の実施の形態に係る情報処理装置、方法およびプログラムについて、以下説明する。
図1は、本発明の実施の形態に係る情報処理装置100の論理的な構成を示す機能ブロック図である。
本実施形態の情報処理装置100は、スキャナで読み取りされる任意のコード画像を表示部108に表示させる機能を有する。
【0021】
情報処理装置100は、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する情報取得部102と、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得するパラメータ取得部104と、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成するコード生成部106と、コード画像118を表示部108にドットバイドット表示または整数倍表示する表示制御部110と、を備える。
【0022】
本発明の情報処理装置は、表示部108の画面にコード画像118を表示する機能を有するコンピュータであり、表示部108は、情報処理装置に含まれていてもよいし、情報処理装置に外付けされたものでもよい。本実施形態において、情報処理装置は、スマートフォンを例に説明するが、これに限定されない。たとえば、携帯電話機、タブレット端末、PHS(Personal Handyphone System)、パーソナルコンピュータ、PDA(Personal Digital Assistants)、ゲーム機、店舗端末など、様々な端末装置を含むことができる。
【0023】
表示部108は、液晶ディスプレイ、有機EL(ElctroLuminescence)ディスプレイ、無機ELディスプレイ等、特に種類は限定されないが、本実施形態では、液晶ディスプレイを例に説明する。
また、本発明の情報処理装置は、全ての機能を上記端末装置で実現される構成と、端末装置とサーバが機能を分担して実現される構成の両方を採用することができる。サーバを含む構成については、後述する。
なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【0024】
本発明の実施の形態に係る情報処理装置100では、コンピュータプログラムの各手順に対応する各処理動作を、コンピュータが実行することにより、情報処理装置100の各ユニットの各機能が実現される。たとえば、スマートフォン等の端末装置に本実施形態の情報処理装置100を実現するアプリケーション(以下、他のアプリケーションと区別するために「プログラム」とも呼ぶ)をインストールし、スマートフォンでプログラムを実行することで、情報処理装置100の各ユニットの各機能を実現することができる。
【0025】
また、後述するように、情報処理装置100の各ユニットの各機能は、少なくとも一部のユニットの少なくとも一部の機能をサーバが実現してもよい。端末装置およびサーバの性能(CPUやメモリ容量)や負荷状況等により、最適な機能分担を定めればよい。
さらに、情報処理装置100のプログラムは、プログラムモジュールとしてコード画像を表示する機能を有する他のアプリケーションに組み込まれて実行される形態、または、ライブラリとして他のアプリケーションから呼び出されて実行される形態等であってもよい。
【0026】
ここで、情報処理装置100によりコード化される元となるソース情報114は、特に限定されず、ソース情報114を元に生成されるコード画像118は、様々なシーンで利用されることが想定される。たとえば、図書館で本を借りる際に提示する図書カードの代わりに、スマートフォンに図書館の利用者情報を示すバーコード画像を画面に表示させて職員に提示し、バーコードスキャナで読み取らせ、利用承認を行うことができる。また、コンビニエンスストア等で、スマートフォンに支払伝票情報を示すバーコード画像を画面に表示させて店員に提示し、バーコードスキャナで読み取らせ、コンビニ支払い手続きを行うことができる。また、ユーザ所有のスマートフォンではなく、施設や店舗等に設置されている端末装置に、ユーザが所定の操作を行うことでバーコード画像を画面に表示させて店員に提示し、バーコードスキャナで読み取らせ、所定の手続きを行う形態も考えられる。
【0027】
本実施形態では、ソース情報114を1次元バーコード(「1次元シンボル」、「リニアシンボル」とも呼ばれる)にコード化して表示部108に表示させる構成について説明する。なお、本発明の構成は、2次元コード(「2次元シンボル」、「スタック型2次元コード」、「マトリクス型2次元コード(たとえば、(QR(Quick Response)コード(登録商標))」とも呼ばれる)等、他のコード化方式で生成されたコード画像118の表示に適用することもできる。
以下、本明細書では、1次元バーコードを単に「バーコード」と呼ぶ。
【0028】
バーコードは、あるキャラクタ(数字、記号、文字等)列を、異なる幅を有する複数のバーとスペース(これらの各々を「エレメント」または「モジュール」と呼ぶ)を組み合わせて並べて表現する。本実施形態では、バーコードのコード体系として、GS1−128(旧UCC/EAN−128)、Code128、Codabar(NW−7)等を例に説明するが、本発明の情報処理装置に適用可能なコード体系はこれらに限定されず、様々なコード体系のバーコードに適用できる。
【0029】
情報取得部102は、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する。
コード体系情報112は、表示対象の上記バーコードのコード体系を情報取得部102が識別できる情報であればよく、特に限定されない。たとえば、本実施形態の情報処理装置100が表示できるコード体系について、予め識別情報を定めておき、情報処理装置100を利用する他のアプリケーションが指定するコード体系を示す識別情報を取得してもよい。または、情報処理装置100が生成するコード画像が、あるコード体系に特化されている場合には、予め定められているコード体系、またはサーバから指定されたコード体系を使用することができる。
【0030】
ソース情報114は、バーコードの元となる情報であり、テキストデータ、バイナリデータ等のデータ形式は特に限定されない。ここで、コード体系毎に、コード化可能なキャラクタの種類(数字、記号、文字等)や桁数、あるいは、情報項目等の仕様は決まっているので、コード体系に従ったソース情報114が取得される。なお、ソース情報114の内容は、本発明の本質には関わらないので詳細な説明は省略する。
【0031】
情報取得部102は、コード体系情報112およびソース情報114を、たとえば、コード画像118の表示を要求する他のアプリケーション等から取得することができる。あるいは、ウェブサイトからダウンロードして取得してもよい。あるいは、記憶装置(内部メモリまたはストレージ、または外部記録媒体)に記憶されている情報を読み出して取得する形態であってもよく、特に限定されない。
【0032】
本明細書において、「取得」とは、自装置が他の装置や記憶媒体に格納されているデータまたは情報を取りに行くこと(能動的な取得)、たとえば、他の装置にリクエストまたは問い合わせして受信すること、他の装置や記憶媒体にアクセスして読み出すこと等、および、自装置に他の装置から出力されるデータまたは情報を入力すること(受動的な取得)、たとえば、配信(または、送信、プッシュ通知等)されるデータまたは情報を受信すること等、の少なくともいずれか一方を含む。また、受信したデータまたは情報の中から選択して取得すること、または、配信されたデータまたは情報を選択して受信することも含む。
【0033】
情報取得部102による情報取得方法は、コード画像の表示を要求する他のアプリケーションやウェブサイトから呼び出されて情報を受け取る形態でもよいし、表示したいソース情報114の情報を持っている他のアプリケーションやウェブサイトに対し、情報提供のリクエストを行う形態でもよく、特に限定されない。
【0034】
パラメータ取得部104は、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得する。
コード生成用パラメータ116は、コードを生成する際の条件となる情報であり、バーコードを構成する最小モジュール(黒バーや白バー)の1幅を描画するのに使用する画素数(ドット数)を少なくとも含む。なお、QRコード(登録商標)等の2次元バーコードの場合、コード生成用パラメータ116は、最小モジュール(1セル)を描画するのに使用する縦と横の各画素数(ドット数)となる。さらに、コード体系がNW7の場合には、コード生成用パラメータ116として、細エレメントに対する太エレメントの比(ここでは、「NW比」と呼ぶ)が含まれてもよい。また、コード生成用パラメータ116は、端末装置の画面の長手方向を縦にしてバーコードを表示するか、長手方向を横にしてバーコードを表示するかの指定をさらに含んでもよい。
たとえば、コード体系がNW7の場合には、コード生成用パラメータ116は、NW比が2.0、2.5、または、3.0について、最小モジュール幅のドット数(たとえば、1(dot/mod)、2(dot/mod)、3(dot/mod))の組み合わせを含む。なお、コード生成用パラメータ116の最小モジュール幅のドット数は、3(dots/mod)までに限定されるものではなく、4(dot/mod)、5(dot/mod)、...等、画面の画素数や解像度に応じて、様々な値を取り得る。
【0035】
ここで、コード生成用パラメータ116は、表示部108の仕様(特に、画面の幅と解像度)およびコード体系に応じて、バーコードの生成条件(最小モジュール幅やバーコード幅等)を満たす値が設定される。たとえば、バーコードがスキャナによって読み取られることができる最小モジュールの幅は、スキャナの読取解像度(分解能)によって決まりうる。たとえば、最小モジュール幅が0.15mm以上であると、スキャナでバーコードがある一定の精度で読み取ることができるとする。
【0036】
また、表示部108の仕様から、画面の1ドットが何mmとなるかが分かることから、1ドットが0.15mm以上であれば、最小モジュールを、1ドットで描画してよいことになる。たとえば、画面の長手方向を縦にした場合の、画面の横幅が640画素で解像度が(326ppi)のものは、1ドット幅が約0.077mmとなり、スキャナの分解能を下回ることになる。したがって、最小モジュール幅は、2ドット以上にした方がよい。このように、スキャナ側からすると、最小モジュールの幅は、なるべく広い方が読み取り精度は向上する。そのため、最小モジュールを描画するドット数が多い方がよい。しかしながら、バーコードの横方向の長さが、左右の余白を含めて60mmを超えると、スキャナで読み取れなくなる場合がある。本実施形態では、最小モジュール幅のドット数は、バーコード総幅が60mmを超えない範囲に制限するものとする。
【0037】
このように、コード生成用パラメータ116は、スキャナで読み取りうる最小モジュールの幅と、生成されるバーコードの総幅の両方の条件を満たす範囲で決められる。この範囲に含まれるコード生成用パラメータ116が複数ある場合には、パラメータ取得部104は、複数のコード生成用パラメータ116を取得してもよい。
コード生成用パラメータ116は、予め理論値として設定されていてもよいし、あるいは、後述するように、実際の読み取り結果を統計して、最適値に補正できてもよい。
【0038】
最も単純な例では、端末装置の機種または表示部108の型番によって表示部108の仕様は定まるため、端末装置の機種または表示部108の型番と、コード体系とに対応するコード生成用パラメータ116を取得してもよい。
【0039】
たとえば、図5は、端末装置の機種、または、ある画面仕様(画面サイズ(縦および横の少なくともいずれか一方の画素数)および画面解像度(ppi)の範囲)において、コード体系別に、バーコード構成条件(たとえば、最小モジュール幅やNW比)毎に、生成されるコード画像118の読み取り精度の検証結果が示されている。ここでは、○(丸印)が高精度で読み取り可能なもの、△(三角印)が読み取りできるが、所定の基準を満たさないもの、−(N/A:Not Applicable)が生成されるバーコードが所定の基準を満たさないので採用できないものを示す。また、図示されていないが、読み取りできないものは、×(バツ印)で示される。ここで、所定の基準とは、たとえば、バーコードの幅が60mm以下であること、バーコードの最小モジュールの幅が0.15mm以上であること等である。
【0040】
このような検証は、実際にバーコードを生成して各端末装置に表示させて、スキャナで読み取り試験で行ってもよいし、理論上計算されるバーコードの最小モジュール幅とバーコード幅、およびスキャナの読み取り解像度等の仕様情報から、理論的に行ってもよい。
【0041】
以下、バーコード総幅の算出方法を説明する。
まず、コード体系がEAN128(GS1−128)のバーコードについて説明する。
図15(a)は、バーコードの構成イメージを示す。図15(b)は、最小モジュール幅をX(ドット)(Xは自然数)とした場合の、各部の画素数(ドット数)を示している。
最小モジュール幅をX、有効桁数(数字のみ)をn(nは偶数とする)、CODE128のスタイルをCode Set Cとする。
なお、Data部は1キャラクタで数字2桁(00〜99)とする。
【0042】
バーコード総幅W=10X+11X+11X+11X*n/2+11X+13X+10X=(11n/2+66)X
n=44桁とすると、W=(11*44/2+66)=308Xとなる。ここで、Wは自然数で、バーコード総幅をドット数で示す。
この場合、最小モジュール幅を1(dot/mod)にすると、バーコード総幅が308ドットとなる。したがって、画面の長手方向を縦にした場合の、画面の横幅が540画素以下のものは、最小モジュール幅は、1(dot/mod)のみで、2(dots/mod)は表示できないことになる。
【0043】
次に、コード体系がCODABAR(NW7)のバーコードについて説明する。
図16(a)は、バーコードの構成イメージを示す。図16(b)は、最小モジュール幅をX(ドット)とした場合の、各部の画素数(ドット数)を示している。
細バーの幅(=最小モジュール幅)をX、太バーの幅をr・X、NW比(太バー幅と細バー幅の比率)をr(=2から3)、キャラクタ間ギャップをc(c≧X)、有効桁数(ここでは、簡単のため数字のみとする)をnとする。
【0044】
また、各キャラクタ幅は、以下の通りとなる。
"0"から"9"、"−(マイナス記号)","$(ドル記号)"の12種は、(2r+5)X、":(コロン記号)","/(スラッシュ記号)",".(ピリオド)","+(プラス記号)"の4種は、(3r+4)X、STARTおよびSTOPの("A","B","C","D"の4種)は(3r+4)Xとする。
【0045】
バーコード総幅W=4(3r+4)X+n(2r+5)X+c(n+1)
ここで、c=X(キャラクタ間ギャップ(図16(a)中、▲(黒三角)で示される)の最小幅)とすると、以下のようになる。
バーコード総幅W=4(3r+4)X+n(2r+5)X+X(n+1)
=X(12r+16+2nr+5n+n+1)
=X(12r+17+2nr+6n)
=X{2n(r+3)+12r+17}
【0046】
ここで、NW比r=3.0の場合は以下のようになる。
バーコード総幅W=X{2n(r+3)+12r+17}
=X{2n(3+3)+12*3+17}
=X(12n+53)
この例でn=16桁なら、W=245Xとなる。
【0047】
次に、NW比r=2.0の場合は以下のようになる。
バーコード総幅W=X{2n(r+3)+12r+17}
=X{2n(2+3)+12*2+17}
=X(10n+41)
この例でn=16桁なら、W=201Xとなる。
このように、理論的にバーコード幅を求めれば、表示部108の仕様から、最小モジュール幅の設定可能な範囲を求めることができる。
【0048】
これらの結果から、コード体系毎に、端末装置の機種または画面仕様に応じた、コード生成用パラメータ116のセットを決定することができる。たとえば、この端末装置で、コード体系が、CODE128(16桁)のコード画像118を生成する場合には、コード生成部106は、コード生成用パラメータ116として、最小モジュール幅2(dot/mod)と3(dot/mod)の少なくともいずれか一方を取得する。
【0049】
表示部108の仕様としては、スマートフォンを、長手方向を縦にした場合の横方向の画面の幅の画素数と、画面解像度(ppi)が少なくとも分かればよい。画面幅の画素数と画面解像度によって、適したコード生成用パラメータ116が定まるためである。一方、画面幅の画素数と画面解像度は、端末装置の機種や表示部108の型番によって決まっているものでもある。そこで、端末装置の機種名(製品名等)や表示部108の型番(製品名等)の情報から、対応するコード生成用パラメータ116を取得してもよい。
【0050】
また、表示部108の仕様に関する情報は、端末装置自身が保持している情報から算出したり取得したりしてもよい。あるいは、パラメータ取得部104は、自身の機種または表示部108の画面の情報をサーバに通知し、対応するコード生成用パラメータ116をサーバから取得したり、ウェブサイトから該当する機種等を選択して、対応するコード生成用パラメータ116をダウンロードしたりしてもよい。
【0051】
端末装置自身が保持している情報から、表示部108の仕様に関する情報として、画面幅の画素数と画面解像度を算出してもよい。
たとえば、画面幅の画素数と画面解像度は、画面サイズ(インチ数)、画素数(画面の横および縦の少なくともいずれか一方の画素数、または総画素数)、アスペクト比、または画面解像度(ppi)等の表示部108の仕様に関する情報から算出できる。算出方法は様々考えられるが、特に限定されない。
【0052】
そして、パラメータ取得部104は、コード生成用パラメータ116を、コード体系と、端末装置自身が保持している情報から取得した表示部108の仕様とに基づいて、算出して得てもよい。
【0053】
なお、コード体系については、情報取得部102が取得したコード体系情報112から取得できる。
また、コード生成用パラメータ116は、端末装置が読み取り可能な記憶媒体に保持されていてもよいし、サーバから取得してもよいし、ウェブサイトからダウンロードしてもよい。
【0054】
コード生成部106は、コード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成する。
ここで、コード体系毎に、バーコードの構成は決まっているため、本実施形態のコード生成部106は、コード体系毎に、バーコードの構成内容の情報を保持する。コード生成部106は、コード体系情報112で指定されるコード体系に基づいて、バーコードの構成内容の情報を用いて、ソース情報114をコード化する。なお、バーコードの生成方法は特に限定されるものではなく、本発明の本質に関わらないので詳細な説明は省略する。
【0055】
なお、上述したように、コード画像118には、バーコードの規格や、バーコードスキャナの性能に応じて、所定の制約条件が定められてもよい。たとえば、バーコードの最小モジュール(黒バーまたは白バー)幅が所定サイズ(0.15nm)以上となること、バーコード全体(余白を含め)の幅が所定サイズ(60mm)以内であること、バーコードの高さが所定サイズ(10mm)以上であること、バーコードの左右に余白があること、バーコードの周囲に枠がないこと、バーコードのRGB値は、黒バーがR=G=B=255、白バーがR=G=B=0であること、等がある。コード生成部106は、これらの制約条件を満たすように、コード画像118を生成する。
【0056】
表示制御部110は、コード画像118を表示部108にドットバイドット表示または整数倍表示する。
なお、コード画像118を表示部108に表示する際、表示制御部110は、バーコードスキャナの読取精度ができる限り向上するように、表示部108の設定を変更する等の制御を行うことが好ましい。たとえば、表示部108の画面の輝度設定を最大にしたり、画面ののぞき見を防止するビューブラインド機能の設定を解除したりする制御を行ってもよい。表示制御部110が自動で設定を変更してもよいし、あるいは、ユーザに設定の変更を促すメッセージを出力(表示または音声出力)し、ユーザに手動で設定変更させてもよい。
【0057】
ドットバイドット表示とは、画像をディスプレイに表示する方式の1つで、画像情報の1ピクセルを表示画面の1ドットに対応させて表示することを指す。すなわち、画像情報に拡大または縮小などの処理を加えずに、そのまま等倍表示する。
整数倍表示とは、画像をディスプレイに表示する方式の1つで、画像情報の1ピクセルを表示画面の整数倍ドットに対応させて表示することを指す。ここで、アスペクト比は変えずに拡大する。また、1.5倍等の整数倍でない拡大処理は行わない。その理由について、以下に説明する。
【0058】
図2は、バーコードの表示方式を説明するための図である。
図2(a)は、ドットバイドット表示したときのバーコードを示す図である。図2(b)は、整数倍ではない表示をしたときのバーコードを示す図である。図2(c)は、整数倍でない表示をしたときのバーコードの拡大図である。
図2(a)のように、整数倍表示の場合には、バーコードは、画面の画素(ドット)単位で、黒バーと白バーをそれぞれ表現できる。ここで、画面の1画素は、R(赤)G(緑)B(青)の3色のカラーフィルタから構成されている。たとえば、白バーは、R=G=B=225、黒バーは、R=G=B=0の各値が指定されることで、表示される。
【0059】
一方、図2(b)または図2(c)のように、整数倍表示でない場合には、バーコードは、画面の画素単位で黒バーと白バーを表現できなくなる。たとえば、黒バーが1.5ドットで表現される場合、たとえば、図2(c)のP22やP23等は、黒と白の間のRGB値をとることになり、図2(b)に示すように、黒バーの周囲(ハッチングで示される部分)に「にじみ」が生じてしまう。このため、スキャナによる読み取り精度が低下してしまう可能性がある。
そこで、本発明では、表示部108は、コード画像118をドットバイドット表示または整数倍表示する。
【0060】
さらに、表示制御部110は、スマートフォン10等タッチパネル型ディスプレイのユーザインタフェースの標準機能として備わっている、画面表示を拡大または縮小するための操作である、ピンチアウトやピンチイン操作の受け付けを禁止する制御を行うのが好ましい。あるいは、表示制御部110は、画面表示の拡大または縮小を、整数倍で行うよう制御してもよい。
【0061】
図3は、本発明の実施の形態に係る情報処理装置100を実現するスマートフォン10のハードウェア構成の一例を示すブロック図である。
図3のスマートフォン10(コンピュータ)は、CPU12、メモリ14、メモリ14にロードされた図1の情報処理装置100の構成要素を実現するプログラム50、そのプログラム50を格納する内部ストレージ16などの記憶ユニット、および通信用インタフェース(通信部18)を備える。図1の本実施形態の情報処理装置100の各構成要素は、図3の任意のコンピュータ(スマートフォン10)のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。図1ならびに以下に説明する各実施形態における機能ブロック図は、ハードウェア単位の構成ではなく、機能単位の論理的なブロックを示している。
【0062】
具体的には、図3に示すように、スマートフォン10は、CPU12と、メモリ14と、内部ストレージ16と、通信部18と、操作部22と、操作受付部24と、表示部26と、表示制御部28と、を備える。なお、図3において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【0063】
CPU12は、スマートフォン10の各要素とバス40を介して接続され、各要素とともにスマートフォン10全体を制御する。メモリ14は、スマートフォン10を動作させるためのプログラム(OS(Operating System)やアプリケーション等)や、それらのプログラムが動作する際に使用する各種設定データがロードされる領域と、プログラムが動作するための作業領域とを有する。
【0064】
内部ストレージ16は、本発明の情報処理装置を実現するプログラム50や、さらに、他のアプリケーション、メール、文書、画像、音楽、動画等の各種ユーザデータを記憶する。なお、内部ストレージ16以外に、たとえば、スマートフォン10に装着または接続して利用できる外部ストレージ(たとえば、SD(Secure Digital)メモリカード等の記録媒体、USB(Universal Serial Bus)メモリ、またはHDD(Hard Disk Drive)等)にアクセス可能とする機構(接続手段、および読出/書込手段)をスマートフォン10が備えてもよい。
【0065】
通信部18は、たとえば、3G(3rd Generation)、LTE(Long Term Evolution)等の携帯電話通信方式で携帯電話通信網に接続したり、無線LAN(Local Area Network)、赤外線、またはブルートゥース等の無線通信でインターネット等のネットワークに接続したりする。本図では1つのユニットのみ示しているが、スマートフォン10は、複数の異なる通信方式に対応した複数の通信制御ユニットを有してもよい。また、図では、通信部18は、アンテナ20を介した無線通信を行う構成を示しているが、これに限定されず、有線通信を行う構成であってもよく、無線および有線の少なくともいずれか一つの通信方式で通信する。
たとえば、情報取得部102またはパラメータ取得部104が、後述する実施形態のように、サーバから情報またはパラメータを取得する形態では、この通信部18を用いてサーバと通信することができる。
【0066】
操作部22は、操作キー、操作ボタン、スイッチ、ジョグダイヤル、タッチパッドなどを含む。操作受付部24は、ユーザによる操作部22の操作を受け付け、CPU12に通知する。表示部26は、液晶ディスプレイ、有機EL(ElectroLuminescence)ディスプレイ、LED(Light Emitting Diode)表示器などを含む。表示制御部28は、CPU12からの指示に従い、表示部26に各種画面表示を行う。
また、スマートフォン10では、操作部22の一部と、表示部26が一体となったタッチパネル30を備えてもよい。
本実施形態では、表示部26(タッチパネル30)が、図1の表示部108に相当する。
【0067】
本発明の実施の形態に係るコンピュータプログラム50は、情報処理装置100を実現させるためのコンピュータ(スマートフォン10のCPU12)に、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する手順、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得する手順、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成する手順、コード画像118を表示部108にドットバイドット表示または整数倍表示する手順、を実行させるように記述されている。
【0068】
本実施形態のコンピュータプログラム50は、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム50は、記録媒体からコンピュータのメモリ14にロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリ14にロードされてもよい。
【0069】
コンピュータプログラム50を記録する記録媒体は、非一時的な有形のコンピュータ(スマートフォン10のCPU12)が使用可能な媒体を含み、その媒体に、コンピュータが読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラムが、コンピュータ上で実行されたとき、コンピュータに、情報処理装置100を実現する以下の情報処理方法を実行させる。
【0070】
このように構成された本実施形態の情報処理装置100の情報処理方法について、以下説明する。
図4は、本実施形態の情報処理装置100の動作の一例を示すフローチャートである。
本発明の実施の形態に係る情報処理方法は、情報処理装置100の情報処理方法であり、情報処理装置100を実現するコンピュータ(スマートフォン10のCPU12)により実行される情報処理方法である。
本実施形態の情報処理方法は、情報処理装置100が、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得し(ステップS101)、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得し(ステップS103)、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成し(ステップS105)、コード画像118を表示部108にドットバイドット表示または整数倍表示する(ステップS107)、ことを含む。
【0071】
より詳細には、まず、情報取得部102が、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する(ステップS101)。ここでは、たとえば、他のアプリケーションから、コード体系情報112とソース情報114を取得する。
なお、ステップS101における、情報取得のタイミングは、様々考えられる。たとえば、アプリケーションで使用するコード体系情報112が限定されている場合には、コード体系情報112はアプリケーションで予め指定され、ソース情報114は、バーコード生成要求毎にアプリケーションから都度取得されてもよいし、複数を一括してアプリケーションから取得してもよい。
【0072】
次に、パラメータ取得部104が、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得する(ステップS103)。パラメータ取得部104は、端末装置の表示部108の仕様に対応する、コード体系毎のバーコード構成条件を含むコード生成用パラメータ116のセットを一括して取得して、メモリ14または内部ストレージ16に記憶しておいてもよい。そして、パラメータ取得部104は、コード体系に対応するパラメータ(バーコード構成条件)を選択してもよい。
たとえば、端末装置の画面幅が320(pixels)で、コード体系がNW7で16桁の場合、パラメータ取得部104は、対応するコード生成用パラメータ116として、少なくとも、NW比3.0、および最小モジュール幅1(dot/mod)を取得する。さらに、パラメータ取得部104は、コード生成用パラメータ116として、NW比2.0、および最小モジュール幅1(dot/mod)を取得してもよい。
【0073】
ステップS103における、コード生成用パラメータ116の取得のタイミングは、特に限定されないが、たとえば、端末装置にプログラムがインストールされた時(後)、サーバでコード生成用パラメータ116が更新された時(後)、端末装置がコード画像118を生成する時(前)、ユーザが要求した時、ウェブサイトにアクセスしてダウンロード要求した時、所定の日時や定期的に、サーバまたは端末装置がリクエストした時等が考えられる。
【0074】
次に、コード生成部106が、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、対応するコード体系のバーコードの構成情報に基づいて、ソース情報114がコード化されたコード画像118を生成する(ステップS105)。すなわち、ソース情報114を、NW7の16桁で、NW比3.0、および最小モジュール幅1(dot/mod)で、コード画像118を生成する。
そして、表示部108が、コード画像118を表示部108にドットバイドット表示する(ステップS107)。
【0075】
ここで、ステップS103で、コード生成用パラメータ116として、最小モジュール幅2(dots/mod)または、3(dots/mod)が取得された場合、以下に示す2通りの方法で、ドットバイドット表示または整数倍表示が実現できる。
(1)ステップS105で、コード画像118をパラメータに従って整数倍にして生成し、ステップS107でコード画像118を等倍表示する。
(2)ステップS105で、コード画像118を等倍で生成し、ステップS107でコード画像118を整数倍表示する。
【0076】
以上説明したように、本発明の実施の形態に係る情報処理装置100において、パラメータ取得部104が、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得し、コード生成部106が、コード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114からコード画像118を生成する。そして、表示制御部110が、コード画像118を表示部108にドットバイドット表示、または、整数倍表示する。
【0077】
これにより、情報処理装置100によれば、表示部108の仕様に適した、また、コード体系に従った、最適なコード生成用パラメータ116を用いて、コード画像118を生成し、表示できるので、バーコードのエレメントが滲んだり、最小モジュール幅が0.15mm以下になったり、バーコード幅が60mmを超えるようなコード生成用パラメータ116は使用しないで済む。そのため、生成されたバーコードの読み取り精度が向上するという効果を奏する。
【0078】
(第1の実施の形態の変形態様1)
上記第1の実施の形態の変形態様1について、以下説明する。
本実施形態の情報処理装置は、上記実施形態の情報処理装置100とは、コード生成用パラメータ116の複数候補の中から、各候補に付与された優先順位に従って1つのパラメータを選択して、コード画像118を生成する点で相違する。
なお、本実施形態の情報処理装置は、図1の情報処理装置100と同様な構成を有するので、図1を用いて説明する。
【0079】
本実施形態において、パラメータ取得部104は、コード生成用パラメータ116の複数候補の中から少なくとも1つのコード生成用パラメータ116を各候補に付与された優先順位に従って選択する。
コード生成部106は、選択されたコード生成用パラメータ116を使用して、コード画像118を生成する。
【0080】
または、表示制御部110が、コード生成用パラメータ116の複数候補の中から優先順位に従って選択された少なくとも1つのコード生成用パラメータ116を使用して生成されたコード画像118を、優先順位に従って選択して表示してもよい。
【0081】
図6に示すように、たとえば、コード体系NW7(16桁)のバーコードを生成する場合、コード生成用パラメータ116として、NW比2.0と、最小モジュール幅の2つの候補の1(dot/mod)と2(dot/mod)が、パラメータ取得部104により取得される。図6の記号○(丸)や△(三角)横に表記される数値が、優先順位を示しているものとする。
この例では、コード生成用パラメータ116は、優先順位が1位のNW比2.0と最小モジュール幅2(dot/mod)と、2位のNW比2.0と最小モジュール幅1(dot/mod)、3位のNW比2.5と最小モジュール幅2(dot/mod)となる。
【0082】
パラメータ取得部104は、たとえば、(NW比2.0,2(dot/mod))、(NW比2.0,1(dot/mod))、(NW比2.5,2(dot/mod))を順に3つのコード生成用パラメータ116を取得する。ここで、複数のパラメータは優先順位が高い順に取得される構成としてもよい。あるいは、(1,NW比2.0,2(dot/mod))、(2,NW比2.0,1(dot/mod))、(3,NW比2.5,2(dot/mod))等、優先順位を付したフォーマットで取得される構成であってもよい。
【0083】
たとえば、図7(a)のバーコードが、優先順位1位のコード生成用パラメータ116を使用して生成されたものであり、図7(b)のバーコードが優先順位2位のコード生成用パラメータ116を使用して生成されたものである。
【0084】
このようにして生成された複数のバーコードは、順次表示してもよいし、一括して表示してもよい。
たとえば、表示制御部110は、複数のコード画像118を優先順位順に順次表示する。複数画像の表示切替制御は、ユーザ指示に従って手動で切り替えてもよいし、所定時間間隔で、自動で切り替えてもよい。
手動による画像の切り替えは、画面に表示される矢印ボタン、送る(戻る)ボタン、画像を指定する数字アイコンやリンク等の押下、あるいは、スマートフォン10の操作ボタンやダイヤル等の操作部22の操作を受け付けることで行ってもよいし、スマートフォン10の画面をスワイプまたはタップする等の画面操作を受け付けることで行ってもよく、特に限定されない。
【0085】
また、複数のコード画像118を一括して表示する構成について、図8を用いて説明する。
表示制御部110は、コード生成部106により複数候補のコード生成用パラメータ116を使用して生成された複数のコード画像118の中の少なくとも複数を表示部108に一括で表示する。
【0086】
この構成によれば、複数の異なるコード生成用パラメータ116で生成された、あるソース情報114からコード体系に従い生成された複数のバーコードが表示部108に一括表示されるので、スキャナによるバーコードの読み取り時に、いずれかのバーコードで読み取り成功する可能性が高くなる。
【0087】
図8(a)は、上記の例の2つの候補のコード生成用パラメータ116で生成されたコード画像118を、2つ並べて1つの画面に表示した例である。図8(b)は、バーコードの表示方向が異なる2つのコード生成用パラメータ116で生成されたコード画像118を2つ並べて1つの画面に表示した例である。
【0088】
図8(a)の例では、上方に最小モジュール幅2(dot/mod)で生成されたバーコード150が表示され、下方に最小モジュール幅1(dot/mod)で生成されたバーコード152が表示されている。一括して表示された2つのバーコードをスキャナで順次読み取ることで、少なくともいずれか一方のバーコードが読み取りに成功する可能性が高くなるので効率がよい。
【0089】
図8(b)では、バーコードの表示方向を変えた2つのバーコードが表示されている。上方に最小モジュール幅1(dot/mod)で生成されたバーコード154が端末装置の長手方向を縦にした場合(以下、「縦位置」と呼ぶ)の横方向に表示され、下方に最小モジュール幅3(dot/mod)で生成されたバーコード156が表示されている。
【0090】
ここで、液晶ディスプレイの場合、画面の1画素は、R(赤)G(緑)B(青)の3色のカラーフィルタから構成されている。そして、これらの3つのRGBフィルタは、縦位置の縦方向に画素毎に同じ列に並んでいる場合がある。
縦位置の横方向にバーコード154が表示されている場合には、スキャナの読み取り方向が、3つのRGBフィルタを横断する方向になるため、バーコード154が読み取れる可能性が高い。
【0091】
一方、縦位置の縦方向にバーコード156が表示されている場合には、スキャナの読み取り方向が、3つのRGBフィルタを横断しない方向となり、RGBの一部のみを読み取ることになる可能性もある。このため、読み取り精度が低下する可能性も考えられる。しかし、縦位置の縦方向にバーコード156を表示する場合には、画面の形状が縦方向の方が長いことから、横方向に比べてバーコード156の総幅を長くとることが可能になるため、バーコード156の最小モジュール幅をバーコード154よりも大きくすることができる。この点からは、スキャナの読み取り精度が向上する可能性もある。
【0092】
したがって、図8(b)の例では、向きを変えて2つのバーコードを表示することで、最小モジュール幅の差の大きいバーコードを一括して表示することができる。これにより、この異なるバーコードの少なくともいずれか一方が読み取りに成功する可能性が高くなるので効率がよい。
【0093】
以上説明したように、本実施形態の情報処理装置100によれば、パラメータ取得部104が、複数候補のコード生成用パラメータ116を優先順位に従って選択するので、コード生成部106は、優先順位の高いコード生成用パラメータ116を使用して、読み取り精度が高いコード画像118を生成できる。
この構成により、優先順位の高いコード生成用パラメータ116を使用できるので、スキャナでの読み取り精度が向上する。
【0094】
(第1の実施の形態の変形態様2)
上記第1の実施の形態の変形態様2について、以下説明する。
本実施形態の情報処理装置は、上記実施形態とは、複数候補のコード生成用パラメータ116によって生成されたコード画像118の読み取り結果に応じて、各候補の優先順位を変更できる構成を有する点で相違する。
図9は、本実施形態の情報処理装置120の構成を論理的に示す機能ブロック図である。
図9の情報処理装置120は、図1の上記実施形態の情報処理装置100と同様な情報取得部102と、パラメータ取得部104と、コード生成部106と、表示制御部110と、を備えるとともに、さらに、判定部122と、記録部124と、を備える。また、本実施形態は、上記変形態様1の構成と組み合わせることもできる。
【0095】
本実施形態の情報処理装置120は、表示制御部110により表示されたコード画像118のスキャナ(不図示)による読み取りが成功したか否かを判定する判定部122と、判定部122による判定結果を、コード画像118を生成するのに使用したコード生成用パラメータ116に対応付けて記録する、または、判定部122による判定結果に基づいて、コード生成用パラメータ116に付与された優先順位を変更する記録部124と、をさらに備える。
本実施形態において、パラメータ取得部104は、判定部122により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直す。
また、コード生成部106は、選択し直されたコード生成用パラメータ116を使用して、コード画像を生成し直す。
【0096】
図10は、本実施形態の情報処理装置120の表示画面の例を示す図である。
図10(a)の例では、画面130が、完了ボタン132と、読み取りにくいボタン134と、を含んでいる。画面130に表示されているバーコードをスキャナに読み取らせた結果、読み取りに失敗した場合、ユーザは読み取りにくいボタン134を操作する。読み取りにくいボタン134の操作を受け付けると、判定部122は、スキャナによる読み取りに失敗したと判定する。そして、記録部124は、その判定結果を、コード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を下げるように変更してもよい。そして、表示制御部110により、優先順位が次のバーコードが画面130に表示される。
【0097】
読み取りに成功した場合、ユーザは完了ボタン132を操作する。完了ボタン132の操作を受け付けることで、判定部122は、スキャナによる読み取りに成功したと判定する。そして、判定部122は、その判定結果をコード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を上げるように変更してもよい。そして、バーコード表示を終了する、または、次のソース情報114の受け付け処理を行う。
【0098】
図10(b)の例では、画面140は、前へボタン142と、次へボタン144と、完了ボタン146と、を含む。画面140に表示されているバーコードをスキャナに読み取らせた結果、読み取りに失敗した場合、ユーザは次へボタン144を操作する。完了ボタン146の操作を受け付けるまで、判定部122は、スキャナによる読み取りに失敗したと判定する。そして、記録部124は、その判定結果を、コード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を下げるように変更してもよい。そして、表示制御部110により、優先順位が1つ下のコード生成用パラメータ116を使用して生成されたバーコードが画面130に表示される。なお、ユーザによる前へボタン142の操作を受け付けた場合、優先順位が1つ上のコード生成用パラメータ116を使用して生成されたバーコードを表示する。
【0099】
読み取りに成功した場合、ユーザは完了ボタン146を操作する。完了ボタン146の操作を受け付けることで、判定部122は、スキャナによる読み取りに成功したと判定する。そして、判定部122は、その判定結果をコード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を上げるように変更してもよい。そして、バーコード表示を終了する、または、次のソース情報114の受け付け処理を行う。
【0100】
本実施形態の情報処理装置120によれば、判定部122が、スキャナによる読み取りが成功したか否かを判定し、記録部124が、判定結果をコード生成用パラメータ116に対応付けて記録する。あるいは、記録部124が、コード生成用パラメータ116に付与された優先順位を変更する。
この構成により、表示されたバーコードのスキャナによる読み取り結果の情報を収集することができる。これにより、コード生成用パラメータ116の優先順位を、実際の読取結果を反映させることができる。これにより、次回以降の読み取りに成功できる可能性を高めることができる。
【0101】
(第2の実施の形態)
次に、本発明の第2の実施の形態に係る情報処理システム、情報処理装置および方法について、以下説明する。なお、本実施形態のプログラムは、上記実施形態と同様に、情報処理装置の情報処理方法を少なくとも1つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
図11は、本発明の実施の形態に係る情報処理システムの構成の一例を示す概略ブロック図である。
本実施形態では、上記実施形態の情報処理装置を、サーバ200と、各端末装置220とで、それぞれ機能を分担して実現する構成について説明する。
本実施形態の情報処理システム1は、サーバ200と、サーバ200とネットワーク3を介して接続する端末装置220(図では、3つの端末装置220a、220b、220cを示すが、端末装置220の数はこれに限定されない。)と、を含む。
【0102】
本実施形態では、サーバ200は、各端末装置220に、本発明のプログラム50をダウンロードさせ、かつ、コード生成用パラメータ116のセットもダウンロードさせる。なお、プログラム50およびコード生成用パラメータ116の配信元となるサーバは、同じサーバである必要はない。また、上述したように、本発明のプログラム50は、端末装置220に単独でダウンロードされる形態だけでなく、他のアプリケーションに組み込まれてダウンロードされる形態も含む。
【0103】
また、コード生成用パラメータ116のダウンロードのタイミングは、上述したように様々考えられる。たとえば、プログラム50を端末装置220にダウンロードする際に、端末装置220の機種に対応する少なくとも一部のコード体系のコード生成用パラメータ116のセットを一緒にダウンロードしてもよい。あるいは、プログラム50または他のアプリケーションが実行されて、あるソース情報114をコード化する際に、端末装置220の機種およびコード体系に対応するコード生成用パラメータ116をサーバ200にリクエストしてダウンロードしてもよい。
【0104】
図12は、本発明の実施の形態に係るサーバ200の構成を論理的に示す機能ブロック図である。
本実施形態のサーバ200は、少なくともパラメータ送信部202を備え、さらに、読取結果取得部204と、優先順位更新部206と、を備えてもよい。また、サーバ200がパラメータ記憶部208を備える構成でもよいし、外部装置に含まれるパラメータ記憶部208にサーバ200がアクセスする形態でもよい。
【0105】
サーバ200において、パラメータ記憶部208は、端末装置220の機種毎およびコード体系毎に、コード生成用パラメータ116を記憶する。
パラメータ送信部202は、端末装置220から機種およびコード体系の少なくともいずれか一方の情報を受信し、パラメータ記憶部208を参照し、受信した情報に対応するコード生成用パラメータ116を端末装置220に送信する。
【0106】
さらに、サーバ200において、パラメータ記憶部208は、コード生成用パラメータ116の優先順位をコード体系毎にコード生成用パラメータ116に対応付けて記憶する。
読取結果取得部(判定結果取得部)204は、コード生成用パラメータ116のスキャナによる読み取りが成功したか否かの判定結果を取得する。判定結果は、端末装置220から取得してもよいし、検証結果等、サーバ200の管理者または本発明のプログラム80の開発者による入力によって取得してもよい。
優先順位更新部206は、取得した判定結果に基づいて、コード生成用パラメータ116に対応付けられた優先順位を更新する。
パラメータ送信部202は、複数のコード生成用パラメータ116を端末装置220に送信する際に、優先順位を各コード生成用パラメータ116に付与して送信する。
【0107】
また、サーバ200において、優先順位更新部206は、読取結果取得部204により複数の端末装置220から取得された複数の判定結果の統計値に基づいて、優先順位を更新してもよい。
【0108】
図13は、本実施形態のサーバ200を実現するコンピュータ60の構成例を示すブロック図である。
コンピュータ60は、CPU(Central Processing Unit)62、メモリ64、メモリ64にロードされた図12の構成要素を実現するプログラム80、そのプログラム80を格納するハードディスクなどのストレージ66、ネットワーク接続用インタフェース(通信I/F70、I/O(Input/Output)68)を備える。メモリ64、ストレージ66、I/O68および通信I/F70は、バス69を介して互いに接続され、CPU62により各要素とともにサーバ200全体が制御される。
【0109】
図12の本実施形態のサーバ200の各構成要素は、図13のコンピュータ60のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。サーバ200を示す図12の機能ブロック図は、ハードウェア単位の構成ではなく、論理的な機能単位のブロックを示している。
【0110】
図13のコンピュータ60のCPU62が、ストレージ66に記憶されるプログラム80をメモリ64に読み出して実行することにより、図12のサーバ200各ユニットの各機能を実現することができる。
【0111】
次に、本発明の実施の形態に係る情報処理システムの情報処理方法について、以下説明する。
図14は、本実施形態の情報処理システムの動作の一例を示すフローチャートである。
本発明の実施の形態に係る情報処理方法は、情報処理装置(サーバ200および端末装置220)の情報処理方法であり、サーバ200および端末装置220を実現するコンピュータ(たとえば、図13のコンピュータ60および図3のスマートフォン10)により実行される情報処理方法である。
【0112】
本実施形態の情報処理方法は、まず、端末装置220において、情報取得部102が、コード体系情報112とソース情報114を取得する(ステップS201)。そして、パラメータ取得部104がサーバ200に自身の機種情報とコード体系を送信する(ステップS203)。
そして、サーバ200において、パラメータ送信部202が、端末装置220から機種情報とコード体系の情報を受信する(ステップS205)。そして、パラメータ送信部202が、受信した機種情報から特定される表示部108の仕様と前記コード体系に対応するコード生成用パラメータ116を端末装置220に送信する(ステップS207)。
【0113】
そして、端末装置220において、コード生成部106が、iに1をセットし(ステップS211)、コード体系情報および優先順位が1位のコード生成用パラメータ116を使用して、ソース情報114からコード画像118を生成する(ステップS213)。
【0114】
そして、表示制御部110が、表示部108に生成されたコード画像118をドットバイドット表示または整数倍表示する(ステップS215)。このとき、図10(a)の画面が表示されたとする。
【0115】
ここで、ユーザは、端末装置220に表示されたコード画像118を、スキャナで読み取らせる。その結果、読み取りに失敗した場合(ステップS217のNO)、iをインクリメントして(ステップS219)、ステップS213に戻り、次の優先順位のコード生成用パラメータ116を選択する。
【0116】
同様に生成されたコード画像118が表示部108に表示され、スキャナに読み取らせる。その結果、読み取りに成功した場合(ステップS217のYES)、記録部124は、読み取りに成功したことを示す判定結果をサーバ200に送信する(ステップS221)。
【0117】
そして、サーバ200において、読取結果取得部204が端末装置220から判定結果を受信する(ステップS223)。そして、優先順位更新部206が、判定結果に基づいて、コード生成用パラメータ116の優先順位を更新する(ステップS225)。
【0118】
以上説明したように、本実施形態の情報処理システム1において、端末装置220は、サーバ200から端末装置220の機種およびコード体系に対応するコード生成用パラメータ116を取得し、バーコードを生成して表示できる。また、スキャナによる読み取り結果に関する情報をサーバ200に送信することができる。
この構成により、複数の端末装置220からの読み取り結果の情報の統計をとることで、端末装置220の機種とコード体系に対応してより読み取り精度の高いコード生成用パラメータ116の優先順位を上げるこができるので、効率よく読み取り精度の高いバーコードを生成および表示することができる。
【0119】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0120】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
【0121】
以下、参考形態の例を付記する。
1. コンピュータに、
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する手順、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得する手順、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成する手順、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示する手順、
を実行させるためのプログラム。
2. 前記パラメータを取得する際、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択する手順、
前記コード画像を生成する際、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する手順、
をコンピュータに実行させるための、1.に記載のプログラム。
3. 表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定する手順、
前記判定する手順における判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定する手順における判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更する手順、
前記パラメータを取得する際、前記判定する手順により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直す手順、
前記コード画像を生成する際、選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す手順、
をコンピュータに実行させるための、2.に記載のプログラム。
4. 前記コード画像を生成する手順により前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する手順、
をコンピュータに実行させるための、2.または3.に記載のプログラム。
5. 前記パラメータを取得する際、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する手順、
をコンピュータに実行させるための、1.乃至4.いずれか1つに記載のプログラム。
6. 前記パラメータを取得する際、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信する手順、
前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する手順、
をコンピュータに実行させるための、1.乃至5.いずれか1つに記載のプログラム。
【0122】
7. 情報処理装置が、
コード体系情報とそのコード体系に基づいてコード化するソース情報を取得し、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得し、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成し、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示する、
情報処理装置の情報処理方法。
8. 前記情報処理装置が、
前記パラメータを取得する際、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、
7.に記載の情報処理装置の情報処理方法。
9. 前記情報処理装置が、
表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定し、
前記判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更し、
前記パラメータを取得する際、前記スキャナによる読み取りが失敗したと判定された場合に、次の優先順位のコード生成用パラメータを選択し直し、
選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す、
8.に記載の情報処理装置の情報処理方法。
10. 前記情報処理装置が、
前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する、
8.または9.に記載の情報処理装置の情報処理方法。
11. 前記情報処理装置が、
前記パラメータを取得する際、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する、
7.乃至10.いずれか1つに記載の情報処理装置の情報処理方法。
12. 前記情報処理装置が、
前記パラメータを取得する際、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信し、
前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する、
7.乃至11.いずれか1つに記載の情報処理装置の情報処理方法。
【0123】
13. コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する情報取得手段と、
表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得するパラメータ取得手段と、
取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成するコード生成手段と、
前記コード画像を前記表示部にドットバイドット表示または整数倍表示する表示制御手段と、
を備える情報処理装置。
14. 前記パラメータ取得手段は、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
前記コード生成手段は、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、
13.に記載の情報処理装置。
15. 前記表示制御手段により表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定する判定手段と、
前記判定手段による判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定手段による判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更する記録手段と、
をさらに備え、
前記パラメータ取得手段は、前記判定手段により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直し、
前記コード生成手段は、選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す、
14.に記載の情報処理装置。
16. 前記表示制御手段は、前記コード生成手段により前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する、
14.または15.に記載の情報処理装置。
17. 前記パラメータ取得手段は、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する、
13.乃至16.いずれか1つに記載の情報処理装置。
18. 前記パラメータ取得手段は、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信し、
前記コード生成手段は、前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する、
13.乃至17.いずれか1つに記載の情報処理装置。
19. 端末装置から機種およびコード体系の少なくともいずれか一方の情報を受信し、コード体系情報およびコード生成用パラメータを使用して、ソース情報からコード化されたコード画像を表示する端末装置の機種毎および前記コード体系毎に、コード生成用パラメータを記憶するパラメータ記憶部を参照し、受信した情報に対応するコード生成用パラメータを前記端末装置に送信するパラメータ送信手段と、
を備えるサーバ。
20. 前記パラメータ記憶部は、前記コード生成用パラメータの優先順位を前記コード体系毎に前記コード生成用パラメータに対応付けて記憶し、
前記コード生成用パラメータのスキャナによる読み取りが成功したか否かの判定結果を取得する判定結果取得手段と、
取得した前記判定結果に基づいて、前記コード生成用パラメータに対応付けられた前記優先順位を更新する優先順位更新手段と、を備え、
前記パラメータ送信手段は、複数の前記コード生成用パラメータを前記端末装置に送信する際に、前記優先順位を各コード生成用パラメータに付与して送信する、
19.に記載のサーバ。
21. 前記優先順位更新手段は、前記判定結果取得手段により複数の前記端末装置から取得された複数の前記判定結果の統計値に基づいて、前記優先順位を更新する、
20.に記載のサーバ。
この出願は、2014年9月18日に出願された日本出願特願2014−190208号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16