(57)【要約】【課題】エンコーダスリットの伸びや汚れなどの劣化による誤差や誤検出の影響を低減する。【解決手段】記録素子を有する記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行う際の、記録素子の駆動タイミングを規定するタイミング信号を生成するときに、キャリッジの走査方向における位置に応じてエンコーダから出力されるパルス信号の立ち上がり及び立ち下がりそれぞれのエッジの周期を計測し、計測されたエッジの周期のうち、所定の条件を満たさないエッジをマスクして、条件を満足したエッジの周期に基づいて、タイミング信号の周期を算出する。【選択図】　図１
2004142199.tif 000002
【特許請求の範囲】
【請求項１】
記録素子を有する記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行う際の、記録素子の駆動タイミングを規定するタイミング信号を生成する記録位置制御方法であって、
前記キャリッジの走査方向における位置に応じてエンコーダから出力されるパルス信号の立ち上がり及び立ち下がりそれぞれのエッジの周期を計測し、
計測された前記エッジの周期のうち、所定の条件を満たした前記エッジの周期に基づいて、前記タイミング信号の周期を算出することを特徴とする記録位置制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は記録位置の制御に関し、特に、記録素子を有する記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行う際の、記録素子の駆動タイミングを規定するタイミング信号の生成に関するものである。
【０００２】
【従来の技術】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行う記録装置において、用紙等の記録媒体の送り方向と交差する方向に記録素子を有する記録ヘッドを搭載したキャリッジを走査させて記録を行なうシリアル記録方式が安価で小型化が容易などの点から一般的に広く用いられている。
【０００３】
記録装置の記録方式としては様々な方式が知られているが、用紙等の記録媒体に非接触記録が可能である、カラー化が容易である、静粛性に富む、等の理由でインクジェット方式が近年特に注目されている。
【０００４】
このような記録装置においては、記録ヘッドの走査位置と、記録ヘッドの駆動タイミングとの整合が不可欠である。記録ヘッドの走査位置の検出手段としては、記録ヘッドを搭載するキャリッジの移動位置を検出するエンコーダなどが用いられる。
【０００５】
エンコーダを用いた場合には、エンコーダによるキャリッジの位置検出の分解能は画像の記録分解能に大きく影響を与える。画像の記録分解能（解像度）の向上を実現することは重要な課題であり、このようなエンコーダを用いた記録装置において画像の記録分解能を高めるためには、エンコーダの分解能を高くするのが一般的である。しかしながら、現在、インクジェット方式の記録装置に対しては低価格化が要望されており、高解像度の高価格なエンコーダを使用することは、記録装置の製品化においてコスト面でマイナス要因となる。
【０００６】
このような状況において、記録画像の高解像度化を達成しつつ装置全体のコスト上昇を抑えるためには、エンコーダから出力されるパルス状のエンコード信号に基づいて、更に分解能の高いタイミング信号（キックパルス）を生成してこの信号に基づいて記録ヘッドを駆動することが必要となる。
【０００７】
高分解能の信号を生成する方法としては、エンコーダから出力されるエンコード信号の立ち上りエッジから次の立ち上りエッジ（あるいは、立ち下りエッジから次の立ち下りエッジ）までの１周期をｎ等分する方法が用いられている。例えば、直前のエッジ周期測定値をｍ、あらかじめ設定されているエッジ周期内に生成するキックパルスの数（分割数）をｎとすると、キックパルス間隔はｍ／ｎの商の値とし、ｎ個のキックパルスを生成した後、次のエッジ周期まで待機する。
【０００８】
【発明が解決しようとする課題】
一般的に、記録装置に用いられるエンコーダは光学的エンコーダが多く、エンコーダから出力されるＡ相とＢ相の２つの信号は、エンコーダセンサの光源から照射された光がエンコーダスリットに反射し、その反射光の明暗によって生成される。
【０００９】
しかしながら、記録装置の使用によって生じるエンコーダの機械的な劣化、例えば、エンコーダスリットの伸びやスリットへのインクの付着などによる汚れのため、正確に反射光の検知ができなくなり、同相内のデューティー比やＡ−Ｂ相間の間隔の誤差が大きくなり、キャリッジの定速動作区間においてもエッジ間隔の誤差が大きくなることがある。
【００１０】
このような場合でもキックパルス制御回路中のエッジ間隔取り込み部では、誤差や誤検出に関らず、全てのエッジ間隔を取り込んでしまうので、パルス間隔演算部ではキャリッジの速度に対する適切なキックパルス間隔を求めることができない。その結果、高解像度での記録動作に悪影響を与える。
【００１１】
本発明は以上のような状況に鑑みてなされたものであり、エンコーダスリットの伸びや汚れなどの機械的劣化による誤差や誤検出の影響を低減することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成する本発明の一態様としての記録位置制御方法は、記録素子を有する記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行う際の、記録素子の駆動タイミングを規定するタイミング信号を生成する記録位置制御方法であって、
前記キャリッジの走査方向における位置に応じてエンコーダから出力されるパルス信号の立ち上がり及び立ち下がりそれぞれのエッジの周期を計測し、
計測された前記エッジの周期のうち、所定の条件を満たした前記エッジの周期に基づいて、前記タイミング信号の周期を算出する。
【００１３】
すなわち、本発明では、記録素子を有する記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行う際の、記録素子の駆動タイミングを規定するタイミング信号を生成するときに、キャリッジの走査方向における位置に応じてエンコーダから出力されるパルス信号の立ち上がり及び立ち下がりそれぞれのエッジの周期を計測し、計測されたエッジの周期のうち、所定の条件を満たしたエッジの周期に基づいて、タイミング信号の周期を算出する。
【００１４】
このようにすると、例えば、エンコーダのスリットの伸びや汚れ等の機械的劣化に起因する検出誤差や誤検出によるエッジ周期を除外して、タイミング信号を算出することができる。
【００１５】
従って、エンコーダの機械的劣化に起因する誤差や誤検出の影響を低減して、走査方向における記録位置制御を正確に行うことができ、常に安定した記録品質で記録を行うことができる。
【００１６】
【発明の実施の形態】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１７】
なお、以下に説明する実施形態では、本発明を適用する記録装置として、インクジェット記録方式を用いたプリンタを例に挙げ説明する。
【００１８】
本明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００１９】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００２０】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００２１】
また、以下の説明で信号又はエッジの「間隔」という表現は、信号又はエッジの周期と同じ時間間隔（期間）を意味する。
【００２２】
＜装置本体の概略説明＞
図７は、本発明を適用するのに好適なインクジェットプリンタＩＪＲＡの構成の概要を示す外観斜視図である。図７において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５００９〜５０１１を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（不図示）を有し、ガイドレール５００３に支持されて矢印ａ，ｂ方向を往復移動する。キャリッジＨＣには、記録ヘッドＩＪＨとインクタンクＩＴとを内蔵した一体型インクジェットカートリッジＩＪＣが搭載されている。
【００２３】
５００２は紙押え板であり、キャリッジＨＣの移動方向に亙って記録用紙Ｐをプラテン５０００に対して押圧する。５００７，５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知器である。
【００２４】
５０１６は記録ヘッドＩＪＨの前面をキャップするキャップ部材５０２２を支持する部材で、５０１５はこのキャップ内を吸引する吸引器で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。
【００２５】
又、５０２１は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達機構で移動制御される。
【００２６】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の動作を行うようにすれば、本例にはいずれも適用できる。
【００２７】
＜制御構成の説明＞
次に、上述した装置の記録制御を実行するための制御構成について説明する。
【００２８】
図８はインクジェットプリンタＩＪＲＡの制御回路の構成を示すブロック図である。制御回路を示す同図において、１７００は記録信号を入力するインターフェース、１７０１はＭＰＵ、１７０２はＭＰＵ１７０１が実行する制御プログラムを格納するＲＯＭ、１７０３は各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておくＤＲＡＭである。１７０４は記録ヘッドＩＪＨに対する記録データの供給制御を行うゲートアレイ（Ｇ．Ａ．）であり、インターフェース１７００、ＭＰＵ１７０１、ＲＡＭ１７０３間のデータ転送制御も行う。１７１０は記録ヘッドＩＪＨを搬送するためのキャリアモータ、１７０９は記録紙搬送のための搬送モータである。１７０５は記録ヘッドを駆動するヘッドドライバ、１７０６，１７０７はそれぞれ搬送モータ１７０９、キャリアモータ１７１０を駆動するためのモータドライバである。
【００２９】
上記制御構成の動作を説明すると、インターフェース１７００に記録信号が入るとゲートアレイ１７０４とＭＰＵ１７０１との間で記録信号がプリント用の記録データに変換される。そして、モータドライバ１７０６、１７０７が駆動されると共に、ヘッドドライバ１７０５に送られた記録データに従って記録ヘッドが駆動され、記録が行われる。
【００３０】
ここでは、ＭＰＵ１７０１が実行する制御プログラムをＲＯＭ１７０２に格納するものとしたが、ＥＥＰＲＯＭ等の消去／書き込みが可能な記憶媒体を更に追加して、インクジェットプリンタＩＪＲＡと接続されたホストコンピュータから制御プログラムを変更できるように構成することもできる。
【００３１】
なお、上述のように、インクタンクＩＴと記録ヘッドＩＪＨとは一体的に形成されて交換可能なインクカートリッジＩＪＣを構成しても良いが、これらインクタンクＩＴと記録ヘッドＩＪＨとを分離可能に構成して、インクがなくなったときにインクタンクＩＴだけを交換できるようにしても良い。
【００３２】
＜キックパルス制御回路＞
以上のような構成のインクジェットプリンタに用いるキックパルス制御回路について説明する。
【００３３】
図４は、上記のインクジェットプリンタにおける記録ヘッドの駆動信号であるヒートパルス生成のためのキックパルス制御回路のブロック図である。本実施形態のキックパルス制御回路は、エッジ間隔取り込み回路２５とパルス間隔演算回路２６から構成されている。
【００３４】
キックパルス制御回路にはエンコーダからＡ相及びＢ相の２つの信号が入力され、エッジ間隔取り込み回路２５では、入力エッジが変化するごとに、Ａ相の立ち上りエッジ間隔、Ｂ相の立ち上りエッジ間隔、Ａ相の立下りエッジ間隔、Ｂ相の立下りエッジ間隔の順に値を出力する。パルス間隔演算回路２６では、エッジ間隔取り込回路２５から入力されたエッジ間隔値とエッジ間隔取り込みパルスとに基づいて、余りの伝播処理、エッジ間隔値の更新による生成途中のパルス間隔の更新等の処理を行いキックパルスを出力する。
【００３５】
図１は、上記キックパルス制御回路のエッジ間隔取り込回路２５の詳細な構成を示すブロック図である。図１において、キックパルス生成処理開始と同時にフリーランカウンタ５がクロックのカウントアップをはじめる。１から４はエッジ検出器であり、順番にＡ相立上り、Ａ相立下り、Ｂ相立上り、Ｂ相立下がりをそれぞれ検知すると、スタートパルスを発生する。７〜１０はエッジ検出器１〜４にそれぞれ対応して設けられたレジスタであり、対応するエッジ検出器からスタートパルスが発生されると、そのときのフリーランカウンタ５の値を保持する。
【００３６】
セレクタ１１は、スタートパルスを発生したエッジ検出器に接続されたレジスタの値を出力する。例えばＡ相立上りエッジが検出された場合、エッジ検出器１からのスタートパルスによってセレクタ１１はレジスタ７の値を出力する。１２は減算器であり、フリーランカウンタ５の出力値からセレクタ１１の出力値を減算する。１３はレジスタであり、減算器１２から出力された値を保持する。つまり、エッジが計測されるごとに、Ａ相立上り１周期間隔値、Ｂ相立上り１周期間隔値、Ａ相立下り１周期間隔値、Ｂ相立下がり１周期間隔値の順にレジスタ１３に値が保持されることになる。
【００３７】
６はコンパレータであり、レジスタ７の値とフリーランカウンタ５の値を比較して、両者が一致したとき（フリーランカウンタが計測できる範囲を超えてしまう場合）、エラー処理としてオーバーフロービットを立てる。ここではレジスタ７とフリーランカウンタ５の値を比較しているが、比較するレジスタは７〜１０のどのレジスタでもよい。
【００３８】
１４はマスク回路であり、エッジ検出器１〜４から出力されたスタートパルス（エッジパルス）と減算器１２から出力されたエッジ間隔値とから、記録動作に適さないスタートパルスをマスクして、エッジ間隔取り込みパルスとして出力しないように処理する。
【００３９】
本実施形態のマスク回路１４は、一例として記録動作中のキャリッジの１走査毎に定速動作区間のエッジ間隔を計測し、この値を基にマスク処理を行う。またマスク回路１４のアルゴリズムとしては、全てのエッジ間隔値の最大値から最小値を引いた値が所定値を超えた場合、キックパルス間隔値を求める計算からそのエッジ間隔値を除外するアルゴリズムを採用している。
【００４０】
図２はマスク回路１４の構成を示すブロック図である。レジスタ１５は、最大値から最小値を引いた値と比較するための所定値を保持している。１６〜１９は最大値−最小値計算回路であり、エッジパルスと減算器１２から出力されたエッジ間隔値とを入力として、エッジ間隔値の最大値から最小値を減算し、その結果を所定値と比較して、所定値を越えている場合にマスク信号をローレベルにする回路である。このような最大値−最小値計算回路それぞれから出力されるＡ相及びＢ相の立ち上がり及び立ち下がりエッジパルスとマスク信号との論理積をＡＮＤゲートで求め、それらの論理和をＯＲゲートで求めてエッジ間隔取り込みパルスとして出力する。
【００４１】
図３は最大値−最小値計算回路の構成の一例を示すブロック図である。ここで示す構成は、入力されるエッジ間隔値から最大値と最小値を保持して、最大値から最小値を減算し、その値が所定値より大きい場合マスク信号をローレベルにする。
【００４２】
具体的には、立上りエッジパルスとエッジ間隔値が入力されると、エッジ間隔値をコンパレータ２０によってレジスタ２１及びレジスタ２２に保持されている値と比較し、最小値をレジスタ２１に、最大値をレジスタ２２に保持する。まず最初にエッジ間隔値が入力されたときは、レジスタ２１＝レジスタ２２＝０であるので、レジスタ２１及びレジスタ２２にエッジ間隔値が保持される。その後エッジ間隔値が入力されたときに、その値がレジスタ２１に保持された値よりも小さい場合には、レジスタ２１にエッジ間隔値が保持される。一方、入力されたエッジ間隔値がレジスタ２２に保持された値よりも大きい場合には、レジスタ２２にエッジ間隔値が保持される。このようにしてエッジ間隔値の最大値がレジスタ２１で、最小値がレジスタ２２で保持される。
【００４３】
そして減算器２３で最大値から最小値を減算した値を計算し、コンパレータ２４で減算結果と所定値とを比較する。減算結果が所定値より大きい場合には、検出誤差が大きいので対応するエッジパルスを無効とすべくマスク信号をローレベルにする。
【００４４】
なお、図３の回路では、レジスタ２１及び２２に保持されている値は記憶されず、常に更新された値しか保持しないようになっているが、例えば別の場所にそれぞれの値を記憶しておき、マスク信号がローレベルとなったとき（すなわち、エッジ間隔値が無効とされたとき）には、その前にレジスタに保持されていた値に戻すようにすることも考えられる。
【００４５】
実際の記録動作における本実施形態のエッジ間隔取り込回路２５の動作について説明する。例えば、Ａ相立上りエッジが入力されるとエッジ検出器１でエッジが検出されエッジパルスが生成される。このＡ相立上がりのエッジパルスによってフリーランカウンタ５の値はレジスタ７に保持され、セレクタ１１によってレジスタ７の値が減算器１２に入力される。これにより減算器１２によってＡ相立上りエッジ間隔値が計算される。
【００４６】
マスク回路１４にはＡ相立上りエッジパルスとエッジ間隔値とが入力され、最大値−最小値計算回路１６でエッジ間隔値の最大値から最小値が減算され、その減算結果がレジスタ１５に保持された所定値と比較される。減算結果が所定値以下であればマスク信号はハイレベルとなり、減算結果が所定値を越えるときマスク信号はローレベルとなる。
【００４７】
マスク信号がハイレベルならば、マスク回路１４からＡ相立上りエッジパルスがそのままエッジ間隔取り込みパルスとして出力されるので、レジスタ１３にエッジ間隔値が保持されて、キックパルス間隔値の計算に使用される。一方、マスク信号がローレベルならば、マスク回路１４によりＡ相立上りエッジパルスがマスクされて無効となり、エッジ間隔取り込みパルスが出力されないので、レジスタ１３にはエッジ間隔値が保持されず、キックパルス間隔値の計算に使用されない。
【００４８】
図５はパルス間隔演算回路２６構成を示すブロック図である。図５においてレジスタ４１は、前回のキックパルス間隔を求める計算ｍ／ｎより生じた余りを保持するレジスタである。加算器４２は、エッジ間隔取り込み回路より出力されたエッジ１周期の間隔値とレジスタ４１に保持された値の加算を行う。そして、レジスタ４１、加算器４２、及びシフタ４３により、エッジ１周期間隔値からキックパルス間隔値が求められる。なお、キックパルス間隔を求める計算ｍ／ｎの除算において、除数を２のべき乗としているのでシフタ４３を用いている。
【００４９】
レジスタ４４は、前々回のキックパルス間隔を求める計算ｍ／ｎより生じた余りを保持する。加算器４５、レジス４４、及びシフタ４６によりエッジ１周期間隔値と前々回のキックパルス間隔を求める計算で出た余りを使って、エッジ１周期間隔値が更新されたときに生成途中のキックパルス間隔の変更値が求められる。
【００５０】
レジスタ４８は、生成するエッジ間隔取り込みパルスによってキックパルス間隔値を保持する。カウンタ４９は、レジスタ４８の値が更新するとコンパレータ５０によって１にセットされ、クロックが入力される度にカウントアップする。コンパレータ５０は、レジスタ４８とカウンタ４９の値を比較して、カウンタ値が１のときキックパルスのＯＮに相当する信号を１クロック期間出力する。その後、レジスタ４８とカウンタ４９の値が一致するまでキックパルスのＯＦＦに相当する信号を出力し、カウンタ４９の値を１にセットする。
【００５１】
コンパレータ５１は、レジスタ４８に保持された生成中のキックパルス間隔値とシフタ４６からのエッジ１周期間隔値が更新されたときのキックパルスの変更値を比較し、カウンタ４９の値が変更値を超えないようなら、エッジ１周期間隔値更新時にレジスタ４８の値をシフタ４６の値に変更する。ただし、シフタ４６の値よりもカウンタ４９の値が大きい場合には、この処理は次のキックパルスを生成した後に行うものとする。
【００５２】
すなわち、変更値が現在の間隔よりも小さく、かつカウンタ４９の値（現時点でのカウント値）が変更値よりも大きい場合にのみ、次のキックパルスを生成した後にキックパルス間隔を変更する。
【００５３】
キックパルスはエッジ間隔取り込み回路２５から出力されるオーバーフロー信号とアンドとり、オーバーフローの場合には出力されない。
【００５４】
このように本実施形態では、エンコーダから出力されたＡ相及びＢ相の立ち上がり及び立ち下がりのエッジ間隔値を取り込み、余りの伝播処理、エッジ間隔値の更新による生成途中のパルス間隔の更新等の処理を行いキックパルスを出力する。
【００５５】
これらの処理を図６のタイミングチャートを参照して説明する。図６において、Ｓ１及びＳ２はエンコーダから出力されるＡ相及びＢ相の信号であり、Ｐ１は出力されるキックパルスである。
【００５６】
時刻ｔ７からｔ１１で計測されたＢ相の立下り周期間隔が７９で、ｔ１１の直前のキックパルス間隔計算によって余りが２の場合、ｔ１１の先頭パルスは、
（７９＋２）／８＝１０…余り１
となり、ｔ１１での最初のパルス間隔は１０となる。余りの伝播によって、つぎのパルス間隔は、
（７９＋１）／８＝１０…余り０
となり、パルス間隔は１０に設定される。
【００５７】
この間隔でパルスを生成中に、ｔ８からｔ１２で計測されたＡ相の立ち上がり周期間隔が測定され、この値が７６であるので、この値をもとにパルス間隔を再度計算すると、
（７６＋１）／８＝９…余り５
となる。このとき、生成途中のパルス間隔は、ｔ１２でのエッジ間隔更新時に１０から９に更新される。
【００５８】
従って、以上説明した実施形態によれば、余りの伝播処理をしているため、キャリッジの速度変化に対する応答性のよいキックパルスを生成できる。
【００５９】
なお、上記の実施形態では、伝播された余りはキャリッジの走査開始時にリセットする。往復走査で記録を行う際には、復路の開始位置での余りとして往路の最終パルス生成時の余りの補数を用いる。また、上記のパルス間隔が、全てのノズル吐出を補償するための閾値である最少パルス間隔以下となる場合には、パルス間隔は最少パルス間隔に設定される。
【００６０】
以上説明したように本実施形態によれば、検出誤差の大きいエッジ間隔を無効としてキックパルスの生成が行われるので、エンコーダスリットの伸びや汚れなどの劣化による誤差や誤検出の影響が低減される。
【００６１】
＜変形例＞
以上説明した実施形態では、記録動作に適さないエッジ間隔を無効とするアルゴリズムとして、全エッジパターンのエッジ間隔の最大値から最小値を減算した値が所定値を超えた場合、エッジ間隔値をマスクするようにしていたが、別のアルゴリズムを用いてもよい。
【００６２】
このようなアルゴリズムの例としては、
（Ａ）Ｘ個の全エッジパターンのエッジ間隔のうち、所定値を超えた内の上位Ｙ個のエッジ間隔を無効とする、
（Ｂ）Ｘ個の全エッジパターンのエッジ間隔の平均値をとって、その平均値との差が所定値より大きい上位Ｙ個のエッジ間隔を無効とする、
（Ｃ）Ｘ個の全エッジパターンのエッジ間隔の分散値をとって、その分散値との差が所定値より大きい上位Ｙ個のエッジ間隔を無効とする、
（ただし、いずれも、Ｘ＞Ｙとする）など、統計的データを用いて無効とするエッジ間隔値を決定することが考えられる。
【００６３】
このような統計的数値を利用して無効とするエッジ間隔値を決定する場合には、計測された全てのエッジ間隔値を一旦記憶しておく必要があるが、複数回のエッジ間隔の測定でいずれも無効とされるエッジ間隔値の計測に関連するエンコーダスリットの位置、あるいはキャリッジの位置などを特定することが可能であり、必要に応じてプリントドライバ等を介してユーザに通知するようにしてもよい。
【００６４】
また、上記実施形態では記録動作中の走査毎にエッジ間隔を計測してキックパルス計算に適さないエッジを無効としていたが、エッジ間隔の計測を行うタイミングは記録動作とは別のタイミングで行ってもよい。
【００６５】
例えば、エッジ間隔の計測を行うタイミングとしては、
（１）工場からの出荷時、
（２）記録動作の開始前、
（３）最後の記録動作から所定期間経過した後の記録動作開始前、
（４）所定回数（所定枚数）の記録動作を行った後の記録動作開始前、
（５）毎回の記録動作中での最終走査、
（６）最後の記録動作から所定時間経過した後の記録動中の最終走査、
（７）所定回数の記録動作毎の記録動中の最終走査、
などが考えられる。
【００６６】
なお、統計的データを利用してエッジ間隔を無効とするアルゴリズムを用いる場合には、実際の記録動作中以外のタイミングでエッジ間隔を計測するのが好ましい。
【００６７】
また上記実施形態では、記録動作中のキャリッジ移動方向に関係なくエッジ間隔を計測してキックパルス計算に適さないエッジを抽出していたが、エッジ間隔の計測をキャリッジの走査方向（往路、復路）毎に計測し、各方向でそれぞれ記録動作に適さないエッジ間隔を無効として、キックパルスを計算してもよい。
【００６８】
＜他の実施形態＞
以上説明した実施形態はインクジェット方式の記録装置に本発明を適用したものであるが、本発明は記録ヘッドを搭載したキャリッジを走査させて記録を行う記録装置であれば、他の方式を採用する記録装置にも適用できる。
【００６９】
更に、上記実施形態におけるエッジ間隔の分割数（８）以外の数で除算してキックパルスの間隔を求めてもよい。また、エンコーダ信号のＡ相及びＢ相両方でなく、Ａ相又はＢ相いずれかの立ち上がり及び立ち下がりエッジの間隔に基づいて、キックパルスを生成するようにしてもよい。
【００７０】
なお、本発明はこのように記録装置における記録位置制御方法として実現することができるが、該記録位置制御方法を実施する記録装置、該記録位置制御方法をコンピュータによって実施させるコンピュータプログラム、該コンピュータプログラムを格納する記憶媒体の形で実現することもでき、具体的には、複数の機器（例えばホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００７１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
【発明の効果】
以上説明したように本発明によれば、例えば、エンコーダのスリットの伸びや汚れ等の機械的劣化に起因する検出誤差や誤検出によるエッジ周期を除外して、タイミング信号を算出することができる。
【００７７】
従って、エンコーダの機械的劣化に起因する誤差や誤検出の影響を低減して、走査方向における記録位置制御を正確に行うことができ、常に安定した記録品質で記録を行うことができる。
【図面の簡単な説明】
【図１】本発明に係るエッジ間隔取り込み回路の構成を示すブロック図である。
【図２】図１のマスク回路の構成を示すブロック図である。
【図３】図２の最大値−最小値計算回路の構成を示すブロック図である。
【図４】本発明に係るキックパルス制御回路の概略構成を示すブロック図である。
【図５】図４のパルス間隔演算回路の構成を示すブロック図である。
【図６】本発明により生成したキックパルスのタイミングチャートである。
【図７】本発明に係るインクジェットプリンタの外観を示す図である。
【図８】図７のプリンタの制御構成を示すブロック図である。
【符号の説明】
Ｓ１　エンコード信号（Ａ相）
Ｓ２　エンコード信号（Ｂ相）
Ｐ１　キックパルス
１〜４　エッジ検出器
５　カウンタ
６、２０　コンパレータ
７〜１０、１３、１５、２１、２２、４１、４４、４８、　レジスタ
１１、４７、５２　セレクタ
１２、２３　減算器
１４　マスク回路
１６〜１９　最大値−最小値計算回路
２０、５０、５１　コンパレータ
２５　エッジ間隔取り込み回路
２６　パルス間隔演算回路
４２、４５　加算器
４３、４６　シフタ
【図１】
2004142199.tif 000003
【図２】
2004142199.tif 000004
【図３】
2004142199.tif 000005
【図４】
2004142199.tif 000006
【図５】
2004142199.tif 000007
【図６】
2004142199.tif 000008
【図７】
2004142199.tif 000009
【図８】
2004142199.tif 000010