JPH06217277A - ルックアップテーブルを使った可変長さのデコーディング方法と装置 - Google Patents

ルックアップテーブルを使った可変長さのデコーディング方法と装置

Info

Publication number
JPH06217277A
JPH06217277A JP3359607A JP35960791A JPH06217277A JP H06217277 A JPH06217277 A JP H06217277A JP 3359607 A JP3359607 A JP 3359607A JP 35960791 A JP35960791 A JP 35960791A JP H06217277 A JPH06217277 A JP H06217277A
Authority
JP
Japan
Prior art keywords
vlc
bit
field
macroblock
values
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
JP3359607A
Other languages
English (en)
Other versions
JP3391469B2 (ja
Inventor
Ke-Chiang Chu
キィ−チャン・チュ
James O Normile
ジェイムズ・オリバー・ノーマイル
Chia L Yeh
チャ・ルン・イー
Daniel W Wright
ダニエル・ウィリアム・ライト
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of JPH06217277A publication Critical patent/JPH06217277A/ja
Application granted granted Critical
Publication of JP3391469B2 publication Critical patent/JP3391469B2/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 可変長さのデータをリアルタイムにデコード
する安価な手段と、リアルタイムに可変長さのデコーデ
ィングを行うために一層効率のよい解決法を提供するこ
とを目的とする。 【構成】 VLCを読みとることによって可変長さのコー
ドワード(VLC)をデコードする方法と装置を提供する。
このVLCはXビットの最大長さを有する。VLCは第1テー
ブルへのインデックスとして使用され、その場合、第1
テーブルは、第1組の値の中のどの値にも等しくないよ
うなYビットを有する全ての可能な VLCのためにデコー
ドされる値を含む。Yは典型的にはXより少く、それ
は、好ましい実施例では、VLCの非常に重要なビットで
成る。VLCのはじめからY個のビットが第1組の値の中
のどの値にも等しくない場合、第2の値は第1テーブル
から戻される。VLCのはじめのY個のビットが第1組の
値の中のどれかの値に等しい場合、第2テーブルへのポ
インターが第1テーブルから戻される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータシステムに
おける可変長さのデコーディング分野に関し、特に、コ
ンピュータシステムにおいてルックアップテーブルを使
って可変長さをデコードする方法に関する。
【0002】
【従来の技術】最近、ビデオ電話、ビデオカンファレン
ス及び又はマルチメディアのような用途にフルモーショ
ンビデオを使用する場合、コンピュータシステムのモー
ションビデオのための規格を取入れる必要が叫ばれてい
る。そのような用途では、現今の通信ハードウェアを使
って伝達される管理可能な長さに対応した音と共に可動
像を表わすにの必要なデータ量を再生することのできる
圧縮技術の開発が要求されている。これらの圧縮技術は
典型的には、ハフマンのエンコーディングを用いてい
る。ビデオデータの圧縮のためにハフマンのエンコーデ
ィングを用いた1つの規格は、ジョイントフォトグラフ
ァーエキスパーツグループ(JPEG)規格として知られてい
る。典型的なものとして、ビデオカンファレンスやビデ
オ電話に使用されるフルモーションビデオの用途のため
にハフマンエンコーディングを使った規格は、 非放送
特性の像を与えるCCITT規格として知られている。この
規格はコンピュータシステムにおける或る種のマルチメ
ディア活動と共に、基本的なビデオテレカンファレンス
やビデオ電話にとって有用である。この規格はまた、モ
ーションビデオ像を伝達するために必要なバンド幅を非
常に縮小させる。
【0003】伝達や保管の目的でモーションピクチュア
ビデオ像を圧縮するためにハフマンのエンコーディング
を使用したもうひとつの規格はモーションピクチュアエ
キスパーツグループ(MPEG)規格として知られている。前
述の他の2つのシステムにおいて、 MPEG規格は、一秒
当り30フレーム(fps)までの割合でフルモーションビデ
オ像を伝達させることができる。MPEGは対応する高品質
の音と共にモーションピクチュアビデオを圧縮させるこ
とができ、そして単一のフレームアドバンス、逆モーシ
ョン、さらにはフレームビデオのような他の特性をも提
供する。これに対して、CCITT規格は単に、前進移動ビ
ューイングのみを可能にし、MPEGのように、スローモー
ションや逆モーションや単一フレーム前進はできない。
CCITTはまた、MPEGより像の品質が劣る。
【0004】MPEGとCCITTは両方とも、 像を別のエリア
へ分解し、これらのエリアからのデータをサンプリング
し、コード化した形で各エリアを表わすことによりフレ
ームの所与の像をコード化する。このインフォメーショ
ンは伝達装置によってコード化され、受信装置によって
デコードされ、かくしてフルモーションビデオの伝達が
可能となる。また、コード化したビデオデータはコンピ
ュータのメインメモリーに、或いは非揮発性保管媒体、
例えばハードディスク駆動体や光学ディスク駆動体、或
いは、フルモーションビデオ像をあとで見るためのテー
プにストアされる。
【0005】ビデオ像の統計学的余剰を利用するため
に、 CCITTやMPEGのような規格は可変長さのコーディン
グとして知られているそのコーディング層の1つにある
技術を使用している。可変長さのコーディングに使用さ
れる可変長さのコードワード(VLC)は図1に図示され、
それに関連して説明されるビデオコーダー又はデコーダ
ー(コーデック)として知られている装置によりエンコ
ードされ、デコードされる。
【0006】図1に示すように、 100は従来のシステム
においてビデオデータをエンコードし、又はデコードす
るために使用されるビデオコーデックである。図1は読
者の理解をたすけるために簡単なブロック図で示されて
いる。図1に示すように、コーデック100は、2つの別
個の部分、即ち、ビデオコーダー110と、ビデオデコー
ダ150とで成る。 ビデオコーダー110はビデオコーダー1
10へ供給されるインフォメーションをコントロールし、
同期化するコーディングコントロールユニット111で成
る。ビデオコーダー110とビデオデコーダー150とは、流
入信号130の特定のビデオラインレートでサンプリング
を行う。 インプットデータ130とアウトプットデータ17
0は1秒当り約40キロビット又は2メガビットの割合で
受信され、 また伝達される。信号130、170はSIF525(5
25線表示フォーマット、 北アメリカ規格)か、SIF625
(625線フォーマット)のいずれかに対してCCIR601フォ
ーマットで生じる。コーディングコントロール111はソ
ースコーダー112をコントロールし、このソースコーダ
ー112は、 CCIR601フォーマットにおいてソースコーダ
ー112への入力となる入力信号130をコード化する。ソー
スコーダー112とビデオ多重送信コーダー113はCCIR601
の信号130を例えばCCITT又はMPEG規格へ変換する。ビデ
オ多重送信コーダー113は、 像が移動する場合、使用さ
れる表示フォーマットの型を指示する或る型のインフォ
メーションやその他のインフォメーションに対して出力
信号120のインフォメーションをエンコードする。多重
送信コーダー113は伝達される像においてエンコードさ
れるこれらの種々の層のインフォメーションを処理す
る。トランスミッションコーダー115がインフォメーシ
ョンを必要とし、それを信号120として伝達するまでデ
ータを保持するために、 インフォメーションは多重送
信コーダー113によってトランスミッションバッファー1
14へ送られる。図1に示すように、トランスミッション
バッファー114は、フルイメージ、即ち像のセットがト
ランスミッションバッファー114にあって、 トランスミ
ッションコーダー 115のためにインフォメーションが準
備されていることを知らせるためにコーディングコント
ロール111へフィードバックを与える。 トランスミッシ
ョンコーダー115は、目的装置を指示するために、或い
はデータ120のためのその他のインフォメーションが伝
達されることを指示するために、 最初に流れ120として
伝達されるデータへヘッダーインフォメーションを追加
する。
【0007】ビデオコーディック100のあとの半分はビ
デオデコーダー150である。ビデオデコーダー150は図1
の部分110のようなコーダーによって生じるもののよう
な、コード化したビットの流れを受信する。ビデオコー
ダー150は表示信号170としてCCIR601フォーマットに像
を表示するため信号をデコードする。 コード化された
インフォメーション160は、コーディック100を含む装置
が適切な受信装置であれば、伝達デコーダー154によっ
て受信される。 このインフォメーションはそれから受
信バッファー153へ送られる。この受信バッファー153
は、ビデオ多重送信コーダー152 がインフォメーション
の層をデコードする準備ができるまで像を保持する。コ
ーダー部分110のビデオ多重送信コーダー113に関して前
述したように、ビデオ多重送信コーダー152は流入する
データ信号160の信号中のインフォメーションを層毎に
はぐ。 それから、このインフォメーションはソースデ
コーダー151へ送られ、このソースデコーダー151はコー
ド化されたビット流を表示信号170として適切なCCIR601
フォーマットへ変換する。ビデオコーディック100は典
型的には、ビデオ電話に使用されるけれども、そのよう
な装置はそのユニットが例えば、マルチメディアのよう
な用途に使用される場合、トランスミッションコーダー
115やトランスミッションデコーダー154を使用すること
なしに使用することができる。従って、この型のユニッ
トはエンコーディング及びデコーディングのみの回路を
有し、 伝達及び受信回路を有していない。ユニット100
の外部コントロールは中央処理ユニット、又は他の同様
の回路を介して行われる。
【0008】図1のデコーダー 150によって受信される
インフォメーションは可変長さのコードワード(その長
さは異る値に対して一定していない)であるので、ビデ
オ多重送信デコーダー152 は受信されるあらゆる可能な
VLCを信号170へ変換する手段を有していなければならな
い。 例えば152のような従来のビデオ多重送信デコーダ
ーは、適切にデコードされる信号170に対してCCIR601値
を発生させるため可能な VLCの全てに対して単一のルッ
クアップテーブルを使ってデコーディングを行う。 こ
れらのVLCは時々、長さが0ビット(信号がない場合)
から長さが14ビットにわたるので、ビデオ多重送信デコ
ーダー152は、流入VLCの可能な最大長さに対する入力を
含むルックアップテーブルを必要とする。 CCITT及びMP
EG規格に対して長さが14ビットまでのVLCの場合、この
テーブルは約214、 即ち合計16,384のエントリーを必
要とする。流入するビット流中、 多くのVLCがエンコー
ドされるので、例えば152で示す、 ビデオ多重送信デコ
ーダーはそのデコーダーによってわかるようにこれらの
VLC の各々に対して別個のルックアップテーブルを必要
とする(例えば、 長さが14ビットまでのVLCに対して10
個のルックアップテーブルが必要とされる場合、ビデオ
多重送信デコーダー152 によって必要とされる保管は、
それらのテーブルで合計約160,000のエントリーにのぼ
る)。 このように、従来の多重送信デコーダー152で
は、 莫大な量の保管を必要とする。
【0009】もうひとつの問題は、流入ビット流がリア
ルタイムシステムにおいて制限時間内にデコードされね
ばならず、これらの多数のテーブルへのルックアップが
性能を妨げるために生じる。リアルタイム以外の状況で
は、像はゆっくりとデコードすることができるので問題
はない。しかしながら、ビデオ電話やマルチメディアの
ようなリアルタイムの適用例では、ビデオが或る比率で
操作されなければならないこと(或る例では29.97Hzす
なわち約30fps)の他に、データの流入連度が高率であ
ることにより、ビデオ多重送信デコーダーは、限られた
時間内に、デコーディングやその他の計算をしなければ
ならなくなる。従って、或る従来のシステムでは、デコ
ーダー150によってデジタル信号プロセスサーが使用さ
れてきた。これらは、コード化された流入するビット流
からの像をデコードし、時間内にそれを表示することは
可能である。かくして、多数のルックアップテーブルを
使用することによりメモリーが増し、性能の点で不利に
なることの他に、例えば数学的共働プロセスサー又はデ
ジタル信号プロセスサーのような高価な構成要素を使用
することにより、 ビデオ多重送信デコーダー150のコス
トが高くなる。それ故に、ビデオ電話やマルチメディア
やその他の現今の用途にリアルタイムビデオを多く使用
するようになるために、ビデオデータをデコードするた
めにもつと安価で、しかも一段と効率のよい解決法が望
まれる。
【0010】
【発明が解決しようとする課題】本発明の目的の1つは
可変長さのデータをリアルタイムにデコードする安価な
手段を提供することである。
【0011】本発明のもうひとつの目的は、リアルタイ
ムに可変長さのデコーディングを行うために一段と効率
のよい解決法を見い出すことである。
【0012】
【課題を解決するための手段】これらの目的及びその他
の目的は、 Xビットの最大長さを有するVLCを読みとる
ことによって可変長さのコードワード(VLC) をデコード
する方法と装置により達成される。好ましい実施例にお
いて、V LCはハフマン型エンコーディングを使ってコー
ド化され、ビデオの圧縮のために、MPEG(モーションピ
クチュアエキスパートグループ)規格、 CCITT規格、或
いはJPEG(ジョイントフォトグラファーズエキスパート
グループ)規格のいずれかで使用される。 また、VLCは
オーディオ又は他の種類のデータをエンコードするため
に使用される。 VLCは第1テーブルへインデックスとし
て使用され、その第1テーブルは第1組の値の中のどの
値にも等しくない第1Yビットを有する全ての可能なVL
C に対してデコードされる値を含む。このテーブルはこ
の好ましい実施例では、”頻繁な”テーブルとして知ら
れている。なぜなら、そのテーブルがデコード値に戻す
VLCは典型的には、最も頻繁にビットパターンを生じる
ものであるからである。Yは典型的にはXより小さく、
それは好ましい実施例では、VLCの最も重要なビットで
成る。VLCの第1のYビットが第1組の値の中のどの値
にも等しくない場合、第2値は第1テーブル、 即ち”
頻繁な”テーブルから戻される。VLCの第1Yビットが
第1値に等しい場合、ポインターは第1テーブルから第
2テーブルへ戻る。第2テーブルはこの好ましい実施例
では、”非頻繁な”テーブルとして知られている。なぜ
なら、そのテーブルがデコード値を発生させるビットパ
ターンの頻度が第1テーブルのそれより少く生じるから
である。 VLCは第2テーブルへのインデックスとして使
用され、第2テーブルから第3値が戻される。この値
は、好ましい実施例ではデコード値である。これは2段
階のテーブルルックアップを記載しているけれども、こ
の考えは必要に応じて何段階のルックアップテーブルに
も及ぼすことができる。本発明は、 VLCの最大可能な長
さを有するあらゆる可能なビットパターンに対してはデ
コード値がないという事実を効果として有する。 例え
ば、VLCをデコートする従来の単一ルックアップテーブ
ル、又は内容をアドレス可能なメモリーアプローチにお
いて、これらのVLCが最大可能な長さ14ビットを有する
場合、ルックアップテーブル、即ち内容をアドレスする
ことのできるメモリーは214、即ち16,384のエントリー
を有する。2段式ルックアップテーブルを使った好まし
い実施例において、2個の別々のルックアップテーブル
は28、即ち256のエントリーを有し、 合計して512のエ
ントリーとなる。この実施例において、32の係数だけメ
モリーを節約でき、同時に一段と小型のルックアップテ
ーブルにアドレスすればよいので、 性能も向上する。V
LCの最大長さとルックアップテーブルの数が増すのでメ
モリーの節約は指数関数的に増大する。これは好ましい
実施例のようにリアルタイムでビデオデコードを行う例
においては特に有用である。
【0013】
【実施例】本発明はルックアップテーブルを使って可変
長さをデコーディングする方法と装置に関する。以下の
記載においては、説明上、本発明を完全に理解してもら
うために、特定値、信号、コーディングフォーマット及
びインプットフォーマットについて説明する。しかしな
がら、本発明はこれらの詳細に限定されないで実施でき
ることはこの技術に熟達した人々にとって明らかであろ
う。その他、本発明を不必要にわかりにくくすることが
ないように周知の回路や装置はブロック図で示す。
【0014】図2を参照すれば、本発明の好ましい実施
例を実施したコンピュータシステムを符号200で示す。2
00はインフォメーションを連絡する母線、又は他の通信
手段201と、 インフォメーションを処理する母線201に
接続する処理手段202と、プロセスサー 202のためのイ
ンフォメーション及びインストラクションを保管するた
めに母線201に接続するランダムアクセスメモリー(RAM)
又は他のダイナックな保管装置204(以下メインメモリ
ーと呼ぶ)と、プロセスサー202のための静的インフォ
メーション及びインストラクションを保管するため母線
201 に接続したリードオンリーメモリー(ROM)及び/ま
たは他の静的保管装置206と、インフォメーション及び
インストラクションを保管するため母線201に接続し
た、 例えば磁気ディスク又は光学ディスク及びそれに
対応するディスク駆動体のようなデータ保管装置207と
で成る。コンピュータシステム200はさらに、コンピュ
ータユーザーへインフォメーションを表示するため母線
201に接続した例えば陰極線管(CRT)のような表示装置22
1と、 インフォメーション及びコマンドの選択されたも
のをプロセスサー202へ連絡するため母線201に接続し
た、アルファベット及び数字のキー及びその他のキーを
含むアルファベット及び数字入力装置222と、 方向イン
フォメーション及びコマンドの選択されたものをプロセ
スサー202 へ連絡するため母線201に接続した、例えば
マウス、トラックボール、 或いはカーソル方向キーの
ようなカーソルコントロールキー223 とを有する。
【0015】好ましい実施例において、 コンピュータ
システム200はカリフオルニア州、キューパーティノに
所在するアップルコンピュータ社製マッキントッシュS
E又はマッキントッシュIIのようなマッキントッシュ
系のパーソナルコンピュータの1つである。プロセスサ
ー202は、 イリノイ州、シャウムブルグに所在するモト
ロラ社製68000 系マイクロプロセスサの1つである。
【0016】図2に示すコンピュータシステム200は図
1に示すビデオコーディック100の主要部分に使用され
る。 好ましい実施例はコンピュータシステム200のハー
ドウェア(例えば別の回路、或いはファームウェア)又
はソフトウェアのいずれにも実施することができる。
【0017】特定像を分解してそれをコード化する1つ
の方法を図3〜7に図示しており、それらの図面に関し
て説明する。ここで説明する方法は現今のMPEG規格の一
部である。この説明はMPEG規格に焦点を当てているけれ
ども、ここに使用されている技術や思想はCCITT規格やJ
PEG規格のアナログを有し、また、VLC規格を使った他の
技術を含む。この好ましい実施例はこれらの分野にも同
様に使用することができる。従って、この記載は本発明
の範囲を制限するように解釈すべきでない。図3に示す
ように、 特定のビデオ像300は例えば301〜318のように
一連の水平スライスに分解できる。図3に示すように、
ビデオ像300の特定のスライス301はマクロブロックスラ
イスとして知られている。北アメリカでは、ビデオ像30
0は約525本の線の水平解像度を有する。この規格はSIF5
25として知られ、図3に示すように、15本のマクロブロ
ックスライス301〜315で成る。ヨーロッパや世界の他の
種々の地域では、 SIF625規格が使用される。この規格
は約625本線の水平解像度を有し、図3に示すように、
スライス318まで伸長する。図3に示す例えば301のよう
な各マクロブロックスライスは一連のマクロブロックに
分解される。これについては、図4に関連しながら説明
し、図示する。
【0018】図4は1本の特定のマクロブロックスライ
ス301を示し、 これは図4に示すように22個の水平マク
ロブロック321〜330に区分されている。さらに、図4に
示す例えば321のような各マクロブロックは、 図4に示
すように6個の別個のブロックに区分され、このブロッ
クはそのマクロブロックの所与の属性を表わす。図4は
321を331〜334に区分する、これはYを表わす、 即ち、
所与の像にサンプルされる特定のマクロブロックの発行
体を表わす。さらに、このマクロブロックは青色のクロ
ミナンスレベル(Cb)と赤色のクロミナンスレベル(Cr)を
それぞれ表わす2個のさらなるブロック335、336で成
り、この335と336は、水平及び垂直デシメーションフィ
ルターを使って像をサンプリングすることにより発生す
るマクロブロックエリア全体に対して青色と赤色の全ク
ロミナンスを表わす。各ブロックはそのマクロブロック
に対して特定の発光値及クロミナンス値を与える。これ
は像の走査線の奇数フィールドをサンプリングすること
によって決定され、サンプルされたエリアに対して全発
光及びクロミナンス値を発生する。これらのブロックは
マクロブロックの中に連続位数331、332、333、334、33
5、336で表わされる。
【0019】図5に示される331〜336のような各ブロッ
クは8×8個のピクセルグループに分割される。図6に
は、331のような発光ブロックである1つの特定のブロ
ック、又は335、又は336のようなクロミナンスブロック
が示されている。図6に示すように、発光ブロック331
は8×8個のピクセルの大きさを有し、 各ピクセルは
対角状ジグザグ模様で走査される。換言すれば、ブロッ
ク331 の第1ピクセルはピクセル341、即ち、ブロック3
31の左最上位ピクセルである。次にアドレスされるピク
セルは341の右隣のブロック342であり、次に走査される
ピクセルはピクセル342の下の左側にあるピクセル343で
ある。それから344が343の下のピクセルとしてアドレス
される。345はピクセル344の右上のピクセルとしてアド
レスされる。図6には、その後の走査されたピクセル34
6が示されている。 ピクセルの全部はこ方法でアドレス
され、遂に、ブロック全体が図6に示すように、右の最
下位ピクセル347の所でブロック全体がサンプルされ
る。 各ブロックのクロミナンスサンプル及び発光サン
プルはあらゆるクロミナンスサンプルに対して4個の発
光サンプルが生じるように仕組まれている。2個のクロ
ミナンスサンプルは互いに重なり合って、取り巻きピク
セルの青色クロミナンス値Cb335 と赤色クロミナンス値
Cr336を表わす。所与の像に対するサンプルの配置が図
7に示されている。
【0020】図7に示すように、各ブロックにつき4個
の発光サンプルがある、例えば、図7に示すような355
の如き各クロミナンスに対して351、352、353、 354が
ある。従って、この方法を使って、 SIF525又はSIF625
フォーマットに対してCCIR601フォーマットに表わされ
る像は、例えば、356、357のような各ブロックの境界の
内部のピクセルに対してサンプルされる。これはコード
化のためにブロックに対して全体として適切なクロミナ
ンス値及び発光値を発生させる。
【0021】MPEG規格は完全には決定されていないけれ
ども、 好ましい実施例は、VLCルックアップテーブルの
コード化がいかに多数の段階で行われるかを説明する一
例として試みのMPEG規格を使用する。MPEGにおいて、階
層フォーマットで一連の移動ビデオ像においてコード化
が行われる。最高レベルのこれらの層はフレームグルー
プ(GOF)層として知られている。次の層はピクチュア層
である。各GOFは(ピクチュア層の所で)多くの連続フ
レームで成り、それは”イントラ”フレームで始まり、
デコーダが受信するビットストリーム中の次の”イント
ラ”フレームの前のフレームで終わる。1つのフレーム
グループの例が400として図8に示されている。GOF400は
イントラフレーム401から次のイントラフレーム402の1
つ手前のフレーム403までの全フレームである。また、
1つのフレームグループは1以上の多数の連続フレーム
である。その数は下記の方法で流入するビットストリー
ムのデータフィールドに指示される。 それらのフレー
ムはGOFのMPEG規格の”内揮”フレーム、又は”予期”
フレームである。例えば、400のような各GOFを受入れる
前に、ヘッダーの或るインフォメーションがデータを伴
って伝達される。このインフォメーションはGOF層に伝
達される。 ここでそれについて説明する。
【0022】MPEG規格で前述したように、移動画像はデ
ータ内の階層構造においてコード化される。この構造は
層内で以下のもので成る。 1)フレームグループ(GOF) 層 2)ピクチュア層 3)マクロブロックスライス(MBスライス)層 4)マクロブロック(MB)層 5)ブロック層
【0023】連続層のうちの1つの層に対するデータは
その前の層のデータのフィールドを占める。図9に示す
ように、GOF層は500で示すフォーマットにある。図9に
示すように、GOF500は長さが24ビットのフレームグルー
プスタートコード(GOFSC)501で始まる。これはフレーム
グループが多重送信デコーダによって受信されようとし
ていることを示す。各GOFSC501に含まれる値は0000 000
0 0000 0001 1111 1111である。GOFSC501の次には、水
平ピクチュアサイズ(HORSIZE)データフィールド502があ
る。このフィールドは長さが12ビットで、値1〜3968の
範囲にわたる。次のフィールドは垂直サイズフィールド
(VERSIZE)503である。このフィールドもまた長さが12ビ
ットで、 値は1〜4095である。次のフィールド504は、
ピクセルアスペクトレシオを保管するために使用され、
ASPRAT504として知られている。ASPRAT504は4ビット
数として表わされ、 各アスペクトレシオは表1に示す
次のコードで示される。
【0024】
【表1】
【0025】GOF500における次のフィールドはFRATE505
であって、これは秒当りのフレーム(fps)、又は秒当り
のサイクル(Hz)でGOF500のフレームレートを示す。 こ
のフレームレートは表2に示すコードで示される。
【0026】
【表2】
【0027】データパケット500における次のフィール
ドはリンクビット506である。これは通常は0にセット
される1ビットフラグである。それはこのフレームグル
ープの前のフレームグループが変化したことを示すため
にエジターによって1にセットされる。その場合に
は、”イントラ”コードフレームの次の二方向予期コー
ドフレームを捨てなければならない。次のフィールドは
エキストラ挿入インフォメーション(EI)ビット507であ
る。507はこのフィールドに続くデータフィールド508の
存在を示す。このフラッグが0にセットされると、GOF5
00はスペアフィールド508を含まない。しかしながら、E
Iビット507が1にセットされると、スペアフィールド50
8はGOF500に存在する。 スペアフィールド500は現在使
用されているMPEG規格の仕様に適合した背景エジション
を示すために使用される。 現在、このフィールドは限
定されていない。スペアインフォメーションは複合の8
ビットデータを含み、複合エキストラ挿入インフォメー
ションとスペアインフォメーションを含む。 EIビット5
07が1にセットされる場合に第1スペアインフォメーシ
ョンが存在する。 それから508はスペアデータの後にも
うひとつのエキストラ挿入ビットを含み、そのあとにも
うひとつのEIビットがある場合、付加的スペアインフォ
メーションを含む。これはGOF500に存在するような多く
のEIインフォメーションやスペアインフォメーションの
場合に連続する。最後に、GOFの残り部分509は移動像を
限定するためにピクチュアデータを含む。このインフォ
メーションは今、説明しているピクチュア層に含まれ
る。
【0028】500のフィールド509には、 図10に示す
例えば600のような複合ピクチュアデータが含まれる。5
09内に含まれる例えば600のような各ピクチュアデータ
はピクチュアスタートコード(PSC)601で始まる。このフ
ィールドは長さが24ビットで値0000 0000 0000 0001 00
00 0000を含む。 PSC601は、ピクチュアのスタートを多
重送信回路へ指示する。PSCフィールド601に続くのは、
長さが5ビットの一時的リファレンス(TR)フィールド60
2である。 この5ビット数は、GOF500の前のピクチュア
ヘッダーにあるその値を1だけ増やすことにより形成さ
れる。フレームグループの最初のピクチュアはTRフィー
ルド602に0を含む。TRフィールド602のために使用され
る算術はモジュロ32アリスマティックで行われる。従っ
て、その前のピクチュアヘッドが31の時、次のピクチュ
アヘッドは0を含むTRフィールド602を有することにな
る。
【0029】ピクチュアデータ600にある次のフィール
ドはPフレームタイム(PTYPE)フィールド603である。
このフィールドは長さが2ビットであって、ピクチュア
データが含むフレームタイプを指示するため表3に示す
値でコード化される。
【0030】
【表3】
【0031】ピクチュアデータ600の次の2つのフィー
ルドは前方フレームフィールド604と後方フレームフィ
ールド605である。 これらのフィールドは次のフレーム
と前のフィールドをGOFの現在フレームへアドレスする
ために使用される。 この間接的行為は、前方及び後方
移動画像をMPEGの表示スクリーンに表示することを可能
にする。CCITTは後方移動を許さないので、 この規格で
はそれに対応するフィールドは存在しない。
【0032】データ600にある次の2つのフィールドは
イクストラ挿入インフォメーション(EI)606とPSPAREイ
ンフォメーション607とである。 図9のフィールド50
7、508に関して説明するように、EI606はスペアインフ
ォメーションフィールド607がない場合、0を含み、ス
ペアインフォメーション607が存在する場合、 1を含
む。ピクチュアスペアインフォメーション607はまた、
図10に示す例えば600のようなピクチュアデータの後
方適合性のために使用される。また、前述の507、508の
場合のように、 607は9ビットの各グループにある第1
ビットが1にセットされている場合、付加的スペアイン
フォメーションを含む。これはスペアインフォメーショ
ンを示すフラッグビットが存在することにもうひとつの
フラッグビット8が従うことを示している。これは、0
を含むEIビットで示すようなスペアインフォメーション
がなくなるまで続く。 最後に、ピクチュア層パケット6
00はここで説明するマクロブロック(MB)スライスデータ
608を含む。
【0033】その多くがデータ600のフィールド608に含
まれるマクロブロックスライスは図11に700として示
されている。前述のように、 各フレームはマクロブロ
ックスライス(MBS)に分割され、 各スライスはフレーム
内で左から右へ、そして上から下へ向う順位で一連のマ
クロブロックで成る。 MBCのマクロブロックの数は可変
自在である。1フレームのスライスは他のフレームのス
ライスと同じである必要はない。スライスはそのフレー
ムの任意のマクロブロックで始まり、そしてどのマクロ
ブロックで終わることもでき、必ずしも像の左縁及び右
縁で終わる必要はない。スライスは一列のマクロブロッ
クから次の列のマクロブロックまで継続する。フレーム
の最少数のスライスは1である。前述のように、SIF525
フォーマットの場合、像は15のMBSを含む。SIF625本線
フォーマットの場合、その像は18のMBSを含む。MBS700
はマクロブロックスライスのスタートを示すスライスス
タートコード(SSC)701で始まる。これは値0000 0000 00
00をもつ16ビットワードである。SSC701は各MBS700の開
始を示す。MBS700にある次のフィールドはスライス垂直
位置(SVP)フィールド702である。このフィールドはスラ
イスの第1非固定マクロブロックのマクロブロックユニ
ットの垂直位置を示す(最大、SIF525の場合15、SIF625
の場合18)。コーディングはナチュラルバイナリーであ
って、そのフィールドは長さが8ビットである。従っ
て、第1位置は0000 0001である。 2個以上のMBSが共
通のSVPを有することができ、フィールド702に示される
SVP数にギャップが存在する。
【0034】MBS700にある次のフィールドは長さが5ビ
ットのクオンティゼーションパラメーター(SQUANT)703
である。この固定長さのコードワードは次のMQUANTによ
ってオーバーライドされるまでそのブロックグループで
使用されるクオンティゼーションパラメーターを示す値
を提供する。この特定値の重要性は本発明の範囲外であ
るので、これについてはこれ以上説明しない。さらに、
イクストラ挿入(EI)インフォメーションはフィールド70
4に存在し、705は1ビットEIインフォメーション704が
1を含む場合に存在する。 EI704が0を含む場合、フィ
ールド705は存在しない。ピクチュアの前層に関連して
説明しているように、スペアフィールド705はEIインフ
ォメーションに対して他のフラッグを含むことができ、
もしそうであれば、さらに8ビットが1を含む各EI値
に従う。再度、前述の層におけるように、EI及びSPARE
インフォメーションフィールド704、 705はMPEGに対し
て将来の適合可能なエジションのために付加的データフ
ィールドを提供する。最後に、図11に示すフィールド
706には、マクロブロックデータが含まれる。 各マクロ
ブロックスライスはフィールド706に22個のマクロブロ
ックを含む。 図12に関連しながら、1個のマクロブ
ロックについて説明し、図示する。
【0035】図12に示すように、マクロブロックスラ
イス700のフィールド706に多く存在するうちの1つのマ
クロブロック(MB)を800として示す。MB800の第1フィー
ルドはマクロブロックのアドレス(MBA)フィールド801と
して知られている。 MBAは、GOFの最後のフレーム以
来、変化したり、 変化しないようなマクロブロックに
対して可変長さのコードワード(VLC) を遂行するために
使用される相対的なアドレス方法である。この方法につ
いては下文でもっと詳しく説明するが、MBA801は可変長
さのフィールドである。さらに、 MB800はイントラマク
ロブロック、予期マクロブロック、又は内揮マクロブロ
ックを示すマクロブロック型(MTYPE) フィールド802を
含む。フィールド801の場合と同様に、このフィールド
はVLCであり、これについては下文で詳述する。 さら
に、マクロブロック800は長さ5ビットのクオンタイザ
ーフィールド(MQUANT)803を含む。前述のMBスライス700
のクオンティゼーションフィールド703の場合と同様
に、 このコードワードは、次のMQUANT値によってオー
バーライドされるまでマクロブロックのこのブロック及
び次のブロックのために使用される値を提供する。この
フィールドのために使用される値は前述のSQUANT703の
ために使用されたものと同じである。
【0036】MB800にある次の2つのフィールドはモー
ションベクトルデータ1(MVD1)804と、モーションベク
トルデータ2(MVD2)805である。 これら2つのフィール
ドはまた、VLCであって、これについては後文で詳述す
る。 これらのフィールドの各々は、予期フレームに対
して全てのマクロブロックのために包含され、また、内
揮フレームの全ての非イントラマクロブロックのために
包含される。 MVD2805は内揮予期の場合にのみ包含され
る。MVD1804及びMVD2805は特定のMB800 の水平分力及ぶ
垂直分力に対するVLCで成る。これらのフィールドのVLC
については下文で詳述する。MVDの804と805の各々は一
対の差値を表わす。 一対の片方のみが許容範囲内に含
まれるマクロブロックベクトルを生じさせる。
【0037】MB800にある次のフィールドはコード化さ
れるブロックパターン(CBP)フィールド806である。この
フィールドはMTYPE802によって指示される場合に存在す
る。このコードワードは少くとも1つの変換係数が伝達
されるMB800のブロックを信号で指示するパターン数を
与える。 CBPフィールドに含まれるパターン数は次式で
表わされる。
【0038】 32*P1+16*P2+8*P3+4*P4+2*P5+P6
【0039】上式において、PNはブロックNに対して
係数が存在する場合、 1であり、その他の場合は0と
なる。ブロック数については、下文で詳述する。CBP806
は、イントラフレーム、又はイントラマクロブロックに
は使用されていない。最後に、マクロブロック800はフ
ィールド807にブロックデータを含む。このデータにつ
いては、下記の図13に示すブロック層データに関して
説明する。
【0040】図13に示すように、 その多くがフィー
ルド807に含まれているような1つのブロック900が図1
3の900として示されている。各ブロックはブロックタ
イプ(BTYPE)フィールド901を含む。このフィールドは8
×8のマクロブロックモードによって指示される場合
や、 対応ブロックが前述のフィールド806によって指示
されるようにコード化され、デコード化される場合にの
み存在する。さらに、ブロック900は長さが5ビットの
Bブロッククオンタイザー(BQUANT)902を含む。この値
はBTYPE901によって指示される場合にのみ存在する。こ
のフィールドは次のMQUANT又はBQUANTによってオーバー
ライドされるまで、そのブロックグループのこのブロッ
ク及び次のブロックに使用されるクオンタイザー値を提
供する。さらに、ブロック900 はBTYPEフィールド901に
よって指示される時にのみ存在するフィールドモーショ
ンベクトルデータ1(MVD1)903で成る。MVD1903は予期フ
レームの全MBに対して包含され、また、内揮フレームの
全ての非イントラMBに対して、包含される。 MVD1903は
水平分力に対するVLCと、それに続く垂直分力に対するV
LCとで成る。これは図11に関して前述したMVD1及MVD2
フィールド804、805に類似する。 これらのVLCについて
は下文で詳述する。再度、MVD1804及びMVD2805フィール
ドの場合と同様に、このフィールドに含まれる値は一対
の差値を表わす。この一対の差値の片方だけが、許容範
囲内に含まれるマクロブロックベクトルを生じさせる。
【0041】最後に、ブロックデータ900は、変換係数
フィールド(TCOEFF)904を有し、このフィールドは、MTY
PEフィールド802がそれが”イントラ”マクロブロック
であることを指示する時、マクロブロックにある全ての
6個のブロックのための変換係数データを含む。換言す
れば、MBアドレスフィールド801と、MTYPEフィールド80
2と、 CBPフィールド806と、8×8モードBTYPEフィー
ルド901は信号を出す。これらのブロックは、そのため
に伝達される係数データを有する。ブロック900は、こ
のブロックの終わりを指示するブロックマーカー905の
端部で終了する。 これは表11に示すように、EOBフィー
ルド905におけるパターン"01"である。
【0042】MPEGコード規格の特徴は、伝達されるフレ
ームデータグループの或る面が可変長さのコードワード
(VLC)インフォメーションで成るということである。VLC
インフォメーションは、MPEGにコード化されるモーショ
ンピクチュアデータに使用されるマクロブロック用コー
ドワードの統計学的余剰ワードを利用するために使用さ
れる。このVLCはまた、CCITT及びJPEG規格にも使用され
る(しかし、必ずしも同一フィールドに対して使用され
るわけではない)。マクロブロックにある特定フィール
ドは、VLCインフォメーションを使ってコード化され
る。 これについてはここでその特定のコードワードを
使って説明する。
【0043】マクロブロックデータ800のMBAフィールド
801の場合、 マクロブロックアドレスは全フレームにお
いてコード用マクロブロックのために使用される相対的
アドレスである。データが付加されないマクロブロック
は、マクロブロックアドレスを使ってランレングスがコ
ード化される。これらのマクロブロックは固定マクロブ
ロックと呼ばれる。イントラフレームにおいては、マク
ロブロックは、そのモードが許容されても決してコード
化されることはない。予期フレームにおいては、マクロ
ブロックは、そのモーションベクトルが0で、全てのそ
のクオンタイズド係数が0の場合に固定化する。内揮フ
レームにおいては、マクロブロックは、そのモーション
ベクトルが0で、全てのそのクオンタイズド係数が同じ
く0の時に固定化する。MBA801は、 例えば700のような
マクロブロックスライス内にマクロブロックの位置を指
示するVLCである。 マクロブロックスライスの非固定順
位が図3に示されている。 例えば700のようなマクロブ
ロックスライスにおける第1の非固定マクロブロック80
0の場合、MBA701は、図3に示す例えば300のようなフレ
ームにそれを位置づけることによって示されるように、
フレームにマクロブロックスライスを位置づけることに
よって指定される絶対的なアドレスを含む。次のマクロ
ブロックの場合、MBA801はマクロブロックの絶対的アド
レスを最後に伝達されたマクロブロックとの間の差を含
む。このマクロブロックアドレスに対するコード表は表
4に示す通りである。
【0044】
【表4】
【0045】従って、 マクロブロックアドレスが上記
表に示すようなMBAの欄に示されるものの1つと同じで
あれば、マクロブロックスライス800のフィールド801に
保管されるVLCは第2欄に示されるコードである。 デコ
ーディングはこの逆の方法で行われる。VLCフィールド8
01が第2欄に示されるコードワードを含む場合、戻され
るマクロブロックアドレスは欄1に示すものとなる。
【0046】MPEG規格のVLC であるもうひとつのフィー
ルドは図12のマクロブロックデータ800に示される MT
YPEフィールド802である。図12に示すマクロブロック
タイプフィールド802 の場合、これらの差型フレームの
各々は異なるタイプを必要とし、ひいては、 フレーム
のタイプによって異なるVLCを発生させる。イントラフ
レームの場合、 そこで発生するVLCは表5に示す通りで
ある。イントラ+Qはイントラフレーム+クオンティゼ
ーションを意味する。さらに、図11のフィールド703
に対応するMQUANTの欄のXは、 MQUANTフィールド70
3が存在し、それが1にセットされることを示してい
る。
【0047】
【表5】
【0048】予期フレームは表6に示すようにエンコー
ドされる。ここでもまた、イントラフレームの場合のよ
うに、長さが0ビットから9ビットまでのVLCが多数あ
る。この最大9ビット値は表6に最後のエントリーとし
て示されている。
【0049】
【表6】
【0050】各欄は、 図12に示すマクロブロック800
にある対応フィールドのフラッグの存在を"X"で示す。"
8-ESC"エントリーだけは図5に示すようなデータをエン
コードする実際の8×8ブロックを使用する。表6に示
す残りのエントリーはその欄に示すVLCを含むMTYPEフィ
ールド802を発生させる。
【0051】内揮フレームは下の表7に示す値を含むそ
のMTYPEフィールド802をもったマイクロブロック800を
有する。
【0052】
【表7】
【0053】図示のように、8-ESCモードだけは前述の
マクロブロックからのフル8×8ブロックデータを使用
する。この8×8マクロブロックデータの配置について
は後述する。表6に示す予期(プレディクテッド)フレ
ームデータの場合と同様に、マクロブロック及びブロッ
クデータフィールド800及900にある対応フィールドはこ
の表に示すように説明される。 マクロブロック800にあ
るマクロブロックタイプフィールド802は最後の欄に示
すVLCとして説明される。
【0054】"8-ESC"のMBTYPEを有する予期 (プレディ
クテッド)フレーム及び内揮(インターポレイテッド)
フレームの場合、これは図12に示すマクロブロック80
0のCBPフィールド806に従う。従って、ブロックデータ
フィールド807に存在するブロック層データ900の代わり
に、そのフィールド807には、図6からの8×8ブロッ
クデータが存在する。CBPフィールド806は、現在存在す
る各ブロックの数を含む。例えば、第1輝度ブロックだ
けが存在する場合、CBPフィールド806は32(32*P1)
を含む。データ900のBTYPEコードワード901は、そのワ
ードがデータ800のMTYPE802フィールドに従ってエンコ
ードされることを示す。クオンタイザーが更新されるべ
きことをブロックタイプ801が指示する場合に、BQUANT9
02が存在する。モーションベクトルデータは、マクロブ
ロックのモーションベクトルデータがエンコードされる
のと同じ方法で区別してエンコードされる。しかしなが
ら、ディファレンシャルコーディングのためのプレディ
クターとその解釈にはいくらかの差がある。ブロックデ
ータにエンコードする際には、差はない。
【0055】予期フレーム及び内揮フレームのためにマ
クロブロック800のフィールド804、805に含まれるモー
ションベクトルデータは、 マクロブロックスライス内
に区別的にエンコードされる。これらのベクトルは次の
ルールに従う。即ち、 1)各前方または後方モーションベクトルは、8×8モ
ードを除いて、同一タイプの最後のベクトルに対してコ
ード化される。 2)予期モーションベクトルは、マクロブロックスライ
スのスタート時、或いは最後のマクロブロックがイント
ラモードでコード化される場合に、マクロブロックにお
いて0にセットされる。 3)内揮フレームの場合、選択的な予期モード(マクロ
ブロックタイプフィールド802に含まれるように) のた
めに使用されるベクトルのみがコード化される。コード
化されたベクトルだけが予期モーションベクトルとして
使用され、それは図12に示すようなフィールドMVD180
4及びMVD2805に保管される。
【0056】フィールド804、805に含まれるモーション
ベクトルMVD1は下記の表8、9に示すようなVLCテーブ
ルを使ってコード化される。 これらの値はベクトル範
囲選択パラメータ"f"次第で決まる。 インテジャーペル
テーブルはモジュロコードを含んで展開され、それは表
8に記載する通りである。表8、9では、選択パラメー
タ"f"と選択パラメータ"r"があり、 この"r"は次式によ
って限定される残余である。即ち、 r=mod(12ml-1,f) -16f<=2m<=15f の時、 "f"はフレーム距離、"m"はハーフペルの精度をもつフラ
クショナルディファレンシャルモーションベクトルであ
る。"m"が0でないとき、次式が成りたつ。 CODE(MPEG)=CODE(H.261)(v)+CODE(modulo)(f,r) "m"が0でないとき、 MPEGコードは次式で求められる。
即ち、 CODE(MPEG)=CODE(H.261)(0) v=12ml*sign(m) -16f<=2m<=15f, f==1のと
き、 v=((12ml-r)/f+1)*sign(m) -16f<=2m<=15f, f!=1のと
き、
【0057】そして、CODE(H.261)(v)は表8、9に示す
通りである。表8、9はまた、上記公式の範囲以外の"
m"の値に対して"r"の値を決定する。 この場合、f=1,2,
3の時だけ、それらの表が必要となる。f=(1,2,3,4,5)の
場合、 2mが範囲(-16〜15,-32〜30,-48〜45,-64〜60,-8
0〜75)をこえる場合、2mに対して数字(32,63,94,125,15
6)を加算するか減算しなければならない。 この変化値2
mはrとvの公式に入力される。
【0058】表8、9には、r,v,fの種々の値に対してV
LCが示されている。 この場合、fはフレーム距離であ
る。
【0059】
【表8】
【0060】
【表9】
【0061】マクロブロック800がMVD1フィールド804及
びMVD2フィールド805 がエンコードされることの他に、
800では、VLCを使って、CBPフィールド806が生じる。こ
のCBPフィールド806にストアされる数字は、図6に示す
やり方に従ってどのマクロブロックがエンコードされた
かを示す。CBPフィールド806にストアされる数字はパタ
ーンナンバーとして知られ、それは次のようにして決定
される。即ち、 パターンナンバー=32*P1+16*P2+8*P3+4*
P4+2*P5+P6
【0062】PNはブロックNに対して何らかの係数が存
在する場合は1である。マクロブロック800のCBPフィー
ルド806にストアされるパターンナンバーはかくして、
表10に従って記載される。
【0063】
【表10】
【0064】さらに、各ブロック900のTCOEFFフィール
ド904もまた、 VLCを使ってエンコードされる。この表
において、 CBPが係数データを有しないブロックを示す
のでブロック(EOB)値の最後が示されている。EOBは第1
係数として生じることはできない。この値はフィールド
805に含まれるが、 変換係数がない場合には、EOB805は
ブロックデータ800のMVD1フィールド803のすぐあとに生
じる。従って、そのブロックの端は、それが第1係数で
ある時にはVLC表から除去することができる。 最後のビ
ット"S"は、表11の変換係数のレベルの符号を示す。0
は正値を示し、 1は負値を示す。変換係数は表11に示
すようにコード化される。
【0065】
【表11】
【0066】この好ましい実施例は図1に示すビデオ多
重送信デコーダ152 によって行われるデコーディングを
遂行するために、多数の積み重ねたテーブルアプローチ
を実行する。この方法は、多重送信デコーダーが必要と
する非常に多くのルックアップテーブルをいくつかの小
さなテーブルに分割する。この基本的な考えが図10に関
連して示されている。図14に示すように、ここには2
段式デコーディングの例が示されている。流入するエン
コード化データは図14に示すビットストリーム1002と
して入力される。このデータは例えば図12に示すよう
なマクロブロック800に含まれるVLCコードワードであ
り、それは長さが14ビットもあるようなVLCを含むこと
ができる。VLCが14ビットの最大長さを有する場合、従
来の方法では、可能なVLCの全部に対してデコーディン
グするために、214エントリー(16,284)を含む単一のル
ックアップテーブルを必要とする。しかしながら、 こ
の好ましい実施例では、ビットストリームは2つの別の
部分に分けられ、2つの小さなルックアップテーブルを
アドレスする。例えば、図13に示すように、1000は2
つのルックアップテーブル、即ち、”頻繁な”ルックア
ップテーブルとして知られている1003と、”頻繁でな
い”ルックアップテーブルとして知られている1004とを
有する。これらの各テーブルは流入するビットストリー
ムを完全にデコードすることができるように、28のエ
ントリー(256)を有する。頻繁なテーブル1003は流入す
るビットストリーム1002に第1の8ビットが最も頻繁に
生じるように使用される。VLCの大部分は長さが8ビッ
ト以下であるので、 頻繁テーブル1003へと迅速にルッ
クアップすることによってデコード化値が得られる。第
1テーブルで実行され得なかったデコーディングは迂回
して”頻繁でない”テーブル1004へ送られる。従って、
第1の8ビットが例えば0000 0000のような予決定値で
あれば、(頻繁には生じないVLCの場合)、頻繁なテー
ブルは頻繁でないテーブル 1004へのポインターを有す
る。1004は、1003のものより頻度の少いデコーダー回路
があるVLC用エントリーを有する。大部分の多くの操作
では、256エントリーの頻繁テーブル1003にエレメント
をアドレスすることによってルックアップは単一周期操
作となる。テーブル1003、1004は出力ストリーム1005と
してデコード化値を戻す。この好ましい実施例では、MP
EG規格及びCCITT規格でVLCの第1の8ビットがその時間
の80%を占めて使用される。従って、その時間の80%
は、頻繁テーブル1003で一回のルックアップが行われ
る。頻繁でないテーブルが使用されるのは、VLCが第1
の8ビットをこえて伸長し、VLCの値を残りの20%の時
間に戻すような場合である。このことは、上記表に示さ
れたVLCを見ることから明らかであろう。 この事はま
た、図15、16にグラフィックで示されている。従来
のルックアップテーブルアプローチでは、 最大長さが
4ビットのVLCは16のエントリー、即ち24のエントリー
を含む単一ルックアップテーブルを必要とする。 各々
が4個のエントリーを有するような2つのルックアップ
テーブルを使用することにより、そのルックアップテー
ブルが必要とする保管量を2の係数だけ減らすことがで
きる。例えば、図15に関して言えば、流入するエンコ
ード化ビットの流れに対して2つの別個のルックアップ
テーブルを表わすために、例えば、1100で示すようなツ
リーが使用される。第1のルックアップテーブルは1120
を使ってグラフィックで表わされ、第2ルックアップテ
ーブルは1130でグラフィックで示されている。頻繁なル
ックアップテーブル1120は流入するVLC において最も頻
繁に生じるビットパターンを表わすために使用される。
例えば、1によって前進する流入ビット流は図15にグ
ラフィックで示すツリー1121の左側を通過する。この図
に示すように、ツリーの各漸近レベルで、正確な1付加
ビットがコードワードに追加される。1で前進するビッ
ト流はツリー1121の左側を通過し、そのビット流にある
次のビットが1であるか、0であるかによって、左のサ
ブツリー1123か右のサブツリーを通過する。次のビット
が1であれば、そのツリーの最も左側のブランチ1123を
通過し、コードワードは"11"となる。流入するビット流
の中の次の数字が0であれば、1124を通過する。他方、
流入するビット流の中の第1の数字が0であれば、ブラ
ンチ1122を通過する。図15に示すように、また前述し
たように、VLCビット流中の次のビットがどのブランチ
をとるかを決定する。 次のビットが1であれば、ブラ
ンチ1125をとる。他方、次のビットが0であれば、ブラ
ンチ1126をとる。図14に関連して前述したように、11
26は基本的には、図15にグラフィックで示すように、
第2の”頻繁でない”テーブル1130へのポインターであ
る。
【0067】ブランチ1123、1124、1125は図15に示す
実施例において、頻繁なルックアップテーブル1120から
のみの値を戻すが、1126は1130で示される第2のルック
アップテーブルへポインターを向ける。また、前の実施
例の場合のように、流入するビット流中の次のビットが
第2のルックアップテーブル1130の開始の有無を決定す
る。1130において、次のビットが再度チェックされ、デ
コード化値への通路において、ブランチ1131をとるか、
1132をとるかが決まる。前述のように、ビット流中の次
のビットが1であれば、1131をとり、その次のビットが
また1の時には1133をとる。次の数字が0であれば、11
34をとり、第2ルックアップテーブル1130へのエントリ
ー後、はじめてのビットが0であれば、1132をとり、次
のビットが1であれば1135をとる。その値をエンコード
するために使用される全ての4ビットが0であれば1136
をとる。図15からわかるように、或るパターンは値を
全く戻さない。例えば、、4ビットコードワードでは、
11、10、または01で前進するものはない。この好ましい
実施例は、MPEG及びCCITT規格でVLCのために使用される
ハフマンのエンコーディングにおいて、 或る値によっ
て前進するようなVLCはないのでこの事実の効果を有す
る。
【0068】流入するVLCワードは、 図15に示すよう
に長さを2ビットから4ビットへ変化させることがで
き、ハフマンのエンコーディングにおいて、4ビットの
可能値の全てを表わすのに必要な8つのエントリーは、
デコーディングの2段階により全く容易に表わされ、全
部で8つのエントリーの場合、各段階につき4つのエン
トリーが相応する。
【0069】10個のソースシンボルを有する実施例が図
16に1200としてグラフィックで示されており、これ
は、3つの別個のルックアップテーブル1220、1230、12
40を有する。この図面に示すように、第1ルックアップ
テーブル1220は、コードワード内の2つの最も重要なビ
ットが一連の通路を通って最も左側のルート1221、1223
へ、そしてコードワード"11"へ導くようにエンコードす
る。その右隣の通路1224は"10"を含むコードワードへ通
じる。コードワードは通路1225へ連絡する。そのコード
ワードの最初の最も重要なビットが0であれば、ルック
アップテーブル1220の通路1226が選ばれ、これは迂回し
て第2ルックアップテーブル1230へ通じる。従って、は
じめの2つの最も重要なビットに00を有するコードワー
ドはテーブル1230へ通じる。この1130は1120に関連して
前述したように、次の2つのビットが1であれば通路12
31、1233へ導かれる。次のビットが1でその次のビット
が0であれば、通路1231と1234が選ばれる。しかしなが
ら、テーブル1230の中で、次のビットが0であれば、通
路1232が選ばれる。その次のビットが1であれば1235へ
導かれ、その次のビットが0であれば、1236をとり、こ
れはもうひとつ迂回してテーブル1240へ通じる。テーブ
ル1240では、次のビットが1であれば左側ブランチ1241
をとり、その次のビットが1であれば1243をとる。しか
し、第5ビットが1で第6ビットが0であれば、通路12
44をとる。第5ビットが0であれば、通路1242をとり、
第6ビットが1であれば、1245をとる。6つのビットの
コードワードが全部0を含んでいれば、1246をとる。こ
のテーブルはそれから、6ビットVLCのために必要なデ
コーディングを全部提供する。 単一テーブルでは、6
ビットVLCが64個のエントリーを含むテーブルを生じさ
せる。 しかしながら、ハフマンのエンコーディングを
使用し、テーブル1220、1230、1240によって構成される
一連のテーブル1200は全部で12のエントリーを使用し、
各テーブルに4個のエントリーが対応する。かくして、
そのテーブルをストアするために必要とされる保管は、
5.3の係数だけ減少する。ここでは2段式、 及び3段式
ルックアップテーブルについて説明しているけれども、
この考えを広げてルックアップテーブルの数を増やし、
必要なデコーディングに対応しうるようにすることもで
きる。また、各段階は1個以上のルックアップテーブル
をおくこともできる。例えば、第1段階のルックアップ
テーブルには、例えば、 "00" "01"値のようにポインタ
ーを含む2つのエントリーを可能にすることもできる。
そして、これらのエントリーの各々に、2つの第2段階
のルックアップテーブルへ、又は同じ1つの第2段階の
ルックアップテーブルへのポインターを含ませることも
できる。
【0070】コードツリーがもっと、複雑化し、 VLCの
最大長さも長くなるとき、ハフマン式エンコーディング
にとって、メモリーの貯えは著しく大きくなる。例え
ば、最大ビットが14であるようなMPEGのVLCの場合、 単
一のルックアップテーブルによるアプローチでは16,000
ものエントリーを必要とする。図14に関連して説明し
た2段階ルックアップテーブルの場合、ほんの512のエ
ントリーしか必要とせず、各テーブルは各々256のエン
トリーを有することになる。 かくして、メモリーの貯
えが32の係数だけ減少した。
【0071】MPEGのVLCのデコーディングの例として、"
0110 0101 ..."のビット流を受入れる。デコーダーは第
1テーブルにより最初の8つのビットを検視し、そこで
そのビット流をデコードしてすぐに、5の長さをもつ
(0、2)にする。もう1つの例として、受入れたビッ
ト流が"0000 0000 110 10..."の場合がある。 前述の2
段階デコーディング法を使えば、このデコーダーははじ
めの8個のビット"00000000"を検視する。頻繁テーブル
(第1テーブル)はこのビット流が頻繁でないカテゴリ
ーに属することを指示するので、そこで第2テーブルの
ルックアップが必要となる。第2テーブルは次の6個の
ビットをデコードし、その結果を13の長さをもつ(24、
1)として出力する。
【0072】もうひとつの実施例において、ダブルバッ
ファリング可変長さのコーディングの方法が使用され
る。その場合、データは常時存在し、固定コードワード
に対して可変自在で、可変ワードに対して固定され、可
変コードワードに対して可変自在であるように、エンコ
ーディングとデコーディングが行われる。図17に示す
ように、 この方法はVLCインプットデータ流1301を受入
れる第1バッファー 1302を利用する。この第1バッフ
ァー1302はバレルシフター1303へデータ流を送る。それ
からこのバレルシフター1303は第2バッファー1304へデ
ータ流を送る。第2バッファーはデコーディングテーブ
ル1305がそれを必要とするまでデータを保持し、かくし
て、1306に一定長さの結果を生じさせる。しかしなが
ら、そのデコーディングテーブルが第2バッファー1304
から受入れた入力ワードへ値を写すことができない場
合、シフトカウントが増加してライン1307を通ってバレ
ルシフター1303へ戻すように作用するので、データはル
ープを通って送られ、デコード化されたVLCに適した値
を決定できるようになっている。
【0073】かくして、ビデオにルックアップテーブル
を使って可変長さのコードワードをデコードする発明に
ついてこれまで説明してきた。本発明は特に、図1〜13
に関連しながら、MPEGビデオコーディング規格を用いて
説明を行ってきたが、例えばCCITTやJPEGのビデオ規格
に使用するように、 図面に開示したもの以上に利用す
ることができ、また、例えば音やデータの圧縮のように
可変長さのエンコーディングを用いたいかなるエンコー
ディング法をも包含することはこの技術に熟達した人々
にとって明らかであろう。さらに前述の本発明の本旨と
範囲から離れることなしに多くの変形や変更をこの技術
に普通に通じた人によってなしうることも理解されねば
ならない。
【図面の簡単な説明】
【図1】従来のビデオコーディングを示す。
【図2】好ましい実施例に使用するコンピュータシステ
ムを示す。
【図3】図をエンコードするためのマクロブロックスラ
イスの配置を示す。
【図4】マクロブロックスライスの構造を示す。
【図5】マクロブロックの構造を示す。
【図6】1つのブロックの構造を示す。
【図7】好ましい実施例においてマクロブロックを生じ
させるために使用される輝度及び色光度サンプルの位置
づけを示す。
【図8】好ましい実施例におけるフレームグループの構
造を示す。
【図9】フレームグループ層の構造を示す。
【図10】絵の層の構造を示す。
【図11】マクロブロックスライス層の構造を示す。
【図12】マクロブロック層の構造を示す。
【図13】ブロック層の構造を示す。
【図14】好ましい実施例の基本的な2段階ルックアッ
プテーブル式アプローチを示す。
【図15】好ましい実施例のようにルックアップテーブ
ルが別の段階にいかに分けられているかを示す。
【図16】好ましい実施例によって使用される多段階に
分けられたルックアップテーブルの第2実施例を示す。
【図17】ダブルバッファリング法を用いたもうひとつ
の実施例を示す。
【符号の説明】
200 コンピュータシステム 201 母線 202 プロセスサー 204 主メモリー 206 静的メモリー 207 マスストアメモリー 221 ディスプレイ 222 キーボード 223 カーソルコントロール 300 ビデオ像 301〜315 スライス 321〜330 水平マクロブロック 341〜345 ピクセル 400 フレームグループ 401 イントラフレーム 500 フレームグループ 600 ピクチュアデータ 700 マクロブロックスライス 800 マクロブロック 900 ブロック 1003 頻繁テーブル 1004 頻繁でないテーブル 1120 第1ルックアップテーブル 1130 第2ルックアップテーブル 1240 第3ルックアップテーブル 1302 バッファー 1303 バレルシフター 1304 バッファー 1305 デコーディングテーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイムズ・オリバー・ノーマイル アメリカ合衆国 94087 カリフォルニア 州・サニーヴェイル・テネィク プレイ ス・ナンバーブイ1・1575 (72)発明者 チャ・ルン・イー アメリカ合衆国 95070 カリフォルニア 州・サラトガ・シャトウ ドライブ・ 20100 (72)発明者 ダニエル・ウィリアム・ライト アメリカ合衆国 94086 カリフォルニア 州・サニーヴェイル・イースト エヴリン アヴェニュ・ナンバー835・730

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 a.最大長さのXビットを有するVLCを
    読みとる工程と、 b.第1テーブルへのインデックスとしてVLCを使用す
    る工程と、 その第1テーブルには、第1組の値のうち
    どの値にも等しくないような第1Yビットを有する全て
    の可能なVLCに対するデコード化値が含まれ、YはXよ
    り小さく、もしVLCの第1Yビットが第1組の値のどの
    値にも等しくないとすれば、第1テーブルから第2値を
    戻すことと、 c.VLCの第1Yビットが第1組の値のどの値かに等し
    い場合、 第2テーブルへのインデックスとしてVLCを使
    って、 第1テーブルから第2テーブルへポインターを
    戻し、そして、第2テーブルから第3値を戻す工程とで
    成る、可変長さのコードワード(VLC)をデコードする方
    法。
  2. 【請求項2】 a.最大長さのXビットを有するVLCを
    読みとる工程と、 b.第1テーブルへのインデックスとしてVLCを使用す
    る工程と、 前記第1テーブルには、第1組の値のうち
    どの値にも等しくないような第1Yビットを有する、あ
    らゆる可能なVLCに対するデコード化値が含まれ、Yは
    Xより小さく、VLCの第1Yビットが第1組の値のどの
    値にも等しくない場合には、第1テーブルから第2値を
    戻すことと、 c.VLCのYビットが第1組の値の中のどの値かに等し
    い場合、 第2テーブルへのインデックスとしてVLC を
    使って第1テーブルから第2テーブルへポインターを戻
    し、 VLCの第1Zビットが第3組の値の中のどの値にも
    等しくなくて、ZがXより小さい場合、表2から第4値
    を戻す工程と、 d.VLCの第1Zビットが第3組の値のうちのどの値か
    に等しい場合、 第3テーブルへのインデックスとしてV
    LCを使って、 第2テーブルから第3テーブルへポイン
    ターを戻し、そして第3テーブルから第5値を戻す工程
    とで成る、可変長さのコードワード(VLC) をデコードす
    る方法。
  3. 【請求項3】 a.最大長さのXビットを有するVLCを
    読みとる手段と、 b.第1組の値のどの値にも等しくない第1Yビットを
    有する、全ての可能なVLCに対するデコード化値を含む
    第1テーブルと、YはXより小さい事と、 前記第1テ
    ーブルは、 VLCの第1Yビットが第1組の値のうちどの
    値にも等しくない場合、VLCを受信するのに応答して第
    2値を提供する事と、 c.VLCの第1Yビットが第1組の値の中のどの値かに
    等しい場合、 第1テーブルから第2テーブルへポイン
    ターを戻す手段と、第2テーブルへのインデックスとし
    てVLCを使用する手段と、前記第2テーブルはVLCを受信
    するのに応答して第3値を提供する事とで成る、可変長
    さのコードワード(VLC) をデコードする装置。
  4. 【請求項4】 複数のルックアップテーブルを有し、そ
    の各ルックアップテーブルは次のものを有する、即ち、 a)VLC中のYビットに対するデコード化値を含むエン
    トリーと、 前記YはXより小さい事と、 b)VLC 中の重要なビットより小さいYに対して次のル
    ックアップテーブルへのポインターを含む少くとも1つ
    のエントリーとを有する事を特徴とする、長さがXビッ
    トの可変長さのコードワード(VLC)をデコードする装
    置。
JP35960791A 1990-12-31 1991-12-27 ルックアップテーブルを使った可変長さのデコーディング方法と装置 Expired - Lifetime JP3391469B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US636498 1990-12-31
US07/636,498 US5253053A (en) 1990-12-31 1990-12-31 Variable length decoding using lookup tables

Publications (2)

Publication Number Publication Date
JPH06217277A true JPH06217277A (ja) 1994-08-05
JP3391469B2 JP3391469B2 (ja) 2003-03-31

Family

ID=24552165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35960791A Expired - Lifetime JP3391469B2 (ja) 1990-12-31 1991-12-27 ルックアップテーブルを使った可変長さのデコーディング方法と装置

Country Status (2)

Country Link
US (1) US5253053A (ja)
JP (1) JP3391469B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011029853A (ja) * 2009-07-23 2011-02-10 Kyocera Mita Corp 画像処理装置および画像処理方法

Families Citing this family (86)

* 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
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
US5253275A (en) * 1991-01-07 1993-10-12 H. Lee Browne Audio and video transmission and receiving system
KR950004129B1 (ko) * 1992-05-19 1995-04-25 주식회사금성사 가변장 부호 복호기
US5289276A (en) * 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
US5842033A (en) 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US7095783B1 (en) * 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
JP3076462B2 (ja) * 1992-11-09 2000-08-14 松下電器産業株式会社 デジタル・ビデオ・コーダ用のバーサタイルな可変長コーダ
US5915041A (en) * 1993-03-04 1999-06-22 Unisys Corporation Method and apparatus for efficiently decoding variable length encoded data
US5615020A (en) * 1993-05-13 1997-03-25 Keith; Michael System and method for fast huffman decoding
US5509088A (en) * 1993-12-06 1996-04-16 Xerox Corporation Method for converting CCITT compressed data using a balanced tree
US5479527A (en) * 1993-12-08 1995-12-26 Industrial Technology Research Inst. Variable length coding system
US5550542A (en) * 1994-05-04 1996-08-27 Matsushita Electric Corporation Of America Variable length code look-up table having separate code length determination
EP0768002B1 (en) * 1994-06-27 1998-09-23 Kodak Limited Lossy compression and expansion algorithm for image representative data
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
US5623262A (en) * 1994-08-17 1997-04-22 Apple Computer, Inc. Multi-word variable length encoding and decoding
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
DE4441293C2 (de) * 1994-11-21 1999-01-21 Sican Gmbh Verfahren und Schaltungsanordnung zum Lesen von Codewörtern variabler Länge aus einem Datenspeicher mit fester Wortlänge
US5602582A (en) * 1994-11-22 1997-02-11 U S West Marketing Resources Group, Inc. Method and system for processing a request based on indexed digital video data
KR0139162B1 (ko) * 1994-11-30 1998-05-15 김광호 부호어재배정을 이용한 가변장부호화장치 및 복호화장치
JP3927608B2 (ja) * 1994-11-30 2007-06-13 キヤノン株式会社 動画像表示装置及び動画像記憶装置
US5721720A (en) * 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
US6009202A (en) * 1994-12-28 1999-12-28 Kabushiki Kaisha Toshiba Image information encoding/decoding system
US5835637A (en) * 1995-03-20 1998-11-10 Eastman Kodak Company Method and apparatus for sharpening an image by scaling spatial residual components during image reconstruction
US5748790A (en) * 1995-04-05 1998-05-05 Intel Corporation Table-driven statistical decoder
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
WO1996033558A1 (en) * 1995-04-18 1996-10-24 Advanced Micro Devices, Inc. Method and apparatus for hybrid vlc bitstream decoding
US5648774A (en) * 1995-05-08 1997-07-15 Industrial Technology Research Institute Variable length coding with three-field codes
FR2735258B1 (fr) * 1995-06-09 1997-09-05 Sgs Thomson Microelectronics Dispositif de decodage d'un flux de donnees
KR0183155B1 (ko) * 1995-06-19 1999-05-01 김광호 동영상 압축부호화시 움직임 보상을 위한 시작 및 끝주소 발생회로
US6021259A (en) * 1995-07-10 2000-02-01 International Business Machines Corporation Apparatus and method for conversion of structured data between different formats
US5757967A (en) * 1995-10-19 1998-05-26 Ibm Corporation Digital video decoder and deinterlacer, format/frame rate converter with common memory
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
KR970068627A (ko) * 1996-03-22 1997-10-13 구자홍 최적화된 가변길이 테이블장치 및 최적 길이값 산출방법
US5745700A (en) * 1996-05-13 1998-04-28 International Business Machines Corporation Multi media video matrix address decoder
US5920853A (en) * 1996-08-23 1999-07-06 Rockwell International Corporation Signal compression using index mapping technique for the sharing of quantization tables
US6512775B1 (en) * 1996-11-08 2003-01-28 The Trustees Of Columbia University In The City Of New York Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems
US6011872A (en) * 1996-11-08 2000-01-04 Sharp Laboratories Of America, Inc. Method of generalized content-scalable shape representation and coding
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US5739862A (en) * 1996-12-23 1998-04-14 Tektronix, Inc. Reverse playback of MPEG video
JP3053781B2 (ja) * 1997-03-18 2000-06-19 沖電気工業株式会社 動画像圧縮符号の復号方法及び復号装置
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6246396B1 (en) 1997-04-30 2001-06-12 Canon Kabushiki Kaisha Cached color conversion method and apparatus
US6061749A (en) * 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6414687B1 (en) 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6411395B1 (en) * 1997-07-23 2002-06-25 International Business Machines Corporation Apparatus and method for conversion of data between different formats
JPH1198020A (ja) * 1997-09-24 1999-04-09 Sony Corp ビットストリーム解析方法及び装置
US6008745A (en) * 1998-02-17 1999-12-28 Sun Microsystems, Inc. Variable length decoding using lookup tables
US6219457B1 (en) * 1998-05-26 2001-04-17 Silicon Graphics, Inc. Method and system for decoding data encoded in a variable length code word
US6172625B1 (en) * 1999-07-06 2001-01-09 Motorola, Inc. Disambiguation method and apparatus, and dictionary data compression techniques
JP4629173B2 (ja) 1999-09-17 2011-02-09 ソニー株式会社 記録装置および記録方法、並びに記録媒体
JP3956549B2 (ja) * 1999-09-30 2007-08-08 ソニー株式会社 記録装置および方法、再生装置および方法並びに記録媒体
EP1449306B1 (en) * 2001-11-13 2005-11-16 Koninklijke Philips Electronics N.V. Method of decoding a variable-length codeword sequence
ATE543178T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
KR20040054206A (ko) * 2002-12-18 2004-06-25 삼성전자주식회사 복잡도를 줄인 코드 테이블을 사용하는 복조 장치 및 그방법
US7212681B1 (en) * 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
AU2003250845A1 (en) 2003-06-24 2005-01-21 Telecom Italia S.P.A. A method and system for decoding variable length encoded signals, computer program product therefor
KR101142584B1 (ko) * 2003-11-18 2012-05-10 스칼라도 아베 디지털 이미지 처리 방법 및 이미지 표현 포맷
US6956511B2 (en) * 2004-01-06 2005-10-18 Sharp Laboratories Of America, Inc. Multi-symbol/coefficient decode operation for Huffman codes
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7454073B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7680349B2 (en) 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US20060089956A1 (en) * 2004-10-25 2006-04-27 Sadeh Yaron M Classification unit and methods thereof
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7242328B1 (en) * 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8595448B2 (en) * 2008-07-22 2013-11-26 International Business Machines Corporation Asymmetric double buffering of bitstream data in a multi-core processor
US8762602B2 (en) * 2008-07-22 2014-06-24 International Business Machines Corporation Variable-length code (VLC) bitstream parsing in a multi-core processor with buffer overlap regions
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
CN102547267B (zh) * 2010-12-29 2014-04-16 福州瑞芯微电子有限公司 一种视频数据解码方法及系统
CN103024327B (zh) * 2011-09-28 2015-12-09 中磊电子(苏州)有限公司 视频录制方法及视频录制装置
GB202411064D0 (en) * 2024-07-29 2024-09-11 Maxl Systems Ltd Decoding of variable-length prefix code data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2608864B1 (fr) * 1986-12-17 1991-10-31 France Etat Procedes de codage et de transmission d'un signal numerique, par rafraichissement temporel selectif d'un quantificateur vectoriel
DE3883701T2 (de) * 1987-10-30 1994-02-10 Nippon Telegraph & Telephone Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.
FR2625060B1 (fr) * 1987-12-16 1990-10-05 Guichard Jacques Procede et dispositifs de codage et de decodage pour la transmission d'images a travers un reseau a debit variable
US5068723A (en) * 1989-05-19 1991-11-26 Gte Laboratories Incorporated Frame or sub-frame rate adaptive vector quantizer for moving images
US4963030A (en) * 1989-11-29 1990-10-16 California Institute Of Technology Distributed-block vector quantization coder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011029853A (ja) * 2009-07-23 2011-02-10 Kyocera Mita Corp 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP3391469B2 (ja) 2003-03-31
US5253053A (en) 1993-10-12

Similar Documents

Publication Publication Date Title
JP3391469B2 (ja) ルックアップテーブルを使った可変長さのデコーディング方法と装置
US6639945B2 (en) Method and apparatus for implementing motion detection in video compression
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
US5428396A (en) Variable length coding/decoding method for motion vectors
US6008745A (en) Variable length decoding using lookup tables
US5233348A (en) Variable length code word decoder for use in digital communication systems
US5418568A (en) Method and apparatus for scalable compression and decompression of a digital motion video signal
USRE39167E1 (en) Adaptive variable-length coding and decoding methods for image data
CN100492916C (zh) 采用多映射表的可变长度编码和解码方法及设备
US6198773B1 (en) Video memory management for MPEG video decode and display system
US20060126744A1 (en) Two pass architecture for H.264 CABAC decoding process
US8131096B2 (en) Variable length coding for clustered transform coefficients in video compression
US6157741A (en) Image processing apparatus and image processing method
US11991347B2 (en) Image processing device
KR102626217B1 (ko) 프레임 버퍼 컴프레서 및 이를 포함하는 이미지 처리 장치
US20210021796A1 (en) Image processing device and method for operating image processing device
US20160044320A1 (en) Method and Apparatus for Manipulating MPEG Video
US6999511B1 (en) Dynamically switching quant matrix tables within an MPEG-2 encoder
EP1292152B1 (en) Image processing apparatus, and image processing method
US7436889B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
JP3723657B2 (ja) 復号したマルチカラー・デジタル画像ビットマップを表示のためにramに格納する方法
US7103102B2 (en) Bit stream code lookup table for an MPEG-4 code word
CN100391252C (zh) 用于图像压缩设备的数据存储单元
JPH10145789A (ja) 動画像符号化方法及び動画像復号方法
JPH0678297A (ja) ディジタルビデオ信号の符号化方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010529

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: 20080124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090124

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20090124

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100124

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100124

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100124

Year of fee payment: 7

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20110124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120124

Year of fee payment: 9

EXPY Cancellation because of completion of term