画像読取装置であって、光電変換素子に蓄積された電荷をシフトパルスによって転送する画像読取部と、前記シフトパルスの出力タイミングを制御するシフトパルス制御部と、を備え、前記シフトパルス制御部は、優先的に他のソフトウェア処理が実行されたことにより、前回のシフトパルスの出力が予定よりも遅れた場合には、今回のシフトパルスの出力を予定より遅らせる、ことを特徴とする画像読取装置。請求項1に記載の画像読取装置であって、前記シフトパルス制御部は、前回のシフトパルスの出力が予定よりも遅れた場合に遅延フラグを有効にし、今回のシフトパルスの出力が予定されているタイミングにおいて当該遅延フラグが有効である場合には、当該遅延フラグを無効にし、今回のシフトパルスの出力を予定より遅らせる、ことを特徴とする画像読取装置。画像読取方法であって、光電変換素子に蓄積された電荷をシフトパルスによって転送する画像読取ステップと、前記シフトパルスの出力タイミングを制御するシフトパルス制御ステップと、を行い、前記シフトパルス制御ステップでは、優先的に他のソフトウェア処理が実行されたことにより、前回のシフトパルスの出力が予定よりも遅れた場合には、今回のシフトパルスの出力を予定より遅らせる、ことを特徴とする画像読取方法。コンピューターを、画像読取装置として機能させるプログラムであって、光電変換素子に蓄積された電荷をシフトパルスによって転送する画像読取ステップと、前記シフトパルスの出力タイミングを制御するシフトパルス制御ステップと、を前記コンピューターに実行させ、前記シフトパルス制御ステップでは、優先的に他のソフトウェア処理が実行されたことにより、前回のシフトパルスの出力が予定よりも遅れた場合には、今回のシフトパルスの出力を予定より遅らせる、ことを特徴とするプログラム。しかし、シフトパルスを出力すべきタイミングになったとしても、他のソフトウェア処理が優先的に実行されていると、そのタイミングでシフトパルスを出力できない場合がある。かかる場合には、その優先的なソフトウェア処理が終了するまでシフトパルスの出力は延期される。こうして、シフトパルスの出力が予定より遅れると、次にシフトパルスを出力するまでの間隔が短縮されてしまう場合がある設定値Aよりも短くなる。このとき、画像データの転送に必要な時間を十分に確保できなくなる。本発明は、シフトパルスの出力が予定より遅れた場合でも、画像データの転送に必要な時間をなるべく確保する技術を提供することを目的とする。上記課題を解決するための本願発明は、画像読取装置であって、光電変換素子に蓄積された電荷をシフトパルスによって転送する画像読取部と、入力された割り込み信号の回数に基づいて、前記シフトパルスの出力タイミングを制御するシフトパルス制御部と、を備える。前記シフトパルス制御部は、前回のシフトパルスの出力が予定よりも遅れた場合には、今回のシフトパルスの出力を予定より遅らせる。以下、本発明の実施形態の一例を図面を参照して説明する。図1は、本発明の一実施形態が適用された画像読取装置50の概略構成の一例を示すブロック図である。画像読取装置50は、筐体の上面に原稿台不図示を備えた、いわゆるフラットベッド型画像読取装置である。画像読取装置50は、イメージセンサー220を走査して、透明板の原稿台に載置された原稿の画像を読み取る。画像読取装置50は、スキャナーに限られず、スキャン機能を有するファクシミリ、コピー機、複合機等であってもよい。画像読取装置50は、被読取媒体である原稿を載せるための上向きの原稿台不図示と、この原稿台の原稿載置面盤面およびイメージ読取窓を上からカバーする蓋不図示と、を備える。蓋は、原稿台にヒンジ機構を介して結合しており、開閉可能である。また、蓋と一体となって、イメージ読取窓の上側に、ADF給紙装置300が設けられている。ADF300は、DCモーター310、給紙トレイ不図示、搬送ローラー不図示、排紙トレイ不図示、等を備える。ここで、搬送ローラーの回転は、DCモーター310によって制御される。ADF300は、給紙トレイ上に載置された原稿を、イメージ読取窓の上面へ送り込んで通過させることができる。なお、DCモーター300には、搬送ローラーの回転量すなわち、原稿の搬送量に応じてパルスを出力するエンコーダーが備えられている。また、画像読取装置50は、図示するように、LED光源210及びイメージセンサー例えば、CCDカラーイメージセンサー220を搭載したキャリッジ200を原稿台の下に備える。さらに、画像読取装置50は、キャリッジ200の往復移動を制御するキャリッジ駆動機構不図示と、画像読取装置50の全体を制御し、画像を読み取るための種々の処理を行うコントローラー100と、を備えている。キャリッジ200は、イメージセンサー220を副走査方向に運搬する。キャリッジ200は、原稿台の盤面およびイメージ読取窓に対し平行なガイド用のシャフト等にスライド自在に取り付けられており、キャリッジ駆動機構のモーターにより回転するベルトにより牽引され、往復移動する。キャリッジ200の移動量は、キャリッジ駆動機構のモーターの回転量に応じてパルスを出力するエンコーダーの出力値により制御される。すなわち、キャリッジ駆動機構は、キャリッジに取り付けられたベルトを回転させるためのモーターと、モーターの回転量に応じてパルスを出力するエンコーダーと、を備えている。なお、ADF300により原稿を搬送させながら読み取りを行う場合、キャリッジ200は、イメージ読取窓の下の所定位置に固定される。LED光源210は、赤色RLED、緑色GLED、青色BLEDからなり、RGBの3色の光を所定の順序で発生する。本実施形態では、LED光源210は、通常の原稿の1ライン分の読み取りを行う場合には、赤色LED、緑色LED、青色LEDの順に光を発生する。そして、原稿の画像データの生成に必要なライン数分の読み取りを行うために、同様の発光動作を繰り返す。各色のLEDの発光時間は、色ごとに予め定められており、点灯してからその定められた時間が経過したときに、消灯する。なお、各色のLED光源210の点灯は、所定電流後述するメイン制御部110からの電流が供給されて行われる。イメージセンサー220は、原稿に反射した光を受光し、受光量に応じた電荷を蓄積し、画像読取データ電気信号として、コントローラー100に送る。イメージセンサー220は、主走査方向に並んだ複数のセンサーチップからなる。各センサーチップは、通常のCISContactImageSensorやCCDChargeCoupledDeviceイメージセンサーと同様の構成を備えている。すなわち、各センサーチップは、光電変換素子フォトダイオードと、シフトゲートと、シフトレジスターと、を備える。そして、光電変換素子に蓄積された電荷を、シフトゲートを開通させてシフトレジスターへ転送し、シフトレジスターにより電荷を順次移動させながら出力する。シフトゲートの開通電荷の転送は、シフトパルス後述するメイン制御部110からの信号の印加に応答して行われる。光電変換素子は、常時、光の受光量に応じて電荷を蓄積しているため、電荷のシフトレジスターへの転送タイミングが、次の発光色の光についての電荷を蓄積する開始タイミングとなる。シフトレジスターに転送された電荷は、シフトレジスターの末端の出力部より、電気信号アナログデータに変換されて、A/D変換部120に送られる。シフトレジスターに格納された電荷の出力は、所定の読み出しクロック後述するメイン制御部110からの信号に応答して行われる。例えば、1クロック毎に1画素の電荷がアナログデータとして出力される。コントローラー100は、イメージセンサー220から出力されたアナログデータをデジタルデータに変換するA/D変換部120と、A/D変換部120から出力されたデジタルデータに対して各種補正を行うデータ処理部130と、データ処理部130による各種補正に用いられる補正用データ白基準データや黒基準データや、補正対象の読取データ画像データを記憶する記憶部140と、データ処理部130からのデータをパーソナルコンピューターなどのホストに送るための出力部150と、コントローラー100内の各機能部を全体的に制御するとともに、キャリッジ200内のLED光源210やイメージセンサー220、及び、キャリッジ駆動機構を制御するメイン制御部110と、を備えている。A/D変換部120は、例えば、AFEAnalogFrontEndによって実現され、イメージセンサー220から出力されたアナログデータをデジタルデータに変換する。データ処理部130は、A/D変換部110から出力されたデジタルデータにシェーディング補正などの各種補正を施して、出力部150に出力する。なお、データ処理部130は、主制御装置であるCPUと、プログラム等が記憶されたROMと、メインメモリーとしてデータ等を一時的に格納するRAMと、を備えたコンピューターで構成することができる。もちろん、データ処理部130は、各種補正処理を専用に行うように設計されたASICApplicationSpecificIntegratedCircuitで構成されていてもよい。記憶部140は、例えば、バッファによって実現される。記憶部140は、先入れ先出しのFIFO形式で、A/D変換部120から出力されたデジタルデータを一時的に記憶し、先に記憶したデータから順に出力部150に送る。出力部150は、ネットワーク接続やUSB接続を行うためのインターフェイスにより実現される。出力部150は、ホストの処理能力に応じた転送速度で、記憶部140のデータを、ホストコンピュータースキャナー制御装置に送信する。メイン制御部110は、ADF300と、キャリッジ200と、キャリッジ駆動機構不図示と、を制御して、画像の読み取りを行う画像読取制御を行う。具体的には、メイン制御部110は、図示するように、割り込み部111と、ソフトウェア処理部112と、モーター制御部113と、読取制御部114と、を有する。なお、図2は、画像読取制御の概要について説明するためのタイミングチャートである。割り込み部111は、後述するモーター制御部113によるDCモーター駆動モーター310のPID制御において、図2に示すように所定の周期Tで割り込みを行う。なお、図2に示す数字は、割り込み部111による割り込み回数Nを表す。割り込み回数Nは、シフトパルスが出力されると初期化されるN=0。ソフトウェア処理部112は、割り込み部111による割り込みをトリガーとして、所定のソフトウェア処理を起動開始する。ここで、ソフトウェア処理部112が起動する所定のソフトウェア処理には、シフトパルスを出力する処理以下ではシフトパルスの出力処理ともよぶ等が含まれる。シフトパルスの出力処理では、ソフトウェア処理部112は、割り込み部111による割り込み回数Nに基づいて、イメージセンサー220に対してシフトパルスを出力する。これにより、光電変換素子に蓄積された電荷のシフトレジスターへの転送タイミング次の電荷蓄積の開始タイミングを制御する。また、シフトパルスを出力する間隔は予め設定されており、例えば、割り込み部111による割り込み回数Nに応じて定まる所定時間例えば、割り込み回数Nが6回となるまでにかかる時間6×Tに設定されている図2に示す設定値A。ただし、ソフトウェア処理部112は、図2に示すように、シフトパルスを出力すべきタイミングαであっても、シフトパルスの出力処理よりも優先的に実行している他の処理以下では優先処理とよぶがある場合には、シフトパルスの出力処理を起動開始できない。そのため、ソフトウェア処理部112は、他の優先処理が終了したタイミングβでシフトパルスを出力する。すなわち、ソフトウェア処理部112は、シフトパルスを予定よりも遅れて出力するαからβへ遅延する。また、ソフトウェア処理部112は、他の優先処理によって、シフトパルスの出力に遅延が発生した場合には、図2に示すように、遅延フラグを有効にする。なお、この遅延フラグを参照すれば、前回のシフトパルスの出力に遅延が発生したか否か判定することができる。また、遅延フラグは、例えば、有効、無効に切り替え可能なフラグ信号によって保持される。また、ソフトウェア処理部112は、シフトパルスの出力に遅延が発生した場合には、図2に示すように、次回のシフトパルスの出力を予定よりも遅らせるγからδに遅らせる。具体的には、ソフトウェア処理部112は、割り込み部111による割り込み回数Nをカウントし、割り込み回数Nが所定回数例えば、6回に到達するタイミングγであっても、遅延フラグが有効である場合には、シフトパルスを出力しない。その代わりに、ソフトウェア処理部112は、遅延フラグを無効にして、次に割り込み部111による割り込みが発生するタイミングδでシフトパルスを出力する。なお、シフトパルスの出力に遅延が発生したか否かの判断は、前回にシフトパルスを出力した時刻Toldから、現在時刻Tnewまでの経過時間図2に示すシフトパルスの出力間隔ΔTを求めて行われる。モーター制御部113は、ADF300のDCモーター駆動モーター310を制御PID制御して、給紙トレイの原稿を搬送し、イメージ読取窓に通過させる。例えば、モーター制御部113は、DCモーター310を定速で駆動することができる。読取制御部114は、イメージセンサー220による、画像読み取りを制御する。具体的には、読取制御部114は、シフトパルスの出力タイミングでイメージセンサー220に対して読み出しクロックの供給を行い、シフトレジスターに格納されている電荷のコントローラー100A/D変換部120への出力を制御する。このとき、イメージセンサー220から出力されたデータアナログデータは、A/D変換部120でデジタルデータに変換され、データ処理部130によって各種補正が施される。それから、読取制御部114は、データ処理部130に指示信号を通知して、各種補正が施されたデータを記憶部140に格納バッファリングする。以上のように、シフトパルスの出力に遅延が発生した場合には、次回のシフトパルスの出力を予定よりも遅らせるため、1ライン分の画像の転送に必要な時間転送最短周期ともいうを確保できる。そして、光電変換素子に蓄積された電荷をコントローラー100へ確実に転送することができる。なお、読取制御部114は、ADF300を用いた原稿の読み取り時には、キャリッジ200をイメージ読取窓の下に停止させた状態にしておく。もちろん、ADF300を用いずに原稿台に載置された原稿を読み取る場合には、読取制御部114は、キャリッジ駆動機構のモーターの回転を制御することにより、キャリッジ200の移動を制御することもできる。かかるメイン制御部110は、主制御装置であるCPUと、プログラム等が記憶されたROMと、メインメモリーとしてデータ等を一時的に格納するRAMと、を備えたコンピューターで構成される。ただし、ソフトウェア処理部112以外の各部111、113、114については、各処理を専用に行うように設計されたハードウェア例えば、ASICで構成することもできる。本実施形態が適用された画像読取装置50は、以上のような構成からなる。ただし、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な画像読取装置が備える他の構成を排除するものではない。また、A/D変換部120は、キャリッジ200内の基板に搭載されていてもよい。また、上記した各構成要素は、画像読取装置50の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。画像読取装置50の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。次に、上記のように構成される画像読取装置50の特徴的な動作について説明する。<シフトパルスの出力処理>画像読取装置50は、所定のタイミングで図3に示すフローを開始する。例えば、画像読取装置50は、ADF300を用いた画像読取時モーター制御部113によるDCモーター310のPID制御において、割り込み部111による割り込みが発生したタイミングで本フローを開始する。本フローを開始すると、ソフトウェア処理部112は、所定のソフトウェア処理例えば、シフトパルスの出力処理を起動開始する。そして、ソフトウェア処理部112は、割り込み回数NをインクリメントするステップS101。なお、割り込み回数Nは、例えば、所定のカウンターを用いてカウントされる。そして、ステップS101では、ソフトウェア処理部112は、割り込み部111による割り込みが発生する毎に、所定のカウンターのカウント値割り込み回数Nに相当する値がインクリメントされる。それから、ソフトウェア処理部112は、割り込み部111による割り込み回数Nが、所定回数図2に示す例では、6回以上であるか否か判別するステップS102。具体的には、ソフトウェア処理部112は、割り込み回数Nのカウントに用いられるカウンターのカウント値を取得して、取得したカウント値が所定回数以上である場合には、割り込み回数Nが所定回数以上であると判定する。一方、ソフトウェア処理部112は、カウンターから取得したカウント値が所定回数未満である場合には、割り込み回数Nが所定回数以上ではないと判定する。ここで、ソフトウェア処理部112は、割り込み回数Nが所定回数以上ではないと判定された場合にはステップS102;No、本フローの処理を終了して、割り込み部111による次の割り込みが発生するまで待機する。また、ソフトウェア処理部112は、割り込み回数Nが所定回数以上であると判定された場合にはステップS102;Yes、シフトパルスを出力すべきタイミングとみなし、処理をステップS103に移行する。処理がステップS103に移行すると、ソフトウェア処理部112は、シフトパルスの出力に先立って、遅延フラグが有効であるか否か判別するステップS103。そして、ソフトウェア処理部112は、遅延フラグが有効である場合にはステップS103;Yes、1ライン分の画像の転送に必要な時間を確保するために、シフトパルスを出力せず、遅延フラグを無効にするステップS111。なお、ステップS111の処理は、図2に示す例では、タイミングγで行われる。その後、ソフトウェア処理部112は、本フローを終了する。一方、ソフトウェア処理部112は、遅延フラグが無効である場合にはステップS103;No、シフトパルスを出力するステップS104。なお、ステップS104の処理は、図2に示す例では、タイミングδで行われる。シフトパルスを出力後、ソフトウェア処理部112は、割り込み回数Nを初期化するステップS105。そして、ソフトウェア処理部112は、現在時刻Tnewと、前回にシフトパルスを出力した時刻Toldと、を取得するステップS106。具体的には、ソフトウェア処理部112は、現在時刻Tnewを、所定のタイマーから取得するとともに、前回にシフトパルスを出力した時刻Toldを、所定の記憶装置から読み出して取得する。それから、ソフトウェア処理部112は、前回にシフトパルスを出力してから現在時刻までに経過した時間シフトパルスの出力間隔ΔTを算出するステップS107。具体的には、ソフトウェア処理部112は、ステップS106で取得したTnewから、ステップS106で取得したToldを、減算することによって、シフトパルスの出力間隔ΔTを算出するΔT=Tnew-Told。そして、ソフトウェア処理部112は、前回にシフトパルスを出力してから現在時刻までに経過した時間シフトパルスの出力間隔ΔTが、基準値R以上であるか否か判別するステップS108。具体的には、ソフトウェア処理部112は、基準値Rを所定の記憶装置から読み出して、ステップS107で算出されたシフトパルスの出力間隔ΔTが、基準値R以上であるか否か判別する。なお、基準値Rは、例えば、データとして所定の記憶装置に予め格納されているものとし、シフトパルスの出力に遅延が発生したとみなすことができる値例えば、割り込み周期T×6.5とする。ここで、ソフトウェア処理部112は、シフトパルスの出力間隔ΔTが基準値R以上である場合にはステップS108;Yes、シフトパルスの出力に遅延が発生したものとみなし、遅延フラグを有効にするステップS109。それから、ソフトウェア処理部112は、処理をステップS110に移行する。なお、ステップS109の処理は、図2に示す例では、タイミングβで行われる。一方、ソフトウェア処理部112は、ステップS108で、シフトパルスの出力間隔ΔTが基準値R未満である場合にはステップS108;No、シフトパルスの出力に遅延は発生していないものとみなし、遅延フラグを有効にせずに、処理をステップS110に移行する。処理がステップS110に移行すると、ソフトウェア処理部112は、現在時刻Tnewを、前回にシフトパルスを出力した時刻Toldとして記憶するステップS110。その後、ソフトウェア処理部112は、本フローを終了する。以上のようなシフトパルスの出力処理を行うことにより、本実施形態の画像読取装置50では、シフトパルスの出力に遅延が発生した場合に、次回のシフトパルスの出力を予定よりも遅らせることができる。そのため、1ライン分の画像の転送に必要な時間転送最短周期を確実に確保できる。なお、上記実施形態におけるフローの各処理単位は、画像読取装置50を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。画像読取装置50が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。また、処理ステップの順序についても、これに制限されるものではなく、可能な限り変更することができる。また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。例えば、上記実施形態では、前回にシフトパルスを出力してから現在時刻までの経過時間が基準値Rを超えた場合に、シフトパルスの出力に遅延が発生したとみなされる。しかし、本発明は、これに限定されない、例えば、割り込み部111による割り込み毎に、その割り込みからの経過時間を計測しておき、その経過時間がシフトパルスの出力タイミングで所定の基準値を超えている場合に、シフトパルスの出力に遅延が発生したとみなすようにしてもよい。なお、以下では、参考までに、従来の画像読取制御について説明する。図4は、従来の画像読取制御の概要について説明するためのタイミングチャートである。図示するように、従来の画像読取制御では、本願の上記実施形態の画像読取制御と同様に、他の優先処理によって、予定通りのタイミングαでシフトパルスを出力できない場合がある。この場合には、その優先処理が終了したタイミングβでシフトパルスが出力される。このようにシフトパルスの出力に遅延αからβへの遅延が発生した場合であっても、従来の画像読取制御では、次回のシフトパルスは、予定通りのタイミングγで出力される。そのため、従来の画像読取制御では、光電変換素子に蓄積された電荷を転送している途中で次のシフトパルスが出力されてしまう場合がある。これでは、1ライン分の画像の転送に必要な時間転送最短周期を確保できない。これに対し、本願の上記実施形態の画像読取制御では、シフトパルスの出力に遅延が発生した場合には、次回のシフトパルスの出力を予定よりも遅らせるため、1ライン分の画像の転送に必要な時間を十分に確保できる。