JPH07273661A - 圧縮符号化復号化装置 - Google Patents
圧縮符号化復号化装置Info
- Publication number
- JPH07273661A JPH07273661A JP5648994A JP5648994A JPH07273661A JP H07273661 A JPH07273661 A JP H07273661A JP 5648994 A JP5648994 A JP 5648994A JP 5648994 A JP5648994 A JP 5648994A JP H07273661 A JPH07273661 A JP H07273661A
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- table memory
- output
- circuit
- 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.)
- Pending
Links
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)
- Image Processing (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【目的】この発明は、符号化処理時と復号化処理時とで
同じメモリを供用できるようにした符号化及び復号化の
アルゴリズムを実現し、回路規模の縮小化を図り得る圧
縮符号化復号化装置を提供することを目的としている。 【構成】符号化手段に使用される下限コードポインタテ
ーブルメモリと復号化手段に使用される上限コードポイ
ンタテーブルメモリと、符号化手段に使用されるコード
番号テーブルメモリと復号化手段に使用される逆変換テ
ーブルメモリと、符号化手段に使用される下限コードテ
ーブルメモリと復号化手段に使用される上限コードテー
ブルメモリとを、それぞれ符号化処理時と復号化処理時
とで供用するようにしている。
同じメモリを供用できるようにした符号化及び復号化の
アルゴリズムを実現し、回路規模の縮小化を図り得る圧
縮符号化復号化装置を提供することを目的としている。 【構成】符号化手段に使用される下限コードポインタテ
ーブルメモリと復号化手段に使用される上限コードポイ
ンタテーブルメモリと、符号化手段に使用されるコード
番号テーブルメモリと復号化手段に使用される逆変換テ
ーブルメモリと、符号化手段に使用される下限コードテ
ーブルメモリと復号化手段に使用される上限コードテー
ブルメモリとを、それぞれ符号化処理時と復号化処理時
とで供用するようにしている。
Description
【0001】
【産業上の利用分野】この発明は、例えばデジタル画像
データを直交変換してハフマン符号化処理することによ
り圧縮するとともに、この圧縮されたデータを復号化処
理して伸張する圧縮符号化復号化装置の改良に関する。
データを直交変換してハフマン符号化処理することによ
り圧縮するとともに、この圧縮されたデータを復号化処
理して伸張する圧縮符号化復号化装置の改良に関する。
【0002】
【従来の技術】周知のように、静止画像データの圧縮方
式としては、DCT(離散コサイン変換)技術を用いた
JPEG(Joint Photographic Expart Group )方式が
知られている。図9は、JPEG方式による符号化及び
復号化処理の基本システムを示している。画像データ
は、水平方向8画素×垂直方向8画素の合計64画素で
なる画像ブロックに分割されて入力画像データとなる。
データ処理は、画像ブロック単位でなされ、1画面分の
画像ブロックが順次処理される。まず、1つの画像ブロ
ックは、FDCT回路11に供給され、(1)式に基づ
いて2次元DCT処理が施されることで、係数Suvに
変換される。
式としては、DCT(離散コサイン変換)技術を用いた
JPEG(Joint Photographic Expart Group )方式が
知られている。図9は、JPEG方式による符号化及び
復号化処理の基本システムを示している。画像データ
は、水平方向8画素×垂直方向8画素の合計64画素で
なる画像ブロックに分割されて入力画像データとなる。
データ処理は、画像ブロック単位でなされ、1画面分の
画像ブロックが順次処理される。まず、1つの画像ブロ
ックは、FDCT回路11に供給され、(1)式に基づ
いて2次元DCT処理が施されることで、係数Suvに
変換される。
【0003】
【数1】 このうち、係数S00はDC(直流)係数と称され、その
他の63個の係数Suv(u≠0,v≠0)はAC(交
流)係数と称される。
他の63個の係数Suv(u≠0,v≠0)はAC(交
流)係数と称される。
【0004】次に、これらの係数Suvは、量子化回路
12に供給され、量子化テーブルメモリ13に格納され
た量子化テーブルQuvを用いて、(2)式に基づいて
係数位置毎に異なるステップサイズで線形量子化処理が
施されることで、係数ruvに変換される。
12に供給され、量子化テーブルメモリ13に格納され
た量子化テーブルQuvを用いて、(2)式に基づいて
係数位置毎に異なるステップサイズで線形量子化処理が
施されることで、係数ruvに変換される。
【0005】
【数2】
【0006】これらの係数ruvは、ハフマン符号化回路
14に供給され、ハフマンテーブルメモリ15に格納さ
れたハフマン符号化テーブルに基づいて、図10に示す
ジグザグスキャン順序でエントロピー符号の一種である
ハフマン符号に順次変換される。ハフマン符号化のアル
ゴリズムは、DC係数r00とAC係数ruv(u≠0,v
≠0)とで異なっている。
14に供給され、ハフマンテーブルメモリ15に格納さ
れたハフマン符号化テーブルに基づいて、図10に示す
ジグザグスキャン順序でエントロピー符号の一種である
ハフマン符号に順次変換される。ハフマン符号化のアル
ゴリズムは、DC係数r00とAC係数ruv(u≠0,v
≠0)とで異なっている。
【0007】このようにして得られた画像の圧縮データ
は、加算回路16により、入力端子17に供給された所
定の付加データが加算されて、例えば伝送路18に送出
されたり、光ディスク等の蓄積装置19に蓄積される。
は、加算回路16により、入力端子17に供給された所
定の付加データが加算されて、例えば伝送路18に送出
されたり、光ディスク等の蓄積装置19に蓄積される。
【0008】一方、上記伝送路18や蓄積装置19から
得られる圧縮データは、減算回路20により付加データ
が出力端子21に取り出された後、ハフマンテーブルメ
モリ15に格納されたハフマン復号化テーブルに基づい
て、ハフマン復号化処理が施される。そして、復号化さ
れた64個の係数ruvは、逆量子化回路23に供給さ
れ、符号化時に用いた量子化テーブルQuvを用いて
(3)式に基づいて逆量子化処理が施されることで、係
数S′uvに変換される。
得られる圧縮データは、減算回路20により付加データ
が出力端子21に取り出された後、ハフマンテーブルメ
モリ15に格納されたハフマン復号化テーブルに基づい
て、ハフマン復号化処理が施される。そして、復号化さ
れた64個の係数ruvは、逆量子化回路23に供給さ
れ、符号化時に用いた量子化テーブルQuvを用いて
(3)式に基づいて逆量子化処理が施されることで、係
数S′uvに変換される。
【0009】
【数3】
【0010】ここで得られた係数S′uvは、符号化時
の係数Suvに対して、整数値への丸めによる誤差を含
んでいる。この係数S′uvは、IDCT回路24に供
給され逆DCT処理が施されることで、1つの画像ブロ
ックが復元される。そして、これら一連の伸張処理が各
画像ブロック毎に順次行なわれて、1画面分の再生画像
が復元される。
の係数Suvに対して、整数値への丸めによる誤差を含
んでいる。この係数S′uvは、IDCT回路24に供
給され逆DCT処理が施されることで、1つの画像ブロ
ックが復元される。そして、これら一連の伸張処理が各
画像ブロック毎に順次行なわれて、1画面分の再生画像
が復元される。
【0011】ここで、AC係数のハフマン符号化及び復
号化の詳細なアルゴリズムについて説明する。まず、図
11は、ハフマン符号化回路14の構成を示している。
すなわち、入力端子25に供給された係数ruvは、11
ビットのデータ幅を持ち、ゼロラン長カウンタ26,グ
ループ検出回路27及び付加ビット切り出し回路28に
それぞれ供給されている。
号化の詳細なアルゴリズムについて説明する。まず、図
11は、ハフマン符号化回路14の構成を示している。
すなわち、入力端子25に供給された係数ruvは、11
ビットのデータ幅を持ち、ゼロラン長カウンタ26,グ
ループ検出回路27及び付加ビット切り出し回路28に
それぞれ供給されている。
【0012】このうち、ゼロラン長カウンタ26は、係
数ruvのゼロラン長Nをカウントして出力するもので、
係数ruvが零の場合に最大15までカウント・アップさ
れ、係数ruvが非零になったとき零にリセットされる。
なお、このゼロラン長カウンタ26は、1画像ブロック
に対する処理の終了時にもリセットされる。
数ruvのゼロラン長Nをカウントして出力するもので、
係数ruvが零の場合に最大15までカウント・アップさ
れ、係数ruvが非零になったとき零にリセットされる。
なお、このゼロラン長カウンタ26は、1画像ブロック
に対する処理の終了時にもリセットされる。
【0013】また、グループ検出回路27は、図12に
示すように、係数ruvをグループ番号Sに変換する。こ
のグループ番号Sは、係数ruvの有効ビット長を意味し
てる。さらに、付加ビット切り出し回路28は、係数r
uvとグループ番号Sとに基づいて係数ruvの有効ビット
Bのみを出力している。
示すように、係数ruvをグループ番号Sに変換する。こ
のグループ番号Sは、係数ruvの有効ビット長を意味し
てる。さらに、付加ビット切り出し回路28は、係数r
uvとグループ番号Sとに基づいて係数ruvの有効ビット
Bのみを出力している。
【0014】ここで、ゼロラン長Nとグループ番号Sと
は、コード変換ROM(Read OnlyMenory)29及びコ
ード長変換ROM30にそれぞれ供給されている。この
コード変換ROM29は、ゼロラン長Nとグループ番号
Sとをアドレスデータとすることにより、所定のコード
HCをコード切り出し回路31に出力している。また、
コード長変換ROM30は、ゼロラン長Nとグループ番
号Sとをアドレスデータとすることにより、所定のコー
ド長HSをコード切り出し回路31に出力している。こ
の場合、コード長HSは、コードHCの有効ビット長を
表わしている。
は、コード変換ROM(Read OnlyMenory)29及びコ
ード長変換ROM30にそれぞれ供給されている。この
コード変換ROM29は、ゼロラン長Nとグループ番号
Sとをアドレスデータとすることにより、所定のコード
HCをコード切り出し回路31に出力している。また、
コード長変換ROM30は、ゼロラン長Nとグループ番
号Sとをアドレスデータとすることにより、所定のコー
ド長HSをコード切り出し回路31に出力している。こ
の場合、コード長HSは、コードHCの有効ビット長を
表わしている。
【0015】図13は、上記ゼロラン長N及びグループ
番号SとコードHC及びコード長HSとの関係を示して
いる。そして、コード切り出し回路31は、コードHC
とコード長HSとに基づいて、コードHCの有効ビット
HC′のみを出力している。このコードHCの有効ビッ
トHC′と、付加ビット切り出し回路28から出力され
る係数ruvの有効ビットBとは、合成回路32に供給に
より接合されてコードCが生成される。このコードC
が、ハフマン符号化された画像の圧縮データとして、出
力端子33から取り出される。
番号SとコードHC及びコード長HSとの関係を示して
いる。そして、コード切り出し回路31は、コードHC
とコード長HSとに基づいて、コードHCの有効ビット
HC′のみを出力している。このコードHCの有効ビッ
トHC′と、付加ビット切り出し回路28から出力され
る係数ruvの有効ビットBとは、合成回路32に供給に
より接合されてコードCが生成される。このコードC
が、ハフマン符号化された画像の圧縮データとして、出
力端子33から取り出される。
【0016】実際の動作例として、下記のような係数r
uvが入力された場合について説明する。ここで、ジグザ
グスキャンされたAC係数ruvをrnとする。 rn=0,0,8,−6,…… (0≦n<63)
まず、r0(=0)が入力されると、ゼ
ロラン長カウンタ26は、カウント・アップされて
“1”となる。なお、入力rnが零の場合はゼロラン長
カウンタ26以外は動作しないものとする。
uvが入力された場合について説明する。ここで、ジグザ
グスキャンされたAC係数ruvをrnとする。 rn=0,0,8,−6,…… (0≦n<63)
まず、r0(=0)が入力されると、ゼ
ロラン長カウンタ26は、カウント・アップされて
“1”となる。なお、入力rnが零の場合はゼロラン長
カウンタ26以外は動作しないものとする。
【0017】続いて、r1(=0)が入力されると、ゼ
ロラン長カウンタ26は、さらにカウント・アップされ
て“2”となる。次に、r2[=8=00000001000(2
進)]が入力されると、ゼロラン長カウンタ26は、カ
ウント・アップされず“2”を保持する。このとき、グ
ループ検出回路27からは、図12に基づいてグループ
番号S(=4)が出力される。このため、付加ビット切
り出し回路28では、r2の下位4ビットを有効ビット
として切り出し、有効ビットB[=1000(2進)]を出
力している。
ロラン長カウンタ26は、さらにカウント・アップされ
て“2”となる。次に、r2[=8=00000001000(2
進)]が入力されると、ゼロラン長カウンタ26は、カ
ウント・アップされず“2”を保持する。このとき、グ
ループ検出回路27からは、図12に基づいてグループ
番号S(=4)が出力される。このため、付加ビット切
り出し回路28では、r2の下位4ビットを有効ビット
として切り出し、有効ビットB[=1000(2進)]を出
力している。
【0018】一方、コード変換ROM29からは、ゼロ
ラン長Nが2でグループ番号Sが4であることから、図
13に基づいてコードHC[=0000111111110100(2
進)]が出力され、コード変換ROM29からは、同様
にコード長HS(=12)が出力される。このため、コ
ード切り出し回路31は、コードHC[=000011111111
0100(2進)]の下位12ビットを有効ビットとして切
り出し、コードHC′[=111111110100(2進)]を出
力している。
ラン長Nが2でグループ番号Sが4であることから、図
13に基づいてコードHC[=0000111111110100(2
進)]が出力され、コード変換ROM29からは、同様
にコード長HS(=12)が出力される。このため、コ
ード切り出し回路31は、コードHC[=000011111111
0100(2進)]の下位12ビットを有効ビットとして切
り出し、コードHC′[=111111110100(2進)]を出
力している。
【0019】そして、合成回路32が、有効ビットB
[=1000(2進)]とコードHC′[=111111110100
(2進)]とを接合して、コードC[=11111111010010
00(2進)]を出力する。このコードC[=1111111101
001000(2進)]は、上記r0〜r2をハフマン符号化し
たことになる。ここで、ゼロラン長カウンタ26は、零
にリセットされる。
[=1000(2進)]とコードHC′[=111111110100
(2進)]とを接合して、コードC[=11111111010010
00(2進)]を出力する。このコードC[=1111111101
001000(2進)]は、上記r0〜r2をハフマン符号化し
たことになる。ここで、ゼロラン長カウンタ26は、零
にリセットされる。
【0020】次に、r3[=−6=11111111010(2
進)]が入力されると、ゼロラン長カウンタ26は、カ
ウント・アップされずN=0となる。このとき、グルー
プ検出回路27からは、図12に基づいてグループ番号
S(=3)が出力される。このため、付加ビット切り出
し回路28では、r3の下位3ビットを有効ビットとし
て切り出し、有効ビットB[=010(2進)]を出力す
る。
進)]が入力されると、ゼロラン長カウンタ26は、カ
ウント・アップされずN=0となる。このとき、グルー
プ検出回路27からは、図12に基づいてグループ番号
S(=3)が出力される。このため、付加ビット切り出
し回路28では、r3の下位3ビットを有効ビットとし
て切り出し、有効ビットB[=010(2進)]を出力す
る。
【0021】一方、コード変換ROM29からは、ゼロ
ラン長Nが0でグループ番号Sが3であることから、図
13に基づいてコードHC[=0000000000000100(2
進)]が出力され、コード変換ROM29からは、同様
にコード長HS(=3)が出力される。このため、コー
ド切り出し回路31は、コードHC[=00000000000001
00(2進)]の下位3ビットを有効ビットとして切り出
し、コードHC′[=100(2進)]を出力している。
ラン長Nが0でグループ番号Sが3であることから、図
13に基づいてコードHC[=0000000000000100(2
進)]が出力され、コード変換ROM29からは、同様
にコード長HS(=3)が出力される。このため、コー
ド切り出し回路31は、コードHC[=00000000000001
00(2進)]の下位3ビットを有効ビットとして切り出
し、コードHC′[=100(2進)]を出力している。
【0022】そして、合成回路32が、有効ビットB
[=010(2進)]とコードHC′[=100(2進)]とを
接合して、コードC[=100010(2進)]を出力する。
このコードC[=100010(2進)]は、上記r3をハフ
マン符号化したことになる。以下、同様に、1画面分の
全画像ブロック分に相当するAC係数ruvが順次ハフマ
ン符号化される。
[=010(2進)]とコードHC′[=100(2進)]とを
接合して、コードC[=100010(2進)]を出力する。
このコードC[=100010(2進)]は、上記r3をハフ
マン符号化したことになる。以下、同様に、1画面分の
全画像ブロック分に相当するAC係数ruvが順次ハフマ
ン符号化される。
【0023】次に、図14は、ハフマン復号化回路22
の構成を示している。すなわち、ハフマン符号化回路1
4で符号化された圧縮データは、シリアルデータで入力
端子34を介してSIPO(Serial in Parallel Out)
回路35に供給され、タイミング信号生成回路36から
出力されるクロック信号に基づいて、16ビット幅のパ
ラレルデータに変換される。SIPO回路35は、タイ
ミング信号生成回路36から出力されるクリア信号に基
づいて、パラレル出力が零にセットされる。
の構成を示している。すなわち、ハフマン符号化回路1
4で符号化された圧縮データは、シリアルデータで入力
端子34を介してSIPO(Serial in Parallel Out)
回路35に供給され、タイミング信号生成回路36から
出力されるクロック信号に基づいて、16ビット幅のパ
ラレルデータに変換される。SIPO回路35は、タイ
ミング信号生成回路36から出力されるクリア信号に基
づいて、パラレル出力が零にセットされる。
【0024】また、タイミング信号生成回路36から出
力されるクロック信号及びクリア信号は、カウンタ37
にも供給される。このカウンタ37は、クロック信号に
よりカウント・アップされ、クリア信号により零にセッ
トされる。
力されるクロック信号及びクリア信号は、カウンタ37
にも供給される。このカウンタ37は、クロック信号に
よりカウント・アップされ、クリア信号により零にセッ
トされる。
【0025】ここで、このSIPO回路35の出力デー
タは、大小比較回路38,加算回路39及び選択回路4
0にそれぞれ供給される。また、カウンタ37の出力
は、上限コードテーブルメモリ41,ポインタテーブル
メモリ42及び下限コードテーブルメモリ43に、それ
ぞれアドレスデータとして供給される。このうち、上限
コードテーブルメモリ41には、コードHCにおいて、
同じコード長を持つコード群のうち最も大きな値を持つ
コードが、コード長順に符号付き2の補数表現で書き込
まれている。
タは、大小比較回路38,加算回路39及び選択回路4
0にそれぞれ供給される。また、カウンタ37の出力
は、上限コードテーブルメモリ41,ポインタテーブル
メモリ42及び下限コードテーブルメモリ43に、それ
ぞれアドレスデータとして供給される。このうち、上限
コードテーブルメモリ41には、コードHCにおいて、
同じコード長を持つコード群のうち最も大きな値を持つ
コードが、コード長順に符号付き2の補数表現で書き込
まれている。
【0026】図15は、上限コードテーブルメモリ41
に書き込まれた上限コードテーブルの一例を示してい
る。なお、“−1”は、そのコード長のコードが存在し
ないことを意味している。このため、上限コードテーブ
ルメモリ41は、コード長が入力されると、そのコード
長のうち最も大きな値を持つコードHCを出力する。
に書き込まれた上限コードテーブルの一例を示してい
る。なお、“−1”は、そのコード長のコードが存在し
ないことを意味している。このため、上限コードテーブ
ルメモリ41は、コード長が入力されると、そのコード
長のうち最も大きな値を持つコードHCを出力する。
【0027】また、大小比較回路38は、SIPO回路
35の出力データと上限コードテーブルメモリ41の出
力データとの大小比較を行ない、その比較結果をタイミ
ング信号生成回路36に出力している。さらに、上記下
限コードテーブルメモリ43には、コードHCにおい
て、同じコード長を持つコード群のうち最も小さな値を
持つコードがコード長順に書き込まれている。図16
は、下限コードテーブルメモリ43に書き込まれた下限
コードテーブルの一例を示している。つまり、下限コー
ドテーブルメモリ43は、コード長が入力されると、そ
のコード長のうち最も小さな値を持つコードHCを出力
する。
35の出力データと上限コードテーブルメモリ41の出
力データとの大小比較を行ない、その比較結果をタイミ
ング信号生成回路36に出力している。さらに、上記下
限コードテーブルメモリ43には、コードHCにおい
て、同じコード長を持つコード群のうち最も小さな値を
持つコードがコード長順に書き込まれている。図16
は、下限コードテーブルメモリ43に書き込まれた下限
コードテーブルの一例を示している。つまり、下限コー
ドテーブルメモリ43は、コード長が入力されると、そ
のコード長のうち最も小さな値を持つコードHCを出力
する。
【0028】さらに、上記ポインタテーブルメモリ42
には、下限コードのコードHC生成番号が下限コードの
コード長順に書き込まれている。このコードHC生成番
号とは、コードHCに対してコード長順でかつ値の小さ
い順に昇順に付けられる番号である。図17は、ポイン
タテーブルメモリ42に書き込まれたポインタテーブル
の一例を示している。このポインタテーブルメモリ42
は、コード長が入力されると、そのコード長の下限コー
ドのコードHC生成番号を出力する。
には、下限コードのコードHC生成番号が下限コードの
コード長順に書き込まれている。このコードHC生成番
号とは、コードHCに対してコード長順でかつ値の小さ
い順に昇順に付けられる番号である。図17は、ポイン
タテーブルメモリ42に書き込まれたポインタテーブル
の一例を示している。このポインタテーブルメモリ42
は、コード長が入力されると、そのコード長の下限コー
ドのコードHC生成番号を出力する。
【0029】また、上記加算回路39は、SIPO回路
35の出力データとポインタテーブルメモリ42の出力
データとを加算し、その加算結果を減算回路44に出力
している。この減算回路44は、加算回路39の出力デ
ータから下限コードテーブルメモリ43の出力データを
減算し、その減算結果を逆変換テーブルメモリ45に出
力している。
35の出力データとポインタテーブルメモリ42の出力
データとを加算し、その加算結果を減算回路44に出力
している。この減算回路44は、加算回路39の出力デ
ータから下限コードテーブルメモリ43の出力データを
減算し、その減算結果を逆変換テーブルメモリ45に出
力している。
【0030】この逆変換テーブルメモリ45は、減算回
路44の出力データをアドレスデータとしてグループ番
号Sとゼロラン長Nとを出力する。図18は、逆変換テ
ーブルメモリ45に書き込まれた逆変換テーブルの一例
を示している。そして、逆変換テーブルメモリ45の出
力のうち、グループ番号Sはタイミング信号生成回路3
6に供給され、ゼロラン長Nは大小比較回路46に供給
される。
路44の出力データをアドレスデータとしてグループ番
号Sとゼロラン長Nとを出力する。図18は、逆変換テ
ーブルメモリ45に書き込まれた逆変換テーブルの一例
を示している。そして、逆変換テーブルメモリ45の出
力のうち、グループ番号Sはタイミング信号生成回路3
6に供給され、ゼロラン長Nは大小比較回路46に供給
される。
【0031】この大小比較回路46は、逆変換テーブル
メモリ45から出力されるゼロラン長Nと、タイミング
信号生成回路36から出力されるクロック信号によりカ
ウント・アップし、クリア信号により零にセットされる
カウンタ47の出力データとを大小比較し、その比較結
果をタイミング信号生成回路36に出力している。
メモリ45から出力されるゼロラン長Nと、タイミング
信号生成回路36から出力されるクロック信号によりカ
ウント・アップし、クリア信号により零にセットされる
カウンタ47の出力データとを大小比較し、その比較結
果をタイミング信号生成回路36に出力している。
【0032】ここで、上記選択回路40には、SIPO
回路35の出力データと入力端子48に供給された値
“0”とが供給されており、タイミング信号生成回路3
6から出力される選択信号に基づいて、いずれか一方が
選択されてレジスタ49に出力される。このレジスタ4
9は、タイミング信号生成回路36から出力されるクロ
ック信号により入力データをラッチする。そして、この
ラッチしたデータが、ハフマン復号化された画像のデー
タとして、出力端子50から取り出される。
回路35の出力データと入力端子48に供給された値
“0”とが供給されており、タイミング信号生成回路3
6から出力される選択信号に基づいて、いずれか一方が
選択されてレジスタ49に出力される。このレジスタ4
9は、タイミング信号生成回路36から出力されるクロ
ック信号により入力データをラッチする。そして、この
ラッチしたデータが、ハフマン復号化された画像のデー
タとして、出力端子50から取り出される。
【0033】実際の動作例として、前述した符号化デー
タであるコードC[=1111111101001000(2進)]を復
号化する動作について説明する。まず、SIPO回路3
5及びカウンタ37,47は、タイミング信号生成回路
36から出力されるクリア信号により零にセットされ
る。次に、タイミング信号生成回路36から1クロック
分のクロック信号が、SIPO回路35及びカウンタ3
7にそれぞれ出力される。これにより、カウンタ37の
出力は“1”となり、SIPO回路35の出力は、コー
ドC[=1111111101001000(2進)]のMSB(最上位
ビット)がSIPO回路35のLSB(最下位ビット)
位置にセットされることにより、“0000000000000001
(2進)”となって大小比較回路38に供給される。
タであるコードC[=1111111101001000(2進)]を復
号化する動作について説明する。まず、SIPO回路3
5及びカウンタ37,47は、タイミング信号生成回路
36から出力されるクリア信号により零にセットされ
る。次に、タイミング信号生成回路36から1クロック
分のクロック信号が、SIPO回路35及びカウンタ3
7にそれぞれ出力される。これにより、カウンタ37の
出力は“1”となり、SIPO回路35の出力は、コー
ドC[=1111111101001000(2進)]のMSB(最上位
ビット)がSIPO回路35のLSB(最下位ビット)
位置にセットされることにより、“0000000000000001
(2進)”となって大小比較回路38に供給される。
【0034】この場合、上限コードテーブルメモリ41
は、カウンタ37の出力が“1”であるから図15より
“11111111111111111(2進)”を出力し、この出力デー
タが大小比較回路38に供給される。大小比較回路38
は、2つの入力データの大小関係を比較し、その比較結
果をタイミング信号生成回路36に出力する。タイミン
グ信号生成回路36は、大小比較回路38の比較結果が SIPO回路35の出力値≦上限コードテーブルメモリ
41の出力値 となるまで、SIPO回路35とカウンタ37とにクロ
ック信号を供給する。
は、カウンタ37の出力が“1”であるから図15より
“11111111111111111(2進)”を出力し、この出力デー
タが大小比較回路38に供給される。大小比較回路38
は、2つの入力データの大小関係を比較し、その比較結
果をタイミング信号生成回路36に出力する。タイミン
グ信号生成回路36は、大小比較回路38の比較結果が SIPO回路35の出力値≦上限コードテーブルメモリ
41の出力値 となるまで、SIPO回路35とカウンタ37とにクロ
ック信号を供給する。
【0035】この結果、タイミング信号生成回路36は
12個のクロックを発生した時点、つまりカウンタ37
の出力値が“12”となった時点でクロック信号の発生
を停止する。このとき、SIPO回路35の出力は“00
00111111110100(2進)”であり、ポインタテーブルメ
モリ42は、カウンタ37の出力が“12”であるから
図17より“32”を出力している。このため、加算回
路39は、SIPO回路35の出力“0000111111110100
(2進)”とポインタテーブルメモリ42の出力“3
2”とを加算して、“0001000000010100(2進)”を出
力している。
12個のクロックを発生した時点、つまりカウンタ37
の出力値が“12”となった時点でクロック信号の発生
を停止する。このとき、SIPO回路35の出力は“00
00111111110100(2進)”であり、ポインタテーブルメ
モリ42は、カウンタ37の出力が“12”であるから
図17より“32”を出力している。このため、加算回
路39は、SIPO回路35の出力“0000111111110100
(2進)”とポインタテーブルメモリ42の出力“3
2”とを加算して、“0001000000010100(2進)”を出
力している。
【0036】また、下限コードテーブルメモリ43は、
カウンタ37の出力が“12”であるから図16より
“0000111111110100(2進)”を出力している。このた
め、減算回路44は、加算回路39の出力“0001000000
010100(2進)”から下限コードテーブルメモリ43の
出力“0000111111110100(2進)”を減算し、その出力
“0000000000100000(2進)”(=32)を逆変換テー
ブルメモリ45に出力する。
カウンタ37の出力が“12”であるから図16より
“0000111111110100(2進)”を出力している。このた
め、減算回路44は、加算回路39の出力“0001000000
010100(2進)”から下限コードテーブルメモリ43の
出力“0000111111110100(2進)”を減算し、その出力
“0000000000100000(2進)”(=32)を逆変換テー
ブルメモリ45に出力する。
【0037】すると、逆変換テーブルメモリ45は、図
18よりゼロラン長N=2、グループ番号S=4を出力
する。このうち、グループ番号S(=4)は、タイミン
グ信号生成回路36に供給される。これにより、タイミ
ング信号生成回路36は、クリア信号を発生してSIP
O回路35を零にセットした後、入力されたグループ番
号Sの値分(ここでは4つ)のクロック信号をSIPO
回路35に供給する。このため、SIPO回路35の出
力データは、“0000000000001000(2進)”となる。な
お、この出力データのうち、選択回路40にはLSB側
から8ビット分が供給される。
18よりゼロラン長N=2、グループ番号S=4を出力
する。このうち、グループ番号S(=4)は、タイミン
グ信号生成回路36に供給される。これにより、タイミ
ング信号生成回路36は、クリア信号を発生してSIP
O回路35を零にセットした後、入力されたグループ番
号Sの値分(ここでは4つ)のクロック信号をSIPO
回路35に供給する。このため、SIPO回路35の出
力データは、“0000000000001000(2進)”となる。な
お、この出力データのうち、選択回路40にはLSB側
から8ビット分が供給される。
【0038】また、大小比較回路46は、逆変換テーブ
ルメモリ45から出力されるゼロラン長N(=2)と、
カウンタ47の出力値とが一致する場合に一致信号を、
そうでない場合に不一致信号をタイミング信号生成回路
36に出力する。タイミング信号生成回路36は、一致
信号が供給されたときは“0”を選択し、不一致信号が
供給されたときはSIPO回路35の出力を選択するよ
うに、選択回路40を制御する。
ルメモリ45から出力されるゼロラン長N(=2)と、
カウンタ47の出力値とが一致する場合に一致信号を、
そうでない場合に不一致信号をタイミング信号生成回路
36に出力する。タイミング信号生成回路36は、一致
信号が供給されたときは“0”を選択し、不一致信号が
供給されたときはSIPO回路35の出力を選択するよ
うに、選択回路40を制御する。
【0039】さらに、タイミング信号生成回路36は、
一致信号が入力された時点まで、カウンタ47とレジス
タ49に対してクロック信号を与える。これにより、レ
ジスタ49から出力されるデータは、“0,0,4”と
なり、元のデータに復元される。
一致信号が入力された時点まで、カウンタ47とレジス
タ49に対してクロック信号を与える。これにより、レ
ジスタ49から出力されるデータは、“0,0,4”と
なり、元のデータに復元される。
【0040】しかしながら、上記のような従来の符号化
及び復号化手段では、データ変換のために多数のメモリ
を用いる必要があるため、構成の複雑化及び大型化を招
き、経済的に不利になるという問題が生じている。
及び復号化手段では、データ変換のために多数のメモリ
を用いる必要があるため、構成の複雑化及び大型化を招
き、経済的に不利になるという問題が生じている。
【0041】すなわち、符号化手段では、コード変換R
OM29[容量;4096ビット(=256 バイト×16ビッ
ト)]と、コード長変換ROM30[容量;1024ビット
(=256 バイト×4 ビット)]とを必要とし、復号化手
段では、上限コードテーブルメモリ41[容量;289 ビ
ット(=17バイト×17ビット)]と、ポインタテーブル
メモリ42[容量;136 ビット(=17バイト×8 ビッ
ト)]と、下限コードテーブルメモリ43[容量;272
ビット(=16バイト×17ビット)]と、逆変換テーブル
メモリ45[容量;2048ビット(=256 バイト×8 ビッ
ト)]とを必要とする。
OM29[容量;4096ビット(=256 バイト×16ビッ
ト)]と、コード長変換ROM30[容量;1024ビット
(=256 バイト×4 ビット)]とを必要とし、復号化手
段では、上限コードテーブルメモリ41[容量;289 ビ
ット(=17バイト×17ビット)]と、ポインタテーブル
メモリ42[容量;136 ビット(=17バイト×8 ビッ
ト)]と、下限コードテーブルメモリ43[容量;272
ビット(=16バイト×17ビット)]と、逆変換テーブル
メモリ45[容量;2048ビット(=256 バイト×8 ビッ
ト)]とを必要とする。
【0042】ところで、符号化及び復号化の双方の機能
を1つの装置で持ち、かつ双方の機能を同時に使用しな
い装置、例えば再生機能付き電子スチルカメラ等を考え
た場合、このような装置では、例えばRAM(Random A
ccess Memory)等の書き換え可能なメモリを用い、同一
メモリを符号化処理用と復号化処理用とに極力供用させ
ることができれば、回路規模の縮小化を図り経済的にも
有利とすることができる。
を1つの装置で持ち、かつ双方の機能を同時に使用しな
い装置、例えば再生機能付き電子スチルカメラ等を考え
た場合、このような装置では、例えばRAM(Random A
ccess Memory)等の書き換え可能なメモリを用い、同一
メモリを符号化処理用と復号化処理用とに極力供用させ
ることができれば、回路規模の縮小化を図り経済的にも
有利とすることができる。
【0043】ところが、上述した従来の符号化処理及び
復号化処理のアルゴリズムでは、取り扱うデータ列やデ
ータ幅等が、符号化処理時と復号化処理時とで大きく異
なるため、メモリを供用させることが困難であって、回
路規模の縮小化を図ることができないのが現状である。
復号化処理のアルゴリズムでは、取り扱うデータ列やデ
ータ幅等が、符号化処理時と復号化処理時とで大きく異
なるため、メモリを供用させることが困難であって、回
路規模の縮小化を図ることができないのが現状である。
【0044】
【発明が解決しようとする課題】以上のように、従来の
符号化及び復号化手段では、符号化処理と復号化処理と
で取り扱うデータ列やデータ幅等が大きく異なり、メモ
リを供用させることが困難であるため、回路規模の大型
化を招き経済的な不利を招くという問題を有している。
符号化及び復号化手段では、符号化処理と復号化処理と
で取り扱うデータ列やデータ幅等が大きく異なり、メモ
リを供用させることが困難であるため、回路規模の大型
化を招き経済的な不利を招くという問題を有している。
【0045】そこで、この発明は上記事情を考慮してな
されたもので、符号化処理時と復号化処理時とで同じメ
モリを供用できるようにした符号化及び復号化のアルゴ
リズムを実現し、回路規模の縮小化を図り得る極めて良
好な圧縮符号化復号化装置を提供することを目的とす
る。
されたもので、符号化処理時と復号化処理時とで同じメ
モリを供用できるようにした符号化及び復号化のアルゴ
リズムを実現し、回路規模の縮小化を図り得る極めて良
好な圧縮符号化復号化装置を提供することを目的とす
る。
【0046】
【課題を解決するための手段】この発明に係る圧縮符号
化復号化装置は、所定のブロック単位で直交変換処理及
び量子化処理が施された入力データに対し、連続する零
データの個数と該零データに続く非零データの有効ビッ
ト長とに基づいたエントロピー符号で符号化処理を施す
とともに、この符号化処理が施されたデータに対し符号
化処理前の元のデータに復元する復号化処理を施すもの
を対象としている。
化復号化装置は、所定のブロック単位で直交変換処理及
び量子化処理が施された入力データに対し、連続する零
データの個数と該零データに続く非零データの有効ビッ
ト長とに基づいたエントロピー符号で符号化処理を施す
とともに、この符号化処理が施されたデータに対し符号
化処理前の元のデータに復元する復号化処理を施すもの
を対象としている。
【0047】そして、入力データにおける連続する零デ
ータの個数を計数する計数手段と、入力データにおける
零データに続く非零データの有効ビット長を検出する第
1の検出手段と、エントロピー符号をそのコード長及び
値に基づいて分類したコード番号を所定の順序で配列し
てなるコード番号テーブルが格納され、計数手段で計数
された零データの個数及び第1の検出手段で検出された
有効ビット長に基づいて、対応するコード番号が読み出
されるコード番号テーブルメモリと、エントロピー符号
のうち各コード長における最小の値を有する符号のコー
ド番号である下限コードポインタを所定の順序で配列し
てなる下限コードポインタテーブルが格納され、入力デ
ータに同期したタイミングで下限コードポインタが配列
順に読み出される下限コードポインタテーブルメモリ
と、この下限コードポインタテーブルメモリから出力さ
れる下限コードポインタとコード番号テーブルメモリか
ら出力されるコード番号とを大小比較し、その比較結果
に基づいて下限コードポインタテーブルメモリから出力
される下限コードポインタの中で最大のものを取り出す
第1の比較手段と、この第1の比較手段で取り出された
下限コードポインタに対応するエントロピー符号のコー
ド長を検出する第2の検出手段と、エントロピー符号の
うち各コード長における最小の値を有する符号である下
限コードを所定の順序で配列してなる下限コードテーブ
ルが格納され、第2の検出手段で検出されたコード長に
対応する下限コードが読み出される下限コードテーブル
メモリと、この下限コードテーブルメモリから出力され
る下限コードと下限コードポインタテーブルメモリから
出力される下限コードポインタとの差分に、コード番号
テーブルメモリから出力されるコード番号を加算してエ
ントロピー符号化信号を得る第1の演算手段と、第1の
検出手段で検出された非零データの有効ビット長に基づ
いて、入力データから非零データの有効ビットを切り出
す切り出し手段と、第1の演算手段から出力されるエン
トロピー符号化信号に、切り出し手段から出力される有
効ビットを接合して符号化データを得る合成手段とを備
えた符号化手段と、この符号化手段から出力される符号
化データをビット単位で取り込む取り込み手段と、エン
トロピー符号のうち各コード長における最大の値を有す
る符号である上限コードを所定の順序で配列してなる上
限コードテーブルが格納され、符号化データのビット長
と同じデータ長を持つ上限コードが読み出される上限コ
ードテーブルメモリと、この上限コードテーブルメモリ
から出力される上限コードと取り込み手段で取り込まれ
た符号化データとを大小比較し、その比較結果に基づい
て符号化データよりも大なる上限コードのコード長を取
り出す第2の比較手段と、上限コードのコード番号であ
る上限コードポインタを所定の順序で配列してなる上限
コードポインタテーブルが格納され、第2の比較手段で
取り出されたコード長に対応する上限コードポインタが
読み出される上限コードポインタテーブルメモリと、こ
の上限コードポインタテーブルメモリから出力される上
限コードポインタと下限コードテーブルメモリから出力
される上限コードとの差分に、取り込み手段で取り込ま
れた符号化データを加算して、符号化データに含まれる
エントロピー符号のコード番号を得る第2の演算手段
と、コード番号とそれに対応する連続する零データの個
数及び非零データの有効ビット長を対応させた逆変換テ
ーブルが格納され、第2の演算手段から出力されるコー
ド番号に対応した零データの個数及び非零データの有効
ビット長が読み出される逆変換テーブルメモリと、この
逆変換テーブルメモリから読み出された零データの個数
分の零データを発生する発生手段と、逆変換テーブルメ
モリから読み出された非零データの有効ビット長分の符
号化データを取り込み手段から抽出する抽出手段とを備
えた復号化手段とを具備し、符号化手段に使用されるメ
モリと復号化手段に使用されるメモリとを、符号化処理
時と復号化処理時とで供用するようにしたものである。
ータの個数を計数する計数手段と、入力データにおける
零データに続く非零データの有効ビット長を検出する第
1の検出手段と、エントロピー符号をそのコード長及び
値に基づいて分類したコード番号を所定の順序で配列し
てなるコード番号テーブルが格納され、計数手段で計数
された零データの個数及び第1の検出手段で検出された
有効ビット長に基づいて、対応するコード番号が読み出
されるコード番号テーブルメモリと、エントロピー符号
のうち各コード長における最小の値を有する符号のコー
ド番号である下限コードポインタを所定の順序で配列し
てなる下限コードポインタテーブルが格納され、入力デ
ータに同期したタイミングで下限コードポインタが配列
順に読み出される下限コードポインタテーブルメモリ
と、この下限コードポインタテーブルメモリから出力さ
れる下限コードポインタとコード番号テーブルメモリか
ら出力されるコード番号とを大小比較し、その比較結果
に基づいて下限コードポインタテーブルメモリから出力
される下限コードポインタの中で最大のものを取り出す
第1の比較手段と、この第1の比較手段で取り出された
下限コードポインタに対応するエントロピー符号のコー
ド長を検出する第2の検出手段と、エントロピー符号の
うち各コード長における最小の値を有する符号である下
限コードを所定の順序で配列してなる下限コードテーブ
ルが格納され、第2の検出手段で検出されたコード長に
対応する下限コードが読み出される下限コードテーブル
メモリと、この下限コードテーブルメモリから出力され
る下限コードと下限コードポインタテーブルメモリから
出力される下限コードポインタとの差分に、コード番号
テーブルメモリから出力されるコード番号を加算してエ
ントロピー符号化信号を得る第1の演算手段と、第1の
検出手段で検出された非零データの有効ビット長に基づ
いて、入力データから非零データの有効ビットを切り出
す切り出し手段と、第1の演算手段から出力されるエン
トロピー符号化信号に、切り出し手段から出力される有
効ビットを接合して符号化データを得る合成手段とを備
えた符号化手段と、この符号化手段から出力される符号
化データをビット単位で取り込む取り込み手段と、エン
トロピー符号のうち各コード長における最大の値を有す
る符号である上限コードを所定の順序で配列してなる上
限コードテーブルが格納され、符号化データのビット長
と同じデータ長を持つ上限コードが読み出される上限コ
ードテーブルメモリと、この上限コードテーブルメモリ
から出力される上限コードと取り込み手段で取り込まれ
た符号化データとを大小比較し、その比較結果に基づい
て符号化データよりも大なる上限コードのコード長を取
り出す第2の比較手段と、上限コードのコード番号であ
る上限コードポインタを所定の順序で配列してなる上限
コードポインタテーブルが格納され、第2の比較手段で
取り出されたコード長に対応する上限コードポインタが
読み出される上限コードポインタテーブルメモリと、こ
の上限コードポインタテーブルメモリから出力される上
限コードポインタと下限コードテーブルメモリから出力
される上限コードとの差分に、取り込み手段で取り込ま
れた符号化データを加算して、符号化データに含まれる
エントロピー符号のコード番号を得る第2の演算手段
と、コード番号とそれに対応する連続する零データの個
数及び非零データの有効ビット長を対応させた逆変換テ
ーブルが格納され、第2の演算手段から出力されるコー
ド番号に対応した零データの個数及び非零データの有効
ビット長が読み出される逆変換テーブルメモリと、この
逆変換テーブルメモリから読み出された零データの個数
分の零データを発生する発生手段と、逆変換テーブルメ
モリから読み出された非零データの有効ビット長分の符
号化データを取り込み手段から抽出する抽出手段とを備
えた復号化手段とを具備し、符号化手段に使用されるメ
モリと復号化手段に使用されるメモリとを、符号化処理
時と復号化処理時とで供用するようにしたものである。
【0048】
【作用】上記のような構成によれば、符号化手段に使用
されるメモリと復号化手段に使用されるメモリとを、符
号化処理時と復号化処理時とで供用できるようにした符
号化及び復号化のアルゴリズムを実現し、回路規模の縮
小化を図ることができるようになる。
されるメモリと復号化手段に使用されるメモリとを、符
号化処理時と復号化処理時とで供用できるようにした符
号化及び復号化のアルゴリズムを実現し、回路規模の縮
小化を図ることができるようになる。
【0049】
【実施例】以下、この発明の一実施例について図面を参
照して詳細に説明する。図1は、符号化回路を示してい
る。すなわち、入力端子51に供給された係数ruvは、
11ビットのデータ幅を持ち、ゼロラン長カウンタ5
2,グループ検出回路53及び付加ビット切り出し回路
54にそれぞれ供給されている。
照して詳細に説明する。図1は、符号化回路を示してい
る。すなわち、入力端子51に供給された係数ruvは、
11ビットのデータ幅を持ち、ゼロラン長カウンタ5
2,グループ検出回路53及び付加ビット切り出し回路
54にそれぞれ供給されている。
【0050】このうち、ゼロラン長カウンタ52は、係
数ruvのゼロラン長Nをカウントして出力するもので、
係数ruvが零の場合に最大15までカウント・アップさ
れ、係数ruvが非零になったとき零にリセットされる。
なお、このゼロラン長カウンタ52は、1画像ブロック
に対する処理の終了時にもリセットされる。
数ruvのゼロラン長Nをカウントして出力するもので、
係数ruvが零の場合に最大15までカウント・アップさ
れ、係数ruvが非零になったとき零にリセットされる。
なお、このゼロラン長カウンタ52は、1画像ブロック
に対する処理の終了時にもリセットされる。
【0051】また、グループ検出回路53は、図12に
示したように、係数ruvをグループ番号Sに変換する。
このグループ番号Sは、係数ruvの有効ビット長を意味
してる。さらに、付加ビット切り出し回路54は、係数
ruvとグループ番号Sとに基づいて係数ruvの有効ビッ
トBのみを出力している。
示したように、係数ruvをグループ番号Sに変換する。
このグループ番号Sは、係数ruvの有効ビット長を意味
してる。さらに、付加ビット切り出し回路54は、係数
ruvとグループ番号Sとに基づいて係数ruvの有効ビッ
トBのみを出力している。
【0052】ここで、ゼロラン長Nとグループ番号Sと
は、コード番号テーブルメモリ55に供給される。この
コード番号テーブルメモリ55は、ゼロラン長Nとグル
ープ番号Sとをアドレスデータとすることにより、所定
のコード番号を大小比較回路56に出力している。この
コード番号とは、使用するハフマン符号を符号長の短い
順でかつ値の小さい順に並べたときの昇順番号である。
図2は、コード番号テーブルメモリ55に書き込まれた
コード番号テーブルを示している。
は、コード番号テーブルメモリ55に供給される。この
コード番号テーブルメモリ55は、ゼロラン長Nとグル
ープ番号Sとをアドレスデータとすることにより、所定
のコード番号を大小比較回路56に出力している。この
コード番号とは、使用するハフマン符号を符号長の短い
順でかつ値の小さい順に並べたときの昇順番号である。
図2は、コード番号テーブルメモリ55に書き込まれた
コード番号テーブルを示している。
【0053】また、大小比較回路56の出力は、タイミ
ング生成回路57に供給される。このタイミング生成回
路57は、大小比較回路56の比較結果に基づいて、バ
イナリカウンタ58へのクロック信号及びクリア信号の
供給、選択回路59への選択信号の供給、レジスタ60
へのクロック信号の供給を行なっている。このうち、バ
イナリカウンタ58は、タイミング生成回路57から出
力されるクリア信号により出力値が零にセットされ、ク
ロック信号によりカウント・アップされる。
ング生成回路57に供給される。このタイミング生成回
路57は、大小比較回路56の比較結果に基づいて、バ
イナリカウンタ58へのクロック信号及びクリア信号の
供給、選択回路59への選択信号の供給、レジスタ60
へのクロック信号の供給を行なっている。このうち、バ
イナリカウンタ58は、タイミング生成回路57から出
力されるクリア信号により出力値が零にセットされ、ク
ロック信号によりカウント・アップされる。
【0054】そして、このバイナリカウンタ58の出力
データは、選択回路59,レジスタ60及びコード切り
出し回路61にそれぞれ供給される。レジスタ60は、
入力データを1クロック分遅延させて選択回路59に出
力している。レジスタ60に入力されるクロック信号
は、バイナリカウンタ58に供給されるクロック信号と
同一であるので、選択回路59への2つの入力データ
は、バイナリカウンタ58の出力データとその出力デー
タ値から1を引いた値のデータとになる。
データは、選択回路59,レジスタ60及びコード切り
出し回路61にそれぞれ供給される。レジスタ60は、
入力データを1クロック分遅延させて選択回路59に出
力している。レジスタ60に入力されるクロック信号
は、バイナリカウンタ58に供給されるクロック信号と
同一であるので、選択回路59への2つの入力データ
は、バイナリカウンタ58の出力データとその出力デー
タ値から1を引いた値のデータとになる。
【0055】選択回路59は、タイミング生成回路57
から出力される選択信号に基づいて、2つの入力データ
のうちのいずれか一方を、下限コードポインタテーブル
メモリ62及び下限コードテーブルメモリ63にそれぞ
れ供給する。下限コードポインタテーブルメモリ62
は、RAMで構成されており、下限コードとは使用する
ハフマン符号において各符号長のうち最も小さい値を持
つ符号であり、下限コードポインタとは下限コードのコ
ード番号である。
から出力される選択信号に基づいて、2つの入力データ
のうちのいずれか一方を、下限コードポインタテーブル
メモリ62及び下限コードテーブルメモリ63にそれぞ
れ供給する。下限コードポインタテーブルメモリ62
は、RAMで構成されており、下限コードとは使用する
ハフマン符号において各符号長のうち最も小さい値を持
つ符号であり、下限コードポインタとは下限コードのコ
ード番号である。
【0056】下限コードポインタテーブルメモリ62
は、下限コードポインタが符号長の短い順に並べられて
いる。図3は、下限コードポインタテーブルメモリ62
に書き込まれた下限コードポインタテーブルを示してい
る。この場合、アドレスデータに1を加算した値がその
符号長になる。なお、存在しない符号長に対するポイン
タは、至近かつ大なる符号長のポインタを当てはめる。
図3では、入力アドレス12,13(符号長13,1
4)がこれに相当する。
は、下限コードポインタが符号長の短い順に並べられて
いる。図3は、下限コードポインタテーブルメモリ62
に書き込まれた下限コードポインタテーブルを示してい
る。この場合、アドレスデータに1を加算した値がその
符号長になる。なお、存在しない符号長に対するポイン
タは、至近かつ大なる符号長のポインタを当てはめる。
図3では、入力アドレス12,13(符号長13,1
4)がこれに相当する。
【0057】また、上記下限コードテーブルメモリ63
は、RAMで構成されており、図4に示す下限コードテ
ーブルが書き込まれている。この場合、アドレスデータ
に1を加算した値がその符号長になる。なお、存在しな
い符号長に対するコードは、至近かつ大なる符号長のコ
ードを当てはめる。図4では、入力アドレス12,13
(符号長13,14)がこれに相当する。
は、RAMで構成されており、図4に示す下限コードテ
ーブルが書き込まれている。この場合、アドレスデータ
に1を加算した値がその符号長になる。なお、存在しな
い符号長に対するコードは、至近かつ大なる符号長のコ
ードを当てはめる。図4では、入力アドレス12,13
(符号長13,14)がこれに相当する。
【0058】そして、上記大小比較回路56は、コード
番号テーブルメモリ55の出力データと下限コードポイ
ンタテーブルメモリ62との出力データとを大小比較
し、その比較結果をタイミング生成回路57に出力す
る。
番号テーブルメモリ55の出力データと下限コードポイ
ンタテーブルメモリ62との出力データとを大小比較
し、その比較結果をタイミング生成回路57に出力す
る。
【0059】また、下限コードテーブルメモリ63の出
力データから、下限コードポインタテーブルメモリ62
の出力データが、減算回路64によって減算され、その
減算結果とコード番号テーブルメモリ55の出力データ
とが、加算回路65によって加算され、その加算結果が
コード切り出し回路61に供給される。このコード切り
出し回路61は、加算回路64の出力データのLSB側
から、選択回路59の出力値分の有効ビットを切り出
し、合成回路66に出力している。
力データから、下限コードポインタテーブルメモリ62
の出力データが、減算回路64によって減算され、その
減算結果とコード番号テーブルメモリ55の出力データ
とが、加算回路65によって加算され、その加算結果が
コード切り出し回路61に供給される。このコード切り
出し回路61は、加算回路64の出力データのLSB側
から、選択回路59の出力値分の有効ビットを切り出
し、合成回路66に出力している。
【0060】そして、この合成回路66は、コード切り
出し回路61の出力データと付加ビット切り出し回路5
4から出力される有効ビットBとを接合し、ここに、ハ
フマン符号化された圧縮データが生成され、出力端子6
7から取り出される。
出し回路61の出力データと付加ビット切り出し回路5
4から出力される有効ビットBとを接合し、ここに、ハ
フマン符号化された圧縮データが生成され、出力端子6
7から取り出される。
【0061】実際の動作例として、下記のような係数r
uvが入力された場合について説明する。ここで、ジグザ
グスキャンされたAC係数ruvをrnとする。 rn=0,0,8,…… (0≦n<63)
まず、タイミング生成回路57は、バイ
ナリカウンタ58をクリアし、かつ選択回路59がバイ
ナリカウンタ58の出力データを選択するように制御す
る。
uvが入力された場合について説明する。ここで、ジグザ
グスキャンされたAC係数ruvをrnとする。 rn=0,0,8,…… (0≦n<63)
まず、タイミング生成回路57は、バイ
ナリカウンタ58をクリアし、かつ選択回路59がバイ
ナリカウンタ58の出力データを選択するように制御す
る。
【0062】次に、r0(=0)が入力されると、ゼロ
ラン長カウンタ52は、カウント・アップされて“1”
となる。なお、入力rnが零の場合はゼロラン長カウン
タ26以外は動作しないものとする。続いて、r1(=
0)が入力されると、ゼロラン長カウンタ52は、さら
にカウント・アップされて“2”となる。次に、r2[=8
=00000001000(2進)]が入力されると、ゼロラン長カ
ウンタ52は、カウント・アップされず“2”を保持す
る。このとき、グループ検出回路53からは、図12に
基づいてグループ番号S(=4)が出力される。このた
め、付加ビット切り出し回路54では、r2の下位4ビ
ットを有効ビットとして切り出し、有効ビットB[=10
00(2進)]を出力している。また、コード番号テーブ
ルメモリ55からは、ゼロラン長Nが2でグループ番号
Sが4であることから、図2に基づいてコード番号“3
2”が出力される。
ラン長カウンタ52は、カウント・アップされて“1”
となる。なお、入力rnが零の場合はゼロラン長カウン
タ26以外は動作しないものとする。続いて、r1(=
0)が入力されると、ゼロラン長カウンタ52は、さら
にカウント・アップされて“2”となる。次に、r2[=8
=00000001000(2進)]が入力されると、ゼロラン長カ
ウンタ52は、カウント・アップされず“2”を保持す
る。このとき、グループ検出回路53からは、図12に
基づいてグループ番号S(=4)が出力される。このた
め、付加ビット切り出し回路54では、r2の下位4ビ
ットを有効ビットとして切り出し、有効ビットB[=10
00(2進)]を出力している。また、コード番号テーブ
ルメモリ55からは、ゼロラン長Nが2でグループ番号
Sが4であることから、図2に基づいてコード番号“3
2”が出力される。
【0063】一方、下限コードポインタテーブルメモリ
62は、その入力データが“0”であるため、図3より
“0”を出力している。このため、大小比較回路56
は、コード番号テーブルメモリ55の出力値の方が、下
限コードポインタテーブルメモリ62の出力値よりも大
なることをタイミング生成回路57に出力する。タイミ
ング生成回路57は、大小比較回路56から、下限コー
ドポインタテーブルメモリ62の出力値の方が、コード
番号テーブルメモリ55の出力値よりも大きくなったこ
とが知らされるまで、バイナリカウンタ58とレジスタ
60とにクロック信号を供給し続ける。
62は、その入力データが“0”であるため、図3より
“0”を出力している。このため、大小比較回路56
は、コード番号テーブルメモリ55の出力値の方が、下
限コードポインタテーブルメモリ62の出力値よりも大
なることをタイミング生成回路57に出力する。タイミ
ング生成回路57は、大小比較回路56から、下限コー
ドポインタテーブルメモリ62の出力値の方が、コード
番号テーブルメモリ55の出力値よりも大きくなったこ
とが知らされるまで、バイナリカウンタ58とレジスタ
60とにクロック信号を供給し続ける。
【0064】このため、タイミング生成回路57は、バ
イナリカウンタ58の出力値が“12”になるまで、つ
まり下限コードポインタテーブルメモリ62の出力値が
“36”になるまで、クロック信号を出力し続ける。そ
して、下限コードポインタテーブルメモリ62の出力値
が“36”になると、タイミング生成回路57は、選択
回路59に対してレジスタ60の出力データを選択させ
るように制御する。
イナリカウンタ58の出力値が“12”になるまで、つ
まり下限コードポインタテーブルメモリ62の出力値が
“36”になるまで、クロック信号を出力し続ける。そ
して、下限コードポインタテーブルメモリ62の出力値
が“36”になると、タイミング生成回路57は、選択
回路59に対してレジスタ60の出力データを選択させ
るように制御する。
【0065】これにより、選択回路59の出力値は“1
1”になり、下限コードポインタテーブルメモリ62の
出力値は“32”になり、下限コードテーブルメモリ6
3の出力値は図4より“0000111111100100(2進)”と
なる。したがって、加算回路65からコード切り出し回
路61に供給されるデータは“0000111111100100(2
進)”となる。
1”になり、下限コードポインタテーブルメモリ62の
出力値は“32”になり、下限コードテーブルメモリ6
3の出力値は図4より“0000111111100100(2進)”と
なる。したがって、加算回路65からコード切り出し回
路61に供給されるデータは“0000111111100100(2
進)”となる。
【0066】一方、バイナリカウンタ58からコード切
り出し回路61に供給されるデータは“12”であるか
ら、コード切り出し回路61は、上記データ“00001111
11100100(2進)”の下位12ビットを有効ビットとし
て切り出し、“111111100100(2進)”を合成回路66
に出力する。合成回路66は、コード切り出し回路61
の出力データ“111111100100(2進)”に、付加ビット
切り出し回路54から出力される有効ビットB[=1000
(2進)]を接合して、データ“1111111001001000(2
進)”を出力する。このデータ“1111111001001000(2
進)”は、r0〜r2をハフマン符号化したことになる。
以下、同様にして、1画面分の全画像ブロック分に相当
するAC係数ruvが順次ハフマン符号化される。
り出し回路61に供給されるデータは“12”であるか
ら、コード切り出し回路61は、上記データ“00001111
11100100(2進)”の下位12ビットを有効ビットとし
て切り出し、“111111100100(2進)”を合成回路66
に出力する。合成回路66は、コード切り出し回路61
の出力データ“111111100100(2進)”に、付加ビット
切り出し回路54から出力される有効ビットB[=1000
(2進)]を接合して、データ“1111111001001000(2
進)”を出力する。このデータ“1111111001001000(2
進)”は、r0〜r2をハフマン符号化したことになる。
以下、同様にして、1画面分の全画像ブロック分に相当
するAC係数ruvが順次ハフマン符号化される。
【0067】次に、図5は、復号化回路を示している。
すなわち、上述した符号化回路で符号化された圧縮デー
タは、シリアルデータで入力端子68を介してSIPO
回路69に供給され、タイミング信号生成回路70から
出力されるクロック信号に基づいて、16ビット幅のパ
ラレルデータに変換される。また、SIPO回路69
は、タイミング信号生成回路70から出力されるクリア
信号に基づいて、パラレル出力が零にセットされる。
すなわち、上述した符号化回路で符号化された圧縮デー
タは、シリアルデータで入力端子68を介してSIPO
回路69に供給され、タイミング信号生成回路70から
出力されるクロック信号に基づいて、16ビット幅のパ
ラレルデータに変換される。また、SIPO回路69
は、タイミング信号生成回路70から出力されるクリア
信号に基づいて、パラレル出力が零にセットされる。
【0068】また、タイミング信号生成回路70から出
力されるクロック信号及びクリア信号は、カウンタ71
にも供給される。このカウンタ71は、クロック信号に
よりカウント・アップされ、クリア信号により零にセッ
トされる。
力されるクロック信号及びクリア信号は、カウンタ71
にも供給される。このカウンタ71は、クロック信号に
よりカウント・アップされ、クリア信号により零にセッ
トされる。
【0069】ここで、このSIPO回路69の出力デー
タは、大小比較回路72,加算回路73及び選択回路7
4にそれぞれ供給される。また、カウンタ71の出力
は、上限コードテーブルメモリ75,上限コードポイン
タテーブルメモリ76及びタイミング信号生成回路70
にそれぞれ供給される。このうち、上限コードテーブル
メモリ75には、使用するハフマン符号において、同じ
コード長を持つコード群のうち最も大きな値を持つコー
ドが、コード長順に書き込まれている。
タは、大小比較回路72,加算回路73及び選択回路7
4にそれぞれ供給される。また、カウンタ71の出力
は、上限コードテーブルメモリ75,上限コードポイン
タテーブルメモリ76及びタイミング信号生成回路70
にそれぞれ供給される。このうち、上限コードテーブル
メモリ75には、使用するハフマン符号において、同じ
コード長を持つコード群のうち最も大きな値を持つコー
ドが、コード長順に書き込まれている。
【0070】図6は、上限コードテーブルメモリ75に
書き込まれた上限コードテーブルの一例を示している。
ただし、存在しないコード長においては、存在する至近
かつ小なるコード長の上限を当てはめる。なお、至近か
つ小なるコード長が存在しない場合には、その上限コー
ドは任意とする。図6の例では、上限コードテーブルメ
モリ75に(コード長−1)が入力されると、そのコー
ド長のうち最も大きな値を持つハフマン符号が出力され
る。
書き込まれた上限コードテーブルの一例を示している。
ただし、存在しないコード長においては、存在する至近
かつ小なるコード長の上限を当てはめる。なお、至近か
つ小なるコード長が存在しない場合には、その上限コー
ドは任意とする。図6の例では、上限コードテーブルメ
モリ75に(コード長−1)が入力されると、そのコー
ド長のうち最も大きな値を持つハフマン符号が出力され
る。
【0071】また、大小比較回路72は、SIPO回路
69の出力データと上限コードテーブルメモリ75の出
力データとの大小比較を行ない、その比較結果をタイミ
ング信号生成回路70に出力している。さらに、上記上
限コードポインタテーブルメモリ76には、上限コード
のコード番号がコード長順に書き込まれている。ただ
し、存在しないコード長においては任意とする。図7
は、上限コードポインタテーブルメモリ76に書き込ま
れた上限コードポインタテーブルの一例を示している。
図7の例では、上限コードポインタテーブルメモリ76
に(コード長−1)が入力されると、そのコード長の上
限コードのコード番号が出力される。
69の出力データと上限コードテーブルメモリ75の出
力データとの大小比較を行ない、その比較結果をタイミ
ング信号生成回路70に出力している。さらに、上記上
限コードポインタテーブルメモリ76には、上限コード
のコード番号がコード長順に書き込まれている。ただ
し、存在しないコード長においては任意とする。図7
は、上限コードポインタテーブルメモリ76に書き込ま
れた上限コードポインタテーブルの一例を示している。
図7の例では、上限コードポインタテーブルメモリ76
に(コード長−1)が入力されると、そのコード長の上
限コードのコード番号が出力される。
【0072】さらに、上限コードポインタテーブルメモ
リ76の出力データは、減算回路77により、上限コー
ドテーブルメモリ75の出力データが減算され、その減
算結果が加算回路73によりSIPO回路69の出力デ
ータと加算され、その加算結果が逆変換テーブルメモリ
78に供給される。
リ76の出力データは、減算回路77により、上限コー
ドテーブルメモリ75の出力データが減算され、その減
算結果が加算回路73によりSIPO回路69の出力デ
ータと加算され、その加算結果が逆変換テーブルメモリ
78に供給される。
【0073】この逆変換テーブルメモリ78には、使用
するハフマン符号のグループ番号Sとゼロラン長Nとが
コード番号の昇順に書き込まれている。図8は、逆変換
テーブルメモリ78に書き込まれた逆変換テーブルの一
例を示している。そして、逆変換テーブルメモリ78の
出力のうち、グループ番号Sはタイミング信号生成回路
70に供給され、ゼロラン長Nは大小比較回路79に供
給される。
するハフマン符号のグループ番号Sとゼロラン長Nとが
コード番号の昇順に書き込まれている。図8は、逆変換
テーブルメモリ78に書き込まれた逆変換テーブルの一
例を示している。そして、逆変換テーブルメモリ78の
出力のうち、グループ番号Sはタイミング信号生成回路
70に供給され、ゼロラン長Nは大小比較回路79に供
給される。
【0074】この大小比較回路79は、逆変換テーブル
メモリ78から出力されるゼロラン長Nと、タイミング
信号生成回路70から出力されるクロック信号によりカ
ウント・アップし、クリア信号により零にセットされる
カウンタ80の出力データとを大小比較し、その比較結
果をタイミング信号生成回路70に出力している。
メモリ78から出力されるゼロラン長Nと、タイミング
信号生成回路70から出力されるクロック信号によりカ
ウント・アップし、クリア信号により零にセットされる
カウンタ80の出力データとを大小比較し、その比較結
果をタイミング信号生成回路70に出力している。
【0075】ここで、上記選択回路74には、SIPO
回路69の出力データと入力端子81に供給された値
“0”とが供給されており、タイミング信号生成回路7
0から出力される選択信号に基づいて、いずれか一方が
選択されてレジスタ82に出力される。このレジスタ8
2は、タイミング信号生成回路70から出力されるクロ
ック信号により入力データをラッチする。そして、この
ラッチしたデータが、ハフマン復号化された画像のデー
タとして、出力端子83から取り出される。
回路69の出力データと入力端子81に供給された値
“0”とが供給されており、タイミング信号生成回路7
0から出力される選択信号に基づいて、いずれか一方が
選択されてレジスタ82に出力される。このレジスタ8
2は、タイミング信号生成回路70から出力されるクロ
ック信号により入力データをラッチする。そして、この
ラッチしたデータが、ハフマン復号化された画像のデー
タとして、出力端子83から取り出される。
【0076】なお、上記タイミング信号生成回路70に
は、使用するハフマン符号のうち最小の符号長を示す
“最小コード長”データが、入力端子84を介して設定
されている。
は、使用するハフマン符号のうち最小の符号長を示す
“最小コード長”データが、入力端子84を介して設定
されている。
【0077】実際の動作例として、前述した符号化デー
タ“1111111101001000(2進)”を復号化する動作につ
いて説明する。まず、SIPO回路69及びカウンタ7
1,80は、タイミング信号生成回路70から出力され
るクリア信号により零にセットされる。次に、タイミン
グ信号生成回路70から1クロック分のクロック信号
が、SIPO回路69及びカウンタ71にそれぞれ出力
される。このため、SIPO回路69の出力は、その入
力データ“1111111101001000(2進)”のMSBがSI
PO回路69のLSB位置にセットされることにより、
“0000000000000001(2進)”となって大小比較回路7
2に供給される。ここで、タイミング信号生成回路70
は、カウンタ71に対してのみ改めてクリア信号を発生
する。
タ“1111111101001000(2進)”を復号化する動作につ
いて説明する。まず、SIPO回路69及びカウンタ7
1,80は、タイミング信号生成回路70から出力され
るクリア信号により零にセットされる。次に、タイミン
グ信号生成回路70から1クロック分のクロック信号
が、SIPO回路69及びカウンタ71にそれぞれ出力
される。このため、SIPO回路69の出力は、その入
力データ“1111111101001000(2進)”のMSBがSI
PO回路69のLSB位置にセットされることにより、
“0000000000000001(2進)”となって大小比較回路7
2に供給される。ここで、タイミング信号生成回路70
は、カウンタ71に対してのみ改めてクリア信号を発生
する。
【0078】このため、カウンタ71の出力は“0”と
なり、上限コードテーブルメモリ75の出力は、図6よ
り任意となる。ただし、ここでは、“0000000000000000
(2進)”とし、この出力データが大小比較回路72に
供給される。大小比較回路72は、2つの入力データの
大小関係を比較し、その比較結果をタイミング信号生成
回路70に出力する。タイミング信号生成回路70は、
大小比較回路72の比較結果が SIPO回路69の出力値≦上限コードテーブルメモリ
75の出力値 となるまで、SIPO回路69とカウンタ71とにクロ
ック信号を供給する。
なり、上限コードテーブルメモリ75の出力は、図6よ
り任意となる。ただし、ここでは、“0000000000000000
(2進)”とし、この出力データが大小比較回路72に
供給される。大小比較回路72は、2つの入力データの
大小関係を比較し、その比較結果をタイミング信号生成
回路70に出力する。タイミング信号生成回路70は、
大小比較回路72の比較結果が SIPO回路69の出力値≦上限コードテーブルメモリ
75の出力値 となるまで、SIPO回路69とカウンタ71とにクロ
ック信号を供給する。
【0079】ただし、タイミング信号生成回路70は、
カウンタ71の出力値に1を加算した値と、“最小コー
ド長”とが一致するまでは、大小比較回路72の比較結
果に無関係にSIPO回路69とカウンタ71とにクロ
ック信号を供給する。
カウンタ71の出力値に1を加算した値と、“最小コー
ド長”とが一致するまでは、大小比較回路72の比較結
果に無関係にSIPO回路69とカウンタ71とにクロ
ック信号を供給する。
【0080】この結果、タイミング信号生成回路70は
12個のクロックを発生した時点、つまりカウンタ71
の出力値が“11”となった時点でクロック信号の発生
を停止する。このとき、SIPO回路69の出力は“00
00111111110100(2進)”であり、上限コードテーブル
メモリ75及び上限コードポインタテーブルメモリ76
は、カウンタ71の出力が“11”であるから、図6及
び図7よりそれぞれ“0000111111110111(2進)”及び
“35”を出力している。
12個のクロックを発生した時点、つまりカウンタ71
の出力値が“11”となった時点でクロック信号の発生
を停止する。このとき、SIPO回路69の出力は“00
00111111110100(2進)”であり、上限コードテーブル
メモリ75及び上限コードポインタテーブルメモリ76
は、カウンタ71の出力が“11”であるから、図6及
び図7よりそれぞれ“0000111111110111(2進)”及び
“35”を出力している。
【0081】そして、上限コードポインタテーブルメモ
リ76の出力値“35”から、上限コードテーブルメモ
リ75の出力値“0000111111110111(2進)”が減算さ
れ、その減算結果にSIPO回路69の出力値“000011
1111110100(2進)”が加算され、その加算結果“0000
000000100000(2進)”(=32)が逆変換テーブルメ
モリ78に供給される。
リ76の出力値“35”から、上限コードテーブルメモ
リ75の出力値“0000111111110111(2進)”が減算さ
れ、その減算結果にSIPO回路69の出力値“000011
1111110100(2進)”が加算され、その加算結果“0000
000000100000(2進)”(=32)が逆変換テーブルメ
モリ78に供給される。
【0082】このため、逆変換テーブルメモリ78から
は、図8によりゼロラン長N=2、グループ番号S=4
が出力される。このうち、グループ番号S(=4)は、
タイミング信号生成回路70に供給される。これによ
り、タイミング信号生成回路70は、クリア信号を発生
してSIPO回路69を零にセットした後、入力された
グループ番号Sの値分(ここでは4つ)のクロック信号
をSIPO回路69に供給する。このため、SIPO回
路69の出力データは、“0000000000001000(2進)”
となる。なお、この出力データのうち、選択回路74に
はLSB側から8ビット分が供給される。
は、図8によりゼロラン長N=2、グループ番号S=4
が出力される。このうち、グループ番号S(=4)は、
タイミング信号生成回路70に供給される。これによ
り、タイミング信号生成回路70は、クリア信号を発生
してSIPO回路69を零にセットした後、入力された
グループ番号Sの値分(ここでは4つ)のクロック信号
をSIPO回路69に供給する。このため、SIPO回
路69の出力データは、“0000000000001000(2進)”
となる。なお、この出力データのうち、選択回路74に
はLSB側から8ビット分が供給される。
【0083】また、大小比較回路79は、逆変換テーブ
ルメモリ78から出力されるゼロラン長N(=2)と、
カウンタ80の出力値とが一致する場合に一致信号を、
そうでない場合に不一致信号をタイミング信号生成回路
70に出力する。タイミング信号生成回路70は、一致
信号が供給されたときは“0”を選択し、不一致信号が
供給されたときはSIPO回路69の出力を選択するよ
うに、選択回路74を制御する。
ルメモリ78から出力されるゼロラン長N(=2)と、
カウンタ80の出力値とが一致する場合に一致信号を、
そうでない場合に不一致信号をタイミング信号生成回路
70に出力する。タイミング信号生成回路70は、一致
信号が供給されたときは“0”を選択し、不一致信号が
供給されたときはSIPO回路69の出力を選択するよ
うに、選択回路74を制御する。
【0084】さらに、タイミング信号生成回路70は、
一致信号が入力された時点まで、カウンタ80とレジス
タ82に対してクロック信号を与える。これにより、レ
ジスタ82から出力されるデータは、“0,0,4”と
なり、元のデータに復元される。
一致信号が入力された時点まで、カウンタ80とレジス
タ82に対してクロック信号を与える。これにより、レ
ジスタ82から出力されるデータは、“0,0,4”と
なり、元のデータに復元される。
【0085】したがって、上記実施例のような構成によ
れば、まず、符号化回路に用いられるメモリとしては、
コード番号テーブルメモリ55,下限コードポインタテ
ーブルメモリ62及び下限コードテーブルメモリ63の
3種類であり、各テーブルのアドレスビット幅とデータ
ビット幅とは、 アドレス データ コード番号テーブルメモリ55 8 8 下限コードポインタテーブルメモリ62 4 16 下限コードテーブルメモリ63 4 8 となる。
れば、まず、符号化回路に用いられるメモリとしては、
コード番号テーブルメモリ55,下限コードポインタテ
ーブルメモリ62及び下限コードテーブルメモリ63の
3種類であり、各テーブルのアドレスビット幅とデータ
ビット幅とは、 アドレス データ コード番号テーブルメモリ55 8 8 下限コードポインタテーブルメモリ62 4 16 下限コードテーブルメモリ63 4 8 となる。
【0086】一方、復号化回路に用いられるメモリとし
ては、上限コードテーブルメモリ75,上限コードポイ
ンタテーブルメモリ76及び逆変換テーブルメモリ78
の3種類であり、各テーブルのアドレスビット幅とデー
タビット幅とは、 アドレス データ 上限コードテーブルメモリ75 4 8 上限コードポインタテーブルメモリ76 4 16 逆変換テーブルメモリ78 8 8 となる。
ては、上限コードテーブルメモリ75,上限コードポイ
ンタテーブルメモリ76及び逆変換テーブルメモリ78
の3種類であり、各テーブルのアドレスビット幅とデー
タビット幅とは、 アドレス データ 上限コードテーブルメモリ75 4 8 上限コードポインタテーブルメモリ76 4 16 逆変換テーブルメモリ78 8 8 となる。
【0087】すなわち、符号化処理用テーブルと復号化
処理用テーブルとは、その内容は異なるが、テーブル数
や各テーブルのアドレスビット幅及びデータビット幅は
同じである。このため、符号化処理時と復号化処理時と
で同じメモリを供用可能となる。したがって、符号化及
び復号化の双方の機能を持ちかつ双方の機能を同時に使
用しない装置では、テーブルメモリの大幅な削減が可能
になり回路規模の縮小化を図ることができるようにな
る。なお、この発明は上記実施例に限定されるものでは
なく、この外その要旨を逸脱しない範囲で種々変形して
実施することができる。
処理用テーブルとは、その内容は異なるが、テーブル数
や各テーブルのアドレスビット幅及びデータビット幅は
同じである。このため、符号化処理時と復号化処理時と
で同じメモリを供用可能となる。したがって、符号化及
び復号化の双方の機能を持ちかつ双方の機能を同時に使
用しない装置では、テーブルメモリの大幅な削減が可能
になり回路規模の縮小化を図ることができるようにな
る。なお、この発明は上記実施例に限定されるものでは
なく、この外その要旨を逸脱しない範囲で種々変形して
実施することができる。
【0088】
【発明の効果】以上詳述したようにこの発明によれば、
符号化処理時と復号化処理時とで同じメモリを供用でき
るようにした符号化及び復号化のアルゴリズムを実現
し、回路規模の縮小化を図り得る極めて良好な圧縮符号
化復号化装置を提供することができる。
符号化処理時と復号化処理時とで同じメモリを供用でき
るようにした符号化及び復号化のアルゴリズムを実現
し、回路規模の縮小化を図り得る極めて良好な圧縮符号
化復号化装置を提供することができる。
【図1】この発明に係る圧縮符号化復号化装置の一実施
例を示すもので、符号化回路を示すブロック構成図。
例を示すもので、符号化回路を示すブロック構成図。
【図2】同符号化回路におけるコード番号テーブルを示
す図。
す図。
【図3】同符号化回路における下限コードポインタテー
ブルを示す図。
ブルを示す図。
【図4】同符号化回路における下限コードテーブルを示
す図。
す図。
【図5】この発明に係る圧縮符号化復号化装置の一実施
例を示すもので、復号化回路を示すブロック構成図。
例を示すもので、復号化回路を示すブロック構成図。
【図6】同復号化回路における上限コードテーブルを示
す図。
す図。
【図7】同復号化回路における上限コードポインタテー
ブルを示す図。
ブルを示す図。
【図8】同復号化回路における逆変換テーブルを示す
図。
図。
【図9】符号化及び復号化処理の基本システムを示すブ
ロック構成図。
ロック構成図。
【図10】同基本システムの符号化処理時におけるジグ
ザグスキャン順序を示す図。
ザグスキャン順序を示す図。
【図11】同基本システムにおけるハフマン符号化回路
を示すブロック構成図。
を示すブロック構成図。
【図12】同ハフマン符号化回路におけるグループ検出
回路の動作を示す図。
回路の動作を示す図。
【図13】同ハフマン符号化回路におけるゼロラン長N
及びグループ番号SとコードHC及びコード長HSとの
関係を示す図。
及びグループ番号SとコードHC及びコード長HSとの
関係を示す図。
【図14】同基本システムにおけるハフマン復号化回路
を示すブロック構成図。
を示すブロック構成図。
【図15】同ハフマン復号化回路における上限コードテ
ーブルを示す図。
ーブルを示す図。
【図16】同ハフマン復号化回路における下限コードテ
ーブルを示す図。
ーブルを示す図。
【図17】同ハフマン復号化回路におけるポインタテー
ブルを示す図。
ブルを示す図。
【図18】同ハフマン復号化回路における逆変換テーブ
ルを示す図。
ルを示す図。
11…FDCT回路、12…量子化回路、13…量子化
テーブルメモリ、14…ハフマン符号化回路、15…ハ
フマンテーブルメモリ、16…加算回路、17…入力端
子、18…伝送路、19…蓄積装置、20…減算回路、
21…出力端子、22…ハフマン復号化回路、23…逆
量子化回路、24…IDCT回路、25…入力端子、2
6…ゼロラン長カウンタ、27…グループ検出回路、2
8…付加ビット切り出し回路、29…コード変換RO
M、30…コード長変換ROM、31…コード切り出し
回路、32…合成回路、33…出力端子、34…入力端
子、35…SIPO回路、36…タイミング信号生成回
路、37…カウンタ、38…大小比較回路、39…加算
回路、40…選択回路、41…上限コードテーブルメモ
リ、42…ポインタテーブルメモリ、43…下限コード
テーブルメモリ、44…減算回路、45…逆変換テーブ
ルメモリ、46…大小比較回路、47…カウンタ、48
…入力端子、49…レジスタ、50…出力端子、51…
入力端子、52…ゼロラン長カウンタ、53…グループ
検出回路、54…付加ビット切り出し回路、55…コー
ド番号テーブルメモリ、56…大小比較回路、57…タ
イミング生成回路、58…バイナリカウンタ、59…選
択回路、60…レジスタ、61…コード切り出し回路、
62…下限コードポインタテーブルメモリ、63…下限
コードテーブルメモリ、64…減算回路、65…加算回
路、66…合成回路、67…出力端子、68…入力端
子、69…SIPO回路、70…タイミング信号生成回
路、71…カウンタ、72…大小比較回路、73…加算
回路、74…選択回路、75…上限コードテーブルメモ
リ、76…上限コードポインタテーブルメモリ、77…
減算回路、78…逆変換テーブルメモリ、79…大小比
較回路、80…カウンタ、81…入力端子、82…レジ
スタ、83…出力端子、84…入力端子。
テーブルメモリ、14…ハフマン符号化回路、15…ハ
フマンテーブルメモリ、16…加算回路、17…入力端
子、18…伝送路、19…蓄積装置、20…減算回路、
21…出力端子、22…ハフマン復号化回路、23…逆
量子化回路、24…IDCT回路、25…入力端子、2
6…ゼロラン長カウンタ、27…グループ検出回路、2
8…付加ビット切り出し回路、29…コード変換RO
M、30…コード長変換ROM、31…コード切り出し
回路、32…合成回路、33…出力端子、34…入力端
子、35…SIPO回路、36…タイミング信号生成回
路、37…カウンタ、38…大小比較回路、39…加算
回路、40…選択回路、41…上限コードテーブルメモ
リ、42…ポインタテーブルメモリ、43…下限コード
テーブルメモリ、44…減算回路、45…逆変換テーブ
ルメモリ、46…大小比較回路、47…カウンタ、48
…入力端子、49…レジスタ、50…出力端子、51…
入力端子、52…ゼロラン長カウンタ、53…グループ
検出回路、54…付加ビット切り出し回路、55…コー
ド番号テーブルメモリ、56…大小比較回路、57…タ
イミング生成回路、58…バイナリカウンタ、59…選
択回路、60…レジスタ、61…コード切り出し回路、
62…下限コードポインタテーブルメモリ、63…下限
コードテーブルメモリ、64…減算回路、65…加算回
路、66…合成回路、67…出力端子、68…入力端
子、69…SIPO回路、70…タイミング信号生成回
路、71…カウンタ、72…大小比較回路、73…加算
回路、74…選択回路、75…上限コードテーブルメモ
リ、76…上限コードポインタテーブルメモリ、77…
減算回路、78…逆変換テーブルメモリ、79…大小比
較回路、80…カウンタ、81…入力端子、82…レジ
スタ、83…出力端子、84…入力端子。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03M 7/30 A 8842−5J H04N 1/41 B 7/30
Claims (1)
- 【請求項1】 所定のブロック単位で直交変換処理及び
量子化処理が施された入力データに対し、連続する零デ
ータの個数と該零データに続く非零データの有効ビット
長とに基づいたエントロピー符号で符号化処理を施すと
ともに、この符号化処理が施されたデータに対し前記符
号化処理前の元のデータに復元する復号化処理を施す圧
縮符号化復号化装置において、 前記入力データにおける連続する零データの個数を計数
する計数手段と、前記入力データにおける零データに続
く非零データの有効ビット長を検出する第1の検出手段
と、前記エントロピー符号をそのコード長及び値に基づ
いて分類したコード番号を所定の順序で配列してなるコ
ード番号テーブルが格納され、前記計数手段で計数され
た零データの個数及び前記第1の検出手段で検出された
有効ビット長に基づいて、対応するコード番号が読み出
されるコード番号テーブルメモリと、前記エントロピー
符号のうち各コード長における最小の値を有する符号の
コード番号である下限コードポインタを所定の順序で配
列してなる下限コードポインタテーブルが格納され、前
記入力データに同期したタイミングで前記下限コードポ
インタが配列順に読み出される下限コードポインタテー
ブルメモリと、この下限コードポインタテーブルメモリ
から出力される下限コードポインタと前記コード番号テ
ーブルメモリから出力されるコード番号とを大小比較
し、その比較結果に基づいて下限コードポインタテーブ
ルメモリから出力される下限コードポインタの中で最大
のものを取り出す第1の比較手段と、この第1の比較手
段で取り出された下限コードポインタに対応する前記エ
ントロピー符号のコード長を検出する第2の検出手段
と、前記エントロピー符号のうち各コード長における最
小の値を有する符号である下限コードを所定の順序で配
列してなる下限コードテーブルが格納され、前記第2の
検出手段で検出されたコード長に対応する下限コードが
読み出される下限コードテーブルメモリと、この下限コ
ードテーブルメモリから出力される下限コードと下限コ
ードポインタテーブルメモリから出力される下限コード
ポインタとの差分に、前記コード番号テーブルメモリか
ら出力されるコード番号を加算してエントロピー符号化
信号を得る第1の演算手段と、前記第1の検出手段で検
出された非零データの有効ビット長に基づいて、入力デ
ータから非零データの有効ビットを切り出す切り出し手
段と、前記第1の演算手段から出力されるエントロピー
符号化信号に、前記切り出し手段から出力される有効ビ
ットを接合して符号化データを得る合成手段とを備えた
符号化手段と、 この符号化手段から出力される符号化データをビット単
位で取り込む取り込み手段と、前記エントロピー符号の
うち各コード長における最大の値を有する符号である上
限コードを所定の順序で配列してなる上限コードテーブ
ルが格納され、前記符号化データのビット長と同じデー
タ長を持つ上限コードが読み出される上限コードテーブ
ルメモリと、この上限コードテーブルメモリから出力さ
れる上限コードと前記取り込み手段で取り込まれた符号
化データとを大小比較し、その比較結果に基づいて前記
符号化データよりも大なる前記上限コードのコード長を
取り出す第2の比較手段と、前記上限コードのコード番
号である上限コードポインタを所定の順序で配列してな
る上限コードポインタテーブルが格納され、前記第2の
比較手段で取り出されたコード長に対応する上限コード
ポインタが読み出される上限コードポインタテーブルメ
モリと、この上限コードポインタテーブルメモリから出
力される上限コードポインタと前記下限コードテーブル
メモリから出力される上限コードとの差分に、前記取り
込み手段で取り込まれた符号化データを加算して、前記
符号化データに含まれるエントロピー符号のコード番号
を得る第2の演算手段と、前記コード番号とそれに対応
する連続する零データの個数及び非零データの有効ビッ
ト長を対応させた逆変換テーブルが格納され、前記第2
の演算手段から出力されるコード番号に対応した零デー
タの個数及び非零データの有効ビット長が読み出される
逆変換テーブルメモリと、この逆変換テーブルメモリか
ら読み出された零データの個数分の零データを発生する
発生手段と、前記逆変換テーブルメモリから読み出され
た非零データの有効ビット長分の符号化データを前記取
り込み手段から抽出する抽出手段とを備えた復号化手段
とを具備し、 前記符号化手段に使用されるメモリと前記復号化手段に
使用されるメモリとを、符号化処理時と復号化処理時と
で供用することを特徴とする圧縮符号化復号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5648994A JPH07273661A (ja) | 1994-03-28 | 1994-03-28 | 圧縮符号化復号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5648994A JPH07273661A (ja) | 1994-03-28 | 1994-03-28 | 圧縮符号化復号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07273661A true JPH07273661A (ja) | 1995-10-20 |
Family
ID=13028516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5648994A Pending JPH07273661A (ja) | 1994-03-28 | 1994-03-28 | 圧縮符号化復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07273661A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1306711C (zh) * | 1996-06-19 | 2007-03-21 | 松下电器产业株式会社 | 可变长度代码译码装置以及译码方法 |
US10447295B2 (en) | 2015-10-02 | 2019-10-15 | Fujitsu Limited | Coding method, coding device, decoding method, and decoding device |
-
1994
- 1994-03-28 JP JP5648994A patent/JPH07273661A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1306711C (zh) * | 1996-06-19 | 2007-03-21 | 松下电器产业株式会社 | 可变长度代码译码装置以及译码方法 |
US10447295B2 (en) | 2015-10-02 | 2019-10-15 | Fujitsu Limited | Coding method, coding device, decoding method, and decoding device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6643408B2 (en) | Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding | |
US4922273A (en) | Compression method of halftone image data | |
JPH07262175A (ja) | 関数変換演算装置 | |
JPH05316360A (ja) | 画像信号の符号化復号装置 | |
CN101502122B (zh) | 编码装置及编码方法 | |
JPH07143488A (ja) | 画像データ復号化方法および装置 | |
JPH07273661A (ja) | 圧縮符号化復号化装置 | |
JP2002026737A (ja) | データ復号化装置とその方法 | |
US20040267851A1 (en) | Non-linear function approximation using finite order polynomial in fixed-point arithmetic | |
CN112449185B (zh) | 视频解码方法、编码方法、装置、介质及电子设备 | |
Bonomini et al. | Implementing an MPEG2 Video Decoder Based on TMS320C80 MVP | |
JP2924416B2 (ja) | 高能率符号化方法 | |
US6339614B1 (en) | Method and apparatus for quantizing and run length encoding transform coefficients in a video coder | |
JPH04220081A (ja) | 画像データ復元方法及び装置 | |
JP3260925B2 (ja) | 画像処理装置 | |
JP3434904B2 (ja) | 画像データ符号化装置 | |
JP3049265B2 (ja) | 画像データ符号化回路 | |
JP2753091B2 (ja) | 画像データ伸張回路 | |
JP3011960B2 (ja) | ランレングス符号化回路 | |
JP2960446B2 (ja) | 画像処理方式 | |
JP3016803B2 (ja) | 画像データ圧縮回路 | |
JP2937455B2 (ja) | 画像データ圧縮装置および画像データ復元装置 | |
JP2560987B2 (ja) | 画像処理装置 | |
JP2802136B2 (ja) | 画像データ符号化方法及び装置 | |
JPH06152988A (ja) | 可変長符号の復号化装置 |