(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-29
(45)【発行日】2024-04-08
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
H04N 1/32 20060101AFI20240401BHJP
【FI】
H04N1/32 144
(21)【出願番号】P 2019224497
(22)【出願日】2019-12-12
【審査請求日】2022-12-05
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】後藤 文孝
(72)【発明者】
【氏名】浦谷 充
(72)【発明者】
【氏名】石田 祐樹
(72)【発明者】
【氏名】酒井 洋行
(72)【発明者】
【氏名】大曲 勇気
(72)【発明者】
【氏名】鈴木 智博
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2005-277544(JP,A)
【文献】特開2009-303153(JP,A)
【文献】特開2007-201632(JP,A)
【文献】特開2019-009745(JP,A)
【文献】特開2016-171516(JP,A)
【文献】特開平06-244875(JP,A)
【文献】特開2017-021603(JP,A)
【文献】特開2006-295304(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/32 - 1/36
1/42 - 1/44
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
付加情報が電子透かしにより埋め込まれた
特定の印刷物を撮像手段によって撮像させ、撮像画
像を取得する
撮像ステップと、
前記撮像画像から付加情報を抽出する抽出処理を行う抽出ステップと、
前記抽出処理におけるエラーの発生回数が所定回数に達する前に、前記抽出処理によって付加情報が抽出できたことを含む第1の条件を満たす場合に、付加情報の抽出性能が十分良好であることを通知する第1通知ステップと、
前
記第1の条件を満たさず、
前記抽出処理に関する第2の条件を満たす場合に、付加情報の抽出性能が十分である可能性があることを通知する第3通知ステップと、
前記第1の条件を満たさず、前記第2の条件も満たさない場合に、付加情報の抽出性能が不十分である可能性があることを通知する第2通知ステップと、
を実行させるためのプログラム。
【請求項2】
前記第2の条件は、前記撮像画像をブロック毎に直交変換した結果を分類したベクトルのうち、電力が最大となる最大周波数ベクトルと、前記最大周波数ベクトル以外の周波数ベクトルとの電力差が閾値以上となるブロックの割合が所定値以上であるという条件であることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記第2の条件は、前記抽出処理における抽出エラーが発生した回数が所定の閾値未満であるという条件であることを特徴とする請求項1に記載のプログラム。
【請求項4】
前記コンピュータに、
印刷画像から付加情報を抽出する抽出処理に関する値
として、前記撮像手段での撮像開始から付加情報が抽出されるまでの経過時間、前記撮像手段と前記印刷画像との間の距離の変化回数、前記撮像手段に対する前記印刷画像の角度の変化回数の少なくとも1つを取得する取得ステップを、さらに実行させ、
前記取得ステップにおいて取得された値が、所定の値より高い場合に、前記
第1乃至第3通知ステップのいずれかを実行するための前記撮像ステップを実行させることを特徴とする請求項1
乃至3のいずれか1項に記載のプログラム。
【請求項5】
前記コンピュータに、
前記第1乃至第3通知ステップのいずれかを実行するための前記撮像ステップを実行する際に、撮像をガイドするための
枠状の撮像ガイドを
表示手段に表示
するように制御する表示制御ステップをさらに実行させることを特徴とする請求項1
乃至4のいずれか1項に記載のプログラム。
【請求項6】
前記第
3通知
ステップでは
さらに、
前記情報処理装置と前記特定の印刷物とを適切な位置関係にすることをユーザーに促す通知と、前記第1乃至第3通知ステップのいずれかを実行するための前記撮像ステップを実行する際に表示手段に表示される枠状の撮像ガイドに前記特定の印刷物が収まるようにすることをユーザーに促す通知との少なくとも一方の通知が行われることを特徴とする請求項
1乃至5のいずれか1項に記載のプログラム。
【請求項7】
前記
第1乃至第3通
知ステップは、表示、音声出力、振動のうち少なくとも1つによって
、通知を行うことを特徴とする請求項1
乃至6のいずれか1項に記載のプログラム。
【請求項8】
付加情報が電子透かしにより埋め込まれた
特定の印刷物を撮像手段によって撮像させ、撮像画
像を取得する撮像手段と、
前記撮像画像から付加情報を抽出する抽出処理を行う処理手段と、
前記抽出処理におけるエラーの発生回数が所定回数に達する前に、前記抽出処理によって付加情報が抽出できたことを含む第1の条件を満たす場合に、付加情報の抽出性能が十分良好であることを通知する第1通知処理を行い、
前
記第1の条件を満たさず、
前記抽出処理に関する第2の条件を満たす場合に、付加情報の抽出性能が十分である可能性があることを通知する第3通知処理を行い、
前記第1の条件を満たさず、前記第2の条件も満たさない場合に、付加情報の抽出性能が不十分である可能性があることを通知する第2通知を行う
ように制御する通知制御手段と、
を備えることを特徴とする情報処理装置。
【請求項9】
付加情報が電子透かしにより埋め込まれた
特定の印刷物を撮像手段によって撮像させ、撮像画
像を取得する
撮像ステップと、
前記撮像画像から付加情報を抽出する抽出処理を行う抽出ステップと、
前記抽出処理におけるエラーの発生回数が所定回数に達する前に、前記抽出処理によって付加情報が抽出できたことを含む第1の条件を満たす場合に、付加情報の抽出性能が十分良好であることを通知する第1通知ステップと、
前
記第1の条件を満たさず、
前記抽出処理に関する第2の条件を満たす場合に、付加情報の抽出性能が十分である可能性があることを通知する第3通知ステップと、
前記第1の条件を満たさず、前記第2の条件も満たさない場合に、付加情報の抽出性能が不十分である可能性があることを通知する第2通知ステップと、
を
有することを特徴とする情報処理
装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、携帯端末の撮像センサで対象の印刷物の撮像を行い、取得された撮像画像情報から付加情報を抽出する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の技術では、携帯端末側の機能の低下などに起因する付加情報の抽出不良が生じた場合の対策について考慮されていない。このため、特許文献1に開示の技術を用いた従来の携帯端末では、ユーザが、携帯端末側の抽出性能に原因があることに気付かないまま、撮像を継続してしまう可能性があり、労力と時間の無駄が生じる。
【0005】
そこで本発明は、撮像画像情報から付加情報を抽出する処理におけるユーザの利便性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、情報処理装置のコンピュータに、付加情報が電子透かしにより埋め込まれた特定の印刷物を撮像手段によって撮像させ、撮像画像を取得する撮像ステップと、前記撮像画像から付加情報を抽出する抽出処理を行う抽出ステップと、前記抽出処理におけるエラーの発生回数が所定回数に達する前に、前記抽出処理によって付加情報が抽出できたことを含む第1の条件を満たす場合に、付加情報の抽出性能が十分良好であることを通知する第1通知ステップと、前記第1の条件を満たさず、前記抽出処理に関する第2の条件を満たす場合に、付加情報の抽出性能が十分である可能性があることを通知する第3通知ステップと、前記第1の条件を満たさず、前記第2の条件も満たさない場合に、付加情報の抽出性能が不十分である可能性があることを通知する第2通知ステップと、を実行させるためのプログラムである。
【発明の効果】
【0007】
本発明によれば、付加情報を抽出する処理におけるユーザの利便性を向上させることが可能になる。
【図面の簡単な説明】
【0008】
【
図1】画像処理システムの構成を示すブロック図である。
【
図2】画像形成装置及び携帯端末における制御系の概略構成を示すブロック図である。
【
図3】電子透かし部に含まれる電子透かし埋め込み処理を行う構成を示すブロック図である。
【
図4】量子化条件制御部の処理を示すフローチャートである。
【
図6】量子化条件A、Bを説明するための図である。
【
図7】付加情報分離部の構成を示すブロック図である。
【
図10】間引き部から判定部までの処理を示すフローチャートである。
【
図11】量子化条件A、Bを用いたパターンを示す図である。
【
図13】印刷用紙上の付加情報が埋め込まれた状態を示す図である。
【
図14】印刷用紙とレンズと撮像センサの位置関係を説明するための図である。
【
図15】動画撮像の開始から診断モードまでの処理を示すフローチャートである。
【
図16】撮像姿勢の影響の低減を説明するための図である。
【
図17】第1実施形態の診断モードで実行される処理を示すフローチャートである。
【
図18】第2実施形態の診断モードで実行される処理を示すフローチャートである。
【
図19】第3実施形態の診断モードで実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
(第1実施形態)
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、また本実施形態で説明されている特徴及びその組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、各図において同一の構成要素には同一の参照符号を付す。
【0010】
図1は、本実施形態における画像形成システムの構成を示すブロック図である。画像形成システムは、
図1(a)に示す画像形成装置100と、
図1(b)に示す撮像機能付携帯端末(以下、単に携帯端末という)101とを含む。画像形成装置100は、印刷機能を有する装置であり、例えば、MFP(多機能型周辺装置)である。携帯端末101は、例えば、カメラ付携帯電話、カメラ付スマートフォン、及びカメラ付タブレットPCであり、これらに本発明に係る情報処理装置が内蔵されている。
【0011】
画像形成装置100は、付加情報が電子透かし(ウォーターマーク)により埋め込まれた印刷物104を印刷することが可能である。電子透かしとは、付加情報を、人間の目には不可視である状態で、印刷物104に印刷する技術である。また、携帯端末101は、撮像センサ107(カメラ)によって印刷物104を撮像し、撮像した画像から付加情報を抽出することが可能である。画像形成装置100と携帯端末101との間は、有線ネットワークや無線ネットワークで相互に通信可能であっても良いし、相互に通信可能に接続されていなくても良い。
【0012】
画像形成装置100は、付加情報を印刷物104に埋め込む電子透かし部105を含み、携帯端末101は、電子透かしにより埋め込まれた付加情報を印刷物から抽出する付加情報分離部108を含む。電子透かし部105は、例えば、プリント部106(プリンタエンジン)へ出力すべき画像情報を作成するプリンタドライバソフトウエア、もしくは、アプリケーションソフトウエアとして実現される。また、電子透かし部105は、複写機、ファクシミリ、及びプリンタ本体等にハードウエアやソフトウエアとして内蔵される形態で実現されても良い。
【0013】
また、付加情報分離部108は、例えば、デジタルスチールカメラで撮像した画像から付加情報を分離する内部のアプリケーションソフトウエアやハードウエアで実現されても良い。なお、本実施形態では、電子透かし部105とプリント部106が画像形成装置100に含まれるものとして説明するが、電子透かし部105とプリント部106とが、別個の装置に分けられていても良い。例えば、PCや携帯端末(スマートフォン)等の情報処理装置が電子透かし部105を含み、画像形成装置100がプリント部106を含む形態でも良い。
【0014】
また、入力端子102には、例えば、ネットワークI/F204から画像情報などが入力され、入力端子103には、例えば、ネットワークI/F204や操作部206から画像情報に電子透かしにより埋め込まれる付加情報が入力される構成を有している。
【0015】
<付加情報を埋込むための構成>
前述のように、入力端子102から多階調の画像情報が入力され、入力端子103から画像情報の中に電子透かしにより埋め込むべき付加情報が入力される。この付加情報は、画像情報とは別の情報、例えば音声情報や動画情報、文字情報、画像に関する著作権、撮像日時、撮像場所、撮像者の諸情報、もしくは、入力された画像とは別の画像情報等、である。さらに、付加情報は、画像ファイルとして構成された画像情報の一部として内包されていても良い。
【0016】
電子透かし部105は、視覚的に判別されにくいように、画像情報中に電子透かしにより付加情報を埋め込む。プリント部106は、電子透かし部105で作成された情報に基づいて印刷処理を実行する。
【0017】
プリント部106は、例えば、インクジェットプリンタ、レーザプリンタ等、疑似階調処理を用いることにより階調表現を印刷物104上に実現するプリンタである。
【0018】
図2は、画像形成装置100及び携帯端末101における制御系の概略構成を示すブロック図であり、(a)は画像形成装置の制御系を、(b)は携帯端末101の制御系をそれぞれ示している。CPU200は、画像形成装置100の内部を統括的に制御するプロセッサである。
図1の電子透かし部105は、例えば、CPU200により実現される。ROM201やHDD203は、画像形成装置100の基本プログラムや制御プログラム、各種アプリケーションやデータ等を記憶する。例えば、CPU200は、ROM201に記憶されたプログラムをRAM202に読み出して実行することにより、各実施形態の動作を実現する。RAM202は、CPU200のワーキングメモリとしても用いられる。
【0019】
ネットワークインタフェース(NW I/F)204は、例えば、有線や無線等、ネットワークの形態に応じた構成を有する。また、ネットワークインタフェース(NW I/F)204は、通信範囲が異なる複数種類の無線ネットワークにも対応可能である。例えば、通信距離が数cmといった近距離無線通信(NFC:Near Field Communication)により、携帯端末101と通信することも可能である。
【0020】
ディスプレイ205は、ユーザに各設定画面やプレビュー画面等をCPU200の表示制御によって表示する。操作部206は、例えば、キーボードやタッチパネル等を有し、ユーザからの操作指示を受付可能である。
【0021】
デバイスI/F207は、プリント部106(プリントエンジン)と、システムバス209とを接続する。
図1では、プリント部106が示されているが、画像形成装置100の実行可能な機能に応じて、スキャナ、FAX等、他のブロックがデバイスI/F207に接続されても良い。
【0022】
画像処理部208は、外部から取得した画像データに対して、用途に応じた画像処理を実行する。例えば、画像処理部208は、プリント部106の記録方式に応じた色空問変換や2値化処理、画像の拡大/縮小/回転、といった処理を実行する。
【0023】
図2に示す各ブロックは、システムバス209を介して相互に通信可能に接続されている。但し、
図2に示す構成以外の構成であっても良く、例えば、システムバス209とイメージデータバスとがバスブリッジを介して接続される構成であっても良い。その場合、例えば、デバイスI/F207がイメージデータバスに接続される。
【0024】
<付加情報を抽出するための構成>
図1の携帯端末101上で実行される読取アプリケーションは、撮像センサ107を用いて印刷物104の撮像を行う。次に、付加情報分離部108によって、撮像画像から埋め込まれた付加情報を分離し、付加情報チェック部109によって誤り検出を行って、出力端子112に出力する。この出力端子112は、取得した付加情報を出力するインタフェースである。例えば、画像情報や文字情報であればディスプレイ110へ出力し、URLなどのリンク情報であれば、ディスプレイ110上でブラウザを起動してリンク先を表示する。また、出力端子112から、外部デバイスヘデータを出力するインタフェースに、付加情報を出力しても良い。また、スピーカ111は、操作に関する情報や、判定の結果等を音声情報として出力する。
【0025】
図2(b)は、携帯端末101のブロック構成を示す図である。携帯端末101は、CPU210、ROM211及びRAM212等の、汎用的な情報処理装置の構成を含む。CPU210は、携帯端末101の内部を統括的に制御するプロセッサである。
【0026】
前述の付加情報分離部108は、例えば、CPU210により実現される。ROM211は、携帯端末101の基本プログラムや制御プログラム、各種アプリケーションやデータ等を記憶する。例えば、CPU210は、ROM211に記憶されたプログラムをRAM212に読み出して実行することにより、各実施形態の動作を実現する。RAM212は、CPU210のワーキングメモリとしても用いられる。なお、本実施形態では、CPU210やROM211、RAM212により、情報処理装置のコンピュータが形成される。このコンピュータは、本発明の通知制御手段、取得手段、及び診断手段としての機能を実現する。
【0027】
ネットワークI/F213は、例えば、有線や無線等、ネットワークの形態に応じた構成を有し、通信範囲が異なる複数種類の無線ネットワークにも対応可能である。例えば、ネットワークI/F213は、通信距離が数cmといった近距離無線通信(NFC:Near Field Communication)により、画像形成装置100と通信することも可能である。
【0028】
ディスプレイ110は、ユーザに各設定画面やプレビュー画面等を表示する。操作部214は、例えば、ハードキー等を有し、ユーザからの操作指示を受付可能である。
図2(b)に示す各ブロックは、システムバス215を介して相互に通信可能に接続されている。スピーカ111は、ユーザに操作に関する情報や、後述の診断結果や判定の結果等を音声情報として出力する。
【0029】
<付加情報の埋込み処理>
図3は、
図1に示す電子透かし部105に含まれる電子透かし埋め込み処理を行う構成を示すブロック図である。誤差拡散処理部300は、入力端子102に入力された画像情報に、一般的な誤差拡散法を用いた疑似階調処理を行うことによって、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値により、面積的に階調性を表現する。
【0030】
ブロック化部301は、入力端子102に入力された画像情報を所定領域(ブロック)単位に区分する。ブロック化部301により行われるブロック化は、矩形の領域に区分されても良いし、矩形以外の領域に区分されても良い。
【0031】
量子化条件制御部302は、入力端子103で入力された付加情報に基づいて、ブロック化部301にてブロック化された領域単位で、量子化条件を変更するように制御する。また、量子化条件制御部302は、入力端子103に入力された付加情報に基づき、ブロック単位で量子化条件を変更する。
【0032】
次に、量子化条件制御部302を含む全体の処理について、
図4のフローチャートを参照しつつ説明する。量子化値は2値である例について説明する。
図4の処理は、例えば、画像形成装置100のCPU200がROM201に記憶されているプログラムをRAM202に読み出して実行することにより実現される。
【0033】
S41では、CPU200は、RAM202に確保された変数iを初期化する。ここで、変数量は、垂直方向のアドレスをカウントする変数である。S42では、CPU200は、RAM202に確保された変数jを初期化する。ここで、変数jは、水平方向のアドレスをカウントする変数である。続いて、S43では、CPU200は、現在の処理アドレスである座標(i,j)が電子透かし埋め込み処理を実行すべき領域に属しているか否かを判定する。
【0034】
ここで、
図5を参照しつつ、電子透かし領域について説明する。
図5に示す電子透かし領域R1は、水平画素数がWIDTH、垂直画素数がHEIGHTからなる一つの画像を示している。本実施形態では、この画像中に付加情報が電子透かしにより埋め込まれる例を想定する。画像の左上を原点R0として、横N画素、縦M画素でブロック化が行われる。本実施形態では、原点R0を基準点としてブロック化が行われるが、原点R0から離れた点を基準点として設定するようにしても良い。この画像中に最大限の情報を電子透かしにより埋め込むために、N×Mのブロックを基準点R0から配置していく。すなわち、水平方向に配置可能なブロック数をW、垂直方向に配置可能なブロック数をHとすると、WとHは、(式1)及び(式2)から算出される。
W=INT(WIDTH/N)・・・・・・(式1)
H=INT(HEIGHT/M)・・・・・(式2)
但し、INT()は()内の整数部分を示す。
【0035】
(式1)、(式2)において割り切れない剰余画素数が、N×Mのブロックを複数配置した時の端部に相当し、本実施形態では、その部分を符号電子透かし領域外R2とする。
【0036】
再び
図4に戻り、S43では、現在処理している注目画素が電子透かし領域R1内でない、すなわち、電子透かし領域外R2であると判定された場合には、S44において、CPU200は、量子化条件Cを設定する。一方、電子透かし領域R1内であると判定された場合には、S5において、CPU200は、電子透かしにより埋め込むべき付加情報を読み込む。ここで、説明を容易にするために、付加情報は、code[]という配列を用いて、各1ビットずつ表現されるものとする。例えば、付加情報を48ビット分の情報と仮定すると、配列code[]には、code[0]からcode[47]まで、各1ビットずつが格納されている。
【0037】
S45において、CPU200は、RAM202に確保された変数bitに、以下の(式3)のように、配列code[]内の情報を代入する。
【0038】
bit=code[INT(i/M)×W+INT(j/N)]・・・(式3)
S46では、CPU200は、代入された変数bitが“1”であるか否かを判定する。前述したように、配列code[]内の情報は各1ビットずつ格納されているため、変数bitの値も“0”か“1”かの何れかを示すことになる。
【0039】
ここで、“0”であると判定された場合には、S47において、CPU200は、量子化条件Aを設定する。また、“1”であると判定された場合には、S48において、CPU200は、量子化条件Bを設定する。次に、S49では、CPU200は、S44、S47、S48で設定された量子化条件に基づいて量子化処理を行う。この量子化処理は、誤差拡散法によって行われる。S50では、CPU200は、水平方向変数jをカウントアップし、S51では、カウントアップされた変数jが画像の水平画素数であるWIDTH未満か否かを判定する。ここで、変数jがWIDTH未満であると判定された場合、S43からの処理を繰り返す。
【0040】
一方、変数jがWIDTH未満でないと判定された場合、すなわち、水平方向の処理がWIDTH画素数分終了した場合、S52において、CPU200は、垂直方向変数iをカウントアップする。そして、S53において、CPU200は、カウントアップされた変数iが画像の垂直画素数であるHEIGHT未満か否かを判定する。ここで、変数iがHEIGHT未満であると判定された場合、S2からの処理を繰り返す。一方、変数iがHEIGHT未満でないと判定された場合、すなわち、垂直方向の処理がHEIGHT画素数分終了した場合、
図4の処理を終了する。以上の処理により、N×M画素よりなるブロック単位で、量子化条件を変更する。
【0041】
次に、量子化条件A、B、Cを用いる例について説明する。誤差拡散法における量子化条件には様々な因子があるが、本実施形態において量子化条件の因子は、量子化閾値である。S404で設定される量子化条件Cは、電子透かし領域外で用いられるために、量子化閾値はどのような条件でも良い。前述したように、1画素が8ビットによる階調表現で、量子化レベルが2値の場合には、最大値である“255”、及び、最小値である“0”が量子化代表値となるが、その中間値となる“128”が量子化閾値として設定されることが多い。よって、本実施形態では、量子化条件Cは、量子化閾値を“128”固定値とする条件とする。
【0042】
S47で設定される量子化条件Aと、S48で設定される量子化条件Bは、電子透かし領域内のブロックで用いられるため、量子化条件の違いによる画質の違いを生じさせる必要がある。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、印刷用紙上からは容易に識別可能である必要がある。
【0043】
図6(a)及び(b)は、量子化条件A、Bを説明するための図である。
図6(a)は、量子化条件Aにおける量子化閾値の変化の周期を示す図である。図中、1つのマスを1画素分と想定し、白いマスは固定閾値、灰色のマスを変動閾値とする。すなわち、
図6(a)の例では、横8画素、縦4画素のマトリクスを組み、灰色のマスについてのみ突出した値を閾値として設定する。
【0044】
図6(b)は、同様に、量子化条件Bにおける量子化閾値の変化の周期を示した図である。
図6(b)の例では、
図6(a)とは異なり、横4画素、縦8画素のマトリクスを組み、灰色のマスについてのみ突出した値を閾値として設定する。
【0045】
前述したように1画素が8ビットの階調値の場合に、例えば、固定閾値として“128”、突出した閾値を“10”と設定する。量子化閾値が低くなると、注目画素の量子化値が“1”(量子化代表値“255”)になりやすくなる。すなわち、
図6(a)、(b)ともに、図中の灰色のマスの並びで量子化値“1”が並びやすくなる。言い換えると、N×M画素のブロック毎に、
図6(a)の灰色のマスの並びでドットが発生するブロックと、
図6(b)の灰色のマスの並びでドットが発生するブロックとが混在することになる。
【0046】
誤差拡散法における量子化閾値の多少の変更は、画質的には大きな影響を及ぼさない。組織的ディザ法においては、使用するディザパターンによって、階調表現の画質が大きく左右される。しかしながら、前述したような、規則的に量子化閾値の変化を与えた誤差拡散法では、あくまでも画質を決定する階調表現は誤差拡散法であるので、ドットの並びが多少変化したり、テクスチャの発生が変化したりは、階調表現の画質には殆ど影響を与えない。量子化閾値が変化した場合でも、あくまでも信号値と量子化値との差分となる誤差は周囲画素に拡散されるので、入力された信号値は、マクロ的に保存される。すなわち、誤差拡散法におけるドットの並び、テクスチャの発生に関しては、冗長性が極めて大きいといえる。
【0047】
上記のように、本実施形態では、誤差拡散法の量子化閾値に、符号を表す所定の周期性を重畳することにより、電子透かしによる埋め込みを実現している。しかしながら、他の重畳方式により電子透かしによる埋め込みを実現しても良い。例えば、直接RGBの値(輝度情報)に、周期性を重畳する方式により電子透かしによる埋め込みを実現しても良い。または、RGBの値を、輝度-色差情報など、他の色空間情報(例えばCIEL*a*b*、YCrCb信号)に分離して周期性を重畳する方式により電子透かしによる埋め込みを実現しても良い。または、RGBの値をインク色(例えばCMYK信号)に分離して周期性を重畳する方式により電子透かしによる埋め込みを実現しても良い。上記の処理が実行されることで生成されたデータに基づいて印刷を行うことで、記録媒体に打たれたインクのドットの並びによって付加情報を表現することができる。
【0048】
<付加情報の分離処理>
次に、
図1(b)に示す携帯端末101における付加情報分離部108の処理について説明する。この処理は、本発明の特徴であり、携帯端末101で撮像して得られた複数の画像から付加情報を分離(抽出)する処理である。
【0049】
図7(a)は、付加情報分離部108の構成の一例を示すブロック図である。説明を容易にするために、前述の電子透かし部105の場合と同様、分割したブロック内に各1ビットずつの付加情報が電子透かしによる埋め込まれている印刷物104から、付加情報を分離する例について説明する。当然のことながら、電子透かし部105における1ブロックあたりの付加情報量と、付加情報分離部108における1ブロックあたりの分離情報量とは等しくなる。
【0050】
入力端子700には、携帯端末101で読み込まれた複数の画像情報が入力される。ここで、携帯端末101の撮像センサ107による撮像画像の解像度(撮像解像度)は、印刷物104を作成する際の印刷解像度以上が好ましい。勿論、正確に印刷物104のドットの点在情報を読み込むためには、サンプリング定理により、撮像解像度は、プリンタ側よりも2倍以上の解像度が必要になる。しかしながら、同等以上であれば、正確でなくとも、ある程度ドットが点在しているのを判別することが可能である。ここでは、説明を容易にするために印刷解像度と撮像解像度とは同一解像度である例で説明する。
【0051】
ブロック化部701は、横P画素、縦Q画素単位にブロック化を行う。ここで、各ブロックは、電子透かしの重畳時にブロック化したN×M画素よりも小さい。すなわち、(式4)の関係が成り立つ。
P≦N、かつQ≦M・・・・(式4)
【0052】
また、P×Q画素単位のブロック化は、ある一定間隔毎にスキップして行われる。すなわち、電子透かし埋め込み処理時のN×M画素より成るブロックと想定される領域内に、P×Q画素単位のブロックが1つ内包されるようにブロック化が行われる。
【0053】
空間フィルタ702、703は、それぞれ特性の異なる空間フィルタA、Bを示し、フィルタリング部704は、周辺画素との積和を演算するディジタルフィルタリング部を示す。この空間フィルタの各係数は、電子透かし埋め込み処理時の量子化条件の変動閾値の周期に対応して設定される。ここで、電子透かし部105における量子化条件の変更が
図6(a)及び(b)の2種類の周期性を用いて行われることにより、付加情報が電子透かしにより埋め込まれたとする。その場合の付加情報分離部108に用いる空間フィルタA702、空間フィルタB703の例を
図8(a)、(b)に示す。
図8(a)、(b)に示す5×5画素の中央部が注目画素になり、それ以外の24画素分が周辺画素になる。また、
図8(a)、(b)において、空白部の画素は、フィルタ係数が“0”であることを表す。
図11から明らかなように、
図8(a)、(b)は、エッジ強調フィルタになっている。しかも、その強調するエッジの方向性と電子透かし埋め込み処理を実行した時の変動閾値の方向性とが
図8(a)、(b)と
図6(a)、(b)とで一致している。つまり、
図8(a)は
図6(a)に一致し、
図8(b)は
図6(b)に一致するように、空間フィルタが作成される。
【0054】
間引き部705、706は、それぞれ、P×Q画素により成るブロック内のフィルタリング後の信号(以下、変換値という)を、ある規則性に基づいて間引き処理する。本実施形態では、周期性と位相のそれぞれの規則性に分離して間引き処理を行う。すなわち、間引き部705及び706では間引きの周期性が互いに異なっており、それぞれにおいて、位相を変化させた複数の間引き処理を実行する。間引き方法については後述する。
【0055】
変換値加算部707は、間引き部705及び706により間引きされた変換値を、位相毎にそれぞれ加算する。この間引き処理及び間引き画素の変換値の加算処理は、空間フィルタで強調した所定周波数のベクトルの電力(パワー)を抽出することに相当する。
【0056】
分散値算出部708は、それぞれの周期性において、位相毎に加算した複数の加算値の分散値を算出する。判定部709は、それぞれの周期性における分散値に基づいて、電子透かしにより埋め込まれた符号を判定する。
【0057】
図9は、2次元の周波数領域を示す図である。横軸は水平方向の周波数、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるに従って、高周波域となる。
図9中の円は、誤差拡散によるカットオフ周波数を示している。誤差拡散法のフィルタ特性は、低周波域がカットオフされたハイパスフィルタの特性を示し、そのカットオフされる周波数は、対象画像の濃度に応じて変化する。
【0058】
本実施形態では、量子化閾値の変更により量子化後に発生する周波数特性が変化するが、
図6(a)による量子化閾値の変更では、
図9の周波数ベクトルA上に大きなパワースペクトルが生じる。また、
図6(b)による量子化閾値の変更では、
図9の周波数ベクトルB上に大きなパワースペクトルが生じる。付加情報分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することによって、電子透かし信号の判定が行われる。本実施形態では、各々の周波数ベクトルを個別に強調、抽出することが行われる。
【0059】
図8(a)及び(b)は、特定の周波数ベクトルの方向性を有するハイパスフィルタに相当する。すなわち、
図8(a)の空間フィルタでは、
図9の直線A上の周波数ベクトルを強調することが可能になり、また、
図8(b)の空間フィルタでは、
図9の直線B上の周波数ベクトルを強調することが可能になる。例えば、
図6(a)に示すような量子化条件の変更により、
図9の直線Aの周波数ベクトル上に大きなパワースペクトルが発生したとする。その時に、
図8(a)の空間フィルタではパワースペクトルの変化量が増幅するが、
図8(b)の空間フィルタでは、ほとんど増幅されない。つまり、複数の空間フィルタで並列にフィルタリングした場合に、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタによるフィルタリングの場合には増幅がほとんどない。従って、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかを容易に判定することができる。
【0060】
図10は、
図7(a)の間引き部705及び706、変換値加算部707、分散値算出部708、判定部709の処理を示すフローチャートである。
図10の処理は、例えば、カメラ付携端末101のCPU210がROM211に記憶されているプログラムをRAM212に読み出して実行することにより実現される。
【0061】
図10中、S101及びS102は、変数の初期化を示し、CPU210は、RAM212内に確保された変数i,jの値を0に初期化する。S103では、CPU210は、間引き部705及び706による間引きの規則性の因子、すなわち、“周期性”及び“位相”の2因子を決定する。本フローチャートでは、周期性に関する変数をi、位相に関する変数をjとする。この周期性及び位相の条件は、番号(ナンバー)により管理される。ここでは、周期性ナンバー(以下No.と略す)がi、位相No.がjである間引き方法の各因子を設定する。
【0062】
S104では、CPU210は、ブロック内で間引きをした変換値を加算し、その加算値を変数の配列TOTAL[i][j]として記憶する。S105では、CPU210は、変数jをカウントアップし、S106において、固定値Jと比較する。Jには、位相を変化させて間引き処理をする回数が格納されている。ここで、変数jがJ未満であれば、S103に戻り、カウントアップ後のjによる新たな位相No.により、間引き処理及び間引き画素の変換値の加算処理が繰り返される。
【0063】
位相をずらした間引き処理及び間引き画素の変換値の加算処理が設定回数終了した場合、S107において、CPU210は、加算結果TOTAL[i][j]の分散値を算出する。すなわち、各加算結果が位相の差によりどの程度ばらついているかが評価される。ここでは、iを固定して、J個のTOTAL[i][j]の分散値を求める。ここで、分散値をB[i]とする。
【0064】
S108において、CPU210は、変数iをカウントアップし、S109において、固定値Iと比較する。Iには、周期性を変化させて間引き処理をする回数が格納されている。ここで、変数iがI未満であれば、S102に戻り、カウントアップ後のiによる新たな周期性No.の条件を用いて、再び、間引き処理及び間引き画素の変換値の加算処理が繰り返される。
【0065】
S109において、CPU210は、iが設定回数終了したと判定されると、分散値B[i]は、I個算出できたことになる。S1010にて、I個の分散値の集合から、分散値の最大値を検出し、その時のiの値を変数imaxに代入する。S111において、CPU210は、周期性No.がimaxである符号を、電子透かしにより埋め込まれた符号であると判定する。その後、
図10の処理を終了する。
【0066】
このように、量子化条件と、空間フィルタ特性と、間引き条件の周期性とを関連付けることで、電子透かしによる埋め込み及び分離が容易に実現できる。本実施形態では、ブロック内の電子透かしにより埋め込まれた符号は1ビットであった。しかしながら、電子透かしにより埋め込まれた符号は、1ビットより多くても良い。
【0067】
付加情報分離部108で読み出された情報は、付加情報チェック部109でその正確性がチェックされ、誤りがある場合はエラーとなり、読み出された情報は出力端子112には出力されない。チェック方法は、CRC(Cyclic Redundancy Check)のような公知の技術を用いれば良い。なお、CRCは、本発明の特徴とするところではないため、ここではその詳細な説明を省略する。
【0068】
また、付加情報分離部108としては、前述の
図7(a)に示す構成以外の構成を採ることも可能である。
図7(b)は、付加情報分離部108の他の構成例を示す図である。
【0069】
図7(b)において、入力端子710には、携帯端末101で読み込まれた複数の画像情報が入力される。この入力端子710は、
図7(a)の入力端子700と同等のものである。ブロック化部711は、横P画素、縦Q画素単位に画像情報のブロック化を行う。このブロック化部711は、
図7(a)のブロック化部701と同等のものである。
【0070】
直交変換部712は、ブロック化したP×Q画素を直交変換する手段である。2次元の直交変換を行う場合、P=Qとする。直交変換の方法としては、DFT(離散フーリエ変換)、DCT(離散コサイン変換)、ウェーブレット変換等がある。また、DFTには、FFT(高速フーリエ変換)と呼ばれる手法があり、この手法によれば高速にDFTを実施することができる。ただし、FFT実施の場合は、PとQは2のべき乗とする。
【0071】
ベクトル分類部713は、直交変換した結果をベクトルに分類する。直交変換部712において、例えばDFTを実施すると、
図9において説明した2次元の周波数特性を得ることができる。
図6(a)の量子化条件Aによる量子化閾値の変更では、
図9の周波数ベクトルA上に大きなパワースペクトルが生じる。また、
図6(b)の量子化条件Bによる量子化閾値の変更では、
図9の周波数ベクトルB上に大きなパワースペクトルが生じる。この2次元の周波数特性から大きなパワースペクトルが発生する周波数ベクトルを検出する。
【0072】
変換値加算部714は、分類したベクトル毎に電力の総和を算出する。また、判定部715は、ベクトル毎の電力総和を比較して、最大値となるベクトルに相当する電子透かし信号を電子透かしにより埋め込まれた符号と判定する。
【0073】
<複数画像の取得>
本実施形態の撮像センサ107では、AF(Auto Forcus)、AE(Auto Exposure)、AWB(Auto White Balance)等の機能を用いて撮像を行い、得られた画像情報を付加情報分離部108に入力している。その結果、撮像した画像に問題があり、付加情報チェック部109でエラーが発生した場合は、別の撮像画像を取得して付加情報分離部108に入力するという処理を繰り返している。これは、撮像時の姿勢が不安定となる可能性を考慮した処理である。また、本実施形態では、継続的に動画撮像を行い、その動画から静止画を切り出して、繰り返し静止画を取得している。但し、AF、AE、AWBではなく、フォーカス位置、露出、シャッタースピード、ホワイトバランスおよび、その他の撮像条件を任意の設定に変更しながら撮像しても同様の効果が得られる。
【0074】
<印刷画像に対する付加情報の電子透かしによる埋め込み>
ここで、印刷画像に対して付加情報を電子透かしにより埋め込んだ状態を説明する。
図11(a)、(b)は、
図6(a)、(b)に示した量子化条件A、Bを、それぞれ8×8pixe1のパターンに適用した状態を示している。本実施形態では、
図11(a)、(b)に示す領域を最小単位として付加情報の電子透かし埋め込み処理を行う。
図11(a)、(b)に示すそれぞれのパターンを抽出した際に得られる電子透かしにより埋め込まれた符号は、1ビットである。また、ここでは
図11(a)のパターン1203aが1ビットの「0」を表し、
図11(b)のパターン1203bが1ビットの「1」を表すものと定めている。従って、
図11(a)と
図11(b)とに示すパターン1203aと1203bとを用いることにより、「0」と「1」のビット情報を、印刷画像に埋め込むことができる。
【0075】
図12は、本実施形態で用いる付加情報の単位ブロックを示す図である。図中の符号1200で示すブロックが、1つの単位ブロックである。この単位ブロック内の全情報を読み取ることで電子透かしにより埋め込まれた付加情報を取り出すことができる。単位ブロック1200は、アンカー部1201とデータ部1202とで構成されている。アンカー部1201は、付加情報の抽出の際に単位ブロック1200の原点を特定するために利用される32×32pixelのブロックである。アンカー部1201は、情報が付加されない空白である場合、あるいはアンカー部1201に関連する情報が埋め込まれている場合がある。
【0076】
データ部1202には、
図11(a)に示すパターン1203aまたは
図11(b)に示すパターン1203bが敷き詰められている。本実施形態の単位ブロック1200は512×512pixelとなっており、データ部1202にはパターン1203a,1203bが4080個入っている。パターン1203a,1203bがそれぞれ1ビットの情報を表すことができるため、単位ブロック1200全体では4080ビット(510バイト)の情報量を有していることとなる。
【0077】
また、
図13は、L判((127mm×89mm)約5inch×約3.5inch)の印刷用紙上に印刷解像度300dpiで付加情報が埋め込まれた状態を示している。L判における300dpiの画素数は約1500×1050pixelとなる。前述のように、付加情報の単位ブロック1200は512×512pixelであるため、L判の中に単位ブロックは4個(2×2個)埋め込むことができる。2×2個の単位ブロックの1つから、埋め込まれた4080ビットを読み出せれば、付加情報の抽出が可能である。
【0078】
<付加情報の注出が不可となる原因>
以上、印刷解像度と撮像解像度とが同一である場合を例に採り、付加情報を抽出する処理について説明した。次に、付加情報の抽出が不可となる原因について説明する。
【0079】
上記のようにL判の印刷用紙では、300dpiの画素数は約1500×1050pixe1となる。よって、L判を撮像した撮像画像にも同様の画質を求める場合には、300dpiの画素数が1500×1050pixelであることが望まれる。但し、本実施形態では、動画から繰り返し静止画を取得する。この場合、静止画の画素数は2K(1920×1080pixel)であることが望ましい。
【0080】
図14(a)は、印刷物1401から約77mmの距離にあるレンズ1402で、印刷物の短辺と撮像範囲とを一致させた状態で撮像できる2K動画の撮像センサ1403を示す模式図である。この状態から、印刷物1401とレンズ1402との距離を約99.3mmにすると、撮像画像の短辺は約838画素となり、望ましい画素数である1080画素から約77.6%減少する。
【0081】
また、
図11(b)のように印刷物1401と撮像センサ1403と間に30°の傾きが生じた場合には、レンズ1402の中心線付近における印刷物1401とレンズ1402との距離は約99.3mmとなる。結果、撮像画像の中心付近は解像度が約77.6%になる。このように、印刷物1401と撮像センサ1403との相対位置のずれ(撮像姿勢のずれ)が、付加情報の抽出を不可にする原因の1つとなる。
【0082】
また、付加情報の抽出が不可となる別の原因としては、撮像センサ1403の性能がある。ここで、付加情報の抽出に影響する性能(付加情報を抽出するための性能)を、撮像性能や、抽出性能という。撮像性能とは具体的には例えば、撮像解像度や、携帯端末101側で施す画像処理の性能等である。2K(1920×1080画素)の動画撮像ができない撮像センサの場合、撮像解像度が足りずに付加情報の抽出が不可になる。さらに、撮像センサ1403のMTF(Modulation Transfer Function)が低い場合や、携帯端末で実施される画像処理によって平滑化処理が行われる場合にも付加情報の抽出は不可になる。この場合、例えば300dpiピッチの白と黒のコントラスト比がなくなり、実質の解像度が低くなる。結果、付加情報の抽出が不可となる。
【0083】
従って、撮像センサや携帯端末による撮像性能が低い場合には、ユーザがいかに撮像姿勢を工夫したとしても、付加情報の抽出は困難になる。しかし、付加情報の抽出が不可となっている原因が撮像センサの性能にあることに気が付かない場合、ユーザは動画の撮像を継続する可能性があり、労力と時間の無駄が生じることとなる。そこで、本実施形態では、以下のようにして、撮像センサの撮像性能の診断を行う。
【0084】
<撮像センサの撮像性能の診断>
本実施形態では、撮像センサを有する携帯端末101によって、印刷画像から付加情報を抽出するための動画撮像を開始させた後、付加情報が取り出されずに一定時間が経過すると、撮像センサの撮像性能を診断する診断モードへ移行する。
【0085】
以下、動画撮像の開始から診断モードまでの処理を、
図15のフローチャートに従って説明する。なお、以下の説明において参照する
図15及び
図17~
図19のフローチャートにおいて、各工程番号の前に付されているSは、ステップを意味する。
【0086】
ユーザが携帯端末101の操作部214によって、印刷画像から付加情報を抽出するための動画撮像を指示すると、CPU210は、後述のカメラ107による動画撮像を開始させると共に、撮像開始からの経過時間の計測を開始する(S1,S2)。この後、CPU210は、撮像画像データから付加情報が取り出されたか(抽出されたか)を判定する。判定結果がYESの場合(付加情報が取り出された場合)には、経過時間の計測処理を終了する。また、S3の判定結果がNOの場合(付加情報が取り出されていない場合)には、S4へと移行し、撮像開始からの経過時間が所定時間経過したかを判定する。判定結果がNOの場合(所定時間が経過していない)と判定された場合にはS2へ戻り、経過時間の計測を継続する。その後、CPU210は、所定時間が経過するとS5に移行し、携帯端末101による付加情報の読み取り性能の診断処理を実施し、一連の処理を終了する。
【0087】
以上のように、本実施形態では、付加情報の抽出処理に関する値を取得し、その値に基づいて、診断処理を実行するか否かを判定している。上述では、付加情報の抽出に関する値が撮像開始から付加情報が抽出されるまでの経過時間である例を説明したが、この形態に限定されない。上記値は例えば、付加情報の抽出処理のエラー回数や、付加情報の抽出処理においてカメラ107と印刷画像との間の距離やカメラ107に対する印刷画像の角度の変化回数であっても良い。
【0088】
図16は、
図15のS3の診断処理に用いる診断用の印刷画像が印刷された印刷チャート1200aと撮像ガイド1502とを模式的に示す図である。以下、この
図16を参照しつつ、診断処理を実施する方法を説明する。
【0089】
本実施形態では、
図16に示す印刷チャート1200aを携帯端末101によって撮像し、その撮像結果に基づいて携帯端末101の付加情報の抽出性能を判定する。本例に用いる印刷チャート1200aは、
図12で説明した単位ブロック1200に外形線を描画した正方形形状をなすチャートである。印刷チャート1200aの解像度は300dpiであり、印刷チャート1200a内の画素数は512×512pixelである。
【0090】
また、診察処理の開始時において、携帯端末101のディスプレイ110には、正方形形状をなす枠状の撮像ガイド1502が表示される。この撮像ガイド1502の表示は、CPU210が、RAM212に格納されている読取アプリケーションに従ってディスプレイ110の表示駆動部を制御することによって行う。撮像ガイド1502のサイズは、当該撮像ガイド1502の枠内の画素数が、印刷チャート1200aの印刷解像度における画素数と同じ画素数になるようにCPU210によって設定される。この撮像ガイド1502のサイズの設定のため、CPU210は読み取りアプリケーションに従い、印刷チャート1200aの解像度及びサイズと、撮像センサ107の画素数とを予め取得する処理を行う。
【0091】
携帯端末101の付加情報の抽出性能を診断する場合、ユーザは、携帯端末101のディスプレイ110に表示される指示1503に従い、印刷物である印刷チャート1200aの外形に撮像ガイド1502を合わせて撮像を行う。これにより、印刷チャート1200aと撮像ガイド1502との距離、及び印刷チャート1200aに対する撮像ガイド1502の角度は常に一定に保たれることとなる。つまり、予め想定している一定の適正な撮像姿勢で撮像されることとなる。また、撮像して得られる画像には、印刷チャート1200aに印刷されている画像と同一の良好な解像度を得ることができる。
【0092】
このように、撮像ガイド1502を用いることで、一定の撮像姿勢及び解像度で撮像した撮像画像データに基づいて診断処理を行うことにより、撮像時の姿勢、解像度の影響を低減した診断結果が得られる。すなわち撮像ガイド1502の表示は、診断処理に対する、印刷チャート1200aと撮像ガイド1502との距離や印刷チャート1200aに対する撮像ガイド1502の角度の影響を抑制するための処理である。
【0093】
図17は、上述の診断モードにおいてCPU210により実行される診断処理を示すフローチャートである。本処理は、CPU210が、ROM211に格納されている読取りアプリケーションのプログラムをRAM212に読み出して実行することにより実現される。
【0094】
S11において、CPU210は、携帯端末101のディスプレイ110に撮像ガイド1502を表示させる。このとき、
図16に示すように、ディスプレイ110に、撮像ガイド1502を印刷チャート1200aの外形に合わせることをユーザに促す指示1503を表示させるようにしても良い。
【0095】
S12において、CPU210は、携帯端末101の撮像センサ(カメラ)107を用いて印刷チャート1200aの撮像を行う。この際、ユーザは、撮像ガイド1502と印刷チャート1200aの外形との位置合わせを行う。
【0096】
S13において、CPU210は、印刷チャート1200aに重畳された付加情報を抽出する抽出処理(付加情報分離処理)を行う。抽出処理は、前述の付加情報分離部108によって行う。この後CPU210は、S14において、印刷チャート1200aに埋め込まれた付加情報とRAM202に予め格納された基準付加情報とが一致したかを判定する。
【0097】
本実施形態では、印刷チャート1200aに印刷されている付加情報を、基準付加情報と同一に定めている。従って、付加情報分離部108で抽出された付加情報と基準付加情報とが一致すれば、CPU210は、付加情報の抽出が成功したとみなす。これに対し、付加情報分離部108で抽出された付加情報と基準付加情報とが一致しない場合、CPU210は、付加情報の抽出が失敗したとみなす。なおCPU210は、付加情報分離部108で付加情報がそもそも抽出されなかった場合も、付加情報の抽出が失敗したとみなす。
【0098】
なお、診断処理で使用する印刷チャート1200aは、ユーザが必要とする情報を埋め込んだ画像情報をユーザ自身が印刷して用意しても良い。また、読取アプリケーションに、診断処理用の印刷チャートを印刷するメニューを用意しておき、所定の付加情報を埋め込んだ印刷チャートを、携帯端末101に接続した印刷装置によって印刷できるようにしても良い。
【0099】
S14では、S13における抽出処理により、付加情報の抽出が成功したか否かを判定する。CPU210は、付加情報の抽出が成功したと判定された場合、S15に移行し、携帯端末101の付加情報の抽出性能が十分良好である(適正である)ことをユーザに通知するOK通知(第1通知処理)を行い、一連の処理を終了する。また、CPU210は、付加情報の抽出が失敗したと判定された場合、S16に移行し、携帯端末101の付加情報の抽出性能が不十分である(適正でない)ことをユーザに通知するNG通知(第2通知処理)を行い、一連の処理を終了する。なおS13における抽出処理により付加情報の抽出が失敗した場合、付加情報が正確に抽出できないエラーである抽出エラーが発生する。本実施形態では例えば、抽出エラーが一度でも発生していたら、S14においてNOと判定しても良い。すなわち、S14の判定が、抽出エラーが発生したか否かに基づいて実行されても良い。また例えば、抽出エラーが発生した回数が所定の回数を超えていたら、S14においてNOと判定しても良い。すなわち、S14の判定が、抽出エラーが発生した回数に基づいて実行されても良い。
【0100】
なお、S15とS16において行う診断結果の通知方法としては、例えば、次のような方法がある。携帯端末101のディスプレイ110にアイコン等の絵柄や文字を表示する方法がある。また、携帯端末101のスピーカ111から音声を出力する方法がある。さらに、携帯端末101の振動部(不図示)を使用し、振動のリズムの違いでOK通知とNG通知のそれぞれをユーザに認識させるようにすることも可能である。
【0101】
以上によって、付加情報の抽出ができない原因が、撮像センサ107や携帯端末101のデータ処理部(例えば、付加情報分離部108)にあるのか、あるいはユーザによる撮像姿勢にあるのかを、ユーザに早期に気付かせることが可能になる。このため、付加情報を抽出できない携帯端末を用いて付加情報抽出のための撮像を停止させるこことなり、ユーザは労力と時間の無駄を排除することが可能になり、ユーザの利便性を向上させることができる。
【0102】
また、
図15に示す例では、診断モードへ移行するタイミングを経過時間に基づいて決定するようにしたが、経過時間以外の情報に基づいて診断モードへの移行タイミングを決定するようにしても良い。前述のように本実施形態では、動画から静止画を切り出して付加情報分離処理を実行し、エラーが発生した場合には別の静止画を切り出すようになっている。このエラーの回数をカウントして、所定の回数に達した場合に診断モードに移行するようにしても良い。
【0103】
また、携帯端末によっては加速度センサやジャイロセンサを搭載した機種がある。この種の携帯端末では、付加情報抽出中の自身の姿勢変化を捉えることができる。そこで、所定以上の移動量を伴う姿勢変化の回数をカウントして、所定の回数に到達したら、診断モードに移行するようにしても良い。なお付加情報抽出中の姿勢変化の回数とは具体的には、付加情報抽出中における印刷チャート1200aと撮像ガイド1502との間の距離の変化回数や、付加情報抽出中における撮像ガイド1502に対する印刷チャート1200aの角度の変化回数である。
【0104】
また、
図17のS13において、CRCによってエラー回数をカウントし、所定のエラー回数に達した場合に、S16においてNG通知を表示するようにしても良い。
【0105】
(第2実施形態)
次に、本発明の第2実施形態を説明する。第1実施形態では、予め定められた付加情報が印刷されている印刷チャート1200aを用いて、携帯端末101の診断を行う例を示した。これに対し、本実施形態では、予め定められていない任意の付加情報が印刷されている印刷チャート1200b(
図16参照)を用いて、携帯端末101の付加情報の抽出性能を診断する診断モードについて説明する。
【0106】
図18は、本実施形態における診断モードにおいてCPU210によって実行される処理を示すフローチャートである。本処理は、CPU210が、ROM211に格納されている読取りアプリケーションのプログラムをRAM212に読み出して実行することにより実現される。
【0107】
S21において、CPU210は、携帯端末101のディスプレイ110に
図16に示す撮像ガイド1502を表示させると共に、印刷チャート1200bの外形を、枠状をなす撮像ガイド1502に合わせることを促す指示1503(
図16参照)を表示させる。S22において、CPU210は、撮像センサ107を動作させ、付加情報が予め定められていない印刷チャートの撮像を実行させる(S22)。
【0108】
S23では、CPU210は、付加情報分離処理を実行する。付加情報分離処理は、
図7に示す構成を有する付加情報分離部108を動作させることにより行う。この付加情報分離処理(抽出処理)において、エラーが生じていない場合には「エラーなし」という結果が付加情報チェック部109から出され、S24に移行する。なお、ここで言う「エラーなし」の状態とは、抽出された付加情報にエラーが生じたとしても、エラーの発生回数が所定回数に達する前に解消された場合も含む。また、付加情報チェック部109でチェックされたエラー回数が所定回数に達したという結果が出された場合にもS24に移行する。なお、S23やS24の処理内容は、S13やS14の処理内容と同様である。
【0109】
本実施形態における診断処理では、通知内容を決定するための2回の判定が行われる。S24では、CPU210は、S23における抽出処理により、付加情報の抽出が成功したか否かを判定する(第1判定処理)。ここで、付加情報の抽出が成功したと判定された場合、S25に移行する。S25では、CPU210は、携帯端末101の付加情報の抽出性能が十分良好である(適正である)という診断結果をユーザに通知するOK通知(第1通知処理)を行い、一連の処理を終了する。本判定は、携帯端末101の付加情報の抽出性能が十分であるか否かを判定する処理に相当する。
【0110】
また、CPU210は、付加情報の抽出が失敗したと判定された場合、S26に移行する。S26では、CPU210は、第1エラー通知処理(第3通知処理)と第2エラー通知処理(第2通知処理)のうち、いずれのエラー通知処理を行うかの判定(第2判定処理)を行う。本実施形態では第1エラー通知は、付加情報の抽出は失敗したが携帯端末101と印刷チャート1200bが適切な位置関係になっている状態で抽出処理を再度実行すれば抽出が成功する可能性があることを通知するエラー通知(注意通知)である。すなわち第1エラー通知は、付加情報の抽出は失敗したが携帯端末101の付加情報の抽出性能が十分である可能性がある(可能性が高い)ことを通知するエラー通知である。また第2エラー通知(第2通知処理)は、携帯端末101と印刷チャート1200bが適切な位置関係になっている状態で再度抽出処理が行われたとしても失敗する可能性が高いことを通知するエラー通知(NG通知)である。すなわち第2エラー通知は、携帯端末101の付加情報の抽出性能が不十分である可能性が高いことを通知するエラー通知である。本実施形態では、例えば、
図7(b)を参照して説明したように、電力が最大となる周波数ベクトル(以下、最大周波数ベクトルという)に基づいて、電子透かしにより埋め込まれた符号の信頼性を判定している。そのためここでは、最大周波数ベクトルの電力と、最大周波数ベクトル以外の周波数ベクトルの電力とを比較する。例えば、最大ベクトルの電力と、これとは異なる周波数ベクトルから得られる第2位置の電力との差を求める。
【0111】
携帯端末101が有している撮像性能が低い場合には、電力が突出したベクトルが発生しない可能性がある。例えば、携帯端末101が有している解像度、MTF(Modulation Transfer Function)、平滑化処理によって、撮像画像の中で、電力が突出したベクトルが発生しない可能性がある。この場合、最大電力と第2位の電力との電力差が小さくなる。そのためベクトル間の電力差を参照することで、抽出処理の失敗の原因が携帯端末101と印刷チャート1200bとの間の位置関係であることの可能性が高いのか、携帯端末101の付加情報の抽出性能が不十分であることの可能性が高いのかを判定できる。
【0112】
具体的には例えば、S26においてCPU210は、撮像画像中に取得された前記電力差のうち、前記電力差が所定の閾値以上となるパターン1203aとパターン1203bの個数と全てのパターン1203aとパターン1203bの個数との割合を特定する。そして、特定された割合が所定値以上であれば、抽出処理の失敗の原因が携帯端末101と印刷チャート1200bの位置関係であることの可能性が高いと判定(YES判定)し、S27に移行する。これに対し、特定された割合が所定値未満であれば、抽出処理の失敗の原因が携帯端末101の付加情報の抽出性能が不十分であることの可能性が高いと判定(NO判定)し、S28に移行する。なお、本判定は、前記電力差の最小値や最大値、平均値が所定値以上であるか否かによって行われても良い。この場合もYES判定であれば、S27に移行し、NO判定であれば、S28に移行する。また本判定は、前記電力差ではなく、抽出エラーが発生した回数に基づいて行われても良い。抽出エラーが発生した回数が所定の閾値未満であれば、S27に移行し、抽出エラーが発生した回数が所定の閾値以上であれば、S28に移行する。本判定は、携帯端末101の付加情報の抽出性能が十分である可能性があるか(可能性が高いか)否かを判定する処理に相当する。
【0113】
S27では、CPU210は、第1エラー通知を実行する。第1エラー通知では、携帯端末101と印刷チャート1200bを適切な位置関係にして再度抽出処理を実行するようユーザを促すための通知が行われても良い。また例えば、抽出処理のための印刷チャート1200bの撮影時に、印刷チャート1200bが撮像ガイドに収まるようにするようにユーザを促すための通知が行われても良い。その後、一連の処理を終了する。
【0114】
また、S28では、CPU210は、第2エラー通知を実行する。その後、処理を終了する。この診断結果により、ユーザは、携帯端末101による付加情報抽出のための撮像を停止する。
【0115】
なお、診断結果をユーザに通知する方法として、携帯端末101のディスプレイ110に絵柄や文字などを表示して通知する方法、スピーカ111からの音声出力で通知する方法、不図示の振動部の振動リズムによって通知をする方法等がある。
【0116】
また、携帯端末101の付加情報の抽出性能が十分である可能性があるかの判定は、動画から切り出した静止画毎に実施しても良く、何れかの静止画で信頼性の高い付加情報が得られれば、診断結果としてOK通知を行うようにしても良い。また、適正な付加情報が得られた静止画の枚数が、所定の閾値枚数以上であれば、OK通知を行い、閾値枚数未満であれば、NG通知を行うようにしても良い。
【0117】
本実施形態では、予め定められていない任意の付加情報が印刷されている印刷チャート1200b(
図16参照)が用いられる形態を説明したが、この形態に限らない。例えば、
図13に示すL判に予め定められていない任意の付加情報が印刷されている印刷物を印刷チャートとして使ってもよい。この場合、携帯端末101は、付加情報の単位ブロックサイズを予め認識していない。付加情報の単位ブロックサイズを認識するためには、アンカー部を正確に抽出する必要がある。そこで、携帯端末101は、印刷チャートの撮影時には、撮影中の印刷チャートの外形線に合わせるための撮像ガイドを携帯端末101のディスプレイ110に表示する。このとき例えば、撮像ガイドの表示サイズがディスプレイ110上で最大になるようにする。
【0118】
以上のように、本実施形態によれば、付加情報の抽出ができない原因が、撮像センサ107やデータ処理部などの携帯端末側の性能にあることを、ユーザに早期に気付かせることができる。このため、ユーザは、付加情報の抽出ができない携帯端末により、付加情報抽出のための撮像を継続する無駄を低減することができ、ユーザの利便性を向上させることができる。
【0119】
(第3実施形態)
次に、本発明の第3実施形態を説明する。第1実施形態と第2実施形態では、撮像ガイドを用いた撮像により取得した撮像データに基づいて付加情報の抽出性能の診断を行う例を示した。これに対し、本実施形態では、診断モードにおいて、撮像ガイドを用いずに撮像して取得した撮像データに基づき、携帯端末の付加情報の抽出性能の診断を可能にする例を示す。
【0120】
図19は、本実施形態の診断モードにおいてCPU210により実行される処理を示すフローチャートである。本処理は、CPU210が、ROM211に格納されている読取りアプリケーションのプログラムをRAM212に読み出して実行することにより実現される。
【0121】
SS31において、CPU210は、撮像センサ107を動作させ、任意の付加情報が電子透かしにより埋め込まれている印刷チャートの撮像を実行させる。ここで使用する印刷チャートは、
図16で撮像対象としている印刷チャート1200bであっても良い。
【0122】
S32では、CPU210は、付加情報分離処理を実行する。付加情報分離処理は、
図7に示す構成を有する付加情報分離部108を動作させることにより行う。この付加情報分離処理(抽出処理)において、エラーが生じていない場合には「エラーなし」という結果が付加情報チェック部109から出され、S33に移行する。なお、ここで言う「エラーなし」の状態とは、抽出された付加情報にエラーが生じたとしても、エラーの発生回数が所定回数に達する前に解消された場合も含む。また、付加情報チェック部109でチェックされたエラー回数が所定回数に達したという結果が出された場合にもS34に移行する。
【0123】
S33においてCPU210は、付加情報チェック部109のチェック結果が、「エラーなし」であるか否かの判定(第1判定処理)を行う。ここで、付加情報チェック部109のチェック結果が「エラーなし」であった場合(YESの場合)には、S34に移行し、ユーザの携帯端末101が付加情報を適正に抽出できる性能を有する端末である旨の診断結果をユーザに通知するOK通知(第1通知処理)を行い、一連の処理を終了する。
【0124】
また、CPU210は、付加情報チェック部109によってチェックしたエラー回数が所定回数に達していた場合(NOの場合)、S35に移行する。S35では、CPU210は、判定領域を選択する。この判定領域は、例えば、電子透かしにより埋め込まれた符号に対応するベクトルの最大電力と他のベクトルの電力との差が大きい小領域とする。小領域は
図12に示すパターン1203のように8×8pixelの領域でも良く、8×8pixelの領域を複数集めた、例えば、64×64pixelの領域でも良い。
【0125】
前述のように、
図14(b)は、印刷画像に対して撮像センサ1403が傾いた状態を示しているが、このような状態であっても、印刷物1401と撮像センサ1403との間の位置関係が適正な位置関係となる領域が存在する場合がある。例えば、
図14(b)に示す状態であれば、印刷物1401の上方領域は、印刷物1401の上方領域と撮像センサ1403との距離に近い状態である。
図14(b)における、印刷物1401と撮像センサ1403との間の位置関係も、前述の適正な位置関係に相当する。この位置関係であれば撮像した画像の解像度が適正な解像度に近くなり、電子透かしにより埋め込まれた符号に対応する周波数ベクトルの最大電力と他の周波数ベクトルの電力との差が大きい可能性が高い。このため、正確に付加情報を読み出せる(抽出可能となる)可能性が高い。
【0126】
S36では、CPU210は、撮像センサ1403の撮像性能が十分である可能性が高いか否かの判定処理(第2判定処理)を実行する。この判定は、最大周波数ベクトルによって得られる最大電力と、最大周波数ベクトル以外の周波数ベクトルによって得られる電力と、を比較することにより行う。例えば、最大電力と第2位の電力との電力差を求める。両ベクトルの電力差が小さい場合、読み出された付加情報は、携帯端末101の付加情報の抽出性能が十分でないと考えられる。ここで、CPU210は、撮像した小領域の中で、所定の閾値以上となる電力差の個数と全ての電力差の個数との割合が所定値以上であれば、付加情報の抽出は失敗したが携帯端末101の付加情報の抽出性能が十分である可能性があると判定(YES判定)し、S37に移行する。また、前記割合が所定の閾値未満であれば、携帯端末101の付加情報の抽出性能が十分でないと判定(NO判定)し、S38に移行する。本判定は、前記電力差の最小値や最大値、平均値が所定値以上であるか否かによって行われても良い。
【0127】
S37においてCPU210は、撮像姿勢などの撮像条件によっては、ユーザの携帯端末101は付加情報を抽出することが可能な端末である、旨の診断結果をユーザに通知する注意通知(第3通知処理)を行い、一連の処理を終了する。この場合、小領域から抽出された付加情報が適正な情報である可能性は高い。従って、撮像姿勢を正しくすれば、
図12に示す単位ブロック1200の撮像画像においても適正な解像度が得られ、付加情報を読み出せる可能性がある。
【0128】
また、S38では、CPU210は、ユーザの携帯端末101が、付加情報を抽出不可な端末である旨の診断結果をユーザに通知するNG通知(第2通知処理)を行い、一連の処理を終了する。この場合、仮に付加情報が抽出されたとしても、その付加情報が適正な情報である可能性は低い。
【0129】
なお、本実施形態においても、第2実施形態と同様に、診断結果をユーザに通知する方法として、携帯端末101のディスプレイ110への絵柄や文字の表示、スピーカ111からの音声出力、不図示の振動部の振動リズムなどを用いることができる。また、付加情報の判定を、動画から切り出した静止画毎に実施しても良い。
【0130】
以上のように、本実施形態によれば、付加情報の抽出ができない原因が、携帯端末側の性能にある場合には、その原因をユーザに早期に知らせることができ、ユーザの利便性を向上させることができる。また、本実施形態では、上記第1、第2実施形態のような撮像ガイドを用いることなく、撮像姿勢の影響を低減した状態で付加情報の抽出性能を診断することができるため、診断モードにおけるユーザの撮像操作をより簡略化することができる。
【0131】
(その他の実施形態)
第1~第3の実施形態では、経過時間やエラー回数、撮像姿勢の変化回数を参照して所定タイミングで診断モードに移行する例を示した。しかし、本発明はこれに限定されるものではない。診断モードへの移行は、所定のタイミングで自動的に行っても良く、診断モードに移行するかの確認を携帯端末101のディスプレイ110にUI表示しても良い。後者の場合は、ユーザが移行を許可したら診断モードに移行するようにする。
【0132】
また、診断モードを実施することを推奨するUI表示のみを行い、診断モードへの移行は、読取アプリケーションのメニューから選択して実行する方式を採るようにしても良い。また、UI表示の他に、スピーカ111から音声を出力して、診断モードの実施や、実行方式の選択を促すようにしても良い。
【0133】
また、診断モードに移行する前に正しい撮像姿勢で撮像することを促すUIを携帯端末101のディスプレイ110に表示しても良い。また、スピーカ111から音声によって撮像姿勢を指示しても良い。撮像姿勢とは、例えば、印刷画像と携帯端末との距離、印刷画像に対する携帯端末の向きや傾き等である。
【0134】
また、付加情報の埋め込みに用いるパターンは、
図11に示した周波数ベクトルA,Bとは異なる周期特性及び位相特性を有するものであっても良い。但し、
図11とは異なる特性を有する別のパターンを用いる場合には、該パターンの特性を取得できる、
図8のフィルタとは異なるフィルタを用いる。また、パターンの種類を増やすことで電子透かしにより埋め込まれた符号のビットを増やすことが可能になる。また、パターン1203のサイズを変更しても良い。さらに、単位ブロック1200のサイズを変更して付加する情報量を調整しても良い。
【0135】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0136】
101 形態端末
104 印刷物
107 撮像センサ
110 ディスプレイ
210 携帯端末のCPU
211 携帯端末のROM
212 携帯端末のRAM