JP3581644B2 - 画像読取装置及び該装置の制御方法並びに記憶媒体 - Google Patents

画像読取装置及び該装置の制御方法並びに記憶媒体 Download PDF

Info

Publication number
JP3581644B2
JP3581644B2 JP2000268546A JP2000268546A JP3581644B2 JP 3581644 B2 JP3581644 B2 JP 3581644B2 JP 2000268546 A JP2000268546 A JP 2000268546A JP 2000268546 A JP2000268546 A JP 2000268546A JP 3581644 B2 JP3581644 B2 JP 3581644B2
Authority
JP
Japan
Prior art keywords
image
speed
image reading
reading
image data
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.)
Expired - Fee Related
Application number
JP2000268546A
Other languages
English (en)
Other versions
JP2002077541A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000268546A priority Critical patent/JP3581644B2/ja
Priority to US09/938,572 priority patent/US6648226B2/en
Priority to CNB011324511A priority patent/CN1215698C/zh
Publication of JP2002077541A publication Critical patent/JP2002077541A/ja
Priority to US10/625,664 priority patent/US6962288B2/en
Application granted granted Critical
Publication of JP3581644B2 publication Critical patent/JP3581644B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • H04N1/00241Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer using an image reading device as a local input to a computer
    • 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/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32625Fault detection
    • H04N1/3263Fault detection of reading apparatus or transmitter, e.g. original jam
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32646Counter-measures
    • H04N1/32683Preventive counter-measures, e.g. using redundant hardware, or anticipating a fault
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0015Control of image communication with the connected apparatus, e.g. signalling capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/024Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof deleted
    • H04N2201/02406Arrangements for positioning elements within a head
    • H04N2201/02439Positioning method
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/024Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof deleted
    • H04N2201/028Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof deleted for picture information pick-up
    • H04N2201/03Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof deleted for picture information pick-up deleted
    • H04N2201/031Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof deleted for picture information pick-up deleted deleted
    • H04N2201/03104Integral pick-up heads, i.e. self-contained heads whose basic elements are a light source, a lens and a photodetector supported by a single-piece frame
    • H04N2201/03108Components of integral heads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/04Scanning arrangements
    • H04N2201/047Detection, control or error compensation of scanning velocity or position
    • H04N2201/04753Control or error compensation of scanning position or velocity
    • H04N2201/04756Control or error compensation of scanning position or velocity by controlling the position or movement of the sheet, the sheet support or the photoconductive surface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/04Scanning arrangements
    • H04N2201/047Detection, control or error compensation of scanning velocity or position
    • H04N2201/04753Control or error compensation of scanning position or velocity
    • H04N2201/04791Control or error compensation of scanning position or velocity in the sub-scan direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/04Scanning arrangements
    • H04N2201/047Detection, control or error compensation of scanning velocity or position
    • H04N2201/04753Control or error compensation of scanning position or velocity
    • H04N2201/04794Varying the control or compensation during the scan, e.g. using continuous feedback or from line to line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3285Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N2201/329Storage of less than a complete document page or image frame

Description

【0001】
【発明の属する技術分野】
本発明は、原稿の画像データを読み取る画像読取装置及び該装置の制御方法並びに記憶媒体に関する。
【0002】
【従来の技術】
図1は、画像読取装置の概略構成を示すブロック図である。
【0003】
同図において、画像読取装置200はホストコンピュータ100に接続されており、ホストコンピュータ100により制御される。画像読取装置200からの画像はホストコンピュータ100に表示され、保存される。
【0004】
ホストコンピュータ100は、各種演算を行うCPU101と、オペレーティングシステム又はプログラムがワークエリアとして使用するRAM102と、オペレーティングシステムやプログラムを格納するハードディスク103と、モニタ104と、マウス、キーボード等の入力装置105と、画像読取装置200等の外部装置とホストコンピュータ100とを接続するインターフェース部106とを備えている。インターフェース部106は、シリアルインタフェース、パラレルインタフェース、SCSIインターフェース、USBインターフェース、及びIEEE1394インターフェース等を備えている。
【0005】
画像読取装置200は、密着型のイメージセンサ(以下「CIS」という)201と、光源であるLED202と、LED制御回路203と、AMP204と、A/D変換回路205と、シェーディングRAM206と、シェーディング補正回路207と、ピーク検知回路208と、ガンマ変換回路209と、バッファRAM210と、パッキング/バッファRAM制御回路211と、インターフェース回路212と、モータドライブ回路213と、モータ214とを備えている。画像読取装置200を制御するプログラムは、TWAIN対応アプリケーション301と、TWAINドライバ302と、デバイスドライバ303と、ポートドライバ304と、オペレーティングシステム(OS)305とを備えている。
【0006】
パッキング/バッファRAM制御回路211はモータ214及びバッファRAM210を以下のように制御する。
【0007】
パッキング/バッファRAM制御回路211から出力された画像データはバッファRAM210に書き込まれ、この書き込まれた画像データはバッファRAM210からインターフェース回路212経由でホストコンピュータ100に読み出される。このとき、パッキング/バッファRAM制御回路211からバッファRAM210へのデータ書き込み速度が、ホストコンピュータ100によるRAM210からのデータ読み出し速度より速いとバッファRAM210が容量オーバになる。パッキング/バッファRAM制御回路211は、バッファRAM210の空き容量を監視し、空き容量が画像データの1ライン分相当になると、モータドライブ回路213に読み込みの一時停止の指令を出す。バッファRAM210が再び空になったら、モータドライブ回路213に読み込みの再開指令を出す。
【0008】
このようなバッファRAM210のオーバーフロー回避のため動作をスタート/ストップ(以下「SS」という)という。SSが発生した場合に再スタートする方法として、CIS201が停止した位置から再スタートする方法と、停止した位置から一度戻って再スタートする方法とがある。停止した位置から再スタートする方法の場合、停止位置での画像の連続性が保てないため画質が劣化する。停止した位置から一度戻って再スタートする方法の場合、再スタートするまでの時間が余分にかかり、全体のスキャン時間が遅くなる。SSが発生するとこのような不具合が発生するため、なるべくSSが発生しないようにする必要がある。
【0009】
モータの駆動速度とバッファRAM210へのデータ書き込み速度は比例するので、従来のデバイスドライバ303は、パッキング/バッファRAM制御回路211からバッファRAM210へのデータ書き込み速度がホストコンピュータ100によるバッファRAM210からのデータ読み出し速度より遅くなるように、かつ、前記条件の内で最も速くバッファRAM210へ書き込みができるようにモータ214の速度を制御していた。
【0010】
図8は、デバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【0011】
同図において、まず、デバイスドライバ303は、インターフェース回路212のデータ通信速度Iを計算する(ステップS61)。
【0012】
データ通信速度Iの具体的な計算方法は以下の通りである。まず、バッファRAM210にダミーデータを生成する。次に、デバイスドライバ303内のタイマをスタートし、ダミーデータを画像データを読み出す場合と同じモードで読み出す。ダミーデータを読み出し終わったら、タイマを停止する。ダミーデータ量とダミーデータ転送時間からインターフェース回路212のデータ通信速度I(Byte/sec)(以下、「インターフェース速度I」という)を計算する。
【0013】
次いで、インターフェース速度I(Byte/sec)、解像度K(dpi)、クロップ幅L(dot)、及び所定のモータ速度テーブルからモータ速度S(inch/sec)を計算する(ステップS62)。画像読取装置200の読み取り領域を示す図4において、ユーザがプレビューエリアで設定したクロップ領域の横幅のドット数がクロップ幅Lである。全画面をスキャンする場合は全読み取り領域の横幅のドット数がクロップ幅Lになる。バッファRAM210からの読み出し速度Vrはインターフェース速度I(Byte/sec)に相当する(Vr=I)。また、バッファRAM210への書き込み速度Vw(Byte/sec)は24ビットカラー(1ドットが3バイト)の場合、以下の様に計算される。
【0014】
Vw = S × K × L × 3 (1)
バッファRAM210がオーバーフローしないようにするためには、バッファRAM210からの読み出し速度Vr、即ちインターフェース速度IがバッファRAM210への書きこみ速度Vw(Byte/sec)よりも速くなければならない。つまり、下記関係式が満たされなければならない。
【0015】
I(Byte/sec) > Vw(Byte/sec) (2)
(1)式と(2)式からモータ速度Sを求めると、下記関係式が得られる。
【0016】
S < I / 3(K × L) (3)
モータ速度Sは図5のテーブルに示すように解像度に応じて低速、中速、高速の3段階に設定され、(3)式を満たすモータ速度であって、図5のテーブル中の最大のモータ速度を画像読み取り時のモータ速度Sとして決定する。
【0017】
【発明が解決しようとする課題】
しかしながら、上述したモータ214の速度決定処理はホストコンピュータ100がバッファRAM210から画像データを読み出す速度が一定であることを前提としている。ホストコンピュータ100によるデータの読み出しが中断すると、バッファRAM210がいっぱいになり、SSが発生してしまう。ホストコンピュータ100によるデータの読み出しが中断する要因としては、例えばメモリのスワップがある。
【0018】
TWAINドライバ302は画像読み取り時に、画像サイズと同等のワークリアを確保する。RAM102の空き容量が画像サイズよりも大きい場合はワークエリアとしてRAM102が使用される。RAM102の空き容量が画像サイズよりも小さい場合は、RAM102で足りない分のワークエリアを仮想メモリとしてハードディスク103のメモリが使用される。この場合、ハードディスク103に割り当てられたワークエリアにアクセスする場合、メモリのスワップが発生する。メモリのスワップが発生すると、ハードディスク103の性能によっては、ホストコンピュータ100によるデータの読み出しが中断する場合がある。
【0019】
本発明は、かかる問題点に鑑みてなされたものであり、画像データの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる画像読取装置及び該装置の制御方法を提供することを目的とする。
【0020】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の画像読取装置は、原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置において、前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする。
【0021】
請求項2記載の画像読取装置は、請求項1記載の画像読取装置において、前記仮想メモリへのデータ記憶速度を検出する記憶速度検出手段を有することを特徴とする。
【0022】
請求項3記載の画像読取装置の制御方法は、原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置の制御方法で、前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする。
【0023】
請求項4記載の画像読取装置の制御方法は、請求項3記載の画像読取装置の制御方法において、さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を有することを特徴とする。
【0024】
請求項5記載の記憶媒体は、原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備えると共に、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続される画像読取装置を制御するコンピュータで実行可能な制御プログラムを記録した記憶媒体において、前記制御プログラムは、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする。
【0025】
請求項6記載の記憶媒体は、請求項5記載の記憶媒体において、前記制御プログラムが、さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を実行することを特徴とする。
【0029】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【0030】
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る画像読取装置の概略構成を示すブロック図である。
【0031】
同図において、画像読取装置200はホストコンピュータ100に接続されており、ホストコンピュータ100により制御される。画像読取装置200からの画像はホストコンピュータ100に表示され、保存される。
【0032】
ホストコンピュータ100は、各種演算を行うCPU101と、オペレーティングシステム又はプログラムがワークエリアとして使用するRAM102と、オペレーティングシステムやプログラムを格納するハードディスク103と、モニタ104と、マウス、キーボード等の入力装置105と、画像読取装置200等の外部装置とホストコンピュータ100とを接続するインターフェース部106とを備えている。インターフェース部106は、シリアルインタフェース、パラレルインタフェース、SCSIインターフェース、USBインターフェース、及びIEEE1394インターフェース等を備えている。
【0033】
画像読取装置200は、密着型のイメージセンサ(以下「CIS」という)201と、光源であるLED202と、LED制御回路203と、AMP204と、A/D変換回路205と、シェーディングRAM206と、シェーディング補正回路207と、ピーク検知回路208と、ガンマ変換回路209と、バッファRAM210と、パッキング/バッファRAM制御回路211と、インターフェース回路212と、モータドライブ回路213と、モータ214とを備えている。
【0034】
CIS201は、光源であるLED202と一体化されている。原稿を載せる原稿ガラスに沿ってスキャン方向にCIS201を搬送させながら、LED制御回路203にて1ライン毎にRGB各色のLED202を切り替えて点灯させることにより、CIS201は原稿ガラス上に置かれた原稿をカラー画像として1ラインごとに各色成分の順に読み取ることができる。
【0035】
AMP204は、CIS201より出力された信号を増幅し、A/D変換器205は、当該増幅出力のA/D変換を行い、例えば8ビットのディジタル出力を得る。シェーディングRAM206は、キャリブレーション処理で使用するシェーディング補正用データを記憶する。キャリブレーションは、正確な色読み取りを行うために、色味の基準となる黒シェーディングデータと白シェーディングデータとを生成する処理である。シェーディングデータは、原稿台ガラス裏の黒マーク及び白マークを読み取り、それらのデータをホストコンピュータ100で演算処理することにより得られる。
【0036】
ホストコンピュータ100は、シェーディング補正用データをハードディスク103に保存し、画像読取装置200を初期化するときに、シェーディング補正用データをシェーディングRAM206に送信する。
【0037】
シェーディング補正回路207は、シェーディングRAM206のデータに基づいて、A/D変換された画像信号のシェーディング補正を行う。ピーク検知回路208は、読み取られた画像データに於けるピーク値をライン毎に検知し、この検知で得られたピーク値は、画像読み取りの際にCIS201のLED各色の点灯区間を調整し、決定するキャリブレーション処理等に使用される。
【0038】
ガンマ変換回路209は、ホストコンピュータ100から送信されたガンマカーブに従って読み取られた画像データのガンマ変換を行う。
【0039】
バッファRAM210は、ホストコンピュータ100との画像通信におけるタイミングを合わせるために画像データを一時的に保存する。パッキング/バッファRAM制御回路211は、ホストコンピュータ100より予め設定された画像出力モード(例えば、2値、8ビット多値、24ビット多値等)に従ったパッキング処理を行った後に、そのデータをバッファRAM210に書き込む処理と、バッファRAM210から画像データを読み込んでインターフェース回路212を介してホストコンピュータ100に該画像データを出力する処理とを行う。
【0040】
インターフェース回路212は、ホストコンピュータ100との間で制御信号、制御データ及び画像データの通信を行う。
【0041】
モータドライブ回路213は、ホストコンピュータ100から指示された速度でモータ214を駆動する。モータ214を駆動することにより、CIS201が搬送され、スキャン処理が実行される。モータ駆動速度と画像データの出力速度とは比例する。モータの速度設定は読み取り開始時に行い、読み取り中は変更しない。
【0042】
図2は、図1の画像読取装置200を制御するプログラムの構造を示す図である。
【0043】
画像読取装置200を制御するプログラムは、TWAIN対応アプリケーション301と、TWAINドライバ302と、デバイスドライバ303と、ポートドライバ304と、オペレーティングシステム(OS)305とを備えている。
【0044】
TWAIN対応アプリケーション301は、TWAINドライバ302経由で画像読取装置200から画像を読み取り、モニタ104に表示する。ユーザの指示により画像を処理したり、保存する機能を有する。TWAINドライバ302はTWAIN規格に従い、TWAIN対応アプリケーション301に画像読取装置200からの画像を渡すと共に、独自のGUI(グラフィック・ユーザ・インタフェース)を表示する。GUIはプレビュー、プレビュー画像に対するクロップエリアの指定、解像度の設定、読み取りモード(2値、8ビット多値、24ビット多値等)の設定、及びガンマ補正等の色調整の設定等を行う機能を有する。
【0045】
デバイスドライバ303は、画像読取装置200の各モジュールの制御レジスタにアクセスし、シェーディングの制御、解像度やクロップ範囲に応じたモータ速度の設定、TWAINドライバ302から受け取ったガンマ補正データの画像読取装置200への送信処理、及び画像読み取りのためのフロー制御を行う。ポートドライバ304は、シリアルインタフェース、パラレルインタフェース、SCSIインターフェース、USBインターフェース、及びIEEE1394インターフェース等のインターフェースに応じて画像読取装置200との通信制御を行う。
【0046】
図3は、図2におけるデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【0047】
同図において、まず、デバイスドライバ303は、インターフェース回路212のデータ通信速度Iを計算する(ステップS1)。
【0048】
データ通信速度Iは具体的な計算方法は以下の通りである。まず、バッファRAM210にダミーデータを生成する。次に、デバイスドライバ303内のタイマをスタートし、ダミーデータを画像データを読み出す場合と同じモードで読み出す。ダミーデータを読み出し終えたら、タイマを停止する。ダミーデータ量とダミーデータ転送時間からインターフェース回路212のデータ通信の速度I(Byte/sec)(以下、「インターフェース速度I」という)を計算する。インターフェース速度Iの測定は、画像読取装置200の初期化時に行っても良い。
【0049】
次いで、インターフェース速度I(Byte/sec)、解像度K(dpi)、クロップ幅L(dot)、及びモータ速度テーブルからモータ速度S(inch/sec)を計算する(ステップS2)。クロップ幅Lは、画像読取装置200の読み取り領域を示す図4において、ユーザがプレビューエリアで設定したクロップ領域の横幅のドット数で示される。全画面をスキャンする場合は全読み取り領域の横幅のドット数がクロップ幅Lになる。バッファRAM210からの読み出し速度Vrはインターフェース速度I(Byte/sec)に相当する(Vr=I)。また、バッファRAM210への書き込み速度Vw(Byte/sec)は、24ビットカラー(1ドットが3バイト)の場合、以下の様に計算される。
【0050】
Vw = S × K × L × 3 (1)
バッファRAM210がオーバーフローしないようにするためには、バッファRAM210からの読み出し速度Vr、即ちインターフェース速度IがバッファRAM210への書きこみ速度Vw(Byte/sec)よりも速くなければならない。つまり、下記関係式が満たされなければならない。
【0051】
I(Byte/sec) > Vw(Byte/sec) (2)
(1)式と(2)式からモータ速度Sを求めると、下記関係式が得られる。
【0052】
S < I / 3(K × L) (3)
モータ速度Sは図5のテーブルに示すように解像度に応じて低速、中速、高速の3段階に設定され、(3)式を満たすモータ速度であって、図5のテーブル中の最大のモータ速度を、画像読み取り時のモータ速度Sとして決定する。
【0053】
次に、RAM102の物理メモリから画像データのワークエリアを確保できるか否か判別する(ステップS3)。ステップS3の判別の結果、RAM102の物理メモリから画像データのワークエリアを確保できる場合は、画像読み取り中にメモリのスワップが発生しないのでステップS2で決定したモータ速度Sで画像読み取りを行い、ワークエリアを確保できない場合は、仮想メモリとしてハードディスク103が使用される。この場合画像読み取り中にメモリのスワップが発生するので、ハードディスク103のアクセス速度をチェックする(ステップS4)。このチェックでは、まずダミーデータを生成する。次にタイマをスタートし、ハードディスク103に生成されたダミーデータを書き込み、書き込んだダミーデータを読み出す。この書き込みと読み出しの時間を測定することにより、アクセス速度をチェックする。この処理は、画像読取装置200の初期化時に行っても良い。
【0054】
次いで、ステップS4でチェックしたハードディスク103のアクセス速度が、基準値より速いか否かを判別する(ステップS5)。基準値は性能の異なる複数のハードディスクのアクセス速度をチェックし、スワップが発生してもSSが発生しない値を基準値とする。
【0055】
ステップS5の判別の結果、基準値よりも速い場合は、画像読み取り中にメモリのスワップが発生してもSSが発生しないので、ステップS2で計算されたモータ速度Sで画像読み取りを行う。基準値よりも遅い場合はSSが発生しないようにステップS2で計算されたモータ速度Sよりも遅いモータ速度を図5のテーブルから選択し、画像読み取りを行う(ステップS6)。
【0056】
上述したように、本実施の形態によれば、ハードディスクのアクセス速度をチェックし、該アクセス速度が、SSが発生しない基準値よりも遅い場合には、モータ速度Sをより遅いモータ速度に設定し、画像読み取りを実行するので、ホストコンピュータ100によるRAM210からのデータの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【0057】
(第2の実施の形態)
本実施の形態は、上述した第1の実施の形態と比べて、デバイスドライバ303がモータ214の速度を決定する方法のみが異なり、その他の構成等は同様であるのでその説明は省略する。
【0058】
以下、図6を参照しながらデバイスドライバ303がモータ214の速度を決定する方法を説明する。
【0059】
図6は、本発明の第2の実施の形態に係る画像読取装置におけるデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【0060】
まず、ステップS71で、ステップS1と同様にインターフェース回路212のデータ通信速度Iを計算し、ステップS72で、ステップS2と同様にインターフェース速度I(Byte/sec)、解像度K(dpi)、クロップ幅L(dot)、及びモータ速度テーブルからモータ速度S(inch/sec)を計算する。
【0061】
次に、ステップS72で計算されたモータ速度Sで画像読み取りを開始し(ステップS73)、デバイスドライバ303は画像読取装置200から画像データを読み込み、TWAINドライバ302に転送する(ステップS74)。
【0062】
次いで、SSが発生したか否かを判別する(ステップS75)。具体的にSSが発生したか否かを判別するには、パッキング/バッファRAM制御回路211のステイタスレジスタを読み出すことにより判別する。
【0063】
ステップS75において、SSが発生した場合には、ステップS72で計算されたモータ速度Sよりも遅いモータ速度を図5のテーブルから選択し、ステップS74に戻る。このようにSSが発生したらモータ速度Sを遅くして、SSが発生しないようにする。一方、SSが発生しなければ、画像読み取りが終了したか否かを判別し(ステップS77)、終了したら画像読み取り処理を終了する。終了していなかったらステップS74に戻る。
【0064】
上述したように、本実施の形態によれば、パッキング/バッファRAM制御回路211のステイタスレジスタを読み出すことによりSSが発生したか否かを判別し、SSが発生した場合には、モータ速度Sをより遅いモータ速度に設定し、画像読み取りを実行するので、当該SSの発生以後のホストコンピュータ100によるRAM210からのデータの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【0065】
(第3の実施の形態)
TWAINドライバ302では、スキャンした画像にモワレ低減や輪郭強調、塵傷除去等の画像処理を加えることができる。どの画像処理を行うかはスキャンする画像に応じてユーザが選択できる。前期画像処理はスキャナから画像データを読み取りながら行う。このため、時間がかかる画像処理や、複数の画像処理を選択した場合、ホストコンピュータ100からの画像データの読み取りが遅くなり、SSが発生してしまう場合がある。また前記画像処理速度はPCの処理能力や画像のクロップ幅によって異なる。そこで本実施の形態ではTWAINドライバ302で画像処理速度Spを計算し、画像処理速度Spに応じて、デバイスドラバ303がモータ速度Sを制御する。
【0066】
本実施の形態は、上述した第1の実施の形態と比べて、デバイスドライバ303がモータ214の速度を決定する方法のみが異なり、その他の構成等は同様であるのでその説明は省略する。
【0067】
以下、図7を参照しながらデバイスドライバ303がモータ214の速度を決定する方法を説明する。
【0068】
図7は、本発明の第3の実施の形態に係る画像読取装置におけるデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【0069】
まず、ステップS1と同様にインターフェース回路212のデータ通信速度Iを計算し(ステップS51)、ステップS2と同様にインターフェース速度I(Byte/sec)、解像度K(dpi)、クロップ幅L(dot)、及びモータ速度テーブルからモータ速度S(inch/sec)を計算する(ステップS52)。
【0070】
次に、TWAINドライバ302で計算した画像処理速度Spを取得する(ステップ53)。TWAINドライバ302では以下の様に画像処理速度Sp(inch/sec)を計算する。まず、スキャンする画像のクロップ幅Lの1インチに相当するダミーの画像データを生成する。次に前記ダミーに対し、ユーザの選択した画像処理を施し、画像処理にかかる時間を測定する。この時間が画像処理速度Sp(inch/sec)に相当する。
【0071】
次にステップS52で計算したモータ速度S(inch/sec)がステップS53で計算した画像処理速度Sp(inch/sec)より速いか否かを判別する(ステップS54)。モータ速度S(inch/sec)が画像処理速度Sp(inch/sec)よりも速い場合は、モータ速度テーブルを参照し、モータ速度Sを画像処理速度Spよりも遅いスピードに設定し(ステップS55)、本処理を終了する一方、モータ速度S(inch/sec)が画像処理速度Sp(inch/sec)よりも遅い場合は、そのままのモータ速度Sを使用するため、ステップS55をスキップし、本処理を終了する。
【0072】
上述したように、本実施の形態によれば、モータ速度Sの方が画像処理速度Spよりも速い場合は、モータ速度Sを画像処理速度Spよりも遅いスピードに設定することにより、ホストコンピュータ100によるRAM210からのデータの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【0073】
【発明の効果】
以上説明したように、請求項1の画像読取装置、請求項の画像読取装置の制御方法及び請求項の記憶媒体によれば、一時記憶手段で仮想メモリが用いられ、かつ、仮想メモリへのデータ記憶速度が所定値より小さい場合には、画像読取手段の画像読取速度が、仮想メモリが用いられない場合の画像読取手段の画像読取速度よりも遅く設定されるので、画像データの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る画像読取装置の概略構成を示すブロック図である。
【図2】図1の画像読取装置200を制御するプログラムの構造を示す図である。
【図3】図2におけるデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【図4】画像読取装置200の読み取り領域を示す図である。
【図5】モータ速度Sと解像度Kとの対応関係を表すテーブルの一例を示す図である。
【図6】本発明の第2の実施の形態に係る画像読取装置におけるデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【図7】本発明の第3の実施の形態に係る画像読取装置におけるデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【図8】従来のデバイスドライバ303によって実行されるモータ214の速度決定処理のプログラムを示すフローチャートである。
【符号の説明】
100 ホストコンピュータ
101 CPU
102 RAM
103 ハードディスク
104 モニタ
105 入力装置
106 インターフェース部
200 画像読取装置
201 イメージセンサ(CIS)
202 LED
203 LED制御回路
204 AMP
205 A/D変換回路
206 シェーディングRAM
207 シェーディング補正回路
208 ピーク検知回路
209 ガンマ変換回路
210 バッファRAM
211 パッキング/バッファRAM制御回路
212 インターフェース回路
213 モータドライブ回路
214 モータ

Claims (6)

  1. 原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置において、
    前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、
    前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする画像読取装置。
  2. 前記仮想メモリへのデータ記憶速度を検出する記憶速度検出手段を有することを特徴とする請求項1記載の画像読取装置。
  3. 原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置の制御方法で、
    前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、
    前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする画像読取装置の制御方法。
  4. さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を有することを特徴とする請求項3記載の画像読取装置の制御方法。
  5. 原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備えると共に、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続される画像読取装置を制御するコンピュータで実行可能な制御プログラムを記録した記憶媒体において、
    前記制御プログラムは、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする記憶媒体。
  6. 前記制御プログラムが、さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を実行することを特徴とする請求項5記載の記憶媒体。
JP2000268546A 2000-09-05 2000-09-05 画像読取装置及び該装置の制御方法並びに記憶媒体 Expired - Fee Related JP3581644B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000268546A JP3581644B2 (ja) 2000-09-05 2000-09-05 画像読取装置及び該装置の制御方法並びに記憶媒体
US09/938,572 US6648226B2 (en) 2000-09-05 2001-08-27 Image reading apparatus and method
CNB011324511A CN1215698C (zh) 2000-09-05 2001-09-05 图像读取装置和方法
US10/625,664 US6962288B2 (en) 2000-09-05 2003-07-24 Image reading apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000268546A JP3581644B2 (ja) 2000-09-05 2000-09-05 画像読取装置及び該装置の制御方法並びに記憶媒体

Publications (2)

Publication Number Publication Date
JP2002077541A JP2002077541A (ja) 2002-03-15
JP3581644B2 true JP3581644B2 (ja) 2004-10-27

Family

ID=18755315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000268546A Expired - Fee Related JP3581644B2 (ja) 2000-09-05 2000-09-05 画像読取装置及び該装置の制御方法並びに記憶媒体

Country Status (3)

Country Link
US (2) US6648226B2 (ja)
JP (1) JP3581644B2 (ja)
CN (1) CN1215698C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330374B1 (en) * 1998-11-13 2001-12-11 Ricoh Company, Ltd. Image manipulation for a digital copier which operates on a block basis
JP3581644B2 (ja) * 2000-09-05 2004-10-27 キヤノン株式会社 画像読取装置及び該装置の制御方法並びに記憶媒体
US7202981B2 (en) * 2001-11-01 2007-04-10 Kuo-Jeng Wang Method and system for increasing scanning speed
US7420715B2 (en) * 2001-12-11 2008-09-02 Transpacific Ip, Ltd. Method and system for promoting scanning speed
TWI245226B (en) * 2002-07-22 2005-12-11 Avision Inc Method for arranging image files which are generated by a plurality of scanners at the same time
US7460257B2 (en) * 2002-11-04 2008-12-02 Chen-Ho Lee Technique for transferring image information from a scanning apparatus
US20080216975A1 (en) * 2007-03-05 2008-09-11 James Paul Farwig Deeply embossed roll paper products having reduced gapping on the machine direction edges
JP5183349B2 (ja) * 2007-08-10 2013-04-17 キヤノン株式会社 画像読取装置及び該装置の制御方法および制御プログラム
JP5194885B2 (ja) * 2008-02-29 2013-05-08 株式会社リコー 画像読み取り装置及び画像形成装置
DE102009011945B4 (de) * 2009-03-10 2010-12-02 Roth + Weber Gmbh Vorrichtung und Verfahren zum Scannen großformatiger Vorlagen
JP2011155550A (ja) * 2010-01-28 2011-08-11 Seiko Epson Corp 光学読取装置、光学読取装置の制御方法、及び、プログラム
JP2014052552A (ja) * 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
KR20140089146A (ko) * 2013-01-04 2014-07-14 삼성전자주식회사 영상 통화 방법 및 그 방법을 처리하는 전자 장치
JP5989616B2 (ja) * 2013-08-30 2016-09-07 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成方法
JP7428583B2 (ja) 2020-05-07 2024-02-06 理想科学工業株式会社 印刷装置
CN115081467B (zh) * 2022-07-22 2023-02-03 深圳市成为信息股份有限公司 一种手持机采集原始图像的方法、手持机及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6095769A (ja) * 1983-10-31 1985-05-29 Toshiba Corp デイスク記録再生装置
JPS60237755A (ja) * 1984-05-11 1985-11-26 Nippon Kogaku Kk <Nikon> 画像読み取り及び記録装置
JPS60256267A (ja) * 1984-05-22 1985-12-17 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 画像読取装置
US6247647B1 (en) * 1988-09-19 2001-06-19 Symbol Technologies, Inc. Scan pattern generator convertible between multiple and single line patterns
JPH02291763A (ja) 1989-05-01 1990-12-03 Ricoh Co Ltd スキャナ装置
US5095372A (en) * 1989-12-29 1992-03-10 Morton Silverberg Combined copying machine and facsimile scanner and method
CA2056272C (en) * 1991-06-14 2001-10-16 Patrick Salatto, Jr. Combined range laser scanner
EP0804016B1 (en) * 1992-06-22 2001-11-07 Fujitsu Limited Method and apparatus for reading image of image scanner-reader
JP2899171B2 (ja) 1992-06-24 1999-06-02 富士通株式会社 イメージスキャナ読み取り方法
US5451764A (en) * 1993-01-04 1995-09-19 Texas Instruments Incorporated Apparatus and method for storing and reading data
US5306908A (en) * 1993-03-15 1994-04-26 Hewlett-Packard Company Manually operated hand-held optical scanner with tactile speed control assembly
US5682562A (en) * 1995-11-13 1997-10-28 Eastman Kodak Company Digitally controlled quench flash circuit
DE59611115D1 (de) * 1996-07-19 2004-11-18 Esselte Nv Banddruckgerät
JP3418666B2 (ja) * 1997-06-16 2003-06-23 シャープ株式会社 画像読取方法およびそれを用いるファクシミリ装置
JP3581644B2 (ja) * 2000-09-05 2004-10-27 キヤノン株式会社 画像読取装置及び該装置の制御方法並びに記憶媒体
US6824060B2 (en) * 2002-09-18 2004-11-30 Symbol Technologies, Inc. Bi-directional motor drive circuit for bar code reader

Also Published As

Publication number Publication date
US6648226B2 (en) 2003-11-18
JP2002077541A (ja) 2002-03-15
US20020027163A1 (en) 2002-03-07
CN1215698C (zh) 2005-08-17
US20040084529A1 (en) 2004-05-06
CN1342951A (zh) 2002-04-03
US6962288B2 (en) 2005-11-08

Similar Documents

Publication Publication Date Title
JP3581644B2 (ja) 画像読取装置及び該装置の制御方法並びに記憶媒体
US7259876B2 (en) Image processing apparatus, and, control method and control device therefor
JP4027133B2 (ja) 画像処理装置
JPH0146910B2 (ja)
US6335807B1 (en) Scanner carriage stop/start artifact suppression system and method
US20090180134A1 (en) Device for correcting image data read with image sensor
JP2001036744A (ja) 画像読取方法、画像読取装置及び画像処理装置
US7460257B2 (en) Technique for transferring image information from a scanning apparatus
JP7081477B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP2011042056A (ja) 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体
JPH09284518A (ja) ディジタル画像形成装置
JP2837581B2 (ja) イメージスキャナ読取装置
JP4449275B2 (ja) 画像形成装置
JPH09191378A (ja) イメージスキャナ装置及びその制御装置及び制御方法
JP2005311946A (ja) 画像読取装置
JPH11196263A (ja) ファクシミリ機能付きディジタル複写機
JP2000113172A (ja) 画像処理システム及びその方法
JP2001111824A (ja) 記録装置
JPH1127485A (ja) 画像読取装置
JPH09191390A (ja) 画像処理装置及びその方法
JP2001103241A (ja) 画像複写システム及び画像読み込み条件設定方法
KR20000051665A (ko) 디지털 컬러 복사기의 불법복사 방지 지시어 인자 방법
JPS6230237A (ja) 画像処理装置
JPH099020A (ja) 画像処理装置及びその制御方法
JP2003207854A (ja) 画像読取装置

Legal Events

Date Code Title Description
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: 20040720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees