JPH05276052A - ハフマンコードワードをデコードする方法及び装置 - Google Patents
ハフマンコードワードをデコードする方法及び装置Info
- Publication number
- JPH05276052A JPH05276052A JP4218158A JP21815892A JPH05276052A JP H05276052 A JPH05276052 A JP H05276052A JP 4218158 A JP4218158 A JP 4218158A JP 21815892 A JP21815892 A JP 21815892A JP H05276052 A JPH05276052 A JP H05276052A
- Authority
- JP
- Japan
- Prior art keywords
- class
- huffman
- class number
- bits
- word
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
- H03M7/425—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 他の機構のRAMの略2分の1のサイズのR
AMを用いたファーストデコーディングを提供する。 【構成】 予め決められた最大値までハフマンコードワ
ード内の先頭の”1”の数を認識するためのリーディン
グワンズ検出器302を用いたハフマンコードをファー
ストデコードするための装置及び方法である。認識され
た先頭の”1”の数に基づくクラス番号、クラス番号に
基づいて複数のビットをハフマンコードワードから取除
くことによって“リメインダ”を提供するための第1論
理回路及び特殊クラスを認識するための第2論理回路が
提供される。ある実施例では、デコードは表番号、クラ
ス番号から得られたサブクラス番号及び最下位ビットを
除くリメインダの全てのビットによって形成されたアド
レスを用いることによって記憶装置をアクセスすること
で実行される。
AMを用いたファーストデコーディングを提供する。 【構成】 予め決められた最大値までハフマンコードワ
ード内の先頭の”1”の数を認識するためのリーディン
グワンズ検出器302を用いたハフマンコードをファー
ストデコードするための装置及び方法である。認識され
た先頭の”1”の数に基づくクラス番号、クラス番号に
基づいて複数のビットをハフマンコードワードから取除
くことによって“リメインダ”を提供するための第1論
理回路及び特殊クラスを認識するための第2論理回路が
提供される。ある実施例では、デコードは表番号、クラ
ス番号から得られたサブクラス番号及び最下位ビットを
除くリメインダの全てのビットによって形成されたアド
レスを用いることによって記憶装置をアクセスすること
で実行される。
Description
【0001】
【産業上の利用分野】本発明はハフマンコードのデコー
ドに関し、特にハフマンコードをデコードするための回
路に関する。
ドに関し、特にハフマンコードをデコードするための回
路に関する。
【0002】
【従来の技術】ハフマンコードまたはハフマンコードワ
ードは、空間的に有効なデータの可変長二進表現であ
る。ハフマンコードを使用した例は、アンシー(ANSI)
X3L2.8委員会のジョイント・ピクチャー・イクス
パート・グループ(Joint Picture Expert Group)(J
PEG)によって報告された“JPEG Digital Compressi
onand Coding of Continuous-ton Still Images, Draft
ISO 10918,1991,”に示されている。JPEG文書のア
ネックスC(Annex C) で、JPEGは静止ピクチャの
エントロピーエンコーディングと共に使用するためのハ
フマンコード表の特別な形成方法を明らかにしている
(アネックスCを参照のこと)。様々な回路がハフマン
コードをデコードするために開発されてきた。概ね、こ
れらの回路は順次論理を用いてハフマンコードを反復し
てデコードする(即ちコードの最後のビットが認識され
るまで同時に1または2ビットをデコードする)か、ま
たは組合わせ論理を用いて並列にデコードする(即ち1
クロック周期で全体のコードをデコードする)。ハフマ
ンコードをデコードする後者の方法は、“ファーストデ
コーディング(fast decoding)”と呼ばれる。
ードは、空間的に有効なデータの可変長二進表現であ
る。ハフマンコードを使用した例は、アンシー(ANSI)
X3L2.8委員会のジョイント・ピクチャー・イクス
パート・グループ(Joint Picture Expert Group)(J
PEG)によって報告された“JPEG Digital Compressi
onand Coding of Continuous-ton Still Images, Draft
ISO 10918,1991,”に示されている。JPEG文書のア
ネックスC(Annex C) で、JPEGは静止ピクチャの
エントロピーエンコーディングと共に使用するためのハ
フマンコード表の特別な形成方法を明らかにしている
(アネックスCを参照のこと)。様々な回路がハフマン
コードをデコードするために開発されてきた。概ね、こ
れらの回路は順次論理を用いてハフマンコードを反復し
てデコードする(即ちコードの最後のビットが認識され
るまで同時に1または2ビットをデコードする)か、ま
たは組合わせ論理を用いて並列にデコードする(即ち1
クロック周期で全体のコードをデコードする)。ハフマ
ンコードをデコードする後者の方法は、“ファーストデ
コーディング(fast decoding)”と呼ばれる。
【0003】ハフマンコードをファーストデコーディン
グするための従来技術の1つの方法が図1に示されてい
る。図1では、回路100は、アラインメント(alignm
emt)バッファ101、コンテントアドレッサブル(con
tent-addressable)メモリ(CAM)102及びランダ
ムアクセスメモリ(RAM)103と共に提供される。
アラインメントバッファ101は、バス104の端子上
のwビット入力ワード(L≦w)内にある長さLの少な
くとも1つのハフマンコードを含むビットの集合を受入
れる。幅wのアラインメントバッファ101の入力ワー
ドは、ハフマンコードワードがこの回路100によって
受入れられる最大の幅である。ハフマンコードワードを
受入れた時、アラインメントバッファ101は出力バス
105にwビットの出力ワードを供給する。バス105
上のこの出力ワードは、ハフマンコードの第1ビットが
アラインメントバッファ101からのバス105上の出
力ワードの第1ビットに位置合わせが行なわれるように
シフトされた入力ハフマンコードワードである。バス1
05上のwビットによってアドレスされているCAM1
02の記憶場所は、nビットのアドレスを含む。nビッ
トアドレスはバス106上のRAM103をアドレスす
るために用いられる。RAM103のサイズは、本実施
例では2n-1と2nの間である受入れられたハフマンコー
ドワードの数によって決定される。バス106上のnビ
ットアドレスに対応するRAM103のワードは、長さ
L及びハフマンコードのデコードされた値を含む。次に
デコードされたハフマンコードの長さLは、バス104
上の入力ワードに含まれる次のハフマンコードと位置合
わせをするためにバス107を通ってアラインメントバ
ッファ101へフィードバックされる。
グするための従来技術の1つの方法が図1に示されてい
る。図1では、回路100は、アラインメント(alignm
emt)バッファ101、コンテントアドレッサブル(con
tent-addressable)メモリ(CAM)102及びランダ
ムアクセスメモリ(RAM)103と共に提供される。
アラインメントバッファ101は、バス104の端子上
のwビット入力ワード(L≦w)内にある長さLの少な
くとも1つのハフマンコードを含むビットの集合を受入
れる。幅wのアラインメントバッファ101の入力ワー
ドは、ハフマンコードワードがこの回路100によって
受入れられる最大の幅である。ハフマンコードワードを
受入れた時、アラインメントバッファ101は出力バス
105にwビットの出力ワードを供給する。バス105
上のこの出力ワードは、ハフマンコードの第1ビットが
アラインメントバッファ101からのバス105上の出
力ワードの第1ビットに位置合わせが行なわれるように
シフトされた入力ハフマンコードワードである。バス1
05上のwビットによってアドレスされているCAM1
02の記憶場所は、nビットのアドレスを含む。nビッ
トアドレスはバス106上のRAM103をアドレスす
るために用いられる。RAM103のサイズは、本実施
例では2n-1と2nの間である受入れられたハフマンコー
ドワードの数によって決定される。バス106上のnビ
ットアドレスに対応するRAM103のワードは、長さ
L及びハフマンコードのデコードされた値を含む。次に
デコードされたハフマンコードの長さLは、バス104
上の入力ワードに含まれる次のハフマンコードと位置合
わせをするためにバス107を通ってアラインメントバ
ッファ101へフィードバックされる。
【0004】従来の技術(例えば図1の回路100)に
よって行なわれたアプローチは、有効に実施されたCA
Mの可用性に依存する。CAMはある技術に於ては容易
に利用することができない。CAMを用いることなしに
ファーストデコーディングを行なうためには、ハフマン
コードワードの全てのビットがRAMをアドレスするた
めに用いられなければならない。そのようなRAMのサ
イズは現実的なものではなく膨大である。
よって行なわれたアプローチは、有効に実施されたCA
Mの可用性に依存する。CAMはある技術に於ては容易
に利用することができない。CAMを用いることなしに
ファーストデコーディングを行なうためには、ハフマン
コードワードの全てのビットがRAMをアドレスするた
めに用いられなければならない。そのようなRAMのサ
イズは現実的なものではなく膨大である。
【0005】
【発明が解決しようとする課題】装置及び方法が、ハフ
マンコードワード内の先頭の”1”の数に基づいてクラ
ス番号を提供する手段及びハフマンコードワードから認
められた先頭の”1”及びあるクラスを除いてその先頭
の”1”の直後に続くビットも除去することによって
“リメインダ(remainder)”を提供する手段を用いる
ハフマンコードをファーストデコードするために提供さ
れる。本発明に基づく装置は、デコードされたハフマン
コードワードの表を記憶する手段を含み、その表の中に
は“特殊クラス(special class)”を除き受入れられ
たハフマンコードワードのデコードされた値がそのクラ
ス番号に従ってグループ分けされる。特殊クラスは最も
長い可能なリメインダを有するクラスである。そのよう
な特殊クラスは、リメインダ内の選択されたビットが0
または1のいずれであるかに基づいてハフマンコードワ
ードのデコードされた値の表に2つのより小さいサブク
ラスとして記憶される。デコードされた値の表をアクセ
スするために、デコードされたハフマンコードワードの
表は、サブクラス番号及び選択されたビットを除いたリ
メインダを用いることによってアクセスされる。特殊ク
ラスの場合、サブクラス番号はクラス番号またはクラス
番号の範囲外の番号である。
マンコードワード内の先頭の”1”の数に基づいてクラ
ス番号を提供する手段及びハフマンコードワードから認
められた先頭の”1”及びあるクラスを除いてその先頭
の”1”の直後に続くビットも除去することによって
“リメインダ(remainder)”を提供する手段を用いる
ハフマンコードをファーストデコードするために提供さ
れる。本発明に基づく装置は、デコードされたハフマン
コードワードの表を記憶する手段を含み、その表の中に
は“特殊クラス(special class)”を除き受入れられ
たハフマンコードワードのデコードされた値がそのクラ
ス番号に従ってグループ分けされる。特殊クラスは最も
長い可能なリメインダを有するクラスである。そのよう
な特殊クラスは、リメインダ内の選択されたビットが0
または1のいずれであるかに基づいてハフマンコードワ
ードのデコードされた値の表に2つのより小さいサブク
ラスとして記憶される。デコードされた値の表をアクセ
スするために、デコードされたハフマンコードワードの
表は、サブクラス番号及び選択されたビットを除いたリ
メインダを用いることによってアクセスされる。特殊ク
ラスの場合、サブクラス番号はクラス番号またはクラス
番号の範囲外の番号である。
【0006】ある実施例ではランダムアクセスメモリ
(RAM)は、各々が16ビットよりも長くない162
個のハフマンコードワードを含むJPEG−ACコード
表のための記憶場所を提供する。本発明に基づいて、ハ
フマンコード表は、クラスのハフマンコードワードの先
頭の”1”の数に基づいて0−10のクラスにグループ
分けされる。本実施例ではクラス6が特殊クラスとして
指定されている。クラス6のデコードされた値は2つの
サブクラス6及び11に記憶されている。ハフマンコー
ドのデコードされた値へのアクセスはクラス番号及びリ
メインダの上位6ビットによって行なわれる。
(RAM)は、各々が16ビットよりも長くない162
個のハフマンコードワードを含むJPEG−ACコード
表のための記憶場所を提供する。本発明に基づいて、ハ
フマンコード表は、クラスのハフマンコードワードの先
頭の”1”の数に基づいて0−10のクラスにグループ
分けされる。本実施例ではクラス6が特殊クラスとして
指定されている。クラス6のデコードされた値は2つの
サブクラス6及び11に記憶されている。ハフマンコー
ドのデコードされた値へのアクセスはクラス番号及びリ
メインダの上位6ビットによって行なわれる。
【0007】本発明は、同時係属出願で記述されたハフ
マンコードワードのファーストデコーディングための他
の機構のRAMの略2分の1のサイズのRAMを用いた
ハフマンコードのファーストデコーディングを提供す
る。本発明はコンテントアドレッサブルメモリが利用で
きない場合でさえも用いることができる。従って本発明
は、画像処理のようなアプリケーションのための集積回
路内て実施することも可能である。
マンコードワードのファーストデコーディングための他
の機構のRAMの略2分の1のサイズのRAMを用いた
ハフマンコードのファーストデコーディングを提供す
る。本発明はコンテントアドレッサブルメモリが利用で
きない場合でさえも用いることができる。従って本発明
は、画像処理のようなアプリケーションのための集積回
路内て実施することも可能である。
【0008】
【課題を解決するための手段】上述の目的は、ハフマン
コードワートがwビット以下の長さを有するハフマンコ
ードワードをデコードする装置であって、w以下の予め
決められた最大値まで前記ハフマンコードワードの先頭
の”1”の数cを検出し、該数cと等しいクラス番号を
供給するリーディングワンズ検出器と、前記クラス番号
が前記予め決められた最大値以下の時にはc+1ビット
を除去し、前記クラス番号が前記予め決められた最大値
に等しい時にはcビットを除去した後に残留する前記ハ
フマンコードワードであるmビットまでのリメインダワ
ードを供給するために前記数c及び該ハフマンコードワ
ードを受入れる第1論理回路と、前記リメインダワード
を特殊ビット部分とサブリメインダワード部分に分割す
る手段と、前記クラス番号が特殊クラス番号に等しくな
い時、サブクラス番号が該クラス番号を割当られ、前記
クラス番号が前記特殊クラス番号に等しい時、前記特殊
ビットの値に基づいて、前記サブクラス番号が前記特殊
クラス番号または予め決められた値を割当られるよう
に、前記サブクラス番号を供給するために前記特殊ビッ
ト部分及び前記サブリメインダワード部分を受入れる第
2論理回路と、ハフマンコードワードのデコードされた
値を記憶する手段と、それぞれ前記サブクラス番号と前
記サブリメインダワードである第1及び第2フィールド
からなるアドレスを前記記憶手段の記憶位置に写すアド
レスデコーダとを有することを特徴とするハフマンコー
ドワードをデコードする装置を提供することによって達
成される。
コードワートがwビット以下の長さを有するハフマンコ
ードワードをデコードする装置であって、w以下の予め
決められた最大値まで前記ハフマンコードワードの先頭
の”1”の数cを検出し、該数cと等しいクラス番号を
供給するリーディングワンズ検出器と、前記クラス番号
が前記予め決められた最大値以下の時にはc+1ビット
を除去し、前記クラス番号が前記予め決められた最大値
に等しい時にはcビットを除去した後に残留する前記ハ
フマンコードワードであるmビットまでのリメインダワ
ードを供給するために前記数c及び該ハフマンコードワ
ードを受入れる第1論理回路と、前記リメインダワード
を特殊ビット部分とサブリメインダワード部分に分割す
る手段と、前記クラス番号が特殊クラス番号に等しくな
い時、サブクラス番号が該クラス番号を割当られ、前記
クラス番号が前記特殊クラス番号に等しい時、前記特殊
ビットの値に基づいて、前記サブクラス番号が前記特殊
クラス番号または予め決められた値を割当られるよう
に、前記サブクラス番号を供給するために前記特殊ビッ
ト部分及び前記サブリメインダワード部分を受入れる第
2論理回路と、ハフマンコードワードのデコードされた
値を記憶する手段と、それぞれ前記サブクラス番号と前
記サブリメインダワードである第1及び第2フィールド
からなるアドレスを前記記憶手段の記憶位置に写すアド
レスデコーダとを有することを特徴とするハフマンコー
ドワードをデコードする装置を提供することによって達
成される。
【0009】
【実施例】関連する発明は、T・ルーツ及びP・トング
によって本発明と同時に出願され、本発明の譲り受け人
であるエルエスアイ・ロジック・コーポレーション(LS
ILogic Corporation)に譲渡された同時係属出願“Meth
od and Apparatus for Decoding Huffman Codes”の幾
つかの実施例と共に記述された。その同時係属出願の明
細書に於ける記載を必要に応じて参照されたい。
によって本発明と同時に出願され、本発明の譲り受け人
であるエルエスアイ・ロジック・コーポレーション(LS
ILogic Corporation)に譲渡された同時係属出願“Meth
od and Apparatus for Decoding Huffman Codes”の幾
つかの実施例と共に記述された。その同時係属出願の明
細書に於ける記載を必要に応じて参照されたい。
【0010】本発明は、“JPEG Digital Compression a
nd Code of Continuous-tone StillImages, Draft ISO
10918,1991.”のアネックスC( Annex C)で定義され
た手続きに基づいて生み出されたハフマンコードのクラ
スに適応することができる。このJPEG文書のアネッ
クスCに於ける記載を必要に応じて参照されたい。以
後、“ハフマンコード(Huffman code)”または“ハフ
マンコードワード(Huffman codeword)”は、JPEG
文書のアネックスCの手続きによって記述されたクラス
に属するハフマンコードまたはハフマンコードワードを
意味する。
nd Code of Continuous-tone StillImages, Draft ISO
10918,1991.”のアネックスC( Annex C)で定義され
た手続きに基づいて生み出されたハフマンコードのクラ
スに適応することができる。このJPEG文書のアネッ
クスCに於ける記載を必要に応じて参照されたい。以
後、“ハフマンコード(Huffman code)”または“ハフ
マンコードワード(Huffman codeword)”は、JPEG
文書のアネックスCの手続きによって記述されたクラス
に属するハフマンコードまたはハフマンコードワードを
意味する。
【0011】同時係属出願で記述された関連する発明に
基づく回路は、コードワード二進表現の先頭の”1”の
数に基づくクラス番号の1つにコードワードを最初に割
当てることによってハフマンコードワード(“コードワ
ード”)を予め決められた最大の長さまでデコードす
る。概ね、与えられた最大長のコードワードは、0から
c−1の範囲のクラス番号を指定され、クラス0、1、
2、...、c−2はそれぞれ0、1、2、...、c
−2先頭の”1”を有するコードワードをメンバとして
含む。クラスc−1は、c−1または更なる先頭の”
1”を有するコードワードをメンバとして含む。一端コ
ードワードのクラスが認識されると、先頭の”1”はよ
り小さいクラス番号によって表現され、コードワードの
更なるデコードは必要なくなる。先頭の”1”の直後に
続くビットは、そのビットが1または0のいずれかであ
るクラスc−1を除いた各クラスで必ず0である。従っ
て、クラス0、1、...、c−2では先頭の”1”に
続くこの0ビットはハフマンコードワードの更なるデコ
ードにとって必要ではない。従って関連する発明の回路
は、クラス0、1、...、c−2に対してコードワー
ドから先頭の”1”及び先頭の”1”の直後に続く0ビ
ットを取除くことにより“リメインダ(remainder)”を
得る。クラスc−1では、リメインダはc−1先頭の”
1”を取除くことによって得られる。各クラスで、リメ
インダの長さは受入れられたハフマンコードワードの集
合に基づいて変化する。とはいえ、メモリシステム内に
アドレスを形成するためにクラス番号及びリメインダを
用いることによってコンパクトなコード表が得られる。
コードワードの先頭の”1”の検出及びクラス番号及び
リメインダを用いたメモリアクセスが組合わせ論理によ
って容易に得られ、関連する発明もまたハフマンコード
ワードのファーストデコードを提供する。
基づく回路は、コードワード二進表現の先頭の”1”の
数に基づくクラス番号の1つにコードワードを最初に割
当てることによってハフマンコードワード(“コードワ
ード”)を予め決められた最大の長さまでデコードす
る。概ね、与えられた最大長のコードワードは、0から
c−1の範囲のクラス番号を指定され、クラス0、1、
2、...、c−2はそれぞれ0、1、2、...、c
−2先頭の”1”を有するコードワードをメンバとして
含む。クラスc−1は、c−1または更なる先頭の”
1”を有するコードワードをメンバとして含む。一端コ
ードワードのクラスが認識されると、先頭の”1”はよ
り小さいクラス番号によって表現され、コードワードの
更なるデコードは必要なくなる。先頭の”1”の直後に
続くビットは、そのビットが1または0のいずれかであ
るクラスc−1を除いた各クラスで必ず0である。従っ
て、クラス0、1、...、c−2では先頭の”1”に
続くこの0ビットはハフマンコードワードの更なるデコ
ードにとって必要ではない。従って関連する発明の回路
は、クラス0、1、...、c−2に対してコードワー
ドから先頭の”1”及び先頭の”1”の直後に続く0ビ
ットを取除くことにより“リメインダ(remainder)”を
得る。クラスc−1では、リメインダはc−1先頭の”
1”を取除くことによって得られる。各クラスで、リメ
インダの長さは受入れられたハフマンコードワードの集
合に基づいて変化する。とはいえ、メモリシステム内に
アドレスを形成するためにクラス番号及びリメインダを
用いることによってコンパクトなコード表が得られる。
コードワードの先頭の”1”の検出及びクラス番号及び
リメインダを用いたメモリアクセスが組合わせ論理によ
って容易に得られ、関連する発明もまたハフマンコード
ワードのファーストデコードを提供する。
【0012】同時係属中の出願の方法では、必要な記憶
装置の大きさは、コード表の番号、クラス番号及び2n
の積で与えられ、ここでnは最も長いリメインダの長さ
を表わす。
装置の大きさは、コード表の番号、クラス番号及び2n
の積で与えられ、ここでnは最も長いリメインダの長さ
を表わす。
【0013】図2は上述されたファーストデコード機構
を実施する回路である。図2に示すように、アラインメ
ントバッファ201は、Lビットよりも長くない(w≦
Lの)ハフマンコードワードを含むwビットワードをバ
ス205上に受入れる。アラインメントバッファ201
は、sビットバス206上で特定された長さに基づいて
バス207上のハフマンコードワードの位置合わせを行
ない、バス207上の最上位ビットがハフマンコードワ
ードの最上位ビットになる。バス206上の数量は、最
後にデコードされたハフマンコードワードの長さを含
む。リーディングワンズ検出器は、バス207上の位置
合わせをされたwビットワードを受入れ、バス209上
のtビットクラス番号及びtビットバス208上のシフ
ト量を提供する。ここでtは log2 C 以上の最小の
整数である。シフト量は、1からc−1(ここでcはク
ラス番号を表わす)の範囲にあり、c−1ビットによっ
てシフトされるクラスc−1を除きクラス番号以上の数
である。バレルシフタ203はバス207上にwビット
ワードを受入れ、バス210上にmビット出力値を提供
する。バス210上のこのmビット出力値は、バス20
7上のハフマンコードワードのリメインダを含む。リメ
インダは、tビットバス208で特定されるシフト量に
基づくシフト動作によって得られる。ランダムアクセス
メモリ(RAM)204は、クラス番号、バス210上
のmビット出力値及び表番号によってアドレスマップ2
11内に形成されるアドレスを用いることでアクセスさ
れる。例えば、2つのJPEGハフマン“AC”コード
表が用いられるJPEGシステムでは、表番号は1ビッ
トによって特定される。ハフマンコードワードのデコー
ドされた値の他に、コード表の各エントリもまたデコー
ドされたコードワードの長さを提供し、この長さは次の
ハフマンコードワードの位置合わせを行なうためにアラ
インメントバッファ201へフィードバックされるsビ
ットバス206上の出力である。アラインメントバッフ
ァ201、リーディングワンズ検出器202、バレルシ
フタ203及びRAM204は、当業者にとって既知の
通常の若しくは適切な回路によって実施される。
を実施する回路である。図2に示すように、アラインメ
ントバッファ201は、Lビットよりも長くない(w≦
Lの)ハフマンコードワードを含むwビットワードをバ
ス205上に受入れる。アラインメントバッファ201
は、sビットバス206上で特定された長さに基づいて
バス207上のハフマンコードワードの位置合わせを行
ない、バス207上の最上位ビットがハフマンコードワ
ードの最上位ビットになる。バス206上の数量は、最
後にデコードされたハフマンコードワードの長さを含
む。リーディングワンズ検出器は、バス207上の位置
合わせをされたwビットワードを受入れ、バス209上
のtビットクラス番号及びtビットバス208上のシフ
ト量を提供する。ここでtは log2 C 以上の最小の
整数である。シフト量は、1からc−1(ここでcはク
ラス番号を表わす)の範囲にあり、c−1ビットによっ
てシフトされるクラスc−1を除きクラス番号以上の数
である。バレルシフタ203はバス207上にwビット
ワードを受入れ、バス210上にmビット出力値を提供
する。バス210上のこのmビット出力値は、バス20
7上のハフマンコードワードのリメインダを含む。リメ
インダは、tビットバス208で特定されるシフト量に
基づくシフト動作によって得られる。ランダムアクセス
メモリ(RAM)204は、クラス番号、バス210上
のmビット出力値及び表番号によってアドレスマップ2
11内に形成されるアドレスを用いることでアクセスさ
れる。例えば、2つのJPEGハフマン“AC”コード
表が用いられるJPEGシステムでは、表番号は1ビッ
トによって特定される。ハフマンコードワードのデコー
ドされた値の他に、コード表の各エントリもまたデコー
ドされたコードワードの長さを提供し、この長さは次の
ハフマンコードワードの位置合わせを行なうためにアラ
インメントバッファ201へフィードバックされるsビ
ットバス206上の出力である。アラインメントバッフ
ァ201、リーディングワンズ検出器202、バレルシ
フタ203及びRAM204は、当業者にとって既知の
通常の若しくは適切な回路によって実施される。
【0014】回路200から分かるように、同時係属出
願の方法では必要なRAMのサイズはコード表の番号
(この場合2)、クラスcの番号及び2nの積で与えら
れる。
願の方法では必要なRAMのサイズはコード表の番号
(この場合2)、クラスcの番号及び2nの積で与えら
れる。
【0015】本発明は、記憶装置のサイズを減少するこ
とによって同時係属出願の方法を改良する。
とによって同時係属出願の方法を改良する。
【0016】上述したように各クラスのリメインダの長
さは変化する。時によって、最も長いリメインダは唯一
のクラス(“特殊(special)”クラス)で得られる。
そのような状態では本発明に基づいて、メモリシステム
のサイズの更なる減少が可能である。サイズの減少は、
特殊クラスを2つのサブクラスに分割することによって
実行される。この特殊クラスの2つのサブクラスへの分
割の結果、特殊クラス以外のクラスのハフマンコードの
デコードは、表番号、クラス番号及びm−1ビットを有
するリメインダによって形成されるアドレスを用いるこ
とで実行される。特殊クラスのハフマンコードに対して
は論理回路が、2つのサブクラス(各メンバーシップの
サイズは2n-1である)のいずれが調べられるかを決定
する。従って、本発明に基づいて必要とされる記憶装置
のサイズは、コード表の番号、クラス番号以上の番号及
び2n-1の積である。一方、2個以上のクラスにクラス
分け可能なハフマンコードワードの集合のためのこの機
構に於いては、ファーストデコードのために要求される
記憶装置のサイズは、同時係属出願で述べられた機構に
よって要求される記憶装置のサイズよりも実質的に減少
可能である。
さは変化する。時によって、最も長いリメインダは唯一
のクラス(“特殊(special)”クラス)で得られる。
そのような状態では本発明に基づいて、メモリシステム
のサイズの更なる減少が可能である。サイズの減少は、
特殊クラスを2つのサブクラスに分割することによって
実行される。この特殊クラスの2つのサブクラスへの分
割の結果、特殊クラス以外のクラスのハフマンコードの
デコードは、表番号、クラス番号及びm−1ビットを有
するリメインダによって形成されるアドレスを用いるこ
とで実行される。特殊クラスのハフマンコードに対して
は論理回路が、2つのサブクラス(各メンバーシップの
サイズは2n-1である)のいずれが調べられるかを決定
する。従って、本発明に基づいて必要とされる記憶装置
のサイズは、コード表の番号、クラス番号以上の番号及
び2n-1の積である。一方、2個以上のクラスにクラス
分け可能なハフマンコードワードの集合のためのこの機
構に於いては、ファーストデコードのために要求される
記憶装置のサイズは、同時係属出願で述べられた機構に
よって要求される記憶装置のサイズよりも実質的に減少
可能である。
【0017】図3は、JPEGハフマンコードワードの
デコードに適した回路300内の本発明の実施例であ
る。各JPEG“AC”コード表は、16ビットよりも
小さい162のハフマンコードワードを含む。11クラ
スへの可能なクラス分けを伴なったJPEG“AG”コ
ード表の例が次の表1に提供されている。
デコードに適した回路300内の本発明の実施例であ
る。各JPEG“AC”コード表は、16ビットよりも
小さい162のハフマンコードワードを含む。11クラ
スへの可能なクラス分けを伴なったJPEG“AG”コ
ード表の例が次の表1に提供されている。
【0018】
【表1】
【0019】表1から分かるように、このハフマンコー
ドワードの集合では、先頭の”1”に続く各クラスの二
進ビットの最大数は7ビットである(即ちクラス6で達
成された7ビット)。概ね、受入れられたハフマンコー
ドワードの数nとリメインダ内のバイナリビットの最大
の可能な数mは次の関係を満す。
ドワードの集合では、先頭の”1”に続く各クラスの二
進ビットの最大数は7ビットである(即ちクラス6で達
成された7ビット)。概ね、受入れられたハフマンコー
ドワードの数nとリメインダ内のバイナリビットの最大
の可能な数mは次の関係を満す。
【0020】2m+m≦n≦2m+1+m
【0021】(即ち図2のmビットバス210上の)固
定長のビットパターンからのコードワードをデコードす
る時、もしコードワードリメインダが最長のリメインダ
よりも短い時、ビットパターンの最も右のビットは1ま
たは0のいずれでもよく、即ち“ドントケア(don't ca
re)”値であることが分かる。従って例えば、表1に示
されたクラス6のハフマンコードワードをデコードする
時、考えられるビットパターンは、2つの“サブクラ
ス”6及び11に組分けされる。
定長のビットパターンからのコードワードをデコードす
る時、もしコードワードリメインダが最長のリメインダ
よりも短い時、ビットパターンの最も右のビットは1ま
たは0のいずれでもよく、即ち“ドントケア(don't ca
re)”値であることが分かる。従って例えば、表1に示
されたクラス6のハフマンコードワードをデコードする
時、考えられるビットパターンは、2つの“サブクラ
ス”6及び11に組分けされる。
【0022】
【表2】
【0023】上のビットパターンから明らかなように、
サブクラス6は最下位ビット(または最も右のビット)
に0を有するクラス6のコードワードのビットパターン
からなり、サブクラス11は最も右のビットに1を有す
るクラス6のコードワードのビットパターンからなる。
従って、最大長よりも短いリメインダを有するコードワ
ードをデコードする時に出会うビットパターンは、サブ
クラス6及び11の両方に存在する。最長のリメインダ
を有するコードワードでは、最も右のビットがコードワ
ードがサブクラス6またはサブクラス11のいずれのビ
ットパターンとして現われるかを決定する。例えば11
11101111111はサブクラス11に存在し、サ
ブクラス6には存在しない。サブクラス番号及び表番号
が認識され、上で定義された最長の“リメインダ”のビ
ットよりも短いリメイニングビット(remaining bits)
(“サブリメインダ(sub-remainder)”)だけが要求
される時、更なるデコードが実行される。この例では、
リメイニングビットの数は6である。従って次の機構
(“代わりの機構”)に基づいてデコードされるべきハ
フマンコードの集合を再定義することを考える。(a)
各コードワードはもし特殊クラスに属していなければ、
そのコードワードが属するクラスが帯びるラベル数と等
しいラベル数を帯びるサブクラスに割当られる(即ち特
殊クラス以外の各クラスは同一のサブクラスを有す
る)。(b)特殊クラスの各コードワードは、既に説明
された方法でサブクラス6及び11によって定義された
2つのサブクラスの片方の1個若しくはそれ以上のビッ
トパターンで表現される。この代わりの機構では、上述
されたJPEGコード表の例を用いると、任意のクラス
0−5及び7−9に属するコードワードは、対応するサ
ブクラス0−5及び7−9の1つに割当られる。しか
し、もしコードワードが最大長のリメインダを有さなけ
れば、クラス6に属するコードワードは、特殊クラスの
両方のサブクラス6及び11内で表現される。コードワ
ードが最大長リメインダを有する時、コードワードは、
最下位ビットのビット値に基づいてサブクラス6及び1
1のいずれに於ても唯一に表現される。この代わりの機
構では、各コードワードは、表番号、サブクラス番号及
び最大長リメインダから最下位ビットを引いたサブリメ
インダによって形成されるアドレスを用いてRAMをア
クセスすることによってデコードされる。この代わりの
機構で用いられるRAMのサイズは、同時係属出願で記
載された機構で用いられたRAMのサイズの2分の1よ
りも僅かに大きい。
サブクラス6は最下位ビット(または最も右のビット)
に0を有するクラス6のコードワードのビットパターン
からなり、サブクラス11は最も右のビットに1を有す
るクラス6のコードワードのビットパターンからなる。
従って、最大長よりも短いリメインダを有するコードワ
ードをデコードする時に出会うビットパターンは、サブ
クラス6及び11の両方に存在する。最長のリメインダ
を有するコードワードでは、最も右のビットがコードワ
ードがサブクラス6またはサブクラス11のいずれのビ
ットパターンとして現われるかを決定する。例えば11
11101111111はサブクラス11に存在し、サ
ブクラス6には存在しない。サブクラス番号及び表番号
が認識され、上で定義された最長の“リメインダ”のビ
ットよりも短いリメイニングビット(remaining bits)
(“サブリメインダ(sub-remainder)”)だけが要求
される時、更なるデコードが実行される。この例では、
リメイニングビットの数は6である。従って次の機構
(“代わりの機構”)に基づいてデコードされるべきハ
フマンコードの集合を再定義することを考える。(a)
各コードワードはもし特殊クラスに属していなければ、
そのコードワードが属するクラスが帯びるラベル数と等
しいラベル数を帯びるサブクラスに割当られる(即ち特
殊クラス以外の各クラスは同一のサブクラスを有す
る)。(b)特殊クラスの各コードワードは、既に説明
された方法でサブクラス6及び11によって定義された
2つのサブクラスの片方の1個若しくはそれ以上のビッ
トパターンで表現される。この代わりの機構では、上述
されたJPEGコード表の例を用いると、任意のクラス
0−5及び7−9に属するコードワードは、対応するサ
ブクラス0−5及び7−9の1つに割当られる。しか
し、もしコードワードが最大長のリメインダを有さなけ
れば、クラス6に属するコードワードは、特殊クラスの
両方のサブクラス6及び11内で表現される。コードワ
ードが最大長リメインダを有する時、コードワードは、
最下位ビットのビット値に基づいてサブクラス6及び1
1のいずれに於ても唯一に表現される。この代わりの機
構では、各コードワードは、表番号、サブクラス番号及
び最大長リメインダから最下位ビットを引いたサブリメ
インダによって形成されるアドレスを用いてRAMをア
クセスすることによってデコードされる。この代わりの
機構で用いられるRAMのサイズは、同時係属出願で記
載された機構で用いられたRAMのサイズの2分の1よ
りも僅かに大きい。
【0024】図3はハフマンコードワードのファースト
デコードに適した回路300を示す。図3に示すよう
に、(図2のアラインメントバッファ201と同様に)
アラインメントバッファ301は、16ビットバス30
5上デコードされるべき次のハフマンコードを含むビッ
トパターンを受入れる。アラインメントバッファ301
は4ビットバス306上で特定された長さに基づいてバ
ス305上の入力ビットパターンの位置合わせをした
後、16ビットバス307上の位置合わせをされたビッ
トパターンを提供する。バス307上の16ビットの位
置合わせをされたビットパターンは、リーディングワン
ズ検出器302及びバレルシフタ303の両方に受入れ
られる。リーディングワンズ検出器302及びバレルシ
フタ303はそれぞれリーディングワンズ検出器202
及びバレルシフタ203と等しい機能を提供する。リー
ディングワンズ検出器302は、バス307上の位置合
わせをされたビットパターンの先頭の”1”の数を検出
し、4ビットバス308上にシフト量を提供し、4ビッ
トバス309上にクラス番号を提供する。リーディング
ワンズ検出器302は、先頭の”1”を取除き、もしコ
ードワードがクラス0−9に属するならば先頭の”1”
に続く0ビットをも取除くことによって、即時のハフマ
ンコードワードのリメインダを得るために4ビットシフ
ト量をバレルシフタ303に提供する。従ってリメイン
ダを含む7ビット出力が、バレルシフタ303によって
バス310上に提供される。
デコードに適した回路300を示す。図3に示すよう
に、(図2のアラインメントバッファ201と同様に)
アラインメントバッファ301は、16ビットバス30
5上デコードされるべき次のハフマンコードを含むビッ
トパターンを受入れる。アラインメントバッファ301
は4ビットバス306上で特定された長さに基づいてバ
ス305上の入力ビットパターンの位置合わせをした
後、16ビットバス307上の位置合わせをされたビッ
トパターンを提供する。バス307上の16ビットの位
置合わせをされたビットパターンは、リーディングワン
ズ検出器302及びバレルシフタ303の両方に受入れ
られる。リーディングワンズ検出器302及びバレルシ
フタ303はそれぞれリーディングワンズ検出器202
及びバレルシフタ203と等しい機能を提供する。リー
ディングワンズ検出器302は、バス307上の位置合
わせをされたビットパターンの先頭の”1”の数を検出
し、4ビットバス308上にシフト量を提供し、4ビッ
トバス309上にクラス番号を提供する。リーディング
ワンズ検出器302は、先頭の”1”を取除き、もしコ
ードワードがクラス0−9に属するならば先頭の”1”
に続く0ビットをも取除くことによって、即時のハフマ
ンコードワードのリメインダを得るために4ビットシフ
ト量をバレルシフタ303に提供する。従ってリメイン
ダを含む7ビット出力が、バレルシフタ303によって
バス310上に提供される。
【0025】特殊クラスラッチ313が、特殊クラスの
クラス番号を保持するために提供される。例えば上述さ
れたJPEG“AC”ハフマンコードでは、特殊クラス
番号は6である。特殊クラス検出器314は、4ビット
バス309上のリーディングワンズ検出器302によっ
て提供されたクラス番号を特殊クラスラッチ313に記
憶されたクラス番号と比較する。もしバス309上のク
ラス番号が特殊クラスのクラス番号でなければ、そのク
ラス番号はサブクラス番号としてマルチプレクサ316
を通して4ビットバス317上のRAM304に送られ
る。特殊クラスが検出された時、即ちバス309上のク
ラス番号が特殊クラスに対応する時、バス310上の出
力値の最下位ビット(この最下位ビットはバス310a
上に提供される)は、特殊クラスの2つのサブクラスの
いずれが選択されるかを決定するためにANDゲート3
15によってテストされる。バス310a上の値が0で
ある時、バス309上のクラス番号のサブクラス番号と
してマルチプレクサ316を通してバス317上のRA
M304へ送られる。バス310a上の最下位ビットの
値が1の時、ANDゲート315の出力は真になり、従
ってマルチプレクサ316は、ビットパターン“101
1”(サブクラス11に対応する)をサブクラス番号と
してバス317上のRAM304に提供する。アドレス
は、1ビットの表番号、バス317上の4ビットのサブ
クラス番号及びバス310b上の6ビットサブリメイン
ダ(即ちバス310上の7ビットのリメインダの上位6
ビット)によって形成される。サブクラスの数は2の冪
乗ではないのでサブクラス番号はRAMアドレスの上位
のアドレスビットを形成する。
クラス番号を保持するために提供される。例えば上述さ
れたJPEG“AC”ハフマンコードでは、特殊クラス
番号は6である。特殊クラス検出器314は、4ビット
バス309上のリーディングワンズ検出器302によっ
て提供されたクラス番号を特殊クラスラッチ313に記
憶されたクラス番号と比較する。もしバス309上のク
ラス番号が特殊クラスのクラス番号でなければ、そのク
ラス番号はサブクラス番号としてマルチプレクサ316
を通して4ビットバス317上のRAM304に送られ
る。特殊クラスが検出された時、即ちバス309上のク
ラス番号が特殊クラスに対応する時、バス310上の出
力値の最下位ビット(この最下位ビットはバス310a
上に提供される)は、特殊クラスの2つのサブクラスの
いずれが選択されるかを決定するためにANDゲート3
15によってテストされる。バス310a上の値が0で
ある時、バス309上のクラス番号のサブクラス番号と
してマルチプレクサ316を通してバス317上のRA
M304へ送られる。バス310a上の最下位ビットの
値が1の時、ANDゲート315の出力は真になり、従
ってマルチプレクサ316は、ビットパターン“101
1”(サブクラス11に対応する)をサブクラス番号と
してバス317上のRAM304に提供する。アドレス
は、1ビットの表番号、バス317上の4ビットのサブ
クラス番号及びバス310b上の6ビットサブリメイン
ダ(即ちバス310上の7ビットのリメインダの上位6
ビット)によって形成される。サブクラスの数は2の冪
乗ではないのでサブクラス番号はRAMアドレスの上位
のアドレスビットを形成する。
【0026】それぞれが12個のサブクラス(0−1
1)を有する2つのJPEGコード表が存在するので、
RAM304は2*12*26=1536個の記憶場所
を有するRAMによって実施され、そのRAMは、同時
係属出願で記述された機構のハフマンコードのこの集合
をデコードするために必要な(2*11*27=281
6の記憶場所を有する)RAMの半分よりも僅かに大き
い。RAM304の各ワードは、4ビットの“サイ
ズ”、“実行長さ(run length)”及び“長さ(lengt
h)”という量を含む。“サイズ”及び“実行長さ”量
は、それぞれ4ビットバス312a及び312b上に提
供される。デコードされたハフマンコードワードの長さ
に対応する“長さ”量は次のハフマンコードワードの位
置合わせをするためにアラインメントバッファ301に
フィードバックされる。回路300内で、アラインメン
トバッファ301、リーディングワンズ検出器302、
バレルシフタ310、特殊クラスラッチ313、特殊ク
ラス検出器314及びRAM304は、上述された機能
を提供するのに適する従来の及び任意の回路によって実
施可能である。
1)を有する2つのJPEGコード表が存在するので、
RAM304は2*12*26=1536個の記憶場所
を有するRAMによって実施され、そのRAMは、同時
係属出願で記述された機構のハフマンコードのこの集合
をデコードするために必要な(2*11*27=281
6の記憶場所を有する)RAMの半分よりも僅かに大き
い。RAM304の各ワードは、4ビットの“サイ
ズ”、“実行長さ(run length)”及び“長さ(lengt
h)”という量を含む。“サイズ”及び“実行長さ”量
は、それぞれ4ビットバス312a及び312b上に提
供される。デコードされたハフマンコードワードの長さ
に対応する“長さ”量は次のハフマンコードワードの位
置合わせをするためにアラインメントバッファ301に
フィードバックされる。回路300内で、アラインメン
トバッファ301、リーディングワンズ検出器302、
バレルシフタ310、特殊クラスラッチ313、特殊ク
ラス検出器314及びRAM304は、上述された機能
を提供するのに適する従来の及び任意の回路によって実
施可能である。
【0027】以上述べられてきた説明は、本発明の実施
例を説明するものであり、本発明の技術的範囲の限定を
意図するものではない。本発明の多くの変形変更が、本
発明の技術的範囲内に於て可能である。例えば、プログ
ラマブル論理装置またはリードオンリメモリ装置等のそ
の他の記憶装置の利用は、本発明の技術的範囲内で可能
である。本発明は添付の請求項によって定義される。
例を説明するものであり、本発明の技術的範囲の限定を
意図するものではない。本発明の多くの変形変更が、本
発明の技術的範囲内に於て可能である。例えば、プログ
ラマブル論理装置またはリードオンリメモリ装置等のそ
の他の記憶装置の利用は、本発明の技術的範囲内で可能
である。本発明は添付の請求項によって定義される。
【0028】
【発明の効果】上述したように本発明によれば、同時係
属出願で記述されたハフマンコードワードのファースト
デコーディングための他の機構のRAMの略2分の1の
サイズのRAMを用いたハフマンコードのファーストデ
コーディングが提供される。本発明はコンテントアドレ
ッサブルメモリが利用できない場合でさえも用いること
ができる。従って本発明は、画像処理のようなアプリケ
ーションのための集積回路内て実施することも可能であ
る。
属出願で記述されたハフマンコードワードのファースト
デコーディングための他の機構のRAMの略2分の1の
サイズのRAMを用いたハフマンコードのファーストデ
コーディングが提供される。本発明はコンテントアドレ
ッサブルメモリが利用できない場合でさえも用いること
ができる。従って本発明は、画像処理のようなアプリケ
ーションのための集積回路内て実施することも可能であ
る。
【図1】ハフマンコードワードをファーストデコードす
るための従来の技術の回路100のブロック図である。
るための従来の技術の回路100のブロック図である。
【図2】リーディングワンズ検出器202及びバレルシ
フタ203を用いたハフマンコードワードのファースト
デコードのための回路200のブロック図である。
フタ203を用いたハフマンコードワードのファースト
デコードのための回路200のブロック図である。
【図3】本発明に基づくリーディングワンズ検出器30
2、バレルシフタ303及び特殊論理を用いたハフマン
コードワードのファーストデコードのための回路300
のブロック図である。
2、バレルシフタ303及び特殊論理を用いたハフマン
コードワードのファーストデコードのための回路300
のブロック図である。
100 回路 101 アラインメントバッファ 102 コンテントアドレッサブルメモリ(CAM) 103 ランダムアクセスメモリ(RAM) 104〜107 バス 200 回路 201 アラインメントバッファ 202 リーディングワンズ検出器 203 バレルシフタ 204 ランダムアクセスメモリ(RAM) 205〜210 バス 211 アドレスマップ 300 回路 301 アラインメントバッファ 302 リーディングワンズ検出器 303 バレルシフタ 304 ランダムアクセスメモリ(RAM) 305〜310 バス 310a バス 310b バス 311 バス 312a バス 312b バス 313 特殊クラスラッチ 314 特殊クラス検出器 315 AND 316 マルチプレクサ 317 バス
フロントページの続き (72)発明者 ピーター・ルッツ アメリカ合衆国カリフォルニア州94062・ レッドウッドシティー・グランドストリー ト 118
Claims (12)
- 【請求項1】 ハフマンコードワードがwビット以下
の長さを有するハフマンコードワードをデコードする装
置であって、 w以下の予め決められた最大値まで前記ハフマンコード
ワードの先頭の”1”の数cを検出し、該数cと等しい
クラス番号を供給するリーディングワンズ検出器と、 前記クラス番号が前記予め決められた最大値以下の時に
はc+1ビットを除去し、前記クラス番号が前記予め決
められた最大値に等しい時にはcビットを除去した後に
残留する前記ハフマンコードワードであるmビットまで
のリメインダワードを供給するために前記数c及び該ハ
フマンコードワードを受入れる第1論理回路と、 前記リメインダワードを特殊ビット部分とサブリメイン
ダワード部分に分割する手段と、 前記クラス番号が特殊クラス番号に等しくない時、サブ
クラス番号が該クラス番号を割当られ、前記クラス番号
が前記特殊クラス番号に等しい時、前記特殊ビットの値
に基づいて、前記サブクラス番号が前記特殊クラス番号
または予め決められた値を割当られるように、前記サブ
クラス番号を供給するために前記特殊ビット部分及び前
記サブリメインダワード部分を受入れる第2論理回路
と、 ハフマンコードワードのデコードされた値を記憶する手
段と、 それぞれ前記サブクラス番号と前記サブリメインダワー
ドである第1及び第2フィールドからなるアドレスを前
記記憶手段の記憶位置に写すアドレスデコーダとを有す
ることを特徴とするハフマンコードワードをデコードす
る装置。 - 【請求項2】 前記第1論理回路がバレルシフタを有
することを特徴とする請求項1に記載の装置。 - 【請求項3】 前記記憶手段が、ランダムアクセスメ
モリを有することを特徴とする請求項1に記載の装置。 - 【請求項4】 前記アドレスデコーダが前記ランダム
アクセスメモリのための前記アドレスをデコードする手
段を有することを特徴とする請求項3に記載の装置。 - 【請求項5】 前記サブリメインダワードのビットが
前記ランダムアクセスメモリのより下位のアドレスを形
成することを特徴とする請求項4に記載の装置。 - 【請求項6】 前記記憶手段がハフマンコードワード
のデコードされた値を保持する複数の表を有し、該記憶
手段が更に前記複数の表のいずれが使用中であるかを表
示する信号を受信することを特徴とする請求項1に記載
の装置。 - 【請求項7】 ハフマンコードワードがwビット以下
の長さを有するハフマンコードワードをデコードする方
法であって、 w以下の予め決められた最大値まで前記ハフマンコード
ワードの先頭の”1”の数cを検出し、該数cと等しい
クラス番号を供給するリーディングワンズ検出器を使用
する過程と、 前記クラス番号が前記予め決められた最大値以下の時に
はc+1ビットを除去し、前記クラス番号が前記予め決
められた最大値に等しい時にはcビットを除去した後に
残留する前記ハフマンコードワードであるmビットまで
のリメインダワードを供給するために前記数c及び該ハ
フマンコードワードを受入れる第1論理回路を使用する
過程と、 前記リメインダワードを特殊ビット部分とサブリメイン
ダワード部分に分割する過程と、 前記クラス番号が特殊クラス番号に等しくない時、サブ
クラス番号が該クラス番号を割当られ、前記クラス番号
が前記特殊クラス番号に等しい時、前記特殊ビットの値
に基づいて、前記サブクラス番号が前記特殊クラス番号
または予め決められた値を割当られるように、前記サブ
クラス番号を供給するために前記特殊ビット部分及び前
記サブリメインダワード部分を受入れる第2論理回路を
使用する過程と、 ハフマンコードワードのデコードされた値を記憶する手
段を提供する過程と、 それぞれ前記サブクラス番号と前記サブリメインダワー
ドである第1及び第2フィールドからなるアドレスを前
記記憶手段の記憶位置に写すアドレスデコーダを提供す
る過程とを有することを特徴とするハフマンコードワー
ドをデコードする方法。 - 【請求項8】 リメインダワードを提供するための第
1論理回路を使用する前記過程が、バレルシフタを使用
する過程を有することを特徴とする請求項7に記載の方
法。 - 【請求項9】 記憶手段を提供する前記過程がランダ
ムアクセスメモリを提供する過程を有することを特徴と
する請求項7に記載の方法。 - 【請求項10】 アドレスデコーダを提供する前記過
程が、前記ランダムアクセスメモリのために前記アドレ
スをデコードする過程を有することを特徴とする請求項
9に記載の方法。 - 【請求項11】 前記サブリメインダワードのビット
が前記ランダムアクセスメモリのより下位のアドレスを
形成することを特徴とする請求項10に記載の方法。 - 【請求項12】 記憶手段を提供する前記過程が、ハ
フマンコードワードのデコードされた値を含む複数の表
を記憶する過程を有し、該記憶過程が更に前記複数の表
の内のいずれが使用中であるかを表示する信号を受信す
る過程を含むことを特徴とする請求項7に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/737,620 | 1991-07-30 | ||
US07/737,620 US5181031A (en) | 1991-07-30 | 1991-07-30 | Method and apparatus for decoding huffman codes by detecting a special class |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05276052A true JPH05276052A (ja) | 1993-10-22 |
Family
ID=24964604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4218158A Pending JPH05276052A (ja) | 1991-07-30 | 1992-07-23 | ハフマンコードワードをデコードする方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5181031A (ja) |
JP (1) | JPH05276052A (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2260458B (en) * | 1991-10-04 | 1995-03-22 | Sony Broadcast & Communication | Data decoder |
JP3008685B2 (ja) * | 1992-08-03 | 2000-02-14 | 日本電気株式会社 | 可変長符号の復号化回路 |
US5339077A (en) * | 1992-08-18 | 1994-08-16 | Idaho Research Foundation, Inc. | Comma code generator |
US5351047A (en) * | 1992-09-21 | 1994-09-27 | Laboratory Automation, Inc. | Data decoding method and apparatus |
US5550542A (en) * | 1994-05-04 | 1996-08-27 | Matsushita Electric Corporation Of America | Variable length code look-up table having separate code length determination |
KR0152032B1 (ko) * | 1994-05-06 | 1998-10-15 | 김광호 | 영상신호를 위한 가변장복호기 |
US5541595A (en) * | 1994-05-19 | 1996-07-30 | Matsushita Electric Corporation Of America | Variable length code decoder for simultaneous decoding the most significant bits and the least significant bits of a variable length code |
US5491480A (en) * | 1994-05-25 | 1996-02-13 | Industrial Technology Research Institute | Variable length decoder using serial and parallel processing |
AU672321B2 (en) * | 1994-08-12 | 1996-09-26 | Canon Kabushiki Kaisha | Data encoding and decoding apparatus and method |
KR0152035B1 (ko) * | 1994-09-26 | 1998-10-15 | 김광호 | 가변장복호화방법 및 그 장치 |
KR100197190B1 (ko) * | 1994-10-12 | 1999-06-15 | 모리시다 요이치 | 런렝스 부호의 복호회로 |
US5835033A (en) * | 1994-11-08 | 1998-11-10 | Canon Kabushiki Kaisha | Decoding apparatus and method for coded data |
KR0154011B1 (ko) * | 1995-03-16 | 1998-11-16 | 배순훈 | 가변길이 복호화 장치 |
US5666116A (en) * | 1995-12-01 | 1997-09-09 | U.S. Philips Corporation | High speed variable-length decoder arrangement |
US5663726A (en) * | 1995-12-01 | 1997-09-02 | U.S. Philips Corporation | High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering |
US5808570A (en) * | 1996-06-28 | 1998-09-15 | Philips Electronics North America Corp. | Device and method for pair-match Huffman transcoding and high-performance variable length decoder with two-word bit stream segmentation which utilizes the same |
US6121905A (en) * | 1998-05-11 | 2000-09-19 | Oak Technology, Inc. | Method and apparatus for decoding JPEG symbols |
US6130631A (en) * | 1998-05-11 | 2000-10-10 | Oak Technology, Inc. | Method and apparatus utilizing a simplified content-addressable memory for JPEG decoding |
US20010030615A1 (en) * | 2000-03-03 | 2001-10-18 | Minhua Zhou | Variable length decoding system and method |
US6958715B2 (en) * | 2001-02-20 | 2005-10-25 | Texas Instruments Incorporated | Variable length decoding system and method |
JP2002358288A (ja) * | 2001-05-31 | 2002-12-13 | Hitachi Ltd | 半導体集積回路及びコンピュータ読取り可能な記録媒体 |
JPWO2002101935A1 (ja) * | 2001-06-06 | 2004-09-30 | セイコーエプソン株式会社 | 復号化装置、復号化方法、ルックアップテーブルおよび復号化プログラム |
US7382878B2 (en) * | 2001-06-22 | 2008-06-03 | Uponus Technologies, Llc | System and method for data encryption |
US6563440B1 (en) | 2001-10-19 | 2003-05-13 | Nokia Corporation | Apparatus and method for decoding Huffman codes using leading one/zero string length detection |
US6661358B1 (en) * | 2002-09-17 | 2003-12-09 | Enroute, Inc. | Decoding variable length codes without conditional branching |
US7148821B2 (en) * | 2005-02-09 | 2006-12-12 | Intel Corporation | System and method for partition and pattern-match decoding of variable length codes |
KR101175680B1 (ko) * | 2008-12-23 | 2012-08-22 | 광운대학교 산학협력단 | 비트스트림 프로세서의 구동방법 |
KR101843087B1 (ko) * | 2012-03-05 | 2018-03-28 | 삼성전자주식회사 | 디코딩 장치 및 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3883847A (en) * | 1974-03-28 | 1975-05-13 | Bell Telephone Labor Inc | Uniform decoding of minimum-redundancy codes |
US4396906A (en) * | 1980-10-31 | 1983-08-02 | Sri International | Method and apparatus for digital Huffman encoding |
US4899149A (en) * | 1986-02-28 | 1990-02-06 | Gary Kahan | Method of and apparatus for decoding Huffman or variable-length coees |
-
1991
- 1991-07-30 US US07/737,620 patent/US5181031A/en not_active Expired - Lifetime
-
1992
- 1992-07-23 JP JP4218158A patent/JPH05276052A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US5181031A (en) | 1993-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05276052A (ja) | ハフマンコードワードをデコードする方法及び装置 | |
US5254991A (en) | Method and apparatus for decoding Huffman codes | |
JP3225638B2 (ja) | データを圧縮するための装置及び方法並びにデータ処理システム | |
US5208593A (en) | Method and structure for decoding Huffman codes using leading ones detection | |
JP3016987B2 (ja) | 信号生成装置とその方法 | |
US5032838A (en) | Variable length code parallel decoding apparatus and method | |
EP1410509B1 (en) | Non-power-of-two gray-code counter system having binary incrementer with counts distributed with bilateral symmetry | |
US5059976A (en) | Coding method of image information | |
US6445314B1 (en) | System and method for the decoding of variable length codes | |
US20020164080A1 (en) | Decoding apparatus, decoding method, storage medium and program software | |
US6301389B1 (en) | Video image color encoding | |
US5572208A (en) | Apparatus and method for multi-layered decoding of variable length codes | |
US5304995A (en) | Variable lengthcoding apparatus and variable length decoding apparatus | |
KR870008446A (ko) | 2진 데이타 압축·신장 처리 장치 | |
EP0145396A2 (en) | Codeword decoding | |
US5488366A (en) | Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles | |
JPH05145770A (ja) | 符号・復号化装置 | |
JPH0234038A (ja) | データ圧縮装置 | |
JP3005385B2 (ja) | ハフマン復号化回路 | |
US6317515B1 (en) | Method and apparatus for encoding and decoding a data stream using inferential techniques | |
JP2001325599A (ja) | ラスタ・データ順序付けにより辞書ベース圧縮を改善する方法 | |
EP0729277B1 (en) | Circuit for zero-run developing run/level sets and method for zero-run developing the same | |
US5367299A (en) | Method for 5-bit chunk encoding of bit serial data by a data processor handling data in 8-bit byte segments | |
JPH0786957A (ja) | 可変長コード化装置 | |
JPH06104769A (ja) | ハフマン符号復号装置 |