(57)【要約】【課題】初期化処理の効率をより向上させたプリンタ用メモリの初期化方法および初期化装置を提供する。【解決手段】メモリに書き込んだフレームを所定の処理単位で読み出す読出段階と、読出段階で読み出した処理単位を監視して描画データの有無を検出する描画データ検出段階Ｓ４００〜Ｓ４７０と、検出段階で描画データを検出した処理単位についてのみ、メモリ上の処理単位に対し初期化処理を行う初期化段階Ｓ４８０と、を有する。【選択図】図４
2010269542.tif 000002
【特許請求の範囲】
【請求項１】
メモリに書き込んだフレームを所定の処理単位で読み出す読出段階と、
前記読出段階で読み出した前記処理単位を監視して描画データの有無を検出する描画データ検出段階と、
前記検出段階で前記描画データを検出した前記処理単位についてのみ、前記メモリ上の前記処理単位に対し初期化処理を行う初期化段階と、
を有することを特徴とするプリンタ用メモリの初期化方法。
【請求項２】
前記描画データ検出段階で描画データを検出した前記処理単位について、前記処理単位内の前記描画データが無い部分であるギャップを検出するギャップ検出段階をさらに有し、
前記初期化段階において、前記ギャップのうち選択した一以上の前記ギャップを除いて前記処理単位に対し初期化処理が行われることを特徴とする請求項１に記載のプリンタ用メモリの初期化方法。
【請求項３】
前記ギャップ検出段階において、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップが検出され、
前記初期化段階において、前記開始ギャップおよび前記末尾ギャップのみが選択されることを特徴とする請求項２に記載のプリンタ用メモリの初期化方法。
【請求項４】
前記ギャップ検出段階において、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップが検出され、
前記初期化段階において、前記開始ギャップおよび前記末尾ギャップが選択されるとともに、前記描画データ間ギャップのうち大きいギャップが優先して選択されることを特徴とする請求項２に記載のプリンタ用メモリの初期化方法。
【請求項５】
前記初期化段階において、前記描画データ間ギャップに対応する前記終了位置および前記開始位置をレジスタに記憶することで前記描画データ間ギャップが選択され、前記ギャップ検出段階で順次検出した前記描画データ間ギャップの数が所定の閾値を超えたとき、一番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置が、二番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置で置き換えられて記憶されることを特徴とする請求項４に記載のプリンタ用メモリの初期化方法。
【請求項６】
前記読出段階における前記処理単位の読出しはリードＤＭＡで行われ、前記初期化段階における前記初期化処理はライトＤＭＡで行われることを特徴とする請求項１〜５のいずれかに記載のプリンタ用メモリの初期化方法。
【請求項７】
メモリに書き込んだフレームを所定の処理単位で読み出す読出手段と、
前記読出手段が読み出した前記処理単位を監視して描画データの有無を検出する描画データ検出手段と、
前記検出手段が前記描画データを検出した前記処理単位についてのみ、前記メモリ上の前記処理単位に対し初期化処理を行う初期化手段と、
を有することを特徴とするプリンタ用メモリの初期化装置。
【請求項８】
前記描画データ検出手段が描画データを検出した前記処理単位について、前記処理単位内の前記描画データが無い部分であるギャップを検出するギャップ検出手段をさらに有し、
前記初期化手段は、前記ギャップのうち選択した一以上の前記ギャップを除いて前記処理単位に対し初期化処理を行うことを特徴とする請求項７に記載のプリンタ用メモリの初期化装置。
【請求項９】
前記ギャップ検出手段は、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップを検出し、
前記初期化手段は、前記開始ギャップおよび前記末尾ギャップのみを選択することを特徴とする請求項８に記載のプリンタ用メモリの初期化装置。
【請求項１０】
前記ギャップ検出手段は、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップを検出し、
前記初期化手段は、前記開始ギャップおよび前記末尾ギャップを選択するとともに、前記描画データ間ギャップのうち大きいギャップを優先して選択することを特徴とする請求項８に記載のプリンタ用メモリの初期化装置。
【請求項１１】
前記初期化手段は、前記描画データ間ギャップに対応する前記終了位置および前記開始位置をレジスタに記憶することで前記描画データ間ギャップを選択し、前記ギャップ検出手段が順次検出した前記描画データ間ギャップの数が閾値を超えたときは、一番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置を、二番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置で置き換えて記憶することを特徴とする請求項１０に記載のプリンタ用メモリの初期化装置。
【請求項１２】
前記読出手段は前記処理単位の読出しをリードＤＭＡで行い、前記初期化手段は前記初期化処理をライトＤＭＡで行うことを特徴とする請求項７〜１１のいずれかに記載のプリンタ用メモリの初期化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ用メモリの初期化方法および初期化装置に関する。
【背景技術】
【０００２】
近年、プリンタ装置の解像度の向上に伴い、フレームのサイズが増大し、これにより、装置による処理の高速化がますます要求されている。
【０００３】
このような装置の高速化を実現するうえで、メモリ上のフレーム空間の初期化処理時間を無視することができなくなってきており、いかに効率よくフレーム空間の初期化を行うかが課題となっている。
【０００４】
従来技術としては、メモリ（ＥＥＰＲＯＭ）の初期化を行う際、メモリ上の管理データ記憶領域に記憶された情報に基づいてメモリの各ブロック単位でデータの有無を判断し、データの無いブロックに対しては初期化を実行しないというものがある（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２６２７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来技術は、メモリのブロック単位でデータの有無を判断する。そのため、あらかじめ設定した処理単位（例えば、ラスタ）ごとにデータの有無を判断し、該処理単位ごとに初期化を行なわないため、メモリを効率よく初期化することができず、装置の高速化に対応することが困難であるという問題がある。
【０００７】
そこで、本発明は、所定の処理単位ごとにデータの有無を判断し、データを検出した処理単位についてのみ初期化を行うことにより、初期化処理の効率をより向上させ、装置の高速化へ対応することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の上記課題は、以下の手段によって解決される。
【０００９】
（１）メモリに書き込んだフレームを所定の処理単位で読み出す読出段階と、前記読出段階で読み出した前記処理単位を監視して描画データの有無を検出する描画データ検出段階と、前記検出段階で前記描画データを検出した前記処理単位についてのみ、前記メモリ上の前記処理単位に対し初期化処理を行う初期化段階と、を有することを特徴とするプリンタ用メモリの初期化方法。
【００１０】
（２）前記描画データ検出段階で描画データを検出した前記処理単位について、前記処理単位内の前記描画データが無い部分であるギャップを検出するギャップ検出段階をさらに有し、前記初期化段階において、前記ギャップのうち選択した一以上の前記ギャップを除いて前記処理単位に対し初期化処理が行われることを特徴とする上記（１）に記載のプリンタ用メモリの初期化方法。
【００１１】
（３）前記ギャップ検出段階において、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップが検出され、前記初期化段階において、前記開始ギャップおよび前記末尾ギャップのみが選択されることを特徴とする上記（２）に記載のプリンタ用メモリの初期化方法。
【００１２】
（４）前記ギャップ検出段階において、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップが検出され、前記初期化段階において、前記開始ギャップおよび前記末尾ギャップが選択されるとともに、前記描画データ間ギャップのうち大きいギャップが優先して選択されることを特徴とする上記（２）に記載のプリンタ用メモリの初期化方法。
【００１３】
（５）前記初期化段階において、前記描画データ間ギャップに対応する前記終了位置および前記開始位置をレジスタに記憶することで前記描画データ間ギャップが選択され、前記ギャップ検出段階で順次検出した前記描画データ間ギャップの数が所定の閾値を超えたとき、一番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置が、二番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置で置き換えられて記憶されることを特徴とする上記（４）に記載のプリンタ用メモリの初期化方法。
【００１４】
（６）前記読出段階における前記処理単位の読出しはリードＤＭＡで行われ、前記初期化段階における前記初期化処理はライトＤＭＡで行われることを特徴とする上記（１）〜（５）のいずれかに記載のプリンタ用メモリの初期化方法。
【００１５】
（７）メモリに書き込んだフレームを所定の処理単位で読み出す読出手段と、前記読出手段が読み出した前記処理単位を監視して描画データの有無を検出する描画データ検出手段と、前記検出手段が前記描画データを検出した前記処理単位についてのみ、前記メモリ上の前記処理単位に対し初期化処理を行う初期化手段と、を有することを特徴とするプリンタ用メモリの初期化装置。
【００１６】
（８）前記描画データ検出手段が描画データを検出した前記処理単位について、前記処理単位内の前記描画データが無い部分であるギャップを検出するギャップ検出手段をさらに有し、前記初期化手段は、前記ギャップのうち選択した一以上の前記ギャップを除いて前記処理単位に対し初期化処理を行うことを特徴とする上記（７）に記載のプリンタ用メモリの初期化装置。
【００１７】
（９）前記ギャップ検出手段は、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップを検出し、前記初期化手段は、前記開始ギャップおよび前記末尾ギャップのみを選択することを特徴とする上記（８）に記載のプリンタ用メモリの初期化装置。
【００１８】
（１０）前記ギャップ検出手段は、前記処理単位の先頭から最初に検出した描画データの開始位置までの先頭ギャップと、最後に検出した描画データの終了位置から前記処理単位の末尾までの末尾ギャップと、前記処理単位における検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までの描画データ間ギャップと、の各ギャップを検出し、前記初期化手段は、前記開始ギャップおよび前記末尾ギャップを選択するとともに、前記描画データ間ギャップのうち大きいギャップを優先して選択することを特徴とする上記（８）に記載のプリンタ用メモリの初期化装置。
【００１９】
（１１）前記初期化手段は、前記描画データ間ギャップに対応する前記終了位置および前記開始位置をレジスタに記憶することで前記描画データ間ギャップを選択し、前記ギャップ検出手段が順次検出した前記描画データ間ギャップの数が閾値を超えたときは、一番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置を、二番目に小さい前記描画データ間ギャップに対応する前記終了位置および前記開始位置で置き換えて記憶することを特徴とする上記（１０）に記載のプリンタ用メモリの初期化装置。
【００２０】
（１２）前記読出手段は前記処理単位の読出しをリードＤＭＡで行い、前記初期化手段は前記初期化処理をライトＤＭＡで行うことを特徴とする上記（７）〜（１１）のいずれかに記載のプリンタ用メモリの初期化装置。
【発明の効果】
【００２１】
本発明に係るプリンタ用メモリの初期化方法および初期化装置によれば、所定の処理単位ごとにデータの有無を判断し、データを検出した処理単位についてのみ初期化を行うことにより、初期化処理の効率をより向上させ、装置の高速化へ対応することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第一実施形態に係るプリンタ用メモリの初期化装置を含むプリンタコントローラ、ホストＰＣ、プリントエンジン、の相互関係を示す概略ブロック図である。
【図２】本発明の第一実施形態に係る初期化処理装置を含む、画像処理ＡＳＩＣ、ノースチップ、メモリの機能ブロック図である。
【図３】本発明の第一実施形態に係るプリンタ用メモリの初期化方法のフローチャートを示す図である。
【図４】図３におけるメモリの初期化処理のサブルーチンフローチャートを示す図である。
【図５】本発明の第二実施形態に係るメモリ初期化処理装置を含む画像処理ＡＳＩＣの機能ブロック図である。
【図６】ラスタにおける二種類の描画配置について説明するための説明図である。
【図７】図３の、メモリの初期化処理のサブルーチンフローチャートを示す図である。
【図８】ラスタ内の描画データの数とギャップの関係を示す説明図である。
【図９】新たに検出したギャップの大小とアドレス計算回路の各レジスタへ記憶させるアドレスとの関係を示す説明図である。
【図１０】本発明の第三実施形態に係るメモリ初期化処理装置を含む画像処理ＡＳＩＣの機能ブロック図である。
【図１１】図３の、メモリの初期化処理のサブルーチンフローチャートを示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態に係るプリンタ用メモリの初期化方法および初期化装置について詳細に説明する。
【００２４】
＜第一実施形態＞
図１は、本発明の第一実施形態に係るプリンタ用メモリの初期化装置を含むプリンタコントローラ１００、ホストＰＣ１８０、プリントエンジン１９０、の相互関係を示す概略ブロック図である。図１を参照して、本発明の第一実施形態に係るプリンタ用メモリの初期化装置を含むプリンタコントローラ１００の構成および機能について説明する。
【００２５】
プリンタコントローラ１００は、画像処理ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）１１０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０、ノースチップ１６０、メモリ１４０、および、ビデオ出力ＡＳＩＣ１７０、を有する。プリンタコントローラ１００は、これらの構成要素をなすハードウェア部品を基板上にハイブリッド実装することで構成することができる。本実施形態に係るメモリ初期化装置は、画像処理ＡＳＩＣ１１０に実装され、画像処理ＡＳＩＣの一部としてその機能を実現することができる。
【００２６】
プリンタコントローラ１００は、プリントエンジン１９０とともにプリンタ１０を構成する。
【００２７】
ホストＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１８０から送信された印刷データは、プリンタコントローラ１００によりノースチップ１６０を介して受信される。ＣＰＵ１５０はノースチップ１６０を介して受信した印刷データのデータ解析処理を行う。
【００２８】
ＣＰＵ１５０は、印刷データの解析結果に基づいて、ビットマップデータからなるフレーム１４１をメモリ１４０上に書き込むことで、フレーム１４１を構築する。なお、フレーム１４１は、１ページの画像に相当するビットマップデータであってもよいし、１ページの一部に相当するビットマップデータであってもよい。
【００２９】
画像処理ＡＳＩＣ１１０は、メモリ１４０上に構築したフレーム１４１を所定の処理単位（例えば、ラスタ単位とすることができる。以下、所定の処理単位を「ラスタ」と称する。）でリードＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）で読み込む。画像処理ＡＳＩＣは、読み込んだラスタについて、画像処理回路１１１で画像処理（例えば、色変換処理、スクリーン処理）を行い、画像処理をしたラスタをビデオ出力ＡＳＩＣへ送信する。ここで、ＤＭＡとは、コンピュータシステム内で、ＣＰＵを介さずに、各装置とメモリとの間で直接データ転送を行なう方式をいう。リードＤＭＡとは、ＤＭＡによりメモリからデータを読み込むことをいう。また、後述するライトＤＭＡとは、ＤＭＡによりメモリにデータを書き込むことをいう。
【００３０】
ビデオ出力ＡＳＩＣ１７０は、画像処理ＡＳＩＣ１１０から受信した画像処理をしたラスタを、適切なタイミングでプリントエンジン１９０に出力する。
【００３１】
画像処理ＡＳＩＣ１１０によってフレームが読み込まれた後は、メモリ１４０上のフレーム空間は、次のフレームを構築するために初期化処理を行う必要がある。ここで、初期化処理とは、メモリに、例えば０ｘ００（０ｘＦＦであってもよい）を書き込むことで、メモリ上のデータを消去することをいう。
【００３２】
メモリ１４０上のフレーム空間の初期化は、画像処理ＡＳＩＣ１００がライトＤＭＡにより、メモリに０ｘ００を直接書き込むことで行う。ライトＤＭＡにより初期化を行なうことにより、初期化の処理を効率化することができる。ただし、フレーム空間の初期化は、ライトＤＭＡによらず、ＣＰＵ１５０の制御によりメモリに０ｘ００を書き込むことで行ってもよい。
【００３３】
図２は、本実施形態に係る初期化処理装置を含む、画像処理ＡＳＩＣ１１０、ノースチップ１６０、メモリ１４０の機能ブロック図である。
【００３４】
画像処理ＡＳＩＣ１１０は、リードＤＭＡ回路（読出手段）１１２、ライトＤＭＡ回路（初期化手段）１１３、書込データ生成回路（初期化手段）１１４、画像処理回路１１１、データ圧縮回路１１５、データ出力回路１１６、データ有無判定回路（描画データ判定手段、ギャップ検出手段）１１７、開始アドレス計算回路（初期化手段、ギャップ検出手段）１１８、終了アドレス計算回路（初期化手段、ギャップ検出手段）１１９、により構成され得る。
【００３５】
リードＤＭＡ回路１１２は、ノースチップ１６０を介して、ＤＭＡによるデータ転送方式により、メモリ１４０上のフレーム１４１をラスタ１４２単位で読み込む。また、リードＤＭＡ回路１１２は、画像処理回路１１１に、フレーム１４１のラスタ１４２をドット単位で送信する。
【００３６】
また、リードＤＭＡ回路１１２は、１つのラスタ１４２の読み込み（読み出し）を完了したときは、その旨をライトＤＭＡ回路１１３、および、開始アドレス計算回路１１８に通知する。
【００３７】
画像処理回路１１１は、リードＤＭＡ回路１１２が読み込んだフレーム１４１のラスタ１４２に対し、例えば、色変換、スクリーンといった画像処理を行なう。
【００３８】
データ圧縮回路１１５は、画像処理回路１１１が画像処理をしたラスタ１４２を圧縮する。
【００３９】
データ出力回路１１６は、データ圧縮回路１１５が圧縮したラスタ１４２をビデオ出力ＡＳＩＣへ出力する。
【００４０】
データ有無判定回路１１７は、リードＤＭＡ回路１１２から画像処理回路１１１にドット単位で送信されるラスタ１４２を、ドット単位で監視し、有効な描画データがラスタ１４２内に存在するかどうかを判断する。データ有無判定回路１１７は、ラスタ１４２内において、描画データを見つけたとき（すなわち、描画データが「無し」の状態から「有り」の状態へ変化したと判断したとき）は、その都度、開始アドレス計算回路１１８にその旨を通知する。また、データ有無判定回路１１７は、ラスタ１４２内において、描画データが「有り」の状態から「無し」の状態へ変化したと判断したときは、その都度、終了アドレス計算回路１１９にその旨を通知する。
【００４１】
開始アドレス計算回路１１８は、データ有無判定回路１１７から通知された情報と、リードＤＭＡ回路からドット単位で送信されるラスタ１４２の情報と、に基づき、メモリ１４０上の対象ラスタ１４２内における各描画データの開始アドレス（開始位置）を算出する。開始アドレス計算回路１１８は、算出した開始アドレスを、内部のレジスタ１１８Ａに記憶する。
【００４２】
ここで、開始アドレス計算回路１１８は、ラスタ１４２内に１ドットも画像データが存在しなかった場合は、レジスタ１１８Ａに記憶されている値は、ラスタ１４２の開始で初期化された値（例えば、０ｘ００）のままとなるように設計する。もし、リードＤＭＡ回路１１２から１つのラスタ１４２の読み込みが完了した旨の通知を受けた際に、レジスタ１１８Ａに記憶されている値が０ｘ００のままであったら（すなわち、対象のラスタ１４２内に描画データが１ドットも存在しなかった場合である）、対象のラスタ１４２については、初期化処理を行なわない。
【００４３】
終了アドレス計算回路１１９は、データ有無判定回路１１７から通知された情報と、リードＤＭＡ回路からドット単位で送信されるラスタ１４２の情報と、に基づき、メモリ１４０上の対象ラスタ１４２内における各描画データの終了アドレス（終了位置）を算出する。終了アドレス計算回路１１８は、算出した終了アドレスを、内部のレジスタ１１９Ａに記憶する。開始アドレス計算回路１１８によって算出した開始アドレスと、終了アドレス１１９によって算出した終了アドレスとにより、メモリ１４０上における、フレーム１４１のラスタ１４２内の描画データが有る部分および無い部分を特定することができる。すなわち、メモリ１４０上の開始アドレスと終了アドレスとの間が描画データが有る部分ということになる。
【００４４】
また、終了アドレス計算回路１１９は、データ有無判定回路１１７から、ラスタ１４２内において描画データが「有り」の状態から「無し」の状態へ変化した旨を通知される度に、終了アドレスを算出し、直前に記憶した終了アドレスを更新して記憶する。ラスタ１４２内で最後に算出し記憶した終了アドレスが、そのラスタ１４２全体における終了アドレスとなる。
【００４５】
ライトＤＭＡ回路１１３は、リードＤＭＡ回路１１２からラスタ１４２の読み込みが完了した旨の通知を受け、ライトＤＭＡにより、メモリ１４０の初期化処理を行なう。初期化処理は、該通知時に開始アドレス計算回路１１８のレジスタ１１８Ａに記憶されている値を開始アドレス、終了アドレス計算回路１１９のレジスタ１１９Ａに記憶されている値を終了アドレスとして、メモリ１４０の開始アドレスから終了アドレスまでの領域に、例えば０ｘ００を書き込むことで行なう。初期化処理のための書込みデータは書込データ生成回路１１４が生成し、ライトＤＭＡ回路１１３は、書込データ生成回路１１４が生成した書込みデータをノースチップ１６０を介してメモリ１４０へ転送することでメモリ１４０の初期化処理を行なう。
【００４６】
初期化処理は、ラスタ１４２の先頭から最初の描画データの開始位置までの部分（以下、「先頭ギャップ」と称する）、および、最後の描画データの終了位置からラスタ１４２の末尾までの部分（以下、「末尾ギャップ」と称する）に対しては初期化処理を行なわない。すなわち、ラスタ１４２の初期化処理は、先頭ギャップおよび末尾ギャップを除いて行なう。これにより、メモリの初期化処理の効率化を実現することができる。ただし、本実施形態においては、ラスタ１４２における一の描画データの終了位置から該一の描画データの次の他の描画データの開始位置までの部分（以下、「描画データ間ギャップ」と称する）は除外せずに初期化を行なう。
【００４７】
一方、ラスタ１４２の初期化処理は、先頭ギャップおよび末尾ギャップを含めて行なってもよい。すなわち、１ドットでも描画データが存在するラスタについてはラスタ全体について初期化をし、描画データが存在しないラスタについては初期化をしないようにしてもよい。なお、本明細書において、「ギャップ」とは、ラスタ内で描画データが無い部分をいう。
【００４８】
ここで、リードＤＭＡ回路１１２から１つのラスタ１４２の読み込みが完了した旨の通知を受けた際に、開始アドレス計算回路１１８のレジスタ１１８Ａに記憶されている値が０ｘ００のままであったら、対象のラスタ１４２については、ライトＤＭＡ回路１１３は初期化処理のためのＤＭＡの起動そのものを実施しない。
【００４９】
本実施形態においては、リードＤＭＡでラスタの読み込みを行い、ライトＤＭＡによりメモリ１４０の初期化を行なう。すなわち、本実施形態においては、ＣＰＵを経由したラスタの読み込みおよびメモリ１４０の初期化を行なわないことで、ＣＰＵはメモリ１４０上にフレームを構築する際にメモリ１４０上のどの部分に描画データを書き込んだかを意識する必要がない。また、ラスタの画像処理と並行してラスタ内の描画データを検出し、描画データの位置を画像処理ＡＳＩＣ１００内に記憶するため、メモリ１４０に、領域ごとの描画データの有無を記憶するための管理データ領域を設ける必要がない。さらに、ラスタの画像処理と並行してハードウェア（画像処理ＡＳＩＣ１００）により自動的にラスタ内の描画データを検出し、描画データの位置をハードウェア内に記憶するため、ＣＰＵは、管理情報に基づくメモリ１４０内の描画データの位置の判断や管理データの更新をする必要がない。したがって、メモリ１４０の初期化処理を効率化することができる。
【００５０】
次に、本実施形態に係るプリンタ用メモリの初期化方法について説明する。
【００５１】
図３は、本実施形態に係るプリンタ用メモリの初期化方法のフローチャートを示す図である。図４は、図３におけるメモリの初期化処理のサブルーチンフローチャートを示す図である。本実施形態に係るプリンタ用メモリの初期化方法は、図２に示す画像処理ＡＳＩＣ１１０、ノースチップ１６０、メモリ１４０により、実施することができる。
【００５２】
プリンタコントローラ１００は、ホストＰＣ１８０が送信した印刷データを、ノースチップ１６０を介して受信する（ステップＳ３００）。プリンタコントローラ１００のＣＰＵ１５０は、受信した印刷データを解析処理し、ビットマップデータからなるフレーム１４１をメモリ１４０上に書き込むことで、フレーム１４１を構築する（ステップＳ３１０）。
【００５３】
画像処理ＡＳＩＣ１１０は、ノースチップ１６０を介して、リードＤＭＡ回路１１２によるリードＤＭＡにより、メモリ１４０上のフレーム１４１をラスタ１４２単位で読み込む（ステップＳ３２０、読出段階）。
【００５４】
画像処理回路１１１は、リードＤＭＡ回路１１２が読み込んだフレーム１４１のラスタ１４２を受信し、例えば、色変換、スクリーンといった画像処理を行なう（ステップＳ３３０、読出段階）。リードＤＭＡ回路１１２は、画像処理回路１１１に対し、ラスタ１４２を１ドットずつ送信し、画像処理回路１１１はこれを受信する。
【００５５】
データ圧縮回路１１５は、画像処理回路１１１が画像処理をしたラスタ１４２を圧縮し（ステップＳ３５０）、データ出力回路１１６は、データ圧縮回路１１５が圧縮したラスタ１４２をビデオ出力ＡＳＩＣ１７０へ出力する（ステップＳ３６０）。なお、ビデオ出力ＡＳＩＣ１７０は、画像処理および圧縮がなされたラスタをプリンタエンジン１９０に適切なタイミングで出力し、プリンタエンジン１９０は、複数のラスタで構成された画像をプリントアウトする。
【００５６】
ステップＳ３５０〜Ｓ３６０に並行して、メモリ１４０の初期化処理を行なう（ステップＳ３４０）。以下、図４を参照して、メモリ１４０の初期化処理（ステップＳ３４０）について説明する。
【００５７】
データ有無判定回路１１７は、リードＤＭＡ回路１１２から画像処理回路１１１にドット単位で送信されるラスタ１４２を、ドット単位で監視し、描画データがラスタ１４２内に存在するかどうかを判断する。データ有無判定回路１１７は、ラスタ１４２内において、一番目の描画データの開始を検出したとき（すなわち、描画データが「無し」の状態から「有り」の状態へ変化したと判断したとき）は（ステップＳ４００、描画データ検出段階、ギャップ検出段階）、開始アドレス計算回路１１８にその旨を通知する。開始アドレス計算回路１１８は、メモリ１４０における一番目の描画データの開始位置を算出し、開始アドレスとしてレジスタ１１８Ａに記憶する（ステップＳ４１０、描画データ検出段階）。
【００５８】
データ有無判定回路１１７による一番目の描画データの開始の検出は、ラスタ１４２の読み込みがラスタ１４２の末尾まで到達するまで行なう（ステップＳ４２０、描画データ検出段階）。データ有無判定回路１１７が一番目の描画データの開始を検出せずに、データの有無の判定がラスタ１４２の末尾まで到達したときは、本サブルーチンは終了する。
【００５９】
データ有無判定回路１１７が一番目の描画データの開始を検出したときは、続いて、一番目の描画データの終了を検出する（ステップＳ４３０、描画データ検出段階）。データ有無判定回路１１７が一番目の描画データの終了を検出したとき（すなわち、描画データが「有り」の状態から「無し」の状態へ変化したと判断したとき）は、終了アドレス計算回路１１９にその旨を通知する。終了アドレス計算回路１１９は、メモリ１４０における一番目の描画データの終了位置を終了アドレスとして算出し、レジスタ１１９Ａに記憶する（ステップＳ４４０、描画データ検出段階）。
【００６０】
本実施形態に係るメモリ初期化方法においては、データ有無判定回路１１７が二番目以降の描画データの開始を検出したとしても、開始アドレス計算回路１１８はレジスタ１１８Ａに記憶した開始アドレスを更新して新たな開始アドレスを記憶させることはない。しかし、二番目以降の描画データの終了位置については検出を継続する（ステップＳ４５０、描画データ検出段階）。データ有無判定回路１１７が二番目以降の描画データの終了を検出したときは、メモリ１４０における描画データの終了位置を終了アドレスとして算出し、終了アドレス計算回路１１９はレジスタ１１９Ａに記憶された終了アドレスを更新して新たな終了アドレスを記憶する（ステップＳ４６０、描画データ検出段階、ギャップ検出段階）。
【００６１】
二番目以降の描画データの終了位置の検出は、ラスタ１４２の読み込みがラスタ１４２の末尾まで到達するまで行なう（ステップＳ４７０、描画データ検出段階）。ラスタ１４２の読み込みがラスタ１４２の末尾まで到達したときは、レジスタ１１８Ａに記憶された開始アドレスおよびレジスタ１１９Ａに記憶された終了アドレスに基づいて、メモリ１４０の初期化を行なう（ステップＳ４８０、初期化段階）。すなわち、メモリ１４０上の開始アドレスから終了アドレスまでの領域に、例えば０ｘ００をライトＤＭＡで書き込むことで、対象のラスタを初期化する。
【００６２】
一のラスタ１４２について、ビデオ出力ＡＳＩＣへの出力（ステップＳ３６０）およびメモリの初期化処理（ステップＳ３４０）が終了すると、リードＤＭＡ回路１１２は、次のラスタ１４２についてフレーム１４１の読み込みを開始する（ステップＳ３２０）。フレーム１４１を構成するすべてのラスタ１４２について、リードＤＭＡ回路１１２による読み込み、ライトＤＭＡ回路１１３による初期化処理、データ出力回路１１６による出力が終了するまで、ステップＳ３２０〜Ｓ３６０を継続して実施する（ステップＳ３７０）。
【００６３】
以上、本発明の第一実施形態に係るメモリの初期化方法および初期化装置について説明したが、本実施形態に係るメモリの初期化方法および初期化装置によれば、ラスタごとに描画データの有無を判断し、データを検出した処理単位についてのみ初期化を行うことにより、初期化処理の効率をより向上させ、装置の高速化へ対応することができる。
【００６４】
また、描画データを含むと判断したラスタについても、ラスタの開始位置から最初に検出した描画データの開始位置までの開始ギャップと、最後に検出した描画データの終了位置からラスタの末尾までの末尾ギャップを除いてメモリの初期化を行なうことにより、さらに、初期化処理の効率を向上させ、装置の高速化へ対応することができる。
【００６５】
また、リードＤＭＡでラスタの読み込みを行い、ライトＤＭＡにより初期化を行なうことで、ＣＰＵはメモリ上にフレームを構築する際にメモリ上のどの部分に描画データを書き込んだかを意識する必要がないため、初期化処理の効率を向上させ、装置の高速化へ対応することができる。
【００６６】
また、リードＤＭＡでラスタの読み込みを行い、ライトＤＭＡにより初期化を行なうことで、ラスタの画像処理と並行してラスタ内の描画データを検出し、描画データの位置をハードウェア内に記憶するため、メモリに、領域ごとの描画データの有無を記憶するための管理データ領域を設ける必要がない。
【００６７】
また、リードＤＭＡでラスタの読み込みを行い、ライトＤＭＡにより初期化を行なうことで、ラスタの画像処理と並行してハードウェアにより自動的にラスタ内の描画データを検出し、描画データの位置をハードウェア内に記憶するため、ＣＰＵは、管理情報に基づくメモリ内の描画データの位置の判断や管理データの更新をする必要がない。したがって、初期化処理の効率を向上させ、装置の高速化へ対応することができる。
【００６８】
＜第二実施形態＞
図５は、本発明の第二実施形態に係るメモリ初期化処理装置を含む画像処理ＡＳＩＣ１１０の機能ブロック図である。
【００６９】
画像処理ＡＳＩＣ１１０は、リードＤＭＡ回路（読出手段）１１２、ライトＤＭＡ回路（初期化手段）１１３、書込データ生成回路（初期化手段）１１４、画像処理回路１１１、データ圧縮回路１１５、データ出力回路１１６、データ有無判定回路（描画データ判定手段、ギャップ検出手段）１１７、開始アドレス計算回路（初期化手段、ギャップ検出手段）１１８、終了アドレス計算回路（初期化手段、ギャップ検出手段）１１９、を有する。さらに、画像処理ＡＳＩＣ１１０は、ギャップカウンタ（ギャップ検出手段）１１２、ギャップレジスタ（ギャップ検出手段）１２１、大小比較回路１２３（ギャップ検出手段、初期化手段）、を有する。
【００７０】
本実施形態に係るメモリ初期化方法および初期化装置は、第一実施形態と以下の点で異なる。なお、以下の本実施形態についての説明においては、第一実施形態と共通する説明は、説明が重複するため省略する。
・開始アドレス計算回路１１８が、算出したアドレスを記憶するためのレジスタを２つ（第１レジスタ１１８Ａ、第２レジスタ１１８Ｂ）有している。
・終了アドレス計算回路１１９が、算出したアドレスを記憶するためのレジスタを２つ（第１レジスタ１１９Ａ、第２レジスタ１１９Ｂ）有している。
・ギャップの大きさを計測するためのギャプカウンタ１２０、該計測結果を記憶するためのギャップレジスタ１２１、ギャップカウンタ１２０の値とギャップレジスタ１２１に記憶された値の大小を比較する大小比較回路１２３、を有している。
・ライトＤＭＡ回路１１３は、ラスタ単位で、開始アドレス計算回路１１８のレジスタ１と終了アドレス計算回路１１９のレジスタ１とに記憶されたアドレスに基づくＤＭＡ処理と、開始アドレス計算回路１１８のレジスタ２と終了アドレス計算回路１１９のレジスタ２とに記憶されたアドレスに基づくＤＭＡ処理と、の２回のＤＭＡ処理を行なう。
【００７１】
第一実施形態に対し本実施形態が有利な点について説明する。図６は、ラスタにおける二種類の描画配置について説明するための説明図である。図６のＡに示す描画データ配置ａは、描画データが３つあるが、これらの描画データが分散する範囲が狭い場合である。図６のＢに示す描画データ配置ｂは、描画データが２つであるが、これらの描画データが分散する範囲が広い場合である。これらの描画データ配置について、第一実施形態に係るメモリ初期化方法により初期化をすると、描画データ配置ａについては、ライトＤＭＡの実行範囲は比較的狭くなるが、描画データ配置ｂについては、広くなる。このため、フレームでおいて描画データ配置ｂのような描画データ配置を有するラスタが多い場合は、メモリの初期化の効率が低下してしまう。本実施形態は、この点を改良したものであり、描画データ配置ｂのような描画データ配置のラスタが多い場合であってもメモリの初期化の効率が比較的低下しない点で第一実施形態より有利である。
【００７２】
図５に示すように、開始アドレス計算回路１１８は、２つのレジスタ、すなわち、第１レジスタ１１８Ａ、第２レジスタ１１８Ｂを有する。これらのレジスタにはそれぞれ異なる描画データの開始アドレスを記憶することができる。ここで、第１レジスタ１１８Ａと第２レジスタ１１８Ｂとは、それぞれ別の部品（例えば、半導体チップ）からなってもよいが、一つの部品のそれぞれ別の記憶領域としてなってもよい。
【００７３】
終了アドレス計算回路１１９は、２つのレジスタ、すなわち、第１レジスタ１１９Ａ、第２レジスタ１１９Ｂを有する。これらのレジスタにはそれぞれ異なる描画データの終了アドレスを記憶することができる。ここで、第１レジスタ１１９Ａと第２レジスタ１１９Ｂとは、それぞれ別の部品からなってもよいが、一つの部品のそれぞれ別の記憶領域としてなってもよい。以下、すべてのレジスタについても同様である。
【００７４】
ギャップカウンタ１２０は、ラスタにおいて、データ有無判定回路１１７が、描画データが「有り」の状態から「無し」の状態への変化を検出した時点を起点に、再度描画データが「有り」の状態に変化するまでのドット数をカウントする。すなわち、ギャップカウンタ１２０は、ラスタ内におけるギャップのうち、検出した一の描画データの終了位置から次に検出した他の描画データの開始位置までのギャップである描画データ間ギャップの大きさを計測する。
【００７５】
ギャップレジスタ１２１は、ギャップカウンタ１２０がカウントした描画データ間ギャップの値（カウント値）を記憶する。
【００７６】
大小比較回路１２３は、ギャップカウンタ１２０の値とギャップレジスタ１２１に記憶された値の大小を比較する。
【００７７】
図３は、本実施形態に係るメモリの初期化方法のフローチャートを示す図であり、第一実施形態と共通する。図７は、図３の、メモリの初期化処理のサブルーチンフローチャートを示す図である。図３についての説明は、第一実施形態の説明と重複するため省略する。
【００７８】
以下、図７を参照して、本実施形態に係るメモリ初期化方法における、メモリ１４０の初期化処理（ステップＳ３４０）について説明する。開始アドレス計算回路内の２つのレジスタ１１８Ａ、１１８Ｂ、終了アドレス計算回路内の２つのレジスタ１１９Ａ、１１９Ｂ、ギャップカウンタ１２０、ギャップレジスタ１２１は初期化しておく。
【００７９】
なお、説明の便宜上、以下、開始アドレス計算回路１１８の第１レジスタ１１８Ａを「開始アドレスレジスタ１」、第２レジスタ１１８Ｂを「開始アドレスレジスタ２」と、終了アドレス計算回路１１９の第１レジスタ１１９Ａを「終了アドレスレジスタ１」、第２レジスタ１１９Ｂを「終了アドレスレジスタ２」と、称することとする。
【００８０】
データ有無判定回路１１７は、リードＤＭＡ回路１１２から画像処理回路１１１にドット単位で送信されるラスタ１４２を、ドット単位で監視し、描画データがラスタ１４２内に存在するかどうかを判断する。データ有無判定回路１１７は、ラスタ１４２内において、一番目の描画データの開始を検出したとき（すなわち、描画データが「無し」の状態から「有り」の状態へ変化したと判断したとき）は（ステップＳ７００、ギャップ検出段階）、開始アドレス計算回路１１８にその旨を通知する。開始アドレス計算回路１１８は、メモリ１４０における一番目の描画データの開始位置を算出し、開始アドレスとして開始アドレスレジスタ１に記憶する（ステップＳ７０１、ギャップ検出段階）。
【００８１】
なお、図７では省略したが、データ有無判定回路１１７による一番目の描画データの開始の検出は、ラスタ１４２の読み込みがラスタ１４２の末尾に到達するまで行なう。また、データ有無判定回路１１７が一番目の描画データの開始を検出せずに、リードＤＭＡによるラスタ１４２の読み込みがラスタ１４２の末尾まで到達したときは、本サブルーチンは終了する。このように、ラスタ１４２内に描画データが１つも存在しない場合は、開始アドレス計算回路１１８の第１レジスタ１１８Ａは初期化状態のままとなる。この場合は、リードＤＭＡ回路１１２が１つのラスタ１４２の読み込み処理を終えてもライトＤＭＡ回路１１３を起動する必要はない。
【００８２】
データ有無判定回路１１７が一番目の描画データの開始を検出したときは、続いて、一番目の描画データの終了を検出する（ステップＳ７０２、ギャップ検出段階）。データ有無判定回路１１７が一番目の描画データの終了を検出したとき（すなわち、描画データが「有り」の状態から「無し」の状態へ変化したと判断したとき）は、ギャップカウンタ１２０および終了アドレス計算回路１１９にその旨を通知する。ギャップカウンタ１２０は、一番目の描画データの終了位置からラスタのドット数のカウントを開始する（ステップＳ７０３、ギャップ検出段階）。終了アドレス計算回路１１９は、メモリ１４０における一番目の描画データの終了位置を終了アドレスとして算出し、終了アドレスレジスタ１に記憶する（ステップＳ７０４、ギャップ検出段階）。
【００８３】
続いて、データ有無判定回路１１７は、リードＤＭＡ回路１１２から画像処理回路１１１にドット単位で送信されるラスタ１４２を、ドット単位で監視し、二番目の描画データがラスタ１４２内に存在するかどうかを判断する。データ有無判定回路１１７は、ラスタ１４２内において、二番目の描画データの開始を検出したときは（ステップＳ７０５、ギャップ検出段階）、ギャップカウンタ１２０および開始アドレス計算回路１１８にその旨を通知する。ギャップカウンタ１２０は、二番目の描画データの開始位置でラスタのドット数のカウントを停止する（ステップＳ７０６、ギャップ検出段階）。
【００８４】
ギャップカウンタがカウントした描画データ間ギャップにおけるドット数（以下、単に「ギャップ」と称する）は、描画データ間ギャップの大きさを示す。ギャップは、ギャップレジスタ１２１に記憶する（ステップＳ７０７、ギャップ検出段階）。
【００８５】
開始アドレス計算回路１１８は、メモリ１４０における二番目の描画データの開始位置を算出し、開始アドレスとして開始アドレスレジスタ２に記憶する（ステップＳ７０８、ギャップ検出段階）。
【００８６】
なお、図７では省略したが、データ有無判定回路１１７による二番目の描画データの開始の検出は、ラスタ１４２の読み込みがラスタ１４２の末尾に到達するまで行なう。また、データ有無判定回路１１７が二番目の描画データの開始を検出せずに、リードＤＭＡによるラスタ１４２の読み込みがラスタ１４２の末尾まで到達したときは、本サブルーチンは終了する。
【００８７】
図８は、ラスタ１４２内の描画データの数とギャップの関係を示す説明図である。図８のＡは、ラスタ１４２内の描画データが１つの場合を示す図である。図８のＡに示すように、１つのラスタ１４２内に１つの画像データのみが存在する場合は、データ有無判定回路１１７による判定結果に基づいて、開始アドレス１が開始アドレスレジスタ１に記憶される。また、終了アドレス１が終了アドレスレジスタ１に記憶される。一方、これ以降は、描画データが存在しないため、開始アドレス計算回路１１８の開始アドレスレジスタ２および終了アドレス計算回路１１８の終了アドレスレジスタ２は初期化された状態のままとなる。この場合、リードＤＭＡ回路が１つのラスタ１４２の処理を終えた後に起動されるライトＤＭＡ回路１１３によるメモリ１４０上のフレーム１４１空間の初期化は、開始アドレス１から終了アドレス１までの間の空間に対する１回のＤＭＡのみで処理する。
【００８８】
データ有無判定回路１１７が二番目の描画データの開始を検出したときは、続いて、二番目の描画データの終了を検出する（ステップＳ７０９、ギャップ検出段階）。データ有無判定回路１１７が二番目の描画データの終了を検出したときは、ギャップカウンタ１２０および終了アドレス計算回路１１９にその旨を通知する。ギャップカウンタ１２０は、二番目の描画データの終了位置からラスタのドット数のカウントを開始する（ステップＳ７１０、ギャップ検出段階）。終了アドレス計算回路１１９は、メモリ１４０における二番目の描画データの終了位置を終了アドレスとして算出し、終了アドレスレジスタ２に記憶する（ステップＳ７１１、ギャップ検出段階）。
【００８９】
図８のＢは、ラスタ１４２内の描画データが２つのみの場合を示す図である。図８のＢに示すように、１つのラスタ１４２内に２つの画像データのみが存在する場合（または、１つのラスタ１４２内に２つの画像データのみを検出している時点において）は、データ有無判定回路１１７による判定結果に基づいて、開始アドレス１が開始アドレスレジスタ１に、開始アドレス２が開始アドレスレジスタ２に記憶される。また、終了アドレス１が終了アドレスレジスタ１に、終了アドレス２が終了アドレスレジスタ２に記憶される。ここで、１つのラスタ１４２内に２つの画像データのみが存在する場合は、これ以降は、描画データが存在しないことになる。したがって、この場合は、リードＤＭＡ回路が１つのラスタ１４２の処理を終えた後に起動されるライトＤＭＡ回路１１３によるメモリ１４０上のフレーム１４１空間の初期化は、開始アドレス１から終了アドレス１までの間の空間と、開始アドレス２から終了アドレス２までの間の空間とに対する２回のＤＭＡで処理する。
【００９０】
続いて、データ有無判定回路１１７は、リードＤＭＡ回路１１２から画像処理回路１１１にドット単位で送信されるラスタ１４２を、ドット単位で監視し、描画データ（すなわち、三番目以降の描画データ）がラスタ１４２内に存在するかどうかを判断する。データ有無判定回路１１７は、ラスタ１４２内において、描画データの開始を検出したときは（ステップＳ７１２、ギャップ検出段階）、ギャップカウンタ１２０にその旨を通知する。ギャップカウンタ１２０は、描画データの開始位置でラスタのドット数のカウントを停止する（ステップＳ７１３、ギャップ検出段階）。
【００９１】
大小比較回路１２３は、現時点におけるギャップカウンタ１２０が計測したギャップとギャップレジスタ１２１に記憶されたギャップとを比較し、ギャップカウンタ１２０が計測したギャップの方がギャップレジスタ１２１に記憶されたギャップよりも大きい場合は（ステップＳ７１４、ギャップ検出段階）、ギャップレジスタ１２１を更新する（ステップＳ７１５、ギャップ検出段階）。すなわち、ギャップカウンタ１２０が計測したギャップによりギャップレジスタ１２１に記憶されたギャップを更新して記憶する。更新されたギャップレジスタ１２１のギャップは、対象のラスタ１４２内で現時点までに検出したギャップのうち最大のギャップを示すことになる。
【００９２】
図９は、新たに検出したギャップの大小とアドレス計算回路の各レジスタへ記憶させるアドレスとの関係を示す説明図である。図９のＡは、ギャップカウンタ１２０が計測したギャップ（以下、「ギャップ２」と称する）の方がギャップレジスタ１２１に記憶されたギャップ（以下、「ギャップ１」と称する）よりも大きい場合についての説明図である。図９のＡに示すように、ギャップ２の方がギャップ１より大きい場合は、ギャップ２を新たなギャップとし、該新たなギャップを除いてメモリ１４０上のラスタ１４２を初期化することが効率的な初期化を実現するために望ましい。そのため、一番目に検出した描画データの終了アドレスを二番面に検出した描画データの終了アドレスで更新し、二番目に検出した描画データの開始アドレスを三番目に検出した描画データの開始アドレスで更新する。すなわち、終了アドレス１に記憶した、一番目に検出した描画データの終了アドレスを、二番面に検出した描画データの終了アドレスで更新する。そして、開始アドレス２に記憶した、二番目に検出した描画データの開始アドレスを、三番面に検出した描画データの開始アドレスで更新する。これにより、一番目に検出した描画データと二番目に検出した描画データは実質的に結合されたこととなり、二番目に検出した描画データと三番目に検出した描画データとの間のギャップを新たなギャップとして認識することができる。このようなレジスタの更新は、ラスタの初期化において初期化から除くギャップとして、大きいギャップを優先して選択したことと等価である。また、本実施形態においては、該選択することができるギャップの数（ギャップの数の閾値）は１である。すなわち、閾値が１にもかかわらず、２つの描画ゲータ間ギャップが検出されたのでギャップの数が閾値を超えていることとなる。そのため、一番目に小さいギャップ（ここでは、ギャップ１）に対応する終了アドレスおよび開始アドレスを二番目に小さいギャップ（ここでは、ギャップ２）に対応する終了アドレスおよび開始アドレスで置き換えたのである。
【００９３】
ステップＳ７１６は、上述したように、終了アドレス第１レジスタに記憶した一番目に検出した描画データの終了アドレスを、二番面に検出した描画データの終了アドレスで更新する。また、開始アドレス第２レジスタに記憶した二番目に検出した描画データの開始アドレスを、三番面に検出した描画データの開始アドレスで更新する（ステップＳ７１６、ギャップ検出段階）。
【００９４】
一方、図９のＢに示すように、ギャップ２の方がギャップ１より大きい場合は、継続してギャップ１を最大のギャップと認識してよいため、終了アドレス第１レジスタおよび開始アドレス第２レジスタの更新は行なわず、ステップＳ７１７に移行する。
【００９５】
データ有無判定回路１１７が描画データの開始を検出したときは、続いて、描画データの終了を検出する（ステップＳ７１７、ギャップ検出段階）。データ有無判定回路１１７が描画データの終了を検出したときは、ギャップカウンタ１２０および終了アドレス計算回路１１９にその旨を通知する。ギャップカウンタ１２０は、描画データの終了位置からラスタのドット数のカウントを開始する（ステップＳ７１８、ギャップ検出段階）。終了アドレス計算回路１１９は、メモリ１４０における描画データの終了位置を終了アドレスとして算出し、終了アドレスレジスタ２に記憶されている終了アドレスを更新する（ステップＳ７１９、ギャップ検出段階）。
【００９６】
図９のＢに示すように、ギャップ２の方がギャップ１より小さい場合は、ステップＳ７１１における終了アドレス第２レジスタの更新により、二番目に検出した描画データと三番目に検出した描画データは実質的に結合されたこととなり、一番目に検出した描画データと二番目に検出した描画データとの間のギャップを継続して選択したギャップとして認識することとなる。
【００９７】
ステップＳ７１２〜Ｓ７１９は、リードＤＭＡによるラスタ１４２の読み込みがラスタ１４２の末尾に到達するまで繰り返し行なう（ステップＳ７２０）。
【００９８】
リードＤＭＡによるラスタ１４２の読み込みがラスタ４１２の末尾に到達したときは、開始アドレスレジスタ１、終了アドレスレジスタ１、開始アドレスレジスタ２、終了アドレスレジスタ２、にそれぞれ記憶されたアドレスに基づいてメモリ１４０上のラスタ４１２に対して初期化を行なう。すなわち、開始アドレス１から終了アドレス１までの間の空間と、開始アドレス２から終了アドレス２までの間の空間とに対する２回のライトＤＭＡでメモリ１４０上のラスタ４１２に対して初期化を行なう（ステップＳ７２１、初期化段階）。
【００９９】
以上、本発明の第二実施形態に係るメモリの初期化方法および初期化装置について説明したが、本実施形態に係るメモリの初期化方法および初期化装置は第一実施形態が有する効果に加え、次の効果を有する。すなわち、描画データが存在するラスタについて、より大きい描画データ間ギャップを除いてメモリ上のラスタについて初期化を行なうことにより、描画データ間ギャップの大きさに依存せず、初期化処理の効率をより向上させ、装置の高速化へ対応することができる。
【０１００】
＜第三実施形態＞
図１０は、本発明の第三実施形態に係るメモリ初期化処理装置を含む画像処理ＡＳＩＣ１１０の機能ブロック図である。
【０１０１】
画像処理ＡＳＩＣ１１０は、リードＤＭＡ回路（読出手段）１１２、ライトＤＭＡ回路（初期化手段）１１３、書込データ生成回路（初期化手段）１１４、画像処理回路１１１、データ圧縮回路１１５、データ出力回路１１６、データ有無判定回路（描画データ判定手段、ギャップ検出手段）１１７、開始アドレス計算回路（初期化手段、ギャップ検出手段）１１８、終了アドレス計算回路（初期化手段、ギャップ検出手段）１１９、ギャップカウンタ（ギャップ検出手段）１１２、第１および第２ギャップレジスタ（ギャップ検出手段）１２１、大小比較回路１２３（ギャップ検出手段、初期化手段）、を有してなる。
【０１０２】
図３は、本発明の第三実施形態に係るメモリ初期化方法のフローチャートを示す図であり、第一実施形態および第二実施形態と共通する。図１１は、図３の、メモリの初期化処理のサブルーチンフローチャートを示す図である。なお、図１１のサブルーチンフローチャートでは、図の簡単化のために第二実施形態と共通する一部の処理を省略している。図１１に示すメモリの初期化処理（ステップＳ３４０）のサブルーチンフローチャートは、図７に示す第二実施形態のサブルーチンフローチャートのステップＳ７１２〜Ｓ７２０に対応する。図３についての説明および、図３のメモリの初期化処理（ステップＳ３４０）のサブルーチンフローチャートのうち図１０に示す部分以外の部分についての説明は、第一実施形態または第二実施形態における説明と重複するため省略する。
【０１０３】
本実施形態に係るメモリ初期化方法および初期化装置は、第二実施形態と以下の点で異なる。
・第二実施形態では開始アドレス計算回路のレジスタと終了アドレス計算回路のレジスタとの組が２組であるのに対し、本実施形態では、ｎ組に拡張している。
・上記レジスタの組数に対応してギャプレジスタの数をｎ−１個としている。
【０１０４】
図１０および図１１は、開始アドレス計算回路のレジスタの数と終了アドレス計算回路のレジスタの数が３組（ｎ＝３）の場合の機能ブロック図およびサブルーチンフローチャートを示している。なお、ｎ＞３の場合も同様に考えることができる。
【０１０５】
以下、図１０および図１１を参照して、本実施形態に係るメモリ初期化装置および初期化方法について説明する。
【０１０６】
図１１は、開始アドレス計算回路１１８のレジスタと終了アドレス計算回路１１９のレジスタとの３組のレジスタに、それぞれ一番目〜三番目の描画データの開始アドレスと終了アドレスが記憶された状態以降のメモリの初期化処理のフローを示している。
【０１０７】
データ有無判定回路１１７が、ラスタ１４２内において、描画データの開始（ここでは、四番目の描画データの開始）を検出したときは（ステップＳ１１１０、ギャップ検出段階）、ギャップカウンタ１２０および開始アドレス計算回路１１８にその旨を通知する。ギャップカウンタ１２０は、四番目の描画データの開始位置でラスタのドット数のカウントを停止する（ステップＳ１１３０、ギャップ検出段階）。
【０１０８】
データ有無判定回路１１７による四番目の描画データの開始の検出は、ラスタ１４２の読み込みがラスタ１４２の末尾に到達するまで行なう（ステップＳ１１２０）。データ有無判定回路１１７が四番目の描画データの開始を検出せずに、リードＤＭＡによるラスタ１４２の読み込みがラスタ１４２の末尾まで到達したときは、本サブルーチンは終了する。
【０１０９】
第１ギャップレジスタ１２１Ａに記憶されているギャップ（以下、「ギャップ１」と称する）が第２ギャップレジスタ１２１Ｂに記憶されているギャップ（以下、「ギャップ２」と称する）より大きいかどうかを比較する（ステップＳ１１４０、初期化段階）。ここで、第１ギャップレジスタ１２１Ａには、一番目の描画データと二番目の描画データの間のギャップが記憶されており、第２ギャップレジスタ１２１Ｂには、二番目の描画データと三番目の描画データの間のギャップが記憶されているはずである。以下、ｎ番目の描画データの開始アドレスを「開始アドレスｎ」と、ｎ番目の描画データの終了アドレスを「終了アドレスｎ」と称する。
【０１１０】
ギャップ１がギャップ２より大きい場合は、ギャップ２が現時点におけるギャップカウンタ１２０が計測したギャップ（以下、「ギャップ３」と称する）より大きいかどうかを比較する（ステップＳ１１６０、初期化段階）。ギャップ１がギャップ２より大きくない場合は、ギャップ１がギャップ３より大きいかどうかを比較する（ステップＳ１１５０、初期化段階）。
【０１１１】
ステップＳ１１５０でギャップ１がギャップ３より大きいと判断した場合、または、ステップＳ１１６０でギャップ２がギャップ３より大きいと判断した場合は、ギャップ１〜３のうちでギャップ３が最も小さいギャップである。このときは、終了アドレス４を、終了アドレス３にコピーする（ステップＳ１１８０、初期化段階）。
【０１１２】
ステップＳ１１５０でギャップ１がギャップ３より大きくないと判断した場合は、ギャップ１〜３のうちでギャップ１が最も小さいギャップである。このときは、ステップＳ１１７０に移行して、次の処理を行なう。すなわち、（１）終了アドレス２を終了アドレス１にコピーし、（２）ギャップ２をギャップ１にコピーし、（３）開始アドレス３を開始アドレス２にコピーし、（４）終了アドレス３を終了アドレス２にコピーし、（５）ギャップ３をギャップ２にコピーし、（６）開始アドレス４を開始アドレス３にコピーし、（７）終了アドレス４を終了アドレス３にコピーする（ステップＳ１１７０、初期化段階）。
【０１１３】
ステップＳ１１６０でギャップ２がギャップ３より大きくないと判断した場合は、ギャップ１〜３のうちでギャップ２が最も小さいギャップである。このときは、ステップＳ１１９０に移行して、次の処理を行なう。すなわち、（１）終了アドレス３を終了アドレス２にコピーし、（２）ギャップ３をギャップ２にコピーし、（３）開始アドレス４を開始アドレス３にコピーし、（４）終了アドレス４を終了アドレス３にコピーする（ステップＳ１１９０、初期化段階）。
【０１１４】
ステップＳ１１７０、ステップＳ１１８０、ステップＳ１１９０のいずれかの処理が終了したときは、次の描画データの開始の検出を継続する（ステップＳ１１１０）。そして、ステップＳ１１１０〜Ｓ１１９０は、リードＤＭＡによるラスタ１４２の読み込みがラスタ１４２の末尾に到達するまで繰り返し行なう（ステップＳ１１２０）。
【０１１５】
なお、図１１では省略しているが、リードＤＭＡによるラスタ１４２の読み込みがラスタ４１２の末尾に到達したときは、開始アドレスレジスタ１、終了アドレスレジスタ１、開始アドレスレジスタ２、終了アドレスレジスタ２、開始アドレスレジスタ３、終了アドレスレジスタ３、にそれぞれ記憶されたアドレスに基づいてメモリ１４０上のラスタ４１２に対して初期化を行なう。すなわち、開始アドレス１から終了アドレス１までの間の空間、開始アドレス２から終了アドレス２までの間の空間、開始アドレス３から終了アドレス３までの間の空間、に対する３回のＤＭＡでメモリ１４０上のラスタ４１２に対して初期化を行なう。これは、開始ギャップ、末尾ギャップ、および描画データ間ギャップのうち大きい方から２つを除いてメモリ１４０上のラスタ４１２に対して初期化を行なうことと等価である。
【０１１６】
本実施形態に係るメモリの初期化方法および初期化装置は第一実施形態および第一実施形態が有する効果に加え、次の効果を有する。すなわち、描画データが存在するラスタについて、初期化処理から除外する描画データ間ギャップの数を増加させ、かつ大きいギャップを優先して初期化処理から除外することにより、描画データ間ギャップの数および大きさに依存せず、初期化処理の効率をさらに向上させ、装置の高速化へ対応することができる。
【０１１７】
以上、本願発明を実施形態に基づき説明してきたが、本発明の範囲は実施形態に限定されるものではない。
【０１１８】
例えば、上述の実施形態では、メモリからのラスタの読み込みをリードＤＭＡで行ない、初期化処理をライトＤＭＡで行なっているが、ＣＰＵからのプログラムによる指令に基づいてラスタの読み込みおよび初期化処理を行なってもよい。
【符号の説明】
【０１１９】
１０    プリンタ、
１００    プリンタコントローラ、
１１０    画像処理ＡＳＩＣ、
１１１    画像処理回路、
１１２    リードＤＭＡ回路、
１１３    ライトＤＭＡ回路、
１１４    書込データ生成回路、
１１５    データ圧縮回路、
１１６    データ出力回路、
１１７    データ有無判定回路、
１１８    開始アドレス計算回路、
１１８Ａ〜Ｃ、１１９Ａ〜Ｃ    レジスタ、
１１９    終了アドレス計算回路、
１２０    ギャップカウンタ、
１２１、１２１Ａ、１２１Ｂ    ギャップレジスタ、
１２３    大小比較回路、
１４０    メモリ、
１４１    フレーム、
１４２    ラスタ、
１５０    ＣＰＵ、
１６０    ノースチップ、
１７０    ビデオ出力ＡＳＩＣ、
１８０    クライアントＰＣ、
１９０    プリントエンジン。
【図１】
2010269542.tif 000003
【図２】
2010269542.tif 000004
【図３】
2010269542.tif 000005
【図４】
2010269542.tif 000006
【図５】
2010269542.tif 000007
【図６】
2010269542.tif 000008
【図７】
2010269542.tif 000009
【図８】
2010269542.tif 000010
【図９】
2010269542.tif 000011
【図１０】
2010269542.tif 000012
【図１１】
2010269542.tif 000013