JP2004266654A - Device and method for image forming, and program for executing the method - Google Patents
Device and method for image forming, and program for executing the method Download PDFInfo
- Publication number
- JP2004266654A JP2004266654A JP2003056157A JP2003056157A JP2004266654A JP 2004266654 A JP2004266654 A JP 2004266654A JP 2003056157 A JP2003056157 A JP 2003056157A JP 2003056157 A JP2003056157 A JP 2003056157A JP 2004266654 A JP2004266654 A JP 2004266654A
- Authority
- JP
- Japan
- Prior art keywords
- data
- editing
- image
- unit
- processing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 137
- 238000012545 processing Methods 0.000 claims abstract description 424
- 230000008569 process Effects 0.000 claims description 117
- 238000012937 correction Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 2
- 230000002194 synthesizing effect Effects 0.000 abstract description 16
- 230000006866 deterioration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 115
- 238000012546 transfer Methods 0.000 description 83
- 230000005055 memory storage Effects 0.000 description 47
- 238000013139 quantization Methods 0.000 description 33
- 238000006243 chemical reaction Methods 0.000 description 19
- 230000015572 biosynthetic process Effects 0.000 description 16
- 238000003786 synthesis reaction Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 13
- 238000009499 grossing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 239000011521 glass Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003705 background correction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 210000000078 claw Anatomy 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 108091008695 photoreceptors Proteins 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
【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 コントローラ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image forming apparatus such as a copier, a scanner, a digital camera, and a printer, and more particularly, to an image forming apparatus that compresses and stores captured image data and outputs the compressed data by performing rotation and image synthesis processing. Equipment related.
[0002]
[Prior art]
The image data compression technique is generally used in the field of image formation for the purpose of reducing the amount of memory for holding image data or reducing the transmission time of image data. There are various image data compression methods depending on the processing mode of the image data. When printing image data, it is necessary to perform high-speed processing such as rotating and printing the image data on a limited capacity memory. Fixed-length compression is often used. As a typical fixed-length compression method, GBTC (Generalized Block Trunking Coding) is known. FIGS. 38 to 40 are diagrams for explaining the algorithm of the GBTC process, and show the 4/8 GBTC, 3/8 GBTC, and 2/8 GBTC processes, respectively.
[0003]
For example, in the invention of Japanese Patent Application Laid-Open No. 2001-218061, according to the GBTC LD value, a GBTC having good image quality such as 4/8 GBTC is arranged at an edge portion having a large LD value, and 2 GB is assigned to an edge portion having a small LD value. Although there is some problem in image quality such as / 8 GBTC, a method of arranging GBTC having a high compression ratio and fitting it into a fixed code length for each line is disclosed.
[0004]
Also, in the invention of Japanese Patent Application Laid-Open No. H10-75345, when image data is encoded by a JPEG (Joint Photographic Coding Experts Group) method, a band buffer is provided to temporarily store image data transferred serially such as a scanner. By storing and issuing an RST (ReStart) marker for each square macroblock equal to the number of lines in the band buffer, the DC component (DC component) is initialized for each macroblock and the RST marker of the code is recognized. Thus, a method is disclosed in which a pointer table is generated for recognizing the position of each macroblock, a decoding process is performed for each macroblock at the time of image output, a rotation process is performed in units of 90 degrees, and after image processing, the image is transferred to a printer engine. Have been. In addition, the invention of the same publication discloses a method in which encoding is performed on a macroblock basis, a code length is determined for each macroblock, addresses are managed, and rotation processing is enabled.
[0005]
[Patent Document 1]
JP 2001-218061 A (
[Patent Document 2]
JP-A-10-75345 (page 5-9, FIG. 1-6)
[0006]
[Problems to be solved by the invention]
As described above, in the image processing apparatus for print processing, when GBTC or the like is used as fixed-length compression, for example, GBTC uses 8 types of 4 × 4 dots per block in 4/8 compression, and 3 bits per dot. In the 3/8 compression, four types of two-bit colors are allocated to one dot, and in the 2/8 compression, two types of one-bit colors are allocated. For this reason, especially in one block in which the gradation difference of pixels is large, dust-like noise called a notch is generated in the contour of a character or the like, and there is a problem that image quality is deteriorated.
[0007]
In the invention of Japanese Patent Application Laid-Open No. H10-75345, decoding and rotation are performed serially and sequentially sent to the image processing apparatus and the printer engine. However, the printer engine normally has to transfer data within a certain time. Because of this, it is limited by the complicated control by various kinds of rotation processing and the slowest speed when accessing a complicated code memory, so that a high-speed memory must be used as a whole. Also, in the invention of the publication, when performing various editing processes, in order to read and process a plurality of images such as an image in which an original image and a character are combined, a processing time to be allocated is determined on the assumption that the processing is the slowest. Therefore, there was a problem that the system was likely to be an over-spec system as a whole. In addition, since the editing process is performed in synchronization with the printer engine, it is difficult to complete the reading of the original image data and the reading of the character image or the like in the combining process within a certain period of time. Moreover, it is basically difficult to perform a combining process or the like on a variable-length code, and this point is not specified in the invention of Japanese Patent Application Laid-Open No. H10-75345. Further, there is a problem that it is difficult to perform a parallel process of reading another page from a scanner and encoding the page during a decoding process (during printing) required by the digital copying machine.
[0008]
The present invention has been made in view of the above, and it is not necessary for an electrical control system to have a dedicated band memory for storing a scanner image, and it is possible to rotate an image at the time of image output while maintaining image quality using variable length code data. It is an object of the present invention to provide an image forming apparatus capable of quickly outputting an image without being restricted by editing processing for combining images. It is another object of the present invention to provide an image forming apparatus capable of performing encoding and decoding (reading and outputting) in parallel in image forming processing.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to
[0010]
According to the first aspect of the present invention, edit designating means for designating edit processing contents for input image data, and converting the input image data into band data composed of a plurality of macroblocks and converting the image data into band data composed of a plurality of macroblocks. A macroblock unit in the order of macroblocks arranged in the sub-scanning direction of the edited image data determined by the editing processing content specified by the editing designating means, and a variable length coding means for generating variable length code data by performing variable length coding. Reads the variable-length code data, decodes the read variable-length code data to obtain decoded data at the time of editing, edits the edited data designated by the editing designating means, and edits the decoded data at the time of editing. Editing means for again performing variable-length encoding on the edited decoded data obtained as described above to generate edited variable-length code data; Variable-length decoding means for reading the address, decoding the edited code data of the edited macroblock corresponding to the start address, and outputting the macroblocks determined by the editing processing content designated by the editing designating means in the image output order. With this arrangement, the read image data is variable-length coded in macroblock units, edited, processed, decoded, and output and transmitted in the order determined by the specified editing contents. And an image forming apparatus capable of efficiently outputting a high-quality image in a short time without restriction on image processing at the time of image output.
[0011]
According to a second aspect of the present invention, there is provided an image forming apparatus which encodes, edits, and decodes input image data, performs image processing on the image data, and outputs image data after the image processing. Editing designating means for designating editing processing content for the image data; converting the input image data into band data composed of a plurality of macroblocks; , A variable-length code data storage means for sequentially storing the variable-length code data generated by the variable-length coding means in macroblock units, and a variable-length code data storage means. Address recognition means for recognizing the start address of each macro block stored by the control unit, and storing the recognized start address of the macro block. Address storage means, read out the variable-length code data in macroblock units, in the order of the macroblocks arranged in the sub-scanning direction of the edited image data determined by the editing processing content specified by the editing specifying means, The read variable-length code data is decoded to obtain edit-time decoded data, and the edit-content specified by the edit designating means is edited for the edit-time decoded data to obtain the edited data. Editing means for again performing variable-length coding on the edited decoded data to generate edited variable-length code data; and reading a head address of the macroblock stored in the address storage means, and reading the macroblock corresponding to the head address. The edited code data after the editing is decoded, and the editing process specified by the editing specifying means is performed. A variable length decoding unit operable macroblock determined by the content outputted to the order in which they are the image output, an image forming apparatus comprising the.
[0012]
According to the second aspect of the present invention, the editing designating means for designating the contents of the editing processing for the input image data, and converting the input image data into band data composed of a plurality of macroblocks, and converting the image data into macroblock units. A variable-length encoding unit that performs variable-length encoding to generate variable-length code data; a variable-length code data storage unit that sequentially stores the variable-length code data generated by the variable-length encoding unit in macroblock units; Address recognition means for recognizing the head address of each macroblock stored by the code data storage means, address storage means for storing the head address of the recognized macroblock, and editing determined by the editing processing content specified by the editing specification means In the order of the macroblocks arranged in the sub-scanning direction of the processed image data, Reads the long code data, decodes the read variable length code data to obtain decoded data at the time of editing, edits the edited data designated by the edit designating means for the decoded data at the time of editing, Editing means for generating the variable-length code data after editing by again performing variable-length coding on the obtained decoded data, and reading the head address of the macroblock stored in the address storage means, and editing the macroblock corresponding to the head address. Variable-length decoding means for decoding the edited edited code data and outputting the macroblocks determined by the editing processing content designated by the editing designating means in an image output order, Is encoded and stored in macro-block units, and after the editing process is completed, Since an image is output in a determined order, an image forming apparatus capable of efficiently outputting a high-quality image without performing image processing at the time of image output is compared with a configuration in which the image processing unit performs an editing process and outputs the image. Can be provided.
[0013]
According to a third aspect of the present invention, in the image forming apparatus according to the first or second aspect, the macroblock includes a plurality of sub-blocks.
[0014]
According to the third aspect of the present invention, since a macroblock is composed of a plurality of subblocks, an editing process can be performed for each subblock, so that an image forming apparatus that efficiently forms a high-quality image is provided. it can.
[0015]
According to a fourth aspect of the present invention, in the image forming apparatus according to the third aspect, the address recognizing means further includes a code length calculating means for calculating a total code length of the sub-block. .
[0016]
According to the fourth aspect of the present invention, since the address recognizing means has the code length calculating means for calculating the total code length of the sub-block, the code length of the macro block can be efficiently calculated. Can recognize the address.
[0017]
According to a fifth aspect of the present invention, in the image forming apparatus according to any one of the second to fourth aspects, the address recognition unit further includes a code length of the macroblock calculated by the code length calculation unit. And a start address calculating means for calculating a start address of the macro block stored in the code storage means.
[0018]
According to the fifth aspect of the present invention, since the address recognizing means has the head address calculating means, the address recognizing means can calculate the head address of the macroblock stored in the code storage means from the code length of the macroblock calculated by the code length calculating means. By calculating, the head address of each macroblock can be calculated efficiently.
[0019]
According to a sixth aspect of the present invention, in the image forming apparatus according to any one of the first to fifth aspects, a color correction process is performed on the image data for each macro block generated by the variable length decoding unit. And a color correcting means for performing the following.
[0020]
According to the sixth aspect of the present invention, since the image processing apparatus includes the color correction means for performing the color correction processing on the image data for each macro block generated by the variable length decoding means, Images can be output.
[0021]
According to a seventh aspect of the present invention, in the image forming apparatus according to the sixth aspect, there is provided a gradation processing unit that receives image data for each of the macroblocks color-corrected from the color correction unit and performs gradation processing. , Are further provided.
[0022]
According to the seventh aspect of the present invention, the image processing apparatus further includes a gradation processing unit that receives image data for each color-corrected macroblock from the color correction unit and performs gradation processing. Can be output as an image.
[0023]
The invention according to
[0024]
According to the eighth aspect of the present invention, the image processing apparatus further includes a gradation image storing means for storing the image data subjected to the gradation processing by the gradation processing means. Since the image can be stored and output by the means, the image processing can be executed without waiting time for the image output.
[0025]
According to a ninth aspect of the present invention, in the image forming apparatus according to any one of the first to eighth aspects, the editing unit further expands the image data of the macroblock at the time of editing processing by the editing unit. It is characterized by having a macroblock storage means capable of performing the operation.
[0026]
According to the ninth aspect of the present invention, the editing unit further includes a macroblock storage unit capable of expanding the image data of the macroblock at the time of the editing process by the editing unit. Since data can be expanded and edited, editing can be performed quickly and efficiently when combining images with a small amount of data such as text original images, especially when compared to editing at the image output stage. Since the image can be processed and the image after the editing process is output, a high-quality image can be efficiently output in a short time.
[0027]
According to a tenth aspect of the present invention, in the image forming apparatus according to any one of the first to ninth aspects, the editing processing designating means can designate synthesis processing, and the editing means further comprises the macro block An image synthesizing unit is provided for performing a synthesizing process on the image data stored in the storage unit.
[0028]
According to the tenth aspect of the present invention, in the image forming apparatus according to any one of the first to ninth aspects, the editing processing designating means can designate synthesis processing, and the editing means further stores the macroblock storage means. By providing image combining processing means for performing combining processing on the stored image data, image combining processing can be performed before performing image processing. Therefore, image data having a small data amount such as a character image can be obtained. When the image is synthesized, the image can be efficiently formed in a short time, and after the image is synthesized, the image is not synthesized at the image output stage. Therefore, an image forming apparatus capable of efficiently forming a high-quality image in a short time can be provided.
[0029]
According to an eleventh aspect of the present invention, in the image forming apparatus according to any one of the third to tenth aspects, the editing processing designating means can designate a rotation processing every 90 degrees, and the editing means Further, the image processing apparatus further includes a rotation processing unit that performs a rotation process on the image data stored in the macroblock storage unit in units of 90 degrees for each sub-block.
[0030]
According to the eleventh aspect of the present invention, the editing processing designating means can designate the rotation processing every 90 degrees, and the editing means further divides the image data stored in the macroblock storage means into 90-degree units for each sub-block. By having the rotation processing means for performing the rotation processing in (1), the rotation processing can be completed before the image is output, and then the image can be output. Therefore, when the image is output, the image that has been subjected to the rotation processing can be output regardless of the image rotation processing. An image forming apparatus capable of efficiently outputting a high-quality image in a short time can be provided.
[0031]
According to a twelfth aspect of the present invention, there is provided an image forming method for performing image processing on input image data and outputting an image, comprising: an edit specifying step of specifying edit processing content for input image data; A variable-length encoding step of converting the image data into band data composed of a plurality of macroblocks, and performing variable-length encoding on a macroblock basis to generate variable-length code data; and In the order of the macroblocks arranged in the sub-scanning direction of the image data after the editing process determined by the content of the editing process, the variable-length code data is read in units of the macroblock, and the read variable-length code data is decoded. Obtain the decryption data at the time of editing, and the decryption data specified at the time of editing Edit the edited contents, edit the edited decoded data obtained by editing again to generate variable-length code data, and read the head address of the macro block. A variable-length decoding step of decoding the edited code data of the edited macro block, and transmitting the macro block determined by the editing processing content specified in the editing specifying step in an image output order. An image processing method comprising:
[0032]
According to the twelfth aspect of the present invention, an editing designation step of designating editing processing content for input image data, and converting the input image data into band data composed of a plurality of macro blocks, A variable-length coding step of generating variable-length code data by performing variable-length coding in block units, and the macros arranged in the sub-scanning direction of the image data after the editing processing determined by the editing processing content specified in the editing specifying step In the order of the blocks, the variable-length code data is read in units of the macroblock, the read-out variable-length code data is decoded to obtain edit-time decode data, and the edit-designating step is performed on the edit-time decode data. Perform editing of the editing content specified in the, after again variable length encoding the edited decoded data obtained by editing An editing step of generating post-collection variable-length code data, reading a head address of the macro block, decoding the edited code data of the edited macro block corresponding to the head address, and Variable length decoding step of transmitting the macro blocks determined by the contents of the editing processing in the order in which the macro blocks are image-outputted, thereby decoding the variable-length coded data in the editing stage before outputting the image. Since the image is edited, further encoded and transmitted to the decoding step, and then the image is output, the editing process is not performed at the image output stage. An image forming method capable of efficiently outputting an image can be provided.
[0033]
The invention according to
[0034]
BEST MODE FOR CARRYING OUT THE INVENTION
(Embodiment 1)
Hereinafter, a
[0035]
[1.1. Outline of Image Forming Apparatus According to First Embodiment]
FIG. 1 is a functional block diagram of the image forming apparatus according to the first embodiment. The image forming apparatus includes a
[0036]
When the operator inputs the editing processing content via the
[0037]
When an overview of the flow of image data to be processed is given, the user operates the
[0038]
The
[0039]
The
[0040]
[1.2. Function and Data Flow of Image Forming Apparatus According to First Embodiment]
FIG. 2 is a hardware configuration diagram of the image forming apparatus according to the first embodiment of the present invention. The image forming apparatus according to the embodiment includes a CPU (Central Processing Unit) 1 for controlling the operation of the entire copying apparatus, a CPU I /
[0041]
The
[0042]
The present embodiment will be described in more detail with reference to FIG. 2. The
[0043]
The
[0044]
The
[0045]
FIG. 3 is a data flow diagram illustrating an overall data processing flow of the image processing apparatus according to the first embodiment. First, multi-valued RGB image data is read from the scanner 9 (step S301). The read image data is subjected to image processing (smoothing filter processing) such as shading correction and MTF (Modulation Transfer Function = modulation transfer function) γ correction by the smoothing filter processing unit 10 (step S302). The
[0046]
Subsequently, the
[0047]
[1.3. Outline of Image Data Flow and Structure of Image Data]
4A and 4B are diagrams illustrating the flow of image data processing in the image forming apparatus, where FIG. 4A is a functional block diagram of each unit that performs data processing, FIG. 4B is a schematic diagram illustrating an example of a band memory format, (C) is a schematic diagram showing one example of a code page memory format, (d) is a schematic diagram showing one example of a macroblock head address format, (e) is a schematic diagram showing one example of a binary band memory format, FIG. 10F is a schematic diagram showing an example of the order of memory access of the printer engine controller (FIG. 9). The
[0048]
The
[0049]
The
[0050]
The
[0051]
The printer engine controller (FIG. 9) reads the binary band data in the horizontal direction and transfers the data to the
[0052]
FIG. 5 is a schematic diagram showing an example of the format of the
[0053]
The multi-value band
[0054]
FIGS. 6A and 6B are schematic diagrams illustrating an example of the configuration of image data read by a scanner, where FIG. 6A illustrates page data, FIG. 6B illustrates macroblock band data, FIG. 6C illustrates macroblock data, and FIG. () Is a schematic diagram of sub-block data. The page is composed of a plurality of macroblock bands (FIG. 6B) having a height of m pixels. A macroblock band is composed of a plurality of macroblocks (FIG. 6B). The macro block is composed of (m + 1) × (m + 1) sub-blocks ((c) in FIG. 6). One sub-block is composed of (n + 1) × (n + 1) pixels ((d) in FIG. 6).
[0055]
FIGS. 7A and 7B are schematic diagrams illustrating an example of a layer of code data. FIG. 7A illustrates a page layer, and FIG. 7B illustrates a macroblock band layer. A page is composed of a plurality of macroblock bands (FIG. 6A), and one band is composed of a plurality of macroblock codes (FIG. 6B).
[0056]
FIGS. 8A and 8B are schematic diagrams illustrating an example of a hierarchy of a macroblock head address, where FIG. 8A illustrates a page hierarchy and FIG. 8B illustrates a band hierarchy. The page includes
[0057]
[1.4. Flow of data processing in each part]
FIG. 9 is a diagram for explaining the flow of data processing from the time of input to the scanner. The
[0058]
The
[0059]
The
[0060]
The
[0061]
The
[0062]
[1.5. Operation of Encoding Unit]
FIG. 10 is a functional block diagram of the encoding unit. The
[0063]
The memory controller I /
[0064]
The
[0065]
The read memory
[0066]
The memory
[0067]
11A and 11B are diagrams illustrating an encoding process operation by the encoding unit, FIG. 11A is a flowchart of the encoding process operation, and FIG. 11B is a schematic diagram illustrating an example of a macroblock band. (C) is a schematic diagram showing an example of a macroblock. First, the
[0068]
One macroblock includes (m + 1) × (m + 1) subblocks. The first macroblock is sequentially encoded in the direction indicated by the arrow in FIG. 11C for each divided subblock. In the case of JPEG encoding, 8 × 8 pixel sub-blocks are sequentially encoded as shown in FIG. Then, the code length of each sub-block is sequentially added to the code length counter. When all the sub-blocks in the macro block have been encoded, the encoding of the I-th macro block is completed (step S1504).
[0069]
The code of the I-th macroblock is stored in the code
[0070]
The value of the start address of the macroblock obtained by the macroblock start
[0071]
FIG. 12 is a diagram illustrating macroblock bands and coding of macroblocks. Each of the
[0072]
FIG. 13 is a functional block diagram of the JPEG encoding unit. The
[0073]
The RGB /
[0074]
[0075]
Similarly,
[0076]
Similarly, the
[0077]
The code
[0078]
[1.6. Operation of Edit Processing Unit]
FIG. 14 is a functional block diagram of the editing processing unit. The
[0079]
The memory controller I /
[0080]
The
[0081]
As shown in FIGS. 18 and 20, the 8 × 8
[0082]
The
[0083]
The
[0084]
FIG. 21 is a diagram illustrating an example of a combined image combined by the image combining process. This shows that the
[0085]
FIG. 16 is a schematic diagram illustrating an example of the combined memory format. One
[0086]
The read memory
[0087]
FIGS. 17A and 17B are explanatory diagrams showing the order of reading the code of the macroblock in the page-level rotation. FIG. 17A shows a 0-degree rotation (no rotation), FIG. 17B shows a 90-degree rotation, and FIG. , And (d) show the respective cases of 270 degree rotation. At this time, the sign of the macroblock is read as indicated by the designated rotation angle in units of 90 degrees.
[0088]
The code
[0089]
The macroblock start
[0090]
The memory
[0091]
FIG. 18 is a diagram for explaining that the reading order is changed in subblock units in a macroblock. When re-encoding a macro block after image synthesis in the
[0092]
FIG. 19 is a diagram for explaining the rotation processing at the sub-block level. (A), (b), (c), and (d) show the rotation processing of 0, 90, 180, and 270 degrees, respectively. Is shown. The
[0093]
FIGS. 20A and 20B are diagrams illustrating the processing flow of the
[0094]
Next, a sub-block image is cut out from the
[0095]
The
[0096]
It is determined whether all the macroblocks in the page have been processed (step S2413). If not (step S2413: No), the process returns to step S2402. If processed, the process ends.
[0097]
[1.7. Operation of Decoding Unit]
FIG. 21 is a functional block diagram of the decoding unit. The
[0098]
The memory controller I /
[0099]
The
[0100]
The read
[0101]
The memory
[0102]
FIG. 22 is a schematic diagram showing an example of a macroblock memory format in the
[0103]
FIG. 23 is a flowchart showing the flow of the decoding process by the decoding processing unit. FIG. 24 is a schematic diagram showing an example of a decoding process reading order when decoding macroblock data. First, the memory controller I /
[0104]
Next, the decoded image is written in the macroblock memory 2607 (FIG. 21) (step S2803). It is determined whether all the sub-blocks in the macro block have been processed (step S2804). If not (No in step S2804), the process returns to step S2802, and if processed (Yes in step S2804), the process proceeds to step S2805.
[0105]
By switching the
[0106]
FIG. 26 is a functional block diagram of the
[0107]
The
[0108]
The Y inverse
[0109]
The U inverse
[0110]
The V inverse
[0111]
The YUV / RGB
[0112]
[1.8. Operation of Image Processing Unit]
FIG. 26 is a functional block diagram of the image processing unit. The
[0113]
The
[0114]
The PIXEL TO
[0115]
The write memory
[0116]
FIGS. 27A and 27B are diagrams illustrating the flow of image processing performed by the image processing unit. FIG. 27A is a flowchart illustrating the flow of image processing, and FIG. 27B is a diagram illustrating a macroblock band. The
[0117]
It is determined whether all the macroblocks in the band have been processed (step S3205). If not (step S3205: No), the process returns to step S3201. If processing has been performed (step S3205: Yes), the next Proceed to step. It is determined whether all the macroblock bands in the page have been processed (step S3206). If not (step S3206: No), the process returns to step S3201. If the process has been completed (step S3206: Yes), the process ends.
[0118]
[1.9. Effect of Image Forming Apparatus According to First Embodiment]
In the image forming apparatus according to the first embodiment, a multi-value band memory area is provided in the main memory, and an image from the scanner is subjected to a smoothing filter process or the like. The image data of the band is encoded and stored in the code page memory storage area. Thereafter, the image processing and rotation processing are performed by the editing processing unit, and the encoded data is re-encoded, and the edited code data is stored in the code page memory storage area. To be stored. Then, the data decoded by the decoding unit and subjected to the gradation processing after the image processing are stored in the binary band memory area, and then the printer engine controller sequentially reads the image data in the binary band memory area of the main memory, By transferring to the printer engine, there is no dedicated band memory, and the transfer to the printer engine is performed after editing, rotation, and image processing. Output processing can be performed. In addition, since the decoding process by the decoding unit has already been completed, the decoding process can be easily realized. Further, since there is no dedicated band memory for storing a scanner image, decoding and encoding can be performed simultaneously. Further, since the image processing is performed after the decoding processing and the band after the gradation processing is created in the area of the main memory, the decoding processing and the image processing do not have to be synchronized with the engine speed of the printer. Section and the image processing section can be relaxed. Further, since the decoding process and the image processing do not need to be synchronized with the engine speed of the printer, it is possible to output the data without any failure even if the speed of the decoding processing unit and the image processing unit is lower than that of the printer engine. There is an advantage that the number of gates can be reduced.
[0119]
Also, when the speed of the decoding processing unit and the image processing unit is higher than that of the printer engine, if the multifunction machine is used, the printer process and the copy process are executed at the same time. It can be executed behind the process.
[0120]
[1.10. Example of a copier including the image forming apparatus according to the first embodiment]
FIG. 41 is a diagram illustrating an internal mechanism of a copier including the image forming apparatus according to the embodiment of the present invention. A document bundle is placed on a document table 1002 in an automatic document feeder (hereinafter abbreviated as ADF) 1001 of the copying
[0121]
Transfer paper, which is a recording medium stacked on the
[0122]
The
[0123]
The transfer paper stacked on the staple table 1108 is aligned by a
[0124]
On the other hand, a normal
[0125]
When images are formed on both sides of the transfer sheet, the transfer sheet fed from each of the
[0126]
The photoreceptor 1015, the
[0127]
The polarized laser light is exposed and scanned in a direction (main scanning direction) orthogonal to the direction in which the photoconductor rotates, and performs recording in units of lines of an image signal output from a selector 1064 of an image forming apparatus described later. An image (electrostatic latent image) is formed on the photoconductor surface by repeating main scanning at a predetermined cycle corresponding to the rotation speed of the photoconductor and the recording density. As described above, the laser beam output from the
[0128]
(Embodiment 2)
Hereinafter, an image forming apparatus according to a second embodiment will be described with reference to the accompanying drawings in [2.1. Functional Configuration of Image Forming Apparatus According to Second Embodiment], [2.2. Outline of Flow of Image Data and Configuration of Image Data], [2.3. Flow of data processing in each section], [2.4. Operation of Decoding Unit], [2.5. Operation of Image Processing Unit] and [2.6. Effect of Image Forming Apparatus According to Second Embodiment] will be described in detail.
[0129]
[2.1. Functional Configuration of Image Forming Apparatus According to Second Embodiment]
The difference between the image forming apparatus according to the second embodiment of the present invention and the image forming apparatus according to the first embodiment is that the image processing unit in the flow of the image data processing is decoded by the
[0130]
With this configuration, in the second embodiment, since the image processing unit is directly connected to the printer engine controller and the
[0131]
Hereinafter, the same configuration as the first embodiment will be omitted or simply described, and different points will be mainly described. In the following drawings, the same reference numerals indicate the same configuration, and different reference numerals indicate different configurations throughout the detailed description.
[0132]
FIG. 28 is a diagram illustrating functions of the image forming apparatus according to the second embodiment of the present invention. Referring again to FIGS. 2 and 28, the difference between the first and second embodiments will be described again. In the first embodiment, the image processing performed by the
[0133]
As shown in FIG. 28, regarding the configuration of the image forming apparatus according to the second embodiment,
[0134]
The bus I /
[0135]
[2.2. Outline of image data flow and image data configuration]
FIGS. 29A and 29B are conceptual diagrams of the flow of image data processing in the image forming apparatus according to the second embodiment. FIG. 29A is a functional block diagram of various units that process data, and FIG. (C) is a schematic diagram showing one example of a code page memory format, (d) is a schematic diagram showing one example of a macroblock head address format, and (e) is a schematic diagram showing a two-band memory format. FIG. 7 is a schematic diagram showing one example, and FIG. 7F is a schematic diagram showing one example of a memory access order of the printer engine controller.
[0136]
After reading the multi-valued RGB image data from the
[0137]
The decoding unit 3314 accesses the
[0138]
FIG. 30 is a schematic diagram illustrating an example of a memory format according to the second embodiment. The difference from the first embodiment is that the multi-value band
[0139]
[2.3. Flow of data processing in each part]
FIG. 31 is a diagram for explaining the flow of data processing from the time of scanner input. The flow from the reading of the scanner (arrow 1) to the editing processing and the transmission of the image data stored in the
[0140]
The
[0141]
The
[0142]
FIG. 32 is a functional block diagram of an encoding unit. The function and operation of the encoding unit are the same as in the first embodiment (FIG. 9 and its description), and a description thereof will be omitted. Also, the coding processing flow of the
[0143]
[2.4. Operation of Decoding Unit]
FIG. 33 is a functional block diagram of the decoding unit. The decoding unit 3314 includes a memory controller I /
[0144]
The memory controller I /
[0145]
The
[0146]
The read memory
[0147]
FIG. 34 is a diagram illustrating an example of the order of reading macroblocks by the decoding processing unit. In this case, as shown by the arrows, reading is performed in the order of 1 → 4, 5 → 8, 9 → 12, and 13 → 16.
[0148]
The write
[0149]
FIG. 35 is a flowchart showing the flow of the decoding process by the decoding processing unit. Reference numeral 4413 is an example of a multi-value band memory type. First, the memory controller I /
[0150]
Next, the image after the decoding processing is written in the multi-value band memory storage area 3544 (FIGS. 29 and 30) of the memory 4 (step S4403). It is determined whether all the sub-blocks in the macro block have been processed (step S4404). If not (No in step S4404), the process returns to step S4402. If processed (Yes in step S4404), the process returns to step S4405. move on.
[0151]
It is determined whether all the macroblocks in the band have been processed (step S4405). If not (No in step S4405), the process returns to step S4401. If processing has been performed (Yes in step S4405), the next page is processed. It is determined whether all the macroblock bands in have been processed (step S4406). If all the macroblock bands have not been processed (No in step S4406), the process returns to step S4401, and if all macroblock bands have been processed (Yes in step S4406), the process ends.
[0152]
[2.5. Operation of Image Processing Unit]
FIG. 36 is a functional block diagram of the image processing unit. The
[0153]
The memory controller I /
[0154]
The read memory
[0155]
FIG. 37 is a flowchart showing the flow of image processing by the image processing unit. The image in the multi-value band memory storage area 3444 (FIG. 31) of the main memory is read (step S4601). The read image data is subjected to correction processing by the color
[0156]
It is determined whether all the macroblocks in the band have been processed (step S4605). If not (No in step S4605), the process returns to step S4601. If it has been processed (Yes in step S4605), the next Proceed to step. It is determined whether all the macroblock bands in the page have been processed (step S4606). If not (step S4606: No), the process returns to step S4601. If the process has been completed (step S4606: Yes), the process ends.
[0157]
[2.6. Effect of Image Forming Apparatus According to Second Embodiment]
In the second embodiment, since the
[0158]
【The invention's effect】
As described above, according to the first aspect of the present invention, the read image data is variable-length coded in macroblock units, decoded and processed in an editing process, and then the variable-length coded image data is decoded again. Since the output is performed in the order determined by the specified editing contents, compared to the fixed-length encoding, the image can be output after the image editing processing is completed even in the decoding processing and the image output, so that a high-quality image can be efficiently output. There is an effect that an image forming apparatus capable of forming an image can be provided.
[0159]
According to the second aspect of the present invention, the read image data is subjected to variable-length coding in units of macroblocks, stored in the storage means, read out, decoded once, edited, and coded image data is decoded. Since the output is performed in the order determined by the specified editing content, the image can be output without the necessity of the image editing process in both the decoding process and the image output process, so that an image forming apparatus capable of efficiently forming a high-quality image can be provided. This has the effect.
[0160]
According to the third aspect of the present invention, since an editing process can be performed for each sub-block included in a macroblock, it is possible to provide an image forming apparatus that efficiently forms a high-quality image.
[0161]
According to the invention of
[0162]
According to the fifth aspect of the present invention, since the code length of the macro block can be calculated by the code length calculating means and the head address of the stored macro block can be calculated efficiently, a high quality image can be efficiently formed. The present invention has the effect of providing an image forming apparatus capable of performing such operations.
[0163]
According to the sixth aspect of the present invention, it is possible to output an image on which color correction processing has been performed for each macroblock, so that it is possible to provide an image forming apparatus capable of efficiently forming a high-quality image.
[0164]
According to the seventh aspect of the present invention, it is possible to perform gradation processing by providing gradation processing means for performing gradation processing on image data on which color correction processing has been performed for each macroblock. This makes it possible to provide an image forming apparatus that can efficiently form a complex image.
[0165]
According to the eighth aspect of the present invention, since the gradation-processed image can be stored by further including the gradation-image storage means for storing the gradation-processed image data, the image processing can be executed without waiting for the image processing. Therefore, there is an effect that an image forming apparatus that can efficiently form a high-quality image can be provided.
[0166]
According to the ninth aspect of the present invention, the encoded macro block image data is further developed and edited by having a macro block storage unit capable of expanding the image data of the macro block during the editing process. Therefore, when synthesizing an image having a small data amount, such as a character document image, an image forming apparatus capable of efficiently forming a high-quality image is provided compared with a case where an editing process is performed at an image output stage. It has the effect of being able to do it.
[0167]
According to the tenth aspect of the present invention, the editing means further comprises an image synthesizing processing means for synthesizing the image data stored in the macroblock storage means. Since the image synthesizing process specified by the specifying means can be performed, for example, when synthesizing image data having a small data amount such as a character image, the synthesizing process can be performed efficiently in a short time. Since the synthesizing process is not performed, it is possible to provide an image forming apparatus capable of efficiently forming a high-quality image in a short time.
[0168]
According to the eleventh aspect of the present invention, since there is provided a rotation processing means for rotating the image data in units of 90 degrees for each sub-block, the image processing can be performed after the rotation processing is completed before the image processing. Thus, there is an effect that an image forming apparatus capable of efficiently forming a high-quality image capable of outputting an image without being restricted by the image forming apparatus can be provided.
[0169]
According to the twelfth aspect of the present invention, the variable-length coded data is decoded and edited in the editing stage before the image is output, further coded and transmitted to the decoding step, and the image is output afterward. Since the editing process is not performed at the output stage, there is an effect that it is possible to provide an image forming method capable of efficiently outputting a high-quality image in a short time without being restricted by the image output device.
[0170]
According to the thirteenth aspect, it is possible to cause a computer to execute the method according to the twelfth aspect.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of an image forming apparatus according to a first embodiment of the present invention.
FIG. 2 is a hardware configuration diagram of the image forming apparatus according to the first embodiment.
FIG. 3 is a flowchart illustrating an overall data processing flow of an image processing unit according to the first embodiment.
FIGS. 4A and 4B are conceptual diagrams of a flow of processing of image data in the image forming apparatus according to the first embodiment, wherein FIG. 4A is a functional block diagram of various units that process data, and FIG. (C) is a schematic diagram showing one example of a code page memory format, (d) is a schematic diagram showing one example of a macroblock head address format, and (e) is a schematic diagram showing a two-band memory format. FIG. 7 is a schematic diagram showing one example, and FIG. 7F is a schematic diagram showing one example of a memory access order of the printer engine controller.
FIG. 5 is a schematic diagram showing an example of a format of a main memory.
6A and 6B are schematic diagrams illustrating an example of a configuration of image data read by a scanner, where FIG. 6A illustrates page data, FIG. 6B illustrates macro band block data, FIG. 6C illustrates macro block data, and FIG. () Is a schematic diagram of sub-block data.
FIGS. 7A and 7B are schematic diagrams illustrating an example of a code data hierarchy, in which FIG. 7A illustrates a page configuration and FIG. 7B illustrates a band configuration.
8A and 8B are schematic diagrams illustrating an example of a hierarchy of a macroblock head address, where FIG. 8A illustrates a page hierarchy and FIG. 8B illustrates a band hierarchy.
FIG. 9 is a diagram illustrating a flow of image data processing of the image forming apparatus according to the first embodiment.
FIG. 10 is a functional block diagram of an encoding unit.
FIGS. 11A and 11B are diagrams illustrating an encoding processing operation by an encoding unit, FIG. 11A is a flowchart of the encoding processing operation, and FIG. 11B is a schematic diagram illustrating an example of a macroblock band; (C) is a schematic diagram showing an example of a macroblock.
FIG. 12 is a diagram illustrating encoding of a macroblock band and a macroblock.
FIG. 13 is a functional block diagram of a JPEG encoding unit.
FIG. 14 is a functional block diagram of an editing processing unit.
FIG. 15 is a diagram illustrating an example of a combined image combined by the image combining process.
FIGS. 16A and 16B are schematic diagrams showing an example of a combined memory format, wherein FIG. 16A shows a macro block composed of sub-blocks, and FIG. 16B shows a sub-block composed of pixels. One macroblock is composed of (m + 1) × (m + 1) subblocks, and one subblock is composed of (n + 1) × (n + 1) pixels.
FIGS. 17A and 17B are explanatory diagrams showing the order of reading macroblock codes in page-level rotation. FIG. 17A shows 0-degree rotation (no rotation), FIG. 17B shows 90-degree rotation, and FIG. , And (d) show the respective cases of 270 degree rotation.
FIG. 18 is a diagram illustrating reading of a macroblock in subblock units in a rotation process, where (a), (b), (c), and (d) are 90 degrees, 180 degrees, and 270 degrees, respectively. This shows the rotation process.
19A and 19B are diagrams illustrating that an 8 × 8 rotation processing unit performs rotation processing on pixels according to a rotation angle in units of 90 degrees for each sub-block, wherein FIG. 19A illustrates 0-degree rotation, and FIG. 90 degree rotation, (c) 180 degree rotation, and (d) 270 degree rotation.
FIGS. 20A and 20B are diagrams illustrating a flow of a process performed by an editing processing unit, where FIG. 20A is a flowchart illustrating a process flow, and FIG. 20B is a diagram illustrating a macroblock reading order.
FIG. 21 is a functional block diagram of a decoding unit.
FIGS. 22A and 22B are schematic diagrams illustrating an example of a macroblock memory format in the decoding unit; FIG. 22A illustrates a format example of a macroblock, and FIG.
23A and 23B are diagrams illustrating a flow of a decoding process performed by a decoding processing unit, where FIG. 23A is a flowchart of the decoding process, and FIG. 23B is a diagram illustrating a reading direction of a sub-block.
FIG. 24 is a schematic diagram showing an example of a decoding process reading order when decoding macroblock data.
FIG. 25 is a functional block diagram of a JPEG decoding unit in the decoding unit.
FIG. 26 is a functional block diagram of an image processing unit.
FIGS. 27A and 27B are diagrams illustrating the flow of image processing performed by the image processing unit. FIG. 27A is a flowchart illustrating the flow of image processing, and FIG. 27B is a diagram illustrating a macroblock band.
FIG. 28 is a hardware configuration diagram of an image forming apparatus according to a second embodiment of the present invention.
FIGS. 29A and 29B are conceptual diagrams of the flow of image data processing in the image forming apparatus according to the second embodiment. FIG. 29A is a functional block diagram of various units that process data, and FIG. A schematic diagram showing an example, (c) is a schematic diagram showing one example of a code page memory format, (d) is a schematic diagram showing one example of a macroblock head address format, and (e) is a schematic diagram showing one example of a two-band memory format. FIG. 7 is a schematic diagram illustrating an example, and FIG. 7F is a schematic diagram illustrating an example of a memory access order of the printer engine controller.
FIG. 30 is a schematic diagram illustrating an example of a format of a memory of the image forming apparatus according to the second embodiment.
FIG. 31 is a diagram illustrating a flow of image data processing of the image forming apparatus according to the second embodiment.
FIG. 32 is a functional block diagram of an encoding unit.
FIG. 33 is a functional block diagram of a decoding unit.
FIG. 34 is a schematic diagram showing an example of a decoding process reading order when decoding macroblock data.
35A and 35B are diagrams for explaining the flow of a decoding process performed by a decoding processing unit, where FIG. 35A is a flowchart of the decoding process, FIG. 35B is a diagram showing the reading direction of the sub-block, and FIG. It is an example of a multi-value band memory format.
FIG. 36 is a functional block diagram of an image processing unit.
FIG. 37 is a flowchart showing the flow of image processing by the image processing unit.
FIG. 38 is a diagram illustrating an algorithm of 4/8 GBTC processing.
FIG. 39 is a diagram illustrating an algorithm of 3/8 GBTC processing.
FIG. 40 is a diagram illustrating an algorithm of 2/8 GBTC processing.
FIG. 41 is a diagram illustrating an internal mechanism of a copier including an image forming apparatus according to an embodiment of the present invention.
[Explanation of symbols]
1 CPU
2 CPU I / F
3 Memory controller
4 memory
5 Local bus I / F
6 ROM
7 Panel controller
8 panels
9 Scanner
10 Smoothing filter processing unit
11 Bus I / F
12 Encoding unit
13 Editing unit
14 Decoding unit
15 Image processing unit
16 Printer Engine Controller
17 Printer Engine
19 Hard Disk
41 Multi-value band memory storage area
42 Code page memory storage area
43 Macro block head address storage area
44 Binary band memory storage area
45 Synthetic memory
51 Program area
1001
1002 Platen
1003 feed roller
1004 feed belt
1005 Discharge roller
1006 contact glass
1007 Original set detection
1008 1st tray
1009 2nd tray
1011 1st paper feed unit
1012 Second paper feed unit
1014 Vertical transport unit
1015 Photoconductor
1027 Development unit
1016 Conveyor belt
1017 Fixing unit
1018 Paper ejection unit
1019 Paper ejection roller
1027 Development unit
1050 reading unit
1051 Exposure lamp
1052 First mirror
1053 lens
1054 CCD image sensor
1057 Writing unit
1058 Laser output unit
1059 Imaging lens
1060 mirror
1064 selector
1100 Finisher
1101 Switching board
1102 Normal paper discharge roller
1103 transport roller
1104 Normal paper output tray
1108, 1009 Output tray
1110 Staple completion output tray
1111 Double-sided paper feed unit
1112 Branch claw
1401 Memory controller I / F
1402 buffer
1403 JPEG encoder
1405 Read memory address generator
1406 Code length count section
1407 Macro block head address calculation unit
1408 Memory address generation unit
1409 Controller
1601 Macro block band
1602 Macro block
1603 Sub-block
1701 RGB / YUV converter
1702 YDCT processing unit
1703 Y quantization processing unit
1704 Y entropy encoder
1705 UDCT processing unit
1706 U quantization processing unit
1707 U entropy encoder
1708 VDCT processing unit
1709 V quantization processing unit
1710 V entropy encoder
1711 UDCT processing unit
1801 Memory controller I / F
1802 buffer
1803 JPEG decoding unit
1804 8x8 rotation processing unit
1805 buffer
1806 JPEG encoding unit
1807 buffer
1808 Image synthesis unit
1809 Memory I / F
1811 Read address generation unit
1812 Code length count section
1813 Macro block head address calculation unit
1815 Memory address generation unit
1816 controller
2501 Photo Image
2502 Character image
2503 Image with text image embedded in photo image
2601 Memory controller I / F
2602 buffer
2603 JPEG decoding unit
2604 Read address generation unit
2605 Memory address generation unit
2606 Memory I / F
2607 Macro block memory
2608 Controller
3001 Entropy decoding unit
3002 Y inverse quantization processing unit
3003 YIDCT processing unit
3004 U inverse quantization processing unit
3005 UIDCT processing unit
3006 V inverse quantization processing unit
3007 VIDCT processing unit
3008 YUV / RGB conversion processing unit
3009 Controller
3101 buffer
3102 Color correction processing unit
3103 Gradation processing unit
3104 PIXEL TO PLANE conversion unit
3105 buffer
3106 Memory controller I / F
3107 Controller
3108 Write memory address generator
3314 decryption unit
3444 Multi-value band memory storage area
3315 Image processing unit
3311 Bus I / F
3314 decryption unit
4201 Memory controller I / F
4202 buffer
4203 JPEG decoding unit
4204 buffer
4205 read address generation unit
4206 Write address generator
4207 Controller
4501 Memory controller I / F
4502 buffer
4503 Color correction processing unit
4504 Gradation processing unit
4505 PIXEL TO PLANE converter
4506 buffer
4507 Bus I / F
4508 Read memory address generator
4509 Controller
Claims (13)
入力される前記画像データに対して編集処理内容を指定する編集指定手段と、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、
前記編集指定手段によって指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定手段によって指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、
前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定手段によって指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に出力する可変長復号化手段と、
を備えたことを特徴とする画像形成装置。An image forming apparatus that encodes input image data, edits, performs image processing after decoding, and outputs image data after image processing,
Editing designating means for designating editing processing content for the input image data; converting the input image data into band data composed of a plurality of macroblocks; Variable length encoding means for generating long code data,
In the order of the macroblocks arranged in the sub-scanning direction of the image data after the editing processing determined by the editing processing content specified by the editing specifying means, the variable-length code data is read in units of the macroblocks, and Decoding variable-length code data to obtain decoded data at the time of editing, editing the decoded data at the time of editing, editing the edited content specified by the editing specifying means, and editing the decoded data obtained by editing. Editing means for generating variable-length code data after editing by performing variable-length coding again,
The head address of the macro block is read, the edited code data of the edited macro block corresponding to the head address is decoded, and the macro block determined by the editing processing content designated by the editing designating means is an image output. Variable-length decoding means for outputting in the order of
An image forming apparatus comprising:
入力される前記画像データに対して編集処理内容を指定する編集指定手段と、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化手段と、
前記可変長符号化手段によって生成された前記可変長符号データを、前記マクロブロック単位で順次記憶する可変長符号データ記憶手段と、
前記可変長符号データ記憶手段によって記憶された各マクロブロックの先頭アドレスを認識するアドレス認識手段と、
認識した前記マクロブロックの先頭アドレスを記憶するアドレス記憶手段と、前記編集指定手段によって指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定手段によって指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集手段と、
前記アドレス記憶手段に記憶された前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する前記マクロブロックの編集された前記編集後符号データを復号化し、前記編集指定手段によって指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に出力する可変長復号化手段と、
を備えたことを特徴とする画像形成装置。An image forming apparatus that encodes input image data, edits, performs image processing after decoding, and outputs image data after image processing,
Editing designating means for designating editing processing content for the input image data; converting the input image data into band data composed of a plurality of macroblocks; Variable length encoding means for generating long code data,
The variable-length code data generated by the variable-length encoding means, variable-length code data storage means for sequentially storing the macroblock units,
Address recognition means for recognizing a start address of each macro block stored by the variable length code data storage means;
Address storage means for storing the recognized start address of the macroblock; and the macroblocks arranged in the sub-scanning direction of the edited image data determined by the editing processing content specified by the editing specifying means. The variable-length code data is read out in block units, the read-out variable-length code data is decoded to obtain edit-time decode data, and the edit-time data specified by the edit designating means is edited with respect to the edit-time decode data. Editing means for editing the content, again variable-length encoding the edited decoded data obtained by editing and generating variable-length encoded data after editing,
Reading the start address of the macro block stored in the address storage unit, decoding the edited post-edit code data of the macro block corresponding to the start address, and executing the editing process specified by the edit specifying unit Variable-length decoding means for outputting the macroblocks determined by the contents in an image output order,
An image forming apparatus comprising:
前記編集手段は、更に、前記マクロブロック記憶手段に蓄えられた前記画像データに対して合成処理を行う画像合成処理手段を備えたことを特徴とする請求項1〜9のいずれか1つに記載の画像形成装置。The editing process designating means can designate a composition process,
10. The image processing apparatus according to claim 1, wherein the editing unit further includes an image combining unit that performs a combining process on the image data stored in the macroblock storage unit. Image forming apparatus.
前記編集手段は、更に、前記マクロブロック記憶手段に蓄えられた前記画像データをサブブロックごとに90度単位で回転処理する回転処理手段を有することを特徴とする請求項3〜10のいずれか1つに記載の画像形成装置。The editing processing designation means can designate a rotation processing every 90 degrees,
11. The image processing apparatus according to claim 3, wherein the editing unit further includes a rotation processing unit configured to rotate the image data stored in the macroblock storage unit in units of 90 degrees for each sub-block. An image forming apparatus according to any one of the preceding claims.
入力される画像データに対して編集処理内容を指定する編集指定ステップと、入力された前記画像データを複数のマクロブロックからなるバンドデータに変換し、前記マクロブロック単位に可変長符号化して可変長符号データを生成する可変長符号化ステップと、
前記編集指定ステップにおいて指定された前記編集処理内容によって定まる編集処理後の画像データの副走査方向に並ぶ前記マクロブロックの順に、前記マクロブロック単位で前記可変長符号データを読み出し、読み出された前記可変長符号データを復号化して編集時復号データを得て、前記編集時復号データに対して前記編集指定ステップにおいて指定された前記編集内容の編集を行い、編集して得た編集後復号データを再び可変長符号化して編集後可変長符号データを生成する編集ステップと、
前記マクロブロックの先頭アドレスを読み出し、前記先頭アドレスに対応する編集された前記マクロブロックの編集後符号データを復号化し、前記編集指定ステップにおいて指定された前記編集処理内容によって決まる前記マクロブロックが画像出力される順序に送信する可変長復号化ステップと、
を含むことを特徴とする画像処理方法。An image forming method of performing image processing on input image data and outputting an image,
An editing designation step of designating editing processing content for input image data; converting the input image data into band data composed of a plurality of macroblocks; A variable-length encoding step for generating encoded data;
In the order of the macroblocks arranged in the sub-scanning direction of the image data after the editing processing determined by the editing processing content specified in the editing specifying step, the variable-length code data is read in units of the macroblocks, Decoding variable-length code data to obtain decoded data at the time of editing, editing the decoded data at the time of editing at the editing specification step, and editing the decoded data obtained by editing. An editing step of generating variable-length code data after editing by performing variable-length coding again;
The head address of the macro block is read, the edited code data of the edited macro block corresponding to the head address is decoded, and the macro block determined by the editing processing content specified in the editing specifying step is an image output. Variable-length decoding step of transmitting in the order of
An image processing method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003056157A JP2004266654A (en) | 2003-03-03 | 2003-03-03 | Device and method for image forming, and program for executing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003056157A JP2004266654A (en) | 2003-03-03 | 2003-03-03 | Device and method for image forming, and program for executing the method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004266654A true JP2004266654A (en) | 2004-09-24 |
Family
ID=33119961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003056157A Pending JP2004266654A (en) | 2003-03-03 | 2003-03-03 | Device and method for image forming, and program for executing the method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004266654A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007043577A (en) * | 2005-08-04 | 2007-02-15 | Ricoh Printing Systems Ltd | Image processing apparatus, image processing method, image processing program, and recording medium having the program recorded therein |
-
2003
- 2003-03-03 JP JP2003056157A patent/JP2004266654A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007043577A (en) * | 2005-08-04 | 2007-02-15 | Ricoh Printing Systems Ltd | Image processing apparatus, image processing method, image processing program, and recording medium having the program recorded therein |
US7734103B2 (en) | 2005-08-04 | 2010-06-08 | Ricoh Company, Ltd. | Image processing apparatus and image processing method |
JP4681975B2 (en) * | 2005-08-04 | 2011-05-11 | 株式会社リコー | Image processing apparatus, image processing method, image processing program, and recording medium on which the program is recorded |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7233702B2 (en) | Image data compression apparatus for compressing both binary image data and multiple value image data | |
US7372599B2 (en) | Image processor | |
US7123385B2 (en) | Image processing apparatus | |
JP2006262078A (en) | Image processor | |
US5889927A (en) | Image processing method and apparatus | |
US20050084161A1 (en) | Coder, coding method, program, and image forming apparatus for improving image data compression ratio | |
US20040218817A1 (en) | Image processing apparatus that decomposites composite images | |
JP3911939B2 (en) | Image forming system, image data storage method, and storage medium | |
JP2004266654A (en) | Device and method for image forming, and program for executing the method | |
JP4116459B2 (en) | Image reading apparatus and image forming apparatus | |
JP4173798B2 (en) | Image processing apparatus, image processing method, and program for executing the method on a computer | |
JP4674100B2 (en) | Image processing device | |
JP3982693B2 (en) | Secondary discrete cosine transform processing device, secondary discrete cosine transform processing method, image encoding processing device, and image encoding processing method | |
JP4148456B2 (en) | Image decoding apparatus, image decoding method, program, and recording medium | |
JP3735583B2 (en) | Digital color copier | |
JP3925256B2 (en) | Image processing apparatus and image processing program | |
JP2004072391A (en) | Image processor, image processing method, image forming device, image forming method, computer program, and computer readable storage medium | |
JP5588222B2 (en) | Image forming apparatus, control method therefor, and program | |
JP2939106B2 (en) | Image forming device | |
JPH07193702A (en) | Facsimile equipment | |
JP2004159069A (en) | Control method for image processor | |
JP2004032433A (en) | Image processor and image processing method | |
JP2004088265A (en) | Method for compressing data, image processing apparatus, and image forming apparatus | |
JP2007028649A (en) | Image compression processor | |
JP2008027198A (en) | Image processing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070821 |