"所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、前記所定の対象気筒に対して点火遅角制御を実行する点火遅角制御手段と、前記所定の対象気筒に対して前記燃料噴射量変更制御と前記点火遅角制御とが一緒に実行されたときの前記所定の対象気筒に関する出力変動に基づき、気筒間空燃比ばらつき異常を検出する検出手段とを備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記燃料噴射量変更制御手段は、前記所定の対象気筒の燃料噴射量を通常時燃料噴射量から所定量増やすようにまたは減らすように燃料噴射量変更制御を実行する、請求項1に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記検出手段は、前記所定の対象気筒に対して前記燃料噴射量変更制御と前記点火遅角制御とが一緒に実行されたときの前記所定の対象気筒の回転変動に基づき、気筒間空燃比ばらつき異常を検出する、請求項1または2に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。ところで、多気筒内燃機関において気筒間空燃比ばらつき異常があるときには、気筒間の出力におけるばらつきが大きくなり得る。こうした出力変動をより確実に検出するためには強制的に燃料噴射量を変更させることが有効であるだろう。しかし、検出精度を上げるために燃料噴射量の変更量を大きくしすぎると、ドライバビリティの悪化または排気エミッションの悪化が生じる可能性がある。そこで本発明は、以上の事情に鑑みて創案され、その目的は、多気筒内燃機関において、ドライバビリティの悪化および排気エミッションの悪化を抑制しつつ、気筒間空燃比ばらつき異常をより適切に検出することにある。本発明の一の態様によれば、所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、前記所定の対象気筒に対して点火遅角制御を実行する点火遅角制御手段と、前記所定の対象気筒に対して前記燃料噴射量変更制御と前記点火遅角制御とが一緒に実行されたときの前記所定の対象気筒に関する出力変動に基づき、気筒間空燃比ばらつき異常を検出する検出手段とを備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置が提供される。前記燃料噴射量変更制御手段は、前記所定の対象気筒の燃料噴射量を通常時燃料噴射量から所定量増やすようにまたは減らすように燃料噴射量変更制御を実行するとよい。前記検出手段は、前記所定の対象気筒に対して前記燃料噴射量変更制御と前記点火遅角制御とが一緒に実行されたときの前記所定の対象気筒の回転変動に基づき、気筒間空燃比ばらつき異常を検出するとよい。以下、本発明の実施形態を添付図面に基づき説明する。まず、第1実施形態を説明する。図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、ノッキングの発生を検出するためのノックセンサ25、その他の各種センサが図示されない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は、エンジン運転状態、例えばエンジン回転速度およびエンジン負荷に基づいて定められる基準点火時期に対して、点火時期補正制御を行う。ECU100は、点火時期をエンジン1が最大トルクを発生する点火時期MBTに近づけるように、かつ、ノッキング発生を回避するように、ノックセンサ25からの出力に基づいて点火プラグ13の作動を制御する。つまり、エンジン1は、点火時期をノック限界付近に制御するようにノックコントロールシステムKCSを備えている。ノックセンサ25からの出力に基づいてノック有りと判定された場合には点火遅角し、またノック無しと判定された場合には点火進角するように点火時期は補正制御される。空燃比センサである触媒前センサ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より高くなる。なお、触媒後センサ21は省かれることができる。上流触媒コンバータ18および下流触媒コンバータ19はそれぞれ三元触媒を備え、それぞれに流入する排気ガスの空燃比A/Fがストイキ近傍のときに排気中の有害成分であるNOx、HCおよびCOを同時に浄化する機能を有する。この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこで、エンジン1の通常運転時、上流触媒コンバータ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、インバランス気筒の燃料噴射量をα、バランス気筒の燃料噴射量すなわち基準噴射量をβとすると、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を示し、縦軸は回転変動量を示す。ここでは、全8気筒のうちのある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は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約40相当の増量が図られる。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は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約10相当の減量がなされ得る。なお、燃料噴射量増量制御においてばらつき異常を検出するための閾値である上記所定値と、燃料噴射量減量制御においてばらつき異常を検出するための閾値である所定値は同じであっても異なってもよい。なお、燃料噴射量増量制御や燃料噴射量減量制御は、全気筒一律且つ同時に適用されることが可能であり、この場合、所定の対象気筒は全気筒である。しかし、本実施形態では、後述するように、燃料噴射量変更制御は、全気筒一律且つ同時に適用されるのではなく、一部の気筒である所定の対象気筒のみに一時に適用され、順次、燃料噴射量変更制御が適用される対象気筒は他の気筒に移行する。つまり、燃料噴射量変更制御の適用方法は、全気筒同時に行う方法の他、任意数の気筒ずつ順番に且つ交互に行う方法がある。例えば1気筒ずつ増量したり、2気筒ずつ増量したり、4気筒ずつ増量したりする方法がある。燃料噴射量を強制的に増量または減量する対象気筒の数および気筒番号は任意に設定できる。以上述べたように、気筒間空燃比ばらつき異常を検出するためには、上記したように、燃料噴射量を強制的に増量変更または減量変更させる制御つまり燃料噴射量変更制御を行ってインバランス率に応じた回転変動量を大きくすることが有効である。そして、このような燃料噴射量変更制御に対して、ばらつき異常があるときにそれをより明確に回転変動量として検出できるように、燃料噴射量の増量量または減量量を大きくすることが望まれる。しかし、燃料噴射量の増量量または減量量をあまりに大きくすると、振動発生によりドライバビリティの悪化が生じたり、排気エミッションの悪化が生じたりし得る。そこで、ドライバビリティの悪化および排気エミッションの悪化を可能な限り生じさせずに、燃料噴射量変更制御の制御量を抑制することが望まれる。そこで、燃料噴射量変更制御の制御量を抑制しつつ気筒間空燃比ばらつき異常を適切に検出するために、ここでは、点火時期を遅角する制御点火遅角制御が併せて実行される。一般に、点火時期を遅らせることで、対象気筒での発生トルクを減少させることができる。それ故、発生トルクの減少により、燃料噴射量変更制御に基づいて生じた回転変動を顕著に浮かび上がらせることが可能である。つまり、所定の対象気筒に対して点火遅角制御を燃料噴射量変更制御に併せて行うことで、気筒間空然比ばらつき異常がある気筒での出力により生じる回転変動量を大きくすることができる。加えて、点火遅角制御の適用により燃料噴射量増量制御による燃料の増量量を抑えることができるので、燃費も向上させることができる。図7に、点火遅角制御を適用した場合のインバランス率IBに対する回転変動量の変化を概念的に線L3で示す。なお、図7には、図6の線L2も重ねて表されている。図7の線L3から明らかなように、点火遅角制御と燃料噴射量変更制御とを組み合わせて実行することで、インバランス率IBの変化量または変化割合に対する回転変動量の変化量または変化割合を高めることができる。よって、燃料噴射量変更制御における燃料の増量量または減量量を減らして抑制しつつ、点火遅角制御を行うことで、気筒間空然比ばらつき異常がある場合に大きな回転変動量を得ることが可能になる。燃料噴射量変更制御と共に行われる点火遅角制御の点火遅角量は所定量に設定され得、該所定量は任意に定められることができる。例えばその所定量はクランク角で10°と設定されることができる。そして、これに対して、燃料噴射量変更制御における燃料噴射量の増量量は例えば上記したインバランス率で約40相当の燃料量から減らされ得、その4分の3、2分の1などにされることができ、燃料噴射量の減量量は例えば上記したインバランス率で約10相当の燃料量から減らされ得、その4分の3、2分の1などにされることができる。なお、ただ単に、上記増減量での燃料噴射量変更制御に点火遅角制御を組み合わせることを本発明は許容する。以下、通常時の燃料噴射制御による通常時燃料噴射量に対して燃料噴射量を増量または減量させる燃料噴射量変更制御と共に点火遅角制御を行って気筒間空然比ばらつき異常を検出する制御つまり本発明の第1実施形態における空燃比診断用制御を以下に、図8のフローチャートにしたがって説明する。エンジン1が始動されると、ステップS801で対象気筒カウンタCaがゼロにされる。対象気筒カウンタCaは、上記したような空燃比診断用制御の実施対象となる気筒つまりアクティブ対象気筒の気筒番号を指し示すカウンタである。ステップS803では、対象気筒カウンタCaが1だけ増やされる。そして、次ぐ、ステップS805で実施サイクルカウンタCcがゼロにされる。そして、ステップS807で、空燃比診断制御を実行するための所定条件が成立しているか否かが判定される。ここでは、所定条件として、エンジン始動後の所定の運転状態であることという条件が定められている。所定条件は種々定められることができる。例えば、エンジン冷却水温が所定温度例えば70°C以上であること、負荷が所定範囲内にあること例えば吸入空気量が所定吸入空気量範囲例えば15~50g/sにあること、エンジン回転速度が所定エンジン回転速度域例えば1500rpm~2000rpmにあることの全てを満たすことが所定条件として定められることができる。このような所定条件が満たされるとき、通常は、上記したように触媒コンバータ18、19で排気浄化をより好適に行うために、排気空燃比がストイキに追従するように空燃比フィードバック制御が実行されている。したがって、ステップS807の判定は、排気空燃比を所定の目標空燃比に一致させるように空燃比制御を実行しているか否かの判定に相当し、特にここでは所定の目標空燃比はストイキである。しかし、所定の目標空燃比は、ストイキ以外とされることもできる。なお、本発明は、所定条件に、そのような空燃比制御が行われていることを含めることができるが、含めなくてもよい。ステップS807の判定で肯定判定されると、ステップS809で実施サイクルカウンタCcが第1所定値未満か否かが判定される。この第1所定値はここでは1に設定されているが、任意の1以上の整数に定められることができる。なお、この第1所定値は後述される第2所定値よりも小さな数である。実施サイクルカウンタCcが第1所定値未満であるのでステップS809で肯定判定されると、ステップS811で、燃料噴射量の変更量taumibが算出される。ここでは燃料噴射量を増やすための所定量としての変更量taumibが算出される。変更量taumibの算出は、エンジン回転速度およびエンジン負荷に基づいて予め記憶装置に記憶する燃料噴射量増量用のデータを検索することで実行される。所定の演算式に基づいて所定の演算を行うことが行われてもよい。次ぐステップS813では、点火時期の変更量aopimbが算出される。変更量aopimbの算出は、エンジン回転速度およびエンジン負荷に基づいて予め記憶装置に記憶する燃料噴射量増量用のデータを検索することで実行される。所定の演算式に基づいて所定の演算を行うことが行われてもよい。そして、ステップS815で、基本制御用につまり通常制御用に算出された燃料噴射量つまり通常時燃料噴射量taubに、ステップS811で算出された変更量taumibが加算されて、これにより燃料噴射量変更制御における燃料噴射量tauaが定められる。なお、ここでは、通常時燃料噴射量taubは、ストイキ相当量である。次ぐ、ステップS817では、上述されたように定められる基本制御におけるつまり通常制御における点火時期つまり通常時点火時期aopbに対して、ステップS813で算出された点火時期の変更量apoimbが適用されて、変更量aopimb分、点火時期を遅らせた点火遅角制御における点火時期aopaが定められる。そして、ステップS819で、ステップS815で算出された量tauaの燃料が対象気筒における燃料噴射弁2から噴射される。そしてこれに対して、ステップS821で、ステップS817で算出された点火時期aopbに点火がされるように対象気筒における点火プラグ13の作動が制御される。このように燃料噴射量変更制御および点火遅角制御が行われたときの回転変動量が、ステップS823で、上記したようにクランク角センサ22からの出力に基づいて算出される。このステップS823で算出された回転変動量は、ステップS825で、第3所定値以下か否かが判定される。第3所定値は、気筒間空然比ばらつき異常を検出するために定められていて、エンジン1では、第3所定値までの回転変動量は許容される。ステップS825で回転変動量が第3所定値以下であるので肯定判定されると、ステップS827で実施サイクルカウンタCcに1だけ加算される。そして、ステップS829で、実施サイクルカウンタCcが上記第1所定値よりも大きな第2所定値であるか否かが判定される。この第2所定値はここでは2に設定されているが、任意の2以上の整数に定められることができる。なお、例えば、後述される燃料噴射量の強制的な減量変更を行う制御ステップが図8の制御から省かれる場合には、第2所定値は任意の1以上の整数に定められることができる。ステップS829で、実施サイクルカウンタCcが第2所定値でないので否定判定されると、ステップS807に戻り、さらに診断制御が繰り返される。次ぐステップS809では、実施サイクルカウンタCcが1であり、第1所定値未満ではないので否定判定されて、ステップS831へ進む。ステップS831では、燃料噴射量の変更量taumibが算出される。このステップS831では、上記ステップS811とは異なり、燃料噴射量を減らすための所定量としての変更量taumibが算出される。変更量taumibの算出は、同様に、エンジン回転速度およびエンジン負荷に基づいて予め記憶装置に記憶する燃料噴射量減量用のデータを検索することで行われる。所定の演算式に基づいて所定の演算を行うことが行われてもよい。次ぐステップS833では、点火時期の変更量aopimbが算出される。変更量aopimbの算出は、エンジン回転速度およびエンジン負荷に基づいて予め記憶装置に記憶する燃料減量用のデータを検索することで行われる。所定の演算式に基づいて所定の演算を行うことが行われてもよい。そして、ステップS833を経ると上記ステップS815に進み、以下ステップS815~S823の上記演算および制御が実行される。ステップS823で算出された回転変動量は、上記したように、ステップS825で第3所定値以下か否かが判定される。なお、ステップS811を経て燃料噴射量が増やされる場合と、ステップS831を経て燃料噴射量が減らされる場合とで、第3所定値が変えられてもよい。ステップS825で、回転変動量が第3所定値以下であると判定されると、ステップS827で実施サイクルカウンタCcは1だけ加算されて2になる。そして、ステップS829で、実施サイクルカウンタCcが上記第2所定値であるか否かが判定される。この第2所定値はここでは2に設定されているので、ステップS829で肯定判定される。ステップS829で肯定判定されると、次ぐ、ステップS835で、対象気筒カウンタCaが気筒数であるか否かが判定される。ステップS835の判定は、上記した、ステップS807~S833の演算および制御が全ての気筒の各々に対して実行されたか否かを調べることに相当する。なお、ここでは、気筒数が8である。ステップS835で、対象気筒カウンタCaが気筒数でないとして否定判定されると、ステップS803に戻り、対象気筒カウンタCaに1が加算される。そして次ぐステップS805で実施サイクルカウンタCcがゼロにされて、ステップS807に進む。こうして全ての気筒の各々に対してステップS807~S833の演算および制御つまり診断制御が繰り返されて、ステップS835で対象気筒カウンタCaが気筒数であるとして肯定判定されると、当該診断制御が終了される。なお、ここでは、エンジン1の始動後、たった一度のみ、図8の診断制御が実行される。しかし、適宜の時期に、この診断制御が実行されてもよい。例えば、エンジン1の作動時間またはエンジン1を搭載した車両の走行距離が所定値になったときに、診断制御が実行されることができる。他方、ステップS825で、回転変動量が第3所定値を越えて否定判定されると、ステップS837で運転者に気筒間空然比ばらつき異常が検出されたことを知らせるべく、例えば運転席のフロントパネルに備えられた警告ランプが点灯される。これにより図8の診断制御は終了される。なお、このように、本実施形態では、任意の1つの気筒に上記ばらつき異常が検出された場合に、図8の診断制御は終了されるが、気筒間空然比ばらつき異常がある気筒を特定するべく、全ての気筒に対して上記診断制御が必ず行われるように図8のフローが構築されることも可能である。次に、本発明に係る第2実施形態を説明する。第2実施形態が適用されたエンジンの構成は、概ね第1実施形態が適用されたエンジン1の構成と同じであるので、以下では、第2実施形態が適用されたエンジンの構成要素の説明は省略される。第2実施形態が適用されたエンジンにおいても、上記エンジン1と同様に、燃料噴射量変更制御と点火遅角制御とを組み合わせた気筒間空然比ばらつき異常検出用の制御つまり診断制御が実行される。しかし、本第2実施形態では、診断用に点火遅角制御が強制的に実行されるのではなく、点火遅角制御が実行されているときに、燃料噴射量変更制御が強制的に実行される。これにより気筒間空然比ばらつき異常の有無が判断され得る。以下に、図9のフローチャートにしたがって本発明の第2実施形態における空燃比診断用制御を説明する。なお、図9のステップS901~S905、S909、S911~S929は、それぞれ、図8の上記ステップS801~S805、S809、S811、S815、S819、S823~S831、S835、S837に対応するので、これらの説明は実質的に省略される。ステップS907では、ステップS807と同様に、空燃比診断制御を実行するための所定条件が成立しているか否かが判定される。エンジン始動後の所定の状態であることという条件が所定条件として定められている。例えば、点火時期を所定量遅角させる点火遅角制御が実行されていることという条件が所定条件として定められることができ、または所定条件に含まれることができる。例えば、上記KCSによる基準点火時期からの点火遅角補正量が10°を越えているとき、点火時期を所定量遅角させる点火遅角制御が実行されていることという条件が満たされていると判断されることができる。なお、ノッキングに関する以外の他の種々の制御因子に基づいて、点火遅角制御が行われているときにも、そのような条件は満たされていると判断され得る。ただし、ステップS907での所定条件には、ステップS807の所定条件の全部または一部が含まれることができる。ステップS907で肯定判定されると、ステップS909以下で、燃料噴射量変更制御が実行される。なお、ステップS915は、ステップS907で実行が確認された点火遅角制御と一緒に、燃料噴射量変更制御を実行することを意味する。以上、本発明を上記実施形態に基づいて説明したが、本発明は上記実施形態に限定されない。本発明は、上記複数の実施形態およびそれらの変形例の矛盾しない範囲での任意の種々の組み合わせ、および、上記複数の実施形態およびそれらの変形例の一部のみを含む実施形態を許容する。本発明は、種々の形式の2つ以上の気筒を有する多気筒エンジンに適用され得、ポート噴射形式のエンジンのみならず、筒内噴射形式のエンジン、ガスを燃料として用いるエンジンなどにも適用され得る。また、本発明が適用されるエンジンの気筒数、気筒配列形式などは任意である。また、上記実施形態では、出力変動を判断または評価するために回転変動量を用いた。しかし、他の値または量が用いられることができる。例えば、各気筒に筒内圧センサを設けて、該筒内圧センサからの出力に基づいて出力変動が判断されてもよい。または、内燃機関の各気筒の燃焼室内で混合気の燃焼に伴って発生するイオン電流を検出するための手段センサを設けて、検出されたイオン出力に基づいて出力変動が判断されてもよい。本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"