(57)【要約】【課題】大きい視距離では目立たせずにバーコードをカラー画像に埋め込め、小さい視距離ではバーコードを適切に分離でき、汎用的なバーコードリーダで読み取り可能にすること。【解決手段】併置加法混色による表現可能性およびバーコードリーダによる画素分離読み取り可能性を元にカラー画像中のバーコード埋め込み箇所を求める(S11)。バーコード埋め込み箇所のカラー画像を併置加法混色で表現し、バーコードリーダで読み取り可能なコード領域用および背景領域用カラー画像を作成する(S12,S13)。コード領域用および背景領域用カラー画像を用いてカラー画像重畳バーコード画像を生成し、バーコード埋め込み箇所に埋め込む(S14)。必要に応じてカラー画像重畳バーコード画像を修正し(S15)、原カラー画像を補正する(S16)。【選択図】図１
2008033625.tif 000002
【特許請求の範囲】
【請求項１】
表示デバイスの色域内の色での併置加法混色による表現可能性および併置加法混色で表現したときのバーコードリーダによる画素分離読み取り可能性を元にカラー画像におけるバーコード埋め込み箇所を求める第１のステップと、
前記バーコード埋め込み箇所の原カラー画像を併置加法混色で表現し、かつバーコードリーダで画素分離読み取りが可能なコード領域用カラー画像と背景領域用カラー画像を作成する第２のステップと、
コード領域を前記コード領域用カラー画像の画素で置き換え、背景領域を前記背景領域用カラー画像の画素で置き換えてカラー画像重畳バーコード画像を生成する第３のステップと、
前記バーコード埋め込み箇所に前記カラー画像重畳バーコード画像を埋め込む第４のステップを有することを特徴とするカラー画像へのバーコード埋め込み方法。
【請求項２】
前記第１のステップは、表示デバイスの色域内の色での併置加法混色で表現可能であり、かつ併置加法混色で表現したときにバーコードリーダで画素分離読み取りが可能となる画素の数に基づいてバーコード埋め込み箇所を求めることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項３】
前記第１のステップは、表示デバイスの色域内の色での併置加法混色で表現可能であり、かつ併置加法混色で表現したときにバーコードリーダで画素分離読み取りが可能となる画素でなくとも、埋め込み可能画素の数に基づいてバーコード埋め込み箇所を求めることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項４】
前記第１のステップは、表示デバイスの色域内の色でバーコードリーダで画素分離読み取りが可能な範囲では併置加法混色で表現できない画素の合計に基づいてバーコード埋め込み箇所を求めることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項５】
前記第１のステップは、表示デバイスの色域内の色でバーコードリーダで画素分離読み取りが可能な範囲では併置加法混色で表現できない画素が併置加法混色で表現できる領域とどの程度離れているのかという距離の総和に基づいてバーコード埋め込み箇所を求めることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項６】
前記第１のステップは、バーコードの背景またはコード領域のどちらかの色を先に決定した場合に、表示デバイスの色域内の色での併置加法混色で表現できない画素の数と併置加法混色で表現したときにバーコードリーダで画素分離読み取りが不可能となる画素の数の合計に基づいてバーコード埋め込み箇所を求めることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項７】
前記第１のステップは、カラー画像の画像中心から予め定められた一定領域部分をバーコード埋め込み領域から除外することを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項８】
前記第１のステップは、表示デバイスの色域内の色での併置加法混色で表現可能であり、かつ併置加法混色で表現したときにバーコードリーダでバーコードのセルを分離して読み取りが可能であり、かつバーコードのテクスチャと原カラー画像のテクスチャが類似している領域をバーコード埋め込み箇所とすることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項９】
前記第１のステップは、表示デバイスの色域内の色での併置加法混色表現可能であり、かつ併置加法混色で表現したときにバーコードリーダでバーコードのセルを分離して読み取りが可能であり、かつ大きな色差を持つ領域の境界線の付近の領域をバーコード埋め込み箇所とすることを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項１０】
前記第２のステップは、原カラー画像を表示デバイスの色域内の色での併置加法混色で表現するのに必要な画素が表現可能範囲外の画素となる場合、該画素を表現可能範囲内の画素に補正することを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項１１】
前記第２のステップは、原カラー画像を表示デバイスの色域内の色での併置加法混色で表現するのに必要な画素がバーコードリーダで分離読み取り可能な画素とならない場合、該画素をバーコードリーダで分離読み取り可能な画素に補正することを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項１２】
前記第２のステップは、原カラー画像を表示デバイスの色域内の色での併置加法混色で表現するのに必要な画素が表現可能範囲外の画素となり、かつバーコードリーダで分離読み取り可能な画素とならない場合、該画素を表現可能範囲内の画素に補正し、さらにバーコードリーダで分離読み取り可能な画素に補正することを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項１３】
さらに、前記カラー画像重畳バーコード画像において、エッジ・輪郭領域および原カラー画像と輝度や色の差が大きい領域のいずれか一方の領域あるいは両方の領域の画素を、誤り訂正可能な範囲で原カラー画像の画素で置き換えて修正する第５のステップを有することを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項１４】
さらに、前記バーコード埋め込み箇所周辺の所定領域の原カラー画像の画素を修正する第６のステップを有することを特徴とする請求項１に記載のカラー画像へのバーコード埋め込み方法。
【請求項１５】
請求項１によるカラー画像へのバーコード埋め込み方法を動画の第１フレームに対して実行し、以後のフレームでは、第１フレームで求められたバーコード埋め込み箇所をバーコード埋め込み箇所としてコード領域用カラー画像と背景領域用カラー画像を作成し、コード領域と背景領域に組み合わせる画像をフレームごとにコード領域用カラー画像と背景領域用カラー画像に交互に替えてカラー画像重畳バーコード画像を生成し、該カラー画像重畳バーコード画像を前記バーコード埋め込み箇所に埋め込むことを特徴とするカラー画像へのバーコード埋め込み方法。
【請求項１６】
表示デバイスの色域内の色での併置加法混色による表現可能性および併置加法混色で表現したときのバーコードリーダによる画素分離読み取り可能性を元にカラー画像におけるバーコード埋め込み箇所を求める第１の手段と、
前記バーコード埋め込み箇所の原カラー画像を併置加法混色で表現し、かつバーコードリーダで画素分離読み取りが可能なコード領域用カラー画像と背景領域用カラー画像を作成する第２の手段と、
コード領域を前記コード領域用カラー画像の画素で置き換え、背景領域を前記背景領域用カラー画像の画素で置き換えてカラー画像重畳バーコード画像を生成する第３の手段と、
前記バーコード埋め込み箇所に前記カラー画像重畳バーコード画像を埋め込む第４の手段を有することを特徴とするカラー画像へのバーコード埋め込み装置。
【請求項１７】
コンピュータに下記(1)〜(4)の機能を実行させるためのコンピュータプログラム。
(1)表示デバイスの色域内の色での併置加法混色による表現可能性および併置加法混色で表現したときのバーコードリーダによる画素分離読み取り可能性を元にカラー画像におけるバーコード埋め込み箇所を求める機能
(2)前記バーコード埋め込み箇所の原カラー画像を表示デバイスの色域内の色での併置加法混色で表現し、かつバーコードリーダで画素分離読み取りが可能なコード領域用カラー画像と背景領域用カラー画像を作成する機能
(3)コード領域を前記コード領域用カラー画像の画素で置き換え、背景領域を前記背景領域用カラー画像の画素で置き換えてカラー画像重畳バーコード画像を生成する機能
(4)前記バーコード埋め込み箇所に前記カラー画像重畳バーコード画像を埋め込む機能
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラー画像へのバーコード埋め込み方法および装置、およびコンピュータプログラムに関し、特に、視距離が離れたときにカラー画像にバーコードを目立たないように埋め込むことができ原画の画質をあまり損なわず、視距離が近いときにバーコードを視認できバーコード読み取りアクションを起こさせやすく、かつ携帯電話などにインストールされている既存のバーコードリーダを用いてバーコードを適切に読み取ることができるカラー画像へのバーコード埋め込み方法および装置、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
POSシステムなどではQRコードなどのバーコードを利用した商品管理が行われている。バーコードは、黒のバー部分と白の部分の組合せからなる。ここでは、黒のバー部分をコード領域、白の部分を背景領域と称する。なお、コード領域は黒以外の色のこともある。バーコード自体からはその内容を理解することが難しいため、バーコードの近傍にバーコードの内容を示す情報を印刷することが一般的に行われている。また、バーコードに重畳させてバーコードの内容を示す情報を印刷することも提案されている。
【０００３】
特許文献１には、バーコードの他に消費者への伝達情報を印刷するバーコード印刷方法が記載されている。このバーコード印刷方法では、バーコードリーダの照射光と同じ系統の第１の色調で消費者への伝達情報を印刷し、バーコードリーダの照射光と異なる系統の第２の色調でバーコードを印刷する。
【０００４】
特許文献２には、バーコードに文字あるいは画像あるいは識別マークなどを重ねて記録するバーコード記録方法が記載されている。このバーコード記録方法では、バーコードを読み取る光学読み取り装置の読み取り性に実質的に影響を与えない色で文字あるいは画像あるいは識別マークなどを記録する。
【０００５】
また、最近では携帯電話に予め２次元バーコードリーダがアプリケーションとしてインストールされていることが多い。このような携帯電話を利用すれば、雑誌やポスターなどに印刷された２次元バーコードを読み取ることでURL入力の手間を省くことなどが可能になる。
【０００６】
特許文献３には、２次元コードを着色して模様を形成したり、写真やイラストの一部にマスクをかけ、そこに色の調和するバーコードを組み合わせて配置することが記載されている。
【０００７】
特許文献４には、バーコードをメール、Webといった機能によって予め定められた単一指定色で置き換えたり、機能に対応した文字や図形や記号などをバーコード上に表示することが記載されている。
【０００８】
非特許文献１には、２次元バーコード上にロゴやマークを重畳させることにより２次元バーコードの内容の推測を容易にしたQRコードが記載されている。非特許文献２には、誤り訂正可能な範囲でコード部をつぶしてイラスト画像に置き換え、これによりデザイン性を高めたQRコードが記載されている。非特許文献３には、カラーブロックのマトリックスとして表現された部分を有し、カラーコード化された画像を認識できる２次元コードが記載されている。
【特許文献１】特開２００２−３２９１７２号公報
【特許文献２】特開平５−１３５２３４号公報
【特許文献３】特開２００５−３１６９７２号公報
【特許文献４】特開２００６−３１６８１号公報
【非特許文献１】http://e-ginga.net/dqrc.shtml
【非特許文献２】http://it-design.co.jp/
【非特許文献３】http://www.colorzip.co.jp/ja/
【発明の開示】
【発明が解決しようとする課題】
【０００９】
コード領域と背景領域のみからなるバーコードは、それ自体からその内容を理解することは困難であるので管理しにくい。また、バーコード自体は、意味を持たない幾何学的な模様であるため、面白味に欠けるという課題がある。
【００１０】
また、バーコードの近傍にその内容を示す情報を印刷するものでは、その分のスペースを必要とするという課題がある。例えば、ポスターにバーコードを印刷する場合、一般に画像領域の他にバーコード領域をとる必要がある。画像中に埋め込んだとしてもバーコードが目立ってしまうという課題がある。
【００１１】
特許文献１，２に記載されたバーコード印刷(記録)方法では、バーコードリーダ(光学読み取り装置)の読み取りに影響しないような色でバーコード以外の文字、画像、識別マークなどの情報を印刷(記録)するので、バーコード以外の情報の領域がコード領域と別々であり、両者の色が異なっていることが必要である。この場合、文字、画像、識別マークなどの情報は、コード領域以外の部分で表されることになり、QRコードのように、コード領域の部分が多いバーコードでは、文字、画像、識別マークなどの情報を十分に表現できない場合も起こり得る。
【００１２】
特許文献３，４や非特許文献１，２，３に記載された２次元バーコードでは、バーコードのデザイン性や管理の煩雑さは改善がされる。しかしながら、非特許文献１，２に記載された２次元バーコードは、２次元バーコード部での併置加法混色による色や輝度が元のカラー画像とほぼ等しくなるように設計されていないので、カラー画像中に埋め込まれたバーコードが目だってしまう。
【００１３】
例えば、特許文献４では、文字画像が重畳され、着色されたバー部を持つカラーバーコードを作成し、そのカラーバーコードを画像外あるいは画像内に配置する。画像内に配置する場合は、平坦部かつ着色されたバー部と色相の近い画像領域にバーコードを埋め込むことでデザイン性を考慮している。しかし、バーコードの白領域(背景領域)とバー部の併置加法混色を考慮していないため、視距離が離れている場合に、バーコード領域が周辺領域と異なった色として認識される。また、目立たないようにバーコードを埋め込むことが考慮されておらず、テクスチャ領域などを優先することなく、平坦部にバーコードを埋め込んでいる。
【００１４】
したがって、カラー画像のデザイン性が劣化するという課題がある。なお、併置加法混色とは、並置された画素がその中間色として視覚上で認識されるように混色されることを意味する。詳しくは、色ａ(Xa,Ya,Za)，色ｂ(Xb,Yb,Zb)が画像の微小領域に存在し、その面積比がm:(1-m)ならば、視覚上で認識される色ｃ(Xc,Yc,Zc)は、Xc=Xa*m+Xb*(1-m)，Yc=Ya*m+Yb*(1-m)，Zc=Za*m+Zb*(1-m)となる。ここで、色a，b，cは、CIE-XYZ表色系で表されているものとする。
【００１５】
また、非特許文献３に記載された２次元バーコードは、カラーバーコードの１種であり、このバーコードをカラー画像中に目立たないように埋め込むことが困難であるという課題がある。
【００１６】
本発明の目的は、視距離が十分遠い場合、カラー画像に目立たないようにバーコードを埋め込むことができ、かつ、視距離が十分近い場合、バーコードリーダによる読み取りアクションに繋がるバーコードの存在を認識することができ、かつ、汎用的なバーコードリーダを用いてバーコードを適切に読み取ることができる、カラー画像へのバーコード埋め込み方法および装置、およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するため、本発明は、表示デバイスの色域内の色での併置加法混色による表現可能性および併置加法混色で表現したときのバーコードリーダによる画素分離読み取り可能性を元にカラー画像におけるバーコード埋め込み箇所を求める第１のステップと、前記バーコード埋め込み箇所の原カラー画像を併置加法混色で表現し、かつバーコードリーダで画素分離読み取りが可能なコード領域用カラー画像と背景領域用カラー画像を作成する第２のステップと、コード領域を前記コード領域用カラー画像の画素で置き換え、背景領域を前記背景領域用カラー画像の画素で置き換えてカラー画像重畳バーコード画像を生成する第３のステップと、前記バーコード埋め込み箇所に前記カラー画像重畳バーコード画像を埋め込む第４のステップを有する点に第１の特徴がある。
【００１８】
また、本発明は、前記第１のステップが、表示デバイスの色域内の色での併置加法混色で表現可能であり、かつ併置加法混色で表現したときにバーコードリーダで画素分離読み取りが可能となる画素の数に基づいてバーコード埋め込み箇所を求める点に第２の特徴がある。
【００１９】
また、本発明は、前記第１のステップが、表示デバイスの色域内の色での併置加法混色で表現可能であり、かつ併置加法混色で表現したときにバーコードリーダで画素分離読み取りが可能となる画素でなくとも、埋め込み可能画素の数に基づいてバーコード埋め込み箇所を求める点に第３の特徴がある。
【００２０】
また、本発明は、前記第１のステップが、表示デバイスの色域内の色でバーコードリーダで画素分離読み取りが可能な範囲では併置加法混色で表現できない画素の合計に基づいてバーコード埋め込み箇所を求める点に第４の特徴がある。
【００２１】
また、本発明は、前記第１のステップが、表示デバイスの色域内の色でバーコードリーダで画素分離読み取りが可能な範囲では併置加法混色で表現できない画素が併置加法混色で表現できる領域とどの程度離れているのかという距離の総和に基づいてバーコード埋め込み箇所を求める点に第５の特徴がある。
【００２２】
また、本発明は、前記第１のステップが、バーコードの背景またはコード領域のどちらかの色を先に決定した場合に、表示デバイスの色域内の色での併置加法混色で表現できない画素の数と併置加法混色で表現したときにバーコードリーダで画素分離読み取りが不可能となる画素の数の合計に基づいてバーコード埋め込み箇所を求める点に第６の特徴がある。
【００２３】
また、本発明は、前記第１のステップが、カラー画像の画像中心から予め定められた一定領域部分をバーコード埋め込み領域から除外する点に第７の特徴がある。
【００２４】
また、本発明は、前記第１のステップが、表示デバイスの色域内の色での併置加法混色表現可能であり、かつ併置加法混色で表現したときにバーコードリーダでバーコードのセルを分離して読み取りが可能であり、かつバーコードのテクスチャと原カラー画像のテクスチャが類似している領域をバーコード埋め込み箇所とする点に第８の特徴がある。
【００２５】
また、本発明は、前記第１のステップが、表示デバイスの色域内の色での併置加法混色で表現可能であり、かつ併置加法混色で表現したときにバーコードリーダでバーコードのセルを分離して読み取りが可能であり、かつ大きな色差を持つ領域の境界線の付近の領域をバーコード埋め込み箇所とする点に第９の特徴がある。
【００２６】
また、本発明は、前記第２のステップが、原カラー画像を表示デバイスの色域内の色での併置加法混色で表現するのに必要な画素が表現可能範囲外の画素となる場合、該画素を表現可能範囲内の画素に補正する点に第１０の特徴がある。
【００２７】
また、本発明は、前記第２のステップが、原カラー画像を表示デバイスの色域内の色での併置加法混色で表現するのに必要な画素がバーコードリーダで分離読み取り可能な画素とならない場合、該画素をバーコードリーダで分離読み取り可能な画素に補正する点に第１１の特徴がある。
【００２８】
また、本発明は、前記第２のステップが、原カラー画像を表示デバイスの色域内の色での併置加法混色で表現するのに必要な画素が表現可能範囲外の画素となり、かつバーコードリーダで分離読み取り可能な画素とならない場合、該画素を表現可能範囲内の画素に補正し、さらにバーコードリーダで分離読み取り可能な画素に補正する点に第１２の特徴がある。
【００２９】
また、本発明は、さらに、前記カラー画像重畳バーコード画像において、エッジ領域および原カラー画像と輝度や色の差が大きい領域のいずれか一方の領域あるいは両方の領域の画素を、誤り訂正可能な範囲で原カラー画像の画素で置き換えて修正する第５のステップを有する点に第１３の特徴がある。
【００３０】
また、本発明は、さらに、前記バーコード埋め込み箇所周辺の所定領域の原カラー画像の画素を修正する第６のステップを有する点に第１４の特徴がある。
【００３１】
また、本発明は、動画像に対しても適用できる。その場合、上記カラー画像へのバーコード埋め込み方法を動画の第１フレームに対して実行し、以後のフレームでは、第１フレームで求められたバーコード埋め込み箇所をバーコード埋め込み箇所としてコード領域用カラー画像と背景領域用カラー画像を作成し、コード領域と背景領域に組み合わせる画像をフレームごとにコード領域用カラー画像と背景領域用カラー画像に交互に替えてカラー画像重畳バーコード画像を生成し、該カラー画像重畳バーコード画像を前記バーコード埋め込み箇所に埋め込むようにすればよい。
【００３２】
本発明は、方法としてだけでなく、装置としてもコンピュータプログラムとしても実現できる。
【発明の効果】
【００３３】
本発明によれば、バーコード埋め込み箇所に埋め込まれるカラー画像重畳バーコード画像が、併置加法混色で原カラー画像を表現するコード領域用カラー画像と背景領域用カラー画像から生成されるので、バーコードをカラー画像の一部に目立たないように埋め込むことができる。２次元バーコードを埋め込めば、省スペースに多量の情報を目立たずに埋め込める、また、バーコードリーダは携帯電話に予めインストールされていることも多く、個々人がバーコードリーダを導入する手間が一般的に少ない。
【００３４】
本発明によれば、目立たずに画像中にバーコードを埋め込むために、コード領域がコード領域用カラー画像で置き換えられ、背景領域が背景領域用カラー画像で置き換られ、認識される色や輝度は併置加法混色により原カラー画像とほぼ等しくなるようにされているので、バーコード埋め込み箇所はその周辺の原カラー画像とほぼ同一化して見えるようになり、カラー画像の一部にバーコードを埋め込んだとしても画像の雰囲気を壊さない。
【００３５】
さらに、カラー画像重畳バーコード画像のエッジ領域や原カラー画像と輝度や色の差が大きい領域の画素を、誤り訂正可能な範囲で原カラー画像の画素で置き換えて修正するように処理したり、バーコード埋め込み箇所周辺の所定領域の原カラー画像の画素を修正するように処理したりすることにより、埋め込まれたバーコードを一層目立たなくすることができる。
【００３６】
これにより、例えばマトリックス型のバーコードの場合、バーコードの１セルを視認できない程度の視距離からカラー画像を見た場合、バーコードの大半を占める領域が原画と区別できなくなるため、カラー画像にバーコードが重畳されていることに気づきにくく、原画の画質がほとんど損なわれない。また、QRコードのように特徴的な切り出しシンボルなどが存在する場合は、１つの切り出しシンボルが視認できない程度の視距離であれば、セルだけでなく切り出しシンボルも視認できないので、QRコードの存在に気づかない。バーコードに似たテクスチャ領域に埋め込む場合は、１セルを視認できる距離以下からでもバーコードが重畳されていることに気づきにくい。しかし、視距離が十分近い場合にはバーコードの１セルを視認できるので読み取りアクションに繋がるという特徴が生まれる。
【００３７】
これにより、視距離が離れている場合、カラー画像とバーコードの視覚上での分離を抑制することができ、バーコード埋め込みによるポスター、写真などの映像デザイン性の劣化させることなく画像領域のみでバーコードを表示でき、視距離が近い場合にはバーコードを視認できるので、バーコードリーダによる読み取りアクションのトリガとすることができる。例えば、バーコードをグラフィックや写真を用いたポスターに埋め込んだ場合、近寄って見た場合にはバーコードが埋め込まれていることに気付くが、遠くからポスターを眺めた場合には広い範囲にローパスフィルタがかかったような状態で見えるので、バーコードの存在に気付きにくくなる。
【００３８】
写真であれば、写真の著作者の連絡先などをバーコードで埋め込んでおき、写真の利用を要求する人がバーコードを読み取って著作者に連絡するような利用形態を考えることができる。もちろん、バーコードが埋め込まれたカラー画像は、印刷物だけでなく、液晶やCRTやプラズマなどのディスプレイにも表示できる。画像表示ソフトは、画像サイズが大きい場合、バイキュービック法やバイリニア法などによりフィルタを用いて縮小して表示する場合が多い。画像を縮小した場合は、視距離が離れている場合と同様の効果が生まれ、重畳したバーコードは見えにくくなり、原画が画質をあまり損なわれないが、バーコードが埋め込まれたカラー画像を原寸大表示をすれば、バーコードリーダで読み取り可能なバーコードを表示できる。  
【００３９】
また、本発明によれば、カラー画像コード領域用カラー画像と背景領域用カラー画像がバーコードリーダで分離読み取り可能に作成されているので、バーコードリーダを用いてバーコードを適切に読み取ることができる。したがって、任意のカラー画像をバーコードに重畳し、自然光の下でバーコードリーダでバーコード情報を読み取ることができる。
【００４０】
また、本発明を動画に適用し、重畳させるバーコードをフレームごとに白黒反転させれば、動画上では画素ごとに時間的混色で中間色が認識されるので、バーコードを一層気付きにくくすることができる。動画に埋め込んだバーコードは、フレーム切り替え速度よりも速いシャッタ速度で撮影した写真からバーコードリーダで読み取ることができる。
【発明を実施するための最良の形態】
【００４１】
以下、図面を参照して本発明を説明する。なお、本発明は、方法としても装置としてもコンピュータプログラムとしても実現でき、また、装置はハードウエアでもソフトウエアでも実現できる。以下では、本発明を方法として実現した場合について説明するが、装置は各ステップを実行する手段で実現でき、コンピュータプログラムはコンピュータに各ステップの機能を実行させるものとして実現できる。
【００４２】
図１は、本発明の一実施形態における処理を示すフローチャートである。まず、バーコード画像と該バーコード画像を埋め込むカラー画像(原カラー画像)を用意し、カラー画像中のバーコードを埋め込むのに適した箇所(バーコード埋め込み箇所)を判定する(S11)。カラー画像は任意の画像でよく、バーコードはQRコードなどの２次元バーコードでも１次元バーコードでもよい。なお、バーコードにおけるコード領域と背景領域の面積はほぼ等しいものとする。色a(Xa,Ya,Za)，色b(Xb,Yb,Zb)が画像の微小領域に存在したとき、その面積比がm:(1-m)=0.5:0.5になる場合が多い。以下では、m=0.5として記述するが、バーコードの微小領域ごとにコード領域と背景領域の面積比を計算してもよい。その場合、併置加法混色により表現できる色範囲は、微小領域ごとに異なる。
【００４３】
S11の判定では、表示対象となるディスプレイやプリンタの色域を用いて、または多数のディスプレイやプリンタに表示することを目的とする場合はそれらのAND集合の色域を用いて、併置加法混色で表現可能かどうか(併置加法混色による表現可能性)、かつ併置加法混色で表現したときにバーコードリーダで画素を分離して読み取り可能かどうか(併置加法混色で表現したときのバーコードリーダによる画素分離読み取り可能性)を元に、両者が可能となる色および輝度範囲を求めておき、カラー画像におけるバーコードと同一サイズの領域内でその範囲内に収まる画素の多い領域をバーコード埋め込み箇所とする。ディスプレイやプリンタの色域は、分光光度計や既に発行されているICCプロファイルにより取得できる。 
【００４４】
具体例では、以下の処理(1)〜(2)によりバーコード埋め込に箇所を判定する。
【００４５】
(1)バーコード埋め込みに適した画素値範囲を求める
まず、色度図上で、バーコード埋め込みに適した画素値範囲を求める。バーコードで置き換えられる領域の背景領域を、例えば白と仮定した場合、白と任意の色の併置加法混色で表現可能な画素値範囲が存在する。しかし、併置加法混色で表現可能な画素値範囲でも、バーコードリーダで白と分離できない画素値範囲ではコード領域と背景領域とを区別して読み取ることができない。したがって、併置加法混色では表現可能であるが、バーコードリーダではコード背景と背景領域を分離できない読み取り不可能な画素値範囲は除く。この画素値範囲がバーコード埋め込みに適した画素値範囲となる。
【００４６】
図２に示すｘｙ色度図で、背景領域を白とした場合に併置加法混色により得られる色は、白の位置と任意の色の位置の中点により求めることができる。例えば、背景領域の白画素(w)とコード領域の画素(k)の併置加法混色により△位置の色が得られる。厳密には、コード領域と背景領域がほぼ同じ確率で存在する場合、併置加法混色は、ICE-XYZ表色系で表したときのwとkの中点により求められる。さらに厳密に微小領域に注目すると、コード領域と背景領域の面積比がm:(1-m)ならば、視覚上で認識される色c(Xc,Yc,Zc)は、コード領域a、背景領域bとすると、Xc=Xa*m+Xb*(1-m),Yc=Ya*m+Yb*(1-m),Zc=Za*m+Zb*(1-m)となる。
【００４７】
図３および図４は、バーコード埋め込みに適した画素値範囲を示す説明図である。特に背景色を固定しない場合、図３の領域RＣが併置加法混色で表現可能な領域となる。ここで、図３は、CIE-XYZ表色系を用いており、RＤは表示デバイスで表現可能な色域とし、バーコードリーダは、コード部と背景部で十分な明度差HＸＹＺがあるときに読み取り可能とする。図３では明度差はY軸に平行していると仮定して表記している。コード部を置き換えた色kと背景部を置き換えた色wが表示デバイスで表現可能な色域に存在し、バーコードリーダで分離可能な明度差HＸＹＺを色wと色kが満たすときのwとkの中点の取り得る範囲が領域RＣとなる。RＣの範囲内に収まる原画の画素が多い領域は、埋め込みやすい領域と考える。
【００４８】
バーコードの背景色を白など単一色に固定する場合は、白と表示デバイスで表現可能な色範囲との併置加法混色で表現可能で、かつ、バーコードリーダで読み取り可能な色の範囲を求める。背景色を白に固定した場合ならば、図３の領域RＣは上部に偏って存在する。これにより、CIE-XYZ表色系上でバーコード埋め込みに適した画素値範囲を求めることができる。また、併置加法混色で表現可能な色の範囲は厳密に可能でなくともよく、求めた範囲から少々のずれならば埋め込み可能とすることができる。
【００４９】
ここでは、理解を容易にするためにＲＧＢ色度図を追加した。図４において、(R,G,B)＝(0,0,0)、(R,G,B)＝(1,1,1)はそれぞれ、黒、白を示している。
【００５０】
背景色を白と固定した場合、白(1,1,1)と任意の色の併置加法混色で表現可能な画素値範囲を図示実線の立体内とする。また、白(1,1,1)との併置加法混色が図示破線の立体内となる画素値でコード領域を印刷した場合、バーコードリーダが、このコード領域を背景領域の白と区別して読み取ることができないとすると、図示実線の立体から図示破線の立体を除いた立体内の画素値範囲がバーコード埋め込みに適した画素値範囲RＣとなる。また、併置加法混色で表現可能な色の範囲は厳密に可能でなくともよく、求めた範囲から少々のずれならば埋め込み可能とすることができる。また、なお、バーコードは、バーコードリーダで読み出し可能程度に余白(マージン)を小さくすると、埋め込んだバーコードと埋め込み先画像の境界が目立たない。
【００５１】
(2)バーコード埋め込み箇所を求める
バーコード埋め込み箇所を求める第１の方法は、上記(1)の画素値範囲内の画素の数を元に最適なバーコード埋め込み箇所を探索する方法である。
【００５２】
そのために、カラー画像からバーコードサイズの領域を位置を変えつつ切り出し、各切り出し領域において画素ごとに上記(1)の画素値範囲内の画素かどうかを調べる。そして、各切り出し領域について上記(1)の画素値範囲内の画素の総数を求め、その総数がある程度大きい切り出し領域をバーコード埋め込み箇所とする。画素ごとに上記(1)の範囲内かどうかを調べるのではなく、微小領域で画素値を平均化し、その平均画素値が上記(1)の範囲内かどうかを調べてもよい。これにより、明度差のある細かいテクスチャも上記(1)の範囲に入りやすくなる。また、上記(1)の画素値範囲内に入らない画素が上記(1)の範囲から少々のずれならば上記(1)の範囲内の画素と数えてもよい。
【００５３】
カラー画像の表色系と上記(1)の画素値範囲の表色系が異なる場合は、変換式を用いて表色系を同じにする必要がある。例えば、カラー画像(写真)がRGB表色系で、上記(1)の画素値範囲がXYZ表色系で求められている場合、カラー画像をRGB→XYZ変換するか、上記(1)の画素値範囲をXYZ→RGB変換し、両者の表色系を同じにした後、切り出し領域を調べる。なお、併置加法混色の計算はXYZ表色系で行うので、カラー画像をRGB→XYZ変換するのが好ましい。
【００５４】
バーコード埋め込み箇所を求める第２の方法は、上記(1)の画素値範囲外の画素の数を元に最適なバーコード埋め込み箇所を探索する方法である。ここでも、上記(1)の画素値範囲内に入らない画素が上記(1)の範囲から少々のずれならば上記(1)の範囲内の画素と数え、残りを上記(1)の画素値範囲外の画素と考えてもよい。そのために、カラー画像からバーコードサイズの領域を位置を変えつつ切り出し、各切り出し領域において画素ごとに上記(1)の画素値範囲外の画素かどうかを調べる。
【００５５】
切り出し領域において上記(1)の画素値範囲外の画素の総数が少ないものを埋め込み箇所とする。
【００５６】
画素数ではなく、埋め込み可能な画素において上記(1)の範囲からどの程度離れているかの距離をはかり、切り出した領域において距離の総和が小さい場合にバーコード埋め込みに適するとしてもよい。
【００５７】
また、上記(1)の画素値範囲外の画素の総数がある程度少ない場合のみ、埋め込み可能な画素において上記(1)の範囲からどの程度離れているかの距離をはかり、切り出した領域において距離の総和が小さい場合にバーコード埋め込みに適するとしてもよい。
【００５８】
ここで、上記(1)の領域と画素との距離は、均等色空間を用いて計算することが望ましい。
【００５９】
背景領域を白などに固定した場合、画素が上記(1)の併置加法混色で表現可能な画素値範囲外の画素の場合には減点(-1点)し、バーコードリーダの読み取り可能範囲外となる場合も減点(-1点)する。各切り出し領域について減点の総数を求め、減点がある程度少ない切り出し領域をバーコード埋め込み箇所とすることもできる。
【００６０】
さて、バーコードを重畳する領域は、上記(1)を満たす領域で、バーコードが目立たなくなる領域が望ましい。カラー画像の平坦箇所にバーコードを重畳すると、バーコードのテクスチャが目立ちやすい。図５は、カラー画像の平坦箇所にバーコードを重畳した例である。これに対して、バーコードのテクスチャと切り出し領域のテクスチャを解析し、お互いのテクスチャが似ている領域をバーコードの埋め込み領域とすると、バーコードのテクスチャが目立たなくなる。これは、バーコード画像と切り出し領域の画像を各々２次元周波数変換し、その交流成分の相関を計算し、相関の近いものをテクスチャが近いとすることで実現できる。２次元周波数変換としては、ウエーブレット変換、フーリエ変換、DCT変換などを用いることができる。
【００６１】
また、カラー画像に明確な境界が存在するとき、境界線があるために、その境界付近の領域に重畳されたテクスチャは、平坦箇所に重畳されたテクスチャよりも目立たない。切り出した領域が上記(1)を満たしつつ、色度差の大きい明確な２つの領域(例えば青領域と赤領域など)の境界は、バーコードのテクスチャが目立ちにくい。そこで、大きな色差を持つ境界線の付近の領域にバーコードを埋め込むことも好ましい。大きな色差を持つ境界線の付近の領域にバーコードを埋め込むためには、まず、領域成長・分割法、ヒストグラムによる領域分割法、スネークの動的輪郭法などの画像領域分割法を用いてカラー画像を異なる色差を持つ領域に分割する。次に、上記(1)を満たす領域が２つの異なる領域を含み、各々の領域の特徴的な色が離れた色差を持ち、その領域境界が明確な場合、つまり領域境界の強さが大きい場合のみ、該領域にバーコードの埋め込みを行う。ただし、ある領域に囲まれる細線領域は、領域数に数えない。境界線は埋め込みバーコード周辺に連続しているものとする。領域境界の強さは、領域の境界付近における色度の差分値などにより求めることができる。
【００６２】
図６は、テクスチャの似ている領域と領域境界の強さが大きい領域にバーコードを埋め込んだ場合の例を示している。
【００６３】
なお、カラー画像中心部は、比較的バーコードの存在に気付き易く、カラー画像のデザイン性などに影響するので、カラー画像中心部から所定領域部分、例えば中心から周囲までの長さの1/2範囲内の領域部分を最初から切り出し領域の対象外としておくことが好ましい。
【００６４】
図７は、バーコード埋め込みに適した箇所を示す説明図である。図７において、領域Aはカラー画像が黒っぽすぎて、領域Bは白っぽすぎてバーコードリーダで分離して読み取り不可能となる範囲で併置加法混色で表現できないので、バーコード埋め込み箇所としては適さない。バーコード埋め込み箇所として適するのは領域Cとなる。また、カラー画像の平坦部よりもテクスチャ部や色差の大きい領域境界部がバーコード埋め込み箇所に適する。
【００６５】
バーコード埋め込み箇所として複数の領域を予め定めておき、その中から上記処理で実際のバーコード埋め込み箇所を選択するようにしてもよい。また、カラー画像の輝度分布などに従ってバーコード埋め込み箇所として適する部分を大まかに求め、その部分内でバーコード埋め込み箇所を探索するようにしてもよい。
【００６６】
また、上記(1)のような範囲を予め求めず。切り出した領域に存在する画素ごとに上記(1)の範囲に入るか否かを切り出し領域で計算し、埋め込み可能な箇所が多い切り出し領域を埋め込み箇所として求めてもよい。上記(1)の範囲に入らない画素や距離を求めて、それらが少ない箇所を埋め込み箇所としてもよい。画素ごとに埋め込み可能かどうか判定する方式では、図３の場合、画素が色wと色kの中点となり、色wと色kはY軸に関してHＸＹＺ以上離れるような色wと色kがデバイスの表示領域RＤに入るならば、埋め込み可能となる。
【００６７】
図１に戻って、S12とS13では、バーコード埋め込み箇所の原カラー画像の色と輝度を変換し、コード領域用カラー画像と背景領域用カラー画像を作成する。このとき、バーコードのコード領域をコード領域用カラー画像の画素で置き換え、背景領域を背景領域用カラー画像の画素で置き換えた場合に、コード領域と背景領域をバーコードリーダで分離して読み取ることができ、かつコード領域用カラー画像と背景領域用カラー画像の併置加法混色による色と輝度が原カラー画像の色と輝度とほぼ同じになるように変換する。
【００６８】
例えば、背景領域用カラー画像を白とする場合、画素ごとのコード領域用カラー画像の画素値は、以下のようにして決定できる。
【００６９】
XYZ表色系上で、背景領域用カラー画像の白と表現したい原カラー画像(変換前のカラー画像)の色を直線で結び、その直線の長さを２倍して延ばした位置をコード領域用カラー画像の画素値とする。ただし、切り出し領域の画素の中には上記(1)の画素値範囲内に含まれない画素も存在する。その場合の画素については上記(1)の範囲内の最も近い点を画素とし、背景領域用カラー画像の白と表現したいカラー画像(変換前のカラー画像)の色を直線で結び、その直線の長さを２倍して延ばした位置をコード領域用カラー画像の画素値とする。
【００７０】
以上の実施形態では背景領域用カラー画像を白とし、S13で画素ごとのコード領域用カラー画像の画素値を変換したが、背景領域用カラー画像は白に限られず、原カラー画像の色と輝度を考慮して、S12で背景領域用カラー画像を、例えばその部分に近い色にしてもよい。この場合にもCIE-XYZ表色系上で背景領域用カラー画像の画素値との関係でコード領域用カラー画像の画素値を変換することはもちろんである。また、逆に、まず、コード領域用カラー画像の画素値を定め、その後、該画素値に応じて背景領域用カラー画像の画素値を変換するようにしてもよい。
【００７１】
背景領域用およびコード領域用カラー画像の双方を切り出した原画から求める方法として、以下が考えられる。原画の画素が存在する色相をCIE-XYZ表色系から切り出す。原画の画素を含み、図３のS軸(X=Y=Z)を通る平面はS軸を対象に２つの色相面を持つが、原画の画素が存在する方が原画の存在する色相となるので、こちらの色相面だけに着目する。次に、原画の画素から明度の軸(ここではY軸)に平行に直線をHＸＹＺ/2だけ輝度が明るくなる方向、暗くなる方向にそれぞれ伸ばす。明るくなる方向に伸ばした直線の先の点および暗くなる方向に伸ばした先の点が上記(1)の領域に存在するならば、その点をそれぞれ、背景領域用画素値、バー領域用画素値とする。もし、どちらか一方でも上記(1)の領域に入らないならば、原画の画素値を通る直線を徐々に傾け、Y軸方向にHＸＹＺ/2だけ原画画素から離れた双方の点が入るようにし、その点を背景領域用画素値、バー領域用画素値とする。切り出した原画がそれほどコントラストが強くない場合などには、HＸＹＺ/2以上で設定してもよい。また、併置加法混色で表現できない原画画素の場合は、最も原画画素から近い、上記(1)の範囲内の画素に置き換え、上記と同様の処理を行えばよい。なお、画素の近さは、均等色空間(CIE-L*a*b*表色系)に変換し、ユークリッド距離で測るとよい。
【００７２】
S14では、原カラー画像におけるバーコード領域の画像を、S12およびS13で色および輝度変換された背景領域用カラー画像およびコード領域用カラー画像で置き換える。つまり、バーコードの背景領域を背景領域用カラー画像で置き換え、コード領域をコード領域用カラー画像で置き換えてカラー画像重畳バーコード画像を生成し、それをバーコード埋め込み箇所に埋め込む。
【００７３】
以上により、カラー画像中にバーコードを目立たないように埋め込むことができる。図５，図６および図８は、QRコードが埋め込まれた画像の実際例を示す。なお、実際上ではカラー画像であるので、QRコードは図示より目立たないものとなる。また、図８では４つのQRコードを埋め込んでいるが、埋め込むQRコードは１つあるいは他の数でもよく、また、QRコードを斜め方向に埋め込むこともできる。
【００７４】
さらに、以下の処理S15やS16を行うことにより、バーコードを一層目立たないようにすることができる。
【００７５】
S15では、カラー画像重畳バーコード画像において、エッジ領域や原カラー画像と輝度や色の差が大きい領域の画素を修正する。この修正は、誤り訂正が可能な範囲で行い、また、コード領域か背景領域かに拘わらずに行うものとする。
【００７６】
例えば、エッジ領域の画素を修正する場合、バーコード埋め込み箇所の原カラー画像にソベル、ラプラシアンフィルタなどをかけてエッジが大きい領域や輪郭抽出フィルタにより輪郭部を特定し、該領域を原カラー画像の画素値で置き換える。つまり、バーコード埋め込み箇所のカラー画像のエッジが大きい領域では、埋め込んだバーコードの上から原カラー画像を上書きする。図６では、マンドリルの鼻を上書きしている。人間の顔であれば目や鼻や口(口角)など特徴を持つ領域を上書きしてもよい。
【００７７】
また、原カラー画像と輝度や色の差が大きい領域の画素値を修正する場合には、主に、上記(1)の領域に入らず補正を行った領域を原カラー画像の画素値で置き換える。これらの領域の画素値を修正することにより、埋め込んだバーコードをさらに目立たなくすることができ、また、バーコードの持つ誤り訂正可能範囲のみで修正を行うこととしているので、読み取り時には誤りなくバーコードを読み取ることができる。
【００７８】
S16では、カラー画像重畳バーコード画像に合わせてその他の部分の原カラー画像を補正することにより、埋め込んだバーコードをさらに目立たなくする。つまり、カラー画像重畳バーコード画像の輝度や色とその周辺の原カラー画像の輝度や色と差が大きい場合、境界が目立つことがあるので、原カラー画像をバーコード埋め込み箇所のカラー画像に合わせて輝度や色を補正する。
【００７９】
ここでの補正は、バーコード埋め込み箇所の周辺のカラー画像を対象として行うことが好ましい。バーコードを埋め込むことによって埋め込んだ後の併置加法混色が埋め込み前の色として彩度が低下することがあるが、バーコード埋め込み箇所の周辺のカラー画像を中心に補正することにより、カラー画像全体を対象として補正を行う場合に比べて彩度の低下を防ぐことができる。原カラー画像の彩度を低下させたり、輝度を中間階調に集中するようにしたりしたのちに、S11-S15を行い、バーコードを埋め込み、その後バーコード埋め込み箇所から離れた箇所を原カラー画像に戻し、バーコード埋め込み箇所の周辺をバーコードの埋め込みが目立たないように補正してもよい、バーコード埋め込み箇所では彩度の低下や輝度の変化が起きやすいので、それが目立たないように周辺原画を補正する。
【００８０】
以上では、静止画にバーコードを埋め込む場合について説明したが、動画の一部にバーコードを埋め込むこともできる。動画の一部にバーコードを埋め込む場合、まず、あるフレーム(第１フレーム)の画像において上記と同様にバーコード埋め込み箇所を求め、バーコード埋め込み箇所の原カラー画像の色と輝度を変換し、コード領域用カラー画像と背景領域用カラー画像を作成する。次に、コード領域をコード領域用カラー画像で置き換え、背景領域を背景領域用カラー画像で置き換える。
【００８１】
以後に続くフレームでは、第１フレームで求められたバーコード埋め込み箇所をバーコード埋め込み箇所としてコード領域用カラー画像と背景領域用カラー画像を作成する。そして、第１のフレームに続く第２フレームでは、コード領域を背景領域用カラー画像で置き換え、背景領域をバーコード領域用カラー画像で置き換え、第２のフレームに続く第３フレームでは、コード領域をコード領域用カラー画像で置き換え、背景領域を背景領域用カラー画像で置き換え、第３フレームに続く第４フレームでは、バーコードのコード領域を背景領域用カラー画像で置き換え、背景領域をバーコード領域用カラー画像で置き換える、というように、コード領域と背景領域に組み合わせる画像をフレームごとにコード領域用カラー画像と背景領域用カラー画像に交互に替え、これにより生成されるカラー画像重畳バーコード画像を埋め込む。
【００８２】
この場合、動画上では画素ごとに人の目の中で時間的な併置加法混色が起こるので、バーコードを一層気付きにくくすることができる。動画に埋め込んだバーコードは、フレーム切り替え速度よりも速いシャッタ速度で撮影した写真からバーコードリーダで読み取ることができる。
【００８３】
以上、実施形態について説明したが、本発明は上記実施形態に限定されない。例えば、バーコードはグラフィック中に埋め込むこともでき、バーコードを斜めに埋め込み、斜め方向に読み取るようにすることもできる。また、携帯電話に、それで撮影した写真にバーコードを埋め込むアプリケーションを搭載しておけば、エンターテインメント性の高いQRコード情報伝達が可能となる。
【図面の簡単な説明】
【００８４】
【図１】本発明の一実施形態における処理を示すフローチャートである。
【図２】併置加法混色により得られる色を示す説明図である。
【図３】併置加法混色で表現可能かつバーコードで分離読み取り可能なCIE-XYZ表色系での領域を示す説明図である。
【図４】バーコード埋め込みに適した画素値範囲を示す説明図である。
【図５】カラー画像の平坦箇所にバーコードを重畳した例を示す図である。
【図６】テクスチャの似ている領域と領域境界の強さが大きい領域にバーコードを埋め込んだ場合の例を示す図である。
【図７】バーコード埋め込みに適した箇所を示す説明図である。
【図８】QRコードが埋め込まれた画像の実際例を示す。
【符号の説明】
【００８５】
S11・・・バーコード埋め込み箇所判定処理、S12・・・背景領域用カラー画像作成処理、S13・・・コード領域用カラー画像作成処理、S14・・・カラー画像重畳バーコード画像生成・埋め込み処理、S15・・・、エッジ領域や原カラー画像と輝度や色の差が大きい領域の画素修正処理、S16・・・原カラー画像の補正処理
【図１】
2008033625.tif 000003
【図２】
2008033625.tif 000004
【図３】
2008033625.tif 000005
【図４】
2008033625.tif 000006
【図５】
2008033625.tif 000007
【図６】
2008033625.tif 000008
【図７】
2008033625.tif 000009
【図８】
2008033625.tif 000010