"所定の対象気筒の燃料噴射量を増量又は減量により変更し、少なくとも当該変更後の前記対象気筒の回転変動に基づき、気筒間空燃比ばらつき異常を検出するV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、全気筒のうちの一部の気筒であり、同一エンジンサイクル内における少なくとも一組の対向気筒であり、且つ点火間隔が等間隔となるような複数の気筒を前記対象気筒として前記燃料噴射量の変更を実行することを特徴とするV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記少なくとも一組の対向気筒が、一組の対向気筒からなることを特徴とする請求項1に記載のV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記少なくとも一組の対向気筒が、二組の対向気筒からなることを特徴とする請求項1に記載のV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記一組の対向気筒をなす一方の気筒と他方の気筒の同一タイミング間の回転時間に基づき、前記一方の気筒と前記他方の気筒の回転変動を検出することを特徴とする請求項1~3のいずれか一項に記載のV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。ところで、いずれかの気筒に空燃比異常が生じている場合、当該気筒の燃料噴射量を強制的に増量または減量すると、当該気筒の回転変動が顕著に大きくなる。よってこのような回転変動の増大を検出することで、空燃比ばらつき異常を検出することが可能である。しかし、当該気筒の燃料噴射量の増量または減量は当該気筒の出力トルクの変動を少なからず生じさせてしまう。よって燃料噴射量の増量または減量は、出力トルクの変動が生じるにしてもエンジン全体としての振動のバランスを極力悪化させないように行うのが望ましい。そこで本発明は以上の事情に鑑みて創案され、その目的は、異常検出実行によるエンジン全体としての振動のバランスの悪化を極力防止することができるV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置を提供することにある。上記目的を達成する本発明の一形態に係るV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置は、所定の対象気筒の燃料噴射量を増量又は減量により変更し、少なくとも当該変更後の前記対象気筒の回転変動に基づき、気筒間空燃比ばらつき異常を検出するV型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、全気筒のうちの一部の気筒であり、同一エンジンサイクル内における少なくとも一組の対向気筒であり、且つ点火間隔が等間隔となるような複数の気筒を対象気筒として前記燃料噴射量の変更を実行することを特徴とする。本願において、対向気筒とは、点火間隔がクランクシャフトの1回転、すなわち、360°離間されてそれぞれのバンクに存する二つの気筒を意味する。この本発明の一形態によれば、燃料噴射量の変更に起因する出力トルクの変動が対象気筒で生じたとしても、このトルク変動が等間隔で且つ各バンクに規則的に起きる。よって異常検出実行によるエンジン全体としての振動のバランスの悪化を極力防止することができる。そしてドライバビリティの悪化をも極力防止することができる。好ましくは、前記少なくとも一組の対向気筒が、一組の対向気筒からなる。この場合、燃料噴射量変更に起因するトルク変動が360°CA毎の等間隔で各バンクに交互に起きる。好ましくは、前記少なくとも一組の対向気筒が、二組の対向気筒からなる。この場合、燃料噴射量変更に起因するトルク変動が180°CA毎の等間隔で起き、且つ1/2エンジンサイクル360°CA単位で各バンクに交互に起きる。好ましくは、前記V型多気筒内燃機関の気筒間空燃比ばらつき異常検出装置は、前記一組の対向気筒をなす一方の気筒と他方の気筒の同一タイミング間の回転時間に基づき、前記一方の気筒と前記他方の気筒の回転変動を検出する。本発明によれば、異常検出実行によるエンジン全体としての振動のバランスの悪化を極力防止することができるという、優れた効果が発揮される。以下、本発明の実施形態を添付図面に基づき説明する。図1に本実施形態に係る内燃機関を概略的に示す。図示される内燃機関エンジン1は自動車に搭載されたV型8気筒火花点火式内燃機関ガソリンエンジンである。エンジン1は、エンジンを前方F方向に見て右側の右バンクBRと左側の左バンクBLとを有し、左バンクBLには奇数番気筒すなわち1,3,5,7気筒が設けられ、右バンクBRには偶数番気筒すなわち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は吸気流量に応じた大きさの信号を出力する。右バンクBRに対して右排気通路14Rが設けられ、左バンクBLに対して左排気通路14Lが設けられている。これら右および左の排気通路14R,14Lは下流触媒19の上流側で合流されている。この合流位置より上流側の排気系の構成は両バンクで同一なので、ここでは右バンクBR側についてのみ説明し、左バンクBL側については図中同一符号を付して説明を省略する。右排気通路14Rは、2,4,6,8の各気筒の排気ポート図示せずと、これら排気ポートの排気ガスを集合させる排気マニホールド16と、排気マニホールド16の下流側に設置された排気管17とを含む。そして排気管17には上流触媒18が設けられている。上流触媒18の上流側及び下流側直前及び直後にそれぞれ、排気ガスの空燃比を検出するための空燃比センサである触媒前センサ20及び触媒後センサ21が設置されている。このように、一方のバンクに属する複数の気筒あるいは気筒群に対して、上流触媒18、触媒前センサ20及び触媒後センサ21が各一つずつ設けられている。なお、右および左の排気通路14R,14Lを合流させないで、これらに個別に下流触媒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によって検出された排気空燃比がストイキになるように混合気の空燃比具体的には燃料噴射量をフィードバック制御する補助空燃比制御補助空燃比フィードバック制御とからなる。このように本実施形態において、空燃比の基準値はストイキであり、このストイキに相当する燃料噴射量ストイキ相当量というが燃料噴射量の基準値である。但し、空燃比および燃料噴射量の基準値は他の値とすることもできる。空燃比フィードバック制御はバンク単位で若しくはバンク毎に行われる。例えば左バンクBL側の触媒前センサ20および触媒後センサ21の検出値は、左バンクBLに属する1,3,5,7気筒の空燃比フィードバック制御にのみ用いられ、右バンクBRに属する2,4,6,8気筒の空燃比フィードバック制御には用いられない。逆も同様である。あたかも独立した直列4気筒エンジンが二つあるように、空燃比制御が実行されるのである。また空燃比フィードバック制御においては、同一バンクに属する各気筒に対し同一の制御量が一律に用いられる。ここで、本実施形態にかかるV型8気筒のエンジン1は、図3に示すように、1~5の5つのメインジャーナル1~5MJと、それぞれのメインジャーナルとの間でクランクスロー間に配置された4つのクランクピン1~4CPとを備えるクランクシャフトCSを有している。そして、このクランクシャフトCSは、1及び4のクランクピン1CP及び4CPが一平面内でクランク中心に関し180°の位相差を有し、2及び3のクランクピン2CP及び3CPが該一平面と直交する他の平面内でクランク中心に関し180°の位相差を有している。そして、1のクランクピン1CPに対し2のクランクピン2CPがクランクシャフトCSの1メインジャーナル1MJ側から見て右回りに位置する、いわゆる、右回り2プレーンクランクとされている。このクランクシャフトCSには、その1のクランクピン1CPに1及び2の気筒のコネクティングロッドの大端部が連結される。同様に、2のクランクピン2CPには3及び4の気筒、3のクランクピン3CPには5及び6の気筒、及び4のクランクピン4CPには7及び8の気筒のコネクティングロッドの大端部がそれぞれ連結される。また、このクランクシャフトCSには、そのメインジャーナル1MJの前方に、2歯欠歯した34歯の突起が10°間隔で設けられたタイミングロータTRが設けられ、このタイミングロータTRの突起に向き合う関係で、上述の電磁ピックアップ方式のクランクポジションセンサ22が位置されている。そして、上述の気筒配列で右回り2プレーンクランクを備えるエンジン1の点火順序の一例を示すと、1、8、7、3、6、5、4、2の気筒順であり、その点火間隔は、図4に示すように、エンジン全体で見れば90°CAずつの等間隔である。図4には点火気筒を○で囲って示す。但し右バンクBR及び左バンクBLをそれぞれ単独で見ると、点火間隔は共に不等間隔であり、その間隔も右バンクBR及び左バンクBLでそれぞれ異なっている。ここで、左バンクBLの1の気筒が点火された時点を0°とすると、その後、90°CA後に右バンクBRの8の気筒が点火され、次いで90°CA後に左バンクBLの7の気筒が点火され、そして90°CA後に同じく左バンクBLの3の気筒が点火される。このように、各気筒の点火は90°CA毎に行われるが、右バンクBR及び左バンクBL毎に等間隔ではない。ところで、左バンクBLの1、3、5及び7の気筒の点火に対し、右バンクBRの6、2、8及び4の気筒は、それぞれ、クランクシャフトの1回転、すなわち、360°CA後に点火される関係にある。そこで、これらの1と6、3と2、5と8、及び7と4気筒は、それぞれ、本発明にいう一組の対向気筒である。さて、例えば全気筒のうちの一部の気筒特に1気筒において、インジェクタ2の故障等が発生し、気筒間に空燃比のばらつきインバランス:imbalanceが発生することがある。例えば左バンクBLについて、インジェクタ2の閉弁不良により1気筒の燃料噴射量が他の3,5,7気筒の燃料噴射量よりも多くなり、1気筒の空燃比が他の3,5,7気筒の空燃比よりも大きくリッチ側にずれる場合である。このときでも、前述の空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ20に供給されるトータルガス合流後の排気ガスの空燃比をストイキに制御できる場合がある。しかし、これは気筒別に見ると、1気筒がストイキより大きくリッチ、3,5,7気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の気筒のうちある1気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒インバランス気筒の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒バランス気筒の燃料噴射量即ち基準噴射量からズレているかを示す値である。インバランス率をIB、インバランス気筒の燃料噴射量をQib、バランス気筒の燃料噴射量即ち基準噴射量をQsとすると、IB=Qib-Qs/Qs×100で表される。インバランス率IBが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。他方、本実施形態においては、所定の対象気筒の燃料噴射量をアクティブに若しくは強制的に増量または減量し、少なくとも増量または減量後の対象気筒の回転変動に基づき、ばらつき異常を検出する。まず、この回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいい、例えば次に述べるような値で表すことができる。本実施形態においては気筒毎の回転変動が検出可能である。図5には回転変動を説明するためのタイムチャートを示す。図示例は直列4気筒エンジンの例であるが、本実施形態のようなV型8気筒エンジンにも適用可能であることが理解されよう。ここでの点火順序は1,3,4,2気筒の順である。図5において、Aはエンジンのクランク角°CAを示す。1エンジンサイクルは720°CAであり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。図5Bは、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Tsを示す。ここでは所定角度が30°CAであるが、他の値例えば10°CAとしてもよい。回転時間Tが長いほどエンジン回転速度は遅く、逆に回転時間Tが短いほどエンジン回転速度は速い。この回転時間Tはクランクポジションセンサ22の出力に基づきECU100により検出される。図5Cは、後に説明する回転時間差ΔTを示す。図中、正常とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、リーンずれ異常とは、この場合1気筒のみにインバランス率IB=-30のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。まず、各気筒の同一タイミングにおける回転時間TがECUにより検出される。ここでは各気筒の圧縮上死点TDCのタイミングにおける回転時間Tが検出される。この回転時間Tが検出されるタイミングを検出タイミングという。次いで、検出タイミング毎に、当該検出タイミングにおける回転時間T2と、直前の検出タイミングにおける回転時間T1との差T2-T1がECUにより算出される。この差が図5Cに示す回転時間差ΔTであり、ΔT=T2-T1である。通常、クランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため回転時間Tが低下し、その後の圧縮行程では回転速度が低下するため回転時間Tが増大する。しかしながら、図5Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける回転時間Tは大きくなっている。それ故、3気筒TDCにおける回転時間差ΔTは、図5Cに示すように大きな正の値となる。この3気筒TDCにおける回転時間および回転時間差をそれぞれ1気筒の回転時間および回転時間差とし、それぞれT1およびΔT1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ回転時間Tが若干低下しているに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の回転時間差ΔT3は、図5Cに示すように小さな負の値となる。このようにある気筒の回転時間差ΔTが、次点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の回転時間差ΔT4および2気筒の回転時間差ΔT2はともに小さな負の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の回転時間差ΔTは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔTを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔTは大きくなる。他方、図5Cに示すように、正常の場合には回転時間差ΔTが常時ゼロ付近である。図5の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち1気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。次に、図6を参照して、回転変動を表す別の値を説明する。図6Aは図5Aと同様にエンジンのクランク角°CAを示す。図6Bは、前記回転時間Tの逆数である角速度ωrad/sを示す。ω=1/Tである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Tの波形を上下反転した形となる。図6Cは、前記回転時間差ΔTと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔTの波形を上下反転した形となる。図中の正常およびリーンずれ異常については図5と同様である。まず、各気筒の同一タイミングにおける角速度ωがECUにより検出される。ここでも各気筒の圧縮上死点TDCのタイミングにおける角速度ωが検出される。角速度ωは、1を前記回転時間Tで除することにより算出される。次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω2と、直前の検出タイミングにおける角速度ω1との差ω2-ω1がECUにより算出される。この差が図6Cに示す角速度差Δωであり、Δω=ω2-ω1である。通常、クランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の圧縮行程では回転速度が低下するため角速度ωが低下する。しかしながら、図6Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける角速度ωは小さくなっている。それ故、3気筒TDCにおける角速度差Δωは、図6Cに示すように大きな負の値となる。この3気筒TDCにおける角速度および角速度差をそれぞれ1気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ角速度ωが若干上昇するに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の角速度差Δω3は、図6Cに示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の角速度差Δω4および2気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなるマイナス方向に大きくなる。他方、図6Cに示すように、正常の場合には角速度差Δωが常時ゼロ付近である。逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。次に、ある1つの気筒の燃料噴射量をアクティブに増量または減量したときの回転変動の変化を、図7を参照して説明する。図7において、横軸はインバランス率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を用いた場合にも、同様の方法で異常検出および異常気筒特定が可能であることが理解されるであろう。また、各気筒の回転変動の指標値としては、上述した以外の他の値を用いることも可能である。図8には、上述の燃料噴射量を強制的に所定量増量するアクティブ対象気筒を選定するパターンを示す。図8Aは1気筒ずつ単独に増量するパターン、図8Bは2気筒ずつ増量するパターン、図8Cは4気筒ずつ増量するパターン、及び図8Dは全気筒同時に増量するパターンである。いずれの場合も、増量前は全気筒のインジェクタ2に対し、ストイキ相当量の燃料を噴射するよう開弁指令がなされており、増量後はアクティブ対象気筒のインジェクタ2に対し、ストイキ相当量に加えて所定量多い燃料を噴射するよう開弁指令がなされる。図8において、この燃料噴射のストイキ相当量が薄墨色で示され、アクティブ対象気筒への燃料噴射の増量分が黒色で示されている。ここで、アクティブ対象気筒数が多いほど、全増量時間を短縮できるメリットがあるが、排気エミッションは悪化するデメリットがある。逆に、アクティブ対象気筒数が少ないほど、排気エミッションの悪化は抑制できるメリットがあるが、全増量時間が長期化するデメリットがある。そこで、本実施形態では、排気エミッションと全増量時間を両立しつつ、エンジン全体としての振動のバランスを極力悪化させないように燃料噴射量増量を行うパターンが採用されている。すなわち、本実施形態では、図8Aに示すような1気筒単独増量パターンは採用しない。全増量時間が著しく長期化するからである。また本実施形態では、図8Dに示すような全気筒同時増量パターンは採用しない。排気エミッションが著しく悪化するからである。従って本実施形態におけるアクティブ対象気筒は、全気筒のうちの一部の気筒である複数の気筒ということになる。次に本実施形態では、図8Bに示すように同一エンジンサイクル内において2気筒増量するパターン第1の形態という、または図8Cに示すように同一エンジンサイクル内において4気筒増量するパターン第2の形態というを採用する。これらを採用することにより、排気エミッションと全増量時間を両立させつつ、エンジン全体としての振動バランス悪化を極力防止することができる。以下、第1の形態について説明する。図8Bに示すように、アクティブ対象気筒には、同一エンジンサイクル内における一組の対向気筒が選定される。この対向気筒の組み合わせは、図4を参照すると、左バンクBLの1気筒と右バンクBRの6気筒これを第1組と称す、右バンクBRの8気筒と左バンクBLの5気筒これを第2組と称す、左バンクBLの7気筒と右バンクBRの4気筒これを第3組と称す、及び左バンクBLの3気筒と右バンクBRの2気筒これを第4組と称すである。なお、図8Bには、右バンクBRの8気筒と左バンクBLの5気筒第2組の場合が例示されている。例えば第2組の対向気筒を選定した場合、8気筒から5気筒までの点火間隔、および5気筒から8気筒までの点火間隔は、それぞれ360°CAずつ、等間隔で離れている。よって燃料噴射量増量によるトルク変動例えばトルク増加によるトルクショックが生じても、このトルク変動は、等間隔で且つ各バンクに交互に、規則的に起きるようになる。よって異常検出実行によるエンジン全体としての振動のバランスの悪化を極力防止することができる。そしてドライバビリティの悪化をも極力防止することができる。この点、他の組の対向気筒を選定した場合にあっても同様である。図10には、燃料噴射量の増量制御であるアクティブリッチ制御を行った場合において、一組の対向気筒図示の例では第2組すなわち8,5気筒についての燃料噴射量の増量と、増量前後の回転変動の変化との様子を示す。上段が増量前、下段が増量後である。増量前は全気筒のインジェクタ2に対し、ストイキ相当量の燃料を噴射するよう開弁指令がなされており、増量後は8,5気筒のインジェクタ2に対し、ストイキ相当量に加えて所定量多い燃料を噴射するよう開弁指令がなされている。各気筒の回転変動の指標値として、図7と同様、角速度差Δωを用いている。例えば左右方向の中央列に示されている正常時、すなわちいずれの気筒においても空燃比ずれ異常が生じていない場合だと、増量前では全気筒の角速度差Δωがほぼ等しく0付近にあり、全気筒の回転変動が少ない。また増量後でもアクティブ対象気筒の角速度差Δωが若干マイナス方向に大きくなるだけであり、全気筒の回転変動はそれ程大きくならない。故に、増量前後の角速度差の差dΔωは小さい。ところで、左右方向の右端列に示されている異常時だと、正常時とは異なる挙動を示す。この異常時では、8気筒にのみインバランス率で50相当のリッチずれ異常が生じており、8気筒のみが異常気筒であるとする。この場合、増量前では、8気筒以外の残部気筒の角速度差Δωはほぼ等しく0付近にあるが、8気筒の角速度差Δωは残部気筒の角速度差Δωより若干マイナス方向に大きい。しかしながらそれでも、8気筒の角速度差Δωと残部気筒の角速度差Δωとの間にはそれ程差がない。よって増量前の角速度差Δωによっては、異常検出と異常気筒特定を十分な精度で行うことができない。他方、増量後だと増量前に比べて、正常気筒である5気筒の角速度差Δωは若干マイナス方向に変化するだけであるが、8気筒の角速度差Δωは大きくマイナス方向に変化する。よって8気筒の増量前後の角速度差の差dΔωは、5気筒のそれより顕著に大きくなる。よってこの違いを利用し、異常検出と異常気筒特定を十分な精度で行うことができる。この場合、8気筒の差dΔωのみが前記異常判定値β1より大きくなるので、8気筒にリッチずれ異常があることを検出できる。ここで、アクティブリッチ制御の制御ルーチンの一例を図9に示すフローチャートを参照して説明する。この制御ルーチンはECU100により実行される。例えばエンジンの始動などに伴い制御がスタートすると、ステップS901でエンジンの暖機運転が完了したか否かが、例えば水温センサ24の検出値に基づき判断される。暖機運転が完了していなければ完了するまで待って、ステップS902に進む。ステップS902では、エンジンがアイドル回転中であるか否かが、例えば、クランクポジションセンサ22によるエンジン回転数とアクセル開度センサ23によるエンジン負荷とに基づき判断される。ここでも、エンジンがアイドル回転になるまで待って、ステップS903に進む。ステップS903においては、後述するアクティブリッチ制御実行済みフラグがオンであるか否かが判断され、オンであるYESときは、エンジンの始動後に少なくとも1回アクティブリッチ制御が実行されたものとして、この制御ルーチンは終了される。すなわち本実施形態では1トリップ中に少なくとも1回、異常検出を実施するようにしており、エンジンの始動後に少なくとも1回アクティブリッチ制御が実行された場合には、現トリップ中の異常検出が少なくとも1回終了したものとみなして、アクティブリッチ制御を実行しない。他方、ステップS903においてアクティブリッチ制御実行済みフラグがオフNOのときは、ステップS904に進んでアクティブリッチ制御が実行される。また、このアクティブリッチ制御の実行が終了すると、ステップS905に進んでアクティブリッチ制御実行済フラグをオンにして、この制御ルーチンは終了される。なおここではアクティブリッチ制御を暖機後のアイドル運転時に行ったが、アイドル運転時以外の走行中等において行ってもよい。ステップS904のアクティブリッチ制御実行時における増量後の角速度差Δωの検出は次の方法で行われる。まず、第1組の対向気筒である1,6気筒が選定され、これら1,6気筒に対してのみ増量が行われる。この増量はNエンジンサイクルNは複数であり、例えば100の間、連続して行われる。各エンジンサイクルで1,6気筒の角速度差Δωが検出され、合計N個ずつの1,6気筒の角速度差Δωの検出データが取得される。これら検出データが気筒毎に単純平均化され、各平均値が最終的な1,6気筒の角速度差Δωの検出値とされる。この工程を第2組、第3組、第4組といったように順次変更しながら繰り返す。これにより全気筒の角速度差Δωの検出値が得られる。なお各組の変更順序は任意である。回転変動指標値を増量後の各気筒の角速度差Δωとする場合には、各気筒の角速度差Δωの検出値がそれぞれ異常判定値αと比較される。そしてΔω<αとなる気筒があれば、当該気筒にリッチずれ異常が生じている旨が判定され、Δω<αとなる気筒がなければ全気筒にリッチずれ異常が生じていない旨が判定される。他方、回転変動指標値を増量前後の各気筒の角速度差の差dΔωとする場合には、アクティブリッチ制御実行前に増量前の各気筒の角速度差Δωが検出される。そして増量後の各気筒の角速度差Δωが検出された後、増量前後の各気筒の角速度差の差dΔωが算出され、当該差dΔωが異常判定値β1と比較される。dΔω>β1となる気筒があれば、当該気筒にリッチずれ異常が生じている旨が判定され、dΔω>β1となる気筒がなければ全気筒にリッチずれ異常が生じていない旨が判定される。ところで、このように一組の対象気筒ずつ燃料噴射量増量を行う場合、回転変動の指標値を次のように定めることも好適である。図11には、クランク角が8気筒TDCにあるときのタイミングロータTRの位置を示す。タイミングロータTRの回転方向をRで示し、クランクポジジョンセンサ22を仮想線で示す。このタイミングロータTRの位置で、クランクポジジョンセンサ22は、8気筒TDCに対応する歯あるいは突起30Aを検出する。便宜上、この突起30Aの位置を基準すなわち0°CAとする。前述の例においては、8気筒TDCにおける回転時間Tsを検出する際、突起30Aより所定角度Δθ=30°CA前の突起30Bがクランクポジジョンセンサ22により検出された時点から、突起30Aがクランクポジジョンセンサ22により検出された時点までの時間を8気筒TDCにおける回転時間Tとして検出していた。そして同様の手法で、8気筒TDCより90°CA後の7気筒次点火気筒TDCにおける回転時間が検出される。7気筒TDCにおける回転時間から8気筒TDCにおける回転時間を差し引いて、8気筒の回転時間差ΔTが検出される図5参照。しかし、この手法によると、8気筒の回転時間差ΔTを検出するのに合計で4つの突起30を用いる。そして全気筒の回転時間差ΔTを検出するのに合計で8つの突起30を用いる。タイミングロータTRの製品ばらつきに起因して、製品毎の突起30の位置がばらつく可能性がある。するとこのばらつきに起因して、同一条件下で検出された各気筒の回転時間差ΔTの値がばらつく可能性がある。そこで、ここで述べる変形例においては、回転時間Tを次のように変更する。すなわち、図示するように、突起30Aがクランクポジジョンセンサ22により検出された時点から、突起30Aより所定角度Δθ’=360°CA後1回転後の同一の突起30Aがクランクポジジョンセンサ22により検出された時点までの時間を、8気筒の回転時間T’として検出する。そしてこの回転時間T’を直接、8気筒の回転変動指標値とする。360°CA後の同一の突起30Aは5気筒TDCに対応するものである。8気筒に対し燃料噴射量増量を行ったり、8気筒が異常であったりして、8気筒の燃焼が不十分となると、少なくとも8気筒TDCから次の7気筒TDCまでの時間が長くなり、この影響で8気筒TDCから360°CA後の5気筒TDCまでの時間が長くなる。よってこの特性を利用し、回転時間T’を、8気筒の回転変動指標値として用いる。他の気筒についても同様である。例えば第2組すなわち8,5気筒を対象気筒として増量を行う場合、これら対象気筒のみ、増量後の回転時間T’を検出する。この場合、8気筒TDCが到来して突起30Aが検出された時点から、360°CA後の5気筒TDCが到来して突起30Aが検出された時点までの時間が、8気筒の回転時間T’として検出される。またこの直後、5気筒TDCに対応する突起30Aが検出された時点から、360°CA後の8TDCに対応する突起30Aが検出された時点までの時間が、5気筒の回転時間T’として検出される。例えば、8,5気筒のうち、回転時間T’が所定の異常判定値を超える気筒があった場合、当該気筒にリッチずれ異常が生じている旨が判定される。他方、回転時間T’が所定の異常判定値を超える気筒がない場合、いずれの気筒にもリッチずれ異常が生じていない旨が判定される。このように、一組の対向気筒をなす一方の気筒8気筒と他方の気筒5気筒の同一タイミングTDC間の回転時間T’に基づき、一方の気筒と他方の気筒の回転変動が検出される。この手法によると、8気筒と5気筒の回転時間T’を検出するのに同一の1つの突起30Aしか用いない。よって製品毎の突起30Aのずれを考慮する必要がない。そして全気筒の回転時間T’を検出するのに、互いに90°CAずつ離れた計4つの突起30しか用いない。よって、タイミングロータTRの製品ばらつきに起因した回転変動指標値の検出値のばらつきを抑制し、検出精度を向上することが可能である。なお、前記回転時間T’に基づき角速度ω’=1/T’を求め、この角速度ω’を各気筒の回転変動指標値とすることも可能である。この場合、例えば8,5気筒のうち、角速度ω’が所定の異常判定値より小さい気筒があった場合、当該気筒にリッチずれ異常が生じている旨が判定される。他方、角速度ω’が所定の異常判定値より小さい気筒がない場合、いずれの気筒にもリッチずれ異常が生じていない旨が判定される。ここでは便宜上、アクティブ対象気筒が第2組すなわち8,5気筒である場合を説明したが、アクティブ対象気筒が他の組の場合であっても同様である。次に、図8Cに示すような同一エンジンサイクル内において4気筒ずつ増量するパターン、すなわち第2の形態について説明する。以下、第1の形態との相違点を中心に説明する。アクティブ対象気筒には、同一エンジンサイクル内における二組の対向気筒が選定される。第1群に属する二組の対向気筒は、図8Cに示すような第1組1,6気筒と第3組7,4気筒からなる。第2群に属する二組の対向気筒は、第2組8,5気筒と第4組3,2気筒からなる。例えば第2群を選定した場合、8気筒から3気筒までの点火間隔、3気筒から5気筒までの点火間隔、5気筒から2気筒までの点火間隔、および2気筒から8気筒までの点火間隔は、それぞれ180°CAずつ、等間隔で離れている。よって燃料噴射量増量によるトルク変動例えばトルク増加によるトルクショックが生じても、このトルク変動は等間隔で起きるようになる。よって異常検出実行によるエンジン全体としての振動のバランスの悪化を極力防止することができる。そしてドライバビリティの悪化をも極力防止することができる。この点、第1群を選定した場合にあっても同様である。また、アクティブ対象気筒数は第1の形態の2倍である。よって全増量時間を第1の形態の1/2に短縮できる。なお、第1の形態と異なり、トルク変動は各バンクで交互に起きない。例えば第2群を選定した場合、トルク変動は、右バンクBR8気筒、左バンクBL3気筒、左バンクBL5気筒、右バンクBR2気筒の順で起きる。しかしながら、トルク変動は、1/2エンジンサイクル360°CA単位で見た場合、各バンクで交互に起きるようになる。つまり、一方のバンクで1/2エンジンサイクル内に2回のトルク変動が起き、次いで他方のバンクで1/2エンジンサイクル内に2回のトルク変動が起きるようになる。よって相変わらずトルク変動は各バンクに規則的に起きるようになり、エンジン全体としての振動バランス悪化を極力防止することができる。図9のステップS904のアクティブリッチ制御実行時における増量後の角速度差Δωの検出方法は、第1の形態と同様であるので説明を省略する。なお増量後の角速度差Δωは、最初に第1群の対象気筒について検出され、次に第2群の対象気筒について検出される逆でもよい。第1の形態と同様、回転変動の指標値を、360°CA間の回転時間またはこれに基づく値に変更するのも好適である。図12には図11と同様の図を示す。ここでは第2群を例にとって説明する。8,5気筒の回転時間T’の検出方法は第1の形態と同様である。残りの一組すなわち3,2気筒の回転時間Tの検出方法は、回転位相が180°CA異なること以外、8,5気筒の回転時間T’の検出方法と同様である。すなわち、3,2気筒の回転時間Tの検出には、8,5気筒TDCに対応する突起30Aから180°CA離れた突起30Cが用いられる。そして3気筒と2気筒の回転時間Tの検出に同一の突起30Cが用いられる。この突起30Cは当然に3,2気筒TDCに対応するものである。3気筒TDCが到来して突起30Cが検出された時点から、360°CA後の2気筒TDCが到来して突起30Cが検出された時点までの時間が、3気筒の回転時間Tとして検出される。またこの直後、2気筒TDCに対応する突起30Cが検出された時点から、360°CA後の3気筒TDCに対応する突起30Cが検出された時点までの時間が、2気筒の回転時間Tとして検出される。なお第1の形態と同様、増量を行う対象気筒のみ、増量後の回転時間T’,Tが検出される。この後の異常判定方法も第1の形態と同様である。この手法によると、3気筒と2気筒の回転時間Tを検出するのに同一の1つの突起30Cしか用いない。よって製品毎の突起30Cのずれを考慮する必要がない。このことも、タイミングロータTRの製品ばらつきに起因した回転変動指標値の検出値のばらつきを抑制し、検出精度を向上するのに非常に有利である。ここでは便宜上、アクティブ対象気筒が第2群である場合を説明したが、アクティブ対象気筒が第1群の場合であっても同様である。以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが可能である。例えば、本発明はV型8気筒エンジンに限らず、他の気筒数例えば6,10または12気筒のV型エンジンに適用可能である。上記実施形態では理解容易のため、燃料噴射量を増量する例およびリッチずれ異常を検出する例を主に説明した。しかしながら、燃料噴射量を減量する場合およびリーンずれ異常を検出する場合にも本発明は適用可能である。燃料噴射量減量によってもトルク変動例えばトルク抜けが生じるからである。"