(57)【特許請求の範囲】
【請求項１】
画像読取手段によって或る解像度で読み取られた画像から、図形パターンによって情報を表現したコード画像を抽出するコード画像抽出手段と、
前記コード画像抽出手段によって抽出されたコード画像を解読して前記情報を得る解読手段と、
所定の解像度を記憶する解像度記憶手段と、
前記画像読取手段が画像を前記或る解像度で画像を読み取ってから出力するときの解像度を指定する解像度指定手段と、
前記画像読取手段によって前記或る解像度で読み取られた画像において、前記コード画像の所定範囲内に存在する余白領域を抽出する余白領域抽出手段と、
前記解読手段によって得られた前記情報を図形パターンによって表現したコード画像を生成するコード再生成手段と、
前記画像読取手段によって前記或る解像度で読み取られた画像に含まれていたコード画像を消去し、前記コード再生成手段によって生成されたコード画像を、前記画像読取手段が前記解像度指定手段によって指定された解像度で出力した画像に合成する合成手段であって、前記解像度指定手段によって指定された解像度が前記解像度記憶手段に記憶された解像度よりも低い場合には、前記余白領域抽出手段によって抽出された余白領域の位置に、前記コード再生成手段によって生成されたコード画像を前記解像度記憶手段に記憶された解像度に相当する画素数になるように再生成して、前記合成を行う合成手段と、
前記合成手段によってコード画像が合成された画像を表す画像データを出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記余白領域抽出手段によって抽出された余白領域に前記コード再生成手段によって生成されたコード画像が収まるか否かを判断する判断手段と、
前記判断手段によって前記余白領域にコード画像が収まらないと判断された場合には、前記画像読取手段によって読み取られた画像を表示し、当該画像上で前記コード画像を合成する位置をユーザに指定するように促す指示手段と
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記余白領域抽出手段によって抽出された余白領域に前記コード再生成手段によって生成されたコード画像が収まるか否かを判断する判断手段と、  前記抽出手段によって抽出された余白領域に前記コード再生成手段によって生成されたコード画像が収まるか否かを判断する判断手段と、
前記判断手段によって前記余白領域にコード画像が収まらないと判断された場合には、その旨を報知する報知手段と
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記判断手段によって前記余白領域にコード画像が収まらないと判断された場合には、前記出力手段によって出力される画像データに基づいて画像を複写する際の縮小倍率をユーザに再度指定し直すように促す指示手段を備えることを特徴とする請求項３記載の画像処理装置。
【請求項５】
コンピュータに、
画像読取手段によって或る解像度で読み取られた画像から、図形パターンによって情報を表現したコード画像を抽出するコード画像抽出機能と、
前記コード画像抽出機能によって抽出されたコード画像を解読して前記情報を得る機能と、
所定の解像度を記憶手段に記憶させる機能と、
前記画像読取手段が画像を前記或る解像度で画像を読み取ってから出力するときの解像度を指定する解像度指定機能と、
前記画像読取手段によって前記或る解像度で読み取られた画像において、前記コード画像の所定範囲内に存在する余白領域を抽出する余白領域抽出機能と、
前記解読によって得られた前記情報を図形パターンによって表現したコード画像を生成するコード再生成機能と、
前記画像読取手段によって前記或る解像度で読み取られた画像に含まれていた前記コード画像を消去し、前記コード再生成機能によって生成されたコード画像を、前記画像読取手段が前記解像度指定機能によって指定された解像度で出力した画像に合成する機能であって、前記解像度指定機能によって指された解像度が前記記憶手段に記憶された解像度よりも低い場合には、前記余白領域抽定出機能によって抽出された余白領域の位置に、前記コード再生成機能によって生成されたコード画像を前記記憶手段に記憶された解像度に相当する画素数になるように再生成して、前記合成を行う機能と、
前記コード画像が合成された画像を表す画像データを出力する機能と
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナ装置などの画像読取装置によって読み取られた画像に含まれているコード画像を扱う技術に関する。
【背景技術】
【０００２】
２次元の図形パターンによって情報を表現した２次元コード（バーコードを含む）の利用が急速に進んでいる。２次元コードの最も典型的な利用形態は、ＵＲＬ（Uniform Resource Locator）を表した２次元コードを広告紙面に印刷しておき、その広告に興味を持ったユーザが、紙面上の２次元コードをデジタルカメラ付きの携帯電話機で読み取らせ、その携帯電話機から上記ＵＲＬへアクセスさせて広告対象物の詳細を閲覧する、というものである。また、定型の記入フォームに２次元コードを印刷乃至貼付しておき、そのフォームに必要事項を記入した後にスキャンさせることで記入内容を２次元コード単位で自動分類するというような利用形態も多い。例えば特許文献１には、任意の情報を表す２次元コードを原稿の画像部分に重ならないようにして両者を合成するための技術が提案されている。
【特許文献１】特開平８−０１６６８９公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、オフィスや家庭で用いられている一般的な複写機やスキャナの高解像度化が進んでいる。よって、原稿をスキャンして読み取った２次元コードを複写時に忠実に再現することも可能である。ただし、高解像度化が進んだとはいえ、複写前後で画像が寸分違わず完全に一致するわけではない。例えば複写によって得られた複写物を更に複写するというような、いわゆる世代コピーを行った場合、複写を重ねるにつれて２次元コードの再現性はどうしても劣化してしまう。よって、世代コピーを経た２次元コードに対する認識精度は低下する。
【０００４】
また、雑誌などの印刷物においては、同一ページに写真と２次元コードが混在していることが多い。このような印刷物を複写する場合、写真画像の再現性を重視して複写すると、階調の再現性が優先され、２次元コードの明部（図形）に印刷物紙面の色が入り込んでしまったり、暗部の輪郭がぼやけたりして、複写後の２次元コードに対する認識精度が低下してしまう。一方、文字の再現性を優先してして複写すると、２次元コードの劣化は抑えられるものの、写真画像の再現性が低下してしまうという問題がある。また、複写機で２次元コードが埋め込まれた原稿を複写する際に縮小コピーを指定した場合には、実解像度が低下するため、複写物から２次元コードを解読しづらくなる。
このように、２次元コードを含む原稿を複写した場合、その複写物から２次元コードを正確に読み取ることができなくなる虞がある。
【０００５】
また、上記と同種の問題は原稿をスキャンする際にも発生する。
一般に、スキャナに対しては６００ｄｐｉといった高解像度でのスキャンが指示されることは稀であり、大抵の場合、２００ｄｐｉ〜３００ｄｐｉといった比較的低い解像度が指定されることが多い。解像度が６００ｄｐｉ程度になると、スキャンによって得られた画像データのデータサイズが著しく大きくなり、実用に向かないからである。このように原稿画像が低解像度でスキャンされ、そのスキャン画像がさらに縮小されて利用されるような場合、原稿に埋め込まれていた２次元コードはほとんど解読することができなくなる。更にこの場合、画像として出力した２次元コードをスキャンして初めて解読不能であることが分かるため、例えば２次元コードを含む画像ファイルが電子メールで配布され、オリジナルの原稿をすぐに入手できない場合や、オリジナルの原稿が既に廃棄されていた場合などには、著しく利便性を損なう。一方、２次元コードを認識可能な最低解像度がどの程度であるかを操作者が正確に把握することは困難であり、この問題を回避するためには常に高解像度で原稿をスキャンしなければならないことになる。そのため必要以上の解像度でスキャンすることが多くなり、これによって、記憶リソースを無駄に浪費したり、スキャン画像のデータサイズが大きすぎてメールに添付できないといった２次的な問題が生じてしまう。
【０００６】
また、例えば原稿を拡大して複写する場合、その原稿に含まれる２次元コードも拡大されてしまう。２次元コードが拡大されると、例えば携帯電話機でその２次元コードを読み取る場合、２次元コードから相当離れた位置から携帯電話機のデジタルカメラで撮影しなければならず、煩雑である。さらに撮影時のピンぼけや光量不足の問題で２次元コードの認識精度が低下する虞も十分ある。
【０００７】
本発明は上述した背景に鑑みてなされたものであり、その目的は、２次元コードなどのコード画像を含む原稿をスキャン或いは複写する際にそのコード画像の劣化を防止することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、画像読取手段によって或る解像度で読み取られた画像から、図形パターンによって情報を表現したコード画像を抽出するコード画像抽出手段と、前記コード画像抽出手段によって抽出されたコード画像を解読して前記情報を得る解読手段と、所定の解像度を記憶する解像度記憶手段と、前記画像読取手段が画像を前記或る解像度で画像を読み取ってから出力するときの解像度を指定する解像度指定手段と、前記画像読取手段によって前記或る解像度で読み取られた画像において、前記コード画像の所定範囲内に存在する余白領域を抽出する余白領域抽出手段と、前記解読手段によって得られた前記情報を図形パターンによって表現したコード画像を生成するコード再生成手段と、前記画像読取手段によって前記或る解像度で読み取られた画像に含まれていたコード画像を消去し、前記コード再生成手段によって生成されたコード画像を、前記画像読取手段が前記解像度指定手段によって指定された解像度で出力した画像に合成する合成手段であって、前記解像度指定手段によって指定された解像度が前記解像度記憶手段に記憶された解像度よりも低い場合には、前記余白領域抽出手段によって抽出された余白領域の位置に、前記コード再生成手段によって生成されたコード画像を前記解像度記憶手段に記憶された解像度に相当する画素数になるように再生成して、前記合成を行う合成手段と、前記合成手段によってコード画像が合成された画像を表す画像データを出力する出力手段と
を備えることを特徴とする画像処理装置を提供する。
【０００９】
また、本発明は、コンピュータに、画像読取手段によって或る解像度で読み取られた画像から、図形パターンによって情報を表現したコード画像を抽出するコード画像抽出機能と、前記コード画像抽出機能によって抽出されたコード画像を解読して前記情報を得る機能と、所定の解像度を記憶手段に記憶させる機能と、前記画像読取手段が画像を前記或る解像度で画像を読み取ってから出力するときの解像度を指定する解像度指定機能と、前記画像読取手段によって前記或る解像度で読み取られた画像において、前記コード画像の所定範囲内に存在する余白領域を抽出する余白領域抽出機能と、前記解読によって得られた前記情報を図形パターンによって表現したコード画像を生成するコード再生成機能と、前記画像読取手段によって前記或る解像度で読み取られた画像に含まれていた前記コード画像を消去し、前記コード再生成機能によって生成されたコード画像を、前記画像読取手段が前記解像度指定機能によって指定された解像度で出力した画像に合成する機能であって、前記解像度指定機能によって指された解像度が前記記憶手段に記憶された解像度よりも低い場合には、前記余白領域抽定出機能によって抽出された余白領域の位置に、前記コード再生成機能によって生成されたコード画像を前記記憶手段に記憶された解像度に相当する画素数になるように再生成して、前記合成を行う機能と、前記コード画像が合成された画像を表す画像データを出力する機能とを実現させるプログラムを提供する。
【発明を実施するための最良の形態】
【００１０】
以下、本発明に関する実施形態について図面を参照しながら説明する。本実施形態で「２次元コード画像」とは、各種の図形パターンによって情報を表現したコード画像を意味しており、例えばＱＲコード、ＰＤＦ４１７、Data Matrix、Maxi Codeのほか、バーコードも含むものとする。
【００１１】
（１）実施形態の説明
図１は、本実施形態に係る画像処理装置１０の構成の一例を示すブロック図である。この画像処理装置１０は、スキャナ装置やプリンタ装置などの複数の装置を備えた複合機に内蔵されている。画像処理装置１０は、図１に示すように、ＣＣＤ等によって原稿上の像を読み取って画像信号を出力するスキャナ部１と、各種キーやタッチパネル等を備えた操作部２と、各種のデータや制御プログラムを記憶するための記憶部３と、ワークメモリとして機能するメモリ４と、この画像処理装置１０の全体を制御するＣＰＵ５と、液晶ディスプレイ装置のような表示部６と、各種の画像処理を行うためのＡＳＩＣ（Application Specific Integrated Circuit）等が実現する各処理ブロックによって構成された画像処理部７と、用紙に画像を形成する画像形成部８とを備えている。
【００１２】
図２は画像処理装置１０の動作を説明する図である。
ステップＳ０はスキャナ部１によって実行され、ステップＳ１〜Ｓ３、Ｓ５〜Ｓ７，Ｓ１０、Ｓ１１は画像処理部によって実行され、ステップＳ４、Ｓ８、Ｓ９はＣＰＵによって実行され、ステップＳ１２は画像形成部８によって実行される。以下の説明において処理対象となる原稿を図３の原稿Ｄ１とする。この原稿Ｄ１には、文字のほかに、２次元コード画像Ｃ１が含まれている。また、２次元コード画像Ｃ１の周囲には、２次元コード画像を読み取り安くするために、少なくとも所定幅以上の余白領域Ｂ１が設けられている。
【００１３】
利用者はまず原稿Ｄをスキャナ部１にセットし、操作部２を用いて原稿の読み取りを指示する。この操作に応じて、ＣＰＵ５は、記憶部３から制御プログラムを読み出してメモリ４にロードし、このプログラムに記述された手順に従って処理を開始する。まず、ＣＰＵ５はスキャナ部１に原稿の読み取りを指示する。スキャナ部１は、この指示に応じて、セットされた原稿に光を照射し、その原稿の像を光学的に読み取って画像信号Ｒ，Ｇ，Ｂを生成し、画像処理部７の前段処理ブロックに供給する（ステップＳ０）。
【００１４】
画像処理部７の前段処理ブロックは、この画像信号Ｒ，Ｇ，Ｂに対して前段処理を行って画像データＬ，ａ，ｂを生成する（ステップＳ１）。この前段処理には、ＥＮＬ補正や、色空間ＲＧＢから色空間Ｌａｂへの色変換処理が含まれている。前段処理を経た画像データは、メモリ４に記憶される（ステップＳ２）。
【００１５】
一方、上述したステップＳ１からステップＳ２へと続く処理と並行して、前段処理を経て生成された画像データＬ，ａ，ｂのうちの画像データＬに基づいて以下のような処理がなされる。画像処理部７のコード抽出ブロックは、画像データＬから２次元コード画像を抽出する（ステップＳ３）。例えば原稿上で２次元コード画像が配置される位置が予め決まっているような場合は、画像処理部７のコード抽出ブロックはその位置から２次元コード画像を抽出すればよい。また、原稿上で２次元コード画像が配置される位置が決まっていないような場合であっても、画像の中から２次元コード画像を認識してそれを抽出する技術が既にあるので、画像処理部７のコード抽出ブロックはその技術用いて２次元コード画像を抽出すればよい。画像処理部７のコード抽出ブロックは、抽出した２次元コード画像を囲む矩形の位置座標（原稿画像における位置座標）をＣＰＵ５に通知する。なお、複数の２次元コード画像が抽出された場合は、画像処理部７のコード抽出ブロックは、それぞれの２次元コード画像を囲む矩形の位置座標をＣＰＵ５に通知すればよい。
【００１６】
前段処理を経て生成された画像データＬ，ａ，ｂのうちの画像データＬは、ＣＰＵ５に対しても供給される。ＣＰＵ５は、画像処理部７のコード抽出ブロックから通知された位置座標に基づき、上記画像データＬが表す画像から２次元コード画像を抽出する。そして、抽出した２次元コード画像を所定のコード解読アルゴリズムに従って解読し、２次元コード画像が表していた情報（例えばＵＲＬなど）を得る（ステップＳ４）。これと同時に、ＣＰＵ５は、画像処理部７のコード抽出ブロックから通知されていた位置座標を、画像処理部７のコード消去ブロックに通知する。画像処理部７のコード消去ブロックは、画像データＬ，ａ，ｂが表す画像から、通知された位置座標が表す矩形内の画像を消去する（ステップＳ５）。このときに具体的な消去方法は特に問わないが、例えば２次元コード画像の暗部（図形パターンが存在する領域部分）の周囲に存在する画素（つまり背景部分）の濃度平均値で、その暗部の画素値を置き換える等の方法が考えられる。これによって、図３の原稿Ｄ１の画像は、原稿画像Ｄ２となる。次に、画像処理部７の後段処理ブロックは、メモリ４に記憶された画像データＬ，ａ，ｂに対して後段処理を実行する（ステップＳ６）。この後段処理には、エッジ検出処理や、その検出結果に応じてフィルタを選択する処理や、拡大縮小処理や、色空間Ｌａｂから色空間ＹＭＣＫへの色変換処理や、階調補正処理などが含まれている。そして、画像処理部７のスクリーン処理ブロックは、２次元コード画像が消去された画像データに対して、誤差拡散やディザ処理などのスクリーン処理を実行する（ステップＳ７）。
【００１７】
一方、ＣＰＵ５は、ステップＳ４の解読処理によって得られた情報を符号化する（ステップＳ８）。具体的には、２次元コード画像を構成する各図形モジュールにはそれぞれ型番が付されているから、ＣＰＵ５は、その情報を表すのに必要なサイズの図形モジュールに付された型番を用いて、情報を符号化する。次に、ＣＰＵ５は、符号化によって得られた型番の図形モジュールを用いて２次元コード画像を生成する（ステップＳ９）。そして、ＣＰＵ５は、生成した２次元コード画像と、画像処理部７のコード抽出ブロックから通知されていた位置座標とを、画像処理部７の合成ブロックに供給する。
【００１８】
画像処理部７の合成ブロックは、ＣＰＵ５から供給されたコード画像を、スクリーン処理を経た画像データと合成する（ステップＳ１０）。これにより、図３の画像Ｄ２に２次元コード画像Ｃ２が付加された原稿画像Ｄ３を得ることができる。具体的な合成方法としては、例えば、２次元コード画像の暗部のみを２次元コード画像が消去された画像に付加するとか、暗部と明部の双方を２次元コード画像が消去された画像に付加するといった方法がある。暗部及び明部を付加する方が、コード消去ブロックによって２次元コード画像が消去された画像の背景領域の色が消去されることになるため、暗部と明部のコントラストが明確になり、認識精度が向上する。そして、この合成処理によって得られた画像データはメモリ４にバッファリングされる（ステップＳ１１）。バッファリングされた画像データは、適切なプロセス形成タイミングで読み出されて画像形成部８に出力され、画像形成部８は、この画像データに基づく画像形成プロセスを実行する（ステップＳ１２）。
【００１９】
以上説明したように、スキャナ部１によって読み取られた画像から２次元コード画像を抽出し、抽出された２次元コード画像を解読して得られた情報を表す２次元コード画像を再生成し、スキャナ部１によって読み取られた画像に含まれていた２次元コード画像を消去してから、その画像に対して、再生成した２次元コード画像を合成する。再生成した２次元コード画像においては画像品質の劣化がほとんど生じないから、例えば世代コピーを行ったとしても、２次元コード画像に対して高い認識精度を実現することができ、その２次元コード画像が表す情報の内容を維持することが可能となる。
このように、２次元コード画像の情報は失われる虞がないので、例えば写真画像と２次元コード画像が混在した原稿を複写する場合であっても、ユーザは２次元コード画像を正確に複写することができるかどうかといったことを心配する必要がなく、通常のコピーをする感覚で画像の内容に従って、文字優先か絵柄優先かといった画質モードを選択することができる。つまり、ユーザにとって手馴れた操作手順で画質モードを選択するだけで、２次元コード画像の認識精度を下げることなく、通常のコピーと同様の画質を得ることができる。
【００２０】
（２）変形例
上述した実施形態を次のように変形してもよい。
（２−１）変形例１
例えば上記実施形態をスキャナ装置に応用した場合は次のようになる。スキャナ装置に対しては６００ｄｐｉといった高解像度でのスキャンが指示されることは稀であり、大抵の場合、２００ｄｐｉ〜３００ｄｐｉといった比較的低い解像度が指定されることが多い。解像度が６００ｄｐｉ程度になると、スキャンによって得られた画像データのデータサイズが著しく大きくなり、実用に向かないからである。この場合、スキャナ装置の読み取り解像度自体は変化せず、スキャナ装置は６００ｄｐｉで読み取った画像を指定された解像度に変換して出力する。一方、そのスキャナ装置で読み込んだ画像を６００ｄｐｉで用紙に形成するというケースは少なくない。画像形成時のデータ量が増加したとしてもユーザの利便性が悪くなるということはないからである。
【００２１】
例えば図４の矢印Ａに示すように、スキャナ部１が画像読取時に高解像度（６００ｄｐｉ）で読み取って出力した画像を高解像度（６００ｄｐｉ）で画像形成した場合は、画質は劣化しないから、最終的に形成された画像に含まれる２次元コード画像Ｃ１０を認識することは可能である。これに対し、矢印Ｂに示すように、スキャナ部１が読み取った画像を低解像度（３００ｄｐｉ）に変換してから、それを高解像度（６００ｄｐｉ）で画像形成したとしても、その画質はスキャナ部１からの出力解像度（３００ｄｐｉ）に依存するから、その２次元コード画像Ｃ２０’の認識精度は３００ｄｐｉ相当となり、認識できない虞がある。
【００２２】
そこで次のようにすればよい。
記憶部３には、２次元コード画像を認識可能な最低の解像度（ここでは６００ｄｐｉとする）を予め記憶させておく。この解像度は、一般的なスキャナ装置の性能や画像形成装置の性能から、画像形成後の２次元コード画像をスキャナ装置で認識可能な最低の解像度として予め求められている値である。そして、ユーザが、スキャナ部１が読み取った画像を出力する際の解像度（以下、出力解像度と呼び、例えば３００ｄｐｉ）を操作部２によって指定する。スキャナ部１は予め決められた解像度（６００ｄｐｉ）で画像を読み取り、その画像の解像度を上記の出力解像度（３００ｄｐｉ）に変換して出力する。画像処理部７の抽出ブロックは、スキャナ部１によって読み取られた画像から、６００ｄｐｉ相当の２次元コード画像Ｃ２０を抽出すると共に、その２次元コード画像Ｃ２０の周囲の余白領域Ｂ２０も抽出する。そして、ＣＰＵ５は、ユーザが操作部２によって指定した解像度が、記憶部３に記憶された解像度よりも低い場合には、その旨を画像処理部７の合成ブロックに通知する。合成ブロックは、抽出ブロックによって抽出された余白領域Ｂ２０”（上記解像度変換後の領域）の位置に、記憶部３に記憶された解像度（６００ｄｐｉ）に相当する画素数となるように再生成した２次元コード画像Ｃ２０”を配置する。このとき、２次元コード画像Ｃ２０”以外の画像は指定解像度（３００ｄｐｉ）に相当する画素数のままである。このようにすることで、図４の矢印Ｃに示すように、スキャナ部１の出力解像度が３００ｄｐｉの場合であっても、２次元コード画像を認識可能な最低の解像度（６００ｄｐｉ）に相当する分解能の２次元コード画像Ｃ２０”を形成することができる。よって、２次元コード画像の認識精度を維持することができる。
【００２３】
（２−２）変形例２
また、例えば原稿を拡大して複写する場合、その原稿に含まれる２次元コードも拡大してしまうと、その２次元コードを読み取る時の作業が繁雑となる。また、原稿を縮小して複写する場合、その原稿に含まれる２次元コードも縮小してしまうと、その２次元コードの認識精度が低下してしまう。そこで、次のようにすればよい。
ユーザは操作部２を用いて画像を複写する際の縮小倍率又は拡大倍率を指定する。画像処理部の抽出ブロックは、スキャナ部１によって読み取られた画像から、２次元コード画像を抽出すると共に、その２次元コード画像の周囲の余白領域も抽出する。画像処理部の合成ブロックは、スキャナ部１によって読み取られた画像に含まれていた２次元コード画像が消去された後の画像については、指定された倍率で縮小又は拡大する。一方、抽出ブロックによって抽出された余白領域の位置には、ＣＰＵ５によって生成された２次元コード画像を、縮小又は拡大することなく（つまり画像読み取り前の画像と同じサイズで）合成する。このようにすれば、２次元コード画像の認識精度を維持することができる。
【００２４】
（２−３）変形例３
ところが、特に縮小して複写する場合、縮小後の画像における２次元コード画像の余白領域内に、縮小前と同サイズの２次元コード画像が収まりきれない場合がある。この場合、ＣＰＵ５は、抽出ブロックによって抽出された余白領域に、生成した２次元コード画像が収まるか否かを判断する。収まりきれない場合、画像処理部７の合成ブロックは、スキャナ部１によって読み取られた画像に含まれていた２次元コード画像が消去された後の画像については、指定された倍率で縮小又は拡大する。そして、合成ブロックは、ＣＰＵ５によって生成された２次元コード画像が余白領域に収まる程度で、かつ、指定された縮小倍率よりもできるだけ大きい縮小倍率で（つまりできるだけ縮小せずに）、２次元コード画像を余白領域に配置する。このようにすれば、２次元コード画像の認識精度をできる限り高い状態で維持することができる。
【００２５】
（２−４）変形例４
また、上記のように縮小後の余白領域内に、縮小前と同サイズの２次元コード画像が収まりきれない場合には、ＣＰＵ５は、スキャナ部１によって読み取られた画像を表示部６に表示し、当該画像上で２次元コード画像を合成する位置をユーザに指定するように促すメッセージを表示する。ユーザは、表示された画像上に或る程度の大きさの余白部分がある場合には、その部分を指定して２次元コード画像を配置するように指示する。画像処理部７の合成ブロックは、指定された位置に２次元コード画像を余白領域に配置して合成する。また、ＣＰＵ５は、縮小後の余白領域内に、縮小前と同サイズの２次元コード画像が収まりきれないと判断した場合には、表示部６にその旨を表示するなどの報知を行い、さらに、複写時の縮小倍率をユーザに再度指定し直すように促すメッセージを表示部６に表示するようにしてもよい。ユーザが縮小倍率を指定し直すと、その指定された縮小倍率に基づいて上記のような処理が再びなされる。
【００２６】
（２−５）変形例５
なお、上記のように縮小後の余白領域内に、縮小前と同サイズの２次元コード画像が収まりきれない場合でなくても、ユーザが２次元コード画像の合成位置を指定できるようにしてもよい。つまり、ＣＰＵ５は、スキャナ部１によって読み取られた画像を表示部６に表示し、当該画像上で２次元コード画像を合成する位置をユーザに指定するように促すメッセージを表示する。ユーザは、表示された画像上に或る程度の大きさの余白部分がある場合には、その部分を指定して２次元コード画像を配置するように指示する。画像処理部７の合成ブロックは、指定された位置に２次元コード画像を余白領域に配置して合成する。
【００２７】
（２−６）変形例６
例えばＰＤＦ（Portable Document Format）のようなドキュメントファイルのフォーマット規格では、ステンシルマスクと呼ばれるような、階層構造を有する画像データを規定したものがある。この画像データには、画像オブジェクトの各々に対応した階層単位で画像データが分離されている。例えば図５に示すように、原稿画像Ｍは、画像中央の図形オブジェクトに対応した画像データｍ１と、テキストオブジェクトに対応した画像データｍ２と、２次元コード画像オブジェクトに対応した画像データｍ３とに階層的に分離されている。このような階層構造を有する画像データに対して本発明を適用する場合には次のようにすればよい。
【００２８】
まず、記憶部３には、２次元コード画像に含まれる１つの図形モジュールの複数のサイズと、それに対応する解像度とを関連づけて記憶させておく。図形モジュールのサイズによって、その図形モジュールからなる２次元コード画像の認識に必要な解像度のレベルがおおよそ決まっているからである。ユーザは操作部２を用いて、画像処理装置１０が出力する画像データの解像度を指定する（以下、指定解像度という）。ＣＰＵ５は、スキャナ部１が読み取った画像から、画像オブジェクトを抽出し、それぞれの画像オブジェクトに対応した階層を有する画像データを生成する。そして、ＣＰＵ５は、画像処理部７の抽出ブロックによって抽出された２次元コード画像に含まれる１つの図形モジュールのサイズを特定する。そして、ＣＰＵ５は、特定したサイズと関連づけて記憶部に記憶されている解像度を読み出し、上記の指定解像度と比較する。そして、画像処理部７の合成ブロックは、指定解像度が記憶部３から読み出された解像度よりも低い場合、ＣＰＵ５が生成した画像データにおいて２次元コード画像に対応した階層の画像データを、記憶部３から読み出された解像度で生成する。そして、この２次元コード画像に対応した階層の画像データを、他の階層の画像データと合成する。このとき、２次元コード画像を含まない階層の画像データは、指定解像度に変換される。このようにすれば、階層構造を有する画像データに対しても本発明を適用することが可能となる。
【００２９】
（２−７）変形例７
なお、ＣＰＵ５が実行するプログラムは、コンピュータによって読み取り可能な磁気記録媒体、光記録媒体あるいはＲＯＭなどの記録媒体に記録して画像処理装置１０に提供することができる。また、インターネットのようなネットワーク経由で画像処理装置１０にダウンロードさせることも可能である。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態である画像処理装置の構成の一例を示すブロック図である。
【図２】同実施形態に係る画像処理装置の実行手順を示す図である。
【図３】同実施形態に係る画像処理装置における処理の過程を説明する図である。
【図４】同実施形態に係る画像処理装置における処理の過程を説明する図である。
【図５】変形例に係る画像処理装置における処理の過程を説明する図である。
【符号の説明】
【００３１】
１…スキャナ部、２…操作部、３…記憶部、４…メモリ、５…ＣＰＵ、６…表示部、７…画像処理部、８…画像形成部。
【図１】
0004661580.tif 000002
【図２】
0004661580.tif 000003
【図３】
0004661580.tif 000004
【図４】
0004661580.tif 000005
【図５】
0004661580.tif 000006