説明

画像形成装置、画像形成方法およびその方法を実行するプログラム

【課題】可変長符号データを用いて画像の劣化を防ぎながら、回転や合成の編集処理に制約されずに迅速に画像出力できる画像形成装置を提供する。
【解決手段】画像形成装置は、操作者によるパネル8の入力によって、編集処理すべき内容が編集処理部13に指定される。スキャナ9を介して入力された画像データは、符号化部12によってマクロブロック単位に可変長符号化され、編集処理部13は、指定された編集処理を施して復号化部14に送信する。復号化部14は編集処理を施された可変長符号データを受信してマクロブロック毎に復号化処理を施し、前記編集処理すべき内容によって定まる順序で画像処理部15に送信する。画像処理部15は受信したマクロブロック毎の復号化データを画像処理し、プリンタエンジン部17へ送信し、プリントアウトする。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、コピー、スキャナ、デジタルカメラ、プリンタなどの画像形成装置に関し、特に、取り込まれた画像データを圧縮処理して記憶し、かつ圧縮データを回転や画像合成処理を行って出力する画像形成装置に関する。
【0002】
【従来の技術】
画像データ圧縮技術は、画像データを保持するためのメモリ量を低減し、あるいは画像データの送信時間を短縮する目的で、画像形成分野で一般に使用されている。画像データ圧縮方式は画像データの処理形態により種々であり、画像データを印字処理する場合においては限られた容量のメモリ上で画像データを回転して印字するなどの処理を高速に行うという必要性から固定長圧縮が良く使用されている。代表的な固定長圧縮の方式としてGBTC(Generalized Block Truncation Coding)が知られている。図38〜40は、GBTC処理のアルゴリズムを説明する図であり、それぞれ4/8GBTC、3/8GBTC、そして2/8GBTC処理について示している。
【0003】
例えば、特開2001−218061号公報の発明では、GBTCのLD値により、LD値の大きいエッジ部分に4/8GBTCのような画質の良いGBTCを配置させ、LD値の小さい部分に対しては2/8GBTCのような画質に多少問題があるが、圧縮率の高いGBTCを配置させかつ、ラインごと固定された符号長に収める方式について開示している。
【0004】
また、特開平10−75345号公報の発明においては、画像データをJPEG(Joint Photographic Coding Experts Group)方式で符号化する時、バンドバッファを有し、スキャナなどのシリアルに転送される画像データを一時格納し、バンドバッファのライン数と等しい正方のマクロブロックごとRST(ReSTart)マーカーを発行することにより、マクロブロックごとにDC成分(直流成分)の初期化を行い、その符号のRSTマーカーを認識することによりマクロブロックごとの位置を認識するためポインタテーブルを生成し、画像出力時にマクロブロックごと復号化処理をおこない、90度単位の回転処理を行い、画像処理後、プリンタエンジンへ転送する方式が開示されている。また、同号公報の発明は、マクロブロック単位に符号化し、各マクロブロックごと符号長を求めアドレス管理させ、回転処理を可能とする方式を開示している。
【0005】
【特許文献1】
特開2001−218061号公報 (第4頁、第6図)
【特許文献2】
特開平10−75345号公報 (第5−9頁、第1−6図)
【0006】
【発明が解決しようとする課題】
上記のように印字処理を目的とする画像処理装置において、固定長圧縮としてGBTCなどを使用する場合、例えばGBTCは4/8圧縮においては1ブロック4×4ドット、1ドットに3bitの8種類の色を割り振り、3/8圧縮においては1ドットに2bitの4種類の色を、2/8圧縮においては1bitの2種類の色を割り振っていた。このため、特に画素の階調差が激しい1ブロック内ではノッチと呼ばれるゴミのようなノイズが文字の輪郭などに発生し、画質を劣化させる問題があった。
【0007】
また、特開平10−75345号公報の発明では、復号化と回転処理をシリアルに行い、画像処理装置、プリンタエンジンへ順次送るが、通常プリンタエンジンは、一定の時間以内にデータを転送しなければならないために、各種の回転処理による複雑な制御と複雑なコードメモリへのアクセスを行う場合の最も遅いスピードによって制約されてしまうので、全体としては高速なメモリを使用しなければならなかった。また、同号公報の発明では各種の編集処理を行う場合、元画像と文字などを合成させる画像など複数の画像を読み込み処理させるために、最も処理の遅い場合を想定して割り振る処理時間が決められるので、全体としてはオーバースペックのシステムとなりやすい問題があった。また、プリンタエンジンに同期して編集処理を行うため、元画像データの読み込みと合成処理の文字画像などの読み込みを、ある一定の時間内に終了させることが難しくなる。しかも、可変長符号に対して、合成処理などを行うことは、基本的に難しく、その点を特開平10−75345号公報の発明では明記していなかった。また、デジタル複写機で要請される復号化処理中(プリント中)に他のページをスキャナから読み込んで符号化する並行処理を行うことが難しくなるという問題があった。
【0008】
この発明は上記に鑑みてなされたものであって、電装制御系がスキャナ画像を記憶する専用のバンドメモリを有する必要なく、可変長符号データを用いて画像の品質を保ちながら、画像出力時に回転や合成の編集処理に制約されずに迅速に画像出力できる画像形成装置を提供することを目的とする。また、画像形成処理において符号化と復号化(読み取りと出力)を並行して行うことが可能な画像形成装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、入力される画像データを符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像形成装置であって、入力される前記画像データに対して編集処理内容を指定する編集指定手段と、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、前記編集指定手段によって指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定手段によって指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定手段によって指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に出力する可変長復号化手段と、を備えたことを特徴とする画像形成装置である。
【0010】
この請求項1の発明によれば、入力される画像データに対して編集処理内容を指定する編集指定手段と、入力された画像データを複数のマクロブロックからなるバンドデータに変換しマクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、編集指定手段によって指定された編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶマクロブロックの順にマクロブロック単位で可変長符号データを読み出し、読み出された可変長符号データを復号化して編集時復号データを得て、編集時復号データに対して編集指定手段によって指定された編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、マクロブロックの先頭アドレスを読み出し先頭アドレスに対応する編集されたマクロブロックの編集後符号データを復号化し、編集指定手段によって指定された編集処理内容によって決まるマクロブロックが画像出力される順序に出力する可変長復号化手段とを備えたことによって、読み込んだ画像データをマクロブロック単位で可変長符号化して編集処理を済ませてから復号化し指定された編集内容によって決まる順序で出力し送信するので、画像処理部において編集処理を行って画像出力する構成に比較して、高画質な画像を画像出力時における画像処理の制約無しに短時間で効率よく画像出力できる画像形成装置を提供できる。
【0011】
また、請求項2にかかる発明は、入力される画像データを符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像形成装置であって、入力される前記画像データに対して編集処理内容を指定する編集指定手段と、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、前記可変長符号化手段によって生成された前記可変長符号データを、前記マクロブロック単位で順次記憶する可変長符号データ記憶手段と、前記可変長符号データ記憶手段によって記憶された各マクロブロックの先頭アドレスを認識するアドレス認識手段と、認識した前記マクロブロックの先頭アドレスを記憶するアドレス記憶手段と、前記編集指定手段によって指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定手段によって指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、前記アドレス記憶手段に記憶された前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する前記マクロブロックの編集された前記編集後符号データを復号化し、前記編集指定手段によって指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に出力する可変長復号化手段と、を備えたことを特徴とする画像形成装置である。
【0012】
この請求項2の発明によれば、入力される画像データに対して編集処理内容を指定する編集指定手段と、入力された画像データを複数のマクロブロックからなるバンドデータに変換しマクロブロック単位に可変長符号化して可変長符号データに生成する可変長符号化手段と、可変長符号化手段によって生成された可変長符号データをマクロブロック単位で順次記憶する可変長符号データ記憶手段と、可変長符号データ記憶手段によって記憶された各マクロブロックの先頭アドレスを認識するアドレス認識手段と、認識したマクロブロックの先頭アドレスを記憶するアドレス記憶手段と、編集指定手段によって指定された編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶマクロブロックの順に、マクロブロック単位で可変長符号データを読み出し、読み出された可変長符号データを復号化して編集時復号データを得て、編集時復号データに対して編集指定手段によって指定された編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、アドレス記憶手段に記憶されたマクロブロックの先頭アドレスを読み出し、先頭アドレスに対応するマクロブロックの編集された編集後符号データを復号化し、編集指定手段によって指定された編集処理内容によって決まるマクロブロックが画像出力される順序に出力する可変長復号化手段と、を備えたことによって、読み込んだ画像データをマクロブロック単位で可変長符号化して格納し、編集処理を済ませてから復号化し指定された編集内容によって決まる順序で出力するので、画像処理部において編集処理を行って出力する構成に比較して、高画質な画像を、画像出力時において画像処理を施すこと無く効率的に画像出力できる画像形成装置を提供できる。
【0013】
また、請求項3にかかる発明は、請求項1または2に記載の画像形成装置において、前記マクロブロックは複数のサブブロックからなることを特徴とする。
【0014】
この請求項3の発明によれば、マクロブロックが複数のサブブロックからなることによって、サブブロックごとの編集処理を施すことができるので、高画質な画像を効率的に形成する画像形成装置を提供できる。
【0015】
また、請求項4にかかる発明は、請求項3に記載の画像形成装置において、前記アドレス認識手段は、更に、前記サブブロックの符号長合計を計算する符号長計算手段を有することを特徴とする。
【0016】
この請求項4の発明によれば、アドレス認識手段がサブブロックの符号長合計を計算する符号長計算手段を有することによって、マクロブロックの符号長を効率良く算出することができるので、マクロブロックのアドレスを認識できる。
【0017】
また、請求項5にかかる発明は、請求項2〜4のいずれか1に記載の画像形成装置において、前記アドレス認識手段は、更に、前記符号長計算手段によって計算された前記マクロブロックの符号長から、前記符号記憶手段に記憶された前記マクロブロックの先頭アドレスを計算する先頭アドレス計算手段を有することを特徴とする。
【0018】
この請求項5の発明によれば、アドレス認識手段は先頭アドレス計算手段を有することによって、符号長計算手段によって計算されたマクロブロックの符号長から符号記憶手段に記憶されたマクロブロックの先頭アドレスを計算することにより、各マクロブロックの先頭アドレスを効率よく計算することができる。
【0019】
また、請求項6にかかる発明は、請求項1〜5のいずれか1つに記載の画像形成装置において、前記可変長復号化手段によって生成されたマクロブロックごとの画像データに対して色補正処理を行う色補正手段を、更に備えたことを特徴とする。
【0020】
この請求項6の発明によれば、可変長復号化手段によって生成されたマクロブロックごとの画像データに対して色補正処理を行う色補正手段を備えたことによって、色補正処理を施した画像を画像出力できる。
【0021】
また、請求項7にかかる発明は、請求項6に記載の画像形成装置において、前記色補正手段から色補正された前記マクロブロックごとの画像データを受け取り、階調処理を行う階調処理手段を、更に備えたことを特徴とする。
【0022】
この請求項7の発明によれば、更に、色補正手段から色補正されたマクロブロックごとの画像データを受け取り、階調処理を行う階調処理手段を備えることによって、階調処理を施した画像を画像出力できる。
【0023】
また、請求項8にかかる発明は、請求項7に記載の画像形成装置において、前記階調処理手段によって階調処理された画像データを記憶する階調画像記憶手段を、更に備えたことを特徴とする。
【0024】
この請求項8の発明によれば、更に、階調処理手段によって階調処理された画像データを記憶する階調画像記憶手段を備えたことによって、画像出力に際して階調処理画像を階調画像記憶手段によって記憶して画像出力することができるので、画像出力のための待ち時間無く画像処理を実行できる。
【0025】
また、請求項9にかかる発明は、請求項1〜8のいずれか1つに記載の画像形成装置において、前記編集手段は、更に、前記編集手段による編集処理時に前記マクロブロックの画像データを展開することが可能なマクロブロック記憶手段を有することを特徴とする。
【0026】
この請求項9の発明によれば、編集手段は、更に、編集手段による編集処理時にマクロブロックの画像データを展開することが可能なマクロブロック記憶手段を有することによって、符号化されたマクロブロック画像データを展開して編集処理することができるので、文字原稿画像などのようにデータ量の小さい画像の合成に際しては、特に画像出力段階で編集処理する場合に比較して、短時間で効率良く編集処理することができ、また編集処理を終えた画像を出力するので、短時間で高画質な画像を効率良く出力できる。
【0027】
また、請求項10にかかる発明は、請求項1〜9のいずれか1つに記載の画像形成装置において、前記編集処理指定手段は合成処理を指定でき、前記編集手段は、更に、前記マクロブロック記憶手段に蓄えられた前記画像データに対して合成処理を行う画像合成処理手段を備えたことを特徴とする。
【0028】
この請求項10の発明によれば、請求項1〜9のいずれか1つに記載の画像形成装置において、編集処理指定手段は合成処理を指定でき、編集手段は、更に、マクロブロック記憶手段に蓄えられた画像データに対して合成処理を行う画像合成処理手段を備えたことによって、画像処理を施す前に画像合成処理を施すことができるので、例えば文字画像のようにデータ量の小さい画像データの合成に際しては短時間で能率良く合成処理でき、また合成処理後は画像出力段階で合成処理を行わないので、高画質な画像を短時間で効率良く形成できる画像形成装置を提供できる。
【0029】
また、請求項11にかかる発明は、請求項3〜10のいずれか1つに記載の画像形成装置において、前記編集処理指定手段は、90度ごとの回転処理を指定でき、前記編集手段は、更に、前記マクロブロック記憶手段に蓄えられた前記画像データをサブブロックごとに90度単位で回転処理する回転処理手段を有することを特徴とする。
【0030】
この請求項11の発明によれば、編集処理指定手段は、90度ごとの回転処理を指定でき、編集手段は、更に、マクロブロック記憶手段に蓄えられた画像データをサブブロックごとに90度単位で回転処理する回転処理手段を有することによって、画像出力する前に回転処理を済ませて、その後に画像出力できるので、画像出力時には画像の回転処理に無関係に回転処理された画像を出力でき、高画質な画像を短時間に効率良く画像出力できる画像形成装置を提供できる。
【0031】
また請求項12にかかる発明は、入力された画像データに画像処理を施して画像出力する画像形成方法であって、入力される画像データに対して編集処理内容を指定する編集指定ステップと、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化ステップと、前記編集指定ステップにおいて指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定ステップにおいて指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集ステップと、前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定ステップにおいて指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に送信する可変長復号化ステップと、を含むことを特徴とする画像処理方法である。
【0032】
この請求項12の発明によれば、入力される画像データに対して編集処理内容を指定する編集指定ステップと、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化ステップと、前記編集指定ステップにおいて指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定ステップにおいて指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集ステップと、前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定ステップにおいて指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に送信する可変長復号化ステップと、を含むことによって、画像出力するよりも前に可変長符号化データを編集段階で復号化して編集し、更に符号化して復号化ステップに送信して後に画像出力するので、画像出力段階で編集処理を行わないために、画像出力装置の制約を受けることなく、高画質な画像を短時間に効率良く画像出力できる画像形成方法を提供できる。
【0033】
請求項13にかかる発明は、請求項12に記載された方法をコンピュータに実行させるプログラムであるので、請求項12に記載された方法をコンピュータによって実行できる。
【0034】
【発明の実施の形態】
(実施の形態1)
以下に添付図面を参照して、この発明にかかる画像形成装置の好適な実施の形態1を、[1.1.実施の形態1による画像形成装置の概略]、[1.2.実施の形態1による画像形成装置の機能とデータの流れ]、[1.3.画像データの流れと、画像データの構成]、[1.4.各部におけるデータ処理の流れ]、[1.5.符号化部の動作]、[1.6.編集処理部の動作]、[1.7.復号化部の動作]、[1.8.画像処理部の動作]、[1.9.実施の形態1による画像形成装置の効果]、および[1.10.実施の形態1による画像形成装置を備えた複写機の例]に分けて詳細に説明する。図を通して同一の符号は同一の構成を示し、異なる符号は異なる構成を示す。
【0035】
[1.1.実施の形態1による画像形成装置の概略]
図1は、実施の形態1による画像形成装置の機能的ブロック図である。画像形成装置は、パネル8、スキャナ9、符号化部12、編集処理部13、復号化部14、画像処理部15、プリンタエンジン17、メモリ4、およびハードディスク19を備える。ここでパネル8は請求項における編集指定手段を構成し、符号化部12は同様に請求項における可変長符号化手段を、編集処理部13は同様に編集手段を、そして復号化部14は可変長復号化手段をそれぞれ構成する。
【0036】
操作者がパネル8を介して編集処理内容を入力すると、編集処理内容が指定される。次に、スキャナ9を介して画像データが入力される。入力された画像データは、符号化部12によって符号化され、編集処理部13によって編集された後、復号化部14によって復号化されて、画像処理部15により画像処理され、プリンタエンジン部17を介してプリントアウトされる。本実施の形態では、上記各部が機能を実行するコンピュータプログラムとして実施されるが、コンピュータプログラムとしての実施の形態のみに限定されるものではない。
【0037】
処理される画像データの流れを概観すると、ユーザがパネル8を操作することによって、編集処理内容が入力されて編集処理部13に設定される。そして、スキャナ9によって読み込まれた画像データは、符号化部12によって複数のマクロブロックからなるバンドデータに変換され、マクロブロック単位に可変長符号データに変換される。マクロブロックとはフレームが分割されて構成されており、後述するDCT(離散コサイン変換)の最小単位であるサブブロックが複数からなっている。本実施の形態では、サブブロックは8×8画素からなっている。
【0038】
編集処理部13は指定された編集処理内容によって決定される編集処理後の画像データの副走査方向に並ぶマクロブロックの順に、マクロブロック単位で可変長符号化された符号データを読み出し、復号化して指定された編集内容に従って編集処理を施し、再び可変長符号データに変換して編集後可変長符号データを得る。
【0039】
復号部14は、各マクロブロックの先頭アドレスを読み込んで、読み込んだ先頭アドレスに対応する編集処理部13によって処理された可変長符号データを復号化して、パネル9によって入力されて指定された編集処理内容によって定まる画像出力の順序に従って、マクロブロックの復号データを画像処理部15に送信し、更にプリンタエンジン17に送りプリントアウトする。
【0040】
[1.2.実施の形態1による画像形成装置の機能とデータの流れ]
図2は、本発明の第1の実施形態による画像形成装置のハードウェア構成図である。実施の形態による画像形成装置は、図1で示した以外に、コピー機器全体の動作の制御を行うCPU(Central Processing Unit)1、CPU1のインタフェースであるCPUI/F2、メモリコントローラ3、メモリコントローラ3によって制御されるメモリ4(メインメモリ)、ローカルバスI/F5、ROM(Read Only Memory)6、パネル8を制御するパネルコントローラ7、平滑フィルタ処理部10、バスI/F11、およびプリンタエンジンコントローラ16(図9)を備える。
【0041】
パネル8は本発明における編集モード指定手段を構成し、ハードディスク19内のプログラムである符号化部12は同様に可変長符号化手段を、ハードディスク19内のプログラムである編集処理部13は編集手段を、ハードディスク19内のプログラムである復号化部14は可変長復号化手段を、そして、ハードディスク19内のプログラムであるプリンタエンジンコントローラ(図9)およびプリンタエンジン17は画像出力手段を構成する。
【0042】
図2を参照しながら本実施の形態を更に詳しく説明すると、CPU1は、コピー機器を全体の制御を行う。CPUI/F2は、メモリコントローラ3に接続され、CPU1とメモリコントローラ3間のインタフェース(I/F)を処理する。メモリコントローラ3はメモリ4をコントロールし、CPU1、ローカルバスI/F5、ハードディスク19内のプログラムである編集処理部13、復号化部14、画像処理部15、符号化部12、およびバスI/F11との間でメモリ4に格納されたデータの転送をコントロールする。メモリ4には、スキャナ9からの画像や、CPU1のプログラムや各種データが格納される。ローカルバスI/F5は、ROM6、パネルコントローラ7などと、CPU1、メモリ4などとのI/Fを処理する。ROM6は、文字などのフォント情報や、CPU1のプログラムなどを格納する。パネルコントローラ7は、パネル8をコントロールする。パネル8は、ユーザーからの操作をコピー装置へ伝える。
【0043】
スキャナ9は、CCD(Charge Coupled Device)を有して画像を読み込む。ハードディスク19内のプログラムである平滑フィルタ処理部10は、スキャナ9から読み込んだ画像データをシェーデイング補正、MTF(変調伝達関数)γ補正などの画像処理を行う。バスI/F11は、メモリコントローラ3と平滑フィルタ処理部10とエンジンコントローラとのI/Fを行う。更にハードディスク19内のプログラムである符号化部12は、平滑フィルタ処理部10において画像処理されたデータを可変長符号化し、メモリ4へ転送する。
【0044】
ハードディスク19内のプログラムである編集処理部13は、メモリ4に蓄えられたスキャナ画像の可変長符号データを読み出し、別の文字画像などの合成処理を行い、また90度単位の回転処理を施し、再び可変長符号化してメモリ4に再度転送する。復号化部14は、転送された可変長符号化データを受け取り復号化し、画像処理部15へ転送する。画像処理部15は、復号化部14によって復号化された画像データに対して色変換処理や階調処理を施し、2値データになった画像をメモリ4へ転送する。プリンタエンジンコントローラ(図9)は、画像処理部15によって生成されたデータをメモリ4から受け取る。また、プリンタエンジンコントローラは、プリンタエンジン17をコントロールする。
【0045】
図3は、第1の実施形態による画像処理装置の全体的なデータ処理の流れを示すデータフロー図である。まず、スキャナ9から多値のRGBの画像データを読み込む(ステップS301)。読み取った画像データは、平滑フィルタ処理部10によってシェーデイング補正、MTF(Modulation Transfer Function=変調伝達関数)γ補正などの画像処理(平滑フィルタ処理)が施される(ステップS302)。平滑フィルタ処理部10によって処理された多値RGB画像データは、符号化部12は可変長符号化、即ちRGB圧縮処理を施し、メモリ4にRGB可変長符号データを格納する。(ステップS303およびS304)。メモリ4に蓄えられたRGB可変長符号データは、復号化部14によって、復号化される(ステップS305)。
【0046】
続いて画像処理部15は、色補正処理を行い、RGB画像データからCMYK画像データへ変換し(ステップS306)、階調処理を施しCMYK画像データを2値のCMYKデータへ変換して(ステップS307)、メモリ4にその2値CMYKデータを格納するする(ステップS308)。
【0047】
[1.3.画像データの流れ概略と、画像データの構成]
図4は、画像形成装置における画像データ処理の流れを説明する図であり、(a)はデータ処理する各部の機能的ブロック図、(b)は、バンドメモリフォーマットの1例を示す模式図、(c)は符号ページメモリフォーマットの1例を示す模式図、(d)はマクロブロック先頭アドレスフォーマットの1例を示す模式図、(e)は2値バンドメモリフォーマットの1例を示す模式図、そして(f)はプリンタエンジンコントローラ(図9)のメモリアクセスの順序の1例を示す模式図である。図3の(a)に示されたスキャナ9は、画像を読み込み、多値RGB画像データを得る。平滑フィルタ処理部10は、スキャナ9が読み込んだ画像データを、シェーデイング補正、MTFγ補正などの画像処理を行い、メモリ(メインメモリ)4の多値バンドメモリ領域41に書き込む(図3の(a)および(b))。
【0048】
符号化部12は、メモリ4の多値バンドメモリ格納領域41から高さ方向の画素数の正方のマクロブロックに切り出し、順次、符号化する。この例でのマクロブロックは128×128画素である。この時、各マクロブロックの符号の符号長を計測することにより、マクロブロックごとの先頭アドレスが求められる。符号化部12により求めたマクロブロックごとの符号とその先頭アドレスをメインメモリ4の符号ページメモリ格納領域42に格納する(図4(a)および(c))。
【0049】
編集処理部13は、メインメモリ4の符号ページメモリ格納領域42にアクセスし、マクロブロックの符号を読み込み、マクロブロックごとに復号化して合成メモリ45へ展開し、そして合成する文字画像などをメインメモリ4から読み込み、合成処理を施す。そして、再度符号化処理を行い、メインメモリ4の符号ページメモリ格納領域42へ転送し再び、編集後可変長符号データを格納する。各マクロブロックの符号の符号長を計測することにより、マクロブロックの先頭アドレスが得られ、マクロブロック先頭アドレス格納領域43に格納する。ここで、合成メモリ45は合成処理を行う際にデータを格納する。
【0050】
復号化部14は、メインメモリ4のマクロブロック先頭アドレス領域43をアクセスし、かつマクロブロックの編集処理後可変長符号を読み込み復号化する。そして、編集内容の指定によって決定される画像出力の順番にマクロブロックの復号化されたデータを、画像処理部15へ転送する。画像処理部15は、復号化部14によって復号化されたRGB画像データを、色変換処理や階調処理を行い、2値データになった画像をメインメモリ4の2値バンドメモリ領域44へ転送する。
【0051】
プリンタエンジンコントローラ(図9)は、2値バンドデータを水平方向に読み込みプリンタエンジン17へ転送する。プリンタエンジン17は印刷動作を制御する(図4の(f))。
【0052】
図5は、メインメモリ4のフォーマットの1例を示す模式図である。メインメモリ4は、多値バンドメモリ格納領域41、符号ページメモリ格納領域42、マクロブロック先頭アドレス格納領域43、2値バンドメモリ格納領域44、プログラム領域51、およびその他の領域52からなっている。
【0053】
多値バンドメモリ格納領域41は、スキャナ9からのシリアルデータを順次格納し、特定の高さの複数のバンドデータを格納する領域である。符号ページメモリ格納領域42は、符号化されたマクロブロック単位のRGB符号データを1ページ分以上格納する領域である。マクロブロック先頭アドレス格納領域43は、符号化されたマクロブロックの符号の先頭アドレスを1ページ分以上格納する領域である。2値バンドメモリ格納領域44は、画像処理された2値、4値、16値化された複数のバンド情報を格納する領域である。プログラム領域51は、各種のCPUのプログラムを格納する領域である。
【0054】
図6は、スキャナによって読み込まれた画像データの構成の1例を示す模式図であり、(a)はページデータ、(b)はマクロブロックバンドデータ、(c)はマクロブロックデータ、そして(d)はサブブロックデータの模式図である。ページは、m画素の高さを有するマクロブロックバンド(図6の(b))が複数集まって構成される。マクロブロックバンドは複数のマクロブロックで構成される(図6の(b))。マクロブロックは、(m+1)×(m+1)のサブブロックから構成される(図6の(c))。1つのサブブロックは、(n+1)×(n+1)画素から構成される(図6の(d))。
【0055】
図7は、符号データの階層の1例を示す模式図であり、(a)はページの階層を示し、(b)はマクロブロックバンドの階層を示す。ページは、複数のマクロブロックバンドからなり(図6の(a))、1つのバンドは、複数のマクロブロックの符号からなる(図6の(b))。
【0056】
図8は、マクロブロック先頭アドレスの階層の1例を示す模式図であり、(a)はページの階層を示し、(b)はバンドの階層を示す。ページはバンド0からバンドαからなり、1つのバンドは、マクロブロック0と先頭アドレス、マクロブロック1と先頭アドレス、・・・、およびマクロブロックβと先頭アドレスからなる。
【0057】
[1.4.各部におけるデータ処理の流れ]
図9は、スキャナ入力時からのデータ処理の流れを説明する図である。スキャナ9は、画像を読み込み(矢印1)、読み込まれたデータは、平滑フィルタ処理部10によって画像処理され、バスI/F11(図2)へ転送されバスI/F11は転送された画像データを、メモリコントローラ3(図2)へ転送する。メモリコントローラ3は、受け取った画像データをメモリ4へ格納する(矢印2)。
【0058】
メモリコントローラ3は、画像データをメモリ4から読み込み、符号化部12へ転送する(矢印3)。符号化部12は、読み込まれた画像データを符号化する。符号化部12は、符号化したデータを、メモリコントローラ3へ転送し、メモコントローラ3は受け取った符号データをメモリ4へ格納する(矢印4)。
【0059】
メモリコントローラ3は、符号データを、メモリ4から読み込み、編集処理部13へ転送する(矢印5)。編集処理部13は、符号データを編集する。編集処理部13は、編集後の符号データをメモリコントローラ3へ転送しメモリコントローラ3は受け取った符号データを、メモリ4へ格納する(矢印6)。
【0060】
メモリコントローラ3は、符号データをメモリ4から読み込み、復号化部14へ転送する(矢印7)。復号化部14は、符号データに復号化処理を施し、画像処理部15へ転送する(矢印8)。画像処理部15は、復号化された画像データを受け取り、画像処理を施す。画像処理としては例えば、合成画像処理、あるいは回転画像処理である。編集処理を施した画像データを画像処理部は、メモリコントローラ3へ転送する。メモリコントローラ3は、受け取った画像処理後のデータを、メモリ4へ格納する(矢印9)。
【0061】
メモリコントローラ3は、画像処理後のデータを、メモリ4から読み込みバスI/F11へ転送し、バスI/F11は受け取った画像処理後データを、プリンタエンジン17へ転送する(矢印10)。
【0062】
[1.5.符号化部の動作]
図10は、符号化部の機能的ブロック図である。符号化部12は、メモリコントローラI/F1401、バッファ1402、JPEG符号化部1403、バッファ1404、読込みメモリアドレス生成部1405、符号長カウント部1406、マクロブロック先頭アドレス計算部1407、メモリアドレス生成部8、およびコントローラ1409を備える。
【0063】
メモリコントローラI/F1401は、メインメモリコントローラ3から画像データを受け取り、JPEG符号化部1403へ転送し、JPEG符号化部1403から符号化された符号データを受け取ってメインメモリコントローラ3へ転送する。また、メモリコントローラ1401は、マクロブロック先頭アドレス計算部1407からの各マクロブロックの符号の先頭アドレスを受け取り、メモリコントローラ3へ転送する。バッファ1402は、メモリコントローラI/F1401から受け取った画像データを一時格納する。
【0064】
JPEG符号化部1403は、図6に示した多値バンドメモリ格納領域41から、図12(後述)に示すバンドの高さの画素の正方のマクロブロックを切り出し、8×8画素ずつ符号化して、複数のマクロブロックの符号を作成する。バッファ1404は、JPEG符号化部1403から受け取った符号データを一時格納する。
【0065】
読み込みメモリアドレス生成部1405は、メインメモリ4の多値バンドメモリ格納領域41から読み込むアドレスを生成する。符号長カウント部1406は、マクロブロックごとの合計符号長をカウントし、マクロブロック先頭アドレス計算部1407へ転送する。マクロブロック先頭アドレス計算部1407は、マクロブロックごとの合計符号長を符号長カウント部1406から受け取り、各マクロブロック符号の先頭アドレスを計算し、メモリコントローラI/F1401へ転送する。
【0066】
メモリアドレス生成部1408は、マクロブロック先頭アドレス計算部1407から各マクロブロックの先頭アドレスを受け取り、JPEG符号化部1403の符号データを、メモリコントローラI/F1401を介して転送するメモリ4の符号ページメモリ格納領域でのアドレスを生成する。コントローラ1409は、符号化部12の全体を制御する。
【0067】
図11は、符号化部による符号化処理動作を説明する図であり、(a)は符号化処理動作のフロー図であり、(b)はマクロブロックバンドの1例を示す模式図であり、そして(c)はマクロブロックの1例を示す模式図である。まず、符号化部12は、メインメモリ4の多値バンドメモリ格納領域41から、図11(b)に示すように、マクロブロックを切り出す(ステップS1501)。マクロブロックの先頭アドレスI=0をマクロアドレスの先頭アドレスとして、0アドレス(一番先頭のマクロブロック)をセットする(ステップS1502)。次に、マクロブロックの符号長カウンタを0にセットする(ステップS1503)。
【0068】
1つのマクロブロックには、(m+1)×(m+1)個のサブブロックを含む。1番目のマクロブロックを、分けられたサブブロックごとに図11(c)に矢印で示された方向に順次符号化していく。JPEG符号化の場合は、8×8画素のサブブロックを図11の(c)のように順次符号化する。そして、符号長カウンタに各サブブロックの符号長を順次加算していく。マクロブロック内の全てのサブブロックを符号化した場合、I番目のマクロブロックの符号化を終了する(ステップS1504)。
【0069】
I番目のマクロブロックの符号を、メインメモリ4のマクロブロックの先頭アドレス+符号の先頭アドレスの示す符号ページメモリ領域42へ格納する、即ちJPEG符号化部1403によって符号化された符号を、メインメモリ4の符号ページメモリ格納領域42へ書き込む。(ステップS1505)。
【0070】
マクロブロック先頭アドレス計算部1407によって求めたマクロブロックの先頭アドレスの値を、メインメモリ4のマクロブロック先頭アドレス格納領域43に格納する(ステップS1506)。マクロブロックの先頭アドレスを、符号長カウンタ+マクロブロックの先頭アドレスに置き換え、マクロブロック先頭アドレス計算部1407は、次のマクロブロックの先頭アドレスを求める(ステップS1507)。IをI+1に置き換える(ステップS1508)。Iがβより大きければ終了し、そうでなければステップS1503に戻る。こうして、コントローラ1409は、メインメモリ4の多値バンドメモリ格納領域41の全てのマクロブロックの符号化をコントロールする。
【0071】
図12は、マクロブロックバンド、およびマクロブロックの符号化を説明する図である。マクロブロックバンド1601は、それぞれマクロブロック1602からなり、マクロブロック1602はそれぞれサブブロック1603からなる。サブブロック1603は、8×8画素からなる。符号化処理は、マクロブロク1604の矢印に示される方向、即ち区切られたサブブロックの水平方向に処理されて、それぞれ符号化データ1605として多値バンドメモリ格納領域41に格納される。
【0072】
図13は、JPEG符号化部の機能的ブロックである。JPEG符号化部1403は、RGB・YUV変換部1701、YDCT処理部1702、Y量子化処理部1703、Yエントロピー符号化部1704、UDCT処理部1705、U量子化処理部1706、Uエントロピー符号化部1707、VDCT処理部1708、V量子化処理部1709、Vエントロピー符号化部1710、およびUDCT処理部1711を備える。
【0073】
RGB・YUV変換部1701は、JPEGの規格に準拠し、8×8画素のRGBをYUVへ変換し、Y成分をYDCT処理部1702へ、U成分をUDCT処理部1705へ、V成分をVDCT処理部1708へ転送する。
【0074】
YDCT処理部1702は、Y成分に対してDCT(離散コサイン変換)を施し、量子化処理部1703へ転送する。Y量子化処理部1703は、YDCT処理部からのY成分のDCT処理後のデータを受け取って量子化し、Yエントロピー符号化部1704へ転送する。Yエントロピー符号化部1704は、量子化処理部1703からのY成分の量子化後のデータを受け取り、ハフマン符号化方式で符号化し、符号フォーマット生成部1711へ転送する。
【0075】
同様に、UDCT処理部1705は、U成分に対してDCT(離散コサイン変換)を施し、量子化処理部1706へ転送する。U量子化処理部1706は、UDCT処理部1705からのU成分のDCT処理後のデータを受け取って量子化し、Uエントロピー符号化部1707へ転送する。Uエントロピー符号化部1707は、量子化処理部1706からのU成分の量子化後のデータを受け取り、ハフマン符号化方式で符号化し、符号フォーマット生成部1711へ転送する。
【0076】
同様に、VDCT処理部1708は、V成分に対してDCT(離散コサイン変換)を施し、量子化処理部1709へ転送する。V量子化処理部1710は、VDCT処理部1708からのV成分のDCT処理後のデータを受け取って量子化し、Vエントロピー符号化部1710へ転送する。Vエントロピー符号化部1710は、量子化処理部1709からのV成分の量子化後のデータを受け取り、ハフマン符号化方式で符号化し、符号フォーマット生成部1711へ転送する。
【0077】
符号フォーマット生成部1711は、上記Y、UおよびVエントロピー符号化部1702、1705、および1708からの符号データを受け取り符号を形成する。
【0078】
[1.6.編集処理部の動作]
図14は、編集処理部の機能的ブロック図である。編集処理部13は、メモリコントローラI/F1801、バッファ1802、JPEG復号化部1803、8×8回転処理部1804、バッファ1805、JPEG符号化部1803、バッファ1807、画像合成部1808、メモリI/F1809、合成メモリ45、読み込みアドレス生成部1811、符号長カウント部1812、マクロブロック先頭アドレス計算部1813、メモリアドレス生成部1814、1815、およびコントローラ1816を備える。
【0079】
メモリコントローラI/F1801は、メインメモリ4から、処理するマクロブロック先頭アドレスを読み込み、読み込みメモリアドレス生成部1811へ転送し、順次、マクロブロックの符号を読み込み、JPEG復号化部1803のバッファ1802へ転送する。また、JPEG符号化部1803のバッファ1805の符号データを順次のメインメモリ4へ転送する。バッファ1802は、JPEG復号化部14へ符号データを転送するためのバッファである。
【0080】
JPEG復号化部1803は、メインメモリ4の符号ページメモリ格納領域42から符号データを読み込み、復号化し、合成メモリ45のメモリI/F1809へ転送する。JPEG符号化部1806の詳細については図26に機能ブロック図を示す。
【0081】
8×8回転処理部1804は、図18および20に示されるように、合成メモリ45の画像データを、指定された90度単位の回転角度に応じて、8×8画素単位(サブブロック単位)で回転処理を行う。バッファ1805は、JPEG符号化部1806からの符号データを、メモリ4コントローラI/Fへ転送するためのバッファである。
【0082】
JPEG符号化部1806は、合成メモリ45の符号ページメモリ領域から符号を読み込み復号化し、バッファ1805を返し、メモリコントローラI/F1801へ転送する。JPEG符号化部1806については、図13にその機能的ブロック図を示した。バッファ1807は、合成を行う文字などの画像データを画像合成部1808へ転送するためのバッファである。特に、文字、印字などは符号化して蓄えておくとデータ圧縮が著しいので、合成メモリを有効に使用できる。例えば、マル秘のスタンプなどは、画像出力時に合成すると復号データであるので容量が大きくなるが、符号データとして合成メモリに蓄えて編集処理部13で合成処理すればメモリの節約になる。
【0083】
画像合成部1808は、合成メモリ45に展開されたマクロブロックの画像に対して、バッファ1807に格納された文字などの画像データを合成する合成処理を行い、再度、合成メモリ45へ転送する。
【0084】
図21は、画像合成処理によって合成された合成画像の1例を説明する図である。写真画像2501と文字画像2502とが合成処理されて、写真画像に文字画像が埋め込まれた画像2503が生成されることを示している。メモリI/F1809は、合成メモリ45へアクセスするためのI/Fを行う。合成メモリ45はまた、JPEG復号化部1803によって展開されたマクロブロックの画像データを一時格納する。
【0085】
図16は、合成メモリフォーマットの1例を示す模式図である。1つのマクロブロック1901は(m+1)×(m+1)個のサブブロック1902からなり、1つのサブブロック1902は(n+1)×(n+1)個のピクセル(画素)からなる。
【0086】
読み込みメモリアドレス生成部1811は、メインメモリ4のマクロブロック先頭アドレス格納領域43からマクロブロックの先頭アドレスを読み込み、そのアドレスによってマクロブロックの符号を符号ページメモリ格納領域42から読み込み、バッファ1802へ転送する。
【0087】
図17は、ページレベルの回転においてマクロブロックの符号を読み込む順序を示す説明図であり、(a)は0度回転(回転無し)、(b)は90度回転、(c)は180度回転、そして(d)は270度回転のそれぞれの場合を示す。この時、指定された90度単位の回転角度により、示されたようにマクロブロックの符号を読み込む。
【0088】
符号長カウント部1812は、JPEG符号化部1806で符号化された符号のマクロブロックごとの合計符号長をカウントし、マクロブロック先頭アドレス計算部1813へ転送する。
【0089】
マクロブロック先頭アドレス計算部1813は、マクロブロックごとの合計符号長を符号長カウント部1812から受け取り、各マクロブロック符号の先頭アドレスを計算し、メモリコントローラI/F1801へ転送する。
【0090】
メモリアドレス生成部1814は、マクロブロック先頭アドレス計算部1813から、各マクロブロックの先頭アドレスを受け取り、JPEG符号化部1806の符号データをメモリコントローラI/F1801を介して転送するメモリ4のアドレスを生成する。もう1つのメモリアドレス生成部1815は、合成メモリ45のアドレスを生成する。
【0091】
図18はマクロブロックにおいて、読み出し順をサブブロック単位で変化させることを説明する図である。合成メモリ45中の画像合成後のマクロブロックを再度符号化する時、指定された90度単位の回転角度により、マクロブロックをサブブロック単位で読み出す順序を変える。このことによって、マクロブロックを90度単位で回転させる回転処理を実現している。
【0092】
図19は、サブブロックレベルの回転処理を説明する図であり、(a)、(b)、(c)、および(d)は、それぞれ0度、90度、180度、および270度回転処理を示す。コントローラ1816は、編集処理部13の全体を制御する。
【0093】
図20は、編集処理部13の処理の流れを説明する図であり、(a)は処理の流れを示すフロー図、そして(b)はマクロブロックの読込み順序を説明する図である。メモリコントローラ3は、マクロブロックの先頭アドレスを0にセットする(ステップS2401)。次に、回転角度に応じてページレベルにおけるマクロブロックの符号を1つ、メインメモリ4から読み込む。この時、対応するマクロブロックのメインメモリ4のマクロブロック先頭アドレス格納領域43から先頭アドレスを読み込み、このページの符号の先頭アドレスを加え、対応するマクロブロックの符号の先頭アドレスを求める(ステップS2402)。そして、符号長カウンタを0にセットする(ステップS2403)。図20(b)に示すように、マクロブロックからサブブロックの符号を1つ復号化する(ステップS2404)。そして、マクロブロック内の全てのサブブロックが処理されたかを判定し(ステップS2405)、まだの場合(ステップS2405のNo)、ステップS2402に戻る。処理が終わった場合は(ステップS2405のYes)ステップS2406に進む。画像合成部1808によって文字画像などをマクロブロックの画像に入れ込み、合成メモリ45の値を更新する(ステップS2406)。
【0094】
次に、指定された回転角度に応じて合成メモリ45からサブブロック画像を切り出して8×8回転処理部1804(図14)に送る(ステップS2407)。8×8回転処理部1804は、指定された回転角度の回転処理を行う。ここで指定された回転角度は図17に示されたマクロブロックレベルの90度ごとの回転処理である(ステップS2408)。図18および19は、8×8回転処理部1804がサブブロックごとに90度単位の回転角度に応じて、画素を回転処理することを説明する図であり、図18の(a)は0度回転、(b)は90度回転、図19の(a)は180度回転、そして(b)は270度回転を示している。
【0095】
JPEG符号化部1403は、8×8回転処理部1804によって処理されたサブブロックの画素を符号化し、符号長カウンタとする(ステップS2409)。上記の編集処理後マクロブロックの符号を、メインメモリ4のマクロブロックの先頭アドレス+符号の先頭アドレスの示す符号ページ領域へ格納する(ステップS2410)。そして、マクロブロックの先頭アドレスの値をメインメモリ4のマクロブロック先頭アドレス格納領域43へ格納する(ステップS2411)。ここで、ブロックの先頭アドレスを符号長カウンタ+マクロブロックの先頭アドレスに置き換える(ステップS2412)。
【0096】
ページ内の全てのマクロブロックが処理されたかを判定し(ステップS2413)、まだの場合(ステップS2413のNo)はステップS2402に戻り、処理されていれば終了する。
【0097】
[1.7.復号化部の動作]
図21は、復号化部の機能的ブロック図である。復号化部14は、メモリコントローラI/F2601、バッファ2602、JPEG復号化部2603、読み込みアドレス生成部2604、メモリアドレス生成部2605、メモリI/F2606、マクロブロックメモリ2607、そしてコントローラ2608を備える。
【0098】
メモリコントローラI/F2601は、メインメモリ4から、処理するマクロブロック先頭アドレスを読み込み、読み込みメモリアドレス生成部2604へ転送し、順次、マクロブロックの符号を読み込み、JPEG復号化部2603のバッファ2602へ転送する。また、メモリコントローラI/F2601は、編集処理部13におけるJPEG符号化部1806のバッファ1805(図14)の符号データを順次メインメモリ4へ転送する。
【0099】
バッファ2602はJPEG復号化部2603へ符号データを転送するためのバッファである。JPEG復号化部2603は、メインメモリ4の符号ページメモリ格納領域42から符号データを読み込み復号化し、マクロブロックメモリ2607のメモリI/F2606へ転送する(図26にJPEG復号化部14の機能的ブロック図を示す)。
【0100】
読み込みアドレス生成部2604は、メインメモリ4のマクロブロック先頭アドレス格納領域43から、マクロブロックの先頭アドレスを読み込み、そのアドレスにより、マクロブロックの符号を符号ページメモリ格納領域42から読み込み、バッファ2602へ転送する。
【0101】
メモリアドレス生成部2605は、マクロブロックメモリ2607のアドレスを生成する。メモリI/F2606は、マクロブロックメモリ2607へアクセスするためのI/Fを行う。マクロブロックメモリ2607は、JPEG復号化部2603によって展開されたマクロブロックの画像データを一時格納する。
【0102】
図22は、復号化部14におけるマクロブロックメモリフォーマットの1例を示す模式図である。マクロブロック1701およびサブブロック2702のフォーマット例が示されている。復号化されたマクロブロック2701はサブブロック2702からなり、サブブロック2702は画素からなる。コントローラ2608は、復号化部14の全体を制御する。
【0103】
図23は、復号化処理部による復号化処理の流れを示すフロー図である。図24は、マクロブロックデータを復号化処理する際の復号処理読み込み順序の1例を示す模式図である。まず、メモリコントローラI/F2601は、マクロブロックの符号を1つをメインメモリ4から読み込む。この時、対応するマクロブロックのメインメモリ4のマクロブロック先頭アドレス格納領域43から先頭アドレスを読み込み、このページの符号の先頭アドレスを加えて対応するマクロブロックの符号の先頭アドレスを求める(ステップS2801)。そして、マクロブロックに含まれるサブブロックの符号を1つ復号化する(ステップS2802)。
【0104】
次に、復号処理後の画像をマクロブロックメモリ2607(図21)に書き込む(ステップS2803)。マクロブロック内の全てのサブブロックが処理されたか判定し(ステップS2804)、まだの場合(ステップS2804のNo)はステップS2802に戻り、処理された場合(ステップS2804のYes)、ステップS2805に進む。
【0105】
トグルのマクロブロックメモリ2607を切り換えて、画像処理部15のマクロブロック画像が準備できたことを知らせる(ステップS2805)。そして、バンド内の全てのマクロブロックが処理されたかを判定し(ステップS2806)、まだの場合(ステップS2806のNo)はステップS2801に戻り、処理されている場合(ステップS2806のYes)は、次にページ内の全てのマクロブロックバンドが処理されたかを判定し(ステップS2807)、まだの場合(ステップS2807のNo)はステップS2801に戻り、処理されている場合(ステップS2807のYes)は終了する。
【0106】
図26は、復号化部14におけるJPEG復号化部2603の機能的ブロック図である。JPEG復号化部2603は、エントロピー復号化部3001、Y逆量子化処理部3002、YIDCT処理部3003、U逆量子化処理部3004、UIDCT処理部3005、V逆量子化処理部3006、VIDCT処理部3007、YUV・RGB変換処理部3008、およびコントローラ3009を備える。
【0107】
エントロピー復号化部3001は、メインメモリ4から符号データを順次読み込み、Y成分のエントロピー復号化処理を行い、Y逆量子化処理部3002へ量子化後のY成分の8×8画素のデータを転送し、U成分のエントロピー復号化処理を行い、U逆量子化処理部3004へ量子化後のU成分の8×8画素のデータを転送し、V成分のエントロピー復号化処理を行い、V逆量子化処理部3006へ量子化後のV成分の8×8画素のデータを転送する。
【0108】
Y逆量子化処理部3002は、エントロピー復号化部3001から量子化後のY成分の8×8画素データを受け取り、逆量子化し、Y成分の8×8画素のDCT係数を求め、YIDCT処理部3003へ転送する。YIDCT処理部3003は、逆量子化処理部3002からY成分の8×8画素のDCT係数を受け取り、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのY成分の水平の8画素データを求め、YUVからRGBへ変換するYUV・RGB変換部3008へ転送する。
【0109】
U逆量子化処理部3004は、エントロピー復号化部3001から量子化後のU成分の8×8画素データを受け取り、逆量子化し、U成分の8×8画素のDCT係数を求め、UIDCT処理部3005へ転送する。UIDCT処理部3005は、U逆量子化処理部3005からU成分の8×8画素のDCT係数を受け取り、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのU成分の水平の8画素データを求め、YUVからRGBへ変換するYUV・RGB変換部3008へ転送する。
【0110】
V逆量子化処理部3006は、エントロピー復号化部3001から量子化後のV成分の8×8画素データを受け取り、逆量子化し、V成分の8×8画素のDCT係数を求め、VIDCT処理部3007へ転送する。VIDCT処理部は、逆量子化処理部3007からV成分の8×8画素のDCT係数を受け取り、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのV成分の水平の8画素データを求め、YUVからRGBへ変換するYUV・RGB変換部3008へ転送する。
【0111】
YUV・RGB変換処理部3008は、上記のごとくIDCT処理部(3003、3005、および3007)からのY、U、Vの画素データをRGBへ変換する。ここで、パネルから入力されて編集処理部で指定された編集処理内容、例えば画像の90度回転によって決まるマクロブロックが画像出力される順序に、変換されたRGBデータは画像処理部に送信される。コントローラ3009は、JPEG復号化部14をコントロールする。
【0112】
[1.8.画像処理部の動作]
図26は、画像処理部の機能的ブロック図である。画像処理部15は、バッファ3101、色補正処理部3102、階調処理部3103、PIXEL TO PLANE変換部3104、バッファ3105、メモリコントローラI/F3106、書き込みメモリアドレス生成部3108、そしてコントローラ3107を備える。
【0113】
バッファ3101は、復号化部14(図9)からの復号化された画像データを、一時格納する。色補正処理部3102は、バッファ3101に格納された多値RGBデータを色補正処理し、多値CMYKデータへ変換する。階調処理部3103は、色補正処理部3102から受け取った多値CMYKデータを階調処理し、2値、4値、16値などのデータへ変換する。
【0114】
PIXEL TO PLANE変換部3104は、階調処理部3103で階調処理された2値、4値、16値などのデータを、指定された版のデータのみ PXELからPLANEへ変換し、バッファ3105へ転送する。バッファ3105は、PIXEL TO PLANE変換部3104によって変換された画像データを一時格納する。メモリコントローラI/F3106は、バッファ3105に一時格納された画像データを、メモリコントローラ3へ転送する。
【0115】
書き込みメモリアドレス生成部3108は、画像処理後の画像データを、メインメモリ4の2値バンドメモリ格納領域44に書き込むアドレスを生成する。コントローラ3107は、画像処理部15をコントロールする。
【0116】
図27は、画像処理部による画像処理の流れを説明する図であり、(a)は画像処理の流れを示すフロー図、そして(b)はマクロブロックバンドを説明する図である。復号化部14におけるマクロブロックメモリ2607に格納されているマクロブロックの画像データを読み込む(ステップS3201)。読み込まれた画像データは、色補正処理部3102によって、補正処理が施され、RGBからCMYKへと変換される(ステップS3202)。多値CMYK画像が階調処理を施されて、2値へと変換される(ステップS3203)。変換された2値CMYKデータは各C、M、Y、Kプレーンごとに固定長にまとめられ、図27の(b)に示されたようにメインメモリ4の2値バンドメモリ格納領域44(図4)の各C、M、Y、K領域に書き込まれる(ステップS3204)。
【0117】
バンド内の全てのマクロブロックが処理されたかどうかが判定され(ステップS3205)、まだの場合(ステップS3205のNo)はステップS3201に戻り、処理されている場合(ステップS3205のYes)は、次のステップに進む。ページ内の全てのマクロブロックバンドが処理されたかが判定され(ステップS3206)、まだの場合(ステップS3206のNo)はステップS3201に戻り、処理が終了した場合(ステップS3206のYes)は、終了する。
【0118】
[1.9.実施の形態1による画像形成装置の効果]
第1の実施形態による画像形成装置においては、メインメモリに多値のバンドメモリ領域を設け、スキャナからの画像を平滑フィルタ処理などを行った後、メインメモリの多値バンドメモリ格納領域へバンドごと格納し、そのバンドの画像データを符号化して符号ページメモリ格納領域に格納し、その後、編集処理部によって画像合成処理と回転処理を行い、再度符号化し、編集後符号データを符号ページメモリ格納領域に格納する。そして、復号化部により復号化し、画像処理後の階調処理したデータを2値バンドメモリ領域へ格納し、その後、プリンタエンジンコントローラが順次、メインメモリの2値バンドメモリ領域の画像データを読み込み、プリンタエンジンへ転送することによって、専用のバンドメモリを有さずに、プリンタエンジンへの転送は編集処理、回転処理、画像処理後であるので、画像出力時に回転や編集処理に依存することなく画像出力処理することができる。また、復号化部による復号化処理などが、既に編集処理が終わっているので、容易に実現できる。また、スキャナ画像を記憶する専用のバンドメモリを有していないために、復号化と符号化を同時に行うことが可能である。また、復号化処理後に画像処理を行い、階調処理後のバンドをメインメモリの領域に作成するために、プリンタのエンジンスピードに復号化処理、画像処理が同期しなくても良く、復号化処理部、画像処理部の制約条件を緩くすることができる。また、プリンタのエンジンスピードに復号化処理、画像処理が同期する必要がないので、復号化処理部、画像処理部のスピードがプリンタエンジンより低速でも破綻なく出力することが可能であり、処理装置のゲート数などが小さくすむ利点がある。
【0119】
また、復号化処理部、画像処理部のスピードがプリンタエンジンより高速な場合、マルチファンクション機であれば、プリンタ処理とコピー処理を同時に並行して実行する場合に、プリンタ処理にともなう画像処理をコピー処理の裏で実行可能である。
【0120】
[1.10.実施の形態1による画像形成装置を備えた複写機の例]
図41は、本発明の実施形態による画像形成装置を備えた複写機の内部機構を説明する図である。複写機1200の有する自動原稿送り部(以下ADFと略す)1001にある原稿台1002に、原稿束が原稿の画像面を上にして置かれる。そして、操作部上のスタートキーが押下されると、一番下の原稿から給送ローラ1003および給送ベルト1004によってコンタクトガラス1006上の所定の位置に給送される。読み取りユニット1050によってコンタクトガラス1006上の原稿の画像データを読み取り後、読み取りが終了した原稿は、給送ベルト1004および排送ローラ1005によって排出される。さらに、原稿セット検知1007にて原稿台1002に次の原稿が有ることを検知した場合、前原稿と同様にコンタクトガラス1006上に給送される。給送ローラ1003、給送ベルト1004および排送ローラ1005はモータによって駆動される。
【0121】
第1トレイ1008あるいは第2トレイ1009に積載された記録媒体である転写紙は、各々第1給紙部1011あるいは第2給紙部1012によって給紙され、縦搬送ユニット1014によって感光体1015に当接する位置まで搬送される。読み取りユニット1050にて読み込まれた画像データは、書き込みユニット1057からのレーザによって感光体1015に書き込まれ、現像ユニット1027を通過することによってトナー像が形成される。そして、転写紙は感光体1015の回転と等速で搬送ベルト1016によって搬送されながら、感光体1015上のトナー像が転写される。その後、定着ユニット1017にて画像を定着させ、排紙ユニット1018によって後処理部のフィニシャ1100に排出される。
【0122】
後処理部のフィニシャ1100は、本体の排紙ローラ1019によって搬送された転写紙を、通常排紙ローラ1102方向と、ステープル処理部方向に導くことができる。切り替え板1101を上に切り替えることにより、搬送ローラ1103を経由して通常排紙トレイ1104側に排紙することができる。また、切り替え板1101を下方向に切り替えることで、搬送ローラ1105、1107を経由して、ステープル台1108に搬送することができる。
【0123】
ステープル台1108に積載された転写紙は、一枚排紙されるごとに紙揃え用のジョガー1109によって、紙端面が揃えられ、一部のコピー完了と共にステープラ1106によって綴じられる。ステープラ1106で綴じられた転写紙群は自重によって、ステープル完了排紙トレイ1110に収納される。
【0124】
一方、通常の排紙トレイ1108は前後に移動可能な排紙トレイである。前後に移動可能な排紙トレイ部1108は、原稿ごと、あるいは、画像メモリ4によってソーティングされたコピー部ごとに、前後に移動し、簡易的に排出されてくるコピー紙を仕分けるものである。
【0125】
転写紙の両面に画像を作像する場合は、各給紙トレイ1008、1009から給紙され作像された転写紙を排紙トレイ側に導かないで、経路切り替えのための分岐爪1112を上側にセットすることで、一旦両面給紙ユニット1111にストックする。その後、両面給紙ユニット1111にストックされた転写紙は再び感光体1015に作像されたトナー画像を転写するために、両面給紙ユニット1111から再給紙され、経路切り替えのための分岐爪1112を下側にセットし、排紙トレイ1104に導く。この様に転写紙の両面に画像を作成する場合に両面給紙ユニット1111は使用される。
【0126】
感光体1015、搬送ベルト1016、定着ユニット1017、排紙ユニット1018および現像ユニット1027は、メインモータによって駆動され、各給紙部1011、1012はメインモータの駆動を各々給紙クラッチによって伝達駆動される。縦搬送ユニット1014はメインモータの駆動を中間クラッチによって伝達駆動される。読み取りユニット(スキャナ)1050は、原稿を載置するコンタクトガラス1006と光学走査系で構成されており、光学走査系は、露光ランプ1051、第1ミラー1052、レンズ1053、CCDイメージセンサ1054等々で構成されている。露光ランプ1051および第1ミラー1052は、図示しない第1キャリッジ上に固定され、第2ミラー1055および第3ミラー1056は、図示しない第2キャリッジ上に固定されている。原稿像を読み取る時には、光路長が変わらないように、第1キャリッジと第2キャリッジとが2対1の相対速度で機械的に走査される。この光学走査系は、図示しないスキャナ駆動モータにて駆動される。原稿画像は、CCDイメージセンサ1054によって読み取られ、電気信号(アナログ画像信号)に変換され、そしてデジタルデータ(画像データ)に変換される。画像データには更に数種の画像処理が施される。レンズ1053およびCCDイメージセンサ1054を図1において左右方向に移動させることにより、画像倍率が変わる。即ち、指定された倍率に対応してレンズ1053およびCCDイメージセンサ1054の左右方向に位置が設定される。書き込みユニット1057は、レーザ出力ユニット1058、結像レンズ1059およびミラー1060で構成され、レーザ出力ユニット1058の内部には、レーザ光源であるレーザダイオードおよびモータによって高速で定速回転する回転多面鏡(ポリゴンミラー)が備わっている。レーザ出力ユニット58より照射されるレーザ光は、定速回転するポリゴンミラーで偏光され、結像レンズ1059を通り、ミラー1060で折り返され、感光体面上に集光結像する。
【0127】
偏光されたレーザ光は、感光体が回転する方向と直行する方向(主走査方向)に露光走査され、後述する画像形成装置のセレクタ1064より出力された画像信号のライン単位の記録を行う。感光体の回転速度と記録密度に対応した所定の周期で主走査を繰り返すことによって、感光体面上に画像(静電潜像)が形成される。上述のように、書き込みユニット1057から出力されるレーザ光が、画像作像系の感光体1015に照射される。図示しないが感光体1015の一端近傍の、レーザビームを照射される位置に、主走査同期信号を発生するビームセンサが配置されている。この主走査同期信号をもとに主走査方向の画像記録開始タイミングの制御、および、後述する画像信号の入出力を行うための制御信号の生成を行う。
【0128】
(実施の形態2)
以下に添付図面を参照して、実施の形態2による画像形成装置について、[2.1.実施の形態2による画像形成装置の機能構成]、[2.2.画像データの流れの概略と、画像データの構成]、[2.3.各部におけるデータ処理の流れ]、[2.4.復号化部の動作]、[2.5.画像処理部の動作]、および[2.6.実施の形態2による画像形成装置の効果]に分けて詳細に説明する。
【0129】
[2.1.実施の形態2による画像形成装置の機能構成]
本発明の実施の形態2による画像形成装置が第1の実施形態による画像形成装置と異なる点は、画像データ処理の流れにおける画像処理部が、実施形態1では復号化部14によって復号化された復号化データをそのまま受信して画像処理するのに対して、実施形態2では復号化部によって復号化された多値バンドデータを一度メモリ4の多値バンドメモリ格納領域3444(図30)に格納してから画像処理する点である。
【0130】
この構成により実施の形態2では、画像処理部がバスI/F11を介してプリンタエンジンコントローラおよびプリンタエンジン17へと直接つながっていることにより、階調処理後(画像処理後)の画像をメモリへ格納せずに、直接プリンタエンジンへ送る。また、実施の形態2では、符号データの復号化処理後、画像処理がプリンタのエンジンスピードに復号化処理、画像処理が同期する必要があり、画像処理部のスピードはプリンタエンジンと同じスピードである必要があり、その結果処理装置のゲート数などが大きくなるものの、階調処理後(画像処理後)の画像をメモリへ格納しないので、メモリを多く使用しない利点がある。
【0131】
以下、第1の実施形態と同じ構成については、省略するかあるいは簡略な説明とし、異なる点について主に説明する。以下の図において、詳細説明を通して同一の符号は同一の構成を示し、異なる符号は異なる構成を示す。
【0132】
図28、本発明の実施の形態2による画像形成装置の機能を説明する図である。図2および28を参照しながら、第1および第2の実施の形態の差異をもう一度述べると、第1の実施形態では画像処理部15による画像処理は、復号化処理部14による復号化処理の直後になされるのに対して、実施の形態2においては編集処理部13による編集処理後に復号化部3314によって復号化された復号化データが、メモリ4の多値バンドメモリ格納領域3444に格納され、その後に画像処理部3315によって画像処理がなされてプリンタエンジンに送信される点が異なる。即ち、画像処理部15がバスI/F3311を介してエンジンコントローラ16、プリンタエンジン17に直接つながっていることにより、階調処理後の画像をメモリを経ずして直接プリンタエンジンへ送信する。
【0133】
図28に示すように、実施の形態2による画像形成装置の構成に関しては、符号1〜10、12、13、16、および17は第1の実施の形態と同じ構成である。符号3311はバスI/Fであり、符号符号3315は画像処理部、符号3314は復号化部である。
【0134】
バスI/F3311は、メモリコントローラ3および画像処理部3315と、平滑フィルタ処理部10およびプリンタエンジンコントローラ16とのI/Fを行う。編集処理部13は、メモリ4に蓄えられたスキャナ画像が符号化された符号データに、別の文字画像などを合成処理し、あるいは90度単位の回転処理を施して、再び編集後の符号データとしてメモリ4に蓄える。復号化部3314は、編集後の符号データとしてメモリ4に蓄えられた符号データを受け取り、復号化し、再びメモリ4へ転送し、格納する。画像処理部15は、復号化処理部14によって復号化された画像データをメインメモリ4から読み込み、色変換処理や階調処理を行って2値データに変換してバスI/F3311へ転送する。
【0135】
[2.2.画像データの流れの概略と、画像データの構成]
図29は、実施の形態2による画像形成装置における画像データ処理の流れの概念図であり、(a)はデータを処理する各種部の機能的ブロック図、(b)は、多値バンドメモリフォーマットの1例を示す模式図、(c)は符号ページメモリフォーマットの1例を示す模式図、(d)はマクロブロック先頭アドレスフォーマットの1例を示す模式図、(e)は2バンドメモリフォーマットの1例を示す模式図、そして(f)はプリンタエンジンコントローラのメモリアクセスの順序の1例を示す模式図である。
【0136】
スキャナ9から多値のRGBの画像データを読み込んだ後、編集処理部13によって編集された画像データが再度符号化されてメモリ4の符号ページメモリ格納領域42に格納されるまでの流れは、第1の実施形態と同じであるので省略し、それ以降について述べる。
【0137】
復号化部3314は、メインメモリ4のマクロブロック先頭アドレス43をアクセスし、符号ページメモリ格納領域42からマクロブロックの符号を読み込み、復号化してメインメモリ4の多値バンドメモリ格納領域3444へ転送する。画像処理部15は、復号化部3314によって復号化されて多値バンドメモリ格納領域3444に格納されたRGB画像データを、多値バンドメモリ格納領域3444から読み出し、色変換処理や階調処理を行い、2値データになった画像をプリンタエンジンコントローラ16へ転送する。
【0138】
図30は、第2の実施の形態におけるメモリのフォーマットの1例を示す模式図である。第1の実施形態と異なる点を述べると、多値バンドメモリ格納領域3444は、復号化された多値の複数のバンド情報を格納する。
【0139】
[2.3.各部におけるデータ処理の流れ]
図31は、スキャナ入力時からのデータ処理の流れを説明する図である。スキャナの読み込み(矢印1)から編集処理されてメモリ4に格納された画像データが復号部14に送信されるまでは第1の実施形態における流れと同じであるので説明を省略する。
【0140】
メモリコントローラ3は編集処理が施された符号データをメモリ4から読み込み復号化部3314へ転送する(矢印7)。復号化部3314は復号化処理を行う。復号化部3314は、復号化された画像データをメモリコントローラ3へ転送し、メモリコントローラ3は受け取った復号化データをメモリ4の多値バンドメモリ格納領域3444に格納する(矢印8)。
【0141】
メモリコントローラ3は、復号化されたデータをメモリ4の多値バンドメモリ格納領域3444から読み出し、画像処理部3415へ転送する(矢印9)。画像処理部3315は画像処理を行いバスI/F3311へ転送し、バスI/F11は受け取った画像処理後データをプリンタエンジンコントローラ16およびプリンタエンジン17へ転送する(矢印10)。
【0142】
図32は、符号化部の機能的ブロック図である。符号化部の機能と作用は、第1の実施形態と同じであるので(図9とその説明)省略する。また、符号化部12の符号化処理フローについても、第1の実施形態と同じであるので(図10およびその説明)省略する。図32中のJPEG符号化部1403の機能と動作については、第1の実施形態と同じであるので(図13およびその説明)省略する。図32中の編集処理部13の機能と動作については、第1の実施形態と同じであるので(図14およびその説明)省略する。また、図32中の編集処理部13の編集処理フローについても、第1の実施形態における流れと同じであるので(図21とその説明)、説明を省略する。
【0143】
[2.4.復号化部の動作]
図33は、復号化部の機能的ブロック図である。復号化部3314は、メモリコントローラI/F4201、バッファ4202、JPEG復号化部4203、バッファ4204、読み込みアドレス生成部4205、書き込みアドレス生成部4206、およびコントローラ4207を備える。
【0144】
メモリコントローラI/F4201は、メモリ4から、処理するマクロブロック先頭アドレスを読み込み、読み込みメモリアドレス生成部4205へ転送する。そして、順次、編集処理されたマクロブロックの符号データを符号ページメモリ格納領域42から読み込み、JPEG復号化部4203のバッファ4202へ転送し、また、JPEG復号部4203からのバッファ4204の符号データを順次メインメモリ4へ転送する。バッファ4202は、JPEG復号化部4203へ符号データを転送するためのバッファである。
【0145】
JPEG復号化部4203は、メインメモリ4の符号ページメモリ格納領域42から符号を読み込み、復号化し、バッファ4204へ転送する。JPEG復号化部4203の構成と動作は、図29およびその説明と同じであるので省略する。バッファ4204は、JPEG復号化部4203からの画像データを一時格納する。
【0146】
読み込みメモリアドレス生成部4205は、メインメモリ4のマクロブロック先頭アドレス領域からマクロブロックの先頭アドレスを読み込み、そのアドレスにより、マクロブロックの符号を符号ページメモリ格納領域42から読み込み、バッファ4202へ転送する。
【0147】
図34は復号処理部によるマクロブロックの読み込み順序の1例を説明する図である。この場合、矢印に示されるように1→4、5→8、9→12、そして13→16へと読み取る。
【0148】
書き込みアドレス生成部4206は、メインメモリ4の多値バンドメモリ格納領域3444へバッファ4204の画像データを書き込むための書き込みアドレスを生成する。パネルからの入力によって指定された編集処理内容によって決定されるマクロブロックの書き込み順序に従って、書き込みアドレスは生成される。この構成によって、マクロブロック単位での回転処理に伴うマクロブロック単位での移動処理がなされる。コントローラ4207は、復号化部3314の全体を制御する。
【0149】
図35は、復号化処理部による復号化処理の流れを示すフロー図である。符号4413は多値バンドメモリフォー的の1例である。まず、メモリコントローラI/F4201は、マクロブロック4410の符号を1つをメインメモリ4の符号ページメモリ格納領域42から読み込む。この時、対応するマクロブロックのメインメモリ4のマクロブロック先頭アドレス格納領域43から、先頭アドレスを読み込み、このページの符号の先頭アドレスを加えて対応するマクロブロックの符号の先頭アドレスを求める(ステップS4401)。そして、マクロブロック4410に含まれるサブブロック4411の符号を1つ復号化する(ステップS4402)。
【0150】
次に、復号化処理後の画像をメモリ4の多値バンドメモリ格納領域3544(図29および30)に書き込む(ステップS4403)。マクロブロック内の全てのサブブロックが処理されたかを判定し(ステップS4404)、まだの場合(ステップS4404のNo)はステップS4402に戻り、処理された場合は(ステップS4404のYes)、ステップS4405に進む。
【0151】
バンド内の全てのマクロブロックが処理されたかを判定し(ステップS4405)、まだの場合(ステップS4405のNo)はステップS4401に戻り、処理されている場合(ステップS4405のYes)は、次にページ内の全てのマクロブロックバンドが処理されたかを判定する(ステップS4406)。全てのマクロブロックバンドの処理がまだの場合(ステップS4406のNo)は、ステップS4401に戻り、処理されている場合(ステップS4406のYes)は終了する。
【0152】
[2.5.画像処理部の動作]
図36は、画像処理部の機能的ブロック図である。画像処理部3315は、メモリコントローラI/F4501、バッファ4502、色補正処理部4503、階調処理部4504、PIXEL TO PLANE変換部4505、バッファ4506、バスI/F4507、読み込みメモリアドレス生成部4508、そしてコントローラ4509を備える。
【0153】
メモリコントローラI/F4501は、メインメモリ4の多値バンドメモリ格納領域3444から画像処理後の多値バンドメモリデータを読み込み、バッファ4502へ転送する。バッファ4502は、復号化部3314によって復号化処理された画像データを一時格納する。色補正処理部4503は、バッファ4502に格納された多値RGBデータに対して色補正を行い、多値CMYKデータへ変換する。階調処理部4504は、色補正処理部4502から受け取った多値CMYKデータを階調処理して2値、4値、16値などのデータへ変換する。PIXEL TO PLANE変換部4505は、階調処理部4504で階調処理された2値、4値、16値などのデータを、指定された版のデータのみPIXELからPLANEへ変換し、バッファ4506へ転送する。バッファ4506は、PIXEL TO PLANE変換部4505により変換された画像データを一時格納する。バスI/F4507は、バスI/F3311へ画像処理後のデータを転送する。
【0154】
読み込みメモリアドレス生成部4508は、復号化処理後の画像データをメインメモリ4の多値バンドメモリ格納領域3444から読み込むアドレスを生成する。コントローラ4509は、画像処理部3315をコントロールする。
【0155】
図37は、画像処理部による画像処理の流れを示すフロー図である。メインメモリの多値バンドメモリ格納領域3444(図31)の画像を読み込む(ステップS4601)。読み込まれた画像データは、色補正処理部3102によって、補正処理が施され、RGBからCMYKへと変換される(ステップS4602)。多値CMYK画像が階調処理を施されて、2値へと変換される(ステップS4603)。変換された2値CMYKデータは各C、M、Y、Kプレーンごとに固定長にまとめられ、バスI/F3311に送られる(ステップS4604)。
【0156】
バンド内の全てのマクロブロックが処理されたかどうかが判定され(ステップS4605)、まだの場合(ステップS4605のNo)はステップS4601に戻り、処理されている場合(ステップS4605のYes)は、次のステップに進む。ページ内の全てのマクロブロックバンドが処理されたかが判定され(ステップS4606)、まだの場合(ステップS4606のNo)はステップS4601に戻り、処理が終了した場合(ステップS4606のYes)は、終了する。
【0157】
[2.6.実施の形態2による画像形成装置の効果]
こうして実施の形態2では、画像処理部3315がバスI/F3311を介してプリンタエンジンコントローラ16、プリンタエンジン17へと直接つながっているために、階調処理後(画像処理後)の画像をメモリへ格納せずに、直接プリンタエンジンへ送る。この構成により、符号データの復号化処理後、画像処理がプリンタのエンジンスピードに復号化処理、画像処理が同期する必要があり、画像処理部のスピードはプリンタエンジンと同じスピードである必要があり、処理装置のゲート数などが大きくなるものの、階調処理後(画像処理後)の画像をメモリへ格納しないので、メモリを多く使用しない利点がある。
【0158】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、読み込んだ画像データをマクロブロック単位で可変長符号化して編集処理において復号化して処理しその後再び可変長符号化した画像データを復号化し、指定された編集内容によって決まる順序で出力するので、固定長符号化に比べて、復号化処理においても画像出力時においても画像の編集処理を済ませて出力できるので、高画質な画像を効率良く画像形成できる画像形成装置を提供できるという効果を奏する。
【0159】
この請求項2の発明によれば、読み込んだ画像データをマクロブロック単位で可変長符号化して記憶手段に格納し、読み出して一度復号化して編集処理を済ませて符号化した画像データを復号化し、指定された編集内容によって決まる順序で出力するので、復号化処理においても画像出力時においても画像の編集処理の必要なく出力できるので、高画質な画像を効率良く画像形成できる画像形成装置を提供できるという効果を奏する。
【0160】
この請求項3の発明によれば、マクロブロックに含まれるサブブロックごとに編集処理を施すことができるので、高画質な画像を効率良く画像形成する画像形成装置を提供できるという効果を奏する。
【0161】
この請求項4の発明によれば、アドレス認識手段がマクロブロックの符号長合計を計算することができるので、マクロブロックの符号長を効率良く算出することができるのでマクロブロックのアドレスを認識でき、高画質な画像を効率良く画像形成する画像形成装置を提供できるという効果を奏する。
【0162】
この請求項5の発明によれば、符号長計算手段によってマクロブロックの符号長を計算して記憶されたマクロブロックの先頭アドレスを効率良く計算することができるので、高画質な画像を効率良く形成できる画像形成装置を提供できるという効果を奏する。
【0163】
この請求項6の発明によれば、マクロブロックごとに色補正処理を施した画像を出力できるので、高画質な画像を効率良く形成できる画像形成装置を提供できるという効果を奏する。
【0164】
この請求項7の発明によれば、更にマクロブロックごとに色補正処理を施した画像データに対して階調処理を行う階調処理手段を備えて階調処理を施すことができるので、高画質な画像を効率良く画像形成することができる画像形成装置を提供できるという効果を奏する。
【0165】
この請求項8の発明によれば、更に階調処理された画像データを記憶する階調画像記憶手段を備えて階調処理画像を記憶できるので、画像処理のための待ち時間無く画像処理を実行できるので、高画質な画像を効率良く画像形成できる画像形成装置を提供できるという効果を奏する。
【0166】
この請求項9の発明によれば、更に編集処理時にマクロブロックの画像データを展開することが可能なマクロブロック記憶手段を有して符号化されたマクロブロック画像データを展開して編集処理することができるので、文字原稿画像などのようにデータ量の小さい画像の合成に際しては、特に画像出力段階で編集処理する場合に比較して、高画質な画像を効率良く画像形成できる画像形成装置を提供できるという効果を奏する。
【0167】
この請求項10の発明によれば、編集手段は更に、マクロブロック記憶手段に蓄えられた画像データに対して合成処理を行う画像合成処理手段を備えたことによって、画像処理を施す前に編集処理指定手段によって指定された画像合成処理を施すことができるので、例えば文字画像のようにデータ量の小さい画像データの合成に際しては短時間で効率良く合成処理でき、また合成処理後は画像出力段階で合成処理を行わないので、高画質な画像を短時間で効率良く形成できる画像形成装置を提供できるという効果を奏する。
【0168】
この請求項11の発明によれば、画像データをサブブロックごとに90度単位で回転処理する回転処理手段を有して、画像処理より前に回転処理を済ませて画像出力できるので、回転処理条件に制約されずに画像出力できる高画質な画像を効率良く画像形成できる画像形成装置を提供できるという効果を奏する。
【0169】
この請求項12の発明によれば、画像出力するよりも前に可変長符号化データを編集段階で復号化して編集し、更に符号化して復号化ステップに送信して後に画像出力するので、画像出力段階で編集処理を行わないために、画像出力装置の制約を受けることなく、高画質な画像を短時間に効率良く画像出力できる画像形成方法を提供できるという効果を奏する。
【0170】
この請求項13の発明によれば、請求項12に記載された方法をコンピュータに実行させることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態1による画像形成装置の機能的ブロック図である。
【図2】実施の形態1による画像形成装置のハードウェア構成図である。
【図3】第1の実施形態による画像処理部の全体的なデータ処理の流れを示すフロー図である。
【図4】第1の実施形態による画像形成装置における画像データの処理の流れの概念図であり、(a)はデータを処理する各種部の機能的ブロック図、(b)は、バンドメモリフォーマットの1例を示す模式図、(c)は符号ページメモリフォーマットの1例を示す模式図、(d)はマクロブロック先頭アドレスフォーマットの1例を示す模式図、(e)は2バンドメモリフォーマットの1例を示す模式図、そして(f)はプリンタエンジンコントローラのメモリアクセスの順序の1例を示す模式図である。
【図5】メインメモリのフォーマットの1例を示す模式図である。
【図6】スキャナによって読み込まれた画像データの構成の1例を示す模式図であり、(a)はページデータ、(b)はマクロバンドブロックデータ、(c)はマクロブロックデータ、そして(d)はサブブロックデータの模式図である。
【図7】符号データの階層の1例を示す模式図であり、(a)はページの構成を示し、(b)はバンドの構成を示す。
【図8】マクロブロック先頭アドレスの階層の1例を示す模式図であり、(a)はページの階層を示し、(b)はバンドの階層を示す。
【図9】実施の形態1による画像形成装置の画像データ処理の流れを説明する図である。
【図10】符号化部の機能的ブロック図である。
【図11】符号化部による符号化処理動作を説明する図であり、(a)は符号化処理動作のフロー図であり、(b)はマクロブロックバンドの1例を示す模式図であり、そして(c)はマクロブロックの1例を示す模式図である。
【図12】マクロブロックバンドおよびマクロブロックの符号化を説明する図である。
【図13】JPEG符号化部の機能的ブロック図である。
【図14】編集処理部の機能的ブロック図である。
【図15】画像合成処理によって合成された合成画像の1例を説明する図である。
【図16】合成メモリフォーマットの1例を示す模式図であり、(a)はサブブロックからなるマクロブロックであり、(b)は画素からなるサブブロックを示す。1つのマクロブロックは(m+1)×(m+1)個のサブブロックからなり、1つのサブブロックは(n+1)×(n+1)個のピクセル(画素)からなる。
【図17】ページレベルの回転においてマクロブロックの符号を読み込む順序を示す説明図であり、(a)は0度回転(回転無し)、(b)は90度回転、(c)は180度回転、そして(d)は270度回転のそれぞれの場合を示す。
【図18】回転処理においてマクロブロックをサブブロック単位で読み出すことを説明する図であり、(a)、(b)、(c)、および(d)はそれぞれ90度、180度、および270度回転処理を示す。
【図19】8×8回転処理部がサブブロックごとに90度単位の回転角度に応じて、画素を回転処理することを説明する図であり、(a)は0度回転、(b)は90度回転、(c)は180度回転、そして(d)は270度回転を示す。
【図20】編集処理部による処理の流れを説明する図であり、(a)は処理の流れを示すフロー図、そして(b)はマクロブロックの読込み順序を説明する図である。
【図21】復号化部の機能的ブロック図である。
【図22】復号化部14におけるマクロブロックメモリフォーマットの1例を示す模式図であり、(a)はマクロブロックの、(b)はサブブロックのフォーマット例を示す。
【図23】復号化処理部による復号化処理の流れを説明する図であり、(a)は復号化処理のフロー図であり、(b)はサブブロックの読み込み方向を示す図である。
【図24】マクロブロックデータを復号化処理する際の復号処理読み込み順序の1例を示す模式図である。
【図25】復号化部におけるJPEG復号化部の機能的ブロック図である。
【図26】画像処理部の機能的ブロック図である。
【図27】画像処理部による画像処理の流れを説明する図であり、(a)は画像処理の流れを示すフロー図、そして(b)はマクロブロックバンドを説明する図である。
【図28】本発明の実施の形態2による画像形成装置のハードウェア構成図である。
【図29】実施の形態2による画像形成装置における画像データ処理の流れの概念図であり、(a)はデータを処理する各種部の機能的ブロック図、(b)は、バンドメモリフォーマットの1例を示す模式図、(c)は符号ページメモリフォーマットの1例を示す模式図、(d)はマクロブロック先頭アドレスフォーマットの1例を示す模式図、そして(e)は2バンドメモリフォーマットの1例を示す模式図、そして(f)はプリンタエンジンコントローラのメモリアクセスの順序の1例を示す模式図である。
【図30】第2の実施の形態による画像形成装置のメモリのフォーマットの1例を示す模式図である。
【図31】実施の形態2による画像形成装置の画像データ処理の流れを説明する図である。
【図32】符号化部の機能的ブロック図である。
【図33】復号化部の機能的ブロック図である。
【図34】マクロブロックデータを復号化処理する際の復号処理読み込み順序の1例を示す模式図である。
【図35】復号化処理部による復号化処理の流れを説明する図であり、(a)は復号化処理のフロー図、(b)はサブブロックの読み込み方向を示す図、そして(c)は多値バンドメモリフォーマット例である。
【図36】画像処理部の機能的ブロック図である。
【図37】画像処理部による画像処理の流れを示すフロー図である。
【図38】4/8GBTC処理のアルゴリズムを説明する図である。
【図39】3/8GBTC処理のアルゴリズムを説明する図である。
【図40】2/8GBTC処理のアルゴリズムを説明する図である。
【図41】本発明の実施の形態による画像形成装置を備えた複写機の内部機構を説明する図である。
【符号の説明】
1 CPU
2 CPUI/F
3 メモリコントローラ
4 メモリ
5 ローカルバスI/F
6 ROM
7 パネルコントローラ
8 パネル
9 スキャナ
10 平滑フィルタ処理部
11 バスI/F
12 符号化部
13 編集処理部
14 復号化部
15 画像処理部
16 プリンタエンジンコントローラ
17 プリンタエンジン
19 ハードディスク
41 多値バンドメモリ格納領域
42 符号ページメモリ格納領域
43 マクロブロック先頭アドレス格納領域
44 2値バンドメモリ格納領域
45 合成メモリ
51 プログラム領域
1001 複写機1200自動原稿送り部(ADF)
1002 原稿台
1003 給送ローラ
1004 給送ベルト
1005 排送ローラ
1006 コンタクトガラス
1007 原稿セット検知
1008 第1トレイ
1009 第2トレイ
1011 第1給紙部
1012 第2給紙部
1014 縦搬送ユニット
1015 感光体
1027 現像ユニット
1016 搬送ベルト
1017 定着ユニット
1018 排紙ユニット
1019 排紙ローラ
1027 現像ユニット
1050 読み取りユニット
1051 露光ランプ
1052 第1ミラー
1053 レンズ
1054 CCDイメージセンサ
1057 書き込みユニット
1058 レーザ出力ユニット
1059 結像レンズ
1060 ミラー
1064 セレクタ
1100 フィニシャ
1101 切り替え板
1102 通常排紙ローラ
1103 搬送ローラ
1104 通常排紙トレイ
1108、1009 排紙トレイ
1110 ステープル完了排紙トレイ
1111 両面給紙ユニット
1112 分岐爪
1401 メモリコントローラI/F
1402 バッファ
1403 JPEG符号化部
1405 読込みメモリアドレス生成部
1406 符号長カウント部
1407 マクロブロック先頭アドレス計算部
1408 メモリアドレス生成部
1409 コントローラ
1601 マクロブロックバンド
1602 マクロブロック
1603 サブブロック
1701 RGB・YUV変換部
1702 YDCT処理部
1703 Y量子化処理部
1704 Yエントロピー符号化部
1705 UDCT処理部
1706 U量子化処理部
1707 Uエントロピー符号化部
1708 VDCT処理部
1709 V量子化処理部
1710 Vエントロピー符号化部
1711 UDCT処理部
1801 メモリコントローラI/F
1802 バッファ
1803 JPEG復号化部
1804 8×8回転処理部
1805 バッファ
1806 JPEG符号化部
1807 バッファ
1808 画像合成部
1809 メモリI/F
1811 読み込みアドレス生成部
1812 符号長カウント部
1813 マクロブロック先頭アドレス計算部
1815 メモリアドレス生成部
1816 コントローラ
2501 写真画像
2502 文字画像
2503 写真画像に文字画像が埋め込まれた画像
2601 メモリコントローラI/F
2602 バッファ
2603 JPEG復号化部
2604 読み込みアドレス生成部
2605 メモリアドレス生成部
2606 メモリI/F
2607 マクロブロックメモリ
2608 コントローラ
3001 エントロピー復号化部
3002 Y逆量子化処理部
3003 YIDCT処理部
3004 U逆量子化処理部
3005 UIDCT処理部
3006 V逆量子化処理部
3007 VIDCT処理部
3008 YUV・RGB変換処理部
3009 コントローラ
3101 バッファ
3102 色補正処理部
3103 階調処理部
3104 PIXEL TO PLANE変換部
3105 バッファ
3106 メモリコントローラI/F
3107 コントローラ
3108 書き込みメモリアドレス生成部
3314 復号化部
3444 多値バンドメモリ格納領域
3315 画像処理部
3311 バスI/F
3314 復号化部
4201 メモリコントローラI/F
4202 バッファ
4203 JPEG復号化部
4204 バッファ
4205 読み込みアドレス生成部
4206 書き込みアドレス生成部
4207 コントローラ
4501 メモリコントローラI/F
4502 バッファ
4503 色補正処理部
4504 階調処理部
4505 PIXEL TO PLANE変換部
4506 バッファ
4507 バスI/F
4508 読み込みメモリアドレス生成部
4509 コントローラ

【特許請求の範囲】
【請求項1】
入力される画像データを符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像形成装置であって、
入力される前記画像データに対して編集処理内容を指定する編集指定手段と、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、
前記編集指定手段によって指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定手段によって指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、
前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定手段によって指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に出力する可変長復号化手段と、
を備えたことを特徴とする画像形成装置。
【請求項2】
入力される画像データを符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像形成装置であって、
入力される前記画像データに対して編集処理内容を指定する編集指定手段と、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、
前記可変長符号化手段によって生成された前記可変長符号データを、前記マクロブロック単位で順次記憶する可変長符号データ記憶手段と、
前記可変長符号データ記憶手段によって記憶された各マクロブロックの先頭アドレスを認識するアドレス認識手段と、
認識した前記マクロブロックの先頭アドレスを記憶するアドレス記憶手段と、前記編集指定手段によって指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定手段によって指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、
前記アドレス記憶手段に記憶された前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する前記マクロブロックの編集された前記編集後符号データを復号化し、前記編集指定手段によって指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に出力する可変長復号化手段と、
を備えたことを特徴とする画像形成装置。
【請求項3】
前記マクロブロックは複数のサブブロックからなることを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
前記アドレス認識手段は、更に、前記マクロブロックの符号長合計を計算する符号長計算手段を有することを特徴とする請求項2または3に記載の画像形成装置。
【請求項5】
前記アドレス認識手段は、更に、前記符号長計算手段によって計算された前記マクロブロックの符号長から、前記符号記憶手段に記憶された前記マクロブロックの先頭アドレスを計算する先頭アドレス計算手段を有することを特徴とする請求項2〜4のいずれか1つに記載の画像形成装置。
【請求項6】
前記可変長復号化手段によって生成されたマクロブロックごとの画像データに対して色補正処理を行う色補正手段を、更に備えたことを特徴とする請求項1〜5のいずれか1つに記載の画像形成装置。
【請求項7】
前記色補正手段から色補正された前記マクロブロックごとの画像データを受け取り、階調処理を行う階調処理手段を、更に備えたことを特徴とする請求項6に記載の画像形成装置。
【請求項8】
前記階調処理手段によって階調処理された画像データを記憶する階調画像記憶手段を、更に備えたことを特徴とする請求項7に記載の画像形成装置。
【請求項9】
前記編集手段は、更に編集処理時に前記マクロブロックの画像データを展開するマクロブロック記憶手段を有することを特徴とする請求項1〜8のいずれか1つに記載の画像形成装置。
【請求項10】
前記編集処理指定手段は合成処理を指定でき、
前記編集手段は、更に、前記マクロブロック記憶手段に蓄えられた前記画像データに対して合成処理を行う画像合成処理手段を備えたことを特徴とする請求項1〜9のいずれか1つに記載の画像形成装置。
【請求項11】
前記編集処理指定手段は、90度ごとの回転処理を指定でき、
前記編集手段は、更に、前記マクロブロック記憶手段に蓄えられた前記画像データをサブブロックごとに90度単位で回転処理する回転処理手段を有することを特徴とする請求項3〜10のいずれか1つに記載の画像形成装置。
【請求項12】
入力された画像データに画像処理を施して画像出力する画像形成方法であって、
入力される画像データに対して編集処理内容を指定する編集指定ステップと、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化ステップと、
前記編集指定ステップにおいて指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定ステップにおいて指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集ステップと、
前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定ステップにおいて指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に送信する可変長復号化ステップと、
を含むことを特徴とする画像処理方法。
【請求項13】
請求項12に記載された方法をコンピュータに実行させるプログラム。

【図1】
image rotate



【図2】
image rotate



【図3】
image rotate



【図4】
image rotate



【図5】
image rotate



【図6】
image rotate



【図7】
image rotate



【図8】
image rotate



【図9】
image rotate



【図10】
image rotate



【図11】
image rotate



【図12】
image rotate



【図13】
image rotate



【図14】
image rotate



【図15】
image rotate



【図16】
image rotate



【図17】
image rotate



【図18】
image rotate



【図19】
image rotate



【図20】
image rotate



【図21】
image rotate



【図22】
image rotate



【図23】
image rotate



【図24】
image rotate



【図25】
image rotate



【図26】
image rotate



【図27】
image rotate



【図28】
image rotate



【図29】
image rotate



【図30】
image rotate



【図31】
image rotate



【図32】
image rotate



【図33】
image rotate



【図34】
image rotate



【図35】
image rotate



【図36】
image rotate



【図37】
image rotate



【図38】
image rotate



【図39】
image rotate



【図40】
image rotate



【図41】
image rotate


【公開番号】特開2004−266654(P2004−266654A)
【公開日】平成16年9月24日(2004.9.24)
【国際特許分類】
【出願番号】特願2003−56157(P2003−56157)
【出願日】平成15年3月3日(2003.3.3)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】