"駆動コイルの電磁力により弁体が開弁駆動される燃料噴射弁を備えた内燃機関の燃料噴射制御装置において、前記弁体のリフト量がフルリフト位置に到達する噴射パルスで前記燃料噴射弁を開弁駆動するフルリフト噴射と前記弁体のリフト量が前記フルリフト位置に到達しない噴射パルスで前記燃料噴射弁を開弁駆動するパーシャルリフト噴射とを実行する燃料噴射手段と、前記パーシャルリフト噴射の噴射パルスのオフ後に前記駆動コイルに流れる駆動電流に基づいて前記駆動コイルの直流重畳特性を考慮して前記駆動コイルのインダクタンスを算出し、該インダクタンスに基づいて前記パーシャルリフト噴射時における前記弁体のリフト量を推定するリフト量推定手段と、前記リフト量推定手段にて推定したリフト量に基づいて前記パーシャルリフト噴射の噴射パルスを補正する噴射パルス補正手段とを備えていることを特徴とする内燃機関の燃料噴射制御装置。前記燃料噴射手段は、前記パーシャルリフト噴射を実行する際に、内燃機関の運転状態に応じた要求噴射量を、前記パーシャルリフト噴射の噴射量と前記フルリフト噴射の噴射量とに分割して噴射することを特徴とする請求項1に記載の内燃機関の燃料噴射制御装置。前記リフト量推定手段は、所定の実行条件が成立した場合に前記パーシャルリフト噴射時のリフト量を推定するものであり、前記所定の実行条件は少なくとも内燃機関の負荷が所定値以上のときに成立し、前記所定値は、前記パーシャルリフト噴射の噴射量ばらつきによる空燃比ばらつきが所定の許容範囲内になるような吸入空気量に相当する値に設定されていることを特徴とする請求項1又は2に記載の内燃機関の燃料噴射制御装置。前記リフト量推定手段は、前記パーシャルリフト噴射の噴射パルスのオフ後に前記駆動コイルに流れる駆動電流を積分することで、前記駆動コイルの直流重畳特性を考慮して前記駆動コイルのインダクタンスを算出することを特徴とする請求項1乃至3のいずれかに記載の内燃機関の燃料噴射制御装置。前記リフト量推定手段は、前記弁体のリフト量以外の要因による前記インダクタンスの変化の情報として、前記パーシャルリフト噴射の噴射パルスのオンから前記駆動電流が所定値以上に増加するまでの所要時間を検出する立ち上がり時間検出手段と、前記立ち上がり時間検出手段により検出した所要時間に応じて前記インダクタンスを補正するインダクタンス補正手段とを備えていることを特徴とする請求項1乃至4のいずれかに記載の内燃機関の燃料噴射制御装置。前記弁体のリフト量がフルリフト位置に到達するフルリフト噴射での噴射量ばらつきが所定範囲を越えた場合及び/又は前記パーシャルリフト噴射の噴射パルスのオンから前記駆動電流が所定値以上に増加するまでの所要時間が判定値を越えた場合に、前記パーシャルリフト噴射及び前記パーシャルリフト噴射の噴射パルスの補正を禁止する手段を備えていることを特徴とする請求項1乃至5のいずれかに記載の内燃機関の燃料噴射制御装置。前記パーシャルリフト噴射の噴射パルスの補正が完了するまでは、該噴射パルスの補正をしているパーシャルリフト噴射以外のパーシャルリフト噴射を禁止する手段を備えていることを特徴とする請求項1乃至6のいずれかに記載の内燃機関の燃料噴射制御装置。ところで、図4に示すように、パーシャルリフト領域では、噴射パルスのオンによる駆動電流駆動コイルに流れる電流の増加に伴って弁体のリフト量が増加し始める頃に噴射パルスがオフされるため、噴射パルスのオフ後に弁体のリフト量が一旦増加してから減少するという挙動を示す。しかし、上記特許文献1,2の技術では、パーシャルリフト領域でのリフト量の挙動を全く考慮していないため、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができない。また、図5に示すように、駆動コイルは、駆動電流駆動コイルに流れる電流に応じてインダクタンスが変化するという直流重畳特性を有するが、上記特許文献3の技術では、駆動コイルの直流重畳特性を全く考慮していないため、逆起電圧の収束時間に基づいてインダクタンスを精度良く算出することが困難であり、このインダクタンスに基づいてプランジャ位置弁体の位置を精度良く検出することは困難である。このため、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができない。そこで、本発明が解決しようとする課題は、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができ、パーシャルリフト領域での噴射量制御精度を向上させることができる内燃機関の燃料噴射制御装置を提供することにある。上記課題を解決するために、請求項1に係る発明は、駆動コイルの電磁力により弁体が開弁駆動される燃料噴射弁を備えた内燃機関の燃料噴射制御装置において、弁体のリフト量がフルリフト位置に到達する噴射パルスで燃料噴射弁を開弁駆動するフルリフト噴射と弁体のリフト量がフルリフト位置に到達しない噴射パルスで燃料噴射弁を開弁駆動するパーシャルリフト噴射とを実行する燃料噴射手段と、パーシャルリフト噴射の噴射パルスのオフ後に駆動コイルに流れる駆動電流に基づいて駆動コイルの直流重畳特性を考慮して駆動コイルのインダクタンスを算出し、該インダクタンスに基づいてパーシャルリフト噴射時における弁体のリフト量を推定するリフト量推定手段と、このリフト量推定手段にて推定したリフト量に基づいてパーシャルリフト噴射の噴射パルスを補正する噴射パルス補正手段とを備えた構成としたものである。この構成では、パーシャルリフト領域では噴射パルスのオフ後に弁体のリフト量が一旦増加してから減少するという挙動を示すことに着目して、噴射パルスのオフ後の駆動電流から駆動コイルのインダクタンスを算出する。更に、噴射パルスのオフ後の駆動コイルのインダクタンスは、電流の減少に応じて逐次インダクタンスが変化する直流重畳特性を示すことに着目して、パーシャルリフト噴射の噴射パルスのオフ後に駆動コイルに流れる駆動電流に基づいて駆動コイルのインダクタンスを算出することで、駆動コイルのインダクタンスを精度良く算出することができ、このインダクタンスに基づいて弁体のリフト量を推定することで、弁体のリフト量を精度良く推定することができる。そして、精度良く推定したリフト量に基づいてパーシャルリフト噴射の噴射パルスを補正することで、パーシャルリフト噴射の噴射パルスを精度良く補正することができる。これにより、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができ、パーシャルリフト領域での噴射量制御精度を向上させることができる。この場合、請求項2のように、燃料噴射手段は、パーシャルリフト噴射を実行する際に、内燃機関の運転状態に応じた要求噴射量を、パーシャルリフト噴射の噴射量とフルリフト噴射の噴射量とに分割して噴射するようにすると良い。このようにすれば、燃料噴射弁の合計噴射量を要求噴射量に維持しながら、パーシャルリフト噴射を実行することができる。更に、請求項3のように、リフト量推定手段は、所定の実行条件が成立した場合にパーシャルリフト噴射時のリフト量を推定するものであり、所定の実行条件は少なくとも内燃機関の負荷が所定値以上のときに成立し、所定値は、パーシャルリフト噴射の噴射量ばらつきによる空燃比ばらつきが所定の許容範囲内になるような吸入空気量に相当する値に設定するようにすると良い。このようにすれば、内燃機関の負荷が所定値以上で、パーシャルリフト噴射の噴射量ばらつきによる空燃比ばらつきが許容範囲内になるときに、パーシャルリフト噴射を実行してパーシャルリフト噴射の噴射パルスを補正することができ、噴射パルスの補正のためのパーシャルリフト噴射による燃焼状態の悪化を抑制することができる。また、請求項4のように、リフト量推定手段は、パーシャルリフト噴射の噴射パルスのオフ後に駆動コイルに流れる駆動電流を積分することで、駆動コイルの直流重畳特性を考慮して駆動コイルのインダクタンスを算出するようにしても良い。このようにすれば、駆動コイルのインダクタンスを精度良く算出することができ、また、請求項5のように、リフト量推定手段は、弁体のリフト量以外の要因によるインダクタンスの変化の情報として、パーシャルリフト噴射の噴射パルスのオンから駆動電流が所定値以上に増加するまでの所要時間を検出する立ち上がり時間検出手段と、この立ち上がり時間検出手段により検出した所要時間に応じてインダクタンスを補正するインダクタンス補正手段とを備えているようにしても良い。このようにすれば、弁体のリフト量以外の要因例えば温度等によるインダクタンスの変化も考慮してインダクタンスを求めることができる。更に、請求項6のように、弁体のリフト量がフルリフト位置に到達するフルリフト噴射での噴射量ばらつきが所定範囲を越えた場合及び/又はパーシャルリフト噴射の噴射パルスのオンから駆動電流が所定値以上に増加するまでの所要時間が判定値を越えた場合に、パーシャルリフト噴射及びパーシャルリフト噴射の噴射パルスの補正を禁止する手段を備えているようにしても良い。このようにすれば、フルリフト噴射での噴射量ばらつきが所定範囲を越えた場合や、パーシャルリフト噴射の噴射パルスのオンから駆動電流が所定値以上に増加するまでの所要時間が判定値を越えた場合には、燃料噴射弁の異常であるため、パーシャルリフト噴射を実行してパーシャルリフト噴射の噴射パルスを補正しても、噴射量ばらつきを精度良く補正できないと判断して、パーシャルリフト噴射及びパーシャルリフト噴射の噴射パルスの補正を禁止することができる。また、請求項7のように、パーシャルリフト噴射の噴射パルスの補正が完了するまでは、該噴射パルスの補正をしているパーシャルリフト噴射以外のパーシャルリフト噴射を禁止する手段を備えているようにしても良い。このようにすれば、パーシャルリフト噴射の噴射パルスの補正完了前に、パーシャルリフト噴射の噴射量ばらつきによって排気エミッションやドライバビリティが悪化することを防止することができる。以下、本発明を実施するための形態を具体化した一実施例を説明する。筒内噴射式の内燃機関である筒内噴射式エンジン11の吸気管12の最上流部には、エアクリーナ13が設けられ、このエアクリーナ13の下流側に、吸入空気量を検出するエアフローメータ14が設けられている。このエアフローメータ14の下流側には、モータ15によって開度調節されるスロットルバルブ16と、このスロットルバルブ16の開度スロットル開度を検出するスロットル開度センサ17とが設けられている。更に、スロットルバルブ16の下流側には、サージタンク18が設けられ、このサージタンク18に、吸気管圧力を検出する吸気管圧力センサ19が設けられている。また、サージタンク18には、エンジン11の各気筒に空気を導入する吸気マニホールド20が設けられ、エンジン11の各気筒には、それぞれ筒内に燃料を直接噴射する燃料噴射弁21が取り付けられている。また、エンジン11のシリンダヘッドには、各気筒毎に点火プラグ22が取り付けられ、各気筒の点火プラグ22の火花放電によって筒内の混合気に着火される。一方、エンジン11の排気管23には、排出ガスの空燃比又はリッチ/リーン等を検出する排出ガスセンサ24空燃比センサ、酸素センサ等が設けられ、この排出ガスセンサ24の下流側に、排出ガスを浄化する三元触媒等の触媒25が設けられている。また、エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ26や、ノッキングを検出するノックセンサ27が取り付けられている。また、クランク軸28の外周側には、クランク軸28が所定クランク角回転する毎にパルス信号を出力するクランク角センサ29が取り付けられ、このクランク角センサ29の出力信号に基づいてクランク角やエンジン回転速度が検出される。これら各種センサの出力は、電子制御ユニット以下ECUと表記する30に入力される。このECU30は、マイクロコンピュータを主体として構成され、内蔵されたROM記憶媒体に記憶された各種のエンジン制御用のプログラムを実行することで、エンジン運転状態に応じて、燃料噴射量、点火時期、スロットル開度吸入空気量等を制御する。その際、ECU30は、エンジン運転状態例えばエンジン回転速度やエンジン負荷等に応じて要求噴射量を算出して、この要求噴射量に応じて噴射パルス幅噴射時間をマップ又は数式等により算出し、この噴射パルス幅で燃料噴射弁21を開弁駆動して要求噴射量分の燃料を噴射する。図2に示すように、燃料噴射弁21は、駆動コイル31によって生じる電磁力によってプランジャ32と一体的にニードル弁33弁体を開弁方向に駆動する構成となっている。aに示すように、噴射パルス幅が比較的長くなるフルリフト領域では、ニードル弁33のリフト量がフルリフト位置プランジャ32がストッパ34に突き当たる位置に到達するが、bに示すように、噴射パルス幅が比較的短くなるパーシャルリフト領域では、ニードル弁33のリフト量がフルリフト位置に到達しないパーシャルリフト状態プランジャ32がストッパ34に突き当たる手前の状態となる。高圧の燃料を筒内に噴射する筒内噴射式エンジン11の燃料噴射弁21は、図3に示すように、噴射パルス幅に対する実噴射量の変化特性のリニアリティ直線性がパーシャルリフト領域噴射パルス幅が短くてニードル弁33のリフト量がフルリフト位置に到達しないパーシャルリフト状態となる領域で悪化する傾向がある。このパーシャルリフト領域では、ニードル弁33のリフト量のばらつきが大きくなって噴射量ばらつきが大きくなる傾向があり、噴射量ばらつきが大きくなると、排気エミッションやドライバビリティが悪化する可能性がある。ところで、図4に示すように、パーシャルリフト領域では、噴射パルスのオンによる駆動電流駆動コイル31に流れる電流の増加に伴ってニードル弁33のリフト量が増加し始める頃に噴射パルスがオフされるため、噴射パルスのオフ後にニードル弁33のリフト量が一旦増加してから減少するという挙動を示す。また、図5に示すように、駆動コイル31は、駆動電流駆動コイル31に流れる電流に応じてインダクタンスが変化するという直流重畳特性を有する。そこで、本実施例では、ECU30により後述する図6及び図7の噴射パルス学習ルーチンを実行することで、所定の学習実行条件が成立したときに、ニードル弁33のリフト量がフルリフト位置に到達しないパーシャルリフト状態となる噴射パルスで燃料噴射弁21を開弁駆動するパーシャルリフト噴射を実行し、このパーシャルリフト噴射の噴射パルスのオフ後に駆動コイル31に流れる駆動電流の積分値を算出して、この駆動電流の積分値に基づいて駆動コイル31の直流重畳特性を考慮して駆動コイル31のインダクタンスを算出し、このインダクタンスに基づいてニードル弁33のリフト量を推定して、このリフト量に基づいてパーシャルリフト噴射の噴射パルスを補正する噴射パルス学習を実行するようにしている。この噴射パルス学習では、パーシャルリフト領域では噴射パルスのオフ後にニードル弁33のリフト量が一旦増加してから減少するという挙動を示すことに着目して、パーシャルリフト噴射の噴射パルスのオフ後に駆動コイル31に流れる駆動電流の積分値を算出する。この駆動電流の積分値に基づいて駆動コイル31の直流重畳特性を考慮して駆動コイル31のインダクタンスを算出することで、駆動コイル31のインダクタンスを精度良く算出することができ、このインダクタンスに基づいてニードル弁33のリフト量を推定することで、ニードル弁33のリフト量を精度良く推定することができる。そして、精度良く推定したリフト量に基づいてパーシャルリフト噴射の噴射パルスを補正することで、パーシャルリフト噴射の噴射パルスを精度良く補正することができる。以下、ECU30が実行する噴射パルス学習の具体的な処理内容を図6及び図7のルーチンと図8乃至図10のタイムチャートを用いて説明する。尚、図8のタイムチャートは概ね図6のステップ101~105の処理に対応し、図9のタイムチャートは概ね図6のステップ102~113の処理に対応する。また、図10のタイムチャートは概ね図7のステップ114~123の処理に対応する。図6及び図7に示す噴射パルス学習ルーチンは、ECU30の電源オン期間中イグニッションスイッチのオン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう噴射パルス学習手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ101で、所定の学習実行条件が成立しているか否かを、例えば、次の~の条件を全て満たすか否かによって判定する。冷却水温が所定温度以上であることこのの条件の所定温度は、例えば、筒内に噴射された燃料が速やかに蒸発できる程度まで暖機された状態に相当する冷却水温例えば80°Cに設定されている。エンジン負荷例えば吸入空気量や吸気管圧力等が所定値以上であることこのの条件の所定値は、例えば、パーシャルリフト噴射の噴射量ばらつきによる空燃比ばらつきが所定の許容範囲内例えば14.7±0.5以内になるような吸入空気量に相当する値に設定されている。燃料噴射弁21が正常例えばニードル弁33のリフト量がフルリフト位置に到達するフルリフト噴射での噴射量ばらつきが所定範囲内であることこのの条件は、図示しない異常診断ルーチンの診断結果に基づいて判定する。学習完了フラグ後述する第1及び第2の学習完了フラグのうちの少なくとも一方がOFFオフであること上記~の条件を全て満たせば、学習実行条件が成立するが、上記~の条件のうちいずれか1つでも満たさない条件があれば、学習実行条件が不成立となる。このステップ101で、学習実行条件が不成立と判定された場合には、ステップ102以降の処理を実行することなく、本ルーチンを終了する。これにより、例えば、上記の条件を満たさない場合フルリフト噴射での噴射量ばらつきが所定範囲を越えた場合には、燃料噴射弁21の異常であるため、パーシャルリフト噴射を実行してパーシャルリフト噴射の噴射パルスを補正しても、噴射量ばらつきを精度良く補正できないと判断して、パーシャルリフト噴射及びパーシャルリフト噴射の噴射パルスの補正を禁止する。一方、上記ステップ101で、学習実行条件が成立していると判定された場合には、ステップ102以降の処理を次のようにして実行する。まず、ステップ102で、1気筒当りの要求噴射量Qtotal分の燃料を、1回のパーシャルリフト噴射と、1回のフルリフト噴射とに分割して噴射する第1の強制分割噴射吸気行程2回噴射を実行する図8参照。この第1の強制分割噴射では、パーシャルリフト噴射の噴射量Qpl1を、燃料噴射弁21の標準品ノミナル品においてパーシャルリフト状態となる噴射量に設定し、このパーシャルリフト噴射の噴射量Qpl1に対応したパルス幅の噴射パルスTaupl1を設定する。また、要求噴射量Qtotalからパーシャルリフト噴射の噴射量Qpl1を差し引いた値を、フルリフト噴射の噴射量Qfl1=Qtotal-Qpl1として設定し、このフルリフト噴射の噴射量Qfl1に対応したパルス幅の噴射パルスTaufl1を設定する。更に、パーシャルリフト噴射の噴射時期Apl1を、第1の強制分割噴射の実行前学習実行条件の成立前の噴射時期と同じ噴射時期に設定し、このパーシャルリフト噴射の噴射時期Apl1に所定ディレイ値Adly1を加算した値を、フルリフト噴射の噴射時期Afl1=Apl1Adly1として設定する。ここで、所定ディレイ値Adly1は、噴射パルスTaufl1に後述する所定時間Idly1を加算した値よりも長くなるように設定されているAdly1>Taufl1Idly1。この後、ステップ103に進み、ニードル弁33のリフト量以外の要因によるインダクタンスの変化の情報として、パーシャルリフト噴射の噴射パルスのオン立ち上がりタイミングから駆動電流が所定値以上に増加するまでの所要時間T1を検出する。この後、ステップ104に進み、所要時間T1が判定値を越えたか否かを判定し、所要時間T1が判定値を越えたと判定された場合には、ステップ105以降の処理を実行することなく、本ルーチンを終了する。これにより、パーシャルリフト噴射の噴射パルスのオンから駆動電流が所定値以上に増加するまでの所要時間T1が判定値を越えた場合には、燃料噴射弁21の異常であるため、パーシャルリフト噴射を実行してパーシャルリフト噴射の噴射パルスを補正しても、噴射量ばらつきを精度良く補正できないと判断して、パーシャルリフト噴射及びパーシャルリフト噴射の噴射パルスの補正を禁止する。一方、上記ステップ104で、所要時間T1が判定値以下であると判定された場合には、ステップ105に進み、パーシャルリフト噴射の噴射パルスのオフ立ち下がりタイミングから所定時間Idly1が経過するまで駆動電流を積分することで、噴射パルスのオフ後に駆動コイル31に流れる駆動電流の積分値Iipl1を算出する。ここで、所定時間Idly1は、噴射パルスのオフから駆動電流が0に収束するまでに必要な時間よりも少し長い時間に設定されている。この後、ステップ106で、今回の駆動電流積分値Iipl1を前回の駆動電流積分値の合計値Iiplsum1に加算して、今回の駆動電流積分値の合計値Iiplsum1を求める。Iiplsum1=Iiplsum1Iipl1ここで、駆動電流積分値の合計値の初期値Iiplsum1=0とする。この後、ステップ107に進み、第1の強制分割噴射を開始してから所定サイクルNサイクルが経過したつまり駆動電流積分値Iipl1をN回加算したか否かを判定し、所定サイクルNサイクルが経過するまで上記ステップ102~106の処理を繰り返し実行して、駆動電流積分値の合計値Iiplsum1を更新する図9参照。その際、2サイクル目以降はステップ103,104の処理を省略するつまり1サイクル目のみステップ103,104の処理を実行するようにしても良い。その後、第1の強制分割噴射を開始してから所定サイクルNサイクルが経過したつまり駆動電流積分値Iipl1をN回加算したと判定された時点で、ステップ108に進み、駆動電流積分値の合計値Iiplsum1を加算回数Nで除算して駆動電流積分値の平均値Iiplave1を求める。Iiplave1=Iiplsum1/Nこの後、ステップ109に進み、図11aに示すマップ又は図11bに示す数式等を用いて、駆動電流積分値の平均値Iiplave1に応じた駆動コイル31のインダクタンスLpl1を算出する。図11のマップ又は数式は、予め燃料噴射弁21の標準品ノミナル品において駆動コイル31の直流重畳特性を考慮して試験データや設計データ等に基づいて作成され、ECU30のROMに記憶されている。この後、ステップ110に進み、上記ステップ103で検出した所要時間T1リフト量以外の要因によるインダクタンスの変化の情報に応じた補正係数KLをマップ又は数式等図示せずにより算出する。この補正係数KLのマップ又は数式は、予め燃料噴射弁21の標準品ノミナル品において試験データや設計データ等に基づいて作成され、ECU30のROMに記憶されている。この補正係数KLをインダクタンスLpl1に乗算して、インダクタンスLpl1を補正する。Lpl1=Lpl1×KLこの後、ステップ111に進み、図12aに示すマップ又は図12bに示す数式等を用いて、インダクタンスLpl1に応じたニードル弁33のリフト量Liftpl1を算出推定する。図12のマップ又は数式は、予め燃料噴射弁21の標準品ノミナル品において試験データや設計データ等に基づいて作成され、ECU30のROMに記憶されている。この後、図7のステップ112に進み、リフト量Liftpl1に応じた補正係数KTau1をマップ又は数式等図示せずにより算出する。この補正係数KTau1のマップ又は数式は、予め燃料噴射弁21の標準品ノミナル品において試験データや設計データ等に基づいて作成され、ECU30のROMに記憶されている。この補正係数KTau1をパーシャルリフト噴射の噴射量Qpl1に対応した噴射パルスTaupl1に加算して、パーシャルリフト噴射の噴射量Qpl1に対応した噴射パルスTaupl1を補正する。Taupl1=Taupl1KTau1この後、ステップ113に進み、パーシャルリフト噴射の噴射量Qpl1に対応した噴射パルスTaupl1の学習が完了したと判断して、第1の学習完了フラグをONオンにセットする。この後、ステップ114に進み、第2の強制分割噴射吸気行程2回噴射を実行する図10参照。この第2の強制分割噴射では、パーシャルリフト噴射の噴射量Qpl2を、燃料噴射弁21の標準品ノミナル品においてパーシャルリフト状態となる噴射量で且つ第1の強制分割噴射の噴射量Qpl1と異なる噴射量噴射量Qpl1よりも多い噴射量又は噴射量Qpl1よりも少ない噴射量に設定し、このパーシャルリフト噴射の噴射量Qpl2に対応したパルス幅の噴射パルスTaupl2を設定する。また、要求噴射量Qtotalからパーシャルリフト噴射の噴射量Qpl2を差し引いた値を、フルリフト噴射の噴射量Qfl2=Qtotal-Qpl2として設定し、このフルリフト噴射の噴射量Qfl2に対応したパルス幅の噴射パルスTaufl2を設定する。更に、パーシャルリフト噴射の噴射時期Apl2を、第1の強制分割噴射の実行前学習実行条件の成立前の噴射時期と同じ噴射時期に設定し、このパーシャルリフト噴射の噴射時期Apl2に所定ディレイ値Adly2を加算した値を、フルリフト噴射の噴射時期Afl2=Apl2Adly2として設定する。ここで、所定ディレイ値Adly2は、噴射パルスTaufl2に後述する所定時間Idly2を加算した値よりも長くなるように設定されているAdly2>Taufl2Idly2。この後、ステップ115に進み、パーシャルリフト噴射の噴射パルスのオフ立ち下がりタイミングから所定時間Idly2が経過するまで駆動電流を積分することで、噴射パルスのオフ後に駆動コイル31に流れる駆動電流の積分値Iipl2を算出する。ここで、所定時間Idly2は、噴射パルスのオフから駆動電流が0に収束するまでに必要な時間よりも少し長い時間に設定されている。この後、ステップ116で、今回の駆動電流積分値Iipl2を前回の駆動電流積分値の合計値Iiplsum2に加算して、今回の駆動電流積分値の合計値Iiplsum2を求める。Iiplsum2=Iiplsum2Iipl2ここで、駆動電流積分値の合計値の初期値Iiplsum2=0とする。この後、ステップ117に進み、第2の強制分割噴射を開始してから所定サイクルNサイクルが経過したつまり駆動電流積分値Iipl2をN回加算したか否かを判定し、所定サイクルNサイクルが経過するまで上記ステップ114~116の処理を繰り返し実行して、駆動電流積分値の合計値Iiplsum2を更新する図10参照。その後、第2の強制分割噴射を開始してから所定サイクルNサイクルが経過したつまり駆動電流積分値Iipl2をN回加算したと判定された時点で、ステップ118に進み、駆動電流積分値の合計値Iiplsum2を加算回数Nで除算して駆動電流積分値の平均値Iiplave2を求める。Iiplave2=Iiplsum2/Nこの後、ステップ119に進み、図11aに示すマップ又は図11bに示す数式等を用いて、駆動電流積分値の平均値Iiplave2に応じた駆動コイル31のインダクタンスLpl2を算出する。この後、ステップ120に進み、上記ステップ110で算出した補正係数KLをインダクタンスLpl2に乗算して、インダクタンスLpl2を補正する。Lpl2=Lpl2×KLこの後、ステップ121に進み、図12aに示すマップ又は図12bに示す数式等を用いて、インダクタンスLpl2に応じたニードル弁33のリフト量Liftpl2を算出推定する。この後、ステップ122に進み、リフト量Liftpl2に応じた補正係数KTau2をマップ又は数式等図示せずにより算出し、この補正係数KTau2をパーシャルリフト噴射の噴射量Qpl2に対応した噴射パルスTaupl2に加算して、パーシャルリフト噴射の噴射量Qpl2に対応した噴射パルスTaupl2を補正する。Taupl2=Taupl2KTau2この後、ステップ123に進み、パーシャルリフト噴射の噴射量Qpl2に対応した噴射パルスTaupl2の学習が完了したと判断して、第2の学習完了フラグをONオンにセットする。以上のようにしてパーシャルリフト領域の少なくとも2点の噴射量Qpl1,Qpl2に対応する噴射パルスTaupl1,Taupl2を補正学習しておけば、これらの学習データに基づいて、パーシャルリフト領域の他の噴射量に対応する噴射パルスも算出する例えば補間することができる。尚、図6及び図7のルーチンでは、パーシャルリフト領域の2点の噴射量Qpl1,Qpl2に対応する噴射パルスTaupl1,Taupl2を補正学習するようにしたが、これに限定されず、パーシャルリフト領域の3点以上の噴射量に対応する噴射パルスを補正学習するようにしても良い。以上説明した本実施例では、パーシャルリフト領域では噴射パルスのオフ後にニードル弁33のリフト量が一旦増加してから減少するという挙動を示すことに着目して、パーシャルリフト噴射の噴射パルスのオフ後に駆動コイル31に流れる駆動電流の積分値を算出し、この駆動電流の積分値に基づいて駆動コイル31の直流重畳特性を考慮して駆動コイル31のインダクタンスを算出するようにしたので、駆動コイル31のインダクタンスを精度良く算出することができ、このインダクタンスに基づいてニードル弁33のリフト量を推定するようにしたので、ニードル弁33のリフト量を精度良く推定することができる。そして、精度良く推定したリフト量に基づいてパーシャルリフト噴射の噴射パルスを補正するようにしたので、パーシャルリフト噴射の噴射パルスを精度良く補正することができる。これにより、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができ、パーシャルリフト領域での噴射量制御精度を向上させることができる。尚、上記実施例では、推定算出したリフト量に応じた補正係数を用いて噴射パルスを補正するようにしたが、推定したリフト量に応じて噴射パルスを補正する方法は、これに限定されず、適宜変更しても良く、例えば、推定したリフト量と基準値燃料噴射弁21の標準品におけるリフト量との偏差に基づいて噴射量パルスを補正するようにしても良い。また、本実施例では、パーシャルリフト噴射を実行する際に、エンジン運転状態に応じた要求噴射量を、パーシャルリフト噴射の噴射量と、フルリフト噴射の噴射量要求噴射量からパーシャルリフト噴射の噴射量を差し引いた噴射量とに分割して噴射するようにしたので、燃料噴射弁21の合計噴射量を要求噴射量に維持しながら、パーシャルリフト噴射を実行することができる。更に、本実施例では、エンジン負荷が所定値パーシャルリフト噴射の噴射量ばらつきによる空燃比ばらつきが所定の許容範囲内になるような吸入空気量に相当する値以上のときに学習実行条件が成立するようにしたので、エンジン負荷が所定値以上で、パーシャルリフト噴射の噴射量ばらつきによる空燃比ばらつきが許容範囲内になるときに、パーシャルリフト噴射を実行してパーシャルリフト噴射の噴射パルスを補正することができ、噴射パルスの補正のためのパーシャルリフト噴射による燃焼状態の悪化を抑制することができる。また、本実施例では、ニードル弁33のリフト量以外の要因によるインダクタンスの変化の情報として、パーシャルリフト噴射の噴射パルスのオンから駆動電流が所定値以上に増加するまでの所要時間T1を検出し、この所要時間T1に応じてインダクタンスを補正するようにしたので、ニードル弁33のリフト量以外の要因例えば温度等によるインダクタンスの変化も考慮してインダクタンスを求めることができる。尚、上記実施例では、所要時間T1に応じた補正係数を用いてインダクタンスを直接補正するようにしたが、所要時間T1に応じてインダクタンスを補正する方法は、これに限定されず、適宜変更しても良く、例えば、所要時間T1に応じて、インダクタンスの算出に用いるマップ又は数式つまり駆動電流積分値とインダクタンスとの関係を補正するようにしても良い。また、上記実施例では、フルリフト噴射での噴射量ばらつきが所定範囲を越えた場合や、パーシャルリフト噴射の噴射パルスのオンから駆動電流が所定値以上に増加するまでの所要時間T1が判定値を越えた場合には、燃料噴射弁21の異常であるため、パーシャルリフト噴射を実行してパーシャルリフト噴射の噴射パルスを補正しても、噴射量ばらつきを精度良く補正できないと判断して、パーシャルリフト噴射及びパーシャルリフト噴射の噴射パルスの補正を禁止するようにしたが、更に、パーシャルリフト噴射の噴射パルスの補正が完了するまで第1及び第2の学習完了フラグが両方ともONされるまでは、噴射パルスの補正のためのパーシャルリフト噴射以外でのパーシャルリフト噴射を禁止するようにしても良い。このようにすれば、パーシャルリフト噴射の噴射パルスの補正完了前に、パーシャルリフト噴射の噴射量ばらつきによって排気エミッションやドライバビリティが悪化することを防止することができる。また、上記実施例では、要求噴射量分の燃料をパーシャルリフト噴射とフルリフト噴射とに分割して噴射する際に、1回のパーシャルリフト噴射と1回のフルリフト噴射とに分割するようにしたが、パーシャルリフト噴射とフルリフト噴射の噴射回数は、これに限定されず、要求噴射量等に応じて適宜変更しても良く、パーシャルリフト噴射の噴射回数を2回以上にしたり、フルリフト噴射の噴射回数を2回以上にしたりしも良い。その他、本発明は、図1に示すような筒内噴射式エンジンに限定されず、吸気ポート噴射式エンジンにも適用して実施できる等、要旨を逸脱しない範囲内で種々変更して実施できる。"