"複数の気筒を有する内燃機関における気筒間空燃比ばらつき異常検出装置であって、所定時間間隔で排気通路に設けられた空燃比センサの出力を取得するように作動する取得手段と、該取得手段によって取得された前記空燃比センサの出力値に基づいて、前記所定時間における空燃比の変化を表す値を、前記取得手段による前記空燃比センサの出力値の取得タイミングに応じて補正しつつ、算出する値算出手段と、気筒間空然比ばらつき異常の有無を判定するように、前記値算出手段により算出された値と判定用閾値とを比較する比較手段とを備えた、気筒間空燃比ばらつき異常検出装置。前記値算出手段は、前記所定時間における空燃比の変化を表す値を、前記取得手段による前記空燃比センサの出力値の取得間隔に応じて補正しつつ、算出する、請求項1に記載の気筒間空燃比ばらつき異常検出装置。前記値算出手段は、前記取得手段による前記空燃比センサの出力値の取得間隔と前記所定時間との差が長くなるほど、補正量を大きくする、請求項2に記載の気筒間空然比ばらつき異常検出装置。前記取得手段は、前記内燃機関のクランク角に関連付けて、前記空燃比センサの出力を取得するように作動し、前記値算出手段は、クランク角に応じた補正を行いつつ、前記所定時間における空燃比の変化を表す値を算出する、請求項1から3のいずれかに記載の気筒間空然比ばらつき異常検出装置。前記取得手段は、エンジン回転速度に関連付けて、前記空燃比センサの出力を取得するように作動し、前記値算出手段は、エンジン回転速度に応じた補正を行いつつ、前記所定時間における空燃比の変化を表す値を算出する、請求項4に記載の気筒間空然比ばらつき異常検出装置。前記取得手段によって取得された前記空燃比センサの出力値が変曲点を有するように変化したとき、該変曲点に関連する所定期間では、前記所定時間における空燃比の変化を表す値を算出する際の前記補正を禁止する禁止手段をさらに備える、請求項1から5のいずれかに記載の気筒間空燃比ばらつき異常検出装置。ところで、上記したような内燃機関では、空燃比センサを含む種々のセンサからの出力は電子制御ユニットに送られ、電子制御ユニットの演算処理によって、燃料噴射弁などの種々の装置の作動が制御される。したがって、電子制御ユニットは、複数のタスクを同時に処理することがあり、電子制御ユニットの演算処理の負荷度合いによっては、種々のセンサからの出力を取得する間隔が変化する虞がある。例えば、上記特許文献1に記載の方法およびシステムで、空燃比センサの出力を取得する間隔が変化してばらつくとき、それが変化しない場合と同様に、検出空燃比の変化率を求めると、その取得間隔がばらつく場合における検出空燃比の変化率は、その取得間隔が一定の場合における検出空燃比の変化率と異なることが懸念される。このように検出空燃比の変化率が異なる場合、気筒間の空燃比のばらつきの検出精度の点で問題がある。そこで、本発明は、上記事情に鑑みて創案され、その目的は、複数の気筒を有する内燃機関において、排気通路に設けた空燃比センサの出力値の取得間隔が変化した場合でも、空燃比センサの出力値に基づいて、気筒間の空燃比ばらつき異常の有無を適切に検出することにある。本発明の一の態様によれば、複数の気筒を有する内燃機関における気筒間空燃比ばらつき異常検出装置であって、所定時間間隔で排気通路に設けられた空燃比センサの出力を取得するように作動する取得手段と、該取得手段によって取得された空燃比センサの出力値に基づいて、所定時間における空燃比の変化を表す値を、取得手段による空燃比センサの出力値の取得タイミングに応じて補正しつつ、算出する値算出手段と、気筒間空然比ばらつき異常の有無を判定するように、値算出手段により算出された値と判定用閾値とを比較する比較手段とを備えた、気筒間空燃比ばらつき異常検出装置が提供される。好ましくは、値算出手段は、所定時間における空燃比の変化を表す値を、取得手段による空燃比センサの出力値の取得間隔に応じて補正しつつ、算出する。具体的には、値算出手段は、取得手段による空燃比センサの出力値の取得間隔と所定時間との差が長くなるほど、補正量を大きくするとよい。好ましくは、取得手段は、内燃機関のクランク角に関連付けて、空燃比センサの出力を取得するように作動し、値算出手段は、クランク角に応じた補正を行いつつ、所定時間における空燃比の変化を表す値を算出する。さらに好ましくは、取得手段は、さらにエンジン回転速度に関連付けて、空燃比センサの出力を取得するように作動し、値算出手段は、さらにエンジン回転速度に応じた補正を行いつつ、所定時間における空燃比の変化を表す値を算出する。好ましくは、取得手段によって取得された空燃比センサの出力値が変曲点を有するように変化したとき、該変曲点に関連する所定期間では、所定時間における空燃比の変化を表す値を算出する際の補正を禁止する禁止手段がさらに備えられる。以下、本発明の実施形態を添付図面に基づき説明する。まず、第1実施形態を説明する。図1は、本第1実施形態に係る内燃機関の概略図である。図示されるように、内燃機関エンジン1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、ピストンを往復移動させることにより動力を発生する。本実施形態のエンジン1は、自動車に搭載されていて、複数気筒を有する内燃機関つまり多気筒内燃機関であり、より具体的には直列4気筒火花点火式内燃機関である。エンジン1は1~4気筒を備える。但し、本発明は、エンジンの気筒数、用途、形式等を特に限定しない。図示しないが、エンジン1のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室3内の混合気に点火するための点火プラグ7が気筒ごとに取り付けられている。各気筒の吸気ポートは気筒毎の枝管4を介して吸気集合室であるサージタンク8に接続されている。サージタンク8の上流側には吸気管13が接続されており、吸気管13の上流端にはエアクリーナ9が設けられている。そして吸気管13には、上流側から順に、吸入空気量を検出するためのエアフローメータ5と、電子制御式のスロットルバルブ10とが組み込まれている。なお、吸気ポート、枝管4、サージタンク8および吸気管13はそれぞれ吸気通路の一部を区画形成する。吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ燃料噴射弁12が気筒ごとに配設されている。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室3に吸入され、ピストンで圧縮され、点火プラグ7で点火燃焼させられる。一方、各気筒の排気ポートは排気マニホールド14に接続される。排気マニホールド14は、その上流部をなす気筒毎の枝管14aと、その下流部をなす排気集合部14bとからなる。排気集合部14bの下流側には排気管6が接続されている。なお、排気ポート、排気マニホールド14および排気管6はそれぞれ排気通路の一部を区画形成する。排気管6の上流側と下流側にはそれぞれ三元触媒からなる排気浄化用触媒を有する上流触媒コンバータ11と下流触媒コンバータ19とが直列に取り付けられている。これら触媒コンバータ11、19は酸素吸蔵能O2ストレージ能を有する。すなわち、触媒コンバータ11、19は、排気ガスの空燃比がストイキ理論空燃比、例えばA/F=14.6より大きいリーンなときに排気ガス中の過剰酸素を吸蔵し、NOxを還元する。また触媒コンバータ11、19は、排気ガスの空燃比がストイキより小さいリッチなときに吸蔵酸素を放出し、HC,COを酸化する。上流触媒コンバータ11つまりそこの触媒の上流側および下流側の排気通路にそれぞれ排気ガスの空燃比を検出するための第1および第2の空燃比センサ、すなわち触媒前センサ17および触媒後センサ18が設置されている。これら触媒前センサ17および触媒後センサ18は、上流触媒コンバータ11の直前および直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出することを可能にする。このように上流触媒コンバータ11の上流側の排気合流部に単一の触媒前センサ17が設置されている。上述の点火プラグ7、スロットルバルブ10およびインジェクタ12等は、制御手段または制御装置としての電子制御ユニット以下ECUと称す20に電気的に接続されている。ECU20は、何れも図示されないCPU、ROMおよびRAMを含む記憶装置、および入出力ポート等を含むものである。またECU20には、図示されるように、前述のエアフローメータ5、触媒前センサ17、触媒後センサ18のほか、エンジン1のクランク角を検出するクランク角センサ16、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、スロットルバルブ10、インジェクタ12等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。このように、ECU20は、点火制御手段、燃料噴射制御手段、吸入空気量制御手段、空燃比制御手段の各機能を実質的に担う。スロットルバルブ10にはスロットル開度センサ図示せずが設けられ、スロットル開度センサからの信号がECU20に送られる。ECU20は、通常、アクセル開度に応じて定まる目標スロットル開度に、スロットルバルブ10の開度スロットル開度をフィードバック制御する。ECU20は、エアフローメータ5からの信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてECU20は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン1の負荷を検出する。ECU20は、クランク角センサ16からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン1の回転数を検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では1分間当たりの回転数rpmのことをいう。第1空燃比検出手段としての触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図2に触媒前センサ17の出力特性を示す。図示するように、触媒前センサ17は、排気空燃比に比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキであるときの出力電圧はVreff例えば約3.3Vである。他方、第2空燃比検出手段としての触媒後センサ18は所謂O2センサからなり、ストイキを境に出力値が急変する特性を持つ。つまり、触媒後センサ18は、触媒前センサ17の出力特性に比べて、所定空燃比領域における空燃比変化に対して出力変動が大きいという出力特性を有する。図2に触媒後センサ18の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はVrefr例えば0.45Vである。触媒後センサ18の出力電圧は所定の範囲例えば0~1V内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Vrefrより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Vrefrより高くなる。上流触媒コンバータ11および下流触媒コンバータ19は、それぞれに流入する排気ガスの空燃比A/Fがストイキ近傍のときに排気中の有害成分であるNOx,HCおよびCOを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこでエンジン1の通常運転時、ECU20の空燃比制御ここでは具体的に空燃比フィードバック制御の機能を担う部分は、上流触媒コンバータ11に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御ストイキ制御を実行する。この空燃比フィードバック制御は、触媒前センサ17を用いて検出された排気空燃比を所定の目標空燃比であるストイキに一致させるような主空燃比フィードバック制御と、触媒後センサ18を用いて検出された排気空燃比をストイキに一致させるような補助空燃比フィードバック制御とからなる。具体的には、主空燃比フィードバック制御では、触媒前センサ17の出力に基づいて検出される現状の排気空燃比を所定の目標空燃比に追従させるために、第1補正係数を演算して、この第1補正係数に基づいてインジェクタ12からの燃料噴射量を調整するような制御が実行される。そして、さらに補助空燃比フィードバック制御では、触媒後センサ18の出力に基づいて、第2補正係数を演算し、主空燃比フィードバック制御にて得られた第1補正係数を修正するような制御が実行される。さて、例えば全気筒のうちの一部の気筒特に1気筒に何等かの異常が発生し、気筒間に空燃比のばらつきインバランス:imbalanceが発生することがある。例えば1気筒のインジェクタ12が故障し、1気筒の燃料噴射量が相対的に多くなる結果、1気筒の空燃比が他の2、3および4気筒の空燃比よりも大きくリッチ側にずれる場合等である。このときでも前述の主空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ17に供給されるトータルガスの空燃比をストイキに近づけることができる場合があるかもしれない。しかし、気筒別に見ると、1気筒がストイキより大きくリッチ、2、3および4気筒がストイキより若干リーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこでエンジン1には、かかる気筒間空燃比ばらつきが発生した場合、それを異常として検出する気筒間空然比ばらつき異常検出装置22が備えられている。ここで、本実施形態における気筒間空燃比ばらつき異常の検出の概略を説明する。図3に示すように、気筒間空燃比ばらつきが発生すると、1エンジンサイクル=720°CA間での排気空燃比の変動が大きくなる。Bの空燃比線図a、b、cはそれぞればらつき無し、1気筒のみ20のインバランス率でリッチずれ、および1気筒のみ50のインバランス率でリッチずれの場合の、触媒前センサ17による検出空燃比A/Fを示す。見られるように、ばらつき度合いが大きくなるほど空燃比変動の振幅が大きくなる。ここでインバランス率とは、気筒間空燃比のばらつき度合いを表す一つのパラメータである。すなわち、インバランス率とは、全気筒のうちある1気筒のみが燃料噴射量ずれを起こしている場合に、その燃料噴射量ずれを起こしている気筒インバランス気筒の燃料噴射量がどれくらいの割合で、燃料噴射量ずれを起こしていない気筒バランス気筒の燃料噴射量すなわち基準噴射量からずれているかを示す値である。インバランス率をIB、インバランス気筒の燃料噴射量をQib、バランス気筒の燃料噴射量すなわち基準噴射量をQsとすると、IB=Qib-Qs/Qs×100で表される。インバランス率IBの絶対値が大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ずれが大きく、空燃比ばらつき度合いは大きい。図3から理解されるように、インバランス率が大きいほど、すなわち気筒間空燃比のばらつき度合いが大きいほど、触媒前センサ17の出力変動が大きくなる。つまり、インバランス率が大きいほど、排気通路における空燃比の変化が大きくなる。よってこの特性に着目して、気筒間空然比ばらつき異常の検出が実行される。つまり、以下に説明されるように、エンジン1に搭載された気筒間空然比ばらつき異常検出装置22では、触媒前センサ17の出力つまり出力値に基づいて、空燃比の変化または変動を表す値以下、出力変化量を算出し、この値に基づいて気筒間空然比ばらつき異常の検出が実行される。なお、触媒前センサ17の出力値は触媒前センサ17を用いて検出された検出値に相当し、空燃比の変化を表す値は検出空燃比の変化率に応じた値に相当する。以下に、本実施形態における空燃比の変化を表す値つまり出力変化量の導出の演算を説明する。図4は図3のU部に相当する拡大模式図であり、特に1エンジンサイクル内の触媒前センサ17の出力値の変化を簡略的に示す。触媒前センサの出力値としては、ここでは触媒前センサ17の出力電圧Vfを空燃比A/Fに換算した値を用いる。但し触媒前センサ17の出力電圧Vfを直接、出力値として用いることも可能である。図4Bに示すように、ECU20は、1エンジンサイクル内において、所定時間間隔つまり所定周期τ単位時間、例えば4ms毎に、触媒前センサの出力値A/Fを取得するように作動する。そして今回最新のタイミング第2のタイミングで取得した値A/Fnと、前回のタイミング第1のタイミングで取得した値A/Fn-1との差ΔA/Fnを次の1式により求める。この差ΔA/Fnは今回のタイミングにおける微分値あるいは傾きと言い換えることができる。ΔA/Fn=A/Fn-A/Fn-11最も単純には、この差ΔA/Fn、好ましくはその絶対値が空燃比の変化を表す値つまり出力変化量を表す。変動度合いが大きくなるほど空燃比線図の傾きが大きくなり、差ΔA/Fnの絶対値が大きくなるからである。そこで所定の1タイミングにおける差ΔA/Fnまたはその絶対値を出力変化量とすることができる。但し、本実施形態では精度向上のため、複数の差ΔA/Fの平均値に関する値を出力変化量とする。特に、本実施形態では、以下の説明から明らかなように、差ΔA/Fが正の場合と、負の場合とで、差ΔA/Fの平均値をそれぞれ求め、それにより出力変化量が求められる。要するに、触媒前センサ17に関する出力値A/Fは増加する場合と減少する場合とがあるので、これら各場合について上記差ΔA/Fおよびその平均値を求め、それらの各絶対値が出力変化量として用いられ得る。なお、差ΔA/Fが正であるか負であるかは無視されてもよい。例えば、正負にかかわらず差ΔA/Fが求められ、それらの絶対値の平均値が、出力変化量として用いられることもできる。図5には、インバランス率IBと、出力変化量Xとの関係例を示す。図示されるように、インバランス率IBと出力変化量Xとの間には強い相関関係があり、インバランス率IBの絶対値が増加するほど出力変化量Xの絶対値も増加する傾向にある。それ故、出力変化量Xに基づいて気筒間空燃比ばらつき異常を検出することが可能である。すなわち、絶対値である出力変化量Xが所定の判定値以上であればばらつき異常ありと判定し、絶対値である出力変化量Xが所定の判定値未満であればばらつき異常なし、すなわち正常と判定することができる。また、例えば、特に1気筒のみリッチずれの場合、当該1気筒に対応した排気ガスを触媒前センサが受けた時に触媒前センサ出力が急速にリッチ側に変化すなわち急減するので、触媒前センサ出力の減少側のみの値をリッチずれ検出のために用いることも可能である。もっとも、これに限定されず、増加側の値のみを用いることも可能である。なお、出力変化量Xを用いて気筒間空然比ばらつき異常があるか否かが判定され、かつ、触媒前センサ出力が減少したときのみに関する差ΔA/Fの絶対値の平均値と触媒前センサ出力が増加したときのみに関する差ΔA/Fの絶対値の平均値との比較に基づいてリッチずれかリーンずれかが判定されることもできる。ところで、上記したように、ECU20は、特にECU20の取得手段の機能を担う部分は、所定時間間隔で触媒前センサ17の出力を取得するように作動する。しかし、ECU20は、上記したように、燃料噴射制御、点火制御などの各制御手段の機能を担い、複数のタスクを並行して担い実行するので、複数のタスクが集中するタイミングでは、その処理負荷また演算負荷が過大になり、触媒前センサ17の出力値の取得間隔が所定時間よりも長くなることがある。一例を、図6に基づいて説明する。図6には、空燃比センサ上記触媒前センサ17に相当の出力値の時間変化の2つの例が重ねて表されている。図6では、ECUの取得手段または取得部で取得された出力値が取得タイミングに対してプロットされている。ただし、図6の実験では、センサの出力の取得間隔が所定時間で一定になるように、センサの出力の取得が実行された。しかし、図6から明らかなように、この実験のエンジンでは、センサの出力の取得間隔にはばらつきがある。これは、実験で用いたエンジンのECUの処理能力が、ある時期では限界に達し、センサの出力を適切な時期に取得できなかったからである。ここで、図6の例Iに着目すると、センサの出力値の取得期間Iaは所定時間よりも長く、その間で、例Iの出力値は大きく変化している。したがって、このような例Iでの期間Iaでの差ΔA/Fの絶対値は、当初期待されていた所定時間での差ΔA/Fの絶対値よりも大きくなる。したがって、この期間Iaでの差ΔA/Fが、所定時間での差ΔA/Fとして扱われることには問題がある。他方、図6の例IIに着目すると、出力値が大きく変化している期間IIbは、実質的に所定時間であるので、その期間IIbの差ΔA/Fは、所定時間での差ΔA/Fとして扱われることができる。このように、ECUの性能によっては、時間つまりエンジン1のクランク角に応じて、センサの出力の取得間隔が変化してばらつく場合があり、それは、差ΔA/Fの算出に影響を与え得る。そこで、ここでは、その時々に適した補正を行うことで、差ΔA/Fが、当初期待されていた所定期間または所定時間における値となるようにし、それにより気筒間空然比ばらつき異常の検出精度を高めるようにする。なお、このような出力値の取得間隔のばらつきは、ECUの処理能力を高めることで抑制することができる。しかし、ECUの処理能力を高めることは、コスト増大をもたらし得る。それ故、このような改善策は、コストの面でも優れるであろう。ここで、本第1実施形態における、このような気筒間空燃比ばらつき異常の検出制御に関して、図7および図8のフローチャートを用いて説明する。なお図7のルーチンは、ECU20により所定の演算周期毎に繰り返し実行され得る。ただし、以下に詳述される気筒間空然比ばらつき異常検出装置の制御は、以下の説明から明らかなようにECU20により実質的に実行される。そして、ECU20は、気筒間空然比ばらつき異常検出装置の取得手段、値算出手段および比較手段のそれぞれとして機能する複数の部分を有し、それら部分は相互に関連している。取得手段としての機能を担うECU20の部分は、所定時間間隔で排気通路に設けられた空燃比センサの出力を取得するように作動することができる。値算出手段としての機能を担うECU20の部分は、空燃比センサの出力値に基づいて、所定時間における空燃比の変化を表す値を、取得手段としての部分により取得された空燃比センサの出力値の取得タイミングに応じて補正しつつ、算出することができる。また、比較手段としての機能を担うECU20の部分は、気筒間空然比ばらつき異常の有無を判定するように、値算出手段としての部分により算出された値と判定用閾値とを比較することができる。まず、図7のステップS701では、所定の前提条件が成立しているか否かが判定される。例えば、所定の前提条件には、排気空燃比が所定の空燃比に追従するように上記空燃比フィードバック制御が実行されていることが含まれるとよい。この場合、所定の空燃比は、好ましくは、理論空燃比つまりストイキである。なお、所定の前提条件が成立していることは、図8の演算が行われるとき、特に、触媒前センサの出力取得のときのみに少なくとも満たされているとよい。より具体的には、本第1実施形態のステップS701では、例えば次の条件aから条件eが全て成立したときに、所定の前提条件が成立したと判定される。条件aエンジンの暖機が終了している。ECU20は、水温センサ図示せずを用いて検出された水温が所定値例えば75°Cを越えているとき暖機終了と判断する。またエンジンオイルの温度を検出するための油温センサを設け、検出された油温が所定値を越えているとき暖機終了と判断してもよい。条件b触媒前センサ17および触媒後センサ18が活性化している。ECU20は、両センサのインピーダンスがそれぞれ所定の活性温度相当の値になっているとき、両センサが活性化していると判断する。条件c上流触媒コンバータ11および下流触媒コンバータ19のそれぞれの触媒が活性化している。ECU20は、エンジン運転状態に基づき推定した上流触媒コンバータ11の触媒の温度および下流触媒コンバータ19の触媒の温度がそれぞれ所定の活性温度相当の値になっているとき、両触媒が活性化したと判断する。条件dエンジンが定常運転中である。ECU20は、エンジン回転速度と負荷の所定時間内の変動幅が所定値以内のとき、エンジンが定常運転中と判断する。条件e通常の上記空燃比フィードバック制御が実行中である。通常の空燃比フィードバック制御実行時は、ここでは、排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御が実行されているときである。ステップS701で、所定の前提条件が成立しているので、肯定判定されると、ステップS703で、後述される図8に基づく出力変化量算出制御により、出力変化量Xが算出される。この出力変化量Xは、上記説明から理解され得るように、所定時間における触媒前センサ17の出力の変化を表した値である。そして、ステップS705で、ステップS703で算出された出力変化量Xが、予め定められている判定用閾値と比較される。なお、この閾値に相当するラインの一例が、図5では、点線で表されている。出力変化量が閾値未満である場合には、ステップS705で否定判定されて、該ルーチンは終了する。これは、出力変化量が小さいので、気筒間空然比ばらつき異常が検出されなかった、つまり、正常であると判定されたことを意味する。これに対して、ステップS705で出力変化量が閾値以上であるので肯定判定された場合には、ステップS707で異常と判定するように、異常フラグがONにされる。その結果、本実施形態では、運転席のフロントパネルなどに設けられ得る、図示しない警告ランプが点灯される。これにより、運転者などは、エンジン1の点検、修理などを行うことを促される。なお、異常フラグは初期状態では、OFFにされている。さて、図8のフローチャートに基づいて、触媒前センサ17の出力値に基づく出力変化量の算出に関して説明する。上記したように、ECU20は、所定時間間隔ごとに、つまり、所定時間が経過するごとに、触媒前センサ17の出力の取得が実行されるように、構築されている。このセンサ出力取得の所定時間間隔は例えば4msに設定される。しかし、この所定時間は4ms以外であってもよく、例えば、4msから10msの間の任意の時間に設定される。より具体的には、クランク角に関連付けて、さらにエンジン回転速度にも関連付けて、センサ17の出力を取得するように、ECU20は作動する。そして、取得された触媒前センサ17の出力値A/Fは、クランク角およびエンジン回転速度に関連付けて記憶される。ステップS801では、今回の最新の出力値A/Fnと、それまでに取得されて記憶されている前回の出力値A/Fn-1との差ΔA/Fnが、上記1式に基づいて算出される。そして、ステップS803では、補正係数が算出される。補正係数の算出は、図9のグラフに基づいて算出される。特に、ステップS803では、今回取得された出力値A/Fnに関連付けて記憶されているエンジン回転速度およびクランク角に基づいて図9のグラフに表すようなデータを検索することで、補正係数が算出される。図9のグラフは、あるエンジン回転速度でのクランク角と補正係数との関係を表したグラフであり、実験に基づいて作成されて予めECU20に記憶されている。図9のグラフのクランク角は、所定の気筒のクランク角として表されていて、例えば1気筒のクランク角に相当する。そして、図9のグラフは、同様に実験に基づいて得られた図10のグラフと相関関係にある。図10のグラフは、図9と同じ、あるエンジン回転速度でのクランク角とセンサの出力値の平均取得間隔との関係を表したグラフである。図10のグラフの横軸は、図9の横軸と同様に、所定の気筒のクランク角に相当する。図10のグラフの縦軸は、複数のエンジンサイクルでの各クランク角での触媒前センサ17の出力値の取得間隔の平均であり、その各取得間隔は、そのクランク角でのセンサの出力値の取得タイミングとその直前のセンサの出力値の取得タイミングとの間隔または時間差例えばA/Fnの取得タイミングとA/Fn-1の取得タイミングとの時間差である。図10のグラフから、エンジン1では、クランク角が、0°つまり720°、180°、360°、540°のときに出力値の取得間隔が長いことが分かる。この取得間隔は、上記したセンサ出力取得の所定時間間隔例えば4msよりも長い。これは、エンジン1が、直列4気筒エンジンであり、クランク角が0°から180°おきに、いずれかの気筒でピストンが圧縮上死点にあることに対応する。つまり、クランク角が180°進むごとに、エンジン1では、燃料噴射制御や点火時期制御などによりECU20での処理負荷が大きくなり、センサの出力値の取得を適切に行えないという傾向がある。なお、図10のグラフの場合、そのように長い取得間隔を要した出力値の取得の直後の出力値の取得タイミングは、直近の出力値の取得タイミングに対して短い間隔を要する。この取得間隔はセンサ出力取得の所定時間間隔例えば4msよりも短い。これは、ECU20の負荷がそのときに大きくなく、センサ出力取得の要求に対してその処理が直ぐに実行されたからである。これに対して、図9では、センサの出力値の取得間隔と上記したセンサ出力取得の所定時間間隔との差が長くなるほど補正量が大きくなるように、補正係数がクランク角に対して設定されている。このような、クランク角と補正係数との関係は、ステップS801で算出された差ΔA/Fnが、上記したセンサ出力取得の所定時間間隔例えば4msつまり所定時間における値として扱うことが許容されるように、実験により定められ得る。なお、図9のグラフは、エンジン回転速度と、クランク角と、補正係数との関係を表した三次元のグラフまたはマップである。エンジン回転速度が関係するのは、エンジン回転速度により、例えば、排気の触媒前センサ17の出力への影響や、ECU20の処理負荷の程度が変化し得るからである。ステップS803で補正係数が算出されると、ステップS805で、ステップS801で算出された差ΔA/FとステップS803で算出された補正係数とをかけることで、補正後ΔA/F=ΔA/F×補正係数が算出される。このようにして求められた補正後ΔA/Fが正であるか否かがステップS807で算出される。ステップS807で、補正後ΔA/Fが正であるので肯定判定されると、ステップS809で補正後ΔA/Fが、正の補正後ΔA/Fに関する最大値正の最大値pmよりも大きいか否かが判定される。そして、ステップS809で肯定判定されると、ステップS811で、ステップS805で算出された補正後ΔA/Fで正の最大値pmが書き換えられて更新される。なお、正の最大値pmは初期状態ではゼロに設定されている。他方、ステップS807で、補正後ΔA/Fが正でない概略的に負であるので否定判定されると、ステップS813で、ステップS805で算出された補正後ΔA/Fの絶対値が負の補正後ΔA/Fの絶対値に関する最大値負の最大値nmよりも大きいか否かが判定される。そして、ステップS813で肯定判定されると、ステップS815で、ステップS805で算出された補正後ΔA/Fの絶対値で負の最大値nmが書き換えられて更新される。なお、負の最大値nmは初期状態ではゼロに設定されている。そして、ステップS817で、クランク角CAが0°つまり720°であるか否かが判定される。なお、ステップS817でのクランク角は、図9のグラフのクランク角と同様に、所定の気筒のクランク角であり、例えば1気筒のクランク角である。ステップS817で肯定されると次のステップS821が実行されるが、ステップS817で否定判定されると該ルーチンは終了して、その結果ステップS801に戻り、上記演算が繰り返される。したがって、所定の気筒のクランク角が720°進むまで、上記ステップS801~S817が繰り返し実行されて、上記値pm、nmがそれぞれ求められる。ステップS817で肯定判定されると、次のステップS819で、初期状態ではゼロに設定されているカウンタ値Cに1が加算される。そして、次のステップS821では、それまでの正の最大値pmの積算値pmsumに最新の正の最大値pmが加算されて、正の最大値の積算値pmsumが更新される。同様に、ステップS821では、さらに、それまでの負の最大値nmの積算値nmsumに最新の負の最大値nmが加算されて、負の最大値の積算値nmsumが更新される。なお、初期状態では、正の最大値の積算値pmsumおよび負の最大値の積算値nmsumはそれぞれゼロに設定されている。次ぐステップS823では、正の最大値pmおよび負の最大値nmがそれぞれゼロリセットされる。そして、ステップS825ではカウンタCが所定値Nを超えているか否かが判定される。なお、所定値Nは0であってもよく、また任意の正の整数であってもよい。ステップS825で否定判定されると、該ルーチンは終了し、その結果上記ステップS801からS823が繰り返される。ステップS825で肯定判定されると、正の最大値の積算値pmsumをカウンタ値Cで除することにより算出される正の最大値の平均値=pmsum/Cと、負の最大値の積算値nmsumをカウンタ値Cで除することにより算出される負の最大値の平均値=nmsum/Cとが比較されて、これらのうちの大きい方が、出力変化量Xに設定される。そして、ステップS831で、カウンタ値C、正の最大値の積算値pmsumおよび負の最大値の積算値nmsumがそれぞれゼロリセットされる。以上述べたように、所定時間の間、触媒前センサ17の出力値A/Fが取得されて、これら出力値A/Fに基づいて、所定時間における空燃比の変化を表す値としての出力変化量Xが算出される。この算出された出力変化量Xは、上記したように、ステップS705で閾値と比較されて、それにより、気筒間空然比ばらつき異常の検出が行われる。なお、第1実施形態では、補正係数は、エンジン回転速度と、クランク角との両方に基づいて、算出されたが、これらの少なくとも一方、特にクランク角に基づいて算出されてもよい。つまり、上記補正は、クランク角およびエンジン回転速度の少なくとも一方、例えばクランク角に応じて実行行われ得る。次に、本発明の第2実施形態について説明する。第2実施形態のエンジンの構成は、概ね上記第1実施形態のエンジン1の構成と同じであるので、ここでは上記説明に用いた符号を同様に用いることで、第2実施形態のエンジンの構成の説明は省略される。第2実施形態のエンジンに適用された、気筒間空然比ばらつき異常検出装置は、上記したような補正に関して、上記第1実施形態の気筒間空然比ばらつき異常検出装置22に対して異なる点を有する。以下に、その特徴部分のみを説明し、その他の重複する説明は省略される。第2実施形態の気筒間空然比ばらつき異常検出装置では、触媒前センサ17の出力値が変曲点を有するように変化したとき、この変曲点に関連する所定期間では、上記したような所定時間における空燃比の変化を表す値を算出する際の補正を行わない。つまりそのようなとき、そのような補正は禁止される。例えば図11Aに示すように、触媒前センサ17の出力値の取得間隔が所定時間間隔つまり一定の間隔である場合、上記1式に基づいて算出される差ΔA/Fは、センサ17の出力値の変化傾向を適切に反映したものである。これに対して、例えば図11Bに示すように、触媒前センサ17の出力値の取得間隔がばらついている場合、上記1式に基づいて単に算出される差ΔA/Fは、センサ17の出力値の変化傾向を適切に反映したものではないので、上記第1実施形態で述べたような補正を行うことが考えられる。しかし、図11Bの期間IIIcのようなピーク付近つまり変曲点付近の期間では、出力値A/Fの変化幅つまり差ΔA/Fの絶対値がそもそも大きいので、上記したように補正をすると補正係数の設定にもよるが、図11に点線で示すように補正後ΔA/Fの絶対値が過度に大きくなり、かえって補正後ΔA/Fは実情から逸脱した値になる可能性がある。そこで、本第2実施形態では、センサ17の出力値が変曲点を有するように変化したとき、この変曲点に関連する所定期間例えば図11の期間IIIcを含む。では、上記したように算出される差ΔA/Fに対する上記したような補正の実行は禁止される。なお、この補正の禁止は、ECU20の禁止手段の機能を担う部分によって実行される。第2実施形態の気筒間空然比ばらつき異常検出装置における出力変化量の算出を図12のフローチャートに基づいて説明する。ただし、図12のステップS1201、S1207~S1233は、それぞれ、図8のステップS801~S829に相当するので、これらの重複説明は省略される。なお、図12のフローチャートに基づく出力変化量Xの算出は上記図7のステップS703に相当し、その出力変化量XはステップS705で閾値と比較されて、気筒間空然比ばらつき異常の検出が実行される。ステップS1201で、差ΔA/Fn、ΔA/Fn-1、およびΔA/Fn-2が算出または読み込まれる。差ΔA/Fnは、今回新たに取得した値A/Fnから直近に取得して記憶されている値A/Fn-1を引いた値である。これに対して、差ΔA/Fn-1は、直近に取得した値A/Fn-1からさらにその直前に取得して記憶されている値A/Fn-2を引いた値である。さらに、差ΔA/Fn-2は、その前に取得した値A/Fn-2からさらにその直前に取得して記憶している値A/Fn-3を引いた値である。それ故に、差ΔA/Fn-1および差ΔA/Fn-2は、それぞれ、直近に算出された差ΔA/Fnおよび差ΔA/Fn-1を読み込むことで、算出されてもよい。次ぐステップS1203では、触媒前センサ17の出力値が変曲点を有するように変化したか否かが判定される。これは、以下の演算を行うことで実行される。なお、この演算は、以下に説明される演算であることに限定されず、この演算として当業者が考え得るあらゆる演算が適用され得る。ステップS1203では、以下の条件条件f、条件gの少なくともいずれかが成立するとき、触媒前センサ17の出力値が変曲点を有するように変化したと判定される。なお、以下の2つの条件は、曲線の変曲点の特性に着目して定められている。条件f差ΔA/Fnと差ΔA/Fn-1との積がゼロ未満つまり負である。条件g差ΔA/Fn-1が所定値未満であり、かつ、差ΔA/Fn-2と差ΔA/Fnとの積がゼロ未満つまり負である。なお、所定値は、センサ出力取得の所定間隔が例えば4msである場合、0.005に相当する値であり得る。そして、ステップS1203で肯定判定されると、ステップS1205で補正係数が1にされ、ステップS1209で上記ステップS805と同様に補正後ΔA/Fが算出される。つまり、このように、触媒前センサ17の出力値が変曲点を有するように変化したとき、補正は実行されず、禁止される。これに対して、ステップS1203で触媒前センサ17の出力値が変曲点を有するように変化していないとして否定判定されると、ステップS1207で上記ステップS803と同様に補正係数が算出されて、ステップS1209で補正後ΔA/Fが算出される。本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"