(57)【要約】  背景画像を取得する取得部と、前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、前記画像処理部によって画像処理が行われた前記背景画像に、コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成する生成部と、を有する情報処理装置。
2018061232.tif 000002
【特許請求の範囲】
【請求項１】
背景画像を取得する取得部と、
前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、
前記画像処理部によって画像処理が行われた前記背景画像に、コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成する生成部と、
を有する情報処理装置。
【請求項２】
前記画像処理部は、前記取得部によって取得された前記背景画像に含まれる、空間周波数が所定値以上の成分を除去する
請求項１記載の情報処理装置。
【請求項３】
前記画像処理部は、前記取得部によって取得された前記背景画像における画素値の表現幅を狭くする
請求項１記載の情報処理装置。
【請求項４】
前記生成部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値を、前記画素値を中心として所定の方向に変動させることで、前記コード画像を生成する
請求項１記載の情報処理装置。
【請求項５】
前記生成部は、前記画素値を中心として色相上で相補的な二色に前記画素値を変動させることで、前記コード画像を生成する
請求項４記載の情報処理装置。
【請求項６】
前記生成部は、前記画素値に対する明度方向における変動幅を、前記画素値に対する色相方向における変動幅および彩度方向における変動幅よりも小さくする
請求項４記載の情報処理装置。
【請求項７】
前記コード画像を表示する表示部を更に有し、
前記表示部は、ユーザによって前記表示部に対する操作が行われていない場合、前記背景画像を表示し、前記ユーザによって前記表示部に対する操作が行われた場合、前記背景画像に代えて前記コード画像を表示する
請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記表示部は、前記コード画像が表示されてから所定時間以上、前記ユーザによって前記表示部に対する操作が行われない場合、前記コード画像に代えて前記背景画像を表示する
請求項７記載の情報処理装置。
【請求項９】
前記生成部は、前記所定の方向を示す情報を含むインデックスを、前記背景画像に可視状態で付加する
請求項４記載の情報処理装置。
【請求項１０】
前記コード画像を読み取る読取部と、
前記読取部によって読み取られた前記コード画像から前記コード情報を抽出する抽出部と、
を更に有する請求項１乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
前記読取部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値が変動された複数のフレーム画像を含むコード画像を読み取り、
前記抽出部は、前記読取部によって読み取られた前記複数のフレーム画像の差分に基づき、前記コード情報を抽出する
請求項１０記載の情報処理装置。
【請求項１２】
前記読取部は、複数のフレームセットが含まれる前記コード画像を読み取り、
前記複数のフレームセットの各々は、前記複数のフレーム画像を含み、
前記抽出部は、前記フレームセットごとに、前記複数のフレーム画像の差分に基づいて前記コード情報を抽出する、
請求項１１記載の情報処理装置。
【請求項１３】
前記抽出部は、前記背景画像から特徴点を抽出し、抽出した特徴点に基づいて前記読取部によって読み取られた前記コード画像の歪みを補正する
請求項１０乃至１２のいずれか一項に記載の情報処理装置。
【請求項１４】
前記コード画像には、歪み補正のために用いられるマーカと、情報を保持するデータドットとが含まれる
請求項１乃至１３のいずれか一項に記載の情報処理装置。
【請求項１５】
前記生成部は、前記マーカおよび前記データドットの両方を、前記背景画像に不可視状態で埋め込む
請求項１４記載の情報処理装置。
【請求項１６】
前記生成部は、前記マーカを前記背景画像に可視状態で埋め込むとともに、前記データドットを前記背景画像に不可視状態で埋め込む
請求項１４記載の情報処理装置。
【請求項１７】
前記生成部は、前記コード情報が前記背景画像への埋め込みに適さない場合、前記データドットによって保持される情報の同一性を維持した状態で、前記データドットの配置を変更する
請求項１４記載の情報処理装置。
【請求項１８】
請求項１乃至１７のいずれか一項に記載の前記コード画像を、前記情報処理装置によって表示する表示方法。
【請求項１９】
請求項１乃至１７のいずれか一項に記載の前記コード画像を、前記情報処理装置によって読み取る読取方法。
【請求項２０】
請求項１乃至１７のいずれか一項に記載の前記コード画像を、前記情報処理装置に読み取らせる、または表示させるプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示方法、読取方法、およびコンピュータ読み取り可能な非一時的記憶媒体に関する。
【背景技術】
【０００２】
近年、バーコードよりも多くの情報を保持可能な２次元コードが知られている。２次元コードは白黒で形成されることが多いが、より多くの情報を保持するために、データ領域が赤、緑、青等のカラーで形成された２次元コードも用いられている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２３４３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像に２次元コードが埋め込まれると、２次元コードが目立ってしまい画像のデザイン性が損なわれる。例えば、メッセンジャーソフトウェアのアカウント情報や、ソーシャルネットワーキングサービスのアカウント情報を交換するために、端末装置に２次元コードが埋め込まれた画像を表示すると、２次元コードが画像のデザインに影響を及ぼしてしまう。【０００５】
そこで、本発明は、２次元コードを背景画像に埋め込む際に、２次元コードが背景画像のデザインに及ぼす影響を低減することができる情報処理装置、表示方法、読取方法、およびコンピュータ読み取り可能な非一時的記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
背景画像を取得する取得部と、前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、前記画像処理部によって画像処理が行われた前記背景画像に、コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成する生成部と、を有する情報処理装置。【０００７】
本発明の更なる特徴及び態様は、添付図面を参照し、以下に述べる実施形態の詳細な説明から明らかとなるであろう。
【発明の効果】
【０００８】
本発明によれば、２次元コードを背景画像に埋め込む際に、２次元コードが背景画像のデザインに及ぼす影響を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る情報処理システムの全体構成を示す図。
【図２】第１の実施形態に係るデスクトップコンピュータ１０、携帯端末装置２０、およびサーバ３０を示すブロック図。
【図３】第１の実施形態に係る不可視コードが埋め込まれたコード画像６０の一例を示す図。
【図４】第１の実施形態に係るコード画像６０の表示処理を示すフローチャート。
【図５】第１の実施形態に係るコード画像生成処理を示すフローチャート。
【図６】第１の実施形態に係るコード画像６０の読取処理を示すフローチャート。
【図７】第２の実施形態に係る背景画像４０に対して行われる画像処理を示す図。
【図８】第３の実施形態に係る携帯端末装置２０のディスプレイＤ２に表示される画像の一例を示す図。
【図９】第３の実施形態に係る携帯端末装置２０のディスプレイＤ２に表示される画像の一例を示す図。
【図１０】第３の実施形態に係る携帯端末装置２０のディスプレイＤ２に表示される画像の一例を示す図。
【図１１】第３の実施形態に係る表示画像の切替処理を示すフローチャート。
【図１２】第４の実施形態に係る色空間の一例を示す図。
【図１３】第４の実施形態に係る色空間の一例を示す図。
【図１４】第４の実施形態に係る色空間の一例を示す図。
【図１５】第４の実施形態に係るコード画像６０の生成処理を示すフローチャート。
【図１６】第４の実施形態に係るコード画像６０の読取処理を示すフローチャート。
【図１７】第５の実施形態に係るフレームセットの切替処理を示す図。
【図１８】第５の実施形態に係るコード画像６０の生成処理を示すフローチャート。
【図１９】第５の実施形態に係るコード画像６０の読取処理を示すフローチャート。
【図２０】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２１】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２２】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２３】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２４】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２５】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２６】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２７】他の実施形態に係る位置検出用マーカの一例を示す図。
【図２８】他の実施形態に係るマーカの埋込処理の一例を示す図。
【図２９】他の実施形態に係るマーカの埋込処理の一例を示す図。
【図３０】他の実施形態に係るマーカの埋込処理の一例を示す図。
【図３１】他の実施形態に係る水平方向の枠１０４の一例を示す図。
【図３２】他の実施形態に係る垂直方向の枠１０５の一例を示す図。
【図３３】他の実施形態に係る特徴点１０６の一例を示す図。
【図３４】他の実施形態に係るデータドットの形状の一例を示す図。
【図３５】他の実施形態に係るデータドットの形状の一例を示す図。
【図３６】他の実施形態に係るデータドットの形状の一例を示す図。
【図３７】他の実施形態に係るデータドットの形状の一例を示す図。
【図３８】他の実施形態に係るデータドットの形状の一例を示す図。
【図３９】他の実施形態に係るデータドットの形状の一例を示す図。
【図４０】他の実施形態に係るデータドットの形状の一例を示す図。
【図４１】他の実施形態に係るデータドットの形状の一例を示す図。
【発明を実施するための形態】
【００１０】
以下、実施形態の情報処理装置、表示方法、読取方法、およびコンピュータ読み取り可能な非一時的記憶媒体を、図面を参照して説明する。
【００１１】
（第１の実施形態）
＜情報処理システムの全体構成＞
図１は、第１の実施形態に係る情報処理システムの全体構成を示す図である。情報処理システムは、デスクトップコンピュータ１０と、複数の携帯端末装置２０ａおよび２０ｂと、サーバ３０とを備える。デスクトップコンピュータ１０、複数の携帯端末装置２０ａおよび２０ｂ、およびサーバ３０は、ネットワークＮを介して互いに通信可能に接続されている。
【００１２】
ネットワークＮは、例えば、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、プロバイダ装置、無線基地局、専用回線などのうちの一部または全部を含む。携帯端末装置２０ａおよび２０ｂは、例えば、タブレットコンピュータまたはスマートフォンである。携帯端末装置２０ａおよび２０ｂは、ワイヤレス通信Ｗ行うことで、ネットワークＮを介してデスクトップコンピュータ１０およびサーバ３０と通信する。
【００１３】
デスクトップコンピュータ１０には、画像を表示するディスプレイＤ１が接続されている。詳細は後述するが、携帯端末装置２０ａに設けられたカメラは、携帯端末装置２０ｂのディスプレイＤ２に表示された２次元コードを撮影する。携帯端末装置２０ａおよび２０ｂは、同じ構成を備えている。以下、携帯端末装置２０ａおよび２０ｂを区別しない場合は、単に携帯端末装置２０と称する。
【００１４】
便宜上、情報を要求するコンピュータをクライアント、情報の要求に応じて情報を送信するコンピュータをサーバと称する。本実施形態においては、デスクトップコンピュータ１０はサーバまたはクライアントとして機能し、携帯端末装置２０ａおよび２０ｂは主にクライアントとして機能し、サーバ３０は主にサーバとして機能する。
【００１５】
図２は、第１の実施形態に係るデスクトップコンピュータ１０、携帯端末装置２０、およびサーバ３０を示すブロック図である。デスクトップコンピュータ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、メモリ１２と、バス１３と、ストレージ１４とを備える。
【００１６】
ＣＰＵ１１およびメモリ１２は、互いにバス１３で接続されている。ＣＰＵ１１は、プログラムに従ってバス１３を介してメモリ１２に格納された情報にアクセスする。メモリ１２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であるが、これに限られない。例えば、メモリ１２は、フラッシュメモリ等の他の種類のメモリであってもよい。メモリ１２は、ＣＰＵ１１によって処理される情報を一時的に格納する。
【００１７】
ＣＰＵ１１は、ストレージ１４に対して各種情報の読み出しおよび書き込みを行う。ストレージ１４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）であるが、これに限られない。例えば、ストレージ１４は、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）や外部のストレージサーバなど、デスクトップコンピュータ１０がアクセス可能な外部装置であってもよい。
【００１８】
デスクトップコンピュータ１０は、メモリ１２に代えてストレージ１４に情報を記憶してもよい。また、デスクトップコンピュータ１０のアーキテクチャーの変化に応じて、メモリおよびストレージ等の代替物が用いられてもよい。
【００１９】
携帯端末装置２０は、ＣＰＵ２１と、メモリ２２と、バス２３と、カメラ２４と、ディスプレイＤ２（図１参照）とを備える。ＣＰＵ２１は、プログラムに従ってバス２３を介してメモリ２２に格納された情報にアクセスする。メモリ２２はＲＡＭであるが、これに限られない。例えば、メモリ２２は、フラッシュメモリ等の他の種類のメモリであってもよい。メモリ２２は、ＣＰＵ１１によって処理される情報を一時的に格納する。
【００２０】
カメラ２４は、他の携帯端末装置のディスプレイに表示される画像を読み取り（スキャン）、読み取った画像を、バス２３を介してＣＰＵ２１に出力する。詳細は後述するが、ＣＰＵ２１は、カメラ２４から出力された画像に対して画像処理を行う。
【００２１】
サーバ３０は、ＣＰＵ３１と、メモリ３２と、バス３３と、ストレージ３４とを備える。ＣＰＵ３１は、プログラムに従ってバス３３を介してメモリ３２に格納された情報にアクセスする。メモリ３２はＲＡＭであるが、これに限られない。例えば、メモリ３２は、フラッシュメモリ等の他の種類のメモリであってもよい。メモリ３２は、ＣＰＵ３１によって処理される情報を一時的に格納する。
【００２２】
ＣＰＵ３１は、ストレージ３４に対して各種情報の読み出しおよび書き込みを行う。ストレージ３４は、例えば、ＨＤＤであるが、これに限られない。例えば、ストレージ３４は、ＮＡＳや外部のストレージサーバなど、サーバ３０がアクセス可能な外部装置であってもよい。
【００２３】
なお、デスクトップコンピュータ１０およびサーバ３０は、携帯端末装置２０と同様に、画像を撮影するカメラが接続されてもよい。また、サーバ３０は、デスクトップコンピュータ１０および携帯端末装置２０と同様に、ディスプレイを備えてもよい。
【００２４】
＜不可視コード＞
一般に、０．０３［秒］未満の画像の点滅は、肉眼では認識され難い。言い換えると、３３［Ｈｚ］を超える周波数の画像の点滅は、肉眼では認識され難い。３３［Ｈｚ］を超える周波数で画像が点滅する場合、明暗の差が大きな目立ちやすい画像が点滅する場合であっても、肉眼で認識され難い。このため、明暗の差が小さければ、点滅の周波数が３３［Ｈｚ］よりも少し低くても、画像の点滅を肉眼で認識され難い状態を作り出すことができる。このように、肉眼で認識され難い状態を、本実施形態において「不可視」と称する。
【００２５】
図３は、第１の実施形態に係る不可視コードが埋め込まれたコード画像６０の一例を示す図である。以下、図３を参照して、コード画像６０の生成方法について説明する。コード画像６０は、第１のフレーム画像６０ａと第２のフレーム画像６０ｂが交互に切り替わる画像である。コード画像６０は、背景画像４０にコード情報５０を不可視状態で埋め込むことで生成される。以下、不可視状態で背景画像４０に埋め込まれたコード情報５０を、「不可視コード」と称する。
【００２６】
背景画像４０は、ユーザによって指定された任意の画像であるが、これに限られない。例えば、背景画像４０は、アプリケーションソフトの操作画面として表示される画像であってもよい。コード情報５０は、ＱＲコード（登録商標）であるが、これに限られない。例えば、コード情報５０は、ＤａｔａＭａｔｒｉｘ（登録商標）やＶｅｒｉＣｏｄｅ（登録商標）などの他の２次元コードであってもよいし、バーコード等の一次元コードであってもよい。コード情報５０は、ユーザによって指定されたデータ（例えば、メッセンジャーソフトウェアのアカウント情報や、ソーシャルネットワーキングサービスのアカウント情報）がコード化された情報である。
【００２７】
コード情報５０には、位置検出用マーカ５１と、姿勢補正用マーカ５２と、データドット５３とが含まれる。位置検出用マーカ５１は、コード情報５０の位置を検出するために用いられるマーカであり、コード情報５０の３つの角に配置される。姿勢補正用マーカ５２は、読取部としてのカメラ２４によって読み取られたコード情報５０の姿勢を補正するために用いられるマーカである。データドット５３は、アカウント情報等のユーザによって指定された情報を保持するドットである。
【００２８】
カメラ２４は携帯端末装置２０に設けられているため、カメラ２４によって撮影された画像には手ぶれが発生する可能性がある。このため、データドット５３には、リードソロモン符号等の誤り訂正符号が含まれる。ロバスト性を確保するため、１５％以上の誤り訂正率を有する誤り訂正符号を採用する。なお、３０％以上の誤り訂正率を有する誤り訂正符号を採用することが好ましい。
【００２９】
携帯端末装置２０のＣＰＵ２１は、背景画像４０とコード情報５０とを取得する。ＣＰＵ２１は、取得した背景画像４０およびコード情報５０に基づき、第１のフレーム画像６０ａおよび第２のフレーム画像６０ｂを生成する。例えば、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素の明度を低くすることで、第１のフレーム画像６０ａを生成する。また、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素の明度を高くすることで、第２のフレーム画像６０ｂを生成する。ＣＰＵ２１は、第１のフレーム画像６０ａおよび第２のフレーム画像６０ｂが０．０３［秒］未満の間隔で交互に切り替わる画像を、コード画像６０として生成する。
【００３０】
前述したように、０．０３［秒］未満の画像の点滅は、肉眼で認識され難い。このため、第１のフレーム画像６０ａおよび第２のフレーム画像６０ｂが０．０３［秒］未満の間隔で交互に切り替わると、第１のフレーム画像６０ａおよび第２のフレーム画像６０ｂの明度の平均がコード画像６０の明度として肉眼によって認識される。このため、コード情報５０が背景画像４０に埋め込まれても、背景画像４０のデザイン性が損なわれることが低減される。
【００３１】
単純に背景画像４０にコード情報５０が重畳されると、コード情報５０が目立ってしまい画像のデザイン性が損なわれる。このため、ＣＰＵ２１は、第１のフレーム画像６０ａと第２のフレーム画像６０ｂとを０．０３［秒］未満の間隔で交互に切り替える。これによって、コード情報５０が肉眼では不可視な状態となる。言い換えると、第１のフレーム画像６０ａと第２のフレーム画像６０ｂとが交互に表示されているにも関わらず、肉眼では背景画像４０とコード画像６０とを区別することができないこととなる。
【００３２】
＜コード画像の表示処理＞
図４は、第１の実施形態に係るコード画像６０の表示処理を示すフローチャートである。図４を用いて、携帯端末装置２０によって生成されるコード画像６０の表示処理を詳細に説明する。
【００３３】
携帯端末装置２０のＣＰＵ２１は、ユーザによって指定されたデータを取得する（Ｓ１０１）。例えば、ユーザによって指定されたデータは、メッセンジャーソフトウェアのアカウント情報、ソーシャルネットワーキングサービスのアカウント情報、サーバのＵＲＬ、自身の連絡先データ等である。ＣＰＵ２１は、取得したデータに基づきコード情報５０を生成する（Ｓ１０２）。生成されるコードは、ユーザに提示してもしなくてもよい。
【００３４】
次に、取得部としてのＣＰＵ２１は、背景画像４０を取得する。例えば、ＣＰＵ２１は、メモリ２２またはカメラ２４から背景画像４０を取得する（Ｓ１０３）。
【００３５】
背景画像４０に高周波成分が多く含まれると、不可視コードの抽出が困難になる。このため、ＣＰＵ２１は、背景画像４０に対してフーリエ変換を行うことにより、背景画像４０の周波数特性を算出する（Ｓ１０４）。その後、ＣＰＵ２１は、算出した背景画像４０の空間周波数が所定値以上か否かを判定する（Ｓ１０５）。ＣＰＵ２１は、算出した背景画像４０の空間周波数が所定値以上でないと判定した場合、後述するＳ１０７に処理を進める。
【００３６】
一方、ＣＰＵ２１は、算出した背景画像４０の周波数が所定値以上であると判定した場合、背景画像４０に含まれる空間周波数が所定値以上の成分を除去する（Ｓ１０６）。なお、ＣＰＵ２１は、高周波成分が除去された背景画像４０と、高周波成分が除去される前の背景画像４０の両方を、メモリ２２に保持してもよい。
【００３７】
例えば、ＣＰＵ２１は、背景画像４０に対してフィルタ処理を行うことによって、背景画像４０に含まれる空間周波数が所定値以上の成分を除去する。具体的に、ＣＰＵ２１は、以下の式（１）に基づいて、背景画像４０の座標（ｉ，ｊ）に対してフィルタ処理を行う。ここで、Ｘｉ，ｊはフィルタ処理前の画素値を示し、Ｙｉ，ｊはフィルタ処理後の画素値を示す。
【００３８】
【数１】
2018061232.tif 000003
【００３９】
背景画像４０に空間周波数が高い成分が含まれていると、背景画像４０の撮影時に手ぶれの影響を受けやすい。このため、背景画像４０がぶれてしまうと、不可視コードを抽出するのが困難となる。このため、ＣＰＵ２１は、背景画像４０に対してフィルタ処理を行うことにより、空間周波数が所定値以上の成分が除去する。これによって、手ぶれの影響を低減することができる。
【００４０】
その後、ＣＰＵ２１は、コード情報５０と背景画像４０とを用いて、後述するコード画像生成処理を行う（Ｓ１０７）。コード画像生成処理において、生成部としてのＣＰＵ２１は、背景画像４０にコード情報５０を不可視状態で埋め込むことで、コード画像６０を生成する。詳細は後述するが、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素値を変動させることで、背景画像４０にコード情報５０を不可視状態で埋め込む。ＣＰＵ２１は、生成したコード画像６０を表示部としてのディスプレイＤ２に表示し（Ｓ１０８）、本フローチャートによる処理を終了する。
【００４１】
図５は、第１の実施形態に係るコード画像生成処理を示すフローチャートである。図５に示されるフローチャートは、図４のＳ１０７の処理を詳細に示す。
【００４２】
まず、ＣＰＵ２１は、背景画像４０およびコード情報５０を解析する（Ｓ２０１）。例えば、ＣＰＵ２１は、コード情報５０が配置される位置の背景画像４０の色データを取得するとともに、取得した色データのＲＧＢ値を取得する。ＣＰＵ２１は、取得したＲＧＢ値に基づき、コード情報５０が背景画像４０への埋め込みに適するか否かを判定する。例えば、ＣＰＵ２１は、コード情報５０が配置される位置の背景画像４０の色データのうち、過半数がコード情報５０を埋め込むのに適さない場合、コード情報５０が背景画像４０への埋め込みに適さないと判定する。
【００４３】
コード情報５０を埋め込むのに適さない色データとは、色を変動させる余裕がない画素値を意味する。具体的には、画素値を８ビットＲＧＢで表現した場合、（２５５，２５５，２５５）や（０，０，０）等が、コード情報５０を埋め込むのに適さない色データに該当する。なお、画素値の変動方向として彩度方向を設定した場合には、彩度が限界値である画素値も、コード情報５０を埋め込むのに適さない色データに該当する。
【００４４】
画素値が表現範囲の限界値近傍である場合、画素値を変動させるための変動幅を十分に確保できない。このため、画素値を８ビットＲＧＢ（２５６諧調）で表現した場合、各ＲＧＢ値と限界値（０または２５５）との差の総和が１０程度確保できれば、コード情報５０を背景画像４０に好適に埋め込むことができる。
【００４５】
ＣＰＵ２１は、コード情報５０が背景画像４０への埋め込みに適さないと判定した場合、背景画像４０を考慮してコード情報５０を再生成する（Ｓ２０２）。例えば、ＣＰＵ２１は、コード情報５０の誤り訂正符号の余裕ビットを利用して、データドット５３によって保持される情報の同一性を維持した状態で、データドット５３の配置を変更する。これによって、ＣＰＵ２１は、コード情報５０を再生成する。ＣＰＵ２１は、コード情報５０を背景画像４０に好適に埋め込むことができるまで、コード画像６０の生成を繰り返す。
【００４６】
次に、ＣＰＵ２１は、コード情報５０の画素値の変動方向および変動幅を決定する（Ｓ２０３）。本実施形態においては、ＣＰＵ２１は、コード情報５０の画素値を中心として色相上で相補的な二色に画素値を変動させる。
【００４７】
ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画像値を取得する（Ｓ２０４）。ＣＰＵ２１は、取得した画像値に対して、Ｓ２０３において決定された条件で画像処理を行う（Ｓ２０５）。
【００４８】
例えば、ＣＰＵ２１は、Ｓ２０４において取得された画素値（Ｒ，Ｇ，Ｂ）を、ＨＳＶモデルにおける画素値（Ｈ，Ｓ，Ｖ）に変換する。ここで、Ｈ（Ｈｕｅ）は色相を示し、Ｓ（Ｓａｔｕｒａｔｉｏｎ  Ｃｈｒｏｍａ）は彩度を示し、Ｖ（Ｖａｌｕｅ  Ｌｉｇｈｔｎｅｓｓ  Ｂｒｉｇｈｔｎｅｓｓ）は明度を示す。なお、ＣＰＵ２１は、以下の式（２）〜式（４）に基づいて、画素値（Ｒ，Ｇ，Ｂ）を画素値（Ｈ，Ｓ，Ｖ）に変換する。ここで、ＭＡＸはＲＧＢのうちの最大の値を示し、ＭＩＮはＲＧＢのうちの最小の値を示す。
【００４９】
【数２】
2018061232.tif 000004
【００５０】
【数３】
2018061232.tif 000005
【００５１】
【数４】
2018061232.tif 000006
【００５２】
ＣＰＵ２１は、変換した画素値（Ｈ，Ｓ，Ｖ）に対し、彩度方向の画素値から５が減算された色データＡと、彩度方向の画素値に５が加算された色データＢとを生成する。すなわち、色データＡは（Ｈ，Ｓ−５，Ｖ）であり、色データＢは（Ｈ，Ｓ＋５，Ｖ）である。なお、本実施形態においては画素値の変動幅を５としたが、これに限られない。
【００５３】
ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素値を変動させることによって、第１のフレーム画像と第２のフレーム画像とを生成する。ＣＰＵ２１は、生成した第１のフレーム画像と第２のフレーム画像とを０．０３［秒］未満の間隔で交互に切り替えることにより、不可視コードが埋め込まれたコード画像６０（動画）を生成する（Ｓ２０６）。言い換えると、ＣＰＵ２１は、生成した第１のフレーム画像と第２のフレーム画像とを３０［Ｈｚ］より高い周波数で交互に切り替えることにより、不可視コードが埋め込まれたコード画像６０（動画）を生成する。
【００５４】
その後、ＣＰＵ２１は、前述の図４のＳ１０８に処理を進める。ＣＰＵ２１は、生成した不可視コードが埋め込まれたコード画像６０（動画）をディスプレイＤ２に表示する。これによって、コード情報５０を不可視状態で背景画像４０に埋め込むことができる。
【００５５】
以上説明したように、ＣＰＵ２１は、フィルタ処理が行われた背景画像４０に、コード情報５０が不可視状態で埋め込まれたコード画像６０を生成する。具体的に、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素値を、この画素値を中心として所定の方向に変動させることで、コード画像６０を生成する。これによって、スクリーンショットのような静止画をキャプチャーする方法を用いて、コード画像６０を複製することを防止することができる。
【００５６】
なお、本実施形態においては、ＲＧＢの画素値や、ＨＳＶモデルの画素値を用いることとしたが、これに限られない。例えば、ＨＳＬ色空間の画素値や、Ｌ＊ａ＊ｂ＊（ＪＩＳ  Ｚ  ８７３０）の画素値を用いてもよい。
【００５７】
＜コード画像の読取処理＞
図６は、第１の実施形態に係るコード画像６０の読取処理を示すフローチャートである。図６を用いて、携帯端末装置２０によって生成されるコード画像６０の読取処理を詳細に説明する。
【００５８】
まず、携帯端末装置２０のカメラ２４は、他の携帯端末装置のディスプレイＤ２に表示されたコード画像６０を撮影することで、コード画像６０を取得する（Ｓ３０１）。取得されたコード画像６０には、コード情報５０と重なる位置の背景画像４０の画素値が変動された複数のフレーム画像が含まれる。
【００５９】
ＣＰＵ２１は、取得したコード画像６０に含まれる複数のフレーム画像の中から、シャープネスが高いフレーム画像を抽出する（Ｓ３０２）。例えば、ＣＰＵ２１は、複数のフレーム画像の各々に対してフーリエ変換を行うことによって空間周波数を算出し、算出した空間周波数が最も高いフレーム画像を抽出する。
【００６０】
ＣＰＵ２１は、抽出したフレーム画像から位置検出用マーカ５１および姿勢補正用マーカ５２を検出する（Ｓ３０３）。次に、ＣＰＵ２１は、検出した位置検出用マーカ５１および姿勢補正用マーカ５２を用いて、複数のフレーム画像を正規化する。具体的には、ＣＰＵ２１は、位置検出用マーカ５１および姿勢補正用マーカ５２を用いて、複数のフレーム画像に対して射影変換（ホモグラフィー変換）を行う（Ｓ３０４）。
【００６１】
もし、コード画像６０が表示されるディスプレイＤ２と正対するようにカメラ２４を配置しなければ、正方形の２次元コードが歪んで撮像されてしまう。このため、ＣＰＵ２１は、複数のフレーム画像に対してホモグラフィー変換等の射影変換を行う。これによって、ヨー、ピッチ、ロール、軸ずれ等に起因する複数のフレーム画像の歪みが補正される。
【００６２】
ＣＰＵ２１は、以下の式（５）に基づいてホモグラフィー変換を行う。ここで、（ｘ１、ｙ１）はホモグラフィー変換前の座標を示し、（ｘ２、ｙ２）はホモグラフィー変換後の座標を示す。ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、およびｉは、変換係数を示す。
【００６３】
【数５】
2018061232.tif 000007
【００６４】
次に、抽出部としてのＣＰＵ２１は、歪みが補正された複数のフレーム画像の画素値の差分を算出し、算出した差分に基づいて不可視コード（コード情報５０）を抽出する（Ｓ３０５）。その後、ＣＰＵ２１は、抽出した不可視コードをデコードし（Ｓ３０６）、本フローチャートによる処理を終了する。
【００６５】
以上説明したように、携帯端末装置２０は、コード画像６０を読み取るカメラ２４と、カメラ２４によって読み取られたコード画像６０からコード情報５０を抽出するＣＰＵ２１とを有する。具体的に、カメラ２４は、コード情報５０と重なる位置の背景画像４０の画素値が変動された複数のフレーム画像を含むコード画像を読み取る。ＣＰＵ２１は、カメラ２４によって読み取られた複数のフレーム画像の差分に基づき、コード情報５０（不可視コード）を抽出する。
【００６６】
これによって、手ぶれが発生しやすい携帯端末装置２０を用いた場合であっても、不可視コードの表示の精度および読み取りの精度を向上することができる。また、手ぶれによる読み取りエラーを低減できるため、不可視コードとして採用されるコード情報５０のデータドットのサイズを小型化することができる。このため、携帯端末装置２０のディスプレイＤ２のサイズが小さい場合であっても、読み取りに十分なデータ密度を確保することができる。
【００６７】
（第２の実施形態）
第１の実施形態において、携帯端末装置２０のＣＰＵ２１は、背景画像４０に含まれる空間周波数が所定値以上の成分を除去する処理（空間周波数調整）を行うこととした。これに対し、第２の実施形態において、ＣＰＵ２１は、空間周波数調整に加えて、背景画像４０における画素値の表現幅を狭くする処理（表現幅調整）を行うこととする。以下、第２の実施形態について詳細に説明する。
【００６８】
＜背景画像に対する画像処理＞
図７は、第２の実施形態に係る背景画像４０に対して行われる画像処理を示す図である。ユーザによって指定される背景画像４０は多種多様であり、不可視コードを埋め込むのに適していない背景画像４０が指定される場合もある。このため、画像処理部としてのＣＰＵ２１は、背景画像４０に対して不可視コードを埋め込むのに適した形式に変換する画像処理を行う。
【００６９】
背景画像４０の画素値を８ビットＲＧＢで表現した場合、ＲＧＢの各値が０近傍や２５５近傍の画素に不可視コードを埋め込むのは困難である。これは、コード情報５０の画素値の変動幅を大きくすることができないためである。このため、ＣＰＵ２１は、ＲＧＢのうち、背景画像４０における画素値の範囲が５〜２５０以内の色を特定し、特定した色を変動させる。
【００７０】
一方、背景画像４０における画素値の範囲が５〜２５０以内の色が存在しない場合、ＣＰＵ２１は、背景画像４０における画素値の表現幅を狭くする処理（表現幅調整）を行う。例えば、ＣＰＵ２１は、表現幅調整において、０〜２５５の表現幅を５〜２５０まで狭くする。この場合、ＣＰＵ２１は、５未満の画素値を強制的に５にするとともに、２５０を超える画素値を強制的に２５０にする。
【００７１】
ＣＰＵ２１は、背景画像４０の全体に空間周波数調整および表現幅調整等の画像処理を行うが、これに限られない。例えば、ＣＰＵ２１は、コード情報５０を埋め込む位置のみに、空間周波数調整および表現幅調整等の画像処理を行ってもよい。これによって、ＣＰＵ２１の計算時間を短縮することができる。
【００７２】
以上説明したように、本実施形態において、ＣＰＵ２１は、空間周波数調整に加えて、背景画像４０における画素値の表現幅を狭くする処理（表現幅調整）を行う。これによって、不可視コードを埋め込むのに適した形式に背景画像４０を変換することができる。
【００７３】
なお、本実施形態において、ＣＰＵ２１は、空間周波数調整および表現幅調整の一方を背景画像４０に対して行ってもよいし、空間周波数調整および表現幅調整の両方を背景画像４０に対して行ってもよい。また、ＣＰＵ２１は、これらの画像処理に加えて、他の画像処理を背景画像４０に対して行ってもよい。
【００７４】
（第３の実施形態）
第１および第２の実施形態において、携帯端末装置２０のＣＰＵ２１は、コード画像６０をディスプレイＤ２に表示することとした。これに対し、第３の実施形態において、ＣＰＵ２１は、ディスプレイＤ２に対するユーザの操作に応じてディスプレイＤ２に表示される画像を切り替えることとする。ディスプレイＤ２に対するユーザの操作は、例えばディスプレイＤ２に対するタップ操作である。以下、第３の実施形態について詳細に説明する。
【００７５】
＜ディスプレイＤ２に表示される画像の切替処理＞
第１のフレーム画像６０ａと第２のフレーム画像６０ｂが交互に切り替わるコード画像６０（動画）を高い周波数でディスプレイＤ２に表示し続けると、消費電力が大きくなる。一方、消費電力を小さくするために第１のフレーム画像６０ａと第２のフレーム画像６０ｂを切り替える周波数を低くすると、第１のフレーム画像６０ａと第２のフレーム画像６０ｂの切り替わり（点滅）が肉眼で認識される可能性がある。画像の切り替え（点滅）が肉眼で認識されると、ディスプレイＤ２に表示されたコード画像６０に対して違和感が生じる。
【００７６】
このため、本実施形態において、ＣＰＵ２１は、ディスプレイＤ２に対するユーザの操作に応じて、フレーム画像の切り替えが行われない背景画像４０（静止画）をディスプレイＤ２に表示するか、フレーム画像の切り替えが行われるコード画像６０（動画）をディスプレイＤ２に表示される画像を切り替える。
【００７７】
図８〜図１０は、第３の実施形態に係る携帯端末装置２０のディスプレイＤ２に表示される画像の一例を示す図である。ユーザによってディスプレイＤ２に対する操作が行われていない場合、図８に示されるように、ＣＰＵ２１は、背景画像４０に画像処理を行わず、背景画像４０にコード情報５０を付与しない。すなわち、ディスプレイＤ２は、表現幅が０〜２５５の背景画像４０（静止画）を表示する。
【００７８】
一方、ユーザによってディスプレイＤ２に対する操作が行われた場合、図９に示されるように、ＣＰＵ２１は、背景画像４０に画像処理を行うとともに、背景画像４０にコード情報５０を付与する。具体的に、ＣＰＵ２１は、背景画像４０に前述の表現幅調整を行ってもよいし（背景Ａ）、背景画像４０に前述の空間周波数調整を行ってもよい（背景Ｂ）。また、背景画像４０に埋め込まれるコード情報５０の表現幅（変動幅）は、±５としてもよい。すなわち、ディスプレイＤ２に対してユーザの操作が行われた場合、ディスプレイＤ２は、背景画像４０に代えて、背景画像４０にコード情報５０が不可視状態で埋め込まれたコード画像６０（動画）を表示する。
【００７９】
また、コード画像６０を表示してから所定時間以上、ユーザによってディスプレイＤ２に対する操作が行われない場合、図１０に示されるように、ＣＰＵ２１は、背景画像４０に画像処理を行わず、背景画像４０にコード情報５０を付与しない。すなわち、ディスプレイＤ２は、コード画像６０（動画）に代えて、表現幅が０〜２５５の背景画像４０（静止画）を表示する。
【００８０】
ディスプレイＤ２がコード画像６０を表示する場合、ＣＰＵ２１がディスプレイＤ２に対して高速でフレーム画像を切り替える命令を出力するため、消費電力が増大する。これに対し、本実施形態によれば、ユーザによってディスプレイＤ２に対する操作が行われてから所定時間だけ、ディスプレイＤ２がコード画像６０を表示するため、消費電力を低減することができる。また、画像の切り替え（点滅）による違和感を低減することもできる。
【００８１】
＜表示画像の切替処理の具体的なフローチャート＞
図１１は、第３の実施形態に係る表示画像の切替処理を示すフローチャートである。まず、携帯端末装置２０のＣＰＵ２１は、オリジナルの背景画像４０のみをディスプレイＤ２に表示する（Ｓ４０１）。次に、ＣＰＵ２１は、ディスプレイＤ２がユーザによって操作されたか否かを判定する（Ｓ４０２）。
【００８２】
ＣＰＵ２１は、ディスプレイＤ２がユーザによって操作されていないと判定した場合、前述のＳ４０２の処理を繰り返す。一方、ＣＰＵ２１は、ディスプレイＤ２がユーザによって操作されたと判定した場合、背景画像４０に対して画像処理（例えば、表現幅調整や空間周波数調整等）を行う。その後、ＣＰＵ２１は、画像処理された背景画像４０を表示する（Ｓ４０３）。
【００８３】
次に、ＣＰＵ２１は、ディスプレイＤ２の画面輝度を調整する（Ｓ４０４）。具体的に、ＣＰＵ２１は、ディスプレイＤ２の画面輝度を高くすることで、背景画像４０に埋め込まれる不可視コード（コード情報５０）を読み取り易くする。
【００８４】
次に、ＣＰＵ２１は、背景画像４０に不可視コード（コード情報５０）を埋め込む（Ｓ４０５）。これによって、第１のフレーム画像６０ａと第２のフレーム画像６０ｂが交互に切り替わるコード画像６０が、ディスプレイＤ２に表示される。このように、ディスプレイＤ２は、背景画像４０に代えてコード画像６０を表示する。
【００８５】
コード画像６０が表示されてから所定時間以上、ユーザによってディスプレイＤ２に対する操作が行われない場合、ＣＰＵ２１は、オリジナルの背景画像４０をディスプレイＤ２に表示し（Ｓ４０６）、本フローチャートによる処理を終了する。これによって、画像の切り替え（点滅）による違和感を低減することができるとともに、消費電力を小さくすることができる。なお、コード画像６０の読取処理は、第１の実施形態（図６）と同様であるので説明を省略する。
【００８６】
以上説明したように、本実施形態において、ユーザによってディスプレイＤ２に対する操作が行われていない場合、ディスプレイＤ２は背景画像４０を表示する。また、ユーザによってディスプレイＤ２に対する操作が行われた場合、ディスプレイＤ２は背景画像４０に代えてコード画像６０を表示する。また、コード画像６０が表示されてから所定時間以上、ユーザによってディスプレイＤ２に対する操作が行われない場合、ディスプレイＤ２は、コード画像６０に代えて背景画像４０を表示する。これによって、消費電力を低減することができるとともに、画像の切り替え（点滅）による違和感を低減することができる。
【００８７】
（第４の実施形態）
第１〜第３の実施形態において、携帯端末装置２０のＣＰＵ２１は、１つの軸方向にのみ画素値を変動させることとした。これに対し、第４の実施形態において、ＣＰＵ２１は２つ以上の軸方向に画素値を変動させることとする。以下、第４の実施形態について詳細に説明する。
【００８８】
＜背景画像の色情報操作に関するイメージ図＞
前述したように、ＣＰＵ２１が背景画像４０に不可視コードを埋め込む際、背景画像４０の色データによっては画像処理を行う必要がある。このため、まず、画像処理を行う必要がある理由について説明する。
【００８９】
図１２〜図１４は、第４の実施形態に係る色空間の一例を示す図である。図１２に示されるように、色空間には、円筒形の軸７０と、リング状の帯７１と、扇形の領域７２とが含まれる。円筒形の軸７０は、白と黒をつなぐ彩度ゼロの領域を示す軸であり、上に行くほど明度が高くなる。リング状の帯７１は、色相を示す。扇形の領域７２は、外に行くほど彩度が高い。
【００９０】
図１３は、マンセルの色彩球７３を示す図である。図１３に示されるように、マンセルの色彩球７３の最上部は白を示し、マンセルの色彩球７３の最下部は黒を示す。すなわち、マンセルの色彩球７３の上の方ほど明度が高く、マンセルの色彩球７３の下の方ほど明度（Ｌｉｇｈｔｎｅｓｓ）が低い。また、マンセルの色彩球７３の外周方向は、色相（Ｈｕｅ）方向を示す。更に、マンセルの色彩球７３の中心から遠いほど彩度が高い。
【００９１】
図１４は、マンセルの色彩球７３の内部を示す図である。図１４を用いて、不可視コードを埋め込むのに適した背景画像４０の色空間を説明する。
【００９２】
前述したように、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素値を所定方向に変動させる。例えば、ＣＰＵ２１は、図１４に示されるＢａｓｅを中心として画素値を変動させる。ＣＰＵ２１が３０［Ｈｚ］より高い周波数で画素値を変動させると、変動された画素値の平均が肉眼によって認識される。このため、ＣＰＵ２１がＢＡＳＥを中心として矢印方向（２方向）に画素値を変動させたとしても、この画素の色はＢａｓｅ（２つの矢印の交点）の色であると肉眼によって認識される。
【００９３】
このことから、図１４に示されるＴｏｐ、Ｏｕｔ、またはＢｏｔｔｏｍにＢａｓｅが位置すると、画素値を変動させることが難しい（言い換えると、十分な変動幅を確保することができない）。このため、オリジナルの背景画像４０の色データ（Ｂａｓｅ）がＩｎｎｅｒ以外の領域に含まれる場合、ＣＰＵ２１は、背景画像４０の見え方を損なわないように、色データ（Ｂａｓｅ）をＩｎｎｅｒの領域内に配置する。これによって、画素値を変動させるための変動幅を十分に確保することができるため、不可視コードを読み取り易くすることができる。
【００９４】
ＣＰＵ２１は、色データ（Ｂａｓｅ）をＩｎｎｅｒの領域内に配置することで、明度方向のみ画素値を変動させるだけではなく、彩度方向にも画素値を変動させることができる。ＣＰＵ２１が色データ（Ｂａｓｅ）をＩｎｎｅｒの領域内に配置すると、画素値を変動させる方向を十分に確保することができるため、不可視コードが保持できるデータ量を引き上げることができる。例えば、ＣＰＵ２１が２軸方向に画素値を変動させると、１軸方向に画素値を変動させるエンコード方式と比べて、同一面積において保持できるデータ量を増加させることができる。言い換えると、コード画像６０のデータ密度を向上させることができる。
【００９５】
例えば、ＣＰＵ２１が明度方向（θ＝０°）と、明度方向に直交する方向（θ＝９０°）に画素値を変動させる場合、明度方向（θ＝０°）の変動に「０」をデータとして割り当てることができるとともに、明度方向に直交する方向（θ＝９０°）の変動に「１」をデータとして割り当てることができる。このため、コード画像６０のデータ密度を向上させることができる。
【００９６】
なお、ＣＰＵ２１は、３軸方向（例えば、明度方向と、明度方向に６０°交差する方向と、明度方向に１２０°交差する方向）に画素値を変動させてもよい。この場合、θ＝０°、６０°、および１２０°である。また、ＣＰＵ２１は、４軸以上の方向に画素値を変動させてもよい。ＣＰＵ２１は、画素値を彩度方向に変動させることもでき、彩度方向、明度方向、および色相方向を適宜組み合わせて画素値を変動させてもよい。
【００９７】
なお、ＣＰＵ２１が画素値の変動の周波数を高くしても、画素値の変動幅が大きいと肉眼で認識されやすくなる。特に、明度方向における変動は、彩度方向の変動および色相方向の変動よりも、肉眼によって認識されやすい。このため、ＣＰＵ２１は、明度方向における変動幅を、色相方向における変動幅および彩度方向における変動幅よりも小さくする。
【００９８】
なお、ＣＰＵ２１は、色相方向の変動幅の絶対値を、他の方向の変動幅の絶対値よりも必ず大きく設定する。つまり、ＣＰＵ２１は、色相＞彩度＞明度となるように、各方向の変動幅の絶対値を設定する。
【００９９】
一例として、明度（輝度）、彩度、色相について説明したが、ＲＧＢや他の色表現に本実施形態を適用してもよい。（Ｒ，Ｇ，Ｂ）＝（２０，２０，２０）の場合、ＣＰＵ２１は、Ｂ（Ｂｌｕｅ）方向に画素値を変動するとともに、Ｇ（Ｇｒｅｅｎ）方向に画素値を変動してもよい。言い換えると、ＣＰＵ２１がＢ方向に画素値を変動する場合、３０［Ｈｚ］を超える周波数で、（２０，２０，１５）と（２０，２０，２５）を切り替えてもよい。また、ＣＰＵ２１がＧ方向に画素値を変動する場合、３０［Ｈｚ］を超える周波数で、（２０，１５，２０）と（２０，２５，２０）を切り替えてもよい。
【０１００】
ＲＧＢ表現を用いる場合、Ｇｒｅｅｎの諧調変化が最も明度変化（輝度変化）に影響を与え、Ｂｌｕｅの諧調変化はＧｒｅｅｎの諧調変化よりも明度変化（輝度変化）に影響を与えない。このため、ＣＰＵ２１は、Ｇの画素値の変動幅を、Ｂの画素値の変動幅よりも小さくするのが好ましい。例えば、ＣＰＵ２１は、（Ｒ，Ｇ，Ｂ）＝（２０，２０±３，２０），（２０，２０，２０±５）と設定するのが好ましい。
【０１０１】
＜コード画像の生成処理＞
図１５は、第４の実施形態に係るコード画像６０の生成処理を示すフローチャートである。図１５を用いて、携帯端末装置２０によって行われるコード画像６０の生成処理を詳細に説明する。
【０１０２】
まず、ＣＰＵ２１は、背景画像４０を解析する（Ｓ５０１）。例えば、ＣＰＵ２１は、コード情報５０が配置される位置の背景画像４０の色データを取得する。また、ＣＰＵ２１は、コード情報５０が配置される位置の背景画像４０の色データが、図１４に示されるＩｎｎｅｒの領域内に存在するか否かを判定する。ＣＰＵ２１は、コード情報５０が配置される位置の背景画像４０の色データがＩｎｎｅｒの領域内に存在しない場合、この色データがＩｎｎｅｒの領域内に配置するように背景画像４０に対して画像処理を行う。これによって、画素値を変動させるための変動幅を十分に確保することができるため、不可視コードを読み取り易くすることができる。
【０１０３】
次に、ＣＰＵ２１は、画素値の変動方向（例えば、図１４に示される角度θ）と、変動方向における変動幅とを決定する（Ｓ５０２）。ＣＰＵ２１は、画素値を複数方向に変動させる場合、複数の変動方向と変動幅とを決定する。その後、ＣＰＵ２１は、決定した変動方向を示す情報を含むインデックスを生成する（Ｓ５０３）。
【０１０４】
次に、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の色データを取得する（Ｓ５０４）。その後、ＣＰＵ２１は、Ｓ５０３において生成したインデックスを背景画像４０に可視状態で付加する（Ｓ５０５）。
【０１０５】
次に、ＣＰＵ２１は、背景画像４０にコード情報５０を不可視状態で埋め込む（Ｓ５０６）。具体的に、ＣＰＵ２１は、コード情報５０と重なる位置の背景画像４０の画素値を、この画素値を中心として、決定した変動方向および変動幅に基づいて変動させる。これによって、コード画像６０を生成することができる。
【０１０６】
＜コード画像の読取処理＞
図１６は、第４の実施形態に係るコード画像６０の読取処理を示すフローチャートである。図１６を用いて、携帯端末装置２０によって生成されるコード画像６０の読取処理を詳細に説明する。
【０１０７】
まず、携帯端末装置２０のカメラ２４は、他の携帯端末装置のディスプレイＤ２に表示されたコード画像６０を撮影することで、コード画像６０を取得する。また、ＣＰＵ２１は、取得したコード画像６０に埋め込まれたインデックスを取得する（Ｓ５１１）。前述したように、インデックスには、画素値の変動方向を示す情報が含まれる。また、取得されたコード画像６０には、コード情報５０と重なる位置の背景画像４０の画素値が変動された複数のフレーム画像が含まれる。
【０１０８】
次に、ＣＰＵ２１は、インデックスによって指定された変動方向における、複数のフレーム画像の差分を取得する（Ｓ５１２）。その後、ＣＰＵ２１は、取得した差分に基づき、不可視コードをデコードし（Ｓ５１３）、本フローチャートによる処理を終了する。
【０１０９】
以上説明したように、本実施形態において、ＣＰＵ２１は、画素値の変動方向を示す情報を含むインデックスを、背景画像４０に可視状態で付加する。本実施形態によれば、画素値の変動方向にデータを割り当てることができるため、コード画像６０のデータ密度を向上させることができる。また、本実施形態によれば、肉眼によって認識され難い画素値の変動方向と変動幅を設定することができるため、コード情報５０をより確実に不可視状態で背景画像４０に埋め込むことができる。
【０１１０】
（第５の実施形態）
第１〜第４の実施形態において、携帯端末装置２０のＣＰＵ２１は、１つのフレームセットを背景画像４０に埋め込むこととした。これに対し、第５の実施形態において、ＣＰＵ２１は２つ以上のフレームセットを背景画像４０に埋め込むこととする。ここで、フレームセットとは、複数のフレーム画像が含まれるセットである。背景画像４０に埋め込まれた２つ以上のフレームセットは、時間経過に応じて切り替えて表示される。以下、第５の実施形態について詳細に説明する。
【０１１１】
＜フレームセットの切替処理＞
図１７は、第５の実施形態に係るフレームセットの切替処理を示す図である。ＣＰＵ２１は、３つのフレームセット８０ａ〜８０ｃを含むコード画像６０をディスプレイＤ２に表示する。具体的には、ＣＰＵ２１は、時間ｔが経過するとともに、フレームセット８０ａ、フレームセット８０ｂ、およびフレームセット８０ｃを順に切り替えてディスプレイＤ２に表示する。フレームセット８０ａ〜８０ｃの各々において、キーフレーム画像８１と、フレーム画像８２とが３０［Ｈｚ］より高い周波数で交互に表示される。
【０１１２】
まず、ＣＰＵ２１は、フレームセット８０ａをディスプレイＤ２に表示する。このとき、ＣＰＵ２１は、キーフレーム画像８１およびフレーム画像８２に、位置検出用マーカ８３ａを可視状態で埋め込む。フレームセット８０ａがディスプレイＤ２に表示されてから所定時間が経過すると、ＣＰＵ２１は、フレームセット８０ａに代えてフレームセット８０ｂをディスプレイＤ２に表示する。このとき、ＣＰＵ２１は、キーフレーム画像８１およびフレーム画像８２に、位置検出用マーカ８３ｂを可視状態で埋め込む。フレームセット８０ｂがディスプレイＤ２に表示されてから所定時間が経過すると、ＣＰＵ２１は、フレームセット８０ｂに代えてフレームセット８０ｃをディスプレイＤ２に表示する。このとき、ＣＰＵ２１は、キーフレーム画像８１およびフレーム画像８２に、位置検出用マーカ８３ｃを可視状態で埋め込む。ＣＰＵ２１は、これらの処理を繰り返す。
【０１１３】
一方、コード画像６０をデコードする際、ＣＰＵ２１は、フレームセットごとに、キーフレーム画像８１とフレーム画像８２との差分に基づいて不可視コード（コード情報５０）を抽出する。なお、ＣＰＵ２１は、可視状態で埋め込まれた位置検出用マーカの切り替わりに応じて、フレームセットの切り替わりを検出する。このように、複数のフレームセットを切り替えてディスプレイＤ２に順番に表示することで、コード画像６０により多くのデータ量を保持することができる。
【０１１４】
＜コード画像の生成処理＞
図１８は、第５の実施形態に係るコード画像６０の生成処理を示すフローチャートである。図１８を用いて、携帯端末装置２０によって行われるコード画像６０の生成処理を詳細に説明する。
【０１１５】
まず、ＣＰＵ２１は、コード画像６０として生成する複数のフレームセットを決定する（Ｓ６０１）。次に、ＣＰＵ２１は、決定したフレームセットに応じて、位置検出用マーカを切り替えて背景画像４０に埋め込む（Ｓ６０２）。
【０１１６】
また、ＣＰＵ２１は、背景画像４０に埋め込まれた位置検出用マーカごとに、不可視コード（コード情報５０）を切り替える（Ｓ６０３）。その後、ＣＰＵ２１は、不可視コード（コード情報５０）を背景画像４０に埋め込む（Ｓ６０４）。これによって、複数のフレームセットが含まれるコード画像６０を生成することができる。
【０１１７】
＜コード画像の読取処理＞
図１９は、第５の実施形態に係るコード画像６０の読取処理を示すフローチャートである。図１９を用いて、携帯端末装置２０によって生成されるコード画像６０の読取処理を詳細に説明する。
【０１１８】
まず、携帯端末装置２０のカメラ２４は、他の携帯端末装置のディスプレイＤ２に表示されたコード画像６０（動画）を撮影することで、所定期間の動画を取得する（Ｓ６１１）。ＣＰＵ２１は、取得した所定期間の動画に基づき、位置検出用マーカの切替回数を検出する（Ｓ６１２）。これによって、コード画像６０に含まれるフレームセットの数を検出することができる。
【０１１９】
次に、ＣＰＵ２１は、位置検出用マーカの切替に応じて、取得した動画を複数のフレームセットに分割する（Ｓ６１３）。その後、ＣＰＵ２１は、分割した各フレームセットから、キーフレーム画像８１を抽出する（Ｓ６１４）。また、ＣＰＵ２１は、分割した各フレームセットから、キーフレーム画像８１以外のフレーム画像８２についても抽出する。
【０１２０】
次に、ＣＰＵ２１は、フレームセットごとに、キーフレーム画像８１とフレーム画像８２との差分を算出する。その後、ＣＰＵ２１は、フレームセットごとに、算出した差分に基づいて不可視コードをデコードし（Ｓ６１５）、本フローチャートによる処理を終了する。
【０１２１】
以上説明したように、本実施形態において、カメラ２４は、複数のフレームセット８０ａ〜８０ｃが含まれるコード画像６０を読み取る。複数のフレームセット８０ａ〜８０ｃの各々は、キーフレーム画像８１およびフレーム画像８２を含む。ＣＰＵ２１は、フレームセット８０ａ〜８０ｃごとに、キーフレーム画像８１およびフレーム画像８２の差分に基づいて不可視コード（コード情報５０）を抽出する。これによって、より多くのデータ量をコード画像６０に保持することができる。なお、第５の実施形態と第４の実施形態とを組み合わせてもよい。これによって、更に多くのデータ量をコード画像６０に保持することができる。
【０１２２】
（他の実施形態）
以下、位置検出用マーカ、マーカの埋め込み処理、およびデータドットの形状についての他の実施形態について説明する。
【０１２３】
＜位置検出用マーカについての他の実施形態＞
図２０〜図２７は、他の実施形態に係る位置検出用マーカの一例を示す図である。第１〜第５の実施形態においては、位置検出用マーカ５１およびデータドット５３の両方を背景画像４０に不可視状態で埋め込むこととしたが、これに限られない。例えば、図２０に示されるように、ＣＰＵ２１は、位置検出用マーカ５１を背景画像４０に可視状態で埋め込むとともに、データドット５３を背景画像４０に不可視状態で埋め込んでもよい。
【０１２４】
位置検出用マーカは、台形補正およびホモグラフィー変換に利用される。ＱＲコード（登録商標）においては、三つの角に位置検出用マーカが配置されており、３６０°どの方向からでもＱＲコード（登録商標）を高速に読み取ることができる。したがって、不可視コードを３６０°どの方向からでも高速に読み取ることができるようにするために、位置検出用マーカを可視状態で背景画像４０に埋め込んでもよい。これによって、コード画像内のデータドットの位置をより精度よく検出することができるとともに、コード画像を３６０°どの方向からでも高速に読み取ることができる。
【０１２５】
また、位置検出用マーカは四角形に限られない。例えば、図２１に示されるように、三角形の位置検出用マーカ９１が背景画像４０に埋め込まれてもよい。
【０１２６】
また、図２２および図２３に示されるように、位置検出用ベゼル９２または９３を表示してもよい。位置検出用ベゼル９２または９３を表示することで、ユーザに対してベゼルに合わせてコード画像６０を撮影するよう誘導することができる。
【０１２７】
また、図２４および図２５に示されるように、ラインタイプの位置検出用マーカ９４または９５が表示されてもよい。また、図２６および図２７に示されるように、枠タイプの位置検出用マーカ９６または９７が表示されてもよい。
【０１２８】
＜マーカの埋込処理についての他の実施形態＞
図２８〜図３０は、他の実施形態に係るマーカの埋込処理の一例を示す図である。前述したように、位置検出用マーカは、可視状態で背景画像４０に埋め込まれるのが好ましい。このため、図２８に示されるように、明度の低いマーカ１００〜１０３を背景画像４０に埋め込んでもよい。逆に、図２９に示されるように、明度の高いマーカ１００〜１０３を背景画像４０に埋め込んでもよい。
【０１２９】
しかしながら、図２８に示されるように、マーカ１０２および１０３は明度の低い背景画像４０の領域に埋め込まれているため、マーカ１０２および１０３を検出することは難しい。また、図２９に示されるように、マーカ１００および１０１は明度の高い背景画像４０の領域に埋め込まれているため、マーカ１００および１０１を検出することは難しい。
【０１３０】
このため、図３０に示されるように、マーカ１００および１０１の明度を低くするとともに、マーカ１０２および１０３の明度を高くしてもよい。このように、背景画像の明度に応じてマーカの明度を変更することで、マーカの検出精度を向上させることができる。
【０１３１】
また、図３１に示されるように、位置検出用マーカに代えて、水平方向の枠１０４を背景画像４０に埋め込んでもよい。また、図３２に示されるように、位置検出用マーカに代えて、垂直方向の枠１０５を背景画像４０に埋め込んでもよい。また、ＣＰＵ２１は、背景画像４０に埋め込まれた枠１０４または１０５に基づいて、データドットの位置を検出してもよい。
【０１３２】
また、図３３に示されるように、ＣＰＵ２１は、位置検出用マーカに代えて、特徴点１０６を背景画像４０から抽出してもよい。ＣＰＵ２１は、抽出した特徴点に基づいて、コード画像６０の歪みを補正してもよい。なお、ＣＰＵ２１は、特徴点の抽出方法として、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）や、「Ｈａｒｒｉｓ  ｃｏｒｎｅｒ  ｒｅｓｐｏｎｓｅ  ｆｕｎｃｔｉｏｎ」を用いてもよい。また、ＣＰＵ２１は、背景画像４０に対してブロブ解析を行うことにより、特徴点を抽出してもよい。また、ＣＰＵ２１は、背景画像４０から特徴点を抽出し難い場合は位置検出用マーカを埋め込み、背景画像４０から特徴点を抽出しやすい場合は位置検出用マーカを埋め込まないようにしてもよい。また、白黒で表現したＱＲコードのように、コードとして識別可能な画像を背景画像としてもよい。つまり、識別可能なコードに加えて不可視コードを追加してもよい。これにより、背景画像として表示されている識別可能なコードにデータの一部を格納し、不可視コードにデータの一部を格納してもよい。当然、背景画像として表示されているコードのみでデコードできるデータを格納し、不可視コードを付加的機能のために割り当ててもよい。付加的機能としては、不可視コードに暗号鍵を格納した暗号通信やシークレットシェアリング、簡単なＩＤを格納した真贋判定等が挙げられる。
【０１３３】
例えば、所定年齢未満（１８歳等法規による）のユーザが不特定多数と連絡先交換することを抑制するために、上記付加的機能を利用してもよい。具体的には、１８歳未満のユーザが連絡先を交換するためにスマートフォンに表示するＱＲコード（背景画像）に不可視コードを付与する。ＱＲコードリーダにより、１８歳未満のユーザの連絡先であると識別された際には、追加で不可視コードが保有するＩＤ情報を参照する。これにより、スマートフォンのスクリーンショット機能を活用して、１８歳未満のユーザが不特定多数へ連絡先を配布することを抑制することができる。対して、１８歳以上のユーザについては不可視コードを追加しないＱＲコード（背景画像）のみを表示させるように制御する。これにより、不可視コードを表示することにより消費電力が増加することを抑制することができる。
【０１３４】
また、１８歳以上の場合もＱＲコードに不可視コードを付与することを基本としてもよい。具体的には、１８歳以上のユーザがスクリーンショットにより連絡先を交換（一般公開）することを希望する場合、不可視コードがなくとも連絡先を交換できるようにしてもよい。これにより、ユーザーエクスペリエンスを統一しつつも、必要に応じて利便性を確保することができる。
【０１３５】
＜データドットの形状についての他の実施形態＞
図３４〜図４１は、他の実施形態に係るデータドットの形状の一例を示す図である。例えば、図３４および図３５に示されるように、ＣＰＵ２１は、四角形のデータドット１１０および１１１を生成してもよい。また、図３６および図３７に示されるように、ＣＰＵ２１は、三角形のデータドット１１２および１１３を生成してもよい。また、図３８および図３９に示されるように、ＣＰＵ２１は、円形のデータドット１１４および１１５を生成してもよい。また、図４０に示されるように、ＣＰＵ２１は、星形のデータドット１１６を生成してもよい。更に、図４１に示されるように、ＣＰＵ２１は、同心円形状のデータドット１１７を生成してもよい。
【０１３６】
以上説明したように、ＣＰＵ２１は、背景画像４０を取得し、取得した背景画像４０に対して画像処理（空間周波数調整または表現幅調整）を行う。また、ＣＰＵ２１は、画像処理が行われた背景画像４０に、コード情報５０の少なくとも一部が不可視状態で埋め込まれたコード画像６０を生成する。これによって、２次元コードを背景画像に埋め込む際に、２次元コードが背景画像のデザインに及ぼす影響を低減することができる。
【０１３７】
なお、上記実施形態におけるデスクトップコンピュータ１０、携帯端末装置２０、およびサーバ３０は、内部にコンピュータシステムを有している。そして、上述したデスクトップコンピュータ１０、携帯端末装置２０、およびサーバ３０の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【０１３８】
また、特定のコンピュータで実行される処理の一部を、他のコンピュータによって分担してもよい。このため、情報処理システム全体を、情報処理装置としてみなしてもよい。また、特徴的な情報処理を行う要素が意図的に国外に設置されたとしても、処理結果を参照する地域が国内であれば、情報処理が国内で実行されたものとみなす。
【０１３９】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
【符号の説明】
【０１４０】
１０  デスクトップコンピュータ
１１  ＣＰＵ
１２  メモリ
１３  バス
１４  ストレージ
２０  携帯端末装置
２１  ＣＰＵ
２２  メモリ
２３  バス
２４  カメラ
３０  サーバ
３１  ＣＰＵ
３２  メモリ
３３  バス
３４  ストレージ
【図１】
2018061232.tif 000008
【図２】
2018061232.tif 000009
【図３】
2018061232.tif 000010
【図４】
2018061232.tif 000011
【図５】
2018061232.tif 000012
【図６】
2018061232.tif 000013
【図７】
2018061232.tif 000014
【図８】
2018061232.tif 000015
【図９】
2018061232.tif 000016
【図１０】
2018061232.tif 000017
【図１１】
2018061232.tif 000018
【図１２】
2018061232.tif 000019
【図１３】
2018061232.tif 000020
【図１４】
2018061232.tif 000021
【図１５】
2018061232.tif 000022
【図１６】
2018061232.tif 000023
【図１７】
2018061232.tif 000024
【図１８】
2018061232.tif 000025
【図１９】
2018061232.tif 000026
【図２０】
2018061232.tif 000027
【図２１】
2018061232.tif 000028
【図２２】
2018061232.tif 000029
【図２３】
2018061232.tif 000030
【図２４】
2018061232.tif 000031
【図２５】
2018061232.tif 000032
【図２６】
2018061232.tif 000033
【図２７】
2018061232.tif 000034
【図２８】
2018061232.tif 000035
【図２９】
2018061232.tif 000036
【図３０】
2018061232.tif 000037
【図３１】
2018061232.tif 000038
【図３２】
2018061232.tif 000039
【図３３】
2018061232.tif 000040
【図３４】
2018061232.tif 000041
【図３５】
2018061232.tif 000042
【図３６】
2018061232.tif 000043
【図３７】
2018061232.tif 000044
【図３８】
2018061232.tif 000045
【図３９】
2018061232.tif 000046
【図４０】
2018061232.tif 000047
【図４１】
2018061232.tif 000048
【手続補正書】
【提出日】平成29年6月28日(2017.6.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
背景画像を取得する取得部と、
前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、
前記画像処理部によって画像処理が行われた前記背景画像に、コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成する生成部と、を有し、
前記画像処理部は、前記取得部によって取得された前記背景画像に含まれる、空間周波数が所定値以上の成分を除去する情報処理装置。
【請求項２】
前記画像処理部は、前記取得部によって取得された前記背景画像における画素値の表現幅を狭くする
請求項１記載の情報処理装置。
【請求項３】
前記生成部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値を、前記画素値を中心として所定の方向に変動させることで、前記コード画像を生成する
請求項１記載の情報処理装置。
【請求項４】
前記生成部は、前記画素値を中心として色相上で相補的な二色に前記画素値を変動させることで、前記コード画像を生成する
請求項３記載の情報処理装置。
【請求項５】
前記生成部は、前記画素値に対する明度方向における変動幅を、前記画素値に対する色相方向における変動幅および彩度方向における変動幅よりも小さくする
請求項３記載の情報処理装置。
【請求項６】
前記コード画像を表示する表示部を更に有し、
前記表示部は、ユーザによって前記表示部に対する操作が行われていない場合、前記背景画像を表示し、前記ユーザによって前記表示部に対する操作が行われた場合、前記背景画像に代えて前記コード画像を表示する
請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記表示部は、前記コード画像が表示されてから所定時間以上、前記ユーザによって前記表示部に対する操作が行われない場合、前記コード画像に代えて前記背景画像を表示する
請求項６記載の情報処理装置。
【請求項８】
前記生成部は、前記所定の方向を示す情報を含むインデックスを、前記背景画像に可視状態で付加する
請求項３記載の情報処理装置。
【請求項９】
前記コード画像を読み取る読取部と、
前記読取部によって読み取られた前記コード画像から前記コード情報を抽出する抽出部と、
を更に有する請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記読取部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値が変動された複数のフレーム画像を含むコード画像を読み取り、
前記抽出部は、前記読取部によって読み取られた前記複数のフレーム画像の差分に基づき、前記コード情報を抽出する
請求項９記載の情報処理装置。
【請求項１１】
前記読取部は、複数のフレームセットが含まれる前記コード画像を読み取り、
前記複数のフレームセットの各々は、前記複数のフレーム画像を含み、
前記抽出部は、前記フレームセットごとに、前記複数のフレーム画像の差分に基づいて前記コード情報を抽出する、
請求項１０記載の情報処理装置。
【請求項１２】
前記抽出部は、前記背景画像から特徴点を抽出し、抽出した特徴点に基づいて前記読取部によって読み取られた前記コード画像の歪みを補正する
請求項９乃至１１のいずれか一項に記載の情報処理装置。
【請求項１３】
前記コード画像には、歪み補正のために用いられるマーカと、情報を保持するデータドットとが含まれる
請求項１乃至１２のいずれか一項に記載の情報処理装置。
【請求項１４】
前記生成部は、前記マーカおよび前記データドットの両方を、前記背景画像に不可視状態で埋め込む
請求項１３記載の情報処理装置。
【請求項１５】
前記生成部は、前記マーカを前記背景画像に可視状態で埋め込むとともに、前記データドットを前記背景画像に不可視状態で埋め込む
請求項１３記載の情報処理装置。
【請求項１６】
前記生成部は、前記コード情報が前記背景画像への埋め込みに適さない場合、前記データドットによって保持される情報の同一性を維持した状態で、前記データドットの配置を変更する
請求項１３記載の情報処理装置。
【請求項１７】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置によって表示する表示方法。
【請求項１８】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置によって読み取る読取方法。
【請求項１９】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置に読み取らせる、または表示させるプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
背景画像を取得する取得部と、前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、前記画像処理部によって画像処理が行われた前記背景画像に、コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成する生成部と、を有し、前記画像処理部は、前記取得部によって取得された前記背景画像に含まれる、空間周波数が所定値以上の成分を除去する情報処理装置。
【手続補正書】
【提出日】平成29年7月31日(2017.7.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コード情報が埋め込まれた動画を生成する情報処理装置であって、
背景画像を取得する取得部と、
前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、
前記画像処理部によって画像処理が行われた前記背景画像に、前記コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像の動画を生成する生成部と、を有し、
前記画像処理部は、前記コード情報を読み出すために用いられる前記コード画像の動画の前記背景画像に含まれる、空間周波数が所定値以上の成分を除去する情報処理装置。
【請求項２】
前記画像処理部は、前記取得部によって取得された前記背景画像における画素値の表現幅を狭くする
請求項１記載の情報処理装置。
【請求項３】
前記生成部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値を、前記画素値を中心として所定の方向に変動させることで、前記コード画像を生成する
請求項１記載の情報処理装置。
【請求項４】
前記生成部は、前記画素値を中心として色相上で相補的な二色に前記画素値を変動させることで、前記コード画像を生成する
請求項３記載の情報処理装置。
【請求項５】
前記生成部は、前記画素値に対する明度方向における変動幅を、前記画素値に対する色相方向における変動幅および彩度方向における変動幅よりも小さくする
請求項３記載の情報処理装置。
【請求項６】
前記コード画像を表示する表示部を更に有し、
前記表示部は、ユーザによって前記表示部に対する操作が行われていない場合、前記背景画像を表示し、前記ユーザによって前記表示部に対する操作が行われた場合、前記背景画像に代えて前記コード画像を表示する
請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記表示部は、前記コード画像が表示されてから所定時間以上、前記ユーザによって前記表示部に対する操作が行われない場合、前記コード画像に代えて前記背景画像を表示する
請求項６記載の情報処理装置。
【請求項８】
前記生成部は、前記所定の方向を示す情報を含むインデックスを、前記背景画像に可視状態で付加する
請求項３記載の情報処理装置。
【請求項９】
前記コード画像を読み取る読取部と、
前記読取部によって読み取られた前記コード画像から前記コード情報を抽出する抽出部と、
を更に有する請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記読取部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値が変動された複数のフレーム画像を含むコード画像を読み取り、
前記抽出部は、前記読取部によって読み取られた前記複数のフレーム画像の差分に基づき、前記コード情報を抽出する
請求項９記載の情報処理装置。
【請求項１１】
前記読取部は、複数のフレームセットが含まれる前記コード画像を読み取り、
前記複数のフレームセットの各々は、前記複数のフレーム画像を含み、
前記抽出部は、前記フレームセットごとに、前記複数のフレーム画像の差分に基づいて前記コード情報を抽出する、
請求項１０記載の情報処理装置。
【請求項１２】
前記抽出部は、前記背景画像から特徴点を抽出し、抽出した特徴点に基づいて前記読取部によって読み取られた前記コード画像の歪みを補正する
請求項９乃至１１のいずれか一項に記載の情報処理装置。
【請求項１３】
前記コード画像には、歪み補正のために用いられるマーカと、情報を保持するデータドットとが含まれる
請求項１乃至１２のいずれか一項に記載の情報処理装置。
【請求項１４】
前記生成部は、前記マーカおよび前記データドットの両方を、前記背景画像に不可視状態で埋め込む
請求項１３記載の情報処理装置。
【請求項１５】
前記生成部は、前記マーカを前記背景画像に可視状態で埋め込むとともに、前記データドットを前記背景画像に不可視状態で埋め込む
請求項１３記載の情報処理装置。
【請求項１６】
前記生成部は、前記コード情報が前記背景画像への埋め込みに適さない場合、前記データドットによって保持される情報の同一性を維持した状態で、前記データドットの配置を変更する
請求項１３記載の情報処理装置。
【請求項１７】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置によって表示する表示方法。
【請求項１８】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置によって読み取る読取方法。
【請求項１９】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置に読み取らせる、または表示させるプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体。
【請求項２０】
背景画像を取得する取得部と、
前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、
前記画像処理部によって画像処理が行われた前記背景画像に、コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成する生成部と、を有し、
前記生成部は、
前記コード情報が所定年齢未満のユーザの情報である場合、前記画像処理部によって画像処理が行われた前記背景画像に、前記コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像を生成し、
前記コード情報が前記所定年齢以上のユーザの情報である場合、前記画像処理部によって画像処理が行われた前記背景画像に、前記コード情報が可視状態で埋め込まれたコード画像を生成する
情報処理装置。
【手続補正書】
【提出日】平成29年12月14日(2017.12.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コード情報が埋め込まれた動画を生成する情報処理装置であって、
前記動画を生成するために使用される背景画像を取得する取得部と、
前記取得部によって取得された前記背景画像に対して画像処理を行う画像処理部と、
前記画像処理部によって画像処理が行われた前記背景画像に、前記コード情報の少なくとも一部が不可視状態で埋め込まれたコード画像の動画を生成する生成部と、を有し、
前記画像処理部は、前記コード情報を読み出すために用いられる前記コード画像の動画の前記背景画像に含まれる、空間周波数が所定値以上の成分を除去する情報処理装置。
【請求項２】
前記画像処理部は、前記取得部によって取得された前記背景画像における画素値の表現幅を狭くする
請求項１記載の情報処理装置。
【請求項３】
前記生成部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値を、前記画素値を中心として所定の方向に変動させることで、前記コード画像を生成する
請求項１記載の情報処理装置。
【請求項４】
前記生成部は、前記画素値を中心として色相上で相補的な二色に前記画素値を変動させることで、前記コード画像を生成する
請求項３記載の情報処理装置。
【請求項５】
前記生成部は、前記画素値に対する明度方向における変動幅を、前記画素値に対する色相方向における変動幅および彩度方向における変動幅よりも小さくする
請求項３記載の情報処理装置。
【請求項６】
前記コード画像を表示する表示部を更に有し、
前記表示部は、ユーザによって前記表示部に対する操作が行われていない場合、前記背景画像を表示し、前記ユーザによって前記表示部に対する操作が行われた場合、前記背景画像に代えて前記コード画像を表示する
請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記表示部は、前記コード画像が表示されてから所定時間以上、前記ユーザによって前記表示部に対する操作が行われない場合、前記コード画像に代えて前記背景画像を表示する
請求項６記載の情報処理装置。
【請求項８】
前記生成部は、前記所定の方向を示す情報を含むインデックスを、前記背景画像に可視状態で付加する
請求項３記載の情報処理装置。
【請求項９】
前記コード画像を読み取る読取部と、
前記読取部によって読み取られた前記コード画像から前記コード情報を抽出する抽出部と、
を更に有する請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記読取部は、前記コード情報の少なくとも一部と重なる位置の前記背景画像の画素値が変動された複数のフレーム画像を含むコード画像を読み取り、
前記抽出部は、前記読取部によって読み取られた前記複数のフレーム画像の差分に基づき、前記コード情報を抽出する
請求項９記載の情報処理装置。
【請求項１１】
前記読取部は、複数のフレームセットが含まれる前記コード画像を読み取り、
前記複数のフレームセットの各々は、前記複数のフレーム画像を含み、
前記抽出部は、前記フレームセットごとに、前記複数のフレーム画像の差分に基づいて前記コード情報を抽出する、
請求項１０記載の情報処理装置。
【請求項１２】
前記抽出部は、前記背景画像から特徴点を抽出し、抽出した特徴点に基づいて前記読取部によって読み取られた前記コード画像の歪みを補正する
請求項９乃至１１のいずれか一項に記載の情報処理装置。
【請求項１３】
前記コード画像には、歪み補正のために用いられるマーカと、情報を保持するデータドットとが含まれる
請求項１乃至１２のいずれか一項に記載の情報処理装置。
【請求項１４】
前記生成部は、前記マーカおよび前記データドットの両方を、前記背景画像に不可視状態で埋め込む
請求項１３記載の情報処理装置。
【請求項１５】
前記生成部は、前記マーカを前記背景画像に可視状態で埋め込むとともに、前記データドットを前記背景画像に不可視状態で埋め込む
請求項１３記載の情報処理装置。
【請求項１６】
前記生成部は、前記コード情報が前記背景画像への埋め込みに適さない場合、前記データドットによって保持される情報の同一性を維持した状態で、前記データドットの配置を変更する
請求項１３記載の情報処理装置。
【請求項１７】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置によって表示する表示方法。
【請求項１８】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置によって読み取る読取方法。
【請求項１９】
請求項１乃至１６のいずれか一項に記載の前記コード画像を、前記情報処理装置に読み取らせる、または表示させるプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体。
【国際調査報告】
2018061232.tif 000049
2018061232.tif 000050
2018061232.tif 000051
2018061232.tif 000052