JP4095454B2 - データ復号装置及びデータ復号方法 - Google Patents
データ復号装置及びデータ復号方法 Download PDFInfo
- Publication number
- JP4095454B2 JP4095454B2 JP2003013738A JP2003013738A JP4095454B2 JP 4095454 B2 JP4095454 B2 JP 4095454B2 JP 2003013738 A JP2003013738 A JP 2003013738A JP 2003013738 A JP2003013738 A JP 2003013738A JP 4095454 B2 JP4095454 B2 JP 4095454B2
- Authority
- JP
- Japan
- Prior art keywords
- encoded data
- decoding
- data
- component
- code table
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、可変長符号化された符号化データ復号するデータ復号装置及びデータ復号方法に関する。
【0002】
【従来の技術】
画像データを圧縮する方法として、一般に、圧縮対象となる画像データをブロック分割して、ブロック分割された画像データをブロック単位に直交変換して直流成分(以下、「DC」と呼ぶ。)と交流成分(以下、「AC」と呼ぶ。)とで構成された周波数成分に変換して符号化する方式がよく知られている。このような周波数成分に変換された画像データを符号化する場合、符号化効率の観点からエントロピー符号化が用いられることが多い。すなわち、周波数成分をそれぞれの成分ごとに量子化することによって符号化が行われる。
【0003】
この際、高い周波数成分ほど大きい量子化閾値をもって量子化し、低い周波数成分ほど小さい量子化閾値をもって量子化することが望ましい。この理由として、人間の視覚には高周波成分に対して鈍感であるという特性があるからである。そして、量子化された周波数成分のうち、DCについては、予測値との差分をDC用の可変長符号テーブルに割り当てる。一方、ACについては、低周波成分から高周波成分へ一次元的にスキャンし、非ゼロACとその直前に続いたゼロの数の組み合わせをAC用の可変長符号テーブルに割り当てる。
【0004】
その際、DC差分値及び非ゼロACはそのサイズによってグループ分けされる。すなわち、当該グループのID(グループID)と付加ビットとを用いてグループ分けされ、DCにおいては当該グループIDをシンボルとし、そのシンボルに対して符号語が割り当てられ、割り当てられた符号と付加ビットとの組み合わせで一つの符号が形成される。一方、ACにおいては当該グループIDとラン長との組み合わせをシンボルとし、そのシンボルに対して符号語が割り当てられ、割り当てられた符号と付加ビットとの組み合わせで一つの符号が形成される。また、ブロック内の最後のACがゼロ係数である場合、ブロックの終わりを示すEOB(End Of Block)シンボルが可変長符号に割り当てられる。
【0005】
このような符号化に用いられる可変長符号は、発生頻度の高いシンボルに対して短い符号語を割り当て、発生頻度の低いシンボルに対して長い符号語を割り当てることによって、効率的にデータ圧縮を行うことが可能となる。
【0006】
そして、従来技術を用いて当業者は、このような可変長符号に符号化された符号化データを高速に復号化するために、入力された符号化データに対し可変長符号テーブルデコーダから一つのシンボルをデコードして符号長を含む復号データを出力し、さらに同一の符号化データに対して当該符号長分だけビットシフトしてデコード済みの符号化データを取り除いた次の符号化データの頭出しを行い、頭出しされた符号化データに対し可変長符号テーブルデコーダから一つのシンボルをデコードしてデコード結果を得る、といった複数の符号を1サイクルで復号化する装置を容易に想到し得る。
【0007】
以下、当業者が容易に想到し得る従来の復号化装置を用いた復号化技術について説明する。
【0008】
図4は、1サイクルで複数の符号を復号化する従来の復号化装置の一構成例を示すブロック図である。図4において、符号化データは直流成分(DC)用可変長符号テーブルデコーダ401、交流成分(AC)用可変長符号テーブルデコーダ402、及びシフタ部(Shifter)404にそれぞれ並列に入力される。このような可変長符号テーブルデコーダの一例としてハフマンテーブルデコーダが用いられる。入力される当該符号化データは、符号語の先頭ビットが入力バスの先頭ビットに位置するように予め頭出しされているものとする。すなわち、DC用可変長符号テーブルデコーダ401は、DCのシンボルに割り当てられるべき全ての符号語に対応する復号化データを有しており、入力された符号化データを先頭ビットからデコードし、一致する一つの符号語に対応する復号化データを出力する。尚、そこから出力される復号化データには、少なくとも符号長、シンボル及び付加ビットが含まれている。
【0009】
また、AC用可変長符号テーブルデコーダ402は、DC以外(例えば、ACやEOB等)のシンボルに割り当てられるべき全ての符号語に対応する復号化データを有し、入力された符号化データを先頭ビットからデコードし、一致する一つの符号語に対応する復号化データを出力する。尚、そこから出力される復号化データには、少なくとも符号長、シンボル及び付加ビットが含まれている。そして、DC用可変長符号テーブルデコーダ401及びAC用可変長符号テーブルデコーダ402から出力された復号化データは、それぞれマルチプレクサ(MUX)403に入力される。
【0010】
マルチプレクサ403は、DC用可変長符号テーブルデコーダ401からの出力とAC用可変長符号テーブルデコーダ402からの出力のうち、いずれかを選択して出力する。この選択は、それぞれの可変長符号テーブルデコーダにおいてデコードされた符号が、DCであるかACであるかに基づいて行われる。すなわち、DCであればDC用可変長符号テーブルデコーダ401の出力が選択され、ACであればAC用可変長符号テーブルデコーダ402の出力が選択される。そして、選択されたデータは、一回のデコード動作における一つ目の復号化された復号化データ1として出力される。
【0011】
また、シフタ部404はバレルシフタ(barrel shifter)であり、マルチプレクサ403からの出力の内、符号長に相当する情報に基づいてビット単位で入力された符号化データをシフトして出力する。すなわち、マルチプレクサ403の出力する符号長分だけ当該符号化データをシフトして、次の符号の先頭が先頭ビットに配置されるように動作して出力する。シフタ部404の出力は、DC用可変長符号テーブルデコーダ405とAC用可変長符号テーブルデコーダ406のそれぞれに入力される。
【0012】
DC用可変長符号テーブルデコーダ405は、DCのシンボルに割り当てられるべき全てあるいは一部の符号語に対応する復号化データを有し、入力されたビットシフト後の符号化データを先頭ビットからデコードし、一致する一つの符号語に対応する復号化データを出力する。尚、そこから出力される復号化データには、少なくとも符号長及びシンボル及び付加ビットが含まれている。
【0013】
また、AC用可変長符号テーブルデコーダ406は、ACのシンボルに割り当てられるべき全てあるいは一部の符号語に対応する復号化データを有し、入力された符号化データを先頭ビットからデコードし、一致する一つの符号語に対応する復号化データを出力する。尚、そこから出力される復号化データには、少なくとも符号長、シンボル及び付加ビットが含まれている。
【0014】
尚、DC用可変長符号テーブルデコーダ405及びAC用可変長符号テーブルデコーダ406には、必ずしも全てのエントリが含まれている必要はなく、処理速度あるいはハードウェア規模の観点から、発生頻度の高いいくつかの符号語に対応するデータだけが含まれる構成であってもよい。但し、一部のエントリのみ含む構成であれば、入力された符号化データが当該一部のエントリに含まれる符号語と一致したか否かを表す信号が別途出力される必要がある。
【0015】
また、マルチプレクサ407は、DC用可変長符号テーブルデコーダ405の出力とAC用可変長符号テーブルデコーダ406の出力のうち、いずれかを選択して出力する。この選択は、DC用可変長符号テーブルデコーダ405又はAC用可変長符号テーブルデコーダ406においてデコードされた符号が、DCであるかACであるかに基づいて行われる。すなわち、DCであればDC用可変長符号テーブルデコーダ405の出力が選択され、ACであればAC用可変長符号テーブルデコーダ406の出力が選択される。そして、マルチプレクサ407で選択されたデータは、一回のデコード動作における二つ目の復号化された復号化データ2として出力される。
【0016】
尚、図示されないがバレルシフタであるシフタ部404からは、シフタ部404に入力された符号化データの符号長分さらにシフトして次の符号の先頭ビットが先頭に来るようにさせる情報が、入力される符号化データを生成する側へ送られる。これによって、次のサイクルにおいて本復号化装置に入力される符号化データは、次の符号の頭出しがされた状態で入力される。このように従来の復号化装置では上記処理を1サイクル内で行い、同様のサイクルを繰り返すことによって、復号化処理の高速化を実現している。
【0017】
【発明が解決しようとする課題】
しかしながら、上述した従来の復号化装置の構成においては、比較的大きな回路構成が必要となる可変長符号化テーブルが、401、402、405、406に示されるように4つも設ける必要があるため、復号化装置の回路規模が増大してしまうという問題があった。従って、回路規模の縮小化が望まれている。
【0018】
本発明は、このような事情を考慮してなされたものであり、従来の復号装置に比べてより小さな回路規模で、復号速度を損うことなく復号処理を実現することができるデータ復号装置及びデータ復号方法を提供することを目的とする。
【0019】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るデータ復号装置は、
第1の符号化データと後続の第2の符号化データとを含む符号化データを入力する入力手段と、
前記符号化データにおける前記第2の符号化データを先頭にして出力する出力手段と、
前記第1の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて該第1の符号化データを復号する第1の交流復号手段と、
前記第2の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて該第2の符号化データを復号する第2の交流復号手段と、
前記第1の符号化データ又は前記第2の符号化データが直流成分の場合、符号化時に使用された直流成分用符号テーブルに基づいて前記符号化データを復号する直流復号手段と
を備えることを特徴とする。
また上記課題を解決するために、本発明に係るデータ復号方法は、
第1の符号化データと後続の第2の符号化データとを含む符号化データを入力する入力工程と、
前記符号化データにおける前記第2の符号化データを先頭にして出力する出力工程と、
前記第1の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて第1の交流復号手段により該第1の符号化データを復号する第1の交流復号工程と、
前記第2の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて第2の交流復号手段により該第2の符号化データを復号する第2の交流復号工程と、
前記第1の符号化データ又は前記第2の符号化データが直流成分の場合、符号化時に使用された直流成分用符号テーブルに基づいて単一の直流復号手段により前記符号化データを復号する直流復号工程と
を有することを特徴とする。
【0020】
【発明の実施の形態】
以下、図面を参照して、本発明の一実施形態に係る復号化装置について説明する。尚、本実施形態において、復号化装置に入力される符号化データは、画像データをブロック分割して当該ブロック単位に直交変換し、直交変換された係数を量子化し、量子化された係数のうち直流成分(DC)については予測値との差分をDC用の可変長符号テーブルに割り当て、DC以外の交流成分(AC)等についてはゼロでないACとその直前に続いたゼロの数とをAC用の可変長符号テーブルに割り当てることによって符号化されたデータであることを特徴とする。
【0021】
図1は、本発明の一実施形態に係る復号化装置の構成を示すブロック図である。図1において、本復号化装置に入力される符号化データ(以下、「入力符号化データ」と称す。)はマルチプレクサ107、AC用可変長符号テーブルデコーダ102及びシフタ部104に対し、それぞれ並列に入力される。尚、この符号化データは、符号語の先頭ビットが入力バスの先頭ビットに位置するように予め頭出しがされているものとする。また、AC用可変長符号テーブルデコーダ102の動作については、上記従来の技術で説明した図4に示される復号化装置のAC用可変長符号テーブルデコーダ402と同様であり、DC以外の例えば、ACやEOB等のシンボルに割り当てられるべき全ての符号語に対応する復号化データを有し、入力された符号化データを先頭ビットからデコードし、一致する一つの符号語に対応する復号化データを出力する。
【0022】
マルチプレクサ107は、上記符号化データ及びシフタ部104の出力のうちいずれか一方を、ブロック内最終符号検出部106の出力に基づいて選択して出力する。マルチプレクサ107の出力は、DC用可変長符号テーブルデコーダ101に入力される。尚、DC用可変長符号テーブルデコーダ101の動作については、上記従来の技術で説明した図4に示される復号化装置のDC用可変長符号テーブルデコーダ401と同様であり、DCのシンボルに割り当てられるべき全ての符号語に対応する復号化データを有しており、入力された符号化データを先頭ビットからデコードし、一致する一つの符号語に対応する復号化データを出力する。
【0023】
DC用可変長符号テーブルデコーダ101から出力された復号化データは、マルチプレクサ103及びマルチプレクサ108にそれぞれ入力される。また、AC用可変長符号テーブルデコーダ102から出力された復号化データはマルチプレクサ103に入力される。さらに、AC用可変長符号テーブルデコーダ102から出力された復号化データの一部が、ブロック内最終符号検出部106に入力される。ここで、復号化データの一部とは、後述するようにEOBやそれ以外の符号による最終符号が挙げられる。
【0024】
ここで、マルチプレクサ103は、DC用可変長符号テーブルデコーダ101の出力とAC用可変長符号テーブルデコーダ102の出力のうち、いずれか一方を選択して出力する。この選択は、入力された符号化データの先頭に位置する符号が、DCに割り当てられた符号であるかACに割り当てられた符号であるかという情報に基づいて行われる。すなわち、DCであればDC用可変長符号テーブルデコーダ101の出力が選択され、DC以外であればAC用可変長符号テーブルデコーダ102の出力が選択される。そして、マルチプレクサ103で選択されたデータは、一回のデコード動作における一つ目の復号化データ1として出力される。
【0025】
また、本実施形態においてシフタ部104はバレルシフタであり、従来の技術で説明した図4に示す復号化装置におけるシフタ部404と同様の動作をするので、詳細な説明は省略する。本実施形態では、シフタ部104の出力は、AC用可変長符号テーブルデコーダ105及びマルチプレクサ107にそれぞれ並列に入力される。尚、AC用可変長符号テーブルデコーダ105は、従来の技術で説明した図4に示される復号化装置におけるAC用可変長符号テーブルデコーダ406と同様の動作をするので、詳細な説明は省略する。
【0026】
また、AC用可変長符号テーブルデコーダ105における可変長符号テーブルには、必ずしも全てのエントリが含まれている必要はなく、処理速度あるいはハードウェア規模の観点から、発生頻度の高いいくつかの符号語に対応するデータだけが含まれる構成であってもよい。但し、一部のエントリのみ含む構成であれば、入力された符号化データが当該一部のエントリに含まれる符号語と一致したか否かを表す信号が別途出力される必要がある。
【0027】
ブロック内最終符号検出部106は、AC用可変長符号テーブルデコーダ102の出力に基づいて、AC用可変長符号テーブルデコーダ102においてデコードされた符号がブロック内における最終符号であるか否かを検出し、その検出結果を出力する。尚、本実施形態においては、出力結果がブロック内最終符号であった場合は「Highレベル」で表され、そうでない場合は「Lowレベル」で表されるものとする。また、当該ブロック内最終符号であるか否かの判断は、例えば、単純にAC用可変長符号テーブルデコーダ102においてデコードされた符号がEOBを示すものであったか否かによって決定するようにしてもよい。その場合、EOB以外のブロック内最終符号がきた時には、復号化データ2は有効でない旨の信号が別途出力される必要がある。
【0028】
ブロック内最終符号検出部106の出力はマルチプレクサ107、108に並列に入力される。マルチプレクサ107に対する入力データは、ブロック内最終符号検出部106の出力がHighレベルである場合にはシフタ部104からの出力が選択され、Lowレベルである場合には当該復号化装置に入力された符号化データが選択される。一方、マルチプレクサ108に対する入力データは、ブロック内最終符号検出部106の出力がHighレベルである場合にはDC用可変長符号テーブルデコーダ101の出力が選択され、Lowレベルである場合にはAC用可変長符号テーブルデコーダ105の出力が選択され、一回のデコード動作における二つ目の復号化データ2として出力される。
【0029】
尚、図示されないがバレルシフタであるシフタ部104の出力からは、シフタ部104に入力された符号化データの符号長分さらにシフトして次の符号の先頭ビットが先頭に来るようにさせる情報が、入力符号化データを生成する側へ送られる。これによって、次のサイクルにおける入力符号化データは、次の符号の頭出しがされた状態で入力される。このように上記処理を1サイクル内で行い、同様のサイクルを繰り返すことによって、復号化処理の高速化を実現している。
【0030】
図5は、本実施形態に係る復号化装置によるデータ復号化方法の手順について説明するためのフローチャートである。すなわち、本復号化装置には、第1の符号化データと当該第1の符号化データがビットシフトされた第2の符号化データとを含む符号化データが入力され、第1の符号化データがDC以外の場合、符号化時に使用されたAC用可変長符号テーブルに基づいてAC用可変長符号テーブルデコーダ102において第1の符号化データが復号化される(ステップS501)。また、シフタ部104では入力された符号化データをビットシフトして第2の符号化データを出力する(ステップS502)。ここで、マルチプレクサ107は、第1の符号化データ又は第2の符号化データのいずれかを選択する(ステップS503)。そして、マルチプレクサ107で選択された符号化データがDCの場合、DC用可変長符号テーブルデコーダ101は、符号化時に使用されたDC用可変長符号テーブルに基づいて当該符号化データを復号化する(ステップS504)。さらに、マルチプレクサ103は、DC用可変長符号テーブルデコーダ又はAC用可変長テーブルデコーダ103のいずれかによる復号化データを復号化データ1として選択する(ステップS505)。さらに、第2の符号化データがDC以外の場合、AC用可変長符号テーブルデコーダ105は、符号化時に使用されたAC用可変長符号テーブルに基づいて第2の符号化データを復号化する(ステップS506)。そして、DC用可変長符号テーブルデコーダ又はAC用可変長符号テーブルデコーダ105のいずれかによる復号化データを復号化データ2として選択する(ステップS507)。
【0031】
また、上記復号化装置は、AC用可変長符号テーブルデコーダ102による復号化データに基づいて復号化された符号化データがブロック内における最後の符号であるか否かを検出するブロック内最終符号検出部106をさらに備え、当該検出部の検出結果に基づいて、マルチプレクサ107が符号化データを選択し、マルチプレクサ108が復号化データを選択することを特徴とする。
【0032】
尚、図1に示される復号化装置では、1サイクルに2つの符号を同時に復号化するが、以下では、当該1つの符号のうち1つ目の符号を復号する部分が処理している符号を「符号化データ1」と称し、2つ目の符号を復号する部分が処理している符号を、「符号化データ2」と称す。
【0033】
次に、本実施形態に係る復号化装置の具体的な動作について説明する。
【0034】
図2は、本実施形態に係る復号化装置に入力される符号化データの配列順を示す図である。図2において、DC1〜DC3はDC(直流成分)に割り当てられた符号を表し、AC1〜AC6はAC(交流成分)に割り当てられた符号を表し、また、EOBはEOBに割り当てられた符号を表す。尚、No.1〜11は、各符号の出現順序を示している。以下、図2に示す符号化データが入力された場合の本実施形態に係る復号化装置の動作例を詳細に説明する。
【0035】
図3は、図2に示す符号化データが入力された場合の図1の復号化装置における各部から出力されるデータ例をサイクル毎に示した図である。
【0036】
サイクル1においては、図2及び図3に示すように、DC1を先頭とした符号化データが入力される。尚、図3においては、符号入力の欄において符号の出現順に左から右に並べて記述している。サイクル1においては符号化データ1に相当する符号(本実施形態ではDC1)がブロック内における最終符号ではないので、ブロック内最終符号検出部106はLowデータを出力し、従ってマルチプレクサ107、108では、それぞれ入力符号化データ、AC用可変長符号テーブルデコーダ105の出力が選択されて出力される。
【0037】
また、DC用可変長符号テーブルデコーダ101にはマルチプレクサ107より出力された符号化データ1(すなわち、DC1)が入力され、当該DC1がデコードされて出力される。一方、AC可変長符号テーブルデコーダ102には入力符号化データ(DC1)が入力されるが、ACではないので無効なデータが出力される。また、マルチプレクサ103においてはDC1がDCであることから、DC可変長符号テーブルデコーダ101の出力が選択され、サイクル1における一つ目の復号化データ1として出力される。
【0038】
また、マルチプレクサ103からの出力(すなわち、DC1)のうち符号長に相当する情報がシフタ部104へ入力され、シフタ部104においては入力符号化データがDC1の符号長分だけシフトされ、シフタ部104からは次の符号であるAC1を先頭とした符号化データ列が出力される。
【0039】
そして、AC用可変長符号テーブルデコーダ105にはAC1を先頭とした符号化データ列が入力され、当該AC1をデコードしてマルチプレクサ108へ出力する。AC1の復号化データは、ブロック内最終符号検出部106がLowデータを出力しているのでマルチプレクサ108において選択されてサイクル1における二つ目の復号化データ2として出力される。また、バレルシフタであるシフタ部104からは、AC1の符号長分さらにシフトされて次の符号AC2の先頭ビットが次の入力符号化データの先頭に来るようにする情報が入力符号化データを生成する側へ送られ、次のサイクル2において、入力符号化データは次の符号AC2の頭出しがされた状態で入力される。
【0040】
サイクル2においては、上述したように入力符号化データよりAC2を先頭とした符号が入力される。同じくサイクル2において符号1に相当する符号(本実施形態ではAC2)がブロック内における最終符号ではないので、ブロック内最終符号検出部106はLowレベルを出力する。従って、マルチプレクサ107、108には、それぞれ入力符号化データ及びAC用可変長符号テーブルデコーダ105の出力が選択されて入力される。また、DC用可変長符号テーブルデコーダ101においては、マルチプレクサ107より出力された符号(AC2)が入力されるが、DCではないので無効なデータが出力される。
【0041】
一方、AC用可変長符号テーブルデコーダ102には入力符号化データが入力され、AC2がデコードされて出力される。そして、マルチプレクサ103においてはAC用可変長符号テーブルデコーダ102から出力されたAC2がDCではないので選択され、サイクル2における一つ目の復号化データ1として出力される。また、マルチプレクサの出力のうちAC2の符号長に相当する情報がシフタ部104へ入力され、シフタ部104においては入力符号化データがAC2の符号長分だけシフトされ、次の符号であるAC3を先頭とした符号化データ列を出力する。
【0042】
AC用可変長符号テーブルデコーダ105においては、AC3を先頭とした符号化データ列が入力され、それをデコードしてマルチプレクサ108へと出力する。復号化されたAC3のデータは、マルチプレクサ108において選択されてサイクル2における二つ目の復号化データ2として出力される。また、バレルシフタであるシフタ部104からは、AC3の符号長分さらにシフトされて次の符号EOBの先頭ビットが入力符号化データの先頭に来るようにする情報が入力符号化データを生成する側へ送られ、次のサイクル3において、入力符号化データは次の符号EOBの頭出しがされた状態で入力される。
【0043】
サイクル3において、入力符号化データとしてEOBを先頭とした符号が入力される。すなわち、サイクル3においては符号化データ1に相当する符号(本実施形態ではEOB)がブロック内における最終符号であるので、ブロック内最終符号検出部106はHighレベルを出力する。従って、マルチプレクサ107、108は、それぞれシフタ部104の出力、DC用可変長符号テーブルデコーダ101の出力を選択して出力する。また、AC用可変長符号テーブルデコーダ102には入力符号化データが入力され、EOBがデコードされて出力される。
【0044】
また、マルチプレクサ103では、入力されたEOBがDCではないので、AC用可変長符号テーブルデコーダ102の出力が選択され、サイクル3における一つ目の復号化データ1として出力される。また、マルチプレクサ103の出力のうち符号長に相当する情報がシフタ部104へ入力され、シフタ部104においては入力符号化データがEOBの符号長分だけシフトされ、次の符号であるDC2を先頭とした符号化データ列を出力する。そして、シフタ部104より出力された符号化データ列は、マルチプレクサ107に入力され選択されてDC用可変長符号テーブルデコーダ101へ出力される。DC用可変長符号テーブルデコーダ101は、マルチプレクサ107より出力されてきたDC2を先頭とした符号化データ列を復号化して出力する。そして、復号化されたDC2のデータはマルチプレクサ108へ入力され、選択されてサイクル3における二つ目の復号化データ2として出力される。
【0045】
AC用可変長符号テーブルデコーダ105には、シフタ部104の出力(DC2)が入力されるが、ACではないため無効データを出力する。また、バレルシフタであるシフタ部104からは、DC2の符号長分さらにシフトされて次の符号AC4の先頭ビットが入力符号化データの先頭に来るような情報が入力符号化データを生成する側へ送られ、次のサイクルの符号は、次の符号AC4の頭出しがされた状態で入力される。
【0046】
サイクル4においては、入力符号化データよりAC4を先頭とした符号が入力される。サイクル4では、符号化データ1に相当する符号(本実施形態ではAC4)がブロック内における最終符号ではないので、ブロック内最終符号検出部106はLowレベルを出力する。従って、マルチプレクサ107、108には、それぞれ入力符号化データ、AC用可変長符号テーブルデコーダ105の出力が選択されて入力される。また、DC用可変長符号テーブルデコーダ101には、マルチプレクサ107より出力された入力符号化データ(AC4)が入力されるが、DCではないので無効なデータが出力される。
【0047】
一方、AC用可変長符号テーブルデコーダ102には入力符号化データが入力され、AC4がデコードされて出力される。また、マルチプレクサ103においてはAC4がDCではないので、AC用可変長符号テーブルデコーダ102の出力が選択され、サイクル4における一つ目の復号化データ1として出力される。また、マルチプレクサ103の出力のうち符号長に相当する情報がシフタ部104へ入力され、シフタ部104においては入力符号化データがAC4の符号長分だけシフトされ、続く符号EOBを先頭とした符号化データ列を出力する。
【0048】
AC用可変長符号テーブルデコーダ105には、当該EOBを先頭とした符号化データ列が入力され、かつデコードしてマルチプレクサ108に出力される。復号化されたEOBのデータは、マルチプレクサ108において選択されてサイクル4における二つ目の復号化データ2として出力される。また、バレルシフタであるシフタ部104からは、EOBの符号長分さらにシフトされて次の符号DC3の先頭ビットが入力符号化データの先頭に来るような情報が入力符号を生成する側へ送られ、次のサイクルにおいて、入力符号化データは次の符号DC3の頭出しがされた状態で入力される。
【0049】
以下、サイクル5以降においても同様に復号化処理が繰り返され、入力される符号化データが終了するまで継続される。
【0050】
上述したように、本実施形態で説明したデータ復号化方法において対象となる符号化データは、周波数成分に変換された係数をDC及びACに分離され、それぞれに可変長符号を割り当てて符号化データストリームを形成する場合、DCに割り当てられた符号、ACに割り当てられた符号という順番で直交変換の単位となるブロック毎に形成され、これが符号化されるブロック数分だけ繰り返される。特にACにあっては、非ゼロ成分とその直前まで連続したゼロ成分の数との組み合わせをシンボルとし、可変長符号に割り当てられる。また、ブロック内の最後のACがゼロ成分である場合、EOBシンボルが可変長符号に割り当てられている。
【0051】
そして、上記方法で可変長符号化されたデータでは、あるブロックのDCに割り当てられた符号に続く次の符号が、他のDCに割り当てられた符号であることはない。すなわち、DCに割り当てられた符号が連続して発生することはない。このことは、1サイクルに2つの符号を同時に復号化する装置において、当該2つの符号のうち1つ目の符号を復号する部分が処理している符号(すなわち、符号化データ1)と、2つ目の符号を復号する部分が処理している符号(すなわち、符号化データ2)とが、同一サイクルにおいていずれもDCに割り当てられた符号であることはないということを意味している。
【0052】
これを利用して、本実施形態においては、従来の復号化装置において符号化データ2を復号するために具備していたDC用可変長符号テーブルデコーダを省略し、符号化データ2がDCである場合には、符号化データ1を復号する部分に具備しているDC用可変長符号テーブルを用いて符号化データ2を復号化するようにした。これは、符号化データ1がブロック内における最終符号である場合は、当該符号化データ1が画像における最終ブロックに属しない限り符号化データ2は必ずDCであることに基づいている。
【0053】
このように、本実施形態に係る復号化装置は、図4に示す従来の復号化装置と比較して、比較的大きな回路構成である可変長テーブルデコーダを1つ少なくした上で、復号化速度を損なうことのない復号化処理を行うことが可能である。尚、本実施形態に係る復号化装置は、図4に示す従来の復号化装置と比べて、新たにマルチプレクサ1つとブロック内最終符号検出部1つが増設されてはいるが、これらの回路規模は可変長テーブルデコーダの回路規模と比べて極めて小さい。したがって、本実施形態に係る復号化装置によれば、復号化速度を損なうことなく、従来の復号化装置よりも少ない回路規模で復号化を実現することを可能としている。
【0054】
尚、本発明は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
【0055】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0056】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0057】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明した復号化手順に対応するプログラムコードが格納されることになる。
【0058】
【発明の効果】
以上説明したように、本発明によれば、従来の復号化装置に比べてより小さな回路規模で、復号化速度を損うことなく復号化処理を実現することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る復号化装置の構成を示すブロック図である。
【図2】本実施形態に係る復号化装置に入力される符号化データの配列順を示す図である。
【図3】図2に示す符号化データが入力された場合の図1の復号化装置における各部から出力されるデータ例をサイクル毎に示した図である。
【図4】1サイクルで複数の符号を復号化する従来の復号化装置の一構成例を示すブロック図である。
【図5】本実施形態に係る復号化装置によるデータ復号化方法の手順について説明するためのフローチャートである。
【符号の説明】
101 DC用可変長符号テーブルデコーダ
102、105 AC用可変長符号テーブルデコーダ
103、104、107、108 マルチプレクサ103
106 ブロック内最終符号検出部
Claims (10)
- 第1の符号化データと後続の第2の符号化データとを含む符号化データを入力する入力手段と、
前記符号化データにおける前記第2の符号化データを先頭にして出力する出力手段と、
前記第1の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて該第1の符号化データを復号する第1の交流復号手段と、
前記第2の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて該第2の符号化データを復号する第2の交流復号手段と、
前記第1の符号化データ又は前記第2の符号化データが直流成分の場合、符号化時に使用された直流成分用符号テーブルに基づいて前記符号化データを復号する直流復号手段と
を備えることを特徴とするデータ復号装置。 - 第1の符号化データと後続の第2の符号化データとを含む符号化データを入力する入力工程と、
前記符号化データにおける前記第2の符号化データを先頭にして出力する出力工程と、
前記第1の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて第1の交流復号手段により該第1の符号化データを復号する第1の交流復号工程と、
前記第2の符号化データが交流成分の場合、符号化時に使用された交流成分用符号テーブルに基づいて第2の交流復号手段により該第2の符号化データを復号する第2の交流復号工程と、
前記第1の符号化データ又は前記第2の符号化データが直流成分の場合、符号化時に使用された直流成分用符号テーブルに基づいて単一の直流復号手段により前記符号化データを復号する直流復号工程と
を有することを特徴とするデータ復号方法。 - 第1の符号化データと該第1の符号化データがビットシフトされた第2の符号化データとを含む符号化データを復号するデータ復号方法であって、
前記第1の符号化データが交流成分の場合、符号化時に使用された交流成分用可変長符号テーブルに基づいて該第1の符号化データを復号する第1の復号工程と、
前記符号化データをビットシフトして前記第2の符号化データを出力するシフト工程と、
前記第1の符号化データ又は前記第2の符号化データのいずれかを選択する第1の選択工程と、
前記第1の選択工程で選択された符号化データが直流成分の場合、符号化時に使用された直流成分用可変長符号テーブルに基づいて該符号化データを復号化する第2の復号工程と、
前記第1の復号工程又は前記第2の復号工程のいずれかによる復号データを第1の復号データとして選択する第2の選択工程と、
前記第2の符号化データが交流成分の場合、符号化時に使用された交流成分用可変長符号テーブルに基づいて該第2の符号化データを復号する第3の復号工程と、
前記第2の復号工程又は前記第3の復号工程のいずれかによる復号データを第2の復号データとして選択する第3の選択工程と
を有することを特徴とするデータ復号方法。 - 前記第1の復号工程による復号データに基づいて、該第1の復号工程で復号された符号化データがブロック内における最終符号であるか否かを検出する検出工程をさらに有し、
該検出工程の検出結果に基づいて、前記第1の選択工程が符号化データを選択し、前記第3の選択工程が復号データを選択する
ことを特徴とする請求項3に記載のデータ復号方法。 - 前記検出工程が、ブロックの終わりを表す最終符号を検出することを特徴とする請求項4に記載のデータ復号方法。
- 前記検出工程が、ブロックの終わりを表す最終符号を検出した場合、前記第1の選択工程は、前記第1の符号化データを選択し、前記第3の選択工程は、前記第3の復号工程による復号データを選択し、
前記検出工程が、ブロックの終わりを表す最終符号ではない符号を検出した場合、前記第1の選択工程は、前記第2の符号化データを選択し、前記第3の選択工程は、前記第2の復号工程による復号データを選択する
ことを特徴とする請求項5に記載のデータ復号方法。 - 前記第1の復号工程及び前記第3の復号工程が、ブロック内における最終符号を復号することを特徴とする請求項4に記載のデータ復号方法。
- 前記第1の選択工程は、入力された符号化データが直流成分の場合、前記第2の復号工程による復号データを選択し、該符号化データが交流成分の場合、前記第1の復号工程による復号データを選択する請求項3から7までのいずれか1項に記載のデータ復号方法。
- 前記符号化データが、画像データをブロック分割して該ブロック単位に直交変換し、直交変換された係数を量子化し、量子化された係数のうち直流成分については予測値との差分を直流成分用の可変長符号テーブルに割り当て、交流成分についてはゼロでない交流成分とその直前に続いたゼロの数とを交流成分用の可変長符号テーブルに割り当てることによって符号化されたデータであることを特徴とする請求項3から8までのいずれか1項に記載のデータ復号方法。
- 第1の符号化データと該第1の符号化データがビットシフトされた第2の符号化データとを含む符号化データを入力する入力手段と、
前記第1の符号化データが交流成分の場合、符号化時に使用された交流成分用可変長符号テーブルに基づいて該第1の符号化データを復号する第1の復号手段と、
前記符号化データをビットシフトして前記第2の符号化データを出力するシフト手段と、
前記第1の符号化データ又は前記第2の符号化データのいずれかを選択する第1の選択手段と、
前記第1の選択手段で選択された符号化データが直流成分の場合、符号化時に使用された直流成分用可変長符号テーブルに基づいて該符号化データを復号する第2の復号手段と、
前記第1の復号手段又は前記第2の復号手段のいずれかによる復号データを第1の復号データとして選択する第2の選択手段と、
前記第2の符号化データが交流成分の場合、符号化時に使用された交流成分用可変長符号テーブルに基づいて該第2の符号化データを復号する第3の復号手段と、
前記第2の復号手段又は前記第3の復号手段のいずれかによる復号データを第2の復号データとして選択する第3の選択手段と
を備えることを特徴とするデータ復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003013738A JP4095454B2 (ja) | 2003-01-22 | 2003-01-22 | データ復号装置及びデータ復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003013738A JP4095454B2 (ja) | 2003-01-22 | 2003-01-22 | データ復号装置及びデータ復号方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004228898A JP2004228898A (ja) | 2004-08-12 |
JP2004228898A5 JP2004228898A5 (ja) | 2006-03-09 |
JP4095454B2 true JP4095454B2 (ja) | 2008-06-04 |
Family
ID=32901990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003013738A Expired - Fee Related JP4095454B2 (ja) | 2003-01-22 | 2003-01-22 | データ復号装置及びデータ復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4095454B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013016897A (ja) | 2011-06-30 | 2013-01-24 | Toshiba Corp | 可変長符号復号装置、符号システムおよび可変長符号復号方法 |
-
2003
- 2003-01-22 JP JP2003013738A patent/JP4095454B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004228898A (ja) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595055B2 (en) | Methods and apparatus to parallelize data decompression | |
US5801650A (en) | Decoding apparatus and method | |
JP4139330B2 (ja) | 改良された可変長デコーダ | |
JP2010136417A (ja) | データ圧縮装置、及びデータ復元装置 | |
JP2006211621A (ja) | データ圧縮装置、及びデータ復元装置 | |
JP2008113374A (ja) | エントロピー符号化装置 | |
JP2001308715A (ja) | 可変長符号化装置および可変長復号装置 | |
JPH1065549A (ja) | 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法 | |
JP2010109492A (ja) | 画像処理装置、画像処理方法、プログラム及び記憶媒体 | |
JP2006093958A (ja) | プログレッシブjpeg復号化システム | |
US7683809B2 (en) | Advanced lossless bit coding | |
JP4095454B2 (ja) | データ復号装置及びデータ復号方法 | |
JP2013016897A (ja) | 可変長符号復号装置、符号システムおよび可変長符号復号方法 | |
JP2003189109A (ja) | 画像処理装置及び方法、並びにコンピュータ・プログラム | |
JP2002026737A (ja) | データ復号化装置とその方法 | |
KR100647192B1 (ko) | 데이터의 복원 시간을 단축하는 데이터 압축 장치 및 그방법 | |
JP4013680B2 (ja) | 復号装置および復号方法 | |
JP2003174365A (ja) | 復号化装置及びその方法 | |
JP3417684B2 (ja) | 画像処理装置 | |
JP2003348355A (ja) | 画像処理装置及びその制御方法 | |
KR0152035B1 (ko) | 가변장복호화방법 및 그 장치 | |
JP2003333339A (ja) | 画像符号化装置及び画像符号化方法 | |
KR100686354B1 (ko) | 가변 트리를 이용한 허프만 복호화 방법 및 장치 | |
JP2003218704A (ja) | 可変長符号化方法及び装置並びに可変長復号化方法及び装置 | |
JPH06152988A (ja) | 可変長符号の復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080218 |
|
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: 20080222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080307 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
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: 20120314 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140314 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |