(57)【要約】【課題】  電子透かしとして印刷物に埋め込まれた情報を読み取るときに、印刷物と撮像デバイスとの距離をユーザが適切に設けることができるようにするための技術を提供する。【解決手段】  撮像デバイスと印刷物との距離に関する距離情報を複数回取得し、距離情報に応じて前記所定のオブジェクトの表示形態が変化するように、所定のオブジェクトをディスプレイに表示させる。【選択図】  図２０
2020167592.tif 000002
【特許請求の範囲】
【請求項１】
電子透かしとして付加情報が埋め込まれた印刷物を撮像デバイスが撮像することで得られた画像データから前記付加情報を読み取る画像処理装置により実行されるプログラムであって、
前記画像処理装置を、
前記撮像デバイスと前記印刷物との距離に関する距離情報を取得する取得手段と、
前記取得手段により取得された距離情報に応じて異なる表示形態で所定のオブジェクトをディスプレイに表示させる表示処理手段と、
前記印刷物を撮像することにより得られた画像データに基づいて、前記付加情報を読み取る読取手段と、
として機能させ、
前記取得手段は、前記撮像デバイスにより前記印刷物が撮像されている間に複数回繰り返し距離情報を取得し、
前記表示処理手段は、前記取得手段により複数回取得された距離情報に基づき、前記距離情報に応じて前記所定のオブジェクトの表示形態が変化するように、前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とするプログラム。
【請求項２】
前記取得手段は、前記画像データに基づいて、前記距離情報を取得することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記取得手段は、前記画像データに対して周波数解析を行うことにより、前記距離情報を取得することを特徴とする請求項２に記載のプログラム。
【請求項４】
前記取得手段はさらに、前記撮像デバイスと前記印刷物の相対的な傾きに関する傾き情報を取得し、
前記表示処理手段は、前記距離情報に応じて異なり且つ前記傾き情報に応じて異なる前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記取得手段は、前記印刷物の複数の部分に対応する画像データに基づき、前記複数の部分のそれぞれと前記撮像デバイスとの距離に関する距離情報を取得し、当該距離情報に基づいて、前記傾き情報を取得することを特徴とする請求項２または３に従属する請求項４に記載のプログラム。
【請求項６】
前記表示処理手段は、前記傾き情報に応じて形状が異なる前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする請求項４または５に記載のプログラム。
【請求項７】
前記表示処理手段は、前記距離情報に応じて大きさが異なる前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする請求項１乃至６のいずれか１項に記載のプログラム。
【請求項８】
前記表示処理手段は、前記所定のオブジェクトが表示されているときに、前記読取手段により読み取りの結果が所定の基準を満たしたことに基づいて、前記所定のオブジェクトの表示形態をさらに変更することを特徴とする請求項１乃至７のいずれか１項に記載のプログラム。
【請求項９】
前記表示処理手段は、
前記所定の基準が満たされた後の前記読取手段による読み取りにおいて前記所定の基準が満たされなくなった場合、前記所定のオブジェクトの表示形態を前記所定の基準が満たされる前の表示形態に戻し、
前記距離情報に応じて前記所定のオブジェクトの表示形態が変化するように、前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記表示処理手段は、前記所定の基準が満たされたことに基づいて、前記所定のオブジェクトの色を変更することを特徴とする請求項８または９に記載のプログラム。
【請求項１１】
前記表示処理手段はさらに、前記読取手段による前記付加情報の読み取りの進捗に関する進捗表示を前記ディスプレイに表示させることを特徴とする請求項１乃至９のいずれか１項に記載のプログラム。
【請求項１２】
前記表示処理手段は、前記進捗表示を、前記所定のオブジェクトの内部に表示させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記表示処理手段は、前記所定の基準が満たされた後に、前記進捗表示が変更されるように前記ディスプレイに表示させることを特徴とする請求項８に従属する請求項１１に記載のプログラム。
【請求項１４】
電子透かしとして付加情報が埋め込まれた印刷物を撮像デバイスが撮像することで得られた画像データから前記付加情報を読み取る画像処理装置であって、
前記撮像デバイスと前記印刷物との距離に関する距離情報を取得する取得手段と、
前記取得手段により取得された距離情報に応じて異なる表示形態で所定のオブジェクトをディスプレイに表示させる表示処理手段と、
前記印刷物を撮像することにより得られた画像データに基づいて、前記付加情報を読み取る読取手段と、
を有し、
前記取得手段は、前記撮像デバイスにより前記印刷物が撮像されている間に複数回繰り返し距離情報を取得し、
前記表示処理手段は、前記取得手段により複数回取得された距離情報に基づき、前記距離情報に応じて前記所定のオブジェクトの表示形態が変化するように、前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする画像処理装置。
【請求項１５】
電子透かしとして付加情報が埋め込まれた印刷物を撮像デバイスが撮像することで得られた画像データから前記付加情報を読み取る画像処理方法であって、
前記撮像デバイスと前記印刷物との距離に関する距離情報を取得する取得工程と、
前記取得工程において取得された距離情報に応じて異なる表示形態で所定のオブジェクトをディスプレイに表示させる表示処理工程と、
前記印刷物を撮像することにより得られた画像データに基づいて、前記付加情報を読み取る読取工程と、
を有し、
前記取得工程において、前記撮像デバイスにより前記印刷物が撮像されている間に複数回繰り返し距離情報を取得し、
前記表示処理工程において、前記取得工程において複数回取得された距離情報に基づき、前記距離情報に応じて前記所定のオブジェクトの表示形態が変化するように、前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子透かしとして付加情報が埋め込まれた印刷物を撮像デバイスが撮像することで得られた画像データから該付加情報を読み取る技術に関する。
【背景技術】
【０００２】
従来、画像内に付加情報を視覚的に判別し難い信号で埋め込む電子透かしと呼ばれる技術がある。そして、付加情報が埋め込まれた画像からその付加情報を抽出することも行われる。例えば、付加情報が埋め込まれた画像が複写機及びプリンタ等の画像出力装置において紙上に印刷され、この印刷物から付加情報が抽出される。このような付加情報の読み取り方法として、スマートフォン用アプリケーションを用いてデータ取得を行うものがある。
【０００３】
特許文献１には、電子透かしにより情報が埋め込まれた印刷物をユーザが撮像デバイスで撮像することで、該情報を読み取る技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−６３２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のように撮像デバイスにより印刷物に埋め込まれた付加情報を読み取るには、印刷物と撮像デバイスを付加情報の読み取りに適した距離に近づける必要がある。
【０００６】
上記課題を鑑み本発明は、電子透かしとして印刷物に埋め込まれた情報を読み取るときに、印刷物と撮像デバイスとの距離をユーザが適切に設けることができるようにするための技術を提供する。
【課題を解決するための手段】
【０００７】
上記の課題を鑑みて本発明は、電子透かしとして付加情報が埋め込まれた印刷物を撮像デバイスが撮像することで得られた画像データから前記付加情報を読み取る画像処理装置により実行されるプログラムであって、前記画像処理装置を、前記撮像デバイスと前記印刷物との距離に関する距離情報を取得する取得手段と、前記取得手段により取得された距離情報に応じて異なる表示形態で所定のオブジェクトをディスプレイに表示させる表示処理手段と、前記印刷物を撮像することにより得られた画像データに基づいて、前記付加情報を読み取る読取手段と、として機能させ、前記取得手段は、前記撮像デバイスにより前記印刷物が撮像されている間に複数回繰り返し距離情報を取得し、前記表示処理手段は、前記取得手段により複数回取得された距離情報に基づき、前記距離情報に応じて前記所定のオブジェクトの表示形態が変化するように、前記所定のオブジェクトを前記ディスプレイに表示させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザは、電子透かしとして印刷物に埋め込まれた情報を読み取るときに、印刷物と撮像デバイスとの距離を適切に設けることができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理システムのハードウェア構成例を示す図である。
【図２】プリンタの記録ヘッドの模式図である。
【図３】プリンタの制御回路部の構成例を示す図である。
【図４】システムの構成例を示すブロック図である。
【図５】アプリケーションの画面構成例を示す図である。
【図６】アプリケーションの埋め込み情報入力ダイアログ例である。
【図７】アプリケーションの印刷設定ダイアログ例である。
【図８】ＳＶＧの記述例を示す図である。
【図９】印刷データ生成処理のフローチャートである。
【図１０】プリントコマンドの例を示す図である。
【図１１】付加情報の埋め込み処理のフローチャートである。
【図１２】埋め込みパターンを示す図である。
【図１３】単位ブロックの構成例を示す図である。
【図１４】印刷物への単位ブロック埋め込み例を示す図である。
【図１５】付加情報読み取り処理部を含むブロック図である。
【図１６】読み取り時の撮像画像と距離検出のためのトリミングの例を示す図である。
【図１７】距離情報の算出処理のフローチャートである。
【図１８】距離情報の算出例を示す図である。
【図１９】傾きの状態を示す図である。
【図２０】距離と傾きを示す図形の表示例を示す図である。
【図２１】読み取りの処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、添付図面を参照して、本発明の実施の形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
＜＜実施形態＞＞
＜画像処理システムの概要＞
本実施形態においては、画像処理装置（情報処理装置）が、付加情報の埋め込みと読み取りとを実行可能なアプリケーションを備えている。このアプリケーションが、付加情報が埋め込まれたコンテンツ（画像データ）を作成する。画像処理装置は、作成したコンテンツから印刷データを生成し、プリンタに送信する。プリンタは、印刷データを用いて印刷を行い、付加情報が埋め込まれた印刷物が出力される。
【００１２】
そして、上記の画像処理装置（情報処理装置）、もしくは上記アプリケーションを備える他の装置が、該アプリケーションの機能を用いて、撮像デバイスにより印刷物が撮影された画像から、該印刷物に埋め込まれた付加情報を読み取る。その際、該アプリケーションは、付加情報を読み取るためのガイド表示として、印刷物と撮像デバイスとの適切な距離をユーザに通知するための表示を行う。
【００１３】
なお、本実施形態において「付加情報」とは、印刷物に埋め込まれる情報のことである。付加情報は、視覚的に目立たないように電子透かしとして印刷物に埋め込まれる（付加される、あるいは多重化される、という場合もある）。付加情報のことを多重化情報、透かし情報、または埋め込み情報と呼ぶこともある。
【００１４】
＜画像処理装置のハードウェア構成＞
図１は、本実施形態に係る画像処理システムの構成例を示す図である。本実施形態に係る画像処理システムにおいては、ネットワークを介して、画像処理装置１００（情報処理装置）とプリンタ１１４とが接続される。図１では、さらにサーバ１１６がネットワークを介して接続されているが、サーバ１１６は必ずしも接続されていなくてもよい。
【００１５】
画像処理装置１００は、例えば、スマートフォン、タブレットＰＣ、およびノート型ＰＣ等の携帯型の情報端末や、非携帯型のデスクトップＰＣ等が該当する。以下、本実施形態では、画像処理装置１００として、タッチディスプレイを備えたスマートフォンを使用するものとする。画像処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４を備えている。さらに、２次記憶装置１０５、ディスプレイ１０６、マウス１０７、キーボード１０８、ＩＦ（ＩｎｔｅｒＦａｃｅ）１０９、ＩＦ１１０、ＩＦ１１１、および撮像装置としての内部撮像デバイス１１２を備えている。
【００１６】
ＣＰＵ１０２は、以下で説明する各種処理をプログラムに従って実行する。図１において１つのＣＰＵ１０２が示されているが、複数のＣＰＵあるいはＣＰＵコアによって構成されていてもよい。ＲＯＭ１０３は、ＣＰＵ１０２により実行されるプログラムを記憶している。ＲＡＭ１０４は、ＣＰＵ１０２によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリである。
【００１７】
２次記憶装置１０５は、ハードディスクまたはフラッシュメモリ等の記憶媒体である。２次記憶装置１０５は、ファイルおよび画像解析等の処理結果を保持するデータベース等のデータならびに各種プログラムを記憶する。ディスプレイ１０６は、各種処理を実現するための操作を受け付けるためのＵＩ（ユーザーインターフェース）を表示したり、実行された処理の結果等の各種情報を表示したりする。ディスプレイ１０６は、不図示のタッチセンサを備えてもよい。ユーザはタッチ、スワイプ、ピンチ等のタッチ動作により、操作を入力するものとする。なお、ＵＩとして、マウスや文字等を入力するキーボードを備えてもよい。
【００１８】
内部撮像デバイス１１２は、撮像を行う。撮像によって得られた画像データは、所定の画像処理を経た後、２次記憶装置１０５に保存される。また、画像データは、ＩＦ１１０を介して接続された外部撮像デバイス１１３から取得され、２次記憶装置１０５に保存されてもよい。
【００１９】
ＩＦ１１１は、インターネット１１５等のネットワークを介して外部装置（例えばプリンタ１１４やサーバ１１６）と通信を行うことができる。
【００２０】
ＩＦ１０９〜１１１は、有線通信または無線通信の少なくともいずれかの通信形態を有するインタフェースであり、利用する通信形態に応じて外部装置との通信を行う。画像処理装置１００は、ＩＦ１０９〜１１１を介して、インターネット１１５に接続されたサーバ１１６または外部撮像デバイス１１３から画像データを取得したり、プリンタ１１４に対して画像データ（印刷データ）等を出力したりすることができる。有線通信には、例えば、ＵＳＢ、イーサネット（登録商標）等がある。無線通信には、無線ＬＡＮ、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線通信等がある。
【００２１】
画像処理装置１００が備える各種構成要素は、内部バス１０１を介して相互に接続され、ＣＰＵ１０２は、内部バス１０１を介して、各種構成要素を制御する。なお、本実施形態では、画像処理装置１００が、ＣＰＵ１０２（制御部）によって実行されるプログラム等のソフトウェアの実行場所（ソフトウェア実行環境）となる。
【００２２】
なお、図１の形態では、外部装置の一例としてプリンタ１１４を例に挙げて説明するが、これに限定するものでは無く、複合機（ＭＦＰ）など他の画像形成装置やＦＡＸ等の通信装置であってもよい。
【００２３】
＜プリンタのハードウェア構成＞
図２は、プリンタ１１４のハードウェア構成の一部を示す図である。本実施形態では、インクジェット方式のプリンタ１１４を例に挙げて説明するが、これに限られるものではなく、電子写真方式などのプリンタであってもよい。
【００２４】
図２に、本実施形態に係るプリンタ１１４の記録ヘッドの模式図を示す。記録ヘッド２０１は、インクを充填したインク部２０２を搭載する。図２においてインク部２０２は、４色である形態を示しているが、何色でも良い。制御回路部２０３は、記録ヘッド２０１を駆動するために必要な記憶部、演算部及び通信部を含む。記録ヘッド２０１は、制御回路部２０３から記録信号と制御信号とを受信し、制御信号に従って記録信号に基づいたインクの吐出を行う。記録媒体である印刷メディア２０４は、不図示の搬送ローラによって搬送され、印刷メディア２０４上に画像が形成される。
【００２５】
図３は、制御回路部２０３の構成を示すブロック図である。制御回路部２０３は、入力インタフェース３０１、ＣＰＵ３０２、出力インタフェース３０３、ＲＯＭ３０４、ＲＡＭ３０５を含む。入力インタフェース（ＩＦ）３０１は、プリンタ１１４の外部の画像処理装置等から、画像データと記録ヘッド２０１を駆動するための制御信号との入力を受け付ける。入力インタフェース３０１は、入力を受け付けた画像データと制御信号とをＲＡＭ３０５およびＣＰＵ３０２に送る。ＣＰＵ３０２は、不揮発性メモリであるＲＯＭ３０４に記憶されている制御プログラムを実行して、画像データに信号処理を行う。信号処理された画像データは記録データとして制御信号とともに、出力インタフェース３０３から出力される。出力された記録データと制御信号とにより記録ヘッド２０１が駆動され、印刷メディア２０４に画像が印刷される。
【００２６】
＜システム構成＞
図４は、画像処理装置１００で動作するアプリケーション４００と、プリンタ１１４とを含む画像処理システムの構成例を示す図である。なお、アプリケーション４００がインストールされたときに、それに相当するプログラムがＲＯＭ１０３または２次記憶装置１０５に格納されている。そして、ＣＰＵ１０２が該プログラムをＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で実行することで、本実施形態におけるアプリケーション４００の機能を実現する。
【００２７】
アプリケーション４００は、表示処理部４０１、画像取得部４０２、付加情報取得部４０３、印刷設定部４０４、印刷データ生成部４０５、データ送受信部４０６、および付加情報読み取り部４０７を備えている。４０１〜４０７の各構成部は、ＲＯＭ１０３に格納されているプログラム内のプログラムモジュールとしてＲＯＭ１０３または２次記憶装置１０５に存在している。そして、これらがＣＰＵ１０２により実行されることで、４０１〜４０７の各構成部が提供する機能が実現される。即ち、ＣＰＵ１０２が４０１〜４０７の各構成部として機能する。ただし、本実施形態では、４０１〜４０７の各構成部が各機能を実現する主体であるものとして説明を行う。なお、アプリケーション４００は、これ以外の各部を備えていてもよい。
【００２８】
アプリケーション４００は、印刷対象の画像データと、入力された付加情報とに基づいて付加情報が埋め込まれた画像データを生成する機能を備えている。そして、アプリケーション４００は、生成した画像データを印刷するための印刷データをプリンタ１１４に送信する機能を備えている。
【００２９】
プリンタ１１４は、印刷処理部４０８、データ送受信部４０９を備えている。印刷処理部４０８およびデータ送受信部４０９は、ＣＰＵ３０２がＲＯＭ３０４に格納されたプログラムを実行することによって実現される。
【００３０】
図５は、画像処理装置１００上で動作するアプリケーション４００の画面の一例を示す図である。以下、図４の各ブロックで行われる処理を、図５に示す画面例を参照しながら説明する。
【００３１】
表示処理部４０１は、付加情報として埋め込む文字情報および印刷処理に利用する画像などを画像処理装置１００のディスプレイ１０６に表示する処理を行う。表示処理部４０１は、画像および文字等を選択するボタンならびに印刷設定のリスト等、ユーザーインターフェイス（ＵＩ）に関わる情報を表示する機能も有している。
【００３２】
図５では、画像処理装置１００のディスプレイ１０６に、画像選択ボタン５０１、埋め込み情報設定ボタン５０２、印刷設定ボタン５０３が表示されている。コンテンツ編集エリア５００には、編集中のコンテンツ（画像）が表示されている。
【００３３】
画像取得部４０２は、付加情報が埋め込まれる対象となる画像を取得する。例えば図５の画像選択ボタン５０１が選択されると、画像選択ダイアログが立ち上がり、画像処理装置１００において利用可能な画像をユーザが選択することができる。なお、本実施形態では、画像選択ダイアログからの画像選択を行うが、アプリケーション４００がＯＳを介して内部撮像デバイス１１２を起動して、新たに撮像された画像を利用する形態でも良い。画像取得部４０２が取得した画像は、コンテンツ編集エリア５００に表示され、タッチ、スワイプ、ピンチ操作により、拡大・縮小・回転や移動をすることができる。その他、任意の編集が行われてよい。
【００３４】
図６は、埋め込み情報設定のダイアログ６００の一例を示す図である。図５の埋め込み情報設定ボタン５０２が選択されると、ディスプレイ１０６には、図６に示す埋め込み情報設定のダイアログ６００が表示される。付加情報取得部４０３は、例えば図６に示すような埋め込み情報設定のダイアログ６００を通じて編集された情報を、付加情報として取得する。図６のエリア６０１をユーザがタップすると、電子透かしとして埋め込みたい情報（付加情報）の編集をユーザが行うことができる。例として「ｈｅｌｌｏ」という文字列を付加情報として埋め込むこととする。なお、本実施形態では、テキスト入力を例にしているが、画像に関する著作権、撮像日時、撮像場所、撮像者等の諸情報を付加情報として埋め込んでもよい。また、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などのように、リンク先の情報を付加情報として埋め込んでもよい。さらに、音声や動画等のように、テキスト以外の情報を付加情報として埋め込んでもよい。共通のデータテーブルがある場合、そのデータテーブルのデータを識別する識別情報を付加情報として埋め込んでもよい。
【００３５】
ユーザは、埋め込まれる付加情報の入力が完了した場合は、決定ボタン６０２を押下し、キャンセルする場合はキャンセルボタン６０３を押下する。なお、図６で説明したようにユーザが埋め込みたい付加情報を意識的に入力する形態でもよいし、ユーザが意識しない形で付加情報をアプリケーション４００が入力する形態でもよい。
【００３６】
図７は、印刷設定ダイアログ７００の一例を示す図である。図５の印刷設定ボタン５０３が選択されると、ディスプレイ１０６には、図７に示す印刷設定ダイアログ７００が表示される。ユーザは、印刷設定ダイアログ７００を通じて、プリンタの選択、用紙種別の選択、用紙サイズの選択、フチあり／なし印刷の設定を行う。プリンタ選択リスト７０１をタップすると、使用可能なプリンタのリストが表示され、ユーザは任意のプリンタを選択することができる。同様に、用紙種別リスト７０２をタップすると、使用可能な用紙種別のリストが表示され、ユーザは任意の用紙種別を選択することができる。用紙種別としては、例えば、光沢紙、マット紙、普通紙等が挙げられる。用紙サイズ選択リスト７０３をタップすると、用紙種別リスト７０２で選択されている用紙種別で使用可能な用紙サイズのリストが表示され、ユーザは任意の用紙サイズを選択することができる。印刷フチ設定７０４では、印刷時のフチ設定（フチあり／フチなし）を行う。フチあり印刷とは、印刷物の四辺に余白ができる印刷方法であり、フチなし印刷とは、用紙に余白が生じないように印刷する印刷方法のことである。
【００３７】
印刷ボタン７０５が押下されると、印刷設定部４０４は、印刷設定を印刷データ生成部４０５に送信し、印刷工程に移行する。キャンセルボタン７０６が押下されると、印刷を実行せずに前画面に戻る。
【００３８】
なお、図７の印刷設定ダイアログ７００に表示されるプリンタの印刷設定に関する情報は、予め情報処理装置に保持しておいてもよいし、ネットワークを通じてサーバ１１６やプリンタ１１４から適宜ダウンロードしてもよい。
【００３９】
印刷データ生成部４０５は、コンテンツのレンダリング、付加情報の埋め込み処理、およびプリンタ１１４で印刷するために必要なデータの生成処理を行う。レンダリング処理では、画像取得部４０２で取得され、図５のコンテンツ編集エリア５００に表示されているコンテンツから印刷に用いる画像データを生成する。付加情報の埋め込み処理では、レンダリングで生成された画像データに、付加情報取得部４０３で取得した付加情報を埋め込む処理が行われる。
【００４０】
本実施形態では、印刷データの生成に使用するコンテンツは、ウェブ標準言語（ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ（登録商標）等）を用いて記述される。本実施形態ではＨＴＭＬにおけるグラフィック表記手法の一つであるＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）を用いて、印刷に使用するコンテンツを記述した例を用いて説明を行う。しかしこれに限定するものではなく、例えば、ＨＴＭＬでグラフィックを記述するのに使用されるＣａｎｖａｓなどを用いてもよい。
【００４１】
図８は、本実施形態において印刷に使用するコンテンツを記述した例を示す図である。本実施形態では、画像を１枚のみ配置したコンテンツを例に説明する。この場合のＳＶＧの記述例を図８（ａ）に示す。図８（ａ）のＳＶＧの記述例は、概略を説明するためのものであり、詳細な設定の記述は省略している。図８の左端の数字は、行数を示している。
【００４２】
図８（ａ）における１行目は、コンテンツがＳＶＧによって記述されていること、および、ＳＶＧのサイズを記述している。２行目はコンテンツに追加された画像に関する記述である。本実施形態では、アプリケーション４００は、画像１枚のみのコンテンツを作成する形態であるものとして説明するが、これにテキストやスタンプを追加する形態でもよい。その場合は、追加したテキストやスタンプの情報がＳＶＧによって記述される。
【００４３】
次に、印刷データ生成部４０５が、ＳＶＧコンテンツのレンダリングを実行し、付加情報の埋め込み処理（多重化処理ともいう）を施して印刷データの生成を行うまでの処理を、図９を用いて詳細に説明する。
【００４４】
図９は、印刷データ生成部４０５で行われる印刷データ生成処理の一例を示すフローチャートである。
【００４５】
まず、Ｓ９０１において印刷データ生成部４０５は、用紙設定に応じたレンダリングサイズを決定する。用紙設定がＬ版、フチありで印刷解像度が３００ｄｐｉであった場合、レンダリングサイズは９５０ｐｘ（ピクセル）×１４００ｐｘとなる。なお、印刷設定として３００ｄｐｉ以外の印刷解像度が設定可能である場合、他の印刷解像度に対応するレンダリングサイズを決定する。例えば、上述のように用紙設定がＬ版、フチありで、印刷解像度が６００ｄｐｉの場合、レンダリングサイズとして１９００ｐｘ×２８００ｐｘが算出される。
【００４６】
Ｓ９０２において印刷データ生成部４０５は、コンテンツであるＳＶＧの一部を、印刷のために書き換える。ここでは、Ｓ９０１で決定されたレンダリングサイズに合わせて、ＳＶＧの横幅および縦幅を、プリンタへ送信する画像サイズに合わせて変更する。具体的には、図８（ａ）のＳＶＧの２行目と３行目のｗｉｄｔｈが「９５０」に、ｈｅｉｇｈｔが「１４００」に、２行目のｖｉｅｗＢｏｘが「０  ０  ９５０  １４００」に変更される。書き換えられたＳＶＧの例を図８（ｂ）に示す。
【００４７】
次に、Ｓ９０４において印刷データ生成部４０５は、画像処理装置１００の不図示のＯＳに対して画面生成を要求する。ここでは、Ｓ９０３において書き換えられたＳＶＧを参照して、９５０ｐｘ×１４００ｐｘの領域の情報が取得される。そして、ＯＳによって、ＳＶＧ用の画面生成（９５０ｐｘ×１４００ｐｘ）が実行される。ＳＶＧのサイズに関する情報は、ＳＶＧ自体ではなく、アプリケーションが保持してもよい。また、ＯＳが生成する画面は、オフスクリーン画面として生成される。オフスクリーン画面とは、ＵＩには表示されない画面のことである。
【００４８】
Ｓ９０５において印刷データ生成部４０５は、Ｓ９０４で生成された画面にＳＶＧを描画するようにＯＳに対して要求する。ＯＳは、ＳＶＧの情報をロードする。ＳＶＧの情報がロードできたタイミングで、アプリケーション４００はＯＳからロード完了の通知を受け取る。この通知はＯＳに標準的に備わっている機能を利用すればよい。例えばｉＯＳアプリケーションの作成で利用するＯｂｊｅｃｔｉｖｅ−Ｃ言語であればｗｅｂＶｉｅｗＤｉｄＦｉｎｉｓｈＬｏａｄ関数などがロード完了通知に該当する。また、Ａｎｄｒｏｉｄアプリケーションの作成で利用するＪａｖａ言語であればｏｎＰａｇｅＦＩｎｉｓｈｅｄ関数などがロード完了通知に該当する。アプリケーション４００は、ロード完了通知を受け取ると、ＳＶＧの描画が完了したと判定し、次のステップに進む。
【００４９】
Ｓ９０６において印刷データ生成部４０５は、ＯＳに対しコンテンツの画像データを要求する。ここでの画像データとは、オフスクリーン画面に表示されているコンテンツのＲＧＢＡデータのことである。端的にいえば、画面キャプチャを実行するということである。ＯＳは、アプリケーション４００からの要求に応じて、コンテンツが描画されたオフスクリーン画面の画面キャプチャを実行し、取得したＲＧＢＡデータをアプリケーション４００へ送信する。
【００５０】
Ｓ９０７において印刷データ生成部４０５は、取得したＲＧＢＡデータに対して付加情報を埋め込む処理を行う。付加情報は、視覚的に判別しづらいように画像中に埋め込まれる。付加情報の埋め込み処理では、付加情報取得部４０３で取得した付加情報を使用する。埋め込み処理の詳細については後述する。Ｓ９０６にてＯＳから取得したＲＧＢＡデータにはＡ（透過度）の情報が含まれている。本実施形態では、この透過度の情報は印刷には用いないので、削除してＲＧＢデータとして付加情報の埋め込み処理が行われる。
【００５１】
Ｓ９０８において印刷データ生成部４０５は、付加情報の埋め込み処理後のＲＧＢデータをＪＰＥＧ画像データへ変換する。なお、本実施形態では、画像データをＪＰＥＧに変換する例を説明するが、公知であるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）の技術を用いて、ＰＤＦのフォーマットに変換したデータを画像データとしてもよい。
【００５２】
Ｓ９０９において印刷データ生成部４０５は、プリンタ１１４に送信するためのプリントコマンドを、Ｓ９０８で生成したＪＰＥＧ画像データに付加する。ここで、ＪＰＥＧ画像データに付加するデータは、印刷設定の情報を基に生成される。また、必要であれば、プリンタ１１４を制御するためのコマンドを付加してもよい。
【００５３】
図１０は、印刷データのプリントコマンドの例を示す図である。ここでは、プリントコマンドとして、ＸＭＬ形式で記述されたコマンドを使用する。図１０の例えば３から５行目では、「Ｌ版サイズの光沢紙に対して標準モードで印刷する」というプリンタ用の設定が記述されている。また、７から９行目で、印刷データは「横幅９５０、縦幅１４００のＪＰＥＧデータ」ということが記述され、１０行目に、Ｓ９０９で変換されたＪＰＥＧデータが挿入される。
【００５４】
プリンタ１１４は、画像データ（ＪＰＥＧデータ）と共に上述のようなプリントコマンドを受け取ることで印刷を実行する。以上のステップにより、印刷データ生成部４０５で行われるレンダリング処理、付加情報の埋め込み処理、および印刷データの生成処理が終了する。
【００５５】
図４の説明に戻る。画像処理装置１００側のデータ送受信部４０６は、印刷データをプリンタ１１４に送信する。アプリケーション４００は、ＯＳに対して印刷データの送信を要求し、ＯＳはアプリケーションから受け取ったデータをプリンタ１１４へ送信する。データの送信は、例えば画像処理装置１００とプリンタ１１４とを無線の電波で接続する公知の無線ＷｉＦｉ技術を用いて行われる。データの送信方法に関しては、その他公知の方法を用いても構わない。例えば、画像処理装置１００とプリンタとをＵＳＢポートで接続する。画像処理装置１００側では、プリンタドライバにより、プリンタで印刷可能なラスターデータに変換する。この印刷可能なラスターデータをＵＳＢポートでプリンタに送信してもよい。プリンタ側は、受け取ったラスターデータを、印刷可能なデータに変換し、印刷を行う形態でもよい。
【００５６】
次に、プリンタ１１４側の処理について説明をする。プリンタ１１４側のデータ送受信部４０９は、画像処理装置１００から送信される印刷データを受信する。データ送受信部４０９は、受信した印刷データに含まれるプリントコマンドを解析し、解析した用紙サイズおよび用紙の種類などの印刷設定情報を印刷処理部４０８に送る。また、データ送受信部４０９は、印刷データに含まれるＪＰＥＧファイルを復号化処理して画像データに変換し、変換後の画像データを印刷処理部４０８に送る。ここで、通常の印刷時には、印刷設定情報に補正処理情報が含まれている場合は、画像データに対して画像補正処理を実行することがある。画像補正処理としては、明度調整や、コントラスト調整、カラーバランスの調整のほか、写真印刷を想定した逆光補正や赤目補正など、様々なものが挙げられる。しかし、付加情報が埋め込まれた画像を印刷する場合においては、画像処理によって、埋め込まれた情報が消失あるいは信号が弱くなる恐れがあるため、画像補正処理は実行しないものとする。或いは、本実施形態では、アプリケーション４００で印刷データを生成する前に（つまり、付加情報を埋め込む前に）、画像補正処理を実行する。
【００５７】
印刷処理部４０８は、データ送受信部４０９から受け取った画像データを、プリンタで出力させる際に好適な色となるように色分解し、インク色データに変換する。インク色データに変換する方法は、画面表示に利用する画像フォーマット（ＲＧＢ）から、印刷用のインク色（ＣＭＹＫ）に変換する公知の色変換処理であれば、いずれの方法であってもよい。
【００５８】
例えば、プリンタ１１４のインク色として、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色を想定する。印刷処理部４０８は、入力されたレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３色から成るデータを、Ｃ，Ｍ，Ｙ，Ｋの４色のインク色データに変換する。変換を行う場合は、色分解テーブルを用いる。色分解テーブルは、Ｒ，Ｇ，Ｂの３つの値を入力すると、Ｃ，Ｍ，Ｙ，Ｋのインク色の値に変換できる３次元のルックアップテーブルである。印刷処理部４０８は、入力された画像データの画素毎に、色分解テーブルを利用して、Ｒ，Ｇ，Ｂの値をＣ，Ｍ，Ｙ，Ｋのインク色の値に変換する。
【００５９】
印刷処理部４０８ではさらに、出力階調補正やハーフトーニングといった画像処理をルックアップテーブルなどの画像処理パラメータを用いて行い、インク色データを印刷出力用データに変換する。
【００６０】
変換された印刷出力用データは、図２の制御回路部２０３に送られる。制御回路部２０３は、印刷出力用データに従って印刷メディア２０４にインクを吐出し、画像を形成する。このように形成された印刷物には、付加情報が埋め込まれている。以上のステップにより、印刷データの印刷処理が終了する。
【００６１】
アプリケーション４００の付加情報読み取り部４０７は、付加情報が埋め込まれた印刷物から、付加情報を読み出して抽出する処理を行う機能を持つ。付加情報の抽出処理の詳細については後述する。なお、図４の例では、アプリケーション４００が付加情報の埋め込みと読み出しとの両方を行う形態を示したが、付加情報の埋め込み用のアプリケーションと読み取り用のアプリケーションにより別々に行なわれてもよい。
【００６２】
＜付加情報の埋め込み処理＞
以下では、アプリケーション４００で行われる、レンダリング後の画像データに対して付加情報を埋め込む処理を説明する。図１１は、付加情報の埋め込み処理を説明するフローチャートであり、図９のＳ９０７の詳細を説明する図である。図１１に示す処理は、アプリケーションの印刷データ生成部４０５で行われる。
【００６３】
Ｓ１１０１において印刷データ生成部４０５は、付加情報をバイナリデータに変換する。ここでは、付加情報として、「ｈｅｌｌｏ」という文字列が入力された場合を例に挙げて説明する。バイナリデータとは、「０」または「１」の情報であり、これらが連続でつながることにより、特定の意味を持つようになる。バイナリデータと文字との対応は、「文字コード」と呼ばれるもので定義されている。例えば、文字コードの一つである「シフトＪＩＳ」を例にとると、「ｈ」はバイナリデータの「０１１０１０００」に対応している。同様に「ｅ」は「０１１００１０１」、「ｌ」は「０１１０１１００」、「ｏ」は「０１１０１１１１」というバイナリデータに対応している。
【００６４】
つまり「ｈｅｌｌｏ」という文字はバイナリデータで「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」と表現できる。逆に「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」というバイナリデータを取得できれば「ｈｅｌｌｏ」という文字を取得することができる。つまり、「０」または「１」を判定できるようにデータを埋め込むことで付加情報の埋め込みが実現可能である。
【００６５】
図１２は、画像に対して「０」または「１」の情報を埋め込む方法を説明する図である。ここでは、「０」、「１」を生成するために図１２（ａ）および（ｂ）の二つのパターンを考える。例えば図１２（ａ）のパターンが「０」を表し、図１２（ｂ）のパターンが「１」を表すものとする。図１２（ａ）および（ｂ）のパターンは、８ｐｘ×８ｐｘで構成されている。各パターン内の一つの矩形が１ｐｘを表している。印刷データ生成部４０５は、これらのパターンに従って「０」および「１」のバイナリデータで構成されている付加情報を画像に埋め込む。これにより、画像内の８ｐｘ×８ｐｘの領域に対して周期性を持ったパターンを与えることができる。
【００６６】
画像へのパターンの埋め込み方法としては、例えば、直接ＲＧＢの値（輝度情報）に、周期性を重畳する方式が考えられる。他の方法としては、ＲＧＢの値を、輝度−色差情報など、他の色空間情報（例えばＣＩＥ  Ｌ＊ａ＊ｂ＊、ＹＣｒＣｂ信号）に分離して周期性を重畳する方式により埋め込みを実現してもよい。または、ＲＧＢの値をインク色（例えばＣＭＹＫ信号）に分離して周期性を重畳する方式により埋め込みを実現しても良い。本実施形態では、簡単のため、ＲＧＢ成分のＢ成分に周期性を重畳する方法を例に挙げる。図１２（ａ）および（ｂ）のハッチングされたピクセル（ｐｘ）部分に対して、Ｂ成分を３０減算するものとする。より好ましくは、減算だけでなく、加算する部分もあったほうがよい。減算と加算が等量あるパターンにすることで、画像への付加情報を埋め込んだ後の違和感が軽減される。図１２（ｃ）および（ｄ）に、減算と加算を含むパターンを示す。薄いハッチング部分が、加算部分である。このように、付加情報が埋め込まれる対象の画像のＲＧＢデータのうち、所定のパターンに沿って所定の成分の値を加工することで付加情報の埋め込みが行われる。なお、本実施形態では、元画像に対して周期的なパターンを直接埋め込む方法をとったが、それ以外の方法を取っても良い。例えば、周波数空間においてパターンの周波数に相当する箇所に信号を埋め込んだ後、フーリエ逆変換で得た画像を元画像に対して加減算する形態を取っても良い。あるいは、一旦画像全体あるいは一部をフーリエ変換で周波数空間に変換し、パターンの周波数に相当する箇所に信号を埋め込んだ後、フーリエ逆変換で得た画像を埋め込み画像とする形態をとっても良い。
【００６７】
図１３は、本実施形態で使用する付加情報の単位ブロック（多重化ブロック）を表す図である。ブロック１３００が１つの単位ブロックを表しており、この単位ブロック内の全情報を読み取ることで埋め込まれた付加情報を取り出すことができる。単位ブロック１３００はマーカー部１３０１とデータ部１３０２とで構成されている。マーカー部１３０１は付加情報の読み取りの際に単位ブロック１３００の位置を特定するために利用される８０×８０ｐｉｘｅｌのブロックで、マーカー部を表す情報が埋め込まれている。マーカー部１３０１を表す情報として、例えば図１２（ａ）および（ｂ）の両方の組み合わせから成る特定のパターンを付加し、このパターンを読み取りの際に検出することでマーカー部１３０１の検出を行うことができる。他の方法としては、図１２（ａ）および（ｂ）とは異なる周期性や周期の方向を持つパターンでマーカー部１３０１を構成することも考えられる。
【００６８】
データ部１３０２は、図１２（ａ）または図１２（ｂ）であるパターン１３０３（すなわち、「０」か「１」を表すパターン）が敷き詰められている。本実施形態の単位ブロック１３００は２４０×２４０ｐｉｘｅｌで構成されており、データ部１３０２にはパターン１３０３が８００個入っている。パターン１３０３が１つで１ビットの情報を表すことができるため、ブロック１３００全体では８００ビットの情報量があることになる。
【００６９】
なお、本実施形態では、単位ブロック内のマーカー部１３０１は、ブロック１３００の左上に配置しているが、右上や真ん中等、それ以外の位置に配置してもよい。また、マーカー部１３０１は、矩形以外の形状でもよいし、単位ブロック内に分散して配置されていてもよい。
【００７０】
図１４は、印刷メディア２０４に単位ブロック１３００が繰り返し埋め込まれている様子を表した図である。つまり、同じ付加情報を表す単位ブロック１３００が、印刷メディア２０４の全面に繰り返し埋め込まれている様子を示している。図１４の印刷設定は、Ｌ版、３００ｄｐｉ印刷、フチあり印刷とする。Ｓ９０２における処理により、この場合の印刷画像サイズは、横幅９５０ｐｘ、縦幅１４００ｐｘとなる。印刷画像サイズが９５０×１４００なので、２４０×２４０の単位ブロック１４００を、３×５＝１５ブロック敷き詰めることが可能である。印刷メディア２０４に埋め込まれた付加情報を読み出すには、この繰り返し埋め込まれた複数の単位ブロック１３００のうち、１つ分のデータ部の読み出しが出来れば良い。なお、同じ情報（単位ブロック１３００）を印刷メディア２０４の全面に多く埋め込むことで、読み取り時のロバスト性を高めることができる。ある単位ブロック１３００では、付加情報を読み出すことができないものの、他の単位ブロック１３００を参照することで、付加情報を読み出すことが可能になる場合があるからである。なお、ここでは同じ情報（単位ブロック１３００）を繰り返し埋め込む場合を例に挙げているが、これに限られない。異なる情報（異なる内容のブロック）を、画像の全面に埋め込む場合でもよい。図１４では、印刷メディアの右部分と下部分にはブロックサイズが足りないエリアが存在するが、このエリアにもブロックの一部が埋め込まれている。
【００７１】
図１１の付加情報の埋め込み処理のフローチャートの説明に戻る。付加情報（文字列）のバイナリ化が終了するとＳ１１０２に進む。
【００７２】
Ｓ１１０２において印刷データ生成部４０５は、単位ブロックの配置を決定する。印刷データ生成部４０５は、印刷画像の左上を起点に、単位ブロックを敷き詰める。図１４は、印刷画像の左上を起点として単位ブロックを配置した例を示している。
【００７３】
Ｓ１１０３において印刷データ生成部４０５は、決定したブロック配置で画像に付加情報の埋め込みを行う。付加情報の埋め込みは、対象の画像と図１４のブロック配置とを対応付けながら、各画素に対して図１２のパターンを重畳することにより行う。具体的には、図１４の各ブロック内のデータ部は、図１２（ａ）のパターンまたは図１２（ｂ）のパターンから成っているため、各パターンのハッチング部に対応する画素のＲＧＢのＢ値を３０減算する。Ｂ値が０を下回る場合は、０とする。これを画像全体に適用することにより、画像への付加情報の埋め込みが完了する。
【００７４】
以上、ブロック図に従って、画像に付加情報を埋め込んでプリンタで印刷するまでの処理を説明した。次に、付加情報が埋め込まれた印刷物を読み取る処理について説明する。
【００７５】
＜付加情報の読み取り処理＞
付加情報の読み取り処理は、図４におけるアプリケーション４００の付加情報読み取り部４０７によって実施されるが、埋め込みを行ったデバイスとは別のデバイスのアプリケーションで読み取りを実施してもよい。
【００７６】
図１５は、付加情報の読み取り処理に関連するブロック図を示す。画像処理装置１００のアプリケーション４００に含まれる付加情報読み取り部４０７は、画像取得部１５０１、距離検出部１５０２、傾き検出部１５０３、および付加情報取得部１５０４を備えている。
【００７７】
まず、画像取得部１５０１は、内部撮像デバイス１１２を制御して、付加情報が埋め込まれた印刷物の撮像を行い、画像データを取得する。撮像によって得られた画像データは、静止画のデータでもよいし、動画から各フレームを抜き出した静止画像のデータを使用してもよい。撮像によって得られた画像データは、距離検出部１５０２に送られる。画像データは、ＲＧＢ形式の８ビットデータとして得られるものとする。また、画像データのサイズは、１０８０×１９２０（２Ｋサイズ）が得られるものとする。図１６に、撮像で得られる画像データの例を示す。
【００７８】
距離検出部１５０２では、図１６の画像データ１６０１内の複数エリアを周波数解析し、エリア毎に距離の情報を算出する。距離の情報とは、端末と印刷物との相対的な距離の情報である。図１７に、距離情報算出のフローを示す。なお、図１７に示すフローチャートに示す処理は、アプリケーション４００において、ユーザが読み取りモードの指示を開始したことに基づいて開始される。また、アプリケーション４００は、該読み取りモードの開始と共に、ＯＳを介して内部撮像デバイス１１２を起動し、画像取得部１５０１が像を取得する。なお、アプリケーション４００は、読み取りモードがユーザの指示等により終了されるまで、画像取得部１５０１により画像の取得と、距離検出部１５０２による図１７に示す処理が、繰り返される。
【００７９】
まず、Ｓ１７０１で距離検出部１５０２は、トリミング処理を行う。図１６の画像データの一部領域１６０２〜１６０５をトリミングエリアとし、２５６×２５６サイズで切り取る。以下、それぞれのトリミングエリアを、Ａエリア、Ｂエリア、Ｃエリア、Ｄエリアと呼ぶこととする。切り取りの位置は、画像データ１６０１の中心と矩形の頂点とを結ぶ直線上にトリミングエリアの中心が一致するような位置とする。本実施形態では、印刷物に相当する画像の中心と頂点のちょうど中間にトリミングエリアの中心がある状態で切り取りを行う。トリミングの位置が画像の頂点に近い位置にあると、印刷物から離れて（引きで）撮像した時に、後述する距離情報の算出ができない場合がある。これは、トリミングエリアで距離情報の算出をするためには、エリアに印刷物の一部が含まれている必要があるためである。一方、トリミングの位置が画像の中央に近い位置にあると、エリア毎の距離情報の算出結果に差が生まれにくくなる。そのため、画像の中心と頂点の中間付近でトリミングを行った方が望ましい。なお、本実施形態では、２５６×２５６サイズでトリミングを行ったが、必ずしもこのサイズである必要はない。ただし、後述の空間周波数領域に変換する処理のため、２のべき乗サイズであることが望ましい。例えば１２８×１２８でもよいし、５１２×５１２でもよい。
【００８０】
次に、Ｓ１７０２で距離検出部１５０２は、Ｓ１７０１で得られたトリミング画像に対して、空間周波数領域に変換した画像を得る。本実施形態では、２次元の高速フーリエ変換ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を使用する。ＦＦＴのアルゴリズムについては公知の技術を使用する。図１８（ａ）に、実際に撮像した画像データの一部を空間周波数領域に変換したＦＦＴ画像の例を示す。画像の中心を原点とすると、横軸が水平方向の周波数、縦軸が垂直方向の周波数を表し、原点から遠ざかるにつれて高周波域となる。
【００８１】
次に、Ｓ１７０３で距離検出部１５０２は、Ｓ１７０２で得られたＦＦＴ画像を使用して、内部撮像デバイス１１２と印刷物との距離を算出し、その距離に関する距離情報の取得を行う。図１６に示した、印刷物の撮像で得られる画像データには、印刷物に埋め込んだ図１２の２つのパターンが無数に含まれている。そのため、撮像した画像データの一部をトリミングした画像を空間周波数領域に変換すると、２つのパターンの波の方向と周波数に対応した部分に大きなパワースペクトルを発生させる。ＦＦＴ画像では、１８０°回転対称の部分にも同じピークが生じるため、空間周波数領域では４つの点でピークを生じさせる。図１８（ａ）では、４つの点でピークが生じていることがわかる。
【００８２】
図１８（ｂ）は、ＦＦＴ画像から距離を検出する例を示している。撮像デバイスと印刷物の間で傾き（回転）が生じていない場合、図１２のパターンに対応したピークは図１８（ｂ）のライン１８０１と１８０２の上に生じる。ただし、ピークが生じる周波数は、撮像デバイスと印刷物との間の距離によって変動する。例えば、距離が近い場合は低周波側に、距離が遠い場合は高周波側にピークを生じる。図１８（ｂ）では、中心付近の低周波領域を除き、低周波側からａ〜ｆの６つのリング状のエリアを設定している。ピークがこれらのエリアの何れに含まれるかを判定することにより、撮像デバイスと印刷物との距離Ｄを算出する。エリアの判定方法としては、例えば、各エリアに含まれる画素の最大値を求め、最も最大値が大きいエリアにピークが存在すると判定する方法があげられる。また、各エリアに含まれる画素の平均値を求め、最も平均値が大きいエリアにピークが存在すると判定してもよい。
距離Ｄを算出する式としては、例えば以下の式があげられる。
【００８３】
【数１】
2020167592.tif 000003
【００８４】
ｒはリング上エリアの半径である。半径としては、リング上エリアの外径と内径の中央の径を用いる。図１８（ｃ）のＲａｄｉｕｓは、各エリアの半径ｒの値である。上記式では、図１２の８ｘ８パターンが等倍で２５６ｘ２５６に含まれていた場合の距離を１として換算した相対的な距離が求められる。より具体的には、図１２のパターンは２５６ｘ２５６の中に６４×√５／２ｃｙｃｌｅ含まれるため、半径ｒ（周波数に相当）をこの周波数で除算することにより、相対的な距離を求めることができる。図１８（ｃ）のＤｉｓｔａｎｃｅに、各エリアの距離の値を示す。
【００８５】
なお、本実施形態では、等倍撮像時の距離を１として相対的な距離を算出したが、周波数領域における半径ｒが、撮像デバイスと印刷物との距離に相当することがわかっているため、半径ｒをそのまま距離に相当する値として使用してもよい。また、リング状エリアの数を６としたが、エリアの数は増減してもよい。
【００８６】
最後に、Ｓ１７０４で距離検出部１５０２は、ＡからＤまで全てのトリミングエリアの距離算出が完了したか否かを判定する。まだ算出が完了していない場合は、別エリアの距離情報を算出するため、Ｓ１７０１から処理をやりなおす。全てのトリミングエリアの距離算出が完了したら、距離の情報を傾き検出部１５０３に送る。
【００８７】
傾き検出部１５０３では、距離検出部１５０２で算出された距離情報をもとに、撮像デバイスと印刷物との傾きを検出する。ここで、傾きの状態について、図１９をもとに説明する。図１９（ａ）は、傾きが発生していないときに撮像される印刷物の状態を表したものである。実際は、印刷物の全体が撮像されているとは限らず、一部のみが撮像されている場合もあるが、ここでは説明のため、全体が撮像されているものとする。傾きが発生すると、図１９の（ｂ）〜（ｉ）のいずれかの状態に印刷物の形状が変化する。しかし、実際に撮像された画像からは、傾きがどのような状態になっているかはわからない。そこで、距離検出部１５０２で得られたＡからＤの４点のトリミングエリアの距離情報から、傾きの状態を検出する。即ち、ＡからＤそれぞれの距離情報から、距離の差分を求めることで、傾きの状態が（ｂ）〜（ｉ）のいずれであるか認識することができる。例えば、ＡとＢと距離が同程度で、ＣとＤの距離も同程度であるが、ＡとＢの距離よりＣとＤの距離が近ければ、撮像デバイスに対して印刷物は図１９（ｂ）の状態に傾いていると判定できる。
【００８８】
このように検出された距離と傾きは、表示処理部４０１によってディスプレイ１０６に表示される。本実施形態では、距離や傾きの状態を四角形により表示する例を示す。図２０は、四角形の形状をディスプレイ１０６に表示する様子を示す図である。なお、図２０（ｂ）〜（ｄ）に示す表示は、例えば内部撮像デバイス１１２がその時に撮像している画像（例えば印刷物の画像）に重畳してディスプレイ１０６に表示される。
【００８９】
図２０（ａ）の太線の矩形２０００は、付加情報を読み取るのに適切な距離や傾きを表現している。これに対して、２００１〜２００６まで、矩形２０００を拡大・縮小させた矩形が示されている。これらは、距離算出時のリング状エリアａ〜ｆにそれぞれ対応しており、中心から頂点までの相対的な距離がそれぞれ図１８（ｃ）の距離に対応する。リング状エリアｃは、距離が１であるため、太線の矩形２０００と一致している。
【００９０】
例として、Ａ、Ｂ、Ｃ、Ｄトリミングエリアの距離算出結果がそれぞれ０．８１８、０．８１８、１．２８６、１．２８６であった場合で説明する。この場合、図２０（ｂ）に示す形状の四角形２００７を表示する。
【００９１】
なお、上述のように、アプリケーション４００は、読み取りモードがユーザの指示等により終了されるまで、画像取得部１５０１により画像の取得と、距離検出部１５０２による図１７に示す処理が、繰り返される。さらに、表示処理部４０１による図２０に示す表示も、読み取りモードが終了するまで繰り返し実行される。そのため、四角形２００７は、リアルタイムに行われる距離や傾きの検出結果に応じて、形状が随時変化する。そのためユーザは、この四角形２００７の形状が同じくディスプレイ１０６に表示された太線の矩形２０００の形状になるように、撮像デバイスと印刷物の位置関係を調整することで付加情報の読み取りに適切な距離や傾きに近づけることができる。
【００９２】
付加情報取得部１５０４では、撮影画像から付加情報の取得を行う。付加情報の取得にはいくつかの段階がある。まず、付加情報が埋め込まれている位置の検出を行う。具体的には、画像データの空間周波数特性を解析することにより埋め込み位置の検出を行う。
【００９３】
本実施形態では、図１２に示すように、２つのパターンを画像に埋め込んでいる。埋め込み例ではＲＧＢのＢ成分に３０の減算を行っている。これにより、図１２（ａ）のパターンおよび図１２（ｂ）のパターンは特定の２つの方向に大きなパワースペクトルを発生させる。これは、図１８（ａ）、（ｂ）を見ても明らかである。付加情報取得部１５０４は、８ｐｘ×８ｐｘの局所エリアにおいて、このパワースペクトルを検出することにより、「０」か「１」のデータ抽出を行う。なお、検出の前処理として、エッジ検出やシャープネスをかけることにより、パワースペクトルの強調をすることも可能である。
【００９４】
次に、座標位置のずれを補正する処理が行われる。例えば、画像内からの８ｐｘ×８ｐｘの切り出しと周波数解析とを１ｐｘずつずらしながら縦横に繰り返し、横８ｐｘ×縦８ｐｘの計６４回繰り返し、最もスペクトルが強くなる箇所を切り出しの基準位置とする方法がある。
【００９５】
位置検出が完了したら、付加情報の抽出（分離）を行う。図１３の例で説明すると、付加情報の抽出は、まず特定のバイナリパターンから成る単位ブロック１３００のマーカー部１３０１を検出した後、マーカー部１３０１の位置を基準としてデータ部１３０２からのデータ読み出しを行う。読み出し時には、１つのブロックでは一部分しか読み取りが出来ない場合があるが、その場合は読み取りができなかった部分のデータを、他のブロックのデータで補ってデータを完成させてもよい。すなわち、付加情報の抽出は、第１のブロックで第１の部分のデータを抽出し、第１のブロックとは別の第２のブロックで、第１の部分以外の第２の部分のデータを抽出することで行なわれてもよい。図１３の例では、データが完成すると、８００ビット分の「０」「１」数列が得られる。
【００９６】
付加情報の分離が完了した後は、付加情報として抽出した数値列に対して、データを解析し、埋め込まれる前の付加情報の元の形式に変換する処理を行う。例えば、テキスト文書データに含まれる文字コードが「シフトＪＩＳ」で数値化された値が埋め込まれていた場合、付加情報の読取時には、その値が文字コードに変換される。
【００９７】
シフトＪＩＳの１バイトコード（半角文字）では、上位４ビットと下位４ビットの組み合わせが、数値または文字に相当する。例えば、上位４ビットが「０１００」で、下位４ビットが「０００１」の場合、文字列として、「Ａ」と判定される。このように、変換マップを予め保持しておき、数値列を対応させることで、数値列から文字への変換を行うことができる。具体的には、付加情報として抽出した数値列は、図１のＲＡＭ１０４に一時的に保持される。そして、ＣＰＵ１０２が、２次記憶装置１０５に予め保持されている「シフトＪＩＳ」変換マップを参照して、一時保持されている数値列を文字または数字に変換することができる。
【００９８】
仮に、付加情報抽出部１７０２で抽出した付加情報の数値列が、「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」とする。この場合、変換マップに対応させると以下のようになる。
【００９９】
・上位４ビット「０１１０」、下位４ビット「１０００」で、文字「ｈ」
・上位４ビット「０１１０」、下位４ビット「０１０１」で、文字「ｅ」
・上位４ビット「０１１０」、下位４ビット「１１００」で、文字「ｌ」
・上位４ビット「０１１０」、下位４ビット「１１００」で、文字「ｌ」
・上位４ビット「０１１０」、下位４ビット「１１１１」で、文字「ｏ」
従って、文字列の「ｈｅｌｌｏ」となる。抽出された文字列は、例えば図４の表示処理部４０１でディスプレイ１０６に表示される。また、抽出された文字列がＵＲＬであるなら、画像処理装置１００は、例えばアプリケーション４００とは異なるＷｅｂブラウザを利用して、ＵＲＬに従ってＷｅｂページにアクセスし、ディスプレイ１０６に該Ｗｅｂページを表示する。また、そのＵＲＬが動画サイトであった場合、ディスプレイ１０６で動画が表示され、また不図示のスピーカーで音声を流すこともできる。以上で、付加情報の読み取り処理を終了する。
【０１００】
図２１は、付加情報の読み取りのフローを示したフローチャートである。図２１に示すフローチャートは、ユーザがアプリケーション４００における読取モードを指示したことに基づいて開始される。なお、図２１に示すいずれのステップの実行中であっても、ユーザが読取モードの終了を指示した場合、図２１に示すフローチャートは終了する。
【０１０１】
Ｓ２１０１で距離検出部１５０２が、印刷物との距離を検出する。続いてＳ２１０２で傾き検出部１５０３が、印刷物に対する内部撮像デバイス１１２の傾き（或いは内部撮像デバイス１１２に対する印刷物の傾き）を検出することで、当該傾きに関する傾き情報を取得する。Ｓ２１０１の処理が、図１７に示したフローチャート相当する。またステップ２１０２の処理が、図１８、図１９、図２０（ａ）を用いて説明した、印刷物と撮像デバイスの相対的な傾きの検出処理に相当する。
【０１０２】
Ｓ２０１３で表示処理部４０１は、Ｓ２１０１、Ｓ２１０２で取得された距離情報や傾き情報に基づいて図形を表示する。この図形は、距離情報や傾き情報に応じて、大きさや形状等の表示形態が異なるオブジェクトである。例えば、図２０（ｂ）の四角形２００７は、印刷物との距離や傾きを示す図形（オブジェクト）である。
【０１０３】
Ｓ２１０４で付加情報取得部１５０４が、印刷物に埋め込まれた付加情報の読み取りを行う。Ｓ２１０５で付加情報取得部１５０４が、Ｓ２１０４において、読み取りの結果が所定の基準を満たしたか判定する。具体的には、付加情報を読み取ることができたか判定される。例えば付加情報取得部１５０４は、Ｓ２１０４における読取の結果、マーカー部１３０１に相当する付加情報が読み取れたか否かにより、Ｓ２１０５の判定を行う。具体的には、マーカー部１３０１に相当する付加情報が予め付加情報取得部１５０４に定義されており、Ｓ２１０４で読み取られた付加情報に、マーカー部１３０１に相当する付加情報が含まれていれば、付加情報を読み取ることができたと判定される。
【０１０４】
Ｓ２１０５で読み取りができたと判定された場合、Ｓ２１０６へ進む。一方、読み取りができなかったと判定された場合は、付加情報の読み取りができない距離や傾きであることが考えらえる。そのため、アプリケーション４００は、ユーザに距離や傾きの調整を促すため、Ｓ２１０１において再び距離や傾きの検出を行う。Ｓ２１０１〜Ｓ２１０５の処理は、アプリケーション４００により付加情報の読み取りモードが実行され、内部撮像デバイス１１２が印刷物を撮像している間、複数回繰り返し実行され得る。即ち、Ｓ２１０１、Ｓ２１０２において印刷物との距離、傾きが複数回繰り返し取得され、Ｓ２１０３において、その複数回取得されるたびに、図形が表示される。そのため、ユーザは内部撮像デバイス１１２と印刷物の距離、傾きをリアルタイムに認識することができ、それを図２０の２０００に示した枠に近づけることで、適切な距離、傾きにすることができる。
【０１０５】
Ｓ２１０６で表示処理部４０１は、読み取りを開始したことをユーザに知らせるために、図形（オブジェクト）の表示形態を変更する。具体的には、図形の形または色が変更される。例えば図２０（ｃ）の四角形２００８のように、色及び形を変更する。この際、矩形２０００と同じ形に変化させることにより、付加情報の読み取りに適切な距離や傾きになったことをユーザに示すことができる。また四角形の色を変えることで読み取りが始まったことをユーザに分かりやすく示すことができる。
【０１０６】
Ｓ２１０７で表示処理部４０１は、読み取りの進捗を表示する。具体的には、付加情報取得部１５０４が、読み取られた付加情報のデータ量と、読み取られるべき付加情報の全体のデータ量とから進捗状況を取得する。そして、付加情報取得部１５０４がその進捗状況から生成した進捗情報を表示処理部４０１に通知することにより、進捗表示が行われる。例えば、図２０（ｃ）の進捗２００９のように読み取りの進捗状況を示す表示を行う。進捗はパーセンテージで表示してもよいし、プログレスバーなどで表示してもよい。なお、このように読取の進捗を四角形２００８の内部に行うことで、表示領域の拡がりを抑えることができるとともに、ユーザは注目している図形から視線を外さずに読み取りの進捗を確認することができる。なお、Ｓ２１０７の前に進捗表示として「０％」が表示され、Ｓ２１０７においてその進捗が進むように表示されてもよい。いずれにしても、Ｓ２１０７において進捗表示が変更される。
【０１０７】
また、付加情報取得部１５０４が生成する進捗情報は、上記のようにデータ量に基づいて生成されてもよいし、或いは、付加情報として読み取られた文字数と、読み取られるべき文字数から生成されてもよい。また読み取られるべき付加情報の全体のデータ量や、読み取られるべき文字数は、予めアプリケーション４００で定義されていてもよいし、或いは、マーカー部１３０１やデータ部１３０２の最初に読み取られる部分に書き込まれていてもよい。
【０１０８】
Ｓ２０１８で付加情報取得部１５０４は、付加情報を全て読み取れたかを判定する。全て読み取れている場合は読み取りが完了となるが、全ての読み取りができず不足情報が存在する場合がある。その場合はＳ２０１８で読み取りが完了していないと判定され、Ｓ２１０４に戻り読み取り処理を再度実行する。さらに、再読み取りで不足情報を読み取れなかった場合は、Ｓ２１０５の判定でＮＯとなり、Ｓ２１０１に処理が戻る。この場合、距離や傾きの調整が必要な状況のため、再び距離や傾きの検出を行う。そして検出された距離や傾きにより、図２０（ｄ）の四角形２０１０のような表示が行われる。
【０１０９】
即ち、読取途中に撮像デバイスと印刷物との距離や傾きが変化し、付加情報を読み取れない状態となった場合（Ｓ２１０５でＮｏ）、Ｓ２１０１〜２１０３における処理により、適切な距離や傾きとするようにユーザを促すガイド表示が再び表示される。例えば、四角形２０１０は四角形２００７と同じように、距離や傾きの検出結果に応じて形状が随時変化する状態となる。この際、表示処理部４０１は、Ｓ２１０６において変更された図形（オブジェクト）の形や色を、元の状態に戻す。このため、ユーザは、Ｓ２１０５における判定のように、印刷物との距離や傾きが適切でなくなり、読み取り結果が所定の基準を満たされなくなったことを認識することができる。また、このとき四角形２０１０の内部に読み取り済みの進捗２０１１が表示され続けるようにしてもよい。これにより、読み取るべき付加情報のどこまでの読み取りが完了しているかをユーザは把握することができる。
【０１１０】
そして、傾きや距離が調整されて不足情報の読み取りを進めることが出来たら、図形が四角形２００８のように再び変化する（Ｓ２１０６）。また図形内の進捗の更新も行われる（Ｓ２１０７）。この際、全て付加情報を読み込めたらＳ２０１８でＹＥＳとなり図２１に示す処理が完了するが、まだ不足情報がある場合はＳ２１０４に処理が戻る。以上の処理が、読み取りが完了するまで複数回繰り返し実行される。
【０１１１】
以上のように、本実施形態では、画像処理装置が検出した、印刷物と撮像デバイスの相対的な距離と傾きに基づいて四角形が表示され、四角形の形状をターゲットの矩形に合うように調整することで距離と傾きを調整可能となる。これにより、四角形の形状を調整することにより、印刷物と撮像デバイスとの距離や傾きを同時に調整することができる。
【０１１２】
＜＜その他の実施形態＞＞
以上の実施形態では、距離と傾きの両方が調整可能なＵＩについて説明したが、これに限らず、距離のみが検出され、距離のみを調整可能なＵＩであってもよい。例えば、図２０に示したような四角形の大きさが、検出された距離に応じた大きさで表示される。或いは、傾きのみを調整可能なＵＩであってもよく、例えば図２０に示したような四角形が、検出された傾きに応じた形状で表示される。
【０１１３】
また、距離または傾きを示すＵＩとして、図２０に示した四角形に限らず、丸等の任意の形状を適用することができる。例えば、丸い形状のＵＩの場合、距離に応じて表示される丸いオブジェクトの大きさが変化し、傾きに応じてオブジェクトの形状が変化して例えば楕円として表示される。そして、適切な距離、傾きに相当する表示として新円の枠が表示され、上記オブジェクトを新円の枠に近づけることで、撮像デバイスと印刷物との距離、傾きを適切なものに調整することができる。
【０１１４】
さらに、以上の実施形態では、撮像デバイス（画像処理装置）と印刷物との距離に応じてオブジェクトの大きさが変化したが、これに限らず、印刷物との距離に応じてオブジェクトの形状や色が変化するようにしてもよい。同様に、撮像デバイス（画像処理装置）と印刷物との相対的な傾きに応じてオブジェクトの形状が変化したが、これに限らず、距離に応じてオブジェクトの大きさや色が変化するようにしてもよい。
【０１１５】
また、以上の実施形態では、適切な距離、傾きに相当する、目標となるオブジェクト（枠線等）が表示され、距離や傾きが変化するオブジェクトを、その目標となるオブジェクトに近づけることで、ユーザが調整を行う例を示した。しかし、その目標となるオブジェクトの表示は必須の構成ではない。このとき、例えば読み取りモードの開始の前に、「オブジェクトが長方形になるよう調整してください。」等のメッセージが表示されてもよい。或いは、読み取りモードの開始前に、目標となるオブジェクトが表示され、読み取りモードが開始して撮像が行われているときには、その目標となるオブジェクトが表示されなくてもよい。
【０１１６】
前述した実施形態では、印刷画像の全面の各単位ブロックに、同じ付加情報が繰り返し埋め込まれる形態を例に挙げて説明したが、これに限られるものではない。各単位ブロックには、それぞれ別個の情報が埋め込まれても良い。あるいは、単位ブロックを複数のグループに分類してもよい。この場合、第１のグループの単位ブロックには、同じ第１の付加情報がそれぞれ埋め込まれており、第２のグループの単位ブロックには、第１の付加情報とは異なる第２の付加情報がそれぞれ埋め込まれても良い。第１のグループおよび第２のグループは、印刷画像の中において所定の領域に偏って配置されてもよい。あるいは、第１のグループと第２のグループは、分散して配置されてもよい。このようなグループは、３つ以上あってもよい。
【０１１７】
また、前述した実施形態では、付加情報が埋め込まれる領域は、所定のサイズのブロックである形態を説明したが、これに限られるものではない。ブロックのような矩形でなくてもよく、任意の形状の単位領域を用いて付加情報が埋め込まれてもよい。
【０１１８】
また、付加情報が可変長の情報であり、付加情報が埋め込まれている領域の情報が、単位ブロックのデータ部の所定の場所（例えば、最初の部分）に埋め込まれていてもよい。例えば、８００ビットの場合、冒頭の一部のビット（例えば８０ビット）が、その単位ブロック内に付加情報が埋め込まれている範囲を示すものでもよい。
【０１１９】
また、付加情報の埋め込み方のルールをアプリケーション４００が予め複数規定しておき、付加情報の例えば冒頭のヘッダ部分にルールを識別する情報を埋め込んでおき、識別されたルールに従って、付加情報の抽出が行なわれてもよい。
【０１２０】
前述した実施形態では、画像処理装置１００とプリンタ１１４とがネットワークで接続されており、画像処理装置１００が生成した印刷データがプリンタ１１４で印刷される形態を説明したが、これに限られない。プリンタ１１４がアプリケーション４００を備えてもよく、プリンタ１１４が、自身が生成した印刷データに基づいて付加情報が埋め込まれた印刷物を出力する形態でもよい。つまり、プリンタ１１４がアプリケーション４００の機能の一部を兼ね備えてもよい。
【０１２１】
また、前述した実施形態で示した距離検出方法は一例であり、その他の距離検出方法を用いて距離を検出してもよい。また複数の距離検出方法を組み合わせて距離を検出してもよい。例えば、近距離を精度高く検出可能な距離検出方法Ａと近距離から遠距離まで検出が可能な距離検出方法Ｂがあったとする。この場合、距離検出方法Ａで検出できる範囲では距離検出方法Ａを利用し、それ以外では距離検出方法Ｂを利用するといった検出の仕方でも実現可能である。
【０１２２】
さらに前述した実施形態で示した傾き検出方法は一例であり、その他の傾き検出方法を用いて傾きを検出してもよい。また複数の傾き検出方法を組み合わせて傾きを検出してもよい。
【０１２３】
また、以上の実施形態では、画像処理装置１００の内部の撮像デバイスにより印刷物の撮像が行われたが、これに限らない。例えば、画像処理装置１００の外部の撮像デバイスにより印刷物が撮像されることで得られた画像データが画像処理装置１００に入力されて、その画像データに基づいて以上の実施形態の処理が実行されてもよい。
【０１２４】
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１２５】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１２６】
３０２  ＣＰＵ
３０４  ＲＯＭ
３０５  ＲＡＭ
【図１】
2020167592.tif 000004
【図２】
2020167592.tif 000005
【図３】
2020167592.tif 000006
【図４】
2020167592.tif 000007
【図５】
2020167592.tif 000008
【図６】
2020167592.tif 000009
【図７】
2020167592.tif 000010
【図８】
2020167592.tif 000011
【図９】
2020167592.tif 000012
【図１０】
2020167592.tif 000013
【図１１】
2020167592.tif 000014
【図１２】
2020167592.tif 000015
【図１３】
2020167592.tif 000016
【図１４】
2020167592.tif 000017
【図１５】
2020167592.tif 000018
【図１６】
2020167592.tif 000019
【図１７】
2020167592.tif 000020
【図１８】
2020167592.tif 000021
【図１９】
2020167592.tif 000022
【図２０】
2020167592.tif 000023
【図２１】
2020167592.tif 000024