"上死点の燃焼室容積を変化させて機械圧縮比を可変とする可変圧縮比機構を備える内燃機関であって、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量を、前回サイクルの残留排気ガス量と前回サイクルの燃焼室内新気量と前回サイクルの排気行程における機械圧縮比と前回サイクルの燃焼空燃比とに基づいて算出し、算出された今回サイクルの前記残留排気ガス量に基づき今回サイクルの点火時期の補正量を決定することを特徴とする可変圧縮比機構を備える内燃機関。前述の可変圧縮比機構を備える内燃機関において、機械圧縮比が低いときに気筒内に残留する残留排気ガス量が比較的多くなることがあり、このときには、点火時期の進角が不十分となって、燃焼が悪化することがある。従って、本発明の目的は、上死点の燃焼室容積を変化させて機械圧縮比を可変とする可変圧縮比機構を備える内燃機関であって、残留排気ガス量を比較的正確に推定して、点火時期による燃焼の悪化を抑制可能とすることである。本発明による請求項1に記載の可変圧縮比機構を備える内燃機関は、上死点の燃焼室容積を変化させて機械圧縮比を可変とする可変圧縮比機構を備える内燃機関であって、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量を、前回サイクルの残留排気ガス量と前回サイクルの燃焼室内新気量と前回サイクルの排気行程における機械圧縮比と前回サイクルの燃焼空燃比とに基づいて算出し、算出された今回サイクルの前記残留排気ガス量に基づき今回サイクルの点火時期の補正量を決定することを特徴とする。燃焼室内の空燃比を理論空燃比よりリーンとする運転においては、排気上死点において燃焼室に残留する気体には、既燃ガスだけでなく新気も含まれるために、本発明による請求項1に記載の可変圧縮比機構を備える内燃機関では、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量を、前回サイクルの残留排気ガス量と前回サイクルの燃焼室内新気量と前回サイクルの排気行程における機械圧縮比と前回サイクルの燃焼空燃比とに基づいて算出し、算出された今回サイクルの残留排気ガス量に基づき今回サイクルの点火時期の補正量を決定するようになっている。それにより、残留排気ガス量を比較的正確に推定して、点火時期による燃焼の悪化を抑制することができる。図1は本発明による可変圧縮比機構を備える内燃機関の側面断面図を示す。図1を参照すると、1はクランクケース、2はシリンダブロック、3はシリンダヘッド、4はピストン、5は燃焼室、6は燃焼室5の頂面中央部に配置された点火栓、7は吸気弁、8は吸気ポート、9は排気弁、10は排気ポートを夫々示す。吸気ポート8は吸気枝管11を介してサージタンク12に連結され、各吸気枝管11には夫々対応する吸気ポート8内に向けて燃料を噴射するための燃料噴射弁13が配置される。なお、燃料噴射弁13は各吸気枝管11に取付ける代りに各燃焼室5内に配置してもよい。サージタンク12は吸気ダクト14を介してエアクリーナ15に連結され、吸気ダクト14内にはアクチュエータ16によって駆動されるスロットル弁17と例えば熱線を用いた吸入空気量検出器18とが配置される。一方、排気ポート10は排気マニホルド19を介して例えば三元触媒を内蔵した触媒装置20に連結され、排気マニホルド19内には空燃比センサ21が配置される。燃焼空燃比が理論空燃比である場合には、触媒装置20には前述のように三元触媒を内蔵することが好ましいが、燃焼空燃比を理論空燃比よりリーンとすることがある場合には、触媒装置20にはNOX吸蔵還元触媒を内蔵するか又はNOX吸蔵還元触媒を内蔵する別の触媒装置を触媒装置20の下流側に配置することが好ましい。一方、図1に示される実施例ではクランクケース1とシリンダブロック2との連結部にクランクケース1とシリンダブロック2のシリンダ軸線方向の相対位置を変化させることによりピストン4が圧縮上死点に位置するときの燃焼室5の容積を変更可能な可変圧縮比機構Aが設けられており、更に実際の圧縮作用の開始時期を変更可能な実圧縮作用開始時期変更機構Bが設けられている。なお、図1に示される実施例ではこの実圧縮作用開始時期変更機構Bは吸気弁7の閉弁時期を制御可能な可変バルブタイミング機構からなる。図1に示されるようにクランクケース1とシリンダブロック2にはクランクケース1とシリンダブロック2間の相対位置関係を検出するための相対位置センサ22が取付けられており、この相対位置センサ22からはクランクケース1とシリンダブロック2との間隔の変化を示す出力信号が出力される。また、可変バルブタイミング機構Bには吸気弁7の閉弁時期を示す出力信号を発生するバルブタイミングセンサ23が取付けられており、スロットル弁駆動用のアクチュエータ16にはスロットル弁開度を示す出力信号を発生するスロットル開度センサ24が取付けられている。電子制御ユニット30はデジタルコンピュータからなり、双方向性バス31によって互いに接続されたROMリードオンリメモリ32、RAMランダムアクセスメモリ33、CPUマイクロプロセッサ34、入力ポート35および出力ポート36を具備する。吸入空気量検出器18、空燃比センサ21、相対位置センサ22、バルブタイミングセンサ23およびスロットル開度センサ24の出力信号は夫々対応するAD変換器37を介して入力ポート35に入力される。また、アクセルペダル40にはアクセルペダル40の踏込み量Lに比例した出力電圧を発生する負荷センサ41が接続され、負荷センサ41の出力電圧は対応するAD変換器37を介して入力ポート35に入力される。更に入力ポート35にはクランクシャフトが例えば30°回転する毎に出力パルスを発生するクランク角センサ42が接続される。一方、出力ポート36は対応する駆動回路38を介して点火栓6、燃料噴射弁13、スロットル弁駆動用アクチュエータ16、可変圧縮比機構Aおよび可変バルブタイミング機構Bに接続される。図2は図1に示す可変圧縮比機構Aの分解斜視図を示しており、図3は図解的に表した内燃機関の側面断面図を示している。図2を参照すると、シリンダブロック2の両側壁の下方には互いに間隔を隔てた複数個の突出部50が形成されており、各突出部50内には夫々断面円形のカム挿入孔51が形成されている。一方、クランクケース1の上壁面上には互いに間隔を隔てて夫々対応する突出部50の間に嵌合せしめられる複数個の突出部52が形成されており、これらの各突出部52内にも夫々断面円形のカム挿入孔53が形成されている。図2に示されるように一対のカムシャフト54,55が設けられており、各カムシャフト54,55上には一つおきに各カム挿入孔53内に回転可能に挿入される円形カム58が固定されている。これらの円形カム58は各カムシャフト54,55の回転軸線と共軸をなす。一方、各円形カム58の両側には図3に示すように各カムシャフト54,55の回転軸線に対して偏心配置された偏心軸57が延びており、この偏心軸57上に別の円形カム56が偏心して回転可能に取付けられている。図2に示されるようにこれら円形カム56は各円形カム58の両側に配置されており、これら円形カム56は対応する各カム挿入孔51内に回転可能に挿入されている。また、図2に示されるようにカムシャフト55にはカムシャフト55の回転角度を表す出力信号を発生するカム回転角度センサ25が取付けられている。図3Aに示すような状態から各カムシャフト54,55上に固定された円形カム58を図3Aにおいて矢印で示される如く互いに反対方向に回転させると偏心軸57が互いに離れる方向に移動するために円形カム56がカム挿入孔51内において円形カム58とは反対方向に回転し、図3Bに示されるように偏心軸57の位置が高い位置から中間高さ位置となる。次いで更に円形カム58を矢印で示される方向に回転させると図3Cに示されるように偏心軸57は最も低い位置となる。なお、図3A、図3B、図3Cには夫々の状態における円形カム58の中心aと偏心軸57の中心bと円形カム56の中心cとの位置関係が示されている。図3Aから図3Cとを比較するとわかるようにクランクケース1とシリンダブロック2の相対位置は円形カム58の中心aと円形カム56の中心cとの距離によって定まり、円形カム58の中心aと円形カム56の中心cとの距離が大きくなるほどシリンダブロック2はクランクケース1から離間側に移動する。即ち、可変圧縮比機構Aは回転するカムを用いたクランク機構によりクランクケース1とシリンダブロック2間の相対位置を変化させていることになる。シリンダブロック2がクランクケース1から離れるとピストン4が圧縮上死点に位置するときの燃焼室5の容積は増大し、従って各カムシャフト54,55を回転させることによってピストン4が圧縮上死点に位置するときの燃焼室5の容積を変更することができる。図2に示されるように各カムシャフト54,55を夫々反対方向に回転させるために駆動モータ59の回転軸には夫々螺旋方向が逆向きの一対のウォーム61,62が取付けられており、これらウォーム61,62と噛合するウォームホイール63,64が夫々各カムシャフト54,55の端部に固定されている。この実施例では駆動モータ59を駆動することによってピストン4が圧縮上死点に位置するときの燃焼室5の容積を広い範囲に亘って変更することができる。一方、図4は図1において吸気弁7を駆動するためのカムシャフト70の端部に取付けられた可変バルブタイミング機構Bを示している。図4を参照すると、この可変バルブタイミング機構Bは機関のクランク軸によりタイミングベルトを介して矢印方向に回転せしめられるタイミングプーリ71と、タイミングプーリ71と一緒に回転する円筒状ハウジング72と、吸気弁駆動用カムシャフト70と一緒に回転しかつ円筒状ハウジング72に対して相対回転可能な回転軸73と、円筒状ハウジング72の内周面から回転軸73の外周面まで延びる複数個の仕切壁74と、各仕切壁74の間で回転軸73の外周面から円筒状ハウジング72の内周面まで延びるベーン75とを具備しており、各ベーン75の両側には夫々進角用油圧室76と遅角用油圧室77とが形成されている。各油圧室76,77への作動油の供給制御は作動油供給制御弁78によって行われる。この作動油供給制御弁78は各油圧室76,77に夫々連結された油圧ポート79,80と、油圧ポンプ81から吐出された作動油の供給ポート82と、一対のドレインポート83,84と、各ポート79,80,82,83,84間の連通遮断制御を行うスプール弁85とを具備している。吸気弁駆動用カムシャフト70のカムの位相を進角すべきときは図4においてスプール弁85が右方に移動せしめられ、供給ポート82から供給された作動油が油圧ポート79を介して進角用油圧室76に供給されると共に遅角用油圧室77内の作動油がドレインポート84から排出される。このとき回転軸73は円筒状ハウジング72に対して矢印方向に相対回転せしめられる。これに対し、吸気弁駆動用カムシャフト70のカムの位相を遅角すべきときは図4においてスプール弁85が左方に移動せしめられ、供給ポート82から供給された作動油が油圧ポート80を介して遅角用油圧室77に供給されると共に進角用油圧室76内の作動油がドレインポート83から排出される。このとき回転軸73は円筒状ハウジング72に対して矢印と反対方向に相対回転せしめられる。回転軸73が円筒状ハウジング72に対して相対回転せしめられているときにスプール弁85が図4に示される中立位置に戻されると回転軸73の相対回転動作は停止せしめられ、回転軸73はそのときの相対回転位置に保持される。従って可変バルブタイミング機構Bによって吸気弁駆動用カムシャフト70のカムの位相を所望の量だけ進角させることができ、遅角させることができることになる。図5において実線は可変バルブタイミング機構Bによって吸気弁駆動用カムシャフト70のカムの位相が最も進角されているときを示しており、破線は吸気弁駆動用カムシャフト70のカムの位相が最も遅角されているときを示している。従って吸気弁7の開弁期間は図5において実線で示す範囲と破線で示す範囲との間で任意に設定することができ、従って吸気弁7の閉弁時期も図5において矢印Cで示す範囲内の任意のクランク角に設定することができる。図1および図4に示される可変バルブタイミング機構Bは一例を示すものであって、例えば吸気弁の開弁時期を一定に維持したまま吸気弁の閉弁時期のみを変えることのできる可変バルブタイミング機構等、種々の形式の可変バルブタイミング機構を用いることができる。次に図6を参照しつつ本願において使用されている用語の意味について説明する。なお、図6のA,B,Cには説明のために燃焼室容積が50mlでピストンの行程容積が500mlであるエンジンが示されており、これら図6のA,B,Cにおいて燃焼室容積とはピストンが圧縮上死点に位置するときの燃焼室の容積を表している。図6Aは機械圧縮比について説明している。機械圧縮比は圧縮行程時のピストンの行程容積と燃焼室容積のみから機械的に定まる値であってこの機械圧縮比は燃焼室容積行程容積/燃焼室容積で表される。図6Aに示される例ではこの機械圧縮比は50ml500ml/50ml=11となる。図6Bは実圧縮比について説明している。この実圧縮比は実際に圧縮作用が開始されたときからピストンが上死点に達するまでの実際のピストン行程容積と燃焼室容積から定まる値であってこの実圧縮比は燃焼室容積実際の行程容積/燃焼室容積で表される。即ち、図6Bに示されるように圧縮行程においてピストンが上昇を開始しても吸気弁が開弁している間は圧縮作用は行われず、吸気弁が閉弁したときから実際の圧縮作用が開始される。従って実圧縮比は実際の行程容積を用いて上記の如く表される。図6Bに示される例では実圧縮比は50ml450ml/50ml=10となる。図6Cは膨張比について説明している。膨張比は膨張行程時のピストンの行程容積と燃焼室容積から定まる値であってこの膨張比は燃焼室容積行程容積/燃焼室容積で表される。図6Cに示される例ではこの膨張比は50ml500ml/50ml=11となる。次に図7および図8を参照しつつ本発明において用いられている超膨張比サイクルについて説明する。なお、図7は理論熱効率と膨張比との関係を示しており、図8は本発明において負荷に応じ使い分けられている通常のサイクルと超高膨張比サイクルとの比較を示している。図8Aは吸気弁が下死点近傍で閉弁し、ほぼ吸気下死点付近からピストンによる圧縮作用が開始される場合の通常のサイクルを示している。この図8Aに示す例でも図6のA,B,Cに示す例と同様に燃焼室容積が50mlとされ、ピストンの行程容積が500mlとされている。図8Aからわかるように通常のサイクルでは機械圧縮比は50ml500ml/50ml=11であり、実圧縮比もほぼ11であり、膨張比も50ml500ml/50ml=11となる。即ち、通常の内燃機関では機械圧縮比と実圧縮比と膨張比とがほぼ等しくなる。図7における実線は実圧縮比と膨張比とがほぼ等しい場合の、即ち通常のサイクルにおける理論熱効率の変化を示している。この場合には膨張比が大きくなるほど、即ち実圧縮比が高くなるほど理論熱効率が高くなることがわかる。従って通常のサイクルにおいて理論熱効率を高めるには実圧縮比を高くすればよいことになる。しかしながら機関高負荷運転時におけるノッキングの発生の制約により実圧縮比は最大でも12程度までしか高くすることができず、斯くして通常のサイクルにおいては理論熱効率を十分に高くすることはできない。一方、このような状況下で機械圧縮比と実圧縮比とを厳密に区分しつつ理論熱効率を高めることが検討され、その結果理論熱効率は膨張比が支配し、理論熱効率に対して実圧縮比はほとんど影響を与えないことが見い出されたのである。即ち、実圧縮比を高くすると爆発力は高まるが圧縮するために大きなエネルギーが必要となり、斯くして実圧縮比を高めても理論熱効率はほとんど高くならない。これに対し、膨張比を大きくすると膨張行程時にピストンに対し押下げ力が作用する期間が長くなり、斯くしてピストンがクランクシャフトに回転力を与えている期間が長くなる。従って膨張比は大きくすれば大きくするほど理論熱効率が高くなる。図7の破線ε=10は実圧縮比を10に固定した状態で膨張比を高くしていった場合の理論熱効率を示している。このように実圧縮比εを低い値に維持した状態で膨張比を高くしたときの理論熱効率の上昇量と、図7の実線で示す如く実圧縮比も膨張比と共に増大せしめられる場合の理論熱効率の上昇量とは大きな差がないことがわかる。このように実圧縮比が低い値に維持されているとノッキングが発生することがなく、従って実圧縮比を低い値に維持した状態で膨張比を高くするとノッキングの発生を阻止しつつ理論熱効率を大巾に高めることができる。図8Bは可変圧縮比機構Aおよび可変バルブタイミング機構Bを用いて、実圧縮比を低い値に維持しつつ膨張比を高めるようにした場合の一例を示している。図8Bを参照すると、この例では可変圧縮比機構Aにより燃焼室容積が50mlから20mlまで減少せしめられる。一方、可変バルブタイミング機構Bによって実際のピストン行程容積が500mlから200mlになるまで吸気弁の閉弁時期が遅らされる。その結果、この例では実圧縮比は20ml200ml/20ml=11となり、膨張比は20ml500ml/20ml=26となる。図8Aに示される通常のサイクルでは前述したように実圧縮比がほぼ11で膨張比が11であり、この場合に比べると図8Bに示される場合には膨張比のみが26まで高められていることがわかる。これが超高膨張比サイクルと称される所以である。一般的に言って内燃機関では機関負荷が低いほど熱効率が悪くなり、従って機関運転時における熱効率を向上させるためには、即ち燃費を向上させるには機関負荷が低いときの熱効率を向上させることが必要となる。一方、図8Bに示される超高膨張比サイクルでは圧縮行程時の実際のピストン行程容積が小さくされるために燃焼室5内に吸入しうる吸入空気量は少なくなり、従ってこの超高膨張比サイクルは機関負荷が比較的低いときにしか採用できないことになる。従って本発明では機関負荷が比較的低いときには図8Bに示す超高膨張比サイクルとし、機関高負荷運転時には図8Aに示す通常のサイクルとするようにしている。次に図9を参照しつつ運転制御全般について概略的に説明する。図9には或る機関回転数における機関負荷に応じた吸入空気量、吸気弁閉弁時期、機械圧縮比、膨張比、実圧縮比およびスロットル弁17の開度の各変化が示されている。なお、図9は、触媒装置20内の三元触媒によって排気ガス中の未燃HC,COおよびNOXを同時に低減しうるように燃焼室5内における平均空燃比が空燃比センサ21の出力信号に基いて理論空燃比にフィードバック制御されている場合を示している。さて、前述したように機関高負荷運転時には図8Aに示される通常のサイクルが実行される。従って図9に示されるようにこのときには機械圧縮比は低くされるために膨張比は低く、図9において実線で示されるように吸気弁7の閉弁時期は図5において実線で示される如く早められている。また、このときには吸入空気量は多く、このときスロットル弁17の開度は全開に保持されているのでポンピング損失は零となっている。一方、図9において実線で示されるように機関負荷が低くなるとそれに伴って吸入空気量を減少すべく吸気弁7の閉弁時期が遅くされる。またこのときには実圧縮比がほぼ一定に保持されるように図9に示される如く機関負荷が低くなるにつれて機械圧縮比が増大され、従って機関負荷が低くなるにつれて膨張比も増大される。なお、このときにもスロットル弁17は全開状態に保持されており、従って燃焼室5内に供給される吸入空気量はスロットル弁17によらずに吸気弁7の閉弁時期を変えることによって制御されている。このように機関高負荷運転状態から機関負荷が低くなるときには実圧縮比がほぼ一定のもとで吸入空気量が減少するにつれて機械圧縮比が増大せしめられる。即ち、吸入空気量の減少に比例してピストン4が圧縮上死点に達したときの燃焼室5の容積が減少せしめられる。従ってピストン4が圧縮上死点に達したときの燃焼室5の容積は吸入空気量に比例して変化していることになる。なお、このとき図9に示される例では燃焼室5内の空燃比は理論空燃比となっているのでピストン4が圧縮上死点に達したときの燃焼室5の容積は燃料量に比例して変化していることになる。機関負荷が更に低くなると機械圧縮比は更に増大せしめられ、機関負荷がやや低負荷寄りの中負荷L1まで低下すると機械圧縮比は燃焼室5の構造上限界となる限界機械圧縮比上限機械圧縮比に達する。機械圧縮比が限界機械圧縮比に達すると、機械圧縮比が限界機械圧縮比に達したときの機関負荷L1よりも負荷の低い領域では機械圧縮比が限界機械圧縮比に保持される。従って低負荷側の機関中負荷運転時および機関低負荷運転時には即ち、機関低負荷運転側では機械圧縮比は最大となり、膨張比も最大となる。別の言い方をすると機関低負荷運転側では最大の膨張比が得られるように機械圧縮比が最大にされる。一方、図9に示される実施例では機関負荷がL1まで低下すると吸気弁7の閉弁時期が燃焼室5内に供給される吸入空気量を制御しうる限界閉弁時期となる。吸気弁7の閉弁時期が限界閉弁時期に達すると吸気弁7の閉弁時期が限界閉弁時期に達したときの機関負荷L1よりも負荷の低い領域では吸気弁7の閉弁時期が限界閉弁時期に保持される。吸気弁7の閉弁時期が限界閉弁時期に保持されるともはや吸気弁7の閉弁時期の変化によっては吸入空気量を制御することができない。図9に示される実施例ではこのとき、即ち吸気弁7の閉弁時期が限界閉弁時期に達したときの機関負荷L1よりも負荷の低い領域ではスロットル弁17によって燃焼室5内に供給される吸入空気量が制御され、機関負荷が低くなるほどスロットル弁17の開度は小さくされる。一方、図9において破線で示すように機関負荷が低くなるにつれて吸気弁7の閉弁時期を早めることによってもスロットル弁17によらずに吸入空気量を制御することができる。従って、図9において実線で示される場合と破線で示される場合とをいずれも包含しうるように表現すると、本発明による実施例では吸気弁7の閉弁時期は、機関負荷が低くなるにつれて、燃焼室内に供給される吸入空気量を制御しうる限界閉弁時期L1まで吸気下死点BDCから離れる方向に移動せしめられることになる。このように吸入空気量は吸気弁7の閉弁時期を図9において実線で示すように変化させても制御することができるし、破線に示すように変化させても制御することができる。前述したように図8Bに示す超高膨張比サイクルでは膨張比が26とされる。この膨張比は高いほど好ましいが図7からわかるように実用上使用可能な下限実圧縮比ε=5に対しても20以上であればかなり高い理論熱効率を得ることができる。従って本実施例では膨張比が20以上となるように可変圧縮比機構Aが形成されている。ところで、燃料噴射量制御において、前回サイクルの燃焼空燃比が理論空燃比である場合には、吸気弁開弁から吸気弁閉弁までの間に燃焼室内へ供給された新気量に対して、今回の燃焼空燃比を実現するための燃焼室内の必要燃料量を決定することができる。しかしながら、前回サイクルの燃焼空燃比が理論空燃比よりリーンである場合には、排気上死点において燃焼室内に残留する気体には新気が含まれるために、今回の燃焼空燃比を実現するための燃焼室内の必要燃料量の決定には、この残留新気量を考慮しなければならない。特に、機械圧縮比を低くするために上死点の燃焼室容積が大きくされている場合には、残留新気量は燃焼室内の空燃比に大きく影響する。図10は、残留新気量を考慮して燃焼室内の必要燃料量Fを決定するための第一フローチャートであり、電子制御ユニット30により実施される。先ず、ステップ101において、可変圧縮比機構Aにより制御される機械圧縮比に対応するクランクケース1とシリンダブロック2との間の相対位置関係を検出する相対位置センサ22が故障しているか否かが判断される。相対位置センサ22が故障していて現在のクランクケース1とシリンダブロック2との間の相対位置関係を検出することができない場合には、前回サイクルの燃焼空燃比が理論空燃比よりリーンであっても、排気上死点の燃焼室容積が不明であるために、残留新気量の算出を断念し、ステップ102において、今回サイクルの燃焼室内新気量Qは吸気弁開弁から吸気弁閉弁までの間に燃焼室内へ供給された供給新気量QS重量とする。供給新気量QSは、吸気弁の閉弁時期からの実際の行程容積とサージタンク12内の吸気圧力とに基づき吸気弁の開弁前においても推定可能である。次いで、ステップ106では、詳しくは後述する残留燃料量FRを0とし、ステップ109において、燃焼室内新気量Qを今回サイクルの燃焼空燃比AFで除算したものから残留燃料量FRを減算して、今回サイクルの燃焼室内の必要燃料量F重量を算出する。こうして、相対位置センサ22が故障している場合には、今回サイクルの供給新気量QSに対して今回サイクルの燃焼空燃比AFを実現するための必要燃料量Fが算出される。一方、相対位置センサ22が正常に機能しているときには、ステップ101の判断は否定され、ステップ103において、前回サイクルの燃焼空燃比AFが理論空燃比AFSより小さいか、すなわち、リッチであるか否かが判断される。前回サイクルの燃焼空燃比AFが理論空燃比又は理論空燃比よりリーンであるときには、ステップ103の判断は否定されてステップ104へ進む。ステップ104においては、前回サイクルの燃焼後の排気上死点において、燃焼室に残留する残留新気量QR重量を次式1により算出する。QR=Q1-AFS/AF/E1ここで、Qは前回サイクルの燃焼室内新気量であり、Eは、前回サイクルの排気行程の機械圧縮比であり、機械圧縮比の変化途中においては、前回サイクルの圧縮行程の機械圧縮比と異なることもある。残留新気量QRは、前回サイクルの燃焼に際して燃料不足により残留する新気量のうちで、排気行程において排出されずに排気上死点の燃焼室容積に残留する分であり、前回サイクルの燃焼空燃比AFが理論空燃比AFSである場合には、燃料不足は発生せず、残留新気量QRは0となる。次いで、ステップ105において、今回サイクルの燃焼室内新気量Qは、吸気弁開弁から吸気弁閉弁までの間に燃焼室内へ供給された供給新気量QSに、ステップ104において算出された今回サイクルの残留新気量QRが加えられて算出される。次いで、ステップ106では、残留燃料量FRを0とし、ステップ109において、燃焼室内新気量Qを今回サイクルの燃焼空燃比AFで除算したものから残留燃料量FRを減算して、今回サイクルの燃焼室内の必要燃料量Fを算出する。こうして、残留新気量QRが考慮された今回サイクルの燃焼室内新気量Qに対して今回サイクルの燃焼空燃比AFを実現するための必要燃料量Fが算出されるために、今回サイクルの所望の燃焼空燃比AFを実現することができる。また、前回サイクルの燃焼空燃比AFが理論空燃比AFSよりリッチである場合には、ステップ103の判断が肯定される。この場合には、前回サイクルの燃焼に際して燃料不足は発生せず、排気上死点の燃焼室容積には残留新気量は存在しないが、残留燃料が存在する。この残留燃料量FR重量は、前回サイクルの燃焼に際して新気不足により残留する燃料量のうちで、排気行程において排出されずに排気上死点の燃焼室容積に残留する分であり、ステップ107において、次式2により算出される。FR=Q/AF-Q/AFS/E2次いで、ステップ108において、今回サイクルの燃焼室内新気量Qは、吸気弁開弁から吸気弁閉弁までの間に燃焼室内へ供給された供給新気量QSとし、ステップ109において、燃焼室内新気量Qを今回サイクルの燃焼空燃比AFで除算したものから残留燃料量FRを減算して、今回サイクルの燃焼室内の必要燃料量Fを算出する。こうして、今回サイクルの燃焼室内新気量Qに対して今回サイクルの燃焼空燃比AFを実現するための残留燃料量FRを減算した必要燃料量Fが算出されるために、今回サイクルの所望の燃焼空燃比AFを実現することができる。本フローチャートのステップ104において、今回サイクルの残留新気量を算出する際には、前回サイクルの残留新気量を含む前回サイクルの燃焼室内新気量が必要となる。それにより、機関始動時又はその後において、例えば、空燃比センサ21を使用するフィードバック制御によって正確に燃焼空燃比を理論空燃比とする運転が実施されたときに、前回の残留新気量を0として、前回サイクルの燃焼室内新気量が設定されれば、それ以降は、前回サイクルの燃焼空燃比が理論空燃比でも、リッチ空燃比でも、リーン空燃比でも、図10のフローチャートによって、正確な前回サイクルの燃焼室内新気量が算出され、今回サイクルの所望の燃焼空燃比を実現することができる。このように、前回サイクルの燃焼室内新気量と前回サイクルの排気行程における機械圧縮比と前回サイクルの燃焼空燃比とに基づいて前回サイクルの燃焼後に排気上死点の燃焼室に残留する残留新気量を算出し、今回サイクルの吸気弁開弁から吸気弁閉弁までに燃焼室へ新たに供給される供給新気量に、この残留新気量を加えて今回サイクルの燃焼室内新気量を算出すれば、今回サイクルの燃焼室内新気量に対して今回サイクルの燃焼空燃比を実現するための必要燃料量を決定することができる。ところで、ステップ109において算出されるのは、今回サイクルの所望の燃焼空燃比を実現するための燃焼室内の必要燃料量、すなわち、吸気弁閉弁時に燃焼室内に存在させる燃料量である。燃料噴射弁13が燃焼室内へ直接的に燃料を噴射するものであって、吸気弁の閉弁以降に燃焼室内へ燃料を噴射する場合には、ステップ109において算出された必要燃料量をそのまま噴射すれば良い。しかしながら、噴射燃料の気化時間を確保するために吸気行程初期から燃焼室内へ燃料を噴射する場合、又は、吸気枝管に取り付けられた燃料噴射弁13により吸気同期又は吸気非同期として燃料が噴射される場合には、燃焼室内へ供給された燃料の一部が、圧縮行程の吸気弁の閉弁までの間に吸気ポートへ吹き戻され、次回サイクルの吸気行程において燃焼室内へ供給されることを考慮して、燃料噴射量FIを決定することが望ましい。例えば、今回サイクルの燃料噴射量FIは、次式3により算出することができる。FI=F/1-a-FM3ここで、aは今回サイクルの吹き戻し率であり、FMは、前回サイクルにおいて吸気ポートへ吹き戻されて今回サイクルにおいて吸気ポートから燃焼室内へ供給される燃料量であり、次式4により算出される。FM=aFMFI吹き戻し率aは、機械圧縮比が高くなるほど大きくなり、また、吸気弁の閉弁時期が遅角されるほど大きくなり、また、スロットル弁の開度が大きくなるほど大きくなり、これらに基づきマップ化することができる。前述したように、前回サイクルの燃焼後の排気上死点において燃焼室内に残留する気体には、既燃ガスだけでなく新気も含まれていることがあり、この場合には、前回サイクルの燃焼後の排気上死点において燃焼室内に残留する今回サイクルの残留排気ガス量は、残留新気量の分だけ少なくなる。残留排気ガスは、燃焼を不安定とさせるために、残留排気ガス量の割合が大きいほど、点火時期を進角させて燃焼悪化を抑制することが好ましい。それにより、今回サイクルの残留排気ガス量を算出し、今回サイクルの残留排気ガス量の割合として、例えば、今回サイクルの残留排気ガス量と燃焼室内の気体との体積比であるEGR率を算出し、EGR率に基づき点火時期の補正量を決定することが好ましい。図11は、残留排気ガス量に基づき点火時期の補正量CAを決定するための第二フローチャートであり、電子制御ユニット30により実施される。先ず、ステップ201において、可変圧縮比機構Aにより制御される機械圧縮比に対応するクランクケース1とシリンダブロック2との間の相対位置関係を検出する相対位置センサ22が故障しているか否かが判断される。相対位置センサ22が故障していて現在のクランクケース1とシリンダブロック2との間の相対位置関係を検出することができない場合には、排気上死点の燃焼室容積が不明であるために、今回サイクルの残留排気ガス量の算出を断念し、ステップ202において、今回サイクルの点火時期の補正量CAは0として終了する。一方、相対位置センサ22が正常に機能しているときには、ステップ201の判断は否定され、ステップ203において、前回サイクルの燃焼空燃比AFが理論空燃比AFSより小さいか、すなわち、リッチであるか否かが判断される。前回サイクルの燃焼空燃比AFが理論空燃比又は理論空燃比よりリーンであるときには、ステップ203の判断は否定されてステップ204へ進む。ステップ204においては、前回サイクルの燃焼後の排気上死点において、燃焼室に残留する今回サイクルの残留排気ガス量BR重量を次式5により算出する。BR=BRQAFS/AF/E5ここで、第一フローチャートにおいて説明したように、Qは前回サイクルの燃焼室内新気量であり、Eは前回サイクルの排気行程の機械圧縮比であり、機械圧縮比の変化途中においては、前回サイクルの圧縮行程の機械圧縮比と異なることもある。また、BRは前回サイクルの残留排気ガス量である。今回サイクルの残留排気ガス量BRは、前回サイクルの残留排気ガス量BRと前回サイクルの燃焼に際して生成された既燃ガス量との合計から排気行程において排出されずに排気上死点の燃焼室容積に残留する分であり、前回サイクルの燃焼空燃比AFが理論空燃比AFSである場合には、燃料不足は発生せず、前回サイクルの燃焼室内新気量QRの全てが燃焼して既燃ガス排気ガスとなる。本フローチャートにおいて、残留排気ガス量は、実際の重量ではなく、燃焼した分の新気の重量として算出される。次いで、ステップ205において、今回サイクルの燃焼室内新気量Qは、第一フローチャートのステップ105と同様に、吸気弁開弁から吸気弁閉弁までの間に燃焼室内へ供給された供給新気量QSに、第一フローチャートのステップ104において算出された今回サイクルの残留新気量QRが加えられて算出される。次いで、ステップ208では、今回サイクルのEGR率REGRが、次式6により算出される。REGR=BR/BRQ6式6において、分子は燃焼室内の燃焼した新気の重量であり、分母は燃焼室内の燃焼した新気の重量と燃焼していない新気の重量との合計であり、それにより、残留排気ガス量と燃焼室内の気体との体積比であるEGR率が算出される。次いで、ステップ209において、今回サイクルのEGR率REGRに基づき、図12に示すマップから今回サイクルの点火時期の補正量CAが決定される。点火時期の補正量CAは、現在の機関負荷及び現在の機関回転数から定まる現在の機関運転状態の最適点火時期MBT:MinimumSparkAdvanceforBestTorqueに対する進角量であり、図12のマップに示すように、機関回転数Nが高いほど全体的に大きくされ、EGR率REGRが大きいほど大きくされる。一方、前回サイクルの燃焼空燃比AFが理論空燃比AFSよりリッチである場合には、ステップ203の判断が肯定される。この場合には、前回サイクルの燃焼に際して燃料不足は発生せず、前回サイクルの燃焼室内新気量QRの全てが燃焼して既燃ガスとなり、排気上死点の燃焼室容積には残留新気量は存在しない。それにより、ステップ206において、前回サイクルの燃焼後の排気上死点において燃焼室に残留する今回サイクルの残留排気ガス量BR重量を次式7により算出する。BR=BRQ/E7次いで、ステップ207において、今回サイクルの燃焼室内新気量Qは、第一フローチャートのステップ108と同様に、吸気弁開弁から吸気弁閉弁までの間に燃焼室内へ供給された供給新気量QSとされる。次いで、ステップ208において、前述したように、今回サイクルのEGR率REGRが算出される。次いで、ステップ209において、今回サイクルのEGR率REGRに基づき、図12に示すマップから今回サイクルの点火時期の補正量CAが決定される。こうして、本フローチャートによれば、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量BRを、前回サイクルの残留排気ガス量BRと前回サイクルの燃焼室内新気量Qと前回サイクルの排気行程における機械圧縮比Eと前回サイクルの燃焼空燃比AFとに基づいて算出し、算出された今回サイクルの残留排気ガス量BRに基づき今回サイクルの点火時期の補正量CAを決定するようになっており、残留排気ガス量BRを比較的正確に推定して、点火時期による燃焼の悪化を抑制することができる。本フローチャートのステップ204及び206において、今回サイクルの残留排気ガス量BRを算出する際には、前回サイクルの残留新気量QRを含む前回サイクルの燃焼室内新気量Qと前回サイクルの残留排気ガス量BRとが必要となる。それにより、機関始動時又はその後において、例えば、空燃比センサ21を使用するフィードバック制御によって正確に燃焼空燃比を理論空燃比とする運転が実施されたときに、前回サイクルの残留新気量を0として、前回サイクルの燃焼室内新気量が設定されれば、それ以降は、前回サイクルの燃焼空燃比が理論空燃比でも、リッチ空燃比でも、リーン空燃比でも、図10の第一フローチャートによって、正確な前回サイクルの燃焼室内新気量を算出することができ、また、図11の第二フローチャートによって、正確な前回サイクルの残留排気ガス量を算出することができる。ところで、排気上死点後においても排気弁が閉弁するまでは、吸気系より排気系の圧力が高いために、燃焼室から排気系へ流出した気体燃焼空燃比によっては新気を含む排気ガスが排気系から燃焼室内へ逆流する。EGR率の算出には、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量BRではなく、この排気ガスの逆流を考慮した前回サイクルの燃焼後に燃焼室に残留する残留排気ガス量BR’を使用することが好ましい。以下に、この逆流を考慮したEGR率の算出に関して説明する。排気上死点から排気弁の閉弁までに排気系から燃焼室内へ逆流した気体量をGとする。この気体量Gは、未燃の新気の重量として、排気上死点から排気弁閉弁までの行程容積に基づき推定可能である。前回の燃焼空燃比AFが理論空燃比AFS以下であるときには、気体量Gは全て既燃ガスであり、ステップ208において、EGR率REGRの算出に使用する今回サイクルの残留排気ガス量BR’は、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量BRに既燃ガス量Gを加算すれば良い。燃焼室内の気体量BRQは、残留排気ガス量BR’が前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量BRからGだけ増加するが、燃焼室内新気量QはGだけ減少するために、そのままで良い。また、前回の燃焼空燃比AFが理論空燃比AFSより大きいときには、気体量GにAFS/AFを乗算して既燃ガス量を算出する。次いで、ステップ208において、EGR率REGRの算出に使用する今回サイクルの残留排気ガス量BR’は、前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量BRに既燃ガス量GAFS/AFを加算すれば良い。燃焼室内の気体量BRQは、残留排気ガス量BR’が前回サイクルの燃焼後に排気上死点の燃焼室に残留する今回サイクルの残留排気ガス量BRからGAFS/AFだけ増加するが、燃焼室内新気量QはGAFS/AFだけ減少するために、そのままで良い。また、このような逆流を必要燃料量Fの決定のための第一フローチャートに適用する場合には、前回の燃焼空燃比AFが理論空燃比AFS以下であるときには、ステップ108及び105において、燃焼室内新気量Qは既燃ガス量Gが減算されることとなる。また、前回の燃焼空燃比AFが理論空燃比AFSより大きいときには、ステップ105において、燃焼室内新気量Qは既燃ガス量GAFS/AFが減算されることとなる。"