特許第6952499号(P6952499)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許6952499-情報処理装置及びプログラム 図000002
  • 特許6952499-情報処理装置及びプログラム 図000003
  • 特許6952499-情報処理装置及びプログラム 図000004
  • 特許6952499-情報処理装置及びプログラム 図000005
  • 特許6952499-情報処理装置及びプログラム 図000006
  • 特許6952499-情報処理装置及びプログラム 図000007
  • 特許6952499-情報処理装置及びプログラム 図000008
  • 特許6952499-情報処理装置及びプログラム 図000009
  • 特許6952499-情報処理装置及びプログラム 図000010
  • 特許6952499-情報処理装置及びプログラム 図000011
  • 特許6952499-情報処理装置及びプログラム 図000012
  • 特許6952499-情報処理装置及びプログラム 図000013
  • 特許6952499-情報処理装置及びプログラム 図000014
  • 特許6952499-情報処理装置及びプログラム 図000015
  • 特許6952499-情報処理装置及びプログラム 図000016
  • 特許6952499-情報処理装置及びプログラム 図000017
  • 特許6952499-情報処理装置及びプログラム 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6952499
(24)【登録日】2021年9月30日
(45)【発行日】2021年10月20日
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   H04N 5/232 20060101AFI20211011BHJP
   H04N 1/387 20060101ALI20211011BHJP
   G03B 17/18 20210101ALI20211011BHJP
【FI】
   H04N5/232 941
   H04N1/387
   G03B17/18 Z
【請求項の数】14
【全頁数】20
(21)【出願番号】特願2017-108319(P2017-108319)
(22)【出願日】2017年5月31日
(65)【公開番号】特開2018-207229(P2018-207229A)
(43)【公開日】2018年12月27日
【審査請求日】2020年5月28日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(72)【発明者】
【氏名】浦谷 充
【審査官】 中嶋 樹理
(56)【参考文献】
【文献】 特開2007−201632(JP,A)
【文献】 特開2016−072939(JP,A)
【文献】 米国特許出願公開第2005/0025338(US,A1)
【文献】 特開2002−247421(JP,A)
【文献】 特開2004−350041(JP,A)
【文献】 特開2017−055250(JP,A)
【文献】 特開2005−006255(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/232
H04N 1/387
G03B 17/18
(57)【特許請求の範囲】
【請求項1】
付加情報が多重化された画像を被写体として撮像する撮像手段と、
前記撮像手段により撮像された前記画像から前記付加情報を抽出するための適正距離を取得する第1の取得手段と、
前記被写体との距離を取得する第2の取得手段と、
前記第2の取得手段により取得された前記被写体との距離が、前記第1の取得手段により取得された前記適正距離より長いか否かを判定する判定手段と、
前記被写体との距離が前記適正距離より長いと判定された場合、表示部に当該距離を適正とするためのメッセージを表示させる制御手段と、
前記制御手段は、前記被写体との距離が前記適正距離より長いと前記判定手段により判定された場合、前記撮像手段による撮影前に、前記表示部に前記メッセージを表示させる、
ことを特徴とする情報処理装置。
【請求項2】
前記制御手段は、前記被写体との距離が前記適正距離より長くない場合、前記表示部に、撮影指示を受け付ける受付手段を表示させることを特徴とする請求項に記載の情報処理装置。
【請求項3】
前記撮像手段の焦点距離を変更する変更手段、をさらに備え、
前記制御手段は、前記判定手段により前記被写体との距離が前記適正距離より長いと判定された場合、前記表示部に前記メッセージを表示させる代わりに、前記撮像手段の焦点距離を変更するよう前記変更手段を制御する、
ことを特徴とする請求項に記載の情報処理装置。
【請求項4】
前記変更手段により前記撮像手段の焦点距離が変更されると、前記判定手段は再び、前記被写体との距離が前記適正距離より長いか否かを判定し、
前記判定手段により前記被写体との距離が前記適正距離より長いと判定された場合、前記制御手段は、前記表示部に前記メッセージを表示させる、
ことを特徴とする請求項に記載の情報処理装置。
【請求項5】
前記第1の取得手段は、前記撮像手段の焦点距離と撮像解像度とに基づいて、前記適正距離を取得することを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2の取得手段は、距離センサにより、前記被写体との距離を取得することを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
【請求項7】
前記第2の取得手段は、前記被写体と同じ撮像範囲にある所定のオブジェクトに基づいて、前記被写体との距離を取得することを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
【請求項8】
前記所定のオブジェクトは、前記被写体に印刷された所定の画像であることを特徴とする請求項に記載の情報処理装置。
【請求項9】
前記被写体としての用紙のサイズを取得する第3の取得手段、をさらに備え、
前記第2の取得手段は、前記第3の取得手段により取得された前記用紙のサイズに基づいて、前記被写体との距離を取得することを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
【請求項10】
前記メッセージは、前記被写体に近づくことを促すメッセージを含むことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項11】
付加情報が多重化された画像を被写体として撮像する撮像手段と、
前記被写体との距離が前記撮像手段により撮像された前記画像から前記付加情報を抽出するために適正でない場合、表示部に当該距離を適正とするためのメッセージを表示させる制御手段と、を有し、
前記メッセージは、前記被写体との距離と、前記画像から前記付加情報を抽出するための適正距離の情報を含む、
ことを特徴とする情報処理装置。
【請求項12】
前記被写体との距離が前記撮像手段により撮像された前記画像から前記付加情報を抽出するために適正である場合、前記制御手段は、前記表示部に、撮影指示を受け付ける受付手段を表示させることを特徴とする請求項11に記載の情報処理装置。
【請求項13】
コンピュータを、請求項1乃至10のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項14】
コンピュータを、請求項11又は12に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、付加情報が多重化された画像を撮影する情報処理装置及びプログラムに関する。
【背景技術】
【0002】
画像情報に対して、画像に関連のある他の情報を多重化した電子透かし技術が知られている。電子透かし技術によれば、例えば、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報が視覚的に判別しづらいように多重化される。
【0003】
特許文献1には、従来のスキャナではなく、携帯端末の内蔵カメラ等の撮像デバイスで読み取った画像のように、縮尺が不定な場合の対策が記載されている。拡大縮小率検出用パターン、回転角検出用パターンなど、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定し、全てのパターンを合わせて逆フーリエ変換し、原画像に対して、変換により得た画像を加算することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4204263号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
検出用パターンを埋め込む方法では、印刷物全体を撮影しないと状態が判定できないので印刷物が画角に入るまで引いて撮影しなくてはならない。そのため、印刷物が遠くなりすぎると解像度が足りなくなってしまう。しかしながら、解像度が足りずに埋め込まれた情報の読み取りができないことを操作者が知る術がないので、撮影および読取処理のリトライを繰り返すことになり、消費電力や操作性に影響を及ぼしてしまう。
【0006】
本発明の目的は、このような従来の問題点を解決することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る情報処理装置は、付加情報が多重化された画像を被写体として撮像する撮像手段と、前記撮像手段により撮像された前記画像から前記付加情報を抽出するための適正距離を取得する第1の取得手段と、前記被写体との距離を取得する第2の取得手段と、前記第2の取得手段により取得された前記被写体との距離が、前記第1の取得手段により取得された前記適正距離より長いか否かを判定する判定手段と、前記被写体との距離が前記適正距離より長いと判定された場合、表示部に当該距離を適正とするためのメッセージを表示させる制御手段と、前記制御手段は、前記被写体との距離が前記適正距離より長いと前記判定手段により判定された場合、前記撮像手段による撮影前に、前記表示部に前記メッセージを表示させることを特徴とする。
【発明の効果】
【0008】
本発明によれば、付加情報が多重化された画像を撮影する際のリトライを低減させることができる。
【図面の簡単な説明】
【0009】
図1】画像処理システムの構成を示すブロック図である。
図2】画像処理装置、カメラ付携帯端末のブロック構成を示す図である。
図3】付加情報多重化部に含まれる埋込みを行う構成を示すブロック図である。
図4】量子化条件制御部を含む全体の処理を示すフローチャートである。
図5】水平画素数がWIDTH、垂直画素数がHEIGHTから成る画像を示す図である。
図6】量子化条件A、Bを説明するための図である。
図7】付加情報分離部の構成を示すブロック図である。
図8】付加情報分離部に用いる空間フィルタを示す図である。
図9】二次元の周波数領域を示す図である。
図10図7の間引き部から判定部までの処理を示すフローチャートである。
図11】カメラ付携帯端末の外観図である。
図12】撮影時の光学系を表す図である。
図13】表示制御処理を示すフローチャートである。
図14】ディスプレイに表示されるメッセージを示す図である。
図15】シンボルマークを組み込んだ印刷物を示す図である。
図16】シンボルマークから距離を算出する処理を示すフローチャートである。
図17】印刷物の用紙サイズを入力する画面を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0011】
図1は、画像処理システムの構成を示すブロック図である。本実施形態における画像処理システムは、画像処理装置100とカメラ付携帯端末101とを含む。画像処理装置100は、印刷機能を有する印刷装置であり、例えば、MFP(多機能型周辺装置)である。カメラ付携帯端末101は、例えば、カメラ付携帯電話、カメラ付スマートフォンやタブレットPCである。
【0012】
本実施形態では、画像処理装置100は、付加情報が多重化された印刷物104を印刷する。そして、カメラ付携帯端末101は、撮像センサ107(カメラ)により、印刷物104を撮像する。そのため、本実施形態では、画像処理装置100とカメラ付携帯端末101との間は、有線ネットワークや無線ネットワークで相互に通信可能であっても良いし、ネットワーク等を介して通信可能に接続されていなくても良い。
【0013】
画像処理装置100は、付加情報を印刷物104に埋め込む付加情報多重化部105を含み、カメラ付携帯端末101は、多重化された付加情報を印刷物104から読み取る付加情報分離部108を含む。付加情報多重化部105は、例えば、プリント部106(プリンタエンジン)へ出力すべき画像情報を作成するプリンタドライバソフトウエア、もしくは、アプリケーションソフトウエアとして実現される。また、複写機、ファクシミリ、プリンタ本体等にハードウエアやソフトウエアとして内蔵される形態で実現されても良い。
【0014】
また、付加情報分離部108は、例えば、デジタルスチールカメラで撮影した画像から付加情報を分離する内部のアプリケーションソフトウエアやハードウエアで実現されても良い。なお、本実施形態では、付加情報多重化部105とプリント部106が画像処理装置100に含まれるものとして説明するが、付加情報多重化部105とプリント部106が、別々の装置に分けられても良い。例えば、PCやスマートフォン等の情報処理装置が付加情報多重化部105を含み、その情報処理装置とは異なる画像処理装置がプリント部106を含む形態でも良い。なお、情報処理装置が、付加情報多重化部105と付加情報分離部108の両者を含んでいても良い。
【0015】
[付加情報の埋込みのための構成]
入力端子102から多階調の画像情報が入力され、入力端子103から画像情報の中に埋め込むべき付加情報が入力される。この付加情報は、画像情報とは別の情報、例えば音声情報や動画情報、文字情報、画像に関する著作権、撮影日時、撮影場所、撮影者の諸情報、若しくは、全く別の画像情報等、である。さらに、付加情報は、画像ファイルとして構成された画像情報の一部として内包されていても良い。
【0016】
付加情報多重化部105は、視覚的に判別しづらいように、画像情報中に付加情報を埋め込む(多重化する)。プリント部106は、付加情報多重化部105で作成された情報に基づいて印刷処理を実行する。プリント部106は、例えば、インクジェットプリンタ、レーザプリンタ等、疑似階調処理を用いることにより階調表現を印刷物104上に実現するプリンタである。
【0017】
図2(a)は、画像処理装置100のブロック構成を示す図である。CPU200は、画像処理装置100の内部を統括的に制御するプロセッサである。図1の付加情報多重化部105は、例えば、CPU200により実現される。ROM201やHDD203は、画像処理装置100の基本プログラムや制御プログラム、各種アプリケーションやデータ等を記憶する。例えば、CPU200は、ROM201に記憶されたプログラムをRAM202に読み出して実行することにより、各実施形態の動作を実現する。RAM202は、CPU200のワーキングメモリとしても用いられる。
【0018】
ネットワークインタフェース(NW I/F)204は、例えば、有線や無線等、ネットワークの形態に応じた構成を有する。また、通信範囲が異なる複数種類の無線ネットワークにも対応可能であり、例えば、通信距離が数cmといった近距離無線通信(NFC:Near Field Communication)により、カメラ付携帯端末101と通信することも可能である。ディスプレイ205は、ユーザーに各設定画面やプレビュー画面等を表示する。操作部206は、例えば、キーボードやタッチパネル等を有し、ユーザーからの操作指示を受付可能である。
【0019】
デバイスI/F207は、プリント部106(プリントエンジン)と、システムバス209とを接続する。図2(a)では、プリント部106が示されているが、画像処理装置100の実行可能な機能に応じて、スキャナ、FAX等、他のブロックがデバイスI/F207に接続されても良い。画像処理部208は、外部から取得した画像データに対して、用途に応じた画像処理を実行する。例えば、画像処理部208は、プリント部106の記録方式に応じた色空間変換や二値化処理、画像の拡大/縮小/回転、といった処理を実行する。
【0020】
図2(a)に示す各ブロックは、システムバス209を介して相互に通信可能に接続される。図2(a)に示す構成以外の構成であっても良く、例えば、システムバス209とイメージデータバスとがバスブリッジを介して接続される。その場合には、例えば、デバイスI/F207がイメージデータバスに接続される。図1の入力端子102は、例えば、ネットワークI/F204から入力される構成を示し、また、入力端子103は、例えば、ネットワークI/F204や操作部206から入力される構成を示す。
【0021】
[付加情報の読取りのための構成]
図1のカメラ付携帯端末101上で実行される読取アプリケーションは、撮像センサ107を用いて印刷物104上の情報を読み取り、付加情報分離部108によって、印刷物104中に埋め込まれた付加情報を分離し、出力端子109に出力する。この出力端子109は、取得した付加情報を出力するインタフェースである。例えば、画像情報や文字情報であれば、ディスプレイ110(表示部)へ出力し、URLなどのリンク情報であれば、ディスプレイ110上でブラウザを起動してリンク先を表示する。また、外部デバイスへデータを出力するインタフェースに出力しても良い。
【0022】
図2(b)は、カメラ付携帯端末101のブロック構成を示す図である。カメラ付携帯端末101は、CPUやROMやRAMといった、汎用的な情報処理装置の構成を含む。CPU210は、カメラ付携帯端末101の内部を統括的に制御するプロセッサである。図1の付加情報分離部108は、例えば、CPU210により実現される。ROM211は、カメラ付携帯端末101の基本プログラムや制御プログラム、各種アプリケーションやデータ等を記憶する。例えば、CPU210は、ROM211に記憶されたプログラムをRAM212に読み出して実行することにより、各実施形態の動作を実現する。RAM212は、CPU210のワーキングメモリとしても用いられる。
【0023】
ネットワークI/F213は、例えば、有線や無線等、ネットワークの形態に応じた構成を有する。また、通信範囲が異なる複数種類の無線ネットワークにも対応可能であり、例えば、通信距離が数cmといった近距離無線通信(NFC:Near Field Communication)により、画像処理装置100と通信することも可能である。ディスプレイ110は、ユーザーに各設定画面やプレビュー画面等を表示する。また、ディスプレイ110は、後述するが、撮像センサ107による撮像結果を表示する。操作部214は、例えば、ハードキー等を有し、ユーザーからの操作指示を受付可能である。距離センサ111は、カメラの前方にある物体までの距離を検出するセンサである。図2(b)に示す各ブロックは、システムバス215を介して相互に通信可能に接続されている。
【0024】
[付加情報の埋込み処理]
図3は、図1の付加情報多重化部105に含まれる埋込みを行う構成を示すブロック図である。誤差拡散処理部300は、入力端子102に入力された画像情報に、一般的な誤差拡散法を用いた疑似階調処理を行うことによって、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値により、面積的に階調性を表現する。
【0025】
ブロック化部301は、入力端子102に入力された画像情報を所定領域(ブロック)単位に区分する。ブロック化部301により行われるブロック化は、矩形に区分されても良いし、矩形以外の領域に区分されても良い。量子化条件制御部302は、入力端子103で入力された付加情報に基づいて、ブロック化部301にてブロック化された領域単位で、量子化条件を変更するように制御する。また、量子化条件制御部302は、入力端子103に入力された付加情報に基づき、ブロック単位で量子化条件を変更する。
【0026】
次に、量子化条件制御部302を含む全体の処理について、図4のフローチャートを参照しながら説明する。量子化値は二値である例について説明する。図4の処理は、例えば、画像処理装置100のCPU200がROM201に記憶されているプログラムをRAM202に読み出して実行することにより実現される。
【0027】
S401では、CPU200は、RAM202に確保された変数iを初期化する。ここで、変数iは、垂直方向のアドレスをカウントする変数である。S402では、CPU200は、RAM202に確保された変数jを初期化する。ここで、変数jは、水平方向のアドレスをカウントする変数である。続いて、S403では、CPU200は、現在の処理アドレスである座標(i,j)が多重化処理を実行すべき領域に属しているか否かを判定する。
【0028】
図5を参照しながら、多重化領域について説明する。図5は、水平画素数がWIDTH、垂直画素数がHEIGHTから成る、一つの画像を示している。本実施形態では、この画像中に付加情報が多重化される例を説明する。画像の左上を原点として、横N画素、縦M画素でブロック化が行われる。本実施形態では、原点を基準点としてブロック化が行われるが、原点から離れた点を基準点として設定するようにしても良い。この画像中に最大限の情報を多重化するために、N×Mのブロックを基準点から配置していくとして説明する。水平方向に配置可能なブロック数をW、垂直方向に配置可能なブロック数をHとすると、WとHは、式(1)及び(2)から算出される。
【0029】
W = INT(WIDTH/N) ・・・(1)
H = INT(HEIGHT/M) ・・・(2)
但し、INT()は()内の整数部分を示す。
【0030】
式(1)、(2)において割り切れない剰余画素数が、N×Mのブロックを複数配置した時の端部に相当し、本実施形態では、その部分を符号多重化領域外とする。
【0031】
図4のS403では、現在処理している注目画素が多重化領域内でない、即ち、多重化領域外であると判定された場合には、S404において、CPU200は、量子化条件Cを設定する。一方、多重化領域内であると判定された場合には、S405において、CPU200は、多重化すべき付加情報を読み込む。ここで、説明を容易にする為に、付加情報は、code[]という配列を用いて、各1ビットずつ表現されるものとする。例えば、付加情報を48ビット分の情報と仮定すると、配列code[]には、code[0]からcode[47]まで、各1ビットずつが格納されている。
【0032】
S405において、CPU200は、RAM202に確保された変数bitに、式(3)のように、配列code[]内の情報を代入する。
【0033】
bit = code[INT(i/M)×W+INT(j/N)]・・・(3)
S406では、CPU200は、代入された変数bitが"1"であるか否かを判定する。前述したように、配列code[]内の情報は各1ビットずつ格納されているので、変数bitの値も"0"か"1"かの何れかを示すことになる。
【0034】
ここで、"0"であると判定された場合には、S407において、CPU200は、量子化条件Aを設定し、"1"であると判定された場合には、S408において、CPU200は、量子化条件Bを設定する。
【0035】
次に、S409では、CPU200は、S404、S407、S408で設定された量子化条件に基づいて量子化処理を行う。この量子化処理は、誤差拡散法により行われる。
【0036】
S410では、CPU200は、水平方向変数jをカウントアップして、S411において、カウントアップされた変数jが画像の水平画素数であるWIDTH未満か否かを判定する。ここで、変数jがWIDTH未満であると判定された場合、S403からの処理を繰り返す。一方、変数jがWIDTH未満でないと判定された場合、即ち、水平方向の処理がWIDTH画素数分終了した場合、S412において、CPU200は、垂直方向変数iをカウントアップする。そして、S413において、CPU200は、カウントアップされた変数iが画像の垂直画素数であるHEIGHT未満か否かを判定する。ここで、変数iがHEIGHT未満であると判定された場合、S402からの処理を繰り返す。一方、変数iがHEIGHT未満でないと判定された場合、即ち、垂直方向の処理がHEIGHT画素数分終了した場合、図4の処理を終了する。以上の処理により、N×M画素よりなるブロック単位で、量子化条件を変更する。
【0037】
次に、量子化条件A、B、Cの例について説明する。誤差拡散法における量子化条件には様々な因子があるが、本実施形態において量子化条件の因子は、量子化閾値である。S404で設定される量子化条件Cは、多重化領域外で用いられるので、量子化閾値はどのような条件でも良い。1画素が8ビットによる階調表現で、量子化レベルが2値の場合には、最大値である"255"、及び、最小値である"0"が量子化代表値となるが、その中間値となる"128"が量子化閾値として設定されることが多い。よって、本実施形態では、量子化条件Cは、量子化閾値を"128"の固定値とする条件とする。
【0038】
S407で設定される量子化条件Aと、S408で設定される量子化条件Bは、多重化領域内のブロックで用いられるので、量子化条件の違いによる画質の違いを生じさせる必要がある。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、紙上から容易に識別可能である必要がある。
【0039】
図6(a)及び(b)は、量子化条件A、Bを説明するための図である。図6(a)は、量子化条件Aにおける量子化閾値の変化の周期を示す図である。図中、一つのマスを1画素分と想定し、白いマスは固定閾値、灰色のマスを変動閾値とする。即ち、図6(a)の例では、横8画素、縦4画素のマトリクスを組み、灰色のマスについてのみ突出した値を閾値として設定する。
【0040】
図6(b)は、同様に、量子化条件Bにおける量子化閾値の変化の周期を示した図である。図6(b)の例では、図6(a)とは異なり、横4画素、縦8画素のマトリクスを組み、灰色のマスについてのみ突出した値を閾値として設定する。
【0041】
前述したように1画素が8ビットの階調値の場合、例えば、固定閾値として"128"、突出した閾値を"10"と設定する。量子化閾値が低くなると、注目画素の量子化値が"1"(量子化代表値"255")になりやすくなる。即ち、図6(a)、(b)ともに、図中の灰色のマスの並びで量子化値"1"が並びやすくなる。言い換えると、N×M画素のブロック毎に、図6(a)の灰色のマスの並びでドットが発生するブロックと、図6(b)の灰色のマスの並びでドットが発生するブロックとが混在することになる。
【0042】
誤差拡散法における量子化閾値の多少の変更は、画質的には大きな影響を及ぼさない。組織的ディザ法においては、使用するディザパターンによって、階調表現の画質が大きく左右される。しかしながら、前述したような、規則的に量子化閾値の変化を与えた誤差拡散法では、あくまでも画質を決定する階調表現は誤差拡散法であるので、ドットの並びが多少変化したり、テクスチャの発生が変化したり等は、階調表現の画質には殆ど影響を与えない。量子化閾値が変化した場合でも、あくまでも信号値と量子化値との差分となる誤差は周囲画素に拡散されるので、入力された信号値は、マクロ的に保存される。即ち、誤差拡散法におけるドットの並び、テクスチャの発生に関しては、冗長性が極めて大きいといえる。
【0043】
上記のように、本実施形態では、誤差拡散法の量子化閾値に、符号を表す所定の周期性を重畳することにより、多重化を実現している。しかしながら、他の重畳方式により多重化を実現しても良い。例えば、直接RGBの値(輝度情報)に、周期性を重畳する方式により多重化を実現しても良い。または、RGBの値を、輝度−色差情報など、他の色空間情報(例えばCIE L*a*b*、YCrCb信号)に分離して周期性を重畳する方式により多重化を実現しても良い。または、RGBの値をインク色(例えばCMYK信号)に分離して周期性を重畳する方式により多重化を実現しても良い。
【0044】
[付加情報の読取処理]
次に、図1の画像処理システムにおける付加情報分離部108の処理について説明する。この処理は、後述する、カメラ付携帯端末101と印刷物104との距離を適正にするための通知を利用して撮影された画像から付加情報を分離する処理である。図7は、付加情報分離部108の構成を示すブロック図である。説明を容易にする為に、前述の付加情報多重化部105の場合と同様、分割したブロック内に各1ビットずつの付加情報が多重化されている印刷物104から、付加情報を分離する例について説明する。当然のことながら、付加情報多重化部105における1ブロックあたりの付加情報量と、付加情報分離部108における1ブロックあたりの分離情報量とは等しくなる。
【0045】
入力端子700には、カメラ付携帯端末101で読み込まれた画像情報が入力される。ここで、カメラ付携帯端末101の撮像センサ107の解像度(撮像解像度)は、印刷物104を作成する際の印刷解像度以上が好ましい。勿論のことながら、正確に印刷物104のドットの点在情報を読み込むためには、サンプリング定理により、撮像センサ107側はプリンタ側よりも2倍以上の解像度が必要になる。しかしながら、同等以上であれば、正確でなくとも、ある程度ドットが点在しているのを判別することが可能である。本実施形態では、説明を容易にするために印刷解像度と撮像センサ107の解像度とは同一解像度であるとする。
【0046】
ブロック化部701は、横P画素、縦Q画素単位にブロック化を行う。ここで、各ブロックは、電子透かしの重畳時にブロック化したN×M画素よりも小さい。即ち、式(4)の関係が成り立つ。
【0047】
P≦N、かつ Q≦M ・・・(4)
また、P×Q画素単位のブロック化は、ある一定間隔毎にスキップして行われる。即ち、多重化時のN×M画素より成るブロックと想定される領域内に、P×Q画素単位のブロックが一つ内包されるようにブロック化が行われる。
【0048】
空間フィルタ702、703は、それぞれ特性の異なる空間フィルタA、Bを示し、フィルタリング部704は、周辺画素との積和を演算するディジタルフィルタリング部を示す。この空間フィルタの各係数は、多重化時の量子化条件の変動閾値の周期に対応して設定される。ここで、付加情報多重化部105における量子化条件の変更が図6(a)及び(b)の2種類の周期性を用いて行われることにより、付加情報が多重化されたとする。その場合の付加情報分離部108に用いる空間フィルタ702、空間フィルタ703の例を、図8(a)及び(b)に示す。図8(a)及び(b)中、5×5画素の中央部が注目画素になり、それ以外の24画素分が周辺画素になる。図8(a)及び(b)中、空白部の画素は、フィルタ係数が"0"であることを表す。図8(a)及び(b)に示すように、図8(a)及び(b)は、エッジ強調フィルタになっている。しかも、その強調するエッジの方向性と多重化した時の変動閾値の方向性とが図8(a)及び(b)と図6(a)及び(b)とで一致している。つまり、図8(a)は図6(a)に一致し、また、図8(b)は図6(b)に一致するように、空間フィルタが作成される。
【0049】
間引き部705、706は、それぞれ、P×Q画素から成るブロック内のフィルタリング後の信号(以下、変換値という)を、ある規則性に基づいて間引き処理する。本実施形態では、周期性と位相のそれぞれの規則性に分離して間引き処理を行う。即ち、間引き部705及び706では間引きの周期性が互いに異なっており、それぞれにおいて、位相を変化させた複数の間引き処理を実行する。間引き処理については後述する。
【0050】
変換値加算部707は、間引き部705及び706により間引きされた変換値を、位相毎にそれぞれ加算する。この間引き処理及び間引き画素の変換値の加算処理は、空間フィルタで強調した所定周波数ベクトルの電力(パワー)を抽出することに相当する。
【0051】
分散値算出部708は、それぞれの周期性において、位相毎に加算した複数の加算値の分散値を算出する。判定部709は、それぞれの周期性における分散値に基づいて、多重化された符号を判定する。
【0052】
図9は、二次元の周波数領域を示す図である。横軸は水平方向の周波数を示し、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるにつれて、高周波域となることを示している。図9中の円は、誤差拡散によるカットオフ周波数を示している。誤差拡散法のフィルタ特性は、低周波域がカットオフされたHPF(ハイパスフィルタ)の特性を示し、そのカットオフされる周波数は、対象画像の濃度に応じて変化する。
【0053】
本実施形態では、量子化閾値の変更により量子化後に発生する周波数特性が変化するが、図6(a)による量子化閾値の変更では、図9の周波数ベクトルA上に大きなパワースペクトルが生じる。また、図6(b)による量子化閾値の変更では、図9の周波数ベクトルB上に大きなパワースペクトルが生じる。付加情報分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することに基づいて、多重化信号の判定が行われる。本実施形態では、各々の周波数ベクトルを個別に強調、抽出することが行われる。
【0054】
図8(a)及び(b)は、特定の周波数ベクトルの方向性を有するHPFに相当する。即ち、図8(a)の空間フィルタでは、図9の直線A上の周波数ベクトルを強調することが可能になり、また、図8(b)の空間フィルタでは、図9の直線B上の周波数ベクトルを強調することが可能になる。例えば、図6(a)に示すような量子化条件の変更により、図9の直線Aの周波数ベクトル上に大きなパワースペクトルが発生したとする。その時に、図8(a)の空間フィルタではパワースペクトルの変化量が増幅するが、図8(b)の空間フィルタでは、ほとんど増幅されない。つまり、複数の空間フィルタを並列にフィルタリングした場合に、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタによるフィルタリングの場合には増幅がほとんどない。従って、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかを容易に判定することができる。
【0055】
図10は、図7の間引き部705及び706、変換値加算部707、分散値算出部708、判定部709の処理を示すフローチャートである。図10の処理は、例えば、カメラ付携帯端末101のCPU210がROM211に記憶されているプログラムをRAM212に読み出して実行することにより実現される。
【0056】
図10中、S1001及びS1002は、変数の初期化を示し、CPU210は、RAM212内に確保された変数i、jの値を0に初期化する。S1003では、CPU210は、間引き部705及び706による間引きの規則性の因子、即ち、"周期性"及び"位相"の2因子を決定する。本フローチャートでは、周期性に関する変数をi、位相に関する変数をjとする。この周期性及び位相の条件は、番号(ナンバー)により管理され、ここでは、周期性ナンバー(以下No.と略す)がi、位相No.がjである間引き方法の因子を設定する。
【0057】
S1004では、CPU210は、ブロック内で間引きをした変換値を加算し、その加算値を変数の配列TOTAL[i][j]として記憶する。S1005では、CPU210は、変数jをカウントアップし、S1006において、固定値Jと比較する。固定値Jには、位相を変化させて間引き処理をする回数が格納されている。ここで、変数jがJ未満であれば、S1003に戻り、カウントアップ後のjによる新たな位相No.により、間引き処理及び間引き画素の変換値の加算処理が繰り返される。
【0058】
位相をずらした間引き処理及び間引き画素の変換値の加算処理が設定回数終了した場合、S1007において、CPU210は、加算結果TOTAL[i][j]の分散値を算出する。即ち、各加算結果が位相の差によりどの程度ばらついているかが評価される。ここでは、iを固定して、J個のTOTAL[i][j]の分散値を求める。ここで、分散値をB[i]とする。
【0059】
S1008において、CPU210は、変数iをカウントアップし、S1009において、固定値Iと比較する。固定値Iには、周期性を変化させて間引き処理をする回数が格納されている。ここで、変数iがI未満であれば、S1002に戻り、カウントアップ後のiによる新たな周期性No.の条件を用いて、再び、間引き処理及び間引き画素の変換値の加算処理が繰り返される。
【0060】
S1009において、CPU210は、iが設定回数終了したと判定されると、分散値B[i]は、I個算出できたことになる。S1010にて、I個の分散値の集合から、分散値の最大値を検出し、その時のiの値を変数imaxに代入する。S1011において、CPU210は、周期性No.がimaxである符号を、多重化された符号であると判定する。その後、図10の処理を終了する。
【0061】
このように、量子化条件と、空間フィルタ特性と、間引き条件の周期性とを関連付けることで、多重化及び分離が容易に実現できる。本実施形態では、ブロック内の多重化符号は1ビットであった。しかしながら、多重化符号は、1ビットより多くても良い。
【0062】
本実施形態では、上記のように多重化情報(付加情報)を不可視で埋め込み、さらに、撮像して読み込むので、印刷物上にコード部を配置する必要がない。従って、例えば、写真鑑賞の観点で不必要と考えられるコード部の配置を避けることができる。加えて、印刷物のコード部を撮像してその後に写真部を撮像する、あるいは、どの特徴量を使用するかのユーザー操作後に写真部を撮像する、という2アクションのユーザーの手間を必要としない。つまり、本実施形態では、印刷物の写真部のみを撮像する1アクションで実行できるので、ユーザー工数を低減し、利便性を向上させることができる。
【0063】
[読み取り時の操作]
入力端子700から送信される画像情報は、プリント部106による印刷物104をカメラ付携帯端末101によって撮影しているので、カメラ付携帯端末101と印刷物104との距離が遠すぎてしまうと、必要な解像度が得られず分離ができない場合がある。
【0064】
図11は、本実施形態におけるカメラ付携帯端末101の外観図である。図11(a)は、カメラ付携帯端末101のディスプレイ110がある面を示し、図11(b)は、その反対側の面を示している。図11(b)に示すように、カメラ付携帯端末101には、カメラレンズ1100と距離センサ111が設けられている。距離センサ111は、例えばレーザーを用いて撮影対象との距離を測定するものであり、撮影時のオートフォーカスに用いられる場合があるが、本実施形態では、それに加えて、印刷物104との距離測定に用いられる。レーザーを用いた距離測定には公知の技術が用いられても良く、その詳細な説明を省略する。
【0065】
図12は、撮影時の光学系を表す図である。図12に示すように、被写体1200が、レンズ1201を通して撮像センサ107に写像1202を結像している。ここで、距離Aは、レンズ1201と被写体1200の間の距離であり、カメラ付携帯端末101と印刷物104との距離に相当する。距離Bは、レンズ1201の焦点距離を表し、長さCは、被写体1200の長さを表し、長さDは、被写体1200の写像の長さを表す。ここで、式(5)の関係が成り立つ。
【0066】
(A−B):B=C:D
∴ A=(B×C/D)+B ・・・(5)
上記の式(5)を適用すると、多重化情報の分離に適した適正距離を算出することができる。例えば、撮像センサ107のサイズが横4.5mm×縦3.0mmであり、画素数が横3000pixel×縦2000pixelであり、レンズの焦点距離が3.8mmである場合を説明する。なお、これらの情報は、アプリケーションが動作する情報処理装置に依存して変化する。そのため、アプリケーションは、カメラ付携帯端末101のオペレーティングシステムからこれらの情報を取得し、後述する距離Aを計算する。
【0067】
本実施形態における多重化情報の分離に必要な撮像センサ107の解像度(撮像解像度)はプリンタである画像処理装置100と同じであるので、プリンタの解像度が600dpiの場合を説明する。撮像センサ107の上記のサイズと画素数から算出すると、ドットピッチは、0.0015mm/pixelであるので、式(5)から、距離A(適正距離)は、1inch=25.4mmであるところから、以下のように算出される。
【0068】
A=(3.8×25.4/(600×0.0015))+3.8≒111.0mm
つまり、レンズの焦点距離が3.8mm、解像度が600dpi、ドットピッチが0.0015mm/pixelの場合、カメラ付携帯端末101と印刷物104との距離が111.0mmの時が適正であることになる。111.0mm以上離れると解像度が足りなくなるので分離が困難になるが、111.0mmよりも近い場合は、ピントが合っているならば画像を縮小することで調節可能である。従って、本実施形態では、ユーザーに対して、適正距離111.0mm以上離れないことを認識させるように通知を行う。
【0069】
図13は、本実施形態における表示制御処理の手順を示すフローチャートである。図13の処理は、例えば、カメラ付携帯端末101のCPU210がROM211に記憶されているプログラムをRAM212に読み出して実行することにより実現される。
【0070】
S1301では、CPU210は、距離センサ111により、印刷物104との間の現在の距離を取得する。S1302では、CPU210は、式(5)に基づいて、多重化情報の分離に必要な適正距離を取得する。そして、S1303では、CPU210は、S1301で取得した現在の距離が、S1302で取得した適正距離より長いか否かを判定する。ここで、適正距離より長くないと判定された場合、S1305において、CPU210は、図14(a)に示すように、ディスプレイ110に撮影を促すメッセージ1400を表示して撮影指示ボタン1401を押下可能にする。S1304の後、図13の処理を終了する。
【0071】
一方、S1303で適正距離より長いと判定された場合、S1304において、CPU210は、多重化情報の分離ができないと判断し、図14(b)に示すように、撮影前に、ディスプレイ110に遠すぎる旨を表すメッセージ1402を表示する。ここで、図14(c)に示すように、現在の距離と適正距離の両方をメッセージ1403として表示し、それらの距離の差分についてユーザーが認識可能なように表示しても良い。
【0072】
S1303では、現在の距離が適正距離より長いか否かを判定しているが、他の判定基準が用いられても良い。例えば、上述の画像の縮小について制限がある場合には、適正距離より近い場合でも制限距離以下である場合には、撮影指示ボタン1401を表示せず、近づき過ぎでいることを示す警告メッセージを表示するようにしても良い。
【0073】
[距離センサが無い場合]
次に、カメラ付携帯端末101に距離センサ111が構成されていない場合について説明する。距離センサ111が無い場合でも、サイズが既知であるものを印刷物104と併せて撮影すれば、式(5)を用いてカメラ付携帯端末101と印刷物104との現在の距離を算出することができる。図15は、既知の15mm×15mmのシンボルマーク1500を印刷物104に組み込む形で印刷した例を示す図である。
【0074】
図16は、シンボルマーク1500からカメラ付携帯端末101と印刷物104との間の現在の距離を算出する処理を含むフローチャートである。図16の処理は、例えば、カメラ付携帯端末101のCPU210がROM211に記憶されているプログラムをRAM212に読み出して実行することにより実現される。
【0075】
S1601では、CPU210は、撮像センサ107から画像データを取得してRAM212に展開する。次に、S1602では、CPU210は、RAM212に展開された画像から、画像認識処理によりシンボルマーク1500を検出する。この際の画像認識処理には、特徴抽出など公知の方法が用いられても良く、その詳細な説明を省略する。
【0076】
続いて、S1603では、CPU210は、検出したシンボルマーク1500のpixel数をカウントする。そして、S1604では、CPU210は、ROM211からシンボルマーク1500の印刷物104上での既定サイズ(例えば、15mm×15mm)を読み出し、S1603でカウントしたpixel数と併せて、以下のように距離を算出する。
【0077】
撮像センサ107は前述と同様なので、ドットピッチは0.0015mm/pixelであり、シンボルマーク1500の撮影時のpixel数が400pixelであるとすると、式(5)により、現在の距離が以下のように算出される。
【0078】
現在の距離A=(3.8×15/(400×0.0015))+3.8≒98.8mm
つまり、15mmのものが400pixelで撮影された場合、現在の距離は98.8mmであるということが算出される。
【0079】
S1605では、CPU210は、S1604で算出されたカメラ付携帯端末101と印刷物104との間の現在の距離が、適正距離より遠いか否かを判定する。ここで、適正距離は、前述したように、プリンタの解像度、撮像センサ107のドットピッチ、解像度、1inch=25.4mmに基づく式(5)から算出される。レンズの焦点距離が3.8mm、解像度が600dpi、ドットピッチが0.0015mm/pixelの場合、適正距離は、以下のようになる。
【0080】
適正距離A=(3.8×25.4/(600×0.0015))+3.8≒111.0mm
S1605で現在の距離がS1604での算出距離より遠いと判定された場合、S1606に進み、CPU210は、図14(b)もしくは(c)の警告メッセージを表示する。S1606の後、S1601からの処理を繰り返す。一方、S1605で、現在の距離がS1604での算出距離より遠くないと判定された場合、S1607に進み、CPU210は、図14(a)のように、撮影指示を受付可能な撮影ボタン1401を表示する。S1607の後、図16の処理を終了する。
【0081】
本例では、印刷物104に組み込まれたシンボルマーク1500を用いているが、硬貨や専用のパーツなど大きさが既知であるものを画像認識可能なようにしておき、印刷物104と併せて撮影するようにしても良い。つまり、硬貨や専用のパーツ等、所定のサイズを有するオブジェクトを印刷物104の撮像範囲に含めるようにして撮像することにより、カメラ付携帯端末101と印刷物104との距離を算出することができる。
【0082】
[光学ズームがある場合]
次に、カメラ付携帯端末101が光学ズーム機能を有している場合を説明する。前述の式(5)を用いれば、最大ズーム時の焦点距離での多重化情報の分離に必要な適正距離を算出することができる。例えば、倍率が1倍のときの焦点距離が3.8mmで、最大ズーム時の倍率が3倍で、その際の焦点距離が11.4mmだとすると、式(5)により適正距離Aは、以下のように算出される。
【0083】
<倍率1倍時>
A=(3.8×25.4/(600×0.0015))+3.8≒111.0mm
<倍率最大(3倍)時>
A=(11.4×25.4/(600×0.0015))+11.4≒333.1mm
カメラ付携帯端末101と印刷物104との間の現在の距離は、前述の方法のいずれかで取得し、その結果が300mmだとすると、倍率が1倍では遠いが、ズームをすれば分離に必要な距離内に入ることになる。この時の焦点距離は、式(5)を変形した式(6)により算出される。
【0084】
B=A×D/(C+D) ・・・(6)
ここで、カメラ付携帯端末101と印刷物104との間の現在の距離が250mmの場合を式(6)に適用すると、距離Bは、以下のように算出される。
【0085】
B=250×(600×0.0015)/(25.4+(600×0.0015))≒8.6mm
従って、焦点距離が8.6mmになるまでズームを行い、図14(a)のメッセージ1400を表示する。そのような構成により、処理の繰り返しを防ぎ、多重化情報の分離を開始することができる。以上の光学ズームがある場合の動作は、図13のS1304、図16のS1606で、警告通知の代わりに行われても良い。
【0086】
また、他のメッセージの表示方法として、最大ズーム時の焦点距離でも足りない場合には、最大ズームを行って且つ図14(b)のメッセージ1402もしくは図14(c)のメッセージ1403を表示するようにしても良い。そのような構成により、ユーザーの近接動作のリトライを低減させることができる。また、ズームを変更させたことをディスプレイ110に表示させるようにしても良い。また、S1305若しくはS1605で表示された撮影指示ボタン1401が押下されて撮影が行われた後、ズームの設定を撮影前の状態に戻す。
【0087】
[用紙サイズから現在距離を算出する場合]
次に、カメラ付携帯端末101が光学ズーム機能を有している場合のカメラ付携帯端末101と印刷物104との距離を算出する方法として、印刷物104の用紙サイズを利用する方法を説明する。図17(a)は、印刷物104の用紙サイズを入力する画面を示す。ディスプレイ110上に、用紙サイズを入力することを促すメッセージ1700が表示され、用紙サイズ表示1701に現在の設定が表示されている。ここで、プルダウンボタン1702が押下されると、他の用紙サイズをリスト表示し、ユーザーに所望のサイズを選択させることができる。印刷物104の用紙サイズが選択され、用紙サイズ決定ボタン1703が押下されると、用紙サイズが決定されて、図17(b)の画面が表示される。図17(b)には用紙枠1704が表示されており、ユーザーが枠内に印刷物104が収まるように距離を調節して距離決定ボタン1705を押下すると、カメラ付携帯端末101と印刷物104との距離が後述するように算出される。ここで、印刷物104の用紙サイズが1種類しかない場合は、図17(a)の画面を表示せずに、図17(b)の画面を表示するようにしても良い。
【0088】
距離は、前述の方法と同様に式(5)を用いて算出される。この時の印刷物104の用紙サイズがA4(210mm×297mm)であり、用紙枠1704における短辺のpixel数が1800pixelである場合の現在の距離Aは、以下のように算出される。
【0089】
A=(3.8×210/(1800×0.0015))+3.8≒299.4mm
この距離Aで、多重化情報の分離が可能な焦点距離Bは、前述のとおり、式(6)を用いて算出される。
【0090】
B=299.4×(600×0.0015)/(25.4+(600×0.0015))≒10.2mm
よって、焦点距離が10.2mmになるまでズームを行えば多重化情報の分離を開始することができる。
【0091】
以上の用紙サイズから現在距離を算出する場合の動作は、図16のS1604で行われても良い。また、ズームを行う動作は、図16のS1606で警告通知を行う代わりに行われても良い。
【0092】
以上のように、本実施形態によれば、付加情報の読出しが可能な解像度で撮影することができない場合に、撮影および読取処理のリトライの繰り返しを防ぐことができる。
【0093】
つまり、付加情報が多重化された画像を被写体として撮像する際の利便性向上を図る必要があるという課題を本実施形態により解決することができる。
【0094】
(その他の実施例)
上述した実施形態では、現在の距離が適正距離よりも長いか否かを判定しているがその他の判定処理でも良い。例えば、CPU210は、現在の距離が、適正距離に基づく所定の範囲内に収まっているか否かを判定しても良い。そして、現在の距離が所定の範囲内に収まらない場合に警告通知が実行されても良い。
【0095】
その他の判定処理の例として、現在の距離が適正距離よりも長いか否かの判定処理と、現在の距離が適正距離よりも短いか否かの判定処理とが実行されても良い。そして、現在の距離が適正距離よりも長い、または、現在の距離が適正距離よりも短いと判定された場合、警告通知が実行されても良い。
【0096】
上述した実施形態では、S1305またはS1605の判定処理においてNoと判定されるまで警告通知が実行されていた。つまり、撮影前に警告通知が実行されることになるが、他のタイミングで警告通知が実行されても良い。例えば、撮影が、動画撮影のように複数回の撮影処理を実行している場合、撮影開始後にS1305またはS1605のような判定処理を実行し、撮影開始後に警告通知が実行されても良い。
【0097】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0098】
100 画像処理装置: 101 カメラ付携帯端末: 200、210 CPU: 201、211 ROM: 202、212 RAM
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17