JP2934603B2 - 可変長さコードの復号化方法及びその装置 - Google Patents

可変長さコードの復号化方法及びその装置

Info

Publication number
JP2934603B2
JP2934603B2 JP14748796A JP14748796A JP2934603B2 JP 2934603 B2 JP2934603 B2 JP 2934603B2 JP 14748796 A JP14748796 A JP 14748796A JP 14748796 A JP14748796 A JP 14748796A JP 2934603 B2 JP2934603 B2 JP 2934603B2
Authority
JP
Japan
Prior art keywords
length
code
codeword
node
value
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
Application number
JP14748796A
Other languages
English (en)
Other versions
JPH1013247A (ja
Inventor
承鉉 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daiu Denshi Kk
Original Assignee
Daiu Denshi Kk
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Daiu Denshi Kk filed Critical Daiu Denshi Kk
Priority to JP14748796A priority Critical patent/JP2934603B2/ja
Publication of JPH1013247A publication Critical patent/JPH1013247A/ja
Application granted granted Critical
Publication of JP2934603B2 publication Critical patent/JP2934603B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は可変長さコードの復
号化方法及びその装置に関するものであり、特に、ハフ
マンコードツリーを利用してディジタル映像信号などの
符号化されたコードワードをより高速に可変長さを復号
化するための可変長さ復号化方法及びその装置に関する
ものである。
【0002】
【従来の技術】一般に、映像ディジタル化された映像信
号はアナログ化された信号よりいい画質を維持できる等
の多数の長所によってますます普遍化されている趨勢で
ある。一方、映像情報をディジタル化する場合に情報量
の膨大さにより映像情報を効率的に電送するためには映
像情報量を圧縮及び減縮しなければならない。したがっ
て、映像の特徴を利用した効率的な映像圧縮技法は映像
通信の核心技術の一つだと言える。映像データの圧縮技
法の中で確率的符号化技法と時間的、空間的圧縮技法を
結合したハイブリド符号化技法が一番効率的なものとし
て知られている。ほとんどのハイブリド符号化技法は差
分パルスコード変調(以下DPCMと称する)、二次元
離散コサイン変換(以下DCTと称する)、DCT計数
の量子化及び可変長さの符号化(以下VLCと称する)
等を利用する。
【0003】一方、可変長さの符号化は多様な無損失の
データ圧縮のため使用される技法で、データの統計的発
生を基礎として固定された長さのデータを可変の長さの
データに変換する。つまり、情報源のデータに含められ
た各コードワードの発生頻度によって発生頻度が大きい
コードワードは短い長さのコードワードで変換して発生
頻度が小さいコードワードは長い長さのコードワードで
表示する方法である。したがって可能性のあるモードコ
ードワードのライブラリーに可変長さのコードワードを
適切に割り当てることによって、符号化されたデータの
平均ワード長さは情報源データの平均ワードの長さより
短くなり、結果的にデータ圧縮と同じ効果を得ることが
できる。知られているデータ通計値に対して最小冗長性
を有するVLCの実現のためカノニカルツリー構造を有
するハフマンコードが通常利用される。
【0004】一般に、エンコーディング処理はテーブル
索引の処理によってテーブルにアドレスされる入力デー
タを利用することによって遂行される。コードワード及
びワード長さはバッファを通じて一定のデータ比率でデ
ータチャンネルにテーブル内容で順次的に貯蔵され出力
される。しかし復号化の処理は受信端においてより複雑
である。可変長さの性質により各コードワードはソース
シンボルで復号化される前に受信ビット列からセグメン
トされる。したがって、可変長さのデコーダの設計は可
変長さのエンコーダの設計よりもっと難しい。
【0005】可変長さのコードワードのストリームを復
号するには多くの方法がある。一番多く利用されるのは
ツリー探索アルゴリズムである。可変長さのコードはタ
ーミナルノードと言われる葉でコードワードを有するツ
リーによって表現できる。復号化はコードツリーのルー
トから出発して受信されたビット列によって案内され各
ノードにある二つの枝の中の一つに繋がれる。葉に到達
する時、コードワードの末が検出されて残っている列か
らセグメントされる。こうした形式のデコーダは前記ツ
リーに対応する論理回路及びコードツリーを横切る制御
回路を含む。
【0006】こうした方法はコードツリーを通じたビッ
ト−バイ−ビット探索が復号化された各シンボルに対し
て要求されるところ、速度が遅くて特に長いコードワー
ドに対して長い復号時間が要求される。典型的な適用に
おいて、入力シンボルは多数のビットで表現される。受
信されたビットをデコーダでシフティングする速度は復
号化されたデータの平均速度の数倍である。従って、ツ
リー探索を基礎にするデコーダは出力データ比率の数倍
の速度で動作しなければならない。
【0007】そうした高速度処理は高精密度テレビ(以
後、HDTVと称する)のディジタル信号の電送には必
須的である。HDTVシステムにおいて、(輝度信号と
クロミナンス信号を結合した)全体サンプル速度はたぶ
ん100MHzであろう。もしも、可変長さの符号化が
使用されると最大長さのコードワードは典型的に16ビ
ットである。それで、前記サンプル速度でコードワード
を検出するためビットーバイービットデコーダは前記サ
ンプルの速度の16倍または1.6ギガビット/秒の速
度でシフトする必要がある。前記のような高速を現在の
IC技術の利用で満たすのは難しい。
【0008】一方、可変の長さのコードワードのストリ
ームを復号化するためにいろいろな装置が提案されてい
て、現在まで提案された可変長さの復号化装置の構造は
順次的復号化及び並列復号化で分けることができる。ま
ず、順次的復号化はビット列を先から次第に復号化する
方法で、正速入力構造、正速出力構造、可変入/出力構
造でわけることができ、正速入力構造は入力ビット列を
ビット単位で処理して設計は容易であるが速度が遅い問
題点がある。
【0009】また正速出力構造の可変長さの復号化装置
はベルコアのM. T. Sunが提案した構造で入力ビッ
ト列を最大コードワードの長さだけにパッキングして読
み出し専用メモリ/プログラム可能の論理アレイ(以
後、ROM/PLAと称する)のテーブルに入力してコ
ードワードを探した後、探したコードワードの長さだけ
バレルシフタにシフトさせた後、次のコードワードを探
す方式である(BellCoreによる米国特許第5,
173,695号及び第5,245,338号)。つま
り、それは、一つのサイクルに一つのコードワードが復
号化されているので正速入力構造より速度が早い正速出
力可変長さの復号化装置である。
【0010】以下、従来の可変長さのデコーダの構造及
び動作を添付図面を参照して詳細に説明する。図1は従
来の可変長さデコーダのブロック図であり、図2は多数
のクロックサイクルを通じた図1に図示されたデコーダ
の動作の一例を説明するための図面であり、図3は図2
の例に使用された入力ビットストリームを示す図面であ
る。従来の可変長さデコーダはデコーダ部101及びイ
ンターフェイス102で構成される。前記デコーダ部1
01はメモリ116、第1及び第2ラッチ110、11
1、及び第1バレルシフタ109を含む。前記メモリ1
16は最大長さが可変長さのコードワードだけの長さを
有する入力シーケンスの第1ビット位置で始まる各可変
の長さコードワードに対応する固定された長さコードワ
ード及び前記可変長さのコードワードに対応するコード
ワード長さの出力を生成する。
【0011】前記メモリ116はコードワードテーブル
AND−プレーン117、コードワードの長さテーブル
OR−プレーン118、及び復号化されたワードテーブ
ルOR−プレーン119で構成される。前記第1及び第
2ラッチ110、111は前記インターフェイス部10
2から連続固定された長さのシーケンスビットを貯蔵す
る。前記固定された長さシーケンスは少なくとも前記最
大の長さ可変の長さコードワードと同一のビットの長さ
を有する。前記バレルシフタ109は前記第1及び第2
ラッチ110、111に連結されて各クロックサイクル
で前記最大長さの可変長さコードワードと同一の長さを
有する前記第1及び第2ラッチ110、111から復号
化ウィンドウ出力シーケンスビットを提供する。
【0012】前記インターフェイス102は第3及び第
4ラッチ125、126、及び第2バレルシフタ12
7、及び加算器130を含む。前記第3及び第4ラッチ
125、126はバッファ106に貯蔵された入力スト
リームの連続固定された長さセグメントを貯蔵する。前
記第2バレルシフタ127は前記第3及び第4ラッチ1
25、126に連結されて最大長さの可変長さコードワ
ードと同一の長さを有する。前記加算器130は各クロ
ックサイクルで以前のクロックで前記メモリ116の出
力でのコードワードの長さを以前に累算されたコードワ
ードの長さに加算する。
【0013】前記のように構成された従来のデコーダの
動作を以下に詳細の説明する。データチャンネル107
からバッファ106に入力されるデータストリームが図
3に図示されているようにビットストリームa1-a8b1-b6
c1-c5d1-d15e1-e12f1-f10g1-g9 h1-h16... と仮定す
る。ここで、a1-a8 は第1の可変長さワードで8ビット
を示し、b1-b6 は第2の可変長さワードで6ビットを示
す。
【0014】第1クロックチックの先に、ラッチ131
はリード出力“1”に初期化される。ラッチ121も第
1バレルシフタ109が“16”の初期シフトを有する
ように初期化される。“16”がラッチ121から加算
器130に入力されて16モジュールに−16(=
“0”)がラッチ131から加算器130に入力される
と加算器130の出力、つまりバレルシフタ127のシ
フトは“16”になりキャリは“1”になる。リードが
“1”であれば、a1-a8b1-b6c1-c2 でなされた第1デー
タセグメントがリード105を通じてインターフェイス
部102に入力される。この時、すべてのラッチ、バレ
ルシフタ109、127の出力、PLA116の出力は
図2にXで示したノイズ値を有する。
【0015】第1クロックチックで、以前のキャリ
“1”はリード“1”になりバッファ106からリード
105で次のデータセグメントを再生する。しかし、こ
のクロックチックで、以前のキャリ“1”はバッファ1
06の以前の出力がラッチにリードされるようにする。
ラッチ121は“16”で初期化されて第1バレルシフ
タ109のシフタは“16”で残って加算機130はリ
ード“1”及びキャリ“1”と共に“16”に残る。第
2バレルシフタ127のシフタが“16”でラッチ12
6からの第17及び第32ビットがa1-a8b1-b6c1-c2
なると、シーケンスは第2バレルシフタ127の出力に
現れる。ラッチ100、110、125は第1バレルシ
フタ109の出力、PLA116の符号化されたワード
及びコードワードのようにノイズを有するようになる。
【0016】第2クロックチックで、第2バレルシフタ
127の以前の出力はラッチ111にラッチされる。リ
ードがまだ“1”であり、以前のキャリが“1”なの
で、(第3の)次のデータセグメントがバッファ106
から再生され、ラッチ126での(第1の)データセグ
メントはラッチ125にラッチされて、第2データセグ
メントはラッチ126にラッチされる。ラッチ121は
そのまま初期化されて第1バレルシフタ109のシフト
が“16”になるようにする。それによって加算器13
0の出力は“16”で、キャリ及びリードは“1”に維
持される。第2バレルシフタ127の以前の出力が第1
データセグメントで構成されるので第2クロックチック
でセグメントはラッチ111及びバレルシフタ109の
第17−第32の入力位置に現れる。
【0017】それで、第1バレルシフタ109でシフタ
入力“16”は前記第1セグメントをリード112を通
じてバレルシフタ出力に移動させる。第2バレルシフタ
127のシフト入力“16”はラッチ126内の第2デ
ータセグメントc3-c5d1-d13をバレルシフタ127の出
力に移動させる。PLA116でコードワードテーブル
117は第1セグメントの第1の8ビットをコードワー
ド“A”と認識する。コードワードテーブル119はリ
ード103上の前記固定された長さコードワードAを出
力する。コードワードテーブル118はリード120上
の前記ワードの長さ“8”を出力する。
【0018】第3クロックチックで、第1データセグメ
ントはラッチ110にラッチされて、それで第1バレル
シフタ109の第1の16ビット出力でシフトされる。
第2データセグメントである第2バレルシフタ127の
以前の出力はラッチ111にラッチされて、それで第1
バレルシフタ109の第2の16ビット入力でシフトさ
れる。以前に復号化された長さ“8”はラッチ121に
ラッチされて第1バレルシフタ109にシフトされる。
第1バレルシフタ109の出力は第9乃至第24の入力
ビットまたはシーケンスb1-b6c1-c5d1-d5 にシフトされ
る。第2クロックチックでキャリ“1”は第3クロック
チックでリード“1”になって、バッファ106から次
のデータセグメントを再生する。第3クロックチックか
ら発生する前記以前のキャリ“1”は前記以前のセグメ
ントをバッファ106からラッチ126にそしてラッチ
126からラッチ125に移動させる。ラッチ121で
“8”は加算器130によってラッチ131の出力であ
る以前モジュールに16(=“0”)に加算されて新し
い出力“8”を形成する。現在第2バレルシフタ127
のシフタは“8”であり、キャリは“0”、現在バレル
シフタ127の出力は第9入力d6で始まる。
【0019】それでこのようなシーケンスはバレルシフ
タ109の出力のシーケンスと連続になって次のクロッ
クチックでバレルシフタ109に入力を形成するであろ
う。第3クロックサイクルでコードワードBがコードワ
ードテーブル117により第1の6ビット入力で認識さ
れて、固定された長さの復号化されたワードBはリード
103に出力されてコードワードの長さ“6”はコード
ワードの長さテーブル118によって出力される。
【0020】第4クロックチックで以前のキャリが
“0”なので、次のデータセグメントがバッファ106
から再生されずラッチ125、126の内容は以前のク
ロックサイクルと同一に残る。第1バレルシフタ109
の以前の出力はビットb1で始まってラッチ110に移動
されて第2バレルシフタ127の以前の出力はビットd6
で始まってラッチ111にシフトされる。ラッチ121
の入力“6”は第1バレルシフタ109の出力をビット
c1で始まってd11 で終わる第7乃至第22ビットでシフ
トされる。前記“6”は加算器130によって以前の
“8”に加算されて、第2バレルシフタ127にシフト
“14”を生成する。それで前記第2バレルシフタ12
7の出力は第15ビット入力またd12 で始まってバレル
シフタ109の最終ビットにつながる次のビットが来る
ようになる。前記の累算されたコードワードの長さが
“16”より小さいので、キャリ出力はそのまま“0”
である。コードワードCが復号化されたワードテーブル
119によって出力されてそのコードワードの長さ
“5”はコードワードの長さテーブル118によって出
力される。
【0021】第5クロックチックで、第1バレルシフタ
109の以前の出力はビットc1-c5で始まってラッチ1
10にラッチされて、第2バレルシフタ127の以前の
出力はラッチ111にラッチされる。第1バレルシフタ
109の出力ウィンドウは以前コードワードの長さによ
って5ビットでシフトされてビットd1で始まる。ラッチ
121の‘5’はラッチ131の以前の“14”に累算
されて加算器130の出力が“19”になって第2バレ
ルシフタ127を第20乃至第35ビットにシフトさせ
てキャリ“1”を生成する。コードワードDが復号化さ
れたワードテーブル119によって出力されて、その長
さ“15”はコードワードの長さテーブル118によっ
て出力される。
【0022】第6クロックチックで、以前のセグメント
がラッチ126、125にシフトされることによって、
以前のキャリは“1”であり、次のデータセグメントが
バッファ106から再生されて第2バレルシフタ127
に入力されるために、リードは“1”である。前記した
方法によると、第1バレルシフタ109の出力はシフト
されて次の復号化されるワードの第1ビットe1 で始ま
る。モジュールで16以前に累算されたコードワードの
長さ“3”が以前コードワードの長さ“15”に加算さ
れて累算されたコードワードの長さ“18”を生成する
場合、コードワードEは復号化されてキャリが発生され
る。
【0023】
【発明が解決しようとする課題】しかし、前記のような
従来の可変長さ復号化装置はコードワードを探すためR
OM/PLAテーブルを利用するによって、符号化され
たコードワードが変更される場合、ROMを交替するか
PLAを変更して設計しなければならない問題点があ
る。
【0024】本発明は以上のような従来技術の問題点を
解決するためのものであり、本発明の目的は符号化され
たコードワードが変形される時、ハフマンコードツリー
構造を基礎として可変長さのコードワードを貯蔵してい
るメモリを交替したり変更設計しなくても入力された可
変長さコードビット列を高速で復号化が遂行できる方法
を提供することにある。
【0025】本発明の別の目的は符号化されたコードワ
ードが変形される時、ハフマンコードツリー構造を基礎
として可変長さのコードワードを貯蔵しているメモリを
交替したり変更設計しなくても入力された可変長さコー
ドビット列を高速で復号化が遂行できる装置を提供する
ことにある。
【0026】
【課題を解決するための手段】前記目的を達成するため
の本発明は、 a)ハフマンコードツリー構造を基礎とする多数の可変
長さコードワードが含まれている復号化する符号化ビッ
ト列の入力を受けて可変長さコードワードの最大の長さ
でパッキングして出力する段階と、 b)段階a)から出力された前記パッキングの復号化す
る符号化ビット列からコードワードの境界線を検出する
ために前記最大コードワードの長さのビット列に対する
ノード位置値をそれぞれ演算する段階と、 c)段階b)から演算した前記ノードの位置値に基づい
て前記可変の長さコードワードのコード長さを検出する
段階と、 d)段階c)から検出した前記可変の長さコードワード
のコード長さによるコードワードに対応するノードが位
置したレベル以前までの総ターミナルノード数を演算す
る段階と、 e)段階b)から演算した前記ノード位置の値の中で段
階c)から検出した前記可変の長さコードワードのコー
ド長さに対応する一つのノード位置値と段階d)で演算
したターミナルノード数を加算して加算値を出力する段
階と、 f)段階e)による加算値をアドレスで復号されたコー
ドワードを復号化コードワードを符号化されたコードワ
ードのノードの位置によってカノニカルツリーのルート
から順次的に貯蔵しているメモリから読み出す段階と、 g)復号化処理する入力ビット列が残っているかどうか
を判断して、もしも、復号化処理する入力ビット列が残
っていないとルーチンを終了し、もしも、復号処理する
入力ビット列が残っていると段階a)に復帰する段階で
構成することを特徴とする可変長さコードの復号化方法
を提供する。
【0027】望ましくは、前記段階b)において前記ノ
ード位置の値PTK は、
【数3】 によって演算され、ここでPTK はハフマンツリーのk
レベルの1からkまでの2進入力ビットγ1、γ2、γ
3・・・・ γk によるノード位置(各レベルの最上段がノー
ド位置‘0’であり、下に順で1だけ増加)であり、γ
i は各ビット列(γ1、γ2、γ3・・・・ )のビット値であ
り、Li はiレベルの総ターミナルノード数である。
【0028】より望ましくは、前記段階c)において前
記演算された前記ノード位置の値の中で最初に負数の値
を有するノード位置の値から1を減算して前記の可変の
長さコードワードのコード長さを得る。前記段階d)に
おいて前記コードワードに対応するノードが位置するレ
ベル以前までの総ターミナルノード数
【数4】 によって演算され、ここで、SK はkレベル以前までの
総ターミナルノード数であり、L iはiレベルにおいて
の総ターミナルノード数である。
【0029】前記別の目的を達成するための本発明は、
ハフマンコードツリー構造を基礎として可変長さコード
ワードが多数個含まれている復号化する符号化ビット列
の入力をうけてコードワードの最大の長さでパッキング
して出力し、復号化されたコードワードをシフトアウト
させて前記復号化する符号化ビット列から前記復号化さ
れたコードワードを除いた新しい符号化ビット列をコー
ドワードの最大の長さでパッキングして出力するための
パッキング部と、前記パッキング部からの前記パッキン
グされた最大コードワードの長さのビット列の入力を受
けてコードワードの境界線を検出するために最大コード
ワードの長さのビット列に対するノード位置の値を並列
演算して出力し、前記演算されたノード位置の値の最上
位ビットを出力する境界線抽出部と、前記ハフマンコー
ドツリー構造の復号化するコードワードに対する当該レ
ベル以前までの総ターミナルノード数をそれぞれ貯蔵し
ている少なくとも一つ以上のレジスタと、前記境界線抽
出部によって演算されたノード位置の値の最上位ビット
に基づいて前記境界線抽出部からの符号化ビット列で復
号処理される可変の長さコードワードのコード長さを検
出して、前記境界線抽出部で演算されたノード位置の値
の中で前記検出された可変長さコードワードのコード長
さに対応する一つのノード位置の値を選択するための第
1選択信号及び前記検出された可変の長さコードワード
のコード長さに対応するノードの位置したレベル以前ま
でのターミナルノード数を貯蔵している前記少なくとも
一つ以上のレジスタの中で該当する一つのレジスタを選
択して可能にするための第2選択信号を発生するための
コード長さ検出部と、前記コード長さ検出部の第1の選
択信号に基づいて選択された前記境界線抽出部からの前
記当該ノード位置の値を順次的に出力させるためのマル
チプレックサと、前記レジスタからの前記当該レベル以
前までの総ターミナルノード数のなかで一つの総ターミ
ナルノード数及び前記マルチプレックサからの前記当該
ノードの位置の値をラッチするためのラッチと、前記ラ
ッチからの前記一つの総ターミナルノード数と前記当該
ノード位置の値を加算してその加算値を出力するための
加算器と、復号化コードワードを符号化されたコードワ
ードのノード位置によってハフマンツリーのルートから
順次的に貯蔵して、前記加算器からの加算値をアドレス
にして当該復号化コードワードを出力するためのメモリ
で構成されることを特徴とする可変長さコードの復号化
装置を提供する。
【0030】望ましくは、前記パッキング部は前記符号
化されたビット列から復号化されたコードワードをシフ
トアウトさせるためのバレルシフタを含む。前記コード
長さの検出部は前記境界線抽出部から入力される少なく
とも一つ以上のノード位置の値の最上位ビットを論理組
合する前記レジスタの一つのレジスタだけを可能にする
複数の排他的論理和ゲートで構成される。前記ラッチは
前記レジスタからの前記当該レベル以前までの総ターミ
ナルノード数の中で一つの総ターミナルノード数をラッ
チする第1ラッチ及び前記マルチプレックサからの前記
当該ノードの位置の値をラッチするための第2ラッチを
含む。前記メモリはランダムアクセスメモリ,読み出し
専用メモリ及びプログラム可能の論理アレイの中で一つ
である。
【0031】より望ましくは、前記ハフマンコードツリ
ーはシンボルと該シンボルを貯蔵しているメモリアドレ
スでなされたターミナルノード及びシンボルを有しない
連結ノードで構成され、前記ターミナルノードは一つの
レベルですべての連結ノードの左側に位置する構造を有
するカノニカルハフマンコードツリーを含む。また、前
記ハフマンコードツリーは平均コード長さの増加なしで
カノニカルハフマンコードツリーで変換できる。
【0032】本発明による可変長さコードの復号化方法
及びその装置において、先に、復号化されるコードワー
ドの長さが計算されると上記コードワードが貯蔵されて
いるメモリアドレス値が後記式3によって計算される。
つまりハフマンコードツリー上で当該コードワードのP
K の値にSK の値を加えて得ることができる。本例で
前の段階でコードワードの長さは3ビットで確認した。
従って後記各式によって当該符号化でメモリアドレスは
PT3 +S3 の値から得ることができる。PT 3 は後記
表2で分かるように1の値を有して、S3 はルートでレ
ベル2までのターミナルノードの個数なので1の値を有
し、メモリアドレス2になる。従って最後の段階でメモ
リアドレス2に当該するデータを読み取ることにより最
終の復号化シンボルを得ることができる。後記表1から
メモリ番地2に貯蔵されている復号化シンボルは‘c’
であることが分かる。
【0033】言い換えれば、符号化ビット列の中で上位
3ビットであるγ1 γ2 γ3 の値(‘101’)はシン
ボル“c”のコードワードに当該することを演算によっ
て導出できる。残りの符号化ビット列は復号化コードワ
ードのコード長さだけの上位ビット列をシフトして前記
のような方法で復号化できる。つまり、γ1 γ2 γ3
復号化されたために符号化ビット列でバレルシフタを通
じてシフトアウトさせ後続の値γ4 γ5 γ6 γ7 γ8 γ
9 γ10γ11γ12....の値‘100001110....’の
入力を受けて同じ方式で復号化演算過程がなされる。従
って、最終的にcbaae.....の復号化シンボル列を得るこ
とができる。
【0034】以上で説明したように、本発明による可変
長さの復号化されたコードワードはカノニカルツリー構
造のレベルによるノードの順で順次的にルックアップテ
ーブルメモリに貯蔵され復号時に符号化されたコードワ
ードのノード順が所定の演算により検索され復号化され
たコードワードのアドレスに利用されるためにハフマン
コードツリーが中央処理システムにより変化してもハー
ドウェアの変化なしで変数をメモリとラッチに単純に貯
蔵する方法で高速に可変長さ復号化になる。従って、符
号化されたコードワードの長さに関係なく一つの符号化
されたコードワードを並列演算に基づいて一つのクロッ
クに処理するためにビット単位で復号処理する従来の可
変長さ復号化装置より高速で復号処理が遂行される。
【0035】以上のような本発明の目的と別の特徴及び
長所などは参照した本発明のいくつかの好適な実施例に
対する以下の説明から明白になるであろう。
【0036】
【発明の実施の形態】以下、本発明の実施例による可変
長さコードの復号化方法及びその装置及びその装置の構
成及び動作を添付図面に基づいて詳細に説明する。図4
はカノニカルハフマンコードツリーの構造を示す。n個
のシンボルを有するハフマンコードツリーは(2nー
1)個のノード、つまりシンボルを有するn個の終端ノ
ード及びシンボルを有しない連結のための(nー1)個
の連結ノードで構成されている。ハフマンコードツリー
の中でカノニカルハフマンツリーは一つのレベルであら
ゆる終端ノードがあらゆるの連結ノードの左側に存在す
る構造を有する。もちろん、あらゆるハフマンコードツ
リーは平均コード長さの増加なしでカノニカルハフマン
コードツリーで変換ができる。図4はシンボル[a,b,c,
d,e,f,g,h] に対するカノニカルハフマンツリーの構造
を示す。8個のシンボルa,,b,c,d,e,f,g,hは各レベルで
連結ノードの左側に全部存在する。各シンボルルートか
ら自らの終端ノードまでの符号化ビット列をコードワー
ドとして有する。例えば、シンボルCは‘101’の3
ビットコードワードを有して、シンボルfは‘1111
0’の5ビットコードワードを有する。つまり各シンボ
ルは発生頻度確率によるハフマンコードツリー構造の可
変コードワードを有する。
【0037】図4で終端ノードに示された[x:y] の意味
は次のようである。xは当該コードワードのシンボルの
値を示し、yはシンボルxが貯蔵されているメモリのア
ドレスの値を示す。これを表1に示す。
【0038】
【表1】
【0039】例えば[c:2] は3ビット可変コードワード
101を有するシンボルcを示して、シンボルc値はメ
モリ“2”番地に貯蔵されていることを意味する。図面
の例は最大コードワードの長さは6ビットとしてシンボ
ルg及びhが相当する。
【0040】図5は本発明の一実施例による可変の長さ
復号化装置の構成を説明するためのブロック図である。
図5を参照すると本発明の一実施例による可変長さの符
号復号化装置はパッキング部51、境界線抽出部52、
レジスタ53、コード長さ検出部54、マルチプレクサ
55、ラッチ56、加算器57、及びメモリ58で構成
される。前記パッキング部51はハフマンコードツリー
構造を基礎として可変長さのコードワードが多数含まれ
ている復号化される符号化ビット列の入力を受けてコー
ドワードの最大の長さでパッキングして出力して、復号
化されたコードワードを内蔵されたバレルシフタ511
によりシフトアウトさせて前記復号化された符号化ビッ
ト列で前記復号化されたコードワードを除いて次の符号
化ビット列をコードワードの最大長さでパッキングして
出力する。
【0041】境界線抽出部52はコードワードの境界線
抽出のため前記パッキング部51からのパッキングされ
た最大コードワードの長さだけのビット列の入力を受け
て下記式1に基づいてPTk 値を演算してマルチプレク
サ55に印加して、演算したPTK 値の正/負を判断す
るためにPTK 値のMSBをそれぞれコード長さ検出部
54に印加する。PTk 値を演算する方法は次のようで
ある
【数5】
【0042】ここでPTK はハフマンツリーのkレベル
の1からkまでの2進入力ビットγ 1 3γ 2、γ3・・・・
γk によるノード位置(各レベルの最上段がノード位置
‘0’であり、下位に順に1だけ増加)であり、γi
各ビット列(γ1、γ2、γ3・・・ )のビット値でありLi
はiレベルでの総ターミナルノード数である。つまり符
号化コードワードの最大長さがMであれば、1≦i≦M
のあらゆるPiの値を並列で演算して、一つのコードワ
ード内のあらゆるPTk の値は正の値を有して、この時
の正の値は当該レベルでのノードの位置を意味する。し
かし、一つのコードワードの境界を越すあらゆるPTi
の値は負の値を有する。
【0043】従って、あらゆるPTi の値の中ではじめ
て負の値を有するPTi の値iで‘1’を減算した値が
符号化されたコードワードの長さになる。レジスタ53
は下記式2で演算されたSi の値、つまり、S1
2.... SM を第1レジスタ531から第Mレジスタ5
3Mにそれぞれ貯蔵しているし、前記コード長さ検出部
54からの出力信号のレベルによって第1レジスタ53
1から第Mレジスタ53Mの中で一つのレジスタの一つ
のSi を第1ラッチ561に出力する。
【0044】コード長さ検出部54は前記境界線抽出部
52により演算されたノード位置の値PTk の最上位ビ
ットに基づいて前記境界線抽出部からの符号化ビット列
で復号化処理される可変長さコードワードのコード長さ
を検出して、前記境界線抽出部52で演算されたノード
位置の値で前記検出された可変長さコードワードのコー
ド長さに対応する一つのノード位置値を選択するための
第1選択信号及び前記検出された可変の長さコードワー
ドのコード長さに対応するノードが位置したレベル以前
までの総ターミナルノード数Si を貯蔵している前記少
なくとも一つ以上のレジスタ53の中で当該一つのレジ
スタを選択して可能(イネーブル状態)にするための第
2選択信号を発生する。PTi のMSBが‘1’である
場合は負の値を意味するために、k番目の初めに‘1’
が存在するとkー1レベルでのレジスタ53を制御す
る。この時、Sk の値は下記式2に基づいて演算された
値として、kレベル以前までの総ターミナルノード数を
意味する。
【数6】
【0045】図6は図5に図示されたコード長さ検出部
54の一例を示す。コード長さ検出部54は前記レジス
タの一つのレジスタだけを可能にするために、前記境界
線抽出部52から入力される少なくとも一つ以上のPT
k のMSBをXOR 論理組合する多数のXOR ゲート(61,6
2,63...6M) で構成される。
【0046】マルチプレクサ55は前記コード長さ検出
部54からのSi 出力用第1選択信号に応じて選択され
た前記境界線抽出部52からの前記当該ノード位置値P
Iを順次的に第2ラッチ562に出力する。ラッチ5
6は第1ラッチ561及び第2ラッチ562に含む。ラ
ッチ56は前記レジスタ53からのデータである一つの
i 及び前記マルチプレクサ55からのデータである一
つのPTi を臨時的に貯蔵する。加算器57は前記ラッ
チ56からの前記一つのSi 及び前記一つのPTi を下
記式3に基づいて加算してその加算値Aijをメモリ58
に出力する。
【数7】Aij=Si +PTi (3)
【0047】ここで、Aijはカノニカルツリーのiレベ
ルのj位置にあるターミナルノードのコードワードが貯
蔵されているメモリアドレスである。加えて説明する
と、加算器57は境界線を探したコードワードに対応す
るノードの以前のレベルまでの総ターミナルノード数S
i が貯蔵された第1ラッチ値と境界線を探したコードワ
ードに対応するノードのあるレベルでの境界線を探した
コードワードに対応するノードの位置PTi が貯蔵され
た第2ラッチ値を加算する。メモリ58は、復号化コー
ドワードを、符号化されたコードワードのノード位置に
よりカノニカルツリーのルートから順次的に貯蔵してお
り、前記加算器57からのデータAijをアドレスにして
当該復号化コードワードを出力し、ROM またはRAM で構
成される。
【0048】以下、本発明による可変長さの復号化装置
の動作及び可変長さの復号化方法について、入力される
二進数符号化ビット列γ1 γ2 γ3 γ4 γ5 γ6 γ7 γ
8 γ 9 γ10γ11γ12....の値が10110000111
0....の値を有した復号化コードワードに対して説明す
る。これは前記ビット列101100001110....
はcbaae...のシンボル列を意味する、図7は本発明の一
実施例による可変長さの復号化方法を説明するための流
れ図である。
【0049】本発明による復号化過程は復号時に参照す
るルックアップテーブルであるメモリ58は復号化コー
ドワードが符号化されたコードワードに対応するカノニ
カルコードツリー上のターミナルノードに対応してルー
トから下位レベルに順次的に貯蔵されており、このよう
な復号化コードワードが貯蔵された位置であるアドレス
を演算することを主に説明する。
【0050】したがって、まず、段階(step)S71でパ
ッキング部51は図4に図示されているように入力され
る‘101100001110....’の中で符号化コー
ドワードの最大の長さM6だけの符号化された入力ビッ
ト列‘101100’だけをパッキングして境界線抽出
部52に出力する。
【0051】その後、段階S72で境界線抽出部52は
パッキング部51からパッキングされて出力されたビッ
ト列‘101100’からコードワードの境界線検出の
ための前記した式(1)に基づいてPTk 値を並列に演
算する。この例では図4に図示されたように最大コード
ワードの長さが6ビットなのでγ1 γ2 γ3 γ4 γ5γ
6 を利用して並列で−1≦i≦6のあらゆるPTi 値を
計算する。PT1 値は式1でk値に1を代入して次のよ
うな計算で得ることができる。
【数8】
【0052】しかし、γi は二進数‘1’であり、各レ
ベルでのターミナルノードの数を示す値L0 及びLi
それぞれ十進数0及び1の値を有するので、
【数9】PT1 =20 ・1−21 ・0=1 の値を得ることができる。
【0053】PT4 の値は次のように式にkの値に4を
代入して同様に計算され、γ1 γ2γ3 γ4 は二進数
‘1011’、各レベルでのターミナルノード数を示す
値L0、L1 、L2 及びL3 はそれぞれ十進数0、1、
0、及び3の値を有して、
【数10】 の値を得ることができる。
【0054】十進数−3は2の補数形態で変換すると6
ビットの‘1011101’で表現される。この時一番
左側のビットはMSBを示し、‘1’の値を有するので
PT 4 は負の値を有することをわかる。同一の方法で各
PT2 、PT3 、PT5 、PT6 も計算でき、その結果
は次の表2のようである。
【0055】
【表2】
【0056】この際に、境界線抽出部52は演算したP
1 PT2 PT3 PT4 PT5 PT 6 の値を復号化コー
ドワードのアドレスに利用するためにマルチプレックサ
55に印加する。境界線抽出部52はまた演算されたP
1 PT2 PT3 PT4 PT 5 PT6 の値の正/負を判
断するためにPT1 PT2 PT3 PT4 PT5 PT6
値のMSB0、0、0、1、1、1をコード長さ検出部
54に印加する。つまり、本発明では計算されたノード
数がレジスタ53の第1、第2、第3、第4、第5、第
6....第Mレジスタ(531、532、533、53
4、535、536....53M)に予め貯蔵されている
ためにコード長さ検出部54は、対応するレジスタを制
御するよう、前記境界線抽出部52からPT1 PT2
3 PT4PT5 PT6 の値のMSBを受けとる。
【0057】つまり、図6に図示されているようにコー
ド長さ検出部54は一番目のビット0は第1XOR61
の第1入力端子に、2番目のビット0は第1XOR61
の第2入力端子及び第2XOR62の第1入力端子に、
3番目のビット0は第2XOR62の第2入力端子及び
第3レジスタ63の第1入力端子に、4番目のビット1
は第3XOR63の第2入力端子及び第4XOR64の
第1入力端子に、5番目のビット1は第4XOR64の
第2入力端子及び第5XOR65の第1入力端子に、6
番目のビット1は第5XOR65の第2入力端子及び第
6XOR66の第1入力端子に、そして第6XOR66
の第1入力端子に、6番目のビット1の値、第2入力端
子に、いつも1の値が印加をうけて第3XOR63の出
力のみが1になって出力可能な状態にする。それにより
出力可能な状態になった第3XOR63から第1ラッチ
561にS3 の値1が印加される。
【0058】この際に、表2に示しているようにPT1
PT2 PT3 はMSBが‘0’としての正の符号を有
し、それぞれの十進数1、0、1は当該レベルでのノー
ド位置(レベルでもっとも左側のノード位置は0であ
り、右側に1ずつ増加して)になる反面PT4 PT5
6 のMSBは‘1’としての負の符号を有する。従っ
て、コード長さ検出部54は前記境界線抽出部52から
印加されるPTk 値の中で初めの‘1’、つまり、負数
の値が示す位置を探すことにより現在復号化されるコー
ドワードの最下位のビットが位置するツリー構造のレベ
ルを計算するようになる。
【0059】つまり、入力ビット列の中で初めのコード
ワードの長さを計算するようになる。本発明の実施例に
おいて、コードワードの長さは最小の負数の値が表れる
i、つまり4で‘1’を減算して(i−1=4−1)初
めに復号化される正の長さでレベル3に位置するコード
ワード長さ3(‘101100001110....’の中
‘101’)を得る(段階S73)。その後、前記コー
ドワード長さ3の復号化するコードワード‘101’に
対応するツリー構造のノードが位置したレベルの以前の
レベルまでの総ノード数S3を前記式(2)に基づいて
演算する(段階S74)。
【数11】
【0060】コード長さ検出部54は前記得られたコー
ドワード長さ3に基づいて境界線抽出部52から計算さ
れたPT3 の値つまり、復号化のために検出されたコー
ドワードのツリー構造でのノードが位置するレベルでの
ノード位置を選択するための第2選択信号を発生してマ
ルチプレックサに印加する。そうすると、マルチプレッ
クサ55のi番目の入力はPTi であるためにマルチプ
レックサ55で第3入力であるPT3 の値が選択され第
2ラッチ562に出力される。その後、段階S75で、
前述した過程を通じて加算器57は第1ラッチ561か
らのS3 と第2ラッチ562からのPT3 を加算してそ
の加算値A33をメモリ58に出力する。
【0061】この際に、加算器57からの加算値A33
コードの境界線を探した符号化コードワードに対応する
復号化コードワードが貯蔵されているメモリ58のアド
レスになり、従って、メモリ58は加算機57からの加
算値A33=2を受信して前記アドレス2に当該する復号
化コードワードを読み取ることにより一つのコードワー
ドが復号処理される(段階S76)。その後、計算され
たコードワード‘101’のコード長さがパッキング部
にフィードバックされパッキング部51が復号処理され
た入力ビット列‘101’を除いた次のビットから符号
化コードワードの最大長さ6(‘1011000011
10....’の中で‘100001’)だけのビット列を
パッキングして境界線抽出部52に印加することにより
前記のような過程を通じて次のビット10000111
0....のコードワードをすべて復号化できるようにな
る。
【0062】その後、段階S77で、パッキン部51は
復号処理する入力ビット列が残っているか否かを判断す
る。段階S77の判断結果、もしも、復号処理する入力
ビット列が残っていなく復号化が完了されたら、復号化
過程を完了する。しかし、もしも、復号処理する入力ビ
ット列が残っていると、段階S71に復帰して前述した
ような後続過程を遂行する。
【0063】言い換えれば、先に復号化されるコードワ
ードの長さが計算されると前記コードワードが貯蔵され
ているメモリアドレスの値が式(3)によって計算され
る。つまり、メモリアドレスは、ハフマンコードツリー
で当該コードワードのPTkの値とSk の値を加えて得
ることができる。この例では前段階でコードワードの長
さは3ビットに確認した。従って、各式により当該符号
化でメモリアドレスはPT3 +S3 の値から得ることが
できる。PT3 は表2で判るように1の値を有し、S3
はルートでレベル2までの終端ノードの個数であるため
に1の値を有するためにメモリアドレスは2になる。
【0064】従って、最後の段階でメモリアドレス2に
該当するデータを読み取りことにより最終の復号化シン
ボルを得ることができる。表1からメモリ番地2に貯蔵
されている復号化シンボルは‘c’であることが分か
る。言い換えれば、符号化ビット列の中で上位3ビット
であるγ1 γ2 γ3 の値(‘101’)はシンボルcの
コードワードに該当することを演算によって導出でき
る。残りの符号化ビット列は復号化コードワードのコー
ド長さだけの上位ビット列をシフトして前記のような方
法で復号化できる。つまり、γ1 γ2 γ3 は復号化され
たために符号化ビット列でバレルシフタを通じてシフト
アウトさせ後続の値γ4 γ5 γ6 γ7 γ8 γ 9 γ10γ11
γ12....の値‘100001110....の入力を受けて
同じ方式で復号化演算過程がなされる。従って、最終的
にcbaae.....の復号化シンボル列を得ることができる。
【0065】
【発明の効果】以上で説明したように、本発明によれ
ば、可変長さの復号化されたコードワードは、カノニカ
ルツリー構造のレベルによるノードの順で順次的にルッ
クアップテーブルメモリに貯蔵され復号時に符号化され
たコードワードのノード順が所定の演算により検索され
復号化されたコードワードのアドレスに利用されるため
に、ハフマンコードツリーが中央処理システムにより変
化してもハードウェアの変化なしで変数をメモリとラッ
チに単純に貯蔵する方法で高速に可変長さ復号化が達成
される。従って、符号化されたコードワードの長さに関
係なく一つの符号化されたコードワードを並列演算に基
づいて一つのクロックに処理するためにビット単位で復
号処理する従来の可変長さ復号化装置又は方法より高速
で復号処理が遂行される。
【0066】本発明はMPEG1、MPEG2及びH.
261のような動き補償映像の逆圧縮分野と、JPEG
のような停止映像の復圧縮分野と、エントロピの符号化
が可能なすべての応用分野に適用可能である。
【0067】本発明は実施例によって詳細に説明された
が、本発明は実施例によって限定されず、本発明が属す
る技術分野で通常の知識を有する者なら本発明の思想と
精神を離れず、本発明を修正または変更できるものであ
ろう。
【図面の簡単な説明】
【図1】従来の可変長さのデコーダのブロック図であ
る。
【図2】多数のクロックサイクルを通じた図1に図示さ
れたデコーダの動作の一例を説明するための図面であ
る。
【図3】図2の例に使用された入力ビットストリームを
示す図面である。
【図4】本発明に適用されるカノニカルハフマンコード
ツリーの構造を説明するための図面である。
【図5】本発明の一実施例による可変長さの復号化装置
の構成を説明するためのブロック図である。
【図6】図5に図示されたコード長さ検出部の一例を示
すための回路図である。
【図7】本発明の一実施例による可変長さの復号化方法
を説明するための流れ図である。
【符号の説明】
51 パッキング部 52 境界線抽出部 53 レジスタ 54 コード長さ検出部 55 マルチプレクサ 56 ラッチ 57 加算器 58 メモリ
フロントページの続き (56)参考文献 特開 平4−196726(JP,A) 特開 平5−327517(JP,A) 特開 平6−104769(JP,A) 特開 平7−177039(JP,A) 特開 平7−249994(JP,A) 特開 平8−8755(JP,A) 特開 平8−223056(JP,A) 特開 平8−265165(JP,A) 特開 平8−265166(JP,A) 特開 平7−99453(JP,A) 米国特許5173695(US,A) 米国特許5245338(US,A) (58)調査した分野(Int.Cl.6,DB名) H03M 7/40

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 a)ハフマンコードツリー構造を基礎と
    する多数の可変長さコードワードが含まれている復号化
    する符号化ビット列の入力を受けて可変長さコードワー
    ドの最大の長さでパッキングして出力する段階と、 b)段階a)から出力された前記パッキングの復号化す
    る符号化ビット列からコードワードの境界線を検出する
    ために前記最大コードワードの長さのビット列に対する
    ノード位置値をそれぞれ演算する段階と、 c)段階b)から演算した前記ノードの位置値に基づい
    て前記可変の長さコードワードのコード長さを検出する
    段階と、 d)段階c)から検出した前記可変の長さコードワード
    のコード長さによるコードワードに対応するノードが位
    置したレベル以前までの総ターミナルノード数を演算す
    る段階と、 e)段階b)から演算した前記ノード位置の値の中で段
    階c)から検出した前記可変の長さコードワードのコー
    ド長さに対応する一つのノード位置値と段階d)で演算
    したターミナルノード数を加算して加算値を出力する段
    階と、 f)段階e)による加算値をアドレスで復号されたコー
    ドワードを復号化コードワードを符号化されたコードワ
    ードのノードの位置によってカノニカルツリーのルート
    から順次的に貯蔵しているメモリから読み出す段階と、 g)復号化処理する入力ビット列が残っているかどうか
    を判断して、もしも、復号化処理する入力ビット列が残
    っていないとルーチンを終了し、もしも、復号処理する
    入力ビット列が残っていると段階a)に復帰する段階で
    構成することを特徴とする可変長さコードの復号化方
    法。
  2. 【請求項2】 前記段階b)において前記ノード位置の
    値PTK は、 【数1】 によって演算され、ここでPTK はハフマンツリーのk
    レベルの1からkまでの2進入力ビットγ1、γ2、γ
    3・・・・ γk によるノード位置(各レベルの最上段がノー
    ド位置‘0’であり、下に順で1だけ増加)であり、γ
    i は各ビット列(γ1、γ2、γ3・・・・ )のビット値であ
    り、Li はiレベルの総ターミナルノード数であること
    を特徴とする請求項1記載の可変長さコードの復号化方
    法及びその装置。
  3. 【請求項3】 前記段階c)において前記演算された前
    記ノード位置の値の中で最初に負数の値を有するノード
    位置の値から1を減算して前記の可変の長さコードワー
    ドのコード長さを得ることを特徴とする請求項1記載の
    可変長さコードの復号化方法。
  4. 【請求項4】 前記段階d)において前記コードワード
    に対応するノードが位置するレベル以前までの総ターミ
    ナルノード数 【数2】 によって演算され、ここで、SK はkレベル以前までの
    総ターミナルノード数であり、L iはiレベルにおいて
    の総ターミナルノード数であることを特徴とする請求項
    1記載の可変長さコードの復号化方法。
  5. 【請求項5】 ハフマンコードツリー構造を基礎として
    可変長さコードワードが多数個含まれている復号化する
    符号化ビット列の入力をうけてコードワードの最大の長
    さでパッキングして出力し、復号化されたコードワード
    をシフトアウトさせて前記復号化する符号化ビット列か
    ら前記復号化されたコードワードを除いた新しい符号化
    ビット列をコードワードの最大の長さでパッキングして
    出力するためのパッキング部と、 前記パッキング部からの前記パッキングされた最大コー
    ドワードの長さのビット列の入力を受けてコードワード
    の境界線を検出するために最大コードワードの長さのビ
    ット列に対するノード位置の値を並列演算して出力し、
    前記演算されたノード位置の値の最上位ビットを出力す
    る境界線抽出部と、 前記ハフマンコードツリー構造の復号化するコードワー
    ドに対する当該レベル以前までの総ターミナルノード数
    をそれぞれ貯蔵している少なくとも一つ以上のレジスタ
    と、 前記境界線抽出部によって演算されたノード位置の値の
    最上位ビットに基づいて前記境界線抽出部からの符号化
    ビット列で復号処理される可変の長さコードワードのコ
    ード長さを検出して、前記境界線抽出部で演算されたノ
    ード位置の値の中で前記検出された可変長さコードワー
    ドのコード長さに対応する一つのノード位置の値を選択
    するための第1選択信号及び前記検出された可変の長さ
    コードワードのコード長さに対応するノードの位置した
    レベル以前までのターミナルノード数を貯蔵している前
    記少なくとも一つ以上のレジスタの中で該当する一つの
    レジスタを選択して可能にするための第2選択信号を発
    生するためのコード長さ検出部と、 前記コード長さ検出部の第1の選択信号に基づいて選択
    された前記境界線抽出部からの前記当該ノード位置の値
    を順次的に出力させるためのマルチプレックサと、 前記レジスタからの前記当該レベル以前までの総ターミ
    ナルノード数のなかで一つの総ターミナルノード数及び
    前記マルチプレックサからの前記当該ノードの位置の値
    をラッチするためのラッチと、 前記ラッチからの前記一つの総ターミナルノード数と前
    記当該ノード位置の値を加算してその加算値を出力する
    ための加算器と、 復号化コードワードを符号化されたコードワードのノー
    ド位置によってハフマンツリーのルートから順次的に貯
    蔵して、前記加算器からの加算値をアドレスにして当該
    復号化コードワードを出力するためのメモリで構成され
    ることを特徴とする可変長さコードの復号化装置。
  6. 【請求項6】 前記パッキング部は前記符号化されたビ
    ット列から復号化されたコードワードをシフトアウトさ
    せるためのバレルシフタを含むことを特徴とする請求項
    5記載の可変長さコードの復号化装置。
  7. 【請求項7】 前記コード長さの検出部は前記境界線抽
    出部から入力される少なくとも一つ以上のノード位置の
    値の最上位ビットを論理組合する前記レジスタの一つの
    レジスタだけを可能にする複数の排他的論理和ゲートで
    構成されることを特徴とする請求項5記載の可変長さコ
    ードの復号化装置。
  8. 【請求項8】 前記ラッチは前記レジスタからの前記当
    該レベル以前までの総ターミナルノード数の中で一つの
    総ターミナルノード数をラッチする第1ラッチ及び前記
    マルチプレックサからの前記当該ノードの位置の値をラ
    ッチするための第2ラッチを含むことを特徴とする請求
    項5記載の可変長さコードの復号化装置。
  9. 【請求項9】 前記メモリはランダムアクセスメモリ,
    読み出し専用メモリ及びプログラム可能の論理アレイの
    中で一つであることを特徴とする請求項5記載の可変長
    さコードの復号化装置。
  10. 【請求項10】 前記ハフマンコードツリーはシンボル
    と該シンボルを貯蔵しているメモリアドレスでなされた
    ターミナルノード及びシンボルを有しない連結ノードで
    構成され、前記ターミナルノードは一つのレベルですべ
    ての連結ノードの左側に位置する構造を有するカノニカ
    ルハフマンコードツリーを含むことを特徴とする請求項
    5記載の可変長さコードの復号化装置。
  11. 【請求項11】 前記ハフマンコードツリーは平均コー
    ド長さの増加なしでカノニカルハフマンコードツリーで
    変換できることを特徴とする請求項5記載の可変長さコ
    ードの復号化装置。
JP14748796A 1996-06-10 1996-06-10 可変長さコードの復号化方法及びその装置 Expired - Fee Related JP2934603B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14748796A JP2934603B2 (ja) 1996-06-10 1996-06-10 可変長さコードの復号化方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14748796A JP2934603B2 (ja) 1996-06-10 1996-06-10 可変長さコードの復号化方法及びその装置

Publications (2)

Publication Number Publication Date
JPH1013247A JPH1013247A (ja) 1998-01-16
JP2934603B2 true JP2934603B2 (ja) 1999-08-16

Family

ID=15431510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14748796A Expired - Fee Related JP2934603B2 (ja) 1996-06-10 1996-06-10 可変長さコードの復号化方法及びその装置

Country Status (1)

Country Link
JP (1) JP2934603B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982306A (en) * 1997-12-02 1999-11-09 Daewoo Electronics Co., Ltd. Variable-length coding method and apparatus thereof
KR100686354B1 (ko) 2005-11-16 2007-02-22 엠텍비젼 주식회사 가변 트리를 이용한 허프만 복호화 방법 및 장치

Also Published As

Publication number Publication date
JPH1013247A (ja) 1998-01-16

Similar Documents

Publication Publication Date Title
US5696507A (en) Method and apparatus for decoding variable length code
US5818877A (en) Method for reducing storage requirements for grouped data values
RU2125765C1 (ru) Способ и устройство сжатия символов, стохастический кодер (варианты)
US4973961A (en) Method and apparatus for carry-over control in arithmetic entropy coding
KR100624432B1 (ko) 내용 기반 적응적 이진 산술 복호화 방법 및 장치
JP3007496B2 (ja) 可変長復号化器
KR100748485B1 (ko) 가변 길이 코드워드 디코더 및 가변 길이 코드워드 디코딩 방법
US20050052295A1 (en) Method and apparatus for arithmetic coding, including probability estimation state table creation
JP2006054865A (ja) パイプライン方式の二進算術デコーディング装置及び方法
JP2831888B2 (ja) Hdtv復号化器
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
JP4098187B2 (ja) 可変長コード復号化装置及び方法
US6094151A (en) Apparatus and method for finite state machine coding of information selecting most probable state subintervals
US5648775A (en) High speed variable length code decoding apparatus
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
KR20050010918A (ko) 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치
GB2319689A (en) An entropy encoder using context modelling with data reordering
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
KR0152035B1 (ko) 가변장복호화방법 및 그 장치
KR100268831B1 (ko) 고속 처리 가변 길이 코덱 장치
JPH0936749A (ja) 符号化復号化装置およびこれに用いられる符号化方法
Park et al. Area efficient fast Huffman decoder for multimedia applications
JP3239664B2 (ja) 可変長符号復号方法
JP3389389B2 (ja) 可変長コード復号化装置
KR0125126B1 (ko) 고속 가변길이부호 복호화 장치

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120528

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 14

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees