"内燃機関のアイドル運転時に所定の対象気筒の燃料噴射量を変更し、少なくとも当該変更後の前記対象気筒の回転変動に基づき、気筒間空燃比ばらつき異常を検出する異常検出手段と、前記アイドル運転時に前記内燃機関の実際の回転数を所定の目標アイドル回転数に一致させるよう制御するアイドル回転制御手段と、を備え、前記アイドル回転制御手段は、前記内燃機関の吸入空気量を調節するためのバルブと、前記実際の回転数と前記目標アイドル回転数との差分に基づいて補正量を算出する補正量算出手段と、前記補正量に応じた学習値を、前記補正量の算出周期よりも長い周期で算出し且つ更新する学習値更新手段と、少なくとも前記補正量と前記学習値に基づき目標開度を算出する目標開度算出手段と、前記目標開度算出手段により算出された目標開度に一致するよう、前記バルブの開度を制御するバルブ制御手段と、を備え、前記アイドル回転制御手段は、燃料噴射量変更時以外の通常時には、前記補正量と前記学習値に基づき前記目標開度算出手段による前記目標開度の算出を実行させ、燃料噴射量変更時には、前記補正量、前記学習値、および前記補正量と前記学習値の少なくとも一方を補正するための補正値に基づき、前記目標開度算出手段による前記目標開度の算出を実行させることを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記目標開度算出手段は、燃料噴射量変更時、前記補正量、前記学習値および前記補正値の和に基づき、前記目標開度を算出することを特徴とする請求項1に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記補正値は、予め定められた一定値からなることを特徴とする請求項1または2に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記補正値は、燃料噴射量変更時の燃料噴射量変更量に応じて設定されることを特徴とする請求項1または2に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記補正値は、燃料噴射量変更時の前記差分に応じて更新されることを特徴とする請求項1~4のいずれか一項に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記アイドル回転制御手段は、燃料噴射量変更時、前記学習値更新手段による前記学習値の更新を停止させることを特徴とする請求項1~5のいずれか一項に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。ところで、いずれかの気筒に空燃比異常が生じている場合、当該気筒の燃料噴射量を強制的に変更増量または減量すると、当該気筒の回転変動が顕著に大きくなる。よってこのような回転変動の増大を検出することで、空燃比ばらつき異常を検出することが可能である。そしてこのばらつき異常検出は、内燃機関のアイドル運転時に行うことが好ましい。燃料噴射量の変更に伴う回転変動の増大が出やすいからである。一方、内燃機関においては、アイドル運転時に実際の回転数を所定の目標アイドル回転数に一致させるよう制御するアイドル回転制御が実行される。このアイドル回転制御においては、実際の回転数と目標アイドル回転数との差分に応じた補正量を算出すると共に、補正量に応じた学習値を算出且つ更新し、補正量と学習値に基づき目標開度を算出し、算出された目標開度に一致するよう、吸入空気量を調節するためのバルブの開度を制御している。内燃機関のアイドル運転時にばらつき異常検出を行い、且つアイドル回転制御を行うようにすると、次のような問題が生じる。例えばばらつき異常検出の実行に伴って燃料噴射量を強制的に増量した場合、トルクが増加するので、内燃機関の実際の回転数が目標アイドル回転数より上昇する。するとこの上昇分を無くすようにアイドル回転制御が働き、実際の回転数を下げるような補正量が算出される。すると学習値も、実際の回転数を下げるような値に更新される。燃料噴射量の強制増量が終了すると、トルク増加分が無くなることから、実際の回転数が目標アイドル回転数より一時的に低下してしまう。これにより実際の回転数が過度に低くなって振動の悪化や最悪エンストを招く虞がある。他方、ばらつき異常検出の実行に伴って燃料噴射量を強制的に減量した場合には逆の現象が起こる。すなわち、燃料噴射量減量終了直後に実際の回転数が目標アイドル回転数より一時的に上昇し、実際のアイドル回転数が過度に高くなって違和感を生じさせる虞がある。そこで本発明は以上の事情に鑑みて創案され、その目的は、燃料噴射量変更終了直後に実際の回転数が目標アイドル回転数からずれることを抑制し得る多気筒内燃機関の気筒間空燃比ばらつき異常検出装置を提供することにある。本発明の一の態様によれば、内燃機関のアイドル運転時に所定の対象気筒の燃料噴射量を変更し、少なくとも当該変更後の前記対象気筒の回転変動に基づき、気筒間空燃比ばらつき異常を検出する異常検出手段と、前記アイドル運転時に前記内燃機関の実際の回転数を所定の目標アイドル回転数に一致させるよう制御するアイドル回転制御手段と、を備え、前記アイドル回転制御手段は、前記内燃機関の吸入空気量を調節するためのバルブと、前記実際の回転数と前記目標アイドル回転数との差分に基づいて補正量を算出する補正量算出手段と、前記補正量に応じた学習値を、前記補正量の算出周期よりも長い周期で算出し且つ更新する学習値更新手段と、少なくとも前記補正量と前記学習値に基づき目標開度を算出する目標開度算出手段と、前記目標開度算出手段により算出された目標開度に一致するよう、前記バルブの開度を制御するバルブ制御手段と、を備え、前記アイドル回転制御手段は、燃料噴射量変更時以外の通常時には、前記補正量と前記学習値に基づき前記目標開度算出手段による前記目標開度の算出を実行させ、燃料噴射量変更時には、前記補正量、前記学習値、および前記補正量と前記学習値の少なくとも一方を補正するための補正値に基づき、前記目標開度算出手段による前記目標開度の算出を実行させることを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置が提供される。好ましくは、前記目標開度算出手段は、燃料噴射量変更時、前記補正量、前記学習値および前記補正値の和に基づき、前記目標開度を算出する。好ましくは、前記補正値は、予め定められた一定値からなる。好ましくは、前記補正値は、燃料噴射量変更時の燃料噴射量変更量に応じて設定される。好ましくは、前記補正値は、燃料噴射量変更時の前記差分に応じて更新される。好ましくは、前記アイドル回転制御手段は、燃料噴射量変更時、前記学習値更新手段による前記学習値の更新を停止させる。本発明によれば、燃料噴射量変更終了直後に実際の回転数が目標アイドル回転数からずれることを抑制できるという、優れた効果が発揮される。以下、本発明の実施形態を添付図面に基づき説明する。図1に本実施形態に係る内燃機関を概略的に示す。図示される内燃機関エンジン1は自動車に搭載されたV型8気筒火花点火式内燃機関ガソリンエンジンである。エンジン1は第1のバンクB1と第2のバンクB2とを有し、第1のバンクB1には奇数番気筒すなわち1,3,5,7気筒が設けられ、第2のバンクB2には偶数番気筒すなわち2,4,6,8気筒が設けられている。1,3,5,7気筒が第1の気筒群をなし、2,4,6,8気筒が第2の気筒群をなす。各気筒にインジェクタ燃料噴射弁2が設けられる。インジェクタ2は、対応気筒の吸気通路特に吸気ポート図示せず内に向けて燃料を噴射する。また各気筒には、筒内の混合気に点火するための点火プラグ13が設けられる。吸気を導入するための吸気通路7は、前記吸気ポートの他、集合部としてのサージタンク8と、各気筒の吸気ポートおよびサージタンク8を結ぶ複数の吸気マニホールド9と、サージタンク8の上流側の吸気管10とを含む。吸気管10には、上流側から順にエアフローメータ11と電子制御式スロットルバルブ12とが設けられている。エアフローメータ11は吸気流量に応じた大きさの信号を出力する。第1のバンクB1に対して第1の排気通路14Aが設けられ、第2のバンクB2に対して第2の排気通路14Bが設けられる。これら第1および第2の排気通路14A,14Bは下流触媒19の上流側で合流されている。この合流位置より上流側の排気系の構成は両バンクで同一なので、ここでは第1のバンクB1側についてのみ説明し、第2のバンクB2側については図中同一符号を付して説明を省略する。第1の排気通路14Aは、1,3,5,7の各気筒の排気ポート図示せずと、これら排気ポートの排気ガスを集合させる排気マニホールド16と、排気マニホールド16の下流側に設置された排気管17とを含む。そして排気管17には上流触媒18が設けられている。上流触媒18の上流側及び下流側直前及び直後にそれぞれ、排気ガスの空燃比を検出するための空燃比センサである触媒前センサ20及び触媒後センサ21が設置されている。このように、一方のバンクに属する複数の気筒あるいは気筒群に対して、上流触媒18、触媒前センサ20及び触媒後センサ21が各一つずつ設けられている。なお、第1および第2の排気通路14A,14Bを合流させないで、これらに個別に下流触媒19を設けることも可能である。エンジン1には制御手段としての電子制御ユニット以下ECUと称す100が設けられている。ECU100は、何れも図示されないCPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。ECU100には、前述のエアフローメータ11、触媒前センサ20、触媒後センサ21のほか、エンジン1のクランク角を検出するためのクランク角センサ22、アクセル開度を検出するためのアクセル開度センサ23、エンジン冷却水の温度を検出するための水温センサ24、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU100は、各種センサの検出値等に基づき、所望の出力が得られるように、インジェクタ2、点火プラグ13、スロットルバルブ12等を制御し、燃料噴射量、燃料噴射時期、点火時期、スロットル開度等を制御する。スロットルバルブ12にはスロットル開度センサ図示せずが設けられ、スロットル開度センサからの信号がECU100に送られる。ECU100は、通常、アクセル開度に応じて定まる開度に、スロットルバルブ12の開度スロットル開度をフィードバック制御する。またECU100は、エアフローメータ11からの信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてECU100は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン1の負荷を検出する。ECU100は、クランク角センサ22からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン1の回転数を検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では1分間当たりの回転数rpmのことをいう。触媒前センサ20は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図2に触媒前センサ20の出力特性を示す。図示するように、触媒前センサ20は、検出した排気空燃比触媒前空燃比A/Ffに比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキ理論空燃比、例えばA/F=14.5であるときの出力電圧はVreff例えば約3.3Vである。他方、触媒後センサ21は所謂O2センサからなり、ストイキを境に出力値が急変する特性を持つ。図2に触媒後センサ21の出力特性を示す。図示するように、排気空燃比触媒後空燃比A/Frがストイキであるときの出力電圧、すなわちストイキ相当値はVrefr例えば0.45Vである。触媒後センサ21の出力電圧は所定の範囲例えば0~1V内で変化する。概して排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧Vrはストイキ相当値Vrefrより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧Vrはストイキ相当値Vrefrより高くなる。上流触媒18及び下流触媒19は三元触媒からなり、それぞれに流入する排気ガスの空燃比A/Fがストイキ近傍のときに排気中の有害成分であるNOx、HCおよびCOを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこで、エンジンの通常運転時、上流触媒18に流入する排気ガスの空燃比をストイキ近傍に制御するための空燃比制御ストイキ制御がECU100により実行される。この空燃比制御は、触媒前センサ20によって検出された排気空燃比が所定の目標空燃比であるストイキになるように混合気の空燃比具体的には燃料噴射量をフィードバック制御する主空燃比制御主空燃比フィードバック制御と、触媒後センサ21によって検出された排気空燃比がストイキになるように混合気の空燃比具体的には燃料噴射量をフィードバック制御する補助空燃比制御補助空燃比フィードバック制御とからなる。このように本実施形態において、空燃比の基準値はストイキであり、このストイキに相当する燃料噴射量ストイキ相当量というが燃料噴射量の基準値である。但し、空燃比および燃料噴射量の基準値は他の値とすることもできる。空燃比制御はバンク単位で若しくはバンク毎に行われる。例えば第1のバンクB1側の触媒前センサ20および触媒後センサ21の検出値は、第1のバンクB1に属する1,3,5,7気筒の空燃比フィードバック制御にのみ用いられ、第2のバンクB2に属する2,4,6,8気筒の空燃比フィードバック制御には用いられない。逆も同様である。あたかも独立した直列4気筒エンジンが二つあるように、空燃比制御が実行される。また空燃比制御においては、同一バンクに属する各気筒に対し同一の制御量が一律に用いられる。さて、例えば全気筒のうちの一部の気筒特に1気筒において、インジェクタ2の故障等が発生し、気筒間に空燃比のばらつきインバランス:imbalanceが発生することがある。例えば第1のバンクB1について、インジェクタ2の閉弁不良により1気筒の燃料噴射量が他の3,5,7気筒の燃料噴射量よりも多くなり、1気筒の空燃比が他の3,5,7気筒の空燃比よりも大きくリッチ側にずれる場合である。このときでも、前述の空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ20に供給されるトータルガス合流後の排気ガスの空燃比をストイキに制御できる場合がある。しかし、気筒別に見ると、1気筒がストイキより大きくリッチ、3,5,7気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の気筒のうちある1気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒インバランス気筒の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒バランス気筒の燃料噴射量即ち基準噴射量からズレているかを示す値である。インバランス率をIB、インバランス気筒の燃料噴射量をQib、バランス気筒の燃料噴射量即ち基準噴射量をQsとすると、IB=Qib-Qs/Qs×100で表される。インバランス率IBが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。他方、本実施形態においては、所定の対象気筒の燃料噴射量をアクティブに若しくは強制的に変更増量または減量し、少なくとも変更後の対象気筒の回転変動に基づき、ばらつき異常を検出する。まず、回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいい、例えば次に述べるような値で表すことができる。本実施形態においては気筒毎の回転変動が検出可能である。図3には回転変動を説明するためのタイムチャートを示す。図示例は直列4気筒エンジンの例であるが、本実施形態のようなV型8気筒エンジンにも適用可能であることが理解されよう。点火順序は1,3,4,2気筒の順である。図3において、Aはエンジンのクランク角°CAを示す。1エンジンサイクルは720°CAであり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。Bは、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Tsを示す。ここでは所定角度が30°CAであるが、他の値例えば10°CAとしてもよい。回転時間Tが長いほどエンジン回転速度は遅く、逆に回転時間Tが短いほどエンジン回転速度は速い。この回転時間Tはクランク角センサ22の出力に基づきECU100により検出される。Cは、後に説明する回転時間差ΔTを示す。図中、正常とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、リーンずれ異常とは、1気筒のみに例えばインバランス率IB=-30のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。まず、各気筒の同一タイミングにおける回転時間TがECUにより検出される。ここでは各気筒の圧縮上死点TDCのタイミングにおける回転時間Tが検出される。この回転時間Tが検出されるタイミングを検出タイミングという。次いで、検出タイミング毎に、当該検出タイミングにおける回転時間T2と、直前の検出タイミングにおける回転時間T1との差T2-T1がECUにより算出される。この差がCに示す回転時間差ΔTであり、ΔT=T2-T1である。通常、ある気筒のクランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため回転時間Tが低下し、その後の次気筒の圧縮行程では回転速度が低下するため回転時間Tが増大する。しかしながら、Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける回転時間Tは大きくなっている。それ故、3気筒TDCにおける回転時間差ΔTは、Cに示すように大きな正の値となる。この3気筒TDCにおける回転時間および回転時間差をそれぞれ1気筒の回転時間および回転時間差とし、それぞれT1およびΔT1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ回転時間Tが若干低下しているに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の回転時間差ΔT3は、Cに示すように小さな負の値となる。このようにある気筒の回転時間差ΔTが、次点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の回転時間差ΔT4および2気筒の回転時間差ΔT2はともに小さな負の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の回転時間差ΔTは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔTを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔTは大きくなる。他方、図3Cに示すように、正常の場合には回転時間差ΔTが常時ゼロ付近である。図3の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち1気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。次に、図4を参照して、回転変動を表す別の値を説明する。Aは図3Aと同様にエンジンのクランク角°CAを示す。Bは、前記回転時間Tの逆数である角速度ωrad/sを示す。ω=1/Tである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Tの波形を上下反転した形となる。Cは、前記回転時間差ΔTと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔTの波形を上下反転した形となる。図中の正常およびリーンずれ異常については図3と同様である。まず、各気筒の同一タイミングにおける角速度ωがECUにより検出される。ここでも各気筒の圧縮上死点TDCのタイミングにおける角速度ωが検出される。角速度ωは、1を前記回転時間Tで除することにより算出される。次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω2と、直前の検出タイミングにおける角速度ω1との差ω2-ω1がECUにより算出される。この差がCに示す角速度差Δωであり、Δω=ω2-ω1である。通常、ある気筒のクランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の次気筒の圧縮行程では回転速度が低下するため角速度ωが低下する。しかしながら、Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける角速度ωは小さくなっている。それ故、3気筒TDCにおける角速度差Δωは、Cに示すように大きな負の値となる。この3気筒TDCにおける角速度および角速度差をそれぞれ1気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ角速度ωが若干上昇するに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の角速度差Δω3は、Cに示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の角速度差Δω4および2気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなるマイナス方向に大きくなる。他方、図4Cに示すように、正常の場合には角速度差Δωが常時ゼロ付近である。逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。次に、ある1気筒の燃料噴射量をアクティブに増量または減量したときの回転変動の変化を、図5を参照して説明する。図5において、横軸はインバランス率IBを示し、縦軸は回転変動の指標値としての角速度差Δωを示す。ここでは、全8気筒のうちある1気筒のみのインバランス率IBを変化させ、このときの当該1気筒のインバランス率IBと、当該1気筒の角速度差Δωとの関係を線aで示す。当該1気筒をアクティブ対象気筒という。他の気筒は全てバランス気筒であり、基準噴射量Qsとしてストイキ相当量を噴射しているものとする。横軸において、IB=0とは、アクティブ対象気筒のインバランス率IBが0で、アクティブ対象気筒がストイキ相当量を噴射している正常な場合を意味する。このときのデータが線a上のプロットbで示される。このIB=0の状態から図中左側に移動すると、インバランス率IBがプラス方向に増加し、燃料噴射量としては過多すなわちリッチな状態となる。逆に、IB=0から図中右側に移動すると、インバランス率IBがマイナス方向に増加し、燃料噴射量としては過少すなわちリーンな状態となる。特性線aから分かるように、アクティブ対象気筒のインバランス率IBが0からプラス方向に増加してもマイナス方向に増加しても、アクティブ対象気筒の回転変動は大きくなり、アクティブ対象気筒の角速度差Δωが0付近からマイナス方向に大きくなる傾向にある。そして、インバランス率IBが0から離れるほど、特性線aの傾きが急になり、インバランス率IBの変化に対する角速度差Δωの変化は大きくなる傾向にある。ここで、矢印cで示すように、アクティブ対象気筒の燃料噴射量を、ストイキ相当量IB=0から所定量、強制的に増量したとする。図示例ではインバランス率で約40相当の増量がなされている。このとき、IB=0の近辺では特性線aの傾きが緩やかであることから、増量後においても角速度差Δωは増量前とほぼ変わらず、増量前後の角速度差Δωの差は極小さい。他方、プロットdで示すように、アクティブ対象気筒において既にリッチずれが生じており、そのインバランス率IBが比較的大きなプラス側の値になっているときを考える。図示例ではインバランス率で約50のリッチずれが生じている。この状態から矢印eで示すように、アクティブ対象気筒の燃料噴射量を同一量、強制的に増量したとすると、この領域では特性線aの傾きが急であることから、増量後の角速度差Δωは増量前より大きくマイナス側に変化し、増量前後の角速度差Δωの差は大きくなる。すなわち燃料噴射量の増量により、アクティブ対象気筒の回転変動は大きくなる。よって、アクティブ対象気筒の燃料噴射量を強制的に所定量増量したときの少なくとも増量後のアクティブ対象気筒の角速度差Δωに基づき、ばらつき異常を検出することが可能である。すなわち、増量後の角速度差Δωが図示するように所定の負の異常判定値αより小さい場合Δω<αには、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、増量後の角速度差Δωが異常判定値αより小さくない場合Δω≧αには、少なくともアクティブ対象気筒を正常と判定することができる。あるいは代替的に、図示するように、増量前後の角速度差Δωの差dΔωに基づき、ばらつき異常を検出することも可能である。この場合、増量前の角速度差をΔω1、増量後の角速度差をΔω2とすると、両者の差dΔωをdΔω=Δω1-Δω2と定義することができる。そして差dΔωが所定の正の異常判定値β1を超えた場合dΔω>β1、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、差dΔωが異常判定値β1を超えない場合dΔω≦β1、少なくともアクティブ対象気筒を正常と判定することができる。インバランス率が負の領域で強制減量を行ったときも同様のことが言える。矢印fで示すように、アクティブ対象気筒の燃料噴射量をストイキ相当量IB=0から所定量、強制的に減量したとする。図示例ではインバランス率で約10相当の減量がなされている。増量量に比べ減量量が少ないのは、リーンずれ異常気筒に対しあまりに多くの減量を行ってしまうと失火してしまうからである。このとき、特性線aの傾きが比較的緩やかであることから、減量後の角速度差Δωは減量前より若干小さくなっているだけで、増量前後の角速度差Δωの差は小さい。他方、プロットgで示すように、アクティブ対象気筒において既にリーンずれが生じており、そのインバランス率IBが比較的大きなマイナス側の値になっているときを考える。図示例ではインバランス率で約-20のリーンずれが生じている。この状態から矢印hで示すように、アクティブ対象気筒の燃料噴射量を同一量、強制的に減量したとすると、この領域では特性線aの傾きが比較的急であることから、減量後の角速度差Δωは減量前より大きくマイナス側に変化し、減量前後の角速度差Δωの差は大きくなる。すなわち燃料噴射量の減量により、アクティブ対象気筒の回転変動は大きくなる。よって、アクティブ対象気筒の燃料噴射量を強制的に所定量減量したときの少なくとも減量後のアクティブ対象気筒の角速度差Δωに基づき、ばらつき異常を検出することが可能である。すなわち、減量後の角速度差Δωが図示するように所定の負の異常判定値αより小さい場合Δω<αには、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、減量後の角速度差Δωが異常判定値αより小さくない場合Δω≧αには、少なくともアクティブ対象気筒を正常と判定することができる。あるいは代替的に、図示するように、減量前後の角速度差Δωの差dΔωに基づき、ばらつき異常を検出することも可能である。この場合も両者の差dΔωをdΔω=Δω1-Δω2と定義することができる。差dΔωが所定の正の異常判定値β2を超えた場合dΔω>β2、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、差dΔωが異常判定値β2を超えない場合dΔω≦β2、少なくともアクティブ対象気筒を正常と判定することができる。ここでは増量量が減量量より顕著に多いため、増量時の異常判定値β1を減量時の異常判定値β2より大きくしている。しかしながら、両異常判定値は、特性線aの特性や増量量と減量量のバランス等を考慮して任意に定めることができる。両異常判定値を同じ値とすることも可能である。各気筒の回転変動の指標値として回転時間差ΔTを用いた場合にも、同様の方法で異常検出および異常気筒特定が可能であることが理解されるであろう。また、各気筒の回転変動の指標値としては、上述した以外の他の値を用いることも可能である。図6には、全8気筒についての燃料噴射量の増量と、増量前後の回転変動の変化との様子を示す。上段が増量前、下段が増量後である。左右方向の左端列に示されているように、増量の方法としては、全気筒一律且つ同時に同一量増量している。すなわちここでは所定の対象気筒が全気筒である。増量前は全気筒のインジェクタ2に対し、ストイキ相当量の燃料を噴射するよう開弁指令がなされており、増量後は全気筒のインジェクタ2に対し、ストイキ相当量より所定量多い燃料を噴射するよう開弁指令がなされている。この増量の仕方は、全気筒同時に行う方法の他、任意数の気筒ずつ順番に且つ交互に行う方法がある。例えば1気筒ずつ増量したり、2気筒ずつ増量したり、4気筒ずつ増量したりする方法がある。増量を行う対象気筒の数および気筒番号は任意に設定できる。対象気筒数が多いほど、全増量時間を短縮できるメリットがあり、排気エミッションが悪化するデメリットがある。逆に対象気筒数が少ないほど、排気エミッションの悪化を抑制できるメリットがあるが、全増量時間が長期化するデメリットがある。各気筒の回転変動の指標値として、図5と同様、角速度差Δωを用いている。例えば左右方向の中央列に示されている正常時、すなわちいずれの気筒においても空燃比ずれ異常が生じていない場合だと、増量前では全気筒の角速度差Δωがほぼ等しく0付近にあり、全気筒の回転変動が少ない。また増量後でも全気筒の角速度差Δωがほぼ等しく若干マイナス方向に大きくなるだけであり、全気筒の回転変動はそれ程大きくならない。故に、増量前後の角速度差の差dΔωは小さい。しかしながら、左右方向の右端列に示されている異常時だと、正常時とは異なる挙動を示す。この異常時では、8気筒にのみインバランス率で50相当のリッチずれ異常が生じており、8気筒のみが異常気筒である。この場合、増量前では、8気筒以外の残部気筒の角速度差Δωはほぼ等しく0付近にあるが、8気筒の角速度差Δωは残部気筒の角速度差Δωより若干マイナス方向に大きい。しかしながらそれでも、8気筒の角速度差Δωと残部気筒の角速度差Δωとの間にはそれ程差がない。よって増量前の角速度差Δωによっては、異常検出と異常気筒特定を十分な精度で行うことができない。他方、増量後だと増量前に比べて、残部気筒の角速度差Δωはほぼ等しく若干マイナス方向に変化するだけであるが、8気筒の角速度差Δωは大きくマイナス方向に変化する。よって8気筒の増量前後の角速度差の差dΔωは、残部気筒のそれより顕著に大きくなる。よってこの違いを利用し、異常検出と異常気筒特定を十分な精度で行うことができる。この場合、8気筒の差dΔωのみが前記異常判定値β1より大きくなるので、8気筒にリッチずれ異常があることを検出できる。燃料噴射量を強制減量して何れかの気筒のリーンずれ異常を検出する場合にも、同様の方法を採用できることが理解されるであろう。以上が本実施形態におけるばらつき異常検出の基本である。以下、特に言及しない限り、各気筒の回転変動の指標値として角速度差Δωを用いるものとする。次に、本実施形態におけるばらつき異常検出の主な特徴を述べる。前述したように、ばらつき異常検出は、エンジンのアイドル運転時に行うことが好ましい。アイドル運転時には元々のエンジン出力トルクが小さく、燃料噴射量の変更に伴う回転変動の増大が出やすいからである。本実施形態ではエンジンの暖機後で且つアイドル運転時所謂ホットアイドル時に異常検出を実行する。なおエンジン暖機後か否かは、水温センサ24で検出された水温が所定値例えば75°C以上であるか否かにより判断される。一方、本実施形態のエンジンにおいては、アイドル運転時に実際の回転数を所定の目標アイドル回転数に一致させるよう制御するアイドル回転制御がECU100により実行される。ここで実際の回転数はクランク角センサ22の出力に基づき計算ないし検出された値であり、目標アイドル回転数は予めECU100に記憶された値である。本実施形態における目標アイドル回転数は600rpmであるが、この値は任意に定め得る。アイドル回転制御においては、実際の回転数を目標アイドル回転数に一致させるよう、スロットルバルブ12を制御して吸入空気量を調節する。スロットルバルブ12はエンジンの吸入空気量を調節するためのバルブをなす。但しこのバルブには任意のものを使用でき、例えばスロットルバルブ12をバイパスするバイパス路に設置されたアイドル回転制御専用のバルブ所謂ISCバルブを使用してもよい。アイドル回転制御においては、実際の回転数と目標アイドル回転数との差分に応じた補正量を算出すると共に、補正量に応じた学習値を算出且つ更新し、補正量と学習値に基づき目標開度を算出し、算出された目標開度に一致するようスロットルバルブの開度を制御している。より詳細に述べると、ECU100は図7に示すようなルーチンを比較的短い所定の第1周期毎に繰り返し実行することにより、アイドル回転制御を実行する。第1周期は例えば16msecである。図示するように、ステップS101では、検出された実際の回転数Nerが取得される。ステップS102では、実際の回転数Nerと目標アイドル回転数Netとの差分ΔN=Net-Nerが算出される。ステップS103では、差分ΔNに対応した補正量Δθが図示しないマップ関数でもよい。以下同様から算出される。この補正量Δθは、例えば公知のPIDフィードバック制御の手法に基づき算出される。ステップS104では、補正量Δθに応じて別途算出、更新される学習値θgの値が取得される。ステップS105では、補正量Δθと学習値θgに基づき、スロットルバルブ12の目標開度θtが算出される。目標開度θtは補正量Δθと学習値θgの和からなり、すなわちθt=Δθθgにより目標開度θtが算出される。ステップS106では、算出された目標開度θtに一致するようスロットルバルブ12の開度が制御される。他方、ECU100は、第1周期より長い所定の第2周期毎に、図示しない別ルーチンにより、学習値θgを算出且つ更新する。この学習値θgは、エンジン個体差や経年変化例えばスロットルバルブ周りへのデポジット堆積によるバラツキを吸収するための値であり、アイドル運転時におけるスロットルバルブ開度の基準をなす値である。学習値θgは、補正量Δθの変化を反映するよう、補正量Δθの変化に遅れて追従するように変化する。補正量Δθが第1周期毎に比較的速い速度でリアルタイムに算出、更新されるのに対し、学習値θgはより遅い第2周期毎にロングタイムで算出、更新される。学習値θgは、言い換えると、目標アイドル回転数Netに対する実際の回転数Nerの定常的なズレ分を反映ないし補償するような値である。さて、エンジンのアイドル運転時にばらつき異常検出を行い、且つアイドル回転制御を行うようにすると、次のような問題が生じる。図8には本発明を適用しない比較例を示す。図8において、Aは、ばらつき異常検出における燃料噴射量増量の実行停止に応じてオンオフされる増量フラグの状態を示す。Bはエンジン回転数Neを示し、破線は目標アイドル回転数Net、実線は実際の回転数Nerを示す。Cは補正量Δθを示す。Δθ=0はスロットルバルブ開度を補正しないような値であり、Δθ>0はスロットルバルブ開度を開弁側に補正するような値であり、Δθ<0はスロットルバルブ開度を閉弁側に補正するような値である。なお補正量は学習値θgに対する乗算項としてもよく、この場合、Δθ=0がΔθ=1に対応し、Δθ>0がΔθ>1に対応し、Δθ<0がΔθ<1に対応する。Dは学習値θgを示し、Eは補正量Δθと学習値θgの和である目標開度θtを示す。図示例において、増量フラグがオンとなるすなわち燃料噴射量増量が開始される時刻t1より前では、実際の回転数Nerと目標アイドル回転数Netとの差分ΔNがほぼゼロであることから、補正量Δθもほぼゼロとなっている。そして学習値θgおよび目標開度θtはそれぞれθg0およびθt0という値になっている。そして時刻t1で増量フラグがオンとなるすなわち燃料噴射量増量が開始されると、アクティブ対象気筒の燃料噴射量が強制的に増量されることから、エンジン出力トルクが増加し、実際の回転数Nerが目標アイドル回転数Netよりも上昇する。すなわち実際の回転数Nerが目標アイドル回転数Netからずれる。これにより差分ΔN=Net-Nerが負の値となり、スロットルバルブ開度を閉弁側に補正するような負の補正量Δθが算出される。一方、学習値θgの更新速度が遅いことから、学習値θgは補正量Δθの変化に対してより緩慢に、初期値θg0からより小さな閉弁側の値へと更新されていく。学習値θgの減少につれ補正量Δθはプラス側に移動し、補正量Δθの絶対値は少なくなる。言わば学習値θgが補正量Δθを溜め込むような状態となる。これら補正量Δθと学習値θgの協働作用により、目標開度θtは初期値θt0からより小さな閉弁側の値θt1へと変化する。図示例では、実際の回転数Nerが目標アイドル回転数Netに収束する時刻t2において、補正量Δθがほぼゼロとなり、学習値θgがθg1という値に収束し、目標開度θtがθt1という値に収束している。しかしながらこれらのタイミングは異なることもある。その後、増量フラグがオフとなるすなわち燃料噴射量増量が終了する時刻t3まで、この状態が継続する。燃料噴射量増量が終了すると、増量により増加していた分のエンジン出力トルクがなくなり、実際の回転数Nerが目標アイドル回転数Netよりも低下してしまう。この回転低下時には、燃料噴射量増量開始直後の回転上昇時とは逆の制御が働く。すなわち、差分ΔNが正の値となり、スロットルバルブ開度を開弁側に補正するような正の補正量Δθが算出される。一方、学習値θgは補正量Δθの変化に対してより緩慢に、θg1からより大きな開弁側の値へと更新されていく。学習値θgの増大につれ補正量Δθはマイナス側に移動し、補正量Δθの絶対値は少なくなる。言わば学習値θgが補正量Δθを吐き出すような状態となる。これら補正量Δθと学習値θgの協働作用により、目標開度θtは元の初期値θg0へと復帰していく。図示例では、実際の回転数Nerが目標アイドル回転数Netに収束する時刻t4において、補正量Δθがほぼゼロとなり、学習値θgが元の初期値θg0に復帰し、目標開度θtが元の初期値θt0に復帰している。しかしながらこれらのタイミングは異なることもある。このように、かかる比較例においては、燃料噴射量増量終了直後に実際の回転数Nerが目標アイドル回転数Netよりも低下してしまうので、実際の回転数Nerが過度に低くなって振動の悪化や最悪エンストを招く虞がある。また、ばらつき異常検出の途中で例えばアクセルペダルが踏み込まれ、異常検出が中止された場合には、通常より閉弁側の学習値θg1が元の値θg0に復帰せずそのまま残ってしまう。すると、次にアイドル運転に移行したとき、前記同様、実際の回転数Nerが目標アイドル回転数Netよりも低下し、振動の悪化や最悪エンストを招く虞がある。また、そもそも燃料噴射量増量中に更新された学習値θgは、増量時以外の通常の運転状態とは異なる運転状態で更新された値であり、通常の運転状態に反映させるべきではない。通常の運転状態から見れば誤学習された値とも言える。ばらつき異常検出の実行に伴って燃料噴射量を強制的に減量した場合には、逆の現象が起こることが容易に理解されるであろう。すなわち、燃料噴射量減量開始直後、アクティブ対象気筒の燃料噴射量が強制的に減量されることから、エンジン出力トルクが低下し、実際の回転数Nerが目標アイドル回転数Netよりも一時的に低下する。この回転低下をなくすように、開弁側の補正量Δθが算出され、学習値θgが開弁側に更新される。燃料噴射量減量終了直後、実際の回転数Nerが目標アイドル回転数Netより一時的に上昇し、実際の回転数Nerが過度に高くなってユーザに違和感を生じさせる虞がある。また、燃料噴射量減量の途中で例えばアクセルペダルが踏み込まれ、異常検出が中止された場合には、より開弁側の学習値が元の値に復帰せずそのまま残ってしまう。すると、次にアイドル運転に移行したとき、前記同様、実際の回転数Nerが目標アイドル回転数Netよりも上昇する。すると前述の違和感が生じる虞がある。そこで、燃料噴射量変更終了直後に実際の回転数が目標アイドル回転数からずれることを抑制するため、本実施形態では以下に述べるような対策を講じることとしている。図9に本実施形態の第1実施例を示す。以下、図8の比較例との相違点を主に説明し、同様の点については説明を省略する。この実施例においてもばらつき異常検出時に燃料噴射量が強制増量される場合を主に説明する。本実施例は、燃料噴射量増量時、Eに示すように、補正量Δθと学習値θgの少なくとも一方を補正するための補正値θaをさらに用いて、目標開度θtを算出する点が主な特徴である。他方、燃料噴射量増量時以外の通常時には、比較例同様、補正量Δθと学習値θgに基づき目標開度θtを算出する。補正値θaは0を基準とした値であり、図示例のように燃料噴射量が強制増量される場合にはマイナスすなわち閉弁側の一定値が予め定められ、ECU100に記憶されている。なお、燃料噴射量が強制減量される場合にはプラスすなわち開弁側の一定値が予め定められ、ECU100に記憶されている。図示例において、増量フラグがオンとなるすなわち燃料噴射量増量が開始される時刻t1より前では、図8の比較例と同様である。このとき補正値θaはθa0というマイナスの値になっている。但しこの時点では補正値θaは目標開度θtの算出に使用されない。θt=Δθθgである。時刻t1で増量フラグがオンとなるすなわち燃料噴射量増量が開始されると、アクティブ対象気筒の燃料噴射量が強制的に増量され、エンジン出力トルクが増加する。しかし、この開始と同時に、補正値θaが目標開度θtの算出に併せて使用されるようになる。θt=Δθθgθaである。目標開度θtは補正量Δθ、学習値θgおよび学習値補正量θaの和として算出される。こうして、補正量Δθと学習値θgの少なくとも一方が補正値θaによって補正されることとなる。本実施例の場合、補正値θaは、学習値θgを補正する値と考えることもできるし、補正量Δθを補正する値と考えることもできるし、両者を補正する値と考えることもできる。その一方で、補正対象をより限定し、例えば学習値θgのみを補正する値としてもよいし、補正量Δθのみを補正する値としてもよい。要は、補正値θaによる補正の結果が目標開度θtに反映されればよいのであり、どの値を補正するかは自由に定め得る。従って最終値である目標開度θtを補正する値としてもよい。さて、このように目標開度θtを算出すると、燃料噴射量増量開始と同時に目標開度θtが低下される。図示例ではθt1という開度に低下されている。すると、スロットルバルブ開度がより閉弁側に変更され、比較例で生じていたような燃料噴射量増量開始直後の回転ズレ、すなわち目標アイドル回転数Netに対する実際の回転数Nerの上昇が図示の如く無くなるか、あるいは大幅に抑制される。言い換えれば、補正値θaは、この回転上昇を抑制するような値に設定される。時刻t1から時刻t3までの燃料噴射量増量中、補正値θa0が使用され続け、スロットルバルブ開度は通常時より閉弁側に制御され続ける。またこの燃料噴射量増量中には、少なくとも学習値θgの更新が停止される。燃料噴射量増量時という通常時と違う状況下で、学習値θgが、通常時に適さない値に更新されてしまうのを避けるためである。本実施例の場合、補正量Δθの算出も併せて停止されている。結果的に学習値θgおよび補正量Δθは初期値θg0,0に保持されることとなる。なお、燃料噴射量増量開始直後の回転ズレが無くなるか大幅に抑制されると考えられるので、学習値θgの更新および補正量Δθの算出の少なくとも一方を停止せず実行してもよい。その後、増量フラグがオフとなる時刻t3に至ると、燃料噴射量の強制増量が終了される。そして補正値θaが目標開度θtの算出に使用されなくなり、θt=Δθθgにより目標開度θtが算出される。学習値θgおよび補正量Δθの更新および算出停止状態も解除され、これらは更新および算出可能な状態となる。燃料噴射量増量が終了すると、増量により増加していた分のエンジン出力トルクがなくなる。しかしながら、このとき比較例で生じていたような回転ズレ、すなわち目標アイドル回転数Netに対する実際の回転数Nerの低下は、図示の如く無くなるか、あるいは大幅に抑制される。なぜなら、燃料噴射量増量開始前の元の学習値θg=θg0および補正量Δθ=0から、目標開度θtの算出が開始されるからである。これにより、目標開度θtは、燃料噴射量増量開始前の元の値θt0に復帰され、スロットルバルブ開度はより開弁側の元の値に復帰される。なお図中、時刻t2,t4は比較例との比較のため便宜上記載されたものであり、本実施例とは無関係である。ばらつき異常検出の実行に伴って燃料噴射量を強制的に減量する場合には、開弁側すなわちプラスの補正値θaを用いればよいことが容易に理解されるであろう。このように本実施例によれば、燃料噴射量増量終了直後における実際の回転数Nerの低下を抑制することができる。よって振動の悪化を抑制し、エンストを回避することが可能となる。また、燃料噴射量増量の途中で異常検出が中止された場合すなわち通常時に移行した場合にも、次にアイドル運転に移行したときの回転低下ひいてはこれに伴う振動悪化やエンストを抑制、回避することが可能である。また、燃料噴射量増量開始直後における実際の回転数Nerの上昇をも抑制することができる。すなわち、燃料噴射量変更の実行停止の切り替え直後の回転ズレを抑制することができ、切り替えに伴う振動悪化、エンスト、違和感等を防止できる。ばらつき異常検出の実行に伴って燃料噴射量を強制的に減量した場合にも同様の利点がある。すなわち、燃料噴射量減量終了直後の回転上昇ズレ、および燃料噴射量減量開始直後の回転低下ズレを抑制し、振動悪化、エンスト、違和感等を抑制できる。また、燃料噴射量減量途中で異常検出が中止された場合、次にアイドル運転に移行したときの回転上昇を抑制し、違和感を抑制できる。この例では補正値θaを加算項とした。しかしながら乗算項などとすることもできる。またこの例では補正値θaを予め定められた一定値とした。しかしながら代替的に、補正値θaを可変な値としてもよい。好ましくは、補正値θaを、燃料噴射量変更時の燃料噴射量変更量に応じて設定するのがよい。例えば燃料噴射量を増量する場合にあっては、その増量量が増加するほどエンジン出力トルクが増加し、燃料噴射量増量開始直後の回転上昇ズレ、および燃料噴射量増量終了直後の回転低下ズレが大きくなる。よって、増量量が増加するほど補正値θaを閉弁側すなわちマイナス側に大きな値に設定するのがよい。この場合、増量量と補正値θaの関係を予めマップ化し、このマップから実際の増量量に対応した補正値θaを求め、設定することができる。逆に燃料噴射量を減量する場合にあっては、その減量量が増加するほどエンジン出力トルクが低下し、燃料噴射量減量開始直後の回転低下ズレ、および燃料噴射量減量終了直後の回転上昇ズレが大きくなる。よって、減量量が増加するほど補正値θaを開弁側すなわちプラス側に大きな値に設定するのがよい。この場合にもマップから実際の減量量に対応した補正値θaを求め、設定することができる。次に、図10を用いて本実施形態の第2実施例を説明する。以下、第1実施例との相違点を主に説明し、同様の点については説明を省略する。本実施例は、補正値θaが可変であり、特に燃料噴射量変更時の差分ΔNに応じて補正値θaが更新される点が主な特徴である。すなわち、予め補正値θaを見込みで定めても、この値が現状にそぐわず回転ズレが生じることがある。そこでこの回転ズレに応じて、回転ズレを無くすように補正値θaを更新するのが本実施例である。これにより、燃料噴射量変更開始終了直後の回転ズレをより一層効果的に抑制することが可能になる。図10に示すように、増量フラグがオンとなるすなわち燃料噴射量増量が開始される時刻t1より前の状態は、図9の第1実施例と同様である。時刻t1で増量フラグがオンとなると、燃料噴射量の強制増量が開始され、エンジン出力トルクが増加する。この例では、補正値θaによるスロットルバルブの閉じ量が足りず、燃料噴射量増量開始直後に回転上昇ズレ、すなわち負の差分ΔNが生じている。よってこの回転上昇ズレをなくすように補正値θaが更新される。燃料噴射量増量開始から比較的短い所定時間を経過した時刻t21において、差分ΔNが算出される。そしてこの差分ΔNに応じた量だけ、補正値θaが現状の値θa0から補正される。この補正値θaを補正するための補正量ΔAは、差分ΔNと補正量ΔAとの関係を予め規定したマップから算出可能である。図示例ではマイナスの補正量ΔAが算出され、補正値θaはより閉弁側のθa1という値に補正される。この補正後の値θa1がECU100に学習、記憶され、以降、この値が補正値θaとして使用される。結果的に補正値θaはθa0からθa1に更新されたこととなる。このような更新は、燃料噴射量変更直後に回転ズレが生じる度に行われる。この補正値θaの更新に対応して、目標開度θtも、より閉弁側のθt2に補正される。その後、増量フラグがオフとなるすなわち燃料噴射量増量が終了する時刻t3に至ると、増量により増加していた分のエンジン出力トルクがなくなる。しかしながらこのときには、元の学習値θg=θg0および補正量Δθ=0により目標開度θtの算出が開始されるので、回転低下ズレは生じないかまたは大幅に抑制される。ばらつき異常検出の実行に伴って燃料噴射量を強制的に減量する場合には、燃料噴射量減量開始直後の回転低下ズレ、すなわち正の差分ΔNに基づき、補正値θaがより開弁側の値に更新されることが容易に理解されるであろう。このように本実施例によれば、第1実施例と同様の利点に加え、特に、燃料噴射量変更開始直後の回転ズレを一層効果的に抑制できるという利点がもたらされる。本実施例においても、補正値θaを、燃料噴射量変更時の燃料噴射量変更量に応じて設定することが可能である。すなわち、補正値θaを燃料噴射量変更量に応じて設定した上で、回転ズレが生じた場合には差分ΔNに応じて補正値θaを更新できる。以降、同一の燃料噴射量変更量に対して更新された補正値θaを用いる。以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば、増量前の角速度差Δω1と増量後の角速度差Δω2との差dΔωを用いる代わりに、両者の比を用いることができる。この点、減量前後の角速度差の差dΔω、または増量もしくは減量前後の回転時間差ΔTの差についても同様のことが言える。本発明はV型8気筒エンジンに限らず、他の様々な形式および気筒数のエンジンに適用可能である。本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"