(57)【要約】【課題】画像のラスタライズに伴うバースト転送において、無駄な転送を減らすこと。【解決手段】ラスタライズ部３０１は、メモリ４３から取得したオブジェクトデータに基づいて、指定された解像度の第１ラスタデータを生成する。バースト長選択部３０２は、ライン上で描画する画素が連続する連続区間を特定し、連続区間の数が１つである場合に、予め定められた複数通りのバースト長について、連続区間のバースト転送に必要な転送区間を求め、転送区間のうちの描画しない区間の長さに基づいていずれかのバースト長を選択する。ラスタライズ部３０１は、転送区間に対応する下地データを選択されたバースト長でのバースト転送によってメモリ４３から取得し、描画する画素に対応する第１ラスタデータで下地データを上書きして第２ラスタデータを生成し、第２ラスタデータを選択されたバースト長でメモリ４３にバースト転送する。【選択図】図３
2014136385.tif 000002
【特許請求の範囲】
【請求項１】
下地を表すラスタ形式の下地データと、当該下地上に配置されるオブジェクトと当該オブジェクトを囲う境界線とを表すオブジェクトデータとを記憶するメモリと、
前記メモリへのアクセスを制御するメモリ制御部と、
前記メモリ制御部を介して前記メモリから取得したオブジェクトデータに基づいて、前記オブジェクト毎に、指定された解像度の第１ラスタデータを生成するラスタライズ部と、
前記ラスタライズ部が生成した第１ラスタデータにおいてラインを１本ずつ選択し、当該ライン上で描画する画素が連続する連続区間を特定し、当該連続区間の数が１つである場合に、予め定められた複数通りのバースト長について、当該連続区間のバースト転送に必要な転送区間を求め、当該転送区間のうちの描画しない区間の長さに基づいていずれかのバースト長を選択するバースト長選択部と
を有し、
前記ラスタライズ部は、前記転送区間に対応する下地データを前記バースト長選択部で選択されたバースト長でのバースト転送によって前記メモリから取得するように前記メモリ制御部に要求し、前記メモリ制御部を介して当該下地データを取得したならば、前記描画する画素に対応する前記第１ラスタデータで当該下地データを上書きして第２ラスタデータを生成し、当該第２ラスタデータを前記バースト長選択部で選択されたバースト長で前記メモリにバースト転送するように前記メモリ制御部に要求する
画像処理装置。
【請求項２】
前記バースト長選択部は、前記描画しない区間の長さが最長でないバースト長を選択する
請求項１に記載の画像処理装置。
【請求項３】
前記バースト長選択部は、前記連続区間の数が複数である場合に、前記予め定められた複数通りのバースト長から、当該ラインのバースト転送で転送される前記境界線で囲われた領域外の区間の長さが最長でないバースト長を選択する請求項１又は２に記載の画像処理装置。
【請求項４】
前記バースト長選択部は、選択するバースト長の候補が複数存在する場合に、当該複数の候補から最短でないバースト長を選択する請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の画像処理装置と、
前記メモリから取得した第２ラスタデータに基づいて記録媒体に画像を形成する画像形成部と
を有する画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像形成装置に関する。
【背景技術】
【０００２】
特許文献１に記載された印刷装置は、データを記憶するメモリと、メモリとの間でバースト転送にてデータを受け渡すメモリコントローラと、メモリコントローラにデータの受け渡しを指示し、メモリコントローラとの間でデータを受け渡す複数のユニットとを備え、メモリコントローラが、データの受け渡しの相手となるユニットに応じて、メモリとの間で行われるバースト転送のバースト長を変更する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１９３５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、画像のラスタライズに伴うバースト転送において、無駄な転送を減らすことを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る発明は、下地を表すラスタ形式の下地データと、当該下地上に配置されるオブジェクトと当該オブジェクトを囲う境界線とを表すオブジェクトデータとを記憶するメモリと、前記メモリへのアクセスを制御するメモリ制御部と、前記メモリ制御部を介して前記メモリから取得したオブジェクトデータに基づいて、前記オブジェクト毎に、指定された解像度の第１ラスタデータを生成するラスタライズ部と、前記ラスタライズ部が生成した第１ラスタデータにおいてラインを１本ずつ選択し、当該ライン上で描画する画素が連続する連続区間を特定し、当該連続区間の数が１つである場合に、予め定められた複数通りのバースト長について、当該連続区間のバースト転送に必要な転送区間を求め、当該転送区間のうちの描画しない区間の長さに基づいていずれかのバースト長を選択するバースト長選択部とを有し、前記ラスタライズ部は、前記転送区間に対応する下地データを前記バースト長選択部で選択されたバースト長でのバースト転送によって前記メモリから取得するように前記メモリ制御部に要求し、前記メモリ制御部を介して当該下地データを取得したならば、前記描画する画素に対応する前記第１ラスタデータで当該下地データを上書きして第２ラスタデータを生成し、当該第２ラスタデータを前記バースト長選択部で選択されたバースト長で前記メモリにバースト転送するように前記メモリ制御部に要求する画像処理装置である。
【０００６】
請求項２に係る発明は、請求項１に記載の画像処理装置において、前記バースト長選択部は、前記描画しない区間の長さが最長でないバースト長を選択する。
請求項３に係る発明は、請求項１又は２に記載の画像処理装置において、前記バースト長選択部は、前記連続区間の数が複数である場合に、前記予め定められた複数通りのバースト長から、当該ラインのバースト転送で転送される前記境界線で囲われた領域外の区間の長さが最長でないバースト長を選択する。
請求項４に係る発明は、請求項１乃至３のいずれかに記載の画像処理装置において、前記バースト長選択部は、選択するバースト長の候補が複数存在する場合に、当該複数の候補から最短でないバースト長を選択する。
【０００７】
請求項５に係る発明は、請求項１乃至４のいずれかに記載の画像処理装置と、前記メモリから取得した第２ラスタデータに基づいて記録媒体に画像を形成する画像形成部とを有する画像形成装置である。
【発明の効果】
【０００８】
請求項１、２、５に係る発明によれば、本構成を有しない場合と比べて、画像のラスタライズに伴うバースト転送において、無駄な転送を減らすことができる。
請求項３に係る発明によれば、連続区間の数が複数である場合に、本構成を有しない場合と比べて、処理に要する時間を短縮することができる。
請求項４に係る発明によれば、選択するバースト長の候補が複数存在する場合に、本構成を有しない場合と比べて、処理に要する時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置１０００のハードウェア構成を示す図。
【図２】制御部４のハードウェア構成を示す図。
【図３】ラスタライズに関連する構成を示す図。
【図４】バースト転送のタイミングチャート。
【図５】メモリ４３に格納された第１ラスタデータを示す図。
【図６】４ワードバーストの場合の各アドレス相互の位置関係を示す図。
【図７】８ワードバーストの場合の各アドレス相互の位置関係を示す図。
【図８】ライン上で描画する画素が連続する区間が複数である場合を示す図。
【図９】４ワードバーストの場合の各アドレス相互の位置関係を示す図。
【図１０】８ワードバーストの場合の各アドレス相互の位置関係を示す図。
【図１１】画像形成装置１０００の動作を示す流れ図。
【図１２】バースト長選択部３０２がバースト長を選択する処理を示す図。
【発明を実施するための形態】
【００１０】
＜構成＞
図１は、画像形成装置１０００のハードウェア構成を示す図である。図２は、制御部４のハードウェア構成を示す図である。
制御部４は、演算装置であるＣＰＵ（Central Processing Unit）４１と、記憶装置であるＲＯＭ（Read Only Memory）４２及びＲＡＭ（Random Access Memory）４３を有する。ＲＯＭ４２には、ハードウェアやＯＳ（Operating System）の起動の手順を記述したファームウェアが記憶されている。ＲＡＭ４３は、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）であり、ＣＰＵ４１が演算を実行する際のデータの記憶に用いられる。メモリ制御部４４は、ＲＡＭ４３へのアクセスを制御する。ＣＰＵ４１、ＲＯＭ４２、メモリ制御部４４は、バス４０に接続されている。また、バス４０には、操作部１、読取部２、画像処理部３、記憶部５、通信部６、画像形成部１０、搬送部３０が接続されている。
【００１１】
操作部１は、タッチパネルの機能を有する表示部と、押しボタン式の操作子群とを有し、ユーザが行った操作を受け付け、操作の内容を示す信号を制御部４に出力する。
記憶部５は、例えばハードディスク記憶装置であり、ＯＳ、アプリケーションプログラム等が記憶されており、制御部４がこのＯＳやアプリケーションを実行することによって画像形成装置１０００の各部を制御する。
通信部６は、通信Ｉ／Ｆ（Interface）であり、ＬＡＮ（Local Area Network）等の通信線路（図示省略）に接続され、画像形成装置１０００と他の装置との通信を仲介する。
【００１２】
読取部２は、原稿を光学的に読み取って画像データを生成する。具体的には、読取部２は、光源、光学系及び撮像素子を備え（いずれも図示省略）、プラテンガラス２Ａ上に載せられた原稿に対して光源が光を照射し、原稿で反射された反射光が光学系を介してＲ（Red）色、Ｇ（Green）色、Ｂ（Blue）色に分解されて撮像素子に入射する。撮像素子は、入射した光を画像データに変換し、画像処理部３に供給する。また、読取部２は、原稿を載せる原稿台２Ｂと、原稿台２Ｂに載せられた原稿を１枚ずつプラテンガラス２Ａ上に搬送する原稿搬送機構２Ｃを有する。
【００１３】
画像処理部３は、画像データに対して画像処理を施す。具体的には、画像処理部３は、読取部２から供給された画像データをＡ／Ｄ変換し、ノイズ除去、ガンマ補正、Ｒ色、Ｇ色、Ｂ色からＹ（Yellow）色、Ｍ（Magenta）色、Ｃ（Cyan）色、Ｋ（Black）色への変換、スクリーン処理等を施す。また、画像処理部３は、通信部６によって外部から受信した画像データに対して同様の画像処理を施す。また、外部から受信した画像データがベクタデータを含む場合、画像処理部３は、このベクタデータをラスタデータに変換する（ラスタライズ）。こうして、色毎、画素毎の階調を表すラスタデータが生成される。
【００１４】
画像形成部１０Ｙ、１０Ｍ、１０Ｃ、１０Ｋは、画像処理部３から供給されたラスタデータに基づいて、電子写真方式により、それぞれＹ色、Ｍ色、Ｃ色、Ｋ色のトナー像を中間転写体２０の表面に重ねて形成する。画像形成部１０Ｙ、１０Ｍ、１０Ｃ、１０Ｋの構成は共通であるから、これらを区別する必要のない場合には画像形成部１０と総称する。
【００１５】
搬送部３０は、搬送路３４に沿って記録媒体Ｐを搬送する。具体的には、媒体収容部３１には、紙等、シート状の記録媒体Ｐが積み重ねて収容されており、送り出しローラ３２が記録媒体Ｐを１枚ずつ搬送路３４に送り出す。記録媒体Ｐは、搬送ローラ３３によって搬送路３４に沿って矢印Ｃの方向に搬送される。中間転写体２０上のトナー像は、転写ローラ２３によって記録媒体Ｐに転写される。
【００１６】
図３は、ラスタライズに関連する構成を示す図である。ラスタライズ部３０１、バースト長選択部３０２、タイミング調整部３０３は、ハードウェアで実装されている。
ＲＡＭ４３は、下地を表すラスタ形式の下地データと、当該下地上に配置されるオブジェクトと当該オブジェクトを囲う境界線とを表すオブジェクトデータとを記憶する。以下の説明では、ＲＡＭ４３をメモリ４３と呼ぶ。本実施形態では、通信部６を介して外部の装置からページ記述言語（Page Description Language、以下、ＰＤＬという。）で記述された文書データ（以下、ＰＤＬデータという。）を受信した場合について説明する。
【００１７】
通信部６によって受信されたＰＤＬデータは、メモリ４３に記憶される。ＰＤＬデータは、ラスタライズの解像度を指定するデータ、用紙のサイズを指定するデータ、描画開始位置を指定するデータ、描画される文字列を表すテキストデータ等に加えて、下地データとオブジェクトデータとを含む。下地データは、下地を表すラスタデータである。オブジェクトデータは、下地上に配置される図形、文字、写真等のオブジェクトと、各オブジェクトを囲う境界線とを表すデータである。境界線は、例えば矩形である。
オブジェクトデータは、ベクタデータである場合と、ラスタデータである場合とがある。オブジェクトデータがベクタデータである場合、ラスタライズ部３０１が当該ベクタデータをラスタデータに変換する。
【００１８】
次に、メモリ制御部４４について説明する。
メモリ制御部４４は、メモリ４３へのアクセスを制御する。ここでは、バースト転送における基本的な制御内容について説明する。
メモリ制御部４４は、画像形成装置１０００に設けられている各ユニットからの命令に応じて、メモリ４３との間でバースト転送を行う。ユニットとは、前述した読取部２、画像処理部３、記憶部５、通信部６、画像形成部１０等である。
【００１９】
図４は、バースト転送のタイミングチャートである。このうち、図４（ａ）は、４ワードバーストによる読み出し時のタイミングチャートである。ワードとは、１クロックの間に読み出し又は書き込みが行われるデータ長である。バス４０のバス幅が８Ｂｙｔｅ（６４ｂｉｔ）である場合、１ワードは８Ｂｙｔｅである。従って、４ワードバーストでは、３２Ｂｙｔｅのデータが連続して転送される。コマンド、アドレス、データの出力は、クロックと同期させて行われる。
【００２０】
最初に、メモリ制御部４４は、各ユニットからの指示に応じて、ＡＣＴコマンドをメモリ４３に出力する。ＡＣＴコマンドは、複数の制御信号の論理レベルの組み合わせによって動作の条件を指定するコマンドである。メモリ制御部４４は、ＡＣＴコマンドと同期させて、行アドレス（ＲＯＷ）をメモリ４３に出力する（この例では、行Ａ）。メモリ４３は、この行アドレスに対応するデータをラッチする。
【００２１】
次に、メモリ制御部４４は、ＡＣＴコマンドの２クロック後に、ＲＥＡＤコマンドをメモリ４３に出力する。また、メモリ制御部４４は、ＲＥＡＤコマンドと同期させて、列アドレス（ＣＯＬ）をメモリ４３に出力する（この例では、列ａ１）。メモリ４３は、ラッチしたデータから、この列アドレスを先頭として連続する４ワードのデータを選択してメモリ制御部４４に出力する。この例では、バースト長が４ワードに設定されているから、行Ａ、列ａ１を先頭として３２Ｂｙｔｅのデータが連続して読み出される。なお、本実施形態では、読み出しのレイテンシは２である。従って、ＲＥＡＤコマンドの出力の２クロック後に、メモリ４３がデータの読み出しを開始する。
【００２２】
図４（ｂ）は、８ワードバーストによる読み出し時のタイミングチャートである。８ワードバーストの場合、メモリ制御部４４は、最初のＲＥＡＤコマンドから４クロック後に、２回目のＲＥＡＤコマンドをメモリ４３に出力する。また、メモリ制御部４４は、最初に出力した列アドレスａ１の４ワード後の列アドレスａ５をメモリ４３に出力する。すると、２回目のＲＥＡＤコマンドの２クロック後に、メモリ４３が、行Ａ、列ａ５を先頭として３２Ｂｙｔｅのデータの読み出しを開始する。その結果、行Ａ、列ａ１を先頭として６４Ｂｙｔｅのデータが連続して読み出される。アドレスの連続する８ワードのデータを読み出す場合、４ワードバーストを２回行うと、ＡＣＴコマンドと行アドレスの出力が２回必要であるが、８ワードバーストでは１回で済むから、４ワードバーストを２回続けるよりも、読み出しに要する時間が短くなる。
【００２３】
図４（ｃ）は、４ワードバーストによる書き込み時のタイミングチャートである。
最初に、メモリ制御部４４は、各ユニットからの指示に応じて、ＡＣＴコマンドをメモリ４３に出力する。また、メモリ制御部４４は、ＡＣＴコマンドと同期させて、行アドレス（ＲＯＷ）をメモリ４３に出力する（この例では、行Ａ）。次に、メモリ制御部４４は、ＡＣＴコマンドの２クロック後に、ＷＲＩＴＥコマンドをメモリ４３に出力する。また、メモリ制御部４４は、ＷＲＩＴＥコマンドと同期させて、列アドレス（ＣＯＬ）をメモリ４３に出力する（この例では、ａ１）。また、メモリ制御部４４は、ＷＲＩＴＥコマンドと同期させて、メモリ４３へのデータの出力を開始する。この例では、バースト長が４ワードに設定されているから、行Ａ、列ａ１を先頭として３２Ｂｙｔｅのデータが連続して書き込まれる。
【００２４】
図４（ｄ）は、８ワードバーストによる書き込み時のタイミングチャートである。８ワードバーストの場合、メモリ制御部４４は、最初のＷＲＩＴＥコマンドから４クロック後に、２回目のＷＲＩＴＥコマンドをメモリ４３に出力する。また、メモリ制御部４４は、最初に出力した列アドレスａ１の４ワード後の列アドレスａ５をメモリ４３に出力する。また、メモリ制御部４４は、２回目のＷＲＩＴＥコマンドと同期させて、最初の４ワードに続くデータの出力を開始する。その結果、行Ａ、列ａ１を先頭として６４Ｂｙｔｅのデータが連続して書き込まれる。アドレスの連続する８ワードのデータを書き込む場合、４ワードバーストを２回行うと、ＡＣＴコマンドと行アドレスの出力が２回必要であるが、８ワードバーストでは１回で済むから、４ワードバーストを２回続けるよりも、書き込みに要する時間が短くなる。
【００２５】
次に、ラスタライズ部３０１について説明する。
ラスタライズ部３０１は、メモリ制御部４４を介してメモリ４３から取得したオブジェクトデータに基づいて、オブジェクト毎に、指定された解像度の第１ラスタデータを生成する。具体的には、次のとおりである。
ラスタライズ部３０１は、取得したオブジェクトデータがベクタデータである場合、このベクタデータを、ＰＤＬデータで指定されている解像度でラスタライズする。ベクタデータでは、オブジェクトの形状と色が指定されている。最初に、ラスタライズ部３０１は、ベクタデータからオブジェクトの輪郭を表すベクタを求めてディスプレイリストを生成する。ラスタライズ部３０１は、ラスタデータの座標系における行方向の各ラインと各ベクタとの交点の座標値を求め、オブジェクトの輪郭で囲われた領域内に位置する画素に、指定された色に対応する諧調値を対応付ける。本実施形態では、このようにして生成されたラスタデータを、第１ラスタデータと呼ぶ。
【００２６】
図５は、メモリ４３に格納された第１ラスタデータを示す図である。実線で囲われた領域がオブジェクトである。Ｘ方向（行方向）において、升目１つが８Ｂｙｔｅ（＝６４ｂｉｔ）に相当し、Ｙ方向（列方向）において、升目１つが１ｂｉｔに相当する。つまり、各行がラインに相当する。また、升目１つが１ワードに相当するとともに、行方向に連続して並ぶ６４個の画素に相当する。また、黒で塗りつぶされた画素が、描画する画素であり、塗りつぶされていない画素が、描画しない画素である。
【００２７】
次に、バースト長選択部３０２について説明する。
バースト長選択部３０２は、第１ラスタデータにおいてラインを１本ずつ選択し、当該ライン上で描画する画素が連続する連続区間を特定し、当該連続区間の数が１つである場合に、予め定められた複数通りのバースト長について、当該連続区間のバースト転送に必要な転送区間を求め、当該転送区間のうちの描画しない区間の長さに基づいていずれかのバースト長を選択する。例えば、バースト長選択部３０２は、描画しない区間の長さが最長でないバースト長を選択する。描画しない区間の長さが最長でないバースト長とは、例えば、描画しない区間の長さが最短であるバースト長である。バースト転送におけるメモリ４３へのアクセスは、バースト長選択部３０２で選択されたバースト長で行われる。
【００２８】
また、バースト転送においては、アクセスの始点として指定することを許されるアドレス（以下、始点アドレスという。）は、特定のアドレス（例えば、メモリ４３の記憶領域の各行の先頭）にバースト長の整数倍を加算したアドレスだけである。従って、バースト転送においては、メモリ４３の記憶領域の各行が、選択されたバースト長単位で仮想的に区切られている。この仮想的な区切りをバースト境界という。始点アドレスは、ラスタデータの各行の先頭と一致するとは限らない。例えば、図５において、４ワードバーストの場合、Ｘ＝１、５、９、１３、１７、２１のワードの先頭アドレスが始点アドレスであり、８ワードバーストの場合、Ｘ＝１、９、１７のワードの先頭アドレスが始点アドレスである。
【００２９】
ここで、Ｙ＝５のラインが選択された場合について説明する。このライン上では、描画する画素が連続する連続区間として、Ｘ＝８から１８までの区間が特定される。すなわち、連続区間の数は１つである。本実施形態では、予め定められた複数通りのバースト長は、４ワードと８ワードである。バースト長選択部３０２は、各バースト長について、連続区間の転送に必要な転送区間の始点アドレスと終点アドレスを次式で求める。本実施形態では、連続区間のバースト転送に必要な最短の区間を転送区間とする。
Ｓｘ＿ｂｕ＝（Ｓｘ÷Ｂｕ）×Ｂｕ    （Ｓｘ÷Ｂｕの小数点以下切捨て）  式（１）
Ｅｘ＿ｂｕ＝（Ｅｘ÷Ｂｕ）×Ｂｕ    （Ｅｘ÷Ｂｕの小数点以下切上げ）  式（２）
ただし、Ｓｘ：連続区間の始点アドレス、Ｅｘ：連続区間の終点アドレス、
Ｓｘ＿ｂｕ：転送区間の始点アドレス、Ｅｘ＿ｂｕ：転送区間の終点アドレス、
Ｂｕ：バースト長、である。
【００３０】
図６は、４ワードバーストの場合の各アドレス相互の位置関係を示す図である。この場合、Ｘ＝５から２０までが転送区間となる。図７は、８ワードバーストの場合の各アドレス相互の位置関係を示す図である。この場合、Ｘ＝１から２４までが転送区間となる。
バースト長選択部３０２は、各バースト長について、当該転送区間のうちの描画しない区間の長さを次式で求める。
Ｍ＝（Ｓｘ−Ｓｘ＿ｂｕ）＋（Ｅｘ＿ｂｕ−Ｅｘ）                      式（３）
ただし、Ｍ：描画しない区間の長さ、である。
そして、バースト長選択部３０２は、当該転送区間ののうちの描画しない区間の長さが最短であるバースト長を選択する。この例では、描画しない区間の長さが最短であるのは４ワードバーストであるから、４ワードが選択される。
【００３１】
一方、バースト長選択部３０２は、選択するバースト長の候補が複数存在する場合に、当該複数の候補から最短でないバースト長を選択する。最短でないバースト長とは、例えば、最長のバースト長である。例えば、Ｙ＝１０のラインが選択された場合、４ワードバーストでも８ワードバーストでも、転送区間はＸ＝９から１６までであるから、当該ラインのバースト転送で転送される描画しない区間の長さも同じである。つまり、選択するバースト長の候補が複数存在することになる。この場合、バースト長が最長であるのは８ワードバーストであるから、８ワードが選択される。
【００３２】
また、バースト長選択部３０２は、連続区間の数が複数である場合に、前記予め定められた複数通りのバースト長から、当該ラインのバースト転送で転送される前記境界線で囲われた領域外の区間の長さが最長でないバースト長を選択する。領域外の区間の長さが最長でないバースト長とは、例えば、領域外の区間の長さが最短であるバースト長である。
【００３３】
図８は、ライン上で描画する画素が連続する区間が複数である場合を示す図である。同図において、Ｙ＝５から８までと、Ｙ＝１１から１４までのラインでは、ライン上で描画する画素が連続する区間が複数存在する。この場合、バースト長選択部３０２は、第１ラスタデータの当該ラインの全区間のバースト転送に必要な転送区間を求める。本実施形態では、当該ラインの全区間のバースト転送に必要な最短の区間を転送区間とする。ここで、バースト長選択部３０２は、Ｓｘ：当該ラインの始点アドレス、Ｅｘ：当該ラインの終点アドレスとして、式（１）、（２）を用いて転送区間の始点アドレスと終点アドレスを算出する。
【００３４】
図９は、４ワードバーストの場合の各アドレス相互の位置関係を示す図である。図１０は、８ワードバーストの場合の各アドレス相互の位置関係を示す図である。４ワードバーストの場合はＸ＝５から２４まで、８ワードバーストの場合は、Ｘ＝１から２４までが転送区間である。そして、バースト長選択部３０２は、式（３）を用いてＭ（紺も場合は、オブジェクトの領域外の区間の長さ）を算出し、Ｍが最短であるバースト長を選択する。この例では、４ワードが選択される。
【００３５】
次に、バースト長選択部３０２によるバースト長の選択後のラスタライズ部３０１の機能について説明する。
ラスタライズ部３０１は、転送区間に対応する下地データをバースト長選択部３０２で選択されたバースト長でのバースト転送によってメモリ４３から取得するようにメモリ制御部４４に要求し、メモリ制御部４４を介して当該下地データを取得したならば、描画する画素に対応する第１ラスタデータで当該下地データを上書きして第２ラスタデータを生成し、当該第２ラスタデータをバースト長選択部３０２で選択されたバースト長でメモリ４３にバースト転送するようにメモリ制御部４４に要求する。具体的には、次のとおりである。
【００３６】
ラスタライズ部３０１は、転送区間の先頭アドレスを含む読み出し要求と、バースト長選択部３０２で選択されたバースト長を表すバースト長情報とをタイミング調整部３０３に出力する。タイミング調整部３０３は、読み出し要求とバースト長情報とを同期させてメモリ制御部４４に出力する。すると、メモリ制御部４４は、バースト長情報で表されるバースト長でのバースト転送によって、転送区間の先頭アドレスから下地データの読み出しを開始し、読み出された下地データをラスタライズ部３０１に転送する。
【００３７】
次に、ラスタライズ部３０１は、描画する画素に対応する第１ラスタデータで下地データを上書きして第２ラスタデータを生成する。そして、ラスタライズ部３０１は、転送区間の先頭アドレスを含む書き込み要求と、バースト長情報とをタイミング調整部３０３に出力する。タイミング調整部３０３は、書き込み要求とバースト長情報とを同期させてメモリ制御部４４に出力する。すると、メモリ制御部４４は、バースト長情報で表されるバースト長でのバースト転送によって、転送区間に対応する第２ラスタデータの書き込みを開始する。
【００３８】
＜動作＞
図１１は、画像形成装置１０００の動作を示す流れ図である。
ステップＳ０１において、ラスタライズ部３０１は、メモリ制御部４４を介してメモリ４３からオブジェクトデータを取得し、オブジェクト毎に第１ラスタデータを生成する。
ステップＳ０２において、バースト長選択部３０２は、第１ラスタデータにおいて選択するラインを示すカウンタＬｉｎｅを１に設定する。これによって、第１ラスタデータの１行目のラインが選択される。
【００３９】
ステップＳ０３において、バースト長選択部３０２は、選択されたラインに描画する画素が含まれているか否かを画素の階調値に基づいて判定する。当該ラインに描画する画素が含まれている場合（ステップＳ０３：ＹＥＳ）には、ステップＳ０４に進み、当該ラインに描画する画素が含まれていない場合（ステップＳ０３：ＮＯ）には、ステップＳ１０に進む。ステップＳ１０では、カウンタＬｉｎｅに１を加算する。
【００４０】
ステップＳ０４において、バースト長選択部３０２は、選択されたライン上で描画する画素が連続する連続区間を特定し、連続区間の数が１つであるか否かを判定する。連続区間の数が１つである場合（ステップＳ０４；ＹＥＳ）には、ステップＳ０５に進み、連続区間の数が複数である場合（ステップＳ０４：ＮＯ）には、ステップＳ０６に進む。
ステップＳ０５において、バースト長選択部３０２は、連続区間に応じたバースト長を選択する。
一方、ステップＳ０６において、バースト長選択部３０２は、当該ラインの全区間に応じたバースト長を選択する。
【００４１】
図１２は、ステップＳ０５又はステップＳ０６においてバースト長選択部３０２がバースト長を選択する処理を示す図である。
ステップＳ２１において、バースト長選択部３０２は、式（１）、式（２）により、転送区間の始点と終点のアドレスを取得する。
ステップＳ２２において、バースト長選択部３０２は、式（３）により、４ワードバーストと８ワードバーストについてＭを算出する。
ステップＳ２３において、バースト長選択部３０２は、Ｍが最短のバースト長を選択する。
ステップＳ２４において、バースト長選択部３０２は、Ｍが最短のバースト長が複数であるか否かを判定し、複数でない場合（ステップＳ２４：ＮＯ）には、図１１のステップＳ０７に進む。複数である場合（ステップＳ２４：ＹＥＳ）には、ステップＳ２５に進む。
ステップＳ２５において、バースト長選択部３０２は、複数のバースト長のうち最大のバースト長を選択し、図１１のステップＳ０７に進む。
【００４２】
ステップＳ０７において、ラスタライズ部３０１は、転送区間に対応する下地データをバースト長選択部３０２で選択されたバースト長でのバースト転送によってメモリ４３から取得するようにメモリ制御部４４に要求する。
ステップＳ０８において、ラスタライズ部３０１は、描画する画素に対応する第１ラスタデータで下地データを上書きして第２ラスタデータを生成し、第２ラスタデータをバースト長選択部３０２で選択されたバースト長でメモリ４３にバースト転送するようにメモリ制御部４４に要求する。
ステップＳ０９において、ラスタライズ部３０１は、カウンタＬｉｎｅがＮに達したか否か（Ｎは第１ラスタデータのライン数）を判定し、Ｎに達した場合（ステップＳ０９：ＹＥＳ）には、処理を終了し、Ｎに達していない場合（ステップＳ０９：ＮＯ）には、ステップＳ１０に進む。
【００４３】
＜変形例＞
上記の実施形態を以下に示す変形例のように変形してもよい。また、実施形態と変形例を組み合わせてもよい。また、複数の変形例を組み合わせてもよい。
【００４４】
実施形態では、バースト長の選択肢が４ワードバーストと８ワードバーストである例を示したが、バースト長の選択肢はこれ以外のバースト長でもよい。また、１ワードの長さは何Ｂｙｔｅでもよい。
また、バースト長の選択肢は、３つ以上でもよい。この場合、互いに異なる３通り以上のバースト長が選択するバースト長の候補となることがあり得るが、この場合に、最長のバースト長を選択してもよいし、最短でも最長でもないバースト長を選択してもよい。つまり、最短でないバースト長が選択されればよい。
【００４５】
実施形態では、メモリ４３に記憶されるオブジェクトデータがベクタデータである例を示したが、オブジェクトデータがラスタデータであってもよい。また、オブジェクトデータがディスプレイリストであってもよい。
【００４６】
実施形態では、本発明を画像形成装置に適用した例を示したが、本発明は、図３に示した機能構成を有する画像処理装置の発明としても特定し得る。
また、実施形態では、ラスタライズ部３０１、バースト長選択部３０２、タイミング調整部３０３がハードウェアで実装されている例を示したが、これらの機能をソフトウェアで実装してもよい。その場合、コンピュータにこれらの機能を実現させるためのプログラムを記録媒体に記録して提供してもよいし、このプログラムを電気通信回線で提供してもよい。
【符号の説明】
【００４７】
１０００…画像形成装置、１…操作部、２…読取部、３…画像処理部、４…制御部、５…記憶部、６…通信部、１０…画像形成部、３０…搬送部、３４…搬送路、４０…バス、４１…ＣＰＵ、４２…ＲＯＭ、４３…ＲＡＭ（メモリ）、４４…メモリ制御部、３０１…ラスタライズ部、３０２…バースト長選択部、３０３…タイミング調整部
【図１】
2014136385.tif 000003
【図２】
2014136385.tif 000004
【図３】
2014136385.tif 000005
【図４】
2014136385.tif 000006
【図５】
2014136385.tif 000007
【図６】
2014136385.tif 000008
【図７】
2014136385.tif 000009
【図８】
2014136385.tif 000010
【図９】
2014136385.tif 000011
【図１０】
2014136385.tif 000012
【図１１】
2014136385.tif 000013
【図１２】
2014136385.tif 000014