"多気筒内燃機関の排気通路に設けられた空燃比検出手段と、前記空燃比検出手段によって検出された排気ガスの空燃比が所定の目標空燃比となるように空燃比をフィードバック制御する空燃比制御手段と、前記排気通路内の排気ガスを吸気通路に環流させる外部EGRを実行するためのEGR手段と、前記空燃比制御の実行中に一部気筒の空燃比が前記目標空燃比からずれるずれ異常が発生したとき、当該ずれ異常および異常気筒を検出する異常検出手段と、前記空燃比制御および前記外部EGRの実行中に前記ずれ異常が検出されたとき、排気ガスの特定成分の影響による前記空燃比検出手段の検出誤差を補償するために前記目標空燃比を補正するずれ補正手段であって、検出された異常気筒が前記空燃比検出手段に対しガス当たりの強い気筒か弱い気筒かに応じて補正の態様を変更するずれ補正手段と、を備えることを特徴とする多気筒内燃機関の制御装置。前記ずれ補正手段は、前記異常気筒がガス当たりの強い気筒であるときには補正を行い、前記異常気筒がガス当たりの弱い気筒であるときには補正を行わないことを特徴とする請求項1に記載の多気筒内燃機関の制御装置。前記異常検出手段は、前記異常気筒の空燃比が前記目標空燃比からリーン側にずれるリーンずれ異常と、前記異常気筒の空燃比が前記目標空燃比からリッチ側にずれるリッチずれ異常とを区別して検出し、前記ずれ補正手段は、前記リーンずれ異常が検出された場合、前記異常気筒がガス当たりの強い気筒であるときには補正を行い、前記異常気筒がガス当たりの弱い気筒であるときには補正を行わず、且つ、前記リッチずれ異常が検出された場合、前記異常気筒がガス当たりの強い気筒であるときには補正を行わず、前記異常気筒がガス当たりの弱い気筒であるときには補正を行うことを特徴とする請求項1に記載の多気筒内燃機関の制御装置。前記ずれ補正手段は、前記異常気筒がガス当たりの強い気筒であるときには大きな補正量を用いて補正を行い、前記異常気筒がガス当たりの弱い気筒であるときには小さな補正量を用いて補正を行うことを特徴とする請求項1に記載の多気筒内燃機関の制御装置。前記ずれ補正手段は、前記補正を行う際、前記目標空燃比をリッチ側に補正することを特徴とする請求項1~4のいずれか一項に記載の多気筒内燃機関の制御装置。前記異常検出手段は、異常発生時における前記異常気筒の空燃比ずれ量をも検出し、前記ずれ補正手段は、前記補正を行う際、検出された空燃比ずれ量に応じて補正量を変更することを特徴とする請求項1~5のいずれか一項に記載の多気筒内燃機関の制御装置。前記異常検出手段によって異常が検出されたとき、全気筒のトータル空燃比をストイキに近づけるために燃料噴射量を補正する異常時補正手段をさらに備えることを特徴とする請求項1~6のいずれか一項に記載の多気筒内燃機関の制御装置。前記外部EGRのEGR率を算出するEGR率算出手段と、算出されたEGR率に基づいて前記目標空燃比を補正するEGR補正手段と、をさらに備えることを特徴とする請求項1~7のいずれか一項に記載の多気筒内燃機関の制御装置。排気ガス流量を検出する流量検出手段と、検出された排気ガス流量に基づいて前記目標空燃比を補正する流量補正手段と、をさらに備えることを特徴とする請求項1~8のいずれか一項に記載の多気筒内燃機関の制御装置。ところで、多気筒内燃機関において、例えば一部の気筒の燃料噴射系が故障するなどして気筒間の空燃比が大きくばらつくことがある。このような大きな空燃比ばらつきは排気エミッションを顕著に悪化させるため、異常として検出するのが好ましい。空燃比フィードバック制御と外部EGRの実行中に空燃比ばらつき異常が発生した場合、目標空燃比に対しリッチな気筒とリーンな気筒が混在するようになる。そしてリーンな気筒において、外部EGRが実行されていることも相俟って、燃焼が悪化し、H2,CO,HC等の未燃成分が比較的多く排出されるようになる。一方、空燃比フィードバック制御は空燃比センサの検出空燃比が目標空燃比になるようにする制御である。空燃比センサの検出空燃比は上記未燃成分特に水素H2の影響により真の値からずれる傾向にあり、このずれすなわち誤差を補償するための補正を行うことが考えられる。しかし、空燃比センサに対するガス当たり強さは気筒毎に異なる。よってかかる相違を考慮しないで一律に補正を行ってしまうと、補正が不適切となる虞がある。そこで本発明は、以上の事情に鑑みて創案され、その目的は、空燃比フィードバック制御と外部EGRの実行中に空燃比ばらつき異常が発生した場合に適切な補正を実行し得る多気筒内燃機関の制御装置を提供することにある。本発明の一の態様によれば、多気筒内燃機関の排気通路に設けられた空燃比検出手段と、前記空燃比検出手段によって検出された排気ガスの空燃比が所定の目標空燃比となるように空燃比をフィードバック制御する空燃比制御手段と、前記排気通路内の排気ガスを吸気通路に環流させる外部EGRを実行するためのEGR手段と、前記空燃比制御の実行中に一部気筒の空燃比が前記目標空燃比からずれるずれ異常が発生したとき、当該ずれ異常および異常気筒を検出する異常検出手段と、前記空燃比制御および前記外部EGRの実行中に前記ずれ異常が検出されたとき、排気ガスの特定成分の影響による前記空燃比検出手段の検出誤差を補償するために前記目標空燃比を補正するずれ補正手段であって、検出された異常気筒が前記空燃比検出手段に対しガス当たりの強い気筒か弱い気筒かに応じて補正の態様を変更するずれ補正手段と、を備えることを特徴とする多気筒内燃機関の制御装置が提供される。好ましくは、前記ずれ補正手段は、前記異常気筒がガス当たりの強い気筒であるときには補正を行い、前記異常気筒がガス当たりの弱い気筒であるときには補正を行わない。好ましくは、前記異常検出手段は、前記異常気筒の空燃比が前記目標空燃比からリーン側にずれるリーンずれ異常と、前記異常気筒の空燃比が前記目標空燃比からリッチ側にずれるリッチずれ異常とを区別して検出し、前記ずれ補正手段は、前記リーンずれ異常が検出された場合、前記異常気筒がガス当たりの強い気筒であるときには補正を行い、前記異常気筒がガス当たりの弱い気筒であるときには補正を行わず、且つ、前記リッチずれ異常が検出された場合、前記異常気筒がガス当たりの強い気筒であるときには補正を行わず、前記異常気筒がガス当たりの弱い気筒であるときには補正を行う。好ましくは、前記ずれ補正手段は、前記異常気筒がガス当たりの強い気筒であるときには大きな補正量を用いて補正を行い、前記異常気筒がガス当たりの弱い気筒であるときには小さな補正量を用いて補正を行う。好ましくは、前記ずれ補正手段は、前記補正を行う際、前記目標空燃比をリッチ側に補正する。好ましくは、前記異常検出手段は、異常発生時における前記異常気筒の空燃比ずれ量をも検出し、前記ずれ補正手段は、前記補正を行う際、検出された空燃比ずれ量に応じて補正量を変更する。好ましくは、前記制御装置は、前記異常検出手段によって異常が検出されたとき、全気筒のトータル空燃比をストイキに近づけるために燃料噴射量を補正する異常時補正手段をさらに備える。好ましくは、前記制御装置は、前記外部EGRのEGR率を算出するEGR率算出手段と、算出されたEGR率に基づいて前記目標空燃比を補正するEGR補正手段と、をさらに備える。好ましくは、前記制御装置は、排気ガス流量を検出する流量検出手段と、検出された排気ガス流量に基づいて前記目標空燃比を補正する流量補正手段と、をさらに備える。本発明によれば、空燃比フィードバック制御と外部EGRの実行中に空燃比ばらつき異常が発生した場合に適切な補正を実行することができるという、優れた効果が発揮される。以下、本発明の実施形態を添付図面に基づき説明する。図1は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関エンジン1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室3内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関1は自動車に搭載された多気筒内燃機関であり、より具体的には直列4気筒火花点火式内燃機関である。内燃機関1は1~4気筒を備える。但し気筒数、形式等は特に限定されない。図示しないが、内燃機関1のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁は、カムシャフトを含む動弁機構によって開閉駆動させられる。シリンダヘッドの頂部には、燃焼室3内の混合気に点火するための点火プラグ7が気筒ごとに取り付けられている。各気筒の吸気ポートは気筒毎の枝管4を介して吸気集合室であるサージタンク8に接続されている。サージタンク8の上流側には吸気管13が接続されており、吸気管13の上流端にはエアクリーナ9が設けられている。そして吸気管13には、上流側から順に、吸気流量すなわち吸入空気量を検出するためのエアフローメータ5と、電子制御式のスロットルバルブ10とが組み込まれている。吸気ポート、枝管、サージタンク8及び吸気管13により吸気通路が形成される。吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ燃料噴射弁12が気筒ごとに配設されている。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室3に吸入され、ピストンで圧縮され、点火プラグ7で点火燃焼させられる。一方、各気筒の排気ポートは排気マニフォールド14に接続される。排気マニフォールド14は、その上流部をなす気筒毎の枝管14aと、その下流部をなす排気集合部14bとからなる。排気集合部14bの下流側には排気管6が接続されている。排気ポート、排気マニフォールド14及び排気管6により排気通路が形成される。排気管6の上流側と下流側にはそれぞれ三元触媒からなる触媒、すなわち上流触媒11と下流触媒19が直列に取り付けられている。上流触媒11の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第1及び第2の空燃比センサ、即ち触媒前センサ17及び触媒後センサ18が設置されている。これら触媒前センサ17及び触媒後センサ18は、上流触媒11の直前及び直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出する。このように上流触媒11の上流側の排気合流部に単一の触媒前センサ17が設置されている。エンジン1にはEGR装置22が設けられる。EGR装置22は、排気通路内の排気ガスを吸気通路に環流させる外部EGR以下、単にEGRともいうを実行するためのものである。EGR装置22は、排気マニフォールド14の排気集合部14bとサージタンク8を結ぶEGR通路23と、EGR通路23に上流側から順に設けられたEGRクーラ24およびEGR弁25とを備える。EGRクーラ24は、排気通路から取り出した排気ガスすなわちEGRガスを冷却する。EGR弁25は、開閉作動してEGR通路23を流れるEGRガス流量を調節する。上述の点火プラグ7、スロットルバルブ10、インジェクタ12及びEGR弁25は、制御手段としての電子制御ユニット以下ECUと称す20に電気的に接続されている。ECU20は、何れも図示されないCPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。またECU20には、図示されるように、前述のエアフローメータ5、触媒前センサ17、触媒後センサ18のほか、内燃機関1のクランク角を検出するクランク角センサ16、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、スロットルバルブ10、インジェクタ12、EGR弁25を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度、EGRガス流量等を制御する。ECU20は、クランク角センサ16からのクランクパルス信号に基づき、クランク角自体を検出し、気筒判別を行うと共に、エンジン1の回転数を算出あるいは検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では1分間当たりの回転数rpmのことをいう。またECU20は、エアフローメータ5からの信号に基づき、吸気流量、すなわち単位時間当たりにエンジン1に吸入される空気の量である吸入空気量を算出あるいは検出する。そしてECU20は、吸入空気量に基づきエンジン1の負荷を算出あるいは検出する。触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図2に触媒前センサ17の出力特性を示す。図示するように、触媒前センサ17は、排気空燃比に比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキ理論空燃比、例えばA/F=14.5であるときの出力電圧は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によって検出された排気空燃比をストイキに一致させるような補助空燃比制御補助空燃比フィードバック制御とからなる。具体的には、ECU20は、触媒前センサ17によって検出された検出空燃比とストイキとの差に基づき主空燃比補正量を算出すると共に、触媒後センサ18によって検出された検出空燃比とストイキとの差に基づき補助空燃比補正量を算出する。そしてECU20は、検出した実際のエンジンパラメータ例えば回転数と負荷に基づいて定まる基本噴射量に、主空燃比補正量および補助空燃比補正量を加算または乗算して、検出空燃比とストイキとの差がゼロになるよう燃料噴射量を補正する。このストイキ制御は、所定の演算周期例えば1エンジンサイクル=720°CA毎に、全気筒に対し一律に行われる。すなわち、演算周期毎に更新される同一の主空燃比補正量および補助空燃比補正量が全気筒に対し一律に用いられる。但し主空燃比補正量の更新速度は補助空燃比補正量の更新速度より速く、前者が1演算周期毎に更新されるのに対し、後者は複数演算周期毎に更新される。なお、触媒後センサ18および補助空燃比制御は本発明において必ずしも必須ではなく、省略することも可能である。触媒前センサ17が本発明の空燃比検出手段に相当する。他方、EGR制御は次の方法で行われる。まずECU20は、検出した実際のエンジンパラメータ回転数と負荷に基づき、図3に示すようなマップを参照して、EGRの実行可否を判断する。ハッチングのある領域がEGR実行領域I、ハッチングのない領域がEGR非実行領域IIである。実際のエンジンパラメータがEGR実行領域Iにあるとき、ECU20はEGRを実行すべきと判断し、EGR弁25を開弁する。他方、実際のエンジンパラメータがEGR非実行領域IIにあるとき、ECU20はEGRを実行すべきでないと判断し、EGR弁25を全閉とする。EGRを実行すべきと判断したとき、ECU20は、エンジンパラメータおよび目標EGR率の関係を予め定めた図示の如きマップに従い、目標EGR率を決定する。そしてこの決定した目標EGR率に実際のEGR率が等しくなるように、EGR弁25の開度を制御する。ところで、上述したように、本実施形態の如き多気筒内燃機関にあっては、例えば全気筒のうちの一部の気筒特に1気筒の燃料噴射系特にインジェクタ12が故障するなどして、当該一部気筒の燃料噴射量が残部気筒の燃料噴射量と相違し、気筒間に空燃比のばらつきインバランス:imbalanceが発生する場合がある。例えば1気筒のインジェクタ12に噴孔詰まりや開弁不良が発生して、1気筒の燃料噴射量が他の2、3、4気筒よりも少なくなり、その空燃比が大きくリーン側にずれる場合等である。このときでも、前述のストイキ制御により比較的大きな補正量を与えれば、触媒前センサ17に供給されるトータルガス全気筒の排気ガスが合流してなるガスの空燃比以下、トータル空燃比というをストイキに制御できる場合がある。しかし、気筒別に見ると、1気筒がストイキより大きくリーン、2、3及び4気筒がストイキより若干リッチであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、このような気筒間空燃比ばらつき異常、具体的にはストイキ制御実行中に一部気筒の空燃比がストイキからずれるずれ異常の発生を検出する。このずれ異常の検出方法は後に詳細に述べる。図4AのA1には、ずれ異常発生時点における各気筒の空燃比A/Fの一例を示す。この例では、ずれ異常発生前図示せずに全気筒の空燃比がストイキ制御の結果ストイキに揃っていた。しかし、ずれ異常発生時点において噴孔詰まり等の理由により1気筒の燃料噴射量が過少となり、その空燃比が図示の如くストイキから大きくリーン側にずれてしまっている。すなわち1気筒においてリーンずれ異常が生じている。他方、残部の2,3,4気筒は正常であり、空燃比がストイキのままである。この例では、1気筒の空燃比が40のずれ割合でストイキからリーン側にずれている。ここでずれ割合空燃比ずれ割合ともいうとは、空燃比ずれ量のストイキに対する割合をいい、その値が図中に示されている。例えばストイキを14.5とすると、1気筒の空燃比ずれ量は14.5×0.4=5.8、空燃比は14.5×1.4=20.3である。他方、2,3,4気筒のずれ割合は0、空燃比ずれ量は0、空燃比は14.5である。ずれ割合は空燃比ずれ量の大きさを表す値である。仮にこの状態からストイキ制御がある程度の時間実行されたとすると、トータル空燃比がストイキになるよう、全気筒の燃料噴射量が一律に補正される。その結果、図4AA3に示すように、全気筒の空燃比はそれぞれ-10ずつリッチ側に補正され、1気筒のずれ割合は30、2,3,4気筒のずれ割合は-10となる。但しストイキに対しリーン側のずれ割合を正、リッチ側のずれ割合を負とする。一方、本実施形態では、EGRの実行中に排気ガスの特定成分による触媒前センサ17の検出誤差を補償するため、目標空燃比が補正される。この補正をEGR補正という。EGR補正はばらつき異常の有無に拘わらず、正常状態においても実行される補正である。EGRを実行すると、燃焼が緩慢化し、H2,CO,HC等の未燃成分が排気ガス中に比較的多く含まれるようになる。触媒前センサ17の検出空燃比は、未燃成分特に水素H2の影響により真の値からリッチ側にずれる傾向にある。このため、EGR実行中に未燃成分が排気ガス中に多く含まれると、触媒前センサ17が、ストイキよりリーンなガスを誤ってストイキと認識し、主空燃比制御の結果として生じる排気ガスはストイキよりリーンとなってしまう。こうなると触媒のNOx浄化率が低下し、NOx排出量が増大してしまう。そこでこの未燃成分影響による検出誤差を補償するため、EGR補正が実行され、制御中心である目標空燃比が僅かにリッチ側に補正される。これによりストイキのガスを触媒に供給し、検出誤差に起因するNOx排出量増大を抑制することができる。また、本実施形態では、排気ガス流量に基づいて目標空燃比を補正する流量補正も実行される。すなわち、エンジンの高負荷運転時であって排気ガス流量が比較的多いときには、三元触媒である上流触媒11および下流触媒19の浄化ウィンドウがリッチ側に若干移行する。この理由は次の通りである。上流触媒11および下流触媒19をなす三元触媒は、排気ガスがストイキよりリーンであると酸素を吸蔵してNOxを還元除去し、排気ガスがストイキよりリッチであると酸素を放出して未燃成分を酸化除去するという酸素吸放出能を有する。しかし排気ガス流量が多いと、ストイキのガスを流していても触媒内の雰囲気がストイキより若干リーンになり、酸素吸蔵能が不足し、NOx排出量が増加する傾向にある。また三元触媒の特性上、排気ガスの空燃比がストイキからリーン側にずれるとNOx浄化率が極端に悪化する。つまり三元触媒のNOxに対する耐性は未燃成分に対する耐性に比べて劣る。よって、NOxと未燃成分を同時に高効率で浄化するには、浄化ウィンドウを若干リッチ側に移行させる必要がある。そこでこの浄化ウィンドウのリッチ側への移行に合わせて、本実施形態では、排気ガス流量の増加に応じて目標空燃比をリッチ側に補正する。これにより排気ガスの空燃比を常に触媒の浄化ウィンドウに合わせることができ、排気ガス流量増加によるNOx排出量増大を抑制することができる。本実施形態では、排気ガス流量の代用値として吸入空気量を用い、吸入空気量をエアフローメータ5により検出することで排気ガス流量を間接的に検出している。しかしながら、排気通路に流量センサを設けて排気ガス流量を直接的に検出してもよい。これらEGR補正と流量補正における補正量それぞれEGR補正量および流量補正量というを図5を用いて説明する。図5には、EGR率横軸と、吸入空気量Gaと、両補正量のトータルの補正量縦軸との関係を示す。まずEGR率が大きいほどEGR補正量は大きくなり、目標空燃比はよりリッチ側に補正される。また吸入空気量Gaが大きいほど流量補正量は大きくなり、目標空燃比はよりリッチ側に補正される。従ってトータルの補正量は、図示されるように、EGR率が大きいほど、また吸入空気量Gaが大きいほど、大きくなる。本実施形態では、これらの関係を定めた補正量のマップがEGR補正と流量補正のそれぞれに対して個別にECU20に記憶されている。そしてECU20は、目標EGR率に対応した補正量と、吸入空気量Gaに対応した補正量とを各マップから算出し、これら補正量を用いて目標空燃比を補正する。なお、EGR補正と流量補正は本発明において必ずしも必須ではなく、省略も可能である。但しこれら補正の少なくとも一方を実施することは排気エミッションを向上し得る点で好ましい。ところで、上述のように、ストイキ制御は、触媒前センサ17の検出空燃比がストイキになるようにする制御である。触媒前センサ17の検出空燃比は上記未燃成分の影響により真の値からリッチ側にずれる傾向にある。一方、ストイキ制御とEGRの実行中にずれ異常が発生すると、ストイキよりリーン且つEGRガスを含む気筒が発生し、この気筒から未燃成分が多く排出される。この未燃成分の影響で、触媒前センサ17の検出空燃比に検出誤差が含まれるようになる。そこで本実施形態では、この検出誤差を補償するため、ずれ異常が検出されたとき、目標空燃比が補正される。この補正をずれ補正という。ずれ補正は、EGR補正と同様に未燃成分の影響による検出誤差を補償する目的で行われるが、ずれ異常が検出されたときにのみ行われる点で、EGR補正と異なる。一方、触媒前センサ17に対する排気ガスのガス当たり強さは気筒毎に異なる。よってかかる相違を考慮しないで一律にずれ補正を行ってしまうと、補正が不適切となる虞がある。そこで本実施形態では、異常気筒がガス当たりの強い気筒か弱い気筒かに応じて、ずれ補正の態様を変更する。以下、本実施形態においてずれ異常が検出されたときの補正方法および原理を図4を用いて説明する。なおここではストイキ制御およびEGRが常時行われているものとし、EGR補正および流量補正は便宜上無視する。よって目標空燃比Tはストイキである。図4において、上段のAは、異常気筒がガス当たりの強い気筒である場合を示し、下段のBは、異常気筒がガス当たりの弱い気筒である場合を示す。Aの場合、各気筒の空燃比A/FはA1,A2,A3,A4の順で変化していく。他方、Bの場合、各気筒の空燃比A/FはB1,B2,B3の順で変化していく。まずAについて、A1は上述したようにずれ異常発生時点の各気筒の空燃比A/Fを示す。この例では1気筒が、触媒前センサ17に対するガス当たりの強い気筒であり、このことが丸付き数字1で示されている。他の2,3,4気筒はガス当たりの弱い気筒である。ガス当たりの強い1気筒で40のずれ割合のリーンずれ異常が発生している。この異常が検出されたのと同時に、A2に示すように、全気筒のトータル空燃比をストイキに近づけるための燃料噴射量補正が実行される。この補正を異常時補正という。異常時補正は、ずれ異常が検出されたときにのみ行われ、且つ、異常気筒がガス当たりの強い気筒であるか弱い気筒であるかに拘わらず一律に行われる。異常時補正の方法については後に詳述する。A1の状態であるとき、触媒前センサ17は、トータル空燃比でずれ割合/気筒数=40/4=10のリーンずれがあると認識する。そこでこのリーンずれを極力、早期に解消するため、全気筒の燃料噴射量が一律に増量補正される。図示例ではずれ割合で-5の増量補正が行われており、この結果、1気筒のずれ割合は35、2,3,4気筒のずれ割合は-5となる。異常時補正を行うことにより、トータル空燃比を即座にストイキに近づけることができ、異常発生時の排気エミッション悪化を抑制できる。特にストイキから大きくリーン側にずれた異常気筒である1気筒の空燃比を即座にストイキに近づけられ、1気筒からのNOx排出量を即座に低減できる。このA2の状態からある程度の時間が経過すると、A3に示すように、ストイキ制御の結果、全気筒の燃料噴射量がさらに一律に増量補正され、トータル空燃比がストイキとなる状態に収束する。結果的に1気筒は30のずれ割合となり、2,3,4気筒は-10のずれ割合となる。しかし、このA3の状態では、ガス当たりの強い1気筒が未だストイキより大幅にリーンである。しかも1気筒にはEGRガスも混入している。従って1気筒の燃焼が極端に緩慢となり、1気筒から比較的大量の未燃成分が排出される。この未燃成分の影響を、触媒前センサ17が強く受けることから、触媒前センサ17の検出空燃比は真の空燃比よりリッチ側にずれる。つまりA3の状態で触媒前センサ17はトータル空燃比がストイキと認識しているが、実際にはトータル空燃比がストイキよりリーンとなっている。ここに検出誤差が存在する。仮にEGR補正が併せて実行されていたとしても、これのみではリッチ化が不足する。EGR補正はEGRに起因する検出誤差を補償するだけであり、ずれ異常に起因する検出誤差までは補償できないからである。よって、A4に示すように、ずれ補正が実行され、目標空燃比Tがストイキから、よりリッチ側の値T’に補正される。すると、目標空燃比をT’とする空燃比フィードバック制御により、全気筒の燃料噴射量が一律に増量補正される。図示例ではずれ割合で-2分の目標空燃比の補正および燃料噴射量増量補正が行われており、この結果、1気筒のずれ割合は28、2,3,4気筒のずれ割合は-12となる。この場合、触媒前センサ17から見ればトータル空燃比がストイキよりリッチであるが、実際にはトータル空燃比がストイキとなる。こうして実際の排気ガスをストイキに制御し、空燃比制御の精度を向上すると共に、異常発生時の排気エミッション悪化を抑制できる。次にBについて説明する。B1はA1と同様、ずれ異常発生時点の各気筒の空燃比A/Fを示す。この例では2気筒がガス当たりの強い気筒であり、このことが丸付き数字2で示されている。他の1,3,4気筒はガス当たりの弱い気筒である。ガス当たりの弱い1気筒で40のずれ割合のリーンずれ異常が発生している。この異常が検出されたのと同時に、B2に示すように、異常時補正が実行される。この点はAの場合と同様である。異常時補正の結果、1気筒のずれ割合は35、2,3,4気筒のずれ割合は-5となる。このB2の状態からある程度の時間が経過すると、B3に示すように、ストイキ制御の結果、全気筒の燃料噴射量がさらに一律に増量補正され、トータル空燃比がストイキとなる。結果的に1気筒は30のずれ割合となり、2,3,4気筒は-10のずれ割合となる。このB3の状態において、ストイキより大幅にリーンとなっているのはガス当たりの弱い1気筒であり、1気筒から比較的大量の未燃成分が排出されても、その影響を触媒前センサ17はあまり受けない。むしろ、触媒前センサ17が強く影響を受けるのは、ストイキより若干リッチとなっている2気筒の排気ガスである。この2気筒においては、EGRガスが混入しているものの、空燃比がリッチであることから、燃焼はそれほど緩慢とならず、未燃成分もそれほど排出されない。従って、触媒前センサ17がストイキと認識するトータル空燃比は、実際にもストイキであると考えられ、検出誤差はそれ程ないといって差し支えない。仮にEGR補正が併せて実行されていれば、これによるリッチ化で十分である。そこでこの場合には、ずれ補正が実行されない。これによっても実際のトータル空燃比をストイキとし、異常発生時の排気エミッション悪化を抑制できる。このように、異常気筒がガス当たりの強い気筒か弱い気筒かに応じて、ずれ補正の態様を変更するので、空燃比フィードバック制御と外部EGRの実行中にずれ異常が発生した場合、適切な補正を実行することができる。なお、ここで説明した例は、異常気筒がガス当たりの強い気筒であるときにはずれ補正を行い、異常気筒がガス当たりの弱い気筒であるときにはずれ補正を行わないものであった。しかしながら、他の方法も可能である。例えば、異常気筒がガス当たりの強い気筒であるときには比較的大きな補正量を用いてずれ補正を行い、異常気筒がガス当たりの弱い気筒であるときには比較的小さな補正量を用いてずれ補正を行ってもよい。例えば図4の例で述べると、Aに示したように異常気筒がガス当たりの強い1気筒であるときには、A3の状態からずれ割合で-2分のリッチ化補正を行った。これに対し、Bに示したように異常気筒がガス当たりの弱い1気筒であるときには、B3の状態からずれ割合で-1分のリッチ化補正を行うことが可能である。次に、逆のリッチずれ異常が検出されたときの補正方法および原理を図6を用いて説明する。図4と同様、Aは異常気筒がガス当たりの強い1気筒である場合を示し、Bは異常気筒がガス当たりの弱い1気筒である場合を示す。まずAについて、A1に示すように、ずれ異常発生時点において、ガス当たりの強い1気筒に-40のずれ割合のリッチずれ異常が発生している。この異常が検出されたのと同時に、A2に示すように異常時補正が行われ、全気筒一律に5分ずつの減量補正が実行される。この結果、1気筒のずれ割合は-35、2,3,4気筒のずれ割合は5となる。このA2の状態からある程度の時間が経過すると、A3に示すように、ストイキ制御の結果、全気筒の燃料噴射量がさらに一律に減量補正され、トータル空燃比がストイキとなる。結果的に1気筒は-30のずれ割合となり、2,3,4気筒は10のずれ割合となる。このA3の状態において、ガス当たりの強い1気筒の空燃比はストイキより大きくリッチである。従ってEGRガスが混入しているものの、1気筒からは未燃成分がそれほど排出されない。他方、ガス当たりの弱い2,3,4気筒の空燃比はストイキより若干リーンであるが、これら気筒から排出される未燃成分は触媒前センサ17にそれ程影響を与えない。よって触媒前センサ17の未燃成分影響による検出誤差はそれ程ないといえる。仮にEGR補正が併せて実行されていれば、これによるリッチ化で十分である。よって、図4のB3と同様、この場合にはずれ補正が実行されない。こうして実際のトータル空燃比をストイキとし、異常発生時の排気エミッション悪化を抑制できる。次に図6Bについて説明する。B1に示すように、ガス当たりの弱い1気筒で-40のずれ割合のリッチずれ異常が発生している。この異常の検出と同時に、B2に示すように、全気筒一律に減量補正する異常時補正が実行され、この結果、1気筒のずれ割合は-35、2,3,4気筒のずれ割合は5となる。このB2の状態からある程度の時間が経過すると、B3に示すように、ストイキ制御の結果、全気筒の燃料噴射量がさらに一律に減量補正され、トータル空燃比がストイキとなる。結果的に1気筒は-30のずれ割合となり、2,3,4気筒は10のずれ割合となる。このB3の状態において、ガス当たりの強い2気筒がストイキよりリーンであり、しかも2気筒にはEGRガスが混入している。従って2気筒の燃焼は緩慢となり、2気筒から比較的多くの未燃成分が排出される。この未燃成分の影響を、触媒前センサ17が強く受け、触媒前センサ17の検出空燃比は真の空燃比よりリッチ側にずれる。触媒前センサ17はトータル空燃比がストイキと認識しているものの、実際にはトータル空燃比がストイキよりリーンであり、ここに検出誤差が存在する。仮にEGR補正が併せて実行されていたとしても、これのみではリッチ化が不足する。そこでB4に示すように、ずれ補正が実行され、目標空燃比Tがストイキから、よりリッチ側の値T’に補正される。すると、目標空燃比をT’とする空燃比フィードバック制御により、全気筒の燃料噴射量が一律に増量補正される。図示例ではずれ割合で-2分の目標空燃比の補正および燃料噴射量増量補正が行われており、この結果、1気筒のずれ割合は-32、2,3,4気筒のずれ割合は8となる。こうして実際の排気ガスをストイキに制御し、空燃比制御の精度を向上すると共に、異常発生時の排気エミッション悪化を抑制できる。次に、本実施形態における補正ルーチンを図7を参照して説明する。図示するルーチンはECU20により所定の演算周期ここでは1エンジンサイクル毎に繰り返し実行される。なおこの補正ルーチンの実行中、ストイキ制御が図示しない別ルーチンにより常時実行されているものとする。まずステップS101では、流量補正量T1が算出される。このときECU20は、前述したように、エアフローメータ5により検出された吸入空気量Gaに対応した流量補正量T1を所定のマップから算出する。吸入空気量Gaが大きいほど流量補正量T1は大きい図5参照。次に、ステップS102において、EGRが実行中であるか否かが判断される。このときECU20は、検出されたエンジンパラメータ回転数と負荷が図3のマップのEGR実行領域Iにあるとき、EGR実行中と判断し、エンジンパラメータがマップのEGR実行領域IにないときEGR非実行領域IIにあるとき、EGR実行中でないと判断する。EGR実行中と判断された場合ステップS103に進み、EGR実行中でないと判断された場合ステップS112に進む。ステップS103においては、EGR補正量T2が算出される。このときECU20は、前述したように、検出されたエンジンパラメータに対応する目標EGR率を図3のマップから算出すると共に、この目標EGR率に対応したEGR補正量T2を所定のマップから算出する。目標EGR率が大きいほどEGR補正量T2は大きい図5参照。次に、ステップS104において、ばらつき異常ないし空燃比ずれ異常が検出されたか否かが判断される。この検出および判断は次の方法でなされる。本実施形態では、触媒前センサ17の出力に基づき各気筒の空燃比を個別に検出するようになっている。各気筒から排出された排気ガスは時間遅れを伴って次々と触媒前センサ17に接触し、これに応答して触媒前センサ17の検出空燃比も、各気筒の排気ガスの空燃比に対応した値に変化する。図8はこのような触媒前センサ17の検出空燃比A/Fの変化を示す。ECU20は、検出空燃比がどの気筒の排気ガスに対応する値かを自身の気筒判別機能および吸入空気量Ga等により常時把握している。そして1エンジンサイクル内に、ストイキから大きくすなわち所定値以上ずれた検出空燃比があった場合、この検出空燃比に対応した気筒に空燃比ずれ異常が発生したと判断する。こうしてECU20は空燃比ずれ異常の発生自体を検出する。逆にストイキから大きくずれた検出空燃比がない場合、空燃比ずれ異常は発生してないと判断する。ECU20は、検出空燃比Zからストイキ14.5を差し引いてなる空燃比差ΔZを算出し、この空燃比差ΔZの絶対値が、所定のずれ割合例えば30に相当する所定値例えば4.35以上となったとき、空燃比ずれ異常が発生したと判断する。図8において、実線は3気筒にリッチずれ異常が発生した場合の例を示し、破線は3気筒にリーンずれ異常が発生した場合の例を示す。図7に示すように、空燃比ずれ異常が検出された場合ステップS105に進み、空燃比ずれ異常が検出されてない場合ステップS112に進む。ステップS105においては、異常気筒が検出ないし特定される。すなわちECU20は、所定値以上の空燃比差ΔZの絶対値をもたらした検出空燃比Zに対応した気筒を、異常気筒として特定する。次にステップS106において、空燃比ずれ異常がリーンずれ異常であるかリッチずれ異常であるかが判別される。すなわちECU20は、所定値以上の空燃比差ΔZの絶対値をもたらした検出空燃比Zがストイキより大きい値であるとき、リーンずれ異常と判断し、当該検出空燃比Zがストイキより小さい値であるときリッチずれ異常と判断する。このように、リーンずれ異常とリッチずれ異常が区別して検出される。次にステップS107において、空燃比ずれ割合Rが算出される。すなわちECU20は、所定値以上の空燃比差ΔZの絶対値をもたらした検出空燃比Zの極大または極小ピーク値Zp図8参照を取得し、式:R=Zp-14.5/14.5により、空燃比ずれ割合Rを算出する。この空燃比ずれ割合Rが異常気筒の空燃比ずれ量に相当する値となる。なお、ステップS105~S107の空燃比ずれ異常検出、異常気筒特定、リーン/リッチずれ異常判別および空燃比ずれ割合算出は、公知方法を含む他の方法によって行ってもよい。例えば空燃比ずれ異常に起因した回転変動の増大や、補助空燃比制御学習値の変化等を利用してそれらを行ってもよい。次にステップS108において、空燃比ずれ異常がリーンずれ異常であるか否かが判断される。リーンずれ異常と判断された場合ステップS109に進み、リーンずれ異常でないリッチずれ異常であると判断された場合ステップS113に進む。ステップS109においては、異常時補正量Q1が算出される。このときECU20は、空燃比ずれ割合Rに対応した異常時補正量Q1を所定のマップから算出する。空燃比ずれ割合Rが正方向すなわちリーン方向に大きい値であるほど、正方向すなわち増量方向に大きい異常時補正量Q1が算出される。これにより、異常気筒の空燃比ずれ量の大きさに応じた適切な異常時補正が実行可能となる。なお、空燃比ずれ量の大きさに拘わらず、一定の値を有した異常時補正量Q1を算出してもよい。この場合、空燃比ずれ割合Rが正のとき一定の正の異常時補正量Q1が算出される。あるいは、トータル空燃比を一気にストイキとするような異常時補正量Q1を空燃比ずれ割合Rに基づき算出してもよい。例えば図4Aの例で述べれば、A1のとき異常気筒の空燃比ずれ割合Rは40であるので、これを気筒数4で除した値、すなわち10のトータル空燃比のリーンずれを補償するような-10相当の異常時補正量Q1を算出してもよい。こうすればA1の状態から即座にA3の状態に変化させることができ、ずれ異常発生時の排気エミッション悪化を即座に抑制することができる。次にステップS110において、ステップS105で特定された異常気筒がガス当たりの強い気筒であるか否かが判断される。すなわちECU20は、ガス当たりの強弱に関する気筒情報を予め記憶しており、この情報に基づいて当該判断を行う。異常気筒がガス当たりの強い気筒であると判断された場合ステップS111に進み、異常気筒がガス当たりの強い気筒でない弱い気筒であると判断された場合ステップS111をスキップしてステップS112に進む。ステップS111では、ずれ補正量T3が算出される。このときECU20は、ステップS107で算出された空燃比ずれ割合Rに対応したずれ補正量T3を所定のマップから算出する。空燃比ずれ割合Rが正方向すなわちリーン方向に大きい値であるほど、正方向すなわちリッチ化方向に大きいずれ補正量T3が算出される。こうして、ずれ補正量は空燃比ずれ量に応じて変更される。こうする理由は、空燃比ずれ割合Rの絶対値が大きいほどすなわち空燃比ずれ量が大きいほど、ガス当たり強且つリーン気筒図4A3の1気筒および図6B3の2気筒のリーン度合いが大きくなり、未燃成分影響による検出誤差が大きくなるからである。逆にこうすることにより、未燃成分影響および検出誤差の大きさに応じた適切なずれ補正が実行可能となる。なお、空燃比ずれ量の大きさに拘わらず、一定の値を有したずれ補正量T3を算出してもよい。この場合、空燃比ずれ割合Rの値に拘わらず一定の正のずれ補正量T3が算出される。この後、ステップS112において、流量補正量T1、EGR補正量T2およびずれ補正量T3に基づき、目標空燃比が補正される。この場合、基準の目標空燃比であるストイキ14.5から正の各補正量T1~T3が減算され、リッチ化された補正後の目標空燃比が算出される。また、ステップS112において、異常時補正量Q1に基づき燃料噴射量が補正される。この場合、正の異常時補正量Q1が加算されて増量補正後の燃料噴射量が算出される。なお、この異常時補正は異常検出時点で1回だけ行われる。以上でルーチンが終了する。ここで各補正量T1~T3,Q1のいずれかが未算出である場合もある。例えばステップS110において異常気筒がガス当たりの弱い気筒であると判断された場合、ずれ補正量T3は算出されない。この場合、未算出の補正量はゼロとされる。これにより未算出の補正量に対応した補正は実質的に行われないこととなる。ずれ補正は、ストイキ制御によってトータル空燃比がストイキになるのを待つことなく、空燃比ずれ異常検出と同時に先取り的に行われる。例えば図4Aの例で述べれば、A1に示されるような異常が検出されたのと同時に、A2に示されるような異常時補正と、A4に示されるようなずれ補正とが行われる。従って、ストイキ制御によってトータル空燃比がストイキに収束した時には、既に未燃成分影響による検出誤差は補償されていることになる。次に、ステップS108においてリッチずれ異常と判断された場合、ステップS113において異常時補正量Q1が算出される。このときにもECU20は、ステップS107で算出された空燃比ずれ割合Rに対応した異常時補正量Q1を所定のマップから算出する。空燃比ずれ割合Rが負方向すなわちリッチ方向に大きい値であるほど、負方向すなわち減量方向に大きい異常時補正量Q1が算出される。これにより、空燃比ずれ量の大きさに応じた適切な異常時補正が実行可能となる。なお、空燃比ずれ量の大きさに拘わらず、一定の値を有した異常時補正量Q1を算出してもよい。この場合、空燃比ずれ割合Rが負のとき一定の負の異常時補正量Q1が算出される。次にステップS114において、ステップS105で特定された異常気筒がガス当たりの強い気筒であるか否かが判断される。この判断の方法はステップS110と同じである。異常気筒がガス当たりの強い気筒であると判断された場合ステップS115をスキップしてステップS112に進み、異常気筒がガス当たりの強い気筒でない弱い気筒であると判断された場合ステップS115に進む。ステップS115では、ずれ補正量T3が算出される。このときECU20は、ステップS107で算出された空燃比ずれ割合Rに対応したずれ補正量T3を所定のマップから算出する。空燃比ずれ割合Rが負方向すなわちリッチ方向に大きい値であるほど、正方向すなわちリッチ方向に大きいずれ補正量T3が算出される。つまり空燃比ずれ割合Rがリーン方向に大きい値であっても、リッチ方向に大きい値であっても、常に正方向すなわちリッチ方向に大きいずれ補正量T3が算出される。よって燃料噴射量も常に増量側に補正される。なお、空燃比ずれ量の大きさに拘わらず、一定の値を有したずれ補正量T3を算出してもよい。この場合、空燃比ずれ割合Rの値に拘わらず一定の正のずれ補正量T3が算出される。このように、リーンずれ異常が検出された場合、異常気筒がガス当たりの強い気筒であるときにはずれ補正を行い、異常気筒がガス当たりの弱い気筒であるときにはずれ補正を行わない。また、リッチずれ異常が検出された場合、異常気筒がガス当たりの強い気筒であるときにはずれ補正を行わず、異常気筒がガス当たりの弱い気筒であるときにはずれ補正を行う。これにより、未燃成分影響による検出誤差が問題となり得る場合に限ってずれ補正を行うことができ、ずれ補正のより一層の適正化を図ることができる。以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば上記で示した数値はあくまで例示であり、他の数値に変更可能である。流量補正に関するステップS101、EGR補正に関するステップS103、異常時補正に関するステップS109,S113のうち、少なくとも一つを省略した実施形態も可能である。内燃機関は例えば直噴式やデュアル噴射式であってもよい。本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"