(57)【特許請求の範囲】
【請求項１】
情報が埋め込まれた図形から、埋め込まれた情報を読み取るための情報読取プログラムであって、
前記情報読取プログラムは、カメラ部および表示部を有する携帯端末装置により実行され、
前記図形は、本体部と外延部とから構成されて、
カメラ部で撮影した図形の本体部領域を認識する本体部領域認識手段と、
カメラ部で撮影した図形の外延部領域を認識する外延部領域認識手段と、
前記外延部領域認識手段により認識された前記外延部領域に埋め込まれた情報の読み取り開始位置を設定する開始位置設定手段と、
前記外延部領域から展開係数を算出する展開係数算出手段と、
算出された展開係数を用いて埋め込まれた情報を復元する情報復元手段
として携帯端末を機能させることを特徴とする図形情報読取プログラム。
【請求項２】
前記展開係数は、フーリエ展開式の係数であり、
前記開始位置設定手段は、撮影図形のフーリエ展開係数の最低周波の係数を定数として用いて、埋め込まれた情報の読み取り開始位置を設定することを特徴とする請求項１に記載の図形情報読取プログラム。
【請求項３】
前記展開係数は、シャウダー展開式の係数であり、
前記図形の読み取り開始位置は、撮影した図形の本体部輪郭と平行な一定長さの外延部輪郭を有する部分を設けることによって形成されていることを特徴とする請求項１に記載の図形情報読取プログラム。
【請求項４】
前記本体部領域認識手段は、カーソルによって指定された位置の近傍から、カメラ部で撮影した図形の本体部領域の平網部の色を入手することで、図形の本体部領域を認識することを特徴とする請求項１に記載の図形情報読取プログラム。
【請求項５】
撮影する図形の分解能が十分に得られない場合に、
前記カメラ部は、図形を複数に分割して撮影し、
前記本体部領域認識手段および前記外延部領域認識手段は、それらの相対位置をパターンマッチングにより決定し、それらを合成することで撮影した図形を得ることを特徴とする請求項１から請求項４のいずれか一項に記載の図形情報読取プログラム。
【請求項６】
図形の本体部の重心を算出する重心算出手段として機能することを特徴とする請求項１から請求項５のいずれか一項に記載の図形情報読取プログラム。
【請求項７】
前記図形は、本体部と外延部とから構成されて、
前記本体部と外延部との間の境界は境界線が存在して、
前記本体部は、凸図形であって、
前記外延部が有する境界のうち、本体部境界とは反対側の境界は、外延線を有して、
図形の本体部領域にある点から伸ばした半直線が境界線と外延線と交わる線分の長さ情報と、開始位置からの距離情報とから、埋め込んだ情報を復元することができることを特徴とする請求項１から請求項６のいずれか一項に記載の図形情報読取プログラム。
【請求項８】
前記図形の本体部が単一網パーセントによる平網で形成されて、外延部が本体部平網と識別可能な平網で形成されることを特徴とする請求項７に記載の図形情報読取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロゴ・線画・マークなどの図形において、輪郭図形として符号化された情報を読み取るプログラムに関するものである。
【背景技術】
【０００２】
従来から、バーコードあるいは、２次元コードを情報担体として用いて、生産管理、商品管理等に用いられてきた。また、携帯電話に２次元コードの読取機能が搭載されるようになってからは、２次元コードにＵＲＬの情報を持たせることによって、ユーザをメーカーが行っているキャンペーンサイトへ誘導する手段の一つとして用いられるようになってきた。しかし、バーコード、２次元コードを意匠性に乏しく、ポスター、カタログ、情報誌に掲載する場合に意匠性を損なうといった問題点があった。
【０００３】
特許文献１では、２次元コードのエラー訂正コード図形を分散させて配置することで、意匠形状を改善して高める技術が開示されている。
【０００４】
他方、意匠性を損なわない手法として、たとえば、電子透かしの技術を利用して、絵柄等に情報を埋めこむ方法がある。
特許文献２では、フーリエ関数を用いて、印刷線画に、人間では認識できない細かさの分断線を用いて、情報を埋め込む技術が開示されている。
【特許文献１】特開２００６−２３５６７２号公報（段落００２２、図６）
【特許文献２】特開２００３−２４６１３４号公報（段落００５８−段落００６１、図１−３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１の技術では、２次元コードの形状が白黒矩形図形を組み合わせあるので、意匠性の改善には限界があった。
また、特許文献２の技術では、電子透かしの目的として情報が埋め込まれていることを気づかれないことにあるので、利用者が情報の在処を目視できず、情報の受け渡しに用いることには問題があった。
【０００６】
本発明はこのような点を解決するためになされたものであって、本発明の課題は、埋め込んだ情報が存在することを明確にした、意匠性のある図形に埋め込まれた情報を読み取るプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、以下のような解決手段により、前記課題を解決する。すなわち、請求項１の発明は、情報が埋め込まれた図形から、埋め込まれた情報を読み取るための情報読取プログラムであって、前記情報読取プログラムは、カメラ部および表示部を有する携帯端末装置により実行され、前記図形は、本体部と外延部とから構成されて、カメラ部で撮影した図形の本体部領域を認識する本体部領域認識手段と、カメラ部で撮影した図形の外延部領域を認識する外延部領域認識手段と、前記外延部領域認識手段により認識された前記外延部領域に埋め込まれた情報の読み取り開始位置を設定する開始位置設定手段と、前記外延部領域から展開係数を算出する展開係数算出手段と、算出された展開係数を用いて埋め込まれた情報を復元する情報復元手段として携帯端末を機能させることを特徴とする図形情報読取プログラムである。
【０００８】
ここで、図形の外延部に埋め込まれた情報を取り出すことができる。
【０００９】
請求項２の発明は、前記展開係数は、フーリエ展開式の係数であり、前記開始位置設定手段は、撮影図形のフーリエ展開係数の最低周波の係数を定数として用いて、埋め込まれた情報の読み取り開始位置を設定することを特徴とする請求項１に記載の図形情報読取プログラムである。
【００１０】
請求項３の発明は、前記展開係数は、シャウダー展開式の係数であり、前記図形の読み取り開始位置は、撮影した図形の本体部輪郭と平行な一定長さの外延部輪郭を有する部分を設けることによって形成されていることを特徴とする請求項１に記載の図形情報読取プログラムである。
【００１１】
請求項４の発明は、前記本体部領域認識手段は、カーソルによって指定された位置の近傍から、カメラ部で撮影した図形の本体部領域の平網部の色を入手することで、図形の本体部領域を認識することを特徴とする請求項１に記載の図形情報読取プログラムである。
【００１２】
請求項５の発明は、撮影する図形の分解能が十分に得られない場合に、前記カメラ部は、図形を複数に分割して撮影し、前記本体部領域認識手段および前記外延部領域認識手段は、それらの相対位置をパターンマッチングにより決定し、それらを合成することで撮影した図形を得ることを特徴とする請求項１から請求項４のいずれか一項に記載の図形情報読取プログラムである。
【００１３】
請求項６の発明は、図形の本体部の重心を算出する重心算出手段として機能することを特徴とする請求項１から請求項５のいずれか一項に記載の図形情報読取プログラムである。
【００１５】
請求項７の発明は、前記図形は、本体部と外延部とから構成されて、前記本体部と外延部との間の境界は境界線が存在して、前記本体部は、凸図形であって、前記外延部が有する境界のうち、本体部境界とは反対側の境界は、外延線を有して、図形の本体部領域にある点から伸ばした半直線が境界線と外延線と交わる線分の長さ情報と、開始位置からの距離情報とから、埋め込んだ情報を復元することができることを特徴とする請求項１から請求項６のいずれか一項に記載の図形情報読取プログラムである。
【００１６】
請求項８の発明は、前記図形の本体部が単一網パーセントによる平網で形成されて、外延部が本体部平網と識別可能な平網で形成されることを特徴とする請求項７に記載の図形情報読取プログラムである。
【発明の効果】
【００１８】
本願発明によれば、
（１）意匠性のある図形から埋め込まれた情報を読み取ることが可能である。
（２）埋め込まれた情報が存在することを明確に示すことができる図形から、埋め込まれた情報を読み取ることが可能である。
【発明を実施するための最良の形態】
【００１９】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
図１は、本発明の手法を用いて情報を埋め込こんだ図形１００を示している。
図形１００は、意匠性のあるマークである本体部１０４と情報が埋めこまれている外延部１０６とから構成されている。
本体部１０４と外延部１０６との間には、本体部１０４と情報が埋めこまれている外延部１０６の境界がわかるように境界線１０５が描かれている。
本体部１０４は、均一な網点１０１（以下、平網１０１）が印刷されている。図形１００をカメラ等で撮影して画像処理を行うときに、本体部１０４の平網１０１と境界線１０５が判別でるように、両者は十分な色空間上の距離がとられている。本体部１０４には、マークの意匠を構成する要素として線画１０３が描かれていてもよい。
このとき線画１０３と本体部１０４の平網１０１との間には十分な色空間上の距離がとられているものとする。図形の外延部１０６には、外延線１０９が描かれており、外延部１０６の形状が定まる。外延部１０６には平網１０７が印刷されている。
外延線１０９の形状は、埋め込まれる情報７０２により決まり、この外延線１０９の形状から埋め込まれた情報７０２を復元することができる。
【００２０】
図２は、本発明による図形から情報を取り出す様子を説明する図である。印刷媒体３００には、本発明の手法により情報を埋め込こんだ図形１００が印刷されている。携帯電話２００には、カメラと撮影した図形１００の画像から情報を抽出するための携帯アプリケーションプログラムを備える。
【００２１】
携帯電話２００において、携帯アプリケーションを起動すると、携帯電話２００の表示部２２１に、「図形の本体部の平網にカーソルを合わせる」よう指示を表示する。同時に、携帯電話の表示部２２１にカーソル２０３が表示される。
まず、図形本体部の平網１０１の色情報を取得する。利用者は、携帯電話２００の表示部２２１に表示された図形本体部の平網１０１にカーソル２０３を位置合わせて、決定（＝撮影）ボタンを押して撮影を行い、携帯電話２００は、カーソル位置から図形本体部の平網１０１の色情報を取得する（図２（１））。
【００２２】
次に、携帯電話２００は、「外延部の全体を撮影する」ように指示を画面に表示する。携帯利用者が、図形の外延部１０６全体が撮影視野に入るようカメラを構えて、携帯電話の表示部２２１のカーソル２０３を、図形外延部１０６のほぼ中心に置いて、決定ボタンを押して撮影する（同（２））。
【００２３】
このとき、十分な解像度で画像が撮影出来ない場合には、携帯電話２００は、「ズームアップして複数の画像にわけて撮影する」よう指示を表示する。携帯利用者が、図形の外延部１０６を分割撮影すると、携帯電話２００は、分割撮影された画像から外延部１０６を取り出して、一つに結合する。
【００２４】
携帯電話２００は、撮影された外延部１０６に埋め込まれていた情報を読み出して（＝復号して）、読み取り結果を表示部２２１に表示する（同（３））。
【００２５】
図３は、本発明による情報を埋め込んだ図形の詳細な説明図である。
図形の本体部１０４は、円形のような凸図形である。
ちなみに、凸図形とは図形内の任意の２点を結ぶ線分は、すべて図形内に含まれるような図形のことをいう。
本体部が凸図形である図形では、本体部１０４の一点（たとえば、重心点）から放射状に伸びる半直線１１０は、すべて境界線１０５と１点で交差する。
【００２６】
半直線１１０の傾き角度が「θ」であるとき、外延線１０９と境界線１０５の距離の値は「ｈ」であるとする。
ここで、傾き角度「θ」と距離の値は「ｈ」の関係について説明する。
埋め込まれる情報７０２は、複数の情報に分割されており、分割した情報と角度「θ」とが対応付けられている。分割情報を用いて距離の値「ｈ」を算出する。（詳細は後述する）分割した情報から算出した「ｈ」に「θ」を対応付けたリストを作成しておく。この「ｈ」と「θ」のリストを用いて、図３の傾き角度「θ」の半直線１１０上で、境界線１０５の交点から距離「ｈ」の位置に、図形の外延部が生成される。
【００２７】
このようにして、情報を埋め込んだ外延部１０６を作成する。
【００２８】
外延部１０６に埋め込まれた情報は、半直線１１０の傾き角度「θ」と対応付けて、距離の値を「ｈ」を読み出すことにより、「θ」毎の分割情報を算出することができる。更に、算出した分割情報を再構成することで、埋め込まれた情報を復元して読み出すことができる。
【００２９】
図４は、外延部を展開した図である。
半直線１１０の傾き角度「θ」と外延線１０９と境界線１０５の距離の値「ｈ」を直交座標系で表現した図である。
【００３０】
フーリエ展開係数を用いて外延部１０６を作成の手順を説明する。。
ここで、フーリエ展開の展開係数列「β」（詳細は後述する）には、分割された情報が対応付けられて設定されている。
図５から図７は、埋め込まれた情報から図形外延部の外延線１０９を算出する式を説明する図である。
【００３１】
図５は、外延部の形状を算出する式ある。
「（ｘ（θ）、ｙ（θ））」は、外延部１０６の外延線１０９の座標値を表現する。
「Ｒ（θ）」は、本体部１０４の重心から伸ばした半直線が境界線１０５と交差するまでの長さを示している。
「ｈ（θ）」は、当該半直線上の外延部１０６の長さ（境界線１０５から外延線１０９までの距離）を示す。
【００３２】
図６は、半直線上の外延部１０６の長さを算出する式を説明する図である。
「ｌ」は、境界線１０５から得られる特徴長さで、外延部の幅「ｈ」を求めるための外延の特徴値として用いる。たとえば図形本体１０４を囲む正方形辺の長さなどを用いる。
なお、展開計算値が負であると、外延部１０６が本体部１０４の内側に来てしまうこととなり、望ましくないので、「ｌ」を用いて、ｈ（θ）が常に正値となるように下駄を履かせるための値である。フーリエ展開係数値を用いて外延部１０６を作るときに、本体部１０４にくいこまないようにするためのシフト値のようなものと考えてよい。
「ｕ」は、係数値を図形に反映するための単位値であることを示す。
「β*」は、誤り訂正符号によって符号化する処理された展開係数で、偶数の個数から構成される。なお、誤り訂正符号によって符号化する処理の詳細は、後述する。
【００３３】
図７は、境界線１０５から得られる特徴長さ「ｌ」を算出する式を説明する図である。
「ｌ0」は、予め固有に定めた正値であり、外延部の幅ｈがゼロとなってしまうことを防ぐために設けた値である。
なお、「ｌ」の算出過程で図７で示す式「min（シグマ（β2iｕCOS（θ）＋β2i+1ｕ
SI
N（θ））」」の算出方法は、外延部１０６を形づくるフーリエ関数を決めた後に、各θに対応する「シグマ（β2iｕCOS（θ）＋β2i+1ｕSIN（θ））」の値を算出して、最小値を
もとめればよい。
【００３４】
図８は、外延部１０６に埋め込む情報７０２からフーリエ展開の展開係数を作成する処理の手順を説明する図である。
埋め込む情報７０２は、１バイトで構成されいる「αi」のバイト列である。
ここで、「ｊ」は、埋め込まれた情報７０２バイト数の値が「Ｍ」バイトの時には、「０  〜  （Ｍ−１）」とする。
埋め込む情報７０２には、先頭に識別子７０１が追加される。
先頭の識別子７０１には、埋め込む情報７０２のバイト数（バイト数の値＝Ｍ）などが格納される。
【００３５】
まず、先頭の識別子７０１と埋め込む情報７０２とに対して、誤り訂正符号化処理を行い、誤り訂正符号化ビット列７０３を得る（図８（１））。
ここで、誤り訂正符号化処理には、よく知られたリード・ソロモン符号化処理や、ＢＣＨ符号化処理を用いればよい。
なお、１バイトの情報を誤り訂正符号化処理する例を示したが、バイトが固定していれば、２バイト以上の情報を誤り訂正符号化処理してもよい。
【００３６】
次に、誤り訂正符号化ビット列７０３に対して、３ビット毎にフーリエ展開係数を割り当ててを行い、展開係数「β2i, β2i+1」を得る（同（２））。
なお、フーリエ展開の係数作成処理においては、読み取り時に入手画像から極座標の角度ゼロに相当する位相を確定することが必要とされるので展開係数「β0」と「β1」の値には、予め定めた定数を設定する。図８においては７０４に示されるようにβ0を(111)2、β1を(000)2と設定した例を示した。この展開係数「β0」と「β1」は、最低周波数の係数に相当するため、このように設定しておくことで情報を埋めこんだ図形から情報を取り出すときに、ローパスフィルタで最低周波数、すなわち波長が２πとなる項を取り出すことで、位相情報を復元することができる。
図８には、誤り訂正符号化ビット列７０３の「３」ビット（＝κ値）が盛り込まれた展開係数「β2i, β2i+1」が例示されている。
なお、展開係数「β2i, β2i+1」の個数は偶数でなければならないので、必要に応じてビット値０をパディングして展開係数「β2i, β2i+1」の総数が偶数個になるようにする。
【００３７】
このようにして、埋め込む情報７０２から外延部１０６の形状を決める関数を定めることが出来るので、この関数に従って、外延線１０９を描けばよい。
【００３８】
なお、チェビシェフ多項式のような直交多項式による展開を用いても、同様の効果を得ることができる。
【００３９】
次に、このように設計された外延腺１０９から埋め込む情報７０２を復元する処理を説明する。
【００４０】
図９は、図形埋め込み情報の読取処理フローである。
（１）判断：まず、図形が分割撮影されているか判断する。（ステップＳ２０１）
（２）画像データ合成：画像データが分割されている場合には、外延部を含む図形がひとつに構成されるように、マッチングによる合成を行う。（ステップＳ２０２）
（３）ノイズ低減：図形画像データをメディアンフィルタのようなノイズフィルタを用いて、ノイズ低減処理を行う。（ステップＳ２０３）
（４）本体部抽出：予め測定してある本体部の平網色情報に基づいて、図形画像データを走査して本体部１０４の領域を抽出する。あるいは、本体部の指定された位置（＝カーソル２０３で指定された位置）から近傍探索で広げてゆき、画素をサンプリングして同一色と判断できる領域を選択してもよい。（ステップＳ２０４）
このとき、境界線１０５の位置情報も入手する。なお、境界線１０５の位置情報を入手するときには図形の本体部の平網部１０１の輪郭トレース４０３を行う。この輪郭トレース結果から得られた輪郭が右回りか左回りかを判定することで本体内部に描かれた線画か本体部輪郭（＝境界線）かを識別することが出来る。
（５）本体部重心決定：本体部１０４の領域に対して重心計算を行って、本体部の重心座標を決定する。（ステップＳ２０５）
（６）外延部抽出：予め測定してある外延部の平網色情報に基づいて、平網部図形画像データを走査して、外延部１０６の領域を抽出する。このとき、外延線１０９の位置情報も入手する。（ステップＳ２０６）
あるいは、本体部輪郭の外部に平網部を探索し、その平網部に関して、同様の近傍走査を行うことで外延部の領域を認識してもよい。
（７）開始位置探索：先に得られた本体部重心座標から半直線を延ばして、半直線と交わる境界線１０５と外延線１０９から、外延部の厚み「ｈ」を求めて、半直線の角度をパラメータとして表現したフーリエ展開関数にローパスフィルタをほどこすことで、最低周波（すなわち波長２πの項）の位相を求め、極座標の角度ゼロに相当する軸をその位相から設定する。（ステップＳ２０７）
（８）フーリエ展開係数決定：フーリエ展開を行って係数値を決定する。（ステップＳ２０８）
（９）ビット列形成：得られたフーリエ展開係数は、システム固有のビット長「κ」（図８ではこのκは３に設定した例を示した）によって区分されている。そこでそれらから位相確定に用いる展開係数「β0」と「β1」を除いた上で順に繋ぎ合わせたビット列を合成し、元データに誤り訂正ためのパリティビットを付加したビット長さにあわせて区分しなおす。そのようにして誤り訂正符号化ビット列７０３を得る。（ステップＳ２０９）
（１０）誤り訂正：区分けした誤り訂正符号化ビット列７０３に対して、誤り訂正処理を施して、復号したビット列を生成する。（ステップＳ２１０）
（１１）埋め込み情報復元：先頭の識別子から指定バイト長の値を読み出して、復号ビット列から指定バイトを切り出して、バイト列を作成して埋め込み情報７０１を求める。（ステップＳ２１１）
【００４１】
（実施例）
シャウダー展開式による情報埋め込みの例を説明する。
シャウダー展開式は、曲線の形状を、三角形を用いて近似してゆく手法であり、図形の一部に欠陥が生じても、欠陥による情報復元の悪影響が局所的にとどまるという効果がある。そのため、図形に欠落があっても、欠落がない図形の情報は正しく復元されるので、図形の汚れや疵に強い情報埋め込み方法である。
【００４２】
図１０から図１２で、シャウダー展開式を説明する。図１０は、シャウダー展開式である。
「ａk,i」は、展開係数であり、「Ｆ」は、基底関数である。
【００４３】
図１１は、シャウダー展開係数「ａk,i」の説明図である。
【００４４】
図１２は、シャウダー展開式の基底関数列を説明する図である。
【００４５】
埋め込む情報７０２を利用してシャウダー展開式から求め外延部１０６を作成する方法を説明する。
シャウダー展開係数「ａk,i」に埋め込み情報７０２を割り当てる手法は、フーリエ展開係数を求めたときと同様に、誤り訂正符号化ビット列７０３に対して、3ビット毎にシャウダー展開係数を割り当てて、展開係数「ａk,i」を得る。展開係数が定まれば、図１２で求めた基底関数列を用いて、図１０のシャウダー展開式を求めることができる。シャウダー展開式から外延部１０６の形状を決めることができる。
【００４６】
次に、図形埋め込み情報の読取処理フローを説明する。
【００４７】
（１）判断：画像データ合成：ノイズ低減：本体部１０６抽出：本体部重心決定：外延部１０６の抽出は、図９のステップＳ２０１からステップ２０６までと同じである。（ステップＳ４０１）
（２）開始位置探索：開始位置としては、境界線１０５と並行な部分（すなわち同一厚み。たとえば、図３の外延線１１９を開始位置とする。（ステップＳ４０２）
（３）シャウダー展開係数算出：外延線１０９の形状から、シャウダー展開係数を算出４０９する。（ステップＳ４０３）（４）ビット列形成：誤り訂正：シャウダー展開係数から埋め込んだ情報を求めて、復元方法は、図９のステップＳ２０９からステップ２１１までと同様に行う。（ステップＳ４０４）
【図面の簡単な説明】
【００４８】
【図１】本発明による情報を埋め込こんだ図形１００の概念図
【図２】本発明による図形から情報を取り出す様子を説明する図
【図３】本発明による情報を埋め込んだ図形の詳細な説明図
【図４】距離の値を「ｈ」展開図
【図５】外延部の形状を算出する式
【図６】半直線上の外延部の長さを算出する式を説明する図
【図７】境界線１０５から得られる特徴長さ「ｌ」を算出する式を説明する図
【図８】埋め込まれた情報からフーリエ展開の展開係数を作成する処理の手順
【図９】図形埋め込み情報の読取処理フロー
【図１０】（実施例）シャウダー展開式
【図１１】（実施例）シャウダー展開係数「ａk,i」の説明図
【図１２】（実施例）シャウダー展開式の基底関数列
【符号の説明】
【００４９】
１００  情報を埋め込んだ図形
１０１  本体部の平網
１０３  線画
１０４  本体部
１０５  境界線
１０６  外延部
１０７  外延部の平網
１０９  外延線
１１０  本体部１０４の重心から放射状に伸びる半直線
２００  携帯電話
２０３  カーソル
２２１  表示部
３００  印刷媒体
７０１  先頭の識別子
７０２  埋め込まれた情報
７０３  誤り訂正符号化ビット列
【図１】
0004863088.tif 000002
【図２】
0004863088.tif 000003
【図３】
0004863088.tif 000004
【図４】
0004863088.tif 000005
【図５】
0004863088.tif 000006
【図６】
0004863088.tif 000007
【図７】
0004863088.tif 000008
【図８】
0004863088.tif 000009
【図９】
0004863088.tif 000010
【図１０】
0004863088.tif 000011
【図１１】
0004863088.tif 000012
【図１２】
0004863088.tif 000013