"多気筒内燃機関の排気通路に設けられた触媒の暖機中に、点火時期を遅角する遅角制御を実行する遅角制御手段と、気筒間空燃比のばらつき度合いに相関するパラメータを検出する検出手段と、前記検出手段により、所定程度以上のばらつき度合いに相当するパラメータが検出されたとき、前記遅角制御における遅角量を減少する遅角量減少手段と、を備えたことを特徴とする内燃機関の制御装置。前記遅角量減少手段は、遅角量を減少する際、検出されたパラメータに応じて遅角量の減少量を変化させることを特徴とする請求項1に記載の内燃機関の制御装置。前記遅角量減少手段は、遅角量を減少する際、検出されたパラメータが、気筒間空燃比のばらつき度合いが大きくなるような値であるほど、遅角量の減少量を多くすることを特徴とする請求項1または2に記載の内燃機関の制御装置。前記検出手段により検出されたパラメータに基づき、気筒間空燃比ばらつき異常を検出する異常検出手段をさらに備え、前記遅角量減少手段は、前記異常検出手段によりばらつき異常が検出されたとき、遅角量を、ばらつき異常の無い正常時の遅角量に対し減少することを特徴とする請求項1~3のいずれか一項に記載の内燃機関の制御装置。ところで、多気筒内燃機関において、例えば一部の気筒の燃料噴射系が故障するなどして、気筒間の空燃比が比較的大きくばらつくことがある。このような空燃比ばらつきが発生すると、空燃比がリッチの気筒とリーンの気筒とが混在する。そしてこのばらつき状態において前述のような暖機中遅角制御が実施されると次の問題が起こる。すなわち、遅角制御により元々の燃焼状態が不安定であることに加え、リーン気筒では燃料量も不十分である。よってリーン気筒において燃焼状態がさらに不安定となり、エミッションや回転変動が悪化する。そこで本発明は上記事情に鑑みて創案され、その目的は、気筒間空燃比ばらつきが発生した状態で暖機中遅角制御を実行した場合の燃焼状態の安定化を図り得る内燃機関の制御装置を提供することにある。本発明の一の態様によれば、多気筒内燃機関の排気通路に設けられた触媒の暖機中に、点火時期を遅角する遅角制御を実行する遅角制御手段と、気筒間空燃比のばらつき度合いに相関するパラメータを検出する検出手段と、前記検出手段により、所定程度以上のばらつき度合いに相当するパラメータが検出されたとき、前記遅角制御における遅角量を減少する遅角量減少手段と、を備えたことを特徴とする内燃機関の制御装置が提供される。好ましくは、前記遅角量減少手段は、遅角量を減少する際、検出されたパラメータに応じて遅角量の減少量を変化させる。好ましくは、前記遅角量減少手段は、遅角量を減少する際、検出されたパラメータが、気筒間空燃比のばらつき度合いが大きくなるような値であるほど、遅角量の減少量を多くする。好ましくは、前記制御装置は、前記検出手段により検出されたパラメータに基づき、気筒間空燃比ばらつき異常を検出する異常検出手段をさらに備え、前記遅角量減少手段は、前記異常検出手段によりばらつき異常が検出されたとき、遅角量を、ばらつき異常の無い正常時の遅角量に対し減少する。本発明によれば、気筒間空燃比ばらつきが発生した状態で暖機中遅角制御を実行した場合の燃焼状態の安定化を図ることができるという、優れた効果が発揮される。以下、本発明の実施形態を添付図面に基づき説明する。図1は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関エンジン1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室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で点火燃焼させられる。なおインジェクタは燃焼室3内に燃料を直接噴射するものであってもよい。一方、各気筒の排気ポートは排気マニフォールド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等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。スロットルバルブ10にはスロットル開度センサ図示せずが設けられ、スロットル開度センサからの信号がECU20に送られる。ECU20は、通常、アクセル開度に応じて定まる目標スロットル開度に、スロットルバルブ10の開度スロットル開度をフィードバック制御する。ECU20は、エアフローメータ5からの信号に基づき、単位時間当たりの吸入空気の量である吸入空気量すなわち吸気流量を検出する。そしてECU20は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン1の負荷を検出する。ECU20は、クランク角センサ16からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン1の回転数を検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では1分間当たりの回転数rpmのことをいう。またECU20には、内燃機関1の冷却水の温度水温を検出する水温センサ21が電気的に接続されている。ECU20は、水温センサ21からの信号に基づき水温を検出する。触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図2に触媒前センサ17の出力特性を示す。図示するように、触媒前センサ17は、排気空燃比に比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキであるときの出力電圧はVreff例えば約3.3Vである。他方、触媒後センサ18は所謂O2センサからなり、ストイキを境に出力値が急変する特性を持つ。図2に触媒後センサ18の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はVrefr例えば0.45Vである。触媒後センサ18の出力電圧は所定の範囲例えば0~1V内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Vrefrより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Vrefrより高くなる。上流触媒11及び下流触媒19は、それぞれに流入する排気ガスの空燃比A/Fがストイキ近傍のときに排気中の有害成分であるNOx,HCおよびCOを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこで通常運転時、上流触媒11に流入する排気ガスの空燃比が目標空燃比であるストイキに近づくよう、空燃比フィードバック制御がECU20により実行される。この空燃比フィードバック制御は、触媒前センサ17によって検出された空燃比をストイキに近づけるようなメイン空燃比フィードバック制御と、触媒後センサ18によって検出された空燃比をストイキに近づけるようなサブ空燃比フィードバック制御とからなる。なお、このように目標空燃比をストイキとする空燃比フィードバック制御をストイキ制御という。ストイキは基準空燃比をなす。また本実施形態では、上流触媒11の暖機中に点火時期を遅角する遅角制御がECU20により実行される。すなわち、図3に示すように、遅角制御中において点火時期は、上流触媒11が暖機後若しくは暖機終了後であるという前提の下で設定される基本点火時期θig1に対し、クランク角θの進行方向に遅角量Aだけ遅角された点火時期θig2に設定される。この点火時期の遅角は、同一の遅角量Aを用いて全気筒に対し一律に行われる。上流触媒11が暖機中か否かの判断については後述する。基本点火時期θig1は、エンジン1の回転数および負荷に基づき所定のマップ関数でもよい。以下同様を利用して設定される。さて、例えば全気筒のうちの一部の気筒特に1気筒の燃料噴射系等が故障し、気筒間に空燃比のばらつきインバランス:imbalanceが発生する場合がある。例えば1気筒のインジェクタ12が故障し、1気筒が他の2、3及び4気筒よりも燃料噴射量が多くなり、その空燃比が大きくリッチ側にずれる場合等である。なお、このときでも前述のストイキ制御により比較的大きな補正量を与えれば、触媒前センサ17に供給されるトータルガスの空燃比をストイキに制御できる場合がある。しかし、気筒別に見ると、1気筒がストイキより大きくリッチ、2、3及び4気筒がストイキより若干リーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。よってかかる気筒間空燃比ばらつき異常をオンボードで検出する装置異常検出手段が本実施形態においても装備されている。ところで、気筒間空燃比ばらつきが発生すると、空燃比がリッチの気筒とリーンの気筒とが混在する。そしてこのばらつき状態において前述の遅角制御が実施されると次の問題が起こる。すなわち、遅角制御により元々の燃焼状態が不安定であることに加え、リーン気筒では燃料量も不十分である。よってリーン気筒において燃焼状態がさらに不安定となり、エミッションや回転変動が悪化する。そこでこの問題を解決するため、本実施形態においては、気筒間空燃比のばらつき度合いに相関するパラメータを検出し、所定程度以上のばらつき度合いに相当するパラメータが検出されたとき、そのようなパラメータが検出されない場合に比べ、遅角制御における遅角量を減少する。気筒間空燃比ばらつきが発生すると触媒温度が上昇する傾向にある。従ってこの上昇分、遅角量を減少することによって、同等の触媒暖機性能を確保しつつ、リーン気筒における燃焼状態を向上することが出来る。結果的に、気筒間空燃比ばらつきが発生した状態で暖機中遅角制御を実行した場合の燃焼状態の安定化を図ることができる。そしてエミッションや回転変動の悪化を抑制することができる。ここで、気筒間空燃比ばらつきが発生した場合の触媒温度上昇について説明する。図4に示すように、気筒間空燃比ばらつきが発生すると、1エンジンサイクル=720°CA間での排気空燃比の変動が大きくなる。Bの空燃比線図a,b,cはそれぞればらつき無し、1気筒のみ20のインバランス割合でリッチずれ、及び1気筒のみ50のインバランス割合でリッチずれの場合の、触媒前センサ17による検出空燃比A/Fを示す。見られるように、ばらつき度合いが大きくなるほど空燃比変動の振幅が大きくなる。ここでインバランス割合とは、気筒間空燃比のばらつき度合いに相関する一つのパラメータである。即ち、インバランス割合とは、全気筒のうちある1気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒インバランス気筒の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒バランス気筒の燃料噴射量即ち基準噴射量からズレているかを示す値である。インバランス割合をIB、インバランス気筒の燃料噴射量をQib、バランス気筒の燃料噴射量即ち基準噴射量をQsとすると、IB=Qib-Qs/Qsで表される。インバランス割合IBが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。気筒間空燃比ばらつきが発生し、図4に示したような1エンジンサイクル間における排気空燃比の変動が生じると、上流触媒11において短い周期で酸化還元反応が繰り返され、上流触媒11の活性が促進される。その結果、気筒間空燃比ばらつきが無いときに比べ、上流触媒11の温度が上昇する。上流触媒11下流触媒19も同様は酸素吸蔵能O2ストレージ能を有し、供給された排気ガスの空燃比がストイキよりリーンのときに排気ガス中の過剰酸素を吸着保持する一方、供給された排気ガスの空燃比がストイキよりリッチのときには吸着保持していた酸素を放出する。このときの酸素吸着が酸化反応、酸素放出が還元反応である。図4に示したように、気筒間空燃比ばらつきが発生すると上流触媒11に供給される排気ガスの空燃比が1エンジンサイクル間でリーン、リッチと変化するので、その度に酸化還元反応が行われ、上流触媒11の温度が上昇する。次に、本実施形態において使用される、空燃比ばらつき度合いに相関する別のパラメータを説明する。以下、前述のインバランス割合は単に説明目的のためだけに用いる。図4から理解されるように、インバランス割合が大きいほど、すなわち空燃比ばらつき度合いが大きいほど、触媒前センサ17の出力変動が大きくなる。よってこの特性を利用し、本実施形態では、触媒前センサ17の出力変動度合いに相関する出力変動パラメータXを、空燃比ばらつき度合いに相関するパラメータとして用い、且つ出力変動パラメータXを検出若しくは算出する。以下に出力変動パラメータXの算出方法を説明する。図5は図4のU部に相当する拡大図であり、特に1エンジンサイクル内の触媒前センサ出力の変動を簡略的に示す。触媒前センサ出力としては、触媒前センサ17の出力電圧Vfを空燃比A/Fに換算した値を用いる。但し触媒前センサ17の出力電圧Vfを直接用いることも可能である。図5Bに示すように、ECU20は、1エンジンサイクル内において、所定のサンプル周期τ毎に、触媒前センサ出力A/Fの値を取得する。そして今回nのタイミングで取得した値A/Fnと、前回n-1のタイミングで取得した値A/Fn1との差の絶対値出力差というΔA/Fnを次式1により求める。この出力差ΔA/Fnは今回のタイミングにおける微分値あるいは傾きと言い換えることができる。最も単純には、この出力差ΔA/Fnが触媒前センサ出力の変動を表す。変動度合いが大きくなるほど空燃比線図の傾きが大きくなり、出力差ΔA/Fnが大きくなるからである。そこで所定の1タイミングにおける出力差ΔA/Fnの値を出力変動パラメータとすることができる。但し、本実施形態では精度向上のため、複数の出力差ΔA/Fnの平均値を出力変動パラメータXとする。本実施形態では、1エンジンサイクルの間、各タイミング毎に出力差ΔA/Fnを積算し、最終積算値をサンプル数Nで除し、1エンジンサイクル内の差ΔA/Fnの平均値を求める。そしてさらに、Mエンジンサイクル分例えばM=100だけ出力差ΔA/Fnの平均値を積算し、最終積算値をサイクル数Mで除し、Mエンジンサイクル内の出力差ΔA/Fnの平均値を求める。こうして求められた最終的な平均値を出力変動パラメータXとする。触媒前センサ出力の変動度合いが大きくなるほど出力変動パラメータXは大きくなる。なお、触媒前センサ出力A/Fは増加する場合と減少する場合とがあるので、これら各場合の一方についてだけ上記出力差ΔA/Fnあるいはその平均値を求め、これを出力変動パラメータとしても良い。特に1気筒のみリッチずれの場合、当該1気筒に対応した排気ガスを触媒前センサが受けた時にその出力が急速に減少リッチ側に変化する傾向があるので、減少側のみの値をリッチずれ検出のために用いることも可能である。もっとも、これに限定されず、増加側の値のみを用いることも可能である。また、触媒前センサ出力の変動度合いに相関する如何なる値をも出力変動パラメータとすることができる。例えば、1エンジンサイクル内における触媒前センサ出力の最大ピークと最小ピークの差所謂ピークトゥピークpeaktopeak、または2階微分値の最大ピークまたは最小ピークの絶対値に基づいて、出力変動パラメータを算出することもできる。触媒前センサ出力の変動度合いが大きいほど、触媒前センサ出力の最大ピークと最小ピークの差は大きくなり、また2階微分値の最大ピークまたは最小ピークの絶対値も大きくなるからである。図6には、インバランス割合IBと出力変動パラメータXの関係を示す。図示されるように、インバランス割合IBと出力変動パラメータXの間には強い相関関係があり、インバランス割合IBの絶対値が増加するほど空燃比変動パラメータXも増加する。本実施形態では、算出された出力変動パラメータXに基づき気筒間空燃比ばらつき異常が検出される。より詳細には、算出された出力変動パラメータXを所定の判定値αと比較して、気筒間空燃比ばらつき異常の有無が判定される。図6に示すように、算出された出力変動パラメータXが判定値α以上であればばらつき異常あり異常、算出された出力変動パラメータXが判定値αより小さければばらつき異常なし正常と判定される。そして本実施形態では、ばらつき異常ありと判定された場合のみ、前述の遅角量減少を実行する。但し、ばらつき異常の検出は任意であり省略可能である。ばらつき異常検出の有無に拘わらず、所定値以上の出力変動パラメータXが検出された場合に遅角量減少を実行することができる。図6に示すように、判定値αは、負のインバランス割合IB1および正のインバランス割合IB2に対応する値である。つまり本実施形態では、IB1以下のインバランス割合IBに相当する出力変動パラメータXが検出された場合と、IB2以上のインバランス割合IBに相当する出力変動パラメータXが検出された場合とに、所定程度以上のばらつき度合いに相当する出力変動パラメータXが検出されたとして、遅角量減少が実行される。以下、図7を参照してばらつき異常検出ルーチンを説明する。このルーチンはECU20によりサンプル周期τ毎に繰り返し実行される。まずステップS101では、異常検出を行うのに適した所定の前提条件が成立しているか否かが判断される。この前提条件は、例えば次の各条件が成立したときに成立する。1エンジンの暖機が終了している。ECU20は、水温センサ21により検出された水温が所定値例えば75°C以上であるとき暖機終了と判断する。2触媒前センサ17および触媒後センサ18が活性化している。ECU20は、両センサのインピーダンスがそれぞれ所定の活性温度相当の値になっているとき、両センサが活性化していると判断する。3上流触媒11および下流触媒19が活性化している。ECU20は、別途推定した上流触媒11および下流触媒19の温度がそれぞれ所定の活性温度相当の値になっているとき、両触媒が活性化していると判断する。4エンジンが定常運転中である。ECU20は、所定期間内において検出された吸入空気量Gaの変動幅が所定値以内であるときエンジンが定常運転中であると判断する。5エアフローメータ5により検出された吸入空気量Gaが所定値例えば20g/s以上である。6ストイキ制御中である。前提条件が成立していない場合にはルーチンが終了される。他方、前提条件が成立している場合にはステップS102に進んで異常検出が実質的に開始または実行される。ステップS102において、今回のサンプル時期nないしタイミングにおける触媒前センサ出力A/Fnが取得される。なお触媒前センサ出力A/Fnは触媒前センサ17の出力電圧Vfを空燃比に換算した値である。ステップS103において、今回のタイミングにおけるセンサ出力差ΔA/Fnが前式1より算出される。ステップS104において、センサ出力差ΔA/Fnが積算され、すなわち今回のタイミングにおける積算センサ出力差ΣΔA/Fnが次式2より算出される。ステップS105において、1エンジンサイクルが終了したか否かが判断される。終了してなければルーチンが終了され、終了した場合にはステップS106に進む。ステップS106では、今回の1エンジンサイクル終了時点における最終的な積算センサ出力差ΣΔA/Fnがサンプル数Nで除して平均化され、平均センサ出力差Rmが算出される。そしてステップS107において、平均センサ出力差Rmが積算され、すなわち今回のエンジンサイクル終了時点における積算平均センサ出力差ΣRmが次式3より算出される。次に、ステップS108において、Mエンジンサイクル但しMは2以上の整数で、例えば100が終了したか否かが判断される。終了してなければルーチンが終了され、終了した場合にはステップS109に進む。ステップS109では、Mエンジンサイクル終了時点における最終的な積算平均センサ出力差ΣRmがサイクル数Mで除して平均化され、出力変動パラメータXが算出される。すなわち、複数N×M個のセンサ出力差ΔA/Fnの平均値が最終的な出力変動パラメータXとして算出される。この算出もしくは検出された出力変動パラメータXは学習値としてECU20に記憶される。次いで、ステップS110において、出力変動パラメータXが判定値αと比較される。出力変動パラメータXが判定値α以上である場合、ステップS111に進んでばらつき異常有り、すなわち異常と判定され、ルーチンが終了される。なお異常判定と同時に、異常の事実をユーザに知らせるべくチェックランプ等の警告装置を起動するのが好ましい。他方、出力変動パラメータXが判定値α未満である場合、ステップS112に進んでばらつき異常無し、すなわち正常と判定され、ルーチンが終了される。これら正常または異常に関する情報もECU20に記憶される。次に、本実施形態における触媒暖機中の点火時期遅角制御を詳細に説明する。図8に、遅角制御における各遅角量を示す。まずAはベース遅角量A0を示し、この値はECU20に予め記憶されている。詳しくは後述するが、ベース遅角量A0は、アイドルのオンオフ状態および変速機ポジションに応じて異なる値に設定される。なお本実施形態の車両は、トルクコンバータおよび自動変速機を有するオートマチック車である。次にBは、比較例として、遅角量を減少しない場合の暖機遅角量すなわち標準遅角量A1を示し、標準遅角量A1は式:A1=A0×Bmapから算出される。Bmapは増量係数であり、図9に示すような所定の2次元マップを用いて、始動時水温Twと積算空気量ΣGaに基づき算出される。始動時水温Twとは、エンジン1が始動された時点、例えばエンジン1の完爆判定時点において水温センサ21により検出された水温のことである。また積算空気量ΣGaとは、エンジン1が始動された時点から積算される吸入空気量Gaの積算値のことである。図10に示すように、増量係数Bmapは、始動時水温Tw1が所定値Tw1以上のとき一定値としての1であり、始動時水温Tw1が所定値Tw1未満のとき始動時水温Twの低下につれ増大する。また図11に示すように、増量係数Bmapは、積算空気量ΣGaが所定値ΣGa1以上のとき一定値としての1であり、積算空気量ΣGaが所定値ΣGa1未満のとき積算空気量ΣGaの低下につれ増大する。これらの特性を1枚のマップに纏めたのが図9である。この図9のマップに従えば、始動時水温Tw1が低いほど、また積算空気量ΣGaが少ないほど、大きい増量係数Bmapが得られ、標準遅角量A1はベース遅角量A0に対しより増大される。具体的な制御の態様については、エンジン始動時点で始動時水温Twが例えば図示の如きTw2に決まり、エンジン運転時間の経過につれ積算空気量ΣGaがTw=Tw2のライン上で増加する。これに伴って増量係数Bmapが徐々に低下していく。そしてBmap=1となるような積算空気量ΣGa2に達した時点で、標準遅角量A1はベース遅角量A0に等しくなり、ベース遅角量A0に対する遅角量の増量は行われなくなる。そしてこの時点で上流触媒11の暖機が終了したと判断される。要するに、ベース遅角量A0に対する遅角量の増量が行われている間が上流触媒11の暖機中である。次にCは、本実施形態の一例として、遅角量を減少可能な場合の暖機遅角量A2を示す。暖機遅角量A2は式:A2=A0×Bmap×Cmap=A1×Cmapから算出される。Cmapは減量係数であり、図12に示すような所定の1次元マップを用いて、既に検出もしくは算出された出力変動パラメータXに基づき算出される。図12に示すように、減量係数Cmapは、出力変動パラメータXが前述の判定値α未満のとき一定値としての1であり、出力変動パラメータXが判定値α以上のとき出力変動パラメータXの増大につれ低下する。減量係数Cmapの最大値は1であり、減量係数Cmapの最小値はゼロとすることができる。すなわちこれは、検出された出力変動パラメータXが判定値α以上であり且つばらつき異常が検出された異常時に、遅角量が標準遅角量A1に対し減少されることを意味する。このとき、標準遅角量A1に対する遅角量の減少量は、検出された出力変動パラメータXに応じて変化し、特に出力変動パラメータXが大きい値であるほど多くなる。前述したように、出力変動パラメータXが大きい値であるほど、空燃比ばらつき度合いが大きく、上流触媒11の温度は上昇する傾向にある。よって遅角量減少量を出力変動パラメータXに応じて変化させ、特に出力変動パラメータXが大きい値であるほど多くすることによって、触媒温度上昇分に見合った適切な量だけ遅角量を減少することができる。よって遅角量減少量を最適化し、触媒暖機性能とリーン気筒における燃焼状態安定化を好適に両立することが可能である。他方、図12に示すマップによれば、検出された出力変動パラメータXが判定値α未満であり且つばらつき異常が検出されない正常時に、遅角量が標準遅角量A1に対し減少されず、標準遅角量A1と等しくされる。この場合、空燃比ばらつきに起因する上流触媒11の温度上昇が実質的に期待できず、遅角量減少を行ってしまうと触媒暖機性能が損なわれるので、遅角量減少は行わない。またリーン気筒が実質的に発生していないので、遅角量減少を行わなくても燃焼状態悪化が生じない。つまり、ばらつき異常の無い正常時には暖機遅角量A2が標準遅角量A1と等しくされ、ばらつき異常が検出されたときには暖機遅角量A2が標準遅角量A1に対し減少される。次に、図13を参照して、本実施形態における遅角量算出ルーチンを説明する。このルーチンはECU20によりサンプル周期τ毎に繰り返し実行される。まずステップS201では、アイドルオンか否か、すなわちエンジンがアイドル運転中か否かが判断される。アイドル運転中である場合はステップS202に進み、アイドル運転中でない場合アイドルオフの場合はステップS205に進む。ステップS202では、自動変速機が、非駆動ポジションであるニュートラルNまたはパーキングPレンジにあるか否かが判断される。NまたはPレンジにある場合、ステップS203において、暖機遅角量A2が式:A2=A0n×Bmap×Cmapから算出される。ここで、A0nは、アイドルオンで非駆動ポジションの場合に最適となるよう予め定められたベース遅角量である。減量係数Cmapは、ECU20に記憶された最新の学習値である出力変動パラメータXの値に基づき、図12のマップに従って算出される。増量係数Bmapは、エンジン始動時に定まる始動時水温Twと、現在の積算空気量ΣGaとの値に基づき、図9のマップに従って算出される。減量係数Cmapが乗算されるので、ばらつき異常が検出された場合には遅角量が標準遅角量A1から減少されることとなる。他方、ステップS202においてNまたはPレンジにない場合、すなわち自動変速機が駆動ポジションであるドライブDまたはリバースRレンジにある場合には、暖機遅角量A2が式:A2=A0d×Bmap×Cmapから算出される。A0dは、アイドルオンで駆動ポジションの場合に最適となるよう予め定められたベース遅角量である。減量係数Cmapおよび増量係数Bmapの算出方法は前記同様である。一方、ステップS205では、暖機遅角量A2が式:A2=A0f×Bmap×Cmapから算出される。A0fは、アイドルオフの場合に最適となるよう予め定められたベース遅角量である。減量係数Cmapおよび増量係数Bmapの算出方法は前記同様である。以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。上記の数値はあくまで例示であり、適宜変更が可能である。上記実施形態は、ばらつき異常検出の有無に応じて遅角量減少を実行不実行とするものであった。しかしながら、ばらつき異常検出の有無とは無関係に遅角量減少を行ってもよい。具体的には、遅角量減少の実行の是非を定めるしきい値を、ばらつき異常検出の判定値αと異なる値に設定してもよい。本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"