(57)【要約】【課題】復号化処理をライン毎に処理することによりハードウェアコストを低減する。【解決手段】符号メモリ３０１から１ブロックラインの符号データを読み出し、符号メモリ３０２に格納する。符号メモリ３０２からブロック毎に符号データを読み出し、ハフマン復号化部３０３で復号化し、８＊８のＤＣＴ係数に復元する。垂直１次逆ＤＣＴ装置３０４は、ライン数指定部３０５で指定された各ラインについてＤＣＴ係数を垂直方向に逆ＤＣＴ変換し、水平１次逆ＤＣＴ装置３０６は水平方向に逆ＤＣＴ変換して復号画像を出力し、プリンタエンジン３０７に転送し、プリンタ３０８に出力する。【選択図】　　　　図３
2004120025.tif 000002
【特許請求の範囲】
【請求項１】
離散コサイン変換係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行う第１の手段と、前記第１の手段の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行う第２の手段とを備えたことを特徴とする逆離散コサイン変換装置。
【請求項２】
固定長符号化データを量子化後の離散コサイン係数に復号化する手段と、前記復号化された量子化後の離散コサイン係数を逆量子化する手段と、前記逆量子化された離散コサイン係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行う第１の手段と、前記第１の手段の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行う第２の手段とを備えたことを特徴とする画像復号化処理装置。
【請求項３】
固定長符号化データを量子化後の離散コサイン係数に復号化する手段と、前記復号化された量子化後の離散コサイン係数を逆量子化する手段と、現在処理中のスキャンラインを指定する手段と、前記逆量子化された離散コサイン係数を、前記指定されたスキャンラインについて垂直方向に逆離散コサイン変換を行う第１の手段と、前記第１の手段の処理結果を、前記指定されたスキャンラインについて水平方向に逆離散コサイン変換を行う第２の手段とを備えたことを特徴とする画像復号化処理装置。
【請求項４】
各ブロックが固定長符号化され、複数ブロックからなる少なくとも１ブロックラインのデータを格納する手段と、前記格納手段から読み出される各ブロックの固定長符号化データを、量子化後の離散コサイン係数に復号化する手段と、前記復号化された量子化後の離散コサイン係数を逆量子化する手段と、現在処理中のスキャンラインを指定する手段と、前記逆量子化された離散コサイン係数を、前記指定されたスキャンラインについて垂直方向に逆離散コサイン変換を行う第１の手段と、前記第１の手段の処理結果を、前記指定されたスキャンラインについて水平方向に逆離散コサイン変換を行う第２の手段と、前記復号化処理したブロック数をカウントし、１ブロックラインの全てのブロックを復号化処理したか否かを判定する手段とを備えたことを特徴とする画像復号化処理装置。
【請求項５】
エントロピー符号化された可変長符号化データを復号化する手段と、前記復号化された量子化後の離散コサイン係数を逆量子化する手段と、前記逆量子化された離散コサイン係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行う第１の手段と、前記第１の手段の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行う第２の手段とを備えたことを特徴とする画像復号化処理装置。
【請求項６】
複数ブロックからなる少なくとも１ブロックラインの符号化データを格納する手段と、前記格納手段から読み出される各ブロックのエントロピー符号化された可変長符号化データを復号化する手段と、前記復号化された量子化後の離散コサイン係数を逆量子化する手段と、前記逆量子化された離散コサイン係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行う第１の手段と、前記第１の手段の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行う第２の手段と、前記復号化処理したブロック数をカウントし、１ブロックラインの全てのブロックを復号化処理したか否かを判定する手段とを備えたことを特徴とする画像復号化処理装置。
【請求項７】
前記復号化する手段は、複数の可変長符号からなる固定長の符号データから、現在処理中の可変長符号の先頭ビットへシフトさせるシフト手段と、複数の可変長符号からなる固定長の符号データから、現在処理中の可変長符号の先頭ビットへ指定するシフト値を生成する手段と、前記シフト値生成装置の１ブロックラインの先頭のシフト値を記憶する手段とを備えたことを特徴とする請求項５または６記載の画像復号化処理装置。
【請求項８】
垂直方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行うステップと、水平方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行うステップとを含むことを特徴とする逆離散コサイン変換方法。
【請求項９】
固定長符号化データを量子化後の離散コサイン係数に復号化するステップと、前記復号化された量子化後の離散コサイン係数を逆量子化するステップと、前記逆量子化された離散コサイン係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行うステップと、前記逆離散コサイン変換の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行うステップとを含むことを特徴とする画像復号化処理方法。
【請求項１０】
固定長符号化データを量子化後の離散コサイン係数に復号化するステップと、前記復号化された量子化後の離散コサイン係数を逆量子化するステップと、現在処理中のスキャンラインを指定するステップと、前記逆量子化された離散コサイン係数を、前記指定されたスキャンラインについて垂直方向に逆離散コサイン変換を行うステップと、前記逆離散コサイン変換の処理結果を、前記指定されたスキャンラインについて水平方向に逆離散コサイン変換を行うステップとを含むことを特徴とする画像復号化処理方法。
【請求項１１】
各ブロックが固定長符号化され、複数ブロックからなる少なくとも１ブロックラインのデータが格納された格納手段から各ブロックの固定長符号化データを読み出すステップと、前記読み出された各ブロックの固定長符号化データを、量子化後の離散コサイン係数に復号化するステップと、前記復号化された量子化後の離散コサイン係数を逆量子化するステップと、現在処理中のスキャンラインを指定するステップと、前記逆量子化された離散コサイン係数を、前記指定されたスキャンラインについて垂直方向に逆離散コサイン変換を行うステップと、前記逆離散コサイン変換の処理結果を、前記指定されたスキャンラインについて水平方向に逆離散コサイン変換を行うステップと、前記復号化処理したブロック数をカウントし、１ブロックラインの全てのブロックを復号化処理したか否かを判定するステップとを含むことを特徴とする画像復号化処理方法。
【請求項１２】
エントロピー符号化された可変長符号化データを復号化するステップと、前記復号化された量子化後の離散コサイン係数を逆量子化するステップと、前記逆量子化された離散コサイン係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行うステップと、前記逆離散コサイン変換の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行うステップとを含むことを特徴とする画像復号化処理方法。
【請求項１３】
複数ブロックからなる少なくとも１ブロックラインの符号化データが格納された格納手段から読み出される各ブロックのエントロピー符号化された可変長符号化データを復号化するステップと、前記復号化された量子化後の離散コサイン係数を逆量子化する手段と、前記逆量子化された離散コサイン係数を、指定されたスキャンライン分について垂直方向に逆離散コサイン変換を行うステップと、前記逆離散コサイン変換の処理結果を、指定されたスキャンライン分について水平方向に逆離散コサイン変換を行うステップと、前記復号化処理したブロック数をカウントし、１ブロックラインの全てのブロックを復号化処理したか否かを判定するステップとを含むことを特徴とする画像復号化処理方法。
【請求項１４】
請求項１〜７のいずれか１つに記載の離散コサイン変換装置または画像復号化処理装置の各手段として、コンピュータを機能させるためのプログラム。
【請求項１５】
請求項１〜７のいずれか１つに記載の離散コサイン変換装置または画像復号化処理装置の各手段として、コンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像復号化装置に関し、例えば、コピー機器、プリンタ、スキャナー、デジタルカメラなどに好適な技術に関する。
【０００２】
【従来の技術】
２次元の離散コサイン変換（ＤＣＴ）を使用して多値画像を符号化する方式としては、ＩＴＵ−ＴとＩＳＯにより標準化されたＪＰＥＧ方式がある。また、ＤＣＴを利用した符号化方式の従来例としては、１ブロックを縮小して係数値を処理する方法が提案されている（例えば、特許文献１参照）。
【０００３】
また、従来のファクシミリ装置において行われる符号化復号方式としては、２値画像を処理する場合にＭＨ、ＭＲ、ＭＭＲ方式や算術符号を用いたＪＢＩＧ方式と、多値値画像を処理する場合に適応離散コサイン変換（ＡＤＣＴ）を用いたＪＰＥＧ方式がある。
【０００４】
図１は、ＤＣＴを用いたＪＰＥＧ方式の従来の符号化部及び復号部を示す。符号化部では先ず、ブロック読み出し部１０１により画像を１ブロック＝８×８画素毎に読み出し、次いでＤＣＴ変換部１０２により８×８画素の画像データｘｉｊがブロック毎に８×８のＤＣＴ係数値ｙｕｖに変換される。
【０００５】
次いで、このＤＣＴ係数値ｙｕｖが量子化部１０３により、各係数ｙｕｖ毎に大きさが異なる量子化ステップサイズで線形量子化されて量子化係数に変換される。このとき、各係数ｙｕｖに対する量子化ステップサイズは、量子化マトリクス記憶部１０６に予め記憶されている量子化マトリクスに対して、スケールファクタ制御部１０５により設定されるスケールファクタを乗算することにより求められ、また、このスケールファクタの値を変更することにより、符号化量と復号画像の品質を制御することができる。　次いで、この量子化係数はハフマン符号化部１０４により、出現頻度の高い係数は短い符号を割り当て、出現頻度の低い係数は長い符号を割り当てることにより、全体的に符号量が圧縮される。
【０００６】
これに対し、復号部では先ず、この符号に基づいてハフマン復号部１０７により、符号化部側の量子化部１０３により量子化された係数が再生され、次いでこの量子化係数が逆量子化部１０８によりＤＣＴ係数値ｙｕｖに逆量子化される。この逆量子化における量子化ステップサイズは、符号化部側と同様に量子化マトリクス記憶部に記憶されている量子化マトリクスに対して、スケールファクタ制御部１０５により設定されるスケールファクタを乗算することにより求められる。このＤＣＴ係数値ｙｕｖは逆ＤＣＴ変換部により１ブロック＝８×８画素の画像データｘｉｊに逆変換され、次いでこの画像データｘｉｊはブロック書き込み部１１０により元の順番に復元される。
【０００７】
なお、この例では、量子化マトリクスは量子化マトリクス記憶部１０６に予め記憶されているものを用いたが、符号化部側で用いたものを復号部側に伝えることにより、予め記憶する必要がなくなり、結果として量子化マトリクス記憶部１０６を省略することができる。
【０００８】
上記したＪＰＥＧ方式で使用されるＤＣＴ（離散コサイン変換）式とＩＤＣＴ（逆離散コサイン変換）式は、図６６の式（１）、式（２）で表される（例えば、非特許文献１参照）。
【０００９】
また、図６６の式（１）、（２）の乗算回数を減らしたＤＣＴ（離散コサイン変換）式とＩＤＣＴ（逆離散コサイン変換）式は、図６７の式（３）〜（６）で表される（例えば、非特許文献１参照）。ここで、ｘ、ｙはブロック内の画素位置、ｕ、ｖはＤＣＴ係数の位置である。
【００１０】
ところで、近年の複写機、ファクシミリ、ファイリング装置等のデジタル画像機器では、高画質化のために解像度を高くしたり、階調数を多くする等の傾向がある。しかしながら、これらは画質が向上する反面、画像の情報量が多くなり、例えば２階調（白及び黒）の画像を２５６階調に増加すると情報量は８倍になる。そして、その情報量のままメモリに記憶すると８倍のメモリ容量を必要としてコストが増加するので、これを抑えるためには多値画像データを圧縮する必要がある。
【００１１】
画像データの符号化方式としては、符号化後の符号語長により分類すると、可変長方式と固定長方式に大別できる。前者は後者に比べて、符号化効率が高く、可逆可能な特徴があるのに対し、後者は前者に比べて、符号の状態で符号化前の画像の位置が特定できるので、任意の部分の画像のみを再生できるという特徴がある。したがって、これらの特徴から、前者はファクシミリのような機器に適しており、後者は複写機のように画像加工を行う機器に適している。
【００１２】
ここで、複写機等に適している固定長符号化方式として最も簡単な方法は、１画素に割り当てる符号語長を固定する方法であり、例えば１画素当たり８ビットの画像に対して１画素当たり２ビットを割り当てる方法である。例えば、固定長方式においてＤＣＴ処理後のＤＣＴ係数の符号化順序をＤＣＴ係数のＹＵＶの分布により変化させることにより、符号化効率を向上させる方式もある（例えば、特許文献２参照）。
【００１３】
【特許文献１】
特開平２−１２２７６７号公報
【特許文献２】
特開平１１−３３１８４号公報
【非特許文献１】
「インターフェース」ＣＱ出版、１９９１年１２月　ＮＯ．１７５　ｐ１８３−２０３
【００１４】
【発明が解決しようとする課題】
しかし、デジタル複写機の画像を例えば８＊８のＤＣＴを使用して圧縮する場合、すなわちスキャナ等の入力装置からの順次シリアルに流れてくる画像データを圧縮する場合、８＊８画素のブロック単位で、画像を圧縮していくために、８ラインのメモリが必要になる。
【００１５】
また、高速化を考えると８ラインメモリはトグルで、８ラインメモリへのデータの書込みと、もう片方のデータのそろった８ラインメモリからのデータを符号化する構成となり、符号化には８ラインメモリが２つ必要である。
【００１６】
復号化時も同様に、プリンタエンジンにシリアルにデータを転送する必要があり、同様に２組の８ラインメモリが必要となり、合計８ラインメモリ＊４＝３２ラインメモリが必要となる。
【００１７】
図２は、従来の復号化装置の構成を示し、ラインメモリとして２組の８ラインメモリ２０４、２０５が設けられている。符号メモリ２０１からの符号データはハフマン復号化２０２された後、逆ＤＣＴ変換２０３され、８ラインメモリ２０４に順次書き込まれ、８ラインメモリ２０４の全てに画像データが書き込まれると、次の画像データは８ラインメモリ２０５に順次書き込まれると同時に、８ラインメモリ２０４からマルチプレクサ２０６を介してシリアルに読み出され、プリンタエンジン（画像処理部）２０７に転送された後、プリンタで出力される。８ラインメモリ２０４の全ての画素データが読み出されると、次の画像データが８ラインメモリ２０４に順次書き込まれると同時に、８ラインメモリ２０５からマルチプレクサ２０６を介して読み出され、以下同様の処理が繰り返される。
【００１８】
本発明は上記した問題点に鑑みてなされたもので、
本発明の目的は、復号化処理をライン毎に処理することによりハードウェアコストを低減した逆離散コサイン変換装置、画像復号化処理装置、逆離散コサイン変換方法、画像復号化処理方法、プログラムおよび記録媒体を提供することにある。
【００１９】
【課題を解決するための手段】
本発明では、ＤＣＴを使用した固定長復号化装置の復号処理をラインごとを可能とすることでハードウエアコストを低減する。
【００２０】
本発明では、指定されたスキャンライン分垂直方向に逆離散コサイン変換を行う手段と、指定されたスキャンライン分水平方向に逆離散コサイン変換を行う手段とを有する。
【００２１】
本発明では、固定長符号を量子化後の離散コサイン変換係数へ補正する量子化データ補正手段と、前記補正された量子化後の離散コサイン変換係数を逆量子化する逆量子化処理手段と、前記逆量子化処理手段の処理結果を指定されたスキャンラインの１次逆離散コサイン変換する１次逆離散コサイン変換手段と、前記１次逆離散コサイン変換手段の処理結果を指定されたスキャンラインの１次逆離散コサイン変換する手段とを有する。
【００２２】
本発明では、固定長符号を量子化後の離散コサイン変換係数へ補正する量子化データ補正手段と、前記補正された量子化後の離散コサイン変換係数を逆量子化する逆量子化処理手段と、現在処理中のスキャンラインをカウントする手段と、前記逆量子化処理手段の処理結果を指定されたスキャンラインの１次逆離散コサイン変換する１次逆離散コサイン変換手段と、前記１次逆離散コサイン変換手段の処理結果を指定されたスキャンラインの１次逆離散コサイン変換する手段とを有する。
【００２３】
本発明では、固定長の符号を少なくとも１ブロックラインの符号を格納する手段と、処理したブロック数をカウントし、１ブロックラインのブロックを処理したかを判断する手段と、固定長符号を量子化後の離散コサイン変換係数へ補正する量子化データ補正手段と、前記補正された量子化後の離散コサイン変換係数を逆量子化する逆量子化処理手段と、現在処理中のスキャンラインをカウントする手段と、前記逆量子化処理手段の処理結果を指定されたスキャンラインの１次逆離散コサイン変換する１次逆離散コサイン変換手段と、前記１次逆離散コサイン変換手段の処理結果を指定されたスキャンラインの１次逆離散コサイン変換する手段とを有する。
【００２４】
これにより、固定長の符号の復号化処理処理後に水平方向にシリアルなデータ出力が必要な機器において、水平方向に複数のブロックを格納するためのブロックの垂直サイズ分のラインメモリを必要とせずに画像の復号化装置と付加するメモリを搭載する画像処理装置のゲート数の削減が可能である。
【００２５】
本発明では、ＪＰＥＧ復号化装置の復号処理をラインごとを可能とすることでハードウェアコストを低減する。
【００２６】
本発明では、垂直方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段と、水平方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段とを有する。
【００２７】
本発明では、エントロピー符号化された可変長符号を復号化する手段と、前記エントロピー符号の復号化する手段により、復号化された量子化後のデータを逆量子化する手段と、前記逆量子化手段により、逆量子化されたデータを垂直方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段と、水平方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段とを有する。
【００２８】
本発明では、処理したブロック数をカウントし、１ブロックラインのブロックを処理したかを判断する手段と、エントロピー符号化された可変長符号を復号化する手段と、前記エントロピー符号の復号化する手段により、復号化された量子化後のデータを逆量子化する手段と、前記逆量子化手段により、逆量子化されたデータを垂直方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段と、水平方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段とを有する。
【００２９】
本発明では、少なくとも１ブロックラインの符号を格納する手段と、処理したブロック数をカウントし、１ブロックラインのブロックを処理したかを判断する手段と、前記１ブロックラインの符号を格納する手段に格納されたエントロピー符号化された可変長符号を復号化する手段と、前記エントロピー符号の復号化する手段により、復号化された量子化後のデータを逆量子化する手段と、垂直方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段と、水平方向に逆離散コサイン変換を指定されたスキャンライン分の変換のみを行う手段とを有する。
【００３０】
本発明では、エントロピー符号化された可変長符号を復号化する手段において、複数の可変長符号（ブロック）からなる固定長の符号データ（１ワード）から、現在処理中の可変長符号の先頭ビットへシフトさせるシフト手段と、複数の可変長符号からなる固定長の符号データから、現在処理中の可変長符号の先頭ビットへ指定するシフト値を生成する手段と、前記シフト値生成装置の１ブロックラインの先頭のシフト値を記憶する手段とを有する。
【００３１】
これにより、ＪＰＥＧの符号の復号化処理処理後に水平方向にシリアルなデータ出力が必要な機器において、水平方向に複数のブロックを格納するためのブロックの垂直サイズ分のラインメモリを必要とせずに画像の復号化装置と付加するメモリを搭載する画像処理装置のゲート数の削減が可能である。
【００３２】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて具体的に説明する。
（本発明の原理）
図３は、本発明の原理を説明する図である。図３において、３０１は符号メモリ、３０２は１ブロックライン（８ライン）の符号メモリ、３０３はハフマン復号化部、３０４は垂直１次逆ＤＣＴ装置、３０５はライン数指定部、３０６は水平１次逆ＤＣＴ装置、３０７はプリンタエンジン（画像処理部）、３０８はプリンタである。
【００３３】
符号メモリ３０１から１ブロックライン（８ライン）の符号データを読み出し、符号メモリ３０２に格納する。図示しない符号の先頭のワードアドレスをキーに、符号メモリ３０２からブロック毎に符号データを読み出し、ハフマン復号化部３０３で復号化し、８＊８のＤＣＴ係数に復元する。垂直１次逆ＤＣＴ装置３０４は、ライン数指定部３０５で指定された各ライン（０〜７ライン）についてＤＣＴ係数を、式（５）に従って垂直方向に逆変換してＳ’ｙｕを出力する。水平１次逆ＤＣＴ装置３０６は、Ｓ’ｙｕを式（６）に従って水平方向に逆変換して復号画像Ｓｙｘを出力する。各ブロックの復号画像がプリンタエンジン（画像処理部）３０７に転送され、ここで各ブロック毎の画像を合成して復号画像を作成し、プリンタ３０８で印字出力される。なお、上記した構成例では、１ブロックライン（８ライン）の符号メモリ３０２が設けられているが、符号メモリ３０２を設けずに、符号メモリ３０１から直接、ブロックラインの各ブロックを順次読み出すようにしてもよい。
【００３４】
図４は、本発明が適用される画像形成装置の機構部の構成例を示す。自動原稿送り装置１にある原稿台２に、原稿の画像面を上にして置かれた原稿束は、操作部３０上のスタートキー３４が押下されると、一番下の原稿から給送ローラ３および給送ベルト４によってコンタクトガラス６上の所定の位置に給送される。読み取りユニット５０によってコンタクトガラス６上の原稿の画像データを読み取り後、読み取りが終了した原稿は、給送ベルト４及び排送ローラ５によって排出される。さらに、原稿セット検知７にて原稿台２に次の原稿が有ることを検知した場合、前原稿と同様にコンタクトガラス６上に給送される。給送ローラ３，給送ベルト４および排送ローラ５はモータによって駆動される。
【００３５】
第１トレイ８あるいは第２トレイ９に積載された、記録媒体である転写紙は、各々第１給紙装置１１あるいは第２給紙装置１２によって給紙され、縦搬送ユニット１４によって感光体１５に当接する位置まで搬送される。読み取りユニット５０にて読み込まれた画像データは、書き込みユニット５７からのレーザーによって感光体１５に書き込まれ、現像ユニット２７を通過することによってトナー像が形成される。そして、転写紙は感光体１５の回転と等速で搬送ベルト１６によって搬送されながら、感光体１５上のトナー像が転写される。その後、定着ユニット１７にて画像を定着させ、排紙ユニット１８によって後処理装置のフィニシャ２０に排出される。
【００３６】
後処理装置のフィニシャ２０は、本体の排紙ローラ１９によって搬送された転写紙を、通常排紙ローラ２２方向と、ステープル処理部方向に導く事ができる。切り替え板２１を上に切り替える事により、搬送ローラ２３を経由して通常排紙トレイ２４側に排紙する事ができる。また、切り替え板２１を下方向に切り替える事で、搬送ローラ２５，２７を経由して、ステープル台２８に搬送する事ができる。
【００３７】
ステープル台２８に積載された転写紙は、一枚排紙されるごとに紙揃え用のジョガー２９によって、紙端面が揃えられ、一部のコピー完了と共にステープラ２６によって綴じられる。ステープラ２６で綴じられた転写紙群は自重によって、ステープル完了排紙トレイ３０に収納される。
【００３８】
一方、通常の排紙トレイ２８は前後に移動可能な排紙トレイである。前後に移動可能な排紙トレイ部２８は、原稿毎、あるいは、画像メモリによってソーティングされたコピー部毎に、前後に移動し、簡易的に排出されてくるコピー紙を仕分けるものである。転写紙の両面に画像を作像する場合は、各給紙トレイ８，９から給紙され作像された転写紙を排紙トレイ側に導かないで、経路切り替えの為の分岐爪３２を上側にセットする事で、一旦両面給紙ユニット３１にストックする。
【００３９】
その後、両面給紙ユニット３１にストックされた転写紙は再び感光体１５に作像されたトナー画像を転写するために、両面給紙ユニット３１から再給紙され、経路切り替えの為の分岐爪３２を下側にセットし、排紙トレイ２４に導く。この様に転写紙の両面に画像を作成する場合に両面給紙ユニット３１が使用される。
【００４０】
感光体１５，搬送ベルト１６，定着ユニット１７，排紙ユニット１８および現像ユニット３３は、メインモータによって駆動され、各給紙装置１１，１２はメインモータの駆動を各々給紙クラッチによって伝達駆動される。縦搬送ユニット１４はメインモータの駆動を中間クラッチによって伝達駆動される。
【００４１】
読み取りユニット（スキャナ）５０は、原稿を載置するコンタクトガラス６と光学走査系で構成されており、光学走査系は、露光ランプ５１，第１ミラー５２，レンズ５３，ＣＣＤイメージセンサ５４等々で構成されている。露光ランプ５１及び第１ミラー５２は、図示しない第１キャリッジ上に固定され、第２ミラー５５及び第３ミラー５６は、図示しない第２キャリッジ上に固定されている。原稿像を読み取るときには、光路長が変わらないように、第１キャリッジと第２キャリッジとが２対１の相対速度で機械的に走査される。この光学走査系は、図示しないスキャナ駆動モータにて駆動される。原稿画像は、ＣＣＤイメージセンサ５４によって読み取られ、電気信号（アナログ画像信号）に変換され、そしてデジタルデ−タ（画像デ−タ）に変換される。画像デ−タには更に数種の画像処理が施される。レンズ５３及びＣＣＤイメージセンサ５４を図４において左右方向に移動させることにより、画像倍率が変わる。すなわち、指定された倍率に対応してレンズ５３及びＣＣＤイメージセンサ５４の左右方向に位置が設定される。書き込みユニット５７は、レーザ出力ユニット５８，結像レンズ５９およびミラー６０で構成され、レーザ出力ユニット５８の内部には、レーザ光源であるレーザダイオード及びモータによって高速で定速回転する回転多面鏡（ポリゴンミラー）が備わっている。レーザ出力ユニット５８より照射されるレーザ光は、定速回転するポリゴンミラーで偏光され、結像レンズ５９を通り、ミラー６０で折り返され、感光体面上に集光結像する。
【００４２】
偏光されたレーザ光は、感光体が回転する方向と直行する方向（主走査方向）に露光走査され、後述する画像処理部のセレクタ６４より出力された画像信号のライン単位の記録を行う。感光体の回転速度と記録密度に対応した所定の周期で主走査を繰り返すことによって、感光体面上に画像（静電潜像）が形成される。上述のように、書き込みユニット５７から出力されるレーザ光が、画像作像系の感光体１５に照射される。図示しないが感光体１５の一端近傍の、レーザビームを照射される位置に、主走査同期信号を発生するビームセンサが配置されている。この主走査同期信号をもとに主走査方向の画像記録開始タイミングの制御、および、後述する画像信号の入出力を行うための制御信号の生成を行う。
【００４３】
図５は、画像形成装置の制御部の構成を示す。図において、５０１はＣＰＵであり、コピー機器の全体を制御する。５０２はＣＰＵＩ／Ｆであり、メモリコントローラ５０３に接続され、ＣＰＵ５０１とメモリコントローラ５０３間のＩ／Ｆを処理する。５０３はメモリコントローラであり、メモリ５０４をコントロールし、ＣＰＵ５０１、ローカルバス５０５、画像処理用のバス５１０とメモリ５０４との転送をコントロールする。５０４はメモリであり、スキャナー５０７からの画像や、ＣＰＵ５０１のプログラムや各種データなどを格納する。５０５はローカルバスのＩ／Ｆであり、ＲＯＭ５０６、ＣＰＵ５０１、メモリ５０４などとのＩ／Ｆを処理する。５０６はＲＯＭであり、文字などのフォント情報や、ＣＰＵ５０１のプログラムなどを格納する。５０７はスキャナーであり、ＣＣＤにより画像を読み込む。５０８は画像処理装置であり、スキャナー５０７から読み込んだ画像データをシェ−デイング補正、ＭＴＦγ補正などの画像処理を行う。５０９は符号化装置であり、画像処理装置５０８で画像処理されたデータを符号化し、メモリ５０４や復号化装置５１１へ転送される。５１０は画像処理用のバスであり、符号化装置５０９からの符号データなどをメモリコントローラ５０３に転送したり、メモリ５０４のデータを復号化装置５１１へ転送したりする。５１１は復号化装置であり、符号化装置５０９で符号化されたデータを復号化し、エンジンコントローラ５１２へ転送する。５１２はエンジンコントローラであり、復号化装置５１１からのデータを受け取り、プリンタエンジン５１３をコントロールする。５１３はプリンタエンジン、５１４はパネルコントローラであり、パネル５１５をコントロールしている。５１５はパネルであり、ユーザーからの操作をコピー装置へ通知する。
【００４４】
図６は、符号化処理を説明する図である。スキャナー５０７から読み込まれたデータは、画像処理装置５０８により、画像処理され、その後、符号化装置５０９により、符号化される。符号化されたデータはバス５１０を介してメモリコントローラ５０３へ転送される。メモリコントローラ５０３は受け取った符号データをメモリ５０４へ格納する。
【００４５】
図７は、復号化処理を説明する図である。メモリコントローラ５０３は符号データをメモリ５０４から読み込み、メモリコントローラ５０３は符号データをバス５１０を介して復号化装置５１１へ転送する。復号化装置５１１は符号データを復号化し、エンジンコントローラ５１２はプリンタエンジン５１３を制御し、画像を印刷する。
【００４６】
図８は、符号化装置の構成を示す。８０１は８ラインメモリであり、図５の画像処理装置５０８からの画像処理後のデータを順次格納していく。この例の符号器では８＊８画素のブロックごと処理されるために、スキャンライン毎に発生するデータを８ライン毎、格納することにより、８＊８画素のブロックの画像を形成する。また、このラインメモリはトグルになっており、１方のラインメモリにデータを格納時に、もう片方の、既に格納済みのラインメモリよりデータを読み込み画像符号化装置８０２により符号化する。そのため、符号化を絶え間なく処理することができる。
【００４７】
８０２は画像符号化装置であり、ラインメモリ８０１からの画像データを受け取り、画像データを圧縮する。８０３は、バスＩ／Ｆであり、画像符号化装置８０２から圧縮された符号を受け取り、図５のメモリコントローラ５０３や図５の復号化装置５１１へ転送する。８０４はラインメモリコントローラであり、８ラインメモリ８０１を制御する。８０５はメモリアドレス生成装置であり、画像符号化装置８０２の符号データをバスＩ／Ｆ８０３を介して転送する転送先の図５のメモリ５０４のアドレスを生成する。８０６はコントローラであり、符号化装置の全体を制御する。
【００４８】
図９は、図８の画像符号化装置の構成を示す。９０１はＲＧＢ−＞ＹＵＶ変換装置であり、８＊８画素のＲＧＢをＹＵＶへ変換し、Ｙ成分をＹＤＣＴ処理装置９０２へ、Ｕ成分をＵＤＣＴ処理装置９０４へ、Ｖ成分をＶＤＣＴ処理装置９０６へ転送する。９０２はＹＤＣＴ処理装置であり、Ｙ成分をＤＣＴ（離散コサイン変換）を行い、量子化処理装置９０３へ転送する。９０３はＹ量子化処理装置であり、ＹＤＣＴ処理装置９０２からのＹ成分のＤＣＴ処理後のデータを受け取り量子化し、固定長符号化処理装置９０８へ転送する。９０４はＵＤＣＴ処理装置であり、Ｕ成分をＤＣＴ（離散コサイン変換）を行い、量子化処理装置９０５へ転送する。９０５はＵ量子化処理装置であり、ＵＤＣＴ処理装置９０４からのＵ成分のＤＣＴ処理後のデータを受け取り量子化し、固定長符号化処理装置９０８へ転送する。９０６はＶＤＣＴ処理装置であり、Ｖ成分をＤＣＴ（離散コサイン変換）を行い、量子化処理装置９０７へ転送する。９０７はＶ量子化処理装置であり、ＶＤＣＴ処理装置９０６からのＶ成分のＤＣＴ処理後のデータを受け取り量子化し、固定長符号化処理装置９０８へ転送する。９０８は固定長符号化処理装置であり、Ｙ量子化処理装置９０３からのＹ成分の８＊８の量子化後のＤＣＴ係数を受け取り、図１０のような順序で符号化していき、図１３のＹ符号の領域へ埋め込み、Ｕ量子化処理装置９０５からのＵ成分の８＊８の量子化後のＤＣＴ係数を受け取り、図１１のような順序で符号化していき、図１３のＵ符号の領域へ埋め込み、Ｕ量子化９０７処理装置からのＵ成分の８＊８の量子化後のＤＣＴ係数を受け取り、図１２のような順序で符号化していき、図１３のＵ符号の領域へ埋め込み、図１３のような固定長の符号を形成する。また、図１０、１１、１２の空白欄は符号化しない。図１４は、符号化装置の処理フローを示す。
【００４９】
（実施例１）
図１５は、本発明の実施例１に係る復号化装置（図５の５１１）の構成を示す。１５０１はバスＩ／Ｆであり、図５のバス５１０とのＩ／Ｆであり、図５のメモリコントローラ５０３や図５の符号化装置５０９からの符号データを受ける。１５０２は符号ラインメモリであり、１ブロックライン分の符号データを一時記憶する。固定長符号であるため、１ブロックラインの容量は固定長である。また、この例ではトグルで構成されているが、制御の仕方により１つの１ブロックラインでも構成可能である。１５０３は画像復号化処理装置であり、符号ラインメモリ１５０２から符号を読み込み、復号化する装置であり、８＊８のブロック毎の符号を読み込み、ブロックの水平ライン毎、復号化し、随時、エンジンコントローラＩ／Ｆ１５０４を介して図５のエンジンコントローラ５１２へデータを転送する。１５０４はエンジンコントローラＩ／Ｆであり、画像復号化装置１５０３から画像データを受け取り、図５のエンジンコントローラ５１２へ転送する。１５０５はコントローラであり、復号化装置を制御する。
【００５０】
図１６は、画像復号化処理装置の構成を示す。１６０１は符号分配処理装置であり、図１５の符号ラインメモリ１５０２から符号データを順次読み込み、符号から、Ｙ成分の８＊８の量子化後のＤＣＴ係数を生成し、Ｙ逆量子化処理装置１６０２へ転送し、Ｕ成分の８＊８の量子化後のＤＣＴ係数を生成し、Ｕ逆量子化処理装置１６０４へ転送し、Ｖ成分の８＊８の量子化後のＤＣＴ係数を生成し、Ｖ逆量子化処理装置１６０６へ転送する。図１７は、符号分配処理装置の詳細な構成を示す。
【００５１】
１６０２はＹ逆量子化処理装置であり、符号分配処理装置１６０１から、Ｙ成分の８＊８の量子化後のＤＣＴ係数を受け取り、逆量子化し、Ｙ成分の８＊８画素のＤＣＴ係数を求め、ＹＩＤＣＴ処理装置１６０３へ転送する。図１８は、Ｙ逆量子化処理装置の詳細な構成を示す。
【００５２】
１６０３はＹＩＤＣＴ処理装置であり、逆量子化処理装置１６０２からＹ成分の８＊８画素のＤＣＴ係数を受け取り、ＩＤＣＴ（逆離散コサイン変換）を行い、現在処理中のラインのＹ成分の水平の８画素データを求め、ＹＵＶ−＞ＲＧＢ変換装置１６０８へ転送する。図１９は、ＹＩＤＣＴ処理装置の詳細な構成を示す。
【００５３】
１６０４はＵ逆量子化処理装置であり、符号分配処理装置１６０１からＵ成分の８＊８の量子化後のＤＣＴ係数を受け取り、逆量子化し、Ｕ成分の８＊８画素のＤＣＴ係数を求め、ＵＩＤＣＴ処理装置１６０５へ転送する。図２０は、Ｕ逆量子化処理装置の詳細な構成を示す。
【００５４】
１６０５はＵＩＤＣＴ処理装置であり、逆量子化処理装置１６０４からＵ成分の８＊８画素のＤＣＴ係数を受け取り、ＩＤＣＴ（逆離散コサイン変換）を行い、現在処理中のラインのＵ成分の水平の８画素データを求め、ＹＵＶ−＞ＲＧＢ変換装置１６０８へ転送する。図１９は、ＵＩＤＣＴ処理装置の詳細な構成を示す。
【００５５】
１６０６はＶ逆量子化処理装置であり、符号分配処理装置１６０１からＶ成分の８＊８の量子化後のＤＣＴ係数を受け取り、逆量子化し、Ｖ成分の８＊８画素のＤＣＴ係数を求め、ＶＩＤＣＴ処理装置１６０７へ転送する。図２１は、Ｖ逆量子化処理装置の詳細な構成を示す。
【００５６】
１６０７はＶＩＤＣＴ処理装置であり、逆量子化処理装置１６０６からＶ成分の８＊８画素のＤＣＴ係数を受け取り、ＩＤＣＴ（逆離散コサイン変換）を行い、現在処理中のラインのＶ成分の水平の８画素データを求め、ＹＵＶ−＞ＲＧＢ変換装置１６０８へ転送する。図１９は、ＶＩＤＣＴ処理装置の詳細な構成を示す。
【００５７】
１６０８はＹＵＶ−＞ＲＧＢ変換処理装置であり、ＩＤＣＴ処理装置１６０３、１６０５、１６０７からのＹ，Ｕ，Ｖの画素データをＲＧＢへ変換する。図２２は、ＹＵＶ−＞ＲＧＢ変換の処理フローチャートを示す。
【００５８】
１６０９は符号ラインメモリアドレス生成装置であり、図１５の符号ラインメモリ１５０２のアドレスを順次生成する。１６１０はライン値生成装置（スキャンライン指定手段）であり、ＩＤＣＴ処理装置１６０３、１６０５、１６０７へ８＊８ブロック中の現在の処理ラインを送る。１６１１はコントローラであり、画像復号化処理装置をコントロールする。
【００５９】
図２３は、図１５の復号化装置の処理フローチャートである。図５のメモリ５０４から１ブロックライン分の符号データを読み込み、図１５の符号ラインメモリ１５０２に格納する（ステップ２３０１）。図１６のライン値生成装置１６１０の８＊８ブロック中の現在の処理ラインを０クリアする（ステップ２３０２）。図１６の符号ラインメモリアドレス生成装置１６０９のスタートアドレスを０クリアする（ステップ２３０３）。図１６の符号分配処理装置１６０１により、図１５の符号ラインメモリ１５０２から読み出された符号からＹＵＶの符号を切り出し、Ｙ，Ｕ，Ｖへのそれぞれの符号を図１６の逆量子化装置１６０２、１６０４、１６０６へ転送する（ステップ２３０４）。図１６のＹ逆量子化処理装置１６０２によりＹ成分の逆量子化処理を行う（ステップ２３０５）。図１６のＹＩＤＣＴ処理装置１６０３により、Ｙ成分のＩＤＣＴ（逆離散コサイン変換）処理を行う（ステップ２３０６）。図１６のＵ逆量子化処理装置１６０４により、Ｕ成分の逆量子化処理を行う（ステップ２３０７）。図１６のＵＩＤＣＴ処理装置１６０５により、Ｕ成分のＩＤＣＴ（逆離散コサイン変換）処理を行う（ステップ２３０８）。図１６のＶ逆量子化処理装置１６０６により、Ｖ成分の逆量子化処理を行う（ステップ２３０９）。図１６のＶＩＤＣＴ処理装置１６０７により、Ｖ成分のＩＤＣＴ（逆離散コサイン変換）処理を行う（ステップ２３１０）。図１６のＹＵＶ−＞ＲＧＢ変換装置１６０８により、ＹＵＶからＲＧＢへ変換し、図１５のエンジンコントローラＩ／Ｆ１５０４へ転送する（ステップ２３１１）。水平方向に全てのブロックの復号が終了した場合、図１６の符号ラインメモリアドレス生成装置１６０９の符号ラインメモリアドレスを０クリアする（ステップ２３１２）。図１６のライン値生成装置１６１０の処理するブロック中のライン数をカウントアップする（ステップ２３１３）。図１６のライン値生成装置１６１０の処理するブロック中のライン数がブロックの垂直方向のサイズを超えていないかチェックする（ステップ２３１４）。図１６の符号ラインメモリアドレス生成装置１６０９のスタートアドレスを０クリアし、図１６のライン値生成装置１６１０の処理するブロック中のライン数を０クリアする（ステップ２３１５）。
【００６０】
図１７は、符号分配処理装置の構成を示す。１７０１は符号レジスタであり、図１５の符号ラインメモリ１５０２からの符号データを格納する。１７０２は符号切り出し装置であり、図２４のように、符号レジスタ１７０１の符号をＹ，Ｕ，Ｖの符号に切り出す。１７０３はＹ量子化データ補正装置であり、図２５のように量子化されたＤＣＴ係数の削られ部分を補正し、８＊８のＤＣＴ係数を生成する。１７０４はＵ量子化データ補正装置であり、図２６のように量子化されたＤＣＴ係数の削られ部分を補正し、８＊８のＤＣＴ係数を生成する。１７０５はＶ量子化データ補正装置であり、図２６のように量子化されたＤＣＴ係数の削られ部分を補正し、８＊８のＤＣＴ係数を生成する。
【００６１】
図１８は、Ｙ逆量子化処理装置の構成を示し、Ｙ成分の逆量子化処理を行う。１８０１はＹ成分の量子化テーブル記憶装置であり、図２７のような量子化テーブルを格納する。１８０２は逆量子化装置であり、図１６の符号分配処理装置１６０１からのＹ成分の量子化後の８＊８のデータを受け取り、逆量子化処理を行う。
【００６２】
図２０は、Ｕ逆量子化処理装置の構成を示し、Ｕ成分の逆量子化処理を行う。２００１はＵ成分の量子化テーブル記憶装置であり、図２８のような量子化テーブルを格納する。２８０２は逆量子化装置であり、図１６の符号分配処理装置１６０１からのＵ成分の量子化後の８＊８のデータを受け取り、逆量子化処理を行う。
【００６３】
図２１は、Ｖ逆量子化処理装置の構成を示し、Ｖ成分の逆量子化処理を行う。２１０１はＶ成分の量子化テーブル記憶装置であり、図２８のような量子化テーブルを格納する。２１０２は逆量子化装置であり、図１６の符号分配処理装置１６０１からのＶ成分の量子化後の８＊８のデータを受け取り、逆量子化処理を行う。
【００６４】
図１９は、図１６のＩＤＣＴ処理装置１６０３、１６０５、１６０７の構成を示す。このＩＤＣＴ（逆離散コサイン変換）処理装置は、図６７の演算式（５）（６）を使用した例である。この式から、８＊８画素のブロックの場合の垂直ＩＤＣＴ式は図２９のようになる。そして、図２９のコサインの演算式を図３０のように先に計算し、テーブルを作成し、整理すると図３１のようになる。なお、図３１のＴ［ｉ］は垂直方向に８個あるはずであるが、本実施例では水平ライン毎に求めることから、指定されたＬＩＮＥＹ分しかないために１次元の配列となる。
【００６５】
同様に、図６７の式（６）の水平ＩＤＣＴ演算は、Ｔの中間結果を使用し、図３２のようになる。これも同様にコサインの演算式を図３０のように先に計算し、テーブルを作成し、整理すると図３３のようになる。
【００６６】
図１９の構成について説明する。１９０１は垂直ＩＤＣＴ（逆離散コサイン変換）処理装置であり、図３１の演算式を処理する。図３４は垂直ＩＤＣＴ処理装置の詳細な構成を示す。１９０２は中間結果の記憶装置であり、図３１の演算式のＴ［ｉ］を格納する。この例では、高速化するためにトグルで構成され、片方を垂直ＩＤＣＴ処理装置１９０１が演算結果を格納している間に、前ブロックの垂直ＩＤＣＴ処理結果を水平ＩＤＣＴ処理装置１９０３へ転送する。１９０３は水平ＩＤＣＴ（逆離散コサイン変換）処理装置であり、図３３の演算式を処理している。図３５は水平ＩＤＣＴ処理装置の詳細な構成を示す。１９０４はコントローラであり、図１６のライン値生成装置１６１０からの現在処理中の処理ライン数を受け取り、垂直ＩＤＣＴ処理装置１９０１へ転送し、ＩＤＣＴ処理装置を制御する。図３６は、図１９のＩＤＣＴ処理装置の処理フローチャートを示す。
【００６７】
図３４は、垂直ＩＤＣＴ処理装置の構成を示す。この垂直ＩＤＣＴ処理装置は図３１の演算式を使用した例である。３４０１は図１６の逆量子化処理装置１６０２、１６０４、１６０６により求めたＤＣＴ係数の［０］［０〜７］を格納する８個のレジスタと図１９のコントローラ１９０４からのｉ信号により選択されるＭＵＸからなるＤＣＴ係数記憶装置である。図３７は、ＤＣＴ係数記憶装置の詳細な構成を示す。３４０２、３４０３、３４０４、３４０５、３４０６、３４０７、３４０８も同様である。
【００６８】
３４０９は図３０のコサイン係数の［０］［０〜７］を格納し、図１９のコントローラ１９０４からの処理ライン数により選択されるＭＵＸからなるコサイン係数記憶装置である。図３８は、コサイン係数記憶装置の詳細な構成を示す。３４１０、３４１１、３４１２、３４１３、３４１４、３４１５、３４１６も同様である。３４１７〜３４２４は乗算器であり、３４２５〜３４３２は加算器である。３４３３は１ビット右シフトさせる１／２回路である。
【００６９】
図３７について説明する。３７０１から３７０８はレジスタであり、各ＤＣＴ係数を記憶する。３７０９はＭＵＸであり、図１９のコントローラ１９０４からのｉ信号により選択される。
【００７０】
図３８について説明する。３８０１から３８０８はレジスタであり、各コサイン係数を記憶する。３８０９はＭＵＸであり、図１９のコントローラ１９０４からの処理ライン数により選択される。
【００７１】
図３５は、水平ＩＤＣＴ処理装置の構成を示す。この水平ＩＤＣＴ処理装置は図３３の演算式を使用した例である。３５０１はレジスタであり、図１９のメモリ１９０２により記憶された垂直ＤＣＴ後の中間結果であるＴ［０］を記憶する。３５０２、３５０３、３５０４、３５０５、３５０６、３５０７、３５０８も同様である。３５１０は図３０のコサイン係数の［０］［０〜７］を格納し、図１９のコントローラ１９０４からの処理ライン数により選択されるＭＵＸからなるコサイン係数記憶装置である。図３８に詳細な構成を示す。３５１０、３５１１、３５１２、３５１３、３５１４、３５１５、３５１６も同様である。３５１７〜３５２４は乗算器であり、３５２５〜３５３２は加算器である。３５３３は１ビット右シフトさせる１／２回路である。
【００７２】
図３９は、図１５に示す符号ラインメモリを持たない復号化装置の構成例を示す。この例では、符号ラインメモリを持たずに、１ブロックラインの１水平ラインの処理を終了した時に、再度、図５のメモリ５０４から同じ１ブロックラインの最初の符号を再度読み込むことにより実現できる。
【００７３】
また、図４０は、図１５の構成例で最終画素を格納するラインメモリを２ラインで構成した例を示す。図４１は、図４０の復号化装置のＩＤＣＴ処理フローチャート（図３６に対応）を示す。図４２、４３は、垂直ＩＤＣＴ、水平ＩＤＣＴの演算式を示す。
【００７４】
（実施例２）
前述した実施例１は固定長復号化装置の実施例であるが、本実施例はＪＰＥＧ復号化装置の実施例である。実施例２を説明する前に、ＪＰＥＧ符号化について簡単に説明する。
【００７５】
図４４は、符号化装置（図５の５０９）の構成を示す。４４０１は８ラインメモリであり、図５の画像処理装置５０８からの画像処理後のデータを順次格納していく。ＪＰＥＧでは８＊８画素のブロック毎に処理されるために、スキャンライン毎に発生するデータを８ラインごと格納することにより、８＊８画素のブロックの画像を形成する。また、このラインメモリは、トグルになっており、１方のラインメモリにデータを格納時に、片方の既に格納済みのラインメモリよりデータを読み込みＪＰＥＧ符号化装置４４０２により、符号化していく。そのため、符号化を絶え間なく、処理することができる。
【００７６】
４４０２はＪＰＥＧ符号化装置であり、ラインメモリ４４０１からの画像データを受け取り、ＪＰＥＧ方式で画像データを圧縮する。４４０３はバスＩ／Ｆであり、ＪＰＥＧ符号化装置４４０２から圧縮された符号を受け取り、図５のメモリコントローラ５０３や図５の復号化装置５１１へ転送する。４４０４はラインメモリコントローラであり、８ラインメモリ４４０１を制御する。４４０５はメモリアドレス生成装置であり、ＪＰＥＧ符号化装置４４０２の符号データをバスＩ／Ｆ４４０３を介して転送する、図５のメモリ５０４のアドレスを生成する。４４０６はコントローラであり、符号化装置の全体を制御する。
【００７７】
図４５は、図４４のＪＰＥＧ符号化装置の構成を示す。４５０１はＲＧＢ−＞ＹＵＶ変換装置であり、ＪＰＥＧの規格にもとずき、８＊８画素のＲＧＢをＹＵＶへ変換し、Ｙ成分をＹＤＣＴ処理装置４５０２へ、Ｕ成分をＵＤＣＴ処理装置４５０５へ、Ｖ成分をＶＤＣＴ処理装置４５０８へ転送する。４５０２はＹＤＣＴ処理装置であり、Ｙ成分をＤＣＴ（離散コサイン変換）を行い、量子化処理装置４５０３へ転送する。
【００７８】
４５０３はＹ量子化処理装置であり、ＹＤＣＴ処理装置４５０２からのＹ成分のＤＣＴ処理後のデータを受け取り量子化し、Ｙエントロピー符号化装置４５０４へ転送する。４５０４はＹエントロピー符号化装置であり、量子化処理装置４５０３からのＹ成分の量子化後のデータを受け取り、ハフマン符号化方式で符号化し、符号フォーマット生成装置４５１１へ転送する。
【００７９】
４５０５はＵＤＣＴ処理装置であり、Ｕ成分をＤＣＴ（離散コサイン変換）を行い、量子化処理装置４５０６へ転送する。４５０６はＵ量子化処理装置であり、ＵＤＣＴ処理装置４５０５からのＵ成分のＤＣＴ処理後のデータを受け取り量子化し、Ｕエントロピー符号化装置４５０７へ転送する。４５０７はＵエントロピー符号化装置であり、量子化処理装置４５０６からのＵ成分の量子化後のデータを受け取り、ハフマン符号化方式で符号化し、符号フォーマット生成装置４５１１へ転送する。
【００８０】
４５０８はＶＤＣＴ処理装置であり、Ｖ成分をＤＣＴ（離散コサイン変換）を行い、量子化処理装置４５０９へ転送する。４５０９はＶ量子化処理装置であり、ＶＤＣＴ処理装置４５０８からのＶ成分のＤＣＴ処理後のデータを受け取り量子化し、Ｖエントロピー符号化装置４５１０へ転送する。４５１０はＶエントロピー符号化装置であり、量子化処理装置４５０９からのＶ成分の量子化後のデータを受け取り、ハフマン符号化方式で符号化し、符号フォーマット生成装置４５１１へ転送する。
【００８１】
４５１１は符号フォーマット生成装置であり、エントロピー符号化装置４５０４、４５０７、４５１０からの符号データを受け取り符号を形成する。図４６は、符号化装置の処理フローチャートを示す。
【００８２】
図４７は、本発明の実施例２に係る復号化装置（図５の５１１）の構成を示す。４７０１はバスＩ／Ｆであり、図５のバス５１０とのＩ／Ｆであり、図５のメモリコントローラ５０３や図５の符号化装置５０９からの符号データを受ける。４７０２は符号ラインメモリであり、１ブロックライン分の符号データを一時記憶する。ＪＰＥＧでは、可変長符号方式であるため、１ブロックラインの符号量も圧縮率により異なるために、最悪の圧縮率時の１ブロックラインの容量を持たなければならない。また、メモリのデータの転送時のウエイトをなくす場合は、トグルでメモリを持ち、符号の格納と復号化処理を同時に行う必要がある。
【００８３】
４７０３はＪＰＥＧ復号化装置であり、符号ラインメモリ４７０２から符号を読み込み、ＪＰＥＧ方式で復号化する装置であり、８＊８のブロックごとの符号を読み込み、ブロックの水平ラインごと復号化し、１ラインメモリ４７０４へＲＧＢ画素データを転送する。４７０４はラインメモリであり、ＪＰＥＧ復号化装置４７０３から画像データを受け取り格納する。また、処理スピードが必要な場合、ラインメモリをトグルで持ち、片方でＪＰＥＧ復号化装置４７０３からの画像データを格納し、もう片方でライン分格納された画像データを図５のエンジンコントローラへ転送する。４７０５はメモリアドレス生成装置であり、図５のメモリ５０４の読み込むデータのアドレスを順次発生し、バスＩ／Ｆ４７０１へ転送する。また、符号ラインメモリ４７０２に１ブロックラインのデータを格納するために１ブロックラインの全ての復号化が終わった時点で符号ラインメモリの最終アドレスを受け取り、次の図５のメモリ５０４の１ブロックラインのスタートアドレスを計算し、順次、次の１ブロックラインの符号データのアドレスを生成していく。図４８は、メモリアドレス生成装置の詳細な構成を示す。４７０６はコントローラであり、復号化装置を制御する。
【００８４】
図４９は、図４７のＪＰＥＧ復号化装置の構成を示す。４９０１はエントロピー復号化装置であり、図４７の符号ラインメモリ４７０２から符号データを順次読み込み、Ｙ成分のエントロピー復号化処理を行い、Ｙ逆量子化処理装置４９０２へ量子化後のＹ成分の８＊８画素のデータを転送し、Ｕ成分のエントロピー復号化処理を行い、Ｕ逆量子化処理装置４９０４へ量子化後のＵ成分の８＊８画素のデータを転送し、Ｖ成分のエントロピー復号化処理を行い、Ｖ逆量子化処理装置４９０６へ量子化後のＶ成分の８＊８画素のデータを転送する。図５０は、エントロピー復号化装置の詳細な構成を示す。
【００８５】
４９０２はＹ逆量子化処理装置であり、Ｙエントロピー復号化装置４９０１から量子化後のＹ成分の８＊８画素データを受け取り、逆量子化し、Ｙ成分の８＊８画素のＤＣＴ係数を求め、ＹＩＤＣＴ処理装置４９０３へ転送する。図５１は、Ｙ逆量子化処理装置の詳細な構成を示す。
【００８６】
４９０３はＹＩＤＣＴ処理装置であり、逆量子化処理装置４９０２からＹ成分の８＊８画素のＤＣＴ係数を受け取り、ＩＤＣＴ（逆離散コサイン変換）を行い、現在処理中のラインのＹ成分の水平の８画素データを求め、ＹＵＶ−＞ＲＧＢ変換装置４９０８へ転送する。図５２は、ＩＤＣＴ処理装置の詳細な構成を示す。
【００８７】
４９０４はＵ逆量子化処理装置であり、Ｕエントロピー復号化装置４９０１から量子化後のＵ成分の８＊８画素データを受け取り、逆量子化し、Ｕ成分の８＊８画素のＤＣＴ係数を求め、ＵＩＤＣＴ処理装置４９０５へ転送する。図５３は、Ｕ逆量子化処理装置の詳細な構成を示す。
【００８８】
４９０５はＵＩＤＣＴ処理装置であり、逆量子化処理装置４９０４からＵ成分の８＊８画素のＤＣＴ係数を受け取り、ＩＤＣＴ（逆離散コサイン変換）を行い、現在処理中のラインのＵ成分の水平の８画素データを求め、ＹＵＶ−＞ＲＧＢ変換装置４９０８へ転送する。図５２は、ＵＩＤＣＴ処理装置の詳細な構成を示す。
【００８９】
４９０６はＶ逆量子化処理装置であり、Ｖエントロピー復号化装置４９０１から量子化後のＶ成分の８＊８画素データを受け取り、逆量子化し、Ｖ成分の８＊８画素のＤＣＴ係数を求め、ＹＩＤＣＴ処理装置４９０７へ転送する。図５４は、Ｖ逆量子化処理装置の詳細な構成を示す。
【００９０】
４９０７はＶＩＤＣＴ処理装置であり、逆量子化処理装置４９０１からＶ成分の８＊８画素のＤＣＴ係数を受け取り、ＩＤＣＴ（逆離散コサイン変換）を行い、現在処理中のラインのＶ成分の水平の８画素データを求め、ＹＵＶ−＞ＲＧＢ変換装置４９０８へ転送する。図５２は、ＶＩＤＣＴ処理装置の詳細な構成を示す。
【００９１】
４９０８はＹＵＶ−＞ＲＧＢ変換処理装置であり、ＩＤＣＴ処理装置４９０３、４９０５、４９０７からのＹ，Ｕ，Ｖの画素データをＲＧＢへ変換する。図５５は、ＹＵＶ−＞ＲＧＢ変換処理装置の処理フローチャートを示す。
【００９２】
４９０９は符号ラインメモリアドレス生成装置であり、エントロピー復号化装置４９０１からの信号により、図４７の符号ラインメモリ４７０２のアドレスをカウントアップさせながら、符号ラインメモリのアドレスを生成する。また１ブロックラインの復号化がすべて終了した時点で、符号ラインメモリの最終アドレスを図４７のメモリアドレス生成装置４７０５へ転送する。
【００９３】
４９１０はラインメモリアドレス生成装置であり、図４７のラインメモリ４７０４のアドレスを生成し、ＩＤＣＴ処理装置４９０３、４９０５、４９０７へ８＊８ブロック中の現在の処理ラインを送る。４９１１は処理ブロックカウント装置であり、ＪＰＥＧ復号化装置が１ブロックラインのブロックを処理したかを判断するために、処理したブロックをカウントし、１ブロックラインのブロックになるとカウンタを“０”クリアする。４９１２はコントローラであり、ＪＰＥＧ復号化装置をコントロールする。
【００９４】
図５６は、図４７の復号化装置の処理フローチャートである。図５のメモリ５０４から１ブロックライン分の符号データを読み込み、図４７の符号ラインメモリ４７０２に格納する（ステップ５６０１）。図４９のラインメモリアドレス生成装置４９１０の８＊８ブロック中の現在の処理ラインを０クリアする（ステップ５６０２）。図４９の符号ラインメモリアドレス生成装置４９０９のスタートアドレスを０クリアし、図４９のエントロピー復号化装置４９０１の符号のワード中のスタートビットアドレスを１ブロックラインの最終アドレスに変更する（ステップ５６０３）。
【００９５】
図４９のエントロピー復号化装置４９０１により、Ｙ成分の復号化処理を行う（ステップ５６０４）。図４９のＹ逆量子化処理装置４９０２により、Ｙ成分の逆量子化処理を行う（ステップ５６０５）。図４９のＹＩＤＣＴ処理装置４９０３により、Ｙ成分のＩＤＣＴ（逆離散コサイン変換）処理を行う（ステップ５６０６）。
【００９６】
図４９のエントロピー復号化装置４９０１により、Ｕ成分の復号化処理を行う（ステップ５６０７）。図４９のＵ逆量子化処理装置４９０４により、Ｕ成分の逆量子化処理を行う（ステップ５６０８）。図４９のＵＩＤＣＴ処理装置４９０５により、Ｕ成分のＩＤＣＴ（逆離散コサイン変換）処理を行う（ステップ５６０９）。
【００９７】
図４９のエントロピー復号化装置４９０１により、Ｖ成分の復号化処理を行う（ステップ５６１０）。図４９のＶ逆量子化処理装置４９０６により、Ｖ成分の逆量子化処理を行う（ステップ５６１１）。図４９のＶＩＤＣＴ処理装置４９０７により、Ｖ成分のＩＤＣＴ（逆離散コサイン変換）処理を行う（ステップ５６１２）。
【００９８】
図４９のＹＵＶ−＞ＲＧＢ変換装置４９０８により、ＹＵＶからＲＧＢへ変換する（ステップ５６１３）。図４９のラインメモリ生成装置４９１０のアドレスを更新し、図４７のラインメモリ４７０４へ生成された画素データを書き込む（ステップ５６１４）。
【００９９】
水平方向に全てのブロックの復号が終了した場合（ステップ５６１５でＹＥＳ）、図４９の符号ラインメモリアドレス生成装置４９０９の符号ラインメモリアドレスを０クリアし、図４９のラインメモリアドレス生成装置４９１０のラインメモリアドレスを０クリアする。
【０１００】
図４９のラインメモリアドレス生成装置４９１０の処理するブロック中のライン数をカウントアップする（ステップ５６１６）。図４９のラインメモリアドレス生成装置４９１０の処理するブロック中のライン数がブロックの垂直方向のサイズ（“８”）を超えていないかチェックする（ステップ５６１７）。サイズを超えているとき（ステップ５６１７でＮＯ）、図４９の符号ラインメモリアドレス生成装置４９０９のスタートアドレスを０クリアし、図４９のエントロピー復号化装置４９０１の符号のワード中のスタートビットアドレスをラインのスタート時の値に変更する（ステップ５６１８）。
【０１０１】
図４７のメモリアドレス生成装置４７０５は垂直方向の全てのブロックを復号化したかを判断する（ステップ５６１９）。図４７のメモリアドレス生成装置４７０５は図４９の符号ラインメモリアドレス生成装置４９０９から最終アドレスを受け取り、図５のメモリ５０４の次の１ブロックラインの符号の先頭アドレスを計算し、図４９のエントロピー復号化装置４９０１の符号のワード中のビットアドレスを保持する（ステップ５６２０）。
【０１０２】
図５０は、エントロピー復号化装置の構成を示す。５００１は読み込み符号レジスタであり、図４７の符号ラインメモリ４７０２から符号を数ワードの符号を読み込み格納する。５００２はシフターであり、読み込み符号レジスタ５００１のデータを入力し、シフト値生成装置５００７からの現在処理中のビットのスタート値によりシフトし、符号を切り出す。
【０１０３】
５００３はＤＣ値復号化装置であり、図５７のように８＊８のＤＣＴ後のＤＣＴ係数のＤＣ成分を復号化し求めたＤＣデータを８）の８＊８データ生成装置へ転送し、消費した符号長をＭＵＸ５００６を介してシフト値生成装置５００７へ転送する。５００４は０ＲＵＮ値復号化装置であり、図５８のＡＣ符号化手順のように、ジグザグに符号化された０のランレングス値を復号化し、８＊８データ生成装置５００８へ転送し、消費した符号長をＭＵＸ５００６を介してシフト値生成装置５００７へ転送する。
【０１０４】
５００５はＡＣ値復号化装置であり、図５８のＡＣ符号化手順のように、ジグザグに符号化されたＡＣ値を復号化し、８＊８データ生成装置５００８へ転送し、消費した符号長をＭＵＸ５００６を介してシフト値生成装置５００７へ転送する。５００６はＭＵＸであり、復号化装置５００３、５００４、５００５の出力する消費符号長から現在復号化している復号化装置の出力を選択し、シフト値生成装置５００７へ転送する。
【０１０５】
５００７はシフト値生成装置であり、ＭＵＸ５００６からの消費した符号長を順次受け取り、シフター５００２をコントロールし、復号化装置５００３、５００４、５００５へ符号を切り出し転送する。また、読み込み符号レジスタ５００１の格納範囲を超えた場合、ＮＥＸＴＤＡＴＡＦＬＧ信号により、図４９の符号ラインメモリアドレス生成装置４００９へ次の符号を要求する。図５９は、シフト値生成装置の詳細な構成を示す。
【０１０６】
５００８は８＊８データ生成装置であり、復号化装置５００３、５００４、５００５からのＤＣデータ、０のランレングスデータ、ＡＣデータを受け取り、８＊８のＤＣＴ係数の量子化後データを生成し、図４９の逆量子化処理装置４９０２、４９０４、４９０６へ転送する。
【０１０７】
図５９は、図５０のシフト値生成装置の構成を示す。５９０３はＢＩＴＡＤＤＲＥＳＳレジスタであり、１ブロックラインのスタート時の符号ワード中のビットアドレスを格納し、最初の１回のみ加算器５９０５にＭＵＸ５９０４を介してデータを送り、消費符号長との加算結果を累積ＢＩＴレジスタ５９０２へ格納する。その後、累積ＢＩＴレジスタ５９０２の値と消費符号長との加算を繰り返し、シフト値を求めていく。そして、１ブロックラインの１水平ラインの処理が完了すると、１ブロックラインの０番地に戻り、上記の処理を繰り返す。ブロックの垂直方向の水平ライン全てが終了すると、累積ＢＩＴ５９０２が持つ値が次の１ブロックラインの最初の符号ワード中のビットアドレスとなるために、ＭＵＸ５９０１を介してＢＩＴＡＤＤＲＥＳＳレジスタ５９０３へ格納する。
【０１０８】
５９０１はＭＵＸであり、初期化時にＢＩＴＡＤＤＲＥＳＳレジスタ５９０３へ“０”を送る。５９０４はＭＵＸであり、上記のように加算器５９０５に累積ＢＩＴ５９０２、ＢＩＴＡＤＤＲＥＳＳレジスタ５９０３のレジスタ値を選択し転送する。
【０１０９】
５９０２は累積ＢＩＴレジスタであり、図５０のＭＵＸ５００６からの消費符号長を順次、加算器５９０５で加算し、その結果を格納する。
【０１１０】
５９０５は加算器であり、消費符号長とＭＵＸ５９０４で選択された値を加算し、シフト値を生成する。５９０６はコンパレータであり、図５０の読み込み符号レジスタ５００１のワード長とシフト値を比較し、超えていないかをチェックする。
【０１１１】
５９０７はレジスタであり、コンパレータ５９０６のチェック情報を格納し、図４９の符号ラインメモリアドレス生成装置４９０９へ知らせる。
【０１１２】
図４８は、図４７のメモリアドレス生成装置の構成を示す。このメモリアドレス生成装置は、図５のメモリ５０４から１ブロックラインの符号データを順次読み込み、図４７の符号ラインメモリ４７０２へ格納させるための、図５のメモリ５０４のメモリアドレスを生成するための装置である。そして、１ブロックラインの符号データが可変長であるために、その１ブロックライン分の符号長を最悪の圧縮率の場合を想定し、余分に図４７の符号ラインメモリ４７０２へ格納していく。そして、１ブロックラインの符号データをすべて復号化した時点で、次の図５のメモリ５０４の１ブロックラインのスタートアドレスを演算して求め、上記の処理を繰り返す。
【０１１３】
４８０３は図５のメモリ５０４の１ブロックラインのスタートアドレスを格納するレジスタであり、上記のように１ブロックラインの全ての復号化が終了したとき、符号ラインメモリの最終アドレスを加算することで、次の、図５のメモリ５０４の１ブロックラインのスタートアドレスを求めることができる。
【０１１４】
４８０４は累積アドレスレジスタであり、４８０５はＭＵＸであり、４８０６は加算器である。
【０１１５】
図５１は、図４９のＹ逆量子化処理装置の構成を示し、Ｙ成分の逆量子化処理を行う。５１０１はＹ成分の量子化テーブル記憶装置であり、図２７のような量子化テーブルを格納する。５１０２は逆量子化装置であり、図４９のエントロピー復号化装置４９０１からのＹ成分の量子化後の８＊８のデータを受け取り、逆量子化処理を行う。
【０１１６】
図５３は、図４９のＵ逆量子化処理装置の構成を示し、Ｕ成分の逆量子化処理を行う。５３０１はＵ成分の量子化テーブル記憶装置であり、図２８のような量子化テーブルを格納する。５３０２は逆量子化装置であり、図４９のエントロピー復号化装置４９０１からのＵ成分の量子化後の８＊８のデータを受け取り、逆量子化処理を行う。
【０１１７】
図５４は、図４９のＶ逆量子化処理装置の構成を示し、Ｖ成分の逆量子化処理を行う。５４０１はＶ成分の量子化テーブル記憶装置であり、図２８のような量子化テーブルを格納する。５４０２は逆量子化装置であり、図４９のエントロピー復号化装置４９０１からのＶ成分の量子化後の８＊８のデータを受け取り、逆量子化処理を行う。
【０１１８】
図５２は、図４９のＩＤＣＴ処理装置４９０３、４９０５、４９０７の構成を示す。このＩＤＣＴ（逆離散コサイン変換）処理装置は、図６７の演算式（５）、（６）を使用した例である。この式から、８＊８画素のブロックの場合の垂直ＩＤＣＴ式は図２９のようになる。そして、図２９のコサインの演算式を図３０のように先に計算し、テーブルを作成し整理すると、図３１のようになる。図３１のＴ［ｉ］は垂直方向に８個あるはすであるが、本実施例では水平ライン毎に求めるために、指定されたＬＩＮＥＹ分しかないため１次元の配列となる。
【０１１９】
同様に、図６７の水平ＩＤＣＴ演算はＴの中間結果を使用し、図３２のようになる。これも、同様にコサインの演算式を図３０のように先に計算し、テーブルを作成し整理すると、図３３のようになる。
【０１２０】
図５２について説明する。５２０１は垂直ＩＤＣＴ（逆離散コサイン変換）処理装置であり、図３１の演算式を処理している。図６０は、垂直ＩＤＣＴ処理装置の詳細な構成を示す。５２０２は中間結果の記憶装置であり、図３１の演算式のＴ［ｉ］を格納する。この例では、高速化するためにトグルで持ち、片方を垂直ＩＤＣＴ処理装置５２０１が演算結果を格納している間に、前ブロックの垂直ＩＤＣＴ処理結果を水平ＩＤＣＴ処理装置５２０３へ転送する。
【０１２１】
５２０３は水平ＩＤＣＴ（逆離散コサイン変換）処理装置であり、図３３の演算式を処理している。図６１は、水平ＩＤＣＴ処理装置の詳細な構成を示す。
【０１２２】
５２０４はコントローラであり、図４９のラインメモリアドレス生成装置４９１０からの現在処理中の処理ライン数を受け取り、垂直ＩＤＣＴ処理装置５２０１へ転送し、ＩＤＣＴ処理装置を制御する。図３６は、図５２のＩＤＣＴ処理装置の処理フローチャートを示す。
【０１２３】
図６０は、垂直ＩＤＣＴ処理装置の構成を示す。この垂直ＩＤＣＴ処理装置は図３１の演算式を使用した例である。６００１は図４９の逆量子化処理装置４９０２、４９０４、４９０６により求めたＤＣＴ係数の［０］［０〜７］を格納する８個のレジスタと図５２のコントローラ５２０４からのｉ信号により選択されるＭＵＸからなるＤＣＴ係数記憶装置である。図６２は、ＤＣＴ係数記憶装置の詳細な構成を示す。６００２〜６００８も同様である。
【０１２４】
６００９は図３０のコサイン係数の［０］［０〜７］を格納し、図５２のコントローラ５２０４からの処理ライン数により選択されるＭＵＸからなるコサイン係数記憶装置である。図６３は、コサイン係数記憶装置の詳細な構成を示す。６０１０、６０１１、６０１２、６０１３、６０１４、６０１５、６０１６も同様である。６０１７〜６０２４は乗算器であり、６０２５〜６０３２は加算器である。６０３３は１ビット右シフトさせる１／２回路である。
【０１２５】
図６２について説明する。６２０１から６２０８はレジスタであり、各ＤＣＴ係数を記憶する。６２０９はＭＵＸであり、図５２のコントローラ５２０４からのｉ信号により選択される。
【０１２６】
図６３について説明する。６３０１から６３０８はレジスタであり、各コサイン係数を記憶する。６３０９はＭＵＸであり、図５２のコントローラ５２０４からの処理ライン数により選択される。
【０１２７】
図６１は、水平ＩＤＣＴ処理装置の構成を示す。この水平ＩＤＣＴ処理装置は図３３の演算式を使用した例である。６１０１はレジスタであり、図５２のメモリ５２０２により記憶された垂直ＤＣＴ後の中間結果であるＴ［０］を記憶する。６１０２、６１０３、６１０４、６１０５、６１０６、６１０７、６１０８も同様である。６１１０は図３０のコサイン係数の［０］［０〜７］を格納し、図５２のコントローラ５２０４からの処理ライン数により選択されるＭＵＸからなるコサイン係数記憶装置である。図６３に詳細な構成を示す。６１１０、６１１１、６１１２、６１１３、６１１４、６１１５、６１１６も同様である。６１１７〜６１２４は乗算器であり、６１２５〜６１３２は加算器である。６１３３は１ビット右シフトさせる１／２回路である。
【０１２８】
図６４は、図４７に示す符号ラインメモリを持たない復号化装置の構成例を示す。この例では、符号ラインメモリを持たずに、１ブロックラインの１水平ラインの処理を終了した時に、再度、図５のメモリ５０４から同じ１ブロックラインの最初の符号を再度読み込むことにより実現できる。
【０１２９】
また、図６５は、図４７の構成例で最終画素を格納するラインメモリを２ラインで構成した例を示す。図４１は、図６５の復号化装置のＩＤＣＴ処理フローチャート（図３６に対応）を示す。図４２、４３は、図６５で使用される垂直ＩＤＣＴ、水平ＩＤＣＴの演算式を示す。
【０１３０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成されることは言うまでもない。
【０１３１】
また、上記した実施例は、ＲＧＢのカラー画像を例にして説明したが、モノクロにも同様に適用することができ、また、Ｃ，Ｍ，Ｙ，Ｋを１版毎にＪＰＥＧで圧縮／伸長する場合にも、同様に適用することができる。
【０１３２】
また、上記した実施例では複写機を例に説明したが、デジタルカメラの画像、プリンタ画像、ハンデイースキャナーの場合のように、水平方向の処理に順次圧縮／伸長する場合にも同様に適用することができる。
【０１３３】
【発明の効果】
以上、説明したように、本発明によれば、復号化処理をライン毎に実行できるので、ハードウェアコストが大幅に低減される。
【図面の簡単な説明】
【図１】ＤＣＴを用いたＪＰＥＧ方式の従来の符号化部及び復号部を示す。
【図２】従来の復号化装置の構成を示す。
【図３】本発明の原理を説明する図である。
【図４】本発明が適用される画像形成装置の機構部の構成例を示す。
【図５】画像形成装置の制御部の構成を示す。
【図６】符号化処理を説明する図である。
【図７】復号化処理を説明する図である。
【図８】符号化装置の構成を示す。
【図９】画像符号化装置の構成を示す。
【図１０】Ｙ符号化順序を示す。
【図１１】Ｕ符号化順序を示す。
【図１２】Ｖ符号化順序を示す。
【図１３】符号フォーマットを示す。
【図１４】符号化装置の処理フローチャートを示す。
【図１５】本発明の実施例１に係る復号化装置の構成を示す。
【図１６】画像復号化処理装置の構成を示す。
【図１７】符号分配処理装置の詳細な構成を示す。
【図１８】Ｙ逆量子化処理装置の詳細な構成を示す。
【図１９】ＩＤＣＴ処理装置の詳細な構成を示す。
【図２０】Ｕ逆量子化処理装置の詳細な構成を示す。
【図２１】Ｖ逆量子化処理装置の詳細な構成を示す。
【図２２】ＹＵＶ−＞ＲＧＢ変換の処理フローチャートを示す。
【図２３】復号化装置の処理フローチャートである。
【図２４】符号切り出し処理を示す。
【図２５】Ｙ量子化データ補正処理を示す。
【図２６】Ｕ、Ｖ量子化データ補正処理を示す。
【図２７】Ｙ量子化テーブルを示す。
【図２８】Ｕ、Ｖ量子化テーブルを示す。
【図２９】垂直ＩＤＣＴ式を示す。
【図３０】コサイン係数を示す。
【図３１】コサイン係数テーブルで表記した垂直ＩＤＣＴ式を示す。
【図３２】水平ＩＤＣＴ式を示す。
【図３３】コサイン係数テーブルで表記した水平ＩＤＣＴ式を示す。
【図３４】垂直ＩＤＣＴ処理装置の詳細な構成を示す。
【図３５】水平ＩＤＣＴ処理装置の詳細な構成を示す。
【図３６】ＩＤＣＴ処理装置の処理フローチャートを示す。
【図３７】ＤＣＴ係数記憶装置の詳細な構成を示す。
【図３８】コサイン係数記憶装置の詳細な構成を示す。
【図３９】符号ラインメモリを持たない復号化装置の構成例を示す。
【図４０】復号化装置の他の構成例を示す。
【図４１】図４０の復号化装置のＩＤＣＴ処理フローチャート（図３６に対応）を示す。
【図４２】図４０、図６５で使用される垂直ＩＤＣＴ式を示す。
【図４３】図４０、図６５で使用される水平ＩＤＣＴ式を示す。
【図４４】符号化装置の構成を示す。
【図４５】ＪＰＥＧ符号化装置の構成を示す。
【図４６】符号化装置の処理フローチャートを示す。
【図４７】本発明の実施例２に係る復号化装置の構成を示す。
【図４８】メモリアドレス生成装置の詳細な構成を示す。
【図４９】ＪＰＥＧ復号化装置の構成を示す。
【図５０】エントロピー復号化装置の詳細な構成を示す。
【図５１】Ｙ逆量子化処理装置の詳細な構成を示す。
【図５２】ＩＤＣＴ処理装置の詳細な構成を示す。
【図５３】Ｕ逆量子化処理装置の詳細な構成を示す。
【図５４】Ｖ逆量子化処理装置の詳細な構成を示す。
【図５５】ＹＵＶ−＞ＲＧＢ変換処理装置の処理フローチャートを示す。
【図５６】復号化装置の処理フローチャートである。
【図５７】ＤＣ符号化を示す。
【図５８】ＡＣ符号化手順を示す。
【図５９】シフト値生成装置の詳細な構成を示す。
【図６０】垂直ＩＤＣＴ処理装置の詳細な構成を示す。
【図６１】水平ＩＤＣＴ処理装置の詳細な構成を示す。
【図６２】ＤＣＴ係数記憶装置の詳細な構成を示す。
【図６３】コサイン係数記憶装置の詳細な構成を示す。
【図６４】図４７に示す符号ラインメモリを持たない復号化装置の構成例を示す。
【図６５】復号化装置の他の構成例を示す。
【図６６】ＤＣＴ式とＩＤＣＴ式を示す。
【図６７】乗算回数を減らしたＤＣＴ式とＩＤＣＴ式を示す。
【符号の説明】
３０１　符号メモリ
３０２　１ブロックラインの符号メモリ
３０３　ハフマン復号化部
３０４　垂直１次逆ＤＣＴ装置
３０５　ライン数指定部
３０６　水平１次逆ＤＣＴ装置
３０７　画像処理部
３０８　プリンタ
【図１】
2004120025.tif 000003
【図２】
2004120025.tif 000004
【図３】
2004120025.tif 000005
【図４】
2004120025.tif 000006
【図５】
2004120025.tif 000007
【図６】
2004120025.tif 000008
【図７】
2004120025.tif 000009
【図８】
2004120025.tif 000010
【図９】
2004120025.tif 000011
【図１０】
2004120025.tif 000012
【図１１】
2004120025.tif 000013
【図１２】
2004120025.tif 000014
【図１３】
2004120025.tif 000015
【図１４】
2004120025.tif 000016
【図１５】
2004120025.tif 000017
【図１６】
2004120025.tif 000018
【図１７】
2004120025.tif 000019
【図１８】
2004120025.tif 000020
【図１９】
2004120025.tif 000021
【図２０】
2004120025.tif 000022
【図２１】
2004120025.tif 000023
【図２２】
2004120025.tif 000024
【図２３】
2004120025.tif 000025
【図２４】
2004120025.tif 000026
【図２５】
2004120025.tif 000027
【図２６】
2004120025.tif 000028
【図２７】
2004120025.tif 000029
【図２８】
2004120025.tif 000030
【図２９】
2004120025.tif 000031
【図３０】
2004120025.tif 000032
【図３１】
2004120025.tif 000033
【図３２】
2004120025.tif 000034
【図３３】
2004120025.tif 000035
【図３４】
2004120025.tif 000036
【図３５】
2004120025.tif 000037
【図３６】
2004120025.tif 000038
【図３７】
2004120025.tif 000039
【図３８】
2004120025.tif 000040
【図３９】
2004120025.tif 000041
【図４０】
2004120025.tif 000042
【図４１】
2004120025.tif 000043
【図４２】
2004120025.tif 000044
【図４３】
2004120025.tif 000045
【図４４】
2004120025.tif 000046
【図４５】
2004120025.tif 000047
【図４６】
2004120025.tif 000048
【図４７】
2004120025.tif 000049
【図４８】
2004120025.tif 000050
【図４９】
2004120025.tif 000051
【図５０】
2004120025.tif 000052
【図５１】
2004120025.tif 000053
【図５２】
2004120025.tif 000054
【図５３】
2004120025.tif 000055
【図５４】
2004120025.tif 000056
【図５５】
2004120025.tif 000057
【図５６】
2004120025.tif 000058
【図５７】
2004120025.tif 000059
【図５８】
2004120025.tif 000060
【図５９】
2004120025.tif 000061
【図６０】
2004120025.tif 000062
【図６１】
2004120025.tif 000063
【図６２】
2004120025.tif 000064
【図６３】
2004120025.tif 000065
【図６４】
2004120025.tif 000066
【図６５】
2004120025.tif 000067
【図６６】
2004120025.tif 000068
【図６７】
2004120025.tif 000069