JPH10209879A - 可変長符号器 - Google Patents
可変長符号器Info
- Publication number
- JPH10209879A JPH10209879A JP652797A JP652797A JPH10209879A JP H10209879 A JPH10209879 A JP H10209879A JP 652797 A JP652797 A JP 652797A JP 652797 A JP652797 A JP 652797A JP H10209879 A JPH10209879 A JP H10209879A
- Authority
- JP
- Japan
- Prior art keywords
- code
- length
- fixed
- variable
- zero
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
長符号器を提供することを課題とする。 【解決手段】 コード表に対するラン−レベル符号語の
グループのリンクされたリストの使用によりテーブルの
サイズが縮小される。その効果はハフマン表の穴に対し
てスペースを予約することなくハフマン符号語を記憶し
てアクセスする能力にある。固定長コードが入力される
につれて、リンクされたリストを走査することは、コー
ドの列が可変長コードに変換される前にラン/レベル固
定長コード化されるという必要性を除去する効果を持
つ。このことは符号器の構成および回路を簡単化する。
この結果はプログラム可能な可変長符号器のサイズを縮
小するものであり、そしてデジタル音声およびビデオ符
号器のVLSI化に効果的である。
Description
オ符号器に用いられるラン・レベルそして可変長符号器
(ハフマン符号器もしくはエントロピィ符号器等を含
む)の実現に関するものである。
離散コサイン変換(DCT)により得られた変換係数を、
可変長符号化(VLC)することが行われている。変換係
数はランレベルでコード化されエントロピィ符号化され
る。この場合、最も頻繁に生ずるランレベル組合せに最
も短いコードとが、平凡でない組合せには長いコードが
それぞれ付与される。ランレベルは単独の係数値(レベ
ル)に伴われたゼロ係数(ラン)の数として1またはより
多くの変換係数のグループを表す。例えばH261(国
際電信・電話諮問委員会、研究グループXV,CCIT
TサブグループXV書類、報告R37,8月1990年
による“p×64−kbits/Sにおける音声映像サービス
に対するH:261−ビデオコーデックの勧告"を参照)
MPEG−1(標準化に対する国際機構、ISOMPE
G書類、ISO−IEC/JTCI/SC2/WG8、
1992年による“CD−11172−1.5Mbpsま
での範囲におけるデジタルメモリ媒体に対する動画およ
び関連する音声の符号化"を参照)およびMPEG−2
(標準化に対する国際機構、ISO MPEG書類、I
SO−IEC/JTCI/SC2/WG11,1994
年による"IS13818−動画および関連の音声に対
する一般的符号化"を参照)は可変長符号器を必要とする
音声符号器を説明している。標準HDTV符号器もまた
可変長符号器を要求している。
の長さとおよび最初の非ゼロコードの値を含む新固定長
コードを作製するために非ゼロコードに先行する列の中
にゼロ評価のコードの発生を計数するランレベル符号器
の使用によって完成された。このランレベル固定長コー
ドは同時に索引可能のコード表を用いる可変長コードに
変換される。コード表をアドレスするのに使用される索
引はランレベル固定長コードもしくはランレベル固定長
コードのサブセットである。コード表は一般にメモリ
(例えばRAMまたはPROM)もしくはロジック(例え
ばPLA)を使用して実施される。レイ氏(Lei)および
サン氏(Sun)(Shaw−Min Lei,Ming−Ting Su
n、ビデオ技術に対する回路およびシステムに対するI
EEE会報Vol.1,No.1、3月1991年“デジ
タルHDTV応用に対するエントロピィ符号化システ
ム")はPLAを用いてルックアップテーブル(LUT)を
実施した。PLAは符号語のビット列およびビット列の
長さを含んでいた。PLAへの入力はラン−レベラーか
らの固定長データであり、出力は符号語のビット列とビ
ット列の長さである。ボーゲル氏(Vogel)(“ビットレ
ート削減のための方法と装置"Peter Vogel、米国特
許第4,901,075号、2月1990年を参照)はコ
ード表を実施するためにPROMを使用する方法を記述
している。ラン−レベル固定長データはPROMのアド
レスバスに直接応用された。そして可変長ビット列を表
しているのは、データバスへの出力である。
anaka)は、(“小さい表サイズを持った可変長符号器"B
rent WilsonおよびAkiyoshi Tanaka、米国特許出
願第08/305688号、9月13日、1994年を
参照)ラン−レベル組合せがコード表に記憶されて存在
している可変長コードを持っているかどうか、または固
定長エスケープコード列はラン−レベル組合せを符号化
するのに使用される必要があるかどうかを決定するため
の比較器とビットマップの組合せを使用することを含む
数々の技術を用いてテーブルのサイズを縮小した。もし
エントリが存在しているならば、ラン−レベル組合せに
対応する可変長符号語のコード表の中のアドレスを算出
する加算器と一緒にベーステーブルが使用される。さら
に、コード表の巾(ワードビット−巾)はプレフィクスゼ
ロとしての符号語、非ゼロビットの長さおよび非ゼロビ
ットの値を符号化することにより減少される。MPEG
−2のビデオのラン−レベル表に対するウィルソン氏と
タナカ氏の方法を実現するために必要なメモリの全体の
大きさは3,008ビットとなる。
するいくつかの課題がある。デジタル・オーディオ・ビ
デオ符号化技術の急激な変化により、また広範囲な応用
のため、可変長符号化に使用するハフマンテーブルの内
容は一定値ではなくなった。このことによりプログラム
可能な可変長コード表が必要となる。プログラム化と対
照的に、安価なVLSIコーデックの作製が可能なよう
に、小さなサイズが必要となる。本発明の目的はランレ
ベルの可変長符号化器を小さくて、プログラム可能な構
造で実現することである。
−2においては、ハフマンテーブルは連続的でない。全
てのランレベルの組合せが存在するわけではなく、また
存在する組合せも連続的ではない。例えば、ラン=6、
レベル=0,1,2および3に対する符号語は存在して
いるがラン=6、レベル=4や、ラン=7、レベル=3
に対して符号語は存在していない。このことは、従来の
メモリを使用する実施方法は使用されないメモリの
“穴"を持つであろう。即ちラン・レベルの組合せが符
号語を有しないから、有用な情報を含まないメモリ箇所
が生じるであろう。このメモリ箇所を“穴"という。こ
れはVLSIチップの浪費スペースとなる。換言すれ
ば、PLAは使用できるが、RAMよりも多機能性がよ
り狭くなる。本発明の目的はハフマンテーブルの中の穴
を削減し、コード格納のスペースを減少することであ
る。
めに本発明は可変長符号器を提供する。本発明におい
て、コード表は符号語を記憶するために用いられる。そ
して各符号語は符号語のビット列およびビット列の長さ
を規定する。コード表は符号語のグループとリンクされ
たリストとして組立てられている。ここに符号語は先行
する連続ゼロの固定長コード(ラン)の数と、非ゼロ固定
長コード値(レベル)に応じて構成されている。また符号
語は対応する固定長コード値の値に対応して連続的にグ
ループの中で配列されている。アドレス生成手段は、以
前のコード表アドレスポインター(次のグループの連結)
および固定長コード入力に基づいて、コード表をアクセ
スするためのコード表アドレスを算出するために使用さ
れる。エスケープ符号器はエスケープコードを算出する
ために使用される。ここにエスケープコードは、コード
表にエントリを持たない固定長コードの列に対応する可
変長コードを規定する。エスケープ選択手段は、可変長
コードの出力である可変長コードとなるコード表から、
エスケープコードまたは符号語を選択するために使用さ
れる。コード有効決定手段は、固定長コードの列が対応
する可変長コードを持つかどうかを決定するために使用
される。
生じる穴を効果的にとび越えるように連結リストを使用
することにより表スペースの浪費が除去される。初め
に、コードのストリームの固定長コードが入力される時
に、コード表アドレスポインターは、符号語の初めのグ
ループが記憶されているテーブルベースにセットされ
る。このグループは最大レベルまで、ラン=0、レベル
=1,2などに対応する。可変長コードは、コード有効
決定手段によって決定されているように非ゼロ固定長コ
ードが入力される時のみに、出力される。符号語がコー
ド表の中に見出されたかどうかは固定長コードの入力を
そのグループに対する最大のものとを比較することによ
り決定できる。この比較はエスケープコードの決定手段
により実施される。もし符号語がコード表の中にあるな
らば、エスケープコード選択手段は可変長コードの出力
となるべきコード表の出力を選択する。もしそれがコー
ド表の中にない場合は、可変長コード出力となるべきエ
スケープ符号器出力をエスケープコード選択手段が選択
する。エスケープ符号器は、固定長コード入力に対して
固定長エスケープ列を出力する。もしゼロの固定長コー
ドが入力される場合は、コード表アドレスポインターは
次のグループへの連結によって更新される。これはラン
カウンターの増加分に対応する。このプロセスは入力列
の終点が到着されるまで、即ち表の終点が到着されるま
で、連続するゼロの固定長コードの入力毎に繰り返され
る。一度、表の終点が到着されると、エスケープコード
決定手段は、エスケープコード選択手段がエスケープ符
号器出力を選択することを決定する。有効コードが出力
される毎に、コード表アドレスポインターは連結リスト
の出発点であるテーブルベースにセットされる。
す。固定長コード入力100は固定長コードのビットス
トリームを受け、アドレス生成器101に送る。アドレ
ス生成器101は、コード表102を索引するために使
用されるコード表アドレス107を、固定長コード入力
100からのビットストリームとコード表アドレスポイ
ンター114を用いて生成する。コード表出力108は
エスケープ選択器103に送られる。エスケープ選択器
103は、エスケープ符号器104からのエスケープコ
ード109またはコード表からの出力108のいずれか
一方を選び、それを出力する。固定長コード入力100
および次のグループの最大値112に基づき、エスケー
プコード決定器105は、エスケープ決定111を生成
する。コード有効決定器106はコードの有効決定出力
113を生成する。
容を説明するものである。本実施の形態に対するコード
表102は、次のグループの最大値201,202,2
03、コード表アドレスポインター204,205,2
06、ランの各グループのための符号語207,20
8,209,210,211,212,213,214
を含んでいる。各符号語207,208,209,21
0,211,212,213,214はビット列および
ビット列の長さを含み、それらは、適切なランレベル組
合せに対応する。
た例に対するコード表102の内容を説明するものであ
る。この例においては、コード表102には、ラン=0
であってレベル=1から4の符号語;ラン=1であって
レベル=1から3の符号語;ラン=2であってレベル=
1の符号語が含まれる。ラン=1のグループ301にお
ける最大値は3である。ラン=2のグループ302にお
ける最大値は1であり、ラン=3のグループ303にお
ける最大値は0である。この実施の形態ではコード表の
終点を示すため、最大値0を用いる。第1のコード表ア
ドレスポインター304はラン=1のグループのアドレ
ス、すなわち5にセットされている。第2のポインター
305はラン=2のグループのアドレス、すなわち9に
セットされ、最後のポインター306はこの実施の形態
では使用されない。
図1で説明された実施の形態の動作を次に説明する。コ
ード表102を索引するために使用されるコード表アド
レス107をアドレス生成器101が算出する。第1の
固定長コードが固定長コード入力100を介して入力さ
れれば、コード表アドレス107は第1の固定長コード
の値にコード表102の基本アドレスを加算した値にセ
ットされる。
ープの最大値、この場合はレベル=4であるが、を越え
ない時は、コード表アドレス107はラン=0でありレ
ベルが第1の固定長コードに対応する符号語のアドレス
を含む。
ープの最大値を越えるならば、エスケープコード決定器
105はエスケープ決定111を生成する。このエスケ
ープ決定111は、今回の入力に対し、エスケープ符号
器104からのエスケープコード109を選択するよう
エスケープ選択器103に指示し、可変長コード出力1
10を生成する。
ば、ラン=1のグループを指名するコード表アドレスポ
インター304のアドレスがコード表アドレス107と
して出力される。次の固定長コード入力に対しては、コ
ード表アドレスポインター304と、固定長コード入力
との合計がアドレスとしてアドレス生成器101から生
成される。
のグループの最大値(この場合は3)が、エスケープコー
ド決定器105において用いられ、エスケープ決定11
1を生成する。
いるので、0の値を有する固定長コード入力があれば、
次のグループの先頭にジャンプする。0でない固定長コ
ード入力の場合は、可変長コード出力となる。その時、
アドレス生成器101は、現在のアドレスに固定長コー
ド入力の値を加えた合計値をアドレスとして生成する。
形態の効果は、コード表102はランレベルコードのグ
ループのリンクされたリストであり、コード表のメモリ
マップの中には浪費されたホールがない。この実施の形
態においてはランレベル符号化は可変長符号化と別個に
実行されるのでなくて、固定長データの入力が行われる
時に同時に実行される。その結果非常に簡単な構造とす
ることができる。
の実施の形態はアドレス生成器401、エスケープコー
ド決定器405および有効コード決定器406をより詳
細に説明するものである。本実施の形態のアドレス生成
器401はコード表アドレスポインター遅延器420に
よって遅延されるコード表アドレスポインター入力41
4を有している。このような遅延器は、たとえばクロッ
クで動作されるレジスターによって構成される。この遅
延されたコード表アドレスポインター421はテーブル
ベース選択器422に送られる。その選択器422はア
ドレス加算器424への入力として、遅延されたコード
表アドレスポインター421かまたは、テーブルベース
423を選択する。アドレス加算器424はテーブルベ
ース選択器の出力425を固定長コードの入力400に
加算して、コード表アドレス407を生成する。セット
テーブルベース決定器426は、テーブルベース選択器
422から何が出力されるべきかを指示するセットテー
ブルベース決定の結果427を出力する。本実施の形態
においては、前回の固定長コード入力400がゼロでな
いとき、または第1の固定長コードの入力428によっ
て示される、固定長コードの入力が列の最初であるとき
は、セットテーブルベース決定器426はテーブルベー
ス423をセットする。
決定器405は、エスケープコード409を選択するよ
うにエスケープ決定411を出力するエスケープ決定手
段440を有する。この決定は固定長コード入力400
が非ゼロであるかどうか、または固定長コード入力40
0が最大値441を越えるか、もしくは遅延されたテー
ブル・エンド決定442が正しいかを基本においてい
る。最大値441は、コード表402のラン=0グルー
プの中の最大レベルであるテーブル・ベース最大値44
3もしくは遅延された次のグループの最大値452のい
ずれかから、最大値セレクター445によって選択され
る。セット最大決定器447は、最大値選択手段452
が何を出力すべきかを指示するセット最大値決定445
を出力する。本実施の形態においては、セット最大値決
定器447は、以前の固定長コード入力400が非ゼロ
であるならば、または固定長コード入力が第1の固定長
コード入力428で示されるように列の最初であるなら
ば、テーブルベース最大値443をセットする。次のグ
ループの最大値412は次のグループの最大の遅延器4
28によって遅延され、最大決定器452によって使用
される遅延された次のグループの最大値448を決定す
る。固定長コード入力400が0であるかどうか、また
次のグループの最大値412が0であるかどうかに基づ
いて、表終点決定器449はテーブルエンド決定450
を出力する。この結果はテーブルエンド決定遅延器45
1によって遅延され、遅延されたテーブルエンド決定4
42が出力される。
は、もし固定長コード入力が非ゼロであるならば、可変
長コード出力410は有効であると決定する。この結果
はコード有効決定413とに出力される。
施の形態の動作の一例を示すタイミング図である。時間
1において、第1の固定長コードが入力される。その値
は1とする。その結果、可変長コード出力はラン=0お
よびレベル=1となる。時間2において、第1の固定長
コード入力は0である。時間3においては、固定長コー
ド入力は3であり、その結果、可変長コード出力はラン
=1およびレベル=3となる。またこの後に、二つの0
の固定長コード入力とひとつの1の固定長コード入力が
続く。この結果、可変長コード出力はラン=2およびレ
ベル=1となる。この後に三つの0の固定長コード入力
ひとつの1の固定長コード入力が続く。この結果、可変
長コード出力に対し、エスケープコードが必要となる。
この理由は図3に示されているコード表はラン=3に対
する符号語を含んでいないからである。この後に、ひと
つの1の固定長コード入力が続く。その結果、可変長コ
ード出力は、ラン=0およびレベル=1となる。その後
にひとつの5の固定長コード入力が続く。その結果、可
変長コード出力に対し、エスケープコードが再び必要と
なる。この理由は、図3に示されるコード表はラン=0
およびレベル=5に対する符号語を含んでいないからで
ある。かくて、この図は固定長コード入力が1,0,
3,0,0,1,0,0,0,1,1,5の列を例とし
て示している。その結果、可変長コード出力に対する符
号語列は、ラン=0およびレベル=1;ラン=1および
レベル=3;ラン=2およびレベル=1;ラン=3およ
びレベル=1に対してはエスケープ;ラン=0およびレ
ベル=1;ラン=0およびレベル=5に対してはエスケ
ープとなる。
された表を、MPEG−2に用いることができるよう、
テーブル0ラン・レベル可変長符号語を含む表で置きか
える。コード語は、4ビット長のプレフィックス0、4
ビット長のサフィクッスビットおよび8ビット長のサフ
ィクッスビットストリングで構成される16ビット言語
の中に組み込むことができる。さらにまた、6ビットを
使用して、8ビット広域であるコード表アドレスポイン
ターと同じコード表言語の中の6ビットを使用して、次
のグループの最大値も含むことができる。従って、この
表は約144言語×16ビットのメモリ、すなわち23
04ビットのメモリを使用して記憶することができる。
いメモリを使用してラン・レベルコーディング可変長コ
ード表を設けることが可能なことである。また、ランレ
ベルの組合せをコード表ルックアップが実行される以前
に決定する必要がない。殆んどロジックを要求しない簡
単な構成であり、固定長コードの入力毎に可変長コード
まで出力できることである。コード表はRAMを用いて
容易に実施され、必要に応じて符号語を加えたり削除し
たりすることもできるので、コード表が容易に修正で
き、多用途の構成とすることができる。
必要とする場合に限定されるものではなく、正負両方の
値を付与された固定長コードの列に対しても用いること
ができる。正の値を付与された固定長コードとしてエン
コーダーに送られる前に、+,−のサインをはずすこと
も可能である。サインは後で可変長コードの出力に加え
られることもできる。本発明は符号語を記憶する方法を
特定するものではない。テーブルO MPEG−2ラン
・レベル可変長を記憶する実施の形態では、従来よりも
小さいサイズの表をどのように可能にさせるかという例
として16ビットを用いる方法を説明した。また本発明
によってリンクされたリストの終点を指示する方法は特
に限定されるものではない。本実施の形態は0となる次
のグループの最大値のコード表エントリを一つの例とし
て示しているが他の適切な方法を使うことも可能であ
る。実施の形態において、コード表アドレスポインター
および次のグループの最大値は言語としてコード表に記
憶されているが、このような方法のみで記憶されること
に限定されるものではない。例えば、他のメモリを用い
ることも可能である。
を保持しながら可変長符号器のサイズを減少することで
あり、色々なホフマンコード表のサポートが同じ構成で
可能であることである。コード表を記憶するリンクされ
たリストを用いる一つの効果は、ホフマン表の中にホー
ルの発生することによるコード表の浪費を除去すること
である。このことは、VLSIコーデック・チップを用
いた小さいメモリを使用して、コード表が実現できるこ
とを意味する。その結果、より安価なVLSIコーデッ
クを作ることができる。本発明の他の効果は、広範囲の
応用、特にデジタル音声・映像の符号化の分野に適切な
ランレベルと可変長符号化を必要とする構成を自由度高
く決めることができる点である。コード・ランレベルの
組合せに用いられる可変符号語は、ロジックに影響する
ことなくコード表の内容のみを変えることにより容易に
修正することができる。また本発明は異なるコード表を
持つ構成に簡単に適用可能である。
ブロック図。
を示す図。
Claims (12)
- 【請求項1】 固定長コードを可変長コードに変換する
可変長符号器であって:固定長コードの列を入力する固
定長コード入力;可変長コードの列を出力する可変長コ
ード出力;前記可変長コードのビット列と該ビット列の
長さを規定する符号語を記憶するためのコード表;前記
コード表を索引するコード表アドレスを算出するアドレ
ス生成手段;コード表に含まれない固定長コードに対応
するエスケープコードを算出するエスケープ符号器;前
記可変長符号器の出力である可変長コードに代替される
べきものとしてエスケープコードまたは符号語のいずれ
か一方を選出するエスケープ選択手段;前記固定長コー
ドがコード表に含まれているかどうかを決定するエスケ
ープコード決定手段;および前記固定長コードに対応す
る可変長コードの有無を決定するコード有効決定手段か
ら成ることを特徴とする可変長符号器。 - 【請求項2】 請求項1にかかる可変長符号器であっ
て、前記コード表は:非ゼロ固定長コードに続く連続す
るゼロの固定長コードの数に応じてグループ化され、対
応する固定長コードの数値に応じてグループ内で連続的
に整列された符号語のグループのリンクされたリスト;
非ゼロ固定長コードに続く連続するゼロの固定長コード
の昇順番号に従って整列され、次の連続するグループの
先頭を指示して前記符号語のグループをリンクするコー
ド表アドレスポインター;および連結されたリストの終
点を指示する終点指示手段から成ることを特徴とする可
変長符号器。 - 【請求項3】 請求項1にかかる可変長符号器であっ
て、 非ゼロ固定長コードに続く連続するゼロの固定長コード
の数に応じてグループ化され、対応する固定長コードの
数値に応じてグループ内で連続的に整列された符号語の
グループのリンクされたリスト;非ゼロ固定長コードに
続く連続するゼロの固定長コードの昇順番号に従って整
列され、次の連続するグループの先頭を指示して前記符
号語のグループをリンクするコード表アドレスポインタ
ー;およびコード表アドレスポインターの後に続くグル
ープの中の非ゼロ固定長コード値の最大値を示す次のグ
ループの最大値;および連結されたリストの終点を指示
する終点指示手段から成ることを特徴とする可変長符号
器。 - 【請求項4】 請求項3にかかる可変長符号器であっ
て:前記終点指示手段は次のグループがコード表に存在
しないことを指示するための空間的に次のグループの最
大値エントリを含み、それはコード表の終点を指示する
ために予め決められたユニークな値であることを特徴と
する可変長符号器。 - 【請求項5】 請求項3にかかる可変符号器であって、
前記グループのリンクされたリストは、前記コード表ア
ドレスポインターがコード表の各々の初めの位置に配置
されるようなグループならびにコード表アドレスポイン
ターの組織を含むことを特徴とする可変長符号器。 - 【請求項6】 請求項1,2,3,4または5のいずれ
かにかかる可変符号器であって、前記コード有効決定手
段は前記固定長データコード値をゼロと比較するための
ゼロ比較器と、前記ゼロ比較器は固定長コード値が非ゼ
ロであるならば存在が成立するような可変長コードの存
在を指示するコード有効決定手段とを含むことを特徴と
する可変長符号器。 - 【請求項7】 請求項1,2,3,4,5,6または7
のいずれかにかかる可変符号器であって、前記アドレス
生成手段は:前記固定長コード入力の中の一つの固定長
コード入力に対応するコード表アドレスポインターを遅
延するコード表アドレスポインター遅延器;遅延された
コード表アドレスポインターまたは、コード表の初めの
グループを指示するコード表アドレスポインターに対応
するテーブルベースポインターを選ぶためのテーブルベ
ース選択手段;前記テーブルベース選択手段が遅延され
たコード表アドレスポインターまたは、テーブルベース
ポインターを選ぶかどうかを決定するためのセットテー
ブルベース決定手段;および前記テーブルベース選択手
段からのポインターを固定長コード入力に加算してコー
ド表アドレスを生成するアドレス加算器から成ることを
特徴とする可変長符号器。 - 【請求項8】 請求項7にかかる可変長符号器であっ
て、前記セットテーブルベース決定手段は、前回の固定
長データコード値をゼロと比較するゼロ比較器と、前記
テーブルベース選択手段は遅延されたコード表アドレス
ポインターかもしくはテーブルベースポインターを選ぶ
べきかどうかを指示するセットテーブルベース決定とを
有し、セットテーブルベース決定は、前回の固定長コー
ドは非ゼロであるかどうか、また固定長コードは可変長
符号化される列の最初であるかどうかを決定するゼロ比
較器に基づいていることを特徴とする可変長符号器。 - 【請求項9】 請求項1,2,3,4,5,6,7また
は8のいずれかにかかる可変長符号器であって、前記の
エスケープコード決定手段は:前記の固定長コードの入
力の中の一つの固定長コード入力に対応する次のグルー
プの最大値を遅延する次のグループの最大値の遅延器;
前記の遅延された次のグループの最大値か、またはコー
ド表の中の最初のグループの中の非ゼロ固定長コードの
最大値に対応するテーブルベース最大を選ぶ最大選択手
段;前記最大選択手段が遅延された次のグループの最大
値か、もしくはテーブルベース最大を選ぶかどうか決定
するセット最大決定手段;ゼロの固定長コードに対応す
るグループのコード表のリンクされたリストに従ってジ
ャンプした結果、到着せられるグループのリンクされた
リストの終点にいたるかどうか決定するためのテーブル
終点決定手段;前記の固定長コード入力の中の一つの固
定長コード入力に対応するテーブル終点決定を遅延する
ためのテーブル終点決定遅延器;および前記の固定長コ
ードがコード表に含まれているかどうか決定するエスケ
ープ決定をきめるエスケープ決定手段から成ることを特
徴とする可変長符号器。 - 【請求項10】 請求項9にかかる可変長符号器であっ
て、前記最大決定は、以前の固定長データ値をゼロと比
較するゼロ比較器と、前記最大選択手段が遅延された次
のグループの最大値かもしくはテーブルベース最大を選
ぶどうかを指示するセット最大決定手段を含み、セット
最大決定は、前回の固定長コードは非ゼロであるかまた
は固定長コードは可変長符号化されるべき列の中の最初
かどうか決定するゼロ比較器に基づいていることを特徴
とする可変長符号器。 - 【請求項11】 請求項10または11のいずれかにか
かる可変長符号器であって、テーブル終点決定手段は固
定長データコード値をゼロと比較するゼロ比較器と、ゼ
ロの固定長コードに対応するグループのコード表のリン
クされたリストに従ってジャンプした結果、到着せられ
るグループのリンクされたリストの終点にいたるかどう
か決定するためのテーブル終点決定手段とを含み、ここ
にセットテーブル終点決定は固定長コードがゼロである
か、そして遅延した次のグループの最大値がテーブルの
終点が到着せられたことを指示することをきめるゼロ比
較器に基づいていることを特徴とする可変長符号器。 - 【請求項12】 請求項9,10または11のいずれか
にかかる可変長符号器であって、エスケープ決定手段
は、固定長データコード値をゼロと比較するゼロ比較器
と、固定長データコードを最大選択手段によって選択さ
れた最大と比較する最大比較器とエスケープ決定を作製
するエスケープ決定ロジックを含み、ここにエスケープ
決定は、テーブル終点が到着せられたことを指示する遅
延したテーブル終点もしくは固定長コードが非ゼロであ
り、最大比較器が固定長データコードが最大選択手段に
よって選択された最大より大きいことを決定したことを
決定するゼロ比較器に基づいていることを特徴とする可
変長符号器。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00652797A JP3484310B2 (ja) | 1997-01-17 | 1997-01-17 | 可変長符号器 |
| US09/008,601 US5969650A (en) | 1997-01-17 | 1998-01-16 | Variable length coder with a small table size |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00652797A JP3484310B2 (ja) | 1997-01-17 | 1997-01-17 | 可変長符号器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10209879A true JPH10209879A (ja) | 1998-08-07 |
| JP3484310B2 JP3484310B2 (ja) | 2004-01-06 |
Family
ID=11640842
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP00652797A Expired - Fee Related JP3484310B2 (ja) | 1997-01-17 | 1997-01-17 | 可変長符号器 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5969650A (ja) |
| JP (1) | JP3484310B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006067396A (ja) * | 2004-08-27 | 2006-03-09 | Matsushita Electric Ind Co Ltd | 可変長符号化装置、撮像装置 |
| US8408999B2 (en) | 2010-03-23 | 2013-04-02 | Konami Digital Entertainment Co., Ltd. | Game apparatus, game processing method, and information recording medium |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6298087B1 (en) * | 1998-08-31 | 2001-10-02 | Sony Corporation | System and method for decoding a variable length code digital signal |
| JP2000307477A (ja) * | 1999-04-21 | 2000-11-02 | Matsushita Electric Ind Co Ltd | 符号発生装置、その装置を用いた通信装置、通信システム及び符号発生方法 |
| US6411229B2 (en) * | 2000-04-28 | 2002-06-25 | Matsushita Electric Industrial Co., Ltd. | Variable length decoder |
| US6937770B1 (en) | 2000-12-28 | 2005-08-30 | Emc Corporation | Adaptive bit rate control for rate reduction of MPEG coded video |
| US7023924B1 (en) | 2000-12-28 | 2006-04-04 | Emc Corporation | Method of pausing an MPEG coded video stream |
| US6907081B2 (en) * | 2001-03-30 | 2005-06-14 | Emc Corporation | MPEG encoder control protocol for on-line encoding and MPEG data storage |
| US7174561B2 (en) * | 2001-04-13 | 2007-02-06 | Emc Corporation | MPEG dual-channel decoder data and control protocols for real-time video streaming |
| US7103102B2 (en) * | 2001-06-29 | 2006-09-05 | Equator Technologies, Inc. | Bit stream code lookup table for an MPEG-4 code word |
| US6587057B2 (en) * | 2001-07-25 | 2003-07-01 | Quicksilver Technology, Inc. | High performance memory efficient variable-length coding decoder |
| US6980594B2 (en) | 2001-09-11 | 2005-12-27 | Emc Corporation | Generation of MPEG slow motion playout |
| US6959116B2 (en) * | 2001-09-18 | 2005-10-25 | Emc Corporation | Largest magnitude indices selection for (run, level) encoding of a block coded picture |
| US6968091B2 (en) * | 2001-09-18 | 2005-11-22 | Emc Corporation | Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs |
| DE60330198D1 (de) | 2002-09-04 | 2009-12-31 | Microsoft Corp | Entropische Kodierung mittels Anpassung des Kodierungsmodus zwischen Niveau- und Lauflängenniveau-Modus |
| US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
| US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
| GB2408871A (en) * | 2003-11-10 | 2005-06-08 | Forbidden Technologies Plc | Data and digital video data compression |
| US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
| US7091888B1 (en) * | 2005-03-29 | 2006-08-15 | Broadcom Corporation | Run-level and command split FIFO storage approach in inverse quantization |
| US7599840B2 (en) | 2005-07-15 | 2009-10-06 | Microsoft Corporation | Selectively using multiple entropy models in adaptive coding and decoding |
| US7693709B2 (en) * | 2005-07-15 | 2010-04-06 | Microsoft Corporation | Reordering coefficients for waveform coding or decoding |
| US7684981B2 (en) | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
| US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
| US7933337B2 (en) | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
| US7565018B2 (en) | 2005-08-12 | 2009-07-21 | Microsoft Corporation | Adaptive coding and decoding of wide-range coefficients |
| US7333037B2 (en) * | 2006-02-14 | 2008-02-19 | Broadcom Corporation | Method and system for improved lookup table (LUT) mechanism for Huffman decoding |
| US8184710B2 (en) | 2007-02-21 | 2012-05-22 | Microsoft Corporation | Adaptive truncation of transform coefficient data in a transform-based digital media codec |
| US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
| US8179974B2 (en) | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
| JP2010045598A (ja) * | 2008-08-12 | 2010-02-25 | Fujitsu Ltd | 可変長復号装置、及び、符号化装置 |
| US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
| JP5501014B2 (ja) * | 2010-02-05 | 2014-05-21 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム及び記憶媒体 |
| US9484954B1 (en) | 2015-09-10 | 2016-11-01 | Intel Corporation | Methods and apparatus to parallelize data decompression |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4044347A (en) * | 1975-05-19 | 1977-08-23 | International Business Machines Corporation | Variable-length to fixed-length conversion of minimum-redundancy codes |
| ATE108587T1 (de) * | 1986-09-13 | 1994-07-15 | Philips Nv | Verfahren und schaltungsanordung zur bitratenreduktion. |
| US5361370A (en) * | 1991-10-24 | 1994-11-01 | Intel Corporation | Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port |
| JP3025827B2 (ja) * | 1993-09-14 | 2000-03-27 | 松下電器産業株式会社 | 可変長コード化装置 |
-
1997
- 1997-01-17 JP JP00652797A patent/JP3484310B2/ja not_active Expired - Fee Related
-
1998
- 1998-01-16 US US09/008,601 patent/US5969650A/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006067396A (ja) * | 2004-08-27 | 2006-03-09 | Matsushita Electric Ind Co Ltd | 可変長符号化装置、撮像装置 |
| US8408999B2 (en) | 2010-03-23 | 2013-04-02 | Konami Digital Entertainment Co., Ltd. | Game apparatus, game processing method, and information recording medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US5969650A (en) | 1999-10-19 |
| JP3484310B2 (ja) | 2004-01-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH10209879A (ja) | 可変長符号器 | |
| JP2959916B2 (ja) | デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ | |
| JP3220598B2 (ja) | 可変長符号テーブルおよび可変長符号化装置 | |
| US6219457B1 (en) | Method and system for decoding data encoded in a variable length code word | |
| US5652583A (en) | Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof | |
| US5550542A (en) | Variable length code look-up table having separate code length determination | |
| JP2006054865A (ja) | パイプライン方式の二進算術デコーディング装置及び方法 | |
| CA1321012C (en) | Method and apparatus for statistically encoding digital data | |
| JP3410629B2 (ja) | 可変長符号化回路及び可変長符号化方法 | |
| CN1113473C (zh) | 使用相对地址的可变长译码装置 | |
| US6546053B1 (en) | System and method for decoding signal and method of generating lookup table for using in signal decoding process | |
| US6094151A (en) | Apparatus and method for finite state machine coding of information selecting most probable state subintervals | |
| US5729690A (en) | Variable length encoding method and apparatus for differential motion vector values using an improved differential motion code table | |
| US5648775A (en) | High speed variable length code decoding apparatus | |
| Boliek et al. | Very high speed entropy coding | |
| US5835033A (en) | Decoding apparatus and method for coded data | |
| JP3230933B2 (ja) | データ伸長装置、データ伸長方法、デコーディング装置、デコーディング方法、エンコーディング装置、及びエントロピー・デコーダ | |
| US5285520A (en) | Predictive coding apparatus | |
| US5754128A (en) | Variable-length code encoding and segmenting apparatus having a byte alignment unit | |
| JP3025827B2 (ja) | 可変長コード化装置 | |
| US6324306B1 (en) | Variable length code decoder and moving picture decoder having variable length code decoder | |
| US20100134332A1 (en) | Encoding a gray code sequence for an odd length sequence | |
| US5712686A (en) | Inverse quantizer for use in MPEG-2 decoder | |
| JP3389389B2 (ja) | 可変長コード復号化装置 | |
| JP3937463B2 (ja) | ハフマン符号化装置及び方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071017 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081017 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091017 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091017 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101017 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |