(57)【要約】【課題】ランレングス符号化されたデータを復号する装置において、処理のスループットを向上する。【解決手段】ランレングス符号化されたデータストリームは可変長符号デコーダ１０に供給される。可変長符号デコーダ１０は、ＤＣ成分及びＡＣ成分を復号して出力する。ＤＣ用レジスタ１４はＤＣ成分データを格納する。ＤＣ成分データを格納するタイミングで、ＡＣ用レジスタ１６の全てにゼロデータを書き込んで初期化する。ＤＣ成分データに続くＡＣ成分データのうち、ゼロ成分はＡＣ用レジスタ１６に既に書き込まれているため書き込まず、非ゼロ成分のみを対応するレジスタに書き込む。レジスタ１４，１６に格納されたデータはセレクタ１８を介して逆ＤＣＴ器２０に供給される。【選択図】図１
2005269132.tif 000002
【特許請求の範囲】
【請求項１】
離散コサイン変換及びランレングス符号化されたデータストリームを復号する装置であって、
前記データストリームの前記離散コサイン変換におけるＤＣ成分に対応するデータを格納するＤＣ用レジスタと、
前記データストリームの前記離散コサイン変換におけるＡＣ成分に対応するデータをそれぞれ格納するＡＣ用レジスタと、
を有し、前記データストリームの前記離散コサイン変換におけるＤＣ成分に対応するデータを前記ＤＣ用レジスタに書き込むタイミングで前記ＡＣ用レジスタにゼロデータを書き込む制御手段
を有することを特徴とするランレングス符号の復号装置。
【請求項２】
請求項１記載の装置において、
前記制御手段は、前記データストリームの前記離散コサイン変換におけるＡＣ成分に対応するデータのうち非ゼロ成分を前記ＡＣ用レジスタに書き込む
ことを特徴とするランレングス符号の復号装置。
【請求項３】
請求項２記載の装置において、
前記制御手段は、前記ＡＣ用レジスタのうち、前記データストリームに含まれるゼロ成分の個数を示すゼロランレングスデータに基づき前記非ゼロ成分を書き込むべきレジスタを選択して書き込む
ことを特徴とするランレングス符号の復号装置。
【請求項４】
請求項１〜３のいずれかに記載の装置において、さらに、
前記ＤＣ用レジスタ及びＡＣ用レジスタからのデータを入力し、これらのデータのいずれか複数を同時に出力する手段
を有することを特徴とするランレングス符号の復号装置。
【請求項５】
所定のブロック毎に離散コサイン変換、ランレングス符号化及び可変長符号化されたデータストリームを復号する装置であって、
前記データストリームを可変長復号して復号データ、ゼロランレングスデータ及び前記離散コサイン変換のＤＣ成分とＡＣ成分の識別データを出力する可変長復号器と、
前記ブロックの先頭データである離散コサイン変換のＤＣ成分に対応する復号データを格納するＤＣ用レジスタと、
前記ブロックの非先頭データである離散コサイン変換のＡＣ成分に対応する復号データをそれぞれ格納するＡＣ用レジスタと、
前記識別データに基づき、前記データストリームのデータがＤＣ成分に対応する復号データである場合には前記ＤＣ用レジスタに前記復号データを書き込むとともに前記ＡＣ用レジスタの全てにゼロデータを書き込み、前記データストリームのデータがＡＣ成分に対応する復号データである場合には前記ＡＣ用レジスタのうち、前記ランレングスデータが示す非ゼロ成分に対応するレジスタを選択して前記復号データを書き込む手段と、
前記ＤＣ用レジスタ及びＡＣ用レジスタに格納されたデータのいずれか複数を所定のタイミングで同時に出力する選択出力手段と、
を有することを特徴とするランレングス符号の復号装置。
【請求項６】
請求項５記載の装置において、
前記ＡＣ用レジスタは、前記データストリームに含まれるＡＣ成分の個数だけ設けられ、
前記書き込む手段は、前記データストリームのデータがＡＣ成分に対応する復号データである場合には前記ＡＣ用レジスタのうち、前記ランレングスデータが示す非ゼロ成分に先行するゼロ成分の個数分に対応するレジスタには書き込まず、前記非ゼロ成分に対応するレジスタに前記復号データを書き込む
ことを特徴とするランレングス符号の復号装置。
【請求項７】
請求項５記載の装置において、
前記ＤＣ用レジスタ及びＡＣ用レジスタの組は、複数個設けられることを特徴とするランレングス符号の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はランレングス符号の復号装置、特に復号処理の高速化に関する。
【背景技術】
【０００２】
従来より、画像データの圧縮及び伸長に関する規格としてＭＰＥＧ２が知られている。ＭＰＥＧ２では、画像データは８画素×８画素のブロック（あるいは１６画素×１６画素のマクロブロック）単位でデータ処理が行われ、具体的にはＤＣＴ（離散コサイン変換）、量子化、ランレングス符号化及び可変長符号化によりデータを圧縮している。各処理は公知であるが、簡単に説明すると、ＤＣＴでは空間領域の画像データを周波数領域のデータに変換する。一般の画像では、低周波数領域にエネルギが集中し、高周波数領域のエネルギは少ない。そこで、非ゼロで相対的に大きな値を有する係数を低周波数領域に集中させることができる。８画素×８画素のブロックに対してＤＣＴ変換した場合、１個のＤＣ係数と６３個のＡＣ係数が生成される。量子化は、高周波数領域の係数を低周波数領域よりも荒く量子化してデータ数を圧縮する。これにより、高周波数領域の小さい値の係数はほとんどゼロに変換される。ランレングス符号化は、ゼロ成分が連続しやすいように量子化の結果をジグザグ状にスキャンしながら非ゼロ成分に先行するゼロ成分の個数を示すゼロランレングスデータワードと、非ゼロの値を示すレベルデータワードで構成されたデータストリームを生成する。可変長符号化は、ハフマンコードを用いて高頻度のデータには短いコードを割り当て低頻度のデータには長いコードを割り当ててデータストリームを符号化する。なお、ＪＰＥＧにおいても同様の技術が用いられている。
【０００３】
このように圧縮された画像データを復号する際には、圧縮時の逆処理を行う。すなわち、可変長復号、ランレングス符号復号、逆量子化、及び逆ＤＣＴを順次行って元の画像データを復元する。
【０００４】
図６には、下記の特許文献に記載された従来のランレングス符号の復号装置が示されている。
【０００５】
可変長符号復号器（ＶＬＤ）２０１は、ＤＣ係数の可変長符号がデータ入力端子２００に与えられると、１個のブロックの始まりを示すブロックスタート信号を信号線２０５に出力する。また、ＡＣ係数の可変長符号がデータ入力端子２００に与えられると、非ゼロの成分に先行するゼロ成分の個数を表すランレングスデータワードを信号線２０７へ、非ゼロの成分の絶対値を表すレベルデータワードを信号線２０８へ、非ゼロの成分が正であるか負であるかを指定する１ビット情報を信号線２０９へ供給する。ＤＣ係数の復号結果は、レベルデータとして信号線２０８、２０９に供給される。また、ＥＯＢ（エンドオブブロック）の可変長符号がデータ入力端子２００に与えられると、ＥＯＢ検出信号を信号線２０６へ供給する。
【０００６】
ブロックスタート信号を入力したアドレスカウンタ２２３は、クロック信号２０２に同期して計数値を初期値から順次カウントアップし、計数値をアドレスとして信号線２２４へ供給する。計数値が６３になると、ブロックの終了を示すパルス信号をブロック終了信号として信号線２２５へ供給する（１ブロックは８画素×８画素＝６４画素で構成される）。ＲＳフリップフロップ２２８は、初期状態では信号線２２９をＬレベルとし、信号線２０６のＥＯＢ検出信号を入力したときに信号線２２９をＨレベルにセットし、ブロック終了信号を入力したときにＬレベルにリセットする。
【０００７】
ルックアップテーブル２２６は、ジグザグスキャンに対応したアドレス変換テーブルを有し、信号線２２４のアドレスをこれに対応するジグザグスキャンアドレスに変換して信号線２２７へ供給する。ジグザグスキャンアドレスは、スキャン変換用ＲＡＭ２３２に書き込みアドレスとして与えられる。
【０００８】
ゼロラングスデータワードはダウンカウンタ２１２に、レベルデータワードは第１のデータラッチ２１１に、１ビット情報は１ビットラッチ２１０にそれぞれクロック信号２０２に同期して格納される。ダウンカウンタ２１２は、プリセットされたゼロラングスデータワードを０になるまでダウンカウントする。第１のデータラッチ２１１に格納されたレベルワードデータは信号線２１５を介して、１ビットラッチ２１０に格納された１ビット情報は信号線２１４を介して正／負値切り替え部２１６へ供給される。正／負値切り替え部２１６は、符号付レベルデータワードを算出し、信号線２１８へ供給する。
【０００９】
ダウンカウンタ２１２の計数動作中は、ＮＯＲ回路２３０が信号線２３１の選択信号をＨレベルに固定する。Ｈレベルの選択信号を入力したマルチプレクサ２１９は、固定データワード０を信号線２２０へ供給する。ダウンカウンタ２１２の計数値が０になると、信号線２１３及び信号線２１７がＬレベルとなり、マルチプレクサ２１９は信号線２１８上の符号付レベルデータワードを信号線２２０へ供給する。信号線２２０上へ供給された固定データワード０と符号付レベルデータワードは、クロック信号２０２に同期して第２のデータラッチ２２１に格納される。第２のデータラッチ２２１に順次格納されたデータワードは、信号線２２２を介してスキャン変換用ＲＡＭ２３２に書き込みデータとして与えられる。したがって、一連のデータワードがスキャン変換用ＲＡＭ２３２のジグザグスキャンアドレスで指定された位置に書き込まれ、８×８個の成分で構成された１個のブロックがスキャン変換用ＲＡＭ２３２の中に復元される。スキャン変換用ＲＡＭ２３２に復元された６４個のデータは、データ出力端子２３４から次段の逆量子化器へ順次供給される。
【００１０】
【特許文献１】特開平８−１６７８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来技術においては、次段の量子化器に対して１データずつしか出力することができず、全てのデータを出力するまでにスキャン変換用ＲＡＭ２３２の書き込み側が待機状態となる必要があり、全体としての処理のスループットが抑制されてしまう問題がある。
【００１２】
また、非ゼロの係数をスキャン変換用ＲＡＭ２３２に書き込む前にゼロを書き込んで初期化するための初期化用回路及び初期化制御が必要となるため、回路の増大及び制御の複雑化を招く問題もある。
【００１３】
本発明の目的は、初期化回路や初期化制御を別途必要とすることなく、簡易な構成でかつ全体のスループットを向上させることができる復号装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、離散コサイン変換及びランレングス符号化されたデータストリームを復号する装置であって、前記データストリームの前記離散コサイン変換におけるＤＣ成分に対応するデータを格納するＤＣ用レジスタと、前記データストリームの前記離散コサイン変換におけるＡＣ成分に対応するデータをそれぞれ格納するＡＣ用レジスタとを有し、前記データストリームの前記離散コサイン変換におけるＤＣ成分に対応するデータを前記ＤＣ用レジスタに書き込むタイミングで前記ＡＣ用レジスタにゼロデータを書き込む制御手段を有する。
【００１５】
離散コサイン変換（ＤＣＴ）及びランレングス符号化されたデータストリームを復号する装置は、ランレングス復号及び逆ＤＣＴを含む。ＤＣＴによりブロック単位で周波数領域のデータに変換されるが、本発明の復号装置は、ＤＣＴにおけるＤＣ（直流）成分に対応するデータを格納するＤＣ用レジスタと、ＡＣ（交流）成分に対応するデータを格納するＡＣ用レジスタを用いて復号データを格納する。ＤＣ成分に対応するデータをＤＣ用レジスタに書き込む際には、ＡＣ用レジスタに書き込むべきデータは存在しないが、本発明ではＡＣ用レジスタを待機状態とはせず、ＤＣ用レジスタにＤＣ成分のデータを書き込むタイミングでＡＣ用レジスタにゼロデータを書き込んでＡＣ用レジスタを初期化してしまう。これにより、ＡＣ用レジスタに書き込む前に別途、ＡＣ用レジスタを初期化するステップを不要とする。ＤＣ用レジスタにデータを書き込むタイミングでＡＣ用レジスタを初期化した後、ＡＣ用レジスタにデータを書き込むが、既にＡＣ用レジスタにはゼロデータが格納されて初期化されているため、ＡＣ成分データのうちゼロデータは改めてＡＣ用レジスタに書き込む必要はなく、非ゼロデータのみをＡＣ用レジスタに書き込めばよく、効率的な書き込み処理が実現する。
【００１６】
復号すべきデータストリームは、より詳しくはＤＣＴ、量子化、ジグザグスキャン、ランレングス符号化、可変長符号化の各処理ステップを経たものでもよく、この場合、復号装置は可変長復号化、ランレングス復号化、ジグザグスキャン、逆量子化、逆ＤＣＴの各処理を実行する。本発明のＤＣ用レジスタ及びＡＣ用レジスタは、ランレングス復号化されたデータを格納し、後段の逆量子化あるいは逆ＤＣＴに必要なデータを供給する。
【００１７】
本発明の１つの実施形態では、前記ＡＣ用レジスタのうち、前記データストリームに含まれる、非ゼロ成分に先行するゼロ成分の個数を示すゼロランレングスデータに基づきゼロデータを書き込む必要のないレジスタを特定し、非ゼロ成分を書き込むべきレジスタを選択して非ゼロデータを書き込む。
【００１８】
本発明の他の実施形態では、ＤＣ用レジスタ及びＡＣ用レジスタの組は複数セット設けられ、これらの組に交互に復号データの書き込みと読み出しを行う。交互に書き込みと読み出しを行う所謂ピンポン制御により、処理のスループットがさらに向上する。
【発明の効果】
【００１９】
本発明によれば、データストリームのＤＣ成分に対応するデータをＤＣ用レジスタに格納するタイミングでＡＣ用レジスタにゼロデータを書き込んでＡＣ用レジスタを初期化するため、処理のスループットを向上させることができる。
【００２０】
また、ＤＣ用レジスタ及びＡＣ用レジスタに格納したデータを後段の処理が許容する範囲で同時に、あるいは適当な順序で出力することで処理のスループットを一層向上させることができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面に基づき本発明の実施形態について説明する。
【００２２】
図１には、本実施形態に係るランレングス符号の復号装置の構成が示されている。図６に示された復号装置におけるスキャン変換用ＲＡＭ２３２を有せず、その代わりにＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６を有している。
【００２３】
可変長符号デコーダ（ＶＬＤ）１０は、図６に示された可変長符号復号器（ＶＬＤ）２０１と同様にランレングス符号化されたデータストリームを入力して可変長復号する。この際、ＤＣＴにおけるＤＣ係数の可変長符号が入力されるとその復号結果を出力し、ＤＣＴにおけるＡＣ係数の可変長符号が入力されると、非ゼロの成分に先行するゼロ成分の個数を表すランレングスデータワード及び非ゼロの成分の絶対値を表すレベルデータワードを出力する。また、非ゼロの成分が正であるか負であるかを指定する１ビット情報を出力する。図において、ＤＣ係数の復号結果であるデータワード、ＡＣ係数の符号付レベルデータワードをまとめて「データ」として、ランレングスデータワードは「ランレングス」として簡略的に示されている。また、可変長符号デコーダ１０は、入力された係数がＤＣ係数であるかＡＣ係数であるかを示す識別信号を出力する。ＤＣ係数はブロックの先頭に位置するため、ＤＣ係数／ＡＣ係数の識別は容易である。図では、識別信号を「ＤＣ／ＡＣ」として簡略的に示されている。可変長符号デコーダ１０からの「データ」は信号線１００を介してＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６に供給される。可変長符号デコーダ１０からの「ランレングス」及び「ＤＣ／ＡＣ」識別信号は信号線１０２を介して累加デコーダ１２に供給される。また、「ＤＣ／ＡＣ」識別信号は後述するＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６の全ワードにも供給される。
【００２４】
累加デコーダ１２は、図６におけるアドレスカウンタ２２３に対応するものであるが、その機能は異なる。すなわち、可変長符号デコーダ１０からのＤＣ／ＡＣ識別信号がＤＣ係数を示す場合にはＤＣ用係数レジスタ１４に対して信号線１０６を介して選択信号を出力し、ＡＣ係数を示す場合にはＡＣ係数用レジスタ１６に対して信号線１０６を介して選択信号を出力する。ＡＣ係数用レジスタ１６に対して選択信号を出力する際には、可変長符号デコーダ１０からのランレングスワードデータを参照し、非ゼロとなる係数に対応するレジスタに対して選択信号を出力する。言い換えれば、累加デコーダ１２は、ゼロ成分の個数分だけＡＣ係数用レジスタを飛び越え、非ゼロとなる係数に対応するレジスタに対して選択信号を出力する。選択信号は、具体的には信号線１０６をＬレベルからＨレベルに設定することで送出される。選択信号は、レジスタにデータを書き込むためのイネーブル信号として機能する。
【００２５】
ＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６は別個に設けられ、ＤＣ係数用レジスタはＤＣ係数の１ワードデータを格納し、ＡＣ係数用レジスタ１６はＡＣ係数の６３ワードデータを格納する。
【００２６】
ＤＣ係数用レジスタ１４には、可変長符号デコーダ１０からのデータ、すなわちＤＣ係数の復号結果が信号線１００を介して供給されるとともに、累加デコーダ１２からの選択信号が信号線１０６を介して供給される。ＤＣ係数用レジスタ１４は、選択信号が供給されたとき（信号線１０６がＨレベルとなったとき）にＤＣ係数の復号結果を格納する。
【００２７】
ＡＣ係数用レジスタ１６には、可変長符号デコーダ１０からのデータ、すなわち非ゼロ成分の復号結果が信号線１００を介して供給されるとともに、累加デコーダ１２からの選択信号が信号線１０６を介して供給され、可変長符号デコーダ１０からのＤＣ／ＡＣ識別信号も供給される。ＡＣ係数用レジスタ１６は、ＤＣ／ＡＣ識別信号がＤＣ係数を指定する場合には、全てのレジスタにゼロを書き込む。すなわち、ＤＣ係数用レジスタ１４にＤＣ係数を書き込むタイミングでＡＣ係数用レジスタ１６にゼロを書き込むのである。一方、ＤＣ／ＡＣ識別信号がＡＣ係数を指定する場合には、ＡＣ係数レジスタ１６は、信号線１０６を介して供給された選択信号に応じてデータを当該レジスタに書き込む。選択信号はゼロの個数に応じて設定され、例えばゼロの個数が３である場合には、ＡＣ係数用レジスタ１６のうち上位から第４番目にあるレジスタに対して選択信号が出力されるから、第４位のレジスタにデータを書き込む。この場合、第１番目〜第３番目のレジスタには何らのデータ書き込みも行われないが、ＡＣ係数の書き込みに先立つＤＣ係数の書き込み処理において、同時にＡＣ係数用レジスタ１６の全てのレジスタにはゼロが書き込まれているため、第１番目〜第３番目のレジスタはゼロのまま維持される。
【００２８】
ＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６に格納された６４個のデータは、信号線１０８を介して後段のセレクタ１８に供給される。
【００２９】
セレクタ１８の後段には逆量子化器さらに逆ＤＣＴ器に出力される（図では、両者をまとめて逆ＤＣＴ器２０として簡略的に示されている）。逆ＤＣＴ器２０からは選択信号が信号線１１０を介してセレクタ１８に供給される。セレクタ１８は、選択信号で指定されるタイミングで、６４個のデータのうちの複数データをまとめて、あるいは逆ＤＣＴ器２０の構成及び機能が許容すれば６４個のデータを同時に信号線１１２を介して逆ＤＣＴ器２０に供給する。
【００３０】
図２には、本実施形態におけるＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６の処理フローチャートが示されている。
【００３１】
まず、可変長符号デコーダ１０からのＤＣ／ＡＣ識別信号に基づいて、入力されたデータがＤＣ係数かＡＣ係数かを判定する（Ｓ１０１）。ブロックの先頭であることを示すワードデータがある場合にはＤＣ係数、それ以外の場合にはＡＣ係数であるため、単にブロックの先頭データか否かを判定してもよい。
【００３２】
入力データがＤＣ係数である場合、ＤＣ用係数レジスタ１４に選択信号が供給されるから、ＤＣ係数用レジスタ１４は可変長符号デコーダ１０からのＤＣ係数復号データを格納する（Ｓ１０２）。なお、ＤＣ／ＡＣ識別信号はＤＣ係数用レジスタにも供給されるから、選択信号ではなくこの識別信号に基づいてＤＣ係数復号データを格納してもよい。入力データがＤＣ係数である場合、ＡＣ係数用レジスタ１６は全てのレジスタにゼロデータを書き込む（Ｓ１０３）。具体的には、ＡＣ係数用レジスタ１６の前段にセレクタを設け、このセレクタにゼロデータとＤＣ／ＡＣ識別信号を供給し、ＤＣ係数である場合にセレクタからゼロデータをＡＣ係数用レジスタ１６の全てのレジスタに供給して書き込めばよい。ＤＣ係数の書き込みのタイミングでＡＣ係数用レジスタ１６にゼロを書き込むこの処理は、ＡＣ係数用レジスタ１６の初期化処理とともに、次のＡＣ係数書き込みにおけるゼロデータの前書き処理と云うこともできる。
【００３３】
一方、入力データがＡＣ係数である場合、６３ワードのレジスタを有するＡＣ係数用レジスタ１６のうち、ランレングスデータで指定される非ゼロ成分に対応するレジスタのみが選択されて選択信号により選択される（Ｓ１０４）。例えば、ワードデータにブロックの先頭から順次０，１，２，３，・・・と番号を付し（番号０はＤＣ係数に相当）、符号番号１のゼロランレングスが１、符号番号２のゼロランレングスが３、符号３のゼロランレングスが０である場合、ＡＣ係数用レジスタ１６のうち、第２番目、第６番目、第７番目のレジスタに対して選択信号が出力され（選択信号がＨレベルとなってアクティブ状態となる）、第１番目、第３番目〜第５番目のレジスタには選択信号は出力されない（選択信号はＬレベルとなって非アクティブ状態）。書き込むべきレジスタを選択した後、選択したレジスタに可変長符号デコーダ１０からのＡＣ係数復号データを書き込む（Ｓ１０５）。このデータは符号付レベルデータである。
【００３４】
以上の処理を全ての係数データについて繰り返し実行し（Ｓ１０６）、合計６４個のデータをレジスタ１４，１６に格納する。格納されたデータは既述したようにセレクタ１８を介して同時に（例えば８個のデータあるいはそれ以上のデータがパラレルに）逆ＤＣＴ器２０に供給される。
【００３５】
図３には、ＤＣ係数用レジスタ１４の構成が示されている。ＤＣ係数用レジスタ１４の前段にセレクタ１３が設けられ、このセレクタ１３に信号線１００を介してデータ（復号データ）が供給され、信号線１０４を介してＤＣ／ＡＣ識別信号が供給され、信号線１０６を介して選択信号が供給される。
【００３６】
セレクタ１３は、ＤＣ／ＡＣ識別信号がＤＣを指定する場合、あるいは選択信号がＨレベルである場合に、信号線１００を介して供給されたデータをＤＣ係数用レジスタ１４に供給する。ＤＣ係数用レジスタ１４はクロック信号ＣＬＫに同期してＤＣ係数復号データを格納する。ＤＣ／ＡＣ識別信号がＡＣを指定する場合、あるいは選択信号がＬレベルである場合、セレクタ１３は信号線１００からのデータを出力せず、ＤＣ係数用レジスタ１４の値を保持する。
【００３７】
また、図４には、ＡＣ係数用レジスタ１６の構成が示されている。ＡＣ係数用レジスタ１６の全てのレジスタの前段にセレクタ１５が設けられ、このセレクタ１５に信号線１００を介してデータ（復号データ）が供給され、信号線１０４を介してＤＣ／ＡＣ識別信号が供給され、信号線１０６を介して選択信号が供給される。また、セレクタ１５にはゼロデータも供給される。
【００３８】
セレクタ１５は、ＤＣ／ＡＣ識別信号がＤＣを指定する場合、ゼロデータを選択してＡＣ係数用レジスタ１６に供給する。ＡＣ係数用レジスタ１６は、クロック信号ＣＬＫに同期して選択信号によらずゼロデータを格納する。累加デコーダ１２において、ＤＣ／ＡＣ識別信号がＤＣを指定する場合にＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６に供給する全ての選択信号をＨレベル（アクティブ状態）として全てのレジスタへの書き込みを許可する構成としてもよい。ＤＣ／ＡＣ識別信号がＡＣを指定する場合、セレクタ１５は選択信号がＨレベルである場合にのみ信号線１００からのデータを選択してＡＣ係数用レジスタ１６に供給する。選択信号がＬレベルの場合、セレクタ１５は信号線１００からのデータを出力せず、ＡＣ係数用レジスタ１６に格納されたゼロデータはそのまま維持される。
【００３９】
このように、本実施形態では、ＤＣ係数用レジスタ１４にＤＣ係数復号データを書き込むタイミングにおいて、同時にＡＣ係数用レジスタ１６の全てのレジスタ（合計６３個のレジスタ）にゼロデータを書き込んで初期化するため、別途、レジスタを初期化する処理が不要化される。また、ＡＣ係数復号データを書き込む際にも、ＡＣ係数用レジスタ１６のうち非ゼロ成分に対応するレジスタのみに復号データを書き込むだけで、１ブロックの復号データをレジスタ内に格納することができる。また、本実施形態では、ＲＡＭではなく全６４ワードのレジスタを用いているため、逆量子化や逆ＤＣＴ等、後段の処理が必要とする複数のデータを複数同時に、また適切な順次（ジグザグスキャンに対応した順次）で出力することもできる。
【００４０】
以上、本発明の実施形態について説明したが、本発明はこれに限らず種々の変形が可能である。
【００４１】
例えば、本実施形態ではＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６をそれぞれ１つずつ設けているが、ＤＣ係数用レジスタ１４及びＡＣ係数用レジスタ１６からなるレジスタセットを２セット設け、これらの書き込み及び読み出しを交互に切り替えて実行することで、全体のスループットを一層向上させることもできる。
【００４２】
図５には、このようにレジスタセットを２セット設けたダブル（あるいはデュアル）レジスタシステムの構成が示されている。
【００４３】
第１のレジスタセットはＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａから構成され、第２のレジスタセットはＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂから構成される。
【００４４】
あるブロックのデータストリームが復号装置に供給されると、累加デコーダ１２はＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａを選択し、上述した処理によりＤＣ係数及びＡＣ係数の復号データを書き込む。具体的には、ＤＣ係数の場合にはＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａの選択信号をＨレベルとし、ＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂの選択信号をＬレベルとして、ＤＣ係数の復号データをＤＣ係数レジスタ１４ａに書き込むとともに、ゼロデータをＡＣ係数用レジスタ１６ａに書き込む。次に、ＡＣ係数の場合にはＡＣ係数用レジスタ１６ａのうち、ランレングスデータで特定される非ゼロ成分に対応するレジスタのみ選択信号をＨレベルとしてＡＣ係数の復号データを書き込む。
【００４５】
次のブロックのデータストリームが復号装置に供給されると、累加デコーダ１２はＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂを選択し、上述した処理によりＤＣ係数及びＡＣ係数の復号データを書き込む。具体的には、ＤＣ係数の場合にはＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂの選択信号をＨレベルとし、ＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａの選択信号をＬレベルとして、ＤＣ係数の復号データをＤＣ係数レジスタ１４ｂに書き込むとともに、ゼロデータをＡＣ係数用レジスタ１６ｂに書き込む。次に、ＡＣ係数の場合にはＡＣ係数用レジスタ１６ｂのうち、ランレングスデータで特定される非ゼロ成分に対応するレジスタのみ選択信号をＨレベルとしてＡＣ係数の復号データを書き込む。また、このブロックの復号データをＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂに書き込むタイミングにおいて、既に前のブロックの復号データが格納されているＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａから復号データを出力する。
【００４６】
さらに次のブロックのデータストリームが復号装置に供給されると、累加デコーダ１２はＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａを選択し、ＤＣ係数及びＡＣ係数の復号データを書き込む。具体的には、ＤＣ係数の場合にはＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａの選択信号をＨレベルとし、ＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂの選択信号をＬレベルとして、ＤＣ係数の復号データをＤＣ係数レジスタ１４ａに書き込むとともに、ゼロデータをＡＣ係数用レジスタ１６ａに書き込む。次に、ＡＣ係数の場合にはＡＣ係数用レジスタ１６ａのうち、ランレングスデータで特定される非ゼロ成分に対応するレジスタのみ選択信号をＨレベルとしてＡＣ係数の復号データを書き込む。また、このブロックの復号データをＤＣ係数用レジスタ１４ａ及びＡＣ係数用レジスタ１６ａに書き込むタイミングにおいて、既に前のブロックの復号データが格納されているＤＣ係数用レジスタ１４ｂ及びＡＣ係数用レジスタ１６ｂから復号データを出力する。
【００４７】
以上のようにして、２つのレジスタセットを交互に書き込み／読み出し制御することで、復号処理を高速化できる。
【００４８】
本実施形態の復号装置は、ＤＣＴ及びランレングス符号化が施された画像圧縮データを復号して原画像データを出力する任意のデバイスに適用することができ、このようなデバイスの一例は多機能複写機である。
【図面の簡単な説明】
【００４９】
【図１】実施形態に係る復号装置の構成図である。
【図２】実施形態の処理フローチャートである。
【図３】図１におけるＤＣ係数用レジスタの構成図である。
【図４】図１におけるＡＣ係数用レジスタの構成図である。
【図５】他の実施形態に係る復号装置の構成図である。
【図６】従来装置の構成図である。
【符号の説明】
【００５０】
１０  可変長符号デコーダ（ＶＬＤ）、１２  累加デコーダ、１４  ＤＣ係数用レジスタ、１６  ＡＣ係数用レジスタ、１８  セレクタ、２０  逆ＤＣＴ器。
【図１】
2005269132.tif 000003
【図２】
2005269132.tif 000004
【図３】
2005269132.tif 000005
【図４】
2005269132.tif 000006
【図５】
2005269132.tif 000007
【図６】
2005269132.tif 000008