<画像読取装置10の機械的構成>
図1(A)および図2を用いて画像複写装置10について説明する。図1(A)おいて、上下左右の方向は矢印に示す方向である。画像複写装置10は、図2に示すように、読取ユニット80と記録ユニット90とから構成される。記録ユニット90は、筐体43内に配置され、例えば周知のインクジェット記録ユニットから構成される。記録ユニット90は、バンド単位でRAM13に記憶された後述する縮小画像データを記録する。
読取ユニット80は、図1(A)に示すように、筐体43の上側に配置される。読取ユニット80は、筐体43の上部に原稿カバー46が設けられている。筐体43は、概ね箱型に形成されており、上部に第1プラテンガラス44と、第2プラテンガラス45とが配置されている。白色基準板61は、第2プラテンガラス45と筐体43との間に固定され、原稿GSの背景色である白色を有している。
原稿カバー46は、各プラテンガラス44、45を覆う閉姿勢と、各プラテンガラス44、45を開放する開姿勢とに回動可能に筐体43に連結されている。原稿カバー46には、ADF19、原稿トレイ58、排紙トレイ59などが設けられている。
ADF19は、原稿トレイ58にセットされた原稿GSを、読み取り時に読取部17が位置する読取位置RPまで搬送経路57に沿って搬送させるとともに、読取部17による読み取り後の原稿GSを排紙トレイ59まで搬送させる。読取位置RPは、副走査方向(矢印F方向または矢印B方向)の位置である。
ADF19の内部には、分離ローラ50、分離ローラ50を軸支する軸に基端側を軸支されたアーム51の先端部に回転自在に設けられている吸入ローラ52、複数の搬送ローラ53,54、排紙ローラ55、これらに圧接する複数の従動ローラ56が設けられている。原稿GSはこれらのローラに搬送されて搬送経路57を搬送され、読み取り時に読取部17が位置する読取位置RPを通過して排紙トレイ59に排紙される。
読取部17は、画像複写装置10の筐体43の内部に収容されている。読取部17は、主走査方向(図1(A)の紙面手前方向)に1ラインの原稿GSを読み取る。読取部17は、ADF19により搬送される原稿GSを読み取る場合に、第2プラテンガラス45を介して原稿押え板60に対向する位置に停止し、その位置を読取位置RPとして、光源の色を順次切り替えながら、第2プラテンガラス45を介して原稿GSを読み取る。一方、読取部17は、第1プラテンガラス44上に載置される原稿GSを読み取る場合に、駆動回路18(図2参照)を用いて、読取部17を副走査方向(矢印F方向または矢印B方向)に一定速度で移動させつつ、光源の色を順次切り替えながら原稿GSを読み取る。
原稿押え板60は、読取部17が第2プラテンガラス45を介して読み取ることのできる位置に設けられている。原稿押え板60は、均一な濃度である白色を有する。
フロントセンサ20は、原稿トレイ58にセットされた原稿GSの有無を検出するセンサとして機能する。リアセンサ21は、読取部17による原稿GSの読み取り開始タイミングを計るためのセンサとして機能する。具体的には、画像複写装置10は、リアセンサ21が原稿GSを検出したタイミングから、第1距離L1だけ原稿GSを搬送する。画像複写装置10は、その第1距離L1だけ原稿GSが搬送されたタイミングから、読取部17による原稿GSの読み取りを開始する。本実施形態では、第1距離L1は、53mmである。
また、リアセンサ21は、読取部17による原稿GSの読み取り終了タイミングを確定するために原稿GSの後端を検出するセンサとして機能する。具体的には、画像複写装置10は、リアセンサ21が原稿GSを検出しなくなったタイミングから、第1距離L1だけ原稿GSを搬送する。画像複写装置10は、その第1距離L1だけ原稿GSが搬送されたタイミングで、読取部17による原稿GSの読み取りを終了する。リアセンサ21は、原稿GSを検出しなくなったタイミングで後端検知信号TDSを送信する。
<画像複写装置10の電気的構成>
画像複写装置10の電気的構成について図2、図3、および図4を参照して説明する。図2において、画像複写装置10は、CPU11、ROM12、RAM13、フラッシュPROM14、デバイス制御部22、アナログフロントエンド(以下、AFEという)28、画像処理部23、駆動回路18、記録ユニット90、画像取得ライン制御部60、および縮小処理部70を主な構成要素として備える。これらの主な構成要素は、バス24を介して、操作部15、表示部16、フロントセンサ20、およびリアセンサ21に接続される。
ROM12は、後述する縮小複写処理など、画像複写装置10の各種動作を実行するためのプログラムを記憶する。CPU11は、ROM12から読み出されたプログラムに従って、各部の制御を行う。フラッシュPROM14は、読み書き可能な不揮発性メモリであり、各ハードウェアの設定値、例えば縮小カウント値RCVの初期値である初期縮小カウント値IRCV、各解像度における残ライン数RLVなどを記憶する。RAM13は、CPU11の制御処理により生成された算出結果などを一時的に記憶する。
デバイス制御部22は、読取部17に接続され、CPU11からの読取指令に基づいて、読取部17を制御する信号を読取部17に送信する。読取部17は、デバイス制御部22から読取部17を制御する信号を受け取ると、図示しない光源を点灯させるとともに、主走査方向に1ラインに並んだ受光部が受光した受光量に応じた1ラインのアナログ信号を先頭ラインから最終ラインまでAFE28に送信する。デバイス制御部22は、リアセンサ21から後端検知信号TDSを受け取ると、動作を停止する。本実施形態では、先頭ラインは副走査方向における原稿GSの先端に対応するラインであり、最終ラインは副走査方向における原稿GSの後端に対応するラインである。
AFE28は、読取部17に接続され、CPU11からの読取指令に基づいて、読取部17から送信される1ラインのアナログ信号を1ラインのデジタルデータに変換する。AFE28によって変換された1ラインのデジタルデータは、RAM13に記憶される。AFE28は、1ラインのデジタルデータをRAM13に記憶すると、ラインエンド信号LESを画像取得部61に送信する。AFE28は、リアセンサ28から後端検知信号TDSを受け取ると、動作を停止する。本実施形態では、先頭ラインから最終ラインまでの合計のラインのデジタルデータが、原稿GSの1頁のデジタルデータである。
画像処理部23は、画像処理用の専用ICであるASICから構成され、画像取得信号IASが示すデジタルデータを取得して画像処理を施す。具体的には、画像処理部23は、画像取得ライン制御部60から画像取得信号IASを受け取ると、画像取得信号IASが示すラインのデジタルデータをRAM13から取得する。画像処理部23は、取得したラインデータに光量ムラを補正するシェーディング補正などを施し、記録ユニット90に対応するデータへ変換する2値化処理を施した後に、縮小画像データとしてRAM13に記憶する。
駆動回路18は、ADFモータMT1およびFBモータMT2に接続され、CPU11から送信される駆動指令に基づいてADFモータMT1およびFBモータMT2を駆動する。駆動回路18は、駆動指令により指令された回転量および回転方向に従ってADFモータMT1およびFBモータMT2を回転させる。ADFモータMT1が所定量だけ回転すると、給紙ローラ50、搬送ローラ53、54、および排紙ローラ55が所定角度回転し、搬送経路57において原稿GSが所定距離だけ搬送される。FBモータMT2が所定量だけ回転すると、読取部17が副走査方向(矢印F方向および矢印B方向)に移動される。駆動回路18は、リアセンサ28から後端検知信号TDSを受け取ると、駆動を停止する。
記録ユニット90は、CPU11からの命令に基づいて、RAM13に記憶された縮小画像データを記録する。本実施形態では、記録ユニット90は、インクジェット記録ユニットから構成され、バンド単位で複数ラインの縮小画像データを記録する。表示部16は、LCDから構成され、画像複写装置10の状況を表示する。操作部15は、各種処理を実行する開始ボタン、各種設定を行うための設定ボタンなどを含む。
図3を参照して画像取得ライン制御部60について説明する。画像取得ライン制御部60は、画像取得制御部61と、ラインカウント制御部62と、取得ライン制御部63と、から構成される。
画像取得制御部61は、CPU11からページスタート信号PSSを受け取ると、縮小処理部70へライン開始信号LSSGを送信するとともに、ラインカウント制御部62へページスタート信号PSSを送信する。画像取得制御部61は、リアセンサ21から後端検知信号TDSを受け取るまで、AFE28からラインエンド信号LESを受け取る毎に、縮小処理部70へライン開始信号LSSGを送信する。画像取得制御部61は、リアセンサ21から後端検知信号TDSを受け取ると、ライン開始信号LSSGの送信を停止し、その後に再開信号RSSを受け取ると、AFE28からラインエンド信号LESを受け取る毎に、縮小処理部70へライン開始信号LSSGを送信する。
ラインカウント制御部62は、ライン記憶部65と、後端ライン記憶部67と、を備える。ライン記憶部65は、ラインカウント値LCVを記憶する。後端ライン記憶部67は、後端ラインカウント値TLCVを記憶する。ラインカウント制御部62は、ページスタート信号PSSを受け取ると、後端検知信号TDSを受け取っていない状態にリセットするとともに、ラインカウント値LCVを「0」とする。ラインカウント制御部62は、後端検知信号TDSを受け取っていない状態において、画像取得ライン制御部60からラインスキップ信号LSKSを受け取ると、ラインカウント値LCVに「1」を加算し、画像取得ライン制御部60からライン取得信号LASを受け取ると、ラインカウント値LCVに「1」を加算するとともに、取得ライン制御部63へ「1」を加算したラインカウント値LCVとライン取得信号LASとを送信する。
ラインカウント制御部62は、CPU11から後端検知信号TDSを受け取ると、後端検知信号TDSを受け取っていない状態から後端検知信号TDSを受け取った状態となる。ラインカウント制御部62は、後端検知信号TDSを受け取った状態において、画像取得ライン制御部60からラインスキップ信号LSKSを受け取ると、ラインカウント値LCVおよび後端ラインカウント値TLCVにそれぞれ「1」を加算し、画像取得ライン制御部60からライン取得信号LASを受け取ると、ラインカウント値LCVおよび後端ラインカウント値TLCVにそれぞれ「1」を加算するとともに、取得ライン制御部63へ「1」を加算したラインカウント値LCVとライン取得信号LASとを送信する。
取得ライン制御部63は、ライン取得信号LASおよびラインカウント値LCVを受け取ると、ラインカウント値LCVに対応するラインのデジタルデータを取得するための信号である画像取得信号IASを画像処理部23へ送信する。本実施形態では、ラインカウント値LCVに対応するラインのデジタルデータは、例えばラインカウント値が「1」のときは、1ライン目のデジタルデータである。
図4(A)を参照して縮小処理部70について説明する。縮小処理部70は、縮小係数記憶部71と、縮小カウント値記憶部72と、縮小演算部73と、縮小更新判定部74と、更新縮小カウント値算出部75と、最終ライン出力判定部76と、ラインスキップ判断部77と、から構成される。
縮小係数記憶部71は、CPU11から縮小係数RDCを受け取ると、縮小係数RDCを記憶する。
縮小カウント値記憶部72は、CPU11から初期縮小カウント値IRCVを受け取ると、初期縮小カウント値IRCVを縮小カウント値RCVとして記憶する。縮小カウント値記憶部72は、縮小演算部73から縮小カウント値RCVを受け取ると、受け取った縮小カウント値RCVを記憶する。縮小カウント値記憶部72は、更新縮小カウント値RRCVを受け取ると、縮小カウント値RCVに更新縮小カウント値RRCVを加算して縮小カウント値RCVとして記憶する。本実施形態では、初期縮小カウント値IRCVは、第1所定値と同じ値である「65536」である。初期縮小カウント値IRCVを第1所定値と同じ値にする事で、先頭ラインのデジタルデータが縮小画像データとして取得される。
縮小演算部73は、フラグ記憶部78を備える。フラグ記憶部78は、CPU11またはラインスキップ判断部77からラインスキップフラグLSFGを受け取ると、ラインスキップフラグLSFGを記憶する。ラインスキップフラグLSFGがオフのときに、縮小演算部73は、ライン開始信号LSSGを受け取ると、縮小カウント値記憶部72から縮小カウント値RCVを取得し、縮小係数記憶部71から縮小係数RDCを取得する。縮小演算部73は、縮小カウント値RCVに縮小係数RDCを加算し、加算した値が第1所定値以上であるか否かを判断する。縮小演算部73は、加算した値が第1所定値以上であるときに、画像取得ライン制御部60および縮小更新判定部74へライン取得信号LASを送信し、加算した値が第1所定値未満であるときに、画像取得ライン制御部60へラインスキップ信号LSKSを送信する。縮小演算部73は、加算した値が第1所定値以上のときに、加算した値から第1所定値を引算して、引算した値を縮小カウント値RCVとして縮小カウント値記憶部72に送信し、加算した値が第1所定値未満であるときに、加算した値を縮小カウント値RCVとして縮小カウント値記憶部72に送信する。本実施形態では、第1所定値は「65536」である。
ラインスキップフラグLSFGがオンのときに、縮小演算部73は、ライン開始信号LSSGを受け取ると、縮小カウント値記憶部72から縮小カウント値RCVを取得し、縮小係数記憶部71から縮小係数RDCを取得する。縮小演算部73は、縮小カウント値RCVに縮小係数RDCを加算し、加算した値が第1所定値以上であるか否かを判断する。縮小演算部73は、加算した値が第1所定値以上であるときに、フラグ記憶部78に記憶されているラインスキップフラグLSFGをオフにし、画像取得ライン制御部60へラインスキップ信号LSKSを送信し、加算した値が第1所定値未満であるときに、画像取得ライン制御部60へラインスキップ信号LSKSを送信する。縮小演算部73は、加算した値が第1所定値よりも大きいときに、加算した値から第1所定値を引算して、引算した値を縮小カウント値RDCとして縮小カウント値記憶部72に送信し、加算した値が第1所定値以下であるときに、加算した値を縮小カウント値RDCとして縮小カウント値記憶部72に送信する。
縮小更新判定部74は、リアセンサ21から後端検知信号TDSを受け取ると、縮小演算部73からライン取得信号LASを受け取るまで待機する。縮小更新判定部74は、後端検知信号TDSを受け取った後に、ライン取得信号LASを受け取ると、更新縮小カウント値算出部75へ縮小更新時期信号RRTSを送信する。
更新縮小カウント値算出部75は、残ライン数記憶部79を備える。残ライン数記憶部79は、CPU11から残ライン数RLVを受け取ると、残ライン数RLVを記憶する。更新縮小カウント値算出部75は、縮小更新時期信号RRTSを受け取ると、縮小係数記憶部71から縮小係数RDCを取得し、縮小カウント値記憶部72から縮小カウント値RCVを取得し、後端ライン記憶部67から後端ラインカウント値TLCVを取得する。更新縮小カウント値算出部75は、図4(B)に示す数式に従って、更新縮小カウント値RRCVを算出する。具体的には、更新縮小カウント値算出部75は、残ライン数RLVから後端ラインカウント値TLCVを引き算し、引き算した値に縮小係数RDCを掛け算し、掛け算した値に縮小カウント値RCVを足し算し、足し算した値の第1所定値による剰余を第1所定値から引き算して更新縮小カウント値RRCVを算出する。更新縮小カウント値算出部75は、更新縮小カウント値RRCVを最終ライン出力判定部76に送信する。
最終ライン出力判定部76は、更新縮小カウント値RRCVを受け取ると、最終ラインのデジタルデータが縮小画像データとして取得されるか否かを判断する。具体的には、最終ライン出力判定部76は、更新縮小カウント値RRCVを受け取ると、更新縮小カウント値RRCVが「0」であるか否かを判断する。最終ライン出力判定部76は、更新縮小カウント値RRCVが「0」であるときに、最終ラインのデジタルデータが縮小画像データとして取得されると判断する。最終ライン出力判定部76は、更新縮小カウント値RRCVが「0」でないときに、最終ラインのデジタルデータが縮小画像データとして取得されないと判断し、ラインスキップ判断部77へ更新縮小カウント値RRCVを送信する。
ラインスキップ判断部77は、更新縮小カウント値RRCVを受け取ると、更新縮小カウント値RRCVが第2所定値以上であるか否かを判断する。ラインスキップ判断部77は、更新縮小カウント値RRCVが第2所定値以上であると判断すると、ラインスキップフラグLSFGをオンにして縮小演算部73に送信するとともに、更新縮小カウント値RRCVを縮小カウント値記憶部72へ送信する。ラインスキップ判断部77は、更新縮小カウント値RRCVが第2所定値未満であると判断すると、更新縮小カウント値RRCVを縮小カウント値記憶部72へ送信する。本実施形態では、第2所定値は「32768」である。第2所定値を第1所定値である「65536」の2分の1に設定することで、リアセンサ21が原稿GSの後端を検知した直後のライン付近の縮小画像データの縮小率が2倍以上変化してしまうことを防止することができる。
<実施形態の動作>
次に、画像複写装置10の動作について図面を参照して説明する。画像複写装置10は、原稿GSを縮小して複写する縮小複写処理を主に実行する。縮小複写処理中の処理R1〜処理R7は、CPU11が実行する処理である。
(縮小複写処理)
縮小複写処理は、ユーザにより原稿GSが原稿トレイ58に載置され、操作部15により縮小率RR、および解像度RVを入力した後に、開始ボタンが押下されることにより開始される。即ち、CPU11は、縮小率RR、および解像度RVが入力された後に、フロントセンサ20がオンした状態で、開始指令を受け取ると縮小複写処理を開始する。
縮小複写処理が開始されると、CPU11は、縮小処理部70、デバイス制御部22、および駆動回路18を初期化する(R1)。具体的には、CPU11は、ユーザが入力した解像度RVに対応する読取部17の設定をフラッシュPROM14から取得し、デバイス制御部22に設定する。CPU11は、解像度RVに対応する設定値を駆動回路18に設定する。CPU11は、縮小カウント値記憶部72に初期縮小カウント値IRCVを送信する。CPU11は、縮小演算部73にラインスキップフラグLSFGをオフにして送信する。CPU11は駆動回路18に指令を出力し、読取部17を読取位置RPに移動させる。
CPU11は、縮小係数RDCを算出し、縮小係数記憶部71に送信する(R2)。具体的には、CPU11は、縮小率RRに第1所定値を掛け算して縮小係数RDCを算出する。CPU11は、算出した縮小係数RDCを縮小係数記憶部71に送信する。本実施形態では、縮小率RRは、「1%」から「99%」までの値である。
CPU11は、読取動作を開始する(R3)。具体的には、CPU11は、駆動回路18に駆動指令を送信して原稿GSを搬送させる。CPU11は、駆動回路18に駆動指令を送信してリアセンサ21が原稿GSの先端を検出したタイミングから第1距離L1まで原稿GSを搬送させることにより、原稿GSを読取位置RPまで搬送させる。CPU11は、デバイス制御部22およびAFE28に読取指令を送信して、搬送させた原稿GSを読み取らせる。読取部17は、原稿GSの先頭ラインからリアセンサ21が後端検知信号TDSを検出してから残ライン数RLV後の最終ラインまでのアナログ信号を生成してAFE28へ送信する読取動作を開始する。AFE28は、先頭ラインからリアセンサ21が後端検知信号TDSを検出してから残ライン数RLV後の最終ラインまでのアナログ信号をデジタルデータに変換して先頭ラインから最終ラインまでのデジタルデータをRAM13に記憶する読取動作を開始する。
CPU11は、縮小/記録動作を開始する(R4)。具体的には、CPU11は、画像取得制御部61にページスタート信号PSSを送信し、記録ユニット90に記録指令を送信する。画像処理部23は、前述した画像取得信号IASに基づきRAM13に縮小画像データを記憶する。記録ユニットは記録指令に基づき、RAM13の縮小画像データを記録する記録動作を開始する。
CPU11は、リアセンサ21が原稿GSの後端を検知したか否かを判断する(R5)。具体的には、CPU11は、リアセンサ21から後端検知信号TDSを受け取ったとき(R5:Yes)に、原稿GSの後端を検知したと判断し、処理R6へ進み、リアセンサ21から後端検知信号TDSを受け取っていないとき(R5:No)に、後端検知信号TDSを受け取るまで待機する。
CPU11は、解像度RVに対応する残ライン数RLVをフラッシュPROM14から取得し、取得した残ライン数RLVを更新縮小カウント値算出部75に送信する(R6)。本実施形態では、図1(B)に示すように、第1距離L1が53mmであるため、解像度RVが300DPIのときは、残ライン数RLVは「625」であり、解像度RVが600DPIのときは、残ライン数RLVは「1251」であり、解像度RVが1200DPIのときは、残ライン数RLVは「2503」である。
CPU11は、縮小/記録動作を再開する(R7)。具体的には、CPU11は、駆動回路18に駆動指令を送信し、デバイス制御部22およびAFE28に読取指令を送信し、画像取得制御部61に再開信号RSSを送信する。読取部17は、原稿GSの最終ラインまでのアナログ信号を生成してAFE28へ送信する読取動作を再開する。AFE28は、最終ラインまでのアナログ信号をデジタルデータに変換して最終ラインまでのデジタルデータをRAM13に記憶する読取動作を再開する。記録ユニット90は、RAM13に記憶された全ての縮小画像データを記録する。処理R7が終了すると、縮小複写処理が終了する。
(具体例)
次に、図6および図7を参照して、解像度RVが300DPIに設定され、縮小率RRが「30%」に設定されたときのRAM13に記憶される縮小画像データについて説明する。図6および図7において、ライン位置は、原稿GSにおけるラインの位置を示し、縮小カウント値RCVは、各ライン位置における縮小カウント値RCVを示し、縮小画像データは、各ライン位置において、黒色であればデジタルデータが縮小画像データとしてRAM13に記憶されること、白色であればデジタルデータが縮小画像データとしてRAM13に記憶されないことを示す。縮小係数RDCは、縮小率RRである「30%」に第1所定値である「65536」を掛け算して、「19661」となる。図6は、原稿GSの原稿サイズがA5サイズであり、図7は、原稿GSの原稿サイズがA6サイズである。A5サイズは、副走査方向の長さが210mmであり、A6サイズは、副走査方向の長さが148mmである。
原稿GSの原稿サイズがA5サイズのときについて説明する。図6(A)を参照して、1ライン目から5ライン目までの縮小カウント値RCVおよび縮小画像データについて説明する。1ライン目の縮小カウント値RCVとしては、初期縮小カウント値IRCVである「65536」が設定される。1ライン目の縮小カウント値RCVは第1所定値以上であるため、1ライン目のデジタルデータは縮小画像データとして取得される。縮小カウント値RCVは、「65536」であり、第1所定値以上であるため、第1所定値が引き算されて1ライン目の縮小カウント値RCVは「0」となる。
2ライン目の縮小カウント値RCVは、1ライン目の縮小カウント値である「0」に縮小係数RDCである「19661」を加算して、「19661」となる。2ライン目の縮小カウント値RCVは第1所定値未満であるため、2ライン目のデジタルデータは縮小画像データとして取得されない。同様に、3ライン目の縮小カウント値RCVは、「19661」に縮小係数RDCを加算して、「39322」となり、3ライン目のデジタルデータは縮小画像データとして取得されない。4ライン目の縮小カウント値RCVは、「39322」に縮小係数RDCを加算して、「58983」となり、4ライン目の縮小カウント値RCVは縮小画像データとして取得されない。5ライン目の縮小カウント値RCVは、「58983」に縮小係数RDCを加算して、「78644」となり、5ライン目のデジタルデータは縮小画像データとして取得される。5ライン目の縮小カウント値RCVは、第1所定値が引き算されて「13108」となる。
図6(B)を参照して、1855ライン目においてリアセンサ21から後端検知信号TDSが検知されたときから1859ライン目までの縮小画像データについて説明する。1855ライン目の縮小カウント値RCVは、「13478」である。このときの後端ラインカウント値TLCVは、「0」である。1856ライン目の縮小カウント値RCVは、縮小係数RDCを加算して、「33139」となり、1856ライン目のデジタルデータは縮小画像データとして取得されない。このときの後端ラインカウント値TLCVは、「1」である。1857ライン目の縮小カウント値RCVは、縮小係数RDCを加算して、「52800」となり、1857ライン目のデジタルデータは縮小画像データとして取得されない。このときの後端ラインカウント値TLCVは、「2」である。1858ライン目の縮小カウント値RCVは、縮小係数RDCを加算して、「72461」となり、1858ライン目のデジタルデータは縮小画像データとして取得される。1858ライン目の縮小カウント値RCVは、第1所定値が引き算されて「6925」となる。このとき後端ラインカウント値TLCVは、「3」である。1859ライン目の縮小カウント値RCVは、更新縮小カウント値RRCVである「19165」と縮小係数RDCとが加算されて、「45751」となる。更新縮小カウント値RRCVが第2所定値である「32768」未満であるため、ラインスキップフラグLSFGはオフとなる。更新縮小カウント値RRCVは、残ライン数RLVである「625」から後端ラインカウント値TLCVである「3」が引き算され、引き算した値である「622」に縮小係数RDCである「19661」を掛け算した値に縮小カウント値RCVである「6925」を加算し、加算した値である「12236067」の第1所定値である「65536」による剰余である「46371」を第1所定値から引き算することにより「19165」が更新縮小カウント値RRCVとして算出される。
図6(C)を参照して2479ライン目から最終ラインである2480ライン目までの縮小画像データについて説明する。2479ライン目の縮小カウント値RCVは、「45875」であり、第1所定値未満であるため、2479ライン目のデジタルデータは縮小画像データとして取得されない。2480ライン目の縮小カウント値RCVは、縮小係数RDCを加算して、「65536」となり、2480ライン目のデジタルデータは縮小画像データとして取得される。縮小カウント値RCVは、第1所定値が引き算されて「0」となる。
次に、原稿GSの原稿サイズがA6サイズのときについて説明する。先頭ライン付近の縮小画像データについては、A5サイズのときと同様であるため、説明を省略する。図7(A)を参照して、1123ライン目においてリアセンサ21から後端検知信号TDSが検知されたときから1126ライン目までの縮小画像データについて説明する。1123ライン目の縮小カウント値RCVは、「39546」である。このときの後端ラインカウント値TLCVは、「0」である。1124ライン目の縮小カウント値RCVは、縮小係数RDCである「19661」を加算して、「59207」となり、1124ライン目のデジタルデータは縮小画像データとして取得されない。このときの後端ラインカウント値TLCVは、「1」である。1125ライン目の縮小カウント値RCVは、縮小係数RDCを加算して、「78868」となり、1125ライン目のデジタルデータは縮小画像データとして取得される。1125ライン目の縮小カウント値RCVは、第1所定値が引き算されて「13332」となる。このとき後端ラインカウント値TLCVは、「2」である。1126ライン目の縮小カウント値RCVは、1125ライン目の縮小カウント値RCVである「13332」に更新縮小カウント値RRCVである「58633」と縮小係数RDCである「19661」とが加算されて、「91626」となる。更新縮小カウント値RRCVが、第2所定値である「32768」以上であるため、ラインスキップフラグLSFGはオンとなり、1126ライン目のデジタルデータは縮小画像データとして取得されない。1126ライン目の縮小カウント値RCVは、第1所定値である「65536」が引き算されて「26090」となる。更新縮小カウント値RRCVは、残ライン数RLVである「625」から後端ラインカウント値TLCVである「2」が引き算され、引き算した値である「623」に縮小係数RDCである「19661」を掛け算した値に縮小カウント値RCVである「13332」を加算し、加算した値である「12262135」の第1所定値である「65536」による剰余である「6903」を第1所定値から引き算することにより「58633」が更新縮小カウント値RRCVとして算出される。図7(A)において、斜線を付した1126ライン目は、ラインスキップフラグLSFGがオンされていることにより、1126ライン目のデジタルデータが縮小画像データとして取得されないことを示している。
図7(B)を参照して1747ライン目から最終ラインである1748ライン目までの縮小画像データについて説明する。1747ライン目の縮小カウント値RCVは、「45875」であり、第1所定値未満であるため、1747ライン目のデジタルデータは縮小画像データとして取得されない。1748ライン目の縮小カウント値RCVは、縮小係数RDCを加算して、「65536」となり、1748ライン目のデジタルデータは縮小画像データとして取得される。縮小カウント値RCVは、第1所定値が引き算されて「0」となる。
<実施形態の効果>
本実施形態では、CPU11は、縮小カウント値記憶部72に初期縮小カウント値IRCVを送信する。縮小演算部73は、ライン開始信号LSSGを受け取ると、縮小カウント値RCVおよび縮小係数RDCを取得する。縮小演算部73は、縮小カウント値RCVに縮小係数RDCを加算し、加算した値が第1所定値以上であるか否かを判断する。縮小演算部73は、加算した値が第1所定値以上であるときに、画像取得ライン制御部60へライン取得信号LASを送信し、加算した値が第1所定値未満であるときに、画像取得ライン制御部60へラインスキップ信号LSKSを送信する。縮小演算部73は、加算した値が第1所定値以上であるときに、加算した値から第1所定値を引算して、引算した値を縮小カウント値RCVとして縮小カウント値記憶部72に送信し、加算した値が第1所定値未満であるときに、加算した値を縮小カウント値RCVとして縮小カウント値記憶部72に送信する。取得ライン制御部63は、ライン取得信号LASを受け取ると、ラインカウント値LCVに対応する画像取得信号IASを画像処理部23へ送信する。画像処理部23は、画像取得信号IASが示すラインのデジタルデータを取得し、画像処理を施した後に、縮小画像データとしてRAM13に記憶する。記録ユニット90は、RAM13に記憶された縮小画像データを記録する。更新縮小カウント値算出部75は、縮小更新時期信号RRTSを受け取ると、縮小係数RDC、縮小カウント値RCV、および後端ラインカウント値TLCVを取得する。更新縮小カウント値算出部75は、残ライン数RLVから後端ラインカウント値TLCVを引き算し、引き算した値に縮小係数RDCを掛け算し、掛け算した値に縮小カウント値RCVを足し算し、足し算した値の第1所定値による剰余を第1所定値から引き算して更新縮小カウント値RRCVを算出する。縮小カウント値記憶部72は、更新縮小カウント値RRCVを受け取ると、縮小カウント値RCVに更新縮小カウント値RRCVを加算して縮小カウント値RCVとして記憶する。よって、縮小カウント値RCVに初期縮小カウント値IRCVを設定し、残ライン数RLV、後端ラインカウント値TLCV、縮小係数RDC、縮小カウント値RCV、および第1所定値を用いて更新縮小カウント値RRCVを算出するため、読取開始時に搬送方向の原稿の長さが分からずに原稿を縮小させながら複写する場合でも、先端付近および後端付近において、縮小率が異なる歪んだ画像とならずに縮小画像データを記録することができる。
縮小更新判定部74は、リアセンサ21から後端検知信号TDSを受け取った後に、ライン取得信号LASを受け取ると、更新縮小カウント値算出部75へ縮小更新時期信号RRTSを送信する。更新縮小カウント値算出部75は、縮小更新時期信号RRTSを受け取ると、更新縮小カウント値RRCVを算出する。ラインスキップ判断部77は、更新縮小カウント値RRCVを受け取ると、更新縮小カウント値RRCVが第2所定値以上であるか否かを判断する。ラインスキップ判断部77は、更新縮小カウント値RRCVが第2所定値以上であると判断すると、ラインスキップフラグLSFGをオンにして縮小演算部73に送信する。縮小演算部73は、ラインスキップフラグLSFGがオンのときに、ライン開始信号LSSGを受け取ると、縮小カウント値RCVおよび縮小係数RDCを取得する。縮小演算部73は、縮小カウント値RCVに縮小係数RDCを加算し、加算した値が第1所定値以上であるか否かを判断する。縮小演算部73は、加算した値が第1所定値以上であるときに、フラグ記憶部78に記憶されているラインスキップフラグLSFGをオフにし、画像取得ライン制御部60へラインスキップ信号LSKSを送信し、加算した値が第1所定値未満であるときに、画像取得ライン制御部60へラインスキップ信号LSKSを送信する。よって、更新縮小カウント値RRCVが第2所定値以上であるときに、ラインスキップフラグLSFGをオンにし、ラインスキップフラグLSFGがオンであって、加算した値が第1所定値以上であるときに、ラインスキップフラグLSFGをオフにし、ラインスキップ信号LSKSを送信するため、リアセンサ21から後端検知信号TDSを受け取った後に、ライン取得信号LASを受け取ったときに算出したラインデータの画像が縮小率の異なる歪んだ画像とならずに縮小画像データを生成することができる。
最終ライン出力判定部76は、更新縮小カウント値RRCVを受け取ると、更新縮小カウント値RRCVが「0」であるか否かを判断する。最終ライン出力判定部76は、「0」であるときに、最終ラインのデジタルデータが縮小画像データとして取得されると判断し、「0」でないときに、最終ラインのデジタルデータが縮小画像データとして取得されないと判断し、ラインスキップ判断部77へ更新縮小カウント値RRCVを送信する。よって、更新縮小カウント値RRCVが「0」でないときに、更新縮小カウント値RRCVを送信するため、少ない加算回数で縮小カウント値RCVを算出することができる。
[実施形態と発明との対応関係]
画像複写装置10、ADF19、リアセンサ21、および記録ユニット90が、本発明の画像複写装置、搬送部、原稿端検知部、および記録部の一例である。残ライン数記憶部79、および縮小係数記憶部71が、本発明の記憶部の一例である。縮小演算部73が、本発明の取得処理部の一例である。更新縮小カウント値算出部75が、本発明の更新値算出部の一例である。縮小更新判定部74、および縮小カウント値記憶部72が、本発明の縮小カウント値更新部の一例である。ラインカウント制御部62が、本発明のラインカウンタ部の一例である。ラインスキップ判断部77が、本発明のラインスキップ判断部の一例である。最終ライン出力判定部76が、本発明の最終ライン出力判定部の一例である。
[変形例]
本発明は、本実施形態に限定されることなく、その趣旨を逸脱しない範囲において種々の変形が可能である。以下にその変形の一例を述べる。
(1)本実施形態では、主にハードウェアにより縮小処理を実行する構成について説明したが、CPU11を使って縮小処理を実行しても良い。
(2)本実施形態では、先頭ラインと最終ラインとが縮小画像データとして取得される場合について説明したが、先頭ライン付近と最終ライン付近とが縮小画像データとして取得されても良い。例えば、縮小率RRで縮小させる場合に、1を縮小率RRで割り算した値である間引きライン数が間引かれることになる。このとき先頭ラインが縮小画像データとして取得される場合に、最終ラインから間引きライン数までのラインの画像が間引かれる虞がある。また、最終ラインが縮小画像データとして取得される場合に、先頭ラインから間引きライン数までのラインの画像が間引かれる虞がある。そこで、初期縮小カウント値IRCVを「65535」に設定すれば、2ライン目のデジタルデータが縮小画像データとして取得されるし、更新縮小カウント値RRCVを算出するときに、残ライン数RLVを「1」減算すれば、最終ラインより1ライン前のデジタルデータが縮小画像データとして取得される。
(3)本実施形態では、第2所定値を第1所定値である「65536」を2で割り算した値である「32768」としたが、他の値でも良い。例えば、縮小率RRが「50%」以上のときは、第2所定値を「32768」よりも大きな値とし、縮小率RRが「30%」以下のときに、第2所定値を「32768」よりも小さな値としても良い。縮小率RRが「50%」以上のときは、間引かれるラインが少ないため、「32768」よりも大きな値とすることで間引かれるラインが少なくなる。縮小率RRが「30%」以下のときは、間引かれるラインが多いため、「32768」よりも小さな値とすることで、間引かれるラインを多くなる。
(4)本実施形態では、縮小カウント値RCVに縮小係数RDCを加算して、縮小カウント値RCVが第1所定値以上であるときに、デジタルデータを間引かずに、縮小カウント値RCVを第1所定値未満であるときに、デジタルデータを間引いて縮小画像データをRAM13に記憶したが、異なる方法でも良い。例えば、縮小カウント値RCVから縮小率に対応する縮小減算係数を縮小カウント値RCVから減算して、「0」以下となったときに、デジタルデータを間引き、「0」より大きいときに、デジタルデータを間引かないような方法でも良い。