(57)【特許請求の範囲】
【請求項１】
メモリに記憶された画データを、ＤＭＡ転送装置により書込み制御部に転送する画像処理装置において、
前記ＤＭＡ転送装置は、
転送開始アドレスを指定する転送開始アドレス指定手段と、
ＤＭＡ転送アドレスを生成するアドレス生成手段と、
転送データがライン最終データであることを検出するライン最終データ検出手段と、
転送データの次ライン要求を検出する次ライン要求検出手段と、
前記メモリ内の画像バッファ領域の最長ラインバイト数ｎを指定する最長ラインバイト数指定手段と、
ライン先頭アドレスＡｔｏｐを保持値Ｓとして保持するライン先頭アドレス保持手段と、
を備え、
前記メモリに格納された画像データの線密度が、前記書込み制御部による書込み線密度よりも低い場合において、
前記ライン最終データ検出手段がライン最終データであることを検出し、かつ、次ライン要求検出手段が次ラインデータ要求を検出したときは、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎを、
（ライン先頭アドレスの保持値Ｓ）−（画像バッファ領域の最長ラインバイト数ｎ）
として出力し、
前記ライン最終データ検出手段がライン最終データであることを検出し、かつ、次ライン要求検出手段が次ラインデータ要求を検出しないときは、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎを、
（ライン先頭アドレスの保持値Ｓ）、
として出力することを特徴とする画像処理装置。
【請求項２】
前記ライン最終データ検出手段がライン最終データであることを検出しないときは、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎを、
（ライン先頭アドレスの保持値Ｓ）＋ｍ、
（ただし、ｍはＤＭＡ転送のバイト単位）
または、
（ライン先頭アドレスの保持値Ｓ）＋（ｍ×バースト数）
として
出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
さらに、メモリアドレスの上限値Ａｕｐを指定する上限メモリアドレス指定手段と、メモリアドレスの下限値Ａｌｏｗを指定する下限メモリアドレス指定手段を備え、
前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎが、前記下限メモリアドレス指定手段によって指定されたアドレス値Ａｌｏｗを下回るときは、当該次のＤＭＡ転送先頭アドレスを、Ａｎ＋（Ａｕｐ−Ａｌｏｗ）＋ｑ（ｑは調整用の定数）に変更して出力することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記書込み制御部は、前記ライン最終データ検出手段にライン最終データ信号を、前記次ライン要求検出手段に次ライン要求をそれぞれ出力することを特徴とする請求項１から３の何れか１つに記載の画像処理装置。
【請求項５】
前記書込み制御部は、転送されたデータのＭＳＢとＬＳＢとを逆転するビットスワップ手段を持つことを特徴とする請求項１から４の何れか１つに記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリに記憶された画データをＤＭＡ転送により書込み制御部に転送するに際して、画像ラインの水増し処理、または間引き処理を行うことができる画像処理装置に関する。
【０００２】
【従来の技術】
ライン密度の最高解像度（副走査方向の最高解像度）がＸｄｐｉのプリンタにより、ライン密度Ｙｄｐｉで画像をプリントする場合において、Ｘ＞Ｙのとき（すなわち、副走査方向に拡大したプリントを行うとき）には、ラインを水増ししたプリントが行われる。具体的にはライン密度６００ｄｐｉのプリンタにより２００ｄｐｉの画像をプリントする場合には、連続する３ライン分について同一のラインのプリントがなされる（ただし、ライン間データの補間処理は考慮しない）。
【０００３】
また、ライン密度の最高解像度（副走査方向の最高解像度）がＸｄｐｉのプリンタにより、ライン密度Ｙｄｐｉで画像をプリントする場合において、Ｘ＜Ｙのとき（すなわち、副走査方向に縮小したプリントを行うとき）には、ラインを間引いたプリントが行われる。具体的には、原画像約１０本に１本の間引きが行われる。また、Ｎラインからなるもともとの画像を（Ｎ−ｎ）ラインの画像に縮小してプリントするときには、ラインを間引いたプリントが行われる。また、たとえば、約５０００ラインの画像を約４５００ラインの画像に縮小する場合（９０％圧縮する場合）にも原画像約１０本に１本の間引きが行われる。
【０００４】
【発明が解決しようとする課題】
従来の画像処理装置では、書込み（プリント）線密度に応じて、ラインの間引き処理を行うと、画データのスタート位置や、メモリ内の画データ配置が限定されるといった問題がある。
【０００６】
本発明は、書込み線密度に応じて、ラインの水増し処理や間引き処理を行うことができる画像処理装置を提供することを目的とする。
【０００７】
また、本発明は、画データのスタート位置や、メモリ内の画データ配置によらず、書込み線密度に応じて、ラインの水増し処理や間引き処理を行うことができる画像処理装置を提供することを目的とする。
【０００８】
さらに、本発明は、上記の各目的を達成しつつ、天地を逆転した出力画像を得ることができる画像処理装置を提供することを目的とする。
【０００９】
さらにまた、本発明は、画データエリアの上限アドレスおよび下限アドレスを、アドレス生成部によるハードウェア管理とすることで、画データエリアをリングバッファとして使用することができ、かつソフトウェアの管理負担を軽減できる画像処理装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の画像処理装置の第１態様は、メモリに記憶された画データを、ＤＭＡ転送装置により書込み制御部に転送するものであって、前記ＤＭＡ転送装置は、転送開始アドレスを指定する転送開始アドレス指定手段と、ＤＭＡ転送アドレスを生成するアドレス生成手段と、転送データがライン最終データであることを検出するライン最終データ検出手段と、転送データの次ライン要求を検出する次ライン要求検出手段と、前記メモリ内の画像バッファ領域の最長ラインバイト数ｎを指定する最長ラインバイト数指定手段と、ライン先頭アドレスＡｔｏｐを保持値Ｓとして保持するライン先頭アドレス保持手段とを備え、前記メモリに格納された画像データの線密度が、前記書込み制御部による書込み線密度よりも低い場合において、前記ライン最終データ検出手段がライン最終データであることを検出し、かつ、次ライン要求検出手段が次ラインデータ要求を検出したときは、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎを、
（ライン先頭アドレスの保持値Ｓ）
−（画像バッファ領域の最長ラインバイト数ｎ）
として出力し、または、
前記ライン最終データ検出手段がライン最終データであることを検出し、かつ、次ライン要求検出手段が次ラインデータ要求を検出しないときは、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎを、
（ライン先頭アドレスの保持値Ｓ）、
として出力することを特徴とする。
【００１２】
上記第１態様において、前記ライン最終データ検出手段がライン最終データであることを検出しないときは、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎを、
（ライン先頭アドレスの保持値Ｓ）＋ｍ、
（ただし、ｍはＤＭＡ転送のバイト単位）
または、
（ライン先頭アドレスの保持値Ｓ）＋（ｍ×バースト数）
として
出力することができる。
【００１３】
さらに、メモリアドレスの上限値Ａｕｐを指定する上限メモリアドレス指定手段と、メモリアドレスの下限値Ａｌｏｗを指定する下限メモリアドレス指定手段を備え、前記アドレス生成手段は、次のＤＭＡ転送先頭アドレスＡｎが、前記下限メモリアドレス指定手段によって指定されたアドレス値Ａｌｏｗを下回るときは、当該次のＤＭＡ転送先頭アドレスを、
Ａｎ＋（Ａｕｐ−Ａｌｏｗ）＋ｑ
（ｑは調整用の定数）
に変更して出力することができる。ここで、新たなアドレスを予め定められたアドレスＡｌｏｗ〜Ａｕｐで定義されるバッファ領域内の上限値側にシフトさせるときの定数であり、たとえば、メモリの使用方法によりｑ＝１とすること、ｑ＝２とすることができる。
【００１４】
また、本発明の画像処理装置では、前記書込み制御部が、前記ライン最終データ検出手段にライン最終データ信号を、前記次ライン要求検出手段に次ライン要求をそれぞれ出力することができる。
【００１５】
さらに本発明では、前記書込み制御部は、転送されたデータのＭＳＢとＬＳＢとを逆転するビットスワップ手段を持つことができる。１８０度回転を行う場合には、ラインデータのＭＳＢとＬＳＢとの反転を利用することができる。
【００１６】
【発明の実施の形態】
図１は、本発明の画像処理装置の部分ブロック図である。図１においては、本発明の理解に不用な構成要素については、図示を省略してある。図１において、画像処理装置１００は、演算処理部１と、ＤＭＡコントローラ２と、メモリ３と、書込み制御部（プリント制御部）４とを備えており、これらは、ＤＭＡ転送が行われるアドレス・データバス５に接続されている。演算処理部１は、ＣＰＵ、プログラムドＲＯＭ、ワークＲＡＭ等からなり、画像処理装置１００の全体を制御する。ＤＭＡコントローラ２は、アドレス指定手段２１１および最長ラインバイト数指定手段２１２とを備えたアドレス・最長ラインバイト数指定手段２１と、ライン先頭アドレス保持手段２２１を含むアドレス生成手段２２と、ライン最終データ信号検出手段（本発明の「ライン最終データ検出手段」）２３１と次ラインデータ要求信号検出手段（本発明の「次ラインデータ要求検出手段」）２３２とを備えた検出手段２３と、タイミング生成部２４と、ＤＭＡ優先順位決定手段２５とを有している。アドレス指定手段２１１は、転送開始アドレス指定手段２１１１、上限メモリアドレス指定手段２１１２、下限メモリアドレス指定手段２１１３とを含んでいる。また、ライン最終データ信号検出手段２３１は、ライン最終データ信号ＬＬを検出し、次ラインデータ要求信号検出手段２３２は、次ラインデータ要求信号ＮＬを検出することができる。タイミング生成部２４は、ＤＭＡコントローラの制御およびメモリ３のストローブ信号Ｓｔｒｂを生成する。ＤＭＡ優先順位決定手段２５は、外部からのＤＭＡ転送要求ｄｍａＲＥＱに対して優先順位を決定し、決定結果をタイミング生成部２４に出力する。
【００１７】
図２および図３は、画像処理装置１００の動作を示すフローチャートである。まず、最初に転送開始アドレス指定手段２１１１に、ＤＭＡ転送開始先頭アドレスＡｓｔｒｔを、最長ラインバイト数指定手段２１２に画データの最大１ライン幅のバイト数ｎを、ライン先頭アドレス保持手段２２１にライン先頭アドレスＡｔｏｐの初期値としてＤＭＡ転送開始先頭アドレスＡｓｔｒｔを、上限メモリアドレス指定手段２１１２にバッファの上限アドレスＡｕｐ（たとえば、“１ＦＦＥｈ”）を、下限メモリアドレス指定手段２１１３にバッファの下限アドレスＡｌｏｗ（たとえば、“１０００ｈ”）をそれぞれセットする（Ｓ１０１）。
【００１８】
ＤＭＡがスタートすると（Ｓ１０２）、ＤＭＡ転送要求ｄｍａＲＥＱがＤＭＡ優先順位決定手段２５に入力され、タイミング生成部２４がストローブ信号Ｓｔｒｂを生成してこれをメモリ３に送出し、ＤＭＡ転送サイクルが開始する（Ｓ１０３）。
【００１９】
ＤＭＡ転送サイクルの開始時においては、ライン先頭アドレス保持手段２２１のＤＭＡ転送先頭アドレスＡｎの初期値は、上述したようにＤＭＡ転送開始先頭アドレスＡｓｔｒｔと同じ値にセットされる（Ｓ１０４）。したがって、アドレス生成手段２２は、ＤＭＡ転送開始時には、アドレス出力としてＡｓｔｒｔを出力する。
【００２０】
ＤＭＡコントローラ２は、ＤＭＡ転送に際して、画データをメモリ３から１ラインずつ読み出し、書込み制御部４に転送する。メモリ３からのデータ読み出しは、通常は、ｍバイト単位で行われ、バーストモードではｍ×バースト数で行われる。
【００２１】
書込み制御部４は、１ラインのデータ数を管理しており、１ラインの最終データのＤＭＡ転送時にライン最終データ信号ＬＬをアクティブにする。ライン最終データ信号検出手段２３１は、ライン最終データ信号ＬＬがアクティブか否かをチェックしており（Ｓ１０５）、この信号がアクティブであることを検出しないとき（すなわち、インアクティブであるとき；Ｓ１０５の「ＮＯ」）は、アドレス生成手段２２で次転送アドレス出力ＯＵＴ（Ａｎ）として、
Ａｎ＝Ａ（現アドレス）＋ｍ
を生成する（Ｓ１０９）。
【００２２】
つぎに、ライン最終データ信号検出手段２３１がライン最終データ信号ＬＬがアクティブであることを検出したとき（Ｓ１０５の「ＹＥＳ」）は、書込みが最高線密度か否をチェックする（Ｓ１０６）。書込みが最高線密度でない場合には（Ｓ１０６の「ＮＯ」）、次ラインデータ要求信号検出手段２３２が次ラインデータ要求信号ＮＬを検出したか否かをチェックする（Ｓ１０８）。
【００２３】
次ラインデータ要求信号検出手段２３２が次ラインデータ要求信号ＮＬを検出したときは（Ｓ１０８の「ＹＥＳ」）、次転送アドレス出力ＯＵＴ（Ａｎ）として、
Ａｎ＝Ｓ−ｎ
を生成し（Ｓ１１１）、次ラインデータ要求信号ＮＬを検出したときは（Ｓ１０６の「ＮＯ」）、
Ａｎ＝Ｓ
を生成する（Ｓ１１０）。
【００２４】
ステップＳ１０６において、書込みが最高線密度である場合には（Ｓ１０６の「ＹＥＳ」）、次ラインデータ要求信号検出手段２３２が次ラインデータ要求信号ＮＬを検出したか否かをチェックする（Ｓ１０７）。
次ラインデータ要求信号検出手段２３２が次ラインデータ要求信号ＮＬを検出しないときは（Ｓ１０７の「ＮＯ」）、次転送アドレス出力ＯＵＴ（Ａｎ）として、
Ａｎ＝Ｓ−ｎ
を生成し（Ｓ１１１）、次ラインデータ要求信号ＮＬを検出したときは（Ｓ１０７の「ＹＥＳ」）、
Ａｎ＝Ｓ−２ｎ
を生成する（Ｓ１１２）。
【００２５】
上述した、ステップＳ１０６における「書込みは最高線密度か？」のチェックでは、書込み制御部４が書込み可能な最高の線密度か否かを判定している。
【００２６】
たとえば、書込み制御部４が最高線密度６００ｄｐｉでの書込みが可能な場合には、６００ｄｐｉが最高線密度であり、この線密度未満、たとえば４００ｄｐｉ，３００ｄｐｉ等は最高線密度ではない。
【００２７】
0004100543.tif 000002
【００２８】
書込みが最高線密でないときは、たとえば、書込み最高線密度６００ｄｐｉに対して、３００ｄｐｉの画像を形成する場合には、書込み制御部４は常に６００ｄｐｉ分のデータを必要とするが、メモリ３には３００ｄｐｉ分のデータしかないので、同じラインデータを２回ずつ使用する。このため、書込み制御部４は、２ラインに１度、次ラインデータ要求信号をアクティブにして、新しいラインデータを要求する。なお、書込み制御部４にラインバッファがある場合には、転送を半分に減らすこともできる。
【００２９】
最高線密度のときは、書込み最高線密度６００ｄｐｉに対して、６００ｄｐｉの画像を形成する場合には、メモリ３内の６００ｄｐｉ分のデータを書込み制御部４に転送する。書込み制御部４が、次ラインデータ要求信号をアクティブにしているときには、メモリ３の１ライン分のデータを転送せずに飛ばして、新しいデータを要求する。すなわち、間引き処理を行うことになる。
【００３０】
次に、ステップＳ１０９〜Ｓ１１２で生成したＡｎが下限アドレスＡｌｏｗを下回っているか否かをチェックし（Ｓ１１３）、下回っていないときは（Ｓ１１３の「ＮＯ」）、次転送アドレス出力ＯＵＴはＡｎとなる（Ｓ１１４）。次転送アドレス出力ＯＵＴは、次サイクルのため保持され（Ｓ１１７）、転送終了か否かのチェックが行われ（Ｓ１１８）、転送終了であれば（Ｓ１１８の「ＹＥＳ」）処理を終了し、転送終了でないときには（Ｓ１１８の「ＮＯ」）、ステップＳ１０３に処理を戻す。
【００３１】
一方、生成したＡｎの値が下限アドレスＡｌｏｗを下回っているときは（Ｓ１１３の「ＹＥＳ」）、次転送ＤＭＡアドレスＡｒは、
Ａｒ＝Ａｎ＋（Ａｕｐ−Ａｌｏｗ）＋ｑ
となり（Ｓ１１５）、次転送アドレス出力ＯＵＴはＡｒとなる（Ｓ１１６）。本実施形態では、後述するように、ｑ＝２である。
【００３２】
次転送アドレス出力ＯＵＴは、次サイクルのため保持され（Ｓ１１７）、次いで転送終了か否かのチェックが行われ（Ｓ１１８）、転送終了であれば（Ｓ１１８の「ＹＥＳ」）処理を終了し、転送終了でないときには（Ｓ１１８の「ＮＯ」）、ステップＳ１０３に処理を戻す。
【００３３】
図４は、転送画データのイメージ図である。画データが、上限メモリアドレス指定手段（バッファの上限アドレス、たとえば、１ＦＦＥｈ）、下限メモリアドレス指定手段（バッファの下限アドレス、たとえば、１０００ｈ）で指定された範囲のエリアにあるとする。図４において、最長ラインバイト数は、転送可能な最大ライン幅であり、画データ幅はこれ以下となる。
【００３４】
ライン最終データＬＬは、転送する画データをライン単位で見たときの最終データである。図４では、転送画データが中央に寄っているが、右寄せでも、左寄せでも転送開始アドレスが変るのみである。
【００３５】
図５は、アドレス生成の説明図であり、画データが上限アドレスと下限アドレスとの間にまたがっている。“Ａ”〜“Ｆ”は、画データのライン先頭アドレスである。
【００３６】
ＤＭＡ転送開始先頭アドレスが“Ａ”であるとき、ライン先頭アドレス保持手段２２１の初期値は“Ａ”となり、以後“Ｂ”，“Ｃ”，“Ｄ”，・・・の順に更新される。“Ａ”からＤＭＡ転送が開始し、以後−ｍ（ここでは、ｍ＝２ｈ）バイトずつアドレスを減算していく。転送画データがライン最終データＬＬであるときには、ＤＭＡ転送先頭アドレスＡｎを、Ａｎ＝“Ａ”−ｍ、すなわち、Ｂ＝１０１４ｈ−００１０ｈ＝１００４ｈとして生成する。以後同様にアドレスの生成を行い、その都度、生成したアドレスＡｎと下限アドレスＡｌｏｗを比較する。
【００３７】
Ａｎ＜Ａｌｏｗとなったときの動作を以下に説明する。上述したように、Ａｕｐ＝１ＦＦＥｈ、Ａｌｏｗ＝１０００ｈ、ｑ＝０００２ｈである。いま、ＤＭＡ転送先頭アドレスＡｎ＝０ＦＦ８ｈであるとする。
Ａｎ＜Ａｌｏｗであるので、次転送ＤＭＡアドレスＡｒは、
0004100543.tif 000003
となる。
【００３８】
本実施形態では、メモリの、１０００ｈ〜１ＦＦＥｈ、２０００ｈ〜２ＦＦＥｈ、・・・のアドレスに画データが格納される。
【００３９】
上記の説明からわかるように、ライン先頭アドレスが“Ｂ”のラインにおけるライン最終データアドレスの次のアドレス、すなわちライン先頭アドレス“Ｃ”は１ＦＦ４ｈとなる。
【００４０】
以上のように、本発明では、書込み線密度に応じてラインの間引き処理（次転送アドレス出力ＯＵＴ＝ライン先頭アドレス保持手段の値−ｎ）、または水増し処理（次転送アドレス出力ＯＵＴ＝ライン先頭アドレス保持手段の値）を行うことができる。
【００４１】
【発明の効果】
書込み線密度に応じてラインの間引き処理、または水増し処理を行うことができる。また、画データのスタート位置や、メモリ内の画像配置によらず、天地を反転した出力画像を非回転時と同じ処理時間で得ることができる。さらに、画データメモリにおいて、画データエリアの上限、下限アドレスをアドレス生成部によるハードウェア管理とすることで、画データエリアをリングバッファのように使用することができる。これにより、ソフトウェアの管理負担を軽減することができる。
【図面の簡単な説明】
【図１】本発明の画像処理装置の部分ブロック図である。
【図２】図１の画像処理装置動作を示すフローチャートである。
【図３】図１の画像処理装置動作を示すフローチャートである。
【図４】転送画データのイメージ図である。
【図５】アドレス生成を表す図である。
【符号の説明】
１  演算処理部
２  ＤＭＡコントローラ
３  メモリ
４  書込み制御部
５  アドレス・データバス
２１  アドレス・最長ラインバイト数指定手段
２２  アドレス生成手段
２３  検出手段
２４  タイミング生成部
２５  ＤＭＡ優先順位決定手段
１００  画像処理装置
２１１  アドレス指定手段
２１２  最長ラインバイト数指定手段
２２１  ライン先頭アドレス保持手段
２３１  ライン最終データ信号検出手段
２３２  次ラインデータ要求信号検出手段
２３１  ライン最終データ信号検出手段
２３２  次ラインデータ要求信号検出手段
２１１１  転送開始アドレス指定手段
２１１２  上限メモリアドレス指定手段
２１１３  下限メモリアドレス指定手段
Ａｓｔｒｔ  ＤＭＡ転送開始先頭アドレス
Ａｔｏｐ  ライン先頭アドレス
Ａｎ  ＤＭＡ転送先頭アドレス
Ａｕｐ  メモリアドレスの上限値
Ａｌｏｗ  メモリアドレスの下限値
ｄｍａＲＥＱ  ＤＭＡ転送要求
ＬＬ  ライン最終データ信号
ＮＬ  次ラインデータ要求信号
Ｓｔｒｂ  ストローブ信号
ＯＵＴ  次転送アドレス出力
【図１】
0004100543.tif 000004
【図２】
0004100543.tif 000005
【図３】
0004100543.tif 000006
【図４】
0004100543.tif 000007
【図５】
0004100543.tif 000008