(57)【特許請求の範囲】
【請求項１】
画像を読み取る範囲の指定を受け付ける範囲指定受付部と、
指定を受け付けた前記範囲の画像と前記範囲とは異なる領域で定められた所定の領域の画像を読み取る制御を行う読取制御部と、
読み取られた前記所定の領域の画像から、前記範囲の画像に対する処理を定めた情報が埋め込まれたコードを検出する検出部と、
検出された前記コードに基づいて、読み取られた前記範囲の画像を出力する画像出力部と、を備え、
前記読取制御部は、前記範囲と前記所定の領域との副走査方向における距離に応じて、前記画像を連続して読み取る領域を決定する
ことを特徴とする画像形成装置。
【請求項２】
前記読取制御部は、副走査方向における前記所定の領域の終端部から指定を受け付けた前記範囲までの距離が所定の閾値よりも小さいか否かを測定し、前記距離が前記閾値よりも小さい場合に、前記所定の領域と前記範囲とを含む領域の画像を読み取る制御を行うこと、
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記読取制御部は、副走査方向における指定を受け付けた前記範囲の終端部から前記所定の領域までの距離が所定の閾値よりも小さいか否かを測定し、前記距離が前記閾値よりも小さい場合に、前記所定の領域と前記範囲とを含む領域の画像を読み取る制御を行うこと、
を特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記読取制御部は、副走査方向における前記所定の領域の終端部から指定を受け付けた前記範囲までの距離が所定の閾値よりも大きいか否かを測定し、前記距離が前記閾値よりも大きい場合に、前記所定の領域と前記範囲の画像を別個に読み取る制御を行うこと、
を特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記所定の領域は原稿の四隅であること、
を特徴とする請求項１に記載の画像形成装置。
【請求項６】
前記範囲指定受付部は、原稿の片面を表す前記範囲の指定を受け付け、
前記読取制御部は、前記範囲に加えて前記原稿の片面に対する他の面を読み取る制御を行うこと、
を特徴とする請求項１に記載の画像形成装置。
【請求項７】
前記コードは、画像の出力禁止を定めた情報が埋め込まれたコードであって、
前記コードが検出された場合に、前記画像出力部による画像の出力を抑制する抑制部、
をさらに備えることを特徴とする請求項１に記載の画像形成装置。
【請求項８】
読み取られた前記画像の出力禁止を表示部に表示する表示制御部、
をさらに備え、
前記抑制部は、前記コードが検出された場合に、前記表示制御部に前記出力禁止の表示を指示すること、
を特徴とする請求項７に記載の画像形成装置。
【請求項９】
読み取られた前記画像の出力禁止をメール送信するメール送信部、
をさらに備え、
前記抑制部は、前記コードが検出された場合に、前記メール送信部に出力禁止のメール送信を指示すること、
を特徴とする請求項７に記載の画像形成装置。
【請求項１０】
画像を読み取る範囲の指定を受け付ける範囲指定受付ステップと、
指定を受け付けた前記範囲の画像と前記範囲とは異なる領域で定められた所定の領域の画像を読み取る制御を行う読取制御ステップと、
読み取られた前記所定の領域の画像から、前記範囲の画像に対する処理を定めた情報が埋め込まれたコードを検出する検出ステップと、
検出された前記コードに基づいて、読み取られた前記範囲の画像を出力する画像出力ステップと、を含み、
前記読取制御ステップは、前記範囲と前記所定の領域との副走査方向における距離に応じて、前記画像を連続して読み取る領域を決定する
ことを特徴とする画像形成方法。
【請求項１１】
コンピュータに実行させるためのプログラムであって、
前記コンピュータを、
画像を読み取る範囲の指定を受け付ける範囲指定受付ステップと、
指定を受け付けた前記範囲の画像と前記範囲とは異なる領域で定められた所定の領域の画像を読み取る制御を行う読取制御ステップと、
読み取られた前記所定の領域の画像から、前記範囲の画像に対する処理を定めた情報が埋め込まれたコードを検出する検出ステップと、
検出された前記コードに基づいて、読み取られた前記範囲の画像を出力する画像出力ステップ、として実行させ、
前記読取制御ステップは、前記範囲と前記所定の領域との副走査方向における距離に応じて、前記画像を連続して読み取る領域を決定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既存の画像編集機能とコード検出機能を共存可能とする画像形成装置、画像形成方法およびプログラムに関する。
【背景技術】
【０００２】
従来から、ＱＲコード（Quick Response code）のような２次元コードや、バーコードのような１次元コードを含むコードを検出する機能（以下、コード検出機能という。）を備え、検出したコードに埋め込まれた情報を元に、コピーやメール送信などの画像の複製を防止する抑制機能（以下、抑制機能という。）を実行する画像形成装置が知られている。そして、通常、このような画像形成装置には画像編集機能が備えられている。ここで、画像編集機能とは、コピー機能やスキャナ機能等の画像処理機能に付属する機能であって、画像処理の対象となる範囲の限定や入れ替え等により画像を編集する機能のことである。例えば、読取範囲の指定がある。
【０００３】
コードは通常、スキャナにセットされる用紙向きの違いによるコードの読み落としを防止するため、原稿の４隅のいずれかに印刷される。そして、コード検出機能は、スキャナにより原稿の４隅を読み取りコードを検出するという方法で実現される。
【０００４】
例えば、抑制機能を確実に実行する目的で、原稿上のＱＲコードを検出し、ＱＲコードに埋め込まれた情報を元に、印刷者に出力権限があるかどうかを確認し、出力権限がない場合に印刷を禁止する方法が開示されている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、コード検出機能を画像編集機能と共存させた場合、原稿の４隅を取り込めないケースが生じコードが読み落とされる結果、コード検出機能が機能しないという問題があった。例えば、圧板印刷において読取範囲指定され、読取範囲外にコードが存在する場合、画像の一部を消去する指定がされ、消去される範囲にコードが存在する場合、また、両面原稿のうち、コードが存在しない片面だけがコピー指定された場合等がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、コード検出機能と既存の画像編集機能を共存可能な画像形成装置、画像形成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる画像形成装置は、画像を読み取る範囲の指定を受け付ける範囲指定受付部と、指定を受け付けた前記範囲の画像と前記範囲とは異なる領域で定められた所定の領域の画像を読み取る制御を行う読取制御部と、読み取られた前記所定の領域の画像から、前記範囲の画像に対する処理を定めた情報が埋め込まれたコードを検出する検出部と、検出された前記コードに基づいて、読み取られた前記範囲の画像を出力する画像出力部と、を備え、前記読取制御部は、前記範囲と前記所定の領域との副走査方向における距離に応じて、前記画像を連続して読み取る領域を決定することを特徴とする。
【０００９】
また、本発明にかかる画像形成方法は、画像を読み取る範囲の指定を受け付ける範囲指定受付ステップと、指定を受け付けた前記範囲の画像と前記範囲とは異なる領域で定められた所定の領域の画像を読み取る制御を行う読取制御ステップと、読み取られた前記所定の領域の画像から、前記範囲の画像に対する処理を定めた情報が埋め込まれたコードを検出する検出ステップと、検出された前記コードに基づいて、読み取られた前記範囲の画像を出力する画像出力ステップと、を含み、前記読取制御ステップは、前記範囲と前記所定の領域との副走査方向における距離に応じて、前記画像を連続して読み取る領域を決定することを特徴とする。
【００１１】
また、本発明にかかるプログラムは、コンピュータに実行させるためのプログラムであって、前記コンピュータを、画像を読み取る範囲の指定を受け付ける範囲指定受付ステップと、指定を受け付けた前記範囲の画像と前記範囲とは異なる領域で定められた所定の領域の画像を読み取る制御を行う読取制御ステップと、読み取られた前記所定の領域の画像から、前記範囲の画像に対する処理を定めた情報が埋め込まれたコードを検出する検出ステップと、検出された前記コードに基づいて、読み取られた前記範囲の画像を出力する画像出力ステップ、として実行させ、前記読取制御ステップは、前記範囲と前記所定の領域との副走査方向における距離に応じて、前記画像を連続して読み取る領域を決定することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、コード検出機能を既存の画像編集機能と共存させることができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１にかかる画像形成装置のハードウェア構成を示すブロック図である。
【図２】図２は、実施の形態１にかかるＣＰＵ１０１のソフトウェア構成を示すブロック図である。
【図３】図３は、バーコード配置位置の一例を示す説明図である。
【図４】図４は、ユーザにより指定された読取範囲の一例を示す説明図である。
【図５】図５は、実施の形態１にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【図６】図６は、原稿画像の読取範囲とコード領域の一例を示す説明図である。
【図７】図７は、読取制御部２０８により取得された原稿画像と、原稿画像に含まれる読取範囲の一例を示す図である。
【図８】図８は、実施の形態２にかかるＣＰＵ１０１のソフトウェア構成を示すブロック図である。
【図９】図９は、実施の形態２にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【図１０】図１０は、コード領域と読取範囲の一例を示す説明図である。
【図１１】図１１は、読取制御部２０８により取得された画像の一例を示す図である。
【図１２】図１２は、読取制御部２０８による読取処理の手順を示すフローチャートである。
【図１３】図１３は、原稿読取開始前の原稿と走行体の位置関係を示す説明図である。
【図１４】図１４は、原稿読取における走行体の移動方向を示す説明図である。
【図１５】図１５は、読取範囲とコード領域の距離を示す説明図である。
【図１６】図１６は、連続走査領域が原稿全面である場合の走行体の移動速度を示す図である。
【図１７】図１７は、連続走査領域の一例を示す図である。
【図１８】図１８は、連続走査領域が画像２と画像３である場合の走行体の移動速度を示す図である。
【図１９】図１９は、連続走査領域である画像２と画像３を示す図である。
【図２０】図２０は、連続走査領域が画像１と画像４である場合の走行体の移動速度を示す図である。
【図２１】図２１は、後端領域の座標を示す図である。
【図２２】図２２は、連続走査領域が画像１と画像３と画像４である場合の走行体の移動速度を示す図である。
【図２３】図２３は、連続走査領域である画像１と画像３と画像４を示す図である。
【図２４】図２４は、実施の形態３にかかるＣＰＵ１０１のソフトウェア構成を示すブロック図である。
【図２５】図２５は、実施の形態３にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【図２６】図２６は、実施の形態４にかかるＣＰＵ１０１のソフトウェア構成を示すブロック図である。
【図２７】図２７は、実施の形態４にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【図２８】図２８は、消去範囲の一例を示す説明図である。
【図２９】図２９は、消去範囲を消去して得られる画像の一例を示す説明図である。
【図３０】図３０は、読取制御部２０８により読み取られた画像の一例を示す図である。
【図３１】図３１は、コード領域の一例を示す説明図である。
【図３２】図３２は、消去範囲を消去して得られた画像の一例を示す説明図である。
【図３３】図３３は、原稿内の任意の矩形が消去範囲として指定された両面原稿の一例を示す説明図である。
【図３４】図３４は、消去範囲とコード領域の位置関係を示す説明図である。
【図３５】図３５は、原稿のセンターが消去範囲として指定された原稿の一例を示す説明図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、この発明にかかる画像形成装置、画像形成方法およびプログラムの最良な実施の形態を詳細に説明する。以下の実施の形態においては、本発明における画像形成装置を、コピー機能、プリンタ機能、スキャナ機能、およびファクシミリ機能のうち少なくとも２つの機能を有する複合機（ＭＦＰ：Multi  Function  Peripherals）に適用した例を示すが、これに限定されることなく、複写機、プリンタ、ファクシミリ装置、スキャナ装置等の画像形成装置であればいずれにも適用することができる。
【００１６】
（実施の形態１）
図１は、本発明の実施の形態１にかかる画像形成装置のハードウェア構成を示すブロック図である。図１に示すように、画像形成装置は、ＣＰＵ１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random  Access  Memory）１０３と、ＮＶＲＡＭ（Non-volatile memory）１０４と、ＨＤＤＩ／Ｆ（Hard  Disk  Drive  Interface）制御部１０５と、ネットワークＩ／Ｆ（Interface）制御部１０６と、スキャナエンジン制御部１０７と、プリントエンジン制御部１０９と、操作表示Ｉ／Ｆ制御部１１１と、画像処理制御部１１３と、ＤＭＡＣ（Direct  Memory  Access  Controller）１１４と、を主に備える。
【００１７】
ＣＰＵ１０１は、プログラムを実行することで各種制御部を動作させる。なお、ＣＰＵ１０１の具体的な機能については後述する。
【００１８】
ＲＯＭ１０２、ＲＡＭ１０３、ＮＶＲＡＭ１０４は、各種データを記憶する。ＨＤＤＩ／Ｆ制御部１０５は、画像、プログラム、データ等を保存するＨＤＤを接続する。ネットワークＩ／Ｆ制御部１０６は、Ethernet（登録商標）などのネットワークＩ／Ｆを制御する。
【００１９】
スキャナエンジン制御部１０７は、自動原稿読取装置（不図示）や、圧板読取機構（不図示）を備えたスキャナエンジンを接続し、原稿を読み取らせるための制御コマンドを送信し、スキャナから入力される画像を取り込んでＲＡＭ１０４に書き出す。
【００２０】
プリントエンジン制御部１０９は、用紙を搬送するとともに、用紙に画像を形成する画像形成部を備えたプリントエンジン１１０を接続し、印刷コマンドを送信し、印刷する画像データをＲＡＭ１０４から読み出してプリントエンジン１１０に送信する。
【００２１】
操作表示Ｉ／Ｆ制御部１１１は、ユーザからのボタン入力や、表示装置（ＬＣＤ（Liquid  Crystal  Display）やタッチパネル）を備えた操作表示部１１２と接続され、操作入力を受け付ける。操作表示Ｉ／Ｆ制御部１１３は、受け付けた操作内容をＣＰＵ１０１に送信するとともに、ＣＰＵ１０１の指示した操作表示部１１２に表示する。
【００２２】
画像処理制御部１１３は、ＣＰＵ１０１の指示に従って、ＲＡＭ１０４に保存されている画像データに対して、画像処理(変倍、マスク、トリミング、色調整、回転)を行い、処理した結果の画像をＲＡＭ１０４に保存する。
【００２３】
ＤＭＡＣ１１４は、ＣＰＵ１０１の指示に従って、ＲＡＭ１０４に保存されている読取範囲のデータをＲＡＭ１０４の別の場所に複製する。ここで、読取範囲とは、原稿のうちコピーや、配信という出力の対象として読取制御部２０８により読み取られる範囲であり、ユーザにより操作表示部１１２から指定される範囲である。
【００２４】
図２は、ＣＰＵ１０１のソフトウェア構成の一例を示すブロック図である。図２に示すように、ＣＰＵ１０１は、操作表示制御部２０１と、ＭＦＰアプリケーション制御部２０２と、共通サービス制御部２０７と、デバイス制御部２１３を主に備え、ＲＡＭ１０３と接続されている。
【００２５】
操作表示制御部２０１は、操作表示Ｉ／Ｆ制御部１１１により操作表示部１１２に画像を表示させる。また、操作表示制御部２０１は、操作表示部１１２へのキー操作や画面接触等によりユーザから入力された操作内容（以下、ユーザ操作内容という。）を取得し、ＭＦＰアプリケーション制御部２０２の各部に操作内容を送信する。また、抑制部２０６からの指示に応じて画像の出力禁止を表示する。
【００２６】
まず、ＭＦＰアプリケーション制御部２０２は、出力部２０５と、抑制部２０６を主に備える。出力部２０３は、コピー部２０４と、配信部２０５を備え、読み取られた画像をこれら各部により出力する。
【００２７】
コピー部２０４は、操作表示制御部２０１から受信したユーザ操作内容をコピーの実行条件に変換し、共通サービス制御部２０７に読取、印刷等の指示を送信し、原稿のコピーを出力する。
【００２８】
配信部２０５は、操作表示制御部２０１から受信したユーザ操作内容を配信の実行条件に変換し、変換した内容を共通サービス制御部２０７に送信する。配信部２０５は、共通サービス制御部２０７から画像を取得し、取得した画像を指定先の機器等に配信する。
【００２９】
抑制部２０６は、共通サービス制御部２０７からコード検出部２０９により検出されたコードを受信した場合に、ユーザ操作内容において指示された画像の印刷または送信を抑制する。具体的には、印刷ジョブを中止したり、操作表示制御部２０１に印刷不可を表示する指示を送信したり、共通サービス制御部２０７の送信制御部２１１を介してホストコンピュータ等に出力不可をメール送信したりする。
【００３０】
次に、共通サービス制御部２０７は、読取制御部２０８と、コード検出部２０９と、印刷制御部２１０と、送信制御部２１１と、課金管理部２１２を主に備える。
【００３１】
読取制御部２０８は、ＭＦＰアプリケーション制御部２０２からの指示に従って、画像の印刷、送信等に必要なメモリを確保し、デバイス制御部２１３を介してスキャナエンジン制御部１０７や、プリントエンジン制御部１０９や、ネットワークＩ／Ｆ制御部１０６に各種指示を送信する。
【００３２】
コード検出部２０９は、読取制御部２０８による読取指示により読み取られた画像からコードを検出する。ここで、コードとは、出力禁止などの所定の処理を制御するための情報を埋め込まれた符号のことである。例えば、バーコード等がある。なお、本実施例では、バーコードを例に説明するが、これに限定されず、ＱＲコード等その他情報埋め込み可能なコードであればよい。
【００３３】
送信制御部２１１は、操作表示制御部２０１、ＭＦＰアプリケーション制御部２０２、共通サービス制御部２０７、デバイス制御部２１３と各種情報の送受信を制御する。また、画像形成装置と接続されているホストコンピュータ等他の装置との通信を制御する。
【００３４】
課金管理部２１２は、読取制御部２０８により読み取られた画像枚数や、印刷制御部２１０により印刷された画像枚数をカウントし、画像出力にかかる課金を管理する。課金管理部２１２は、指示されたカウンタの枚数をカウントアップするため、ＮＶＲＡＭ１０４のカウンタ領域に保存されているカウンタの値を読み出して変更（加算）し、保存する。
【００３５】
次に、デバイス制御部２１３は、スキャナ制御指示部２１４と、プリント制御指示部２１５と、画像処理指示部２１６を主に備える。
【００３６】
スキャナ制御指示部２１４は、共通サービス制御部２０７からの指示に従って、スキャナエンジン制御部１０７に原稿の読取指示を送信する。
【００３７】
プリント制御指示部２１５は、共通サービス制御部２０７からの指示に従って、プリントエンジン制御部１０９に印刷指示を送信する。
【００３８】
画像処理指示部２１６は、共通サービス制御部２０７からの指示に従って、画像処理制御部１１３に画像処理の指示を送信する。
【００３９】
次に、バーコード配置位置について説明する。図３は、バーコード配置位置の一例を示す説明図である。図３に示すように、原稿用紙１００１の紙面（表面、または裏面）四隅には、バーコードが配置される領域（以下、コード領域という。）１００２が定められている。画像形成装置が認識するバーコードはこの１つの紙面に定められている４つのコード領域１００２のいずれに配置されてもよい。図３では、右上端の領域１００２上にバーコード１００３が印刷されている。
【００４０】
図４は、ユーザにより指定された読取範囲の一例を示す説明図である。図４に示すように、操作表示制御部２０１は、原稿１００１のうち、中央付近の範囲を読取範囲１００４として指定を受け付ける。読取制御部２０８は、操作表示制御部２０１により受け付けた指示に応じて、スキャナ制御指示部２１４に読取範囲１００４をスキャナする指示を送信する。スキャナ制御指示部２１４は、スキャナエンジン１０８に読取範囲１００４をスキャンする指示を送信する。スキャナエンジン１０８はスキャナ制御指示部２１４からの指示に応じて読取範囲１００４をスキャンする。
【００４１】
次に、以上のように構成された実施の形態１にかかる画像形成装置によるコード検出処理の手順を説明する。図５は、実施の形態１にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【００４２】
操作表示制御部２０１は、操作表示部１１２からユーザによる読取範囲の指定を受け付ける（ステップＳ１）。図６は、原稿画像の読取範囲とコード領域の一例を示す説明図である。図６に示すように、読取範囲１００４は、操作表示制御部２０１により指定を受け付けた読取範囲である。また、コード領域１００６は、読取制御部２０８により取得されるコード領域である。
【００４３】
図５に戻り、読取制御部２０８は、スキャナ制御指示部２１４に原稿の全面画像であるコード領域１００６の読取を指示する（ステップＳ２）。読取制御部２０８は、コード領域１００６を取得する(ステップＳ３)。具体的には、スキャナ制御指示部２１４にコード領域１００６の読取指示を送信し、スキャナ制御指示部２１４によるスキャナ指示を介して、スキャナエンジン１０８からコード領域１００６の画像を取得する。図７は、読取制御部２０８により取得された原稿画像と、原稿画像に含まれる読取範囲の一例を示す図である。図７に示すように、読取制御部２０８は、コード領域１００７と、読取範囲１００４とを取得する。
【００４４】
読取制御部２０８は、取得したコード領域１００７をコード検出部２０９に送信する。コード検出部２０９は、受信したコード領域１００７からバーコードを検出する（ステップＳ４）。例えば、コード検出部２０９はコード領域１００７の四隅を検索しバーコードを検出する。
【００４５】
読取制御部２０８は、ＤＭＡＣ１１４（図１参照）や、ＣＰＵ１０１（図１参照）によるメモリコピー機能１００８により、原稿の全面画像１００７から読取範囲１００４を取得する。読取制御部２０８は、取得した読取範囲１００４を、読取範囲１００９として出力部２０５に送信する。
【００４６】
出力部２０５は、読取制御部２０８から受信した読取範囲１００９を出力する（ステップＳ５）。例えば、出力部２０５は、コピー部２５１により読取範囲１００９をコピーしたり、配信部２５２により読取範囲１００９を送信したりする。
【００４７】
このように、本実施の形態によれば、読取範囲が指定された場合であっても、コード検出部２０９は、コード領域からコードを検出するので、コード検出機能と既存の画像編集機能を共存させることができる。
【００４８】
（実施の形態２）
実施の形態１では、読取範囲が指定された場合に、原稿の全面画像を取得し、全面画像の中からバーコードを検出した。これに対し、本実施の形態では、読取範囲が指定された場合に、読取範囲と、あらかじめ定められたコード領域の画像を取得し、コード領域の中からバーコードを検出する。
【００４９】
本実施の形態における画像形成装置のハードウェア構成については実施の形態１と同様である。図８は、ＣＰＵ１０１のソフトウェア構成の一例を示すブロック図である。図８に示すように、ＣＰＵ１０１は、操作表示制御部２０１と、ＭＦＰアプリケーション制御部２０２と、共通サービス制御部２０７と、デバイス制御部２１３を主に備え、ＲＡＭ１０３と接続されている。なお、ＣＰＵ１０１のソフトウェア構成のうち読取制御部３０８以外の各部の機能および構成は実施の形態１と同様である。
【００５０】
ＲＡＭ１０３は、原稿におけるコード領域の座標や、コード領域を特定する数値をあらかじめ保存する。例えば、用紙端部から５ｃｍ四方をコード領域の数値として保存する。
【００５１】
読取制御部３０８は、ＲＡＭ１０３から原稿におけるコード領域の座標、またはコード領域を特定する数値を取得し、コード領域を取得する。読取制御部３０８は、取得したコード領域、および操作表示制御部２０１から受け付けた読取範囲を読み取る。
【００５２】
次に、以上のように構成された本実施の形態における画像形成装置によるコード検出処理の手順について説明する。図９は、実施の形態２にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【００５３】
操作表示制御部２０１は、ユーザにより操作表示部１１２から入力された読取範囲の指定を受け付ける（ステップＳ６）。読取制御部３０８は、ＲＡＭ１０３からコード領域を取得する（ステップＳ７）。図１０は、コード領域と読取範囲の一例を示す説明図である。図１０に示すように、読取制御部３０８は、ＲＡＭ１０３に保存されている副走査方向に対して先端となる領域（以下、先端領域という。）１０１０と副走査方向に対して後端となる領域（以下、後端領域という。）１０１１を、コード領域として取得する。また、読取制御部３０８は、操作表示制御部２０１から読取範囲１００４を取得する。
【００５４】
読取制御部３０８は、読取範囲に対応する画像と、コード領域に対応する画像を取得する（ステップＳ８）。図１１は、読取制御部３０８により取得された画像の一例を示す図である。図１１に示すように、読取制御部３０８は、ＲＡＭ１０３から取得した先端領域１０１０と、後端領域１０１１と、操作表示制御部２０１から取得した読取範囲１００４を、スキャナ制御指示部２１４を介して読み取り、先端領域１０１０に対応する画像１０１２、後端領域１０１１に対応する画像１０１３、読取範囲１００４に対応する画像１０１４を取得する。
【００５５】
コード検出部２０９は、コード領域に対応する画像（画像１０１２と、画像１０１４）からバーコードを検出する（ステップＳ９）。出力部２０３は、読取範囲に対応する画像（画像１０１４）を出力する（ステップＳ１０）。例えば、出力部２０３は、コピー部２０４により読取範囲１００９をコピーしたり、配信部２０５により読取範囲１００９を送信したりする。なお、読取範囲に対応する画像（画像１００９）は、コード領域に対応する画像（画像１０１２と、画像１０１４）と別個に読み取られているため、ＤＭＡＣ１１４や、ＣＰＵ１０１によるコピーが不要となり、迅速な出力が可能となる。
【００５６】
次に、ステップＳ８における読取制御部３０８による読取処理の詳細について説明する。図１２は、読取制御部３０８による読取処理の手順を示すフローチャートである。
【００５７】
読取制御部３０８は、操作表示制御部２０１により読取範囲の指定が受け付けられたか否かを確認する（ステップＳ１１。読取制御部３０８は、読取範囲の指定が受け付けられたことを確認した場合は（ステップＳ１１：Ｙｅｓ）、読取範囲とコード領域の副走査方向における距離を測定し、連続走査領域を決定する。連続走査領域とは、走行体を原稿上で連続して走査させる領域のことである。一方、読取制御部３０８は、読取範囲の指定が受けうけられたことを確認しなかった場合は（ステップＳ１１：Ｎｏ）、ステップＳ１４に進む。
【００５８】
ここで、まず、走行体の移動方向について説明する。図１３は、原稿読取開始前の原稿と走行体の位置関係を示す説明図である。図１３に示すように、走行体１２００は、原稿を読み取る走査部１２１１を備え、原稿読取開始前には原稿の上端部に位置する。図１４は、原稿読取における走行体の移動方向を示す説明図である。図１４に示すように、読取制御部３０８は、走行体１２００を原稿上に副走査方向を示すＹの矢印方向に移動させながら、走査部１２１１を原稿上に主走査方向を示すＸの矢印方向に移動させることにより画像を読み取る。
【００５９】
次に、読取範囲とコード領域の距離について説明する。図１５は、読取範囲とコード領域の距離を示す説明図である。ここで、距離とは、原稿上の各領域の副走査方向における距離のことである。図１５に示すように、座標Ｐｓから座標Ｐ１は、先端領域の距離を示す。また、座標Ｐ２から座標Ｐ３は、読取範囲の距離を示す。また、座標Ｐ４から座標Ｐｅは、後端領域の距離を示す。
【００６０】
次に、走行体１２００の連続走査領域の決定方法について説明する。読取制御部３０８は、連続走査領域を先端領域の終端部から読取範囲の先端部までの距離、および読取範囲の後端部から後端領域の先端部までの距離の長さが閾値Ｐａ以下であるか否かによって決定する。先端領域の終端部から読取範囲の先端部までの距離（座標Ｐ１から座標Ｐ２）、読取範囲の後端部から後端領域の先端部までの距離（座標Ｐ３から座標Ｐ４）がそれぞれ閾値Ｐａ以下である場合は、読取制御部３０８は、連続走査領域を原稿全面と決定する。これにより、走行体１２００の移動を減速させることなく走査することができるので、読取速度が上がる。一方、それぞれの距離が閾値Ｐａより大きい場合は、読取制御部３０８は連続走査領域を先端領域、読取範囲、後端領域の３領域と決定する。なお、閾値Ｐａを超えない距離を含む場合は、読取制御部３０８は、閾値Ｐａを超えない距離の前後の２領域を１つの連続走査領域と決定し、これと別に残りの１領域を連続走査領域と決定する。
【００６１】
ステップＳ１２において、読取制御部３０８は、先端領域の終端部から読取範囲の先端部までの距離が｜Ｐ１−Ｐ２｜≦Ｐａを満たすか否かを確認する（ステップＳ１２）。すなわち、読取制御部３０８は、座標Ｐ２と座標Ｐ１のＹ座標の差が閾値Ｐａ以下であるか否かを確認する。読取制御部３０８は、｜Ｐ１−Ｐ２｜≦Ｐａを満たすと判断した場合は（ステップＳ１２：Ｙｅｓ）、｜Ｐ３−Ｐ４｜≦Ｐａを満たすか否かを確認する（ステップＳ１３）。すなわち、読取制御部３０８は、座標Ｐ３と座標Ｐ４の差が閾値Ｐａ以下であるか否かを確認する。読取制御部３０８は、座標Ｐ３と座標Ｐ４の差が閾値Ｐａ以下であると判断した場合（ステップＳ１３：Ｙｅｓ）、およびステップＳ１において読取範囲の指定を受け付けたことを確認しなかった場合は（ステップＳ１１：Ｎｏ）、連続走査領域を原稿全面（座標Ｐｓから座標Ｐe）と決定する。読取制御部３０８は、原稿全面（座標Ｐｓから座標Ｐe）を読み取り、読み取りの結果得られた画像を画像１として保存する（ステップＳ１４）。
【００６２】
図１６は、連続走査領域が原稿全面である場合の走行体の移動速度を示す図である。図１６に示すように、読取制御部３０８は、走行体１２００を原稿の先端部に相当する先端領域から原稿の後端部に相当する後端領域までを一度に連続して移動させる。Ｐ０からＰｓは、走行体１２００を加速させる距離を示す。また、ＰｅからＰ０１は読取終了後、走行体１２００を停止させるまでの減速させる距離を示す。ＰｓからＰｅまでの各座標は原稿上の先端領域、読取範囲、後端領域の各領域の座標を示す。図１７は、連続走査領域の一例を示す図である。図１７に示すように、読取制御部３０８は、読み取った原稿全面を画像１として保存する。このように、読取制御部３０８が連続走査領域を原稿全面と決定する場合は、走行体１２００を途中で減速させることなく移動させるため、領域ごとに走査を分断する場合と比較して読取速度が向上する。
【００６３】
読取制御部３０８は画像１をコード検出部２０９に渡し、コード検出部２０９は画像１をコード検出する（ステップＳ１５）。読取制御部３０８は、読取範囲の指定を受け付けられたか否かを確認する（ステップＳ１６）。読取制御部３０８は、読取範囲の指定が受け付けられたことを確認しなかった場合は（ステップＳ１６：Ｎｏ）、画像１を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像１を印刷し、または送信制御部２１１は画像１を送信する（ステップＳ１７）。
【００６４】
一方、読取制御部３０８は、読取範囲の指定を受け付けたことを確認した場合は（ステップＳ１６：Ｙｅｓ）、ＤＭＡＣ１１４またはＣＰＵ１０１により画像１をコピーし画像５として保存する(ステップＳ１８）。読取制御部３０８は、画像５を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像５を印刷し、または送信制御部２１１は画像５を送信する（ステップ１９）。
【００６５】
ステップＳ１３において、読取制御部３０８は、｜Ｐ３−Ｐ４｜≦Ｐａを満たすか否かを確認し（ステップＳ１３）、満たさないと判断した場合は（ステップＳ１３：Ｎｏ）座標Ｐ３と座標Ｐ４の差が閾値Ｐａ以下であるか否かを確認する。すなわち、読取制御部３０８は、座標Ｐ３と座標Ｐ４の差が閾値Ｐａ以下であるか否かを確認する。読取制御部３０８は、座標Ｐ３と座標Ｐ４の差が閾値Ｐａより大きいと判断した場合（ステップＳ１３：Ｎｏ）、先端領域から読取範囲（座標Ｐｓから座標Ｐ３）を読み取り、読み取りの結果得られた画像を画像２として保存する（ステップＳ２０）。
【００６６】
読取制御部３０８は、後端領域（座標Ｐ４から座標Ｐｅ）を読み取り、読み取りの結果得られた画像を画像３として保存する（ステップＳ２１）。読取制御部３０８は、画像２および画像３をコード検出部２０９に渡し、コード検出部２０９は画像２および画像３からコード検出する（ステップＳ２２）。読取制御部３０８は、画像２から読取範囲をＤＭＡＣ１１４またはＣＰＵ１０１によりコピーし画像５として保存する（ステップＳ２３）。読取制御部３０８は、画像５を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像５を印刷し、または送信制御部２１１は画像５を送信する（ステップ１９）。
【００６７】
図１８は、連続走査領域が画像２と画像３である場合の走行体の移動速度を示す図である。図１８に示すように、読取制御部３０８は、走行体１２００を先端領域から読取範囲までの領域と、後端領域の２つの領域を別個に移動させる。Ｐ０からＰｓおよびＰ０１からＰ４は走行体１２００を加速させる距離を示す。また、Ｐ３からＰ０１およびＰｅからＰ０２は読取終了後、走行体１２００を停止させるまでの減速させる距離を示す。ＰｓからＰ３は先端領域と読取範囲の座標を、Ｐ４からＰｅは後端領域の座標を示す。図１９は、連続走査領域である画像２と画像３を示す図である。図１９に示すように、読取制御部３０８は、読み取った先端領域から読取範囲までの領域を画像２、後端領域を画像３として保存する。
【００６８】
次に、ステップＳ２において、読取制御部３０８は、先端領域の終端部から読取範囲の先端部までの距離が｜Ｐ１−Ｐ２｜≦Ｐａを満たさないと判断した場合は(ステップＳ２：Ｎｏ)、読取制御部３０８は、先端領域（座標Ｐｓから座標Ｐ１）を読み取り、読み取りの結果得られた画像を画像４として保存する（ステップＳ１４）。
【００６９】
読取制御部３０８は、｜Ｐ３−Ｐ４｜≦Ｐａを満たすか否かを確認し（ステップＳ１５）、満たすと判断した場合は（ステップＳ１５：Ｙｅｓ）、読取範囲から後端領域（座標Ｐ２からＰｅ）を読み取り、読み取りの結果得られた画像を画像１として保存する（ステップＳ１６）。読取制御部３０８は、画像１および画像４をコード検出部２０９に渡し、コード検出部２０９は画像１および画像４からコード検出する（ステップＳ１７）。読取制御部３０８は、画像１から読取範囲をＤＭＡＣ１１４またはＣＰＵ１０１によりコピーし画像５として保存する（ステップＳ１８）。読取制御部３０８は、画像５を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像５を印刷し、または送信制御部２１１は画像５を送信する（ステップ９）。
【００７０】
図２０は、連続走査領域が画像１と画像４である場合の走行体の移動速度を示す図である。図２０に示すように、読取制御部３０８は、走行体１２００を先端領域と、読取範囲から後端領域までの領域の２つの領域を別個に移動させる。Ｐ０からＰｓおよびＰ０１からＰ２は走行体１２００を加速させる距離を示す。また、Ｐ１からＰ０１およびＰｅからＰ０２は読取終了後、走行体１２００を停止させるまでの減速させる距離を示す。ＰｓからＰ１は先端領域の座標を、Ｐ２からＰｅは読取範囲と後端領域の座標を示す。図２１は、連続走査領域である画像１と画像４を示す図である。図２１に示すように、読取制御部３０８は、読み取った先端領域を画像４、読取範囲から後端領域を画像１として保存する。このように、領域間の距離に合わせて連続走査領域を分けることにより、領域に応じて読み取り速度を向上するとともに、メモリ使用量を抑制した読み取りが可能となる。
【００７１】
次に、ステップＳ１５において、読取制御部３０８は、｜Ｐ３−Ｐ４｜≦Ｐａを満たすか否かを確認し（ステップＳ１５）、満たさないと判断した場合は（ステップＳ１５：Ｎｏ）、読取範囲（座標Ｐ２からＰ３）を読み取り、読み取りの結果得られた画像を画像１として保存する（ステップＳ１９）。読取制御部３０８は、後端領域(座標Ｐ４から座標Ｐｅ)を読み取り、読み取りの結果得られた画像を画像３として保存する（ステップＳ４０）。読取制御部３０８は、画像３および画像４をコード検出部２０９に渡し、コード検出部２０９は画像３および画像４からコード検出する（ステップＳ４１）。読取制御部３０８は、画像１から読取範囲をＤＭＡＣ１１４またはＣＰＵ１０１によりコピーし画像５として保存する（ステップＳ１８）。読取制御部３０８は、画像５を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像５を印刷し、または送信制御部２１１は画像５を送信する（ステップ９）。
【００７２】
図２２は、連続走査領域が画像１と画像３と画像４である場合の走行体の移動速度を示す図である。図２２に示すように、読取制御部３０８は、走行体１２００を先端領域と、読取範囲を含む領域と、後端領域の３つの領域を別個に移動させる。Ｐ０からＰｓ、Ｐ０１からＰ２、Ｐ０４からＰ４は走行体１２００を加速させる距離を示す。また、Ｐ１からＰ０２、Ｐ３からＰ０３、ＰｅからＰ０５は読取終了後、走行体１２００を停止させるまでの減速させる距離を示す。ＰｓからＰ１は先端領域の座標を、Ｐ２からＰ３は読取範囲の座標を、Ｐ４からＰｅは後端領域の座標を示す。図２３は、連続走査領域である画像１と画像３と画像４を示す図である。図２３に示すように、読取制御部３０８は、読み取った先端領域を画像４、読取範囲を含む領域を画像１、後端領域を画像３として保存する。このように、連続走査領域を３つに分けた場合、原稿全面を一度に連続して読み取る場合と比較して、使用メモリ量を抑制して読み取ることが可能となる。
【００７３】
このように、本実施の形態によれば既存の画像編集機能と共存可能なコード検出機能を実現することが可能となる。
【００７４】
また、このように、本実施の形態によれば、コード検出部２０９は、あらかじめ定められたコード領域に対応する画像からバーコードを検出するので、検出速度が上がる。
【００７５】
また、このように、本実施の形態によれば、コード領域と読取範囲の位置関係に応じて連続走査領域を決定するので、読み取り速度の向上と使用メモリ量の抑制を行った読み取りができる。
【００７６】
（実施の形態３）
実施の形態２では、読取制御部は原稿の表面において読取範囲の指定が受け付けられたケースを処理した。これに対して、実施の形態３では、読取制御部は両面原稿の表面または裏面のいずれか一面において読取範囲の指定が受け付けられるケースを処理する。
【００７７】
本実施の形態における画像形成装置のハードウェア構成については実施の形態１と同様である。図２４は、実施の形態３にかかるＣＰＵ１０１のソフトウェア構成を示すブロック図である。図２４に示すように、ＣＰＵ１０１は、操作表示制御部４０１と、ＭＦＰアプリケーション制御部２０２と、共通サービス制御部２０７と、デバイス制御部２１３を主に備え、ＲＡＭ１０３と接続されている。なお、ＣＰＵ１０１のソフトウェア構成は、読取制御部４０８以外の各部の機能および構成は実施の形態２と同様である。
【００７８】
操作制御表示部４０１は、読取範囲の指定を受け付ける。具体的には、読取範囲として原稿の表面または裏面のうちいずれか片面の指定を受け付ける。
【００７９】
次に、以上のように構成された本実施の形態における画像形成装置によるコード検出処理の手順について説明する。図２５は、実施の形態３にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【００８０】
読取制御部４０８は、操作表示制御部４０１により読取範囲として両面原稿のうち片面の指定を受け付けたか否かを確認する（ステップＳ４０）。読取制御部４０８は、片面の指定を受け付けたことを確認した場合は（ステップＳ４０：Ｙｅｓ）、指定を受け付けた片面を表面（出力面）として特定する（ステップＳ４１）。読取制御部４０８は、特定した表面を読み取り、読み取った表面を画像１として取得する（ステップＳ４２）。
【００８１】
読取制御部４０８は、裏面をモノクロで読み取り、読み取った裏面を画像２として取得する（ステップＳ４３）。ここで、裏面とは、読取範囲として指定されなかった面のことである。読取制御部４０８は、画像１および画像２をコード検出部２０９に渡し、コード検出部２０９は画像１および画像２をコード検出する（ステップＳ４４）。
【００８２】
読取制御部４０８は、画像１を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像１を印刷し、または送信制御部２１１は画像１を送信する（ステップＳ４５）。
【００８３】
ステップＳ４０において、読取制御部４０８は、操作表示制御部４０１により読取範囲として片面の指定を受け付けなかったことを確認した場合は（ステップＳ４０：Ｎｏ）、表面を読み取り、読み取った画像を画像１として取得する（ステップＳ４６）。次に、読取制御部４０８は裏面を読み取り、読み取った裏面を画像２として取得する（ステップＳ４７）。読取制御部４０８は、画像１および画像２をコード検出部２０９に渡し、コード検出部２０９は画像１および画像２をコード検出する（ステップＳ４８）。
【００８４】
読取制御部４０８は、画像１および画像２を読取画像として印刷制御部２１０や送信制御部２１１に渡し、印刷制御部２１０は画像１および画像２を印刷し、または送信制御部２１１は画像１および画像２を送信する（ステップＳ４９）。
【００８５】
このように、本実施の形態によれば、両面原稿のうち片面を読取範囲として受け付けた場合であっても、両面をコード検出するので、指定された面と異なる面に存在するコードをも確実に検出することができる。
【００８６】
また、このように本実施の形態によれば、両面原稿の両面をコード検出した場合であっても、片面だけが読取範囲として指定されている場合は、読取範囲でない面についてはモノクロで読み取ることから読み取り処理における使用メモリ量を抑制することができる。
【００８７】
（実施の形態４）
実施の形態２では、読取範囲の指定を受け付けた場合について説明した。これに対して、本実施の形態では、消去範囲の指定を受け付けた場合の処理について説明する。
【００８８】
本実施の形態における画像形成装置のハードウェア構成については実施の形態１と同様である。図２６は、実施の形態４にかかるＣＰＵ１０１のソフトウェア構成を示すブロック図である。図２６に示すように、ＣＰＵ１０１は、操作表示制御部５０１と、ＭＦＰアプリケーション制御部２０２と、共通サービス制御部２０７と、デバイス制御部２１３を主に備え、ＲＡＭ１０３と接続されている。なお、ＣＰＵ１０１のソフトウェア構成は、読取制御部５０８以外の各部の機能および構成は実施の形態２と同様である。
【００８９】
操作制御表示部５０１は、消去範囲の指定を受け付ける。具体的には、原稿のうち読み取らない領域を消去範囲として指定を受け付ける。読取制御部５０８は、操作表示制御部５０１により消去範囲の指定を受け付けた場合であっても、原稿を全面読み取る。
【００９０】
次に、以上のように構成された本実施の形態における画像形成装置によるコード検出処理の手順について説明する。図２７は、実施の形態４にかかる画像形成装置によるコード検出処理の流れを示すフローチャートである。
【００９１】
操作表示制御部５０１は、消去範囲の指定を受け付ける（ステップＳ５０）。ここで、消去範囲の指定について説明する。図２８は、消去範囲の一例を示す説明図である。図２８は、消去範囲として所定の範囲の枠が指定された原稿２０００を示す。本図において、矢印Ｘは主走査方向を示し、矢印Ｙは副走査方向を示す。また、原稿２０００の左上端部には斜線を付した丸で示すコードが印刷されている。操作表示制御部２０１は、消去する範囲として矢印Ｘａが示す主走査先端の枠と、矢印Ｘｚが示す主走査後端の枠と、矢印Ｙａが示す副走査先端の枠と、矢印Ｙｚが示す副走査後端の枠の指定を受け付ける。
【００９２】
図２９は、消去範囲を消去して得られる画像の一例を示す説明図である。図２９に示すように、図２８において操作表示制御部５０１により受け付けられた枠を消去して得られた画像２００１を示す。ここで、図２８に示した原稿２０００の左上端部のコードは、消去範囲に存在するため消去範囲の消去と同時に消去されている。そこで、コード検出部２０９が、画像２００１についてコード検出すると、消去範囲に存在したコードを検出できないこととなる。
【００９３】
そこで、ステップS５１において、読取制御部５０８は原稿の全面を読み取り、原稿画像を取得する（ステップＳ５１）。図３０は、読取制御部５０８により読み取られた画像の一例を示す図である。図３０に示すように、読取制御部５０８は、図２８に示した原稿２０００について消去範囲が指定されていた場合であっても、原稿２０００全面を読み取り、読み取った画像２００６を取得する。読取制御部５０８は、ＲＡＭ１０３からコード領域を取得する（ステップＳ５２）。図３１は、コード領域の一例を示す説明図である。図３１に示すように、読取制御部５０８は、原稿２０００のうち４箇所に示すコード領域２００２を取得する。
【００９４】
読取制御部５０８は、取得したコード領域をコード検出部２０９に渡し、コード検出部２０９はコード領域からコードを検出する（ステップＳ５３）。例えば、コード検出部２０９は、４つのコード領域２００２をコード検出する。
【００９５】
印刷制御部２１０は、取得された原稿画像のうち、操作表示制御部２０１により受け付けられた消去範囲を消去する（ステップＳ５４）。図３２は、消去範囲を消去して得られた画像の一例を示す説明図である。図３２に示すように、印刷制御部２１０は、ＤＭＡＣ１１４や、ＣＰＵ１０１により画像２００６にメモリアクセスし、白データを書き込み、画像２００７を取得する。印刷制御部２１０、または送信制御部２１１は、消去範囲が消去された画像を出力する（ステップＳ５５）。例えば、印刷制御部２１０は画像２００７を印刷し、送信制御部２１１は画像２００７を送信する。
【００９６】
また、他の例として、操作表示制御部２０１が、原稿内の任意の矩形を消去範囲として受け付ける場合について説明する。図３３は、原稿内の任意の矩形が消去範囲として指定された両面原稿の一例を示す説明図である。図３３に示すように、両面原稿２０１０は、原稿表面２０１１と原稿裏面２０１２からなる。読取制御部５０８は、原稿表面２０１１を読み取り、画像２０２１を取得する。また、読取制御部５０８は、原稿裏面２０１２を読み取り、画像２０２２を取得する。ここで、画像２０２１または画像２０２２のうち、右上端部から主走査方向上の消去範囲までを座標ｘ１とし、消去範囲をｘ２とする。また、画像２０２１または画像２０２２のうち、右上端部から副走査方向上の矩形の消去範囲２２００までを座標ｙ１とし、消去範囲をｙ２とする。なお、図３３に示す座標ｘ１、ｘ２、ｙ１、ｙ２の値については、表面と裏面で異なる値を指定することもできる。
【００９７】
ここで、座標ｘ１、ｘ２、ｙ１、ｙ２が、コード領域の４隅と重複する条件について説明する。図３４は、消去範囲とコード領域の位置関係を示す説明図である。図３４に示すように、コード領域２１００は原稿２３００の４隅に位置し、矩形の消去範囲２２００は原稿２３００内に位置する。
【００９８】
このような位置関係において、読取制御部５０８は、コード領域２１００が矩形の消去範囲２２００と重複するか否かを判断し、重複する場合、読み取った画像から矩形の消去範囲２２００を消去する前にコード領域をコード検出部２０９に渡す。一方、読取制御部５０８は、コード領域２１００が矩形の消去範囲２２００と重複しないと判断した場合は、読み取った画像から矩形の消去範囲２２００を消去した後に、コード領域をコード検出部２０９に渡す。
【００９９】
なお、読取制御部５０８は、以下の条件式（１）から（６）のいずれかを満たす場合に、矩形の消去範囲２２００がコード領域と重複すると判断する。
x1<xS  ・・・（１）
x1>xS+xL・・・（２）
x2>xS+xL-x1・・・（３）
ｙ1<yS・・・（４）
y1>yS+yL・・・（５）
y2>yS+yL-y1・・・（６）
【０１００】
また、他の例として、操作表示制御部２０１が、原稿のセンターを消去範囲として受け付ける場合について説明する。図３５は、原稿のセンターが消去範囲として指定された原稿の一例を示す説明図である。図３５に示すように、原稿２５００のうち主走査方向上の全長を用紙幅Ｌとする。なお、用紙幅Ｌの値は、スキャナエンジン１０８により検出可能、またはユーザにより指定可能な値である。また、センターを消去する幅を消去幅Ｌ２とする。なお、消去幅Ｌ２は、消去範囲の幅であって、用紙幅Ｌの中心を基準に指定される値である。また、原稿２５００の主走査方向におけるコード領域２１００の幅をｘＳとする。
【０１０１】
このような位置関係において、読取制御部５０８は、コード領域２１００がセンターの消去範囲２４００と重複するか否かを判断し、重複する場合、読み取った画像から消去範囲２４００を消去する前にコード領域をコード検出部２０９に渡す。一方、読取制御部５０８は、コード領域２１００が消去範囲２４００と重複しないと判断した場合は、読み取った画像から指定された消去範囲を消去した後に、コード領域をコード検出部２０９に渡す。
【０１０２】
具体的には、読取制御部５０８は、用紙幅Ｌから消去幅Ｌ２を引いた範囲は消去することなく画像として読み取る。そこで、読取制御部５０８は、コード領域２１００がセンターの消去範囲２４００と重複するか否かを判断する際、用紙幅Ｌから消去幅Ｌ２を引いた範囲（Ｌ−２（ｘＳ））がコード領域のｘＳの２倍の値以下であるか否かを重複の判断基準として用いる。読取制御部５０８は、以下の条件式（７）を満たす場合に、センターの消去範囲２４００がコード領域と重複すると判断する。
L2  ＞  L−2(xS)・・・（７）
【０１０３】
このように、本実施の形態によれば、消去範囲が指定された場合であっても、消去処理に先行してコード領域をコード検出するので確実にコードを検出することができる。
【０１０４】
本実施の形態の画像形成装置で実行されるコード検出プログラムは、上述した各部（読取制御部、コード検出部、印刷制御部、送信制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からコード検出プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、読取制御部、コード検出部、印刷制御部、送信制御部が主記憶装置上に生成されるようになっている。
【０１０５】
本実施の形態の画像形成装置で実行されるコード検出プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１０６】
さらに、本実施の形態の画像形成装置で実行されるコード検出プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の画像形成装置で実行されるコード検出プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１０７】
本実施の形態の画像形成装置で実行されるコード検出プログラムは、上述した各部（読取制御部、コード検出部、印刷制御部、送信制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからコード検出プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、読取制御部、コード検出部、印刷制御部、送信制御部が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１０８】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＮＶＲＡＭ
１０５  ＨＤＤＩ／Ｆ制御部
１０６  ネットワークＩ／Ｆ制御部
１０７  スキャナエンジン制御部
１０８  スキャナエンジン
１０９  プリントエンジン制御部
１１０  プリントエンジン
１１１  操作表示Ｉ／Ｆ制御部
１１２  操作表示部
１１３  画像処理制御部
１１４  ＤＭＡＣ
２０１、４０１、５０１  操作表示制御部
２０２  ＭＦＰアプリケーション制御部
２０３  出力部
２０４  コピー部
２０５  配信部
２０６  抑制部
２０７  共通サービス制御部
２０８、３０８、４０８  読取制御部
２０９  コード検出部
２１０  印刷制御部
２１１  送信制御部
２１２  課金管理部
２１３  デバイス制御部
２１４  スキャナ制御指示部
２１５  プリント制御指示部
２１６  画像処理指示部
【先行技術文献】
【特許文献】
【０１０９】
【特許文献１】特開２００８−２８８８４７号公報
【図１】
0005423432.tif 000002
【図２】
0005423432.tif 000003
【図３】
0005423432.tif 000004
【図４】
0005423432.tif 000005
【図５】
0005423432.tif 000006
【図６】
0005423432.tif 000007
【図７】
0005423432.tif 000008
【図８】
0005423432.tif 000009
【図９】
0005423432.tif 000010
【図１０】
0005423432.tif 000011
【図１１】
0005423432.tif 000012
【図１２】
0005423432.tif 000013
【図１３】
0005423432.tif 000014
【図１４】
0005423432.tif 000015
【図１５】
0005423432.tif 000016
【図１６】
0005423432.tif 000017
【図１７】
0005423432.tif 000018
【図１８】
0005423432.tif 000019
【図１９】
0005423432.tif 000020
【図２０】
0005423432.tif 000021
【図２１】
0005423432.tif 000022
【図２２】
0005423432.tif 000023
【図２３】
0005423432.tif 000024
【図２４】
0005423432.tif 000025
【図２５】
0005423432.tif 000026
【図２６】
0005423432.tif 000027
【図２７】
0005423432.tif 000028
【図２８】
0005423432.tif 000029
【図２９】
0005423432.tif 000030
【図３０】
0005423432.tif 000031
【図３１】
0005423432.tif 000032
【図３２】
0005423432.tif 000033
【図３３】
0005423432.tif 000034
【図３４】
0005423432.tif 000035
【図３５】
0005423432.tif 000036