JPH06104768A - デジタル通信システム用の可変長符号語復号器 - Google Patents

デジタル通信システム用の可変長符号語復号器

Info

Publication number
JPH06104768A
JPH06104768A JP5121857A JP12185793A JPH06104768A JP H06104768 A JPH06104768 A JP H06104768A JP 5121857 A JP5121857 A JP 5121857A JP 12185793 A JP12185793 A JP 12185793A JP H06104768 A JPH06104768 A JP H06104768A
Authority
JP
Japan
Prior art keywords
codeword
data
length
bits
category
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
Application number
JP5121857A
Other languages
English (en)
Other versions
JP2511788B2 (ja
Inventor
Stephen C Pollmann
ステファン・シー・ポールマン
Paul Moroney
ポール・モロニー
Edward A Krause
エドワード・エイ・クラウス
Paul Shen
ポール・シェン
Woo H Paik
ウー・エイチ・パイク
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.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
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 Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Publication of JPH06104768A publication Critical patent/JPH06104768A/ja
Application granted granted Critical
Publication of JP2511788B2 publication Critical patent/JP2511788B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion 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/425Conversion 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

(57)【要約】 【目的】 高品位テレビの復号器によって提供されるD
CT変換係数のような変換係数を再生するために、可変
長符号語を復号化する装置(10)を提供する。 【構成】 nビット以下の長さをもつ符号語を第1カテ
ゴリーとし、nビットを越える長さをもつ符号語を第2
カテゴリーとする。符号語を復号化するためにフィード
バックROM(22)を使用する。第1カテゴリーの符
号語は、ROM(22)内のルックアップテーブル(8
0)を直接アドレス指定することによって処理する。第
2カテゴリーの符号語は、ROM(22)を複数回通過
し、前回の通過時に出力したデータの一部分をフィード
バック(90)して次回の通過時の記憶場所をアドレス
指定することによって処理する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、圧縮デジタルデータの
再生に関し、さらに詳しくは可変長符号語の復号器に関
する。
【0002】
【従来の技術】テレビジョン信号は従来、特定の国によ
って採用されている様々な標準に従って、アナログ形式
で伝送される。例えば、米国はNTSC(米国テレビジ
ョン方式委員会)の標準を採用している。また、ヨーロ
ッパの多くの国々はPAL(位相反転走査線)またはS
ECAM標準を採用している。
【0003】テレビジョン信号をデジタル伝送すると、
アナログ技術よりずっと高い品質の映像および音声サー
ビスを提供することができる。デジタル伝送方式は、衛
星によってケーブルテレビ会社および/または直接家庭
の衛星テレビ受信機に放送される信号に特に有利であ
る。デジタルテレビジョン送受信システムは、オーディ
オ産業においてコンパクトディスクがアナログレコード
にほとんど取って代わったのとちょうど同じように、既
存のアナログシステムに取って代わることが予想され
る。
【0004】デジタルテレビジョン方式では、かなりの
量のデジタルデータを伝送しなければならない。高品位
テレビ(HDTV)の場合には、特にそうである。デジ
タルテレビジョンシステムでは、契約者は、映像、音
声、およびデータを契約者に提供する受信機/スクラン
ブル解除装置を介して、デジタルデータストリームを受
信する。利用可能な無線周波数スペクトルを最も効率的
に利用するためには、伝送しなければならないデータの
量を最小限にするために、デジタルテレビジョン信号を
圧縮するのが有利である。
【0005】テレビジョン信号の映像部分は、全部がひ
とまとめになって動画像を提供する一連の映像「フレー
ム」から成る。デジタルテレビジョンシステムでは、映
像フレームの各走査線が「画素」と呼ばれる一連のデジ
タルデータによって形成される。テレビジョン信号の各
映像フレームを形成するには、大量のデータが必要であ
る。例えば、NTSC解像度で1つの映像フレームを形
成するには、7.4メガビットのデータが必要となる。
これは、640画素×480ラインのディスプレイで
赤、緑、および青の3原色のそれぞれに8ビットの強度
(輝度)値を使用する場合を想定したものである。高品
位テレビで各映像フレームを形成するには、かなりもっ
と多くのデータが必要である。このデータ量を管理する
ために、特に高品位テレビの場合もそうだが、データを
圧縮しなければならない。
【0006】ビデオ圧縮技術は、従来の通信チャネルに
よるデジタル映像信号の効率的な伝送を可能にする。こ
のような技術は、映像信号の重要な情報をより効率的に
表現するために、隣接画素間の相関関係を利用する圧縮
アルゴリズムを使用する。最も強力な圧縮システムは、
空間的相関を利用するだけではなく、データをさらに圧
縮するために、隣接フレーム間でも同様の相関関係を利
用することができる。このようなシステムでは、差分符
号化を用いて、実際のフレームとその予測の間の差だけ
を伝送する。予測は、同じ映像シーケンスの前のフレー
ムから導出された情報に基づいて行う。このようなシス
テムの例は、「デジタルテレビジョンの適応型動き補償
(Adaptive Motion Compensation for Digital Televis
ion)」と題する米国特許第5,068,724号、お
よび「動き補償後の順次映像イメージの再生方法および
装置(Method and Apparatus for Refreshing Motion C
ompensated Sequential Video Images)」と題する米国
特許第5,057,916号に記載されている。
【0007】映像信号の動き予測は、指定されたトラッ
キング範囲内で現在の輝度ブロックを前のフレームの輝
度ブロックと比較することによって得られる。前フレー
ムで現在のブロックに比較して総合絶対変化が最小限の
輝度ブロックを選択する。選択されたブロックの位置を
動きベクトルと呼び、現在のブロックの予測値を得るた
めに使用される。符号化能率を高めるために、動きベク
トルを差分符号化し、可変長符号器によって処理し、副
情報として復号器へ送信することができる。予測値を必
要に応じて平滑化するために、DPCMループに低域フ
ィルタを含んでもよい。また、様々な種類のランダム雑
音から符号化ビットストリームを保護するために、順方
向誤り修正機構を使用することができる。
【0008】冗長情報を除去することによってデータ転
送速度を圧縮するには、主に2種類の符号化方式があ
る。それは、「情報源符号化」と「エントロピー符号
化」である。情報源符号化は情報源材料を処理し、損失
の多い結果を生じる。したがって、情報源符号化を使用
した場合、画像品質は低下する。情報源符号化技術を実
現する際は、フレーム内符号化またはフレーム間符号化
のいずれかを使用することができる。フレーム内符号化
は、最初の画像およびシーン変化後の画像に使用する。
フレーム間符号化は、動きのあるオブジェクトを含む画
像のシーケンスに使用する。エントロピー符号化は、信
号の統計的特性を利用して圧縮を達成し、理論的には無
損失である。
【0009】情報源符号化とエントロピー符号化の両方
を使用する符号化アルゴリズムが、CCITT専門家グ
ループによって提案されている。例えば、CCITTの
テレビ電話の符号化に関する専門家グループ第15−4
作業部会による「基準モデル8(RM8)の説明」("D
escription of Reference Model 8 (RM8)", Doc. No.52
5, CCITT SG XV Working Party XV-4, Specialist Grou
p on Coding for Visual Telephony, June, 1989)を参
照されたい。このCCITT方式では、動き予測付きハ
イブリッド変換/差分パルス符号変調(DPCM)を情
報源符号化に使用している。DPCMは、フレーム内符
号化には使用できない。エントロピー符号化の場合、1
次元可変長符号化および2次元可変長符号化の両方が使
用される。
【0010】CCITTシステムでは、マクロブロック
とサブブロックに分割される入力データを変換係数に変
換するために、N.アーメッド、T.ナタラジャン、お
よびK.R.ラオによって記述された離散コサイン変換
(DCT)を利用する("Discrete Cosine Transform",
IEEE Trans. Computer, Vol. C-23, pp90-93, Jan.19
74)。DCT変換は、現在のフレームデータのブロック
と予測フレーム(前のフレームの情報から得られる)の
対応ブロックの間の差分に対して実行される。映像ブロ
ックに動きが含まれていなかったり、予測値がぴったり
であった場合には、DCTへの入力は空白行列となる。
ゆっくり動く画像の場合、DCTへの入力行列は、多く
のゼロを含む。DCTの出力は、2次元周波数領域のエ
ネルギーを表わす係数の行列である。一般に、エネルギ
ーの大半は、低周波領域である行列の左上角部分に集中
する。係数をジグザグに走査すると、得られるシーケン
スは、特にシーケンスの終りの方は、長いゼロの列を含
むようになる。この圧縮アルゴリズムの主な目的の1つ
は、ゼロを形成し、これらを一つに結束することによっ
て能率的な符号化を達成することである。
【0011】能率を維持するために、量子化の前に係数
シーケンスに可変しきい値をも適用する。これは、ゼロ
の列が検出されたときにDCTしきい値を高くすること
によって達成される。DCT係数がしきい値以下であれ
ば、それをゼロにする。
【0012】変換の後、一様量子化器を使用する。量子
化器のステップサイズは、バッファの占有状態によって
示される伝送速度によって調整することができる。伝送
速度がその限界に達すると、ステップサイズが大きくな
るので、符号化しなければならない情報が少なくなる。
これが起きると、画像の品質が低下する。一方、画像の
品質は、伝送速度がその限界より低いときにはステップ
サイズを小さくすることによって改善される。
【0013】符号化の能率をさらに向上するために、量
子化したDCT係数のシーケンスに2次元可変長符号構
成を使用する。任意のシーケンスで、ゼロでない係数
(振幅)の値を1つの次元として定義し、その非ゼロ係
数の前にあるゼロの個数(ランレングス)をもう1つの
次元として定義する。また、振幅とランレングスの組合
せを「イベント」と定義する。
【0014】長さの短い符号は、より頻繁に発生するイ
ベントに割り当てられる。反対に、あまり発生しないイ
ベントには長い符号が割り当てられる。EOB(ブロッ
クの終り)マークは、シーケンスに非ゼロ係数がもう残
っていないことを示すのに使用される。
【0015】符号化係数値は、ブロック分類、量子化情
報、および差分動きベクトル等の様々な副情報と共に多
重化される。副情報の中には、可変長符号化されるもの
もある。結果として得られるビットストリームは、送信
のためにバッファに転送される。
【0016】受信機では、符号器と逆の演算を実行し、
変換係数を再生するために、可変長復号器が必要であ
る。復号器の構造は一般に復号器よりずっと簡単である
が、従来の復号器は、受信した符号語を送信機でそれを
導出するために使用された変換係数に戻すために必要な
符号表を格納するために、かなりの量の記憶装置を必要
とする。
【0017】可変長符号は、どの符号語も他の符号語の
語頭(prefix)でないことを前提にしている。これが入力
データストリームの一意の復号化可能性を保証する。圧
縮は、他よりずっと頻繁に発生するイベントに最も短い
符号語を割り当てるときに達成される。提案されたCC
ITTのビデオ符号化アルゴリズムでは、イベント振幅
の次元が256、ランレングスの次元が64である。こ
のようなシステムは、簡単な実現例でも16,000を
越すエントリをもつ可変長符号表が必要である。しか
し、エントリの99%以上は統計的に起こりそうにない
ので、これらは6ビットのエスケープ符号とそれに続く
14ビットの固定長フィールドによって表現できる。固
定長フィールドのうちの6ビットはランレングス用、8
ビットは振幅用である。その結果、可変長符号表は12
8エントリを含むだけとなり、処理がずっと簡単にな
る。実際、このような可変長符号の符号化および復号化
は、読出し専用メモリ(ROM)に格納されたルックア
ップテーブルを用いて達成することができる。
【0018】このような構成の復号化は、復号化する前
にまず可変長符号の長さを決定しなければならないため
に、幾分複雑になる。過去に可変長符号の復号化技術が
幾つ化提案されている。例えば、「長さ指示語頭を有す
る可変長符号を復号化する方法および装置」と題するコ
ックらの米国特許第3,701,111号、および「可
変長符号を復号化するための高速プログラム可能IC」
と題するM.T.スン、K.M.ヤン、およびK.H.
チョウの論文(Applications of Digital Image Proces
sing XII, Andrew Tescher, Ed., Proc. SPIE Vol. 11
53, Aug. 1989)を参照されたい。後者の論文は、超大
規模集積回路による可変長復号器の実現に、バレルシフ
タとプログラム可能論理配列(PLA)または内容アド
レス指定可能メモリ/ランダムアクセスメモリモジュー
ル(CAM/RAM)を使用する並列技法を提案してい
る。
【0019】
【発明が解決しようとする課題】先行技術で提案されて
いる復号器は、実時間デジタル映像圧縮の高速性のため
に、これまではソフトウェアシミュレーションで、また
は大量の個別ハードウェア部品を用いてしか実現できな
かった。実時間ビデオ速度で符号語を処理することので
きる可変長復号器があれば便利である。また、そのよう
な復号器を集積回路の形態で容易に実現することができ
れば、さらに便利である。その上に、そのような復号器
の消費電力が少なければ、さらに便利である。そのよう
な復号器は、低価格の高品位テレビ受信機などの消費者
向け製品に特に役立つ。
【0020】本発明は、上述およびその他の長所を備え
た可変長復号器を提供する。
【0021】
【課題を解決するための手段】本発明は、可変長符号語
を復号化し、変換係数を再生する装置を提供する。符号
語は、どの符号語も他の符号語の語頭ではないという性
質をもつ。本発明の装置によって処理される第1カテゴ
リーの符号語は、nビット以下の長さをもつ。nビット
を越す長さの第2カテゴリーの符号語も処理される。
【0022】この装置は、nビットのアドレスポートと
第1および第2の多数のアドレス指定可能な記憶場所と
をもつ記憶手段を有する。第1の多数のアドレス指定可
能な記憶場所には、様々な符号語の振幅、ランレングス
(runlength)、および第1制御データが含まれる。第2
の多数のアドレス指定可能な記憶場所には、第2カテゴ
リーの符号語の一部分のフィードバックデータおよび第
2制御データが含まれる。また、第1カテゴリーの符号
語をアドレスポートに入力して記憶場所をアドレス指定
することによって、第1カテゴリーの符号語を復号化
し、その振幅、ランレングス、および第1制御データを
出力する手段を含む。さらに、第2カテゴリーの符号語
の最初のnビット部分をアドレスポートに入力して記憶
場所をアドレス指定することによって、第2カテゴリー
の符号語を復号化し、そのフィードバックデータおよび
第2制御データを出力する手段を含む。
【0023】第2カテゴリーの符号語のその後の部分は
周期的的に、第2制御データに応答して、フィードバッ
クデータと共にアドレスポートに入力する。第2カテゴ
リーの符号語のその後の部分とフィードバックデータが
結合して、nビット以下のアドレスを提供し、記憶場所
をアドレス指定する。第2カテゴリーの符号語に少なく
とも1つの追加部分が残っていれば、このアドレスに応
答して、記憶手段は、次の入力サイクルで使用するため
のフィードバックデータおよび第2制御データを出力す
る。また、第2カテゴリーの符号語に追加部分が残って
いなければ、記憶手段は、その第2カテゴリーの符号語
の振幅、ランレングス、および第1制御データを出力す
る。振幅、ランレングス、および第1制御データが得ら
れない第2カテゴリーの符号語の各部分について、第2
制御データに応答して、ラン係数を出力する手段を含
む。
【0024】本発明の装置はさらに、連続クロックサイ
クルを確立するために、記憶手段ならびに第1および第
2カテゴリー符号語復号化手段にクロック信号を提供す
るように結合したクロック手段から成る。各クロックサ
イクル中に、(i)振幅、ランレングス、および振幅係
数を生成するための第1制御データ、または(ii)フィ
ードバックデータおよびラン係数を生成するための第2
制御データ、の少なくとも一方が前記記憶手段から出力
される。ラン係数は、例えば、ランレングスで示される
長さをもつゼロ係数のシーケンスに含まれるゼロを示す
データから成る。クロック手段を含むことにより、各ク
ロックサイクルで可変長符号語から1つの係数を生成す
ることが可能になる。
【0025】ここに示す実施例では、第2カテゴリー符
号語復号化手段は、第2制御データに応答して、符号語
をアドレスポート入力部に入力する代わりに、第2カテ
ゴリー符号語のフィードバックデータを所定の複数のア
ドレスポート入力部に入力するためのマルチプレクサ手
段から成る。残りの複数のアドレスポート入力部は、第
2カテゴリー符号語の対応部分を受け取る。フィードバ
ックデータは例えばn/2のビット長をもつことがで
き、その場合、第2カテゴリー符号語の対応部分は、n
/2以下のビット長をもつことになる。
【0026】装置はさらに、振幅およびランレングスの
データが記憶手段に含まれない特殊符号語を検出する手
段から成る。この検出手段に応答して、特殊符号語を復
号する手段も含む。例えば、特殊符号語は、符号語に対
応付けられたランレングスが無いことを示すために使用
することができる。また、受け取ったデータが符号化さ
れていないので、直接に再生することができないことを
示す場合にも、使用することができる。
【0027】図示する実施例で可変長復号器に設置する
記憶手段は、実質的に2×2n に等しい記憶容量を有す
る。また、フィードバックデータのビット長をn/2と
して、第2カテゴリーの符号語の後続部分はビット長
を、その符号語に残っている未処理のビット数かn/2
のどちらか小さい方とすることができる。
【0028】記憶手段は、第1ルックアップテーブルお
よび第2ルックアップテーブルとして構成することがで
きる。第1ルックアップテーブルは、第1カテゴリーの
符号語に対応する第1の多数のアドレス指定可能な記憶
場所、および第2カテゴリーの符号語の最初のnビット
に対応する第2の多数のアドレス指定可能な記憶場所を
含む。第2ルックアップテーブルは、第2カテゴリーの
符号語に対応する第1の複数のアドレス指定可能な記憶
場所、および第2カテゴリーの符号語の後続部分に対応
する第2の複数のアドレス指定可能な記憶場所を含む。
記憶手段は、nビットのアドレスポートでデータを第1
ルックアップテーブルまたは第2ルックアップテーブル
のいずれかに選択的に結合する制御ビットを入力する追
加アドレスポートを有することができる。好適実施例で
は、第1ルックアップテーブルおよび第2ルックアップ
テーブルがそれぞれ、実質的に2n 語の記憶容量をも
つ。
【0029】本発明の装置は、符号語を受け取るための
入力部をもつバレルシフタを含むことができる。バレル
シフタは、第1および第2制御データに含まれるシフト
長情報に応答して、nビットアドレスポートに符号語お
よびその一部分を出力する。シフト長情報は、1つの符
号語の復号化が完了したかどうかを示す。シフト長に応
答して、新しい符号語の復号化を開始する手段も含むこ
とができる。
【0030】図示する実施例では、符号語は、離散コサ
イン変換係数から導出されるハフマン符号語である。
【0031】本発明は、可変長符号語を復号化する際に
使用するフィードバック記憶装置も提供する。第1ルッ
クアップテーブルは、長さがnビット以下の第1符号
語、および長さがnビットを越える第2符号語の最初の
nビットまでの部分によって、アドレス指定することが
できる。第2ルックアップテーブルは、pビットのフィ
ードバックデータおよび第2符号語のmビット以下の部
分によって、アドレス指定することができる。ただし、
p+m≦nであり、mビット以下の部分は第2符号語の
最初のnビットの後に続く部分である。第1ルックアッ
プテーブルは、第1符号語の振幅およびランレングスの
データを含むと共に、第2符号語の最初のnビット以下
の部分のフィードバックデータをも含む。第2ルックア
ップテーブルは、第2符号語の最後のmビット以下の部
分の振幅およびランレングスのデータを含むと共に、第
2符号語の最初の部分と最後の部分の間に位置する任意
のmビット部分のフィードバックデータをも含む。記憶
装置はさらに、符号語およびフィードバックデータを入
力するためのnビットのアドレスポートから成る。ま
た、第1ルックアップテーブルまたは第2ルックアップ
テーブルをアドレス指定するために、アドレスポートを
選択的に結合する手段を含む。
【0032】本発明はさらに、ランレングスがゼロ(つ
まり非ゼロ振幅のみ)のイベントを表わす符号語を含
む、複数の連続可変長符号語を復号化する方法を提供す
る。nビットまでの長さの第1符号語は、1回のクロッ
クサイクルで復号化される。nビットより長い第2符号
語は、P回(複数)のクロックサイクルで復号化され
る。第2符号語は、少なくともP−1のランレングスを
有するイベントを表わす。ランレングスを含まない第3
符号語には、特殊エスケープ符号の語頭が含まれる。第
3符号語は、特殊エスケープ符号の語頭の検出に応答し
て、1回のクロックサイクルで復号化される。好適実施
例では、第1および第2符号語は、ルックアップテーブ
ルを用いて復号化され、対応する振幅およびランレング
スのデータを提供する。第3符号語は、前記ルックアッ
プテーブルを参照することなく、振幅データを直接出力
することによって復号化される。
【0033】
【実施例】本発明は、可変長符号語を復号化する装置を
提供する。本発明をハフマン符号語の復号化に関連して
説明するが、当業者は、ここに説明し請求の範囲に記載
する本発明を他の種類の可変長符号語の復号器に幅広く
適用できることを理解されよう。
【0034】量子化技術は、変換係数の振幅を減少する
ことによって画像の圧縮可能性を向上する。その結果を
利用するには、可変数のビットこれらの係数に割り当て
るアルゴリズムが必要である。可変長符号語アルゴリズ
ムは、統計的符号化技法から構成することができる。こ
れは、量子化プロセスとは異なり情報を保存する技法で
あり、画像を劣化することはない。
【0035】全ての可能なイベントの確率が予め分かれ
ば、ハフマン符号化は、理論的エントロピー限界に達す
ることのできる最適な統計的符号化法である。符号器は
そうした確率分布を生成し、それを任意のフレームの送
信前に復号器に送信することができる。その後、この表
は、比較的短い符号語を最高出現確率のイベントに割り
当てるハフマン符号を導出するのに使用される。復号器
は同一符号表を維持し、各符号語を実際のイベントと照
合することができる。本発明に関連して説明する実施例
では、ハードウェアの実現を簡単にするために、固定ハ
フマン表を用いる。ハフマン表は、幅広い処理ビデオ情
報に基づいて生成された。
【0036】ここで説明する本発明の実施例は、64個
の係数のシーケンスに直列化した8×8ブロックのDC
T係数を使用し、振幅/ランレングス符号化されたハフ
マン符号化を使用する。64個の係数のシーケンスを走
査し、係数が非ゼロ振幅に遭遇するたびにイベントが出
現するように定義する。次に、符号語を、その係数の振
幅およびそれに先行するゼロの個数を示すイベントに割
り当てる。先行ゼロの個数を「ランレングス」という。
図8は2次元の振幅/ランレングス配列を示しており、
ここで任意の振幅140(最高16)およびランレング
ス130(最高15)をもつ各符号語のビット長が識別
される。図8は、符号語にビット数を示す。振幅は、絶
対値でのみ与えられる。各符号語に含めなければならな
い正負符号ビットは、符号語長には追加されていない。
【0037】係数振幅が16を越えるか、ゼロのランレ
ングスが15を越える場合には、特殊符号語を用いて、
その後のビットを解釈するのに符号表を使用しないよう
に復号器に指示する。代わりに、ランレングスは符号化
されないまま送信される。係数振幅も符号化されずに送
信され、ビット数は先に述べた量子化プロセスによって
決定される。さらに、図8に示す2次元符号表を使用し
て符号かできる場合でも、振幅とランレングスを直接符
号化する方が、能率が高くなる場合がある。符号器はそ
のような場合を検出し、送信する符号語の長さを短縮す
るために必要ならば直接符号化に切り替える。直接符号
化された符号語は、復号器ではエスケープ符号語頭によ
って特殊符号語として識別される。これらの特殊符号語
は、符号表を参照することなく、直接復号化される。
【0038】特殊符号語は、ブロックの終りを示すため
にも割り当てられている。これは必ず、DCT係数のブ
ロックの最後の非ゼロ係数の後に挿入される。また、D
C係数は、スーパーブロック内で差分符号化された後で
ハフマン符号化される。スーパーブロックは、横方向に
4つの輝度ブロック×縦方向に2つの輝度ブロックのビ
デオ画像領域と定義され、その画像領域から導出される
UおよびVにそれぞれ1つのクロミナンスブロックが対
応付けられる。各々の輝度ブロックおよびクロミナンス
ブロックは、横8画素×縦8画素から成る画像領域であ
る。例えば、「DigiCipher−全デジタル式チャネル互換
性HDTV放送システム」と題するW.パイクの論文
IEEE Transactions of Broadcasting, Vol. 36, No.
4, December 1990)を参照されたい。この論文を引用に
よってここに組み込む。この方式は、マクロブロック
(つまり、横方向に8個のスーパーブロックから成る画
像領域)内のDC係数の高い相関関係を利用して、圧縮
能率をさらに高める。
【0039】符号化プロセスの能率は、DCT係数を走
査する順序によって大きく左右される。振幅の高いとこ
ろから低いところへ順番に走査することにより、係数ゼ
ロがが続くランの個数を一般に、ブロックの終りの長い
1回に減らすことができる。したがって、係数は最初に
DC係数から下降しながらジグザグ走査される。先に述
べたように、ブロックの終りの長いランは、ブロックの
終り符号語によって能率的に表わされる。
【0040】本発明では、ハフマン符号語を4つのタイ
プに区分する。第1のタイプは、1−16のDCT係数
振幅および0−15のランレングスをもち、22以下の
符号語長をもつ符号語である。第2のタイプの符号語
は、1−64のランレングスと17−256の範囲のD
CT振幅をもつものである。これらは図8の行列の範囲
外でも範囲内でもよいが、符号語長は23以上である。
第3のタイプのハフマン符号語は、ランレングスがゼロ
である以外は、第2のタイプと同じカテゴリーに入る。
第4のタイプのハフマン符号語は、ブロックの終り符号
語である。
【0041】図に示す特定の実施例におけるハフマン復
号器は、14.6MHzクロックの1サイクル68ナノ
秒間に15ビットの符号語1つを処理するように設計さ
れている。ランレングスがゼロの第1タイプのハフマン
符号語は、図8の第1列134から分かるように、全て
10ビット以下である。本発明は、これらの符号語およ
び10ビット以下のその他の符号語を中断することなく
処理することができる。ハフマン符号語が10ビットよ
り長い場合、本発明の装置は、そうした符号語が少なく
とも2つ以上のDCT係数を表現するように要求するこ
とによって、一定の係数の流れを中断することなく維持
する。ゼロ値の係数が先行せず、先に定義した最初のタ
イプの符号語のDCT振幅の範囲内に当てはまらないD
CT係数は、15ビットの最大符号長をもつ。これら
は、本発明によって1クロックサイクル68ナノ秒間に
復号化することもできる、ゼロランレングスの特殊符号
語である。
【0042】本発明によるハフマン復号器の簡略ブロッ
ク図を、図1に示す。ハフマン復号器10は、映像先入
れ先出し(FIFO)レジスタ12から符号語を受け取
る。映像FIFOレジスタは、符号語を8ビット符号語
バスでハフマン復号器10に出力する。ハフマン復号器
は、34ナノ秒のレートでデータを1度に8ビットづつ
クロッキングすることによって、68ナノ秒間に15ビ
ットの符号語を処理することができる。この“2×”ク
ロックにより、符号語が要求される処理速度で得られ、
しかもハフマン復号器への8ビットバスインタフェース
で、処理前に符号語を格納するために使用される符号語
インタフェースランダムアクセスメモリ(RAM)のコ
ストを節減することができる。29.3MHzで作動す
る2×クロックは、14.6MHzクロックに同期化さ
れ、符号語RAMのコストを約50%節減することがで
きる。14.6MHzクロック( "DATA CLK")および
29.3MHzクロック( "DATA 2X CLK")は、従来
のクロック回路14から出力される。
【0043】ハフマン復号器で生じた誤りが無制限に伝
播しないことを保証するために、復号器は同期化回路1
6によって各マクロブロックごとにリセットされる。マ
クロブロックリセット信号( "MB RESET")は、処理中
の映像信号の水平帰線消去期間中にハフマン復号器が作
動しないときに、同期化回路によって与えられる。これ
により、同期化回路は、順次アクセスメモリポートを次
のマクロブロックの最初の語にリセットし、量子化レベ
ルおよびPCMモードデータブロックに関する情報を提
供することができる。PCMモードデータブロックは、
差分符号化されないデータブロック(つまり、動き補償
が選択されないもの)である。静的アクセスメモリポー
トが使用可能状態になると、MB RESET信号が出力さ
れ、データが映像FIFOレジスタ12から読出し可能
な状態になったことをハフマン復号器に知らせる。同期
化回路16は、復号器がその内部レジスタをいったん空
にし充填するのに必要な時間だけ、ハフマン復号器を使
用可能状態にするのを遅らせなければならない。この時
間経過後に、同期化回路はハフマン復号器を作動可能状
態にし、逆変換回路18による逆DCT変換処理(ID
CT)のために、その出力ポートに有効なデータを出力
させることができる。スーパーブロックの通常の処理中
に、ハフマン復号器10は、次のスーパーブロックの量
子化情報およびPCMモード情報を含むデータをヘッダ
より受け取る。マクロブロックが終了すると、同期化回
路16はハフマン復号器を作動不能にし、マクロブロッ
ク同期化プロセスを再始動する。各ブロックの最初の係
数のときに、ハフマン復号器からのIDCT同期信号が
逆変換回路18に出力される。
【0044】ハフマン復号器で誤りが検出されると、同
期化回路16にハフマン誤り検出信号( "HUFF ERR")
が出力される。また、ライン同期信号( "LINE SYN
C")が同期化回路16からハフマン復号器へ出力され、
ヘッダ情報および14.6MHzクロックと同期化され
る。この信号は、ヘッダの最初のビットを読出し可能な
状態になったことをハフマン復号器に知らせるために使
用される。
【0045】ハフマン復号器10の目的は、符号器から
受信した可変長符号語を、映像データへの変換に必要な
DCT係数に変換することである。図2は、ハフマン復
号器のより詳細なブロック図である。図1に関連して述
べたように、ハフマン復号器は、映像データに変換すべ
きハフマン符号語を映像FIFOレジスタ12(例えば
VRAM)から入力する。符号語は、入力バレルシフタ
およびバッファ20(図2)に入力される。これについ
ては、以下で図3に関連して詳述する。入力バレルシフ
タの機能は、映像FIFOレジスタから可変長データを
受け取り、それを復号器ROM22のアドレスポートに
送り出すことである。ROMは、符号語の変換に必要な
全ての情報を含んでいる。データは必ずしもROMから
検索されるだけでなく、データストリームから直接抽出
されることもある。
【0046】ROMから読み出される現在の状態および
データに左右されるデータの選択は、主制御状態機械3
6によって制御される。大半の符号語の場合、データは
入力バレルシフタ20によって提供された語から1クロ
ックサイクルで復号化された後で、データマルチプレク
サ24からラッチされる。符号語が復号化されている期
間中に、前回のクロックサイクルでラッチされたデータ
が逆量子化バレルシフタ28を通過し、従来の変換回路
30によって符号絶対値から2の補数への変換が実行さ
れる。逆量子化バレルシフタ28は、データをそれが符
号化される前の等価絶対値に逆正規化するために用いら
れる。逆正規化の後、データは符号絶対値から2の補数
に変換される。その結果、回路30から得られる2の補
数データは3対1の出力マルチプレクサ32に入力さ
れ、ここで状態機械36によって制御され、ランレング
スゼロのデータか、回路30から受け取った正則ハフマ
ンデータか、あるいは逆量子化の前にバッファ26から
受け取ったPCMデータのいずれかを出力する。適切な
出力データはバッファ34に格納され、図1に示す逆D
CT回路18に出力される。
【0047】図3は、図2のハフマン復号器に使用され
る入力バレルシフタ20のブロック図である。8ビット
符号語データが、映像FIFOレジスタ12から「先取
り」回路40を介して入力される。先取り回路は、比較
的遅い映像FIFOから取り出された符号語データを格
納し、符号語クロック(CW CLK)の受取後ただちにバ
レルシフタに供給できるようにする。入力バレルシフタ
の機能は、映像FIFOレジスタから可変長符号語を受
取、状態機械で処理できるように整えられた形式で符号
語を出力することである。状態機械による処理を開始す
る前に、まず、バレルシフタのパイプラインを充填しな
ければならない。バレルシフタは、40ビット入力ラッ
チ42に40ビットのデータを取り込み、40×16ビ
ットのバレルシフタ44を用いて16ビットのデータを
選択する。バレルシフタ44は、1度に16ビットを状
態機械処理およびROMルックアップ回路46に出力す
る。バレルシフタは、1回のクロックサイクルで1ビッ
トないし40ビットの位置を桁移動(シフト)すること
ができる。
【0048】バレルシフタは、主に2つの機能のために
データを提供する。第1の機能は、符号語または符号語
の一部分の振幅、ランレングス、および第1制御デー
タ、またはフィードバックおよび第2制御データを出力
するために、データを送り出してROM22(図2)を
アドレス指定することである。ROM22は、状態機械
36と共に(図3では総称して状態機械処理およびRO
Mルックアップ46という)、次のハフマン復号器の機
能を決定し、シフト長をバレルシフタに返す。
【0049】バレルシフタの第2の機能は、データを直
接処理のために送り出すことである。特殊エスケープ符
号語頭によって識別されたデータや、PCMデータの場
合、バレルシフタからのデータは直接分離され、たとえ
それがROMから与えられたデータでなくてもそうであ
るかのように処理される。図4に示す1つのそうしたエ
スケープ符号語頭60は、図8の行列が予測されたビッ
ト数より大きくなる全てのイベントや、図8の振幅/ラ
ンレングス行列の範囲外の符号語に使用される。図に示
す実施例では、エスケープ符号語頭60は、長さが22
ビットを越える全ての図8のエントリに使用している
が、当業者は特定の実現例で、22ビットより大きい限
界でも小さい限界でも利用できることを理解されよう。
【0050】図5に示すエスケープ符号語頭70は、ラ
ンレングスが無い場合、つまり符号語データが連続非ゼ
ロ振幅を示す場合に使用する。そのような場合、ROM
22は符号語に関するデータを含まないので、符号語は
直接に処理しなければならない。ランレングスが無い場
合に特殊エスケープ符号語頭を使用することにより、1
0ビットより大きい符号語が存在する場合でもシステム
を遅滞させることなく、連続「振幅のみ」の符号語を1
サイクル当たり1符号語の率で処理することができる。
このようなエスケープ符号語頭を使用しなければ、余分
の処理サイクル中にランレングスに対応するゼロを出力
に利用することができないので、ROM22で1サイク
ルで処理できない符号語を、システムのスループット要
件を満たしながら処理することはできない。
【0051】状態機械処理およびROMルックアップ回
路46からのシフト長は、入力端子58を介してバレル
シフタに入力される。シフト長は、加算器54に渡され
る前に、4ビットラッチ52にラッチされる。加算器5
4への他の入力は、ラッチ50からの6ビット語から成
り、これは加算器54の出力からフィードバックされ
る。端子56に入力されるイネーブル信号は、ラッチ5
0および52を作動可能状態にする。このイネーブル信
号は、ハフマン復号器の動作のタイミングを与える単な
る14.6MHzのデータクロックとすることができ
る。
【0052】68ナノ秒の1クロックサイクルに等しい
時間内に16ビットのデータを処理するために、DATA
2XCLK(29.3MHz)が端子59に入力され、入力
ラッチ制御回路48をタイミング制御する。入力ラッチ
制御回路は、映像FIFOレジスタから符号語を取り出
すのに使用されるCW CLK信号を生成し、また先出し回
路40から40ビット入力ラッチ42に出力されるデー
タのタイミングを制御する。これを達成するために、入
力ラッチ制御回路48は、5回のトリガを用いて先出し
回路から1度に8ビットづつ桁移動し、ラッチ42に合
計で40ビットを充填する。
【0053】状態機械から入力バレルシフタに送られる
シフト長は、1−15ビットの範囲である。16ビット
(最大許容語長)の符号語長は4ビット語で符号化でき
ないので、加算器54は常に1ビット余計にシフトを追
加する。また、通常のハフマン処理中は、符号語の後に
必ず1符号ビットが続く。したがって、ハフマン符号語
の長さはROM22に格納され、バレルシフタを用い
て、符号ビットの後で増分される。符号ビットは、ラッ
チされた振幅の符号絶対値から2の補数への変換のため
に保存される。図2に示すように、保存された符号ビッ
トは、ライン31を介して変換器30に入力される。
【0054】本発明では、入力バレルシフタモジュール
で符号語またはその一部分を1クロックサイクルに1回
づつ処理することが重要である。これにより、復号器が
連続する各クロックサイクル中に少なくとも1つの振幅
データ、ランレングスデータ、およびラン係数(例えば
ゼロ)を出力でき、それによって各クロックサイクルで
可変長符号語から1つの係数が得られることが保証され
る。正規演算中に1回のクロックサイクル動作ごとに1
つの係数を得るために必要な論理経路は、事前に充填さ
れたROMを前提として、次のように表わすことができ
る。
【0055】Lat 6 + Adder + Barrel Shifter + Looku
p + ROM +Muxselectlogic+ Sllogic < 68 ns ここでMuxselectlogic(マルチプレクサ選択論理)と
は、状態機械36で出力マルチプレクサ32を制御する
部分を指し、Sllogic(SL論理)とは、状態機械論理で
ROM22またはエスケープ符号から決定されるシフト
長を出力する部分を指す。"Lat 6"はラッチ50、"Adde
r"は加算器54、"Barrel Shifter"はバレルシフタ4
4、"Lookup + ROM"はROM22からのデータルックア
ップを処理するために要する時間である。68nsとい
う時間要件は、14.6MHzクロックの期間によって
設定された。
【0056】本発明による復号器の重要な構成部品は、
ルックアップROM22である。ROMサブシステム
は、図6により詳細に示す。ROMの主機能は、ハフマ
ン符号語の復号化である。ROMは、特殊エスケープ符
号語頭に含まれる以外の符号語を復号化するために必要
な全ての情報を含んでいる。ROMの記憶場所に送られ
るデータは、図8に示すランレングス/振幅行列から導
出される。先に述べたように、この行列は映像の統計的
に選択された部分から生成される。この行列は、ハフマ
ン符号語のランレングスと振幅および選択された映像部
分における発現頻度に関連して、各ハフマン符号語に割
り当てられたビット数を示す。ROM22は、図8の行
列に指定された長さをもつハフマン符号語を復号化する
ように設計する。特に、図8に示すように10ビット以
下の長さのハフマン符号語は、ハフマン復号器を1回通
過することによって復号化される。10ビットを越え1
2ビット未満のビット長の符号語は、復号器を複数回通
過することによって復号化される。このような場合に
は、ROM22から出力されたデータがその後のサイク
ルでROMをアドレス指定するためにフィードバックさ
れ、1つの符号語が完全に復号化されるまでこれが繰り
返される。
【0057】ROMエントリの実際の作成は簡単なプロ
セスであり、ROMが復号化できる符号語の特定の集合
を選択することと、次に、選択された符号語に関連する
データを、選択された符号語のビットに対応するアドレ
スを有するROM記憶場所に入力することを含む。10
ビット以下の符号語の場合、符号語に対応するROMデ
ータは振幅、ランレングス、および対応付けられた制御
(例えばシフト長)データである。10ビットより長い
符号語の場合、ROMデータは、ROMの最後の通過を
除く全ての通過に使用されるフィードバックデータおよ
び対応付けられた制御データから成る。フィードバック
データは、符号語の後続部分と一緒に使用して、次のフ
ィードバックサイクルで別のROM場所を指定するとき
に使用するデータを格納するROM場所をアドレス指定
するか、またはそれ以上フィードバックサイクルが必要
なくなったときは、符号語の実際の振幅および残りのラ
ンレングスデータを格納するROM場所をアドレス指定
する。当業者は、選択された符号語の必要な振幅、ラン
レングス、フィードバックデータ、および制御データを
もつROMの実際のプログラミングは、比較的簡単なコ
ンピュータプログラムを用いて達成できることを理解さ
れるであろう。10ビット以下の符号語の場合、プログ
ラムは、その符号語の実際の振幅、ランレングス、およ
び制御データを出力するだけである。10ビットより長
い符号語の場合、プログラムは符号語を分析し、それを
10ビット以下の連続する部分に分解し、符号語の最後
の部分を除く全ての部分についてフィードバックデータ
および制御データを生成する。符号語の最後の部分につ
いては、プログラムはその符号語の実際の振幅、残りの
ランレングス、および最終制御データを生成する。
【0058】10ビットより長い符号語は、1以上のラ
ンレングスをもつイベントから始めなければならないと
いうことが重要である。その理由は、各クロックサイク
ルで1つの係数をハフマン符号器の出力部に生成しなけ
ればならないからである。符号語がゼロのランレングス
をもつイベントに対応付けられる場合、それは1回のく
ロックサイクルで符号化しなければならない。符号語が
1以上のランレングスに対応付けられる場合、最初の処
理サイクル中にゼロを出力に送ることができ、符号語の
残りは、さらに次の処理サイクルで処理することができ
る。
【0059】ハフマン復号器は、11ビット符号語を1
回のクロックサイクルで処理するために特殊ハードウェ
アを含むことができる。これを達成するには、11アド
レスビットのROMを使用しなければならない。そうし
たROMのサイズは2048語となる。特殊11ビット
語はROM内で、11ビットのハフマン符号語の各対に
対し最上位10ビット(MSB)によるフラグを立てら
れる。11ビット符号語の各対は、同一の10ビット語
頭をもつので、状態機械および制御論理はこれらの特殊
符号語を能率的に復号化することができる。これらの語
に対し、ROMは11のシフト長を含み、状態機械によ
って特殊処理が実行される。
【0060】符号語が特殊11ビット符号語の1つでは
なく、10ビットより長い場合、それが16ビット未満
であって、1以上のランレングスに対応付けられるとき
は、2回のROM参照で処理することができる。符号語
は、2回目の参照処理中にゼロの振幅をラッチすること
によって、データストリームを中断することなく処理す
ることができる。符号語が15ビットより長い場合に
は、それに対応付けられる少なくとも2のランレングス
をもたなければならない。2のランレングスにより、2
0ビットまでの符号語の操作が可能になる。16ビット
から20ビットまでの符号語は、ROMテーブルを3回
参照することで処理できる。3回目の参照により、16
ビットから20ビットの範囲の長さの符号語の探索は終
了する。このプロセスは、21ビットおよび22ビット
の長さの符号語の場合も同様である。これらの符号語は
4回参照を行い、対応付けられる少なくとも3回のゼロ
のランレングスをもたなければならない。全ての複数回
参照語では、ROMのシフト長フィールドは、シフト情
報、無効な符号語を指定する符号、または符号語を終了
するためにはさらに参照する必要があることを示す所定
の値(例えば15)だけを含む。図示する実施例では、
ビット長が22ビットを越える場合には、図4に示すエ
スケープ符号語頭60を使用する。これは、エスケープ
符号語の最大長(つまり、それに付加されたエスケープ
符号語頭)が23ビットであるためである。
【0061】ROM22は、最初の1024データ語を
最初の参照に使用するように区分される。次の1024
データ語は、後続参照に使用される。これを図6に、第
1ルックアップテーブル80と第2ルックアップテーブ
ル82として示す。図6の実施例では、出力ビット0−
3は振幅データ(RAD)に使用され、出力ビット4−
7はランレングスデータ(RRL)に使用され、出力ビ
ット8−11はシフト長および状態機械データ(RS
L)に使用される。各符号語の最初の参照では、データ
バス86によりバレルシフタから受け取った符号語の1
0ビットを用いて、10ビットアドレスポート84でR
OM22を直接アドレス指定する。後述するように、追
加ビットを受け入れるために、補助アドレスポート84
aを含む。符号語が10ビットより長く、特殊11ビッ
ト語ではない場合には、バレルシフタからさらに入力さ
れる新しい5ビットとROMからフィードバックされた
5ビットを結合して、端子90に入力するための新しい
アドレスが形成される。6番目の追加ビットを「連続」
ビットといい、これは端子92に入力される。これらの
6ビットは、振幅データフィールド(データビット0−
3)およびランレングスフィールド(データビット4お
よび5)のものである。ビット0−4は、第1クロック
でこれらをラッチし、次のクロック中にマルチプレクサ
88を用いてこれら多重化してROMのアドレスを指定
することによって、フィードバックされる。ビット0
は、ROMアドレスポートのビット5にフィードバック
され、ビット1はアドレスポートのビット6にフィード
バックされる。以下同様である。第6ビットの処理も同
様の方法で行われる。
【0062】先に述べたように、フィードバックビット
は、端子90を介してマルチプレクサ88に入力され
る。マルチプレクサ88の動作は次のように行われる。
各符号語の第1クロックサイクル中に、バレルシフタか
ら入力される符号語の実際の10ビットがアドレスポー
ト84に入力される。その後の符号語処理サイクルで
は、マルチプレクサ88は、バレルシフタからの符号語
データではなく、端子90からのフィードバックデータ
をアドレスポート入力部5−9に結合する。これらの後
続処理サイクル中、バレルシフタからの新しい符号語デ
ータは、アドレスポート入力部0−4だけに入力され
る。
【0063】データの伝送は、全てのPCMデータが最
上位ビット(MSB)から先に送信されるように実行さ
れる。符号語の伝送は、ハフマン符号語が最上位ビット
(MSB)から先に送信され、その後に符号語の残りが
続き、最後に符号ビットで終了するように実行される。
ROM22で処理される10ビットより長い符号語の場
合、ROMを複数回参照する必要があるが、ROMの出
力部から(あるいは別の実施例では状態機械から)の連
続ビットは、入力端子92を介してマルチプレクサ88
に入力される。連続ビットはマルチプレクサを作動さ
せ、実際の符号語データの代わりにフィードバックデー
タをROMのアドレスポートに結合する。連続ビットは
また、ROMのアドレスポート84aにも入力され、R
OMに符号語の初回の参照の後の全ての参照時に第1ル
ックアップテーブルではなく、第2ルックアップテーブ
ルで作業するように指示する。
【0064】ROMのシフト長フィールドは常に、対応
付けられた符号ビットを除くハフマン符号語の長さを含
む。処理する符号語がブロックの終り(EOB)の語で
ある場合、シフト長に“0”の値が挿入される。これ
は、状態機械にEOBを処理するように通知する。この
シフト長は、状態機械にEOB状態を通知するために使
用されるので、EOB符号語長を予め知っておかなけれ
ばならない。図示する実施例のEOB符号語の長さは3
ビットである。
【0065】処理する符号語が、図4に示すエスケープ
符号語頭60を含むものである場合には、ROMのシフ
ト長フィールド(RSL)から所定の値(例えば12)
が検出される。これは、状態機械にエスケープ符号1
(ESC−1)の符号語を処理するように通知する。こ
のシフト長は状態機械にESC−1の状態を通知するた
めに使用されるので、ESC−1符号語のエスケープ符
号語頭の長さを予め知っておかなければならない。図示
する実施例のエスケープ符号語頭の長さは8ビットであ
る。
【0066】処理する符号語が、図5に示すエスケープ
符号語頭70を含むものである場合、ROMのシフト長
フィールド(RSL)から所定の値(例えば13)が検
出される。これは、状態機械にエスケープ符号2(ES
C−2)の符号語を処理するように通知する。図示する
実施例では、ESC−2符号語のエスケープ符号語頭の
長さは6ビットである。
【0067】処理する符号語が特殊11ビット符号語の
1つである場合、ROMのシフト長フィールドから所定
の値(例えば11)が検出される。これは、状態機械に
特殊11ビット符号語を処理するように通知する。特殊
11ビット符号語のランレングスは予めゼロであること
が分かっているので、11ビット語の最下位ビット(L
SB)が何であるかによって、別の振幅をランレングス
フィールドに挿入し、マルチプレクサによって選択する
ことができる。
【0068】現在の処理サイクルで終了しない語のシフ
ト長フィールドも、所定の値(例えば15)に設定され
る。ROMのシフト長フィールドが別の所定の値に等し
ければ(例えば14)、誤って処理されるおそれのある
その他の全ての語が検出される。これは、状態機械に無
効の符号語がアクセスされたことを知らせる。
【0069】主制御状態機械36は、ハフマン復号器が
取る動作を制御する。状態機械をさらに詳しく示すブロ
ック図を図7に図示する。状態機械の主要構成部品は、
主制御モジュール110、画素カウンタ106、ブロッ
クカウンタ108、ヘッダ状態機械102、量子化論理
(QLOGIC)プロセッサ104、および一般に符号
122で示す状態機械出力制御論理である。
【0070】主制御モジュール110の機能は、状態機
械の例示状態の現在の状態を維持し、次のどの状態にな
るかを決定することである。制御論理は、状態機械の現
在の状態、ROMおよびカウンタから読み出されたデー
タ、同期化回路16(図1)および入力バレルシフタか
ら供給されるデータに基づいて決定される。同期化回路
からの全ての入力は14.6MHzクロックの立下りエ
ッジでラッチされる。状態は、主制御モジュール110
から出力される制御信号によってトリガされる。ROM
22の出力、または入力データの状態(つまり、それが
PCMかDPCMかということ)によって、主制御モジ
ュール内の状態機械は、進むべき次の状態を決定する。
主制御状態機械の次の状態は、現在の状態、カウンタか
ら読み出されるデータ、ROM22から読み出されるデ
ータ、およびバレルシフタ出力ポート100から受け取
る入力バレルシフタからのデータに基づいて決定され
る。主制御モジュール110は、マクロブロックのリセ
ットにより全てのカウンタを確実にリセットする。これ
はまた、画素カウンタ106を駆動するクロックを提供
する。主制御モジュールはさらに、ハフマン符号語およ
びエスケープ符号語に対応付けられたランレングスを処
理し、ランレングスカウンタの第6ビットを提供し、ハ
フマン復号器の出力論理部の大半を制御する。
【0071】ESC−1符号語は、2回のクロックサイ
クルで処理される。最初のクロックサイクルでは、状態
機械はESC−1符号語のエスケープ符号語頭を認識す
るだけであり、バレルシフタの8ビットをダンプする。
また、この最初のクロックサイクル中に、出力のための
パイプラインにゼロラン係数がラッチされる。これは、
各クロックサイクルで中断なく必ず係数を生成しなけれ
ばならないという要件があるためである。この要件は、
ESC−1符号語に対応付けられたゼロ振幅係数が必ず
あるという事実によって満たされる。2回目のクロック
サイクルの処理には、符号語の振幅およびランレングス
のフィールドの抽出が含まれる。当業者は、ESC−1
符号語の6ビットフィールドに挿入されたランレングス
がゼロの個数が、復号器によるESC−1符号語の処理
により自動的に1つのゼロ係数(ラン係数)が送り出さ
れるので、実際より1少なくなければならないことを理
解されよう。
【0072】図7に示すヘッダ状態機械102は、入力
直列データからヘッダデータを読み出す状態機械であ
る。ブロックの処理を開始する前に、各スーパーブロッ
クのヘッダ情報を伝送するために、同期化回路16(図
1)が必要である。したがって、各スーパーブロックの
直列ヘッダ情報が、前のスーパーブロックの処理中に出
力される。これにより、ヘッダデータが実際に必要にな
る前に入力されることが保証され、ハフマン復号器は使
用可能状態になったときに、入力データを連続処理する
ことができる。復号器はスーパーブロックの境界を内部
的に追跡して、ヘッダ情報の次のパケットをいつ使用し
始めるかを知る。
【0073】量子化レベルプロセッサ104は、復号化
されたデータの逆正規化を行う。これは、量子化レベル
バレルシフタ28(図2)に送られるシフト量を生成す
る。シフト長は、ヘッダ状態機械に格納された量子化レ
ベルと、処理される画素の位置の関数として生成され
る。画素位置は、画素カウンタ106によって生成され
る。ESC−1符号語の振幅の場合、画素位置は、画素
カウンタの現在値にESC−1符号語のランレングスフ
ィールドを加算することによって生成される。
【0074】画素カウンタは2つの主要な機能をもつ。
第1に、8×8ブロックでどの画素が処理されているか
を追跡する。この情報は、逆正規化を可能にするため
に、量子化レベルプロセッサ104によって要求され
る。第2に、画素カウンタはIDCT回路18を8×8
ブロックの最初の係数と同期化するために使用される。
【0075】ブロックカウンタ108は、次のスーパー
ブロックの処理に使用するためにヘッダ状態機械に格納
される新しい量子化レベル(QLEVEL)情報およびPCM
ブロック情報をラッチするのに用いられる。これはま
た、現在のブロックおよびヘッダ状態機械に格納された
PCMブロックの状態語によって、バレルシフタからP
CMデータを選択するのに使用される。
【0076】状態機械出力制御論理122は、入力バレ
ルシフタからの復号化された係数のデータ経路、および
ハフマン復号器のROM部を制御する。これはまた、主
制御モジュールの状態決定を制御するのにも使用され
る。状態機械出力制御論理は、ルックアップ論理11
2、シフト長論理114、量子化レベル遅延論理11
6、マルチプレクサ選択論理118、および誤り論理1
20を含む。これらの構成部品は、図2に示すハフマン
復号器の出力論理38の対応する構成部品を制御する。
【0077】誤り論理120は、発生する可能性のある
様々な誤りを検出する。ハフマン復号器は大量の圧縮情
報を処理し、それを拡張して非圧縮状態に戻す。したが
って、誤り検出はシステムの完全性を維持するために不
可欠である。誤り検出は、量子化レベルバレルシフタか
ら生成される誤りを、状態機械に内部的に出力される条
件と結合することによって、状態機械出力制御論理で生
成される。誤りを検出すると、誤り論理120がHUFF
ERR信号を出力し、映像は、その誤りが発生したマクロ
ブロックが完了するまで、誤りを含むスーパーブロック
のデータを保持する。同期化回路16(図1)は、各マ
クロブロックごとにMB RESET信号を出力することによ
ってハフマン復号器を各マクロブロックごとに再始動
し、誤りがこの境界を越えて伝播しないように保証す
る。
【0078】状態機械からバレルシフタに送られるシフ
ト長は、QLプロセッサ104から生成される現在のQL
EVELとROMシフト長の関数として計算される。処理中
の現在の符号語が、図8の行列の正則ハフマン符号語で
ある場合は、ROMシフト長は直接バレルシフタに送ら
れる。符号語が複数参照語の場合(つまり、10ビット
より長く、特殊11ビット符号語ではない場合)、図示
の実施例では4のシフト長がバレルシフタに送られる。
バレルシフタは4の値に1を加算するように設計されて
いるので、合計5ビットがシフトされる。この符号語
は、ROMのシフト長フィールドに15のシフト長を含
むことによって、複数回参照符号語として識別される。
符号語が追加参照を必要とする限り、15という値がR
OMシフト長フィールドから読み出され続ける。ROM
のシフト長フィールドから15でない値が読み出される
と、符号語は終了したとみなされる。複数回参照符号語
が終了すると、バレルシフタに送られるシフト長は、R
OMシフト長フィールドから読み出されたシフト長に、
その符号語の最初に参照した元の10ビットを考慮した
5の値を加算した値となる。
【0079】ROM22のために生成されるアドレス
は、ROM出力データとバレルシフタの出力の関数であ
る。本発明では、ROM22に必要な記憶容量は2*2
n 語だけである。ここで、nはROMの1回の通過で処
理できる最大ビット数(例えば10)である。nもま
た、ROMのアドレスポート84によって受け入れられ
るビット数に等しいことに注目されたい。したがって、
図示した実施例では、ROM22は2KのROMとな
る。
【0080】ハフマン符号語が複数回の参照符号語でな
い場合には、ROM22のために生成されるアドレスは
バレルシフタから提供される。ハフマン符号語が複数回
参照語である場合には、アドレスは、バレルシフタから
のデータとROMの出力からラッチされたデータの組合
せとなる。最初の参照時に、10ビットがROMをアド
レス指定する。アドレスポート84aに入力される連続
ビットはゼロとなる。ROMから出力される復号化され
た語が未終了の符号語であることを示した場合、バレル
シフタから5ビットをシフトし、バレルシフタからの新
しい10ビットアドレスの最下位5ビット(LSB)を
ROMの出力からの最下位5ビットと結合する。このと
き、マルチプレクサは前回のROM参照中にROMから
ラッチされた「フィードバック」ビットをアドレスポー
ト84のアドレス入力部5ないし9に適用するので、前
回の参照からの最下位5ビットはマルチプレクサ88に
入力され、無視される。同時に、アドレスポート84a
(およびマルチプレクサ88)に入力される連続ビット
は、1にセットされる。このプロセスは、1つの符号語
が終了するまで反復される。符号語が終了すると、RO
Mのシフト長フィールドに5を足した値が、バレルシフ
タに出力される。追加の5ビットは、マルチプレクサが
フィードバックビットをアドレスポート84のアドレス
入力5ないし9に入力したときに無視されたマルチプレ
クサ88の入力部の5ビットを考慮したものである。
【0081】図4および図5に示すエスケープ符号語頭
60および70を含む符号語の振幅データは、バレルシ
フタから直接引き出される。振幅データは最上位ビット
から先に送り出されるので、図2に示す量子化レベルバ
レルシフタ28を通過することなく、自動的に逆正規化
することができる。代わりに、ビットマスキングプロセ
スを使用する。振幅データは、量子化レベルプロセッサ
104によって生成される現在の量子化レベルによっ
て、最下位7ビットをマスキングすることによって得ら
れる。PCMデータは、バレルシフタから8ビットバス
タップ31を介して、ハフマン復号器の出力論理部38
に送られる。
【0082】本発明の新規ROMを用いてハフマン符号
語を復号化する幾つかの実施例を、図6に関連して図示
する。最初の例では、図8の行列に表わす10ビット未
満の符号語を復号化する。このような符号語は、ROM
を1回通過するだけで処理される。例えば、ランレング
スがゼロ、振幅が12の9ビット符号語を処理する場合
を考える。最初に、ROMの端子92で連続ビットがゼ
ロにセットされる。これは、第1ルックアップテーブル
80が使用されることを示す。マルチプレクサ88は、
バレルシフタからのデータビットをアドレスポート84
に直接連結するように設定される。バレルシフタからの
9ビット符号語は、アドレスポート84のアドレス入力
0ないし8に入力され、第1ルックアップテーブル80
の場所をアドレス指定する。ルックアップテーブルは、
4ビットの振幅データ、4ビットのランレングスデータ
(全部ゼロ、つまり0000)、および9ビットがバレ
ルシフタからシフトされたことを示す4ビットのシフト
長を出力する。ROM22から出力される振幅およびラ
ンレングスのデータは、ハフマン復号器(図2)の出力
論理38によって処理され、ハフマン符号語によって表
わされる変換係数を生成する。
【0083】次の例は、14ビットハフマン符号語の復
号化を説明する。符号語を受け取ると、最初の10ビッ
トがアドレスポート84のアドレス入力0ないし9に入
力される。これらの10ビットは、第1ルックアップテ
ーブル80の場所をアドレス指定し、15のシフト長を
出力する。15というシフト長の値は、この符号語に複
数回の参照が必要であることを状態機械に示す。状態機
械は、最初のクロックサイクル中にシフト長の15とい
う値を検出し、それに応答して、5のシフト長をバレル
シフタに出力する。同時に、主制御状態機械36が出力
マルチプレクサ制御信号をマルチプレクサ32(図2)
に出力し、マルチプレクサはそのサイクルにゼロラン係
数(例えば0000)を出力する。これにより、特定の
符号語を処理するのに2サイクル以上が必要な場合で
も、データクロックの各サイクルで1つの係数が復号器
から生成されることが可能になる。
【0084】状態機械から5のシフト長を受け取ると、
バレルシフタ20は符号語の次の5ビットをアドレスポ
ート84のアドレス入力0ないし4にロードする。同時
に、符号語処理の最初のサイクル中に第1ルックアップ
テーブル80から出力されたフィードバックデータが
(実際の振幅およびランレングスデータの代わりに)、
端子80にフィードバックされ、マルチプレクサ88を
介してアドレスポート84のアドレス入力5ないし9へ
入力される。マルチプレクサ88は、端子92の連続ビ
ットの表明に応答して、バレルシフタからのデータの代
わりにフィードバックデータをアドレスポート84に入
力する。連続ビットは、ROMルックアップテーブル8
0から出力されたビット、またはROMから出力された
シフト長値15に応答して状態機械から生成されたビッ
トのどちらかとすることができる。このとき、バレルシ
フタからの新しい4ビット(14ビット符号語の残りの
4ビット)とフィードバックされた5ビットが、ROM
の第2ルックアップテーブル82をアドレス指定する。
第2ルックアップテーブル82へのアクセスは、ROM
のアドレスポート84aへの連続ビットの入力によって
得られる。アドレスポート84に入力されるバレルシフ
タからの新しい4ビットとフィードバックの5ビット
が、ルックアップテーブル82の値を指定し、14ビッ
ト符号語の適切な振幅およびランレングスのデータを出
力させる。同時に、ROMは2から10の間の有効なシ
フト長を出力し、状態機械に、符号語の復号化が成功し
たので、システムをリセットして次の符号語の処理を開
始することができることを知らせる。
【0085】15ビットより長い符号語は、3回のサイ
クルで処理する。最初のサイクルでは、第1ルックアッ
プテーブル80から第2サイクルで使用するためのフィ
ードバックデータが得られる。第2サイクルでは、第2
ルックアップテーブル82から第3サイクルで使用する
ためのフィードバックデータが得られる。第3サイクル
ではルックアップテーブル82から符号語の実際の振幅
およびランレングスのデータが出力される。最初の2回
の各サイクル期間中に、状態機械はマルチプレクサ32
からゼロラン係数を出力し、データクロックの各サイク
ルで1つの係数を生成するという要件を満たす。
【0086】符号語の復号化動作を要約する流れ図を、
図9に示す。符号化プロセスはボックス150から始ま
り、ボックス152で新しい符号語の最初のNビットを
ROMアドレスポーに入力する。図示した実施例では、
N=10であるが、特定の復号化の実現によって、Nに
はどのような値でも選択できることを理解すべきであ
る。
【0087】符号語の最初の10ビットに応答して、図
示した実施例の復号器は、第1ルックアップテーブル8
0からシフト長データを含むデータを出力する。符号語
が10ビット以下ならば、第1ルックアップテーブルか
ら出力されるシフト長(SHIFTLEN)は、2から10の範
囲である。この場合、第1ルックアップテーブルは、ボ
ックス156に示すように、符号語の実際の振幅および
ランレングスのデータを出力し、復号器はボックス15
8に示すように、次の符号語を処理することが可能な状
態になる。その後、次の符号語を復号化するための制御
がボックス152に返される。
【0088】第1ルックアップテーブルから出力される
SHIFTLENが2から10の範囲内でない場合には、SHIFTL
ENが15か否かの判定がボックス160で行われる。1
5というシフト長は、符号語が10ビットより長く、R
OMの通過を少なくとも1回追加しなければならないこ
とを示す。これが出現すると、ボックス168で連続ビ
ットが1にセットされる。これは、ROMに第2ルック
アップテーブル82を使用しなければならないことを知
らせ、フィードバックデータをアドレスポート84のア
ドレス入力5ないし9に入力するようにマルチプレクサ
88を設定する。次に、ボックス170で、アドレスポ
ート84のアドレス入力0ないし4に新しいデータの次
の5ビットを入力するために必要な量だけ、バレルシフ
タがシフトする。これを達成するために、バレルシフタ
は、ROMの2回目の通過時に5ビットだけシフトし、
その後の通過ごとに5ビットづつシフトする。ボックス
172では、最後の通過中にROMから出力されるフィ
ードバックデータが、マルチプレクサ88を介してRO
Mアドレスポートに入力される。バレルシフタからのこ
の新しい入力データとROMからのフィードバックデー
タは、ROM22の新しい記憶場所をアドレス指定し、
その結果ROMから出力されるデータは、新しいシフト
長を含む。同時に、ボックス180で示すように、状態
機械に応答してマルチプレクサ32からゼロラン係数が
出力される。次にこのルーチンは、ボックス160にル
ープバックされる。
【0089】ボックス160は再び、シフト長が15か
否かを判定し、そうであれば、その後シフト長が15で
なくなるまで、ROMの通過が繰り返される。このと
き、ボックス162はシフト長が11か否かを判定す
る。そうであれば、符号語はROMの外部で処理するこ
とのできる特殊11ビット符号語の1つである。そのよ
うな処理は、ボックス174で行われる。
【0090】シフト長が11でなければ、ボックス16
4でシフト長が12か否かの判定が行われる。そうであ
れば、その符号語がESC−1符号語であることを意味
し、これはボックス176で処理される。シフト長が1
2でなければ、ボックス166でシフト長が13か否か
の判定が行われる。そうであれば、その符号語がESC
−2符号語であることを意味し、これはボックス178
で処理される。
【0091】シフト長が11、12、13、または15
でない場合には、ボックス154でシフト長が2から1
0の範囲内であるか否かの判定が行われる。これは、そ
の符号語が復号化に成功したことを示す。そうであれ
ば、復号化されたデータがボックス156に出力され、
ボックス158で次の符号語の処理が開始される。
【0092】ここで、本発明は可変長符号語を復号化し
て変換係数を再生する復号器を提供するものであること
を理解すべきである。小規模(例えば1K)ルックアッ
プテーブルで受け入れられる長さより長い符号語を処理
するために、フィードバックを利用することによって、
小規模ROMを使用することが可能になる。符号語が所
定ビット数より短ければ、1クロックサイクルで復号化
される。符号語が所定ビット数より長ければ、2回以上
のクロックサイクルで復号化される。符号語を復号化す
るために必要な追加のクロックサイクルごとに、ゼロと
なるラン係数が出力されるので、1クロックサイクルに
1係数が生成される。これにより、復号器は実時間映像
速度で符号語を処理することができる。
【0093】本発明を特定の実施例に関連して説明した
が、当業者は、特許請求の範囲に記載した本発明の範囲
および思想から逸脱することなく、様々な適応例や変化
例を実現できることを理解されよう。
【図面の簡単な説明】
【図1】本発明に係る可変長(ハフマン)復号器を実現
したHDTV受信機のブロック図である。
【図2】図1のハフマン復号器をより詳細に示すブロッ
ク図である。
【図3】図2の入力バレルシフタおよびバッファサブシ
ステムの詳細ブロック図である。
【図4】符号語のビット長が22ビットを越す場合に使
用する第1特殊符号語(エスケープ符号)のフォーマッ
トを示す。
【図5】連続する符号語間のランレングスがゼロの場合
に使用する別のエスケープ符号のフォーマットを示す。
【図6】図2の復号器に示される読出し専用メモリ(R
OM)をより詳細に示すブロック図である。
【図7】図2に示す復号器の主制御状態機械サブシステ
ムの詳細ブロック図である。
【図8】符号語のランレングスが15以下、振幅が16
以下の場合の各符号語の長さをビット単位で表わした行
列である。
【図9】本発明に係る符号語の復号化を示す流れ図であ
る。
【符号の説明】
10 復号化装置 12 映像FIFOレジスタ 14 クロック回路 16 同期化回路 22 フィードバックROM 80 ルックアップテーブル
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年8月9日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
フロントページの続き (72)発明者 ポール・モロニー アメリカ合衆国カリフォルニア州オリベン ハイン、ウエスタン・スプリングス・ロー ド3411 (72)発明者 エドワード・エイ・クラウス アメリカ合衆国カリフォルニア州サン・デ ィエゴ、アリアン・ドライブ2720−32 (72)発明者 ポール・シェン アメリカ合衆国カリフォルニア州サン・デ ィエゴ、アダーマン・アベニュー10868− 167 (72)発明者 ウー・エイチ・パイク アメリカ合衆国カリフォルニア州エンシニ タス、フォーチュナ・ランチ・ロード3470

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 どの符号語も他の符号語の語頭ではな
    く、第1カテゴリーの前記符号語の長さはnビット以下
    であり、第2カテゴリーの前記符号語の長さはnビット
    より長いという性質をもつ可変長符号語を復号化して変
    換係数を再生する装置であって、 nビットのアドレスポート、 様々な符号語の振幅、ランレングス、および第1制御デ
    ータを含む第1の多数のアドレス指定可能な記憶場所、
    および前記第2カテゴリーの符号語の一部分のフィード
    バックデータと第2制御データを含む第2の多数のアド
    レス指定可能な記憶場所、を有する記憶手段と、 振幅、ランレングス、および第1制御データを出力する
    ために、前記アドレスポートに符号語を入力して前記記
    憶場所をアドレス指定することによって、前記第1カテ
    ゴリーの符号語を復号化する手段と、 第2カテゴリーの符号語の最初のnビット部分を前記ア
    ドレスポートに入力して前記記憶場所をアドレス指定す
    ることによって、そのフィードバックデータおよび第2
    制御データを出力し、かつ前記第2制御データに応答し
    て、前記第2カテゴリーの符号語の次の部分を前記フィ
    ードバックデータと一緒に前記アドレスポートに周期的
    に入力し、前記次の部分とフィードバックデータが一緒
    になって得られるnビット以下のアドレスで前記記憶場
    所を指定して、 (i)前記第2カテゴリー符号語に少なくとも1つの追
    加部分が残っている場合には、次の周期的な入力時に使
    用するフィードバックデータおよび第2制御データを出
    力し、 (ii)追加部分が残っていない場合には、前記第2カテ
    ゴリー符号語の振幅、ランレングス、および第1制御デ
    ータを出力する、ことによって、前記第2カテゴリーの
    符号語を復号化する手段と、 前記第2制御データに応答して、振幅、ランレングス、
    および第1制御データが出力されない前記第2カテゴリ
    ーの符号語の各部分に対しラン係数を出力する手段と、
    から成る装置。
  2. 【請求項2】 さらに、連続クロックサイクルを確立す
    るための、前記記憶手段および前記第1および第2カテ
    ゴリー符号語復号化手段にクロック信号を提供するため
    にクロック手段に連結された手段を含み、 前記クロックサイクルの間に、 (i)振幅係数を生成するために振幅、ランレングス、
    および第1制御データ、または (ii)ラン係数を生成するためにフィードバックデータ
    および第2制御データ、の少なくともいずれか一方を前
    記記憶手段から出力し、 それによって、各クロックサイクルで可変長符号語から
    係数が生成されるようにしたことを特徴とする、請求項
    1記載の装置。
  3. 【請求項3】 前記第2カテゴリー符号語復号化手段
    が、 前記第2制御データに応答して、事前設定した多数のア
    ドレスポート入力部に符号語データを入力する代わりに
    第2カテゴリー符号語に対するフィードバックデータを
    入力し、残りの多数のアドレスポート入力部には第2カ
    テゴリー符号語の対応部分を入力するマルチプレクサ手
    段、から成ることを特徴とする、請求項1または2記載
    の装置。
  4. 【請求項4】 前記フィードバックデータがn/2のビ
    ット長をもち、第2カテゴリー符号語の前記対応部分が
    n/2以下のビット長をもつことを特徴とする、請求項
    3記載の装置。
  5. 【請求項5】 さらに、 前記記憶手段に振幅およびランレングスデータが含まれ
    ていない特殊符号語を検出する手段と、 前記検出手段に応答して前記特殊符号語を復号化する手
    段と、を含むことを特徴とする、請求項1ないし4のい
    ずれかに記載の装置。
  6. 【請求項6】 前記記憶手段が実質的に2×2n に等
    しい記憶容量を有することを特徴とする、請求項1ない
    し5のいずれかに記載の装置。
  7. 【請求項7】 前記第2カテゴリー符号語の前記次の
    部分が、その符号語の残りの未処理ビット数またはn/
    2のいずれか短い方であることを特徴とする、請求項1
    ないし6のいずれかに記載の装置。
  8. 【請求項8】 前記記憶手段が第1ルックアップテー
    ブルおよび第2ルックアップテーブルとして構成され、
    前記第1ルックアップテーブルが、 前記第1カテゴリー符号語に対応する第1の多数のアド
    レス指定可能な記憶場所と、 前記第2カテゴリー符号語の最初のnビットに対応する
    第2の多数のアドレス指定可能な記憶場所と、を含み、
    前記第2ルックアップテーブルが、 前記第2カテゴリー符号語に対応する第1の多数のアド
    レス指定可能な記憶場所と、 前記第2カテゴリー符号語のその後の部分に対応する第
    2の多数のアドレス指定可能な記憶場所と、を有する、
    ことを特徴とする、請求項1ないし7のいずれかに記載
    の装置。
  9. 【請求項9】 前記記憶手段が、前記第1ルックアップ
    テーブルまたは前記第2ルックアップテーブルのいずれ
    かをアドレス指定するために、前記nビットのアドレス
    ポートでデータを選択的に結合する制御ビットを受け取
    るための追加アドレスポートから成ることを特徴とす
    る、請求項8記載の装置。
  10. 【請求項10】 前記第1および第2ルックアップテー
    ブルがそれぞれ、実質的に2n 語の記憶容量を有するこ
    とを特徴とする、請求項9記載の装置。
  11. 【請求項11】 さらにバレルシフタを含み、当該バレ
    ルシフタが、 前記符号語を受け取るための入力部と、 前記第1制御データおよび前記第2制御データから導出
    されたシフト長情報に応答して、符号語およびその一部
    分を前記nビットアドレスポートに出力する手段と、を
    有することを特徴とする、請求項1ないし10のいずれ
    かに記載の装置。
  12. 【請求項12】 前記シフト長情報が1つの符号語の復
    号化が完了したか否かを示し、前記装置がさらに、 前記シフト長情報に応答して新しい符号語の復号化を開
    始する手段から含むことを特徴とする、請求項11記載
    の装置。
  13. 【請求項13】 前記符号語が離散コサイン変換係数か
    ら導出されるハフマン符号語であることを特徴とする、
    請求項1ないし12のいずれかに記載の装置。
  14. 【請求項14】 可変長符号語の復号化に使用するフィ
    ードバック記憶装置であって、 nビット以下の長さの第1符号語またはnビットを越す
    長さの第2符号語の最初のnビットまでの部分によって
    アドレス指定可能な第1ルックアップテーブルと、 p+m≦nであり、第2符号語のmビット以下の部分が
    前記第2符号語の最初のnビット部分の後に続く場合
    で、pビットのフィードバックデータと第2符号語のm
    ビット以下の部分の組合せによってアドレス指定可能な
    第2ルックアップテーブルと、から成り、 前記第1ルックアップテーブルが、 前記第1符号語に対応する振幅およびランレングスデー
    タと、 前記第2符号語の最初のnビット以下の部分に対応する
    フィードバックデータと、を含み、 前記第2ルックアップテーブルが、 前記第2符号語の最後のmビット以下の部分に対応する
    振幅およびランレングスデータと、 前記第2符号語の前記最初の部分と最後の部分の間に存
    在するmビット部分に対応するフィードバックデータ
    と、を含む、ことを特徴とするフィードバック記憶装
    置。
  15. 【請求項15】 さらに、 符号語およびフィードバックデータを受け取るためのn
    ビットのアドレスポートと、 前記第1ルックアップテーブルまたは前記第2ルックア
    ップテーブルをアドレス指定するために、前記アドレス
    ポートを選択的に結合する手段と、を含むことを特徴と
    する、請求項14記載の記憶装置。
  16. 【請求項16】 ランレングスがゼロのイベントを表
    わす符号語を含め、多数の連続可変長符号語を復号化す
    る方法であって、 長さがnビット以下の第1符号語を1回のクロックサイ
    クルで復号化する段階と、 長さがnビットを越え、少なくともP−1のランレング
    スをもつイベントを表わす第2複合語をP回という複数
    回のクロックサイクルで復号化する段階と、 特殊エスケープ符号によりランレングスがゼロのイベン
    トを表現する第3符号語を識別する段階と、 前記特殊エスケープ符号の検出に応答して、前記第3符
    号語を1回のクロックサイクルで復号化する段階と、か
    ら成る方法。
  17. 【請求項17】 ルックアップテーブルを利用して前記
    第1および第2符号語が、対応する振幅およびランレン
    グスデータを出力するために、複号化され、前記ルック
    アップテーブルを参照せず、振幅データを直接出力する
    ことによって前記第3符号語が復号化されること、を特
    徴とする、請求項16記載の方法。
JP5121857A 1992-03-26 1993-03-26 デジタル通信システム用の可変長符号語復号器 Expired - Lifetime JP2511788B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US858101 1986-05-06
US07/858,101 US5233348A (en) 1992-03-26 1992-03-26 Variable length code word decoder for use in digital communication systems

Publications (2)

Publication Number Publication Date
JPH06104768A true JPH06104768A (ja) 1994-04-15
JP2511788B2 JP2511788B2 (ja) 1996-07-03

Family

ID=25327482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5121857A Expired - Lifetime JP2511788B2 (ja) 1992-03-26 1993-03-26 デジタル通信システム用の可変長符号語復号器

Country Status (7)

Country Link
US (1) US5233348A (ja)
EP (1) EP0562419B1 (ja)
JP (1) JP2511788B2 (ja)
KR (1) KR100188427B1 (ja)
AU (1) AU654929B2 (ja)
CA (1) CA2091815C (ja)
DE (1) DE69333714T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961474B1 (en) 1998-02-27 2005-11-01 Shikino High-Tech Co., Ltd. Huffman encoder for encoding/decoding DCT coefficients
KR100565571B1 (ko) * 1999-02-10 2006-03-29 엘지전자 주식회사 디지털 티브이의 캡션 정보 처리 장치
JP2016512004A (ja) * 2013-03-01 2016-04-21 グルロジック マイクロシステムズ オーワイGurulogic Microsystems Oy データエンコーダ、データデコーダ及び方法

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
EP1331825A3 (en) * 1991-04-10 2005-10-19 Mitsubishi Denki Kabushiki Kaisha Encoder and Decoder
US6167539A (en) * 1991-11-14 2000-12-26 Canon Kabushiki Kaisha Transmitting apparatus with code formation based on detected transmission channel data
US5422641A (en) * 1991-12-09 1995-06-06 Matsushita Electric Industrial Co., Ltd. Digital modulator and demodulator circuit
US5339077A (en) * 1992-08-18 1994-08-16 Idaho Research Foundation, Inc. Comma code generator
US5657423A (en) * 1993-02-22 1997-08-12 Texas Instruments Incorporated Hardware filter circuit and address circuitry for MPEG encoded data
US5493689A (en) * 1993-03-01 1996-02-20 International Business Machines Corporation System for configuring an event driven interface including control blocks defining good loop locations in a memory which represent detection of a characteristic pattern
US5446916A (en) * 1993-03-26 1995-08-29 Gi Corporation Variable length codeword packer
KR950010425B1 (ko) * 1993-09-11 1995-09-16 국방과학연구소 코드분류에 의한 병렬처리 가변장 부호 복호기
US5488366A (en) * 1993-10-12 1996-01-30 Industrial Technology Research Institute Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
JP2902284B2 (ja) * 1993-11-12 1999-06-07 ケイディディ株式会社 動画像の符号化装置
KR0155784B1 (ko) * 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
EP0665653B1 (en) * 1994-01-28 2001-12-05 Matsushita Electric Industrial Co., Ltd. Apparatus and method for decoding variable-length code
KR0152032B1 (ko) * 1994-05-06 1998-10-15 김광호 영상신호를 위한 가변장복호기
US5502493A (en) * 1994-05-19 1996-03-26 Matsushita Electric Corporation Of America Variable length data decoder for use with MPEG encoded video data
JP2604546B2 (ja) * 1994-05-19 1997-04-30 日本電気アイシーマイコンシステム株式会社 可変長符号の復号化処理装置
FR2722041B1 (fr) * 1994-06-30 1998-01-02 Samsung Electronics Co Ltd Decodeur de huffman
KR0134299B1 (ko) * 1994-07-11 1998-04-29 김광호 가변장디코딩장치의 동기 복원방법 및 장치
US5719961A (en) * 1994-07-22 1998-02-17 Apple Computer, Inc. Adaptive technique for encoder and decoder signal transformation
US5703793A (en) * 1994-07-29 1997-12-30 Discovision Associates Video decompression
US5566089A (en) 1994-10-26 1996-10-15 General Instrument Corporation Of Delaware Syntax parser for a video decompression processor
NL1001171C2 (nl) * 1995-09-11 1997-03-13 United Microelectronics Corp Een codetabelreductie-inrichting voor variabele lengtedecoder.
US5767799A (en) * 1995-12-05 1998-06-16 Mitsubishi Semiconductor America, Inc. Low power high speed MPEG video variable length decoder
US5657016A (en) * 1995-12-28 1997-08-12 Philips Electronics North America Corporation Variable length decoder with one of N length indicator
KR100192269B1 (ko) * 1996-03-25 1999-06-15 구자홍 가변길이 코드 디코더
US6215821B1 (en) * 1996-08-07 2001-04-10 Lucent Technologies, Inc. Communication system using an intersource coding technique
US6011498A (en) * 1996-12-20 2000-01-04 Philips Electronics North America Corporation Dual-speed variable length decoding architecture for MPEG-2 video data
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6195674B1 (en) 1997-04-30 2001-02-27 Canon Kabushiki Kaisha Fast DCT apparatus
US6259456B1 (en) 1997-04-30 2001-07-10 Canon Kabushiki Kaisha Data normalization techniques
WO1999035749A2 (en) * 1997-12-30 1999-07-15 Koninklijke Philips Electronics N.V. Reception of variable and run-length encoded data
US6298087B1 (en) 1998-08-31 2001-10-02 Sony Corporation System and method for decoding a variable length code digital signal
US6215424B1 (en) * 1998-12-16 2001-04-10 Thomson Licensing S.A. System for variable length codeword processing suitable for video and other applications
KR20010058369A (ko) * 1999-12-27 2001-07-05 구자홍 코드길이에 따른 허프만 코드 복호장치 및 방법
US7110466B1 (en) * 2000-06-05 2006-09-19 Lucent Technologies Inc. Variable rate message coding
US6731686B1 (en) * 2000-05-31 2004-05-04 Sun Microsystems, Inc. Apparatus and method for pipelining variable length decode and inverse quantization operations in a hybrid motion-compensated and transform coded video decoder
KR100992246B1 (ko) * 2001-11-22 2010-11-05 파나소닉 주식회사 부호화 방법 및 부호화 장치
US6933865B1 (en) * 2004-01-29 2005-08-23 Seagate Technology Llc Method and apparatus for coded symbol stuffing in recording systems
US7415161B2 (en) * 2004-03-25 2008-08-19 Faraday Technology Corp. Method and related processing circuits for reducing memory accessing while performing de/compressing of multimedia files
US8620644B2 (en) * 2005-10-26 2013-12-31 Qualcomm Incorporated Encoder-assisted frame loss concealment techniques for audio coding
FR2895602B1 (fr) * 2005-12-22 2008-03-07 Assistance Tech Et Etude De Ma Dispositif et procede d'encodage de type cabac
US20070202843A1 (en) * 2006-02-15 2007-08-30 Samsung Elctronics Co., Ltd. Method and system for data partitioning and encoding for transmission of uncompressed video over wireless communication channels
US8665967B2 (en) * 2006-02-15 2014-03-04 Samsung Electronics Co., Ltd. Method and system for bit reorganization and packetization of uncompressed video for transmission over wireless communication channels
US20070230461A1 (en) * 2006-03-29 2007-10-04 Samsung Electronics Co., Ltd. Method and system for video data packetization for transmission over wireless channels
US7840726B2 (en) * 2006-04-12 2010-11-23 Dell Products L.P. System and method for identifying and transferring serial data to a programmable logic device
US8175041B2 (en) * 2006-12-14 2012-05-08 Samsung Electronics Co., Ltd. System and method for wireless communication of audiovisual data having data size adaptation
US8176524B2 (en) * 2008-04-22 2012-05-08 Samsung Electronics Co., Ltd. System and method for wireless communication of video data having partial data compression
US8724913B2 (en) 2012-07-19 2014-05-13 Omnivision Technologies, Inc. Decoder and method for decoding run-length-encoded data
US20160044339A1 (en) * 2014-08-07 2016-02-11 Qualcomm Incorporated System and method for reordering of prefixes and suffixes in variable length coding to increase throughput
US10997112B2 (en) * 2019-10-02 2021-05-04 International Business Machines Corporation Link interface
US11734105B2 (en) 2020-07-06 2023-08-22 International Business Machines Corporation Efficient error reporting in a link interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0437316A (ja) * 1990-06-01 1992-02-07 Matsushita Electric Works Ltd 可変長符号復号化装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US3883847A (en) * 1974-03-28 1975-05-13 Bell Telephone Labor Inc Uniform decoding of minimum-redundancy codes
US4725815A (en) * 1984-01-16 1988-02-16 International Business Machines Corporation Method for encoding and decoding a digital image
JPH03145223A (ja) * 1989-10-30 1991-06-20 Toshiba Corp 可変長符号復調装置
EP0442548B1 (fr) * 1990-01-30 1995-08-02 Laboratoires D'electronique Philips S.A.S. Dispositifs de codage et de décodage à longueur variable de signaux numériques
JPH04107013A (ja) * 1990-08-28 1992-04-08 Ricoh Co Ltd 可変長符号の符号化回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0437316A (ja) * 1990-06-01 1992-02-07 Matsushita Electric Works Ltd 可変長符号復号化装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961474B1 (en) 1998-02-27 2005-11-01 Shikino High-Tech Co., Ltd. Huffman encoder for encoding/decoding DCT coefficients
KR100565571B1 (ko) * 1999-02-10 2006-03-29 엘지전자 주식회사 디지털 티브이의 캡션 정보 처리 장치
JP2016512004A (ja) * 2013-03-01 2016-04-21 グルロジック マイクロシステムズ オーワイGurulogic Microsystems Oy データエンコーダ、データデコーダ及び方法

Also Published As

Publication number Publication date
CA2091815A1 (en) 1993-09-27
KR100188427B1 (ko) 1999-06-01
US5233348A (en) 1993-08-03
AU654929B2 (en) 1994-11-24
KR930020997A (ko) 1993-10-20
JP2511788B2 (ja) 1996-07-03
DE69333714T2 (de) 2005-12-01
EP0562419B1 (en) 2004-12-01
CA2091815C (en) 2000-05-23
EP0562419A2 (en) 1993-09-29
AU3403393A (en) 1993-09-30
DE69333714D1 (de) 2005-01-05
EP0562419A3 (en) 1994-06-22

Similar Documents

Publication Publication Date Title
JP2511788B2 (ja) デジタル通信システム用の可変長符号語復号器
US5136371A (en) Digital image coding using random scanning
EP0562420B1 (en) Method and apparatus for vector coding of video transform coefficients
US5057917A (en) Real-time data compression of broadcast video signals
US5640420A (en) Variable length coder using two VLC tables
RU2128405C1 (ru) Устройство кодирования видеосигнала, представляющего изображения, приемник телевизионного сигнала, включающего данные заголовков и полезные данные в виде сжатых видеоданных
JP2630809B2 (ja) ビデオ画像伝送システム
US5774594A (en) Signal compression device
US7085424B2 (en) Method and system for compressing motion image information
US6912318B2 (en) Method and system for compressing motion image information
KR0180169B1 (ko) 가변길이 부호기
JPH104550A (ja) Mpeg−2復号方法及びmpeg−2ビデオ復号器
US5574449A (en) Signal processing with hybrid variable-length and entropy encodidng
EP0745289A1 (en) Syntax-based arithmetic coding for low bit rate videophone
JPH08111867A (ja) 動画像符号化方法及び動画像復号方法
JP2000125297A (ja) 連続画像の符号化方法及び復号化方法
US5767799A (en) Low power high speed MPEG video variable length decoder
EP0519995B1 (en) Digital image processing including block edges filtering
US5742342A (en) Apparatus for encoding an image signal using vector quantization technique
EP2054841B1 (en) Method and apparatus for transferring digital data between circuits
US5764357A (en) Zero-run-length encoder with shift register
CA2436437A1 (en) Moving picture information compressing method and its system
US6631161B1 (en) Method and system for compressing motion image information
EP1453322A1 (en) Moving picture information compression method and system thereof
KR950014019B1 (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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 17