"内燃機関の吸気の状態量を検出する吸気系センサの検出値、燃料の要求噴射量および機関回転速度に基づき、新気量およびEGR量を推定するとともに排気酸素濃度を推定する推定手段と、前記内燃機関の定常運転時に排気酸素濃度センサにより検出された排気酸素濃度検出値と、前記推定手段による排気酸素濃度推定値との誤差に基づき、前記排気酸素濃度推定値に対する補正値を学習する補正値学習手段と、前記補正値により補正された排気酸素濃度推定値である補正後推定値を目標値に一致させるよう、EGR量を調整するEGRバルブの開度をフィードバック制御するEGRバルブ制御手段と、前記EGR量の規範値または前記新気量の規範値が前記内燃機関の運転領域毎に予め記憶された記憶手段と、前記排気酸素濃度検出値と前記補正後推定値との誤差が所定範囲内であり、かつ、前記補正後推定値と前記目標値との誤差が所定範囲内となっている安定制御時に、その時の運転領域に対応する前記規範値を前記記憶手段から取得する規範値取得手段と、前記安定制御時に前記推定手段により推定された前記EGR量または前記新気量と、前記規範値取得手段により取得された前記規範値との乖離量に基づき、燃焼状態を表した燃焼パラメータをその時の運転領域と関連付けて学習する燃焼パラメータ学習手段と、を備え、前記推定手段は、前記燃焼パラメータ学習手段により学習された前記燃焼パラメータの中から現時点での運転領域に対応する燃焼パラメータを取得し、その取得した燃焼パラメータを用いて排気酸素濃度を推定することを特徴とする内燃機関の制御装置。前記内燃機関の燃焼室へ燃料を噴射する時期、燃料の供給圧力、およびパイロット噴射量の少なくとも1つを、前記燃焼パラメータ学習手段により学習された前記燃焼パラメータに基づき補正することを特徴とする請求項1に記載の内燃機関の制御装置。ところで、特許文献1記載のモデル演算式には、以下に説明する空気系パラメータおよび燃焼系パラメータが用いられている。すなわち、空気系パラメータは、EGRガスおよび吸気の流通経路長や各種配管の断面積、シリンダ容積等に関するパラメータであり、主に内燃機関の構造により特定されるものである。一方、燃焼系パラメータは、燃料の燃焼度合い例えば、所定量の燃料が燃焼する際に消費する酸素量に関するパラメータであり、想定される使用燃料が想定される燃焼例えば完全燃焼をしていると仮定して設定されるものである。したがって、前記定常時学習で検出された誤差量には、空気系パラメータの真値に対する誤差構造誤差と、燃焼系パラメータの真値に対する誤差燃焼誤差の両方が含まれていると言える。よって、先述した定常時学習の学習値誤差量は、構造誤差および燃焼誤差の両方を補償するものといえる。そして、構造誤差は、内燃機関の機差ばらつきにより生じる。これに対し、燃焼誤差は、今まで使用していた燃料と異なる性状の燃料例えばバイオ燃料を使用した場合に、燃焼時に消費される酸素量が変化することに起因して生じる。従来技術では、燃料性状が変化し、想定している燃焼状態が達成できていない場合、補正後の排気酸素濃度推定値とA/Fセンサの出力値にずれが生じる。そのため、排気酸素濃度を推定するモデルは定常時学習により、補正後の排気酸素濃度推定値とA/Fセンサの出力値が一致するように学習を行う。その結果、補正後の排気酸素濃度推定値と目標排気酸素濃度との乖離が生じるため、EGRバルブをフィードバック制御させ、補正後排気酸素濃度と目標排気酸素濃度を一致させる。しかし、EGRバルブを作動させた結果、EGR量が変化するため、本来所望している量に対してEGR量に過不足が生じる可能性があった。つまり、現在の燃焼状態が想定する燃焼状態から変化した時、制御指標である排気酸素濃度を目標排気酸素濃度に一致させることで、EGR量に過不足が生じ、エミッション性能が悪化する可能性があるという課題がある。本発明は、上記課題を解決するためになされたものであり、その目的は、排気酸素濃度の推定精度向上を図った内燃機関の制御装置を提供することにある。以下、上記課題を解決するための手段、及びその作用効果について記載する。請求項1記載の発明では、内燃機関の吸気の状態量を検出する吸気系センサの検出値、燃料の要求噴射量および機関回転速度に基づき、新気量およびEGR量を推定するとともに排気酸素濃度を推定する推定手段と、前記内燃機関の定常運転時に排気酸素濃度センサにより検出された排気酸素濃度検出値と、前記推定手段による排気酸素濃度推定値との誤差に基づき、前記排気酸素濃度推定値に対する補正値を学習する補正値学習手段と、前記補正値により補正された排気酸素濃度推定値である補正後推定値を目標値に一致させるよう、EGR量を調整するEGRバルブの開度をフィードバック制御するEGRバルブ制御手段と、を備えることを前提とする。そして、前記EGR量の規範値または前記新気量の規範値が前記内燃機関の運転領域毎に予め記憶された記憶手段と、前記排気酸素濃度検出値と前記補正後推定値との誤差が所定範囲内であり、かつ、前記補正後推定値と前記目標値との誤差が所定範囲内となっている安定制御時に、その時の運転領域に対応する前記規範値を前記記憶手段から取得する規範値取得手段と、前記安定制御時に前記推定手段により推定された前記EGR量または前記新気量と、前記規範値取得手段により取得された前記規範値との乖離量に基づき、燃焼状態を表した燃焼パラメータをその時の運転領域と関連付けて学習する燃焼パラメータ学習手段と、を備え、前記推定手段は、前記燃焼パラメータ学習手段により学習された前記燃焼パラメータの中から現時点での運転領域に対応する燃焼パラメータを取得し、その取得した燃焼パラメータを用いて排気酸素濃度を推定することを特徴とする。ここで、排気酸素濃度の補正後推定値≒目標値、かつ、排気酸素濃度センサによる検出値≒補正後推定値となっている安定制御時には、先述した構造誤差が排気酸素濃度の推定に及ぼす影響は殆ど無く、推定値は燃焼誤差により大きく影響を受ける状態になる、との知見を本発明者は見出した。したがって、このような安定制御時に、EGR量または新気量と規範値とが乖離していれば、その乖離の原因は燃焼誤差燃焼パラメータの誤差であると言える。この点を鑑みた上記発明では、上記安定制御時における前記乖離量に基づき燃焼パラメータを学習し、その学習値を用いて排気酸素濃度を推定するので、燃焼誤差を補償できる。よって、排気酸素濃度の推定精度を向上できる。なお、燃焼誤差が補償された推定値に対して検出値との誤差補正値が補正値学習手段により学習されるので、この学習により構造誤差は補償されることになる。なお、上記発明では、EGR量の規範値または新気量の規範値は、内燃機関の運転領域に応じて異なる値になることを考慮している。すなわち、運転領域毎に規範値を記憶させておき、運転領域に応じた規範値を用いて燃焼パラメータを学習する。そして、現時点での運転領域に対応する学習値燃焼パラメータを用いて排気酸素濃度を推定するので、その推定精度を向上できる。請求項2記載の発明では、前記内燃機関の燃焼室へ燃料を噴射する時期、燃料の供給圧力、およびパイロット噴射量の少なくとも1つを、前記燃焼パラメータ学習手段により学習された前記燃焼パラメータに基づき補正することを特徴とする。ここで、燃焼パラメータ学習手段により学習された燃焼パラメータは、運転領域に応じた燃焼状態を表した値であるので、この燃焼パラメータに基づき内燃機関を制御すれば、燃焼状態を所望の状態にすることを高精度で実現できる。この点を鑑みた上記発明では、燃料の噴射時期、供給圧力およびパイロット噴射量の少なくとも1つを、運転領域に応じた燃焼状態を表した燃焼パラメータの学習値に基づき補正するので、例えば、燃焼状態が悪い運転領域の場合には、燃料噴射時期を進角させて、所望の着火タイミングで燃料が着火するようにし、燃焼状態の悪化を是正できる。或いは、燃料の供給圧力を上昇させて噴射燃料の微粒化を促進させ、燃焼状態の悪化を是正できる。或いは、パイロット噴射量を増量させて、燃料の着火タイミングを是正することで、燃焼状態の悪化を是正できる。よって、燃焼状態を所望の状態にすることを高精度で実現できる。以下、本発明にかかる内燃機関の制御装置を具体化した各実施形態について、図面を参照しつつ説明する。なお、本実施形態では、自着火性の燃料軽油を燃焼室へ直接噴射して圧縮自着火燃焼させるエンジン内燃機関を想定している。第1実施形態図1は、エンジンの吸排気系システムの構成図である。当該エンジンは、排気管10から分岐して吸気管11に接続されるEGR配管12を備えている。このEGR配管12を通じて排気の一部EGRガスを吸気管11に戻して還流させることで、燃焼温度を下げてNOx低減等を図っている。EGR配管12には、EGR配管12の流通路を開閉するEGRバルブ13が備えられており、EGRバルブ13によるEGR配管12の流路面積を調整することで、EGRガスの流量EGR量が調整される。なお、EGRバルブ13の作動は電子制御装置ECU30により制御され、EGRバルブ13の全開作動時にEGR量は最大となり、全閉作動時にEGR量はゼロとなる。燃焼室15に流入する吸気は、スロットルバルブ16により流量調整された新気と、EGR配管12により還流するEGRガスとが混合したものであり、新気については、吸気管11に備えられたインタークーラ図示せずにより冷却され、EGRガスについては、EGR配管12に備えられたEGRクーラ図示せずにより冷却される。これらのクーラにより、新気およびEGRガスを冷却して体積減少密度上昇を図ることで、燃焼室15に流入する吸気の充填効率向上を図っている。排気管10と吸気管11には、排気の流速エネルギにより回転駆動して新気を圧縮する過給機19が備えられている。これにより、燃焼室15に流入する新気は過給されて充填効率が向上する。なお、過給圧を調整する機構を有した過給機19を採用する場合、その調整機構の作動は、エンジンの運転状態に応じてECU30が制御する。排気管10には、排気を浄化する浄化装置20が取り付けられている。浄化装置20の具体例としては、排気中のPMを捕集するためのDPFディーゼルパティキュレートフィルタ、排気中のNOxを浄化するNOx触媒や排気中のHCやCOを浄化する酸化触媒等が挙げられる。排気管10のうち浄化装置20の下流側には、排気中の酸素濃度を検出するA/Fセンサ21排気酸素濃度センサが取り付けられている。また、吸気管11には、吸気圧PM過給機19により圧縮されたガスの圧力を検出する吸気圧センサ22と、吸気温度TMを検出する吸気温センサ23と、単位時間あたりに流入する吸入空気の質量流量以下、単に吸入空気量又は吸気量と呼ぶを検出するエアフローメータ24吸気量センサが取り付けられている。これらのセンサ22~24吸気系センサおよびA/Fセンサ21排気系センサから出力される検出信号検出値は、ECU30に入力される。また、ECU30は、クランク軸の回転角を検出するクランク角センサ図示せずの検出信号に基づき、クランク軸の回転速度機関回転速度Neを算出するとともに、アクセル操作量センサ図示せずの検出信号に基づき要求エンジン出力エンジン負荷を算出する。さらにECU30は、上述した各種検出値に基づきEGRバルブ13および燃料噴射弁14の作動を制御する。つまり、エンジンの運転領域例えば機関回転速度Neおよびエンジン負荷の値がいずれの領域になっているかに応じて燃焼状態を制御する。詳細には、燃料噴射弁14の作動を制御するにあたり、高負荷高Neであるほど、燃料の要求噴射量Qrを増大させて、燃料噴射弁14の開弁時間を長くするようECU30は制御する。エンジン運転領域に応じて、多段噴射における噴射回数、各々の噴射量および噴射時期を制御する。また、ECU30は、EGRバルブ13の作動を制御するにあたり、エンジン運転領域例えば機関回転速度Neおよび要求噴射量Qrに応じて目標排気酸素濃度を設定する。そして、後述する推定手法により演算した排気酸素濃度の推定値が目標値目標排気酸素濃度と一致するよう、EGRバルブ13の開度をフィードバック制御する。ちなみに、EGR量が過少の場合には十分なNOx低減効果が得られず、EGR量が過大の場合には、気筒内の酸素が不足してパティキュレート特にスモークが増加する。そのため、本EGR制御は、スモークの発生量が急増する限界スモークリミットまでEGR量を増やすことで、NOxの低減を狙っている。そこで、スモークの発生量と相関が強い排気酸素濃度を制御指標とし、スモークリミットの排気酸素濃度を上述の目標排気酸素濃度に設定している。また、浄化装置20の状態に応じても目標排気酸素濃度は設定される。さらにECU30は、エンジン運転領域に応じて、燃料噴射弁14へ供給する燃料の圧力を制御する。この供給圧力は、各気筒の燃料噴射弁14へ燃料を分配するコモンレール内の圧力であり、コモンレールへ燃料を圧送する燃料ポンプの吐出量を制御することで調整する。ちなみに、供給圧力を高くするほど、燃料噴射弁14から噴射される燃料の微粒化が促進されて燃焼状態を向上できる。次に、先述した排気酸素濃度の推定手法について説明する。図2中のブロック図は、ECU30のマイクロコンピュータにより実施される各種処理を示すものであり、以下に説明するモデル演算手段31推定手段、遅れ補償手段33、モデル誤差学習手段34補正値学習手段、補正手段35、フィードバック制御手段36EGRバルブ制御手段による処理をECU30は実施する。そして、これらの処理により、排気酸素濃度が目標排気酸素濃度にフィードバック制御され、ひいてはEGR量が目標量に制御される。モデル演算手段31は、燃焼室15から排出された時点での排気酸素濃度を、物理モデルを用いて予測推定する。なお、前記物理モデルについては図3を用いて後に詳述する。ここで、モデル演算手段31による推定値は、燃焼室15から排出された時点での排ガスを対象とした酸素濃度である。この推定値の精度を向上させるため、A/Fセンサ21の検出値とのズレに基づいて補正が実施される。しかし、A/Fセンサ21の検出値は、A/Fセンサ21の取り付け位置に達した時点での排ガスを対象とした酸素濃度である。したがって、モデル演算手段31による推定値とA/Fセンサ21の検出値とでは遅れ時間によるずれが生じる筈である。遅れ補償手段33は、この遅れ時間によるずれ分を補償するよう、モデル演算手段31による推定値を補正する。そこで、モデル誤差学習手段34は、エンジンが定常運転している時に、A/Fセンサ21による検出値と、モデル演算手段31による推定値であって前記遅れ時間が補償された値との誤差を算出して学習する。この学習値は、モデル演算手段31の推定値に対する補正値に相当する。補正手段35は、モデル誤差学習手段34により学習された誤差補正値CLEALNを、モデル演算手段31による推定値に加算することで前記推定値を補正する。要するに、モデル演算手段31の物理モデルで用いられている各種パラメータは、エンジンの機差ばらつきや各種経年変化等により、規範値に対するずれが生じており、このずれが原因で推定誤差が生じる。そこで、エンジンの定常運転時におけるA/Fセンサ21の検出値を用いて推定誤差を補正している。フィードバック制御手段36は、このように補正された排気酸素濃度推定値と目標値との偏差に基づき、EGRバルブ13に対する駆動信号を出力する。これにより、排気酸素濃度推定値が目標値に一致するようEGRバルブ13の開度がフィードバック制御され、ひいてはEGR量が目標量に制御される。次に、モデル演算手段31により用いられる先述の物理モデルについて、図3を用いて説明する。吸気管モデル31aは、1回の吸気行程で燃焼室15に吸入された吸気に含まれる、新気の質量MDTHを演算する。具体的には、図3中の符号31aに示すモデル演算式に、MAFM、PIN、TINを代入してMDTHを演算する。MAFMは、エアフローメータ24による検出値を吸気行程期間で積分した値である。PINおよびTINは、エアフローメータ24からスロットルバルブ16までの吸気管11内の圧力および温度であり、ここでは吸気圧センサ22により検出される吸気圧PMをPINとして代用し、吸気温センサ23により検出される吸気温度TMをTINとして代用する。なお、式中のVINは吸気管11の容積、Rは気体定数であり、これらの値は定数として予め設定しておく。なお、吸気管モデル31aでは、エアフローメータ24で検出された新気量に対し、実際に燃焼室15へ流入する新気量はスロットルバルブ16で絞られることにより減少することを加味している。つまり、PINの微分値変化量ΔPINに基づき、気体の状態方程式にしたがって前記減少の量を算出し、その減少量をMAFMから減算してMDTHを演算する。シリンダモデル31bは、1回の吸気行程で燃焼室15に吸入された吸気の質量MCLDを、気体の状態方程式にしたがって演算する。具体的には、図3中の符号31bに示すモデル演算式に、η、PM、TMを代入してMCLDを演算する。ηは体積効率であり、エンジン回転速度Neおよび吸気圧PMに基づき算出した値を用いる。VCLDは、シリンダ25の容積である。EGR算出モデル31cは、1回の吸気行程で燃焼室15に吸入された吸気に含まれる、EGRガスの質量MEGRを演算する。具体的には、図3中の符号31cに示すモデル演算式に、MDTH、MCLD、PM、TMを代入してMEGRを演算する。MDTHおよびMCLDの値には、吸気管モデル31aおよびシリンダモデル31bの演算結果を用いる。VMは、吸気管11のうち、EGR配管12の接続部位から燃焼室15の吸入口に至るまでの容積であり、吸気マニホールドの容積を代用している。また、ΔPMは、吸気圧PMの微分値変化量である。なお、EGR算出モデル31cでは、吸気マニホールド内で吸気圧が変化することによりMEGRが変化することを加味している。つまり、質量保存則に基づき気体の状態方程式にしたがって、その圧力変化量を算出し、その量をMCLD-MDTHに加算してMEGRを演算する。吸気酸素濃度モデル31dは、今回の吸入行程で吸入された吸気の酸素濃度CMを演算する。具体的には、図3中の符号31dに示すモデル演算式に、MDTH、MEGR、CEGRを代入してCMを演算する。MDTHおよびMEGRには、吸気管モデル31aおよびシリンダモデル31bの演算結果を用いる。CEGRは、EGR配管12の下流端部でのEGRガスの濃度であり、EGRガス濃度モデル31eにより算出される値が用いられる。CAIRは空気の酸素濃度であり、この値は定数として予め設定しておく。EGRガス濃度モデル31eは、前回の燃焼時に演算された補正手段35による補正後の排気酸素濃度CEXに基づき、EGRガスがEGR配管12を流通するのに要する時間遅れ時間を考慮した値n1を加味してEGRガス濃度CEGRを演算する。なお、図2中の符号31eに示すモデル演算式で用いられる遅れ時間を考慮した値n1は、EGR配管12の容積とEGR流量に基づいて計算される。シリンダ内酸素濃度モデル31fは、新気とEGRガスが混合する部分での酸素濃度CMに基づいて算出する。なお、n2はガスの流入遅れを考慮した値で、定数あるいはエンジン回転数の関数でもよく、また、CMをなまし処理して用いてもよい。排気酸素濃度モデル31gは、今回の吸入行程で吸入された吸気と燃料の混合気が燃焼した時に生じる排気酸素の濃度CEX排気酸素濃度推定値を予測演算する。具体的には、図3中の符号31gに示すモデル演算式に、MCLD、CMCLD、MQ、K1fを代入してCEXを演算する。MCLDおよびCMCLDには、シリンダモデル31bおよびシリンダ内酸素濃度モデル31fの演算結果を用いる。MQは燃料噴射弁14に対する指令噴射量であり、先述した要求噴射量Qrに基づきECU30にて算出される。例えば、エンジン冷却水の温度に応じた補正値、気筒間の出力トルクのばらつきを是正する補正値を加味して、要求噴射量Qrを補正して指令噴射量MQを算出する。なお、符号31gに示すモデル演算式では指令噴射量MQを代入しているが、要求噴射量Qrを代入して演算するようにしてもよい。K1は、単位燃料量当りの消費酸素量であり、燃料が完全燃焼した場合を想定した値である。この値は、想定される使用燃料の物性値に基づき定数として予め設定しておく。K2は燃料の密度であり、この値も、想定される使用燃料の物性値に基づき定数として予め設定しておく。K1fは、消費酸素量の補正係数であり、燃料の燃焼状態を表した燃焼パラメータに相当する。具体的には、完全燃焼した場合の値を1とする燃焼度合いを表したパラメータであり、1以下の正の実数に設定されている。要するに、符号31gに示すモデル演算式中のK1K1fMQの項は、今回の燃焼行程における燃焼で消費された酸素量を示す。なお、この消費酸素量補正係数K1fは、後に詳述するように、エンジンの運転中に学習される。以上により、モデル演算手段31は、エアフローメータ24の検出値新気量MAFM、吸気温センサ23の検出値吸気温TM、吸気圧センサ22の検出値吸気圧PMおよび指令噴射量MQを取得し、これらの取得値を各種モデル演算式に代入して、排気酸素濃度CEXを予測演算する。なお、予測演算した排気酸素濃度CEXは、先述した補正手段35により補正され、フィードバック制御手段36によるEGRバルブ13のフィードバック制御に用いられる。図4は、ECU30が有するマイクロコンピュータによる上記フィードバック制御の処理手順を示すフローチャートであり、所定周期例えばマイコンの演算周期又は1燃焼サイクル毎で繰り返し実行される。なお、図中の処理で用いる各種マップMA,MB,MC,MDは、ECU30記憶手段のマイコンが有するメモリに記憶されている。なお、学習値の更新に用いられるマップMA,MB,MCは書き換え可能な不揮発性メモリに記憶され、後述する規範値MEGRnormを記憶する規範マップMDは書き換え不能な不揮発性メモリに記憶されている。先ず、図4に示すステップS10において、排気酸素濃度CEXの予測値を、先述した各種モデル演算式31a~31gにしたがってモデル演算手段31により演算する。以下、モデル演算手段31による演算値排気酸素濃度CEXをCEX_mdlと記載する。ここで、排気酸素濃度モデル31gで用いられる消費酸素量補正係数K1fは、マップMAから取得される。このマップMAは、エンジンの運転領域毎に学習値K1fLEARNを記憶している。マップMAの運転領域は、エンジン回転速度Neおよびエンジン負荷要求噴射量Qrに基づいて複数の領域に分割した領域である。つまり、現時点での運転領域に対応する消費酸素量補正係数K1fをマップMAから取得する。なお、このようにマップMAに学習値K1fLEARNを直接記憶させることに換え、次のようにK1fを算出してもよい。すなわち、エンジン運転領域に対応する番号が記憶されたマップを予め作成しておく。そして、そのマップを参照して運転領域に応じた番号を取得する。その後、取得した番号に対応する消費酸素量補正係数K1fを算出するメモリから読み出す。続くステップS11では、ステップS10で予測演算した排気酸素濃度CEX_mdlを、モデル誤差学習手段34の学習値補正値CLEALNを用いて補正手段35により補正する。以下、補正手段35による補正後の排気酸素濃度CEXを補正後推定値CEX_sと記載する。図4の例では、CEX_mdlにCLEALNを加算してCEX_sを算出するCEX_s=CEX_mdlCLEALN。続くステップS12では、現時点での運転領域に基づき目標排気酸素濃度CEX_trg目標値を算出する。例えば、運転領域エンジン回転速度Neおよびエンジン負荷毎に目標排気酸素濃度CEX_trgの適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、目標排気酸素濃度CEX_trgとして採用する。続くステップS13では、エンジンが定常運転の状態であることを条件として、先述したモデル誤差学習手段34によりCLEARNを演算する。エンジンが定常運転であるか否かの判定については、例えば要求噴射量Qrが所定範囲内である状態が所定時間以上継続した場合に、定常運転であると判定すればよい。演算した補正値CLEALNは、現時点での運転領域と関連付けてマップMBに記憶させる。このマップMBは、エンジンの運転領域毎に補正値CLEALNを記憶している。マップMBの運転領域は、エンジン回転速度Neおよびエンジン負荷要求噴射量Qrに基づいて複数の領域に分割した領域である。続くステップS14燃焼パラメータ学習手段では、ステップS10における排気酸素濃度モデル31gの演算式で用いる消費酸素量補正係数K1fを、エンジンが安定制御状態であることを条件として学習する。この学習手順については図5を用いて後述する。続くステップS15~S17EGRバルブ制御手段では、排気酸素濃度の補正後推定値CEX_sを目標値に一致させるよう、EGRバルブ13の開度をフィードバック制御する。詳細には、先ずステップS15において、現時点での運転領域に基づきEGRバルブ13の基本操作量IEBSEを算出する。例えば、運転領域エンジン回転速度Neおよびエンジン負荷毎にEGRバルブ開度の適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、EGRバルブ13の基本操作量IEBSEとして採用する。続くステップS16では、ステップS11で算出された補正後推定値CEX_sが目標値と一致するよう、補正後推定値CEX_sと目標値との偏差に基づきフィードバック補正値IEO2FBを算出する。なお、前記目標値は、現時点での運転領域に基づき算出すればよい。例えば、運転領域エンジン回転速度Neおよびエンジン負荷毎に目標排気酸素濃度の適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、目標排気酸素濃度として採用する。続くステップS17では、ステップS15で算出した基本操作量IEBSEおよびステップS16で算出したフィードバック補正値IEO2FBに基づき、EGRバルブ13の操作量IEFINを算出し、その操作量IEFINに相当する駆動信号をEGRバルブ13に出力する。例えば、基本操作量IEBSEにフィードバック補正値IEO2FBを加算して操作量IEFINを算出すればよいIEFIN=IEBSEIEO2FB。図5は、図4のステップS14にて実行される消費酸素量補正係数K1fの学習手順を示すフローチャートである。先ず、図5のステップS20において、現時点でのエンジン運転状態エンジン回転速度Ne、要求噴射量Qrが、先述したマップMAの領域のいずれに該当するかを判定する。続くステップS21では、ステップS20で判定した運転領域に対応する消費酸素量補正係数K1fを、先述のマップMAから取得し、制御用RAMに格納する。続くステップS22では、図4のステップS12で算出した目標排気酸素濃度CEX_trgと、ステップS11で算出した補正後推定値CEX_sとの誤差が、所定範囲内となっているか否かを判定する。例えば、CEX_trg-CEX_sの絶対値が所定値CEX_del以下であれば所定範囲内であると判定する。続くステップS23では、A/Fセンサ21により検出された排気酸素濃度の検出値CEX_sensorと、ステップS11で算出した補正後推定値CEX_sとの誤差が、所定範囲内となっているか否かを判定する。例えば、CEX_sensor-CEX_sの絶対値が所定値CEX_del以下であれば所定範囲内であると判定する。図5の例では、ステップS22の判定に用いる所定値CEX_delと、ステップS23の判定に用いる所定値CEX_delに同一の値を用いているが、別々の値を用いてもよい。いずれにしても、所定値CEX_delは定数として予め設定しておく。いずれの誤差も所定範囲内であると判定されればS22:YESかつS23:YES、安定制御時であるとみなしてステップS24規範値取得手段に進み、EGR算出モデル31cで算出したEGR量MEGRを取得するとともに、現時点での運転領域に対応するEGR量の規範値MEGR_normを取得する。例えば、運転領域エンジン回転速度Neおよびエンジン負荷毎にEGR量の規範値MEGR_normを予め設定して規範マップMDに記憶させておく。そして、規範マップMDに記憶された規範値の中から現時点での運転領域に応じた規範値を取得する。規範マップMDに記憶させる規範値は、基準となる規範エンジンを用いて計測したEGR量を採用する。すなわち、規範エンジンが安定制御の状態になった時のEGR量を計測する試験を、エンジンの運転領域毎に実施する。そして、その運転領域毎の計測結果を、規範値MEGR_normとして規範マップMDに記憶させておく。なお、規範マップMDでの運転領域の分割数とその分割領域は、消費酸素量補正係数K1fの学習マップMAでの運転領域と一致させている。続くステップS25では、ステップS24で取得したEGR量MEGRと規範値MEGR_normとの乖離量ΔMEGRを算出するΔMEGR=MEGR_norm-MEGR。続くステップS26では、ステップS25で算出した乖離量ΔMEGRが所定値MEGR_del以上であるか否かを判定し、ステップS28では、ステップS25で算出した乖離量ΔMEGRが所定値-MEGR_del以下であるか否かを判定する。なお、図5の例では、両判定に用いる所定値の絶対値が同一に設定されている。ΔMEGR≧MEGR_delと判定された場合にはS26:YES、推定したEGR量MEGRが推定誤差により過小値になっていると見なす。つまり、マップMAに記憶されている学習値消費酸素量補正係数K1fに相当が過大値になっていると見なす。そして、次のステップS27において、ステップS21で算出した消費酸素量補正係数K1fLEARNを減少させるように補正する。例えば、乖離量ΔMEGRの絶対値に積分定数Kl2を乗算して得られた値を、K1fLEARNから減算して補正する。ΔMEGR≦-MEGR_delと判定された場合にはS28:YES、推定したEGR量MEGRが推定誤差により過大値になっていると見なす。つまり、マップMAに記憶されている学習値消費酸素量補正係数K1fに相当が過小値になっていると見なす。そして、次のステップS29において、ステップS21で算出した消費酸素量補正係数K1fLEARNを増大させるように補正する。例えば、乖離量ΔMEGRの絶対値に積分定数Kl2を乗算して得られた値を、K1fLEARNに加算して補正する。続くステップS30では、ステップS27,S29にて算出された補正後のK1fLEARNに、マップMA中の値を更新学習する。なお、ΔMEGR<MEGR_delS26:NO、かつΔMEGR>-MEGR_delS28:NOと判定された場合には、ステップS30による学習を実施することなく図5の処理を終了する。要するに、安定制御の状態の時には、EGR算出モデル31cにより推定されたEGR量MEGRは規範値MEGR_normに一致する筈である。そのため、この安定制御時におけるMEGR_normに対するMEGRの乖離量ΔMEGRは、消費酸素量補正係数K1fの値のずれにより生じていると見なすことができる。そこで、マップMA中の学習値K1fLEARNを乖離量ΔMEGRに基づき補正して更新する。なお、ステップS27またはS29による補正が連続して繰り返されていくと、ステップS30における消費酸素量補正係数K1fLEARNが短時間で大きく変化することになる。すると、モデル演算手段31およびステップS10において排気酸素濃度CEX_mdlの推定に用いる消費酸素量補正係数K1fが、短時間で大きく変化することになるので、補正後推定値CEX_sも大きく変化することになる。但しこの場合には、安定制御の状態ではなくなり、ステップS22にて否定判定されるようになるので、消費酸素量補正係数K1fLEARNは安定制御状態になるまで補正されなくなる。図6は、燃料のメイン噴射時期を算出する処理手順を示すフローチャートであり、上述の如く学習した消費酸素量補正係数K1fの値を用いてメイン噴射時期を補正するものである。先ず、図6に示すステップS40において、現時点での運転領域エンジン回転速度Neおよびエンジン負荷に対応する消費酸素量補正係数K1fを、先述したマップMAから読み出す。続くステップS41では、現時点での運転領域に基づきメイン噴射の基本噴射時期TBASEを算出する。例えば、運転領域Ne,Qr毎にTBASEの適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、基本噴射時期TBASEの値として採用する。続くステップS42では、エンジン冷却水温度の検出値THWに基づき水温補正係数TTHWを算出する。続くステップS43では、吸気温センサ23の検出値TMに基づき吸気温補正係数TTMを算出する。続くステップS44では、大気圧の検出値PATMに基づき大気圧補正係数TPATMを算出する。続くステップS45では、現時点での運転領域に該当する消費酸素量補正係数K1fをマップMAから取得し、その取得した消費酸素量補正係数K1fに基づき燃焼補正係数TK1fを算出する。例えば、K1fを関数式に代入してTK1fを算出してもよいし、消費酸素量補正係数K1fに対応する燃焼補正係数TK1fの適合値を、マップMC図6参照に直接記憶させておき、マップMCから燃焼補正係数TK1fを取得してもよい。なお、マップMCに示す燃焼補正係数TK1fは、メイン噴射時期の進角補正量を表しており、K1fの値が1であれば、完全燃焼していると見なして燃焼補正係数TK1fをゼロに設定する進角補正量ゼロ。そして、K1fの値が小さいほど、燃焼度合いが低く燃焼状態が悪くなっているとみなして、燃焼補正係数TK1fの値進角補正量を大きい値に設定する。続くステップS46では、ステップS42~S45で算出した各種補正係数TTHW,TTHA,TPATM,TK1fに基づき、ステップS41で算出した基本噴射時期TBASEを補正して最終的なメイン噴射時期TFINを算出する。例えば、TBASEに各種TTHW,TTHA,TPATM,TK1fを加算してTFINを算出するTFIN=TBASETTHWTTHATPATMTK1f。以上により、本実施形態によれば、燃焼度合いの誤差を補償して排気酸素濃度を推定できるようになる。その理由を以下に説明すると、先ず、補正後推定値CEX_sに推定誤差が生じる主な原因として、モデル演算手段31の各種モデル演算式図3参照で用いられるパラメータ値が、実値からずれていることが挙げられる。上記パラメータのうち各種センサの検出値を除いては、以下に説明する空気系パラメータおよび燃焼系パラメータがある。空気系パラメータの具体例としては、図3を用いて先述した吸気管11の容積VIN、シリンダ25の容積VCLD、吸気管11の容積VM、EGR配管12の容積等が挙げられる。燃焼系パラメータの具体例としては、単位燃料量当りの消費酸素量K1、消費酸素量補正係数K1f、燃料の密度K2等が挙げられる。そして、排気酸素濃度の補正後推定値CEX_s≒目標値CEX_trg、かつ、排気酸素濃度センサによる検出値CEX_sensor≒補正後推定値CEX_sとなっている安定制御時には、先述した空気系パラメータの誤差各種配管容積の構造誤差が補正後推定値CEX_sの値に及ぼす影響は殆ど無く、補正後推定値CEX_sは燃焼パラメータの誤差燃焼誤差により大きく影響を受ける状態になる。特に、エンジンの運転領域に応じて燃焼状態燃焼度合いを制御するにあたり、その燃焼度合いを表した消費酸素量補正係数K1fは運転領域に応じて異なる値になる筈である。したがって、上述した安定制御時に、排気酸素濃度の補正後推定値CEX_sと規範値MEGR_normとの乖離量ΔMEGRが大きくなっていれば、その原因は消費酸素量補正係数K1fの誤差であると言える。この点を鑑みた本実施形態では、上記安定制御時における乖離量ΔMEGRに基づき消費酸素量補正係数K1fを補正して学習更新し図5参照、その学習値を用いて排気酸素濃度CEX_mdlを推定する図4のステップS10参照ので、燃焼度合いの誤差消費酸素量補正係数K1fの誤差を補償できる。よって、排気酸素濃度の推定精度を向上できる。なお、燃焼誤差が補償された排気酸素濃度CEX_mdlと検出値CEX_sensorとの誤差が、モデル誤差学習手段34により学習され、その学習値補正値CLEALNによりCEX_mdlを補正するので、この補正により、空気系パラメータの誤差構造誤差は補償される。さらに本実施形態では、運転領域毎に学習された消費酸素量補正係数K1fの値は、運転領域毎の燃焼度合いを表していることに着目し、消費酸素量補正係数K1fの学習値に基づきメイン噴射時期を補正している。よって、燃焼状態を所望の状態にすることを高精度で実現できる。要するに、本実施形態によれば、安定制御時の乖離量ΔMEGR、或いは消費酸素量補正係数K1fの学習値に基づき、燃焼度合いを把握できると言える。第2実施形態上記第1実施形態では、図5に示すように、モデル演算手段31により推定されたEGR量MEGRと規範値MEGR_normとの乖離量に基づき、消費酸素量補正係数K1fを学習している。これに対し本実施形態では、モデル演算手段31により推定された新気量MDTHと新気量の規範値MDTH_normとの乖離量に基づき、消費酸素量補正係数K1fを学習する。本実施形態によっても上記第1実施形態と同様の効果が発揮される。より詳細に説明すると、新気量の規範値MDTH_normは、運転領域エンジン回転速度Neおよびエンジン負荷毎に予め設定してマップに記憶させておく。そして、このマップに記憶された規範値の中から現時点での運転領域に応じた規範値を取得する。マップに記憶させる規範値MDTH_normは、基準となる規範エンジンを用いて計測した新気量を採用する。すなわち、規範エンジンが安定制御の状態になった時の新気量を計測する試験を、エンジンの運転領域毎に実施する。そして、その運転領域毎の計測結果を、規範値MDTH_normとしてマップに記憶させておく。要するに、安定制御の状態の時には、吸気管モデル31aにより推定された新気量MDTHは規範値MDTH_normに一致する筈である。そのため、この安定制御時におけるMDTH_normに対するMDTHの乖離量ΔMDTHは、消費酸素量補正係数K1fの値のずれにより生じていると見なすことができる。そこで、マップ中の学習値K1fLEARNを乖離量ΔMDTHに基づき補正して更新する。換言すれば、安定制御の状態の時には、新気量MDTHとEGR量MEGRとの割合は、規範エンジン等を用いて予め設定しておいた規範割合と一致する筈である。そのため、安定制御時における新気量MDTHと規範値MDTH_normとの乖離量に基づき、マップ中の学習値K1fLEARNを乖離量ΔMDTHに基づき補正して更新するようにしてもよい。第3実施形態上記各実施形態では、消費酸素量補正係数K1fが燃焼度合いを表していることを利用して、運転領域毎のK1fの値燃焼度合いに応じてメイン噴射時期を補正している。これに対し、燃料の供給圧力やパイロット噴射量を、運転領域毎のK1fの値に応じて補正するようにしてもよい。例えば、燃焼状態が悪い運転領域の場合には、燃料の供給圧力を上昇させて噴射燃料の微粒化を促進させ、燃焼状態の悪化を是正する。或いは、パイロット噴射量を増量させて燃料の着火性を促進させ、燃焼状態の悪化を是正する。なお、燃料の供給圧力コモンレール内の圧力は、コモンレールへ燃料を圧送する燃料ポンプの吐出量を制御することで調整する。なお、本実施形態にかかる供給圧力の補正と、パイロット噴射量の補正と、上記第1実施形態にかかるメイン噴射時期の補正とを、任意に組み合わせて実施するようにしてもよい。"