"第1気筒群を構成する1つ以上の気筒の燃料噴射量をそれぞれ強制的に第1所定量増量すると共に前記第1気筒群に含まれない1つ以上の気筒からなる第2気筒群の気筒の燃料噴射量をそれぞれ強制的に第2所定量減量する燃料噴射量変更制御を実行する燃料噴射量変更制御手段であって、所定期間における前記第1気筒群の全気筒での総燃料増量分が該所定期間における前記第2気筒群の全気筒での総燃料減量分で相殺されるように前記燃料噴射量変更制御を実行する、燃料噴射量変更制御手段と、前記燃料噴射量変更制御が実行されたときの前記第1気筒群および前記第2気筒群の各気筒に関する出力変動に基づき気筒間空燃比ばらつき異常を検出する検出手段とを備えたことを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記燃料噴射量変更制御手段は、前記第1気筒群の気筒の数と前記第1所定量との積が前記第2気筒群の気筒の数と前記第1所定量と異なる前記第2所定量との積と等しくなるように構成されていることを特徴とする請求項1に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。排気通路に設けられた空燃比検出手段の出力に基づいて検出される空燃比を所定の目標空燃比に追従させる空燃比フィードバック制御が空燃比制御手段により実行されているとき、前記燃料噴射量変更制御手段は、前記燃料噴射量変更制御を実行することを特徴とする請求項1または2に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記燃料噴射量変更制御手段は、前記第1気筒群の気筒を変更すると共に前記第2気筒群の気筒を変更する変更手段をさらに含むことを特徴とする請求項1から3のいずれかに記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記内燃機関の全気筒は、前記第1気筒群の気筒と前記第2気筒群の気筒とからなることを特徴とする請求項1から4のいずれかに記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。多気筒内燃機関において、各気筒への燃料噴射量を強制的に変える燃料噴射量変更制御を実行し、そのときの各気筒に関する出力変動に基づき気筒間空燃比ばらつき異常つまり気筒間の空燃比がインバランス状態になっていることを検出することが可能である。しかし、そのような燃料噴射量変更制御を実行しているときにも、排気エミッションの悪化などの不具合が生じないことが望まれる。そこで本発明は、以上の事情に鑑みて創案され、その目的は、多気筒内燃機関において、気筒間空燃比ばらつき異常をより適切に検出することにある。本発明の一の態様によれば、第1気筒群を構成する1つ以上の気筒の燃料噴射量をそれぞれ強制的に第1所定量増量すると共に前記第1気筒群に含まれない1つ以上の気筒からなる第2気筒群の気筒の燃料噴射量をそれぞれ強制的に第2所定量減量する燃料噴射量変更制御を実行する燃料噴射量変更制御手段であって、所定期間における前記第1気筒群の全気筒での総燃料増量分が該所定期間における前記第2気筒群の全気筒での総燃料減量分で相殺されるように前記燃料噴射量変更制御を実行する、燃料噴射量変更制御手段と、前記燃料噴射量変更制御が実行されたときの前記第1気筒群および前記第2気筒群の各気筒に関する出力変動に基づき気筒間空燃比ばらつき異常を検出する検出手段とを備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置が提供される。前記燃料噴射量変更制御手段は、前記第1気筒群の気筒の数と前記第1所定量との積が前記第2気筒群の気筒の数と前記第1所定量と異なる前記第2所定量との積と等しくなるように構成されているとよい。好ましくは、排気通路に設けられた空燃比検出手段の出力に基づいて検出される空燃比を所定の目標空燃比に追従させる空燃比フィードバック制御が空燃比制御手段により実行されているとき、前記燃料噴射量変更制御手段は、前記燃料噴射量変更制御を実行する。前記燃料噴射量変更制御手段は、前記第1気筒群の気筒を変更すると共に前記第2気筒群の気筒を変更する変更手段をさらに含むとよい。前記内燃機関の全気筒は、前記第1気筒群の気筒と前記第2気筒群の気筒とからなることができる。以下、本発明の実施形態を添付図面に基づき説明する。図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が設けられる。なお、エンジン1での点火順序は1、8、7、3、6、5、4、2気筒の順である。吸気を導入するための吸気通路7は、前記吸気ポートの他、集合部としてのサージタンク8、各気筒の吸気ポートおよびサージタンク8を結ぶ複数の吸気マニホールド9、サージタンク8の上流側の吸気管10などによって区画形成される。サージタンク8よりも上流側の吸気通路7の部分には、上流側から順にエアフローメータ11と電子制御式スロットルバルブ12とが設けられている。エアフローメータ11は吸気流量に応じた大きさの信号を出力する。なお、吸気通路7の上流端側には、吸気通路7に導かれる空気中の塵埃などを除去するべくエアクリーナ図示せずが設けられている。第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等を制御し、燃料噴射量、燃料噴射時期、点火時期、スロットル開度等を制御する。このようにECU100は、燃料噴射制御手段、点火制御手段、吸入空気量制御手段、および空燃比制御手段等のそれぞれの機能を担う。より詳細には、エンジン1には後で詳述するように気筒間空燃比ばらつき異常検出装置が装備されていて、ECU100は、燃料噴射量変更制御手段、空燃比制御手段、および、気筒間空燃比ばらつき異常を検出する検出手段の各機能を実質的に担う。なお、本実施形態では、その検出手段は、エンジン1におけるある出力変動を表す値出力変動量を検出するための出力変動量検出手段と、該出力変動量検出手段により検出された出力変動量と所定値との比較を行う比較手段とのそれぞれを含む。またスロットルバルブ12にはスロットル開度センサ図示せずが設けられ、スロットル開度センサからの出力信号がECU100に送られる。ECU100は、通常、アクセル開度に応じて定まる開度に、スロットルバルブ12の開度スロットル開度をフィードバック制御する。またECU100は、エアフローメータ11からの出力信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてECU100は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン1の負荷を検出する。ECU100は、クランク角センサ22からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン1の回転数を検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では回転数とは1分間当たりの回転数rpmのことをいう。なお、ECU100の気筒間空然比ばらつき異常を検出する検出手段として実質的に機能する部分は、出力検出手段としてのクランク角センサ22の出力に基づいて出力変動量としての回転変動を表す値回転変動量を検出する。そして、ECU100は、通常、吸入空気量およびエンジン回転速度つまりエンジン運転状態に基づいて、予め記憶装置に記憶するデータ等を用いて、燃料噴射量または燃料噴射時間を設定する。そして、その燃料噴射量に基づいて、インジェクタ2からの燃料の噴射が制御される。なお、このような通常時の燃料噴射制御による燃料噴射量をここでは通常時燃料噴射量と称する。ところで、空燃比センサである触媒前センサ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を同時に浄化する機能を有する。しかし、この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこで、エンジン10の通常運転時、上流触媒コンバータ18に流入する排気の空燃比をストイキ近傍に制御するための空燃比制御ストイキ制御がECU100により実行される。この空燃比制御は、触媒前センサ20によって検出された排気空燃比が所定の目標空燃比に一致するように混合気の空燃比具体的には燃料噴射量をフィードバック制御する主空燃比制御主空燃比フィードバック制御と、触媒後センサ21によって検出された排気空燃比がその所定の目標空燃比に一致するように混合気の空燃比具体的には燃料噴射量をフィードバック制御する補助空燃比制御補助空燃比フィードバック制御とからなる。具体的には、主空燃比フィードバック制御では、触媒前センサ20の出力に基づいて検出される現状の排気空燃比を所定の目標空燃比に追従させるために、第1補正係数を演算して、この第1補正係数に基づいてインジェクタ2からの燃料噴射量を調整するような制御が実行される。そして、さらに補助空燃比フィードバック制御では、触媒後センサ21の出力に基づいて、第2補正係数を演算し、主空燃比フィードバック制御にて得られた第1補正係数を修正するような制御が実行される。ただし、本実施形態において、上記所定の目標空燃比つまり空燃比の基準値目標値はストイキであり、このストイキに相当する燃料噴射量ストイキ相当量というが燃料噴射量の基準値目標値である。但し、空燃比および燃料噴射量の基準値は他の値とすることもできる。さて、例えば全気筒のうちの一部の気筒特に1気筒において、インジェクタ2の故障等が発生し、気筒間に空燃比のばらつきインバランス:imbalanceが発生することがある。例えば第1のバンクB1について、インジェクタ2の閉弁不良により1気筒の燃料噴射量が他の3,5,7気筒の燃料噴射量よりも多くなり、1気筒の空燃比が他の3,5,7気筒の空燃比よりも大きくリッチ側にずれる場合である。このときでも、前述の空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ20に供給されるトータルガス合流後の排気ガスの空燃比をストイキに制御できる場合がある。しかし、気筒別に見ると、1気筒がストイキより大きくリッチ、3,5,7気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、排気エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の気筒のうちある1気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒インバランス気筒の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒バランス気筒の燃料噴射量すなわち基準噴射量からズレているかを示す値である。インバランス率をIB、インバランス気筒の燃料噴射量をα、バランス気筒の燃料噴射量すなわち基準噴射量をβとすると、IB=α-β/β×100で表される。インバランス率IBが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。他方、本実施形態においては、所定の気筒の燃料噴射量をアクティブにまたは強制的に増量または減量し、少なくとも燃料噴射量の増量または減量後の当該所定の気筒の出力変動としての回転変動に基づき、ばらつき異常を検出する。まず、回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいう。そして本明細書では、上記したように回転変動を表す値つまり回転変動の程度を表した値を回転変動量と称する。例えば、クランクシャフトが所定角度回転するのに要する時間を計測し、その計測値を演算処理することで求められる値量が回転変動量として用いられることができる。以下の図3および図4を用いた説明で、種々の値を回転変動量として用いることができることが理解されるだろう。図3には回転変動を説明するための一例としてのタイムチャートを示す。図示例は直列4気筒エンジンの例であるが、本実施形態のようなV型8気筒エンジンにも適用可能であることが理解されよう。図3の直列4気筒エンジンでの点火順序は1,3,4,2気筒の順である。図3において、Aはエンジンのクランク角°CAを示す。1エンジンサイクルは720°CAであり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。図3Bは、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Tsを示す。ここでは所定角度が30°CAであるが、他の値例えば10°CAとしてもよい。回転時間Tが長いほど図中上側に至るほどエンジン回転速度は遅く、逆に回転時間Tが短いほどエンジン回転速度は速い。この回転時間Tはクランク角センサ22の出力に基づきECU100により検出される。図3Cは、後に説明する回転時間差ΔTを示す。図中、正常とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、リーンずれ異常とは、1気筒のみにインバランス率IB=-30のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。まず、各気筒の同一タイミングにおける回転時間TがECUにより検出される。ここでは各気筒の圧縮上死点TDCのタイミングにおける回転時間Tが検出される。この回転時間Tが検出されるタイミングを検出タイミングという。次いで、検出タイミング毎に、当該検出タイミングにおける回転時間T2と、直前の検出タイミングにおける回転時間T1との差T2-T1がECUにより算出される。この差が図3Cに示す回転時間差ΔTであり、ΔT=T2-T1である。通常、クランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため回転時間Tが低下し、その後の圧縮行程では回転速度が低下するため回転時間Tが増大する。しかしながら、図3Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルク出力が得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける回転時間Tは大きくなっている。それ故、3気筒TDCにおける回転時間差ΔTは、図3Cに示すように大きな正の値となる。この3気筒TDCにおける回転時間および回転時間差をそれぞれ1気筒の回転時間および回転時間差とし、それぞれT1およびΔT1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ回転時間Tが若干低下しているに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の回転時間差ΔT3は、図3Cに示すように小さな負の値となる。このようにある気筒の回転時間差ΔTが、点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の回転時間差ΔT4および2気筒の回転時間差ΔT2はともに小さな負の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の回転時間差ΔTは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔTを各気筒の回転変動の指標値つまり回転変動量として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔTは大きくなる。他方、図3Cに示すように、正常の場合には回転時間差ΔTが常時ゼロ付近である。図3の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち1気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。次に、図4を参照して、回転変動を表す別の値つまり別の回転変動量の例を説明する。図4Aは図3Aと同様にエンジンのクランク角°CAを示す。図4Bは、前記回転時間Tの逆数である角速度ωrad/sを示す。ω=1/Tである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Tの波形を上下反転した形となる。図4Cは、前記回転時間差ΔTと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔTの波形を上下反転した形となる。図中の正常およびリーンずれ異常については図3と同様である。まず、各気筒の同一タイミングにおける角速度ωがECUにより検出される。ここでも各気筒の圧縮上死点TDCのタイミングにおける角速度ωが検出される。角速度ωは、1を前記回転時間Tで除することにより算出される。次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω2と、直前の検出タイミングにおける角速度ω1との差ω2-ω1がECUにより算出される。この差が図4Cに示す角速度差Δωであり、Δω=ω2-ω1である。通常、クランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の圧縮行程では回転速度が低下するため角速度ωが低下する。しかしながら、図4Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける角速度ωは小さくなっている。それ故、3気筒TDCにおける角速度差Δωは、図4Cに示すように大きな負の値となる。この3気筒TDCにおける角速度および角速度差をそれぞれ1気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ角速度ωが若干上昇するに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の角速度差Δω3は、図4Cに示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の角速度差Δω4および2気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなるマイナス方向に大きくなる。他方、図4Cに示すように、正常の場合には角速度差Δωが常時ゼロ付近である。逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。次に、ある1気筒の燃料噴射量をアクティブにつまり強制的に増量または減量して当該気筒での空燃比を変化させたときの回転変動量の変化を、図5の概念図を参照して説明する。ただし、この場合、燃料噴射量をアクティブに増量または減量するとき、吸入空気量は変化しないようにスロットルバルブ12等の作動は制御される。図5において、横軸はインバランス率IBを示し、縦軸は回転変動量を示す。ここでは、直列4気筒エンジンの例が説明され、全4気筒のうちのある1気筒のみのインバランス率IBを燃料噴射量を増減させることで変化させ、このときの当該1気筒のインバランス率IBと当該1気筒の回転変動量との関係を線L1にしたがって示す。当該1気筒をアクティブ対象気筒という。他の気筒は全てバランス気筒であり、基準噴射量としてストイキ相当量を噴射しているものとする。なお、図5では横軸にインバランス率が用いられるが、インバランス率に代えて空燃比が用いられることができる。図5では左側に至るほどインバランス率がプラス方向に大きくなるが、これに対応して、インバランス率の代わりに空燃比が用いられる場合には、図中左側に至るほど空燃比はリッチになる。図5の横軸には、インバランス率IBがとられている。図5中、アクティブ対象気筒の燃料噴射量がストイキ相当量であるときに相当するインバランス率が0の線Sから左側に移動するほど、インバランス率IBがプラス方向に増加し、燃料噴射量としては過多すなわちリッチな状態となる。逆に、図5中、インバランス率IBが0の線Sから右側に移動するほど、インバランス率IBがマイナス方向に増加し減少し、燃料噴射量としては過少すなわちリーンな状態となる。また、図5中、上側に移動するほど、回転変動量が大きくなる。特性線L1から理解され得るように、アクティブ対象気筒のインバランス率IBが0からプラス方向に増加してもマイナス方向に増加しても、アクティブ対象気筒の回転変動量は大きくなる傾向にある。そして、インバランス率IBが0から離れるほど、特性線L1の傾きが急になり、インバランス率IBの変化量または変化割合に対する回転変動量の変化量または変化割合は大きくなる傾向にある。ここで、インバランス率IBがプラスの範囲の図5の一部領域が取り出されて、図6に示される。なお、図6の線L2は図5の線L1の一部に相当する。図6には、アクティブ対象気筒における2つのインバランス率IBの例が線A、Bで表されている。線Aにおけるインバランス率IBaは、ストイキ相当値である0のインバランス率図5の線S参照からプラス方向にずれているが許容範囲内のものの一例である。これに対して、線Bにおけるインバランス率IBbは、線Aにおけるインバランス率IBaよりも燃料噴射量がさらに多い方向にずれていて、許容範囲外のものの一例である。ここで、通常運転時にストイキ制御を行っているときのアクティブ対象気筒の状態が線A上の状態である場合を考える。このときに、矢印F1で示すように、アクティブ対象気筒の燃料噴射量を、所定量Δf1、強制的に増量変更したとする。所定量Δf1は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約45相当の増量が図られる。IB=0の近辺図6中右端側では特性線L2の傾きが緩やかであることから、ストイキ制御を行っているときのアクティブ対象気筒の状態が線A上の状態である場合、燃料噴射量を増量変更したときの線A ́上の状態における回転変動量Va ́は増量前の回転変動量Vaと大きく変わらない。他方、ストイキ制御を行っているときのアクティブ対象気筒の状態が線B上の状態である場合を考える。このとき、アクティブ対象気筒において既に許容範囲を超えるリッチずれが生じており、そのインバランス率IBbが比較的大きなプラス側の値になっている。例えば、線Bでのインバランス率IBbは、インバランス率で約60のリッチずれに相当する。この状態から矢印F2で示すように、アクティブ対象気筒の燃料噴射量を同一所定量Δf1、強制的に増量したとすると、燃料噴射量を増量変更したときの線B ́を含む領域では特性線L2の傾きが急であることから、増量後の回転変動量Vb ́は増量前の回転変動量Vbよりかなり大きく、増量前後の回転変動量の差Vb ́―Vbは大きくなる。すなわちこのような燃料噴射量の増量により、アクティブ対象気筒の回転変動は十分大きくなる。よって、アクティブ対象気筒の燃料噴射量を強制的に所定量増量変更したときの少なくとも増量後のアクティブ対象気筒の回転変動量に基づき、ばらつき異常を検出することが可能である。例えば、増量後の回転変動量の大きさ例えば|Vb ́|が所定量よりも大きいときにばらつき異常があると判断することができる。さらに、複数サイクルに関してアクティブ対象気筒に関して求めた回転変動量の平均値または統計処理して求めた値を、回転変動量として、所定量と比較することで、気筒間空然比ばらつき異常があるか否かが判断されてもよい。このように、燃料噴射量の増量により、気筒間空然比ばらつき異常があるときにはそれを顕著に燃焼室での燃料つまり混合気の燃焼状態に反映させて、その結果を回転変動量として検出して、該回転変動量に基づいて気筒間空然比ばらつき異常を検出することができる。なお、上記説明では、燃料噴射量を所定量分だけ強制的に増量変更させる制御燃料噴射量増量制御を行って、気筒間空然比ばらつき異常を検出した。これは、インバランス気筒で燃料噴射量が多い側にずれているときに有効である。逆に、インバランス気筒で燃料噴射量が少ない側にずれているときには、燃料噴射量を所定量Δf2分だけ強制的に減量変更させる制御燃料噴射量減量制御を行って、ばらつき異常を検出することが有効である。このインバランス率が負の領域で強制減量を行う場合も、上記の場合から理解できるので、その説明は省略される。ただし、燃料噴射量減量制御における減量量大きさΔf2は燃料噴射量増量制御における増量量大きさΔf1よりも少ないとよい。これは、リーンずれ異常気筒に対しあまりに多くの減量を行ってしまうと失火の虞があるからである。ただし、燃料噴射量の減量または増量により失火を生じさせ、そのときの出力変動に基づいてばらつき異常を検出することを本発明は排除しない。所定量Δf2は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約15相当の減量がなされ得る。なお、燃料噴射量増量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である上記所定値と、燃料噴射量減量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である所定値とは同じであっても異なってもよい。以上述べたように、気筒間空燃比ばらつき異常を検出するためには、上記したように、燃料噴射量を強制的に増量変更または減量変更させる制御つまり燃料噴射量変更制御を行ってインバランス率に応じた回転変動量を大きくすることが有効である。しかし、このような燃料噴射量変更制御の実行は燃料噴射量を基準噴射量または通常時燃料噴射量から積極的に大きくズラすことをもたらすものであるから、排気エミッションの悪化が生じる虞がある。それ故、そのような燃料噴射量変更制御の実行により排気エミッションの悪化などの不具合が発生することを抑制することが望まれる。そこで、以下に詳しく説明するように、気筒間空燃比ばらつき異常を検出するために実行される燃料噴射量変更制御において、燃料噴射量の増量変更が一部の気筒に対して行われると共に該一部の気筒以外の他の気筒に対して燃料噴射量の減量変更が行われる。そして、その総燃料増量量の大きさと、総燃料減量量の大きさとが所定期間で実質的に等しくされる。なお、以下では、そのような燃料噴射量変更制御は、エンジンが所定の状態にあるときに、具体的には空燃比を所定の目標空燃比に追従させる空燃比フィードバック制御が実行されているときに実行される。しかし、このような空燃比フィードバック制御が実行されていないときに、そのような燃料噴射量変更制御が実行されて気筒間空燃比ばらつき異常の検出が行われてもよい。ただし、好ましくは、そのような燃料噴射量変更制御は、そのような空燃比フィードバック制御が実行されているときに実行される。以下に、本実施形態における、気筒間空然比ばらつき異常を検出する制御つまり当該実施形態における空燃比診断用制御を、図7のフローチャートにしたがって説明する。エンジン1が始動されると、ステップS701で気筒群組合せカウンタCaがゼロにされる。気筒群組合せカウンタCaは、燃料噴射量が増量変更される第1気筒群の気筒と、燃料噴射量が減量変更される第2気筒群の気筒との組み合わせを指し示すカウンタである。本実施形態では、気筒群組合せカウンタCaがゼロのとき第1気筒群が1、6気筒から構成されると共に第2気筒群はその他の全ての気筒から構成され、同カウンタCaが1のとき第1気筒群が8、5気筒から構成されると共に第2気筒群はその他の全ての気筒から構成され、同カウンタCaが2のとき第1気筒群が7、4気筒から構成されると共に第2気筒群はその他の全ての気筒から構成され、そして、同カウンタCaが3のとき第1気筒群が3、2気筒から構成されると共に第2気筒群はその他の全ての気筒から構成される。これは、エンジン1での点火順序が、上記したように、1、8、7、3、6、5、4、2気筒の順であるからである。つまり、本実施形態では、燃料噴射量が増量変更される第1気筒群の気筒は、サイクルが360°CA違いの2つの気筒から構成される。そして、ステップS703で、空燃比診断制御を実行するための所定条件が成立しているか否かが判定される。ここでは、所定条件として、エンジン始動後の所定の運転状態であることという条件が定められている。所定条件は種々定められることができる。例えば、エンジン冷却水温が所定温度例えば70°C以上であること、負荷が所定範囲内にあること例えば吸入空気量が所定吸入空気量範囲例えば15~50g/sにあること、エンジン回転速度が所定エンジン回転速度域例えば1500rpm~2000rpmにあることの全てを満たすことが所定条件として定められることができる。このような所定条件が満たされるとき、通常は、上記したように触媒コンバータ18で排気浄化をより好適に行うために、排気空燃比がストイキに追従するように空燃比フィードバック制御が実行されている。したがって、ステップS703の判定は、排気空燃比を所定の目標空燃比に追従させるように空燃比制御を実行しているか否かの判定に相当し、特にここでは所定の目標空燃比はストイキである。しかし、所定の目標空燃比は、ストイキ以外とされることもできる。なお、本発明は、所定条件に、そのような空燃比制御が行われていることを含めることができるが、含めなくてもよい。ステップS703の判定で肯定判定されると、次のステップS705で、気筒群組合せカウンタCaに適合した燃料噴射量変更制御が所定期間実行される。そして、そのときのデータ、特に出力検出手段としてのクランク角センサ22の出力に基づくデータが記録される。なお、燃料噴射量変更制御が所定期間実行されると、次に再びステップS705に至るまで、燃料噴射量変更制御は実行されない。ステップS705でのその所定期間はここでは50エンジンサイクルと定められているが、これに限定されず、例えばサイクル数以外の秒などの単位で定められることもできる。なお、1エンジンサイクルは上記の如く720°CAであり、換言すると全ての気筒の各々でたった1つの燃焼行程が実行される期間をいう。そして、ステップS705での燃料噴射量変更制御では、第1気筒群の気筒の各々に対する燃料噴射量増量制御と第2気筒群の気筒の各々に対する燃料噴射量減量制御とが並行して実行される。例えば、エンジン始動後、始めてステップS705に至ったときには、気筒群組合せカウンタCaはゼロであるので、第1気筒群が1、6気筒から構成され、第2気筒群が8、7、3、5、4、2気筒から構成されている。そしてステップS705での燃料噴射量変更制御では、第1気筒群の1、6気筒のそれぞれに対しては燃料噴射量を通常時燃料噴射量から第1所定量増やす燃料噴射量増量制御が実行され、第2気筒群の8、7、3、5、4、2気筒のそれぞれに対しては燃料噴射量を通常時燃料噴射量から第2所定量減らす燃料噴射量減量制御が同時並行して実行される。ここでは第1所定量として通常時燃料噴射量の45という値が設定されていて、第2所定量として通常時燃料噴射量の15という値が設定されている。したがって、1エンジンサイクル当たり第1気筒群の2つの気筒のそれぞれに対して燃料噴射量が第1所定量増やされるので、所定期間である1エンジンサイクル当たり全体つまり全気筒で通常時燃料噴射量の9045×2の燃料が増やされる。これに対して、1エンジンサイクル当たり第2気筒群の6つの気筒のそれぞれに対して燃料噴射量が第2所定量減らされるので、所定期間である1エンジンサイクル当たり全体で通常時燃料噴射量の9015×6の燃料が減らされる。このように、この燃料噴射量変更制御は、所定期間における第1気筒群の全気筒での総燃料増量分が該所定期間における第2気筒群の全気筒での総燃料減量分で相殺されるように実行される。換言すると、第1気筒群の気筒の数と第1所定量との積が第2気筒群の気筒の数と第1所定量と異なる第2所定量との積と等しくなるための構成を、ECU100の燃料噴射量変更制御手段として機能する部分は有する。ステップS705の次のステップS707では、各気筒の回転変動量が算出される。ステップS705では50エンジンサイクル分のデータがとられているので、1気筒での回転変動量として、50サイクルの各々における1気筒の回転変動量、つまり50個の回転変動量が上記したようにして算出される。そして、ここでは、それらの平均値が1気筒の回転変動量として算出される。このような回転変動量の算出が他の7つの気筒のそれぞれに関しても実行される。なお、このようにして算出された回転変動量は、気筒番号および当該気筒への燃料増減の種類と関係付けられて、後述されるステップS713での判定用に記憶装置に記憶される。そして、次ぐステップS709では気筒群組合せカウンタCaが1だけ増やされ、次ぐステップS711で気筒カウンタCaが第1所定値か否かが判定される。ここでは第1所定値として4という値が設定されている。これは、上記したように第1気筒群と第2気筒群との組み合わせが4種類あることに対応する。ステップS711で気筒群組合せカウンタCaが1であるときには、否定判定されて、ステップS703へ戻る。ステップS703で上記条件が成立しているときには、次ぐステップS705で、気筒群組合せカウンタCaが1であるときの第1気筒群と第2気筒群の各気筒に対して上記したように燃料噴射量変更制御が実行される。つまり、第1気筒群の8、5気筒のそれぞれに対しては燃料噴射量を通常時燃料噴射量から第1所定量増やす燃料噴射量増量制御が実行され、第2気筒群の7、3、6、4、2、1気筒のそれぞれに対しては燃料噴射量を通常時燃料噴射量から第2所定量減らす燃料噴射量減量制御が同時並行して実行される。このように燃料噴射量変更制御が実行されることで理解できるように、上記ステップS709で気筒群組合せカウンタCaが1ずつ加算されることは、第1気筒群の気筒および第2気筒群の気筒をそれぞれ変更することに相当し、ECU100の一部は本発明における変更手段の機能を担う。このようにして全ての4つの気筒群組合せの各々に対して上記ステップS705およびステップS707が実行される。これは、全ての気筒の各々に対して燃料噴射量増量制御および燃料噴射量減量制御がそれぞれ実行されて、各気筒に関して燃料を増やしたときの回転変動量と燃料を減らしたときの回転変動量とが算出されることを意味する。そして、ステップS711で肯定判定されるようになると、次ぐステップS713で、記憶保存されている回転変動量の各々が第2所定値以下か否かが判定される。第2所定値は、気筒間空然比ばらつき異常を検出するために定められていて、エンジン1では、第2所定値までの回転変動量は許容される。なお、燃料噴射量を増やした場合に関する回転変動量と比較される第2所定値は、上記したように、燃料噴射量を減らした場合に関する回転変動量と比較される第2所定値と変えられてもよい。ステップS713で全ての回転変動量がそれぞれ第2所定値以下であるので肯定判定されると、当該診断制御は終了する。この場合、気筒間空然比ばらつき異常は検出されなかったということになる。他方、ステップS713で少なくともいずれか1つの回転変動量が第2所定値を超えているので否定判定されると、ステップS715で運転者に気筒間空然比ばらつき異常が検出されたことを知らせるべく、例えば運転席のフロントパネルに備えられた警告ランプが点灯される。これにより図7の診断制御は終了される。ただし、ECU100はステップS713での判定により第2所定値を超えた回転変動量に対応する気筒を特定することができる。このような気筒の特定は、ステップS707で回転変動量が気筒番号と関係付けられて記憶されていることに基づいて実行される。特定された気筒は異常があるまたは可能性のある気筒であり、不図示のランプの点灯や特定のデータの記録などにより、運転者、または、運転者および整備者へ知らされる。これにより運転者または整備者はより的確にエンジン1の整備などを行うことができる。さらに、第2所定値を超えた回転変動量に対応する気筒を特定する際に、当該回転変動量が燃料噴射量増量制御を実行したことに基づくものであるのか、あるいは、燃料噴射量減量制御を実行したことに基づくものであるのか、つまり異常の種類を、記憶したデータに基づいてさらに特定することができる。このように特定された異常の種類も、特定された気筒と共に運転者、または、運転者および整備者へ知らされてもよい。なお、ここでは、エンジン1の始動後、たった一度のみ、図7の診断制御が実行される。しかし、適宜の時期に、この診断制御が実行されてもよい。例えば、エンジン1の作動時間またはエンジン1を搭載した車両の走行距離が所定値になったときに、診断制御が実行されることができる。以上述べたように、上記実施形態では、気筒間空然比ばらつき異常を検出するために、所定期間において第1気筒群の全気筒で増やされた総燃料が該所定期間において第2気筒群の全気筒で減らされた総燃料で相殺されるように燃料噴射量変更制御が実行される。したがって、燃料噴射量変更制御の実行により所定期間である1エンジンサイクル中に全気筒で噴射される燃料の総量は、通常の燃料噴射制御が実行されているときの1エンジンサイクル中の全気筒で噴射される燃料の総量と実質的に同じである。それ故、全体的にみて空燃比を概ねストイキに保つことができる。これは、空燃比フィードバック制御に対する燃料噴射量変更制御の影響を最小限にし、例えば空燃比が所定の目標空燃比から大きく逸脱することを防止でき、排気エミッションの悪化を適切に防止できることを意味する。また、このように燃料噴射量変更制御の実行中であっても全体的にみて空燃比を概ねストイキに保つことができるので、このような燃料噴射量変更制御を実行するときに上記空燃比フィードバック制御の実行を停止する必要がない。したがって、仮に外乱があってもそれによる空燃比変動を上記空燃比フィードバック制御の実行により適切に吸収することができる。さらに、上記したように燃料噴射量増量制御と燃料噴射量減量制御とが同時並行して行われる。したがって、リッチ側の異常とリーン側の異常とを併せて検出することが可能になる。これは気筒間空然比ばらつき異常の検出時間の短縮をもたらし得る。また、上記実施形態では、エンジン1の両バンクに対して同時に燃料噴射量変更制御が適用される。したがって、さらに気筒間空然比ばらつき異常の検出時間の短縮をもたらし得る。また、上記実施形態では、各気筒の回転変動量の算出を図3および図4に基づいて説明したように燃焼行程が連続する2つの気筒に関するデータに基づいて実行し、算出された回転変動量が所定値を超えたときに気筒間空然比ばらつき異常があると判断した。さらに、これに加えて、気筒間空然比ばらつき異常の有無を検出するための値として、サイクルが360°CAズレた任意の2つの気筒の回転変動量の差、燃料噴射量増量制御を行った任意の2つの気筒の回転変動量の差、または、燃料噴射量減量制御を行った任意の2つの気筒の回転変動量の差を求め、それが所定値を越えたときに、気筒間空然比ばらつき異常があると判断してもよい。ところで、上記実施形態では、各気筒の回転変動量の算出を、図3および図4に基づいて説明したように、燃焼行程が連続する2つの気筒に関するデータに基づいて実行した。しかし、上記実施形態では燃料噴射量増量制御と燃料噴射量減量制御とが同時期に混在して行われるので、そのような回転変動量を用いることによる気筒間空然比ばらつき異常の検出には限界がある。そこで、各気筒の回転変動量と相関関係のある各気筒の筒内圧の変化の量に基づいて気筒間空然比ばらつき異常の検出が実行されてもよい。以下にそれを説明する。このような場合、各気筒の筒内圧を検出するために、筒内圧センサが気筒数に応じた数だけ設けられ、各筒内圧センサは対応する気筒の燃焼室に受圧面が臨むようにシリンダヘッドに配設されることができる。各筒内圧センサは、対応する燃焼室における筒内圧を検出するように、検出値に対応するセンサ出力信号をECU100に与える。各筒内圧センサからのセンサ出力信号は、所定時間所定クランク角おきにECU100に順次与えられ、検出値に変換された上でECU100の記憶装置に格納保持される。そして、強制的に燃料噴射量が変更された気筒の出力変動は、筒内圧センサの出力に基づいて求められる。任意の対象気筒に関するそのような出力変動を表す値の算出が以下に説明される。ECU100は、強制的に燃料噴射量を変更する前の対象気筒の筒内圧を検出記憶する。この筒内圧は基準筒内圧と称され、基準筒内圧としては好ましくは所定期間、例えば所定回数の燃焼行程の所定時期での筒内圧の平均値が用いられることができる。なお、予め実験により定めて記憶するデータをエンジン運転状態に基づいて検索することで、基準筒内圧が算出されてもよい。これに対して、当該気筒の燃料噴射量を強制的に所定量増量または減量変更したときの当該気筒の筒内圧が検出される。この筒内圧はここでは変更筒内圧と称され、変更筒内圧としては好ましくは所定回数の燃焼行程の所定時期での筒内圧の平均値が用いられることができる。そして基準筒内圧と変更筒内圧との差が出力変動を表す値つまり出力変動量として求められることができる。なお、筒内圧はクランクシャフトの回転速度または角速度と相関関係があるので、そのようにして求められる出力変動量はクランクシャフトの回転変動量とみなすことができる。そして算出された基準筒内圧と変更筒内圧との差が出力変動量として所定値と比較される。該差が所定値を越えているときには、気筒間空然比ばらつき異常があると判断することができる。以上、本発明を上記実施形態およびその変形例等に基づいて説明したが、本発明は他の実施形態を許容する。例えば、第1気筒群の気筒は1つ以上の気筒から構成され、第2気筒群の気筒は第1気筒群に含まれない1つ以上の気筒から構成されるのであれば、第1気筒群および第2気筒群の各々は任意に設定されることができる。また、第1気筒群の気筒の数と第2気筒群の気筒の数との和は上記実施形態では全気筒数に一致するが、全気筒数に一致しなくてもよい。また、本発明は、種々の形式の2つ以上の気筒を有する多気筒エンジンに適用され得、ポート噴射形式のエンジンのみならず、筒内噴射形式のエンジン、ガスを燃料として用いるエンジンなどにも適用され得る。本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"