JP2001507555A - 普遍的にプログラム可能の可変長デコーダ - Google Patents

普遍的にプログラム可能の可変長デコーダ

Info

Publication number
JP2001507555A
JP2001507555A JP52358599A JP52358599A JP2001507555A JP 2001507555 A JP2001507555 A JP 2001507555A JP 52358599 A JP52358599 A JP 52358599A JP 52358599 A JP52358599 A JP 52358599A JP 2001507555 A JP2001507555 A JP 2001507555A
Authority
JP
Japan
Prior art keywords
variable length
decoding
digital data
bit
data stream
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.)
Abandoned
Application number
JP52358599A
Other languages
English (en)
Other versions
JP2001507555A5 (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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2001507555A publication Critical patent/JP2001507555A/ja
Publication of JP2001507555A5 publication Critical patent/JP2001507555A5/ja
Abandoned 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 多数の異種符号化標準のいずれかにより符号化された多数の可変長符号語を含む入力ディジタル・データ流を復号するための可変長デコーダ。この可変長デコーダは、入力ディジタル・データ流を受信して先導語を付したビット流を含む復号窓を形成する入力回路と、入力ディジタル・データ流を符号化した符号化標準に応じて多数の異種復号回路構成から選んだとおりに構成可能の復号回路とを含み、その復号回路は、入力ディジタル・データ流における各符号語の長さおよび値を復号するために先導語を付したビット流に係合している。この可変長デコーダは、さらに、入力ディジタルデータ流の符号化に用いた符号化標準に応じて多数の異種復号方式のいずれかにより可変長デコーダの動作を制御するためのプログラム可能の制御器を含む。このプログラム可能の制御器は、入力ディジタル・データ流の符号化に用いた符号化標準を判定し、ついで、その判定に基づき、入力ディジタル・データ流の復号に適した復号回路構成のとおりにその復号回路を自動的に構成する。この可変長デコーダは、入力ディジタル・データ流の符号語の値を復号するのに用いる符号語値メモリも含んでいる。その符号語値メモリは、個々にアドレス可能のページ群に論理的に構成され、そのページ群の少なくとも一つは、符号称号および他の符号称号に組み合わせた多数の分枝群を蓄積して、メモリの利用度を増大させるとともに、所要メモリ量を低減させる。

Description

【発明の詳細な説明】 普遍的にプログラム可能の可変長デコーダ 本発明は、一般に、デイジタル・ビデオデータ伝送システムのようなデータ伝 送システムに用いられる可変長デコーダ(VLD)、特に、MPEG−1,MP EG−2,JPEG,H.261,H.263,DVCなど現行の符号化方式と 、MPEG−4,H.263+,標準拡張などのような展開する従来の符号化方 式との両方を含む種々異なるデイジタル・ビデオ圧縮(エンコード)標準のいず れによってもエンコードされるデイジタル・ビデオ・データ流デコード用のプロ グラム可能なVLDに関するものである。 デイジタル的に圧縮した画像の伝送には有効な通信方式が用いられる。かかる 方式は、標準および高品位のテレビジョン、ビデオ会議、磁気テープ上のビデオ 記録および静止画像伝送のような種々異なる用途を目標にして創造されたもので ある。かかる方式のいくつかは、MPEG−1,MPEG−2,JPEG,H. 261,H.263,DVCその他のように標準化されている。他の方式は、M PEG−4,H.263+および標準拡張のように、従来標準化されるように発 展しつつある。かかる方式のすべてにおいて、ビデオ・データの種々の成分の圧 縮にハフマン・コードが用いられている。可変長デコーダ(VLD)は、デイジ タル・ビデオ・データにおいて、可変長符号化(VLC)されたワードやシンボ ルからなるハフマン・コード化したビット流を復号するのに用いられる。 異種デイジタル・ビデオ圧縮標準の相互間には驚くべき一般的類似性がある。 例えば、ビデオ圧縮標準の多くは、動き評価を利用して時間的なデータ圧縮を達 成し、量子化分離余弦波変換(DCT)を利用して空間的なデータ圧縮を達成す る。その結果として、「DCTブロック」および「マクロブロック」のデータ表 現ガほぼ一般的に用いられ、DCおよびACの係数と動きベクトルとのような符 号語が多くの標準においてほぼ同様に取り扱われる。他の情報とともにかかる基 礎的データがVLDによって復号されたとすると、このデータは、複合圧縮標準 を復号し得る普遍的デコーダで使用することができる。しかしながら、ビデオ・ デコーダは、それぞれのVLDに対して所定のアルゴリズムで著しく相違してい る。 デイジタル・ビデオ・デコーダは、一般に、四つの連続した機能、すなわち、 可変長復号、逆量子化、逆分離余弦波変換および動き圧縮を行なう。可変長復号 、逆量子化および逆分離余弦波変換の機能がほぼ普遍的に用いられるのに反し、 動き圧縮の機能は、ある圧縮標準(MPEG−2,H.261)では用いられ、 他の圧縮標準(JPEG,DVC)では用いられない。 デイジタル・ビデオ・デコーダの設計では、圧縮したデイジタル・ビデオ・ビ ット流は、通常、圧縮標準によって一般的に定まる十分な量のメモリを用いて緩 衝される。VLDは、「レートバッファ」と呼ぶ緩衝メモリが一般に先行する。 レートバッファに蓄積されるビット流片のビット幅は、通常、圧縮方式における 最長語によって決まり、この最長語は、現在用いられるビデオ圧縮標準では32 ビットを超えない。この蓄積ビット流片のハフマン符号化データビットは、符号 に際してはVLD回路に提示される。 現実のVLD、想定可能のVLDともに、明確な3機能、すなわち、ビット流 の分割もしくは分解、データ値の再構成および後続するハフマン・シンボルの種 類の予測を行なわなければならない。このようにすれば、VLDは、現下のシン ボルの値を形成し、ビット流片における次のシンボルへの前進、ついで、復号に おける適切な表の選択を行なうことができる。 基本的な表ルックアップVLDが、サン他の出願による米国特許第5,173 ,695号に開示されており、その開示を参考までにここに示す。この現実のV LDは、最大長符号語に等しいビット幅を有する出力復号窓を構成するバレル・ シフタを含んでいる。このバレル・シフタは、制御信号に応じて、各符号語の検 出に伴い、一連の利用可能の入力ビット群に沿って直接にその復号窓をシフトさ せる。各符号語の検出には、復号窓内の先導ビット群をルックアップ表の記入符 号語と比較する。符号語が検出されると、対応する符号語長が、予め符号語長を 収容した収容器の値に加算されて、復号されたばかりの符号語のビット数だけ復 号窓を直接にシフトさせる制御信号を形成する。従って、復号窓は、有効な入力 ビット群の未復号列中を次の符号語の始端までシフトされる。復号窓のシフトお よび符号語の復号は、1クロック周期で改良させ得る。その結果、表ルックアッ プ・デコーダは、ビット長には無関係ニ、クロック周期当り1符号語を復号し、 予め利用可能の3探索アルゴリズムのVLDに対して、そのVLDのデータ出利 を増大させることができる。例えば、進歩した3検索アルゴリズムVLD(「多 重符号帳可変長デコーダ」)が、本発明者の1995年12月28日出願に係り 、本発明の譲受人に譲渡されて、参考までにここに開示される米国特許出願08 /580,404に開示されている。 留意すべきことに、(共同発明者ビクターL.ゴーンスタインおよびハワード B.ペインとともに)本発明者は、VLDにおける「1ホット」データ表現を利 用することによりVLD動作の速度を著しく改善する独特のVLD技術を開発し ており、その結果、タイミング極限長の復号ループを著しく加速させるVLD技 術を得ており、このVLD技術は、111997年7月22日公告の米国特許第 5,650,905号および1996年6月28日出願の米国特許出願08/6 71,891(前出特許’905の継続出願)に開示されている。これらの特許 も本発明の譲受人に譲渡されており、参考までにここに示されている。長さ復号 ループの1ホット技術によれば、バレル・シフタは1ホット・ビット流バレル・ シフタ・マトリックスで置換し、普通の語長復号器は1ホット語長復号器で置換 し、加算収容器は1ホット・リング・バレル・シフタ・マトリックスおよび1ホ ット・オーバーフロー・マトリックスで置換するのが好適である。本発明を限定 するものではないが、この1ホット・データ表現および1ホット長復号ループ技 術は、以下に開示する本発明の好適な実施例で利用されている。 ハフマン・ルックアップ表における可変長符号の変形の個数は比較的小さいが 、長さおよび値のデコーダにおけるメモリ群の直接利用は、必要とするアドレス ・フィールドが極めて広いので、実際的ではない。かかる理由とともに、HDT Vなどの多くの用途における速度に基づき、論理配列復号構成が通常利用されて いる。典型的には、論理配列復号構成は、多数(平面)の固定幅アンド・ゲート を備えて、その入力信号が、それぞれ、選択的に変換されて、使用する符号化方 式によって決まるハフマン符号のそれぞれ異なった符号に適合させる。このアン ド平面にはオア平面が後続して、同じ符号結果に到達するすべての符号変化を結 合させて出力を形成する。 かかる論理配列復号構成が、単独の固定符号化方式(圧縮標準)に従って符号 化されたビット流の復号に捧げられることは容易に明白になろう。したがって、 これはプログラム可能ではないので、他の任意の符号化方式によって符号化され たビット流の復号は不可能である。 現時点においてはMPEG−1,MPEG−2,JPEG,H.261,H. 263,DVCなど現行の符号化方式と、MPEG−4,H.263+,標準拡 張などのような展開する従来の符号化方式との両方を含む種々異なるデイジタル ・ビデオ圧縮標準のいずれによってもエンコードされるデイジタル・ビデオ(お よび他のハフマン符号化)データ流デコード用のプログラム可能なVLDに対す る産業上の必要性が存在している。ビット流の分解においては、VLDの長さ復 号ループに本質的な伝搬遅延が、データ出力が極めて高度のHDTV用途で解決 が極めて困難な周知の問題になっている。プログラム可能性の特徴の導入は、V LD動作の速度を実質的に犠牲にしてはならない。この理由で、かかるプログラ ム可能のVLD(pVLD)を最良状態にして、いずれのVLDにおいても最も タイミングに敏感な部分である長さ復号ループに最高速度を与えるのが好ましい 。さらに、かかるpVLDが、最小量のメモリを用いるとともに、媒界処理に十 分に適合するようにコンパクトにするのが好ましい。本発明は、技術上のかかる 必要性を満たすものである。 発明の要約 本発明は、多数の異種符号化標準のいずれかによって符号化した可変長符号を 含む入力デイジタル・データ流を復号するためのプログラム可能の可変長デコー ダ(pVLD)を含むものである。この可変長デコーダは、入力デイジタル・デ ータ流を受信して、先導語を付したビット流を含める復号窓を形成する入力回路 と、入力デイジタル・データ流を符号化した符号化標準に応じて複数の異種復号 回路構成から選んだとおりに構成可能であって入力デイジタル・データ流におけ る各符号語の長さおよび値を復号するために先導語を付したビット流に係合する 復号回路とを含んでいる。 この可変長デコーダは、入力デイジタル・データ流を符号化した符号化標準に 応じて複数の異種復号方式の何れかにより可変長デコーダの動作を制御するため のプログラム可能の制御器をさらに含んでいる。このプログラム可能の制御器は 、入力デイジタル・データ流の符号化に用いられた符号化標準を判定し、ついで 、その判定に基づき、入力デイジタル・データ流の復号に適した復号回路構成に その復号回路を自動的に構成する。 この可変長デコーダは、入力デイジタル・データ流における符号語の値の復号 に用いられる符号語値メモリも含んでいる。この符号語メモリは、論理的に、多 数の個々にアドレス可能のページ群に組織され、そのうちの少なくとも一つは、 符号称号および他の符号称号に組合わされた多数の分枝を蓄積して、メモリの利 用度を最大にするとともに、メモリの所要量を最小にする。 本発明のpVLDは、MPEG−1,MPEG−2,JPEG,H.261, H.263,DVCなど現行の符号化方式と、MPEG−4,H.263+,標 準拡張などのような展開する将来の符号化方式との両方を含む種々異なるデイジ タル・ビデオ圧縮標準のいずれによってもエンコードされるデイジタル・ビデオ (および他のハフマン符号化)データ流デコード用に普遍的にプログラム可能に するのが好適である。 本発明のpVLDのプログラム可能性は、プログラム可能のアンド平面および そのアンド平面の出力端群に係合した入力端群を有するプログラム可能のオア平 面よりなる十分にプログラム可能の論理配列(pLA)によって達成され、普遍 的にプログラム可能の状態機によって制御されるのが好適である。プログラム可 能のアンド平面は、個々のアンド平面要素の1組を備えており、その少なくとも 幾つかは、入力ビットの選択した結合(すなわち符号)にアンド・ゲートを応動 させるために選択的にマスクし得る幾つかの入力端を有している。 マスクされた入力端は、目下復号中のシンボルに無関係のビット流片の終端を 無視し得ないようにした入力端である。かかるゲートに対する入力論理は、プロ グラム可能のインバータと、「高」論理(無視)状態に入力端を強いる手段とを 含んでいる。個々に構成されたアンド平面要素の出力端からの種々の符号称号は 先導符号語の符号長の1ホット・データ表現を形成するために、オア平面内で相 互に結合する。オア平面のプログラム可能性は、オア平面内で適切なオア・ゲー トの選択した入力端に供給された制御ビットを辿ることによって達成される。オ ア平面探索制御ビットおよびアンド平面マスクビットの値は、プログラム可能の pLA構成全部に対して適値を蓄積したpLA設定RAMによって用意するのが 好適である。 本発明のpVLDは、長さ復号の加速に上述したpLAを用いるが、所要メモ リ量を最小にするために、値復号用を分担するアドレス・ページ付きの値RAM を利用するのが好適である。平行モードおよび樹本探索モードで動作し得る低メ モリ、単一ビットを駆動、前処理器、補助のpVLD特殊状態機を本発明のpV LDで利用するのも好適である。 図面の簡単な説明 本発明の上述した目的、特徴および利点は、添付図面を参照して行なう以下の 詳細な説明から明らかになろう。 図1は、ハフマン符号用可変幅マスク可能のアンド平面を説明する線図である 。 図2は、典型的なハフマン表構成を説明する線図である。 図3A〜3Dは、本発明の説明用実施例によって構成したプログラム可能アン ド平面要素をそれぞれ示すブロック線図である。 図4は、本発明の説明用実施例によるアンド・オア平面装置を示すブロック線 図である。 図5は、本発明の好適実施例により開示された可変長符号化(VLC)データ ・アドレス計画の設定に利用された本発明のpVLDの値および長さ復号ループ の各種要素を図示したブロック線図である。 図6は、本発明の方法論による低レベル・ページ分担および連合した5乃至4 符号化の例を説明する線図である。 図7は、本発明の方法論により分担した高レベル値RAMアドレスの例の説明 に用いられた値RAMアドレスを示す線図である。 図8は、本発明の説明用実施例のpVLDの値RAMの低部256語メモリ・ ページ内におけるMPEG−2AC係数表0の値のアドレスを説明する線図であ る。 図9は、本発明の好適な実施例により構成したpVLDを示すブロック線図で ある。 図10は、本発明の好適な実施例により構成したpVLD状態機を示すブロッ ク線図である。 図11は本発明の好適な実施例により構成したpVLD状態機前処理器を示す ブロック線図である。 図12は、マクロブロック・パターンおよびDCTブロック群を復号する一方 、図10に示したpVLD状態機を前進させるために単独ビット表現における中 間復号結果(IDR)使用の例を説明する線図である。 発明の詳細な説明 特殊用途に対する説明用実施例を参照して本発明を説明するが、本発明はこれ に限定されるものではないことを理解すべきである。以下の教示に接した関連技 術分野の当業者は本発明の範囲内および有為に利用される付加的分野における付 加的変形、用途および実施例を認めるであろう。 概観するに、本発明は、MPEG−1,MPEG−2,JPEG,H.261 ,H.263,DVCなど現行の符号化方式と、MPEG−4,H.263+, 標準拡張などのような展開する将来の符号化方式との両方を含む種々異なるデイ ジタル・ビデオ圧縮標準のいずれによってもエンコードされるデイジタル・ビデ オ(および他のハフマン符号化)データ流デコード用に普遍的にプログラム可能 のVLDに指向されている。本発明のpVLDのプログラム可能性は、プログラ ム可能のアンド平面およびそのアンド平面の出力端群に係合した入力端群を有す るプログラム可能のオア平面よりなる十分にプログラム可能の論理配列(pLA )によって達成され、普遍的にプログラム可能の状態機によって制御される。プ ログラム可能のアドレス平面は、個々のアンド平面要素の1組を備えており、そ の少なくとも幾つかは、入力ビットの選択した結合(すなわち符号)にアンド・ ゲートを応動させるために選択的にマスクし得る幾つかの入力端を有している。 マスクされた入力端は、目下復号中のシンボルに無関係のビット流片の終端を無 視し得ないようにした入力端である。かかるゲートに対する入力論理は、プログ ラム可能のインバータと、「高」論理(無視)状態に入力端を強いる手段とを含 んでいる。個々に構成されたアンド平面要素の出力端からの種々の符号称号は、 以下に詳細に説明するように、符号長を示す出力を形成するために、オア平面内 で結び合わなければならない。オア平面のプログラム可能性は、オア平面内での 適切なオアゲートの選択した入力端に供給される制御ビット(以下では「探索ビ ット」と呼ぶ)によって達成される。オア平面探索ビットおよびアンド平面マス スク・ビットの各値は、以下に詳細に説明する態様で、あらゆるプログラム可能 のpLAに対する適切な値を蓄積するRAMによって提供するのが好適である。 本発明のpVLDは、長さ復号の加速に上述したpLAを用いるが、所要メモ リ量を最小にするために、値復号用を分担するアドレス・ページ付きの値RAM を利用するのが好適である。値RAMアドレス・ページ分担技術は、以下に詳細 に説明する。平行モードおよび樹木探索モードで動作し得る低メモリ、単一ビッ ト駆動、前処理器補助のpVLD特殊状態機を本発明のpVLDで利用するのも 好適である。 符号長がビット流における符号発生の確立に逆比例するハフマン符号のピラミ ッド構造を与えるト、ハフマン表を構成する接近を用いたプログラム可能の可変 幅マスク可能のアンド平面が最も適切である。この平面は、幅が増大する1組の アンド・ゲートからなっており、そのアンド・ゲートの一つは、図1に示されて いる。このアンド・ゲートは、先導ビット入力端10がマスクされず(無視され ず)、末尾ビット入力端11がマスクされる(無視し得る)ようにして設計され ている。マスクされていない入力端(U)とマスクされた入力端(M)とはプロ グラム可能のインバータに係合している。かかるアンド・ゲートは、UからU+ Mまでの幅を有するようにプログラムすることができる。各アンドゲート用のマ スクされた入力端の個数は、必ずしも同じではなく、固定するように選ばれた幾 つかのゲートに対しては零に当しくなり得る。実質的論理および設定メモリ資源 の節減は、かかる構成で実現することができる。 最小限度の総論理に沿って適切な論理資源を設けるためのアンド平面の最適化 は決定的である。一般に、プログラム可能姓のレベルは、マスクされた入力端の 個数の増大とともに増大する。他方、マスクされた入力端の個数(すなわち、マ スクされた領域)の増大には、より高度の論理の利用が伴っている。したがって 、特殊用途の特定用件に応じ、妥協解決案が各特殊用途毎に見出さなければなら ない。 ハフマン表の典型的な構成は、図2に示してある。符号長は符号称号20によ り独自に識別され、その符号称号20には、同じビット長さを有する符号に対し て1組の値を独自に識別する分枝21が後続している。多くの符号では、分枝の 最終ビットは記号ビットである。「高」と「低」との両論理レベルを採り得る符 号語では記号ビットが最終ビットであるから、その値は、値復号用のルックアッ プ回路に影響もせず、符号長判定過程に含まれてもいない。 図2に示してあるように、本発明は、異なった符号称号(AとBと)が、同じ 符号長であっても組が異なる値を識別し得ることを認めている。AとBとの和が シンボルの長さを独自に識別する一方、かかる称号のそれぞれが、組合わされた 値の復号を簡単にするための中間論理項として用いられる。 現在用いられる圧縮標準に用いられるハフマン表の解析は、符号称号領域が1 2ビットを超えない一方、分枝領域は、適用可能の場合4ビットに記号を加えた ものを超えないことを明らかにしている。したがって、符号称号に対する符号長 の変化は、目下1乃至12ビットであり、分枝に対する符号長の変化は、終端に 記号の可能性を伴った0乃至4ビットである。かかる観察は、プログラム可能の VLDにおけるpLAの論理資源を閉じ込めて保存するのに有効に使用し得る。 マスクされない5入力端とマスクされた2入力端(U=5,M=2)を有する 典型的な基本プログラム可能のアンド平面要素20が図3Aに描かれている。こ のアンド平面要素20は、長さと値と両方の復号区域22、24をそれぞれ備え ている。5〜7ビット長さの称号符号、0〜4ビットの範囲の最悪時の分枝およ び、要すれば、任意の位置の記号ビットを取扱うようにプログラムすることがで きる。 アンド平面要素20はpVLDの符号長復号ループに含まれている可変幅プロ グラム可能アンド・ゲート25を含んでいる。例えば、HDTVのような用途で は、この区域での伝搬遅延をできるだけ小さくしなければならない。このアンド ・ゲートの構成は、(図5および9に全体として示した)pLA設定RAMが蓄 積している異なった設定ビット(pLA構成ビット)で印をつけた小区画の分散 組で図3に模式的に示すpLA設定RAMの出力端と出力端群(例えば、P0〜 P6,M5〜M6,TJ3〜TJ0,S3〜S0,E)とを用いてプログラムさ れる。pLA構成データは、pLA設定RAMにpVLD初期化周期中に書込ま れる。アンド・ゲート25が用いられない特殊な構成では、pLA設定RAMの ゲート駆動ビットEに論理「低」レベルを割当てることにより、そのゲートを閉 じ(不能にす)ることができる。これは、後続するオア平面(図4,5および9 参照)への影響も不能にする。要すれば、pVLD制御器から「消去」制御を加 えるために、アンド平面(図4,5および9参照)の全アンド・ゲートに余分の 入力端を付加することができる。 先導語を付したビット流のビットB0〜B4は、各プログラム可能インバータ ・セル群31(図3Bに排他オア・ゲート27としてそれぞれ示し得る)のマス クしない5入力端に供給される。pLA設定RAMからの入力極性制御ビットP 0〜P4はその要素を検出するようにプログラムする称号符号に適合されるため に、アンド・ゲート25の対応する入力端で信号群を反転させるべきか否かを決 める。排他オアゲート27がこの機能を果たす。 ビット流のビットB5およびB6は、図3Cに示すように排他オアゲート29 およびオアゲート28からなる、プログラム可能、マスク可能のインバータ・セ ル32のマスクされた2入力端に供給される。同様に、pLA設定RAMの入力 極性制御ビットP5乃至P6は、称号符号を適合させるために、アンド・ゲート 25の対応する入力端で信号群を反転させるべきか否かを決める。セル32の排 他オア・ゲート29は、プログラム可能インバータの機能を果たす。オア・ゲー ト28の出力は、pLA設定RAMのマスクビットM5乃至M6のいずれかによ り論理「高」(無視)状態を強いられ、したがって、マスクの機能を果たす。 その結果として、図3のアンド・ゲート25は、5,6および7ビット動作に 対してプログラムすることができる。この要素の出力端PREFIX−OUTは オア平面の語長を独自に識別して、分枝で利用し得る余分のビットにより語の値 を効率よくアドレスするのに用いる低い方の(値復号)区域の出力端を活動状態 にするのに用いられる。 この例に示すアンド・ゲート25は5〜7ビットの広さになし得るので、(存 在すれば)分枝は、如何にプログラムされているかにより、ビット位置B5,B 6もしくはB7で始動し得る。この始動位置は、マスクビットM5およびM6に より独自に識別される。かかるビット群は、かかる可能な3ケースで分枝を見出 す機能を有するセル33に供給される。このセル33に対する真値表を図3Dに 示す。 両ビットM5およびM6が「高」であれば、アンドゲート25の幅は5ビット となり、最長4ビットの分枝に記号を加えたものがビット群B5乃至B9中に見 出されることになる。ビットM5が「低」であり、ビットM6が「高」である場 合には、アンドゲート幅は6ビットとなり、4ビット分枝に記号を加えたものが ビット群B6乃至B10に位置する。同様に、7ビット幅アンド・ゲートに対し ては、ビットM5およびM6がともに「低」にプログラムされ、分枝と記号とは ビット群B7乃至B11に位置する。M6に対する「低」割当てに結合したM5 に対する「高」割当ては、符号は「破壊」し得ない、すなわち、全ビットは隣接 していなければならないので、許されない。 ビット流の分枝と記号とのビット位置は、セル33の出力端ST4乃至ST0 に供給される。分枝は、組合わされた値を蓄積しているVCL値RAM(図9参 照)をアドレスするのに利用される。分枝は、0乃至3ビットの可変長を有し、 記号ビットを後続させ得るので、無関係のビット群を無視する能力を備えなけれ ばならない。分枝は正統化されるべきであり、余剰ビットは、VLC値RAMに 独自の固定寸法の低レベル・ページ・アドレスを与えるためにマスクされるべき である。記号ビットも位置付けされるべきである。 分枝を正統化する方法の一つは、不使用ビット位置を満たす「0」を伴った所 定ビット数だけビット群ST4乃至ST0をシフトさせることである。図3に提 示した説明用実施例は、分枝の終端から始まる論理「低」レベルに分枝の余剰部 分を設定することにより、分枝符号の反転を行なうものである。設定RAMビッ トTJ3乃至TJ0は、分枝の余剰ビット群をマクスする(この場合は論理「低 」レベルを強いる)のに用いられる。例えば、関連符号称号に対して期待される 分枝が4ビット幅であれば、全ビット群TJ3乃至TJ0は「高」に設定されて 、全分枝ビット群が各分枝正統化アンドゲート37a〜37dを介して通過させ る。分枝正統化の全ビットで「低」(分枝が期待されていない)場合には、全分 枝ビットが「低」に強いられ、したがって、分枝正統化アンド・ゲート37a〜 37d全部の出力端が「低」に強いられる。期待される分枝が2ビット幅の場合 には、分枝のビットST2およびST1が、ビットTJ3およびTJ2を「低」 に設定することによってマスクされる。ビットTJ1およびTJ0は、「高」に 設定されて、ビットST4およびST3に存在する2ビット分枝を通過させる。 かかる逆正統化動作は、固定長形式の値RAMの低い方のページをアドレスする のに用いられる分枝符号の独自性を保存する。 分枝に直従する記号ビットの位置は、同じ分枝正統化ビットTJ3乃至TJ0 によって制御される簡単な多重器41によって容易に判定することができる。 現下の好適実施例では、pVLD技術は、値RAMのアドレス・フィールド削 減の3段階、すなわち、ビット流自体の替わりの符号称号の使用、低レベル・ア ドレス・ページの分担、および、高レベル・アドレス・ページの分担を、所要p VLDメモリ資源の最小化の第1目的のために備えている。 4ビット長の分枝は、値RAMにおける16値の全ページをアドレスする。こ の低レベル・アドレス・ページは、今度は、図3に示したアンド平面要素20の 上側(長さ復号)区域22で復号された符号称号を用いてアドレスされる。より 低いビット数の分枝は、かかるページの一部分のみをアドレスし得て、そのペー ジの残部は不使用のままにする。例えば、分枝が存在しない場合には、そのペー ジの1アドレスのみが有用なデータを含んでいる。分枝の2ビットは、有用な4 メモリ位置のみをアドレスする。より有効なメモリ利用には、より良い解法を見 付けなければならないことは、容易に判る。シリコン実施では、埋蔵メモリの量 が生産の容易性に対して決定的である。 設計が支持する符号称号の個数が例えば25に等しく選定された場合には、低 レベル・アンド・ページは5ビットでアドレスされなければならない。したがっ て、値RAMのメモリ空間の主要部分は効率よくは利用されないであろう。メモ リ利用度を改善するには、以下に説明するように分担する低レベル・アドレスが 採用される。 分枝正統化回路36に後続する一群のプログラム可能オア・ゲート44a〜4 4dは、その目的で図3に示してあるアンド平面要素20で利用されている。( 「U」(マスクされていない)5入力端および「M」(マスクされている)2入 力端を意味する)「5+2」アンド平面要素20を2ビット分枝を受入れるよう にプログラムしてある場合には、その分枝の余分な低い方の2ビットが、分枝正 統化回路36の分枝正統化アンド・ゲート37a〜37dの出力端で「低」を強 いられる。かかるビット群は、設定RAMの低レベル分担ビットS3乃至S0を 用いて容易に取扱うことができる。低レベル・アドレス・ページ分担を設けるた めには他のアンド平面要素を幾つか含めなければならない。 簡単な例としては、他の3アンド平面要素に2ビット分枝をもたせる必要があ るものとする。かかる要素のそれぞれにおいて零を強いる余分の2ビットが、相 互間で異なる符号値を有するようにプログラムされる。かかる余分のビット群に 零値を強いるのは、低レベル分担ビットS3およびS2によって行なわれる。論 理「高」レベルを強いるには、Sビットの「高」レベルが必要である。論理「低 」レベルを強い、もしくは、値を不変のまま通過させるには、Sビットの「低」 レベルが必要デアル。この例では、分枝の3組を異なる称号用に保留してあるペ ージに置くことにより、符号値をアドレスするのに必要な称号の個数を効率よく 3だけ、すなわち、25から22に低減させる。 他の例として、同じアンド平面において、全電位に用いるべき2ビット分枝一 つと1ビット分枝二つと(全部で16(8+4+2+2)アドレス位置)を有す る低レベル・アドレス・ページ上で他の3ビット分枝を分担するものとする。低 レベル・アドレス・ページの分担がなければ、含まれる分枝は、つぎの出力端( Xは分枝データビット)を有することになる。 分枝1(3ビット):XXX0. 分枝2(2ビット):XX00. 分枝3(1ビット):X000. 分枝4(1ビット):X000. 低レベル・アドレス・ページの分担を容易にするために、かかる各分枝は、そ れぞれのアンド平面要素内でつぎのように変形される。 分枝1(3ビット):XXX0. 分枝2(2ビット):XX01. 分枝3(1ビット):X011. 分枝4(1ビット):X111. この例では、3組の分枝を、異なる称号用に保留してあるページに移すことに より、符号値をアドレスに要する称号の個数を3だけ、すなわち、22から19 にさらに低減させる。 ハフマン符号のピラミッド構造を与えれば、多数の低ビット分枝と分枝を有し ていない符号とを合理的に大きいハフマン表内に見出すのは容易である。説明し たように、かかる符号群は他のページ内に容易に保持される。上述の例では、称 号項の個数の25から16への低減は容易に達成される。その結果として、本来 25称号項を提示する必要があった5ビット符号を4ビットに低減することがで きる。メモリ・アドレス・フィールドにおける単一ビットの低減は値RAMの所 要量を係数2だけ低減させる。 分担した低レベル・アドレス線LLA3乃至LLA0および記号ビットは、例 えば、組合わせたアンド・ゲート25の「称号出力」出力信号により局部的に活 動させる三つ組状態バッファ48a〜48dを用いて、同一平面における他の低 レベルアドレス線と多重される。 pVLDの値復号区域24は、図3に見られるように、タイミング極限長の復 号ループの外側に位置している。値長さ復号ループでは、容易に筒抜けにし得る ので、より複雑な論理回路が許される。 上述した低レベルpVLD技術では、その出力インターフェースが他のものと 同一であれば、種々の構成のアンドゲートと分枝処理能力とを個々のアンド平面 要素に組込むことができる。例えば、特殊要素が、固定アンド幅を有し、2ビッ トまでの分枝のみを取扱うように設計されている場合には、その要素用の型3の セルは、分枝の位置が知られているので、必要でなくなるであろう。低レベル分 担回路の残余の成分ともども、記号多重器も簡単化されるであろう。ハフマン符 号のピラミッド構造は、アンド平面要素の相互間における複雑性レベルの幾分同 一の分布に変換される。 個々に構成したアンド平面要素の出力端からの種々の符号称号は、符号長を表 わす出力を形成するために、オア平面内で結び合わされるべきである。オア平面 は、その入力端を構成するのに、設定RAMからの限定量の設定を必要とする。 図4に示した説明用実施例では、4種類のアンド平面要素50がオア平面52 上で相互に結合している。上側のアンド平面要素50は、「2+1」アンドゲー トとして構成されており、すなわち、2個の「U」(マスクされていない)入力 端と1個の「M」(マスクされている)入力端とを有している。この要素に関連 した可能な符号長はつぎのとおりである。最小符号長は、アンドゲートの最小幅 、すなわち、分枝および記号が用いられていない、としたときの2に等しい。最 大符号長は、そのゲートの最高有効幅が3に等しいとすると6であり、2ビット の最大分枝には1記号ビットが後続する。2と6との間のあらゆる値が、この要 素については可能となる。同様に、図4に示した他の3アドレス平面要素50の 符号長は、「U」と「M」との入力端の個数、分枝ビットが固定(F)か可変( V)かによって受入れた分枝ビットの個数および記号ビット(S)によって決ま る。 アンド平面53の出力端は、オア平面からの「高」レベル信号および設定RA Mからの探索ビットRによって活性化された一連の2入力アンド・ゲート57を 用いて、適切なオア・ゲート55の入力端で活性化される。オアゲート55の「 高」レベル出力端は、予期されたハフマン符号の長さを明瞭に示し、すなわち、 目下復号されたシンボルの長さの「1ホット」表現を構成している。 特殊のハフマン表に対し、上側アンド平面要素50が4ビット長符号を期待する ようにプログラムされている場合には、オアゲート「4」への入力端におけるオ ア平面探索ビットRが「高」に設定される一方、このアンド平面要素50に組合 わせた他のRビットが全て「低」に設定される。このようにして、上側アンド平 面要素50は、4ビットの符号長に対してプログラムされ、その出力端は、オア ゲート「4」の入力端でのみ活性化される。しかしながら、アンド平面要素能力 は、異なったハフマン表の選択では変化せず、したがって、長さ2乃至6の範囲 はそのまま残るので、同じ符号帳内の異なるハフマン表2に対して両平面が再構 成される場合には、この選択が変化するであろう。 オア平面52の探索が、全く簡単であって、アンド平面53に設計されたプロ グラム可能性のレベルに著しく依存することは、容易に判る。例えば、無条件に 存在するものとされる、固定幅の分枝および記号を備えたより低い固定幅アンド 平面要素50は、つねに9の符号長を形成し、何らオア平面探索論理を必要とし ない。 FLC(固定長符号化)語の長さは、「FLC」の札をつけた線を介し、明白 な(「1ホット」)符号内で外部的にオア平面に導入される。アンド平面53は 、入力デイジタル・ビデオ・データ流のVLC(可変長符号化)成分の復号に含 まれているに過ぎず、設定RAMのEビットもしくは付加的ゲート制御信号(図 示せず)を用いて、FLCモードで切り離すことができる。図4に示すように、 FLC入力端は、何ら探索論理を必要としない。ENABLE(活性化)信号E は、pVLD状態機(図9参照)からオア平面52に与えられて、「10000 000 00000000 00000000 00000000」の「1ホッ ト」零シフト出力を強制する。ENABLE信号が「低」に設定されると、VL CおよびFLCの両回路は、ともに不活性となる。 オア平面52がタイミング極限符号長復号ループに含まれているので、明白な 低遅延オア平面構成は全く有利である。 pLA設定RAM59、アンド平面53、オア平面52およびVLC値RAM 60を描いたより高レベルのブロック線図を図5に示す。設定RAM59は、p VLD状態機(図9参照)が発生させたVLC型信号により選択した(通常十分 な)8種類のpLA設定の変形を保持している。有料負荷、特に、通常データ総 量の約95%を構成するAC係数が単一クロック周期で復号されるのは大いに望 ましい。他の形式のデータは、すべて、より多くの時間が処理に認められている 。したがって、pLAモードを一つのVLC型から他の型に変化させる場合には 1クロック周期より多くの時間が認められる。pLAをAC係数モードに一旦切 換えると、AC係数の長い連鎖が高率で復号されてしまうまで、他のモードに切 換えられなくなる。かかる長い連鎖が特殊なDCTブロックに対して存在しない 場合には、圧縮比が高く、そのブロックに対しては高度のVLD処理情報量は要 しない。かかる概念は、VLD特性を犠牲にすることなく、異なったVLC型デ ータとFCL型データとの間での低速pLA切換えの使用を可能にする。 先導語付きビット流LWABは、以上に詳述したように、一連のアンド平面要 素からなるプログラム可能のアンド平面53に供給される。低レベルの4アドレ ス・ビットLLAと記号ビット群5とが内部活性化信号を用いて多重される。L LA出力は、低レベル・アドレス・ページの分担を受入れて、VLC値RAM6 0の低い方のアドレス・ビット群LLAに直接に供給される。 アンド平面53の称号出力端531は、オア平面52でVLC符号長を識別す るのに用いられる。FLC符号長FLCLは、前述したように、オア平面52に 個々に入力される。アンド平面53の(例えば32までの)称号出力端531は 、エンコーダ63によって5ビットに符号化される。小さい高レベル分担RAM 65は、そのアドレス入力端に、能動称号および目下選択したVLC型を識別す る5ビットを受信する。 高レベル分担RAM65は、低レベルと高レベルとのアドレス分担を結合させ た機能を実行することにより、VLC65のアドレス・フィールドを減らすよう に設計されている。先ず、低レベル分担の利益を実現するために、称号の5ビッ トは、大きい(16より高い)個数の独自の称号を特徴とするVLC表に対して 4(もしくは、できればより小さい)ビット群に符号化しなければならない。5 →4VLC型制御エンコーダ63は、この目的に用いられる。この5→4符号化 の後に、VLC値RAM65のアドレスは、多重低レベル・アドレス・ビットL LAの4ビット、前述したようにエンコーダ63の5称号ビットから取出した4 ビットおよびVLC型を表わす3ビット、すなわち、全部で11ビットから構成 することができる。 低レベル・ページ分担および関連した5→4符号化の例を図6に示す。26復 号称号は、値RAM60をアドレスするのに5ビットを必要とする。称号16乃 至25は、4ビット・ページに容易に保持し得る4,2および1語の分枝を含ん でいる。この目的で、称号5,13および14は、低レベル・ページ分担用に選 択されている。分担の後に、中レベル・アドレスは、図6に示すように、4ビッ トで表わされる。 高レベル分担RAM65の他の機能は、VLCデータ型は種々異なるメモリ資 源を必要とする、という観察に基づき、値RAM60を効率よく利用することで ある。最大のハフマン表は、通例、AC係数表である。マクロブロック内のブロ ック群のパターンの存在を識別する(種々の圧縮標準でそれぞれ異なって呼ばれ る)MPEG−2標準の符号化ブロック・パターン表は、通常2番目に大きいと される。かかる二つに比べると、他のハフマン表は、すべて相対的に小さい。M PEG−2のような幾つかの標準は、AC係数の復号に二つの大きい表を用いる 。かかる観察に基づき、高レベル・ページ分担は、高レベル分担RAM65によ って実行することができる。 図7は、高レベル・アドレス分担の例を示したものである。最大のVLC表の 大きさは256である、とするとともに、MPEG−2のような最も要求の強い 標準を満たすのにかかるRAM領域を二つ設けるとすると、残余のVLC型は、 比例してそれだけ小さくしなければならない。図7に示した値RAMアドレス作 図例は、128語領域二つと64語領域四つとを付加的に設けてある。かかる資 源は、最近の標準を満たすのに十分である。高レベル分担を利用するには、高レ ベル分担RAM65は、3ビットVLC型符号を2ビット符号に有効に低減する とともに、その線に沿い、より小さい高レベル・ページを組織するために、図7 に例として示した値まで中間レベルのアドレス・ビットを強制しなければならな い。 図8は、極めて大きいMPEG−2AC係数表Oを満たすのに適した値より割 当てられた資源が多い、という事実を図示したものである。実際に、より小さい 分担可能の分枝の分布が与えられると、この表は128語のページで実現するこ とができる。この表の特別な場合、すなわち、エスケープ・コード(ESC)、 ブロック・コードの終端(EOB)および(ラン=0,レベル=1)コードの二 つの変形が、標準との一貫性に対して与えられている。ESCコードおよびEO Bコードの各値は、VLC値RAM60に蓄積されるべきものではない。 中間レベルおよび高レベルのアドレス変形は、ともに、高レベル分担RAM6 5で行なわれる。得られた利益は、VLC値RAM60の大きさの係数2だけの 一層の低減である。高レベル・アドレスは、全分担動作の結果として、8ビット から6ビットに修正される。したがって、VLC値RAM60の全アドレス・フ ィールドは10ビットに低減される。 AC係数については、ハフマン表は極めて大きい値を含んでいない。「ラン」 値に対して6ビット、「レベル」値に対して6ビットを用いれば十分である。他 のVLC成分は、それぞれの値を表わすのに、一般に、より少ないビットしか必 要としない。したがって、値RAMに対する極めてコンパクトな1024×12 の構成が達成され、これはシリコン装置では全く容易である。 高レベル分担RAM65の大きさは256×6であり、PLA設定RAM59 は8×586の大きさを有している、と評価されている。かかる評価によれば、 前述したpVLD機能を備えるに要する総合メモリ・サイズは18,512ビッ ト(2,2598キロバイト)を超えない。 いま、図9を参照するに、本発明の好適実施例により構成したpVLD70の ブロック線図が認められる。この全体構造は、ブログラム可能性の特徴を備えた 前述の回路を除けば、米国特許第5,650,905号および米国特許出願08 /671,891に開示された「1ホット」VLDのものと同じである。 pVLD70は、そのpVLDの求めに応じた固定寸法の緩衝されたビット流 データ区画によって新しくなった二つのレジスタAおよびBと、最大長符号語( すなわち32)に等しいビット幅を有する出力復号窓731を設けるビット流バ レル・シフタ73とを含んでいる。ビット流バレル・シフタ73は、一連の有要 な入力ビット群に亘る復号窓を各符号語が検出されるに伴ってシフトさせる。そ の復号窓は、最後に復号した復号語の長さに対応するビット数によってシフトさ れる。リング・バレル・シフタ77、オーバーフロー・バレル・シフタ79およ びポインタ・レジスタ81を備えた収積回路は、予め復号した符号長の収積和に 基づくビット流の中の新たな語を指摘するのに用いられる。収積回路のオーバー フロー条件は、オーバーフロー・バレル・シフタ79で検出され、その結果はデ ータ要求信号DRの活性化となり、その信号DRはレジスタAおよびBの更新を おこす。分枝正統化低レベル分担回路36、高レベル・アドレス符号基(63, 65)、VLC値RAM60および切換え可能補足回路87を備えた値復号回路 84は、検出した符号語に組合わせた値を復号する。pVLD状態機90(およ び前処理器)は復号過程を監視するのに用いられる。 pVLD動作は、状態機90に外部から加えた開始信号STARTによって開 始される。この信号は、ハードウエアのプリセットにより、前述した多数の初期 化状態の最初のものに強制する。pVLDは、ポインタ・レジスタ81を初期化 する再負荷信号RLを発生させて符合群を始動させ、今度はポインタ・レジスタ 81がデータ請求信号DRを活性化して、レジスタBからレジスタAへおよびメ モリからレジスタBへのビット流片を起す。オアゲート93は、この目的に用い られるが、これは、勿論、本発明を限定するものではない。総合極限通路を増大 させないためには、前述した機能性をオーバーフロー・バレル・シフタ79の非 極限通路(DINからDOUTへ)に容易に組込むことができる。 状態機90をさらに単純化するためには、注視開始符号検出器99をレジスタ Bの内容の定常監視に用いて開始符号の存在を求める。レジスタBで開始符号が 検出されると、アンドゲート101の両入力端は、収積回路のオーバーフローが 発生した場合に「高」になり、したがって、アンドゲート101の出力端を「高 」に駆動し、結局、ハードウエアのプリセットにより、前述した初期化状態の第 2のものに状態機90を強制する。信号SBCに応動して、状態機90は、再負 荷信号RLを発生させる。このハードウエア・プリセットは開始信号の調整によ りビット流が中断された場合に特に有用である。この構成では、32ビットで調 整した開始信号が好適である。 完全にマスクした(個々には図示せず)アンドゲートが、ビット流の復号が起 っている特別の状態に応じて、アンド平面53に設けられる。アンド平面53の 特別出力端(図9のSP)は、状態機90でハードウエア・プリセット信号とし て用いられて、状態機90を幾つかの可能な状態から選んだ一つの状態に置く。 この特徴は、特に、ブロック終端(EOB)、エスケープ(ESC)など、その 存在が復号アルゴリズムを左右する特別の信号を監視するのに有用である。 pVLD70は、状態機90の活性化出力端Eにより動的に停滞させて活性化 する。この信号は、リングおよびオーバーフローの各バレル・シフタ77および 79の入力端で零シフト符号長を強制することができ、その結果、ビット流を分 解させずに処理の余分なクロック周期を必要とする場合に語指摘値WPを停滞さ せる。活性化信号EもpVLD出力データの価値を認めるのに用いられる。 pVLD状態機90は、全体的データ型(VLCおよびFLC)を選択して、 その情報を長さと値との両方の復号区分に与えることにより、復号過程を制御す る。VLCデータ型は、個々のアドレスとして設定RAM59に与えられる。そ のVLCデータ型に基づき、設定RAM59は、アンド平面53、オア平面52 および分枝正統化乃至低レベル分担回路36を再構成する。 好適な実施例では、復号過程は、AC係数ような有料情報の復号速度を最大に するために最良化される。前述したように、設定RAM59は、本来の速度制限 により、VLD特性を有意に犠牲にすることなく、要すれば、単一クロック周期 により長い時間に上述した各回路を再構成するのを許される。各回路が一旦特別 のVLC用に構成されると、復号過程を高速で実行し得ることになる。 アンド平面構成は、許し得る資源と望むだけ多くの圧縮標準を満足するのに必 要な柔軟性との妥協に基づいて最良化される。未知の将来の標準はpVLD技術 が許すより高レベルの柔軟性を必要とする。 アンド平面53の出力端からの中間復号用語は、オア平面52における語長の 復号とともに、VLC値RAM60への簡易アドレスの構成に用いられる。分枝 正統化乃至低レベル分担回路35は、可変長符号化分枝および記号ビットを構成 して、その構成における種々の分枝間の低レベル・アドレス・ページを分担する 柔軟な手段を設ける。高レベル・アドレス符号器(63、65)は、低レベル・ ページの分担により、VCL値RAM60のアドレス・フィールドを低減するの に用いられる。これは種々のVCL成分のハフマン表の大きさの幅広い変化に基 づき、そのRAMの可変寸法高レベル・ページを構成することにより、VLC値 RAM60のアドレス・フィールドをさらに低減するのにも用いられる。高レベ ルの柔軟性が低レベルおよび高レベルのページ分担に設けられる。 VCLデータ型がpVLD状態機90によって選択されると、切換え可能2補 足回路87に供給される全体型信号GTは、VLC値RAM60の出力端をpV LDデータ出力端に接続する。かかる動作を要求するVLCデータ型用の2補足 表現は、全体型信号の制御のもとに選択的に得られる。同時に、pVLD状態機 90のVLC/FLC出力端はアンド平面出力端で切り換わり、FLC符号長信 号FLCLは、pVLD状態機90で内部的にリセットされる。 FLCデータは、一般に、何らの説明も必要とせず、ビット流から直接にpV LD出力端に写すことができる。FLCデータ型が状態機90によって選択され ると、切換え可能2補足回路87の入力端の一つに供給された全体型信号GTは 、この回路の出力端をビット流入力端に直接に接続する。同時に、状態機90の FLC符号長出力端FLCLがオア平面52に供給され、状態機90のVLC/ FLC出力端がアンド平面出力端を切離す。 要すれば、状態機90は、マクロブロックのパターンや型のようなデータ型を 復号するための分枝探索モードで動作し得る。マクロブロック型のような成分は 、係のVLC型の個数を実質的に増大させて、より高度のメモリ利用に導き得る 多数の小さいVLC副表を有することができる。VLC型の個数を最小(例えば 8)に保つために、状態機90は、分枝モードで復号した値を、ESR線を介し 、切り換え可能2補足回路87に供給する能力を備えている。かかる状態では、 FLC符号線521を介してVLC語のビット長がオア平面52に導入される。 処理の最適速度を有する状態機は、一般に状態レジスタの帰還グループ内で可 能な最小寸法のRAMを用いて達成される。他方、かかる接近に伴う問題は、こ のRAMのアドレス・バスに供給された場合に、状態変数自身以外の変数の何れ の単一ビットも、このRAMの大きさを係数2だけ倍増させることである。この 問題は、圧縮方式のきわどい成分とそれほどきわどくない成分との処理速度の間 の妥協として一応解決されている。状態機90は、最も広い意味で本発明を限定 するものと考えるべきではないが、AC係数の高速処理のために最良化されてい る。 次に図10を参照するに、本発明の好適実施例によって構成されたpVLD状 態機90’のブロック線図が示されている。pVLD状態機90’は、最も普通 の「見張り犬」状態用の伝達論理の量の低減に用いられる二つのプリセット・ハ ードウェアINIT1(1101)およびINIT2(1102)を有する9ビ ット状態レジスタ110を備えている。 状態機90’は、(入力端INIT1に供給された)開始信号STARTによ り予定の状置に置かれ、その開始信号は、(切片の全水準ラスタの始端を示す信 号)マイクロスライス同期、垂直同期、もしくは、プロセッサからの何らかの指 令信号にして、復号動作を開始させることができる。マイクロスライス同期は、 pVLD装置を簡単さのためにSTRAT信号とするのが好ましい。 pVLD論理は、32ビット開始信号調整によって実質的に簡単にすることが できる。この設計では、開始符号が32ビットに調整され、レジスタBおよびA に全ビット流切片として現われるだけである。注視開始符号検出器90(図9) は、レジスタAに現われる前に開始符号の存在を検出する。開始符号より前のビ ット流の無意味な終端部分(切片中の最終ビット流片の終端、ビット流誤差)は 捨てるべきである、という状況における「よりさっぱりした」pVLD同期につ いては、開始符号検出器出力(STC)とオーバーフロー・バレル・シフタ79 の出力端からの「境界交差」信号(BNDRY−CROSS)との論理的結合が 、状態レジスタ110を(入力端INIT2を介し)初期化して第2の予定初期 化状態にするのに用いられる。pVLD状態機90は、そのあらゆる状態におけ るかかる条件について定常的に監視するように設計するのが好適である。 開始符号に接続するビット流全部の終端をすべて零にリセットすることが大い に勧告される。未検出誤差を取り扱う際に、開始符号の先導ビットに結合した最 終語の切り詰め部分は、境界交差信号が開始符号支持に伴って発生するので、誤 って復号されるのが許されない「不法な」認識可能のシンボルを発生させ得る。 ブロック終端(EOB)やエスケープ(ESC)の各符号の発生のような特別 の状況は、ビット流成分を復号しながら監視しなければならない。状態機90’ の幾つかの特別の状態は、かかる状況に捧げることができる。アンド平面出力端 SPECALは、現下の若干の状態から選んだ状態にプリセットされたハードな pVLD状態機として役立つ。「ブロック始端復号」や「非ハフマン向けモード 」のような予定の状態は、時世に先立って割当てられ、状態レジスタ110の入 力端INIT3におけるSPECIAL信号によって引起された場合には、状態 機90’をかかる状態にプリセットするのに簡単なハード論理が用いられる。こ のハード論理の初期化手順は、状態機90’の複雑さを実質的に低減することが できる。 状態機RAM113の大きさを低減するためには、中間復号結果(IDR)が 、すべて、単一アドス入力端A9を介してこのRAMに導入される。一連の所定 の状態は、出力がレジスタ119により登録され、状態レジスタ110と同時に 調整されるハードの状態復号器116によりpVLD制御信号として説明される 。機能を予め説明したかかる信号は、VLC型、VLC/FLC、全体型、活性 化および再負荷である。 FLC符号長信号は、アドレス線が全体型信号により制御されているFLC RAM117によって発生する。FLC RAMアドレス線は、活性化信号が活 性でない場合には、零にリセットされる。FLC RAMアドレス線は、すべて 零になるべきである。活性化信号はVLC/FLC信号も不活性にし、そのVL C/FLC信号は、今度は、pLAのアンド出力を不活性にする。9ビットES R信号は、望むならば、分枝探索モードで復号されたVLCシンボルのビット長 を設定するために、FLC RAM出力端の先導9ビットに多重される。 図11に描かれたpVLD状態前処理器120は、中間復号結果(IDR)を 状態器90’に導入するように設けられている。状態器90の復号アルゴリズム に影響する必須の復号パラメータのみが、ビット流から抽出されて、IDR線を 介し、状態機90’に提示される。 IDRデータは、現下のもしくは蓄積された必須要素として状態機90’に提 示される。ブロック終了端符号EOBのような現下の必須要件は、AC係数を復 号しながらDCTブロックの復号を終結させるために、状態機90’によって定 常的に監視される。マクロブロックパターンや型データのような蓄積された必須 要素は、復号されて、必須要素RAM122に蓄積され、後に復号アルゴリズム で使用される。 現下の必須要素は、異なった二つの方法で同時に状態機90’に利用可能であ る。信号SPECIALが認めた必須要素は、所定初期化状態のうち、状態機9 0’の現在の状態に応じて選んだ状態に状態機90’の推移を押しつけることが できる。必須要素は、必須要件設定RAM124、マスク可能の比較機126の 配列およびオアゲート128を用いることにより、一層多才な方法で認めること もできる。 状態機の状態出力によって制御される必須要件設定RAM124は、多種多様 の必須パターンおよびマスクを蓄積している。かかるパターン群は、マスク可能 の比較器126の配列により、ビット流の先導9ビットと比較される。かかるパ ターン群は、可変長を有しているので、必須マスク信号は、必須パターンの無意 味のビット群をマスクするのに用いられる。現下の必須要件整合信号は、MC出 力端OUT1が、現下の状態で予期した条件が適合していることを示す「低」で ある場合にば、「高」に設定されるであろう。多重器130は、GET IDR 信号が活性でない限り、状態器90’にこの信号を運ぶ。 この技術は、例えば、AC係数の急速復号に有効に用いることができる。この 係数が複号される一方、状態機90は、現下の必須要件整合出力端におけるブロ ック終端符号の存在を監視することができる。同時に、存在する場合には、エス ケープ符号の発生を示すとともに、ハードのプリセットにより状態機90を適切 な所定の状態に推移させるSPECIAL信号によって非ハフマン・モードが監 視される。二以上の現下の整合(状態機の説明における中間記述の等価物)を監 視すれば、上述したところ以外のものが一連の状態を必要とする。 必須要件RAM122は、現下の必須要件整合値、ビット流の9ビット切片も しくは他の用途に状態機90’により必須要件設定RAM124に蓄積したパタ ーンを蓄積することができる。マウク可能比較器MC内のビット多重器MUXは 、ビット流と必須パターンとの間でMCの出力端OUT2を切換える。この多重 器は、必須要件設定RAM124のB/EP出力によって制御される。必須要件 RAM122は、常時、RD/WR信号により制御される読取りもしくは書込み モードにある。アドレスと動作の読取り/書込みモードとの両方が必須要件設定 RAM124により制御される。かかる動作を必要としない状態で零アドレスへ の書込み動作が行われる。かかるアドレス位置におけるデータは、特別の注意を 払えば使用できる。 必須要件RAMデータが状態機90’によって必要とされる場合には、RAM 124が設定され、そのデータは必須シフト・レジスタ127に負荷される。状 態機90’は、ビット流に含まれているフラグもしくは必須要件設定RAM12 4に本来蓄積されているパターンを要求することができる。かかるパターンは、 小さいカウンタの構成、ビット長の設定その他のような種々の用途に必要とされ 得る。蓄積された必須要素は、多重器MUXを介して順次に状態機90’に伝達 される。必須要素シフト・レジスタ127の順次読取りおよび多重器MUXの切 換えはGET IDR信号により制御される。 必須要素シフトレジスタ127の並列出力ESRは、分枝探索モードで復号さ れた若干の成分のビット幅および値を伝達するために、PVLD値および長さ復 号区域で利用可能にする。 前記処理器120を含む状態機90’回路を設けるのに要する総メモリ量は2 2、064ビットすなわち2.6934キロバイトを超えない。したがってPV LDメモリの総使用量は、2.2598+2.6934=4.9532キロバイ トに等しい。 状態機アルゴリズムに影響する情報は、ハフマン符号化することができる。か かる情況では、ビット流の未復号ビット群は状態機90’に対して無意味である 。 かかるデータの例は、マクロブロック・パターンおよび型である。復号された データが、幾分遅れてpVLD貫通値路で利用し得るようになっても、必ずしも 、状態機90’が必要とする形ではないであろう。例えば、復号されたマクロブ ロック・パターンはマクロブロック内のブロック群のパターンを表すが、状態機 90’が本当に必要とするのはマクロブロックを終わらせるためのブロックの個 数である。この理由で、状態機90’の構成は、分岐探索モードBを、復号結果 に到達するためにビット順次の探索を行うモードに適応させるのが好適である。 分岐探索モードを実行するには二つの方法がある。その一つは、マスク可能の 比較器126の配列のEPとEMとの両入力端を試験ビット用に「高」に設定す る。パターンは、連続状態で先導ビットから、状態機90’を探索するIDRビ ットとともに、分枝の葉に到達するまでスライドする。このようにして到達した 状態は、多種多様の方法で説明することができる。もう一つの方法はビット流片 を必須要件RAM122に蓄積し、必要なときに必須要件シフト・レジスタ12 7にパターンを再負荷し、さらに、GET IDR信号を活性化して、シンボル ・ビットを順次に状態機90’で利用し得るようにすることである。 VLCデータ型の個数が8より多い場合には、分岐探索モードで復号した成分 の符号値およびビット長が、必須要件シフト・レジスタ127の出力端ESRを 介して復号回路で利用し得るようになる。DCTブロック群を処理する場合には 、分岐探索復号モードは、必要でなく、使用すべきではない。 マクロブロック・パータンおよびDCTブロック群を復号しながらpVLD状 態機90を進めるのに単一ビットIDRを使用する例を図12に示す。状態Xで は、状態機90’は、分岐探索モード121を取り入れて、マクロブロックパタ ーン・ビット流を含んだ9ビット切片が必須要件RAM122に書き込まれる。 このビット流の復号が必要な場合には、その切片を必須要件シフト・レジスタ1 27に負荷して、GET IDR信号を活性化することにより順次に読出す。 分岐探索モードでビット群を試験した後に、状態機90’は、マクロブロック 内のブロックの総数の可能性に対応して、6状態1乃至6の一つに(4:2:0 モードで)到達する。図12に描いた6パターンの一つが、マスク可能の比較器 配列126内の多重器を、必須要件設定RAM124に蓄積したパターンに、B /EP信号を用いて切替えることにより、必須要件RAM122に蓄積する。 ブロック復号の過程122では、必須要件パターンおよび必須要件マスクは、 現下の必須要件整合信号を繰り返すIDR出力端を用いて、ブロック終端信号( この側ではA0110)を監視するように設定される。EOB整合が起こると、 必須要件シフト・レジスタ127はGET IDR信号によって進められ(12 4)、書込んだパターンの現下のビットが試験される。この過程は、全ブロック 群が復号されてしまうまで繰返される(125)。 状態数90’および前処理器120は、pVLDメモリの所要量を最小にする ように設計される。さらに、上述した3種類のハードのプリッセットは状態機遷 移論理の低減を支援する。 GET IDRが分岐探索その他の動作モードで活性化されるべき活性化型お よび非活性型の多重状態のような複雑な多重状態は、キー動作に割り当てされる べきである。再負荷動作は、開始符号により常に同じ結果のB同期に到達するの で、多重状態に組み合わせるべきでない。 状態機状態の個数は、必要な場合におけるIF型動作の順次実施のような多周 期動作、もしくは、分岐探索モード動作に適応させるために故意に誇張されてい る。比較すれば、pVLD状態機90’が512状態を有する反面、複雑なMP EG−2状態機は35乃至40状態を用いて設けることができる。これは補助論 理の実質的量を含んでいない。 用意したPLA構成によれば、図5のPLA設定RAM59は、図3のアンド 平面ゲート25の極性(P)およびマスク(M)の各入力端を構成するのに24 3本の線、図3の低レベル・アドレス・ページ分担区域の分岐正統化(TJ)お よび低レベル分担(S)の各入力端を構成するのに163本の線およびオア平面 52の探索(R)入力端を構成するのに180本の線を設けなければならなくな る。したがって、PLA設定RAM59の所要データ出力端の総合幅は586ビ ットになる。この個数は、ある個数の分岐は分担し得ない、あるいは分担容量に は制限があると、仮定すれば、潜在的に低減させることができる。より厳密な最 良化もこの数値を減らすことができる。かかる仮定によれば、PLA設定RAM 59は8×512に構成し得ると仮定しても安全である。 かかる特別の設計は、優れた結果(上述した期待より良好でさえある、すなわ ち上述した5から4への符号化より、称号の5から3への符号化が達成された) を生じている。特に、値の復号に組合わされたハフマン・シンボルに関する22 の積の項は、第1の例においては、16から減らした低レベルの8ページに折り 込まれている。第2の例では、19の積の項が低レベルの6ページに折り込まれ ている。 特別の設計用に考慮する表の全部に対して同様の結果が達成されるならば、低 レベル・ページ・アドレス・フィールドは4ビットから3ビットに低減され、こ れが更なる値RAMの大きさの係数2だけの低減(・75キロバイトの節約)に 変換される。他方、かかるメモリの節約を選ぶよりも、寧ろ、このメモリを利用 して、このメモリを必要とする将来の圧縮標準により符号化したデータの復号に 対する柔軟性をもたらすのが好ましい。 上述したような本発明のpVLDは、特性が最良化されて、他のデータ型に比 べてAC係数データより高度の出力が得られる。しかしながら、最も広い意味で 、これは本発明を限定するものではない。本発明のpVLDの構成は、プログラ ム可能のアンド乃至オア平面pLA、アドレスページの分担を有する可変長符号 化(VCL)データアドレス計画、および、並行と分枝探索との両動作モードで VLDを制御し得る前処理器を備えた普遍的な単一ビット駆動の状態機のような 幾つかの新規の概念を含んでおり、かかる概念は、それぞれ、その本来の資質で 個々の明確な発明を構成するものと信じられる。さらに、本発明のpVLDは、 フィリプス、半導体の3媒体もしくはそれを集積する他の媒体処理器の適切なハ ードウェア加速器ブロックとして設けられ、もしくは、標準装置として設けられ る。以上に詳述した好適実施例におけるRAMの総利用量は4.9532キロバ イトであり、上述した・75キロバイトのメモリ節約は含まれていない。 本発明の好適な種々の説明用実施例を以上に詳述したが、当業者に明らかな発 明の基本的概念の変形が請求の範囲に規定した発明の範囲内に入ることは明らか である。例えば、VLDのメモリを保持するために、外部論理素子(例えばVL Dを組み合わせたマイクロプロセッサもしくは媒体プロセッサ)を入力デジタル ・データ流の符号化に用いた符号化標準を決定して、その符号化標準に適した設 定RAMに復号構成制御データを負荷するのに用いるのが好適である。しかしな がら、メモリの大きさや費用が制約でなければ、幾つかの種々の符号化標準に対 する復号構成制御データは、適当な復号構成制御データを自動的に選択して、必 要なVLDを動的に再構成する役をする制御器を伴った設定RAMに負荷するこ とができる。

Claims (1)

  1. 【特許請求の範囲】 1.複数の異種符号化標準のいずれかにより符号化した複数の可変長符号語を含 む入力ディジタル・データ流を復号するために、入力デジタル・データ流を復 号するために、入力ディジタル・データを受信して、先導語を付したビット流 を含む復号窓を形成する入力回路(レジスタA,レジスタB、73)と、入力 ディジタル・データ流を符号化した符号化標準に応じて複数の異種複号回路構 成から選んだとおりに構成可能であって、入力ディジタル・データ流における 各符号語の長さ及び値を復号するために先導語を付したビット流に係合する復 号回路(36、52、53、59、60、63、65、77、79、81、8 4、87)とを含んだ可変長デコーダ(70)。 2.入力ディジタル・データ流を符号化した符号化標準に応じて複数の異種復号 方式の何れかにより、可変長デコーダ(70)の動作を制御するためのプログ ラム可能の制御器(90)をさらに含んでいる請求項1記載の可変長デコーダ 。 3.外部論理装置が、入力ディジタル・データ流を符号化した符号化標準を判定 して、入力ディジタル・データ流の復号に通した復号回路構成に復号回路(3 6、52、53、59、60、63、65、77、79、81、84、87) を自動的に構成する請求項2記載の可変長デコーダ。 4.復号回路がプログラム可能の論理配列(52、53)を含んでいる請求項3 記載の可変長デコータ。 5.プログラム可能の論理配列が、少なくとも複数のものがそれぞれ選択的に分 担可能の複数の第1論理ゲート(53)を含んでいる請求項4記載の可変長デ コーダ。 6.少なくとも複数のものが第1論理ゲート(53)の出力端を出力線に選択的 に結び付けるようにプログラム可能の複数の第2論理ゲート(52)をプログ ラム可能の論理配列がさらに含んでいる請求項5記載の可変長デコーダ。 7.第1論理ゲート(53)がアンドゲートを備え、第2論理ゲート(52)が 前記アンドゲートの出力端に選択的に係合した入力端を有するオアゲートを備 えた請求項6記載の可変長デコーダ。 8.プログラム可能の論理配列が、先導語を付したビット流に係合した入力端を 有する複数のアンド平面要素(50)を含んだアンド平面(53)、および、 アンド平面(53)の出力端に係合した入力端を有するオア平面(52)を含 み、少なくとも複数のアンド平面要素(50)のアンドゲート(25)が選択 的に可変幅の入力端を有している請求項4記載の可変長デコーダ。 9.入力ディジタル・データ流の少なくとも1種の符号語が符号称号を含み、少 なくとも1種の符号語の複数の異種群のそれぞれが、異種符号称号を有しては いるが同一ビット長である請求項8記載の可変長デコーダ。 10.選択的に可変幅の入力端を備えたアンドゲート(25)を有するアンド平面 要素(50)のアンドゲート(25)をそれぞれ異なる種類の符号称号を検出 するようにプログラムするプログラム回路(27、29、31)をさらに含ん でいる請求項9記載の可変長デコーダ。 11.先導符号語を付したビット流における先導符号語の符号称号を検出するアン ドゲート(25)の出力端のみが論値高レベルにある請求項10記載の可変長 デコーダ。 12.オア平面(52)が、少なくとも1入力端をそれぞれ有する複数のオアゲー ト(55)、および、同じビット長を有する符号語群に属する符号称号を検出 するようにプログラムしたアンドゲート(25)の出力端を同じオアゲート( 55)の入力端に結びつける探索回路(57)を含んでいる請求項11記載の 可変長デコーダ。 13.入力ディジタル・データ流を符号化した符号化標準に応じて複数の異種探索 回路構成に探索回路(57)をプログラム可能にした請求項12記載の可変長 swコーダ。 14.入力端の一つで高レベル・アンドゲート出力を受信するオアゲート(55) の出力端のみが論理高レベルにあって、先導語を付したビット流における先導 語のビット長の1ホットデータ表現を構成する請求項13記載の可変長デコー ダ。 15.選択的に可変幅の入力端を有する各アンドゲート(25)が、Nをアンドゲ ート(25)に対する入力端の総数として、M>0,U>0およびM+U=N のときに、M個のマスク可能入力端とU個のマスク可能入力端とを有する請求 項10記載の可変長デコーダ。 16.入力ディジタル・データ流における符号語の値の復号に用いる符号語値メモ リ(60)をさらに含み、その符号値メモリ(60)が、複数の個々にアドレ ス可能のページ群に論理的に組織され、そのページ群の少なくとも一つが、第 1符号称号によりアドレスされて、第1符号称号に少なくとも一つの他の符号 称号に組合わせた分枝を加えたものによりアドレスして、メモリの利用度を最 大にするとともにメモリの所要量を最小にする個々の符号語値を含んでいる請 求項1記載の可変長デコーダ。 17.制御器(90)が、入力ディジタル・データ流を符号化した符号化標準を示 す符号型識別信号を発生させる請求項3記載の可変長デコーダ。 18.制御器(90)が、複数の所定初期化状態を有する状態機(90’)を含み 、状態機(90’)の現下の状態に応じて、所定初期化状態のうちの選択した 一の状態に自動的にリセットするために、複数のハードウェア・リセット信号 のそれぞれに応動する請求項3記載の可変長デコーダ。 19.制御機(90)が、先導語を付したビット流に係合した第1セットの入力端 (B)、第2セットの入力端(STATE)および中間復号結果(IDR)の1ビット表 現を構成するIDR出力端を有する状態機前処理器(120);状態機前処理器(1 20)のIDR出力端に係号した第1アドレス入力端(A9),第2アドレス入 力端(A8,0)のセットおよび状態機(90’)の次の状態を示す多ビット 出力端を有する状態機メモリ(113);状態機メモリ(113)の多ビット 出力端に係合した第1セットへの入力端および状態機(90’)の現下の状態 を示す多ビット出力端を有し、多ビット出力端が状態機メモリ(113)の第 2アドレス入力端(A8,0)および状態機処理器(120)の第2セット入 力端(STATE)に係合している状態レジスタ(110)、並びに、可変長デコ ーダ(70)の動作制御用の一群の制御信号(VLC,TYPE,VLC/F LC,GLOBAL TYPE,ENABLE,RELOAD,GETIDR )を形成するために、状態機メモリ(113)の多ビット出力復号用の状態デ コーダ(116)を含む状態機(90’)を含んでいる請求項3記載の 可変長デコーダ。 20.制御機(90)が、先導語を付したビット流における所定型の符号語の検出 に応じて分枝探索信号モードで動作する状態機(90’)を含んでいる請求項 3記載の可変長デコーダ。 21.複数の異種符号化標準によって符号化した複数の可変長符号語を含む入力デ ィジタル・データ流を復号するために、入力ディジタル・データ流を受信して 先導語を付したビット流を含む復号窓を形成するための入力手段(レジスタA ,レジスタB、73)と、入力ディジタル・データ流を符号化した符号化標準 に応じて、複数の異種復号回路構成の何れか選択した一つに構成可能であって 、入力ディジタル・データ流における各符号語の長さおよび値を復号するため に先導語を付したビット流に係合した復号回路(36、52、53、59、6 0、63、65、77、79、81、84、87)とを含んだ可変長デコーダ 。
JP52358599A 1997-10-27 1998-10-22 普遍的にプログラム可能の可変長デコーダ Abandoned JP2001507555A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/958,091 1997-10-27
US08/958,091 US5990812A (en) 1997-10-27 1997-10-27 Universally programmable variable length decoder
PCT/IB1998/001684 WO1999022452A2 (en) 1997-10-27 1998-10-22 Universally programmable variable length decoder

Publications (2)

Publication Number Publication Date
JP2001507555A true JP2001507555A (ja) 2001-06-05
JP2001507555A5 JP2001507555A5 (ja) 2006-03-02

Family

ID=25500587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52358599A Abandoned JP2001507555A (ja) 1997-10-27 1998-10-22 普遍的にプログラム可能の可変長デコーダ

Country Status (4)

Country Link
US (1) US5990812A (ja)
EP (1) EP0951754A2 (ja)
JP (1) JP2001507555A (ja)
WO (1) WO1999022452A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246347B1 (en) 1997-10-27 2001-06-12 Philips Electronics North America Corporation Controller for a variable length decoder
KR100601602B1 (ko) * 1999-03-24 2006-07-14 삼성전자주식회사 비트스트림 디코딩 장치
US6292114B1 (en) * 1999-06-10 2001-09-18 Intel Corporation Efficient memory mapping of a huffman coded list suitable for bit-serial decoding
JP2002050996A (ja) * 2000-07-31 2002-02-15 Sony Corp 整数倍相互関係を有するブロック長を用いて符号化された信号を通信伝送路を介して送信する通信システム
JP4174960B2 (ja) * 2000-08-11 2008-11-05 ソニー株式会社 信号処理装置及び方法並びにファイル生成方法
US7215708B2 (en) * 2001-05-22 2007-05-08 Koninklijke Philips Electronics N.V. Resolution downscaling of video images
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
US6822654B1 (en) 2001-12-31 2004-11-23 Apple Computer, Inc. Memory controller chipset
US6693643B1 (en) 2001-12-31 2004-02-17 Apple Computer, Inc. Method and apparatus for color space conversion
US7034849B1 (en) 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US6931511B1 (en) 2001-12-31 2005-08-16 Apple Computer, Inc. Parallel vector table look-up with replicated index element vector
US7015921B1 (en) 2001-12-31 2006-03-21 Apple Computer, Inc. Method and apparatus for memory access
US6877020B1 (en) 2001-12-31 2005-04-05 Apple Computer, Inc. Method and apparatus for matrix transposition
US6573846B1 (en) 2001-12-31 2003-06-03 Apple Computer, Inc. Method and apparatus for variable length decoding and encoding of video streams
US7305540B1 (en) 2001-12-31 2007-12-04 Apple Inc. Method and apparatus for data processing
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US7114058B1 (en) 2001-12-31 2006-09-26 Apple Computer, Inc. Method and apparatus for forming and dispatching instruction groups based on priority comparisons
US6697076B1 (en) 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping
US7558947B1 (en) 2001-12-31 2009-07-07 Apple Inc. Method and apparatus for computing vector absolute differences
US7055018B1 (en) 2001-12-31 2006-05-30 Apple Computer, Inc. Apparatus for parallel vector table look-up
US7467287B1 (en) 2001-12-31 2008-12-16 Apple Inc. Method and apparatus for vector table look-up
US6891976B2 (en) * 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
KR100450753B1 (ko) * 2002-05-17 2004-10-01 한국전자통신연구원 프로세서와 연결된 프로그램 가능한 가변 길이 디코더
US7177313B2 (en) * 2002-05-23 2007-02-13 International Business Machines Corporation Method and system for converting ranges into overlapping prefixes for a longest prefix match
KR100486251B1 (ko) * 2002-08-03 2005-05-03 삼성전자주식회사 가변 길이 코드 복호화 장치 및 방법
US6674376B1 (en) 2002-09-13 2004-01-06 Morpho Technologies Programmable variable length decoder circuit and method
US6781528B1 (en) 2002-10-24 2004-08-24 Apple Computer, Inc. Vector handling capable processor and run length encoding
US6781529B1 (en) 2002-10-24 2004-08-24 Apple Computer, Inc. Methods and apparatuses for variable length encoding
US6707397B1 (en) 2002-10-24 2004-03-16 Apple Computer, Inc. Methods and apparatus for variable length codeword concatenation
US6707398B1 (en) 2002-10-24 2004-03-16 Apple Computer, Inc. Methods and apparatuses for packing bitstreams
JP4484630B2 (ja) * 2004-01-29 2010-06-16 パナソニック株式会社 可変長復号化装置および可変長復号化方法および再生システム
US7683807B2 (en) * 2004-03-12 2010-03-23 Panasonic Corporation Variable-length-code decoding device
US7747095B2 (en) * 2004-10-08 2010-06-29 Nvidia Corporation Methods and systems for rate control in image compression
TWI245571B (en) * 2004-11-05 2005-12-11 Ali Corp Variable-length decoding apparatus and method for the image format of a digital video camera
CN100466748C (zh) * 2004-11-12 2009-03-04 扬智科技股份有限公司 数字摄影机影像格式的可变长度解码装置及方法
US9210437B2 (en) * 2005-12-09 2015-12-08 Nvidia Corporation Hardware multi-stream multi-standard video decoder device
US9794593B1 (en) 2005-12-09 2017-10-17 Nvidia Corporation Video decoder architecture for processing out-of-order macro-blocks of a video stream
US9516326B1 (en) 2005-12-09 2016-12-06 Nvidia Corporation Method for rotating macro-blocks of a frame of a video stream
US9204158B2 (en) * 2005-12-09 2015-12-01 Nvidia Corporation Hardware multi-standard video decoder device
US8731051B1 (en) 2006-02-10 2014-05-20 Nvidia Corporation Forward and inverse quantization of data for video compression
US7966361B1 (en) 2006-02-10 2011-06-21 Nvidia Corporation Single-cycle modulus operation
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
JP2007310245A (ja) * 2006-05-19 2007-11-29 Eastman Kodak Co ドライバ回路
US7324026B2 (en) * 2006-05-19 2008-01-29 Nvidia Corporation Optimization of decoder memory usage for VLC tables
US7626521B2 (en) * 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding control of computational core of programmable graphics processing unit
US7623049B2 (en) * 2006-06-08 2009-11-24 Via Technologies, Inc. Decoding of context adaptive variable length codes in computational core of programmable graphics processing unit
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8849051B2 (en) * 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) * 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
US9602821B2 (en) * 2008-10-01 2017-03-21 Nvidia Corporation Slice ordering for video encoding
US9307267B2 (en) * 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
US9386326B2 (en) 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
US11942970B2 (en) * 2022-03-04 2024-03-26 Microsoft Technology Licensing, Llc Compression circuits and methods using tree based encoding of bit masks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
AU3247393A (en) * 1991-12-23 1993-07-28 Intel Corporation Circuitry for decoding huffman codes
GB2268667B (en) * 1992-06-24 1995-11-08 Sony Broadcast & Communication Serial data decoding
JP2746109B2 (ja) * 1994-03-09 1998-04-28 日本電気株式会社 ハフマン符号復号化回路
FR2722041B1 (fr) * 1994-06-30 1998-01-02 Samsung Electronics Co Ltd Decodeur de huffman
US5587710A (en) * 1995-03-24 1996-12-24 National Semiconductor Corporation Syntax based arithmetic coder and decoder
US5663726A (en) * 1995-12-01 1997-09-02 U.S. Philips Corporation High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering
US5650905A (en) * 1995-12-28 1997-07-22 Philips Electronics North America Corporation Variable length decoder with adaptive acceleration in processing of Huffman encoded bit streams
US5675332A (en) * 1996-02-01 1997-10-07 Samsung Electronics Co., Ltd. Plural-step chunk-at-a-time decoder for variable-length codes of Huffman type

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards

Also Published As

Publication number Publication date
WO1999022452A3 (en) 1999-07-15
US5990812A (en) 1999-11-23
EP0951754A2 (en) 1999-10-27
WO1999022452A2 (en) 1999-05-06

Similar Documents

Publication Publication Date Title
JP2001507555A (ja) 普遍的にプログラム可能の可変長デコーダ
US6246347B1 (en) Controller for a variable length decoder
US6819271B2 (en) Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US7804430B2 (en) Methods and apparatus for processing variable length coded data
US6215424B1 (en) System for variable length codeword processing suitable for video and other applications
JP3136796B2 (ja) 可変長符号デコーダ
US8233545B2 (en) Run length encoding in VLIW architecture
US5898897A (en) Bit stream signal feature detection in a signal processing system
US6043765A (en) Method and apparatus for performing a parallel speculative Huffman decoding using both partial and full decoders
JP2000511738A (ja) Hdtvビデオデコーダ及びデコーディング方法
US20050190609A1 (en) Memory interface and data processing system
US6069575A (en) Variable length code decoder
US20030053700A1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding
US6653953B2 (en) Variable length coding packing architecture
US5781134A (en) System for variable length code data stream position arrangement
US5757295A (en) Variable length decoder with enhanced throughput due to parallel processing of contiguous code words of identical type
Fukuzawa et al. A programmable VLC core architecture for video compression DSP
US6091856A (en) Picture encoding device for compressing picture data
Chang et al. A VLSI architecture design of VLC encoder for high data rate video/image coding
Shah et al. A chip set for lossless image compression
US5657016A (en) Variable length decoder with one of N length indicator
US20060002481A1 (en) Method and apparatus for multi-threaded variable length coding
KR100845062B1 (ko) 복수의 데이터 스트림에 대한 부호화/복호화 엔진
US6317515B1 (en) Method and apparatus for encoding and decoding a data stream using inferential techniques
JPH0486930A (ja) アドレス発生回路

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051020

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070911