(57)【特許請求の範囲】
【請求項１】
画像生成装置によって行われる方法であって、
(1)前記画像生成装置によって、元の2次元コードを2次元配列に変換するステップと、
(2)前記画像生成装置によって、予め設定されたパターンに従って前記2次元配列を使用して、第1の色画素および第2の色画素を含む画像を生成するステップであって、
(2-1)前記画像生成装置によって、前記予め設定されたパターンを2値画像に変換するステップと、
(2-2)前記画像生成装置によって、前記2値画像における各画素の画素値に従って前記2次元配列における対応要素の値にビット操作を行うステップであって、
(2-2-1)前記2値画像における画素の画素値が0である場合において、前記2次元配列における前記対応要素の前記値が1であるとき、前記画像生成装置によって、対応値を0に変更するステップ、または前記2次元配列における前記対応要素の前記値が0であるとき、前記画像生成装置によって、前記対応値をヌルに変更するステップ、および
(2-2-2)前記2値画像における画素の画素値が1である場合において、前記2次元配列における前記対応要素の前記値が1であるとき、前記画像生成装置によって、前記対応値をヌルに変更し、または前記画像生成装置によって、前記2次元配列における前記対応要素の前記値が0であるとき、前記対応値を1に変更するステップを含む、ステップ、ならびに、
(2-3)前記画像生成装置によって、前記ビット操作の結果に従って前記画像を生成するステップであって、
(2-3-1)前記画像生成装置によって、前記ビット操作の前記結果に従って新たな2次元配列を生成するステップと、
(2-3-2)前記画像生成装置によって、
前記新たな2次元配列において、要素の値0が第1の色を表し、要素の値ヌルが透明を表し、要素の値1が第2の色を表す、
という規則に従って、前記新たな2次元配列を前記画像に変換するステップとを含む、ステップを含む、ステップとを含み、
前記ビット操作の前記結果に従って生成された画像は、前記ビット操作の前記結果に従って生成された画像を前記元の2次元コードと重複させた後に得られるパターンが前記予め設定されたパターンであるかどうかを判定することによって、前記元の2次元コードが変更されていないかどうかを判定することを可能にするものである、
方法。
【請求項２】
前記画像生成装置によって、前記予め設定されたパターンを2値画像に変換するステップの前に、前記方法が、
前記画像生成装置によって、前記予め設定されたパターンのサイズを前記元の2次元コードのサイズと同じになるように変換するステップをさらに含む、
請求項１に記載の方法。
【請求項３】
前記画像生成装置によって、前記予め設定されたパターンのサイズを前記元の2次元コードのサイズと同じになるように変換するステップが、
前記画像生成装置によって、前記予め設定されたパターンにおける画素のサイズを前記元の2次元コードにおける画素のサイズと同じとなるように変換するステップを含む、
請求項２に記載の方法。
【請求項４】
前記第1の色が白であり、前記第2の色が黒をである、
請求項１に記載の方法。
【請求項５】
前記予め設定されたパターンが、前記元の2次元コード上に前記画像を直接重畳することによって生成可能である、
請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記画像生成装置によって、前記2次元配列を使用することによって画像を生成するステップの後に、前記方法が、
出力装置を使用することによって前記画像を透明な担体に出力するステップをさらに含む、
請求項１に記載の方法。
【請求項７】
前記2次元コードが、白黒要素のマトリックスを含み、
前記2次元配列が、前記白黒要素を表す2進数を含む、
請求項４から６のいずれか一項に記載の方法。
【請求項８】
前記2次元配列が、第1の複数の1次元配列を含む、
請求項７に記載の方法。
【請求項９】
前記予め設定されたパターンが、画像を含み、
前記画像が、2進数で識別される複数の白黒画素を含み、
前記画像生成装置によって、前記予め設定されたパターンを2値画像に変換するステップが、
前記複数の白黒画素を、2進数を含む第2の複数の1次元配列に変換するステップを含む、
請求項８に記載の方法。
【請求項１０】
前記画像生成装置によって、前記2値画像における各画素の画素値に従って前記2次元配列における対応要素の値にビット操作を行うステップが、
前記画像生成装置によって、前記第2の複数の1次元配列における各画素の画素値に従って、前記第1の複数の1次元配列における対応要素の値に前記ビット操作を行うステップを含む、
請求項９に記載の方法。
【請求項１１】
以下の動作を行うように構成される画像生成装置であって、前記動作が、
(1)元の2次元コードを2次元配列に変換するステップと、
(2)予め設定されたパターンに従って前記2次元配列を使用して、第1の色画素および第2の色画素を含む画像を生成するステップであって、
(2-1)前記予め設定されたパターンを2値画像に変換するステップと、
(2-2)前記2値画像における各画素の画素値に従って前記2次元配列における対応要素の値にビット操作を行うステップであって、
(2-2-1)前記2値画像における画素の画素値が0である場合において、前記2次元配列における前記対応要素の前記値が1であるとき、対応値を0に変更するステップ、または前記2次元配列における前記対応要素の前記値が0であるとき、前記対応値をヌルに変更するステップ、および
(2-2-2)前記2値画像における画素の画素値が1である場合において、前記2次元配列における前記対応要素の前記値が1であるとき、前記対応値をヌルに変更し、または前記2次元配列における前記対応要素の前記値が0であるとき、前記対応値を1に変更するステップを含む、ステップ、ならびに、
(2-3)前記ビット操作の結果に従って前記画像を生成するステップであって、
(2-3-1)前記ビット操作の前記結果に従って新たな2次元配列を生成するステップと、
(2-3-2)前記新たな2次元配列において、要素の値0が第1の色を表し、要素の値ヌルが透明を表し、要素の値1が第2の色を表す、
という規則に従って、前記新たな2次元配列を前記画像に変換するステップとを含む、ステップを含む、ステップとを含み、
前記ビット操作の前記結果に従って生成された画像は、前記ビット操作の前記結果に従って生成された画像を前記元の2次元コードと重複させた後に得られるパターンが前記予め設定されたパターンであるかどうかを判定することによって、前記元の2次元コードが変更されていないかどうかを判定することを可能にするものである、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2017年2月13日に出願された中国特許出願第201710076533.1号の優先権を主張し、その全内容が参照により本明細書に組み込まれる。
【０００２】
本出願は、グラフィック画像技術の分野に関し、特に、画像生成方法および画像生成装置に関する。
【背景技術】
【０００３】
2次元バーコードとしても知られている2次元コードは、特定の規則に従って平面(2次元方向)上に分散される特定の種類の幾何グラフによって形成されるバー/スペース交互グラフを使用することによってデータシンボル情報を記録する。2次元コードは、大きい情報容量、広いコーディング範囲、強いエラー耐性、および高い復号信頼性などの特徴を有しており、低コストおよび簡易製造などの利点をさらに有する。したがって、2次元コードは人々の生活において広く適用されている。
【０００４】
インターネットの発展および移動端末の普及につれて、2次元コードは、日常生活の至る所で見ることができる。例えば、小売業者はレジにおいて支払2次元コードを掲示することができ、ユーザは、アプリケーションの2次元コードスキャン機能を使用することによって、支払2次元コードをスキャンし得る。別の例として、商品プロモーションでは、小売業者は、比較的混雑した場所(地下鉄またはショッピングモールなど)においてアプリをダウンロードする2次元コードを掲示して、2次元コードをスキャンし、アプリケーションをダウンロードするように、通り過ぎる人々を引きつけてもよい。したがって、小売業者または第3者は、ユーザに真正かつ有効な2次元コードを提供する必要がある。
【０００５】
現在では、小売業者によって印刷された2次元コードが差し替えられる可能性があるというリスクが存在する。しかしながら、2次元コードは抽象的であるので、小売業者は基本的に裸眼で差替えを認識することができない。先行技術では、小売業者は、2次元コードが差し替えられているかどうかを判定するために、携帯電話のカメラを使用し得る。このプロセスでは、スキャン機能を有する携帯電話は、さらにネットワークにアクセスする必要がある。したがって、本発明の発明者は、ネットワークなしで2次元コードの有効性を検証するための技術的解決策が必要とされていると考える。
【０００６】
以上の情報は、本開示の理解を促進するために単に背景情報として提示される。以上の情報のいずれかが本開示に対する先行技術として適用可能であるかどうかは、まだ未定であり、または記述されていない。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の主な目的は、先行技術における2次元コードをオフラインで検証する問題を解決するように、画像生成方法および画像生成装置を提供することである。
【０００８】
本発明の一態様は、元の2次元コードを2次元配列へ解析するステップと、予め設定されたパターンに従って2次元配列を使用することによって画像を生成するステップとを含む、画像生成方法を提供する。
【０００９】
本発明の別の態様は、元の2次元コードを2次元配列へ解析するように構成される解析ユニットと、予め設定されたパターンに従って2次元配列を使用することによって画像を生成するように構成される生成ユニットとを含む、画像生成装置を提供する。
【００１０】
先行技術と比較して、本発明の実施形態は、予め設定されたパターンに基づいて元の2次元コードを使用することによって画像を生成し、それにより、画像を使用することによって元の2次元コードを検証することができる。このようにして、利用可能なネットワークが存在しないときに、2次元コードが改竄されているかどうかを判断することができる。本発明は、豊富な使用シナリオを有し、ネットワークまたは移動端末によって限定されず、2次元コード検証をより興味深いものにする。
【００１１】
本明細書に記載される添付の図面は、本出願の更なる理解を提供するために使用され、かつ本出願の一部を構成する。本出願の概略実施形態およびその説明は、本出願を例示するために使用されており、本出願へのいかなる不適切な限定も構成しない。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る画像生成方法のフローチャートである。
【図２Ａ】本発明の一実施形態に係る2次元コードを処理する概要図である。
【図２Ｂ】本発明の一実施形態に係る2次元コードを処理する概要図である。
【図２Ｃ】本発明の一実施形態に係る2次元コードを処理する概要図である。
【図３】図1における画像生成方法のステップ120の詳細なフローチャートである。
【図４Ａ】本発明の一実施形態に係る画像生成方法のアプリケーションの効果図である。
【図４Ｂ】本発明の一実施形態に係る画像生成方法のアプリケーションの効果図である。
【図４Ｃ】本発明の一実施形態に係る画像生成方法のアプリケーションの効果図である。
【図５】本発明の一実施形態に係る画像生成装置のブロック図である。
【図６】本発明の一実施形態に係る電子装置のブロック図である。
【図７】本開示の一実装例に係る、2Dコードを検証するための画像パターンを生成するためのコンピュータ実装方法の一例を例示するフローチャートである。
【発明を実施するための形態】
【００１３】
本出願の目的、技術的解決策および利点をより明白にするために、本出願の技術的解決策が、本出願の具体的な実施形態および対応図面を参照しつつ、さらに詳細に記載される。明らかに、記載される実施形態は、本出願の実施形態の全部ではなく、一部にすぎない。創意工夫なく当業者によって導き出される、あらゆる他の実施形態が本出願の保護範囲に属する。
【００１４】
以下に、添付の図面を参照しつつ、実施形態がさらに詳細に記載される。同一の参照数字は、常に同一の要素を表す。
【００１５】
本発明の実施形態において提供される画像生成方法が画像生成装置によって実行されてよく、画像生成装置は、計算およびデータ処理機能ならびに記憶機能を有する任意の電子装置であってもよい。本発明において、電子装置は、ディスプレイユニットを有する以下の装置のいずれかを含んでよいが、それに限定されない:パーソナルコンピュータ(PC)、移動装置(携帯電話、携帯情報端末(PDA)、デジタルカメラ、携帯ゲーム機、MP3プレーヤ、ポータブル/パーソナルマルチメディアプレーヤ(PMP)、ハンドヘルド電子ブック、タブレットPC、ポータブルラップトップPCおよび全地球測位システム(GPS)ナビゲータなど)、スマートTV等。
【００１６】
図1は、本発明の一実施形態に係る画像生成方法のフローチャートである。
【００１７】
ステップ110で、元の2次元コードが2次元配列へ解析され、ここで2次元配列は「0」および「1」から成るコーディング配列を指す。
【００１８】
2次元コードは、2進データにおける「0」および「1」を表すために、白黒のマトリックスパターンを使用してよい。言い換えれば、2次元コードのための符号化アルゴリズム(Quickresponsecode(QRcode)アルゴリズムなど)を使用することによって情報から2次元コードデータが生成されてよく、生成された2次元コードデータにおける値1が黒色によって表され、値0が白色によって表される。したがって、逆に、元の2次元コードにおける黒色は値1によって表されてよく、元の2次元コードにおける白色は値0によって表されてよい。以上の方式によれば、2次元コードは、「0」および「1」から成る2次元配列へラインごとに解析される。
【００１９】
元の2次元コードが電子2次元コードであってよく、または電子2次元コードに従って印刷されて屋外に掲示される物理2次元コードであってもよいことが留意されるべきである。元の2次元コードが電子2次元コードであれば、電子2次元コードにおける黒色は値1によって表され、白色は値0によって表され、このようにして電子2次元コードに対応する2次元配列を得る。2次元コードが物理2次元コードであれば、物理2次元コードに対応する電子2次元コードが検索されてよく、電子2次元コードは次いで上記の方式で処理される。代替的に、2次元コードの画像が取得されてよく、2次元コードの画像は次いで2値画像へ変換され、このようにして2値画像に対応する2次元配列を得る。
【００２０】
本発明に係る画像生成方法が電子2次元コードに対応する画像を事前に生成することができるだけでなく、必要に応じて続いて物理2次元コードに対応する画像も生成することができることが分かる。例えば、電子2次元コードを生成すると共に、小売業者は、予め設定されたパターンに従って電子2次元コードに対応するパターンを生成してよい。代替的に、掲示板に2次元コードを掲示した後に、小売業者は、所定のパターンを設定し、物理2次元コードに従ってパターンを生成してよい。このようにして、掲示板における2次元コードは、生成されたパターンを使用することによって検証されてよい。
【００２１】
図2Aに図示されるように、図2Aは元の2次元コードを表す。解析によって、元の2次元コードは以下の通りに2次元配列へ解析されてよい:
[1,0,1,0]
[1,0,0,1]
[0,0,1,0]
[0,1,0,0]
【００２２】
次いで、ステップ120で、予め設定されたパターンに従って2次元配列を使用することによって画像が生成される。予め設定されたパターンは、ユーザによって予め設定されたパターンである。ユーザが研究開発段階での研究開発スタッフ、2次開発中の技術スタッフ、実際のユーザ等を指してよいと当業者は理解するべきである。予め設定されたパターンは、人間の眼に容易に認識可能な単純なパターン、例えば、笑顔、テキスト等であってもよい。好ましくは、予め設定されたパターンは白黒画像であり、その結果、画像における画素は値0および1と識別可能である。予め設定されたパターンがカラー画像であるとすると、カラー画像の輪郭は輪郭抽出アルゴリズムに従って抽出されてよい。輪郭線が値1で表され、他の領域は値0で表される。代替的に、カラー画像はグレースケール画像へ変換されてよく、次いでグレースケール画像は2値画像へ変換される。図2Bを参照すると、図2Bにおけるパターンは予め設定されたパターンである。ここで、ステップ120が図3を参照しつつ詳細に記載されることになる。
【００２３】
続いて、ステップ310で、予め設定されたパターンは2値画像へ解析される。任意選択で、予め設定されたパターンのサイズは、元の2次元コードのサイズと同じであるように変換されてよい。そのサイズが異なれば、予め設定されたパターンはそれに応じて拡大または縮小されてよい。例えば、予め設定されたパターンのサイズが5*5である場合、予め設定されたパターンは25*25まで拡大されてよい、すなわち、各画素が同じ値を有する5つの画素を使用することによって拡大されて表される。明らかに、2次元コードのサイズも必要に応じて拡大または縮小されてよい。このようにして、予め設定されたパターンを使用することによって元の2次元コードに対応する2次元行列における要素にビット操作が行われてよい。したがって、図2Bにおけるパターンは以下の通りに解析されてよい:
[0,0,1,0]
[0,0,1,0]
[0,0,1,0]
[1,1,1,1]
【００２４】
言い換えれば、予め設定されたパターンにおける各画素上の黒色は1であると解析されてよく、白色は0であると解析される。したがって、予め設定されたパターンは2値画像へ解析される。
【００２５】
次に、ステップS320で、2値画像における各画素の画素値に従って2次元配列における対応要素の値にビット操作が行われる。詳細には、2値画像における画素の画素値が0である場合には、2次元配列における対応要素の値が1であれば、対応値は0に変更され、2次元配列における対応要素の値が0であれば、対応値はヌルに変更される。
【００２６】
2値画像における画素の画素値が1である場合には、2次元配列における対応要素の値が1であれば、対応値はヌルに変更され、2次元配列における対応要素の値が0であれば、対応値は1に変更される。
【００２７】
ステップS330で、ビット操作の結果に従って画像が生成される。詳細には、ビット操作の結果に従って最初に2次元配列が生成されてよい。次いで、2次元配列は以下の規則に従って画像へ変換される:新たな2次元配列では、要素の値0が白色を表し、要素の値ヌルが透明を表し、要素の値1が黒色を表す。例えば、ステップS320に従って図2Aに図示される元の2次元コードにビット操作が行われた後、以下の2次元配列が生成される:
[0,ヌル,ヌル,ヌル]
[0,ヌル,1,0]
[ヌル,ヌル,ヌル,ヌル]
[1,ヌル,1,1]
【００２８】
続いて、新たな2次元配列では、要素の値0が白色を表し、要素の値ヌルが透明を表し、要素の値1が黒色を表す。上記の2次元配列は、図2Cに図示されるような画像へ変換される。
【００２９】
代替実施形態において、画像は、出力装置を使用することによって透明な担体に出力されてよい。例えば、画像は、プリンタを使用することによって透明紙に印刷されてよい。次いで、出力画像は元の2次元コード上に被覆される;被覆後に得られるパターンが予め設定されたパターンであるかどうかを判定することによって元の2次元コードが検証される。被覆後に得られるパターンが予め設定されたパターンであると判定されれば、元の2次元コードが変更されていないと判定される。被覆後に得られるパターンが予め設定されたパターンでないと判定されれば、元の2次元コードが変更されたと判定される。特定の被覆動作が図4A〜図4Cを参照しつつ詳細に記載されることになり、したがってここでは記載されない。
【００３０】
本発明の効果を完全に例示するために、ここで図4A〜図4Cを参照しつつ説明がなされる。
【００３１】
図4A〜図4Cに図示されるように、図4A〜図4Cは、本発明の一実施形態に係る画像生成方法のアプリケーションの効果図である。図4Aは元の2次元コードを図示する。2次元コードは電子2次元コードであってよく、または電子2次元コードに従って印刷されて屋外に掲示される物理2次元コードであってもよい。図4Aに図示される2次元コードが電子2次元コードであれば、電子2次元コードにおける黒色は値1によって表され、白色は値0によって表され、このようにして電子2次元コードに対応する2次元配列を得る。図4Aに図示される2次元コードが物理2次元コードであれば、物理2次元コードに対応する電子2次元コードが検索されてよく、電子2次元コードは次いで上記の方式で処理される。代替的に、2次元コードの画像が取得されてよく、2次元コードの画像は次いで2値画像へ変換され、このようにして2値画像に対応する2次元配列を得る。
【００３２】
本発明に係る画像生成方法が電子2次元コードに対応する画像を事前に生成することができるだけでなく、必要に応じて続いて物理2次元コードに対応する画像も生成することができることが分かる。
【００３３】
続いて、予め設定されたパターンが決定可能である。パターンは、嗜好に従ってユーザによって予め設定されたパターンであってもよい。本実施形態において、予め設定されたパターンは笑顔である。
【００３４】
次いで、図4Bに図示されるような画像が本発明の画像生成方法に従って生成される。図4Cに図示されるパターンでは、灰色は値ヌルを表し、黒色は1を表し、白色は0を表す。このようにして、図4Bにおけるパターンが出力装置を使用することによって透明材料上へ印刷された後、印刷物は、図4Aに図示されるような2次元コード上に直接被覆されてよい。このようにして、2次元コードの画像では、ヌルに対応する灰色に対応する位置の色は変更されない。言い換えれば、ヌルに対応する図4Aにおける2次元コードにおける画素の色が黒ければ、画素の色は印刷物の直接被覆後にまだ黒く、画素の色が白ければ、その色は被覆後にまだ白い。0に対応する白色に対応する位置の色または1に対応する黒色は変更されることになる。詳細には、黒色(印刷物における色)に対応する図4Aにおける2次元コードにおける画素の色が白ければ、画素の色は印刷物の直接被覆後に黒い;白色(印刷物における色)に対応する図4Aにおける2次元コードにおける画素の色が黒ければ、画素の色は印刷物の直接被覆後に白い。
【００３５】
このようにして、図4Aにおける2次元コードは、被覆後のパターンが笑顔のパターンであるかどうかに従って検証されてよい。例えば、被覆後のパターンが笑顔のパターンでなければ、それは、2次元コードが改竄、例えば、他人によって差し替えまたは変更されていることを示す。被覆後のパターンがまだ笑顔のパターンであれば、それは、2次元コードが変更されていないことを示す。
【００３６】
上記したように、本発明に係る画像生成方法は、予め設定されたパターンに基づき元の2次元コードを使用することによって画像を生成し、それにより、画像を使用することによって元の2次元コードを検証する。このようにして、利用可能なネットワークが存在しないときに、2次元コードが改竄されているかどうかを判断することができる。本発明は、豊富な使用シナリオを有し、ネットワークまたは移動端末によって限定されず、2次元コード検証をより興味深いものにする。
【００３７】
図5は、本発明の一実施形態に係る画像生成装置のブロック図である。
【００３８】
図5に図示される画像生成装置の構造が本発明の電子装置を限定せず、かつ図に図示されるものより多くのもしくは少ない部品を含んでよい、または一部の部品が結合されてよい、もしくは異なる部品レイアウトが利用されてよいと当業者は理解するべきである。
【００３９】
図5に図示されるように、本発明の実施形態に係る画像生成装置は解析ユニット510および生成ユニット520を含む。
【００４０】
解析ユニット510は、元の2次元コードを2次元配列へ解析するように構成される。元の2次元コードは電子2次元コードでよく、または物理2次元コードでよい。元の2次元コードが電子2次元コードであれば、2次元コードにおける黒色は値1によって表され、白色は値0によって表され、このようにして元の2次元コードに対応する2次元配列を得る。2次元コードが物理2次元コードであれば、物理2次元コードに対応する電子2次元コードが検索されてよく、見つけられた電子2次元コードは次いで上記の方式で処理される。代替的に、2次元コードの画像が取得されてよく、2次元コードの画像は次いで2値画像へ変換され、このようにして2値画像に対応する2次元配列を得る。
【００４１】
生成ユニット520は、予め設定されたパターンに従って2次元配列を使用することによって画像を生成するように構成される。予め設定されたパターンは、ユーザによって予め設定されたパターンである。
【００４２】
代替実施形態において、生成ユニット520は:解析サブユニット(図示せず)、操作サブユニット(図示せず)および生成サブユニット(図示せず)を含む。解析サブユニットは、予め設定されたパターンを2値画像へ解析するように構成される。操作サブユニットは、2値画像における各画素の画素値に従って2次元配列における対応要素の値にビット操作を行うように構成される。生成サブユニットは、ビット操作の結果に従って画像を生成するように構成される。
【００４３】
代替実施形態において、上記のサブユニットを使用することによって処理を行う前に、生成ユニット520は、予め設定されたパターンのサイズを元の2次元コードのサイズと同じであるように変換するように構成されてよい。そのサイズが異なれば、予め設定されたパターンはそれに応じて拡大または縮小されてよい。
【００４４】
代替実施形態において、操作サブユニットは、以下のステップに従って2次元配列における対応要素の値にビット操作を行うように構成される:2値画像における画素の画素値が0である場合には、2次元配列における対応要素の値が1であれば、対応値を0に変更する、または2次元配列における対応要素の値が0であれば、対応値をヌルに変更する;および2値画像における画素の画素値が1である場合には、2次元配列における対応要素の値が1であれば、対応値をヌルに変更する、または2次元配列における対応要素の値が0であれば、対応値を1に変更する。
【００４５】
代替実施形態において、生成サブユニットは、ビット操作の結果に従って新たな2次元配列を生成し;以下の規則に従って新たな2次元配列を画像に変換する:新たな2次元配列では、要素の値0が白色を表し、要素の値ヌルが透明を表し、要素の値1が黒色を表す、ように構成される。
【００４６】
代替実施形態において、予め設定されたパターンは、画像および元の2次元コードの対応位置における重畳値によって生成可能である。
【００４７】
代替実施形態において、画像出力装置は出力ユニット(図示せず)を含む。出力ユニットは、出力装置を使用することによって透明な担体に画像を出力することができる。
【００４８】
例えば、画像が出力装置を使用することによって透明材料上へ印刷された後、印刷物は2次元コード上に直接被覆されてよい。このようにして、2次元コードの画像では、ヌルに対応する灰色に対応する位置の色は変更されない。言い換えれば、ヌルに対応する2次元コードにおける画素の色が黒ければ、画素の色は印刷物の直接被覆後にまだ黒く、画素の色が白ければ、その色は被覆後にまだ白い。0に対応する白色に対応する位置の色または1に対応する黒色は変更されることになる。詳細には、黒色(印刷物における色)に対応する2次元コードにおける画素の色が白ければ、画素の色は印刷物の直接被覆後に黒い;白色(印刷物における色)に対応する2次元コードにおける画素の色が黒ければ、画素の色は印刷物の直接被覆後に白い。
【００４９】
このようにして、2次元コードは、被覆後のパターンが笑顔のパターンであるかどうかに従って検証されてよい。例えば、被覆後のパターンが笑顔のパターンでなければ、それは、2次元コードが改竄、例えば、他人によって差し替えまたは変更されていることを示す。被覆後のパターンがまだ笑顔のパターンであれば、それは、2次元コードが変更されていないことを示す。
【００５０】
上記したように、本発明に係る画像生成装置は、予め設定されたパターンに基づき元の2次元コードを使用することによって画像を生成し、それにより、画像を使用することによって元の2次元コードを検証する。このようにして、利用可能なネットワークが存在しないときに、2次元コードが改竄されているかどうかを判断することができる。本発明は、豊富な使用シナリオを有し、ネットワークまたは移動端末によって限定されない。
【００５１】
図6は、本発明の例証的な実施形態に係る画像生成アルゴリズムを実行する電子装置のブロック図を示す。図6を参照すると、ハードウェアレベルでは、電子装置は、プロセッサ、内部バス、ネットワークインタフェース、メモリおよび不揮発性ストレージを含む。明らかに、電子装置は、サービスによって必要とされる他のハードウェアをさらに含んでよい。プロセッサは、不揮発性ストレージからメモリへ対応するコンピュータプログラムを読み込んでコンピュータプログラムを実行して、論理レベルでウェブページスクリーンショット装置を形成する。明らかに、ソフトウェア実装例に加えて、本出願は、論理装置またはソフトウェアおよびハードウェア複合方式などの、他の実装例を除外しない。言い換えれば、以下の処理手順は、様々な論理ユニットによって実行されることに限定されず、ハードウェアまたは論理装置によって実行されてもよい。
【００５２】
1990年代、技術の進歩は、ハードウェアの進歩(例えば、ダイオード、トランジスタおよびスイッチなどの回路構成の進歩)またはソフトウェアの進歩(方法手順の進歩)として明らかに区別されてよい。しかしながら、技術の発展につれて、多くの方法手順の改良が現在はハードウェア回路構成の直接的な進歩と考えられてよい。ほとんど全ての設計者が、改良された方法手順をハードウェア回路へプログラムして対応するハードウェア回路構成を得る。したがって、方法手順の改良がハードウェアエンティティモジュールを使用することによっては実装可能でないとみなすことは不適当である。例えば、プログラマブルロジックデバイス(PLD)(例えば、フィールドプログラマブルゲートアレイ(FPGA))が、ユーザによってプログラムされるデバイスによって論理機能が決定されるそのような集積回路である。設計者は、チップ製造メーカに専用の集積回路チップを設計および製造するよう依頼する必要なく、自分でデジタルシステムをPLDへ「集積化する」ようにプログラムする。さらに、現在、プログラミングは、集積回路チップを手動で製造する代わりに、大部分は論理コンパイラソフトウェアを使用することによって実装される。論理コンパイラソフトウェアは、プログラムを開発して書くために使用されるソフトウェアコンパイラと同様であり、コンパイル前のオリジナルコードも特定のプログラミング言語を使用することによって書かれる必要があり、それはハードウェア記述言語(HDL)と称される。高級ブール式言語(ABEL)、Alteraハードウェア記述言語(AHDL)、Confluence、コーネル大学プログラミング言語(CUPL)、HDCal、Java(登録商標)ハードウェア記述言語(JHDL)、Lava、Lola、MyHDL、PALASMおよびRubyハードウェア記述言語(RHDL)など、多くの種類のHDLがあり、中でも超高速集積回路ハードウェア記述言語(VHDL)およびVerilogが現在最も一般に使用されている。上記のいくつかのハードウェア記述言語を使用して方法手順を若干論理的にプログラムし、それを集積回路へプログラムすることによって、論理方法手順を実装するためのハードウェア回路が容易に得られることも当業者は知っているべきである。
【００５３】
コントローラが任意の好適な方式で実装されてよい。例えば、コントローラは、例えば、マイクロプロセッサまたはプロセッサおよび(マイクロ)プロセッサによって実行可能なコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を記憶したコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、ならびに組込みマイクロコントローラの形態であってもよい。コントローラの例としては、以下のマイクロコントローラを含むが、これらに限定されない:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20およびSilicon Labs C8051F320。メモリコントローラもメモリの制御論理の一部として実装されてよい。コントローラが純コンピュータ可読プログラムコードを使用することによって実装されてよく、加えて、コントローラが論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラおよび組込みマイクロコントローラの形態の同じ機能を実装することを可能にするために、方法ステップが論理的にプログラムされてよいことも当業者は知っている。したがって、この種類のコントローラはハードウェア部品と考えられてよく、様々な機能を実装するためにそこに含まれる装置もハードウェア部品内部の構成と考えられてよい。または、様々な機能を実装するために使用される装置は、方法を実装するためのソフトウェアモジュールともハードウェア部品内部の構成とも考えられさえしてよい。
【００５４】
上記の実施形態において例示されるシステム、装置、モジュールまたはユニットは詳細には、コンピュータチップもしくはエンティティ、または或る機能を有する製品を使用することによって実装されてよい。典型的な実装装置がコンピュータである。詳細には、コンピュータは、例えば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーション装置、電子メール装置、ゲーム機、タブレットコンピュータ、ウェアラブル装置、またはこれらの装置のいずれかの組合せでよい。
【００５５】
説明を容易にするために、装置が記載されるとき、それは、それぞれの説明のための機能に関して様々なユニットに分けられる。明らかに、本出願が実装されるとき、ユニットの機能は同じまたは複数のソフトウェアおよび/またはハードウェアで実装されてよい。
【００５６】
本発明の実施形態が方法、システムまたはコンピュータプログラム製品として提供されてよいと当業者は理解するべきである。したがって、本発明は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアおよびハードウェアを組み合わせた実施形態として実装されてよい。さらに、本発明は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクメモリ、CD-ROM、光メモリ等を含むがこれらに限定されない)に実装されたコンピュータプログラム製品であってもよい。
【００５７】
本出願は、本発明の実施形態に係る方法、装置(システム)およびコンピュータプログラム製品に係るフローチャートおよび/またはブロック図を参照しつつ記載される。フローチャートおよび/またはブロック図における各プロセスおよび/またはブロックならびにフローチャートおよび/またはブロック図におけるプロセスおよび/またはブロックの組合せを実装するためにコンピュータプログラム命令が使用されてよいことが理解されるべきである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組込みプロセッサ、または任意の他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを生成してよく、その結果、コンピュータまたは任意の他のプログラム可能なデータ処理装置のプロセッサによって実行される命令は、フローチャートにおける1つもしくは複数のプロセスにおけるおよび/またはブロック図における1つもしくは複数のブロックにおける指定の機能を実装するための装置を生成する。
【００５８】
これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラム可能なデータ処理装置に特定の方式で動くように命令することができるコンピュータ可読メモリに記憶されてもよく、その結果、コンピュータ可読メモリに記憶された命令は、命令装置を含むアーチファクトを生成する。命令装置は、フローチャートにおける1つもしくは複数のプロセスにおけるおよび/またはブロック図における1つもしくは複数のブロックにおける指定の機能を実装する。
【００５９】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能なデータ処理装置へロードされてもよく、その結果、コンピュータまたは別のプログラム可能な装置上で一連の動作ステップが行われて、それによってコンピュータ実装処理を生成する。したがって、コンピュータまたは別のプログラム可能な装置上で実行される命令は、フローチャートにおける1つもしくは複数のプロセスにおけるおよび/またはブロック図における1つもしくは複数のブロックにおける指定の機能を実装するためのステップを提供する。
【００６０】
典型的な構成では、計算装置は、1つまたは複数の中央処理装置(CPU)、I/Oインタフェース、ネットワークインタフェースおよびメモリを含む。
【００６１】
メモリは、揮発性メモリ、ランダムアクセスメモリ(RAM)、および/または不揮発性メモリ、例えば、リードオンリメモリ(ROM)またはフラッシュRAMなどのコンピュータ可読媒体を含んでよい。メモリはコンピュータ可読媒体の一例である。
【００６２】
コンピュータ可読媒体は、不揮発性および揮発性媒体の他に可動および非可動媒媒体を含み、任意の方法または技術によって情報記憶を実装することができる。情報は、コンピュータ可読命令、データ構造、およびプログラムまたは他のデータのモジュールであってもよい。コンピュータの記憶媒体は、例えば、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他の種類のRAM、ROM、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは他の光記憶装置、カセットテープ、磁気テープ/磁気ディスク記憶装置もしくは他の磁気記憶装置、または任意の他の非伝送媒体を含むが、これらに限定されず、計算装置によってアクセスされる情報を記憶するために使用可能である。この本文の定義によれば、コンピュータ可読媒体は、変調データ信号および搬送波などの、一時的媒体を含まない。
【００６３】
「含む」、「備える」という用語、またはそのバリエーションは、非排他的包含を網羅するように意図され、その結果、一連の要素を含む工程、方法、製品または装置は、その要素を含むだけでなく、明白に列記されていない他の要素も含み、または工程、方法、製品もしくは装置の固有の要素をさらに含むことがさらに留意されるべきである。いかなる更なる限定もない場合には、「...を含む」によって定義される要素は、その要素を含む工程、方法、製品または装置が他の同一の要素をさらに有することを排除しない。
【００６４】
本出願の実施形態が方法、システム、またはコンピュータプログラム製品として提供可能であることを当業者は理解するべきである。したがって、本出願は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアおよびハードウェアを組み合わせた実施形態として実装されてもよい。さらに、本出願は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクメモリ、CD-ROM、光メモリ等を含むがこれらに限定されない)に実装されたコンピュータプログラム製品の形態であってもよい。
【００６５】
本出願は、コンピュータ、例えば、プログラムモジュールによって実行されるコンピュータ実行可能命令の一般の文脈で記載されてよい。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するために使用されるルーチン、プログラム、オブジェクト、アセンブリ、データ構造等を含む。本出願は分散計算環境において実装されてもよく、分散計算環境では、通信ネットワークを通じて接続される遠隔処理装置を使用することによってタスクが実行される。分散計算環境では、プログラムモジュールは、記憶装置を含むローカルおよびリモートコンピュータ記憶媒体に設けられてよい。
【００６６】
本明細書における実施形態は累進的に記載され、実施形態の同一または同様の部分は互いを参照しつつ得られてよく、各実施形態は他の実施形態と異なる部分を強調している。特に、システム実施形態は方法実施形態と基本的に同様であるので、それは簡潔に記載されており、関連部分に関しては、方法実施形態における部分の説明が参照されてよい。
【００６７】
以上の説明は、単に本出願の実施形態であり、本出願を限定することは意図されていない。当業者にとって、本出願は様々な変形例およびバリエーションを有し得る。本出願の趣旨および原則から逸脱することなく行われるいかなる変形、均等な置換、改良等も全て本出願の特許請求の範囲の範囲内に納まるべきものである。
【００６８】
図7は、本開示の一実装例に係る、2Dコードを検証するための画像パターンを生成するためのコンピュータ実装方法700の一例を例示するフローチャートである。提示を明確にするために、後続の説明は全体的に、この説明におけるその他の図との関連で方法700を説明する。しかしながら、方法700が、例えば、任意のシステム、環境、ソフトウェアおよびハードウェア、または適宜、システム、環境、ソフトウェアおよびハードウェアの組合せによって行われ得ることが理解されるであろう。一部の実装例では、方法700の様々なステップが、並列に、組合せて、ループして、または任意の順序で実行可能である。
【００６９】
710で、2Dコードが、複数の黒画素および複数の白画素を識別するために解析される。例えば、図2Aが2Dコード例を図示する。白黒画素は、図2Aに図示される白黒正方形によって表され得る。710から、方法700は720に進む。
【００７０】
720で、2Dコードの複数の黒画素および複数の白画素が第1の複数の2値配列に変換され、ここでは複数の黒画素および複数の白画素は所定の規則に基づいて異なる2進数に対応する。例えば、第1の所定の規則は、黒画素を2進数「1」に変換すること、および白画素を2進数「0」に変換することとすることができる。第2の所定の規則は、黒画素を2進数「0」に変換すること、および白画素を2進数「1」に変換することとすることができる。一例として第1の所定の規則を使用して、図2Aに図示される2Dコードは以下の2値配列に変換可能である:
[1,0,1,0],
[1,0,0,1],
[0,0,1,0]、および
[0,1,0,0]。
【００７１】
一部の場合には、各2値配列は2Dコードにおける一行の画素に対応でき、2値配列における各2進数は、2Dコードにおける対応画素と一対一対応を有することができる。720から、方法700は730に進む。
【００７２】
730で、対象画像が、複数の黒画素および複数の白画素を識別するために解析される。対象画像は、文字、顔文字または他の定形などの、容易に認識可能である所定のパターンを含む画像とすることができる。一部の場合には、対象画像を解析することによって識別される画素の総数は、2Dコードにおける画素数と同じである。一部の場合には、対象画像を解析することによって識別される画素の総数は、2Dコードにおける画素数と異なり得る。対象画像における画素は、次いで2Dコードにおける画素数と一致するためにダウンコンバートまたはアップコンバート可能である。例えば、2Dコードが5×5画素から構成されるが、対象画像が25×25画素から構成される場合、対象画像は5×5画素から構成される同様のパターンにダウンコンバート可能である。730から、方法700は740に進む。
【００７３】
740で、対象画像の複数の黒画素および複数の白画素が所定の規則に基づいて第2の複数の2値配列に変換される。言い換えれば、所定の規則に基づいて、対象画像の複数の黒画素が2Dコードの複数の黒画素と同じ2進数に変換され、対象画像の複数の白画素が2Dコードの複数の白画素と同じ2進数に変換される。対象画像例200bとして図2Bに図示される画像を使用すると、画像は、4×4白黒画素の所定のパターンを有する。所定の規則が黒画素を2進数「1」に変換することおよび白画素を2進数「0」に変換することであるとすると、画像における画素は以下の2値配列に変換される:
[0,0,1,0],
[0,0,1,0],
[0,0,1,0]、および
[1,1,1,1].
【００７４】
対象画像から変換された2値配列は、2Dコードの真正を検証するために使用可能である認証画像を生成するために使用される。740から、方法700は750に進む。
【００７５】
750で、少なくとも第1の複数の2値配列の一部分および第2の複数の2値配列の一部分が比較される。例えば、図2Aに図示されるような2Dコード200aから変換された2値配列が、図2Bに図示される対象画像200bから変換された2値配列と比較可能である。比較はビットごととすることができる。すなわち、200aから変換された2値配列における各2進数が、200bから変換された2値配列における同じ位置の対応2進数と比較される。例えば、両2値配列を4×4行列と考えると、第1の行列における各要素が、同じ列および列番号を有する第2の行列における対応要素と比較される。
【００７６】
750で、第2の複数の2値配列の少なくとも一部分の対応2進数と異なる第1の複数の2値配列の少なくとも一部分の第1の複数の2進数が第2の複数の2値配列の少なくとも一部分の対応2進数と同じ2進数に変更され、変更された2進数は所定の規則に基づいて複数の黒画素および複数の白画素に変換される。2Dコードを認証する認証画像を生成するために、対象画像に対応する第2の2値配列と比較することによって、2Dコードに対応する第1の2値配列からデータ配列が導出可能である。第1の2値配列における2進数が第2の2値配列における対応2進数と異なれば、第1の2値配列における2進数は第2の2値配列における対応2進数と同じに変更される。一部の場合には、第1の2値配列を第2の2値配列と比較することによって、認証画像に対応するデータ配列が直接生成可能である。そのような場合、第1の2値配列における2進数が第2の2値配列における対応2進数と異なるとき、データ配列における対応位置を埋めるために第2の2値配列における2進数が採用される。750から、方法700は760に進む。
【００７７】
760で、第2の複数の2値配列の少なくとも一部分の対応2進数と同じである第1の複数の2値配列の少なくとも一部分の第2の複数の2進数が複数の透明画素に変換される。一部の場合には、第1の2値配列における2進数が第2の2値配列における対応2進数と同じであるとき、データ配列における対応位置は「ヌル」値で埋められ得、次いで透明画素に変換可能である。言い換えれば、2Dコードにおける画素が対象画像における対応画素と同色を有すれば、画素は、認証画像において透明画素に変換可能である。760から、方法700は770に進む。
【００７８】
770で、複数の黒画素、複数の白画素および複数の透明画素を使用して認証画像が形成される。複数の黒、白および透明画素によって形成される認証画像は、2Dコードと同数の画素を有することができる。認証画像における各画素は、2Dコードと一対一対応を有することができる。認証画像が2Dコード上に直接被覆または重複可能であることが理解可能である。2Dコードが改竄されていなければ、重複画像は対象画像(または2Dコードの画素と一致する、ダウンコンバートもしくはアップコンバートされた対象画像)である。そうでなければ、2Dコードは改竄または変更されている可能性がある。したがって、認証画像は、2Dコードを認証するために使用可能である。
【００７９】
2Dコードが電子形式であれば、認証画像は電子生成されて2Dコードに適用され、観察者に対して画像への重複を示すことができる。2Dコードが印刷形式であれば、認証画像の物理コピーがユーザに提供されて2Dコード上に直接被覆され、重複画像を現すことができる。対象画像が容易に認識可能なパターンを有するように選択されるので、ユーザは、認証画像を使用して対象画像を復元することによって、2Dコードが改竄されているかどうかを容易に識別することができる。認証プロセスはオンラインかオフラインかで行われ得る。770の後、工程700は終了する。
【００８０】
本明細書が多くの具体的な実装詳細を含むが、これらは、いかなる発明概念の範囲へもまたは特許請求され得るものの範囲へも限定としてではなく、むしろ特定の発明概念の特定の実装例に固有であり得る特徴の記述として解釈されるべきである。別々の実装例の文脈で本明細書に記載される或る特徴が、組合せて単一の実装例でも実装可能である。反対に、単一の実装例の文脈で記載される様々な特徴が、別々に複数の実装例でも、または任意の下位組合せでも実装可能である。さらに、前記した特徴が或る組合せで作用すると記載され、しかもそのように最初に特許請求され得るが、特許請求された組合せからの1つまたは複数の特徴が、一部の場合には、同組合せから削除可能であり、特許請求された組合せは、下位組合せまたは下位組合せの変形とされ得る。
【００８１】
本主題の特定の実装例が記載された。記載された実装例の他の実装例、変更および入替えは、当業者に明らかであるように以下の請求項の範囲内である。図面または請求項に特定の順序で動作が描かれるが、これは、望ましい結果を達成するために、そのような動作が図示される特定の順序でもしくは順番に行われること、または全ての例示された動作が行われる(一部の動作は任意選択と考えられ得る)ことを必要とすると理解されるべきでない。或る状況では、マルチタスキングまたは並列処理(またはマルチタスキングおよび並列処理の組合せ)が有利であり、適切と見なされれば行われ得る。
【００８２】
さらに、前記した実装例における様々なシステムモジュールおよび部品の分離または統合は、全ての実装例においてそのような分離または統合を必要とすると理解されるべきでなく、記載されたプログラムコンポーネントおよびシステムが一般に単一のソフトウェア製品に共に統合され得るまたは複数のソフトウェア製品に実装され得ることが理解されるべきである。
【００８３】
したがって、前記した実装例は本開示を限定または制約しない。他の変更、置換および変形も、本開示の趣旨および範囲から逸脱することなく可能である。
【００８４】
さらには、いかなる特許請求された実装例も、少なくともコンピュータ実装方法;コンピュータ実装方法を行うコンピュータ可読命令を記憶した非一時的コンピュータ可読媒体;およびコンピュータ実装方法または非一時的コンピュータ可読媒体に記憶された命令を行うように構成されるハードウェアプロセッサと相互動作可能に結合されるコンピュータメモリを備えるコンピュータシステムに適用可能であると考えられる。
【００８５】
本明細書に記載される主題および動作の実施形態は、デジタル電子回路網で、または本明細書に開示される構造およびそれらの構造等価物を含め、コンピュータソフトウェア、ファームウェアもしくはハードウェアで、またはそれらの1つもしくは複数の組合せで実装可能である。本明細書に記載される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはその動作を制御するために非一時的コンピュータ記憶媒体に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装可能である。代替的に、または加えて、プログラム命令は、データ処理装置による実行のために適切な受信器装置に伝送するための情報を符号化するために発生される人工発生伝搬信号、例えば機械発生電気、光または電磁信号上に符号化可能である。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの1つもしくは複数の組合せとすることができ、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号でないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令の供給源または供給先とすることができる。コンピュータ記憶媒体は、1つまたは複数の別々の物理部品または媒体(例えば、複数のコンパクトディスク(CD)、デジタルビデオディスク(DVD)、磁気ディスクまたは他の記憶デバイス)とすることもでき、またはそれらに含まれ得る。
【００８６】
本明細書に記載される動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶された、または他の供給源から受信されたデータに対して、データ処理装置によって行われる動作として実装可能である。
【００８７】
「リアルタイム(real-time, real time, realtime, real (fast) time (RFT))」、「近リアルタイム(near(ly) real-time (NRT))」、「準リアルタイム(quasi real-time)」という用語または同様の用語(当業者によって理解される)は、行動および応答が実質的に同時に発生していると個人が認めるように行動および応答が時間的に近いことを意味する。例えば、データにアクセスする個人の行動後のデータの表示までの応答に関する(または表示の開始に関する)時間差は、1ミリ秒(ms)未満、1秒(s)未満または5s未満であることができる。要求されたデータが即座に表示(または表示開始)される必要がない間、記載された計算システムの処理限界、および、例えば、データを収集、正確に測定、解析、処理、記憶または伝送するために必要とされる時間を考慮に入れて、データはいかなる意図的な遅延もなく表示(または表示開始)される。
【００８８】
「データ処理装置」、「コンピュータ」または「計算装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップもしくはその複数、または以上の組合せを含め、データを処理するための全ての種類の装置、デバイスおよび機械を包含する。装置は、専用論理回路網、例えば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含むことができる。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(例えば、LINUX(登録商標)、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、IOS、別のオペレーティングシステムもしくはオペレーティングシステムの組合せ)、クロスプラットフォーム実行時環境、仮想マシン、またはそれらの1つもしくは複数の組合せを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現できる。
【００８９】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプトまたはコードとしても知られている)は、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含め、任意の形式のプログラミング言語で書かれ得、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクトもしくはコンピューティング環境での使用に適する他のユニットとしてを含め、任意の形式に展開可能である。コンピュータプログラムは、ファイルシステムにおけるファイルに対応できるが、対応しなくてもよい。プログラムは、他のプログラムもしくはデータ(例えば、マークアップ言語文書に記憶される1つもしくは複数のスクリプト)を保持するファイルの一部分に、当該プログラムに専用の単一のファイルに、または複数の連係ファイル(例えば、1つもしくは複数のモジュール、サブプログラムもしくはコードの一部分を記憶するファイル)に記憶可能である。コンピュータプログラムは、展開されて1つのコンピュータ上で、または1つのサイトに設けられるもしくは複数のサイトにわたって分散されて通信ネットワークによって相互接続される複数のコンピュータ上で実行可能である。
【００９０】
コンピュータプログラムの実行に適するプロセッサは、例として、汎用および専用の両マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受けることになる。コンピュータの必須要素は、命令に従って作用を行うためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはさらに、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスクまたは光ディスクを含む、または作動的に結合されて、それからデータを受けるもしくはそれにデータを転送するもしくは両方行うことになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、いくつか挙げると、移動デバイス、携帯情報端末(PDA)、ゲーム機、全地球測位システム(GPS)受信器、またはポータブル記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込み可能である。コンピュータプログラム命令およびデータを記憶するのに適するデバイスとしては、例として、半導体メモリデバイス、例えば、消去可能プログラマブルリードオンリメモリ(EPRO)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)およびフラッシュメモリデバイス;磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD-ROMおよびDVD-ROMディスクを含め、全ての形態の不揮発性メモリ媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路網によって補足、またはそれに組み込み可能である。
【００９１】
移動デバイスとしては、携帯電話(例えば、スマートフォン)、タブレット、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラス、スマートファブリック、スマートジュエリ)、人体内の埋込みデバイス(例えば、バイオセンサ、スマートペースメーカ、人工内耳)、または他の種類の移動デバイスを含むことができる。移動デバイスは、様々な通信ネットワーク(下記される)に無線で(例えば、無線周波数(RF)信号を使用して)通信できる。移動デバイスは、移動デバイスの現在の環境の特性を測定するためのセンサを含むことができる。センサとしては、カメラ、マイクロホン、近接センサ、GPSセンサ、運動センサ、加速度計、周辺光センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(例えば、Wi-Fiおよびセル無線)、温度センサ、または他の種類のセンサを含むことができる。例えば、カメラとしては、可動または固定レンズ、フラッシュ、イメージセンサおよび画像プロセッサを持つ前方または後方カメラを含むことができる。カメラは、顔および/または虹彩認識のための詳細を取得することが可能なメガピクセルカメラであることができる。カメラは、データプロセッサおよびメモリに記憶されるまたは遠隔でアクセスされる認証情報と共に顔認識システムを形成できる。顔認識システムまたは1つもしくは複数のセンサ(例えば、マイクロホン、運動センサ、加速度計、GPSセンサもしくはRFセンサ)はユーザ認証のために使用可能である。
【００９２】
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ディスプレイデバイスおよび入力デバイス、例えば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、ならびにユーザがコンピュータに入力を提供できるタッチスクリーン、キーボード、およびポインティングデバイス、例えば、マウスまたはトラックボールを有するコンピュータに実装可能である。ユーザとの対話を提供するために他の種類のデバイスも使用可能であり、例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであることができ、ユーザからの入力は、音響、音声または触覚入力を含め、任意の形態で受け取り可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、それから文書を受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信される要求に応じてウェブブラウザにウェブページを送信することによって、ユーザと対話できる。
【００９３】
本明細書に記載される主題の実施形態は、有線または無線デジタルデータ通信の任意の形態または媒体(またはその組合せ)、例えば、通信ネットワークによって相互接続されるコンピューティングシステムを使用して実装可能である。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネットの全てもしくは一部分、別の通信ネットワーク、または通信ネットワークの組合せを含む。情報は、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WIMAX)、ロングタームエボリューション(LTE)、符号分割多元接続(CDMA(登録商標))、5Gプロトコル、IEEE802.11a/b/g/nもしくは802.20プロトコル(もしくは802.11xおよび802.20の組合せもしくは本開示に合わせた他のプロトコル)、インターネットプロトコル(IP)、フレームリレー、非同期転送モード(ATM)、イーサネット(登録商標)、または他のプロトコルもしくはプロトコルの組合せを含め、様々なプロトコルおよび標準に従って通信ネットワーク上で伝送可能である。通信ネットワークは、接続された計算装置間で音声、ビデオ、生体もしくは認証データまたは他の情報を伝送できる。
【００９４】
本明細書に記載される主題の実施形態は、通信ネットワークによって相互接続されるクライアントおよびサーバを使用して実装可能である。クライアントおよびサーバは、一般に互いから離れており、典型的に通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で動いており、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
クライアント、例えば、移動デバイスは、サーバと、またはサーバを通じてトランザクション自体を実施、例えば、購入、売却、支払、譲渡、送付もしくは貸付トランザクションを行う、またはそれを許可できる。
【００９５】
本明細書が多くの具体的な実装詳細を含むが、これらは、本開示および特許請求されるものの範囲への限定として解釈されるべきでない。別々の実装例の文脈で本明細書に記載される或る特徴が、組合せて単一の実装例でも実装可能である。反対に、単一の実装例の文脈で記載される様々な特徴が、別々に複数の実装例でも、または任意の適切な下位組合せでも実装可能である。動作が特定の順序で記載および特許請求されるが、これは、そのような動作が図示される特定の順序でもしくは順番に行われること、または全ての例示された動作が行われる(一部の動作は任意選択と考えられ得る)ことを必要とすると理解されるべきでない。適宜、マルチタスキングまたは並列処理(またはマルチタスキングおよび並列処理の組合せ)が行われ得る。
【符号の説明】
【００９６】
510  解析ユニット
520  生成ユニット
【図１】
0006746007.tif 000002
【図２Ａ】
0006746007.tif 000003
【図２Ｂ】
0006746007.tif 000004
【図２Ｃ】
0006746007.tif 000005
【図３】
0006746007.tif 000006
【図４Ａ】
0006746007.tif 000007
【図４Ｂ】
0006746007.tif 000008
【図４Ｃ】
0006746007.tif 000009
【図５】
0006746007.tif 000010
【図６】
0006746007.tif 000011
【図７】
0006746007.tif 000012