JP4491027B2 - 画像形成装置、画像処理方法、プログラム及び記憶媒体 - Google Patents

画像形成装置、画像処理方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP4491027B2
JP4491027B2 JP2008206989A JP2008206989A JP4491027B2 JP 4491027 B2 JP4491027 B2 JP 4491027B2 JP 2008206989 A JP2008206989 A JP 2008206989A JP 2008206989 A JP2008206989 A JP 2008206989A JP 4491027 B2 JP4491027 B2 JP 4491027B2
Authority
JP
Japan
Prior art keywords
address
image
scanning direction
reading
shift
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008206989A
Other languages
English (en)
Other versions
JP2009135887A (ja
Inventor
睦 難波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008206989A priority Critical patent/JP4491027B2/ja
Priority to US12/250,184 priority patent/US8149475B2/en
Publication of JP2009135887A publication Critical patent/JP2009135887A/ja
Application granted granted Critical
Publication of JP4491027B2 publication Critical patent/JP4491027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、書込制御装置による書込制御の対象となる画像データを処理する画像形成装置、画像処理方法プログラム及び記憶媒体の技術に関する。
感光体上にレーザビーム等の光ビーム等を走査させて書き込むことにより画像を形成する画像形成装置においては、感光体の走行軸と書き込みの光軸が直角にならず、形成される画像が斜めになったり、光軸の歪みにより画像が歪んだりする場合がある。
このような書き込みの特性を補正するために、例えば特許文献1に記載された「画像形成装置」のように、モータにより物理的に光軸をずらす方法があるが、モータのコストがかかる。そこで、より安価に補正を行う技術としては、例えば特許文献2に記載された「画像形成装置」がある。この特許文献2に記載された技術では、複数ライン分のラインバッファを備え、画像処理により書き込み前に、複数のラインバッファから画像データを読み込む際に、副走査方向にシフトすることで、画像の歪みを補正している。
特開平3−142412号公報 特開2007−88928号公報
しかしながら、この手法では、補正量がラインバッファのライン数に限定され、且つ装置の内蔵バッファ(内蔵メモリ)は高価であり、ライン数が設計時に決定されるため、動的に増減させることができないという問題がある。
本発明は、上記の問題点に鑑みてなされたものであり、書き込み画像のスキュー補正を低コストで確実に行える画像形成装置、画像処理方法プログラム及び記憶媒体を提供することを目的とする。
この発明による画像形成装置は、像を光学的に読み込んだ画像データに含まれる各画素を、読み込んだ位置に応じて記憶する記憶手段と、前記記憶手段に記憶された前記画像データのスキューの角度に応じた、光学的に読み込んだ主走査方向と直交する副走査方向の一方向又はその逆方向に対応する前記記憶手段上のシフト方向と、前記主走査方向における読み出し開始位置又はシフト後の位置から、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶する設定記憶手段と、前記記憶手段に記憶された各画素が格納されたアドレスを指定する際、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、前記シフト方向にアドレスを一定量シフトするシフト手段と、前記記憶手段に記憶された前記画像データの、読み出す対象となる各画素が格納されたアドレスを指定し、前記シフト手段により前記アドレスをシフトした場合に、前記画像データの階調数に応じて、前記主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定するアドレス指定手段と、前記アドレス指定手段により指定されたアドレスから、前記主走査方向に従って、当該主走査方向のライン上で、前記設定記憶手段に記憶された前記画素の数の画素のデータの読み込み要求を行う読込手段と、光ビームによる画像の書き込み制御を行う書込制御手段に出力する画像データを記憶する出力記憶手段に対して、前記読込手段により読み込まれた画素のデータを、書き込む書込手段と、を備えることを特徴とする。
この発明による画像処理方法は、形成装置で実行される画像処理方法において、前記画像形成装置は、画像を光学的に読み込んだ画像データに含まれる各画素を、読み込んだ位置に応じて記憶する記憶手段と、前記記憶手段に記憶された前記画像データのスキューの角度に応じた、光学的に読み込んだ主走査方向と直交する副走査方向の一方向又はその逆方向に対応する前記記憶手段上のシフト方向と、前記主走査方向における読み出し開始位置又はシフト後の位置から、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶する設定記憶手段と、を備え、シフト手段が、前記記憶手段に記憶された各画素が格納されたアドレスを指定する際、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、前記シフト方向にアドレスを一定量シフトするシフトステップと、アドレス指定手段が、前記記憶手段に記憶された前記画像データの、読み出す対象となる各画素が格納されたアドレスを指定し、前記シフト手段により前記アドレスをシフトした場合に、前記画像データの階調数に応じて、前記主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定するアドレス指定ステップと、読込手段が、前記アドレス指定ステップにより指定されたアドレスから、前記主走査方向に従って、当該主走査方向のライン上で、前記設定記憶手段に記憶された前記画素の数の画素のデータの読み込み要求を行う読込ステップと、書込手段が、光ビームによる画像の書き込み制御を行う書込制御手段に出力する画像データを記憶する出力記憶手段に対して、前記読込手段により読み込まれた画素のデータを、書き込む書込ステップと、を有することを特徴とする。
この発明による画像処理プログラムは、ンピュータで実行される画像処理プログラムにおいて、前記コンピュータは、画像を光学的に読み込んだ画像データに含まれる各画素を、読み込んだ位置に応じて記憶する記憶手段と、前記記憶手段に記憶された前記画像データのスキューの角度に応じた、光学的に読み込んだ主走査方向と直交する副走査方向の一方向又はその逆方向に対応する前記記憶手段上のシフト方向と、前記主走査方向における読み出し開始位置又はシフト後の位置から、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶する設定記憶手段と、を備え、前記記憶手段に記憶された各画素が格納されたアドレスを指定する際、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、前記シフト方向にアドレスを一定量シフトするシフトステップと、前記記憶手段に記憶された前記画像データの、読み出す対象となる各画素が格納されたアドレスを指定し、前記シフト手段により前記アドレスをシフトした場合に、前記画像データの階調数に応じて、前記主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定するアドレス指定ステップと、前記アドレス指定ステップにより指定されたアドレスから、前記主走査方向に従って、当該主走査方向のライン上で、前記設定記憶手段に記憶された前記画素の数の画素のデータの読み込み要求を行う読込ステップと、光ビームによる画像の書き込み制御を行う書込制御手段に出力する画像データを記憶する出力記憶手段に対して、前記読込手段により読み込まれた画素のデータを、書き込む書込ステップと、をコンピュータに実行させる。
この発明による記憶したコンピュータ読み取り可能な記憶媒体は、上記の画像処理プログラムを記憶したことを特徴とする。
この発明によれば、画像データ読み込み時の記憶装置上のアドレスを指定する際に、前記アドレス指定手段が指定するアドレスを、前記主走査方向と直交する副走査方向、又は副走査方向と逆方向に一定量シフトさせることで、副走査方向のズレ補正用の高価な内蔵メモリが不要であり、且つ内蔵メモリのサイズに制約を受けることなく、書き込み画像のスキュー補正(副走査方向のズレ補正)を行うことができる。つまり、書き込み画像のスキュー補正を低コストで確実に行うことができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔画像形成装置の基本構成〕
まず、本発明の一実施形態である画像形成装置の基本構成について、図1を参照して説明する。なお、本発明の画像形成装置は、書込制御装置及び光書込装置を搭載した電子写真方式のレーザプリンタ、デジタル複写機、ファクシミリ装置、MFP(デジタル複合機)等の様々な機器に適用できる。
図1は、その画像形成装置の基本構成例を示すブロック図である。
この画像形成装置は、MFPであり、エンジン部1とコントローラ部2(画像処理装置)とを備えている。なお、MFPの代わりに、レーザプリンタ,デジタル複写機,又はファクシミリ装置等の他の画像形成装置を用いてもよい。
エンジン部1は、スキャナ101,プロッタ102,読み取り制御部103,書き込み制御部104,およびエンジン制御CPU105等によって構成されている。
スキャナ101は、原稿の画像を読み取る画像読取手段である。
プロッタ102は、コントローラ部2のメモリ115に展開された画像データをASIC112および書き込み制御部104を介して受け取り、可視画像として用紙(他の記録媒体でもよい)上に印刷する画像形成手段である。
このプロッタ102は、CMYKの4色版のレーザビームを出力できる光書込装置を搭載しており、CMYKカラープリントの場合には、各色1ビームでポリゴンミラーよる1回の走査により1ラインの画像書き込みを行うことができる。なお、このレーザビームによる画像の書き込みは、周知であるため、詳細は省略する。また、「CMYK」のCはシアン、Mはマゼンタ、Yはイエロー、Kはブラックをそれぞれ示す。
読み取り制御部103は、スキャナ101による原稿画像の読み取りを制御するものである。
書き込み制御部104は、複数のレーザ光源であるレーザダイオードからの複数のレーザビームによる画像の書き込みを行う光書込装置を制御する書き込み制御手段(書込制御装置)である。
エンジン制御CPU105は、図示しないROM内のプログラムに従って動作することにより、エンジン部1の各部を統括的に制御するものである。
コントローラ部2は、コントローラ制御CPU111,ASIC112,操作部113,HDD114,メモリ115,およびネットワークインタフェース(以下「インタフェース」を「I/F」ともいう)116等によって構成されている。なお、操作部113は実際にはコントローラ部2の外側に配置されている。
コントローラ制御CPU111は、図示しないROM内の固定プログラムおよびメモリ115上に展開したプログラムに従って動作することにより、コントローラ部2の各部を統括的に制御するものである。
ASIC112は、多機能デバイスボードであり、コントローラ制御CPU111の制御対象となるデバイスの共有化を図り、アーキテクチャの面からアプリケーションプログラム等の開発の高効率化を支援するものである。
操作部113は、画像形成装置により提供される画像処理機能の選択に基づくエンジン部1に対する動作指示等のデータを入力するための各種の操作キー(操作スイッチ又は操作ボタンともいう)およびLCD又はCRT等の表示器を有するものである。
HDD114は、大量のデータを記憶保持する不揮発性の記憶手段(記憶装置)であり、OS(オペレーティングシステム)を含むプログラムや、後述する各DMAコントローラのレジスタブロックに設定するパラメータの値の一部(固定値)の他、画像データ(デジタル画像信号)等の各種データを蓄積することができる。なお、このHDD114に、メモリ115内のデータを蓄積しておくこともできる。
メモリ115は、各種プログラムを記憶するプログラムメモリや、コントローラ制御CPU111がデータ処理を行う際に使用するワークメモリ、後述する補正パラメータを一時的に蓄積するパラメータメモリ、および画像データを展開する画像メモリ等として使用するRAM等の記憶手段である。メモリ115は、画像を光学的に読み込んだ位置に応じて各画素のデータ(色情報等)を記憶する。具体的には、メモリ115は、後述するメモリコントローラ213が、画像データについて、光学的な読み込みが行われた主走査方向、及び副走査方向を特定し、特定した方向にシフトして各画素のデータを読み込み可能に記憶する。なお、このような記憶手法については、周知の手法を問わず、あらゆる手法を用いて良い。
ネットワークI/F116は、図示しないネットワークを介して外部装置と通信を行うためのものである。
ここで、プリント(画像形成)対象となる画像データは、スキャナ101からの読み取りデータ(RGBの画像データ)、ネットワークI/F116からの入力データ、HDD104の蓄積データと様々であるが、プリント動作を行う場合、カラーの場合にはCMYKの各色版の画像データに、モノクロの場合はグレイスケールの画像データにそれぞれ予め変換し、メモリ109に展開する。
このように構成された画像形成装置において、コントローラ部2のコントローラ制御CPU111は、電源投入時に、ROM内のブートプログラムに従い、HDD114内のOS(オペレーションシステム),アプリケーションソフトウェアを含む各種プログラムを読み出してメモリ115に展開した後、その各種プログラムに従って動作し(各種プログラムを必要に応じて選択的に実行し)、装置を制御することにより、この発明に関する設定手段としての機能を含む各種機能を実現することができる。
〔ASICの内部構成〕
次に、図1のASIC112の内部構成について、図2を参照して説明する。
図2は、図1のASIC112の内部構成およびその周辺デバイスとの接続関係の一例を示すブロック図である。
このASIC112は、各色版別のDMA(Direct Memory Access)コントローラ201〜204,フィルタ205〜208,出力バッファ209〜212と、メモリコントローラ213と、CPUインタフェース214と、それらを相互に接続するレジスタバス215と、速度変換バッファ216とによって構成されている。
DMAコントローラ201〜204は、メモリコントローラ213経由でメモリ115に対してリードアドレスを発行することにより、メモリ115内の各色版の画像データをそれぞれ読み込んで後段のフィルタ205〜208へ転送する。これを、DMA転送という。
メモリコントローラ213は、DMAコントローラ201〜204およびエンジン制御CPU105からの要求に対する調停(アービトレーション)を行い、メモリ115へアクセスして画像データの入出力を行う調停回路である。
ここで、図1のコントローラ制御CPU111が、CMYKカラープリント時には、ASIC112のDMAコントローラ201〜204とメモリコントローラ213とによってCMYKそれぞれの画像データを、グレイスケール(モノクロ)プリント時には、DMAコントローラ201〜204のいずれかとメモリコントローラ213とによってグレイスケール画像データをそれぞれメモリ115から読み込ませることができる。以下の説明は、CMYKカラープリントを行う場合に対応するものである。
フィルタ205〜208は、DMAコントローラ201〜204からの画像データに対してエッジ検出とその平滑化の処理であるフィルタ処理を行い、そのフィルタ処理を行った画像データを後段の速度変換バッファ216へ出力する。
速度変換バッファ216は、レーザビームによる画像書き込みの速度(以下「書き込み速度」ともいう)とメモリ115へのアクセスの速度(以下「メモリアクセス速度」ともいう)の速度差を吸収するために、フィルタ209〜212からの画像データを一時的に保存し、所定のタイミングで後段の出力バッファ209〜212へ出力する。
出力バッファ209〜212は、速度変換バッファ216からの画像データをエンジン部1の書き込み制御部104(図1)へ出力する。
それによって、その書き込み制御部104が、プロッタ102内の光書込装置の各レーザダイオードを画像データに応じて変調駆動することにより、対応するレーザビームを出力させ、そのレーザビームをポリゴンミラーによって走査して書き込み処理を行わせる。
なお、この実施形態におけるASIC112では、CPUインタフェース214およびレジスタバス215を備えているため、コントローラ制御CPU111がDMAコントローラ201〜204内のレジスタにアクセスすることができる。
メモリコントローラ213は、バースト境界アドレスおよびバーストアクセス長(以下単に「バースト長」ともいう)の指定情報をDMAコントローラ201〜204より受け取り、バースト境界アドレスから始まる画像データを返す。バースト境界アドレスは、通常バイト単位よりも大きく、例えば32bitバス(4バイト)の16バーストの場合は64バイト(512bit)単位に配置されるアドレスとなる。
バースト境界アドレスとは、メモリ115上のアドレスであって、メモリコントローラ213により、読み込み開始の起点となり得るアドレスをいう。つまり、メモリ115上のどのアドレスから読み込みが可能というわけではなく、バースト境界アドレスからに限り、読み込みが可能となる。また、バースト境界アドレスは、所定のデータ長毎(例えば512bit単位に)に配置されており、ある種メモリの境界となり得るアドレスとなる。
また、バースト境界からデータを読み込む場合に、要求に応じて好きな長さのデータを読み込めるわけではない。読み込みは、予め定められているデータ長単位で可能となる。本実施の形態では、この予め定められているデータ長を、バーストアクセス長(バースト長)とする。つまり、バースト境界アドレスから、バースト長×Nのデータ長だけ読み込み可能となる。
図3に示すように、本実施の形態ではバースト境界を512bit単位とする。つまり、8bit単位のアドレッシングの場合、アドレス下位6bitが‘0’のときがバースト境界となる(アドレス0番地の次はアドレス64番地(0x40)がバースト境界)。
また、バースト長としてアクセス要求を発行できるデータ単位を、32bitとする。(アドレスの下位2bitは0固定)。また、読み込みが可能なのは次のバースト境界アドレスまでとする。つまり、バースト境界アドレスから、次のバースト境界アドレスまで、最大16バーストの連続アクセスが可能となる。
これにより、図4に示すように、画像の読み込み開始アドレスの下位6bitが0の場合、バースト境界から読み込み開始となり、最大16バースト(512bit)アクセスが可能となる。
さらに、図5に示すように、画像の読み込み開始アドレスの下位6bitが0x3cの場合、16バースト目から読み込み開始となり、次のバースト境界までにアクセスできるのは1バースト(32bit)のみとなる。なお、バースト境界アドレスからしか読み込み開始できないため、1〜15バーストのデータは、例えばダミーデータ等を埋め込んでおき、後にダミーデータの部分をマスクして、16バースト目からのデータを取得する。
そして、本実施の形態のASIC112においては、後述するDMAコントローラ201〜204を備えることで、メモリ115に記憶された画像データを、スキャナ101が光学的に読み込む際に、感光体の軸のずれ等の物理的なずれによって生じるスキューの補正を可能とする。当該補正は、従来、メンテナンス作業者が行っていたが、DMAコントローラ201〜204による構成及び処理で可能とした。
〔DMACの内部構成〕
次に、図5のDMAコントローラ201〜204の内部構成について、図6を参照して説明する。図6は、図5のDMAコントローラ201〜204の内部構成例を示すブロック図である。
このDMAコントローラ201〜204はそれぞれ、レジスタブロック301,リクエスト生成制御部302,データ受信部303,およびラインバッファ304等によって構成されている。
レジスタブロック301は、レジスタバス215からアクセスされるレジスタ群によって構成されている。
リクエスト生成制御部302は、アドレス指定部311と、読込要求部312と、シフト部313と、生成部314と、を備え、メモリアクセスリクエストを生成し、それをメモリコントローラ213に対して発行する。
アドレス指定部311は、メモリコントローラ212による制御に基づき、メモリ115上のアドレスを指定する。具体的には、アドレス指定部311は、バースト境界アドレスと、バースト長に基づく読み込みを行うデータ長と、を計算し、それらをメモリコントローラ213に対して読み込みの開始となるアドレスを指定する。
読込要求部312は、アドレス指定部311により指定されたアドレスから、アドレス指定部311により算出されたデータ長の読込要求を行うメモリアクセスリクエストを生成し、それをメモリコントローラ213に対して出力する。このバースト境界アドレスから算出されたデータ長の読込要求に従って、メモリコントローラ213が、主走査方向について、直進画素数の画素を含むデータの読み込み制御を行う。なお、直進画素数とは、当該主走査方向のライン上で、書き込みの際に同一ラインとなる画素数を示す。
シフト部313は、読込要求部312によるメモリアクセスリクエストが発行された後、直進画素数やバースト境界アドレス等に基づいて、次に読み込みを行うためのバースト境界アドレス及びデータ長を算出し、アドレス指定部311が指定するアドレスを、前記主走査方向と直交する副走査方向の一方向、又はその逆方向に一定量シフトさせる。なお、詳細な処理手順については、後述する。
生成部314は、バースト境界アドレス、及び読み込み処理の終了アドレス(リクエストしようとしたアドレス)が画像領域外(非画像領域)であった場合に、画像データを補完するダミーデータ(例えば白データ)を生成し、それをリードデータの替わりにデータ受信部303へ入力する。
データ受信部303は、論理和回路401とラインバッファ書き込み制御部402とを備えている。
論理和回路401は、リクエスト生成制御部302からのダミーデータおよびメモリコントローラ213からのリードデータ(画像データ)をそれぞれラインバッファ書き込み制御部402へ入力する。
ラインバッファ書き込み制御部402は、論理和回路401からのデータを受け取り、ラインバッファ304に書き込む。つまり、ラインバッファ書き込み制御部402は、読込要求部312が発行したメモリアクセスリクエストに従って読み込まれた、所定の数の画素のデータを、ラインバッファ304に書き込むことになる。
また、リクエスト生成制御部302で発生したメモリアクセスリクエスト生成の毎回の画素数をリクエスト生成制御部302から受け取る。
ラインバッファ304は、フィルタ処理に必要なライン数分のデータを保持し、それを後段のフィルタに対して渡す。つまり、ラインバッファ304は、フィルタより後に備えられている書込制御部104に出力するための、ライン数分の画像データを記憶する。
〔DMAコントローラのレジスタ値のメモリマップ〕
次に、図6のDMAコントローラ201〜204のレジスタブロック301をそれぞれ構成するレジスタ群に設定するパラメータについて、図7〜図15を参照して説明する。
図7は、図1のメモリ115(パラメータメモリ)に蓄積されているDMAコントローラ201〜204のレジスタ群に設定するパラメータの一例を示すメモリマップ図である。
図7〜図15は、そのレジスタ群に設定する各パラメータの一例を示す図である。
この実施形態では、DMAコントローラ201〜204(DMACの各チャネル)毎の後述するレジスタ群に設定するパラメータを図7の(a)に示すようにメモリ115に蓄積している。
そのレジスタ群に設定するパラメータとしては、図7の(b)に示す開始アドレスレジスタ,主走査バイト長レジスタ,ライン数レジスタ,モードレジスタ,起動レジスタにそれぞれ設定するパラメータ、および同図の(c)に示す補正領域(画像のスキュー補正を行う領域)毎の直進画素数レジスタ,補正方向レジスタ,補正繰り返し数レジスタにそれぞれ設定するパラメータがある。
開始アドレスレジスタには、図8に示すようなDMAの先頭(開始)アドレスを設定できる。
主走査バイト長レジスタには、図9に示すような主走査方向のバイト長を設定できる。
ライン数レジスタは、図10に示すようなライン数を設定できる。
モードレジスタには、図11に示すような画素(画像データ)の階調数を設定できる。その設定値が「0」で1bit、「1」で2bit、「2」で4bit、「3」で8bitとする。このモードレジスタには、画像の180度回転を指示するためのビット(ROT_180)も設定できる。
起動レジスタには、図12に示すようなDMAコントローラを起動させるためのパラメータ「1」を設定できる。起動レジスタに対して「1」が設定されると、DMAコントローラが起動し、リクエスト生成制御部302が動作を開始する。
直進画素数レジスタ,補正方向レジスタ,補正繰り返し数レジスタは、画像スキュー補正を行う補正領域の数の分だけ用意され、その各補正領域に対してそれぞれ備えられている。そして、これら3つのレジスタにそれぞれ設定される図13〜図15に示すような直進画素数,補正方向,補正繰り返し数の各補正パラメータは、この画像形成装置の出荷時にHDD114(又は図示しないROM)に固定データとして記憶保持され、電源投入時にメモリ115にコピーされるようになっている。
図16は、これらの補正パラメータによる補正アクセスを説明するための図である。
DMAコントローラ201〜204はそれぞれ、メモリ115に対し、直進画素数レジスタに設定された直進画素数の値(設定値)の分だけ主走査方向にまっすぐアクセスして画像データを読み込み、その後補正方向レジスタで決められた副走査方向に1画素分だけ上(副走査方向の一方向)もしくは下(その逆方向)へ移動してアクセスし、画像データを読み込む。この補正アクセスの動作は、補正繰り返し数レジスタに設定された補正繰り返し数の値(設定値)の分だけ繰り返し行う。直進画素数レジスタの設定値が「0」もしくは補正繰り返し数レジスタの設定値が「0」の場合には、補正領域が定義されていないとして無視する。
補正アクセスの動作を行う場合、N個の補正領域に対して補正領域0〜補正領域N−1番を設置して、対応する各レジスタへの設定を行う。
そして、補正領域毎に異なる補正を行うこととする。つまり、画像データの主走査方向でずれの角度が異なる領域毎に補正領域が設定されていることになる。例えば、画像データ全体で全くずれていない場合には補正領域の数が‘0’となり、画像データ全体で同じ角度でずれているには補正領域の数が‘1’となる。
また、仮想的に補正領域N番を設けて、このときの補正繰り返し数を「1」、直進画素数を無限大の設定とする。もし、画像データの主走査長に対して補正領域設定の直進画素数が満たない場合は、この仮想的な補正領域N番の設定に従う。つまり、通常のDMA転送と同様、補正無しの直線的なメモリアクセスになる。
図17は、画像のスキューの様子と補正アクセスのイメージの異なる例を示す図である。図17の(a)に示す理想的な画像に対し、同図の(b)に示す左下にずれる画像の場合には、DMAコントローラ201〜204はそれぞれ同図の(c)に示すように予め左下方向にメモリアクセス(読み出しアドレス)をずらしてゆき、ズレを相殺することにより、その補正アクセスによる仮想的な画像が同図の(d)に示すようになり、プロッタ102から最終的に出力される画像(補正結果画像)は同図の(e)に示すように理想的な画像となる。
図17の(f)に示す右下にズレる画像の場合には、DMAコントローラ201〜204はそれぞれ同図の(g)に示すように予め右下方向にメモリアクセスをずらしてゆき、ズレを相殺することにより、その補正アクセスによる仮想的な画像が同図の(h)に示すようになり、プロッタ102から最終的に出力される画像は同図の(e)に示すように理想的な画像となる。
これら(b)及び(f)の場合には、ずれる角度が一定であることから、画面全体で補正領域の数が‘1’となる。
また、各補正領域の直進画素数を自由に設定できるため、補正方向の設定と組み合わせると、傾きが線形でないアーチ状にずれている形式に対しても補正が可能となる(図17の(i)〜(n)参照)。この(i)及び(l)の場合には、傾きの角度毎に補正領域を設定し、補正領域毎に上述した処理を行うことで、適切な補正を行うことができる。
図18は、図6のリクエスト生成制御部302の動作例を示すフローチャートである。
図19は、図18のステップS8のメモリアクセスリクエスト発行処理のサブルーチンの一例を示すフローチャートである。
本実施の形態にかかる画像形成装置においては、レジスタブロック301内の起動レジスタに「1」が設定されると、図18に示す動作を開始する。まず、リクエスト生成制御部302のシフト部313は、開始アドレスシフト量X1を計算する(ステップS1)。
ここで、この開始アドレスシフト量X1について、図20〜図22を参照して具体的に説明する。
図20及び図21は、図7の開始アドレスレジスタに設定される開始アドレス(以下「画像開始アドレス」ともいう)と、実際にアクセスが開始されるアドレス(以下「補正開始アドレス」ともいう)との位置関係を示す図である。図20は傾きが線形の場合であり、図21は傾きがアーチ型の場合とする。
DMAコントローラ201〜204が、例えば図20に示すように右下方向にアドレスをずらしながら画像データを読み込む場合、開始アドレスレジスタに設定された画像開始アドレスA1よりも上方からアクセスが始める必要がある。このため、シフト部313は、この実際にアクセスを開始する補正開始アドレスA21までのシフト量である開始アドレスシフト量X11を計算する。また、図21に示す例においても、シフト部313が、この実際にアクセスを開始する補正開始アドレスA22までのシフト量である開始アドレスシフト量X12を計算する。
図22は、図7の開始アドレスレジスタに設定される画像開始アドレスと補正開始アドレスとの間の副走査方向長の算出方法を説明するための図である。
例えば、図22に示すように、補正開始アドレスA23を含む先頭ラインの補正アクセスの下側ピーク位置Cはメモリ115上の画像データの先頭ラインに必ず接する。このため、シフト部313が、補正開始アドレスA23から補正アクセスの下側ピーク位置Cまでの副走査方向長(補正量)を算出することで開始アドレスシフト量X13を計算することができる。その計算式は、数1の(1)に示す通りである。
Figure 0004491027
ここで、Mは、先頭の補正領域0から先頭ラインの補正アクセスの下側ピーク位置Cにある補正領域(M−1)までの領域数を示す。但し、画像データの主走査が収まる領域数Nとの関係は、M<Nとなる。
補正領域n(n=0,1,・・・,M−1)の補正量は、上方向の場合には−補正領域nの補正繰り返し数、下方向の場合には補正領域nの補正繰り返し数となる。
よって、例えば補正領域nを補正領域0〜補正領域4(M−1)までの5(M)個、その各補正領域nの補正量をいずれも「10」と仮定した場合には、開始アドレスシフト量X1は「主走査バイト数×50」となる。また、主走査バイト数は、数2の(2)に示す計算式によって計算することができる。
Figure 0004491027
リクエスト生成制御部302のシフト部313は、上述したようにして開始アドレスシフト量(例えば、X11、X12又はX13)を計算した後、図18のステップS2以降の処理を行う。
ステップS2〜S18は、画像の先頭ラインから最終ラインまでの全ライン数分の処理を行うためのループである。
アドレス指定部311は、アクセスアドレスをライン先頭にセットする(ステップS3)。最初は先頭ラインなので、アドレス指定部311は、ステップS1で計算された開始アドレスシフト量X1に基づいて先頭ラインの先頭アドレス(補正開始アドレス)を計算し、それをアクセスアドレスとする。次のラインに移行した場合、アドレス指定部311は、直前ラインの先頭アドレスに基づいて次のラインの先頭アドレスを計算し、それをアクセスアドレスとする。
次に、アドレス指定部311は、主走査カウンタ値を「0」にする(ステップS4)。主走査カウンタ値とは、主走査方向に配置された画素をカウントする値とする。
ステップS5〜S16は、先頭の補正領域0から最終の補正領域Nまでの全補正領域数分の処理を行うためのループとする。
ステップS6〜S15は、補正繰り返し数分の処理を行うためのループとする。なお、補正領域Nは無補正とするため、補正繰り返し数は「1」としている。また、補正繰り返し数が「0」の場合は次の補正領域にスキップするため、このループを終了する。
ステップS7〜S11は、直進画素数分の処理を行うためのループである。なお、補正領域Nは無補正とするため、直進画素数は無限大としている。また、直進画素数が「0」の場合は、このループを終了する。
そして、読込要求部312が、メモリアクセスリクエスト発行処理を行う(ステップS8)。そこで、メモリアクセスリクエストまでの発行処理を、図19を用いて説明する。
まず、アドレス指定部311は、バースト境界アドレスを計算し(ステップS21)、バースト長を計算した後(ステップS22)、アクセス対象となるアドレスが画像領域内であるか否かを判断する(ステップS23)。
バースト境界アドレスから読み込み処理の最後のアドレスまで順にアクセス対象となるアドレスが存在する。そして、アドレス指定部311は、アクセス対象となるアドレスが、画像開始アドレスより小さいか否か判断する。アドレス指定部311が小さいと判断した場合には、画像領域外と判断する。また、アドレス指定部311は、アクセス対象となるアドレスが、画像終了アドレス(画像開始アドレス+主走査バイト長×ライン数―1)より大きいか否か判断する。アドレス指定部311が大きいと判断した場合には、画像領域外と判断する。そして、これら2つの条件に該当しない場合には、画像領域内と判断する。
そして、アドレス指定部311が、アクセス対象となるアドレスが画像領域内と判断した場合(ステップS23:Yes)、先に計算したバースト境界アドレスおよびバーストアクセス長(バースト長)をメモリコントローラ213に対して指定し、読込要求部312が、メモリ115上で指定されたアドレスへのメモリアクセスを要求する(ステップS24)。それによって、メモリ115から対応するリードデータが読み出され、メモリコントローラ213からデータ受信部303に送られる。そして、ラインバッファ書き込み制御部402が、送られたリードデータを、ラインバッファ304に書き込む。
ここで、例えば図23に示すように、アクセスアドレスA3からの直進バイト数X2分のメモリアクセスは、メモリアクセスの効率向上のため、バースト境界アドレス(A4a)から次のバースト境界アドレス(A4b)までのバーストアクセス(X3)と、バースト境界(A4b)からのバーストアクセス長(X4)によるメモリアクセスに変換する。そして、読込要求部312は、変換されたメモリアクセスに従ってメモリアクセスリクエストを発行する。
このように、ライン毎に、必要な直進バイト数のメモリアクセスが行われるまた、直進バイト数は、数3の(3)に示す計算式によって計算することができる。
Figure 0004491027
しかしながら、バースト境界アドレス(A4a)と画像の開始アドレス(A3)が異なる。このため、アドレス指定部311が、アクセスアドレスA3をライン先頭にセットした後に、1回目のメモリアクセスリクエスト発行処理として、バースト境界アドレスA4aとバーストアクセス長X3とを指定した場合に、バースト境界アドレス(A4a)から画像開始アドレス(A3)までの不要なダミーアクセス部分(X5)が生じる。
また、読み込み可能なバースト長が32bit単位なので、画像終了アドレス(A5)と、バースト長の最後のアドレス(A6)とが異なる場合もある。このため、アドレス指定部311が、2回目のメモリアクセスリクエスト発行処理として、バースト境界アドレスA4bとバーストアクセス長X4とを指定した場合に、画像終了アドレス(A5)から次のバースト境界アドレス(A6)までの不要なダミーアクセス部分(X6)が生じる。
生成部314が、必要に応じてダミーアクセス部分(ダミーリード部分)をマスクするマスクデータを生成し、それをデータ受信部303へ送信する(ステップS25)。
データ受信部303のラインバッファ書き込み制御部402は、ラインバッファ304へのリードデータの書き込み時に、マスクデータを受信すると、そのマスクデータによってダミーアクセス部分をマスクする。
一方、ステップS23において、アドレス指定部311が、上述した2つの条件を共に満たし、アクセス対象となるアドレス全てが画像領域外と判断した場合(ステップS23:No)、ステップS26へ移行する。
ここで、例えば図24の網掛け部分に対するアクセスが画像領域外(非画像領域)であるため、実際にアクセスが発生すると、アクセスサイクル自体がムダになる。
そこで、メモリコントローラ213によるメモリ115へのメモリアクセスを実行せず、生成部314が、ダミーデータを生成し、それをデータ受信部303のラインバッファ書き込み制御部402へ送信する(ステップS26)。それによって、メモリコントローラ213からはリードデータの出力がなく、ラインバッファ書き込み制御部402はラインバッファ304にダミーデータを書き込む。
図18に戻り、リクエスト生成制御部302が、ステップS8でメモリアクセスリクエスト発行処理を行った後は、ステップS9で主走査カウンタ値を更新する(リードデータ分のカウンタ値を加える)。この主走査カウンタ値は、メモリアクセスが行われたデータ(バースト長×Nのデータ)のうち、原則的には、画像データが含まれている画素数で更新する。これにより、主走査カウンタ値には、ライン移動した後、読込対象となるラインにおける画像開始アドレスが設定されていることになる。そして、アドレス指定部311は、主走査カウンタ値(換言すれば画像開始アドレス)に対応するバースト境界及びバースト長を算出し、読込要求部312が、算出されたバースト境界及びバースト長に基づくメモリアクセスリクエストを発行する。
その後、リクエスト生成制御部302が、ステップS10で主走査(1ライン分のレーザ書き込み)が完了したか否かを判断する(ステップS10)。主走査が完了したと判断した場合(ステップS10:Yes)、ステップS17へ移行するが、主走査が完了していないと判断した場合(ステップS10:No)、ステップS11へ移行する。
そして、リクエスト生成制御部302のシフト部313が、現在の補正領域nに対応する補正方向レジスタの設定値が「1」か(補正方向が上方向)否かを判断する(ステップS12)。
そして、シフト部313が、現在の補正領域nに対応する補正方向レジスタの設定値が「1」であると判断した場合、ステップS13でアクセスアドレスを1ライン上に、「0」であればステップS14でアクセス対象となるアドレスを1ライン下にそれぞれ移動させる。次に、ライン移動とライン毎に行われるメモリアクセスとの関係について説明する。なお、本実施の形態では、シフト部313が1ライン毎にシフトすることとしたが、スキューの傾き幅に応じた一定量のラインシフトを行えばよい。
図25に示す例は、画像開始アドレスとバースト境界アドレスとが一致し、直進画素数が12bitであり、補正方向が上方向である場合に、行われるメモリアクセスを示している。斜線領域が取得したい画像データであり、ライン2501a〜nが、実際にメモリアクセスが行われるデータ長である。そして、ライン2501aからライン2501nまで、シフト部313により副走査方向に一ライン毎にシフトしながら、メモリアクセスが行われる。
次に、ライン毎に具体的に説明する。まず、ライン2501a及び2501bは、画像データが含まれている最初のバースト長のみメモリアクセスリクエストがなされ、ライン2501cでは、最初から2個のバースト長のメモリアクセスリクエストがなされる。さらに、ライン2501dでは、2個目のバースト長にしか画像データは含まれていないが、バースト境界アドレスの関係から、最初から2個のバースト長のメモリアクセスリクエストがなされる。そして、ライン2501nでは、画像データは504bitから格納されているが、バースト境界アドレスB1からバースト起点アドレスB2までのメモリに対するメモリアクセスリクエストがなされる。
図18に戻り、ステップS17では、リクエスト生成制御部302が、画像のライン位置を更新する(次のラインに移動する)と共に、データ受信部303のラインバッファ書き込み制御部402に対してラインバッファクリアを指示する。
ラインバッファ書き込み制御部402は、ラインバッファクリアが指示されると、ラインバッファ304内のデータをクリアする。
なお、モードレジスタに画像の180度回転を指示するためのビット(ROT_180)が設定された場合には、画像開始アドレスA1を画像右下のアドレスとする。補正領域の順序は左右逆となり、右端の補正領域を補正領域0として補正処理を行う。主走査の逆順アクセスを行うために、例えば図26に示すように、画像開始アドレスA1からバースト境界アドレスA4を算出し、主走査の順方向へのバーストを逆方向に遡りながらメモリアクセスを行う。リードデータ(応答データ)およびマスクデータは、左右を反転してラインバッファ304に書き込む。また、図18のステップS17でのライン位置更新では、ひとつ上のラインに更新する。なお、図26のWは非画像領域を示している。
ところで、カラー画像やグレースケール画像においては、通常、一画素を表現するためには多段階調で表現している。この場合、画像データは1画素当たりのビット数に応じて、1bit/2bit/4bit/8bit単位でメモリ上に配置されている。本実施の形態では、1画素が8階調とし、一画素を表現するために3ビット用いられるものとする。
そして、上述したマスク処理により、メモリアクセスはバースト単位(32bit)で可能だが、このため、バースト長のデータから必要な画像データのみを適切に取得する必要がある。つまり、アドレスの分解能よりも、さらに細かいbit単位で読み込むデータの長さの調整を行う必要がある。
例えば、図27に示すように、32bit単位で取得したデータのうち、画像の最終アドレスが、開始アドレス下位2bitで3番地の場合、ラインバッファ書き込み制御部402は、バースト単位でアクセスされた前半24bitを読み捨て、残りの有効データである8bitをラインバッファ304先頭に格納する。
他の例としては、図28に示すように、32bit単位で取得したデータのうち、画像の最終アドレスが、最初から所定のビット数(例えば4bit)目のアドレスの場合、当該バースト長の最初から所定のビット数までの有効データのみラインバッファ304に格納し、他のビット(例えば28bit)は読み捨てる。なお、読み捨てるのではなく、ラインバッファ304の無効領域に書き込んでも良い。(ラインバッファから読み出す際に切り捨てるため。)
なお、図18のステップS9においては、原則的に画素毎に主走査カウンタ値を更新することとした。しかしながら、上述したようなbit毎の処理を行う場合には、主走査カウンタ値では、画像開始アドレスを適切に表現することができない。
例えば、リクエスト生成制御部302は、モードレジスタの設定値(画素の階調数)が「3(8bit)」未満の場合、つまり「0(1bit)」,「1(2bit)」,又は「2(4bit)」の場合に、例えば図29に示すような副走査方向の上方向又は下方向にシフトさせる際に、領域G付近において、主走査方向の前後2つの画像データD1,D2において、当該主走査方向の座標上で一部重複したアドレスをメモリコントローラ213に対して指定することもできる。なお、図29のB1、B2及びB3はバースト境界を示している。
この場合、斜線ラインD1とD2の画像データをとる際に、ライン2201の領域Gと、ライン2202の領域Gとのメモリアクセスを行う場合、当該領域Gの画素分の主走査カウンタ値の更新を行わず、重複アドレスのデータを取得し、適切に各画素の階調をとれるようにbit単位で、ラインバッファ304への書き込み及び読み捨て制御を行う。それによって、メモリコントローラ213によってメモリ115から読み込んだ画像データ(リードデータ)D1,D2を、補正の継ぎ目部分Gの端数部分を損なうことなく、ラインバッファ304に書き込むことができる。
このように、DMAコントローラ201〜204がそれぞれ、画像データ読み込み時のメモリ115上のアドレスをメモリコントローラ213によって指定する際に、そのアドレスを設定された主走査方向の直進画素数毎に副走査方向の上方向又は下方向に一定量ずつシフトさせることにより、タンデム構成によってカラー画像形成を行うような場合(感光体毎に歪み特性が異なる場合)でも、副走査のズレ補正用の高価な内蔵メモリが不要であり、且つ内蔵メモリのサイズに制約を受けることなく、色版の異なる書き込み画像の副走査方向のズレ補正(スキュー補正)を行うことができる。
また、書き込み画像の歪みが線形的でない場合に、メモリ115上の主走査方向の読み込み領域を複数の領域に分割し、その各分割領域(補正領域)毎に主走査方向の直進画素数,指定するアドレスをシフトさせる方向,およびそのアドレスのシフト動作の繰り返し数をDMAコントローラ201〜204に対して予め設定しておき、そのDMAコントローラ201〜204がそれぞれ、画像データ読み込み時のメモリ115上のアドレスをメモリコントローラ213によって指定する際に、上記設定内容に基づいて、上記各分割領域毎に、その指定するアドレスを設定された直進画素数毎に設定された方向(副走査方向の上方向又は下方向)に一定量ずつシフトさせる動作を設定された繰り返し数分だけ繰り返し行うことにより、部分的に細かい単位の補正を行えるので、副走査方向の非線形なズレの補正を行うこともできる。
さらに、指定しようとしたアドレスが画像領域外であった場合に、画像データを補完するダミーデータを生成することにより、画像領域外の不要なメモリアクセスを省略できるので、より速い時間で画像データの読み込みができる。
さらにまた、画像データの階調数に応じて(実施形態では8ビット未満の場合に)、副走査方向の上方向又は下方向にシフトさせる際の主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定することにより、次のような効果も得られる。
すなわち、バイト(8ビット)単位が基本となるメモリアクセスに対して、副走査方向にシフトする主走査方向の位置を画素単位で設定でき、副走査方向にシフトする主走査方向の位置がバイト単位丁度にならないときに、この主走査方向の前後2つの画像データを副走査方向へのシフト前後で一部重複して読み込み、その重複データを論理和すれば、8ビット未満の階調の画像に対しても副走査方向のズレ補正を行うことができる。
また、メモリ115上の画像データを主走査方向および副走査方向の後端から読み出して180度回転した画像を形成するべく、その画像データの読み込み時のメモリ115上のアドレスを指定することにより、印刷媒体の両面に画像を形成する両面モードの画像形成を行うような場合に、印刷媒体の裏面への画像形成時等に180度回転した画像データに対して副走査方向のズレ補正を行うことができる。
なお、従来の画像形成装置では、コントローラ部に画像処理用のASICを、エンジン部に書き込み処理用のASICをそれぞれ備えていたが、その各ASICを別個にしていたのは開発効率の点等からであり、別々の部署でそれぞれのASICを開発するのが一般的であった。
しかし近年、ASICの微細化が進み、コスト面で有利であることから、コントローラ部とエンジン部でそれぞれ使用していたASICを1つにまとめ、それをコントローラ部側に搭載した画像形成装置が開発されるようになった。
上述した実施形態は、そのような画像形成装置にこの発明を適用したものである。
以上の実施形態では、DMAコントローラが、画像データの読み込み時のメモリ上のアドレスを指定する際に、そのアドレスを設定された主走査方向の直進画素数毎に副走査方向の上方向又は下方向に一定量ずつシフトさせるなど、この発明に関わる処理を行っているが、DMAコントローラを省略し、当該処理をコントローラ部(画像処理装置)を制御するコンピュータ(CPU)が行うようにしてもよい。
その場合、制御に用いられるプログラムは、コントローラ部を制御するコンピュータに、この発明に関するアドレス制御手段,設定手段としての機能を含む各機能をそれぞれ実現させるためのプログラムとなり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからROMあるいはHDD(ハードディスク装置)等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,MO,CD−R,CD−RW,DVD+R,DVD+RW,DVD−R,DVD−RW,又はDVD−RAMや、EEPROM、メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。その不揮発性記録媒体に記録されたプログラムをコントローラ部にインストールしてCPUに実行させるか、CPUにその不揮発性記録媒体からこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上の説明から明らかなように、この発明によれば、書き込み画像のスキュー補正を低コストで確実に行うことができる。したがって、高品質画像を低コストで出力可能な画像形成装置、画像処理方法プログラム及び記憶媒体を提供することができる。
一実施形態である画像形成装置の基本構成例を示す図である。 図1のASICの内部構成およびその周辺デバイスとの接続関係の一例を示すブロック図である。 バースト境界及びバースト単位を示した説明図である。 画像の読込開始アドレスと、バースト境界が一致した場合に、読み込み可能なデータ範囲を示した説明図である。 画像の読込開始アドレスが下位0x3Cの場合に、読み込み可能なデータ範囲を示した説明図である。 図2のDMAコントローラ201〜204の内部構成例を示すブロック図である。 図1のメモリ115に蓄積されているDMAコントローラ201〜204のレジスタ群に設定するパラメータの一例を示すメモリマップ図である。 図7の開始アドレスレジスタに設定するパラメータの一例を示す図である。 図7の主走査バイト長レジスタに設定するパラメータの一例を示す図である。 図7のライン数レジスタに設定するパラメータの一例を示す図である。 図7のモードレジスタに設定するパラメータの一例を示す図である。 図7の起動レジスタに設定するパラメータの一例を示す図である。 図7の補正領域0直進画素数レジスタに設定するパラメータの一例を示す図である。 図7の補正領域0補正方向レジスタに設定するパラメータの一例を示す図である。 図7の補正領域0補正繰り返し数レジスタに設定するパラメータの一例を示す図である。 図13〜図15に示した直進画素数,補正方向,補正繰り返し数の各補正パラメータによる補正アクセスを説明するための図である。 画像のスキューの様子と補正アクセスのイメージの異なる例を示す図である。 リクエスト生成制御部の動作例を示すフロー図である。 図18のメモリアクセスリクエスト発行処理のサブルーチンの一例を示すフロー図である。 スキューの傾きが線形の場合において、図7の開始アドレスレジスタに設定される画像開始アドレスと補正開始アドレスとの位置関係の例を示す図である。 スキューの傾きがアーチ型の場合において、図7の開始アドレスレジスタに設定される画像開始アドレスと補正開始アドレスとの位置関係の例を示す図である。 図7の開始アドレスレジスタに設定される画像開始アドレスと補正開始アドレスとの間の副走査方向長の算出方法を説明するための図である。 図19に示したメモリアクセスリクエスト発行処理のステップS24の処理を説明するための図である。 図19のステップS23,S26の処理を説明するための図である。 図18のステップS12,S13によるアクセスアドレスのラインシフトとライン毎に読み込むデータを示した説明図である。 図7のモードレジスタに画像の180度回転を指示するためのビットが設定された場合の処理を説明するための図である。 32bit単位で取得したデータのうち、bit単位で画像読み込みの開始アドレスを指定する場合の処理を説明する概念図である。 32bit単位で取得したデータのうち、bit単位で画像読み込みの終了アドレスを指定する場合の処理を説明する概念図である。 図7のモードレジスタの設定値(画素の階調数)が「3」未満の場合の処理を説明するための図である。
符号の説明
1 エンジン部
2 コントローラ部
101 スキャナ
102 プロッタ
103 読み取り制御部
104 書き込み制御部
105 エンジン制御CPU
111 コントローラ制御CPU
112 ASIC
113 操作部
114 HDD
115 メモリ
116 ネットワークI/F
201〜204 DMAコントローラ
205〜208 フィルタ
209〜212 出力バッファ
213 メモリコントローラ
214 CPUインタフェース
215 レジスタバス
216 速度変換バッファ
301 レジスタブロック
302 リクエスト生成制御部
303 データ受信部
304 ラインバッファ
311 アドレス指定部
312 読込要求部
313 シフト部
314 生成部
401 論理和回路
402 ラインバッファ書き込み制御部

Claims (13)

  1. 像を光学的に読み込んだ画像データに含まれる各画素を、読み込んだ位置に応じて記憶する記憶手段と、
    前記記憶手段に記憶された前記画像データのスキューの角度に応じた、光学的に読み込んだ主走査方向と直交する副走査方向の一方向又はその逆方向に対応する前記記憶手段上のシフト方向と、前記主走査方向における読み出し開始位置又はシフト後の位置から、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶する設定記憶手段と、
    前記記憶手段に記憶された各画素が格納されたアドレスを指定する際、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、前記シフト方向にアドレスを一定量シフトするシフト手段と、
    前記記憶手段に記憶された前記画像データの、読み出す対象となる各画素が格納されたアドレスを指定し、前記シフト手段により前記アドレスをシフトした場合に、前記画像データの階調数に応じて、前記主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定するアドレス指定手段と、
    前記アドレス指定手段により指定されたアドレスから、前記主走査方向に従って、当該主走査方向のライン上で、前記設定記憶手段に記憶された前記画素の数の画素のデータの読み込み要求を行う読込手段と、
    光ビームによる画像の書き込み制御を行う書込制御手段に出力する画像データを記憶する出力記憶手段に対して、前記読込手段により読み込まれた画素のデータを、書き込む書込手段と、
    を備えることを特徴とする画像形成装置。
  2. 前記シフト手段は、前記設定記憶手段に記憶された前記画素の数を前記読込手段が読み込んだ後、前記アドレス指定手段が指定する前記アドレスを、前記設定記憶手段に記憶された前記シフト方向に一定量シフトすること、
    を特徴とする請求項1に記載の画像形成装置。
  3. 前記設定記憶手段は、前記画像データにおける、スキューの角度が異なる領域毎に、当該角度を補正するための、前記記憶手段上のシフト方向と、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶し、
    前記シフト手段は、前記領域毎に、当該領域に対応する、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、シフトを行うこと、
    を特徴とする請求項1又は2に記載の画像形成装置。
  4. 前記アドレス指定手段は、前記シフト後の位置を含む、前記記憶装置上でデータの読込開始が可能な位置を示すバースト境界を、データを読み込む起点となるアドレスとして指定し、
    前記読込手段は、前記アドレス指定手段により指定された前記アドレスから、読み込み可能な所定のデータ単位を表すバースト長単位で読込処理を行うことで、前記シフト後の位置から前記設定記憶手段に記憶された前記画素の数分の画素を含むデータを読み込むこと、
    を特徴とする請求項1乃至3のいずれか一つに記載の画像形成装置。
  5. 前記読込手段が前画素の数の画素を読み込んだ後、前記シフト手段が、前記副走査方向の一方向又はその逆方向に一定量シフトする際、画素の読み込みが終了した位置から、読み込みを開始したバースト境界の次のバースト境界までデータ間隔がある場合、前記アドレス指定手段は、前記シフト手段によりシフトした後、前記主走査方向についてシフト前と同一のバースト境界のアドレスを、読み込み開始のアドレスとして指定すること、
    を特徴とする請求項に記載の画像形成装置。
  6. 前記読込手段が前画素の数の画素を読み込んだ後、前記シフト手段が、前記副走査方向の一方向又はその逆方向に一定量シフトする際、画素の読み込みが終了した位置までの間に、読み込みを開始したバースト境界の次のバースト境界がある場合、前記アドレス指定手段は、前記シフト手段によりシフトした後、当該次のバースト境界のアドレスを、読み込み開始のアドレスとして指定すること、
    を特徴とする請求項又はに記載の画像形成装置。
  7. 前記記憶装置に記憶された前記画像データのうち、主走査方向に対して複数の領域に分割し、当該領域毎に前記画素の数を設定する設定手段を、さらに備え、
    前記シフト手段で一定量シフトした後に、前記設定手段により設定された前記画素の数の画素を含むデータを前記読込手段が読み込むという処理を、前記領域毎に繰り返し行うこと、
    を特徴とする請求項1乃至のいずれか一つに記載の画像形成装置。
  8. 前記アドレス指定手段が指定した前記アドレスが画像領域外であった場合に、前記画像データを補完するダミーデータを生成する生成手段を、
    さらに備えることを特徴とする請求項1乃至のいずれか一つに記載の画像形成装置。
  9. 前記設定手段および前記アドレス指定手段は、プロッタによって書き込み可能な画像の色版の数だけ備えており、
    前記各設定手段は、前記プロッタによって書き込まれる画像の色版の数に応じて独立に設定可能であり、
    前記各アドレス制御手段は、前記プロッタによって書き込まれる画像の色版の数に応じて独立して動作すること、
    を特徴とする請求項に記載の画像形成装置。
  10. 前記アドレス指定手段は、前記記憶手段上の画像データを前記主走査方向および前記副走査方向の後端から読み出して180度回転した画像を形成するべく、該画像データの読み込み時の前記記憶手段上のアドレスを指定すること、
    を特徴とする請求項1乃至のいずれか一つに記載の画像形成装置。
  11. 形成装置で実行される画像処理方法において、
    前記画像形成装置は、画像を光学的に読み込んだ画像データに含まれる各画素を、読み込んだ位置に応じて記憶する記憶手段と、
    前記記憶手段に記憶された前記画像データのスキューの角度に応じた、光学的に読み込んだ主走査方向と直交する副走査方向の一方向又はその逆方向に対応する前記記憶手段上のシフト方向と、前記主走査方向における読み出し開始位置又はシフト後の位置から、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶する設定記憶手段と、を備え、
    シフト手段が、前記記憶手段に記憶された各画素が格納されたアドレスを指定する際、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、前記シフト方向にアドレスを一定量シフトするシフトステップと、
    アドレス指定手段が、前記記憶手段に記憶された前記画像データの、読み出す対象となる各画素が格納されたアドレスを指定し、前記シフト手段により前記アドレスをシフトした場合に、前記画像データの階調数に応じて、前記主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定するアドレス指定ステップと、
    読込手段が、前記アドレス指定ステップにより指定されたアドレスから、前記主走査方向に従って、当該主走査方向のライン上で、前記設定記憶手段に記憶された前記画素の数の画素のデータの読み込み要求を行う読込ステップと、
    書込手段が、光ビームによる画像の書き込み制御を行う書込制御手段に出力する画像データを記憶する出力記憶手段に対して、前記読込手段により読み込まれた画素のデータを、書き込む書込ステップと、
    を有することを特徴とする画像処理方法。
  12. ンピュータで実行される画像処理プログラムにおいて、
    前記コンピュータは、画像を光学的に読み込んだ画像データに含まれる各画素を、読み込んだ位置に応じて記憶する記憶手段と、
    前記記憶手段に記憶された前記画像データのスキューの角度に応じた、光学的に読み込んだ主走査方向と直交する副走査方向の一方向又はその逆方向に対応する前記記憶手段上のシフト方向と、前記主走査方向における読み出し開始位置又はシフト後の位置から、前記主走査方向に直線的に前記記憶手段から読み出す画素の数と、を記憶する設定記憶手段と、を備え、
    前記記憶手段に記憶された各画素が格納されたアドレスを指定する際、前記設定記憶手段に記憶された前記シフト方向と前記画素の数とに基づいて、前記シフト方向にアドレスを一定量シフトするシフトステップと、
    前記記憶手段に記憶された前記画像データの、読み出す対象となる各画素が格納されたアドレスを指定し、前記シフト手段により前記アドレスをシフトした場合に、前記画像データの階調数に応じて、前記主走査方向の前後2つの画像データを一部重複して読み込めるようなアドレスを指定するアドレス指定ステップと、
    記アドレス指定ステップにより指定されたアドレスから、前記主走査方向に従って、当該主走査方向のライン上で、前記設定記憶手段に記憶された前記画素の数の画素のデータの読み込み要求を行う読込ステップと、
    光ビームによる画像の書き込み制御を行う書込制御手段に出力する画像データを記憶する出力記憶手段に対して、前記読込手段により読み込まれた画素のデータを、書き込む書込ステップと、
    をコンピュータに実行させるための画像処理プログラム。
  13. 請求項12に記載の画像処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP2008206989A 2007-10-30 2008-08-11 画像形成装置、画像処理方法、プログラム及び記憶媒体 Active JP4491027B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008206989A JP4491027B2 (ja) 2007-10-30 2008-08-11 画像形成装置、画像処理方法、プログラム及び記憶媒体
US12/250,184 US8149475B2 (en) 2007-10-30 2008-10-13 Apparatus, method, and computer program product for processing image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007282116 2007-10-30
JP2008206989A JP4491027B2 (ja) 2007-10-30 2008-08-11 画像形成装置、画像処理方法、プログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2009135887A JP2009135887A (ja) 2009-06-18
JP4491027B2 true JP4491027B2 (ja) 2010-06-30

Family

ID=40867315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008206989A Active JP4491027B2 (ja) 2007-10-30 2008-08-11 画像形成装置、画像処理方法、プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4491027B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5471472B2 (ja) * 2010-01-13 2014-04-16 セイコーエプソン株式会社 画像形成装置
JP5700228B2 (ja) * 2013-03-13 2015-04-15 コニカミノルタ株式会社 メモリ制御装置および画像形成装置
JP6690232B2 (ja) 2015-12-25 2020-04-28 株式会社リコー 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP6701735B2 (ja) * 2016-01-05 2020-05-27 株式会社リコー 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP6708028B2 (ja) * 2016-07-05 2020-06-10 株式会社リコー 画像処理装置、画像処理方法およびプログラム
JP6874422B2 (ja) * 2017-02-28 2021-05-19 株式会社リコー 画像処理装置、画像形成装置及び画像形成装置の画像処理方法
JP6909063B2 (ja) * 2017-06-15 2021-07-28 住友重機械工業株式会社 情報処理装置、印刷システム及び情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10315545A (ja) * 1997-03-19 1998-12-02 Fujitsu Ltd 画像形成装置
JP2002094764A (ja) * 2000-09-11 2002-03-29 Matsushita Graphic Communication Systems Inc スキュー補正装置および画像形成装置
JP2007112016A (ja) * 2005-10-20 2007-05-10 Canon Inc 画像形成装置及びその制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10315545A (ja) * 1997-03-19 1998-12-02 Fujitsu Ltd 画像形成装置
JP2002094764A (ja) * 2000-09-11 2002-03-29 Matsushita Graphic Communication Systems Inc スキュー補正装置および画像形成装置
JP2007112016A (ja) * 2005-10-20 2007-05-10 Canon Inc 画像形成装置及びその制御方法

Also Published As

Publication number Publication date
JP2009135887A (ja) 2009-06-18

Similar Documents

Publication Publication Date Title
JP4491027B2 (ja) 画像形成装置、画像処理方法、プログラム及び記憶媒体
US8149475B2 (en) Apparatus, method, and computer program product for processing image
JP5812669B2 (ja) 画像処理装置および画像処理方法およびコンピュータプログラム。
JP6631180B2 (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP5111070B2 (ja) 画像形成装置及びその校正方法
JP5391873B2 (ja) 画像形成装置
JP5339824B2 (ja) 画像形成装置およびその制御方法
JP5212886B2 (ja) 画像形成システム、及び、画像形成プログラム
US20190158703A1 (en) Image forming apparatus, image forming method, and storage medium
JP4617240B2 (ja) 印刷制御装置、印刷制御方法、プログラム、及び記憶媒体
JP4948448B2 (ja) 画像処理装置及びその制御方法
JP4891273B2 (ja) 画像形成装置及びその制御方法
JP5921155B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP2009271378A (ja) 画像形成装置およびその制御方法ならびにそのプログラムおよび記憶媒体
JP2006327042A (ja) ラスター化画像処理方法、画像処理方法、情報作成方法、ラスター化装置および画像形成装置
JP5754972B2 (ja) 画像処理装置及び画像処理方法
JP5662675B2 (ja) 画像形成装置及びその制御方法
US20080112011A1 (en) Output processing apparatus and data structure for executing its processing
JP4720235B2 (ja) 画像形成装置
JP4753253B2 (ja) 画像処理装置
JP2006287609A (ja) 画像合成装置及び画像合成処理プログラム
JP5151328B2 (ja) 画像形成装置,画像転送方法,プログラム,および記録媒体
JP2006159468A (ja) 印刷装置および印刷方法
JP2019008334A (ja) 印刷装置、および、印刷装置の制御方法とプログラム
JP2009085995A (ja) プリンタ制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4491027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4