JP4229744B2 - Image processing apparatus, image processing method, and color image forming apparatus - Google Patents
Image processing apparatus, image processing method, and color image forming apparatus Download PDFInfo
- Publication number
- JP4229744B2 JP4229744B2 JP2003097392A JP2003097392A JP4229744B2 JP 4229744 B2 JP4229744 B2 JP 4229744B2 JP 2003097392 A JP2003097392 A JP 2003097392A JP 2003097392 A JP2003097392 A JP 2003097392A JP 4229744 B2 JP4229744 B2 JP 4229744B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- decoding
- code
- line
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、およびカラー画像形成装置に関し、詳細には、画像データを符号化して一旦メモリに格納した後、復号化する画像処理装置、画像処理方法、およびカラー画像形成装置に関する。
【0002】
【従来の技術】
図50は、従来のタンダム型の複写機の概略構成図を示している。同図に示す複写機では、スキャナー602で読み取られた原稿のRGBデータを平滑フィルター処理装置602で、シェ−デイング補正やMTFγ補正などの画像処理などの平滑フィルター処理を行う。この後、符号化装置604で多値画像の圧縮アルゴリズム(JPEGなど)により符号化し、符号データをメモリ605に格納する。そして、プリントアウト時に、各版ごと遅延させて、復号化装置606C〜Kでメモリ605から符号データを読み込み、前述の圧縮アルゴリズムによりRGBデータに復号化する。画像処理装置607C〜Kで、色変換処理してCMYKデータに変換後、階調処理を行って2値、4値、8値などに変換する。画像処理装置607C〜Kは、階調処理後のC、M、Y、Kの各版に対応するデータのみを8ラインメモリ608C〜Kに転送して一旦格納し、C〜K版プリンタコントローラ609C〜Kは、8ラインメモリ608C〜Kに格納されたC、M、Y、KのデータをC〜K版プリンタエンジン610C〜Kに転送する。このように、従来のタンダム型の複写機においては、各版専用の復号化装置と画像処理装置を有している。
【0003】
画像データの圧縮方式としては、DCT(Discret Cosine Transform)などの直交変換によって画像データを周波数成分に変換し、その変換係数を量子化する方式がある。特に、DCTを使用した多値画像を符号化する方式として、ITU−TとISOにより、標準化されたJPEG方式が知られている。
【0004】
上述のタンデム型の複写機では、各版専用の復号化処理装置を有しており、JPEGなどの可変長符号データを各版ごとデイレイを持たせて、順次復号化される。しかしながら、かかる構成では、可変長符号を途中で読むことができないため、各版の復号化処理装置が必要となるため大きなゲート数を必要とする。
【0005】
また、JPEG方式の場合は、符号化する画像データのブロックが8×8画素であるため、図50に示すように、復号化後に画像データを格納するための8ラインのラインメモリが必要となる。この結果、ASICなどにラインメモリを内蔵する場合には大きな面積が必要となり、また、ASIC外にこのラインメモリを設ける場合には、大きなコストUPになってしまうという問題がある。
【0006】
例えば、図50の8ラインメモリを削減する方法として、水平方向に長いブロック単位に圧縮する方法が考えられるが、かかる方法では、量子化処理により、水平方向の高周波成分のみを削除するために垂直方向のエッジのみハッキリと現れてしまい、画質の劣化を生じてしまう。
【0007】
ところで、上記JPEG方式では、DRI(リスタートインターバル定義マーカー)で指定された間隔(リスタートインターバル)ごとに、挿入されるマーカーコードであるRSTm(リスタートマーカー)を挿入することが可能である。このマーカーコードの直後でDCT方式におけるDC係数の予測値をリセットする。通常、このリスタートマーカーはおもに伝送誤りによる復号エラーに対する復旧を目的として使用されている。リスタートマーカーを使用した画像処理装置としては、例えば、特許文献1や特許文献2が公知である。
【0008】
【特許文献1】
特開2000−083214号公報
【特許文献2】
特開2002−262099号公報
【0009】
【発明が解決しようとする課題】
本発明は、上記に鑑みてなされたものであり、復号化した画像データを格納するためのラインメモリを小容量化して、ハードウエア構成を小規模かつ安価にすることが可能な画像処理装置、画像処理方法、およびカラー画像形成装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、請求項1にかかる発明は、画像処理装置であって、入力された画像データを複数画素からなるブロックに分割する分割手段と、前記分割手段が分割したブロック単位で前記画像データに符号化処理を行う符号化手段と、前記符号化手段が符号化処理を行った符号データを記憶する記憶手段と、前記記憶手段が記憶した符号データにブロック単位で復号化処理を行って前記画像データを復号化すると共に、復号化した画像データを所定画素ライン単位で送出する復号化手段と、を備え、前記復号化手段は、前記記憶手段が記憶した前記符号データのブロックライン毎に挿入されたリスタートマーカーを読み込むことでブロックラインの終端を判断し、ブロックラインの終端でないと判断した場合は同一ブロックラインの符号データを前記記憶手段から再度読み出してこれに復号化処理を行うことを特徴とする。
【0014】
また、請求項2にかかる発明は、請求項1にかかる発明において、前記符号化手段は、前記画像データをJPEG方式の圧縮処理を行い、前記復号化手段は、JPEG方式の伸長処理を行うことを特徴とすることを特徴とする。
【0016】
また、請求項3にかかる発明は、請求項1にかかる発明において、前記復号化手段は、前記符号データにリスタートマーカーが付加されているか否かを判断する判断手段を含み、前記判断手段の判断結果が否定的である場合は、次のブロックの符号データを前記記憶手段から読み出してこれに復号化処理を行うことを、前記リスタートマーカーが付加されていると前記判断手段が判断するまで繰り返すことを特徴とする。
【0019】
また、請求項4にかかる発明は、請求項1〜請求項3のいずれか1つにかかる発明において、前記所定画素ライン単位は、1画素ライン単位または2画素ライン単位であることを特徴とする。
【0022】
また、請求項5にかかる発明は、請求項1〜請求項4のいずれか1つに記載の画像処理装置をカラー画像形成装置に適用したことを特徴とする。
【0023】
また、請求項6にかかる発明は、画像処理方法であって、入力された画像データを複数画素からなるブロックに分割する分割工程と、前記分割工程で分割されたブロック単位で前記画像データに符号化処理を行う符号化工程と、前記符号化工程で符号化処理が行われた符号データをメモリに記憶する記憶工程と、前記記憶工程で前記メモリに記憶された符号データにブロック単位で復号化処理を行って前記画像データを復号化すると共に、復号化した画像データを所定画素ライン単位で送出する復号化工程と、を含み、前記復号化工程は、前記メモリに記憶された符号データのブロックライン毎に挿入されたリスタートマーカーを読み込むことでブロックラインの終端を判断し、ブロックラインの終端でないと判断した場合は同一ブロックラインの符号データを前記記憶手段から再度読み出してこれに復号化処理を行うことを特徴とする。
【0027】
また、請求項7にかかる発明は、請求項6にかかる発明において、前記復号化工程では、前記画像データをJPEG方式の圧縮処理を行い、前記復号化工程では、JPEG方式の伸長処理を行うことを特徴とする。
【0029】
また、請求項8にかかる発明は、請求項6にかかる発明において、前記復号化工程は、前記符号データにリスタートマーカーが付加されているか否かを判断する判断工程を含み、前記判断工程での判断結果が否定的である場合は、次のブロックの符号データを前記メモリから読み出してこれに復号化処理を行うことを、前記リスタートマーカーが付加されていると前記判断工程で判断するまで繰り返すことを特徴とする。
【0032】
また、請求項9にかかる発明は、請求項6〜請求項8のいずれか1つにかかる発明において、前記所定画素ライン単位は、1画素ライン単位または2画素ライン単位であることを特徴とする。
【0034】
【発明の実施の形態】
以下、図面を参照して、本発明にかかる画像処理装置、画像処理方法、およびカラー画像形成装置の好適な実施の形態を、(実施の形態1)、(実施の形態2)、(実施の形態3)の順に詳細に説明する。
【0035】
(実施の形態1)
実施の形態1にかかる画像処理装置を図1〜図31を参照して説明する。実施の形態1では、画像処理装置を4ドラム型のデジタルカラー複写機に適用した場合を例示して説明する。
【0036】
[画像処理装置のメカ構成]
図1は、実施の形態1にかかる画像処理装置の概略のメカ構成を示す断面図である。図1に示す画像処理装置は、上部にスキャナ部1、下部にキャスタ付きの大容量給紙装置2、中央にプリンタ部3を配置する構造となっている。スキャナ部1は、原稿載置台4上の原稿を走査照明するランプ5、第1、第2、第3ミラー6、7、8、結像レンズ9、ダイクロイックプリズム10、レッド用受光器(CCD)11R、グリーン用受光器11G、ブルー用受光器11B等を備える。
【0037】
このような構成において、ランプ5により照射されたときの原稿からの反射光は、第1、第2、第3ミラー6、7、8により反射されて結像レンズ9に入射される。結像レンズ9により、画像光はダイクロイックプリズム10に結像され、例えばレッド(R)、グリーン(G)、ブルー(B)の3種類の波長の光に分光され、レッド用受光器11R、グリーン用受光器11G、ブルー用受光器11Bに入射される。
【0038】
各CCD(受光器)11R、11G、11Bは、入射した光をデジタル信号に変換して出力し、その出力は図示してない画像処理部において必要な処理を施して、各色の記録色情報、例えばブラック(Bk)、イエロー(Y)、マゼンタ(M)、シアン(C)の各色の記録形成用の信号に変換される。画像処理部からの各色の信号Y、M、C、Bkは、プリンタ部3に入力され、それぞれの色に対応するレーザ光出射装置12Y、12M、12C、12Bkに送られる。
【0039】
プリンタ部3には、図1の例では4組の記録装置(画像形成ステーション)13Y、13M、13C、13Bkが並んで配置されている。記録装置13(13Y、13M、13C、13Bk)は、レーザ光出射装置12(12Y、12M、12C、12Bk)の他に、感光体ドラム14(14Y、14M、14C、14Bk)を有する。
【0040】
この感光体ドラム14には、帯電チャージャ15(15Y、15M、15C、15Bk)、現像装置16(16Y、16M、16C、16Bk)、転写チャージャ17(17Y、17M、17C、17Bk)、クリーニング装置、除電装置等が公知の複写装置と同様に付設されている。
【0041】
また、水平に配列された4本の感光体ドラム14Y、14M、14C、14Bkの下方には、転写ベルト21が張設されており、各転写チャージャ17Y、17M、17C、17Bkは、ループ状の転写ベルト21の内側に配置されている。
【0042】
プリンタ部3の右側部に2段の給紙部19が設けられており、転写ベルト21の下流部近傍には定着ローラ22が設けられている。さらに、その下流側には排紙ローラ23が設けられている。かかる構成のプリンタ部3においては、帯電チャージャ15により一様に帯電された感光体ドラム14は、書き込み手段であるレーザ光出射装置12による露光により、各色光像の潜像を形成する。この潜像は、現像装置16により現像されて顕像を形成する。
【0043】
給紙コロ18により、給紙部19、例えば2つの給紙カセットの何れかから給紙される転写紙は、レジストローラ20により先端を揃えられ、タイミングを合わせて転写ベルト21に送られる。転写ベルト21により搬送される転写紙は、それぞれ顕像を形成された感光体ドラム14Bk、14C、14M、14Yに順次送られ、転写チャージャ17Bk、17C、17M、17Yの作用下で顕像を転写される。転写された転写紙は、定着ローラ22により定着され、排紙ローラ23により排紙される。なお、転写紙は、転写ベルト21に静電吸着されることにより、転写ベルト21の速度で精度よく搬送することができる。
【0044】
[画像処理装置のハードウエア構成]
図2は、図1の画像処理装置のハードウエア構成を示すブロック図である。画像処理装置は、図2に示すように、CPU101と、CPU_I/F102と、メモリコントローラ103と、メインメモリ104と、ローカルI/F105と、ROM106と、パネルコントローラ107と、パネル108と、スキャナ109と、平滑フィルター処理装置110と、符号化装置111と、復号化装置112C〜Kと、C〜K版画像処理装置113C〜Kと、1ラインメモリ114C〜Kと、C〜K版エンジンコントローラ115C〜Kと、C〜K版プリンタエンジン116C〜Kとを備えている。
【0045】
上記構成では、ラインメモリとして1ラインメモリを使用しているので、符号化装置111と、平滑フィルター処理装置110と、復号化装置112C〜Kと、C〜K版画像処理装置113と、1ラインメモリ114C〜Kと、およびC〜K版エンジンコントローラ115C〜K等は、ASIC等のLSIで1チップ化することが可能である。
【0046】
CPU101は、ROM106やメインメモリ104に格納されたプログラムに従って、画像処理装置の全体の制御を行う。CPU_I/F102は、CPU101とメモリコントローラ103間に接続され、CPU101とメモリコントローラ103間のI/Fを処理する。メモリコントローラ103は、メインメモリ104のリード/ライトをコントロールし、CPU101、ローカルI/F105と、復号化装置112C〜Kと、および符号化装置111と、メインメモリ104間のデータ転送をコントロールする。
【0047】
メインメモリ104は、スキャナー109で読み取った画像データ、CPU101が実行するためのプログラム、および各種データ等を格納する。図3は、メインメモリ104のフォーマットの一例を示す図である。メインメモリ104は、図3に示すように、符号化された1ページの符号データを複数ページ分格納する符号ページメモリ領域104aと、CPU101の各種プログラムを格納するプログラム領域104b等を備えている。図4は、図3の符号ページメモリ領域104aに格納される1ページ分の符号データのフォーマットの一例を示す図である。符号ページメモリ領域104aには、図4に示すように、画像データの8×8画素を1ブロックとして、ブロック単位で符号データが格納され、各ブロックラインの終端にはリスタートマーカー(RSTm)が付加される。
【0048】
ローカルI/F105は、ROM106、パネルコントローラ107、CPU101、およびメインメモリ104等のI/Fを処理する。ROM106は、CPU101が実行するためのプログラムや文字などのフォント情報等を格納する。パネルコントローラ107は、パネル108をコントロールする。パネル108は、ユーザーからの操作をCPU101に通知する。
【0049】
スキャナ109は、複写するカラー原稿を光学的に読み取って、1ページ分の多値のRGBデータを平滑フィルター処理装置110に転送する。平滑フィルター処理装置110は、スキャナー109から入力されるRGBデータに対して平滑フィルター処理を施して符号化装置111に転送する。符号化装置111は、平滑フィルタ−処理装置110から入力される平滑フィルタ処理後の画像データを符号化して、符号化した符号データをメモリコントローラ103を介してメインメモリ104に転送してその符号ページメモリ領域104aに格納する。
【0050】
復号化装置112C〜Kは、メインメモリ104の符号ページメモリ領域104aに格納されている符号データをメモリコントローラ103を介してリードして復号化し、復号化したRGBデータをC〜K版画像処理装置113C〜Kにそれぞれ転送する。
【0051】
C〜K版画像処理装置113C〜Kは、C、M、Y、K版復号化装置112C〜Kで各々復号化されたC、M、Y、Kデータに対して色変換処理や階調処理を行い、階調処理後のC、M、Y、Kデータを1画素ラインの所定画素単位(例えば、8画素)で順次、1ラインメモリ114C〜Kにそれぞれ転送して格納する。
【0052】
1ラインメモリ114C〜Kは、階調処理された1ライン分のC、M、Y、Kデータをそれぞれ格納する。C〜K版エンジンコントローラ115C〜Kは、1ラインメモリ114C〜Kに格納された1ライン分のC、M、Y、Kデータをそれぞれ順次読み出して、C〜K版プリンタエンジン116C〜116Kに転送する。C〜K版プリンタエンジン116C〜Kは、C〜K版エンジンコントローラ115C〜Kから転送されてくるC、M、Y、Kデータを印字出力する。
【0053】
図5は、図2の画像処理装置の全体の処理を説明するためのフローチャート、図6は、図2の画像処理装置の画像データの転送経路を説明するための図である。図5および図6を参照して、図2の画像処理装置の全体の処理を説明する。
【0054】
図5および図6において、スキャナー109でカラー原稿を光学的に読み取って1ページ分の多値のRGBデータを平滑フィルタ処理装置110に出力する(ステップS101、▲1▼)。平滑フィルター処理装置110は、スキャナー109から入力される多値のRGBデータに対して、平滑フィルター処理を施して符号化装置111に出力する(ステップS102、▲2▼)。符号化装置111は、平滑フィルター処理装置110から入力される多値のRGBデータをJPEG符号化し、メモリコントローラ103を介して1ページ分の符号データをメインメモリ104の符号ページメモリ領域104aに格納する(ステップS103、▲3▼)。
【0055】
復号化装置112C〜Kは、それぞれC〜K版プリンタエンジン116C〜Kに同期して、各版毎に遅延させてメインメモリ104の符号ページメモリ領域104aに格納された符号データを独立して復号化するものである。復号化装置112C〜Kは、まず、メインメモリ104の符号ページメモリ領域104aに格納された符号データをメモリコントローラ103を介して読み出して(▲4▼)、読み出した符号データを復号化して多値のRGBデータをそれぞれC〜K版画像処理装置113C〜Kに転送する(ステップS104、▲5▼)。C〜K版画像処理装置113C〜Kは、復号化装置112C〜Kから入力される多値のRGBデータに対して色補正処理を行ってCMYKデータに変換し(ステップS105)、さらに、多値のCMYKデータに対して階調処理を行ってC、M、Y、Kデータを2値化した後、1ラインメモリ114C〜Kにそれぞれへ転送して格納する(ステップS106、▲6▼)。
【0056】
C〜K版エンジンコントローラ115C〜Kは、それぞれC版〜K版プリンタエンジン116C〜Kに同期して、1ラインメモリ114C〜KからC、M、Y、Kデータを読み込み(▲7▼)、C〜K版プリンタエンジン116C〜Kへ転送する(ステップS107、▲8▼)。そして、C〜K版プリンタエンジン116C〜Kは、それぞれC、M、Y、Kデータを画像形成する(ステップS108)。
【0057】
[符号化装置]
図7は、図2の符号化装置111の詳細な構成を示すブロック図である。符号化装置111は、図7に示すように、8ラインメモリ121と、符号化処理装置122と、メモリアドレス生成装置123と、メモリI/F124と、ラインメモリ書き込みコントローラ125と、コントローラ126を備えている。
【0058】
コントローラ126は、符号化装置111の全体を制御する。8ラインメモリ121は、平滑フィルター処理装置110から順次入力されるRGBデータを8ライン分、一時的に格納する。ラインメモリ書き込みコントローラ125は、平滑フィルタ処理装置110でフィルタ処理されたRGBデータを8ラインメモリ121へ書き込むためのアドレスを生成する。符号化処理装置122は、8ラインメモリ121からRGBデータを8×8画素(ブロック)単位で読み出し、符号化して符号データを生成する。メモリアドレス生成装置123は、符号化処理装置122で生成された符号データをメモリI/F124を介して転送するメインメモリ104のアドレスを生成する。メモリI/F124は、メモリコントローラ103とのI/Fを行う。
【0059】
図8は、図7の符号化装置111の全体の処理フローを説明するための図であり、同図(A)は、図7の符号化装置111の全体の処理フロー、同図(B)は、8ラインメモリ121からの8×8画素のブロックの読出方向を示す図である。
【0060】
図8を参照して、図7の符号化装置111の全体の処理を説明する。図8(A)において、符号化装置111では、平滑フィルター処理装置110で平滑フィルタ処理されたRGBデータを8ラインメモリ121に順次格納し(ステップS201)、8ラインメモリ121にRGBデータが8ライン分格納されたか否かを判断し(ステップS202)、8ライン分格納していない場合には(ステップS2の「N」)、RGBデータの格納を続行する一方、8ライン分格納した場合には(ステップS202の「Y」)、8ラインメモリ121からRGBデータを図8(B)に示す読出方向に、8×8画素のブロックを読み込み、ブロック単位でJPEG符号化してその符号化データをメインメモリ104の符号ページメモリ領域104aに格納する(ステップS203)。
【0061】
そして、1ブロックラインの処理が終了したか否かを判断し(ステップS204)、1ブロックラインの処理が終了していない場合には(ステップS204の「N」)、ステップS203に戻り、8ラインメモリ121から次のブロックを読み出して符号化し、メインメモリ104に格納し、1ブロックラインの処理が終了するまで同じ処理を繰り返し実行する(ステップS203、S204)。
【0062】
他方、1ブロックラインの処理が終了した場合には(ステップS204の「Y」)、上記図4に示すように、メインメモリ104の符号ページメモリ領域104aに格納された符号データの1ブロックラインの終端にリスタートマーカーを付加する(ステップS205)。そして、1ページの画像が終了したか否かを判断し(ステップS206)、1ページの画像が終了していない場合には、ステップS201に戻り、次のブロックラインについて同じ処理を行い、1ページが終了するまで同じ処理を繰り返し実行する(ステップS201〜ステップS206)。
【0063】
図9は、図7の符号化処理装置122の詳細な構成を示すブロック図である。符号化処理装置122は、図9に示すように、8×8バッファー131と、8ラインメモリアドレス生成装置132と、RGB→YUV変換装置133と、Y2次元DCT処理装置134と、U2次元DCT処理装置135と、V2次元DCT処理装置135と、Y量子化処理装置137と、U量子化処理装置138と、V量子化処理装置139と、Yエントロピー符号化装置140と、Uエントロピー符号化装置141と、Vエントロピー符号化装置142と、リスタートマーカー生成装置143と、符号フォーマット生成装置144と、を備えている。
【0064】
8×8バッファー131には、8ラインメモリ121から読み出された8×8画素のブロックのRGBデータが格納される。8ラインメモリアドレス生成装置132は、8ラインメモリ121の読み出しアドレスを生成し、また、ブロックラインの終端となった場合に、1ブロックライン終了信号をリスタートマーカー生成装置143に転送する。
【0065】
RGB→YUV変換装置133は、8×8バッファー131から8×8画素のRGBデータを読み出してYUVデータへ変換し、そのY成分をY2次元DCT処理装置134に、そのU成分をU2次元DCT処理装置135に、V成分をV2次元DCT処理装置136へ転送する。図10は、1ブロックの符号データのフォーマットの一例を示す図である。同図に示す例では、8×8画素をY、U、V毎に符号化する。
【0066】
Y2次元DCT処理装置134は、Y成分に対して2次元DCT(離散コサイン変換)を行ってY量子化処理装置137に転送する。U2次元DCT処理装置135は、U成分に対して2次元DCT(離散コサイン変換)を行ってU量子化処理装置138に転送する。V2次元DCT処理装置139は、V成分に対して2次元DCT(離散コサイン変換)を行ってV量子化処理装置139に転送する。
【0067】
Y量子化処理装置131は、Y2次元DCT処理装置134から入力されるDCT処理後のY成分を量子化してYエントロピー符号化装置140に転送する。U量子化処理装置132は、U2次元DCT処理装置135から入力されるDCT処理後のU成分を量子化してUエントロピー符号化装置141に転送する。V量子化処理装置139は、V2次元DCT処理装置136から入力されるDCT処理後のY成分を量子化して、Vエントロピー符号化装置142に転送する。
【0068】
Yエントロピー符号化装置140は、Y量子化処理装置131から入力される量子化後のYデータをエントロピー符号化して、符号フォーマット生成装置144に転送する。Uエントロピー符号化装置141は、U量子化処理装置138か入力される量子化後のU成分をエントロピー符号化して符号フォーマット生成装置144に転送する。Vエントロピー符号化装置142は、V量子化処理装置139から入力される量子化後のV成分をエントロピー符号化して、符号フォーマット生成装置144に転送する。
【0069】
リスタートマーカー生成装置143は、8ラインメモリアドレス生成装置132から1ブロックライン終了信号が入力された場合に、リスタートマーカーを生成して符号フォーマット生成装置144に転送する。符号フォーマット生成装置144は、Y、U、Vエントロピー符号化装置140、141、142から入力される符号データおよびその符号長と、ブロックラインの終端の場合にリスタートマーカー生成装置143から入力されるリスタートマーカーを受け取り、それらの符号を順次1つの符号に入れ込んで纏め、各ブロック毎に符号データとして出力する。
【0070】
図11は、図9の8ラインメモリアドレス生成装置132の詳細な構成を示すブロック図である。8ラインメモリアドレス生成装置132は、図11に示すように、レジスタ151と、加算器152と、比較器153と、乗算器154とを備えている。
【0071】
レジスタ151には、加算器152から入力される画像データの処理ブロック数が格納され、8ラインメモリ121の画像データを全て読み込むごとに初期化される(1ブロックラインが終了すると初期化される)。加算器152は、レジスタ151に格納された処理ブロック数に“+1“の処理を行う。比較器153は、レジスタ152に格納された処理ブロック数が水平ブロック数と等しいか否かを判定し、処理ブロック数が水平ブロック数と等しい場合に、1ブロックライン終了信号をリスタートマーカー生成装置143に転送する。乗算器154は、レジスタ151に格納された処理ブロック数と8ラインメモリ121の1ブロックワード数を乗算し、8ラインメモリ121の次に読み込む8×8画素の先頭アドレスを算出する。
【0072】
図12は、図9のY、U、Vエントロピー符号化装置140、141、142の詳細な構成を示すブロック図である。Y、U、Vエントロピー符号化装置140、141、142は、同一の構成となっている。図13は、AC符号化手順を説明するための説明図、図14は、DC符号化を説明するための説明図、図15は、DC/AC値切り出し処理を説明するための説明図を示している。
【0073】
Y、U、Vエントロピー符号化装置140、141、142は、8×8DCT係数格納装置161と、DC/AC値切り出し装置162と、DC値符号化装置163と、AC値符号化装置164とを備えており、図13に示すように、8×8のDCT係数をジグザグにAC符号化していき、図14のようにDC成分をDC符号化する。
【0074】
8×8DCT係数格納装置161は、8×8のDCT係数を格納するバッファーであり、Y量子化処理装置131から入力される8×8の量子化後のDCT係数を格納する。DC/ACきり出し装置162は、図15に示すように、8×8の64個のDCT係数からDC値とAC値を切り出す。DC値符号化装置163は、図16に示すようなハフマンテーブルを備え、DC値に応じてハフマンテーブルにアクセスし、各DC値でのDC符号とその符号長を算出し、DC符号とDC符号長を符号フォーマット生成装置144に転送する。AC値符号化装置164は、図17に示すようなハフマンテーブルを備え、AC値に応じてハフマンテーブルにアクセスし、各AC値でのAC符号とその符号長さを算出し、AC符号とAC符号長を符号フォーマット生成装置144に転送する。
【0075】
上記符号フォーマット生成装置144は、DC符号化装置163およびAC値符号化装置164から入力されるDC、AC符号とDC、AC符号長から各符号を1つの符号に纏め1つの符号データとして出力する。
【0076】
[復号化装置]
図18は、図2の復号化装置112C〜Kの詳細な構成を示す図である。復号化装置112C〜Kは、同一の構成である。復号化装置112C〜Kは、図18に示すように、メモリI/F201と、BUF202と、復号化処理装置203と、8×8画素バッファー204と、水平画素選択装置205と、8×1画素バッファー206とを備えている。
【0077】
メモリI/F201は、メインメモリ104の符号ページメモリ領域104aから復号化処理装置203で指定されるアドレスの符号データを8×8画素(ブロック)単位で読み出してバッファー202に転送する。バッファー202は、符号データを一時的に格納した後、復号化処理装置203に転送する。復号化処理装置203は、メインメモリ104の符号ページメモリ領域104aから符号データを読み出して復号化し、8×8画素バッファー204に転送する。8×8画素バッファー204は、復号化された8×8画素のRGBデータを一時的に格納する。水平画素選択装置205は、8×8画素バッファー204から現在処理しているラインの8×1画素のRGBデータを抜き出して、8×1画素バッファー206に転送する。8×1画素バッファー206は、水平画素選択装置205で選択された8×1画素のRGBデータを一時的に格納し、C〜K版画像処理装置113C〜Kにそれぞれ転送する。
【0078】
図19は、図18の復号化装置112C〜Kの全体の処理フローを示す図である。図19を参照して、図18の復号化装置112C〜Kの全体の処理を説明する。
【0079】
図19において、まず、画素ラインカウンタIを初期化して、I=0とする(ステップS301)、そして、現在アクセスしている符号の先頭アドレスを保持する(ステップS302)。つづいて、現在アクセスしている符号の先頭アドレスの符号データのブロックをメインメモリ104の符号ページメモリ領域104aから読み出し、8×8画素(ブロック)単位に復号化する(ステップS303)。そして、復号化されたブロックのIライン目の水平方向8画素のRGBデータを、C〜K版画像処理装置113C〜Kに転送する(ステップS304)。そして、リスタートマーカーが付加されているか否かを判断し(ステップS305)、リスタートマーカーを検出しない場合には(ステップS305の「N」)、ステップS303に戻り、次のブロックの符号データをメインメモリ104から読み出して復号化を行い、リスタートマーカーを検出するまで(1ブロックラインが終了するまで)、同じ処理を繰り返し実行する(ステップS303〜S305)。
【0080】
リスタートマーカーを検出した場合には(ステップS305の「Y」)、画素ラインカウンタIを「1」インクリメントして、I=I+1とする(ステップS306)。そして、画素ラインが1ブロックライン終了したかを判断するために、I<8か否かを判断する(ステップS307)。
【0081】
I<8の場合には(ステップS307の「Y」)、保持した符号の先頭アドレスに復帰した後(ステップS308)、ステップS303に戻り、保持した符号の先頭アドレスの符号データのブロックを再度読み込み、復号化する処理をI≧8となるまで繰り返し実行する(ステップS303〜S308)。
【0082】
I≧8の場合には(ステップS307の「N」)、1ページ終了したか否かを判断し(ステップS309)、終了していない場合は、次のブロックラインの先頭アドレスを保持し、同様の処理を1ページが終了するまで繰り返し実行する(ステップS301〜S309)。
【0083】
このように、復号化装置112C〜Kは、符号化装置111でブロックライン毎に挿入されたリスタートマーカーを読み込んで、ブロックラインの終端を判断し、終端でない場合には、ブロックラインの先頭のアドレスへ戻り、同じブロックラインの符号データを再度読み込むことにより、復号化した画像データを1画素×8画素単位で転送することが可能となる。
【0084】
図20および図21は、復号化装置111が1画素ライン単位で転送処理する場合を説明するための説明図を示しており、図20は、1画素ライン目の処理、図21は、2画素ライン目の処理を説明するための説明図を示している。
【0085】
1画素ライン目の処理は、図20に示すように、まず、復号化装置111は、8×8画素のブロックをメインメモリ104から読み出して符号データを復号化し、復号化した8×8画素から1画素ライン目の水平8画素(▲1▼)のみを画像処理装置113に転送し、その後、画像処理装置113は、1ラインメモリ114に転送する。次に、復号化装置111は、次のブロックの符号データをメインメモリ104から読み出して復号化し、復号化した8×8画素から1画素ライン目の水平8画素(▲2▼)のみを画像処理装置113に転送し、この処理を1ブロックラインが終了するまで順次実行する。
【0086】
2画素ライン目の処理は、図21に示すように、復号化装置111は、8×8画素のブロックを再度メインメモリ104から読み出して、符号データを復号化し、復号化した8×8画素から2画素ライン目の水平8画素のみを画像処理装置113に転送し、その後、画像処理装置113が1ラインメモリ114に転送する。つづいて、復号化装置111は、次のブロックの符号データをメインメモリ104から読み出して復号化し、復号化したブロックの8×8画素から2画素ライン目の水平8画素(▲2▼)のみを画像処理装置113に転送し、この処理を1ブロックラインが終了するまで順次実行する。
【0087】
上記と同様の処理を、8画素ライン(1ブロックライン)が終了するまで続行し、これにより、1ラインメモリ114には1ライン分の画像データが格納される。8画素ラインが終了した場合には、次のブロックラインのブロックを読み出して、同様の処理を1ページ終了するまで実行する。
【0088】
図22は、図18の復号化処理装置203の詳細な構成を示すブロック図である。復号化処理装置203は、図22に示すように、エントロピー符号化装置211と、Y逆量子化処理装置212と、U逆量子化処理装置213と、V逆量子化処理装置214と、Y2次元IDCT処理装置215と、U2次元IDCT処理装置216と、V2次元IDCT処理装置217と、YUV→RGB変換装置218と、符号メモリアドレス生成装置219とを備えている。
【0089】
エントロピー復号化装置211は、バッファー202に格納された8×8画素の符号データを順次読み出して、Y、U、V成分のエントロピー復号化処理を行い、量子化後の各成分の8×8のDCT係数をY、U、V量子化処理装置212〜214にそれぞれ転送する。
【0090】
Y逆量子化処理装置212は、エントロピー復号化装置211から入力される量子化後のY成分の8×8のDCT係数に対して逆量子化して、Y成分の8×8画素のDCT係数を算出し、Y2次元IDCT処理装置215に転送する。U逆量子化処理装置213は、エントロピー復号化装置211から入力される量子化後のU成分の8×8のDCT係数に対して、逆量子化し、U成分の8×8画素のDCT係数を算出して、U2次元IDCT処理装置216に転送する。V逆量子化処理装置214は、エントロピー復号化装置211から入力される量子化後のU成分の8×8のDCT係数に対して、逆量子化して、V成分の8×8画素のDCT係数を算出し、V2次元IDCT処理装置217に転送する。
【0091】
Y2次元IDCT処理装置215は、Y逆量子化処理装置215から入力されるY成分の8×8画素のDCT係数に対して、IDCT(逆離散コサイン変換)を行い、Y成分の8×8画素データを算出し、YUV→RGB変換装置218に転送する。U2次元IDCT処理装置216は、U逆量子化処理装置213から入力されるU成分の8×8画素のDCT係数に対して、IDCT(逆離散コサイン変換)を行い、U成分の8×8画素データを算出し、YUV→RGB変換装置218に転送する。V2次元IDCT処理装置217は、V逆量子化処理装置214から入力されるV成分の8×8画素のDCT係数に対して、IDCT(逆離散コサイン変換)を行い、V成分の8×8画素データを算出し、YUV→RGB変換装置218に転送する。
【0092】
YUV→RGB変換装置218は、Y、U、VIDCT処理装置215、216、217から入力される8×8画素のY、U、VデータをRGBデータへ変換し、8×8画素バッファー204に転送する。
【0093】
符号メモリアドレス生成装置219は、メインメモリ104の符号ページメモリ領域104aに格納された符号データを読み出すための符号メモリアドレスを生成し、また、エントロピー復号化装置211からブロックライン終端信号が入力されると、記憶されたブロックラインの先頭のアドレスへ復帰する。
【0094】
図23は、図22のエントロピー復号化装置211の詳細な構成を示すブロック図である。エントロピー復号化装置211は、図23に示すように、読み込み符号レジスタ221と、シフター222と、リスタート符号判定装置223と、DC値符号化装置224と、AC値符号化装置225と、MUX226と、シフト値生成装置227と、8×8データ生成装置228とを備えている。
【0095】
読み込み符号レジスタ221は、メインメモリ104の符号ページメモリ領域104aから読み出した符号データを一時的に格納する。シフター222は、読み込み符号レジスタ221の符号データからDC、AC符号を切り出すためにシフト処理を行う。リスタート符号判定装置223は、符号データに挿入されたリスタートマーカーを判定してブロックライン終端信号を生成し、また、リスタートマーカー符号長をMUX226を介してシフト値生成装置227に転送する。
【0096】
DC値復号化装置224は、シフター222の先頭にあるDC符号を読み込んで復号化し、DCデータを8×8データ生成装置228に転送し、そのDC符号長をMUX226を介して、シフト値生成装置227に転送する。AC値復号化装置225は、シフター222からDC符号分のBITを超えた部分からAC値を復号化し、ACデータを8×8データ生成装置228に転送し、そのAC符号長をMUX226を介してシフト値生成装置227に転送する。MUX226は、DC値復号化装置224、AC値符号化装置225、リスタート符号判定装置223から入力されるDC符号長、AC符号長、およびリスタート符号長(消費符号長)をシフト値生成装置226に転送する。MUX226は、この時、1番最初はDC値の符号であるが、その後AC値の符号が続くためにそのコントロールを行う。
【0097】
シフト値生成装置227は、MUX226から入力されるDC符号長、AC符号長、リスタート符号長に基づいて、シフター222のシフト量をコントロールする。この場合、シフト値が符号レジスタ221の容量を越えた場合、次の符号を要求するNEXTGATEFLG(符号ワード要求信号)を符号メモリアドレス生成装置219に送出する。8×8データ生成装置228は、復号化された量子化後の8×8のDCT係数を、Y、U、V逆量子化処理装置212〜214に転送する。
【0098】
図24は、図23のシフト値生成回路227の構成を示すブロック図である。シフト値生成回路227は、MUX231と、レジスタ232と、レジスタ233と、MUX234と、加算器235と、比較器236と、減算器237と、レジスタ238とを備えている。
【0099】
MUX231は、レジスタ232、233に格納するワード中の次の符号の先頭か、次のワードに跨いだ次の符号の先頭値を選択する。レジスタ232は、ブロックラインのワード中の符号の先頭値を格納する。また、このレジスタ232はトグルになっており、リスタート符号判定装置223から入力されるブロックライン終端信号に基づいて、交互に切り換わりブロックラインの終端値を記憶する。この時、もう1つのレジスタ233に記憶された1つ前のブロックラインの終端値(現在のブロックラインの始点値)を使用しブロックラインの始点値へ戻る。レジスタ233は、DC値、AC値復号化装置224、225などからのAC符号長、DC符号長を累積し、符号ワードの中の処理する符号の先頭値を格納する。
【0100】
MUX234は、リスタート符号判定装置223から入力されるブロックライン終端信号に基づいて、加算器235の値とレジスタ232の値を切り換える。加算器235は、DC値、AC値復号化装置224、225などからのAC符号長、DC符号長の累積演算を行う。比較器236は、DC値、AC値復号化装置224、225などから入力されるDC符号長、AC符号長を累積演算てし求めたワード中の値が次のワードを跨いでいないかを判断し、跨ぐ場合は、NEXTDATAFLAGを発生させ、次のワードの符号を要求する。減算器237は、次のワードを跨いだ時の次のワード中の符号の先頭値を求める。レジスタ238は、比較器236で求めたNEXTDATAFLAGを格納する。
【0101】
図25は、図22の符号メモリアドレス生成装置219の詳細な構成を示すブロック図である。符号メモリアドレス生成装置219は、図25に示すように、レジスタ241と、加算器242と、MUX243と、レジスタ424と、OR回路245とを備えている。
【0102】
レジスタ241は、メインメモリ104の処理する符号のアドレスを格納する。加算器242は、メインメモリ104の処理する符号のアドレスをカウントUPする。MUX243は、リスタート符号判定装置223から入力されるブロックライン終端信号に基づき、加算器242からの値と前のブロックラインの終端(現在のブロックラインの始点)値を切り換える。レジスタ424は、リスタート符号判定装置223から入力されるブロックライン終端信号または符号ワード要求信号に基づいて、前のブロックラインの終端(現在のブロックラインの始点)値を格納する。OR回路245は、リスタート符号判定装置223から入力されるブロックライン終端信号と符号ワード要求信号のOR出力をレジスタ241に出力する。
【0103】
図26は、図2のC版画像処理装置113Cの構成を示すブロック図である。C版画像処理装置113Cは、バッファ251と、色補正処理装置252と、階調処理装置253と、PIXEL TO PLANE変換装置254と、バッファ255と、1ラインメモリアドレス生成装置256と、コントローラ257とを備えている。
【0104】
バッファー251は、復号化装置111Cから入力される復号化されたRGBデータを一時的に格納する。色補正処理装置252は、バッファー251に格納されたRGBデータ(多値データ)の色補正を行い、Cデータ(多値データ)に変換する。階調処理装置253は、色補正処理装置253から入力される階調処理後の2値、4値、16値などのデータへ変換する。PIXEL TO PLANE変換装置254は、階調処理装置253で階調処理された2値、4値、16値などのデータを指定された版のデータのみ、PXELからPLANEへ変換してバッファー255に転送する。バッファー255は、PIXEL TO PLANE変換装置254から入力された変換されたCデータを一時的に格納する。1ラインメモリアドレス生成装置256は、1ラインメモリ114Cのアドレスを生成し、指定されたアドレスにバッファ255に格納されたCデータが転送される。コントローラ257は、C版画像処理装置113Cをコントロールする。
【0105】
M〜K版画像処理装置113M〜113Kについては、出力する色が異なるのみで、基本構成は、C版画像処理装置113Cの構成と同様であるのでその説明は省略する。
【0106】
図27は、図26のC版画像処理装置13Cの処理フローを示す図である。図27を参照して、図26のC版画像処理装置13Cの処理を説明する。図27において、復号化装置112Cから転送されるRGBデータをバッファ251に格納し(ステップS401)、色補正処理装置252は、色補正処理を行ってRGBデータをCデータに変換する(ステップS402)。そして、階調処理装置253は、多値のCデータを2値のCデータへ変換する(ステップS403)。そして、階調処理後のCデータを指定されたプレーンのみ固定長に纏め、1ラインメモリ114Cに転送する(ステップS404)。全ての画像が処理されたか否かを判定し(ステップS405)、全ての画像が終了するまで同じ処理を繰り返し行う(ステップS401〜405)。
【0107】
以上説明したように、実施の形態1によれば、画像データの処理するブロックの1ブロックラインの終端にリスタートマーカーを付加することにより、符号データの1ブロックラインの終端の検索を容易にして、復号化時に同じブロックラインの符号データを繰り返し読み出して、復号化した各ブロックの画像データを1画素ライン単位で出力することとしたので、復号化した画像データを格納するためのラインメモリを小容量化して、ハードウエア構成を小規模かつ安価にすることが可能となる。これにより、画像処理LSIのメモリ量やゲート規模を削減することが可能となる。
【0108】
なお、上記した実施の形態1では、1ラインメモリ114C〜KをC〜K版画像処理装置113C〜KとC〜K版エンジンコントローラ115C〜K間に配置した構成であるが、1ラインメモリ114C〜114Kを復号化装置112C〜KとC〜K版画像処理装置113C〜K間に配置することにしても良い。また、1ラインメモリを設けないで構成することにしても良い。図28は、1ラインメモリのない画像処理装置の構成を示す図である。
【0109】
また、上記した実施の形態1では、1画素ラインの8画素単位で画像データを復号化装置112C〜KからC〜K版画像処理装置113C〜Kに転送することとしたが、8画素×2画素ラインまたは4画素ラインでRGBデータを復号化装置112C〜KからC〜K版画像処理装置113C〜Kに転送することにしても良い。この場合は、2ラインメモリまたは4ラインメモリが必要となるが、1ブロックで処理する場合(この場合は、8ラインメモリが必要)に比して、ラインメモリを小さくすることができる。また、この場合は、1画素ラインで処理する場合に比して、読出回数を2画素ラインの場合は、1/2、4画素ラインの場合は、1/4にすることができる。
【0110】
図29は、2ラインメモリを有する画像処理装置の構成を示す図である。この場合は、上述したように、2画素ライン単位でデータの転送が行われる。図30および図31を参照して、2画素ラインで処理する場合を説明する。
【0111】
1ライン目の処理は、図30に示すように、まず、復号化装置112C〜Kは、8×8画素のブロックをメインメモリ104から読み出して符号データを復号化し、復号化した8×8画素から1画素ライン目および2画素ライン目(2画素ライン)の水平8画素(▲1▼)のみをC〜K版画像処理装置113C〜Kに転送し、その後、1ラインメモリ114C〜Kに転送する。そして、次のブロックの符号データをメインメモリ104から読み出して、符号データを復号化し、復号化した8×8画素から1画素ラインおよび2画素ラインの水平8画素(▲2▼)のみをC〜K版画像処理装置113C〜Kに転送し、この処理を1ブロックラインが終了するまで順次実行する。
【0112】
3ライン目の処理は、図31に示すように、復号化装置112C〜Kは、同じ8×8画素のブロックをメインメモリ104から読み出して符号データを復号化し、復号化した8×8画素から3画素ライン目および4画素ライン目(2画素ライン)の水平8画素のみをC〜K版画像処理装置113C〜Kに転送し、その後、1ラインメモリ114C〜Kに転送する。次に、次のブロックの符号データをメモリから読み出して、符号データを復号化し、復号化した8×8画素から3画素ラインおよび4画素ラインの水平8画素(▲2▼)のみをC〜K版画像処理装置113C〜Kに転送し、この処理を1ブロックラインが終了するまで順次実行する。
【0113】
そして、上記と同様の処理を、8画素ラインが終了するまで続行し、8画素ラインが終了した場合には、次のブロックラインのブロックを読み出して、同様の処理を行い、1ページ終了するまで実行する。
【0114】
(実施の形態2)
実施の形態2にかかる画像処理装置を図32〜図38を参照して説明する。実施の形態1にかかる画像処理装置では、符号化装置で符号データの1ブロックラインの終端にリスタートマーカーを付加し、復号化装置では、リスタートマーカーを検出して1ブロックラインの終端を検出する構成であるが、実施の形態2にかかる画像処理装置は、符号化装置ではリスタートマーカーの付加を行わず、復号化装置が独自に符号データの1ブロックラインの終端を検出する構成としたものである。実施の形態2にかかる画像処理装置は、実施の形態1にかかる画像処理装置とほぼ同様の構成であるので、ここでは異なる点についてのみ説明する。実施の形態2の画像処理装置の全体のハードウエア構成は、図2と同様である。
【0115】
[符号化装置]
実施の形態2の符号化装置の全体のハードウエア構成は、図7と同様な構成である。図32は、実施の形態2の符号化装置111(図7)の全体の処理フローを示す図である。同図(A)は、実施の形態2の符号化装置111の全体の処理フロー、同図(B)は、8ラインメモリからの8×8画素のブロックの読出方向を示す図である。図32を参照して、実施の形態2の符号化装置111の全体の処理を説明する。
【0116】
図32(A)において、符号化装置111では、平滑フィルター処理装置110で平滑フィルタ処理されたRGBデータを8ラインメモリ121に順次格納し(ステップS501)、8ラインメモリ121にRGBデータが8ライン分格納されたか否かを判断し(ステップS502)、8ライン分格納していない場合には(ステップS502の「N」)、RGBデータの格納を続行する一方、8ライン分格納した場合には(ステップS502の「Y」)、8ラインメモリ121からRGBデータを8×8画素を1ブロックとして、図32(B)に示す方向に、ブロック単位で読み込み、読み込んだ8×8画素をJPEG符号化してその符号化データをメインメモリ104の符号ページメモリ領域104aに格納する(ステップS503)。
【0117】
そして、1ブロックラインの処理が終了したか否かを判断し(ステップS504)、1ブロックラインの処理が終了していない場合には(ステップS504の「N」)、ステップS503に戻り、8ラインメモリ121から次のブロックを読み出して、符号化を行い、1ブロックラインの処理が終了するまで同じ処理を繰り返し実行する(ステップS503、S504)。
【0118】
他方、1ブロックラインの処理が終了した場合には(ステップS504の「Y」)、1ページの画像が終了したか否かを判断し(ステップS505)、1ページの画像が終了していない場合には、ステップS501に戻り、次のブロックラインについて同じ処理を行い、1ページが終了するまで同じ処理を繰り返し実行する(ステップS501〜ステップS506)。
【0119】
図33は、図8の符号化処理装置122の詳細な構成を示すブロック図である。図33に示す符号化処理装置122は、リスタートマーカーの付加を行わないので、図9の符号化処理装置において、リスタートマーカー処理装置を削除した構成となっており、また、8ラインメモリアドレス生成装置132は、1ブロックライン終了信号を送出しない構成となっている。図33において、図9と同等機能を有する部位には同一符号を付してある。
【0120】
符号化処理装置122は、図33に示すように、8×8バッファー131と、8ラインメモリアドレス生成装置132と、RGB→YUV変換装置133と、Y2次元DCT処理装置134と、U2次元DCT処理装置135と、V2次元DCT処理装置135と、Y量子化処理装置137と、U量子化処理装置138と、V量子化処理装置139と、Yエントロピー符号化装置140と、Uエントロピー符号化装置141と、Vエントロピー符号化装置142と、符号フォーマット生成装置144と、を備えている。
【0121】
8×8バッファー131には、8ラインメモリ121から読み出された8×8画素ブロックのRGBデータが格納される。8ラインメモリアドレス生成装置132は、8ラインメモリ121の読み出しアドレスを生成する。
【0122】
RGB→YUV変換装置133は、8×8バッファー131から8×8画素のRGBデータを読み出してYUVデータへ変換し、そのYデータをY2次元DCT処理装置134に、そのU成分をU2次元DCT処理装置135に、VデータをV2次元DCT処理装置136へ転送する。
【0123】
Y2次元DCT処理装置134は、Y成分に対して2次元DCT(離散コサイン変換)を行ってY量子化処理装置137に転送する。U2次元DCT処理装置135は、U成分に対して2次元DCT(離散コサイン変換)を行ってU量子化処理装置138に転送する。V2次元DCT処理装置139は、V成分に対して2次元DCT(離散コサイン変換)を行ってV量子化処理装置139に転送する。
【0124】
Y量子化処理装置131は、Y2次元DCT処理装置134から入力されるDCT処理後のYデータを量子化してYエントロピー符号化装置140に転送する。U量子化処理装置132は、U2次元DCT処理装置135から入力されるDCT処理後のUデータを量子化してUエントロピー符号化装置141に転送する。V量子化処理装置139は、V2次元DCT処理装置136から入力されるDCT処理後のYデータを量子化して、Vエントロピー符号化装置142に転送する。
【0125】
Yエントロピー符号化装置140は、Y量子化処理装置131から入力される量子化後のYデータをエントロピー符号化して、符号フォーマット生成装置144に転送する。Uエントロピー符号化装置141は、U量子化処理装置138か入力される量子化後のUデータをエントロピー符号化して符号フォーマット生成装置144に転送する。Vエントロピー符号化装置142は、V量子化処理装置139から入力される量子化後のVデータをエントロピー符号化して、符号フォーマット生成装置144に転送する。
【0126】
符号フォーマット生成装置144は、Y、U、Vエントロピー符号化装置140、141、142から符号データとその符号長が入力され、それらの符号を順次1つの符号に入れ込んで纏め符号データとして出力する。
【0127】
なお、図33の8ラインメモリアドレス生成装置の構成は、図11において、比較装置を削除した構成であるので、その説明は省略する。
【0128】
[復号化装置]
実施の形態2の復号化装置の全体のハードウエア構成は、図18と同様な構成である。図34は、実施の形態2の復号化装置の全体の処理フローを示す図である。図34を参照して、実施の形態2の復号化装置の全体の処理を説明する。
【0129】
図34において、まず、画素ラインカウンタIを初期化して、I=0とするとともに、水平方向ブロック数カウンタXNCTを初期化して、XNCT=0とする(ステップS601)。そして、現在アクセスしている符号の先頭アドレスを保持する(ステップS602)。つづいて、現在アクセスしている符号の先頭アドレスの符号データのブロックをメインメモリ104から読み出し、8×8画素単位に復号化する(ステップS603)。そして、復号化されたIライン目の8×1画素のRGBデータを、C〜K版画像処理装置113C〜Kにそれぞれ転送する(ステップS604)。そして、水平方向ブロック数カウンタXNCTを「1」インクリメントして、XNCT=XNCT+1とし(ステップS605)、XNCT>水平方向のブロック数であるか否かを判断し(ステップS606)、XNCT>水平方向のブロック数でない場合には(ステップS606の「N」)、ステップS603に戻り、次のブロックの符号データをメインメモリ104から読み出して復号化を行い、XNCT>水平方向のブロック数となるまで(1ブロックラインが終了するまで)、同じ処理を繰り返し実行する(ステップS603〜S606)。
【0130】
XNCT>水平方向のブロック数の場合には(ステップS606の「Y」)、画素ラインカウンタIを「1」インクリメントして、I=I+1とする(ステップS607)。そして、画素ラインが1ブロックライン終了したかを判断するために、I<8か否かを判断する(ステップS608)。
【0131】
I<8の場合には(ステップS608の「Y」)、保持した符号の先頭アドレスに復帰した後(ステップS609)、ステップS603に戻り、保持した符号の先頭アドレスの符号データのブロックを再度読み込み、復号化する処理をI≧8となるまで繰り返し実行する(ステップS603〜S609)。
【0132】
I≧8の場合には(ステップS608の「N」)、1ページ終了したか否かを判断し(ステップS610)、終了していない場合は、次のブロックラインの先頭アドレスを保持し、同様の処理を1ページが終了するまで繰り返し実行する(ステップS601〜S609)。
【0133】
このように復号化装置は、設定された水平方向のブロック数により、順次処理した水平方向のブロック数をカウントし、ブロックラインの終端を判断し、ブロックラインの先頭のアドレスへ戻り、同じブロックラインの符号を再度読み込むことにより、復号化した画像データを1画素×8画素単位で出力することが可能となる。
【0134】
図35は、図18の復号化処理装置203の詳細な構成を示すブロック図である。図35に示す復号化処理装置203は、図22の復号化処理装置203において、ブロックラインの終端を検出するためブロックライン終端判定装置301を追加した構成となっている。図35において、図22と同等機能を有する部位には同一符号を付してある。
【0135】
復号化処理装置203は、図35に示すように、エントロピー符号化装置211と、Y逆量子化処理装置212と、U逆量子化処理装置213と、V逆量子化処理装置214と、Y2次元IDCT処理装置215と、U2次元IDCT処理装置216と、V2次元IDCT処理装置217と、YUV→RGB変換装置218と、符号メモリアドレス生成装置219と、ブロックライン終端判定装置301を備えている。
【0136】
エントロピー復号化装置211は、バッファー202に格納された符号データを順次読み出して、Y、U、V成分のエントロピー復号化処理を行い、量子化後の各成分の8×8のDCT係数をY、U、V量子化処理装置212〜214に転送する。
【0137】
Y逆量子化処理装置212は、エントロピー復号化装置211から入力される量子化後のY成分の8×8のDCT係数に対して逆量子化して、Y成分の8×8画素のDCT係数を算出し、Y2次元IDCT処理装置215に転送する。U逆量子化処理装置213は、エントロピー復号化装置211から入力される量子化後のU成分の8×8のDCT係数に対して、逆量子化し、U成分の8×8画素のDCT係数を算出して、U2次元IDCT処理装置216に転送する。V逆量子化処理装置214は、エントロピー復号化装置211から入力される量子化後のU成分の8×8のDCT係数に対して、逆量子化して、V成分の8×8画素のDCT係数を算出し、V2次元IDCT処理装置217に転送する。
【0138】
Y2次元IDCT処理装置215は、Y逆量子化処理装置215から入力されるY成分の8×8画素のDCT係数に対して、IDCT(逆離散コサイン変換)を行い、Y成分の8×8画素データを算出し、YUV→RGB変換装置218に転送する。U2次元IDCT処理装置216は、U逆量子化処理装置213から入力されるU成分の8×8画素のDCT係数に対して、IDCT(逆離散コサイン変換)を行い、U成分の8×8画素データを算出し、YUV→RGB変換装置218に転送する。V2次元IDCT処理装置217は、逆量子化処理装置214から入力されるV成分の8×8画素のDCT係数に対して、IDCT(逆離散コサイン変換)を行い、V成分の8×8画素データを算出し、YUV→RGB変換装置218に転送する。
【0139】
YUV→RGB変換装置218は、Y、U、V2次元IDCT処理装置215、216、217から入力される8×8画素のY、U、VデータをRGBデータへ変換し、8×8画素バッファー204に転送する。
【0140】
符号メモリアドレス生成装置219は、メインメモリ104の符号ページメモリ領域104aに格納された符号データを読み出すための符号メモリアドレスを生成し、また、ブロックライン終端判定装置301からブロックライン終端信号が入力されると、記憶されたブロックラインの先頭のアドレスへ復帰する。
【0141】
ブロックライン終端判定装置301は、処理した水平方向のブロック数をカウントし、指定された水平方向のブロック数を超えたかを判断し、水平方向のブロック数を超えた場合にブロックライン終端信号を生成して、符号メモリアドレス生成装置219およびエントロピー復号化装置211に転送する。
【0142】
図36は、図25のエントロピー復号化装置211の詳細な構成を示すブロック図である。図36に示すエントロピー復号化装置211は、図23のエントロピー復号化装置211において、リスタート符号判定装置を削除した構成となっている。図36において、図23と同等機能を有する部位には同一符号を付してある。
【0143】
エントロピー復号化装置211は、図36に示すように、読み込み符号レジスタ221と、シフター222と、DC値符号化装置224と、AC値符号化装置225と、MUX226と、シフト値生成装置227と、8×8データ生成装置228と、コントローラ302とを備えている。
【0144】
読み込み符号レジスタ221は、メインメモリ104の符号ページメモリ領域104aの符号を一時的に格納する。シフター222は、読み込み符号レジスタ221の符号からDC、AC符号を切り出すためにシフト処理を行う。
【0145】
DC値復号化装置224は、シフター222の先頭にあるDC符号を読み込んで復号化し、DCデータを8×8データ生成装置228に転送し、そのDC符号長をMUX226を介して、シフト値生成装置227に転送する。AC値復号化装置225は、シフター222からDC符号分のBITを超えた部分からAC値を復号化し、ACデータを8×8データ生成装置28に転送し、そのAC符号長をMUX226を介してシフト値生成装置227に転送する。
【0146】
MUX226は、DC値復号化装置224、AC値符号化装置225から入力されるDC符号長、AC符号長をシフト値生成装置226に転送する。MUX226は、この時、1番最初はDC値の符号であるが、その後AC値の符号が続くためにそのコントロールを行う。
【0147】
シフト値生成装置227は、MUX226から入力されるDC符号長、AC符号長に基づいて、シフター222のシフト量をコントロールする。この場合、シフト値が符号レジスタ221の容量を越えた場合、次の符号を要求する。8×8データ生成装置228は、復号化された量子化後の8×8のDCT係数を、Y、U、V逆量子化処理装置212〜214に転送する。
【0148】
コントローラ302は、エントロピー復号化装置221をコントロールするものであり、1ブロックの符号データを復号化する毎にブロック符号信号を生成して、ブロックライン終端判定装置301に転送する。
【0149】
図36のシフト値生成回路227のハードウエア構成は、図24と同様であるのでその詳細な説明は省略する。実施の形態2のシフト値生成回路227が、実施の形態1と異なる点は、図24において、レジスタ232およびMUX234に、ブロックライン終端信号がブロックライン終端判定装置301から入力される点のみである(実施の形態1では、リスタート符号判定装置223から入力される)。
【0150】
図37は、図35の符号メモリアドレス生成装置の構成を示す図である。図37の符号メモリアドレス生成装置219のハードウエア構成は、図25と同様であるのでその詳細な説明は省略する。実施の形態2の符号メモリアドレス生成装置が、実施の形態1と異なる点は、MUX231およびOR回路245に、ブロックライン終端信号がブロックライン終端判定装置301から入力される点のみである(実施の形態1では、リスタート符号判定装置223から入力される)。
【0151】
図38は、図35の復号化処理装置のブロックライン終端判定装置301の詳細な構成を示す図である。ブロックライン終端判定装置301は、図38に示すように、レジスタ311と、加算器312と、比較器313と、FF(フリップフロップ)314とを備えている。
【0152】
レジスタ311は、エントロピー復号化装置から1ブロック復号化される毎に出力されるブロック符号信号を受け、加算器312からの+1されたデータを受け取って記憶することにより、順次カウントアップし、処理したブロック数を記憶する。加算器312は、レジスタ311に記憶される処理したブロック数をカウントアップする。比較器313は、画像の水平ブロック数とレジスタ311に記憶される処理したブロック数とを比較し、ブロックラインの終端を判定し、ブロックライン終端信号を生成して、FF314、エントロピー符号化装置211および符号メモリアドレス生成装置219に転送することによりブロックラインの終端を知らせる。FF314は、比較器313から入力されるブロックライン終端信号を一時的に格納し、レジスタ311の値を初期化する。
【0153】
以上説明したように、実施の形態2の画像処理装置によれば、復号化装置は、符号データの1ブロックラインの終端の検索を検索して、同じブロックラインの符号データを繰り返し読み出して、復号化した各ブロックの画像データを1画素ライン単位で出力することとしたので、復号化した画像データを格納するためのラインメモリを小容量化して、ハードウエア構成を小規模かつ安価にすることが可能となる。これにより、画像処理LSIのメモリ量やゲート規模を削減することが可能となる。
【0154】
なお、実施の形態2においても、実施の形態1と同様に、2または4画素ライン×水平方向8画素単位で画像データを復号化装置から画像処理装置に転送することにしても良い。
【0155】
(実施の形態3)
実施の形態3にかかる画像処理装置を図39〜図49を参照して説明する。実施の形態1および実施の形態2では、画像処理装置を4ドラム型のデジタルカラー複写機に適用した場合について説明したが、実施の形態3では、画像処理装置を4ドラム型のカラープリンタに適用した場合について説明する。
【0156】
[画像処理装置のメカ構成]
図39は、実施の形態3にかかる画像処理装置の概略のメカ構成を示す断面図である。このカラープリンタは、図39に示すように、4色(Y、M、C、K)の画像をそれぞれ独立の作像系401Y、401M、401C、401Kで形成し、この4色の画像を合成する4ドラムタンデムエンジンタイプの画像形成装置である。
【0157】
各作像系401Y、401M、401C、401Kは、像担持体としての感光体、例えば小径のOPC(有機感光体)ドラム402Y、402M、402C、402Kを有し、このOPCドラム402Y、402M、402C、402Kを取り囲むように作像の上流側から帯電手段としての帯電ローラ403Y、403M、403C、403Kと、OPCドラム402Y、402M、402C、402K上の静電潜像をそれぞれ現像剤で現像してY、M、C、K各色のトナー像とする現像装置404Y、404M、404C、404Kと、クリーニング装置405Y、405M、405C、405Kと、除電装置406Y、406M、406C、406Kなどが配置されている。
【0158】
各現像装置404Y、404M、404C、404Kの脇には、Yトナー、Mトナー、Cトナー、Kトナーをそれぞれ現像装置404Y、404M、404C、404Kへ補給するトナーボトルユニット407Y、407M、407C、407Kが配置されている。また、各作像系401Y、401M、401C、401Kは各々独立な光書き込み装置408Y、408M、408C、408Kが配置され、この光書き込み装置408Y、408M、408C、408Kはレーザ光源としてのレーザダイオード(LD)光源409Y、409M、409C、409Kや、コリメートレンズ410Y、410M、410C、410K、fθレンズ411Y、411M、411C、411K、といった光学部品、偏向走査手段としてのポリゴンミラー412Y、412M、412C、412K、折り返しミラー413Y、413M、413C、413K、414Y、414M、414C、14Kなどを有する。
【0159】
各作像系401Y、401M、401C、401Kは垂直に配列され、その右側には転写ベルトユニット415がOPCドラム402Y、402M、402C、402Kに接する形で配置される。転写ベルトユニット415は、転写ベルト416がローラ417〜420に張架されて図示しない駆動源により回転駆動される。装置下側には転写材としての転写紙が収納された給紙トレイ421が配置され、装置上部に定着装置422、排紙ローラ423及び排紙トレイ424が配設される。
【0160】
作像時には、各作像系401Y、401M、401C、401Kにおいて、それぞれ、OPCドラム402Y、402M、402C、402Kが図示しない駆動源により回転駆動され、帯電ローラ403Y、403M、403C、403KによりOPCドラム402Y、402M、402C、402Kが一様に帯電されて光書き込み装置408Y、408M、408C、408Kが各色の画像データに基づきOPCドラム402Y、402M、402C、402Kに光書込みを行うことによって、OPCドラム402Y、402M、402C、402K上に静電潜像が形成される。
【0161】
このOPCドラム402Y、402M、402C、402K上の静電潜像はそれぞれ現像装置404Y、404M、404C、404Kにより現像されてY、M、C、K各色のトナー像となり、一方、給紙トレイ421から給紙ローラ425により転写紙が水平方向に給紙されて搬送系により作像系401Y、401M、401C、401K方向へ垂直に搬送される。この転写紙は、転写ベルト416に静電的に吸着保持されて転写ベルト416により搬送され、図示しない転写バイアス印加手段により転写バイアスが印加されてOPCドラム402Y、402M、402C、402K上のY、M、C、K各色のトナー像が順次に重ねて転写されることでフルカラー画像が形成される。このフルカラー画像が形成された転写紙は、定着装置422によりフルカラー画像が定着されて排紙ローラ423により排紙トレイ24へ排出される。
【0162】
[画像処理装置のハードウエア構成]
図40は、実施の形態3の画像処理装置のハードウエア構成を示すブロック図である。図40において、図2と同等機能を有する部位には同一符号を付してある。実施の形態3にかかる画像処理装置は、図40に示すように、CPU101と、CPU_I/F102と、メモリコントローラ103と、メインメモリ104と、ローカルI/F105と、ROM106と、パネルコントローラ107と、パネル108と、通信コントローラ501と、平滑フィルター処理装置110と、符号化装置111と、復号化装置112C〜Kと、C〜K版画像処理装置113C〜Kと、1ラインメモリ114C〜Kと、C〜K版エンジンコントローラ115C〜Kと、C〜K版プリンタエンジン116C〜Kとを備えている。
【0163】
CPU101は、ROM106やメインメモリ104に格納されたプログラムに従って、デジタルカラー複写機の全体の制御を行う。CPU_I/F102は、CPU101とメモリコントローラ103間に接続され、CPU101とメモリコントローラ103間のI/Fを処理する。メモリコントローラ103は、メインメモリ104のリード/ライトをコントロールし、CPU101、ローカルI/F105復号化装置112C〜Kと、および符号化装置111と、メインメモリ104間のデータ転送をコントロールする。
【0164】
メインメモリ104は、入力される画像データ、CPU101が実行するためのプログラム、および各種データ等を格納する。図41は、メインメモリ104のフォーマットの一例を示す図である。メインメモリ104は、図41に示すように、多値のRGBのデータを1バンド分格納するRGBバンドメモリ領域104cと、符号化されたバンド単位の符号データを複数ページ分格納する符号ページメモリ領域104aと、CPU101の各種プログラムを格納するプログラム領域104b等を備えている。図42は、符号ページメモリ領域104aのフォーマットを示す図である。図43は、符号ページメモリ領域104に格納されるバンド符号のフォーマットの一例を示す図である。
【0165】
ローカルI/F105は、ROM106、パネルコントローラ107、CPU101、およびメインメモリ104等のI/Fを処理する。ROM106は、CPU101が実行するためのプログラムや文字などのフォント情報等を格納する。パネルコントローラ107は、パネル108をコントロールする。パネル108は、ユーザーからの操作をCPU101に通知する。
【0166】
通信コントローラは、ネットワークに接続されており、ネットワークから各種データやコマンドなどを受信して、メモリコントローラ107を介して各種のコントローラに接続されている。
【0167】
符号化装置111は、メインメモリ104の多値RGBバンドメモリ領域104cに格納された多値のRGBバンドデータを符号化して、その符号データを符号ページメモリ領域104aに格納する。
【0168】
復号化装置112C〜Kは、メインメモリ104の符号ページメモリ領域104aに格納されている符号データをメモリコントローラ103を介してリードして復号化し、復号化したRGBデータをC〜K版画像処理装置113C〜Kにそれぞれ転送する。
【0169】
C〜K版画像処理装置113C〜Kは、C、M、Y、K版復号化装置112C〜Kで各々復号化されたC、M、Y、Kデータに対して色変換処理や階調処理を行い、階調処理後のC、M、Y、Kデータを1ライン単位で順次、1ラインメモリ114C〜Kにそれぞれ転送して格納する。
【0170】
1ラインメモリ114C〜Kは、階調処理された1ライン分のC、M、Y、Kデータをそれぞれ格納する。C〜K版エンジンコントローラ115C〜Kは、1ラインメモリ114C〜Kに格納された1ライン分のC、M、Y、Kデータをそれぞれ順次読み出して、C〜K版プリンタエンジン116C〜116Kに転送する。C、M、Y、K版プリンタエンジン115C〜Kは、C〜K版エンジンコントローラ115C〜Kから転送されてくるC、M、Y、Kデータを印字出力する。
【0171】
図44は、図40の画像処理装置の全体の処理を説明するためのフローチャート、図45は、図40の画像処理装置において、画像データの転送経路を説明するための図である。図44および図45を参照して、図40に示す画像処理装置の全体の処理を説明する。
【0172】
図44および図45において、CPU101は通信コントローラを介して受信したRGBデータを、メモリコントローラ103を介してメインメモリ104のRGBバンドメモリ領域104cにバンド毎に格納する(ステップS701、▲1▼)。そして、符号化装置111は、メインメモリ104のRGBバンドメモリ領域104Cから多値のRGBバンドを読み込んで(▲3▼)、符号化しその符号データをメインメモリ104の符号ページメモリ領域104aに格納する(ステップS702、▲3▼)。この場合、各バンドの符号長を算出して、バンド毎の先頭アドレスを算出し、符号化したRGBデータのバンドデータと、各バンドの先頭アドレスをメインメモリ104の符号ページメモリ領域104aに格納する。
【0173】
復号化装置112C〜Kは、それぞれC〜K版プリンタエンジン116C〜Kに同期して、メインメモリ104に格納された符号データを独立して復号化するものである。復号化装置112C〜Kは、まず、メインメモリ104に格納された符号データをメモリコントローラ103を介して読み出して(▲4▼)、読み出した符号データを復号化して復号化したRGBデータをそれぞれC〜K版画像処理装置113C〜Kに転送する(ステップS703、▲5▼)。C〜K版画像処理装置113C〜Kは、復号化装置112C〜Kから入力されるRGBデータに対して色補正処理を行ってCMYKデータに変換し(ステップS704)、CMYKデータに対して階調処理を行ってC、M、Y、Kデータを2値化した後、1ラインメモリ114C〜113Kにそれぞれへ転送して格納する(ステップS705、▲6▼)。
【0174】
C〜K版エンジンコントローラ115C〜Kは、それぞれC版〜K版プリンタエンジン115C〜Kに同期して、1ラインメモリ114C〜113KからC、M、Y、Kデータを読み込み(▲7▼)、C〜K版プリンタエンジン116C〜Kへ転送する(ステップS706、▲8▼)。そして、C〜K版プリンタエンジン116C〜Kは、それぞれC、M、Y、Kデータを画像形成する(ステップS707)。
【0175】
[符号化装置]
図46は、図40の符号化装置111の詳細な構成を示すブロック図である。符号化装置111は、図46に示すように、符号化処理装置122と、メモリアドレス生成装置123と、メモリI/F124と、コントローラ126を備えている。
【0176】
コントローラ126は、符号化装置111の全体を制御する。メモリI/F124は、メモリコントローラ103とのI/Fを行う。符号化装置123は、メモリI/F124を介してメインメモリ104から8×8画素(ブロック)単位に画像を読み出して符号化して符号データを生成する。メモリアドレス生成装置123は、符号化処理装置122で生成された符号データをメモリI/F124を介して転送するメインメモリ104のアドレスを生成する。
【0177】
図47は、図40の符号化装置111の全体の処理フローを説明するための図であり、同図(A)は、図40の符号化装置111の全体の処理フロー、同図(B)は、ブロックの読出方向を示している。図47を参照して、図40の符号化装置111の全体の処理を説明する。
【0178】
図47(A)において、符号化装置111では、メインメモリ104のRGBバンド符号領域104cから順次、8×8画素を1ブロックとしてブロック単位で読み込み、ブロック単位でJPEG符号化してその符号化データをメインメモリ104の符号ページメモリ領域104aに格納する(ステップS801)。
【0179】
そして、1ブロックラインの処理が終了したか否かを判断し(ステップS802)、1ブロックラインの処理が終了していない場合には(ステップS802の「N」)、ステップS801に戻り、メインメモリ104のRGBバンド符号領域104cから次のブロックを読み出して符号化を行い、1ブロックラインの処理が終了するまで同じ処理を繰り返し実行する(ステップS801、S802)。
【0180】
他方、1ブロックラインの処理が終了した場合には(ステップS802の「Y」)、メインメモリ104の符号ページメモリ領域104aに格納された符号データの1ブロックラインの終端にリスタートマーカーを付加する(ステップS803)。そして、1バンドの処理が終了したか否かを判断し(ステップS804)、1バンドの処理が終了していない場合には、ステップS801に戻り、次のブロックラインについて同じ処理を行い、1バンドが終了するまで同じ処理を繰り返し実行する(ステップS801〜ステップS804)。
【0181】
図48は、図40の符号化処理装置122の詳細な構成を示すブロック図である。符号化処理装置122は、図11に示すように、8×8バッファー131と、読み込みメモリアドレス生成装置503と、RGB→YUV変換装置133と、Y2次元DCT処理装置134と、U2次元DCT処理装置135と、V2次元DCT処理装置135と、Y量子化処理装置137と、U量子化処理装置138と、V量子化処理装置139と、Yエントロピー符号化装置140と、Uエントロピー符号化装置141と、Vエントロピー符号化装置142と、符号フォーマット生成装置144と、を備えている。
【0182】
8×8バッファー131には、8ラインメモリ121から読み出された8×8画素ブロックのRGBデータが格納される。読込みアドレス生成装置503は、メインメモリ104の読め出しアドレスを生成し、また、1ブロックラインの終端を検出した場合にブロックライン終了信号をリスタートマーカー生成装置143に転送する。
【0183】
RGB→YUV変換装置133は、8×8バッファー131から8×8画素のRGBデータを読み出してYUVデータへ変換し、そのYデータをY2次元DCT処理装置134に、そのUデータをU2次元DCT処理装置135に、VデータをV2次元DCT処理装置136へ転送する。
【0184】
Y2次元DCT処理装置134は、Yデータに対して2次元DCT(離散コサイン変換)を行ってY量子化処理装置137に転送する。U2次元DCT処理装置135は、Uデータに対して2次元DCT(離散コサイン変換)を行ってU量子化処理装置138に転送する。V2次元DCT処理装置139は、Vデータに対して2次元DCT(離散コサイン変換)を行ってV量子化処理装置139に転送する。
【0185】
Y量子化処理装置131は、Y2次元DCT処理装置134から入力されるDCT処理後のYデータを量子化してYエントロピー符号化装置140に転送する。U量子化処理装置132は、U2次元DCT処理装置135から入力されるDCT処理後のUデータを量子化してUエントロピー符号化装置141に転送する。V量子化処理装置139は、V2次元DCT処理装置136から入力されるDCT処理後のYデータを量子化して、Vエントロピー符号化装置142に転送する。
【0186】
Yエントロピー符号化装置140は、Y量子化処理装置131から入力される量子化後のY成分をエントロピー符号化して、符号フォーマット生成装置144に転送する。Uエントロピー符号化装置141は、U量子化処理装置138か入力される量子化後のU成分をエントロピー符号化して符号フォーマット生成装置144に転送する。Vエントロピー符号化装置142は、V量子化処理装置139から入力される量子化後のV成分をエントロピー符号化して、符号フォーマット生成装置144に転送する。
【0187】
リスタートマーカー生成装置143は、読み込みメモリアドレス生成装置132から1ブロックライン終了信号が入力された場合に、リスタートマーカーを生成して符号フォーマット生成装置144に転送する。符号フォーマット生成装置144は、Y、U、Vエントロピー符号化装置140、141、142からの符号データとその符号長と、リスタートマーカー生成装置143からのリスタートマーカーを受け取り、それらの符号を順次1つの符号に入れ込んで纏め符号データとして出力する。
【0188】
図49は、図48の読込みメモリアドレス生成装置503の詳細な構成を示すブロック図である。読み込みメモリアドレス生成装置503は、レジスタ511と、加算器512と、比較器513と、レジスタ514と、加算器515と、乗算器516と、加算器517とを備えている。
【0189】
加算器512は、水平方向の処理ブロック数をカウントして、レジスタ511に格納する。レジスタ511は、水平方向の処理ブロック数を格納し、また、1ブロックラインごと初期化される。比較器513は、水平方向の処理ブロック数が水平ブロック数に達した場合に、ブロックライン終端信号を生成する。
【0190】
レジスタ514は、バンド単位に処理ブロック数を格納する。加算器515は、バンド単位に処理ブロック数カウントする。乗算器516は、メインメモリ104のアドレスを生成するための1ブロックのワード数と処理されたブロック数を乗算する。加算器517は、メインメモリ104のアドレスを生成するためのバンドの符号の先頭アドレスと乗算器516で累積されたデータ量を加算して、読み込みメモリアドレスを生成して出力する。
【0191】
図40の復号化装置の構成は、実施の形態1と同様であるのでその説明を省略する。
【0192】
なお、本実施の形態3では、符号化装置で符号データの1ブロックラインの終端にリスタートマーカーを付加し、復号化装置では、リスタートマーカーを検出して1ブロックラインの終端を検出する構成であるが、実施の形態2と同様に、符号化装置ではリスタートマーカーの付加を行わず、復号化装置が独自に符号データの1ブロックラインの終端を検出する構成としても良い。
【0193】
また、実施の形態1と同様に、2または4画素ライン×8画素単位で画像データを復号化装置から画像処理装置に転送することにしても良い。
【0194】
なお、本発明は、上記した実施の形態1〜3に限定されるものではなく、発明の要旨を変更しない範囲で適宜変形して実行可能である。
【0195】
例えば、本実施の形態では、符号化方式として、DCTを使用したJPEG符号化方式で説明したが、Wavelet変換を使用することにしても良い。また、画像データのブロックサイズを8画素×8画素としたが、これ以外のサイズとしても良い。
【0196】
【発明の効果】
以上説明したように、請求項1にかかる画像処理装置によれば、復号化手段は、画像データをブロック単位よりも小さい所定画素ライン単位で送出することができ、復号化した画像データを格納するためのラインメモリを小容量化して、ハードウエア構成を小規模かつ安価にすることが可能となる。また、簡単な方法で画像データのブロックラインを繰り返し読み出すことが可能となる。
【0198】
また、請求項2にかかる画像処理装置によれば、画像データを汎用性の高いJPEG方式で符号化することが可能となる。
【0199】
また、請求項3にかかる画像処理装置によれば、簡単な方法で画像データのブロックラインの終端を検出して、ブロックラインを繰り返し読み出すことが可能となる。
【0201】
また、請求項4にかかる画像処理装置によれば、復号化後の画像データを格納するラインメモリを1ラインメモリまたは2ラインメモリとすることが可能となる。
【0203】
また、請求項5にかかるカラー画像形成装置によれば、カラー画像形成装置において、復号化した画像データを格納するためのラインメモリを小容量化して、ハードウエア構成を小規模かつ安価にすることが可能となる。
【0204】
また、請求項6にかかる画像処理方法によれば、画像データをブロック単位よりも小さい所定画素ライン単位で送出することができ、復号化した画像データを格納するためのラインメモリを小容量化して、ハードウエア構成を小規模かつ安価にすることが可能となる。また、簡単な方法で画像データのブロックラインを繰り返し読み出すことが可能となる。
【0206】
また、請求項7にかかる画像処理方法によれば、画像データを汎用性の高いJPEG方式で符号化することが可能となる。
【0207】
また、請求項8にかかる画像処理方法によれば、簡単な方法で画像データのブロックラインの終端を検出して、ブロックラインを繰り返し読み出すことが可能となる。
【0209】
また、請求項9にかかる画像処理方法によれば、復号化後の画像データを格納するラインメモリを1ラインメモリまたは2ラインメモリとすることが可能となる。
【図面の簡単な説明】
【図1】実施の形態1にかかる画像処理装置の概略のメカ構成を示す断面図である。
【図2】実施の形態1にかかる画像処理装置のハードウエア構成を示すブロック図である。
【図3】図2のメインメモリのフォーマットの一例を示す図である。
【図4】図2のメインメモリの符号ページメモリ領域に格納される1ページ分のデータのフォーマットを示す図である。
【図5】図2の画像処理装置の全体の処理フローを示す図である。
【図6】図2の画像処理装置の画像データの転送経路を説明するための図である。
【図7】図2の符号化装置の詳細な構成を示すブロック図である。
【図8】図9の符号化装置の全体の処理フローを示す図である。
【図9】図7の符号化処理装置の詳細な構成を示すブロック図である。
【図10】YUVデータのフォーマットの一例を示す図である。
【図11】図9の8ラインメモリアドレス生成装置の詳細な構成を示すブロック図である。
【図12】図9のエントロピー符号化装置の詳細な構成を示す図である。
【図13】AC符号化の手順を説明するための説明図である。
【図14】DC符号化の手順を説明するための説明図である。
【図15】AC値とDC値の切り出しを説明するための説明図である。
【図16】図12のDC値符号化装置の構成を示す図である。
【図17】図12のAC値符号化装置の構成を示す図である。
【図18】図2の復号化装置の詳細な構成を示すブロック図である。
【図19】図18の復号化装置の処理フローを示す図である。
【図20】復号化装置の1画素ライン単位の処理を説明するための説明図である(その1)。
【図21】復号化装置の1画素ライン単位の処理を説明するための説明図である(その2)。
【図22】図18の復号化処理装置の詳細な構成を示すブロック図である。
【図23】図22のエントロピー復号化装置の詳細な構成を示すブロック図である。
【図24】図23のシフト値生成回路の詳細な構成を示すブロック図である。
【図25】図22の符号メモリアドレス生成装置の詳細な構成を示すブロック図である。
【図26】図2のC版画像処理装置112Cの詳細な構成を示すブロック図である。
【図27】図26のC版画像処理装置の処理フローを示す図である。
【図28】1ラインメモリのない画像処理装置のハードウエア構成を示す図である。
【図29】2ラインメモリを有する画像処理装置のハードウエア構成を示す図である。
【図30】復号化装置の2画素ライン単位の処理を説明するための説明図である(その1)。
【図31】復号化装置の2画素ライン単位の処理を説明するための説明図である(その2)。
【図32】実施の形態2にかかる符号化装置の全体の処理フローを示す図である。
【図33】実施の形態2にかかる符号化処理装置の詳細な構成を示すブロック図である。
【図34】実施の形態2にかかる復号化装置の全体の処理フローを示す図である。
【図35】実施の形態2にかかる復号化処理装置の詳細な構成を示すブロック図である。
【図36】図35のエントロピー復号化装置の詳細な構成を示すブロック図である。
【図37】図35の符号メモリアドレス生成装置の詳細な構成を示すブロック図である。
【図38】図35のブロックライン終端判定装置の詳細な構成を示す図である。
【図39】実施の形態3にかかる画像処理装置の概略のメカ構成を示す断面図である。
【図40】実施の形態3にかかる画像処理装置のハードウエア構成を示すブロック図である。
【図41】図40のメインメモリのフォーマットの一例を示す図である。
【図42】図41の符号ページメモリ領域のフォーマットの一例を示す図である。
【図43】図42の符号ページメモリ領域に格納されるデータのフォーマットの一例を示す図である。
【図44】図40の画像処理装置の全体の処理を説明するためのフローチャートである。
【図45】図40の画像処理装置の画像データの転送経路を説明するための説明図である。
【図46】図40の符号化装置の詳細な構成を示すブロック図である。
【図47】図46の符号化装置の全体の処理フローを示す図である。
【図48】図46の符号化処理装置の詳細な構成を示すブロック図である。
【図49】図48の読み込みメモリアドレス生成装置の詳細な構成を示すブロック図である。
【図50】従来技術を説明するための図である。
【符号の説明】
101 CPU
102 CPU_I/F
103 メモリコントローラ
104 メモリ
105 ローカルI/F
106 ROM
107 パネルコントローラ
108 パネル
109 スキャナ
110 平滑フィルター処理装置
111 符号化装置
112C〜K 復号化装置
113C〜K C〜K版画像処理装置
114C〜K 1ラインメモリ
115C〜K C〜K版エンジンコントローラ
116C〜K C〜K版プリンタエンジン
121 8ラインメモリ
122 符号化処理装置
123 メモリアドレス生成装置
124 メモリI/F
125 ラインメモリ書き込みコントローラ
126 コントローラ
210 メモリI/F
202 BUF
203 復号化処理装置
204 8×8画素バッファー
205 水平画素選択装置
206 8×1画素バッファー[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method.,In particular, the present invention relates to an image processing apparatus and an image processing method, in which image data is encoded, temporarily stored in a memory, and then decoded.,And a color image forming apparatus.
[0002]
[Prior art]
FIG. 50 is a schematic configuration diagram of a conventional Tandham type copying machine. In the copying machine shown in the figure, the RGB data of the document read by the
[0003]
As a compression method of image data, there is a method of converting image data into frequency components by orthogonal transformation such as DCT (Discrete Cosine Transform) and quantizing the conversion coefficient. In particular, as a method for encoding a multi-value image using DCT, a JPEG method standardized by ITU-T and ISO is known.
[0004]
The above-described tandem type copier has a decoding processing device dedicated to each version, and variable-length code data such as JPEG is sequentially decoded with a delay for each version. However, in such a configuration, since the variable length code cannot be read in the middle, a decoding processor for each version is required, and thus a large number of gates is required.
[0005]
In the case of the JPEG system, since the block of image data to be encoded is 8 × 8 pixels, as shown in FIG. 50, an 8-line line memory for storing image data after decoding is required. . As a result, when the line memory is built in the ASIC or the like, a large area is required, and when the line memory is provided outside the ASIC, there is a problem that the cost is increased.
[0006]
For example, as a method of reducing the 8-line memory of FIG. 50, a method of compressing in units of blocks that are long in the horizontal direction is conceivable. In such a method, vertical processing is performed to remove only high-frequency components in the horizontal direction by quantization processing. Only the edge of the direction appears clearly, and the image quality deteriorates.
[0007]
By the way, in the JPEG system, it is possible to insert RSTm (restart marker) which is a marker code to be inserted at every interval (restart interval) specified by DRI (restart interval definition marker). Immediately after the marker code, the predicted value of the DC coefficient in the DCT method is reset. Normally, this restart marker is mainly used for the purpose of recovery from a decoding error due to a transmission error. As an image processing apparatus using a restart marker, for example,
[0008]
[Patent Document 1]
JP 2000-083214 A
[Patent Document 2]
JP 2002-262099 A
[0009]
[Problems to be solved by the invention]
The present invention has been made in view of the above, and an image processing apparatus capable of reducing the capacity of a line memory for storing decoded image data to make the hardware configuration small and inexpensive. Image processing method,Another object of the present invention is to provide a color image forming apparatus.
[0010]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, an invention according to
[0014]
Claims2The invention according to claim1The invention is characterized in that the encoding means performs a JPEG compression process on the image data, and the decoding means performs a JPEG expansion process.
[0016]
Claims3The invention according to claim1In the present invention, the decoding means includes a judging means for judging whether or not a restart marker is added to the code data, and when the judgment result of the judging means is negative, The code data is read out from the storage means and subjected to decoding processing until the judgment means judges that the restart marker is added.
[0019]
Claims4The invention according to
[0022]
Claims5The invention according to
[0023]
Claims6According to another aspect of the present invention, there is provided an image processing method, a division step of dividing input image data into blocks each including a plurality of pixels, and a code for performing an encoding process on the image data in units of blocks divided in the division step. An encoding step, a storage step for storing code data encoded in the encoding step in a memory, and a decoding process for the code data stored in the memory in the storage step in units of blocks. A decoding step of decoding the image data and sending the decoded image data in units of predetermined pixel lines.The decoding step determines the end of the block line by reading the restart marker inserted for each block line of the code data stored in the memory, and if it is not the end of the block line, the same block The code data of the line is read again from the storage means and subjected to decoding processing.It is characterized by that.
[0027]
Claims7The invention according to claim6According to the invention, in the decoding step, the image data is subjected to JPEG compression processing, and in the decoding step, JPEG expansion processing is performed.
[0029]
Claims8The invention according to claim6In the invention according to the invention, the decoding step includes a determination step of determining whether or not a restart marker is added to the code data, and when the determination result in the determination step is negative, Reading the code data of the block from the memory and performing the decoding process on the code data are repeated until it is determined in the determination step that the restart marker is added.
[0032]
Claims9The invention according to claim6~ Claim8In the invention according to any one of the above, the predetermined pixel line unit is one pixel line unit or two pixel line units.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, with reference to the drawings, an image processing apparatus and an image processing method according to the present invention will be described.,A preferred embodiment of the color image forming apparatus will be described in detail in the order of (Embodiment 1), (Embodiment 2), and (Embodiment 3).
[0035]
(Embodiment 1)
The image processing apparatus according to the first embodiment will be described with reference to FIGS. In the first embodiment, a case where the image processing apparatus is applied to a 4-drum type digital color copying machine will be described as an example.
[0036]
[Mechanical configuration of image processing device]
FIG. 1 is a cross-sectional view illustrating a schematic mechanical configuration of the image processing apparatus according to the first embodiment. The image processing apparatus shown in FIG. 1 has a structure in which a
[0037]
In such a configuration, the reflected light from the original when irradiated by the
[0038]
Each CCD (light receiver) 11R, 11G, 11B converts the incident light into a digital signal and outputs the digital signal, and the output is subjected to necessary processing in an image processing unit (not shown) to record recording color information of each color, For example, it is converted into a recording formation signal of each color of black (Bk), yellow (Y), magenta (M), and cyan (C). Signals Y, M, C, and Bk for each color from the image processing unit are input to the
[0039]
In the example of FIG. 1, four sets of recording devices (image forming stations) 13Y, 13M, 13C, and 13Bk are arranged in the
[0040]
The
[0041]
Further, a
[0042]
A two-stage sheet feeding unit 19 is provided on the right side of the
[0043]
The transfer paper fed from the paper feed unit 19, for example, one of the two paper feed cassettes, is fed by the registration roller 20 by the paper feed roller 18, and sent to the
[0044]
[Hardware configuration of image processing apparatus]
FIG. 2 is a block diagram showing a hardware configuration of the image processing apparatus of FIG. As shown in FIG. 2, the image processing apparatus includes a
[0045]
In the above configuration, since one line memory is used as the line memory, the
[0046]
The
[0047]
The
[0048]
The local I /
[0049]
The
[0050]
The decoding devices 112 </ b> C to 112 </ b> K read and decode the code data stored in the code
[0051]
The C to K
[0052]
The one-
[0053]
FIG. 5 is a flowchart for explaining the overall processing of the image processing apparatus of FIG. 2, and FIG. 6 is a diagram for explaining a transfer path of image data of the image processing apparatus of FIG. With reference to FIGS. 5 and 6, the overall processing of the image processing apparatus of FIG. 2 will be described.
[0054]
5 and 6, the color document is optically read by the
[0055]
The
[0056]
The C to K
[0057]
[Encoding device]
FIG. 7 is a block diagram showing a detailed configuration of the
[0058]
The
[0059]
8 is a diagram for explaining the overall processing flow of the
[0060]
With reference to FIG. 8, the overall processing of the
[0061]
Then, it is determined whether or not the processing for one block line has been completed (step S204). If the processing for one block line has not been completed ("N" in step S204), the process returns to step S203, and the eight lines The next block is read from the
[0062]
On the other hand, when the processing for one block line is completed (“Y” in step S204), as shown in FIG. 4 above, the one block line of the code data stored in the code
[0063]
FIG. 9 is a block diagram showing a detailed configuration of the
[0064]
The 8 × 8
[0065]
The RGB
[0066]
The Y two-dimensional
[0067]
The Y
[0068]
The Y
[0069]
When the one-block line end signal is input from the 8-line memory
[0070]
FIG. 11 is a block diagram showing a detailed configuration of the 8-line memory
[0071]
The
[0072]
FIG. 12 is a block diagram showing a detailed configuration of the Y, U, V
[0073]
The Y, U, V
[0074]
The 8 × 8 DCT
[0075]
The code
[0076]
[Decryption device]
FIG. 18 is a diagram showing a detailed configuration of the
[0077]
The memory I / F 201 reads code data at an address designated by the
[0078]
FIG. 19 is a diagram showing an overall processing flow of the
[0079]
In FIG. 19, first, the pixel line counter I is initialized to I = 0 (step S301), and the head address of the currently accessed code is held (step S302). Subsequently, the block of code data at the head address of the currently accessed code is read from the code
[0080]
If a restart marker is detected (“Y” in step S305), the pixel line counter I is incremented by “1” to set I = I + 1 (step S306). Then, in order to determine whether or not the pixel line has completed one block line, it is determined whether or not I <8 (step S307).
[0081]
If I <8 (“Y” in step S307), after returning to the head address of the held code (step S308), the process returns to step S303, and the block of code data at the head address of the held code is read again. The decoding process is repeatedly executed until I ≧ 8 (steps S303 to S308).
[0082]
If I ≧ 8 (“N” in step S307), it is determined whether or not one page has been completed (step S309). If not, the head address of the next block line is held and the same This process is repeated until one page is completed (steps S301 to S309).
[0083]
In this manner, the
[0084]
20 and 21 are explanatory diagrams for explaining a case where the
[0085]
As shown in FIG. 20, the
[0086]
In the processing of the second pixel line, as shown in FIG. 21, the
[0087]
Processing similar to the above is continued until eight pixel lines (one block line) are completed, whereby one line of image data is stored in the one line memory 114. When the 8 pixel lines are completed, the next block line block is read and the same processing is executed until one page is completed.
[0088]
FIG. 22 is a block diagram showing a detailed configuration of the
[0089]
The
[0090]
The Y inverse
[0091]
The Y2D
[0092]
The YUV →
[0093]
The code memory
[0094]
FIG. 23 is a block diagram showing a detailed configuration of the
[0095]
The read
[0096]
The DC
[0097]
The shift
[0098]
FIG. 24 is a block diagram showing a configuration of the shift
[0099]
The
[0100]
The
[0101]
FIG. 25 is a block diagram showing a detailed configuration of the code memory
[0102]
The
[0103]
FIG. 26 is a block diagram showing a configuration of the C plane
[0104]
The
[0105]
The M to K plate
[0106]
FIG. 27 is a diagram showing a processing flow of the C plane
[0107]
As described above, according to the first embodiment, by adding a restart marker to the end of one block line of a block processed with image data, the end of one block line of code data can be easily searched. Since the code data of the same block line is repeatedly read at the time of decoding and the decoded image data of each block is output in units of one pixel line, the line memory for storing the decoded image data is reduced. It is possible to reduce the size and cost of the hardware configuration by increasing the capacity. Thereby, it is possible to reduce the memory amount and gate scale of the image processing LSI.
[0108]
In the first embodiment described above, the 1-
[0109]
In the first embodiment described above, the image data is transferred from the
[0110]
FIG. 29 is a diagram illustrating a configuration of an image processing apparatus having a two-line memory. In this case, as described above, data is transferred in units of two pixel lines. With reference to FIG. 30 and FIG. 31, the case of processing with two pixel lines will be described.
[0111]
In the process of the first line, as shown in FIG. 30, first, the
[0112]
In the process of the third line, as shown in FIG. 31, the
[0113]
Then, the same processing as described above is continued until the end of the 8 pixel line. When the 8 pixel line ends, the block of the next block line is read and the same processing is performed until the end of one page. Execute.
[0114]
(Embodiment 2)
An image processing apparatus according to the second embodiment will be described with reference to FIGS. In the image processing apparatus according to the first embodiment, the encoding apparatus adds a restart marker to the end of one block line of the code data, and the decoding apparatus detects the restart marker and detects the end of one block line. However, in the image processing apparatus according to the second embodiment, the encoding apparatus does not add a restart marker, and the decoding apparatus uniquely detects the end of one block line of code data. Is. Since the image processing apparatus according to the second embodiment has substantially the same configuration as the image processing apparatus according to the first embodiment, only different points will be described here. The overall hardware configuration of the image processing apparatus according to the second embodiment is the same as that shown in FIG.
[0115]
[Encoding device]
The overall hardware configuration of the encoding apparatus according to the second embodiment is the same as that shown in FIG. FIG. 32 is a diagram showing an overall processing flow of the encoding apparatus 111 (FIG. 7) according to the second embodiment. FIG. 6A shows the overall processing flow of the
[0116]
32A, the
[0117]
Then, it is determined whether or not the processing of one block line has been completed (step S504). If the processing of one block line has not been completed ("N" in step S504), the process returns to step S503, and eight lines The next block is read from the
[0118]
On the other hand, when the processing for one block line is completed (“Y” in step S504), it is determined whether or not the image for one page has been completed (step S505). In step S501, the same processing is performed for the next block line, and the same processing is repeatedly executed until one page is completed (steps S501 to S506).
[0119]
FIG. 33 is a block diagram showing a detailed configuration of the
[0120]
As shown in FIG. 33, the
[0121]
The 8 × 8
[0122]
The RGB
[0123]
The Y two-dimensional
[0124]
The
[0125]
The Y
[0126]
The
[0127]
The configuration of the 8-line memory address generation device in FIG. 33 is a configuration in which the comparison device is deleted in FIG.
[0128]
[Decryption device]
The entire hardware configuration of the decoding apparatus according to the second embodiment is the same as that shown in FIG. FIG. 34 is a diagram showing an overall processing flow of the decoding apparatus according to the second embodiment. With reference to FIG. 34, the overall processing of the decoding apparatus according to the second embodiment will be described.
[0129]
In FIG. 34, first, the pixel line counter I is initialized to I = 0, and the horizontal block number counter XNCT is initialized to XNCT = 0 (step S601). Then, the head address of the currently accessed code is held (step S602). Subsequently, the block of code data at the head address of the currently accessed code is read from the
[0130]
If XNCT> the number of blocks in the horizontal direction (“Y” in step S606), the pixel line counter I is incremented by “1” to be I = I + 1 (step S607). Then, in order to determine whether or not the pixel line has completed one block line, it is determined whether or not I <8 (step S608).
[0131]
If I <8 (“Y” in step S608), after returning to the head address of the retained code (step S609), the process returns to step S603 to reread the block of code data at the head address of the retained code. The decoding process is repeatedly executed until I ≧ 8 (steps S603 to S609).
[0132]
If I ≧ 8 (“N” in step S608), it is determined whether or not one page has been completed (step S610). If not, the head address of the next block line is held, and the same This process is repeated until one page is completed (steps S601 to S609).
[0133]
In this way, the decoding apparatus counts the number of horizontally processed blocks in accordance with the set number of horizontal blocks, determines the end of the block line, returns to the head address of the block line, and returns to the same block line. Is read again, the decoded image data can be output in units of 1 pixel × 8 pixels.
[0134]
FIG. 35 is a block diagram showing a detailed configuration of the
[0135]
As shown in FIG. 35, the
[0136]
The
[0137]
The Y inverse
[0138]
The Y2D
[0139]
The YUV →
[0140]
The code memory
[0141]
The block line
[0142]
FIG. 36 is a block diagram showing a detailed configuration of the
[0143]
As shown in FIG. 36, the
[0144]
The read
[0145]
The DC
[0146]
The
[0147]
The shift
[0148]
The
[0149]
The hardware configuration of the shift
[0150]
FIG. 37 is a diagram showing a configuration of the code memory address generation device of FIG. The hardware configuration of the code memory
[0151]
FIG. 38 is a diagram showing a detailed configuration of the block line
[0152]
The
[0153]
As described above, according to the image processing apparatus of the second embodiment, the decoding apparatus searches for the end of one block line of code data, repeatedly reads out the code data of the same block line, and decodes it. Since the image data of each block is output in units of one pixel line, the capacity of the line memory for storing the decoded image data can be reduced, and the hardware configuration can be made small and inexpensive. It becomes possible. Thereby, it is possible to reduce the memory amount and gate scale of the image processing LSI.
[0154]
In the second embodiment, as in the first embodiment, the image data may be transferred from the decoding device to the image processing device in units of 2 or 4 pixel lines × 8 pixels in the horizontal direction.
[0155]
(Embodiment 3)
An image processing apparatus according to the third embodiment will be described with reference to FIGS. In the first and second embodiments, the case where the image processing apparatus is applied to a four-drum type digital color copying machine has been described. In the third embodiment, the image processing apparatus is applied to a four-drum type color printer. The case will be described.
[0156]
[Mechanical configuration of image processing device]
FIG. 39 is a cross-sectional view illustrating a schematic mechanical configuration of the image processing apparatus according to the third embodiment. As shown in FIG. 39, this color printer forms images of four colors (Y, M, C, K) by independent
[0157]
Each of the
[0158]
Beside each developing
[0159]
The
[0160]
At the time of image formation, in each of the
[0161]
The electrostatic latent images on the OPC drums 402Y, 402M, 402C, and 402K are developed by the developing
[0162]
[Hardware configuration of image processing apparatus]
FIG. 40 is a block diagram illustrating a hardware configuration of the image processing apparatus according to the third embodiment. In FIG. 40, parts having the same functions as those in FIG. As shown in FIG. 40, the image processing apparatus according to the third embodiment includes a
[0163]
The
[0164]
The
[0165]
The local I /
[0166]
The communication controller is connected to a network, receives various data and commands from the network, and is connected to various controllers via the
[0167]
The
[0168]
The decoding devices 112 </ b> C to 112 </ b> K read and decode the code data stored in the code
[0169]
The C to K
[0170]
The one-
[0171]
44 is a flowchart for explaining the overall processing of the image processing apparatus of FIG. 40, and FIG. 45 is a diagram for explaining a transfer path of image data in the image processing apparatus of FIG. With reference to FIGS. 44 and 45, the overall processing of the image processing apparatus shown in FIG. 40 will be described.
[0172]
44 and 45, the
[0173]
Decoding
[0174]
The C to K
[0175]
[Encoding device]
FIG. 46 is a block diagram showing a detailed configuration of the
[0176]
The
[0177]
47 is a diagram for explaining the overall processing flow of the
[0178]
In FIG. 47A, the
[0179]
Then, it is determined whether or not the processing for one block line has ended (step S802). If the processing for one block line has not ended ("N" in step S802), the process returns to step S801, and the main memory The next block is read out from the RGB
[0180]
On the other hand, when the processing for one block line is completed (“Y” in step S802), a restart marker is added to the end of one block line of the code data stored in the code
[0181]
FIG. 48 is a block diagram showing a detailed configuration of the
[0182]
The 8 × 8
[0183]
The RGB
[0184]
The Y two-
[0185]
The
[0186]
The Y
[0187]
The restart
[0188]
FIG. 49 is a block diagram showing a detailed configuration of the read memory
[0189]
The
[0190]
The
[0191]
The configuration of the decoding apparatus in FIG. 40 is the same as that in the first embodiment, and thus the description thereof is omitted.
[0192]
In the third embodiment, the encoding device adds a restart marker to the end of one block line of code data, and the decoding device detects the restart marker to detect the end of one block line. However, as in the second embodiment, the encoder may be configured to detect the end of one block line of the code data independently without adding a restart marker in the encoder.
[0193]
Similarly to the first embodiment, the image data may be transferred from the decoding device to the image processing device in units of 2 or 4 pixel lines × 8 pixels.
[0194]
The present invention is not limited to the above-described first to third embodiments, and can be appropriately modified and executed without departing from the gist of the invention.
[0195]
For example, in the present embodiment, the JPEG encoding method using DCT has been described as the encoding method, but Wavelet conversion may be used. In addition, although the block size of the image data is 8 pixels × 8 pixels, other sizes may be used.
[0196]
【The invention's effect】
As described above, according to the image processing apparatus of the first aspect, the decoding unit can send the image data in units of the predetermined pixel line smaller than the block unit, and stores the decoded image data. Therefore, the capacity of the line memory can be reduced, and the hardware configuration can be made small and inexpensive.In addition, it is possible to repeatedly read out the block line of the image data by a simple method.
[0198]
Claims2According to the image processing apparatus, it is possible to encode image data using the highly versatile JPEG method.
[0199]
Claims3According to the image processing apparatus, the end of the block line of the image data can be detected by a simple method, and the block line can be read repeatedly.
[0201]
Claims4According to the image processing apparatus, the line memory for storing the decoded image data can be a one-line memory or a two-line memory.
[0203]
Claims5According to the color image forming apparatus, it is possible to reduce the capacity of the line memory for storing the decoded image data in the color image forming apparatus, thereby making the hardware configuration small and inexpensive.
[0204]
Claims6According to the image processing method, the image data can be transmitted in units of a predetermined pixel line smaller than the block unit, the line memory for storing the decoded image data is reduced in capacity, and the hardware configuration is reduced. It becomes possible to make it small and inexpensive.In addition, it is possible to repeatedly read out the block line of the image data by a simple method.
[0206]
Claims7According to this image processing method, it is possible to encode image data by the highly versatile JPEG method.
[0207]
Claims8According to the image processing method, it is possible to detect the end of the block line of the image data by a simple method and repeatedly read out the block line.
[0209]
Claims9According to the image processing method, the line memory for storing the decoded image data can be a 1-line memory or a 2-line memory.
[Brief description of the drawings]
1 is a cross-sectional view showing a schematic mechanical configuration of an image processing apparatus according to a first embodiment;
FIG. 2 is a block diagram of a hardware configuration of the image processing apparatus according to the first embodiment.
FIG. 3 is a diagram illustrating an example of a format of a main memory in FIG. 2;
4 is a diagram showing a format of data for one page stored in a code page memory area of the main memory in FIG. 2; FIG.
FIG. 5 is a diagram showing an overall processing flow of the image processing apparatus of FIG. 2;
6 is a diagram for explaining a transfer path of image data of the image processing apparatus of FIG. 2; FIG.
7 is a block diagram showing a detailed configuration of the encoding device in FIG. 2; FIG.
FIG. 8 is a diagram showing an overall processing flow of the encoding apparatus of FIG. 9;
9 is a block diagram showing a detailed configuration of the encoding processing apparatus in FIG. 7;
FIG. 10 is a diagram illustrating an example of a format of YUV data.
11 is a block diagram showing a detailed configuration of the 8-line memory address generation device of FIG. 9;
12 is a diagram illustrating a detailed configuration of the entropy encoding device of FIG. 9;
FIG. 13 is an explanatory diagram for explaining an AC encoding procedure;
FIG. 14 is an explanatory diagram for explaining a procedure of DC encoding.
FIG. 15 is an explanatory diagram for explaining cutout of an AC value and a DC value.
16 is a diagram illustrating a configuration of the DC value encoding device of FIG. 12;
17 is a diagram illustrating a configuration of the AC value encoding device of FIG. 12;
18 is a block diagram showing a detailed configuration of the decoding apparatus in FIG. 2. FIG.
FIG. 19 is a diagram showing a processing flow of the decryption apparatus of FIG. 18;
FIG. 20 is an explanatory diagram for describing processing in units of one pixel line of the decoding device (part 1);
FIG. 21 is an explanatory diagram for describing processing in units of one pixel line of the decoding device (part 2);
22 is a block diagram showing a detailed configuration of the decoding processing apparatus in FIG. 18;
23 is a block diagram showing a detailed configuration of the entropy decoding device in FIG.
24 is a block diagram showing a detailed configuration of the shift value generation circuit of FIG. 23. FIG.
25 is a block diagram showing a detailed configuration of the code memory address generation device of FIG. 22;
26 is a block diagram showing a detailed configuration of a C plane
FIG. 27 is a diagram showing a processing flow of the C plane image processing apparatus of FIG. 26;
FIG. 28 is a diagram illustrating a hardware configuration of an image processing apparatus without a one-line memory.
FIG. 29 is a diagram illustrating a hardware configuration of an image processing apparatus having a two-line memory.
FIG. 30 is an explanatory diagram for describing processing in units of two pixel lines of the decoding device (part 1);
FIG. 31 is an explanatory diagram for describing processing in units of two pixel lines of the decoding device (part 2);
FIG. 32 is a diagram showing an overall processing flow of the encoding apparatus according to the second embodiment;
FIG. 33 is a block diagram showing a detailed configuration of the encoding processing apparatus according to the second embodiment;
FIG. 34 is a diagram showing an overall processing flow of the decoding apparatus according to the second embodiment;
FIG. 35 is a block diagram showing a detailed configuration of the decoding processing apparatus according to the second embodiment;
36 is a block diagram showing a detailed configuration of the entropy decoding device in FIG. 35. FIG.
37 is a block diagram showing a detailed configuration of the code memory address generation device in FIG. 35;
38 is a diagram showing a detailed configuration of the block line end determination device in FIG. 35;
FIG. 39 is a cross-sectional view illustrating a schematic mechanical configuration of the image processing apparatus according to the third embodiment;
FIG. 40 is a block diagram of a hardware configuration of the image processing apparatus according to the third embodiment.
41 is a diagram showing an example of a format of a main memory in FIG. 40. FIG.
42 is a diagram showing an example of a format of a code page memory area in FIG. 41. FIG.
43 is a diagram showing an example of a format of data stored in a code page memory area of FIG. 42. FIG.
44 is a flowchart for explaining overall processing of the image processing apparatus in FIG. 40; FIG.
45 is an explanatory diagram for describing a transfer path of image data of the image processing apparatus in FIG. 40; FIG.
46 is a block diagram showing a detailed configuration of the encoding apparatus in FIG. 40. FIG.
47 is a diagram showing an overall processing flow of the encoding apparatus in FIG. 46; FIG.
48 is a block diagram showing a detailed configuration of the encoding processing apparatus in FIG. 46. FIG.
49 is a block diagram showing a detailed configuration of the read memory address generation device of FIG. 48. FIG.
FIG. 50 is a diagram for explaining a conventional technique.
[Explanation of symbols]
101 CPU
102 CPU_I / F
103 Memory controller
104 memory
105 Local I / F
106 ROM
107 Panel controller
108 panels
109 scanner
110 Smoothing filter processing device
111 Encoder
112C-K decoding device
113C-K C-K image processing apparatus
114C-
115C-K C-K version engine controller
116C-K C-K printer engine
121 8-line memory
122 Encoding processing device
123 Memory address generator
124 Memory I / F
125 line memory write controller
126 controller
210 Memory I / F
202 BUF
203 Decoding processing device
204 8 × 8 pixel buffer
205 Horizontal pixel selection device
206 8 × 1 pixel buffer
Claims (9)
前記分割手段が分割したブロック単位で前記画像データに符号化処理を行う符号化手段と、
前記符号化手段が符号化処理を行った符号データを記憶する記憶手段と、
前記記憶手段が記憶した符号データにブロック単位で復号化処理を行って前記画像データを復号化すると共に、復号化した画像データを所定画素ライン単位で送出する復号化手段とを備え、
前記復号化手段は、前記記憶手段が記憶した前記符号データのブロックライン毎に挿入されたリスタートマーカーを読み込むことでブロックラインの終端を判断し、ブロックラインの終端でないと判断した場合は同一ブロックラインの符号データを前記記憶手段から再度読み出してこれに復号化処理を行うことを特徴とする画像処理装置。A dividing means for dividing the input image data into blocks composed of a plurality of pixels;
Encoding means for performing encoding processing on the image data in units of blocks divided by the dividing means;
Storage means for storing code data that has been encoded by the encoding means;
Decoding the image data by decoding the code data stored in the storage means in units of blocks, and decoding means for sending the decoded image data in units of predetermined pixel lines ,
The decoding means determines the end of the block line by reading the restart marker inserted for each block line of the code data stored in the storage means, and if it is determined that it is not the end of the block line, the same block An image processing apparatus , wherein the line code data is read again from the storage means and subjected to decoding processing.
前記復号化工程は、前記メモリに記憶された符号データのブロックライン毎に挿入されたリスタートマーカーを読み込むことでブロックラインの終端を判断し、ブロックラインの終端でないと判断した場合は同一ブロックラインの符号データを前記記憶手段から再度読み出してこれに復号化処理を行うことを特徴とする画像処理方法。A dividing step of dividing the input image data into blocks each including a plurality of pixels; an encoding step of performing encoding processing on the image data in units of blocks divided in the dividing step; and encoding processing in the encoding step Storing the code data performed in the memory, decoding the image data by performing block decoding on the code data stored in the memory in the storage step, and decoding the image data A process of sending data in units of predetermined pixel lines,
The decoding step determines the end of the block line by reading a restart marker inserted for each block line of the code data stored in the memory, and if it is determined that it is not the end of the block line, the same block line The image processing method is characterized in that the code data is read again from the storage means and subjected to decoding processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003097392A JP4229744B2 (en) | 2003-03-31 | 2003-03-31 | Image processing apparatus, image processing method, and color image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003097392A JP4229744B2 (en) | 2003-03-31 | 2003-03-31 | Image processing apparatus, image processing method, and color image forming apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004304664A JP2004304664A (en) | 2004-10-28 |
JP2004304664A5 JP2004304664A5 (en) | 2006-03-16 |
JP4229744B2 true JP4229744B2 (en) | 2009-02-25 |
Family
ID=33409191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003097392A Expired - Fee Related JP4229744B2 (en) | 2003-03-31 | 2003-03-31 | Image processing apparatus, image processing method, and color image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4229744B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201705A (en) * | 2006-01-25 | 2007-08-09 | Ricoh Co Ltd | Image processor, image processing method, program, and computer-readable recording medium |
JP6799396B2 (en) * | 2016-07-01 | 2020-12-16 | キヤノン株式会社 | Information processing equipment, information processing methods and programs |
-
2003
- 2003-03-31 JP JP2003097392A patent/JP4229744B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004304664A (en) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8515209B2 (en) | Image processing apparatus and method for image processing | |
US7233702B2 (en) | Image data compression apparatus for compressing both binary image data and multiple value image data | |
US7580581B2 (en) | Image data processing circuit and image processing apparatus including transfer control section for selective operation of transfer section | |
US20040234135A1 (en) | Image data processing apparatus for and image data processing method of pattern matching | |
CN101715038B (en) | Image processing apparatus, compression method, and extension method | |
JPH0750758A (en) | Encoder | |
JPH0514562A (en) | Digital copying machine | |
JP4229744B2 (en) | Image processing apparatus, image processing method, and color image forming apparatus | |
JP3896776B2 (en) | Image data encoding apparatus, image data encoding method, image forming apparatus, and recording medium | |
JP6503755B2 (en) | Image processing apparatus, image forming apparatus and image processing method | |
JP3867888B2 (en) | Image information rotating method, rotating device, recording medium, image reading device, and image forming device | |
JP3952445B2 (en) | Color image forming apparatus and color copying apparatus | |
JP4674100B2 (en) | Image processing device | |
EP0551823B1 (en) | Image processing apparatus | |
JP3963260B2 (en) | Image processing apparatus and image forming apparatus | |
JP3935335B2 (en) | Image data processing apparatus and color image forming apparatus | |
JP2004276260A (en) | Image processing apparatus, image processing method, and program | |
JP3889279B2 (en) | Image processing device | |
JP3862637B2 (en) | Data compression method, apparatus, image processing apparatus, and image forming apparatus | |
JP3712189B2 (en) | Multifunction color copier | |
JP2006086629A (en) | Image reader and image-forming device | |
JP3888662B2 (en) | Image reading processing method, image reading apparatus, and image forming apparatus | |
JP2003169221A (en) | Color image forming apparatus and color image processing method | |
JP3483310B2 (en) | Image processing system and image processing method thereof | |
JP2010220127A (en) | Image processing apparatus and method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050627 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060123 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081202 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |