JP6883283B2 - 画像読取装置 - Google Patents

画像読取装置 Download PDF

Info

Publication number
JP6883283B2
JP6883283B2 JP2018004719A JP2018004719A JP6883283B2 JP 6883283 B2 JP6883283 B2 JP 6883283B2 JP 2018004719 A JP2018004719 A JP 2018004719A JP 2018004719 A JP2018004719 A JP 2018004719A JP 6883283 B2 JP6883283 B2 JP 6883283B2
Authority
JP
Japan
Prior art keywords
document
scanning direction
cpu
sub
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018004719A
Other languages
English (en)
Other versions
JP2019125900A (ja
Inventor
俊樹 本山
俊樹 本山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018004719A priority Critical patent/JP6883283B2/ja
Priority to US16/246,620 priority patent/US10645248B2/en
Publication of JP2019125900A publication Critical patent/JP2019125900A/ja
Application granted granted Critical
Publication of JP6883283B2 publication Critical patent/JP6883283B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/047Detection, control or error compensation of scanning velocity or position
    • H04N1/0473Detection, control or error compensation of scanning velocity or position in subscanning direction, e.g. picture start or line-to-line synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00684Object of the detection
    • H04N1/00718Skew
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00742Detection methods
    • H04N1/00745Detecting the leading or trailing ends of a moving sheet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00763Action taken as a result of detection
    • H04N1/00774Adjusting or controlling
    • H04N1/00777Inhibiting, e.g. an operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/10Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa using flat picture-bearing surfaces
    • H04N1/1013Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa using flat picture-bearing surfaces with sub-scanning by translatory movement of at least a part of the main-scanning components
    • H04N1/1039Movement of the main scanning components
    • H04N1/1043Movement of the main scanning components of a sensor array

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Image Input (AREA)
  • Exposure Or Original Feeding In Electrophotography (AREA)
  • Control Or Security For Electrophotography (AREA)

Description

本発明は、画像読取装置に関する。
特許文献1に記載の画像読取装置は、主走査方向に沿ったラインセンサを副走査方向に沿って移動させながら原稿を読み取り、読み取った主走査方向における規定位置の読取データと、原稿の白背景色の濃度に基づき決められた閾値とを比較することにより原稿の有無を検出する。副走査方向に原稿がなくなると、規定位置の読取データが原稿の白背景色の濃度ではなく、原稿の白背景色以外の濃度となる。原稿の白背景色の濃度から原稿の白背景色以外の濃度へ切り換わると、画像読取装置は原稿の読取動作を停止する。
特開平9−27909号公報
特許文献1に記載の画像読取装置は、原稿突き当て部に突き当てられずに原稿が無作為に載置されたときに、原稿突き当て部が位置する規定位置に原稿が位置しないことにより、規定位置の読取データが原稿の白背景色の濃度でなくなり、誤って原稿無と判断してしまう問題がある。
そこで、本発明は上述した事情に鑑みてなされ、原稿が無作為に支持された場合でも、原稿を正常に読み取ることのできる画像読取装置を提供することを目的とする。
上記目的を達成するために、請求項1に記載の発明態様では、画像読取装置は、原稿を支持する原稿台と、前記原稿台を開放する開放状態と前記原稿台を閉塞する閉塞状態とに開閉可能な原稿押え部材と、前記原稿台に支持された原稿の画像を主走査方向に沿ったラインイメージセンサで読み取ることにより読取画像データを生成する読取部であって、前記原稿台に支持された原稿を読み取る場合に、前記原稿台に支持された原稿の画像を示す原稿データを読取画像データとして生成し、前記閉塞状態における前記原稿押え部材を読み取る場合に、前記原稿押え部材の画像を示す原稿押えデータを読取画像データとして生成する読取部と、副走査方向に沿って前記ラインイメージセンサを移動させる移動部と、制御部と、を備え、前記制御部は、前記ラインイメージセンサを副走査方向に沿って下流へ前記移動部により移動させながら前記読取部により前記読取画像データを生成させる読取動作を開始する開始処理と、前記開始処理の開始時に前記ラインイメージセンサが位置する副走査方向における読取開始位置から副走査方向に沿って下流へ第1所定距離離れた先端領域下端位置まで前記読取動作を行うことにより生成された先端読取画像データから、主走査方向に沿った原稿の辺である原稿先端と、副走査方向に沿った原稿の2つの辺である2つの原稿側端とを検出する先端検出処理と、前記2つの原稿側端の位置に基づき、主走査方向において前記原稿台に支持された原稿の主走査方向における中央に位置する中央領域と、前記中央領域の位置から前記2つの原稿側端の位置の側にそれぞれ位置する2つの側方領域とを決定する領域決定処理と、前記原稿先端が主走査方向と平行である場合に、前記先端領域下端位置から副走査方向に沿って下流の前記読取画像データである対象読取画像データに傾き無終了処理を施すことにより前記読取動作を終了し、前記原稿先端が主走査方向と平行でない場合に、前記対象読取画像データに傾き有終了処理を施すことにより前記読取動作を終了する終了処理と、を実行し、前記傾き無終了処理は、前記中央領域と前記2つの側方領域との全ての領域において、前記対象読取画像データが前記原稿データから前記原稿押えデータへ変化するときに前記読取動作を終了し、前記傾き有終了処理は、前記中央領域と、前記2つの側方領域とにおける3つの領域における前記対象読取画像データが、それぞれ前記原稿データから前記原稿押えデータへ変化する副走査方向における3つの変化位置を決定し、副走査方向における前記3つの変化位置のうちで、最初に決定される第1変化位置と、2番目に決定される第2変化位置とに基づき前記原稿台に支持された原稿が矩形形状であるか否かを決定し、当該決定と前記3つの変化位置のうちで3番目に決定される第3変化位置とに基づき前記読取動作を終了する。
請求項2に記載の具体的態様では、前記第1変化位置が決定される前記2つの側方領域のうちの一方の領域である第1領域は、第1基点位置から主走査方向に沿って前記中央領域側へ第2所定距離離れた位置までの領域であって、前記第1基点位置は、副走査方向において前記2つの原稿側端のうちの前記読取開始位置に近い原稿側端における副走査方向の前記先端領域下端位置に対応する主走査方向の位置であり、前記第3変化位置が決定される前記2つの側方領域のうちの他方の領域である第3領域は、第3基点位置から、主走査方向に沿って上流に前記第2所定距離離れた位置までの領域であり、前記第3基点位置は、前記2つの原稿側端のうちの前記読取開始位置から遠い原稿側端において前記2つの原稿側端の距離に所定比率を掛け算した距離だけ前記原稿先端から離れた位置であり、前記所定比率は、予め定められた大きさの規定原稿の長辺を前記規定原稿の短辺で割り算した比率であり、前記第2変化位置が決定される領域である前記中央領域は、前記第1基点位置と前記第3基点位置との中点を第2基点位置とし、前記第2基点位置を中心とする前記第2所定距離の範囲の領域であり、前記傾き有終了処理は、前記第3基点位置と、前記第3変化位置とに基づき第1停止距離を算出する停止距離算出処理を含み、前記原稿台に支持された原稿が矩形形状でない場合に、前記第3変化位置を決定するときに前記読取動作を終了し、前記原稿台に支持された原稿が矩形形状である場合に、前記移動部により前記ラインイメージセンサを前記第3変化位置から副走査方向の下流に前記第1停止距離だけ離れた位置へ移動させたときに前記読取動作を終了する。
請求項3に記載の具体的態様では、前記制御部は、主走査方向に対する前記原稿先端の傾き角度である先端角度を算出する角度算出処理を実行し、前記停止距離算出処理は、前記先端角度に正弦処理を施した値に、副走査方向における前記第3基点位置と前記第3変化位置との距離を掛け算し、さらに掛け算した距離に前記先端角度に正弦処理を施した値を掛け算することにより前記第1停止距離を算出する。
請求項4に記載の具体的態様では、前記制御部は、主走査方向における前記第1領域と前記第2領域との距離に、前記先端角度に正接処理を施した値を掛け算することにより第1距離を算出する第1距離算出処理を実行し、前記傾き有終了処理は、副走査方向における前記第1変化位置と前記第2変化位置との距離が、前記第1距離と同じである場合に、前記原稿台に支持された原稿が矩形形状であることを決定し、副走査方向における前記第1変化位置と前記第2変化位置との距離が、前記第1距離と同じでない場合に、前記原稿台に支持された原稿が矩形形状でないことを決定する。
請求項5に記載の具体的態様では、前記読取部は、前記移動部により前記ラインイメージセンサが前記原稿先端位置から最大読取位置まで移動する範囲を読み取り可能に構成され、前記領域決定処理は、前記傾き有終了処理が、前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定しない場合に、最大基点位置から主走査方向に沿って前記中央領域の側へ前記第2所定距離離れた位置までの領域を第4領域として決定し、前記最大基点位置は、前記2つの原稿側端のうちの前記第3領域に近い原稿側端における副走査方向の前記最大読取位置に対応する主走査方向の位置であり、前記傾き有終了処理は、前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定しない場合に、前記第4領域において前記原稿データから前記原稿押えデータへ変化する副走査方向の位置を第4変化位置として決定し、前記第4変化位置と原稿が矩形形状であるか否かの前記決定とに基づき前記読取動作を終了する。
請求項6に記載の具体的態様では、前記停止距離算出処理は、前記最大基点位置と、前記第4変化位置とに基づき第2停止距離を算出し、前記傾き有終了処理は、前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定せず、且つ前記原稿台に支持された原稿が矩形形状でない場合に、前記第4変化位置を決定するときに前記読取動作を終了し、前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定せず、且つ前記原稿台に支持された原稿が矩形形状である場合に、前記移動部により前記ラインイメージセンサを前記第4変化位置から副走査方向の下流に前記第2停止距離だけ離れた位置へ移動させたときに前記読取動作を終了する。
請求項1に記載の発明態様では、領域決定処理は、中央領域と、2つの側端領域とを決定する。傾き無終了処理は、中央領域と2つの側方領域との全ての領域において、対象読取画像データが原稿データから原稿押えデータへ変化するときに読取動作を終了する。傾き有終了処理は、最初に決定される第1変化位置と、2番目に決定される第2変化位置とに基づき原稿が矩形であるか否かを決定し、当該決定と3番目に決定される第3変化位置とに基づき読取動作を終了する。よって、原稿が無作為に支持され、原稿の先端が主走査方向と平行に支持された場合でも、原稿の先端が主走査方向と平行でなく支持された場合でも、異なる終了処理を実行することで原稿を正常に読み取ることができる。
請求項2に記載の具体的態様では、停止距離算出処理は、第3基点位置と、第3変化位置とに基づき第1停止距離を算出する。傾き有終了処理は、原稿台に支持された原稿が矩形形状である場合に、ラインイメージセンサを第3変化位置から副走査方向の下流に第1停止距離だけ離れた位置へ移動させたときに読取動作を終了する。よって、矩形形状である原稿が支持された場合に、ラインイメージセンサを第3変化位置から副走査方向の下流に第1停止距離だけ離れた位置へ移動させたときに読取動作を終了するため、原稿の途中で読取終了することなく、原稿を正常に読み取ることができる。
請求項3に記載の具体的態様では、角度算出処理は、主走査方向に対する原稿先端の傾き角度である先端角度を算出し、停止距離算出処理は、先端角度に正弦処理を施した値に、第3基点位置と第3変化位置との距離を掛け算し、掛け算した距離に先端角度に正弦処理を施した値を掛け算することにより第1停止距離を算出する。よって、第1停止距離を精度よく算出できるため、原稿の途中で読取終了することなく、原稿を正常に読み取ることができる。
請求項4に記載の具体的態様では、第1距離算出処理は、第1領域と第2領域との距離に、先端角度に正接処理を施した値を掛け算することにより第1距離を算出する。傾き有終了処理は、第1変化位置と第2変化位置との距離が第1距離と同じである場合に、原稿が矩形形状であることを決定し、第1変化位置と第2変化位置との距離が第1距離と同じでない場合に、原稿が矩形形状でないことを決定する。よって、原稿が矩形形状であるか否かを精度良く決定することができるため、矩形形状である原稿の途中で読取終了することなく、原稿を正常に読み取ることができる。
請求項5に記載の具体的態様では、領域決定処理は、傾き有終了処理が、先端領域下端位置から第3基点位置までの対象読取画像データにおいて第3変化位置を決定しない場合に、第4領域を決定する。傾き有終了処理は、第4領域において原稿データから原稿押えデータへ変化する副走査方向の位置を第4変化位置として決定し、原稿が矩形形状であるか否かの決定と第4変化位置とに基づき読取動作を終了する。よって、第3基点位置よりも副走査方向の下流に原稿が支持されている場合でも、第4変化位置を決定して第4変化位置と原稿が矩形形状であるか否かの決定とに基づいて読取動作を終了するため、原稿の途中で読取終了することなく、原稿を正常に読み取ることができる。
請求項6に記載の具体的態様では、停止距離算出処理は、最大基点位置と第4変化位置とに基づき第2停止距離を算出する。傾き有終了処理は、原稿台に支持された原稿が矩形形状である場合に、ラインイメージセンサを第4変化位置から副走査方向の下流に第2停止距離だけ離れた位置へ移動させたときに読取動作を終了するため、原稿の途中で読取終了することなく、原稿を正常に読み取ることができる。
本発明の実施形態に係る画像読取装置SMの内部構成を示す図面である。 原稿載置台DTの上面図である。 画像読取装置SMの電気的構成を示すブロック図である。 読取メイン処理を示すフローチャートである。 先端検知処理R3を示すフローチャートである。 検出領域設定処理RA4を示すフローチャートである。 傾き無検出領域設定処理RB3を示すフローチャートである。 左回り検出領域設定処理RB4を示すフローチャートである。 右回り検出領域設定処理RB5を示すフローチャートである。 原稿検知処理R4を示すフローチャートである。 傾き無原稿検知処理RF2を示すフローチャートである。 エッジ数計数処理RG2,RI2,RM2,RP2を示すフローチャートである。 傾き有原稿検知処理RF4を示すフローチャートである。 第1検出処理RH1を示すフローチャートである。 第1端フラグEFG1判断処理RI4を示すフローチャートである。 規定位置SP判断処理RI7,RM9を示すフローチャートである。 第2検出処理RH3を示すフローチャートである。 第2端フラグEFG2判断処理RM4を示すフローチャートである。 矩形フラグRTFG判断処理RM14を示すフローチャートである。 第3検出処理RH7を示すフローチャートである。 第3端フラグEFG3判断処理RP4を示すフローチャートである。 第4検出処理RH8を示すフローチャートである。 第4端フラグEFG4判断処理RR4を示すフローチャートである。 停止位置移動処理RP13,RR13を示すフローチャートである。 原稿GSが傾いていない時の白黒データWBDと、第1検出領域DR1などの情報とを説明する図面である。 (A)原稿GSが右回りに傾いた時の白黒データWBDと、第1検出領域DR1などの情報とを説明する図面である。(B)第3検出位置DP3付近を拡大して説明する図面である。 (A)原稿GSが左回りに傾いた時の白黒データWBDと、第1検出領域DR1などの情報とを説明する図面である。(B)第4検出位置DP4付近を拡大して説明する図面である。
<画像読取装置SMの構成>
図面を参照して本実施形態における画像読取装置SMの構成について説明する。図1は、画像読取装置SMの正面図を示す。図2は、原稿載置台DTを上から見た上面図を示す。以下の説明において、図1の右方向を副走査方向SDの下流、図2の下方向を主走査方向MDの下流、図2の右方向を副走査方向SDの下流として説明する。
画像読取装置SMは、原稿載置台DTと、原稿押え板CVと、を備える。原稿載置台DTは、本体MBと、透明板TPと、を備える。本体MBは、様々な部材(例えば、透明板TP、読取部20等)を収容するための筐体である。透明板TPは、図2に一点鎖線で示すように、本体MBに収容されており、本体MBに固定されている。透明板TPは、読取対象の原稿GSを支持する。原稿押え板CVは、本体MBの奥側(図1の紙面に垂直方向の奥側、図2の上側)に回動軸28を備え、本体MBの前側(図1の紙面に垂直方向の手前側、図2の下側)から開閉される。原稿押え板CVは、原稿載置台DTを開放する開放状態と、原稿載置台DTを閉塞する閉塞状態とに開閉可能に構成されている。
画像読取装置SMは、さらに、透明板TPの下方で本体MBに収容されている読取部20を備える。読取部20は、本体MBに対して副走査方向SD(即ち図1の左右方向)に沿って移動可能である。読取部20は、透明板TPに支持される原稿GSの読取動作を実行する。読取部20は、CIS(Contact Image Sensorの略で、密着型イメージセンサ)で構成され、具体的には、光源21と、ロッドレンズ24と、受光部22と、を備える。光源21は、赤色、青色、および緑色の発光ダイオードなどで構成され、透明板TPに向けて、光を照射する。ロッドレンズ24は、主に光源21から照射される光の反射光を受光部22に結像する。
受光部22は、主走査方向に配列される多数の光電変換素子23を含み、図示しないアナログシフトレジスタ、および増幅器を内蔵する。各光電変換素子23の出力は、主走査方向の各画素における受光量である。光電変換素子23の先頭画素は、図2に図示する主走査方向MDの最も上流に位置する画素であり、光電変換素子23の最終画素は、図2に図示する主走査方向MDの最も下流に位置する画素である。本実施形態では、1ラインは、この主走査方向MDの先頭画素から最終画素までで構成される画素群である。
図2において、原稿載置台DTの上面は、本体MBの上面、および透明板TPが原稿押え板CV側に露出した面を有する。本体MBは、黒色であり、回動軸28が主走査方向MDの上流側に配置されている。透明板TPは、図2に一点鎖線で示すように、副走査方向SDに沿って伸びる長辺と、主走査方向MDに沿って伸びる短辺と、によって構成される矩形形状を有する。透明板TPの原稿押え板CV側に露出する面は、図2において実線で示す。原稿GSは、基準位置BPを基点として透明板TPに載置される。回動軸28は、原稿押え板CVを開閉するときに回動する軸であり、本体MBの主走査方向MDの上流側に2カ所配置されている。
透明板TPの原稿押え板CV側に露出する面のうちで主走査方向MDの最も上流の位置であり、且つ副走査方向SDの最も上流の位置が基準位置BPの位置である。透明板TPの原稿押え板CV側に露出する面のうちで副走査方向の最も下流の位置が最大読取位置MRPである。画像読取装置SMは、副走査方向SDにおける基準位置BPから最大読取位置MRPまでの範囲を読取範囲として原稿GSの画像を読み取る。副走査方向SDにおける基準位置BPが先頭ラインFLの副走査方向SDの位置である。
画像読取装置SMは、さらに、透明板TPの上面に固定されている基準部材BMを備える。基準部材BMは、透明板TPの副走査方向SDの上流側(即ち図2の左側)の端部に設けられている。基準部材BMは、主走査方向MDに沿って伸びる白色の部材である。副走査方向SDにおいて、基準部材BM上の位置が、ホーム位置HPである。読取部20は、ホーム位置HPを基準として、副走査方向SDに移動可能に構成されている。
<画像読取装置SMの電気的構成>
画像読取装置SMの電気的構成について図3を参照して説明する。画像読取装置SMは、CPU30、ROM31、RAM32、フラッシュROM33、デバイス制御部34、アナログフロントエンド(以下、AFEという)35、画像処理部36、エッジ検出部39、および駆動回路37を主な構成要素として備える。これらの構成要素は、バス38を介して、操作機構OM、および表示機構DMに接続される。操作機構OMは、開始ボタンおよび決定ボタン等の複数のキーによって構成される。ユーザは、操作機構OMを操作することによって、様々な指示を画像読取装置SMに入力することができる。表示機構DMは、様々な情報を表示するためのディスプレイである。
ROM31は、後述する読取メイン処理、各メイン処理中のサブルーチンの処理など、画像読取装置SMの各種動作を実行するためのプログラムを記憶する。CPU30は、ROM31から読み出されたプログラムに従って、各部の制御を行う。フラッシュROM33は、読み書き可能な不揮発性メモリであり、CPU30の制御処理により生成された各種のデータ、例えば読取メイン処理により取得された各種のデータなどを記憶する。RAM32は、CPU30の制御処理により生成された算出結果などを一時的に記憶する。
デバイス制御部34は、読取部20に接続され、CPU30からの命令に基づいて、光源21の点灯又は消灯を制御する信号、および光源21に流れる電流値を制御する信号を光源21に送信する。また、デバイス制御部34は、CPU30からの命令に基づいて、多数の光電変換素子23の電気信号を同時にシフトレジスタに転送するためのシリアルイン信号SIおよびシフトレジスタの電気信号を順番に出力させるためのクロック信号CLKを受光部22に送信する。読取部20は、デバイス制御部34からこれらの信号を受け取ると、光源21を点灯させるとともに、受光部22が受光した受光量に応じたアナログ信号をAFE35に送信する。
AFE35は、読取部20に接続され、CPU30からの命令に基づいて、読取部20から送信されるアナログ信号をデジタルデータに変換する。AFE35は、予め定められた入力レンジおよび分解能を有する。例えば、分解能は、10ビットであるならば、「0」から「1023」までの階調である。この場合に、AFE35は、読取部20から送信されたアナログ信号をデジタルデータとして10ビット(0〜1023)の階調データに変換する。AFE35によって変換されたデジタルデータは、画像処理部36、およびエッジ検出部39に送信される。
画像処理部36は、画像処理用の専用ICであるASICから構成され、デジタルデータに画像処理を施す。画像処理は、ガンマ補正などの補正処理である。画像処理部36は、デジタルデータに画像処理を施し、デジタル画像データを生成する。そのデジタル画像データは、バス38を介してRAM32に記憶される。
エッジ検出部39は、デジタルデータにソーベルフィルタをかける処理等の周知のエッジ検出処理を施し、白黒データWBDを生成する。エッジ検出部39は、エッジである画素について「1」を白黒データWBDとして生成し、エッジでない画素について「0」を白黒データWBDとして生成する。生成した白黒データWBDは、RAM32に記憶される。本実施形態では、エッジ検出部39は、原稿GSの背景色を読み取らせた場合に、5%の割合で「1」の白黒データWBDを生成し、原稿押え板CVを読み取らせた場合に、1%未満の割合で「1」の白黒データWBDを生成する。よって、5%の割合で生成される「1」の白黒データWBDは、原稿GSの背景色を読み取るときのデータであり、1%未満の割合で生成される「1」の白黒データWBDは、原稿押え板CVを読み取るときのデータである。
駆動回路37は、搬送モータMTに接続され、CPU30から送信される駆動指令に基づいて搬送モータMTを駆動する。駆動回路37は、駆動指令により指令された回転量および回転方向に従って搬送モータMTを回転させる。搬送モータMTが所定量だけ回転すると、移動機構MMが所定角度回転し、読取部20が副走査方向SDに所定距離だけ搬送される。
<画像読取装置SMの動作>
(読取メイン処理)
次に、画像読取装置SMの動作について図面を参照して説明する。画像読取装置SMは、原稿GSを読み取る読取メイン処理を主に実行する。図4に示す読取メイン処理中の処理R1〜処理R5は、CPU30が実行する処理である。
図4に示す読取メイン処理は、ユーザが原稿GSを透明板TPに載置し、操作機構OMの読取開始ボタンを押下することにより、開始される。即ち、CPU30は、読取開始ボタンが押下された指令を受け取ることにより、読取メイン処理を開始する。本実施形態では、原稿GSが傾いていない場合と、原稿GSが右回りに傾いた場合と、原稿GSが左回りに傾いた場合とを例に挙げて説明する。図25は、原稿が傾いていない時の白黒データWBDと、第1検出領域DR1などの情報とを説明する図面である。図26(A)は、原稿GSが右回りに傾いた時の白黒データWBDと、第1検出領域DR1などの情報とを説明する図面であり、図26(B)は、図26(A)における第3検出位置DP3付近を拡大して説明する図面である。図27(A)は、原稿GSが左回りに傾いた時の白黒データWBDと、第1検出領域DR1などの情報とを説明する図面であり、図27(B)は、図27(A)における第4検出位置DP4付近を拡大して説明する図面である。図26(A)、および図27(A)に示す規定サイズ原稿SGSは、上流側端直線USLと下流側端直線DSLとの距離を短手方向の原稿幅として、この短手方向の原稿幅に「2」の平方根を掛け算した距離を長手方向の原稿長とした規定の大きさの原稿である。本実施形態では、「2」の平方根は、規定の大きさの原稿の長辺を短辺で割算した比率である。例えば、規定の大きさの原稿は、A4サイズの原稿である。A4サイズの短手方向の原稿幅は、「210mm」であり、A4サイズの長手方向の原稿長は、「297mm」である。
CPU30は、デバイス制御部34、および画像処理部36等を初期化する(R1)。具体的には、CPU30は、主走査方向MDの読取解像度が300DPI、および副走査方向SDの読取解像度が300DPIに対応するクロック信号CLK及びシリアルイン信号SIの設定値をフラッシュROM33から取得し、デバイス制御部34に設定する。CPU30は、主走査方向MDの読取解像度が300DPI、および副走査方向SDの読取解像度が300DPIとして読み取るための設定値をフラッシュROM33から取得し、画像処理部36に設定する。CPU30は、合計ライン数TLNに「350」を設定してRAM32に記憶する。CPU30は、傾き無フラグDFG、原稿端フラグEFG、第1端フラグEFG1、第2端フラグEFG2、第3端フラグEFG3、第4端フラグEFG4、および読取終了フラグREFGをオフにしてRAM32に記憶し、規定フラグSFGをオンにしてRAM32に記憶する。本実施形態では、合計ライン数TLNに設定される「350」は、後述する先端データHAの最下端の副走査方向SDの位置である先端データ下端位置HADPと先頭ラインFLとの距離に対応するライン数である。
CPU30は、読取動作を開始する(R2)。具体的には、CPU30は、駆動回路37に駆動指令を送信し、読取部20を基準位置BPに移動させる。CPU30は、駆動回路37とデバイス制御部34とに指令を送信し、基準位置BPから副走査方向SDに沿って下流へ読取部20を移動させながら原稿GSを読み取る読取動作を開始させる。読取動作が開始されると、デジタル画像データと白黒データWBDとが、RAM32に記憶される。
CPU30は、先端検知処理を実行する(R3)。詳細は後述するため、ここでは概説する。CPU30は、図25、図26(A)、および図27(A)に示す先端直線HL、上流側端直線USL、下流側端直線DSL、上流基点位置UCP、下流基点位置DCP、および傾き角度CAを算出してRAM32に記憶する。CPU30は、図25、図26(A)、および図27(A)に示す第1検出領域DR1、第2検出領域DR2、第3検出領域DR3、および規定位置SPを設定してRAM32に記憶する。
CPU30は、原稿検知処理を実行する(R4)。詳細は後述するため、ここでは概説する。CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3を算出してRAM32に記憶する。CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3に基づき傾き無原稿検知処理、又は傾き有原稿検知処理を実行する。本実施形態では、CPU30は、1ライン毎の画像を読み取る時間と同じ程度の時間で1ライン毎の傾き無原稿検知処理、又は傾き有原稿検知処理を実行する。
CPU30は、読取動作を終了する(R5)。具体的には、CPU30は、駆動回路37とデバイス制御部34とに指令を送信し、原稿GSを読み取る読取動作を終了し、読取部20を駆動停止させた後に、ホーム位置HPに移動させる。処理R5が終了すると、読取メイン処理が終了する。
(先端検知処理R3)
図5に示す先端検知処理(R3)が開始されると、CPU30は、図25、図26(A)、及び図27(A)に示す先端データHAを取得する(RA1)。具体的には、CPU30は、RAM32に記憶された白黒データWBDのうちで副走査方向SDに沿って最も上流のラインである先頭ラインFL(図25参照)から副走査方向SDに沿って下流へ350ライン目の位置である先端データ下端位置HADPまでの白黒データWBDを先端データHAとして取得する。ここで、先端データHAは、先頭ラインFLの位置から副走査方向SDに沿って下流へ先頭ラインFLから350ライン目の位置である先端データ下端位置HADPまでの領域の白黒データWBDである。
CPU30は、先端直線HL、上流側端直線USL、および下流側端直線DSLを決定する(RA2)。具体的には、CPU30は、図25、図26(A)、および図27(A)に示すように、原稿GSの主走査方向MDに沿った先端直線HLと、主走査方向SDの上流に位置する原稿GSの副走査方向SDに沿った上流側端直線USLと、主走査方向SDの下流に位置する原稿GSの副走査方向SDに沿った下流側端直線DSLとを先端データHAから決定する。
CPU30は、図26(A)及び図27(A)に示す先端直線HLの傾き角度CAを算出する(RA3)。具体的には、CPU30は、主走査方向MDに沿った直線と先端直線HLとの角度を傾き角度CAとして算出し、先端直線HLが主走査方向MDの下流に進むに従って、副走査方向SDの下流に進む傾きである場合には、右回りを傾き角度CAとして算出し、先端直線HLが主走査方向MDの下流に進むに従って、副走査方向SDの上流に進む傾きである場合には、左回りを傾き角度CAとして算出する。CPU30は、主走査方向MDに沿った直線と先端直線HLとが平行である場合には、傾き無を傾き角度CAとして算出する。傾き角度CAは、右回り、左回り、又は傾き無である回転方向と、主走査方向MDに沿った直線に対する角度とを示している。後述する正弦処理、又は正接処理は、主走査方向MDに沿った直線に対する角度に対して実行される。
CPU30は、検出領域を設定する(RA4)。詳細は後述するため、ここでは概説する。CPU30は、傾き角度CAに基づいて傾き無検出領域設定処理、左回り検出領域設定処理、または右回り検出領域設定処理を実行することにより、下流基点位置DCP、および上流基点位置UCPを算出すると共に、第1検出領域DR1、第2検出領域DR2、第3検出領域DR3、および規定位置SPを設定する。処理RA4が終了すると、先端検知処理R3が終了する。
(検出領域設定処理RA4)
図6に示す検出領域設定処理RA4が開始されると、CPU30は、傾き角度CAの回転方向が傾き無、左回り、または右回りのいずれであるかを判断する(RB1)。CPU30は、傾き角度CAの回転方向が傾き無である場合(RB1:傾き無)に、処理RB2に進み、傾き角度CAの回転方向が左回りである場合(RB1:左回り)に、処理RB4に進み、傾き角度CAの回転方向が右回りである場合(RB1:右回り)に、処理RB5に進む。
CPU30は、傾き無フラグDFGをオンにしてRAM32に記憶する(RB2)。
CPU30は、傾き無検出領域設定処理を実行する(RB3)。詳細は後述するため、ここでは概説する。CPU30は、図25に示す下流基点位置DCP、および上流基点位置UCPを算出し、図25に示す第1検出領域DR1、第2検出領域DR2、および第3検出領域DR3を設定する。処理RB3が終了すると、検出領域設定処理RA4が終了する。
処理RB1において左回りと判断されると、CPU30は、左回り検出領域設定処理を実行する(RB4)。詳細は後述するため、ここでは概説する。CPU30は、図27(A)に示す下流基点位置DCP、および上流基点位置UCPを算出し、図27(A)に示す第1検出領域DR1、第2検出領域DR2、第3検出領域DR3、および規定位置SPを設定する。処理RB4が終了すると、検出領域設定処理RA4が終了する。
処理RB1において右回りと判断されると、CPU30は、右回り検出領域設定処理を実行する(RB5)。詳細は後述するため、ここでは概説する。CPU30は、図26(A)に示す下流基点位置DCP、および上流基点位置UCPを算出し、図26(A)に示す第1検出領域DR1、第2検出領域DR2、第3検出領域DR3、および規定位置SPを設定する。処理RB5が終了すると、検出領域設定処理RA4が終了する。
(傾き無検出領域設定処理RB3)
図7に示す傾き無検出領域設定処理RB3が開始されると、CPU30は、図25に示す下流基点位置DCPを算出する(RC1)。具体的には、CPU30は、下流側端直線DSLにおける副走査方向SDの先端データ下端位置HADPの画素の主走査方向MDの位置を下流基点位置DCPとして算出する。
CPU30は、図25に示す上流基点位置UCPを算出する(RC2)。具体的には、CPU30は、上流側端直線USLにおける副走査方向SDの先端データ下端位置HADPの画素の主走査方向MDの位置を上流基点位置UCPとして算出する。
CPU30は、図25に示す第1検出領域DR1を設定する(RC3)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、上流基点位置UCPの画素から主走査方向MDに沿って下流へ31画素離れた位置の画素までの領域を第1検出領域DR1として設定してRAM32に記憶する。
CPU30は、図25に示す第2検出領域DR2を設定する(RC4)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、主走査方向MDにおける上流基点位置UCPと下流基点位置DCPとの中点を中心とした主走査方向MDの31画素の主走査方向MDの領域を第2検出領域DR2として設定してRAM32に記憶する。
CPU30は、図25に示す第3検出領域DR3を設定する(RC5)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、下流基点位置DCPの画素から主走査方向MDに沿って上流へ31画素離れた位置の画素までの領域を第3検出領域DR3として設定してRAM32に記憶する。処理RC5が終了すると、傾き無検出領域設定処理RB3が終了する。
(左回り検出領域設定処理RB4)
図8に示す左回り検出領域設定処理RB4が開始されると、CPU30は、図27(A)に示す下流基点位置DCPを算出する(RD1)。具体的には、CPU30は、下流側端直線DSLにおける副走査方向SDの先端データ下端位置HADPの画素の主走査方向MDの位置を下流基点位置DCPとして算出する。
CPU30は、図27(A)に示す上流基点位置UCPを算出する(RD2)。具体的には、CPU30は、上流側端直線USLにおいて、上流側端直線USLと下流側端直線DSLとの距離に「2」の平方根を掛け算した距離だけ先端直線HLから離れた位置における画素の位置を上流基点位置UCPとして算出する。本実施形態では、「2」の平方根は、規定の大きさの原稿の長辺を短辺で割り算した比率である。
CPU30は、図27(A)に示す第1検出領域DR1を設定する(RD3)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、下流基点位置DCPの画素から主走査方向MDに沿って上流へ31画素離れた位置の画素までの領域を第1検出領域DR1として設定してRAM32に記憶する。
CPU30は、図27(A)に示す第2検出領域DR2を設定する(RD4)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、主走査方向MDにおける上流基点位置UCPと下流基点位置DCPとの中点を中心とした主走査方向MDの31画素の主走査方向MDの領域を第2検出領域DR2として設定してRAM32に記憶する。
CPU30は、図27(A)に示す第3検出領域DR3を設定する(RD5)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、上流基点位置UCPの画素から主走査方向MDに沿って下流へ31画素離れた位置の画素までの領域を第3検出領域DR3として設定してRAM32に記憶する。
CPU30は、図27(A)に示す規定位置SPを設定する(RD6)。具体的には、CPU30は、処理RD2において算出した上流基点位置UCPを規定位置SPとして設定してRAM32に記憶する。処理RD6が終了すると、左回り検出領域設定処理RB4が終了する。
(右回り検出領域設定処理RB5)
図9に示す右回り検出領域設定処理RB5が開始されると、CPU30は、図26(A)に示す下流基点位置DCPを算出する(RE1)。具体的には、CPU30は、下流側端直線DSLにおいて、上流側端直線USLと下流側端直線DSLとの距離に「2」の平方根を掛け算した距離だけ先端直線HLから離れた位置における画素の主走査方向MDの位置を下流基点位置DCPとして算出する。本実施形態では、「2」の平方根は、規定の大きさの原稿の長辺を短辺で割り算した比率である。
CPU30は、図26(A)に示す上流基点位置UCPを算出する(RE2)。具体的には、CPU30は、上流側端直線USLにおける副走査方向SDの先端データ下端位置HADPの画素の主走査方向MDの位置を上流基点位置UCPとして算出する。
CPU30は、図26(A)に示す第1検出領域DR1を設定する(RE3)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、上流基点位置DCPの画素から主走査方向MDに沿って下流へ31画素離れた位置の画素までの領域を第1検出領域DR1として設定してRAM32に記憶する。
CPU30は、図26(A)に示す第2検出領域DR2を設定する(RE4)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、主走査方向MDにおける上流基点位置UCPと下流基点位置DCPとの中点を中心とした主走査方向MDの31画素の主走査方向MDの領域を第2検出領域DR2として設定してRAM32に記憶する。
CPU30は、図26(A)に示す第3検出領域DR3を設定する(RE5)。具体的には、CPU30は、副走査方向SDの先端データ下端位置HADPから副走査方向SDの下流において、下流基点位置DCPの画素から主走査方向MDに沿って上流へ31画素離れた位置の画素までの領域を第3検出領域DR3として設定してRAM32に記憶する。
CPU30は、図26(A)に示す規定位置SPを設定する(RE6)。具体的には、CPU30は、処理RE1において算出した下流基点位置DCPを規定位置SPとして設定してRAM32に記憶する。処理RE6が終了すると、右回り検出領域設定処理RB5が終了する。
(原稿検知処理R4)
図10に示す原稿検知処理R4が開始されると、CPU30は、傾き無フラグDFGがオンであるか否かを判断する(RF1)。CPU30は、傾き無フラグDFGがオンである場合(RF1:Yes)に、処理RF2に進み、傾き無フラグDFGがオフである場合(RF1:No)に、処理RF3に進む。
CPU30は、傾き無原稿検知処理を実行する(RF2)。詳細は後述するため、ここでは概説する。CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3を算出する。CPU30は、原稿端フラグEFGがオンであり、且つ第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3の全てが閾値TH未満である場合に、傾き無原稿検知処理RF2を終了する。処理RF2が終了すると、原稿検知処理R4が終了する。本実施形態では、エッジ検出部39は、原稿GSの背景色を読み取らせた場合に、5%の割合で「1」の白黒データWBDを生成し、原稿押え板CVを読み取らせた場合に、1%の割合で「1」の白黒データWBDを生成する。よって、エッジ検出部39は、31画素の領域について、原稿GSの背景色を読み取らせた場合に、1画素又は2画素について「1」の白黒データWBDを生成し、原稿押え板CVを読み取らせた場合に、0画素又は1画素について「1」の白黒データWBDを生成する。また、エッジ検出部39は、原稿GSの端部を読み取らせた場合に、「1」の白黒データWBDを生成する。そのため、本実施形態では、閾値THは、「1」より大きい「2」である。
処理RF1においてNoと判断されると、CPU30は、図26(A)、及び図27(A)に示す第1距離LG1を算出する(RF3)。具体的には、CPU30は、傾き角度CAに正接処理を施した値に第1検出領域DR1の主走査方向MDの中央位置と第2検出領域DR2の主走査方向MDの中央位置との距離を掛け算することにより第1距離LG1を算出する。
CPU30は、傾き有原稿検知処理を実行する(RF4)。詳細は後述するため、ここでは概説する。CPU30は、第1検出処理を実行することにより、第1エッジ数EN1に基づき第1フラグFG1をオンにし、第1検出位置DP1を記憶する。CPU30は、第2検出処理を実行することにより、第2エッジ数EN2に基づき第2フラグFG2をオンにし、第2検出位置DP2を記憶する。CPU30は、第1検出位置DP1と第2検出位置DP2とに基づき矩形フラグRTFGをオン、又はオフに設定する。CPU30は、第3検出処理、又は第4検出処理において、矩形フラグRTFGに基づいて停止距離HTLを算出し、矩形フラグRTFGがオンである場合に読取部20が停止位置HTPとなるまで読取動作を継続する。処理RF4が終了すると、原稿検知処理R4が終了する。
(傾き無原稿検知処理RF2)
図11に示す傾き無原稿検知処理(RF2)が開始されると、CPU30は、検出ラインデータDLDを設定する(RG1)。具体的には、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置における1ラインの白黒データWBDを検出ラインデータDLDとして設定してRAM32に記憶する。ここで、合計ライン数TLNに対応する副走査方向SDの位置は、副走査方向SDの先頭ラインFLから副走査方向SDに沿って下流へ合計ライン数TLNだけ離れたラインの副走査方向SDの位置である。本実施形態では、処理R1において合計ライン数TLNが「350」に設定され、後述する処理RG8において「1」が加算されていくため、先端データ下端位置HADPから副走査方向SDに沿って下流の位置における1ラインの白黒データWBDが検出ラインデータDLDとして設定される。ここで、処理RG1において設定される合計ライン数TLNは、先頭ラインFLからの処理RF2を実行する対象となる対象ラインまでのライン数を示す。
CPU30は、図12に示すエッジ数計数処理を実行する(RG2)。図12に示すエッジ数計数処理RG2が開始されると、CPU30は、第1エッジ数EN1を計数する(RJ1)。具体的には、CPU30は、検出ラインデータDLDのうちで第1検出領域DR1に含まれる白黒データWBDの「1」の画素数を第1エッジ数EN1として計数する。
CPU30は、第2エッジ数EN2を計数する(RJ2)。具体的には、CPU30は、検出ラインデータDLDのうちで第2検出領域DR2に含まれる白黒データWBDの「1」の画素数を第2エッジ数EN2として計数する。
CPU30は、第3エッジ数EN3を計数する(RJ3)。具体的には、CPU30は、検出ラインデータDLDのうちで第3検出領域DR3に含まれる白黒データWBDの「1」の画素数を第3エッジ数EN3として計数する。処理RJ3が終了すると、エッジ数計数処理RG2が終了する。
処理RG2が終了すると、図11に示すように、CPU30は、原稿端フラグEFGがオンであるか否かを判断する(RG3)。CPU30は、原稿端フラグEFGがオンである場合(RG3:Yes)に、処理RG9に進み、原稿端フラグEFGがオフである場合(RG3:No)に、処理RG4に進む。
処理RG3、又は処理RG9においてNoと判断されると、CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3の全てが閾値TH以上であるか否かを判断する(RG4)。CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3の全てが閾値TH以上である場合(RG4:Yes)に、処理RG5に進み、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3のいずれかが閾値TH未満である場合(RG4:No)に、処理RG6に進む。本実施形態では、閾値THは、同様に「2」である。
処理RG4においてYesと判断されると、CPU30は、原稿端フラグEFGをオンにしてRAM32に記憶する(RG5)。CPU30は、処理RG5が終了すると、処理RG7に進む。
処理RG4においてNoと判断されると、CPU30は、原稿端フラグEFGをオフにしてRAM32に記憶する(RG6)。
処理RG5、又は処理RG6が終了すると、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPであるか否かを判断する(RG7)。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPである場合(RG7:Yes)に、傾き無原稿検知処理RF2が終了し、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPでない場合(RG7:No)に、処理RG8に進む。本実施形態では、合計ライン数TLNに対応する副走査方向SDの位置は、先頭ラインFLから合計ライン数TLNだけ離れた副走査方向SDの位置である。
CPU30は、合計ライン数TLNに数値「1」を加算する(RG8)。CPU30は、処理RG8が終了すると、処理RG1に進む。
処理RG3においてYesと判断されると、CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3の全てが閾値TH未満であるか否かを判断する(RG9)。CPU30は、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3のいずれかが閾値TH以上である場合(RG9:No)に、処理RG4に進み、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3の全てが閾値TH未満である場合(RG9:Yes)に、原稿GSがなくなったと判断して傾き無原稿検知処理RF2が終了する。本実施形態では、閾値THは、同様に「2」である。
(傾き有原稿検知処理RF4)
図13に示す傾き有原稿検知処理RF4が開始されると、CPU30は、第1検出処理を実行する(RH1)。詳細は後述するため、ここでは概説する。CPU30は、第1フラグFG1をオンに設定し、第1検出位置DP1を記憶するか、又は読取終了フラグREFGをオンに設定する。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が規定位置SPである場合に、第4検出領域DR4を設定し、切替フラグCFGをオンに設定する。
CPU30は、読取終了フラグREFGがオンであるか否かを判断する(RH2)。CPU30は、読取終了フラグREFGがオンである場合(RH2:Yes)に、傾き有原稿検知処理RF4が終了し、読取終了フラグREFGがオフである場合(RH2:No)に、処理RH3に進む。
CPU30は、第2検出処理を実行する(RH3)。詳細は後述するため、ここでは概説する。CPU30は、第2フラグFG2をオンに設定し、矩形フラグRTFGを設定するか、読取終了フラグREFGをオンに設定するか、又は第1フラグFG1をオフに設定する。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が規定位置SPである場合に、第4検出領域DR4を設定し、切替フラグCFGをオンに設定する。
CPU30は、読取終了フラグREFGがオンであるか否かを判断する(RH4)。CPU30は、読取終了フラグREFGがオンである場合(RH4:Yes)に、傾き有原稿検知処理RF4が終了し、読取終了フラグREFGがオフである場合(RH4:No)に、処理RH5に進む。
CPU30は、第1フラグFG1がオンであるか否かを判断する(RH5)。CPU30は、第1フラグFG1がオフである場合(RH5:No)に、処理RH1に進み、第1フラグFG1がオンである場合(RH5:Yes)に、処理RH6に進む。
CPU30は、切替フラグCFGがオンであるか否かを判断する(RH6)。CPU30は、切替フラグCFGがオンである場合(RH6:Yes)に、処理RH8に進み、切替フラグCFGがオフである場合(RH6:No)に、処理RH7に進む。
CPU30は、第3検出処理を実行する(RH7)。詳細は後述するため、ここでは概説する。CPU30は、次の3つの処理のうちのいずれかを実行する。1つ目の処理は、読取終了フラグREFGをオンにする処理である。2つ目の処理は、第2フラグFG2をオフにする処理である。3つ目の処理は、矩形フラグRTFGがオンである場合に読取部20が停止位置HTPに位置するまで読取動作を継続する処理である。CPU30は、処理RH7が終了すると、処理RH9に進む。
処理RH6においてYesと判断されると、CPU30は、第4検出処理を実行する(RH8)。詳細は後述するため、ここでは概説する。CPU30は、次の3つの処理のうちのいずれかを実行する。1つ目の処理は、読取終了フラグREFGをオンにする処理である。2つ目の処理は、第2フラグFG2をオフにする処理である。3つ目の処理は、矩形フラグRTFGがオンである場合に読取部20が停止位置HTPに位置するまで読取動作を継続する処理である。
処理RH7、又は処理RH8が終了すると、CPU30は、読取終了フラグREFGがオンであるか否かを判断する(RH9)。CPU30は、読取終了フラグREFGがオンである場合(RH9:Yes)に、傾き有原稿検知処理RF4が終了し、読取終了フラグREFGがオフである場合(RH9:No)に、処理RH10に進む。
CPU30は、第2フラグFG2がオンであるか否かを判断する(RH10)。CPU30は、第2フラグFG2がオフである場合(RH10:No)に、処理RH3に進み、第2フラグFG2がオンである場合(RH10:Yes)に、原稿GSがなくなったと判断して傾き有原稿検知処理RF4が終了する。
(第1検出処理RH1)
図14に示す第1検出処理RH1が開始されると、CPU30は、検出ラインデータDLDを設定する(RI1)。具体的には、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置における1ラインの白黒データWBDを検出ラインデータDLDとして設定してRAM32に記憶する。ここで、合計ライン数TLNに対応する副走査方向SDの位置は、先頭ラインFLから副走査方向SDに沿って下流へ合計ライン数TLNだけ離れたラインの副走査方向SDの位置である。本実施形態では、処理R1において合計ライン数TLNが「350」に設定され、後述する処理RI8において「1」が加算されていくため、副走査方向SDにおける先端データ下端位置HADPから副走査方向SDに沿って下流の位置における1ラインの白黒データWBDが検出ラインデータDLDとして設定される。ここで、処理RI1において設定される合計ライン数TLNは、先頭ラインFLからの処理RH1を実行する対象となる対象ラインまでのライン数である。
CPU30は、エッジ数計数処理を実行する(RI2)。CPU30は、図12に示す前述した処理RG2と同様に、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3を計数する。
CPU30は、第1端フラグEFG1がオンであるか否かを判断する(RI3)。CPU30は、第1端フラグEFG1がオンである場合(RI3:Yes)に、処理RI9に進み、第1端フラグEFG1がオフである場合(RI3:No)に、処理RI4に進む。
CPU30は、図15に示す第1端フラグEFG1判断処理を実行する(RI4)。図15に示す第1端フラグEFG1判断処理RI4が開始されると、CPU30は、第1エッジ数EN1が閾値TH以上であるか否かを判断する(RK1)。CPU30は、第1エッジ数EN1が閾値TH以上である場合(RK1:Yes)に、処理RK2に進み、第1エッジ数EN1が閾値TH未満である場合(RK1:No)に、処理RK3に進む。本実施形態では、閾値THは、同様に「2」である。
処理RK1においてYesと判断されると、CPU30は、第1端フラグEFG1をオンに設定してRAM32に記憶する(RK2)。処理RK2が終了すると、第1端フラグEFG1判断処理RI4が終了する。
処理RK1においてNoと判断されると、CPU30は、第1端フラグEFG1をオフに設定してRAM32に記憶する(RK3)。処理RK3が終了すると、第1端フラグEFG1判断処理RI4が終了する。
処理RI4が終了すると、図14に示すように、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPであるか否かを判断する(RI5)。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPである場合(RI5:Yes)に、処理RI6に進み、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPでない場合(RI5:No)に、処理RI7に進む。本実施形態では、合計ライン数TLNに対応する副走査方向SDの位置は、先頭ラインFLから合計ライン数TLNだけ離れた副走査方向SDの位置である。
CPU30は、読取終了フラグREFGをオンに設定してRAM32に記憶する(RI6)。処理RI6が終了すると、第1検出処理RH1が終了する。
処理RI5においてNoと判断されると、CPU30は、図16に示す規定位置SP判断処理を実行する(RI7)。図16に示す規定位置SP判断処理RI7が開始されると、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が規定位置SPであるか否かを判断する(RL1)。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が規定位置SPでない場合(RL1:No)に、規定位置SP判断処理RI7が終了し、合計ライン数TLNに対応する副走査方向SDの位置が規定位置SPである場合(RL1:Yes)に、処理RL2に進む。
CPU30は、図27(A)に示す最大基点位置MCPを算出する(RL2)。具体的には、CPU30は、第3検出領域DR3に近い上流側端直線USL、又は下流側端直線DSLにおいて、副走査方向SDの最大読取位置MRPの画素の主走査方向MDの位置を最大基点位置MCPとして算出する。
CPU30は、図27(A)に示す第4検出領域DR4を設定する(RL3)。具体的には、CPU30は、副走査方向SDの規定位置SPから副走査方向SDの下流において、最大基点位置MCPの画素から主走査方向MDに沿って第2検出領域DR2側へ31画素離れた位置の画素までの領域を第4検出領域DR4として設定してRAM32に記憶する。
CPU30は、切替フラグCFGをオンに設定してRAM32に記憶する(RL4)。処理RL4が終了すると、規定位置SP判断処理RI7が終了する。
処理RI7が終了すると、図14に示すように、CPU30は、合計ライン数TLNに「1」を加算する(RI8)。CPU30は、処理RI8が終了すると、処理RI1に進む。
処理RI3においてYesと判断されると、CPU30は、第1エッジ数EN1が閾値TH未満であるか否かを判断する(RI9)。CPU30は、第1エッジ数EN1が閾値TH以上である場合(RI9:No)に、処理RI4に進み、第1エッジ数EN1が閾値TH未満である場合(RI9:Yes)に、処理RI10に進む。本実施形態では、閾値THは、同様に「2」である。
CPU30は、第1フラグFG1をオンに設定してRAM32に記憶する(RI10)。
CPU30は、合計ライン数TLNを副走査方向SDの第1検出位置DP1としてRAM32に記憶する(RI11)。処理RI11が終了すると、第1検出領域DR1において原稿GSがなくなったと判断して第1検出処理RH1が終了する。本実施形態では、第1検出位置DP1は、先頭ラインFLからのライン数に相当する位置である。
(第2検出処理RH3)
図17に示す第2検出処理RH3が開始されると、CPU30は、検出ラインデータDLDを設定する(RM1)。具体的には、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置における1ラインの白黒データWBDを検出ラインデータDLDとして設定してRAM32に記憶する。ここで、処理RH3が開始されて最初に処理RM1が実行されるときの合計ライン数TLNは、第1検出処理RH1における処理RI8において本処理の直前に加算された合計ライン数TLNである。ここで、処理RM1において設定される合計ライン数TLNは、先頭ラインFLからの処理RH3を実行する対象となる対象ラインまでのライン数である。
CPU30は、エッジ数計数処理を実行する(RM2)。CPU30は、図12に示す前述した処理RG2と同様に、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3を計数する。
CPU30は、第2端フラグEFG2がオンであるか否かを判断する(RM3)。CPU30は、第2端フラグEFG2がオンである場合(RM3:Yes)に、処理RM11に進み、第2端フラグEFG2がオフである場合(RM3:No)に、処理RM4に進む。
処理RM3、又は処理RM11においてNoと判断されると、CPU30は、図18に示す第2端フラグEFG2判断処理を実行する(RM4)。図18に示す第2端フラグEFG2判断処理RM4が開始されると、CPU30は、第2エッジ数EN2が閾値TH以上であるか否かを判断する(RO1)。CPU30は、第2エッジ数EN2が閾値TH以上である場合(RO1:Yes)に、処理RO2に進み、第2エッジ数EN2が閾値TH未満である場合(RO1:No)に、処理RO3に進む。本実施形態では、閾値THは、同様に「2」である。
処理RO1においてYesと判断されると、CPU30は、第2端フラグEFG2をオンに設定してRAM32に記憶する(RO2)。処理RO2が終了すると、第2端フラグEFG2判断処理RM4が終了する。
処理RO1においてNoと判断されると、CPU30は、第2端フラグEFG2をオフに設定してRAM32に記憶する(RO3)。処理RO3が終了すると、第2端フラグEFG2判断処理RM4が終了する。
処理RM4が終了すると、図17に示すように、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPであるか否かを判断する(RM5)。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPである場合(RM5:Yes)に、処理RM6に進み、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPでない場合(RM5:No)に、処理RM7に進む。本実施形態では、合計ライン数TLNに対応する副走査方向SDの位置は、先頭ラインFLから合計ライン数TLNだけ離れた副走査方向SDの位置である。
CPU30は、読取終了フラグREFGをオンに設定してRAM32に記憶する(RM6)。処理RM6が終了すると、第2検出処理RH3が終了する。
処理RM5においてNoと判断されると、第1エッジ数EN1が閾値TH以上であるか否かを判断する(RM7)。CPU30は、第1エッジ数EN1が閾値TH以上である場合(RM7:Yes)に、処理RM8に進み、第1エッジ数EN1が閾値TH未満である場合(RM7:No)に、処理RM9に進む。本実施形態では、閾値THは、「2」である。
CPU30は、第1フラグFG1をオフに設定してRAM32に記憶する(RM8)。処理RM8が終了すると、第2検出処理RH3が終了する。
処理RM7においてNoと判断されると、CPU30は、規定位置SP判断処理を実行する(RM9)。具体的には、CPU30は、図16に示す前述した処理RI7と同様に、合計ライン数TLNに対応する副走査方向SDの位置が規定位置SPである場合(RL1:Yes)に、図27(A)に示す第4検出領域DR4を設定し、切替フラグCFGをオンにしてRAM32に記憶する。
CPU30は、合計ライン数TLNに「1」を加算する(RM10)。CPU30は、処理RM10が終了すると、処理RM1に進む。
処理RM3においてYesと判断されると、CPU30は、第2エッジ数EN2が閾値TH未満であるか否かを判断する(RM11)。CPU30は、第2エッジ数EN2が閾値TH以上である場合(RM11:No)に、処理RM4に進み、第2エッジ数EN2が閾値TH未満である場合(RM11:Yes)に、処理RM12に進む。
CPU30は、第2フラグFG2をオンに設定してRAM32に記憶する(RM12)。
CPU30は、合計ライン数TLNを副走査方向SDの第2検出位置DP2としてRAM32に記憶する(RM13)。本実施形態では、第2検出位置DP2は、先頭ラインFLからのライン数に相当する位置である。
CPU30は、図19に示す矩形フラグRTFG判断処理を実行する(RM14)。図19に示す矩形フラグRTFG判断処理RM14が開始されると、CPU30は、第1位置差分PD1を算出する(RN1)。具体的には、CPU30は、第2検出位置DP2から第1検出位置DP1を引き算することにより第1位置差分PD1を算出する。
CPU30は、第1位置差分PD1が第1距離LG1と同じであるか否かを判断する(RN2)。CPU30は、第1位置差分PD1が第1距離LG1と同じである場合(RN2:Yes)に、処理RN3に進み、第1位置差分PD1が第1距離LG1と同じでない場合(RN2:No)に、処理RN4に進む。
処理RN2においてYesと判断されると、CPU30は、矩形フラグRTFGをオンに設定してRAM32に記憶する(RN3)。処理RN3が終了すると、矩形フラグRTFG判断処理RM14が終了する。処理RM14が終了すると、第2検出領域DR2において原稿GSがなくなったと判断して第2検出処理RH3が終了する。
処理RN2においてNoと判断されると、CPU30は、矩形フラグRTFGをオフに設定してRAM32に記憶する(RN4)。処理RN4が終了すると、矩形フラグRTFG判断処理RM14が終了する。処理RM14が終了すると、第2検出領域DR2において原稿GSがなくなったと判断して第2検出処理RH3が終了する。
(第3検出処理RH7)
図20に示す第3検出処理RH7が開始されると、CPU30は、検出ラインデータDLDを設定する(RP1)。具体的には、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置における1ラインの白黒データWBDを検出ラインデータDLDとして設定してRAM32に記憶する。ここで、処理RH7が開始されて最初に実行されるときの合計ライン数TLNは、第2検出処理RH3における処理RM10において本処理の直前に加算された合計ライン数TLNである。ここで、処理RP1において設定される合計ライン数TLNは、先頭ラインFLからの処理RH7を実行する対象となる対象ラインまでのライン数である。
CPU30は、エッジ数計数処理を実行する(RP2)。CPU30は、図12に示す前述した処理RG2と同様に、第1エッジ数EN1、第2エッジ数EN2、および第3エッジ数EN3を計数する。
CPU30は、第3端フラグEFG3がオンであるか否かを判断する(RP3)。CPU30は、第3端フラグEFG3がオンである場合(RP3:Yes)に、処理RP10に進み、第3端フラグEFG3がオフである場合(RP3:No)に、処理RP4に進む。
CPU30は、図21に示す第3端フラグEFG3判断処理を実行する(RP4)。図21に示す第3端フラグEFG3判断処理が開始されると、CPU30は、第3エッジ数EN3が閾値TH以上であるか否かを判断する(RQ1)。CPU30は、第3エッジ数EN3が閾値TH以上である場合(RQ1:Yes)に、処理RQ2に進み、第3エッジ数EN3が閾値TH未満である場合(RQ1:No)に、処理RQ3に進む。本実施形態では、閾値THは、同様に「2」である。
処理RQ1においてYesと判断されると、CPU30は、第3端フラグEFG3をオンに設定してRAM32に記憶する(RQ2)。処理RQ2が終了すると、第3端フラグEFG3判断処理RP4が終了する。
処理RQ1においてNoと判断されると、CPU30は、第3端フラグEFG3をオフに設定してRAM32に記憶する(RQ3)。処理RQ3が終了すると、第3端フラグEFG3判断処理RP4が終了する。
処理RP4が終了すると、図20に示すように、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPであるか否かを判断する(RP5)。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPである場合(RP5:Yes)に、処理RP6に進み、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPでない場合(RP5:No)に、処理RP7に進む。本実施形態では、合計ライン数TLNに対応する副走査方向SDの位置は、先頭ラインFLから合計ライン数TLNだけ離れた副走査方向SDの位置である。
CPU30は、読取終了フラグREFGをオンに設定してRAM32に記憶する(RP6)。処理RP6が終了すると、第3検出処理RH7が終了する。
処理RP5においてNoと判断されると、第2エッジ数EN2が閾値TH以上であるか否かを判断する(RP7)。CPU30は、第2エッジ数EN2が閾値TH以上である場合(RP7:Yes)に、処理RP8に進み、第2エッジ数EN2が閾値TH未満である場合(RP7:No)に、処理RP9に進む。本実施形態では、閾値THは、同様に「2」である。
CPU30は、第2フラグFG2をオフに設定してRAM32に記憶する(RP8)。処理RP8が終了すると、第3検出処理RH7が終了する。
処理RP7においてNoと判断されると、CPU30は、合計ライン数TLNに「1」を加算する(RP9)。CPU30は、処理RP9が終了すると、処理RP1に進む。
処理RP3においてYesと判断されると、CPU30は、第3エッジ数EN3が閾値TH未満であるか否かを判断する(RP10)。CPU30は、第3エッジ数EN3が閾値TH以上である場合(RP10:No)に、処理RP4に進み、第3エッジ数EN3が閾値TH未満である場合(RP10:Yes)に、処理RP11に進む。本実施形態では、閾値THは、同様に「2」である。
CPU30は、矩形フラグRTFGがオンであるか否かを判断する(RP11)。CPU30は、矩形フラグRTFGがオフである場合(RP11:No)に、第3領域DR3において原稿GSがなくなったと判断して第3検出処理RH7が終了し、矩形フラグRTFGがオンである場合(RP11:Yes)に、処理RP12に進む。
CPU30は、合計ライン数TLNを第3検出位置DP3としてRAM32に記憶する(RP12)。本実施形態では、第3検出位置DP3は、先頭ラインFLからのライン数に相当する位置である。
CPU30は、停止位置移動処理を実行する(RP13)。詳細は後述するため、ここでは概説する。CPU30は、切替フラグCFGがオフである場合に、第1検出位置差分DCP1、および停止距離HTLを算出し、停止位置HTPをRAM32に記憶する。CPU30は、読取部20が停止位置HTPまで移動する駆動指令を送信したと判断するときに、停止位置移動処理RP13を終了する。処理RP13が終了すると、第3検出領域DR3において原稿GSがなくなったと判断して第3検出処理RH7が終了する。
(第4検出処理RH8)
図22に示す第4検出処理RH8が開始されると、CPU30は、検出ラインデータDLDを設定する(RR1)。具体的には、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置における1ラインの白黒データWBDを検出ラインデータDLDとして設定してRAM32に記憶する。ここで、処理RH8が開始されて最初に実行されるときの合計ライン数TLNは、第2検出処理RH3における処理RM10において本処理の直前に加算された合計ライン数TLNである。ここで、処理RR1において設定される合計ライン数TLNは、先頭ラインFLからの処理RH8を実行する対象となる対象ラインまでのライン数である。
CPU30は、第2エッジ数EN2、および第4エッジ数EN4を計数する(RR2)。具体的には、CPU30は、検出ラインデータDLDのうちで第2検出領域DR2に含まれる白黒データWBDが「1」である画素数を第2エッジ数EN2として計数し、検出ラインデータDLDのうちで第4検出領域DR4に含まれる白黒データWBDが「1」である画素数を第4エッジ数EN4として計数する。
CPU30は、第4端フラグEFG4がオンであるか否かを判断する(RR3)。CPU30は、第4端フラグEFG4がオンである場合(RR3:Yes)に、処理RR10に進み、第4端フラグEFG4がオフである場合(RR3:No)に、処理RR4に進む。
CPU30は、図23に示す第4端フラグEFG4判断処理を実行する(RR4)。図23に示す第4端フラグEFG4判断処理が開始されると、CPU30は、第4エッジ数EN4が閾値TH以上であるか否かを判断する(RS1)。CPU30は、第4エッジ数EN4が閾値TH以上である場合(RS1:Yes)に、処理RS2に進み、第4エッジ数EN4が閾値TH未満である場合(RS1:No)に、処理RS3に進む。本実施形態では、閾値THは、同様に「2」である。
処理RS1においてYesと判断されると、CPU30は、第4端フラグEFG4をオンに設定してRAM32に記憶する(RS2)。処理RS2が終了すると、第4端フラグEFG4判断処理RR4が終了する。
処理RS1においてNoと判断されると、CPU30は、第4端フラグEFG4をオフに設定してRAM32に記憶する(RS3)。処理RS3が終了すると、第4端フラグEFG4判断処理RR4が終了する。
処理RR4が終了すると、図22に示すように、CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPであるか否かを判断する(RR5)。CPU30は、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPである場合(RR5:Yes)に、処理RR6に進み、合計ライン数TLNに対応する副走査方向SDの位置が最大読取位置MRPでない場合(RR5:No)に、処理RR7に進む。本実施形態では、合計ライン数TLNに対応する副走査方向SDの位置は、先頭ラインFLから合計ライン数TLNだけ離れた副走査方向SDの位置である。
CPU30は、読取終了フラグREFGをオンに設定してRAM32に記憶する(RR6)。処理RR6が終了すると、第4検出処理RH8が終了する。
処理RR5においてNoと判断されると、第2エッジ数EN2が閾値TH以上であるか否かを判断する(RR7)。CPU30は、第2エッジ数EN2が閾値TH以上である場合(RR7:Yes)に、処理RR8に進み、第2エッジ数EN2が閾値TH未満である場合(RR7:No)に、処理RR9に進む。本実施形態では、閾値THは、同様に「2」である。
CPU30は、第2フラグFG2をオフに設定してRAM32に記憶する(RR8)。処理RR8が終了すると、第4検出処理RH8が終了する。
処理RR7においてNoと判断されると、CPU30は、合計ライン数TLNに「1」を加算する(RR9)。CPU30は、処理RR9が終了すると、処理RR1に進む。
処理RR3においてYesと判断されると、CPU30は、第4エッジ数EN4が閾値TH未満であるか否かを判断する(RR10)。CPU30は、第4エッジ数EN4が閾値TH以上である場合(RR10:No)に、処理RR4に進み、第4エッジ数EN4が閾値TH未満である場合(RR10:Yes)に、処理RR11に進む。本実施形態では、閾値THは、同様に「2」である。
CPU30は、矩形フラグRTFGがオンであるか否かを判断する(RR11)。CPU30は、矩形フラグRTFGがオフである場合(RR11:No)に、第4検出領域DR4において原稿GSがなくなったと判断して第4検出処理RH8が終了し、矩形フラグRTFGがオンである場合(RR11:Yes)に、処理RR12に進む。
CPU30は、合計ライン数TLNを第4検出位置DP4としてRAM32に記憶する(RR12)。本実施形態では、第4検出位置DP4は、先頭ラインFLからのライン数に相当する位置である。
CPU30は、停止位置移動処理を実行する(RR13)。詳細は後述するため、ここでは概説する。CPU30は、切替フラグCFGがオンである場合に、第2検出位置差分DCP2、および停止距離HTLを算出し、停止位置HTPをRAM32に記憶する。CPU30は、読取部20が停止位置HTPまで移動する駆動指令を送信したと判断するときに、停止位置移動処理RR13を終了する。処理RR13が終了すると、第4検出領域DR4における原稿GSがなくなったと判断して第4検出処理RH8が終了する。
(停止位置移動処理RP13、RR13)
図24に示す停止位置移動処理RP13,RR13が開始されると、CPU30は、切替フラグCFGがオンであるか否かを判断する(RT1)。CPU30は、切替フラグCFGがオンである場合(RT1:Yes)に、処理RT5に進み、切替フラグCFGがオフである場合(RT1:No)に、処理RT2に進む。
CPU30は、図26(A)に示す第1検出位置差分DPD1を算出する(RT2)。具体的には、CPU30は、先頭ラインFLから副走査方向SDにおける規定位置SPまでのライン数から第3検出位置DP3に相当するライン数を引き算することにより、第1検出位置差分DPD1を算出する。
CPU30は、図26(B)に示す停止距離HTLを算出する(RT3)。具体的には、CPU30は、傾き角度CAに正弦処理を施した値に、第1検出位置差分DPD1を掛け算し、掛け算した値に傾き角度CAに正弦処理を施した値を掛け算することにより、停止距離HTLを算出する。
CPU30は、停止位置HTPをRAM32に記憶する(RT4)。具体的には、CPU30は、第3検出位置DP3から副走査方向SDに沿って下流へ停止距離HTL離れた位置を停止位置HTPとしてRAM32に記憶する。CPU30は、処理RT4が終了すると、処理RT8へ進む。
処理RT1においてYesと判断されると、CPU30は、図27(B)に示す第2検出位置差分DPD2を算出する(RT5)。具体的には、CPU30は、先頭ラインFLから副走査方向SDにおける最大読取位置MRPまでのライン数から第4検出位置DP4に相当するライン数を引き算することにより、第2検出位置差分DPD2を算出する。
CPU30は、図27(B)に示す停止距離HTLを算出する(RT6)。具体的には、CPU30は、傾き角度CAに正弦処理を施した値に、第2検出位置差分DPD2を掛け算し、掛け算した値に傾き角度CAに正弦処理を施した値を掛け算することにより、停止距離HTLを算出する。
CPU30は、停止位置HTPをRAM32に記憶する(RT7)。具体的には、CPU30は、第4検出位置DP4から副走査方向SDに沿って下流へ停止距離HTL離れた位置を停止位置HTPとしてRAM32に記憶する。
CPU30は、読取部20が停止位置HTPに位置するか否かを判断する(RT8)。具体的には、CPU30は、駆動回路37に送信した駆動指令が読取部20を停止位置HTPまで移動させる駆動指令である場合(RT8:Yes)に、読取部20が停止位置HTPに位置すると判断し、処理RT8が終了する。CPU30は、駆動回路37に送信した駆動指令が読取部20を停止位置HTPまで移動させる駆動指令でない場合(RT8:No)に、読取部20が停止位置HTPに位置しないと判断し、読取動作を継続する。処理RT8が終了すると、停止位置移動処理RP13、RR13が終了する。
<実施形態の効果>
本実施形態では、先端検知処理R3における検出領域設定処理RA4は、傾き角度CAの回転方向が傾き無である場合に、傾き無検出フラグDFGをオンに設定し、第1検出領域DR1、第2検出領域DR2、第3検出領域DR3、及び規定位置SPを設定する。原稿検知処理R4は、傾き無フラグDFGがオンである場合に、傾き無原稿検知処理RF2を実行する。傾き無原稿検知処理RF2は、各エッジ数の全てが閾値TH以上である場合に、原稿端フラグEFGをオンにし、合計ライン数TLNに「1」を加算する。傾き無検知処理RF2は、原稿端フラグEFGがオンである場合に、各エッジ数の全てが閾値TH未満である場合に、原稿GSがなくなったと判断して傾き無原稿検知処理RF2を終了する。原稿検知処理R4は、傾き無フラグDFGがオフである場合に、第1距離LG1を算出し、傾き有原稿検知処理RF4を実行する。傾き有原稿検知処理RF4は、第1検出処理RH1を実行し、第2検出処理RH3を実行し、第3検出処理RH7、または第4検出処理RH8を実行する。第1検出処理RH1は、第1エッジ数EN1が閾値TH以上である場合に、第1端フラグEFG1をオンに設定し、合計ライン数TLNに「1」を加算する。第1検出処理RH1は、第1端フラグEFG1がオンであり、且つ第1エッジ数EN1が閾値TH未満である場合に、第1検出領域DR1に原稿GSがなくなったと判断して第1フラグFG1をオンにし、第1検出位置DP1を記憶する。第2検出処理RH3は、第2エッジ数EN1が閾値TH以上である場合に、第2端フラグEFG2をオンに設定し、合計ライン数TLNに「1」を加算する。第2検出処理RH3は、第2端フラグEFG2がオンであり、且つ第2エッジ数EN2が閾値TH未満である場合に、第2検出領域DR2に原稿GSがなくなったと判断して第2フラグFG2をオンにし、第2検出位置DP2を記憶し、第1位置差分PD1が第1距離LG1と同じである場合に、矩形フラグRTFGをオンにする。第3検出処理RH7は、第3エッジ数EN3が閾値TH以上である場合に、第3端フラグEFG3をオンに設定し、合計ライン数TLNに「1」を加算する。第3検出処理RH7は、第3端フラグEFG3がオンであり、且つ第3エッジ数EN3が閾値TH未満である場合に、第3検出領域DR3に原稿GSがなくなったと判断して矩形フラグRTFGがオンであるか否かを判断する。第3処理RH7は、矩形フラグRTFGがオフである場合に、第3検出処理RH7を終了し、矩形フラグRTFGがオンである場合に、第3検出位置DP3を記憶し、第1検出位置差分DCP1を算出し、停止距離HTLを算出し、読取部20が停止位置HTPに位置するまで読取動作を継続する。よって、原稿GSが無作為に支持されて原稿GSの先端が主走査方向と平行に支持された場合でも、原稿GSが無作為に支持されて原稿GSの先端が主走査方向と平行でなく支持された場合でも、それぞれの場合において異なる終了処理を実行する。さらに、原稿GSが無作為に支持されて原稿GSの先端が主走査方向と平行でなく支持され、且つ矩形フラグRTFGがオンである場合に、読取部20が停止位置HTPに位置するまで読取動作を継続する。そのため、原稿GSを正常に読み取ることができる。
第1検出処理RH1、及び第2検出処理RH3は、規定位置SP判断処理RI7,RM9を実行する。規定位置SP判断処理RI7,RM9は、合計ライン数TLNに対応する位置が規定位置SPである場合に、第4検出領域DR4を決定し、切替フラグCFGをオンにする。傾き有原稿検知処理RF4は、切替フラグCFGがオンである場合に、第4検出処理RH8を実行し、切替フラグCFGがオフである場合に、第3検出処理RH7を実行する。第4検出処理RH8は、第4エッジ数EN4が閾値TH以上である場合に、第4端フラグEFG4をオンに設定し、合計ライン数TLNに「1」を加算する。第4検出処理RH8は、第4端フラグEFG4がオンであり、且つ第4エッジ数EN4が閾値TH未満である場合に、第4検出領域DR4に原稿GSがなくなったと判断して矩形フラグRTFGがオンであるか否かを判断する。第4処理RH8は、矩形フラグRTFGがオフである場合に、第4検出処理RH8を終了し、矩形フラグRTFGがオンである場合に、第4検出位置DP4を記憶し、第2検出位置差分DCP2を算出し、停止距離HTLを算出し、読取部20が停止位置HTPに位置するまで読取動作を継続する。よって、副走査方向SDにおいて規定位置SPよりも下流に原稿GSがある場合でも、第4検出処理RH8を実行して第4検出領域DR4において原稿GSを検出し、さらに、矩形フラグRTFGがオンである場合に読取部20が停止位置HTPに位置するまで読取動作を継続することで、原稿GSを正常に読み取ることができる。
[実施形態と発明との対応関係]
画像読取装置SM、原稿載置台DT、及び原稿押え板CVが、本発明の画像読取装置、原稿台、及び原稿押え部材の一例である。読取部20、AFE35、及びエッジ検出部39が、本発明の読取部の一例である。駆動回路37、搬送モータMT、及び移動機構MMが、本発明の移動部の一例である。CPU30が、本発明の制御部の一例である。
処理R2が、本発明の開始処理の一例である。処理R3が、本発明の先端検出処理の一例である。処理RA4が、領域決定処理の一例である。処理R4、及び処理R5が、本発明の終了処理の一例である。処理RF2が、本発明の傾き無終了処理の一例である。処理RF4が、本発明の傾き有終了処理の一例である。処理RP13,RR13が、本発明の停止距離算出処理の一例である。
[変形例]
本発明は、本実施形態に限定されることなく、その趣旨を逸脱しない範囲において種々の変形が可能である。以下にその変形の一例を述べる。
(1)本実施形態の画像読取装置SMは、プリンタ部を備えた複合機に適用されても良い。また、本実施形態では、読取部20が、CISで構成される場合について説明をしたが、CCD(Charge Coupled Device)を搭載し、副走査方向SDに移動するCCDユニットで構成されても良いし、CCD素子が固定されて光源とミラーとが副走査方向SDに移動する読取ユニットで構成されても良い。
(2)本実施形態では、第1検出領域DR1、第2検出領域DR2、および第3検出領域DR3は、先端データHAから算出した傾き角度CA、先端直線HL、上流側端直線USL、および下流側端直線DSLから決定される方式であるが、この方式と異なる方法でも良い。予め原稿GSが支持される領域が存在する場合には、その予め原稿GSが支持される領域のうちの3つの領域を第1検出領域DR1、第2検出領域DR2、および第3検出領域DR3として決定しても良い。
(3)本実施形態では、第1検出位置DP1と第2検出位置DP2とから決定された矩形フラグRTFGがオンである場合に、停止位置移動処理RP13,RR13が実行されたが、矩形フラグRTFGがオンである場合と異なる場合に停止位置移動処理RP13,RR13を実行しても良い。矩形フラグRTFGがオンであり、且つ第3検出位置DP3が、第2検出位置DP2から副走査方向SDに沿って下流に第1距離LG1だけ離れた位置である場合に、停止位置移動処理RP13,RR13が実行されても良い。
(4)本実施形態では、停止距離HTLは、傾き角度CAに正弦処理を施した値に、第1検出位置差分DPD1、又は第2検出位置差分DPD2を掛け算し、掛け算した値に傾き角度CAに正弦処理を施した値を掛け算することにより、算出されたが、異なる方法でも良い。傾き角度CAの大きさに応じて予め停止距離HTLが定められても良い。
(5)本実施形態では、第1距離LG1は、傾き角度CAに正接処理を施した値に第1検出領域DR1の主走査方向MDの中央位置と第2検出領域DR2の主走査方向MDの中央位置との距離を掛け算することにより、算出されたが、異なる方法でも良い。傾き角度CAの大きさに応じて予め第1距離LG1を定められても良い。
SM…画像読取装置、OM…操作機構、CV…原稿押え板、MT…搬送モータ、MM…移動機構、20…読取部、21…光源、22…受光部、23…光電変換素子、30…CPU、33…フラッシュROM、34…デバイス制御部、35…AFE、36…画像処理部、37…駆動回路、39…エッジ検出部

Claims (6)

  1. 原稿を支持する原稿台と、
    前記原稿台を開放する開放状態と前記原稿台を閉塞する閉塞状態とに開閉可能な原稿押え部材と、
    前記原稿台に支持された原稿の画像を主走査方向に沿ったラインイメージセンサで読み取ることにより読取画像データを生成する読取部であって、前記原稿台に支持された原稿を読み取る場合に、前記原稿台に支持された原稿の画像を示す原稿データを読取画像データとして生成し、前記閉塞状態における前記原稿押え部材を読み取る場合に、前記原稿押え部材の画像を示す原稿押えデータを読取画像データとして生成する読取部と、
    副走査方向に沿って前記ラインイメージセンサを移動させる移動部と、
    制御部と、を備え、
    前記制御部は、
    前記ラインイメージセンサを副走査方向に沿って下流へ前記移動部により移動させながら前記読取部により前記読取画像データを生成させる読取動作を開始する開始処理と、
    前記開始処理の開始時に前記ラインイメージセンサが位置する副走査方向における読取開始位置から副走査方向に沿って下流へ第1所定距離離れた先端領域下端位置まで前記読取動作を行うことにより生成された先端読取画像データから、主走査方向に沿った原稿の辺である原稿先端と、副走査方向に沿った原稿の2つの辺である2つの原稿側端とを検出する先端検出処理と、
    前記2つの原稿側端の位置に基づき、主走査方向において前記原稿台に支持された原稿の主走査方向における中央に位置する中央領域と、前記中央領域の位置から前記2つの原稿側端の位置の側にそれぞれ位置する2つの側方領域とを決定する領域決定処理と、
    前記原稿先端が主走査方向と平行である場合に、前記先端領域下端位置から副走査方向に沿って下流の前記読取画像データである対象読取画像データに傾き無終了処理を施すことにより前記読取動作を終了し、前記原稿先端が主走査方向と平行でない場合に、前記対象読取画像データに傾き有終了処理を施すことにより前記読取動作を終了する終了処理と、を実行し、
    前記傾き無終了処理は、前記中央領域と前記2つの側方領域との全ての領域において、
    前記対象読取画像データが前記原稿データから前記原稿押えデータへ変化するときに前記読取動作を終了し、
    前記傾き有終了処理は、前記中央領域と、前記2つの側方領域とにおける3つの領域における前記対象読取画像データが、それぞれ前記原稿データから前記原稿押えデータへ変化する副走査方向における3つの変化位置を決定し、副走査方向における前記3つの変化位置のうちで、最初に決定される第1変化位置と、2番目に決定される第2変化位置とに基づき前記原稿台に支持された原稿が矩形形状であるか否かを決定し、当該決定と前記3つの変化位置のうちで3番目に決定される第3変化位置とに基づき前記読取動作を終了することを特徴とする画像読取装置。
  2. 前記第1変化位置が決定される前記2つの側方領域のうちの一方の領域である第1領域は、第1基点位置から主走査方向に沿って前記中央領域側へ第2所定距離離れた位置までの領域であって、前記第1基点位置は、副走査方向において前記2つの原稿側端のうちの前記読取開始位置に近い原稿側端における副走査方向の前記先端領域下端位置に対応する主走査方向の位置であり、
    前記第3変化位置が決定される前記2つの側方領域のうちの他方の領域である第3領域は、第3基点位置から、主走査方向に沿って上流に前記第2所定距離離れた位置までの領域であり、前記第3基点位置は、前記2つの原稿側端のうちの前記読取開始位置から遠い原稿側端において前記2つの原稿側端の距離に所定比率を掛け算した距離だけ前記原稿先端から離れた位置であり、前記所定比率は、予め定められた大きさの規定原稿の長辺を前記規定原稿の短辺で割り算した比率であり、
    前記第2変化位置が決定される領域である前記中央領域は、前記第1基点位置と前記第3基点位置との中点を第2基点位置とし、前記第2基点位置を中心とする前記第2所定距離の範囲の領域であり、
    前記傾き有終了処理は、
    前記第3基点位置と、前記第3変化位置とに基づき第1停止距離を算出する停止距離算出処理を含み、
    前記原稿台に支持された原稿が矩形形状でない場合に、前記第3変化位置を決定するときに前記読取動作を終了し、
    前記原稿台に支持された原稿が矩形形状である場合に、前記移動部により前記ラインイメージセンサを前記第3変化位置から副走査方向の下流に前記第1停止距離だけ離れた位置へ移動させたときに前記読取動作を終了することを特徴とする請求項1に記載の画像読取装置。
  3. 前記制御部は、
    主走査方向に対する前記原稿先端の傾き角度である先端角度を算出する角度算出処理を実行し、
    前記停止距離算出処理は、
    前記先端角度に正弦処理を施した値に、副走査方向における前記第3基点位置と前記第3変化位置との距離を掛け算し、さらに掛け算した距離に前記先端角度に正弦処理を施した値を掛け算することにより前記第1停止距離を算出することを特徴とする請求項2に記載の画像読取装置。
  4. 前記制御部は、
    主走査方向における前記第1領域と前記2つの側方領域のうちの他方の領域である第2領域との距離に、前記先端角度に正接処理を施した値を掛け算することにより第1距離を算出する第1距離算出処理を実行し、
    前記傾き有終了処理は、
    副走査方向における前記第1変化位置と前記第2変化位置との距離が、前記第1距離と同じである場合に、前記原稿台に支持された原稿が矩形形状であることを決定し、
    副走査方向における前記第1変化位置と前記第2変化位置との距離が、前記第1距離と同じでない場合に、前記原稿台に支持された原稿が矩形形状でないことを決定することを特徴とする請求項3に記載の画像読取装置。
  5. 前記読取部は、前記移動部により前記ラインイメージセンサが前記原稿先端位置から最大読取位置まで移動する範囲を読み取り可能に構成され、
    前記領域決定処理は、
    前記傾き有終了処理が、前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定しない場合に、最大基点位置から主走査方向に沿って前記中央領域の側へ前記第2所定距離離れた位置までの領域を第4領域として決定し、前記最大基点位置は、前記2つの原稿側端のうちの前記第3領域に近い原稿側端における副走査方向の前記最大読取位置に対応する主走査方向の位置であり、
    前記傾き有終了処理は、
    前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定しない場合に、前記第4領域において前記原稿データから前記原稿押えデータへ変化する副走査方向の位置を第4変化位置として決定し、前記第4変化位置と原稿が矩形形状であるか否かの前記決定とに基づき前記読取動作を終了することを特徴とする請求項4に記載の画像読取装置。
  6. 前記停止距離算出処理は、前記最大基点位置と、前記第4変化位置とに基づき第2停止距離を算出し、
    前記傾き有終了処理は、
    前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定せず、且つ前記原稿台に支持された原稿が矩形形状でない場合に、
    前記第4変化位置を決定するときに前記読取動作を終了し、
    前記先端領域下端位置から前記第3基点位置までの前記対象読取画像データにおいて前記第3変化位置を決定せず、且つ前記原稿台に支持された原稿が矩形形状である場合に、
    前記移動部により前記ラインイメージセンサを前記第4変化位置から副走査方向の下流に前記第2停止距離だけ離れた位置へ移動させたときに前記読取動作を終了することを特徴とする請求項5に記載の画像読取装置。
JP2018004719A 2018-01-16 2018-01-16 画像読取装置 Active JP6883283B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018004719A JP6883283B2 (ja) 2018-01-16 2018-01-16 画像読取装置
US16/246,620 US10645248B2 (en) 2018-01-16 2019-01-14 Image scanner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018004719A JP6883283B2 (ja) 2018-01-16 2018-01-16 画像読取装置

Publications (2)

Publication Number Publication Date
JP2019125900A JP2019125900A (ja) 2019-07-25
JP6883283B2 true JP6883283B2 (ja) 2021-06-09

Family

ID=67213168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018004719A Active JP6883283B2 (ja) 2018-01-16 2018-01-16 画像読取装置

Country Status (2)

Country Link
US (1) US10645248B2 (ja)
JP (1) JP6883283B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023115486A (ja) * 2022-02-08 2023-08-21 セイコーエプソン株式会社 画像読取装置、画像読取システム及び画像読取装置の制御方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02145085A (ja) * 1988-11-25 1990-06-04 Fuji Xerox Co Ltd フィルム画像読取装置
JPH0927909A (ja) 1995-07-13 1997-01-28 Ricoh Co Ltd 画像読取装置
US20040165224A1 (en) * 2003-02-21 2004-08-26 Allen Ross R. Compact optical scanner
US20070273935A1 (en) * 2006-05-24 2007-11-29 Kabushiki Kaisha Toshiba Image Reading Apparatus, MFP, and Document Detecting Method
JP2008227889A (ja) * 2007-03-13 2008-09-25 Ricoh Co Ltd 画像読取装置およびその制御方法
US8174737B2 (en) * 2007-12-28 2012-05-08 Brother Kogyo Kabushiki Kaisha Image reading apparatus
JP4888439B2 (ja) * 2008-05-30 2012-02-29 ブラザー工業株式会社 画像読取装置および原稿サイズ決定プログラム
JP5757259B2 (ja) * 2012-02-28 2015-07-29 ブラザー工業株式会社 画像処理装置及び画像処理プログラム
JP5551229B2 (ja) * 2012-12-07 2014-07-16 キヤノン電子株式会社 画像読取装置、画像読取装置の制御方法、画像読取装置の制御プログラム、及び画像読取システム
JP5968263B2 (ja) * 2013-05-24 2016-08-10 京セラドキュメントソリューションズ株式会社 画像処理装置
KR102070937B1 (ko) * 2013-10-29 2020-01-29 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 이미징 유닛의 위치 조정 장치, 이미징 유닛 및 이를 포함한 화상 독취 장치
JP6179436B2 (ja) * 2014-03-28 2017-08-16 ブラザー工業株式会社 画像読取装置
JP2016046653A (ja) * 2014-08-21 2016-04-04 ブラザー工業株式会社 読取装置およびシート搬送装置
JP6467845B2 (ja) * 2014-09-30 2019-02-13 ブラザー工業株式会社 画像読取装置
JP6380209B2 (ja) * 2015-03-31 2018-08-29 ブラザー工業株式会社 画像処理プログラム、画像処理装置、及び、画像処理方法
JP6711051B2 (ja) * 2016-03-18 2020-06-17 ブラザー工業株式会社 画像処理装置および画像処理方法
JP6834417B2 (ja) * 2016-11-30 2021-02-24 ブラザー工業株式会社 画像処理装置及びプログラム
JP2018129653A (ja) * 2017-02-08 2018-08-16 ブラザー工業株式会社 画像読取装置
JP6929748B2 (ja) * 2017-09-29 2021-09-01 株式会社マキタ タンクキャップ
JP6834906B2 (ja) * 2017-10-24 2021-02-24 ブラザー工業株式会社 画像読取装置
JP6848811B2 (ja) * 2017-10-24 2021-03-24 ブラザー工業株式会社 画像読取装置

Also Published As

Publication number Publication date
US10645248B2 (en) 2020-05-05
US20190222710A1 (en) 2019-07-18
JP2019125900A (ja) 2019-07-25

Similar Documents

Publication Publication Date Title
JP2006287360A (ja) 画像読み取り装置および画像読み取り装置の制御方法
JP6883283B2 (ja) 画像読取装置
JP2008227625A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体
JP6338554B2 (ja) 画像処理装置及び画像処理方法、プログラム
JP3804548B2 (ja) 画像処理装置
JP6390251B2 (ja) 画像読取装置、画像形成装置、及びプログラム
JP7391653B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP4028515B2 (ja) 用紙サイズ検知装置及びその制御プログラム
JP2007135096A (ja) 画像読取り装置及び方法、並びにプログラム及び記憶媒体
JP2019092093A (ja) 画像読取装置
JPH0869215A (ja) 原稿サイズ検知装置
US10542175B2 (en) Image reading apparatus, control method for controlling image reading apparatus, and storage medium
JP2003198777A (ja) 画像処理装置
JP4313246B2 (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP5910002B2 (ja) 画像読み取り装置、原稿サイズ検出方法及び原稿サイズ検出プログラム
JP6962172B2 (ja) 画像読取装置
JP7423272B2 (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム
JP6939408B2 (ja) 画像読取装置
JP2010041595A (ja) 画像読み取り装置、画像形成装置、画像読み取り方法、及びコンピュータプログラム
JP4042335B2 (ja) 原稿読取装置
JP2009040005A (ja) 印刷装置およびその制御方法並びにプログラム
JP5025332B2 (ja) 画像読取装置
JP5251644B2 (ja) 画像読取装置および画像読取方法
JP5754134B2 (ja) 画像読取装置及び画像形成装置
JP2009170958A (ja) 画像読取装置、画像読取装置の制御方法、および画像読取装置の制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210422

R150 Certificate of patent or registration of utility model

Ref document number: 6883283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150