(57)【要約】【課題】従来とは異なる方法で、コードの偽造を抑制する。【解決手段】物品に関連付けられた情報を示すコードの画像データを生成する方法は、入力された前記情報に基づき、前記情報を示すコードの画像を、物品ごとまたは物品群ごとに異なる態様で改変した画像を示す改変画像データを生成するステップと、改変後の前記画像データを記録媒体に記録するステップと、を含む。【選択図】図２
2018136916.tif 000002
【特許請求の範囲】
【請求項１】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の外部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更される、
方法。
【請求項２】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項１に記載の方法。
【請求項３】
前記複数のマークは、互いに隣接しない態様で付加される、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのマークの個数または形状は、前記コードが示す情報に基づいて決定される、請求項１から３のいずれかに記載の方法。
【請求項５】
前記改変画像データを生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記少なくとも１つのマークの座標値を決定することを含む、
請求項１から４のいずれかに記載の方法。
【請求項６】
前記マークはドットマークである、請求項１から５のいずれかに記載の方法。
【請求項７】
前記コードは、複数のセルを含む２次元バーコードであり、
前記少なくとも１つのマークの大きさは、各セルの大きさよりも小さい、
請求項１から５のいずれかに記載の方法。
【請求項８】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の内部または外周部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の内部または前記領域に接する位置における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを、前記コードの読み取りに影響を及ぼさず、かつ複数のマークが隣接しない態様で付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更される、
方法。
【請求項９】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項９に記載の方法。
【請求項１０】
前記少なくとも１つのマークの個数または形状は、前記コードが示す情報に基づいて決定される、請求項８または９に記載の方法。
【請求項１１】
前記改変画像データを生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記少なくとも１つのマークの座標値を決定することを含む、
請求項８から１０のいずれかに記載の方法。
【請求項１２】
前記コードは、複数のセルを含む２次元バーコードであり、
前記少なくとも１つのマークの大きさは、各セルの大きさよりも小さく、
各セルには、０個または１個のマークが付加される、
請求項８から１１のいずれかに記載の方法。
【請求項１３】
前記コードは、Ｎ個（Ｎは２０以上の整数）のセルを含み、
前記生成するステップは、
前記情報に基づいて、ｎ個（ｎは２以上Ｎ／１０以下の整数）の座標値を決定し、
前記ｎ個の座標値が示す位置に、ｎ個のマークを付加することを含み、
前記ｎ個の座標値の組み合わせは、前記コードが示す前記情報によって異なる、
請求項９に記載の方法。
【請求項１４】
前記コードは、前記複数のセルが配列された領域の周囲にアライメントパターンを有し、
前記少なくとも１つの座標値は、前記アライメントパターン上の領域から選択される、請求項１２または１３に記載の方法。
【請求項１５】
物品に関連付けられた情報を示すコードの画像データを生成するためのプログラムであって、プロセッサに、
請求項１から１４のいずれかに記載の方法を実行させるプログラム。
【請求項１６】
物品に関連付けられた情報を示すコードの画像データを生成する装置であって、
プロセッサと、
前記プロセッサによって実行されるコンピュータプログラムを格納したメモリと、
を備え、
前記コンピュータプログラムは、前記プロセッサに、
請求項１から１４のいずれかに記載の方法を実行させる装置。
【請求項１７】
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
請求項１から１４のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を含む真贋判定方法。
【請求項１８】
前記ステップＡは、前記第１の画像データを取得した読み取り装置からネットワークを介して前記第１の画像データを取得することを含み、
前記ステップＤは、前記読み取り装置に前記ネットワークを介して前記判定結果を示すデータを送信することを含む、
請求項１７に記載の真贋判定方法。
【請求項１９】
前記ステップＡ、前記ステップＢ、前記ステップＣ、および前記ステップＤは、カメラ、プロセッサ、前記記録媒体を備えた読み取り装置における前記プロセッサによって実行され、
前記ステップＡは、前記カメラから前記第１の画像データを取得することを含み、
前記ステップＢは、前記第２の画像データまたは前記改変用データを前記記録媒体から取得することを含む、
請求項１８に記載の真贋判定方法。
【請求項２０】
前記読み取り装置は、ディスプレイをさらに備え、
前記ステップＤは、前記ディスプレイに、前記判定結果を表示させることを含む、請求項１８または１９に記載の真贋判定方法。
【請求項２１】
コンピュータに、
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
請求項１から１４のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、物品に付されるコードの偽造を抑制するための技術に関する。
【背景技術】
【０００２】
世の中に流通している様々な商品には、例えば商品コード、製造年月日（または消費期限）、ロット番号、または物品固有のシリアル番号などを示すコードが、その商品または包装に印刷されている。これらのコードは、一般に、一次元もしくは二次元のバーコード、人間による読み取りが可能な目視可能文字（ヒューマンリーダブル文字）、またはこれらの組み合わせの形態で印刷される。
【０００３】
このようなコードの印刷は、パーソナルコンピュータ（ＰＣ）およびプリンタなどの、一般に市販されている装置を用いて行うことができる。印刷されたコードは、例えばスマートフォンなどのカメラを搭載した携帯機器、またはバーコードリーダなどの読み取り装置を用いて読み取ることができる。コードの作成または読み取りのためのアプリケーションソフトウェアも容易に入手することができる。このため、コードは非常に利便性が高く、幅広い目的で使用されている。
【０００４】
しかし、その一方で、コードの偽造または改変が行われる可能性がある。例えば、正規品ではない商品に、正規品と同じコードが付されて販売されるおそれがある。現在広く利用されている１次元または２次元のバーコードには、偽造を防止する十分な仕組みがない。このため、商品が正規品なのか模造品なのかを消費者が判断することは一般に容易ではない。
【０００５】
コードの偽造を困難にする技術として、例えばバーコードとホログラムとを組み合わせて印刷する技術が広く知られている。しかし、ホログラムを利用する技術は、コードの作成および印刷に複雑な工程を要するという課題がある。また、仮にホログラムが偽造された場合に、偽造の有無を消費者が容易に判断することができない。
【０００６】
特許文献１は、より簡便な方法で、商品に付された二次元バーコードの複製を防止し得る技術を開示している。特許文献１は、二次元バーコードのパターンに、各セルのサイズ以下の微小形状を含む二次パターンを組み合わせたセキュアバーコードを作成する方法を開示している。微小形状は、バーコードスキャナによって検出される程度に大きいが、標準的な（すなわち、解像度が高くない）複製デバイスによって複製される可能性が低いほど十分に小さい。このため、セキュアバーコードは容易に複製できず、偽造される可能性を低減できる旨が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−１９２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本開示は、従来とは異なる方法で、コードの偽造を抑制し得る新規なコード生成方法を提供する。
【課題を解決するための手段】
【０００９】
本開示の一態様に係るコード生成方法は、物品に関連付けられた情報を示すコードの画
像データを、プロセッサによって生成する方法である。前記方法は、入力された前記情報に基づき、前記情報を示すコードの画像データを、所定のアルゴリズムに従って生成するステップと、前記情報に基づく特定のルールに従い、前記画像データを、物品ごとまたは物品群ごとに異なる態様で改変するステップと、改変後の前記画像データを記録媒体に記録するステップと、を含む。
【００１０】
本開示の他の態様に係る真贋判定方法は、物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップと、前記コード生成方法によって生成された改変後の画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップと、前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップと、判定結果を示すデータを出力するステップと、を含む。
【００１１】
上記の包括的または具体的な態様は、装置、システム、方法、集積回路、コンピュータプログラム、記録媒体、またはこれらの任意の組み合わせによって実現され得る。
【発明の効果】
【００１２】
本開示の一態様によれば、コードの偽造を比較的容易に検出できるため、コードの偽造を抑制し得る。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態１におけるコード画像生成装置（サーバコンピュータ３０）の概略構成を示すブロック図である。
【図２】図２は、プロセッサ３２によるコード画像の生成処理の基本的な流れを示すフローチャートである。
【図３Ａ】図３Ａは、図２におけるステップＳ１０１において生成されるコード画像の一例を示す図である。
【図３Ｂ】図３Ｂは、図２におけるステップＳ１０２において改変されたコード画像の一例を示す図である。
【図３Ｃ】図３Ｃは、改変後のコード画像の他の例を示す図である。
【図３Ｄ】図３Ｄは、改変後のコード画像のさらに他の例を示す図である。
【図３Ｅ】図３Ｅは、改変後のコード画像のさらに他の例を示す図である。
【図３Ｆ】図３Ｆは、改変後のコード画像のさらに他の例を示す図である。
【図４Ａ】図４Ａは、コードのアライメントパターンにおける特定の箇所を白抜きにした例を示している。
【図４Ｂ】図４Ｂは、アライメントパターンの周囲に３つのマーク１（黒いドット）が付加された例を示している。
【図４Ｃ】図４Ｃは、アライメントパターンの周囲に離れて３つのマーク１（黒いドット）が付加された例を示している。
【図５Ａ】図５Ａは、コードの領域の周囲にキャラクタマーク２を付加したコード画像の一例を示している。
【図５Ｂ】図５Ｂは、コードの領域の周囲にキャラクタマーク２を付加した改変後のコード画像の他の例を示す図である。
【図６Ａ】図６Ａは、改変される前のコード画像の例を示している。
【図６Ｂ】図６Ｂは、ヒューマンリーダブル文字を、上方向（＋Ｙ方向）に０．５ｍｍだけシフトさせる改変例を示している。
【図６Ｃ】図６Ｃは、ヒューマンリーダブル文字を、左方向（−Ｘ方向）に０．５ｍｍだけシフトさせる改変例を示している。
【図６Ｄ】図６Ｄは、ヒューマンリーダブル文字を、下方向（−Ｙ方向）に０．５ｍｍ、右方向（＋Ｘ方向）に１ｍｍだけシフトさせる改変例を示している。
【図７Ａ】図７Ａは、ヒューマンリーダブル文字および点の両方が、基準の位置にある例を示している。
【図７Ｂ】図７Ｂは、それぞれの基準位置から、ヒューマンリーダブル文字が上方向に０．５ｍｍシフトし、点が上方向に５ｍｍシフトした例を示している。
【図７Ｃ】図７Ｃは、それぞれの基準位置から、ヒューマンリーダブル文字が下方向に０．５ｍｍ、右方向に０．５ｍｍシフトし、点が上方向に８ｍｍ、左方向に５ｍｍシフトした例を示している。
【図７Ｄ】図７Ｄは、それぞれの基準位置に対して、ヒューマンリーダブル文字が上方向に０．５ｍｍ、右方向に０．５ｍｍシフトし、点が上方向に５ｍｍ、左方向に１０ｍｍシフトした例を示している。
【図７Ｅ】図７Ｅは、それぞれの基準位置に対して、ヒューマンリーダブル文字が下方向に１ｍｍ、右方向に０．５ｍｍシフトし、点が下方向に２ｍｍ、左方向に５ｍｍシフトした例を示している。
【図８Ａ】図８Ａは、改変前のコード画像の他の例を示す図である。
【図８Ｂ】図８Ｂは、バーコードが、基準の位置から左に０．２ｍｍ、上に０．２ｍｍシフトした例を示している。
【図８Ｃ】図８Ｃは、バーコードが、基準の位置から右に０．２ｍｍ、下に０．２ｍｍシフトした例を示している。
【図９Ａ】図９Ａは、改変前のコード画像の他の例を示す図である。
【図９Ｂ】図９Ｂは、ヒューマンリーダブル文字が、基準の位置から左に０．２ｍｍ、上に０．２ｍｍシフトした例を示している。
【図９Ｃ】図９Ｃは、ヒューマンリーダブル文字が、基準の位置から右に０．２ｍｍ、下に０．１ｍｍシフトした例を示している。
【図１０Ａ】図１０Ａは、コード画像を改変する処理（図２におけるステップＳ１０２）のより具体的な例を示すフローチャートである。
【図１０Ｂ】図１０Ｂは、元情報から改変用データを生成するまでの流れの例を模式的に示す図である。
【図１０Ｃ】図１０Ｃは、ハッシュ値と改変用データとの対応関係を規定するテーブルの一例を模式的に示す図である。
【図１０Ｄ】図１０Ｄは、ハッシュ値と改変用データとの対応関係を規定するテーブルの一例を模式的に示す図である。
【図１０Ｅ】図１０Ｅは、ハッシュ値と改変用データとの対応関係を規定するテーブルの一例を模式的に示す図である。
【図１１】図１１は、真贋判定システムの全体構成の例を模式的に示す図である。
【図１２】図１２は、スマートフォン１０（読み取り装置）の概略的な構成を示すブロック図である。
【図１３】図１３は、真贋判定動作の一例を示すフローチャートである。
【図１４】図１４は、図１３におけるステップＳ１３における真贋の判定処理をより具体的に示すフローチャートである。
【図１５Ａ】図１５Ａは、撮影されたコードが、正規品のコードと一致すると判定された場合の表示例を示す図である。
【図１５Ｂ】図１５Ｂは、撮影されたコードが、正規品のコードと一致しないと判定された場合の表示例を示す図である。
【図１６】図１６は、真贋判定システムの他の例を模式的に示す図である。
【図１７】図１７は、読み取り装置による真贋判定の処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
（概要）
本開示の具体的な実施形態を説明する前に、まず、本開示の技術の概要を説明する。
【００１５】
本開示は、物品に関連付けられた種々の情報を示すコードの画像を、意図的に改変（編集）して記録または印刷する技術に関する。このように意図的に改変された画像が物品またはその包装などに印刷される場合、特定のルールを知らない第三者は、通常の装置とソフトウェアを用いて同じ画像を印刷することができない。このため、偽造の可能性を低減することができる。また、物品に付されたコードの画像が、正規のものか偽造されたものか（真贋）を判定することができる。例えば、スマートフォンなどの読み取り装置によって読み取られたバーコードの画像に基づいて、そのバーコードの真贋を判定するアプリケーションを実現できる。
【００１６】
本明細書において「コード」とは、物品に関連付けられた情報を示す図形、記号、模様、もしくは文字、またはこれらの任意の組み合わせを意味する。コードは、典型的には、１次元コード（一般的なバーコード）、２次元コード（例えばマトリクスコードまたはスタックコード）、もしくは文字列（数字、アルファベットその他の文字の組み合わせを含む）、またはこれらの組み合わせであり得る。２次元コードは、一般に、２次元バーコードと呼ばれることが多い。このため、本明細書においても、１次元コードだけでなく、２次元コードについても、「バーコード」の用語を用いることがある。コードは、必ずしも１次元または２次元のバーコードを含んでいる必要はない。コードが文字列（例えばヒューマンリーダブル文字）のみによって表現されていてもよい。
【００１７】
コードは、物品（例えば製造物などの商品）に関連付けられた様々な情報を表す。そのような情報は、例えば、商品コード、製造年月日、消費期限、ロット番号、もしくは物品固有のシリアル番号、またはこれらの任意の組み合わせであり得る。ここに列挙した情報以外の情報がコードに含まれていてもよい。例えば、ウェブサイトのＵＲＬのような情報をコードが表現していてもよい。
【００１８】
コードは、例えば産業機器、民生用機器、医薬品、食品、衣料品、装飾品、生活雑貨等の商品、イベントの入場チケット、またはクーポンなどに付され得る。本明細書においては、コードが付され得るそのような有体物全般を「物品」と称する。
【００１９】
コードが物品に「付される」とは、そのコードが当該物品またはその包装の表面に印刷されることを意味する。物品に付されたコードは、カメラを搭載したスマートフォンまたはバーコードリーダなどの読み取り装置を用いて読み取ることができる。
【００２０】
本明細書において、「コードの画像データ」とは、当該コードの画像を示すデータを意味する。コードの画像データは、ＪＰＥＧ、ＰＮＧ、ＢＭＰなどの公知の規格に準拠したファイル形式を有する画像データに限定されず、任意の形式のデータであってよい。コードの画像データを、単に「コード画像」と称することがある。
【００２１】
本明細書において、「改変画像データ」とは、元のコード画像に、偽造防止のための改変がなされた画像を示すデータを意味する。改変画像データも、ＪＰＥＧ、ＰＮＧ、ＢＭＰなどの公知の規格に準拠したファイル形式を有する画像データに限定されず、任意の形式のデータであってよい。例えば、改変画像データは、元の画像データに、偽造防止のための改変の内容を示すデータが付加されたデータまたは信号であってもよい。
【００２２】
本開示の例示的な実施形態によるコード生成方法は、物品（例えば製造物）に関連付けられた情報を示すコードの画像データをプロセッサ（またはコンピュータ）によって生成する方法である。ある実施形態において、前記方法は、（１）入力された情報に基づき、前記情報を示すコードの画像データを、所定のアルゴリズムに従って生成するステップと
、（２）前記情報に基づく特定のルールに従い、前記画像データを、物品ごとまたは物品群ごとに異なる態様で改変するステップと、（３）改変後の前記画像データを記録媒体に記録するステップとを含む。この方法は、さらに、（４）改変後の前記画像データを、前記物品またはその包装に印刷するステップを含んでいてもよい。
【００２３】
上記（１）のステップは、例えば一般的な１次元または２次元のバーコードを生成するステップに相当する。プロセッサは、例えば公知のバーコード生成用のプログラムを実行することにより、バーコードを生成することができる。ただしこれに限定されず、「所定のアルゴリズム」は、ヒューマンリーダブル文字のみを含むコードの画像データを生成するアルゴリズムであってもよい。
【００２４】
上記（２）のステップは、上記（１）のステップにおいて生成されたコードの画像データを意図的に改変することにより、コードの偽造を困難にする。このステップでは、例えば商品コードごと、ロット番号ごと、またはシリアル番号ごとに、特定のルールに従って異なる態様で画像データが改変され得る。これにより、物品ごと（例えばシリアル番号ごと）または物品群ごと（例えば商品コードまたはロット番号ごと）に固有の改変画像データが生成される。
【００２５】
上記（３）のステップは、後の（４）の印刷ステップで利用可能にするために、改変後の画像データを、ハードディスクドライブなどの任意の記録媒体に記録するステップである。改変後の画像データは、そのコードが付される物品の情報と関連付けて記録されてもよい。記録されたデータは、真贋判定を行う際に参照され得る。
【００２６】
上記（４）のステップにおいて、改変後の画像データは、物品またはその包装に印刷される。このステップは、一般的なプリンタまたは印刷機によって実行され得る。
【００２７】
このように、本開示の実施形態におけるプロセッサは、物品に付されるコードの画像データを、その元情報に基づく特定のルールに従って意図的に改変する。例えば、元情報に基づく特定の暗号化処理によって画像データを改変する。この際、プロセッサは、例えば、改変の内容を規定する改変用データ（「偽造防止コード」とも称する。）を生成し、その改変用データに基づいて、コードの画像データを改変してもよい。
【００２８】
上記（１）のステップにおいて生成される画像データは、通常のコード生成アルゴリズムに従って生成される、偽造防止対策が施されていない画像データである。この画像データは、明示的に生成されなくてもよい。改変画像データを生成する装置は、入力された情報から、通常のコード画像データを生成することなく改変画像データを生成してもよい。
【００２９】
後に詳しく説明するように、画像データの改変の態様は様々である。例えば、以下の方法が可能である。
（１）偽造防止コードで示される値に応じて元のコードの印字位置を変化させる。
（２）コードとヒューマンリーダブル文字を併用する場合、それらの相対位置を偽造防止コードに基づいて変化させる。
（３）元のコードの領域の内部の、偽造防止コードによって示される座標に、マーク（例えば、黒または白のマーク）を付加する。
（４）元のコードの領域の周囲に、偽造防止コードによって示される座標に、マーク（例えば、黒または白のマーク）を付加する。
（５）元のコードとは別に、キャラクターマーク（文字列のマーク）を用意し、その座標、角度、フォント、大きさ等を変化させる。
【００３０】
上記（１）〜（５）の方法を任意に組み合わせて適用してもよい。以上の方法により、
特定のルールを知らない第三者は全く同じ印刷をすることができない。また、通常の装置とソフトウェアとを用いてマークを偽造することは困難になる。
【００３１】
さらに、読み取り装置またはサーバコンピュータに真贋の判定機能を持たせ、真贋の判定を行えるようにすることができる。例えば、スマートフォンまたはタブレットコンピュータ等のカメラ付きの情報機器を用いて、商品に印刷されたコードを撮影して得られる画像データに基づいて、そのコードの真贋の判定を行うことができる。真贋の判定は、例えば、判定用のアプリケーションソフトウェアがインストールされた情報機器（読み取り装置）によって実行することができる。あるいは、ネットワーク（例えばインターネット）を介して読み取り装置に接続されたサーバコンピュータが真贋の判定を実行してもよい。サーバコンピュータは、読み取り装置から送信された画像データと、実際に印刷された画像データまたはそのコードの改変内容を規定した改変用データとに基づいて、真贋の判定を行い、読み取り装置に判定結果を返す。このようなシステムにより、ユーザがスマートフォン等の携帯機器を用いて、商品が真正品か模造品かを直ちに知ることができる。
【００３２】
なお、真贋の判定機能をもたない通常の読み取り装置では真贋の判定を行うことはできない。しかし、通常の読み取り装置でも、偽造防止コードによる編集が行われたコードを、通常のコードと同様に読み取ることが可能である。このため、従来の利便性は維持される。
【００３３】
バーコードなどの印刷物は、印刷または流通の過程において、汚れまたは欠損などの印刷エラーが発生する可能性がある。このため、機械による読み取りが行われるどのコードシステムにおいても、多少の印刷エラーは許容されるような設計となっている。特に、２次元バーコードシステムでは、コードのエラーがあった場合でも、支障なく読み取りが行えるように、リード・ソロモン符号などによる高度な誤り訂正機能が実装されている。このため、コードの内部または周囲に特定のルールに従い、意図的にマーク等を追加しても、大きな支障なく読み取ることができる。このため、通常のシステムとしての機能を損なうことはない。言い換えれば、本開示の実施形態において行われる改変は、通常の読み取りに支障がない程度の改変である。
【００３４】
真贋を判定する装置は、撮影によって取得された画像データを解析することにより、例えばコードの画像に付されたマークが特定のルールに従って意図的に付けられたマークなのか、それ以外の汚れまたは欠損であるのかを識別することができる。
【００３５】
従来、バーコード等のコードの画像は、如何に綺麗かつ正確に印刷するかが重要であると考えられてきた。敢えてレイアウトを崩したり、コードとは関係のないマークを付加したりするという発想は従来なかった。本開示の実施形態では、例えば個々の物品ごとまたは物品群ごとに意図的にレイアウトを崩したり、マークを付加したりすることにより、真贋の判定をより容易に行うことが可能である。
【００３６】
以下、本開示のより具体的な実施形態を説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。以下の説明において、同一または類似する構成要素については、同じ参照符号を付している。
【００３７】
（実施形態）
本実施形態は、商品に印刷するバーコード（例えば２次元のマトリクスコード）の内部
または外部に微小なマークまたはキャラクタマーク（文字列）を付加したり、ヒューマンリーダブル文字とバーコードとの相対位置を変えたりすることにより、改変されたコード画像データを生成する装置および方法に関する。本実施形態はまた、印刷されたコードの真贋を判定するシステムおよび方法に関する。
【００３８】
＜コード画像生成装置＞
図１は、本実施形態におけるコード画像生成装置（サーバコンピュータ３０）の概略構成を示すブロック図である。サーバコンピュータ３０は、商品に付されるマトリクスコードの画像データを生成する装置である。サーバコンピュータ３０は、相互に接続されたプロセッサ３２と、メモリ３４と、通信回路３６と、ストレージ３８とを備えている。
【００３９】
プロセッサ３２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などの回路によって実現され得る。プロセッサ３２は、メモリ３４に格納されたコンピュータプログラムを実行することにより、後述する画像生成処理を行う。
【００４０】
メモリ３４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体を含む。メモリ３４は、プロセッサ３２によって実行されるプログラム、および処理の過程で生成される様々なデータを格納する。
【００４１】
ストレージ３８は、例えばハードディスクドライブまたはソリッドステートドライブなどの記録媒体を含む装置である。ストレージ３８は、プロセッサ３２によって生成されたコードの画像データ等の各種のデータを記録する。なお、プロセッサ３２によって生成されたコードの画像データは、サーバコンピュータ３０の外部の他のストレージ（記録媒体）に記録されてもよい。そのような他のストレージは、サーバコンピュータ３０にネットワーク（通信回線）を介して接続される。
【００４２】
通信回路３６は、ネットワークを介して他の機器と通信を行う回路である。通信回路３６は、有線または無線によって外部の装置に直接的に、またはインターネットもしくはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して接続することができる。通信回路３６は、例えばＬＡＮを介してプリンタに接続され得る。通信回路３６はまた、インターネット等のネットワークを介して、スマートフォンなどの情報機器に接続され得る。
【００４３】
サーバコンピュータ３０は、図１に示す構成要素以外にも、例えば電源回路、入出力インタフェース、ディスプレイ等の要素を備え得る。しかし、それらの要素は、本実施形態における動作には直接関係しないため、説明を省略する。
【００４４】
以下、本実施形態におけるプロセッサ３２によって実行されるコード画像を生成する処理を説明する。
【００４５】
図２は、プロセッサ３２によるコード画像の生成処理の基本的な流れを示すフローチャートである。プロセッサ３２は、ある商品のためのコードを生成すべき旨の指令（コード生成指示）を受け取ると、図２に示す動作を実行する。
【００４６】
ステップＳ１００において、プロセッサ３２は、その商品に関する情報（例えば、商品コード、製造年月日、ロット番号、およびシリアル番号等）を取得する。この情報は、例えばコード生成指示とともに、ユーザまたは他の装置から入力され得る。
【００４７】
ステップＳ１０１において、プロセッサ３２は、取得した情報に基づき、所定のアルゴリズムに従って、コードの画像データを生成する。この画像データは、例えば、公知の２次元コード生成アルゴリズムに従って作成され得る。一例として、２次元コードの一種であるＤａｔａＭａｔｒｉｘ  ＥＣＣ２００を使用する場合、ＩＳＯ／ＩＥＣ１６０２２：２００６の規格に準拠したアルゴリズムを規定したソフトウェアによってコードの画像データを生成できる。他の種類の２次元コードを使用する場合も、そのコードの規格に準拠したアルゴリズムを規定したソフトウェアを用いることにより、コードの画像データを生成できる。そのようなソフトウェアのいくつかは、例えばインターネット上に公開されており、無償で利用できる。なお、２次元コード以外のコード（例えば１次元バーコードまたは文字列のみから構成されるコード）を生成する場合には、プロセッサ３２は、そのコードを生成するための所定のアルゴリズムに従い、画像データを生成する。
【００４８】
ステップＳ１０２において、プロセッサ３２は、コードによって表現される情報に基づく特定のルールに従い、コードの画像データを改変（修正）する。本実施形態では、商品ＩＤ、ロット番号、またはシリアル番号ごとに異なる方法で、画像データを改変する。例えば、プロセッサ３２は、画像データ内の、シリアル番号等に基づいて決定される位置に、１つまたは複数のマーク（偽造防止マーク）を付加することによって画像データを改変する。この際、プロセッサ３２は、マークを付加する位置を示す座標値を示す情報を、改変用データ（偽造防止コード）として作成し、その商品に関連付けてストレージ３８（記録媒体）に記録してもよい。
【００４９】
汚れまたは欠損を考慮し、偽造防止マークは、コード内の離れた位置に複数個配置してもよい。また、複数の重畳方法を併用してもよい。偽造防止マークは、読み取り装置（リーダー）の誤り訂正能力に応じて、読み取り時に負担が大きくならない大きさ、位置に配置される。偽造防止マークは、真贋判定の機能を損なわない範囲で、通常のシンボルマークよりも小さく設定され視認しにくくされる。
【００５０】
ステップＳ１０４において、プロセッサ３２は、改変したコードの画像データを商品またはその包装に印刷するように、プリンタに指示する。これにより、特定のルールに基づいて改変されたコードの画像が、商品またはその包装に印刷される。なお、コード画像は、商品に関連付けられた包装以外の物（例えば、看板または広告等）に印刷されてもよい。
【００５１】
図３Ａから図３Ｆを参照しながら、本実施形態において作成されるコード画像の例を説明する。
【００５２】
図３Ａは、図２におけるステップＳ１０１において生成されるコード画像の一例を示す図である。ここでは、コードとして、２次元バーコードの一種であるＤａｔａＭａｔｒｉｘコードを用いる例を説明する。なお、ＤａｔａＭａｔｒｉｘコード以外の２次元バーコード、例えば、Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ（ＱＲ）コード、ＶｅｒｉＣｏｄｅ、ＰＤＦ４１７コード、Ａｚｔｅｃコード、またはＭａｘｉＣｏｄｅ等が用いられる場合も、以下に説明する処理と同様の処理が可能である。
【００５３】
２次元バーコードは、一般に、２次元的に配列された複数のデータセル（以下、単に「セル」と称する。）を含む。複数のセルは、同一のサイズの正方形または長方形の形状を有する。複数のセルの一部は、明るい（または白い）セルであり、他の一部は、暗い（または黒い）セルである。明るいセルおよび暗いセルの一方は０（ゼロ）の値を表し、他方は１の値を表す。よって、これらのセルの明暗の２次元パターンは、０および１の数値列で表現される特定の情報を表す。
【００５４】
図３Ｂは、図２におけるステップＳ１０２において改変されたコード画像の一例を示す図である。この例では、コードの領域の内部に、マーク１（黒い点）が付加されている。マーク１が付加される位置（座標）は、コードが示す情報に基づいて決定される。例えば、シリアル番号またはロット番号ごとに一意に決定される位置に、マーク１が付加され得る。
【００５５】
図３Ｃは、改変後のコード画像の他の例を示す図である。この例では、コードの領域の内部に、２つのマーク１（黒い点および白い点）が付加されている。この例のように、複数のマーク１が付加されてもよい。図示される２次元コードを構成する複数のセルのうち、明るいセルには黒い点が付加され、暗いセルには白い点が付加されている。この場合、改変用データは、２つのマーク１のそれぞれの座標値を示す情報を含む。
【００５６】
図３Ｄは、改変後のコード画像のさらに他の例を示す図である。この例では、コードの領域の内部に、３つのマーク１（黒い点および２つの白い点）が付加されている。この場合、改変用データは、３つのマーク１のそれぞれの座標値を示す情報を含む。なお、マーク１の個数は、４個以上であってもよい。マーク１の個数が多いほど、より多くの改変のバリエーションが可能になる。また、マーク１の個数が多いほど、汚れまたは欠陥によって一部のマークが認識できない場合でも、真贋の判定を正しく行える可能性を高くできる。
【００５７】
図３Ｅは、改変後のコード画像のさらに他の例を示す図である。この例では、マーク１が点ではなく丸印である。このように、付加されるマーク１の形状は点以外の形状であってもよい。
【００５８】
図３Ｆは、改変後のコード画像のさらに他の例を示す図である。この例では、２つの丸印のマーク１が、コードの領域内に付加されている。２次元コードを構成する複数のセルのうち、明るいセルには黒い丸が付加され、暗いセルには白い丸が付加される。図３Ｆの例においても、３個以上のマーク１が付加されてもよい。
【００５９】
マークは、例えば、三角形、四角形、星印その他の記号または文字等であってもよい。複数のマークが付加される場合、マークによって形状が異なっていてもよい。その場合、改変用データは、個々のマークの形状の情報も含み得る。
【００６０】
以上の例では、コードの内部にマーク１が付加されているが、コードの外部または外部との境界部分に１つ以上のマーク１が付加されてもよい。図４Ａから図４Ｃは、そのような例を示している。
【００６１】
図４Ａは、コードのアライメントパターン（コードの外周部のＬ字状の太い線）における特定の箇所を白抜きにした例を示している。この例ではアライメントパターン上の３箇所に白いマーク１が付加されている。このように、アライメントパターンに１つ以上のマーク１を付加してもよい。
【００６２】
図４Ｂは、アライメントパターンの周囲に３つのマーク１（黒いドット）が付加された例を示している。これらのマーク１は、アライメントパターンに隣接している。図４Ｃは、アライメントパターンの周囲に離れて３つのマーク１（黒いドット）が付加された例を示している。これらの例のように、マーク１の印字位置は、コードの領域の外側であってもよい。
【００６３】
以上の例において、コード画像の改変内容を規定するパラメータ（改変用データの要素）は、マークの個数、各マークの形状、各マークの画像内の座標値（Ｘ座標およびＹ座標
）であり得る。プロセッサ３２は、コードが示す情報に含まれるシリアル番号またはロット番号などの情報に基づいて、これらのパラメータを、特定のルールに従って決定する。そして、決定したパラメータに従い、１つ以上のマーク１をコードに重畳する。これにより、例えば商品のシリアル番号ごとまたはロット番号ごとに異なる態様で、コードを印刷することができる。
【００６４】
以上の例では、付加されるマーク１は、いずれも、コードに含まれる個々のセルの大きさよりも小さい。また、明るいセルおよび暗いセルのそれぞれの個数に比べて、遥かに少数（例えば１／１０未満）のマーク１が付加されている。このため、マーク１を付与した後もコードの読み取りに支障をきたすことはない。
【００６５】
２次元バーコードにおけるセル（データセルとも称する。）の個数をＮとし、付加されるマークの個数をｎとする。Ｎは、コードの種類によって異なるが、例えば２０以上の整数であり得る。マークの個数ｎは、１以上Ｎ以下の整数であり、ある例では、２≦ｎ≦Ｎ／１０である。ｎ個のマークが付される場合、コードの改変内容を規定する改変用データは、画像データ内のｎ個の座標値を示す情報を含む。プロセッサは、コードが示す情報に基づいてｎ個の座標値を決定し、そのｎ個の座標値が示す位置に、ｎ個のマークを付加する。ｎ個の座標値の組み合わせは、当該コードが示す情報（以下、「元情報」と称することがある。）によって異なる。これらのマークの座標の組み合わせは、例えば元情報と一対一に対応する。これらのマークの座標の組み合わせと、コードから読み取った元情報とが整合するかを判定することにより、コードの真贋を判定できる。
【００６６】
以上の例の他、２次元コードの領域の周囲に文字列を含むキャラクタマークを付加する改変も可能である。キャラクタマークの位置、角度、フォント（サイズ、書体、文字間隔を含む）、および文字列の内容の少なくとも１つを、物品ごとまたは物品群ごとに異なるようにすることにより、同様の偽造防止効果を得ることができる。
【００６７】
図５Ａは、コードの領域の周囲にキャラクタマーク２を付加したコード画像の一例を示している。この例では、数字、アルファベット、および記号からなる文字列が、コードの周辺上部に付加されている。図５Ｂは、コードの領域の周囲にキャラクタマーク２を付加した改変後のコード画像の他の例を示す図である。この例では、キャラクタマーク２は、図５Ａに示す例と比較して、その内容、位置、および大きさが異なり、かつ、時計回りに傾いている。このように、プロセッサ３２は、コードが表す情報に応じて、キャラクタマーク２の位置（座標）、回転角度、フォント等を変化させてもよい。この場合、改変の内容を規定するパラメータ（改変用データ）は、文字列の内容、位置（座標）、フォントの情報を含む。これらのパラメータは、例えばコードが示すシリアル番号またはロット番号ごとに一意に決定され得る。
【００６８】
上記の例の他、図３Ａから図３Ｆ、図４Ａから４Ｃ、および図５Ａおよび図５Ｂに示す改変方法を組み合わせてもよい。例えば、２次元コードの内部、アライメントパターン上、および外部の少なくとも一部に１つ以上のマーク１を付加し、かつ、２次元コードの外部に１つ以上のキャラクタマーク２を付加してもよい。そのような形態では、改変用データは、各マーク１の形状、座標、サイズ、および各キャラクタマーク２の内容、座標、回転角度、フォント等の情報を含み得る。プロセッサ３２は、それらのデータを、そのコードまたは物品に関連付けて記録媒体に記録する。これらの情報は、後述する真贋判定処理に用いられ得る。
【００６９】
次に、図６Ａから図６Ｄを参照しながら、マークを付加する方法とは異なる方法で、コードの画像データを改変する例を説明する。以下の例では、コードは、２次元のバーコードに加えて、ヒューマンリーダブル文字を含んでいる。プロセッサ３２は、バーコードま
たはヒューマンリーダブル文字の、画像データ内における位置を変化させることにより、画像データを改変する。この動作により、バーコードとヒューマンリーダブル文字との相対位置が変化する。この変化の方向および大きさは、バーコードが示す情報に応じて決定される。この例においては、改変用データは、バーコードおよびヒューマンリーダブル文字の少なくとも一方の、画像データ内の基準位置からの変位量を示す情報を含む。
【００７０】
図６Ａは、改変される前のコード画像の例を示している。この例では、２次元のバーコードの横に、４行の文字列から構成されるヒューマンリーダブル文字が印字される。このヒューマンリーダブル文字は、上から順に、（０１）商品コード、（２１）シリアル番号、（１０）ロット番号、（１７）有効期限  を表している。これは、２次元のバーコードが示す情報と同じである。ヒューマンリーダブル文字の表示態様は様々であり、図示される態様に限定されない。
【００７１】
図６Ａに示すレイアウトを基本として、プロセッサ３２は、バーコードとヒューマンリーダブル文字との相対的な位置関係を、バーコードが示す情報に応じて変化させる。例えば、シリアル番号ごと、またはロット番号ごとに異なる態様で、ヒューマンリーダブル文字の印字位置を変化させる。
【００７２】
図６Ｂは、ヒューマンリーダブル文字を、上方向（＋Ｙ方向）に０．５ｍｍだけシフトさせる改変例を示している。図６Ｃは、ヒューマンリーダブル文字を、左方向（−Ｘ方向）に０．５ｍｍだけシフトさせる改変例を示している。図６Ｄは、ヒューマンリーダブル文字を、下方向（−Ｙ方向）に０．５ｍｍ、右方向（＋Ｘ方向）に１ｍｍだけシフトさせる改変例を示している。図６Ｂから図６Ｄにおける「目視可能文字：Ｙ＋０．５ｍｍ」等の記載は、説明の便宜のために示されており、実際には印字されない。以降の図でも同様である。図６Ｂから図６Ｄにおける横長の長方形の枠は、実際に印刷されてもよいし印刷されなくてもよい。
【００７３】
これらの例に示すように、バーコードとヒューマンリーダブル文字との相対位置を、バーコードが示す情報に基づく特定のルールに従って変化させることにより、真贋の判定が可能となる。この場合、改変用データは、Ｘ方向およびＹ方向のそれぞれの、基準位置からの変位量の情報を含む。プロセッサ３２は、特定のルールに従って、各方向における変位量を決定する。
【００７４】
ヒューマンリーダブル文字の代わりに、バーコードの位置を同様の方法でシフトさせてもよい。また、バーコードおよびヒューマンリーダブル文字の両方を、それぞれの基準位置からシフトさせてもよい。後者の例では、改変用データ（偽造防止コード）のパラメータ数が多くなるため、より多様な改変が可能となる。
【００７５】
プロセッサ３２は、バーコードとヒューマンリーダブル文字との相対位置を変化させることに加えて、先の例のように、バーコードの内部または外部にマーク（例えば、記号、図形、文字、または文字列）を付加してもよい。以下、そのような例を説明する。
【００７６】
図７Ａから図７Ｅは、ヒューマンリーダブル文字の印字位置を、バーコードが示す情報に応じて変更するとともに、バーコードの周囲にマーク（この例では点）を付加する形態のいくつかの例を示している。図７Ａは、ヒューマンリーダブル文字および点の両方が、基準の位置にある例を示している。図７Ｂは、それぞれの基準位置から、ヒューマンリーダブル文字が上方向に０．５ｍｍシフトし、点が上方向に５ｍｍシフトした例を示している。図７Ｃは、それぞれの基準位置から、ヒューマンリーダブル文字が下方向に０．５ｍｍ、右方向に０．５ｍｍシフトし、点が上方向に８ｍｍ、左方向に５ｍｍシフトした例を示している。図７Ｄは、それぞれの基準位置に対して、ヒューマンリーダブル文字が上方
向に０．５ｍｍ、右方向に０．５ｍｍシフトし、点が上方向に５ｍｍ、左方向に１０ｍｍシフトした例を示している。図７Ｅは、それぞれの基準位置に対して、ヒューマンリーダブル文字が下方向に１ｍｍ、右方向に０．５ｍｍシフトし、点が下方向に２ｍｍ、左方向に５ｍｍシフトした例を示している。
【００７７】
これらの例のように、コードとヒューマンリーダブル文字との相対位置、および点（マーク）の位置を、バーコードが示す情報に応じて変化させることにより、さらに多彩な改変のバリエーションが可能となる。これらの例において、マークの数は単数でも複数でもよい。一部のマークが汚れまたは欠陥によって認識できなくなった場合でも真贋の判定を正しく行える可能性を高くするために、マークの数を多く（例えば３個以上に）してもよい。
【００７８】
図８Ａから図８Ｃは、本実施形態の他の例を示す図である。これらの例では、コードは２次元のバーコードのみを含んでいる。プロセッサ３２は、バーコードの印字位置を、そのバーコードが示す情報に基づく特定の規則に従って変化させる。図８Ａは、改変前のコード画像を示している。この例におけるコード画像は、バーコードの領域を囲む矩形の枠を含んでいる。プロセッサ３２は、この枠と、バーコードの領域との相対的な位置関係を、バーコードが示す情報に応じて変化させる。図８Ｂは、バーコードが、基準の位置から左に０．２ｍｍ、上に０．２ｍｍシフトした例を示している。図８Ｃは、バーコードが、基準の位置から右に０．２ｍｍ、下に０．２ｍｍシフトした例を示している。これらの例では、改変用データは、バーコードの、画像データ内の基準位置からの、Ｘ方向およびＹ方向のそれぞれにおける変位量を示す情報を含む。プロセッサ３２は、改変用データに基づいて、バーコードの、画像データ内における位置を変化させることにより、画像データを改変する。
【００７９】
以上の各例では、２次元のバーコード（マトリクスコード）が物品に付される場合を主に想定した。しかし、本開示はそのような例に限定されない。本実施形態における技術は、コードが１次元コードもしくは文字列によるコード、またはこれらの組み合わせである場合にも同様に適用できる。
【００８０】
図９Ａから図９Ｃは、本実施形態の他の例を示す図である。これらの例では、コードはバーコードを含まず、ヒューマンリーダブル文字のみを含んでいる。プロセッサ３２は、ヒューマンリーダブル文字の印字位置を、そのヒューマンリーダブル文字が示す情報に基づく特定の規則に従って変化させる。図９Ａは、改変前のコード画像を示している。この例におけるコード画像は、ヒューマンリーダブル文字の領域を囲む矩形の枠を含んでいる。プロセッサ３２は、この枠と、ヒューマンリーダブル文字の領域との相対的な位置関係を、ヒューマンリーダブル文字が示す情報に応じて変化させる。図９Ｂは、ヒューマンリーダブル文字が、基準の位置から左に０．２ｍｍ、上に０．２ｍｍシフトした例を示している。図９Ｃは、ヒューマンリーダブル文字が、基準の位置から右に０．２ｍｍ、下に０．１ｍｍシフトした例を示している。これらの例では、改変用データは、ヒューマンリーダブル文字の、画像データ内の基準位置からの、Ｘ方向およびＹ方向のそれぞれにおける変位量を示す情報を含む。プロセッサ３２は、改変用データに基づいて、ヒューマンリーダブル文字の、画像データ内における位置を変化させることにより、画像データを改変する。
【００８１】
以上の例において、コード（バーコードまたはヒューマンリーダブル文字）の位置の変化に代えて、または加えて、コードの回転角度を変化させてもよい。ヒューマンリーダブル文字が印字される形態では、ヒューマンリーダブル文字のフォント（大きさ、書体、文字間隔等）を、物品ごとまたは物品群ごとに変化させてもよい。そのような方法を組み合せることにより、より多様な改変のバリエーションが可能になる。
【００８２】
以上のような方法で作成されたコードの画像データは、一般の２次元バーコードの読み取り手順に従って読み取ることができる。この際、付加された偽造防止マーク等は、汚れまたは欠損とみなされ、誤り補正が行われる。このため、偽造防止のための改変がなされていないバーコードと同様に正常に読み取りが行われる。したがって、従来のシステムでの運用が損なわれることはない。
【００８３】
次に、特定のルールに従ってコード画像を改変する処理をより具体的に説明する。
【００８４】
図１０Ａは、コード画像を改変する処理（図２におけるステップＳ１０２）のより具体的な例を示すフローチャートである。ここでは一例として、コードの領域の内部または外部に１つまたは複数のドットマークが付加される例を説明する。
【００８５】
この例では、プロセッサ３２は、図２におけるステップＳ１０１において生成したコードのデータ（元情報）から、そのデータを代表する数値、すなわちハッシュ値を決定する（ステップＳ２２０）。ハッシュ値は、元情報の内容を端的に表す値であり、一般的に元情報よりも小さい情報量を有する。プロセッサ３２は、元情報からハッシュ値を得るためのハッシュ関数（例えば暗号学的ハッシュ関数）を用いて、ハッシュ値を計算する。偽造を防止するという本実施形態の目的を考慮すると、ハッシュ関数は元のコードから推定されにくいハッシュ値を生成するように設計されることが好ましい。
【００８６】
次に、プロセッサ３２は、計算したハッシュ値から印刷情報（改変用データ）への変換を行う。プロセッサ３２は、予め用意されたコード表（ルックアップテーブル）を参照して、改変用データ（この例では各ドットマークの座標値）を決定する（ステップＳ２２１）。テーブルは、例えば以下の条件を満たすように作成され得る。
・ドットマークの数が所定の数または所定の範囲内の数である。例えば、３個、４個、４個以下など、目立たない数のドットマークが付加される。
・ドットマークの密度が所定の値以下である。すなわち、隣接する位置に複数のドットマークを付加することは避け、目立ちにくくする。例えば、５×５セルの領域内には１つのマークのみが付加されるようにする。
・コードの内部にドットマークを配置する場合、元のコードの読み取りの負担を小さくする。すなわち、偽造防止機能のない一般のリーダーでの読み取りを阻害しない。
・ドットパターン間のハミング距離が一定以上である。つまり類似した配置は避ける。これにより、ドットマークの一部が欠落した場合でも、修復できる仕組みを作れる。
【００８７】
以上のような条件を満たすテーブルは、予め作成され、メモリ等の記録媒体に保存される。プロセッサ３２は、テーブルを参照し、ハッシュ値から各ドットの位置（座標）を決定する。プロセッサ３２は、決定した座標にドットマークを配置することにより、改変したコード画像を生成する（ステップＳ２２２）。
【００８８】
図１０Ｂは、元情報から改変用データを生成するまでの流れを模式的に示す図である。前述のように、プロセッサ３２は、ハッシュ関数を用いて、比較的情報量の多い元情報から、より情報量の少ないハッシュ値を算出する。次に、コード表（テーブル）を参照して、ハッシュ値から改変用データ（例えば座標値の組み合わせ）を決定する。そして、決定した改変用データに基づき、コードの画像データを改変する。このような動作によれば、比較的情報量の少ないハッシュ値を介して真贋判定を行うことができる。このため、判定に要する計算量を抑えることができる。
【００８９】
図１０Ｃは、テーブルの一例を模式的に示す図である。このテーブルは、ハッシュ値と、コードが配置される複数の座標値の組み合わせ（改変用データ）との対応関係を規定し
ている。ハッシュ値と座標値の組み合わせとは一対一に対応している。したがって、ハッシュ値から改変用データが一意に決定される。逆に、改変用データからハッシュ値を一意に特定することもできる。この仕組みにより、後述するように、コードの偽造の有無を容易に判定することができる。
【００９０】
コード画像にマークを付加するのではなく、文字列またはシンボルのレイアウトを変更する改変も、同様の処理によって実現できる。この場合、図１０Ｃに示すテーブルに代えて、例えば図１０Ｄに示すようなテーブルが予め作成され、記録される。テーブルは、例えば以下のような条件を満足するように設計され得る。
・レイアウトの変化が目視または機械読み取りによって認識でき、かつ目立たない。例えば、±Ｘ方向および±Ｙ方向のそれぞれについて、０．５ｍｍ刻みで０〜２．５ｍｍ程度の範囲内の値を変化量とする。
・レイアウトパターンの変化がシーケンシャルにならないようにする。すなわち、シリアル番号などの情報からレイアウトパターンを推定されにくくする。
・レイアウトパターンが均等に分布するようにする。すなわち、特定の場所に高い頻度で配置されることがないようにする。
【００９１】
以上のような条件を満たすように作成されたテーブルを参照して、プロセッサ３２は、ヒューマンリーダブル文字などの変位量を決定し、印刷データを作成することができる。
【００９２】
文字列またはシンボルのレイアウトを変更し、かつ１つ以上のマークをコードの内部または外部に付加する改変を行う場合も、基本的に同じ処理が行われる。その場合、例えば図１０Ｅに示すようなテーブルが利用され得る。この例におけるテーブルは、改変用データとして、付加される各マークの座標値の情報と、移動対象（例えば文字列またはシンボル）の移動量の情報とを含む。このようなテーブルを参照して、プロセッサ３２は、元のコード画像にマークを付加し、かつヒューマンリーダブル文字などのレイアウトを変更する。
【００９３】
シンボルまたは文字列の回転、または文字列のフォントを変更する改変も、同様の処理によって実現可能である。この場合も、図１０Ｃ、１０Ｄに示すテーブルに類似するテーブルが予め作成される。プロセッサ３２は、テーブルを参照して、ハッシュ値から改変用データ（例えば、回転角度、文字サイズ、文字の書体、文字間隔など）を作成し、元のコード画像を改変して記録する。テーブルは、例えば以下のような条件を満足するように作成すればよい。
・変化の態様がシーケンシャルにならないようにする。すなわち、シリアル番号などの情報からレイアウトパターンを推定されにくくする。
・変化の態様が均等に分布するようにする。すなわち、特定の変化の態様が高い頻度で現れることが無いようにする。
・変化の態様が相互に類似しないようにする。すなわち、汚れまたは欠陥があった場合でも正しいパターンを推定し易くする。
【００９４】
図１０Ａから図１０Ｅに示す例では、プロセッサは、コードが示す元情報からハッシュ関数を用いてハッシュ値を算出し、そのハッシュ値から、テーブル（コード表）を参照して改変用データ（偽造防止コード）を決定する。しかし、このような処理は一例に過ぎない。プロセッサは、例えばコードが示す元情報から、所定の関数またはテーブル等を用いて、直接的に改変内容を決定してもよい。元情報から特定のルールに従って改変内容を決定する方法は、特定の方法に限定されない。
【００９５】
＜真贋判定システム＞
次に、物品に付されたバーコードが、真正品のものか否かを判定するシステム（真贋判
定システム）の例を説明する。
【００９６】
スマートフォンまたはタブレットコンピュータなどの情報機器（読み取り装置）を用いて、物品に付されたバーコードが真正品に付されたバーコードと同一であるかを判定することができる。この判定のために、読み取り装置には、判定用のアプリケーションソフトウェア（アプリ）が予めインストールされる。本開示における真贋判定の方法には、大きく分けて以下の二つの方法がある。
（１）コード画像の印刷の際に適用された特定のルールを示す偽造防止コード（改変用データ）と同じまたは対応するデータを、読み取り装置に予め記録しておき、通信を行うことなく読み取り装置が単独で真贋判定を行う。
（２）印刷の際に適用された特定のルールを示す偽造防止コードに関するデータを読み取り装置には持たせず、通信回線を介して読み取り装置がサーバまたは記録装置に問い合せる。サーバは、真贋の判定を行い、判定結果を読み取り装置に返す。
【００９７】
本実施形態における真贋判定システムは、上記（１）、（２）のいずれの方法でも実現可能である。（１）の方法は、単純な構成で実現できるため、システム構築が容易であるという利点がある。（２）の方法では、真贋判定のルールを示すデータを読み取り装置が持たないため、読み取り装置が解析されたとしても当該ルールが漏洩するおそれがないというセキュリティ上の利点がある。さらに、（２）の方法では、必要に応じて判定ルールをアップデートするなどの調整が可能であり、セキュリティ強度を高く維持することができる。したがって、低コストかつ簡単な構成でシステムを構築することを重視する場合には（１）の方法を採用することが好ましい。一方、セキュリティ強度を高めることを重視する場合には（２）の方法を採用することが好ましい。
【００９８】
以下、まず（２）の方法を適用した真贋判定システムの例を説明し、続いて（１）の方法を適用した真贋判定システムの例を説明する。
【００９９】
図１１は、上記（２）の方法を適用した真贋判定システムの全体構成の例を模式的に示す図である。本システムは、サーバコンピュータ３０（以下、単に「サーバ３０」と称する。）、プリンタ４０、ストレージ５０、およびスマートフォン１０などの構成要素を備える。サーバ３０は、前述のいずれかの方法で、商品５に付されるコードの画像データ（改変された画像データ）を生成し、ストレージ５０に保存する。プリンタ４０は、当該画像データに基づき、商品５またはその包装にコードを印刷する。コードが印刷された商品５は、流通過程を経て消費者の元に渡る。消費者は、スマートフォン１０を用いて、商品５が真正品か否かを判定することができる。そのために、スマートフォン１０には、予め真贋判定用のアプリケーションソフトウェア（アプリ）がインストールされる。
【０１００】
図１２は、スマートフォン１０（読み取り装置）の概略的な構成を示すブロック図である。スマートフォン１０は、プロセッサ１２と、メモリ１４と、通信回路１６と、カメラ１８と、ディスプレイ２０とを備えている。プロセッサ１２は、メモリ１４に格納されたコンピュータプログラム（アプリ）を実行することにより、後述する動作を実行する。本実施形態では、カメラ１８で撮影することによって取得された画像データが、通信回路１６を介して遠隔地のサーバ３０に送られる。
【０１０１】
図１３は、真贋判定動作の一例を示すフローチャートである。真贋判定を行う際、消費者（ユーザ）の操作に応じて、プロセッサ１２は、真贋判定用のアプリ（プログラム）を実行する。プロセッサ１２は、商品５におけるバーコードが付された箇所を、スマートフォン１０のカメラ１８で撮影するように促す画像をディスプレイ２０に表示させる。消費者が当該箇所を撮影すると（ステップＳ１０）、通信回路１６は、その画像データを、基地局９０およびネットワーク１００（例えばインターネット）を介して、サーバ３０に送
る（ステップＳ１１）。サーバ３０は、送られてきた画像データに含まれるバーコードが、真正品のバーコードか否かを、ストレージ５０に保存されている改変用データに基づいて判定する（ステップＳ１３）。サーバ３０は、判定結果を示すデータを、ネットワーク１００および基地局９０を介してスマートフォン１０に送信する（ステップＳ１４）。スマートフォン１０のプロセッサ１２は、ディスプレイ２０に、判定結果を表示する（ステップＳ１５）。これにより、消費者は、商品５に付されたバーコードが正規のものか否かを確認できる。
【０１０２】
図１４は、ステップＳ１３における真贋の判定処理をより具体的に示すフローチャートである。サーバ３０におけるプロセッサ３２は、送られてきた画像データに含まれるコードから、そのコードが付された物品を特定する(ステップＳ２００)。例えば、そのコードが示す商品コード、ロット番号、シリアル番号などの情報を読み取り、その物品を特定する。この読み取りは、例えば公知の２次元コード読み取り用のアルゴリズムを利用して行われ得る。次に、その物品にコードを印刷したときに使用した改変用データを、ストレージ５０などの記録媒体から取得する（ステップＳ２０１）。ここで取得される改変用データは、例えば図１０Ｃから図１０Ｅに例示されているようなテーブルに含まれるデータであり得る。プロセッサ３２は、送られてきた画像データ（以下、「撮影データ」と称することがある。）に、改変用データが示す改変が反映されているかを判定する（ステップＳ２０２）。この判定は、例えば、撮影データに含まれるコードから算出されるハッシュ値に対応する改変内容と、撮影データの改変内容（例えば、付加されているマークの位置の組み合わせ、および／またはレイアウト）とが整合しているかに基づいて行われ得る。コード画像が偽造されたものである場合、両者が整合することはない。このため、そのコード画像が付された商品は、真正品ではないと判断できる。判定は、公知の画像マッチング技術を用いて行ってもよい。
【０１０３】
送られてきた画像データに含まれるコードが正規のものであると判定した場合、プロセッサ３２は、その旨の情報を、スマートフォン１０に送信する。送られてきた画像データに含まれるコードが正規のものでないと判定した場合、プロセッサ３２は、その旨の情報を、スマートフォン１０に送信する。
【０１０４】
なお、プロセッサ３２は、改変用データに基づいて真贋を判定する代わりに、印刷時に用いた改変後の画像データを用いて真贋を判定してもよい。すなわち、プロセッサ３２は、送られてきた画像データと、印刷時に使用した画像データとを照合して同一性を判定してもよい。この場合、例えば公知の画像マッチング技術を用いて２つの画像の同一性を判定することができる。
【０１０５】
本実施形態では、コード画像の生成と、真贋判定とを同一のサーバ３０が行うが、これらを異なる装置に実行させてもよい。コード画像の生成および印刷を行うシステムと、真贋判定を行う装置またはシステムとが遠く離れた場所に配置されていてもよい。
【０１０６】
図１５Ａおよび図１５Ｂは、判定結果の表示例を示す図である。図１５Ａは、撮影されたコードが、正規品のコードと一致すると判定された場合の表示例を示している。この場合、ディスプレイ２０には、そのコードが正規品のコードと一致する旨、例えば「正規品のコードです。」といった文言が表示され得る。図１５Ｂは、撮影されたコードが、真正品のコードとは一致しないと判定された場合の表示例を示している。この場合、ディスプレイ２０には、そのコードが正規品のコードと一致しない旨、例えば「正規品のコードではありません」といった文言が表示され得る。この際、図１５Ｂに示すように、「メーカに連絡」などのボタンの表示を行い、その表示をタップすることで、メーカの連絡先情報が表示されたり、電子メールなどによってメーカに連絡したりできる仕組みを導入してもよい。
【０１０７】
本実施形態では、読み取られたコードの画像の真贋をクラウド上のサーバ３０が判定する。スマートフォン１０（読み取り装置）は、撮影データをサーバ３０に送信し、サーバ３０から判定結果を示すデータを受信して表示するだけである。このため、読み取り装置の内部データを解析しても、コード画像の改変に用いられたルールを特定することはできない。ルールの漏洩するおそれがないため、高いセキュリティを確保することができる。
【０１０８】
次に、サーバ３０ではなくスマートフォン１０などの読み取り装置が自ら真贋の判定を行う例（上記の（２）の例）を説明する。図１６は、この例における真贋判定システムを模式的に示す図である。この例では、真贋判定システムは、スマートフォン１０のみを含む。スマートフォン１０のプロセッサ１２は、メモリ１４に格納されたコンピュータプログラムを実行することにより、通信回線を介することなく上記と同様の判定処理を行う。スマートフォン１０のメモリ１４には、真贋判定用のプログラムの他、コード画像の作成時に適用された特定のルールを示すデータが予め記録される。
【０１０９】
図１７は、スマートフォン１０による真贋判定の処理の例を示すフローチャートである。スマートフォン１０は、ユーザからの撮影指示に応じて、商品に付されたコードをカメラ１８で撮影する（ステップＳ３００）。コードが撮影されると、プロセッサ１２は、撮影データに含まれるコードからその物品を特定する（ステップＳ３０１）。例えば、そのコードが示す商品コード、ロット番号、シリアル番号などの情報に基づいて、その物品を特定する。この読み取りは、例えば公知の２次元コード読み取り用のアルゴリズムを利用して行われ得る。次に、プロセッサ１２は、メモリ１４（または他の記録媒体）にアクセスし、特定した物品の改変用データを取得する（ステップＳ３０２）。プロセッサ１２は、撮影データと、改変用データとに基づき、改変用データが示す改変が撮影データに反映されているかを判定する（ステップＳ３０３）。この判定は、例えば、撮影データに含まれるコードから算出されるハッシュ値に対応する改変内容と、撮影データの改変内容（例えば、付加されているマークの位置の組み合わせ、および／またはレイアウト）とが整合しているかに基づいて行われ得る。判定は、公知の画像マッチング技術を用いて行ってもよい。撮影データに含まれるコードが正規のものであると判定した場合、プロセッサ１２は、その旨の情報をディスプレイ２０に表示する。撮影データに含まれるコードが正規のものでないと判定した場合、プロセッサ１２は、その旨の情報を、ディスプレイ２０に送信する。
【０１１０】
プロセッサ１２は、改変用データに基づいて真贋を判定する代わりに、印刷時に用いた改変後の画像データを用いて真贋を判定してもよい。すなわち、プロセッサ１２は、撮影データと、印刷時に使用された画像データとを照合して同一性を判定してもよい。この場合、例えば公知の画像マッチング技術を用いて２つの画像の同一性を判定することができる。
【０１１１】
この例では、ネットワークを介することなく、スマートフォン１０が単独で物品の真贋を判定できる。このため、図１１の例と比較して、システムの構成を簡単にすることができる。
【０１１２】
以上のように、本実施形態における真贋判定方法は、物品に印刷されたコードを撮影して得られる画像データ（第１の画像データ）を取得するステップと、実際に使用された改変後の画像データ（第２の画像データ）を記録媒体から取得するステップと、第１の画像データと第２の画像データ（または改変用データ）とを照合することによって第１の画像データにおけるコードが、正規のコードであるか否かを判定するステップと、判定結果を示すデータを出力するステップとを含む。これにより、簡便にコードの真贋を判定することができる。
【０１１３】
上記の例において、読み取り装置はスマートフォンであるが、他の情報機器であってもよい。例えば、タブレットコンピュータ、バーコードリーダ、ノートＰＣ（ラップトップＰＣ）などを読み取り装置として使用してもよい。読み取り装置におけるカメラ（または撮像素子）およびディスプレイは、プロセッサおよびメモリと同じ筐体に収納されていなくてもよい。真贋判定の対象であるコードが２次元コード以外のコード（例えば、一次元バーコードまたはヒューマンリーダブル文字）である場合にも、上記の技術は同様に適用できる。
【０１１４】
以上のように、本開示は、以下の項目に記載の方法、プログラム、および装置を含む。
【０１１５】
［項目１］
物品に関連付けられた情報を示すコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示すコードの画像を、物品ごとまたは物品群ごとに異なる態様で改変した画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含む方法。
【０１１６】
［項目２］
前記改変画像データが示す画像を、前記物品またはその包装に印刷するステップをさらに含む、項目１に記載の方法。
【０１１７】
［項目３］
前記生成するステップは、読み取り装置が、改変前の前記画像が示す情報と同じ情報を、前記改変画像データから読み取ることができる態様で前記改変画像データを生成する、項目１または２に記載の方法。
【０１１８】
［項目４］
前記生成するステップは、前記情報に基づく特定のルールに従い、前記改変画像データの改変の内容を規定する改変用データを決定することを含む、項目１から３のいずれかに記載の方法。
【０１１９】
［項目５］
前記生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記ハッシュ値に対応する前記改変用データを決定することを含む、
項目４に記載の方法。
【０１２０】
［項目６］
前記改変用データは、前記画像内の少なくとも１つの座標値を示す情報を含み、
前記生成するステップは、前記少なくとも１つの座標値が示す位置に、少なくとも１つのマークを付加することを含む、
項目４または５に記載の方法。
【０１２１】
［項目７］
前記マークは、前記画像における前記コードの領域の内部または外部に付加される記号、図形、または文字である、項目６に記載の方法。
【０１２２】
［項目８］
前記コードは、１次元または２次元のバーコード、およびヒューマンリーダブル文字の少なくとも一方を含み、
前記改変用データは、前記バーコードまたは前記ヒューマンリーダブル文字の、前記画像内の基準位置からの変位量を示す情報を含み、
前記生成するステップは、前記改変用データに基づいて、前記バーコードまたは前記ヒューマンリーダブル文字の、前記画像データ内における位置を変化させることを含む、
項目４から７のいずれかに記載の方法。
【０１２３】
［項目９］
前記コードは、１次元または２次元のバーコードおよびヒューマンリーダブル文字を含み、
前記改変用データは、前記ヒューマンリーダブル文字の、前記画像内の基準位置からの変位量を示す情報を含み、
前記生成するステップは、前記改変用データに基づいて、前記バーコードと前記ヒューマンリーダブル文字との相対位置を変化させることを含む、
項目４から８のいずれかに記載の方法。
【０１２４】
［項目１０］
前記コードは、１次元または２次元のバーコードおよびヒューマンリーダブル文字を含み、
前記改変用データは、前記ヒューマンリーダブル文字の、基準角度からの角度の変化量を示す情報を含み、
前記生成するステップは、前記改変用データに基づいて、前記ヒューマンリーダブル文字の角度を変化させることを含む、
項目４から９のいずれかに記載の方法。
【０１２５】
［項目１１］
前記コードは、ヒューマンリーダブル文字を含み、
前記改変用データは、前記ヒューマンリーダブル文字のフォントを示す情報を含み、
前記生成するステップは、前記改変用データに基づいて、前記ヒューマンリーダブル文字のフォントを変化させることを含む、
項目４から１０のいずれかに記載の方法。
【０１２６】
［項目１２］
前記コードは、Ｎ個（Ｎは２０以上の整数）のセルを含む２次元バーコードであり、
前記改変用データは、前記画像内のｎ個（ｎは２以上Ｎ／１０以下の整数）の座標値を示す情報を含み、
前記生成するステップは、前記ｎ個の座標値が示す位置に、ｎ個のマークを付加することを含み、前記ｎ個の座標値の組み合わせは、前記コードが示す前記情報によって異なる、
項目４から１１のいずれかに記載の方法。
【０１２７】
［項目１３］
前記改変するステップは、前記コードの領域の内部または外部に、読み取りに影響を及ぼさない態様で、少なくとも１つのマークを付加することを含む、項目１から４のいずれかに記載の方法。
【０１２８】
［項目１４］
前記コードは、１次元または２次元のバーコード、およびヒューマンリーダブル文字の
少なくとも一方を含み、
前記生成するステップは、前記バーコードまたは前記ヒューマンリーダブル文字の、前記画像内における位置を変化させることを含む、
項目１から４、および１３のいずれかに記載の方法。
【０１２９】
［項目１５］
前記生成するステップは、前記コードの画像に、キャラクタマークを付加することを含み、
前記キャラクタマークの位置、角度、フォント、および内容の少なくとも１つは、物品ごとまたは物品群ごとに異なる、
項目１から１４のいずれかに記載の方法。
【０１３０】
［項目１６］
前記物品は製造物であり、
前記物品に関連付けられた前記情報は、商品コード、製造年月日、消費期限、ロット番号、およびシリアル番号の少なくとも１つを含み、
前記生成するステップは、前記商品コードごと、前記ロット番号ごと、または前記シリアル番号ごとに異なる態様で、前記画像を改変する、
項目１から１５のいずれかに記載の方法。
【０１３１】
［項目１７］
物品に関連付けられた情報を示すコードの画像データを、生成するためのプログラムであって、コンピュータに、
入力された前記情報に基づき、前記情報を示すコードの画像を、物品ごとまたは物品群ごとに異なる態様で改変した画像を示す改変画像データを生成するステップと、
前記改変画像データを、前記物品に関連付けて記録媒体に記録するステップと、
を実行させるプログラム。
【０１３２】
［項目１８］
物品に関連付けられた情報を示すコードの画像データを生成する装置であって、
プロセッサと、
前記プロセッサによって実行されるコンピュータプログラムを格納したメモリと、
を備え、
前記コンピュータプログラムは、前記プロセッサに、
入力された前記情報に基づき、前記情報を示すコードの画像を、物品ごとまたは物品群ごとに異なる態様で改変した画像を示す改変画像データを生成するステップと、
前記改変画像データを、前記物品に関連付けて記録媒体に記録するステップと、
を実行させる装置。
【０１３３】
［項目１９］
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
項目１から１６のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を含む真贋判定方法。
【０１３４】
［項目２０］
前記ステップＡは、前記第１の画像データを取得した読み取り装置からネットワークを介して前記第１の画像データを取得することを含み、
前記ステップＤは、前記読み取り装置に前記ネットワークを介して前記判定結果を示すデータを送信することを含む、
項目１９に記載の真贋判定方法。
【０１３５】
［項目２１］
前記ステップＡ、前記ステップＢ、前記ステップＣ、および前記ステップＤは、カメラ、プロセッサ、前記記録媒体を備えた読み取り装置における前記プロセッサによって実行され、
前記ステップＡは、前記カメラから前記第１の画像データを取得することを含み、
前記ステップＢは、前記第２の画像データまたは前記改変用データを前記記録媒体から取得することを含む、
項目１９に記載の真贋判定方法。
【０１３６】
［項目２２］
前記読み取り装置は、ディスプレイをさらに備え、
前記ステップＤは、前記ディスプレイに、前記判定結果を表示させることを含む、項目２０または２１に記載の真贋判定方法。
【０１３７】
［項目２３］
コンピュータに、
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
項目１から１６のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を実行させるプログラム。
【産業上の利用可能性】
【０１３８】
本開示の実施形態におけるコード画像を生成する方法および装置は、１次元もしくは２次元のバーコードまたはヒューマンリーダブル文字などのコードを、製造品などの物品に印刷する用途に利用され得る。
【符号の説明】
【０１３９】
１      マーク
２      キャラクタマーク
５      商品
１０    スマートフォン
１２    プロセッサ
１４    メモリ
１６    通信回路
１８    カメラ
２０    ディスプレイ
３０    サーバコンピュータ
３２    プロセッサ
３４    メモリ
３６    通信回路
３８    ストレージ
４０    プリンタ
５０    ストレージ
９０    基地局
１００  ネットワーク
【図１】
2018136916.tif 000003
【図２】
2018136916.tif 000004
【図３Ａ】
2018136916.tif 000005
【図３Ｂ】
2018136916.tif 000006
【図３Ｃ】
2018136916.tif 000007
【図３Ｄ】
2018136916.tif 000008
【図３Ｅ】
2018136916.tif 000009
【図３Ｆ】
2018136916.tif 000010
【図４Ａ】
2018136916.tif 000011
【図４Ｂ】
2018136916.tif 000012
【図４Ｃ】
2018136916.tif 000013
【図５Ａ】
2018136916.tif 000014
【図５Ｂ】
2018136916.tif 000015
【図６Ａ】
2018136916.tif 000016
【図６Ｂ】
2018136916.tif 000017
【図６Ｃ】
2018136916.tif 000018
【図６Ｄ】
2018136916.tif 000019
【図７Ａ】
2018136916.tif 000020
【図７Ｂ】
2018136916.tif 000021
【図７Ｃ】
2018136916.tif 000022
【図７Ｄ】
2018136916.tif 000023
【図７Ｅ】
2018136916.tif 000024
【図８Ａ】
2018136916.tif 000025
【図８Ｂ】
2018136916.tif 000026
【図８Ｃ】
2018136916.tif 000027
【図９Ａ】
2018136916.tif 000028
【図９Ｂ】
2018136916.tif 000029
【図９Ｃ】
2018136916.tif 000030
【図１０Ａ】
2018136916.tif 000031
【図１０Ｂ】
2018136916.tif 000032
【図１０Ｃ】
2018136916.tif 000033
【図１０Ｄ】
2018136916.tif 000034
【図１０Ｅ】
2018136916.tif 000035
【図１１】
2018136916.tif 000036
【図１２】
2018136916.tif 000037
【図１３】
2018136916.tif 000038
【図１４】
2018136916.tif 000039
【図１５Ａ】
2018136916.tif 000040
【図１５Ｂ】
2018136916.tif 000041
【図１６】
2018136916.tif 000042
【図１７】
2018136916.tif 000043
【手続補正書】
【提出日】平成29年9月27日(2017.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項８に記載の方法。
【手続補正書】
【提出日】平成29年12月15日(2017.12.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の外部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更される、
方法。
【請求項２】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項１に記載の方法。
【請求項３】
前記複数のマークは、互いに隣接しない態様で付加される、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのマークの個数または形状は、前記コードが示す情報に基づいて決定される、請求項１から３のいずれかに記載の方法。
【請求項５】
前記改変画像データを生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記少なくとも１つのマークの座標値を決定することを含む、
請求項１から４のいずれかに記載の方法。
【請求項６】
前記マークはドットマークである、請求項１から５のいずれかに記載の方法。
【請求項７】
前記コードは、複数のセルを含む２次元バーコードであり、
前記少なくとも１つのマークの大きさは、各セルの大きさよりも小さい、
請求項１から５のいずれかに記載の方法。
【請求項８】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の内部または外周部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側において前記領域に接する位置における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを、前記コードの読み取りに影響を及ぼさず、かつ複数のマークが隣接しない態様で付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更される、
方法。
【請求項９】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項８に記載の方法。
【請求項１０】
前記少なくとも１つのマークの個数または形状は、前記コードが示す情報に基づいて決定される、請求項８または９に記載の方法。
【請求項１１】
前記改変画像データを生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記少なくとも１つのマークの座標値を決定することを含む、
請求項８から１０のいずれかに記載の方法。
【請求項１２】
前記コードは、複数のセルを含む２次元バーコードであり、
前記少なくとも１つのマークの大きさは、各セルの大きさよりも小さく、
各セルには、０個または１個のマークが付加される、
請求項８から１１のいずれかに記載の方法。
【請求項１３】
前記コードは、Ｎ個（Ｎは２０以上の整数）のセルを含み、
前記生成するステップは、
前記情報に基づいて、ｎ個（ｎは２以上Ｎ／１０以下の整数）の座標値を決定し、
前記ｎ個の座標値が示す位置に、ｎ個のマークを付加することを含み、
前記ｎ個の座標値の組み合わせは、前記コードが示す前記情報によって異なる、
請求項９に記載の方法。
【請求項１４】
前記コードは、前記複数のセルが配列された領域の周囲にアライメントパターンを有し、
前記少なくとも１つの座標値は、前記アライメントパターン上の領域から選択される、請求項１２または１３に記載の方法。
【請求項１５】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の内部または外周部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の内部または前記領域に接する位置における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを、前記コードの読み取りに影響を及ぼさず、かつ複数のマークが隣接しない態様で付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更され、
前記コードは、Ｎ個（Ｎは２０以上の整数）のセルを含み、
前記生成するステップは、
前記情報に基づいて、ｎ個（ｎは２以上Ｎ／１０以下の整数）の座標値を決定し、
前記ｎ個の座標値が示す位置に、ｎ個のマークを付加することを含み、
前記ｎ個の座標値の組み合わせは、前記コードが示す前記情報によって異なる、
方法。
【請求項１６】
物品に関連付けられた情報を示すコードの画像データを生成するためのプログラムであって、プロセッサに、
請求項１から１５のいずれかに記載の方法を実行させるプログラム。
【請求項１７】
物品に関連付けられた情報を示すコードの画像データを生成する装置であって、
プロセッサと、
前記プロセッサによって実行されるプログラムを格納したメモリと、
を備え、
前記プログラムは、前記プロセッサに、
請求項１から１５のいずれかに記載の方法を実行させる装置。
【請求項１８】
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
請求項１から１５のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を含む真贋判定方法。
【請求項１９】
前記ステップＡは、前記第１の画像データを取得した読み取り装置からネットワークを介して前記第１の画像データを取得することを含み、
前記ステップＤは、前記読み取り装置に前記ネットワークを介して前記判定結果を示すデータを送信することを含む、
請求項１８に記載の真贋判定方法。
【請求項２０】
前記ステップＡ、前記ステップＢ、前記ステップＣ、および前記ステップＤは、カメラ、プロセッサ、前記記録媒体を備えた読み取り装置における前記プロセッサによって実行され、
前記ステップＡは、前記カメラから前記第１の画像データを取得することを含み、
前記ステップＢは、前記第２の画像データまたは前記改変用データを前記記録媒体から取得することを含む、
請求項１９に記載の真贋判定方法。
【請求項２１】
前記読み取り装置は、ディスプレイをさらに備え、
前記ステップＤは、前記ディスプレイに、前記判定結果を表示させることを含む、請求項１９または２０に記載の真贋判定方法。
【請求項２２】
コンピュータに、
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
請求項１から１５のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を実行させるプログラム。
【手続補正書】
【提出日】平成30年1月10日(2018.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の外部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更される、
方法。
【請求項２】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項１に記載の方法。
【請求項３】
前記複数のマークは、互いに隣接しない態様で付加される、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのマークの個数または形状は、前記コードが示す情報に基づいて決定される、請求項１から３のいずれかに記載の方法。
【請求項５】
前記改変画像データを生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記少なくとも１つのマークの座標値を決定することを含む、
請求項１から４のいずれかに記載の方法。
【請求項６】
前記マークはドットマークである、請求項１から５のいずれかに記載の方法。
【請求項７】
前記コードは、複数のセルを含む２次元バーコードであり、
前記少なくとも１つのマークの大きさは、各セルの大きさよりも小さい、
請求項１から５のいずれかに記載の方法。
【請求項８】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の内部または外周部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側において前記領域に接する位置における１つ以上の座標値を決定し、
決定した前記１つ以上の座標値が示す位置に、少なくとも１つのマークを、前記コードの読み取りに影響を及ぼさず、かつ複数のマークが隣接しない態様で付加することを含み、
前記少なくとも１つのマークの座標値は、物品ごとまたは物品群ごとに変更される、
方法。
【請求項９】
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更される、
請求項８に記載の方法。
【請求項１０】
前記少なくとも１つのマークの個数または形状は、前記コードが示す情報に基づいて決定される、請求項８または９に記載の方法。
【請求項１１】
前記改変画像データを生成するステップは、
入力された前記情報から、前記情報に対応するハッシュ値を決定し、
予め用意されたテーブルを参照して、前記ハッシュ値から、前記少なくとも１つのマークの座標値を決定することを含む、
請求項８から１０のいずれかに記載の方法。
【請求項１２】
前記コードは、複数のセルを含む２次元バーコードであり、
前記少なくとも１つのマークの大きさは、各セルの大きさよりも小さく、
各セルには、０個または１個のマークが付加される、
請求項８から１１のいずれかに記載の方法。
【請求項１３】
前記コードは、Ｎ個（Ｎは２０以上の整数）のセルを含み、
前記生成するステップは、
前記情報に基づいて、ｎ個（ｎは２以上Ｎ／１０以下の整数）の座標値を決定し、
前記ｎ個の座標値が示す位置に、ｎ個のマークを付加することを含み、
前記ｎ個の座標値の組み合わせは、前記コードが示す前記情報によって異なる、
請求項９に記載の方法。
【請求項１４】
前記コードは、前記複数のセルが配列された領域の周囲にアライメントパターンを有し、
前記少なくとも１つの座標値は、前記アライメントパターン上の領域から選択される、請求項１２または１３に記載の方法。
【請求項１５】
物品に関連付けられた情報を示す１次元または２次元のコードの画像データを、プロセッサによって生成する方法であって、
入力された前記情報に基づき、前記情報を示す１次元または２次元のコードを決定するステップと、
決定した前記コードの領域の内部または外周部に少なくとも１つのマークが付加された画像を示す改変画像データを生成するステップと、
前記改変画像データを記録媒体に記録するステップと、
を含み、
前記改変画像データを生成するステップは、
前記物品に関連付けられた情報に基づき、前記コードの領域の外側における複数の座標値を決定し、
決定した前記複数の座標値が示す位置に、複数のマークを付加することを含み、
前記複数のマークの座標値の組み合わせは、物品ごとまたは物品群ごとに変更され、
前記コードは、Ｎ個（Ｎは２０以上の整数）のセルを含み、
前記生成するステップは、
前記情報に基づいて、ｎ個（ｎは２以上Ｎ／１０以下の整数）の座標値を決定し、
前記ｎ個の座標値が示す位置に、ｎ個のマークを付加することを含み、
前記ｎ個の座標値の組み合わせは、前記コードが示す前記情報によって異なる、
方法。
【請求項１６】
物品に関連付けられた情報を示すコードの画像データを生成するためのプログラムであって、プロセッサに、
請求項１から１５のいずれかに記載の方法を実行させるプログラム。
【請求項１７】
物品に関連付けられた情報を示すコードの画像データを生成する装置であって、
プロセッサと、
前記プロセッサによって実行されるプログラムを格納したメモリと、
を備え、
前記プログラムは、前記プロセッサに、
請求項１から１５のいずれかに記載の方法を実行させる装置。
【請求項１８】
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
請求項１から１５のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を含む真贋判定方法。
【請求項１９】
前記ステップＡは、前記第１の画像データを取得した読み取り装置からネットワークを介して前記第１の画像データを取得することを含み、
前記ステップＤは、前記読み取り装置に前記ネットワークを介して前記判定結果を示すデータを送信することを含む、
請求項１８に記載の真贋判定方法。
【請求項２０】
前記ステップＡ、前記ステップＢ、前記ステップＣ、および前記ステップＤは、カメラ、プロセッサ、前記記録媒体を備えた読み取り装置における前記プロセッサによって実行され、
前記ステップＡは、前記カメラから前記第１の画像データを取得することを含み、
前記ステップＢは、前記第２の画像データまたは前記改変用データを前記記録媒体から取得することを含む、
請求項１９に記載の真贋判定方法。
【請求項２１】
前記読み取り装置は、ディスプレイをさらに備え、
前記ステップＤは、前記ディスプレイに、前記判定結果を表示させることを含む、請求項１９または２０に記載の真贋判定方法。
【請求項２２】
コンピュータに、
物品に印刷されたコードを撮影して得られる第１の画像データを取得するステップＡと、
請求項１から１５のいずれかに記載の方法によって生成された前記改変画像データである第２の画像データ、または前記第２の画像データの改変内容を規定する改変用データを記録媒体から取得するステップＢと、
前記第１の画像データと、前記第２の画像データまたは前記改変用データとに基づいて、前記第１の画像データにおける前記コードが、正規のコードであるか否かを判定するステップＣと、
判定結果を示すデータを出力するステップＤと、
を実行させるプログラム。