(57)【要約】【課題】  連続する非有意係数の数(ゼロラン長)とそれに続く有意係数(レベル)の組からなるシンボルを高速に復号化する。【解決手段】  シンボルの有意係数をレベル復号化部203,DPCM復号化部,シリアルパラレル復号化部205からなる多段パイプラインによって復号化し、多段パイプラインの各段で処理される係数の種類を表す係数識別信号を多段パイプラインに同期してFF211,212,213で伝送する。ランレングス復号化部202は、シンボルに応じて係数識別信号を出力するとともに、シンボルのゼロラン長に応じてパイプラインへのシンボル供給をHOLD信号により制御する。そしてシリアルパラレル変換部205で伝送された係数識別信号に応じて、パイプラインにより復号化された有意係数が非有意係数と組み合わされて出力される。【選択図】  図1
2006148237.tif 000002
【特許請求の範囲】
【請求項１】
連続する非有意係数の数とそれに続く有意係数の組からなるシンボルを復号化する復号化装置であって、
前記シンボルの有意係数を多段パイプライン構成によって復号化する有意係数復号化手段と、
前記多段パイプライン構成の各段で処理される係数の種類を表す係数識別信号を前記多段パイプライン構成に同期して伝送する係数伝送手段と、
前記シンボルに応じて前記係数伝送手段に前記係数識別信号を出力するとともに、前記シンボルの連続する非有意係数の数に応じて前記有意係数復号化手段へのシンボル供給を制御する制御手段と、
前記係数伝送手段によって伝送された前記係数識別信号に応じて、前記有意係数復号化手段により復号化された有意係数を非有意係数と組み合わせて出力する係数出力手段と、
を備えることを特徴とする復号化装置。
【請求項２】
前記係数識別信号は、前記多段パイプライン構成の各段において処理される有意係数と非有意係数の組み合わせを表現することを特徴とする請求項１記載の復号化装置。
【請求項３】
前記係数識別信号は、単一の有意係数と単一の非有意係数の組み合わせを表現することを特徴とする請求項２記載の復号化装置。
【請求項４】
前記係数識別信号は、単一の有意係数と複数の非有意係数の組み合わせを表現することを特徴とする請求項２記載の復号化装置。
【請求項５】
前記制御手段は、第１のクロックサイクルにおいて前記係数伝送手段で伝送される係数識別信号と入力シンボルに応じて、該第１のクロックサイクルに続く第２のクロックサイクルにおける係数識別信号を決定することを特徴とする請求項１乃至４のいずれかに記載の復号化装置。
【請求項６】
前記制御手段による制御に応じて、前記係数伝送手段により伝送される係数識別信号を変更する係数変更手段をさらに有することを特徴とする請求項５記載の復号化装置。
【請求項７】
前記シンボルは、ランレングス符号化されたデータであることを特徴とする請求項１乃至６のいずれかに記載の復号化装置。
【請求項８】
前記非有意係数の値はゼロであり、該非有意係数の数はゼロラン長であることを特徴とする請求項７記載の復号化装置。
【請求項９】
連続する第１のサンプルの数とそれに続く第２のサンプルとの組からなるシンボルを復号化する復号化装置であって、
前記シンボルの第２のサンプルを多段パイプライン構成によって復号化する復号化手段と、
前記多段パイプライン構成の各段で処理されるサンプルの種類を表す識別信号を前記多段パイプライン構成に同期して伝送する伝送手段と、
前記シンボルに応じて前記伝送手段に前記識別信号を出力するとともに、前記シンボルの連続する第１のサンプルの数に応じて前記復号化手段へのシンボル供給を制御する制御手段と、
前記伝送手段によって伝送された前記識別信号に応じて、前記復号化手段により復号化された第２のサンプルを第１のサンプルと組み合わせて出力する出力手段と、
を備えることを特徴とする復号化装置。
【請求項１０】
前記識別信号は、前記多段パイプライン構成の各段において処理される第２のサンプルと第１のサンプルの組み合わせを表現することを特徴とする請求項９記載の復号化装置。
【請求項１１】
前記識別信号は、単一の第２のサンプルと単一の第１のサンプルの組み合わせを表現することを特徴とする請求項１０記載の復号化装置。
【請求項１２】
前記識別信号は、単一の第２のサンプルと複数の第１のサンプルの組み合わせを表現することを特徴とする請求項１０記載の復号化装置。
【請求項１３】
前記制御手段は、第１のクロックサイクルにおいて前記伝送手段で伝送される識別信号と入力シンボルに応じて、該第１のクロックサイクルに続く第２のクロックサイクルにおける識別信号を決定することを特徴とする請求項９乃至１２のいずれかに記載の復号化装置。
【請求項１４】
前記制御手段による制御に応じて、前記伝送手段により伝送される識別信号を変更する変更手段をさらに有することを特徴とする請求項１３記載の復号化装置。
【請求項１５】
前記シンボルは、ランレングス符号化されたデータであることを特徴とする請求項９乃至１４のいずれかに記載の復号化装置。
【請求項１６】
前記第１のサンプルの値はゼロであり、該第１のサンプルの数はゼロラン長であることを特徴とする請求項１５記載の復号化装置。
【請求項１７】
多段パイプライン構成を有し、連続する非有意係数の数とそれに続く有意係数の組からなるシンボルを復号化する復号化装置における復号化方法であって、
前記多段パイプライン構成によって前記シンボルの有意係数を復号化し、
前記シンボルに応じて、前記多段パイプライン構成の各段で処理される係数の種類を表す係数識別信号を出力し、
前記係数識別信号を前記多段パイプライン構成に同期して伝送し、
前記シンボルの連続する非有意係数の数に応じて、前記多段パイプライン構成へのシンボル供給を制御し、
伝送された前記係数識別信号に応じて、復号化された有意係数を非有意係数と組み合わせて出力する
ことを特徴とする復号化方法。
【請求項１８】
多段パイプライン構成を有し、連続する第１のサンプルの数とそれに続く第２のサンプルの組からなるシンボルを復号化する復号化装置における復号化方法であって、
前記多段パイプライン構成によって前記シンボルの第２のサンプルを復号化し、
前記シンボルに応じて、前記多段パイプライン構成の各段で処理されるサンプルの種類を表す識別信号を出力し、
前記識別信号を前記多段パイプライン構成に同期して伝送し、
前記シンボルの連続する第１のサンプルの数に応じて、前記多段パイプライン構成へのシンボル供給を制御し、
伝送された前記識別信号に応じて、復号化された第２のサンプルを第１のサンプルと組み合わせて出力する
ことを特徴とする復号化方法。
【請求項１９】
情報処理装置を制御することによって、該情報処理装置を請求項１乃至１６の何れかに記載された復号化装置における前記制御手段として動作させることを特徴とするプログラム。
【請求項２０】
請求項１９に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は復号化装置およびその方法に関し、特にランレングス符号化された符号を高速に復号する復号化装置およびその方法に関する。
【背景技術】
【０００２】
従来、CD-ROMやハードディスク等の蓄積媒体に静止画像を保存・表示するための符号化方式として、ISO（国際標準化機構）により標準化されたJPEG方式が広く用いられている。また、動画像と音声を同様な蓄積媒体に保存・表示したり、通信路を介して放送、または双方向通信したりするための符号化方式として、ISOにより標準化されたMPEG方式が広く用いられている。
【０００３】
動画像と音声の符号化方式であるMPEG方式は、符号化効率の向上を目的として年々その符号化方式が改良されており、1992年にMPEG-1、1994年にMPEG-2、1999年にはMPEG-4がそれぞれ国際標準として規定されている。MPEG-4においては、符号化効率の向上はもちろんのこと、符号誤り訂正機能の強化や、符号化対象毎に最適な符号化を施すオブジェクト符号化の導入なども実現されている。さらには、MPEG-4シンタックス上のビジュアル層とオーディオ層を包含するファイル形式などを規定するシステム層においては、利用者が要求する任意の時刻の動画像または音声データに容易にアクセスできる仕組みを提供している。
【０００４】
上述したJPEG静止画符号化方式およびMPEG-1/2/4動画符号化方式のいずれの符号化処理においても、まず始めに静止画または動画の原信号はDCT変換された後直流成分であるDC係数と交流成分であるAC係数とに分別される。その後、両係数とも量子化され、更に異なる符号化が施される。まず、2次元情報であるAC係数に対しては、ジグザグスキャン方式を用いた1次元情報への変換が行われる。AC係数の高周波成分には"0"が多く発生するので、"0"以外のAC係数の値（有意係数；レベル）とその前に"0"がいくつあるか（非有意係数の数；ラン長）を組としたシンボルを生成し、それを、発生頻度の高い情報に対して短い符号長の符号語を割り当てるエントロピー符号化方式を採用しているハフマン符号化方式により、符号化する。
【０００５】
一方、JPEG静止画符号化方式およびMPEG-1/2/4動画符号化方式の復号処理は、上述した符号化処理と対照的にハフマン復号化から始まり、ランレングス復号化、ジグザグスキャン方式による1次元情報から2次元情報への復元、逆DCT変換を経て、再構成静止画・動画が生成される。
【０００６】
一般的なハフマン復号化処理（たとえば、特許文献１参照）では、符号化データを先頭から順次解析し、あらかじめ用意されたハフマン符号をアドレスとするハフマン・テーブルを参照して対応するシンボルに変換すると同時に、ハフマン・テーブルから得られる符号長の情報から当該ハフマン符号を符号化データ中から抜き取ることにより、一つのハフマン符号の復号化処理が完了する。
【０００７】
したがって、一般的なハフマン復号化処理では、一つのハフマン符号の復号が完了しないうちは続くハフマン符号の復号を開始することができない。すなわち、1サイクルで復号できるのは1シンボルのみであった。この問題を解決するために、様々な提案が今日までになされているものの、近年の半導体プロセス進化に伴うシステムLSIなどの動作周波数の向上によって、依然として1サイクルで1シンボル以上をハフマン復号化する画像復号化装置の実現は困難である。
【０００８】
このように、1サイクルあたり1シンボルによるハフマン復号化処理が行われた後、ランレングス復号化処理が行われる。従来、ランレングス復号化処理では、1サイクルあたりに入力される1シンボルをDC成分とAC成分からなるDCT係数に、1サイクルあたり1DCT係数の速度で変換している。
【特許文献１】特開平4-284782号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、近年のデジタルカメラなど携帯情報機器に搭載されるデジタル撮像素子の高解像度化や、高解像なHDTV放送の普及とインターネットなどのデジタル通信網の高速化に伴う高解像な静止画・動画コンテンツ流通の増加により、高解像で撮影された静止画や動画を高速に復号化する画像復号化装置の需要が高まってきている。
【００１０】
そこで本発明は、連続する非有意係数の数とそれに続く有意係数の組からなるシンボルを高速に復号化する復号化装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために本発明に係る画像復号化装置は以下のような構成を備える。
【００１２】
即ち、連続する非有意係数の数とそれに続く有意係数の組からなるシンボルを復号化する復号化装置であって、前記シンボルの有意係数を多段パイプライン構成によって復号化する有意係数復号化手段と、前記多段パイプライン構成の各段で処理される係数の種類を表す係数識別信号を前記多段パイプライン構成に同期して伝送する係数伝送手段と、前記シンボルに応じて前記係数伝送手段に前記係数識別信号を出力するとともに、前記シンボルの連続する非有意係数の数に応じて前記有意係数復号化手段へのシンボル供給を制御する制御手段と、前記係数伝送手段によって伝送された前記係数識別信号に応じて、前記有意係数復号化手段により復号化された有意係数を非有意係数と組み合わせて出力する係数出力手段と、を備えることを特徴とする。
【００１３】
例えば、前記係数識別信号は、前記多段パイプライン構成の各段において処理される有意係数と非有意係数の組み合わせを表現することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、1サイクルあたり1シンボルで入力される、連続する非有意係数の数とそれに続く有意係数の組からなるシンボルを復号化し、1サイクルあたり1つ以上のシンボルの復号結果を出力することにより、最小限の回路構成によって高速な復号化処理が可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
【００１６】
＜第１実施形態＞
以下、本発明に係る一実施形態として、MPEG符号化方式を用いる例を説明する。しかしながら本発明は動画符号化方式に限らず、静止画符号化方式であるJPEG符号化方式等に対しても同様に適用可能である。
【００１７】
図2は、本実施形態における画像復号化装置の機能構成を示すブロック図である。同図において、100は可変長復号化部、200は可変長復号化結果として出力されたラン長とレベルとの組からなるシンボルを入力して所望のDCT係数列を出力するシンボル復号化部、300はDCT係数列に逆量子化を施す逆量子化部、400は逆量子化されたDCT係数列から再構成画像を出力する逆DCT部、500は上記100〜400の構成による符号化データ復号演算処理を制御する制御部である。また、601は外部からの符号化データを入力する符号化データ入力信号、602は再構成画像を外部へ出力する再構成画像データ出力信号であり、上記100〜602によって、本実施形態の画像復号化装置1が構成される。
【００１８】
図1は、シンボル復号化部200の詳細構成を示すブロック図である。同図において、201は前段の可変長復号化部100から1サイクルあたり1シンボルを入力するシンボルデータ入力信号である。ここでシンボルとは、連続する非有意係数の数とそれに続く有意係数の組であり、すなわちラン長とレベルとの組からなる。
【００１９】
202は、ラン長に応じてシンボル復号化部200内におけるシンボルデータ復号化処理を制御するランレングス復号化部である。
【００２０】
また、203は、正負符号と振幅からなるレベルを復号化するレベル復号化部、204は、DC係数に対応したシンボルに対してDPCM復号化を行うDPCM復号化部である。205は、1サイクルあたりに1個のDCT係数を入力し、シンボル復号化部200のDCT係数データ出力信号のビット幅に応じて複数の係数を同時に出力するシリアルパラレル変換部、206は、1サイクルあたり2個のDCT係数として出力するDCT係数データ出力信号である。本実施形態では、レベル復号化部203、DPCM復号化部204、およびシリアルパラレル変換部205によってパイプライン構造をなし、これにより、入力されるシンボルデータをDCT係数データに復号する、一連のシンボル復号化演算処理が行われる。以下、レベル復号化部203、DPCM復号化部204、およびシリアルパラレル変換部205からなる構成をパイプライン部と称し、その動作の詳細については後述する。
【００２１】
207,208,209はフリップフロップ（以下、FF）であり、上記パイプライン部による一連のシンボル復号化演算処理を、3段のパイプライン構造へ分割する。
【００２２】
210は係数識別信号であり、パイプライン部による上記一連のシンボル復号化演算処理の初段に存在する処理対象のシンボルが、DC係数に対応したものであるかまたはAC係数に対応したものであるかなど、その種別を表す。
【００２３】
211,212,213はFFであり、係数識別信号210をパイプライン部に同期して後段へ伝達する。214,215,216はそれぞれ、各FF211,212,213から出力された係数識別信号である。
【００２４】
217は係数識別信号214の代わりに後段へ伝達される係数識別信号、218はランレングス復号化部202に制御されて係数識別信号214と217のいずれかを選択する係数識別信号選択部である。同様に、219は係数識別信号215の代わりに後段へ伝達される係数識別信号、220はランレングス復号化部202に制御されて係数識別信号215と219のいずれかを選択する係数識別信号選択部である。
【００２５】
221は、入力シンボルのラン長に応じて、以降のシンボルの入力と処理を遅らせるよう、パイプライン部における初段のFF207をHOLD状態に保つHOLD信号である。なおこのHOLD信号は、前段の可変長復号化部100に対し、シンボルの出力を遅らせるBusy信号として別途出力される。
【００２６】
図3は、ランレングス復号化部202が出力する係数識別信号210の、1個のDCT係数に対応した信号部分の各状態とその意味を示す表である。1個のDCT係数に対応した係数識別信号210は2ビットで構成され、値が"00"の場合は対応するパイプライン部の各段にDCT係数が存在しないことを意味する。また、値が"01"の場合はDC成分の係数が存在することを意味し、値が"10"の場合は値がゼロでないAC成分の係数（いわゆるAC成分の有意係数）が存在することを意味し、値が"11"の場合は値ゼロを持つAC係数が存在することを意味する。そして、以降に示す各図においては、係数識別信号210の値を代替するものとして、図3に示す記号"X","DC","AC","0"を用いて説明する。
【００２７】
図4は、ランレングス復号化部202が出力する2個のDCT係数に対応した係数識別信号210が取り得る各状態と、その意味を示す表である。パイプライン部においては1サイクルあたり1シンボルを復号化して1DCT係数を出力することができる。これに対して係数識別信号210が表現できる2個のDCT係数のうち、1個はパイプライン部による一連のシンボル復号化演算処理後に出力されるDCT係数に対応し、もう1個はシンボル復号化演算処理を行わなくとも出力すべきDCT係数の値が自明である、ゼロの値を持つAC係数に対応している。
【００２８】
ここで、係数識別信号210が表現できる2個のDCT係数のうち、先行して出力されるべきDCT係数をC1と呼び、C1に対応した係数識別信号210の一部を係数識別信号S1とし、引き続いて出力されるべきDCT係数をC2と呼び、C2に対応した係数識別信号210の一部を係数識別信号S2とする。すると図4の表に示されるように、係数識別信号S1とS2との取り得る組み合わせは8通りであり、表の右側部には係数識別信号S1およびS2のそれぞれが表す、係数C1の状態および係数C2の状態が示されている。
【００２９】
図4の表に示されるように、係数識別信号S1とS2の組み合わせが(00,00)の場合は、対応するパイプライン部の各段にDCT係数が1個も存在しないことを意味する。同様に、(S1,S2)が(01,00)の場合は係数C1としてDC係数が存在し係数C2は存在しないことを意味し、(01,11)の場合は係数C1としてDC係数が存在し係数C2としてゼロの値を持つAC係数が存在することを意味し、(10,00)の場合は係数C1として値がゼロでないAC係数が存在し係数C2は存在しないことを意味し、(10,11)の場合は係数C1として値がゼロでないAC係数が存在し係数C2としてゼロの値を持つAC係数が存在することを意味し、(11,00)の場合は係数C1としてゼロの値を持つAC係数が存在し係数C2は存在しないことを意味し、(11,10)の場合は係数C1としてゼロの値を持つAC係数が存在し係数C2として値がゼロでないAC係数が存在することを意味し、(11,11)の場合は係数C1としてゼロの値を持つAC係数が存在し係数C2としてもゼロの値を持つAC係数が存在することを意味する。
【００３０】
図5は、Nクロックサイクルにおける入力シンボルと係数識別信号214と215から、N+1クロックサイクルにおける係数識別信号214と215、および216を決定する論理を示した真理値表である。
【００３１】
図1に示すように入力される係数識別信号214と215、および入力シンボルの情報から、ランレングス復号化部202は本真理値表に従って、次のクロックサイクルにおける係数識別信号214と215、および216を決定することができる。
【００３２】
図5に示される各種シンボルに対応した各種係数識別信号の状態のうち、特にNクロックサイクルにおいて入力シンボルとしてラン長:3のAC係数が出現した場合について、以下に説明する。
【００３３】
まず、Nクロックサイクルにおける係数識別信号214によって表現される先行する係数C1および引き続く係数C2の状態がそれぞれ(DC/AC，X)である場合は、係数C1としてDC係数または値がゼロでないAC係数が存在し、係数C2は存在しないことを意味する。さらに、Nクロックサイクルにおける係数識別信号215によって表現される先行する係数C1および引き続く係数C2の状態がそれぞれ(don't care, don't care)である場合は、係数C1および係数C2は如何なる状態であっても構わないことを意味する。
【００３４】
Nクロックサイクルにおいて上記した状態である場合、N+1クロックサイクルにおいて係数識別信号214によって表現される先行する係数C1および引き続く係数C2の状態は(0，0)であり、係数識別信号215は(DC/AC，0)、係数識別信号216は(don't care, don't care)となる。なお、図中斜線で示される係数の状態は、ランレングス復号化部202によって(X)から(0)へ変更されたものであることを意味する。
【００３５】
具体的には、Nクロックサイクにおいては係数識別信号214によって表現された係数C2の状態(X)であったのに対して、N+1クロックサイクルでは係数識別信号215によって表現される係数C2の状態が(0)に変更されている。これは、Nクロックサイクルで出現した入力シンボルがラン長:3のAC係数であったことに応じて、係数が存在していなかった係数識別信号に対してゼロの値を持つAC係数を、パイプラインを1段飛び越えて挿入したものである。なお、この挿入は識別信号217を用いて行われる。
【００３６】
さらに、N+1クロックサイクルにおいて係数識別信号214によって表現される先行する係数C1および引き続く係数C2の状態は(0,0)であり、これは、Nクロックサイクルで出現した入力シンボルがラン長:3のAC係数であったことに応じて、残るゼロの値を持つ2個のAC係数を1クロックサイクルで伝達するものである。
【００３７】
ここで係数識別信号215と214においては、それぞれ1クロックサイクルあたり2個のDCT係数を伝達しており、高速なシンボル復号化処理が行われていることがわかる。このように本実施形態によれば、ラン長を有するAC係数の数が支配的である8ｘ8画素からなるブロック、もしくはラン長が長いAC係数が多く存在するブロックに対するシンボル復号化処理では、限りなく2DCT係数/1クロックサイクルに近い高速処理が実現可能である。
【００３８】
以上、図5に示された真理値表のNクロックサイクルにおいて入力シンボルとしてラン長:3のAC係数が出現した場合で、かつ係数識別信号214と215が特定の状態であった場合について説明したが、本実施形態は他の状態においても同様の思考が適用されるため、その他の場合についての説明は省略する。
【００３９】
以下、シンボル復号化部202における具体的な動作例を、図6および図7を用いて説明する。
【００４０】
図6は、以下の動作例における入力シンボルのシーケンスを示す図である。入力シンボルのシーケンスは1つのブロックの可変長復号データ（ここでは量子化されたDCT係数）に対応し、図6に示されるように最初がDC係数、その次にラン長:3のAC係数、ラン長:1のAC係数、ラン長:4のAC係数、最後にEOB(End of Block)、の合計5つのシンボルからなっているとする。
【００４１】
図7は、図6に示されたシンボルのシーケンスを、シンボル復号化部200で復号化処理する場合において、ランレングス復号化部202から出力される係数識別信号214,215,216の時系列の変化を示したタイミングチャートである。同図において時間の流れは上から下方向であり、パイプライン処理の各段で処理されるデータの流れは左から右方向へ進む。
【００４２】
以後、本実施形態の復号化処理について、特にシンボル復号化部200に入力されたシンボルデータに対する復号化処理手順を、図1,図6および図7を用いて説明する。なお、必要に応じて図3,図4,図5も別途参照されたい。
【００４３】
図7に示すように、まず始めに時刻T0において、シンボルデータ入力信号201としてDC係数に対応したシンボルが入力される。なお、図7に示す時刻T0から1サイクル毎に、時刻T1,T2,・・・T6と進んでいく。
【００４４】
次に時刻T1において、DC係数はレベル復号化部203による復号化演算処理が行われるのと並行して、係数識別信号214でその状態が先行する係数C1として伝達される。一方、係数識別信号214で表現される係数C2は、時刻T1ではなにも存在しない。このとき、引き続いて入力されるシンボルとしては図6に示したように、ラン長:3のAC係数が出現する。
【００４５】
時刻T2において、DC係数はDPCM復号化部204による復号化演算処理が行われるのと並行して、係数識別信号215でその状態が先行する係数C1として伝達される。それとともに、時刻T1でラン長:3のAC係数に対応するシンボルが入力されたことに起因して、係数識別信号215の係数C2（時刻T1時点では係数が存在していない箇所）としてゼロの値を持つAC係数が伝達されるように、ランレングス復号化部202から係数識別信号217としてゼロの値を持つAC係数が伝達され、係数識別信号選択部218による選択により、係数識別信号215の係数C2における"X"は"0"に変更される。
【００４６】
なお、図7において一点鎖線で示される矢印は、係数識別信号選択部218或いは係数識別信号選択部220によるデータ選択により、係数識別信号214や215中の"X"を、係数識別信号217や219内の本来の係数である"0"に置換する処理を示している。
【００４７】
また、ラン長:3であるから残り2個の値ゼロを持つAC係数に対しては、パイプライン部によるシンボル復号化演算処理は行われず、係数識別信号214により2個の値ゼロを持つAC係数が存在する旨が伝達されるのみである。
【００４８】
なお時刻T2においては、値ゼロを持つ3個のAC係数に続く、値がゼロでない1個のAC係数がまだ処理されていないので、FF207には、ランレングス復号化部202からのHOLD信号221により、次の処理のためにその値がゼロでないAC係数（いわゆる有意係数）が保持されている。
【００４９】
次に時刻T3において、DC係数はシリアルパラレル変換部206へ入力され、係数識別信号216の状態により、DC係数と値ゼロを持つAC係数の組がDCT係数データ出力信号206として出力される。また係数識別信号215では、2個の値ゼロを持つAC係数が伝達される。
【００５０】
値ゼロを持つ3個のAC係数に続く、値がゼロでない1個のAC係数は、レベル復号化部203による復号化演算処理が行われるのと並行して、係数識別信号214でその状態が先行する係数C1として伝達される。一方、係数識別信号214で表現される係数C2は、時刻T3ではなにも存在しない。
【００５１】
時刻T3ではHOLD信号221による保持状態が解除されており、引き続いて入力されるシンボルとしては図6に示したように、ラン長:1のAC係数が出現する。
【００５２】
時刻T4において、ラン長:3のAC係数の残る2個の値ゼロを持つAC係数の状態が、係数識別信号216によってシリアルパラレル変換部206へ入力され、値ゼロを持つAC係数2個の組が、DCT係数データ出力信号206として出力される。
【００５３】
値ゼロを持つ3個のAC係数に続く、値がゼロでない1個のAC係数は、DPCM復号化部204の内部でバイパスされて後段へ伝達されるのと並行して、係数識別信号215でその状態が先行する係数C1として伝達される。
【００５４】
これととともに、時刻T3でラン長:1のAC係数に対応するシンボルが入力されたことに起因して、係数識別信号215の係数C2としてゼロの値を持つAC係数が伝達されるように、ランレングス復号化部202から係数識別信号217としてゼロの値を持つAC係数が伝達され、係数識別信号選択部218による選択により、係数識別信号215の係数C2における"X"は"0"に変更される（図中に一点鎖線で示される箇所）。
【００５５】
また、値ゼロを持つ1個のAC係数に続く、値がゼロでない1個のAC係数は、レベル復号化部203による復号化演算処理が行われるのと並行して、係数識別信号214でその状態が先行する係数C1として伝達される。
【００５６】
なお時刻T4では、入力シンボルとしては有効なデータが出現していない。これは、本発明が例外処理にも対応できる場合を説明するものであり、図2に示す可変長復号化部100からのシンボルの入力が遅れた場合に、この様な処理が発生する。この場合、係数識別信号214で表現される係数C2は、時刻T4ではなにも存在しない。
【００５７】
ただし、この様な例外処理は可変長復号化部100の機能に依存するものであるから、例外処理が発生しない装置ではその処理内容は異なる。その場合の時刻T4においては、係数識別信号214で表現される係数C2に何らかの値が入ることになる。
【００５８】
時刻T5において、ラン長:3のAC係数シンボルに対応した、値がゼロでないAC係数はシリアルパラレル変換部206へ入力され、係数識別信号216の状態により、AC係数と値ゼロを持つAC係数の組が、DCT係数データ出力信号206として出力される。値ゼロを持つ1個のAC係数に続く、値がゼロでない1個のAC係数は、DPCM復号化部204の内部でバイパスされて後段へ伝達されるのと並行して、係数識別信号215でその状態が先行する係数C1として伝達される。
【００５９】
一方、係数識別信号215で表現される係数C2は、時刻T5ではなにも存在しない。また、係数識別信号214で表現される係数C1および係数C2には、ともに時刻T4で有効な入力シンボルが出現しなかったことに起因して何も存在しない。そして、引き続いて入力されるシンボルとしては図6に示したように、ラン長:4のAC係数が出現する。
【００６０】
時刻T6において、ラン長:1のAC係数シンボルに対応した、値がゼロでないAC係数は、シリアルパラレル変換部206へ入力される。一方、時刻T5でラン長:4のAC係数に対応するシンボルが入力されたことに起因して、係数識別信号216の係数C2としてゼロの値を持つAC係数が伝達されるように、係数識別信号219および係数識別信号選択部220を介して係数C2が変更されている（図中に一点鎖線で示される箇所）。結果として、先行する値がゼロでないAC係数と、それに続く値ゼロを持つAC係数の組が、DCT係数データ出力信号206として出力される。
【００６１】
さらに、時刻T5でラン長:4のAC係数に対応するシンボルが入力されたことに起因して、係数識別信号215の係数C1およびC2としてゼロの値を持つAC係数が伝達されるように、ランレングス復号化部202から係数識別信号217としてゼロの値を持つAC係数が伝達され、係数識別信号選択部218による選択により、係数識別信号215の係数C2における"X"は"0"に変更される。（図中に一点鎖線で示される箇所）。
【００６２】
また、係数識別信号214で表現される係数C1としては、値ゼロを持つ4個のAC係数の最後の1個を伝達するとともに、引き続く値がゼロでないAC係数はレベル復号化部203による復号化演算処理が行われるのと並行して、係数識別信号214でその状態が先行する係数C2として伝達される。引き続き、ブロックの最後の入力シンボルとして、図6に示したようにEOB(End of Block)が出現する。
【００６３】
このように図7によれば、係数識別信号216として順次2個ずつ出力される係数の並びが「DC,0，0,0，AC,0，AC,0,・・・」であり、最後のシンボルEOBがランレングス復号化部202に入力されるまで、図6に示したシンボルシーケンスに対応していることが分かる。
【００６４】
以上説明したように本実施形態の画像復号化装置によれば、1サイクルあたり1シンボルで入力されるラン長とレベルとの組からなるシンボルを、最大で1サイクルで2個のDCT係数に復号して出力することができる。すなわち、最小限の回路構成によって、高速な復号化処理が可能となる。
【００６５】
なお、本実施形態では理解を容易とするために、シンボル復号化部200は1サイクルあたり2個のDCT係数を出力するとして説明をしたが、本発明はこの例に限定されない。例えば、各種処理の制御が複雑にはなるが、係数識別信号を保持するFFの段数（図1ではFF211,212,213の3段）を増加し、図7を用いて説明した様な「最終出力206として所定複数個のDCT係数が出力できるようなパイプライン処理」を実現できるよう、図5で説明した真理値表を調整すれば、1サイクルあたり2個を超える数のDCT係数を出力することも可能である。これによりシンボル復号化部200は、1サイクルあたり4つのDCT係数や8つのDCT係数などを出力することも可能である。
【００６６】
なお、本実施形態においては、ランレングス符号化の対象データを、JPEGやMPEG等で知られる「値ゼロを持つDCT係数」として説明をしたが、本発明はゼロランを符号化する方式に限らず、何らかのサンプル値をランレングス符号化する方式であれば有効である。その場合、図2で示した画像復号化部の可変長復号化部100及び逆量子化部300、および逆DCT部400は必ずしも必要ではなくなる。
【００６７】
［他の実施例］
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６８】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００７１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などがある。
【００７２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００７３】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態である画像復号化装置における、シンボル復号化部の詳細構成を示すブロック図である。
【図２】本実施形態における画像復号化装置の構成を示すブロック図である。
【図３】1個のDCT係数に対応した係数識別信号の種類を示す表である。
【図４】2個のDCT係数に対応した係数識別信号の組み合わせを示す表である。
【図５】入力シンボルと係数識別信号から次段の係数識別信号を決定する論理を示す真理値表である。
【図６】本実施形態のシンボル復号化例に用いられるシンボルシーケンスを示す図である。
【図７】本実施形態のシンボル復号化処理例における係数識別信号の時系列変化を示すタイミングチャートである。
【図１】
2006148237.tif 000003
【図２】
2006148237.tif 000004
【図３】
2006148237.tif 000005
【図４】
2006148237.tif 000006
【図５】
2006148237.tif 000007
【図６】
2006148237.tif 000008
【図７】
2006148237.tif 000009