(57)【要約】【課題】本発明の課題は、２次元コードを再印刷する処理において、処理時間の低減し、印刷画像を見栄えよくすることである。 【解決手段】上記課題を解決するために、本発明に係る画像形成装置は、正対していない２次元コードに接する外接矩形領域の座標を算出する算出手段と、算出手段で算出された外接矩形領域の座標により指定される外接矩形領域内に、正対していない２次元コードの代わりに、正対した２次元コードを配置する配置手段とを備えたことを特徴とする。【選択図】図４
2010028309.tif 000002
【特許請求の範囲】
【請求項１】
正対していない２次元コードに接する外接矩形領域の座標を算出する算出手段と、
前記算出手段で算出された外接矩形領域の座標により指定される外接矩形領域内に、前記正対していない２次元コードの代わりに、正対した２次元コードを配置する配置手段とを備えたことを特徴とする画像形成装置。
【請求項２】
正対していない２次元コードに接する外接矩形領域の座標を算出する算出手段と、
前記算出手段で算出された外接矩形領域の座標に基づく領域内に、前記正対していない２次元コードの代わりに、正対した２次元コードを配置する配置手段とを備えたことを特徴とする画像形成装置。
【請求項３】
前記配置手段は、前記外接矩形領域内の前記正対した２次元コード以外の領域における各画素の画素値を決めるにあたって、外接矩形領域内の前記正対していない２次元コード以外の領域における各画素の画素値を算出することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
画像データ内の第１の２次元コードを検知する検知手段と、
前記第１の２次元コードを復号化する復号化手段と、
前記復号化手段で得られた情報を用いて第２の２次元コードに符号化する符号化手段と、
前記第２の２次元コードを印刷画像に合成する合成手段とを備え、
前記合成手段は、前記第１の２次元コードの外接矩形領域内の画素の一部もしくは全てを前記画像データ内の対応する画素とは異なる画素で置換し、前記第１の２次元コードの外接矩形領域の中心座標に第２の２次元コードを回転させずに合成することを特徴とする画像形成装置。
【請求項５】
前記合成手段は、前記第１の２次元コードの外接矩形領域を白画素に置換し、前記外接矩形領域の中心座標に前記第２の２次元コードを合成することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記合成手段は、前記第１の２次元コードの外接矩形領域内の画素の画素値を、前記画素値を平均した値で置換し、前記外接矩形領域の中心座標に前記第２の２次元コードを合成することを特徴とする請求項４に記載の画像形成装置。
【請求項７】
前記合成手段は、前記第１の２次元コードの外接矩形領域の中心座標に前記第２の２次元コードを合成し、前記外接矩形領域に含まれる前記第１の２次元コードの領域のうち前記第２の２次元コードが合成されない領域に対して、前記第１の２次元コードの前記合成されない領域の近傍画素を合成することを特徴とする請求項４に記載の画像形成装置。
【請求項８】
前記合成手段は、前記第１の２次元コードの回転角が予め設定した閾値より大きいかどうかを判定し、前記第１の２次元コードの回転角が予め設定した回転角閾値より大きい場合に、前記第２の２次元コードを前記回転角だけ回転して前記外接矩形領域の中心座標に合成し、前記回転角閾値以下の場合に、前記第２の２次元コードを回転せずに前記外接矩形領域の中心座標に合成することを特徴とする請求項４に記載の画像形成装置。
【請求項９】
正対していない２次元コードに接する外接矩形領域の座標を算出する算出ステップと、
前記算出ステップで算出された外接矩形領域の座標により指定される外接矩形領域内に、前記正対していない２次元コードの代わりに、正対した２次元コードを配置する配置ステップとを備えたことを特徴とする画像形成方法。
【請求項１０】
正対していない２次元コードに接する外接矩形領域の座標を算出する算出ステップと、
前記算出ステップで算出された外接矩形領域の座標に基づく領域内に、前記正対していない２次元コードの代わりに、正対した２次元コードを配置する配置ステップとを備えたことを特徴とする画像形成方法。
【請求項１１】
前記配置ステップは、前記外接矩形領域内の前記正対した２次元コード以外の領域における各画素の画素値を決めるにあたって、外接矩形領域内の前記正対していない２次元コード以外の領域における各画素の画素値を算出することを特徴とする請求項９に記載の画像形成方法。
【請求項１２】
画像データ内の第１の２次元コードを検知する検知ステップと、
前記第１の２次元コードを復号化する復号化ステップと、
前記復号化ステップで得られた情報を用いて第２の２次元コードに符号化する符号化ステップと、
前記第２の２次元コードを印刷画像に合成する合成ステップとを備え、
前記合成ステップは、前記第１の２次元コードの外接矩形領域内の画素の一部もしくは全てを前記画像データ内の対応する画素とは異なる画素で置換し、前記第１の２次元コードの外接矩形領域の中心座標に第２の２次元コードを回転させずに合成することを特徴とする画像形成方法。
【請求項１３】
前記合成ステップは、前記第１の２次元コードの外接矩形領域を白画素に置換し、前記外接矩形領域の中心座標に前記第２の２次元コードを合成することを特徴とする請求項１２に記載の画像形成方法。
【請求項１４】
前記合成ステップは、前記第１の２次元コードの外接矩形領域内の画素の画素値を、前記画素値を平均した値で置換し、前記外接矩形領域の中心座標に前記第２の２次元コードを合成することを特徴とする請求項１２に記載の画像形成方法。
【請求項１５】
前記合成ステップは、前記第１の２次元コードの外接矩形領域の中心座標に前記第２の２次元コードを合成し、前記外接矩形領域に含まれる前記第１の２次元コードの領域のうち前記第２の２次元コードが合成されない領域に対して、前記第１の２次元コードの前記合成されない領域の近傍画素を合成することを特徴とする請求項１２に記載の画像形成方法。
【請求項１６】
前記合成ステップは、前記第１の２次元コードの回転角が予め設定した閾値より大きいかどうかを判定し、前記第１の２次元コードの回転角が予め設定した回転角閾値より大きい場合に、前記第２の２次元コードを前記回転角だけ回転して前記外接矩形領域の中心座標に合成し、前記回転角閾値以下の場合に、前記第２の２次元コードを回転せずに前記外接矩形領域の中心座標に合成することを特徴とする請求項１２に記載の画像形成方法。
【請求項１７】
請求項９乃至１６のいずれかに記載の画像形成方法をコンピュータに実行させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元コードを取り扱うことができる画像形成装置、画像形成方法、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
従来、特定の情報をＱＲコード（登録商標）に代表される２次元コードに符号化して用紙に印刷する画像形成装置がある。そのような画像形成装置においては、２次元コードが印刷されている原稿を画像形成装置のスキャナで読み取り、２次元コードを復号化して情報を抽出することができる。
【０００３】
さらに、抽出して得られた情報を変更して再び２次元コード化して用紙に再印刷することができる。再印刷する際の印刷位置に関して、従来技術では、原稿中の２次元コードと同じ位置（座標、角度）に印刷することが知られている。
【０００４】
例えば、スキャナで読取る原稿中の画像が図５のような画像であり、その画像中の２次元コード５０１が回転している場合には、その画像を、従来技術を用いて、複写する場合には、複写物上でもやはり図５のような画像が得られる。この場合、複写物上でも、図５に示されているように、２次元コード５０１が回転したままである。
【０００５】
例えば、特許文献１の技術では、原稿中の２次元コードの検知時に、２次元コードの回転角を記憶装置に格納する。そして、再印刷する際に、２次元コードを、２次元コードの検知時に記憶装置に格納された回転角度で回転させて、原稿中の２次元コードと同じ座標に印刷することができる。２次元コードを回転させて再印刷すると、再印刷する２次元コードを原稿中の２次元コードに重ねることができるので２次元コードが印刷された用紙の見栄えがよくなるという効果がある。
【０００６】
また、従来の画像形成装置は、コピー機能やネットワーク印刷機能、ＦＡＸ送信機能のような複数の機能を有しており、かつ、それらの機能を平行処理することができる。そして、各機能でビットマップ画像の回転処理をソフトウェアもしくはハードウェアで行うことができる。
【０００７】
【特許文献１】特開２００６−２０３６６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、再印刷する２次元コードを回転させると、次のような問題がある。すなわち、回転処理を行う場合、２次元コードを印刷する処理時間が増加する。
【０００９】
本発明は、上記課題を解決するためになされたものであり、２次元コードを再印刷する処理において、処理時間を低減し、印刷画像を見栄えよくすることができる画像形成装置、画像形成方法、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る画像形成装置は、正対していない２次元コードに接する外接矩形領域の座標を算出する算出手段と、算出手段で算出された外接矩形領域の座標により指定される外接矩形領域内に、正対していない２次元コードの代わりに、正対した２次元コードを配置する配置手段とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、２次元コードを再印刷する処理において、処理時間の低減し、印刷画像を見栄えよくすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。  
【００１３】
（第１の実施形態）
図１は、本発明の実施形態に係るシステムの一例を示すブロック図である。図１のシステムでは、ホストコンピュータ（以下、ＰＣと称する）４０及び３台の画像形成装置１０、２０、３０がＬＡＮ５０に接続されている。
【００１４】
本発明の実施形態に係るシステムにおいては、ＬＡＮ５０へのＰＣや画像形成装置の接続台数は、図１に示されている数に限られることはない。また、本実施形態では、接続方法としてＬＡＮを用いているが、これに限られることはない。例えば、本実施形態において、接続方法として、ＷＡＮ（公衆回線）のような任意のネットワーク、ＵＳＢのようなシリアル伝送方式、セントロニクスやＳＣＳＩのようなパラレル伝送方式を用いても良い。
【００１５】
ＰＣ４０は、パーソナルコンピュータの機能を有している。ＰＣ４０は、ＬＡＮ５０やＷＡＮを介してＦＴＰやＳＭＢプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。また、ＰＣ４０から画像形成装置１０、２０、３０に対して、プリンタドライバを介した印刷命令を行うことができる。
【００１６】
画像形成装置１０と画像形成装置２０は、同じ構成を有する装置である。画像形成装置３０は、印刷機能のみの画像形成装置であり、画像形成装置１０や２０が有するスキャナ部を有していない。以下では、説明の簡単のために、画像形成装置１０、２０のうちの画像形成装置１０に注目して、その構成を詳細に説明する。
【００１７】
画像形成装置１０は、画像入力デバイスであるスキャナ部１３、画像出力デバイスであるプリンタ部１４、画像形成装置１０全体の動作制御を司るコントローラユニット１１、ユーザインターフェース（ＵＩ）である操作部１２を有する。
【００１８】
画像形成装置２０は、画像入力デバイスであるスキャナ部２３、画像出力デバイスであるプリンタ部２４、画像形成装置２０全体の動作制御を司るコントローラユニット２１、ユーザインターフェース（ＵＩ）である操作部２２を有する。
【００１９】
画像形成装置３０は、画像出力デバイスであるプリンタ部３３、画像形成装置３０全体の動作制御を司るコントローラユニット３１、ユーザインターフェース（ＵＩ）である操作部３２を有する。
【００２０】
図２は、画像形成装置１０の外観を示す図である。スキャナ部１３は、原稿上の画像を露光走査して得られた反射光をＣＣＤに入力することで画像の情報を電気信号に変換する。スキャナ部１３は、さらに電気信号をＲ，Ｇ，Ｂ各色からなる輝度信号に変換し、輝度信号を画像データとしてコントローラユニット１１に対して出力する。
【００２１】
なお、原稿は原稿フィーダ２０１のトレイ２０２にセットされる。ユーザが操作部１２から読み取り開始を指示すると、コントローラユニット１１からスキャナ部１３に原稿読み取り指示が与えられる。スキャナ部１３は、コントローラユニット１１から指示を受けると、原稿フィーダ２０１のトレイ２０２から原稿を１枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダ２０１による自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
【００２２】
プリンタ部１４は、コントローラユニット１１から受取った画像データを用紙上に形成する画像形成デバイスである。なお、本実施形態において、画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式となっているが、本発明はこれに限られることはない。例えば、微少ノズルアレイからインクを吐出して用紙上に印刷するインクジェット方式を適用できる。また、プリンタ部１４には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット２０３、２０４、２０５が設けられている。排紙トレイ２０６には後処理を行わない印刷後の用紙が排出される。後処理部２０７は、後処理を行う印刷後の用紙が排出される。後処理として、排出された用紙に対してステイプル止めやパンチ穴開け、裁断を行う。
【００２３】
図３は、画像形成装置１０のコントローラユニット１１をより詳細に説明するためのブロック図である。
【００２４】
コントローラユニット１１は、スキャナ部１３やプリンタ部１４と電気的に接続されており、一方ではＬＡＮ５０やＷＡＮ３３１を介してＰＣ４０のような外部の装置と接続されている。これにより、コントローラユニット１１への画像データやデバイス情報の入出力が可能となっている。
【００２５】
ＣＰＵ３０１は、ＲＯＭ３０３に格納された制御プログラムに基づいて接続中のデバイスとのアクセスを統括的に制御すると共に、コントローラユニット１１の内部で行われる各種処理についても統括的に制御する。
【００２６】
ＲＡＭ３０２は、ＣＰＵ３０１が動作するためのシステムワークメモリであり、かつ画像データを一時的に格納するためのメモリでもある。ＲＡＭ３０２は、格納された内容を電源ｏｆｆ後も保持しておくＳＲＡＭ及び電源ｏｆｆ後には格納された内容が消去されてしまうＤＲＡＭにより構成されている。ＲＯＭ３０３には装置のブートプログラムが格納されている。ＨＤＤ３０４は、ハードディスクドライブであり、システムソフトウェアや画像データを格納することができる。
【００２７】
操作部Ｉ／Ｆ３０５は、システムバス３１０と操作部１２とを接続するためのインターフェース部である。操作部Ｉ／Ｆ３０５は、操作部１２に表示するための画像データをシステムバス３１０から受取り操作部１２に出力すると共に、操作部１２から入力された情報をシステムバス３１０へと出力する。
【００２８】
ネットワークＩ／Ｆ３０６は、ＬＡＮ５０及びシステムバス３１０に接続し、情報の入出力を行う。モデム３０７は、ＷＡＮ３３１及びシステムバス３１０に接続しており、情報の入出力を行う。２値画像回転部３０８は、送信前の画像データの方向を変換する。２値多値圧縮・伸張部３０９は、送信前の画像データの解像度を所定の解像度や相手能力に合わせた解像度に変換する。なお、圧縮及び伸張にあたってはＪＢＩＧ、ＭＭＲ、ＭＲ、ＭＨのような方式が用いられる。画像バス３３０は、画像データをやり取りするための伝送路であり、ＰＣＩバス又はＩＥＥＥ１３９４で構成されている。
【００２９】
スキャナ画像処理部３１２は、スキャナ部１３からスキャナＩ／Ｆ３１１を介して受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部３１２は、受取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かを判定する。そして、スキャナ画像処理部３１２は、判定結果を画像データに付随させる。こうした付随情報を属性データと称する。
【００３０】
圧縮部３１３は、画像データを受取り、画像データを圧縮する。伸張部３１６は、画像データを伸張した後にラスタ展開してプリンタ画像処理部３１５に送る。
【００３１】
プリンタ画像処理部３１５は、伸張部３１６から送られた画像データを受取り、この画像データに付随させられている属性データを参照しながら画像データに画像処理を施す。画像処理後の画像データは、プリンタＩ／Ｆ３１４を介してプリンタ部１４に出力される。
【００３２】
画像変換部３１７は、画像データに対して所定の変換処理を施す。画像処理部３１７は、以下に示すような処理部３１８〜３２７により構成される。
【００３３】
伸張部３１８は、受取った画像データを伸張する。圧縮部３１９は、受取った画像データを圧縮する。回転部３２０は、受取った画像データを回転する。変倍部３２１は、受取った画像データに対し解像度変換処理（例えば６００ｄｐｉから２００ｄｐｉ）を行う。色空間変換部３２２は、受取った画像データの色空間を変換する。色空間変換部３２２は、マトリクス又はテーブルを用いて公知の下地飛ばし処理を行ったり、公知のＬＯＧ変換処理（ＲＧＢ→ＣＭＹ）を行ったり、公知の出力色補正処理（ＣＭＹ→ＣＭＹＫ）を行ったりすることができる。２値多値変換部３２３は、受取った２階調の画像データを２５６階調の画像データに変換する。逆に、多値２値変換部３２４は、受取った２５６階調の画像データを誤差拡散処理のような手法により２階調の画像データに変換する。
【００３４】
合成部３２７は、受取った２つの画像データを合成し１枚の画像データを生成する。なお、２つの画像データを合成する際には、合成対象の画素同士が持つ輝度値の平均値を合成輝度値とする方法や、輝度レベルで明るい方の画素の輝度値を合成後の画素の輝度値とする方法が適用される。また、暗い方を合成後の画素とする方法の利用も可能である。さらに合成対象の画素同士の論理和演算、論理積演算、排他的論理和演算で合成後の輝度値を決定する方法も適用可能である。これらの合成方法はいずれも周知の手法である。間引き部３２６は受取った画像データの画素を間引くことで解像度変換を行い、１／２，１／４，１／８の画像データを生成する。移動部３２５は、受取った画像データに余白部分をつけたり余白部分を削除したりする。
【００３５】
ＲＩＰ３２８は、ＰＣ４０から送信されたＰＤＬコードデータを元に生成された中間データを受取り、ビットマップデータ（多値）を生成する。
【００３６】
図４は、本実施形態における２次元コードに関わる処理のフローチャートである。本実施形態において、図５に示すような画像データ５００中の２次元コード５０１が用いられているとして説明する。２次元コードは、文字や数字のような情報を図形パターンとして符号化したものである。
【００３７】
まず、Ｓ１６０１にて、ＣＰＵ３０１は、スキャナ部からスキャナＩ／Ｆ３１１を介して読み取った原稿の画像データを圧縮部３１３で圧縮してＲＡＭ３０２に格納する。
【００３８】
次に、Ｓ１６０２にて、ＣＰＵ３０１は、伸張部３１８で伸張した画像データ内に２次元コードが有るか否かを判定することにより、２次元コードを検知する。本実施形態で用いる２次元コードの検出方法は公知のものを利用可能である。すなわち、ＣＰＵ３０１は、画像データを走査して図６（図５の２次元コード５０１のみを拡大）中の３つの切り出しシンボル５０２を特定することで検知できる。切り出しシンボル５０２は、黒い領域と白い領域の比がどの方向から走査しても１（黒）：１（白）：３（黒）：１（白）：１（黒）となっている。
【００３９】
Ｓ１６０２で、２次元コードが有ると判定された場合は、Ｓ１６０３に処理が進む。Ｓ１６０２で、２次元コードが無いと判定された場合は、Ｓ１６１１に処理が進む。
【００４０】
Ｓ１６０３では、ＣＰＵ３０１は、３つの切り出しシンボルの位置から２次元コードの領域（図８の領域８０１）を算出して、２次元コードの位置をＲＡＭ３０２に格納する。ここで、２次元コードの領域（図８の領域８０１）には、切出しパターンと情報が入った本体の部分と、その周囲の余白部分とが含まれている。
【００４１】
また、Ｓ１６０３で、ＣＰＵ３０１は、２次元コードの回転角を算出してその回転角をＲＡＭ３０２に格納する。ここで、前述の回転角は、Ｓ１６０２で得た画像データの向き（即ち、Ｓ１６０１によって読み取られた原稿のスキャン走査方向）に対して、検知した（即ち、更新前の）２次元コードが時計回りに何度回転しているかを意味するものである。さらに、Ｓ１６０３で、ＣＰＵ３０１は、２次元コードの縦横の長さを算出してＲＡＭ３０２に格納する。なお、縦横の長さとは、２次元コードにおける各辺の長さのことである。
【００４２】
次に、Ｓ１６０４にて、ＣＰＵ３０１は、２次元コードを復号化する。
【００４３】
次に、Ｓ１６０５で、ＣＰＵ３０１は、Ｓ１６０４で２次元コードを復号化して得られた情報をＲＡＭ３０２に格納する。なお、２次元コードを復号化して得られた情報には、例えば、２次元コードを含む原稿を作成したユーザの情報と、２次元コードを含む原稿の作成日時（複写日時）と、２次元コードを含む原稿を作成した画像形成装置の識別情報とが含まれている。
【００４４】
次に、Ｓ１６０６で、ＣＰＵ３０１は、Ｓ１６０５でＲＡＭ３０２に格納した情報を用いて、２次元コードに符号化してＲＡＭ３０２に格納する。即ち、ＣＰＵ３０１は、Ｓ１６０５でＲＡＭ３０２に格納した情報を用いて、新しい正対した２次元コードを作成してＲＡＭ３０２に格納する。これにより、ＣＰＵ３０１は、Ｓ１６０５でＲＡＭ３０２に格納した情報を更新して、２次元コードに符号化し、ＲＡＭ３０２に格納する。
【００４５】
ここで、正対とは、Ｓ１６０２で得た画像データの向き（即ち、Ｓ１６０１によって読み取られた原稿のスキャン走査方向（主走査方向又は副走査方向））に対して、図６に示されている２次元コードの中線６０１が平行に位置するという意味である。
【００４６】
なお、Ｓ１６０６で、ＣＰＵ３０１が作成した、正対した２次元コードを、更新後の２次元コードと称する。また、Ｓ１６０６の処理のように、Ｓ１６０１で検出された２次元コードの代わりとなる新しい正対した２次元コードを作成する処理のことを、２次元コードの更新と称する。
【００４７】
なお、Ｓ１６０６で、ＣＰＵ３０１は、ＲＡＭ３０２に格納した情報をそのまま符号化せず、一部の情報を削除したり、新たな情報を付加したり、変更したりした上で符号化しても良い。
【００４８】
例えば、変更する情報の例として次のようなものがある。更新前の２次元コード内のユーザ情報（原稿を作成したユーザの情報、又はユーザを一意に特定する情報）を、操作部１２から入力されたユーザ情報へ変更する。更新前の２次元コード内の原稿作成日時を複写日時に変更する。更新前の２次元コード内の画像形成装置の識別情報（原稿を作成した画像形成装置の識別情報）を、複写する画像形成装置の識別情報に変更する。
【００４９】
また、本画像形成装置の解像度が低いが故に正対した２次元コードに符号化できる情報の量が少ない場合には、一部の情報が削除されることになる。この場合、優先順位の低い情報（例：原稿作成日時）から順に情報が削除されることになる。
【００５０】
また、本画像形成装置内で追加すべく設定されている情報（例えば、画像形成装置を管理する管理者ユーザの情報）がある場合には、そうした情報が付加されることになる。
【００５１】
次に、Ｓ１６０７にて、ＣＰＵ３０１は、更新前の２次元コードの回転角をＲＡＭ３０２から読み出す。また、ＣＰＵ３０１は、後述の回転角閾値（θ）を計算する。そして、ＣＰＵ３０１は、２次元コードの回転角が回転角閾値より大きいかどうかを判定する。２次元コードの回転角が、回転角閾値以下の場合はＳ１６０８に進み、２次元コードの回転角が、回転角閾値より大きい場合はＳ１６１０に進む。
【００５２】
Ｓ１６０８にて、ＣＰＵ３０１は、画像データから図７に示すような正対していない２次元コードに接する外接矩形領域５０３の座標を算出し、座標をＲＡＭ３０２に格納する。ここで、例えば、外接矩形領域５０３の座標を、外接矩形領域５０３の４点５０５〜５０８の座標として算出することができる。
【００５３】
次に、Ｓ１６０９にて、ＣＰＵ３０１は、外接矩形領域５０３に対してＳ１６０６で更新した２次元コードを合成部３２７で、印刷画像に合成する。Ｓ１６０９の合成の詳細については後述する。Ｓ１６０９は、Ｓ１６０８で算出された外接矩形領域の座標により指定される外接矩形領域内に、正対していない２次元コードの代わりに、正対した２次元コードを配置するための処理である。なお、Ｓ１６０９と同様の処理により、Ｓ１６０８で算出された外接矩形領域の座標に基づく領域内に、正対していない２次元コードの代わりに、正対した２次元コードを配置することもできる。ここで、「外接矩形領域の座標に基づく領域」は、外接矩形領域よりも縦および横共に所定画素（例えば、１画素）ずつ広い領域や、外接矩形領域そのものを含む。
【００５４】
Ｓ１６０９で、ＣＰＵ３０１は、合成後の画像データを圧縮部３１９で圧縮されＲＡＭ３０２に格納する。
【００５５】
Ｓ１６１０では、ＣＰＵ３０１は、Ｓ１６０６で更新した２次元コードを、ＲＡＭ３０２から読み出した回転角分だけ回転して、更新前の２次元コードと同じ座標に合成部３２７で合成する。
【００５６】
ここで、前述の回転角閾値には、外接矩形領域の辺の長さが更新後の正対した２次元コード領域の辺の長さより所定の長さ（２ｍｍ）以下となる回転角が予め設定される。２ｍｍ以内であれば更新後の正対した２次元コードを回転させずに合成しても外観がほとんど変化しないという経験的推測によるものである。ただし、２ｍｍという値は主観によるものであるので必ず２ｍｍに固定するものではない。
【００５７】
本実施形態では、更新前の２次元コードの一辺の長さを Ａ［ｍｍ］とすると（本実施形態で扱う２次元コードは正方形である）、外接矩形領域の一辺の長さは、Ａｓｉｎθ＋Ａｃｏｓθ［ｍｍ］となる。更新後の２次元コードの一辺の長さをＡ［ｍｍ］とし、所定の長さを Ｚ［ｍｍ］とする。回転角閾値（θ）はＡ（ｓｉｎθ＋ｃｏｓθ−１）≦Ｚ を満たす値となる。なお、上述のように、ＣＰＵ３０１は、２次元コードの一辺の長さを、Ｓ１６０３でＲＡＭ３０２に格納している。また、回転角閾値θは、上述の通り、Ｓ１６０７で計算されることになる。
【００５８】
Ｓ１６１１では、ＣＰＵ３０１は、新規に正対した２次元コードを作成する。すなわち、ＣＰＵ３０１は、操作部１２から入力されたユーザ情報や複写日時、複写した画像形成装置の識別情報を符号化し、ＲＡＭ３０２に格納する。
【００５９】
Ｓ１６１２では、ＣＰＵ３０１は、Ｓ１６１１でＲＡＭ３０２に格納した２次元コードを伸張部３１８で伸張した画像データに合成部３２７を用いて合成する。合成位置は例えば画像データの右上や左下のような固定の位置でもよいし、操作部１２から入力される位置であってもよい。ＣＰＵ３０１は、合成後の画像データを圧縮部３１９で圧縮されＲＡＭ３０２に格納する。
【００６０】
Ｓ１６１３では、ＣＰＵ３０１は、Ｓ１６０９もしくはＳ１６１０、Ｓ１６１２にて２次元コードが合成された画像データをＲＡＭ３０２から読み出す。そして、ＣＰＵ３０１は、伸張部３１６で伸張した画像データをプリンタ画像処理部３１５、プリンタＩ／Ｆ３１４を介してプリンタ部１４に送り、プリンタ部１４で印刷する。
【００６１】
次に、Ｓ１６０９の詳細について図を用いて、以下で説明する。
【００６２】
まず、図８は、更新後の２次元コード５０４を、更新前の２次元コード５０１に中心座標が同じで回転せずに合成した場合の外接矩形領域５０３を示している。４つの符合５０５で指定される領域は、２次元コード５０４で上書きされない２次元コード５０１の一部である。以下では、この領域５０５をはみ出し領域と称する。
【００６３】
はみ出し領域５０５は、更新前の２次元コードには含まれていた領域であって、かつ、更新後の２次元コードには含まれていない領域である。そして、図８に示されているように、はみ出し領域は、外接矩形領域５０３に含まれる。
【００６４】
Ｓ１６０９では、ＣＰＵ３０１は、４つのはみ出し領域５０５が、元の原稿の時のまま用紙に印刷されて、印刷画像の見栄えが悪くならないようが制御する。具体的には、ＣＰＵ３０１は、はみ出し領域５０５を含む外接矩形領域の各画素をほかの色に置き換える。これにより、ＣＰＵ３０１は、印刷後に、４つのはみ出し領域５０５が印刷画像の見栄えが悪くするのを防ぐことができる。
【００６５】
図９は、第１の実施形態におけるＳ１６０９の処理のフローチャートを示す図である。
【００６６】
Ｓ１７０１にて、ＣＰＵ３０１は、外接矩形領域５０３内の全画素を他の色の画素（本実施形態では、白画素であるものとして説明を行う）に置換する。この置換により、外設矩形領域５０３の中に存在していた更新前の２次元コードは削除されることになる。
【００６７】
次に、Ｓ１７０２にて、ＣＰＵ３０１は、Ｓ１６０６で更新した２次元コード５０４を、外接矩形領域５０３の中心座標に、２次元コードの中心座標を合わせて合成部３２７で合成する。  
Ｓ１６０９（Ｓ１７０１、Ｓ１７０２）の処理により、２次元コードの外接矩形領域内の画素の一部もしくは全てを画像データ内の対応する画素とは異なる画素で置換し、２次元コードの外接矩形領域の中心座標に２次元コードを回転させずに合成することができる。
【００６８】
図１０（５０３）は、Ｓ１７０２の処理の結果得られる２次元コードの外接矩形領域内を示す図であり、図１１は、Ｓ１７０２の処理の結果得られる画像を示す図である。図１０と図１１に示されているように、本実施形態によれば、更新前の２次元コード５０１を除去し、更新後の２次元コード５０４を画像データの見栄えを損なわずに合成することができる。また、本実施形態によれば、更新後の２次元コードを回転せずに合成するので、処理速度を向上することもできる。
【００６９】
（第２の実施形態）
第２の実施形態と、第１の実施形態との違いは、２次元コードの合成処理手段にある。
【００７０】
第１の実施形態のように、外接矩形領域のうちの２次元コード以外の領域を全て白画素にしてしまうと、外接矩形領域のうちの更新後の２次元コード以外の領域が、外接矩形領域の周囲の領域と大きく色が異なってしまい、美観を損ねる可能性がある。
【００７１】
そこで、本実施形態では、外設矩形領域の周囲の領域と、外接矩形領域のうちの更新後の２次元コード以外の領域の色を似たものとするための処理を行う。
【００７２】
具体的には、元画像データ（Ｓ１６０２で伸張された画像データ）中の「外接矩形領域のうちの更新前の２次元コード以外の領域」の平均的な色を求め、その平均的な色を、「外接矩形領域のうちの更新後の２次元コード以外の領域」の色として用いる。
【００７３】
これにより、更新後の２次元コードを含む画像データ（Ｓ１６１１で得られた画像データ）の色が、更新前の２次元コードを含む画像データの色が全体的に似たものになる。
【００７４】
図１２は、第２の実施形態におけるＳ１６０９のフローチャートを示す図である。
【００７５】
Ｓ１８０１にて、ＣＰＵ３０１は、外接矩形領域５０３に含まれる、更新前の正対していない２次元コード以外の領域の各画素の画素値と、更新前の正対していない２次元コード以外の領域の各画素の画素値の平均値とを算出する。
【００７６】
次に、Ｓ１８０２にて、ＣＰＵ３０１は、外接矩形領域５０３内の各画素の画素値（例：輝度値）を上記の平均値に置換する。この置換により、外設矩形領域５０３の中に存在していた更新前の２次元コードは削除される。なお、Ｓ１８０２において、ＣＰＵ３０１は、外接矩形領域５０３内の正対した２次元コード以外の領域における各画素の画素値を所定の値で置換しても良い。
【００７７】
次に、Ｓ１８０３にて、ＣＰＵ３０１は、Ｓ１６０６で更新した２次元コード５０４を外接矩形領域５０３の中心座標に２次元コードの中心座標を合わせて合成部３２７で合成する。
【００７８】
図１３は、Ｓ１８０３の処理の結果得られる２次元コードの外接矩形領域内を示す図であり、図１４は、Ｓ１８０３の処理の結果得られる画像を示す図である。図１３と図１４に示されているように、本実施形態によれば、更新前の２次元コード５０１を除去し、更新後の２次元コード５０４を画像データの見栄えを損なわずに合成することができる。また、本実施形態によれば、第１の実施形態におけるＳ１６０９の合成処理と比べると、区外接矩形領域内で２次元コード５０４以外の領域の見た目をより元画像データに近くすることができる。また、本実施形態によれば、更新後の２次元コードを回転せずに合成するので、処理速度を向上することもできる。
【００７９】
また、上記の実施形態により、再印刷する２次元コードを回転せずに原稿中の２次元コードと同じ座標で用紙に印刷した場合に、原稿中の２次元コードの一部が用紙に印刷されてしまい見栄えが低下するという問題を解決することができる。
【００８０】
（第３の実施形態）
第３の実施形態と、第１および第２の実施形態との違いは、２次元コードの合成処理手段にある。
【００８１】
第２の実施形態では、「外接矩形領域のうちの更新前の２次元コード以外の領域」の平均的な色（平均輝度値）を求め、その平均的な色を、「外接矩形領域のうちの更新後の２次元コード以外の領域」の色として用いる。一方、本実施形態では、外接矩形領域全体に注目するのではなくて、はみ出し領域にだけ注目して処理を行う。具体的には、はみ出し領域の色を、元の画像データ（Ｓ１６０２で伸張された画像データ）中のはみ出し領域に近い領域の色と似たものとするための処理を行う。
【００８２】
具体的には、元の画像データ（Ｓ１６０２で伸張された画像データ）中の「外接矩形領域」中の「はみ出し領域に対応する領域」だけの平均的な色を求め、その平均的な色を、「はみ出し領域」の色として用いる。
【００８３】
これにより、更新後の２次元コードを含む画像データ（Ｓ１６１１で得られた画像データ）の色が、更新前の２次元コードを含む画像データの色が一層全体的に似たものになる。
【００８４】
図１５は、第３の実施形態におけるＳ１６０９の処理のフローチャートを示す図である。
【００８５】
Ｓ１９０１にて、ＣＰＵ３０１は、はみ出し領域５０４に接しており、かつ、更新前の２次元コード領域外にある全画素の画素値（例：輝度値）の平均値を算出する。ここで、ＣＰＵ３０１は、２次元コード５０１およびはみ出し領域５０４の領域をそれぞれの切り出しシンボルの座標および回転角から算出する。そして、ＣＰＵ３０１は、はみ出し領域を更新前の２次元コード領域内５０１で更新後の２次元コード領域５０４で上書きされない領域として算出する。
【００８６】
次に、Ｓ１９０２にて、ＣＰＵ３０１は、はみ出し領域５０４内の全画素の画素値を、Ｓ１９０１で算出された平均値に置換する。この置換により、外設矩形領域５０３の中に存在していた更新前の２次元コードは削除されることになる。
【００８７】
上記のようにして、Ｓ１９０２では、外接矩形領域に含まれるはみ出し領域（更新前の２次元コード領域のうち、更新後の２次元コードが合成されない領域）に対して、はみ出し領域の近傍画素を合成する。
【００８８】
次に、Ｓ１９０３にて、ＣＰＵ３０１は、Ｓ１６０６で更新した２次元コード５０４を外接矩形領域５０３の中心座標に２次元コードの中心座標を合わせて合成部３２７で合成する。
【００８９】
図１６は、Ｓ１９０３の処理の結果得られる２次元コードの外接矩形領域内を示す図であり、図１７は、Ｓ１９０３の処理の結果得られる画像を示す図である。図１６と図１７に示されているように、更新前の２次元コード５０１を除去し、更新後の２次元コード５０４を画像データの見栄えを損なわずに合成することができる。また、本実施形態によれば、第１および第２の実施形態におけるＳ１６０９の合成処理と比べると、はみ出し領域の画素のみ置換しているので、区外接矩形領域内で２次元コード５０４以外の領域の見た目をさらに元画像データに近くすることができる。また、本実施形態によれば、更新後の２次元コードを回転せずに合成するので、処理速度を向上することもできる。
【００９０】
なお、本発明では、複数の２次元コードを区別するために、「第１の２次元コード」、「第２の２次元コード」と呼んでも良い。
【００９１】
第１〜３の実施形態において、画像形成装置１０は、ＣＰＵ３０１，ＲＯＭ３０３，ＲＡＭ３０２，ＨＤＤ３０４を有する。そして、例えば、ＣＰＵ３０１は、ＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２に読み出して実行することにより、第１〜３の実施形態の処理を実現するものである。
【００９２】
（上記以外の実施形態）
本発明の目的は、上記実施形態で示した処理の手順を実現するプログラムコードを記憶した記憶媒体から、コンピュータが、そのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコードやプログラムコードを記憶した記憶媒体も本発明を構成することができる。
【００９３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施形態に係るシステムの一例を示すブロック図である。
【図２】画像形成装置の外観を示す図である。
【図３】画像形成装置のコントローラユニットを示すブロック図である。
【図４】２次元コードに関わる処理のフローチャートである。
【図５】２次元コードを含む画像を示す図である。
【図６】図５の画像に含まれる２次元コードを拡大したものを示す図である。
【図７】２次元コードの外接矩形領域を示す図である。
【図８】２次元コードのはみ出し領域を示す図である。
【図９】第１の実施形態におけるＳ１６０９の処理のフローチャートである。
【図１０】第１の実施形態におけるＳ１７０２の処理の結果得られる２次元コードの外接矩形領域内を示す図である。
【図１１】第１の実施形態におけるＳ１７０２の処理の結果得られる画像を示す図である。
【図１２】第２の実施形態におけるＳ１６０９の処理のフローチャートである。
【図１３】第２の実施形態におけるＳ１８０３の処理の結果得られる２次元コードの外接矩形領域内を示す図である。
【図１４】第２の実施形態におけるＳ１８０３の処理の結果得られる画像を示す図である。
【図１５】第３の実施形態におけるＳ１６０９の処理のフローチャートである。
【図１６】第３の実施形態におけるＳ１９０３の処理の結果得られる２次元コードの外接矩形領域内を示す図である。
【図１７】第３の実施形態におけるＳ１９０３の処理の結果得られる画像を示す図である。
【符号の説明】
【００９５】
１０  画像形成装置
１１  コントローラユニット
１２  操作部
１３  スキャナ部
１４  プリンタ部
【図１】
2010028309.tif 000003
【図２】
2010028309.tif 000004
【図３】
2010028309.tif 000005
【図４】
2010028309.tif 000006
【図６】
2010028309.tif 000007
【図９】
2010028309.tif 000008
【図１０】
2010028309.tif 000009
【図１２】
2010028309.tif 000010
【図１５】
2010028309.tif 000011
【図５】
2010028309.tif 000012
【図７】
2010028309.tif 000013
【図８】
2010028309.tif 000014
【図１１】
2010028309.tif 000015
【図１３】
2010028309.tif 000016
【図１４】
2010028309.tif 000017
【図１６】
2010028309.tif 000018
【図１７】
2010028309.tif 000019
【手続補正書】
【提出日】平成21年11月18日(2009.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
原稿画像内の正対していない２次元コードである第１の２次元コードを復号化する復号化手段と、
前記復号化により得られた情報を用いて、正対した２次元コードである第２の２次元コードを作成し、前記第２の２次元コードを印刷画像に合成する合成手段と、
前記第１の２次元コードの回転角を算出する算出手段とを有し、
前記合成手段は、前記第１の２次元コードの回転角が、所定の長さから決まる予め設定した回転角閾値より大きいかどうかを判定し、前記第１の２次元コードの回転角が予め設定した回転角閾値より大きい場合に、前記第２の２次元コードを前記回転角だけ回転して前記印刷画像に合成し、前記第１の２次元コードの回転角が前記回転角閾値以下の場合に、前記第２の２次元コードを回転せずに前記印刷画像に合成し、
前記回転角閾値（θ）は、前記第１の２次元コードの一辺の長さをＡ［ｍｍ］とし、前記所定の長さをＺ［ｍｍ］として、Ａ（ｓｉｎθ＋ｃｏｓθ−１）≦Ｚを満たす値であることを特徴とする装置。
【請求項２】
前記印刷画像は、前記原稿画像から前記第１の２次元コードが削除されて得られた画像であることを特徴とする請求項１に記載の装置。
【請求項３】
前記合成手段は、前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域を算出し、当該算出された外接矩形領域内に、前記第２の２次元コードを合成することを特徴とする請求項１に記載の装置。
【請求項４】
前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域の画素の色を変化させることを特徴とする請求項１に記載の装置。
【請求項５】
前記合成手段は、前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域に基づく領域を算出し、当該算出された前記基づく領域内に、前記第２の２次元コードを合成することを特徴とする請求項１に記載の装置。
【請求項６】
前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域に基づく領域の画素の色を変化させることを特徴とする請求項１に記載の装置。
【請求項７】
原稿画像内の正対していない２次元コードである第１の２次元コードを復号化する復号化ステップと、
前記復号化により得られた情報を用いて、正対した２次元コードである第２の２次元コードを作成し、前記第２の２次元コードを印刷画像に合成する合成ステップと、
前記第１の２次元コードの回転角を算出する算出ステップとを有し、
前記合成ステップは、前記第１の２次元コードの回転角が、所定の長さから決まる予め設定した回転角閾値より大きいかどうかを判定し、前記第１の２次元コードの回転角が予め設定した回転角閾値より大きい場合に、前記第２の２次元コードを前記回転角だけ回転して前記印刷画像に合成し、前記第１の２次元コードの回転角が前記回転角閾値以下の場合に、前記第２の２次元コードを回転せずに前記印刷画像に合成し、
前記回転角閾値（θ）は、前記第１の２次元コードの一辺の長さをＡ［ｍｍ］とし、前記所定の長さをＺ［ｍｍ］として、Ａ（ｓｉｎθ＋ｃｏｓθ−１）≦Ｚを満たす値であることを特徴とする方法。
【請求項８】
前記印刷画像は、前記原稿画像から前記第１の２次元コードが削除されて得られた画像であることを特徴とする請求項７に記載の方法。
【請求項９】
前記合成ステップは、前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域を算出し、当該算出された外接矩形領域内に、前記第２の２次元コードを合成することを特徴とする請求項７に記載の方法。
【請求項１０】
前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域の画素の色を変化させることを特徴とする請求項７に記載の方法。
【請求項１１】
前記合成ステップは、前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域に基づく領域を算出し、当該算出された前記基づく領域内に、前記第２の２次元コードを合成することを特徴とする請求項７に記載の方法。
【請求項１２】
前記第２の２次元コードを前記印刷画像に合成するにあたって、前記第１の２次元コードの外接矩形領域に基づく領域の画素の色を変化させることを特徴とする請求項７に記載の方法。
【請求項１３】
請求項７乃至１２に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、２次元コードを取り扱うことができる装置、方法、プログラムおよび記憶媒体に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記課題を解決するために、本発明に係る装置は、原稿画像内の正対していない２次元コードである第１の２次元コードを復号化する復号化手段と、前記復号化により得られた情報を用いて、正対した２次元コードである第２の２次元コードを作成し、前記第２の２次元コードを印刷画像に合成する合成手段と、前記第１の２次元コードの回転角を算出する算出手段とを有し、前記合成手段は、前記第１の２次元コードの回転角が、所定の長さから決まる予め設定した回転角閾値より大きいかどうかを判定し、前記第１の２次元コードの回転角が予め設定した回転角閾値より大きい場合に、前記第２の２次元コードを前記回転角だけ回転して前記印刷画像に合成し、前記第１の２次元コードの回転角が前記回転角閾値以下の場合に、前記第２の２次元コードを回転せずに前記印刷画像に合成し、前記回転角閾値（θ）は、前記第１の２次元コードの一辺の長さをＡ［ｍｍ］とし、前記所定の長さをＺ［ｍｍ］として、Ａ（ｓｉｎθ＋ｃｏｓθ−１）≦Ｚを満たす値であることを特徴とする。