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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000003817 vacuum liquid chromatography Methods 0.000 claims abstract description 22
- 101150115425 Slc27a2 gene Proteins 0.000 claims abstract description 15
- 241000269627 Amphiuma means Species 0.000 claims 1
- 230000033001 locomotion Effects 0.000 description 27
- 239000013598 vector Substances 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004020 luminiscence type Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100377374 Mus musculus Znf568 gene Proteins 0.000 description 1
- 241000183290 Scleropages leichardti Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004941 influx Effects 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009269 systemic vascular permeability Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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/425—Conversion 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems 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/54—Systems 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy 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
する安価な手段と、リアルタイムに可変長さのデコーデ
ィングを行うために一層効率のよい解決法を提供するこ
とを目的とする。 【構成】 VLCを読みとることによって可変長さのコー
ドワード(VLC)をデコードする方法と装置を提供する。
このVLCはXビットの最大長さを有する。VLCは第1テー
ブルへのインデックスとして使用され、その場合、第1
テーブルは、第1組の値の中のどの値にも等しくないよ
うなYビットを有する全ての可能な VLCのためにデコー
ドされる値を含む。Yは典型的にはXより少く、それ
は、好ましい実施例では、VLCの非常に重要なビットで
成る。VLCのはじめからY個のビットが第1組の値の中
のどの値にも等しくない場合、第2の値は第1テーブル
から戻される。VLCのはじめのY個のビットが第1組の
値の中のどれかの値に等しい場合、第2テーブルへのポ
インターが第1テーブルから戻される。
Description
おける可変長さのデコーディング分野に関し、特に、コ
ンピュータシステムにおいてルックアップテーブルを使
って可変長さをデコードする方法に関する。
ス及び又はマルチメディアのような用途にフルモーショ
ンビデオを使用する場合、コンピュータシステムのモー
ションビデオのための規格を取入れる必要が叫ばれてい
る。そのような用途では、現今の通信ハードウェアを使
って伝達される管理可能な長さに対応した音と共に可動
像を表わすにの必要なデータ量を再生することのできる
圧縮技術の開発が要求されている。これらの圧縮技術は
典型的には、ハフマンのエンコーディングを用いてい
る。ビデオデータの圧縮のためにハフマンのエンコーデ
ィングを用いた1つの規格は、ジョイントフォトグラフ
ァーエキスパーツグループ(JPEG)規格として知られてい
る。典型的なものとして、ビデオカンファレンスやビデ
オ電話に使用されるフルモーションビデオの用途のため
にハフマンエンコーディングを使った規格は、 非放送
特性の像を与えるCCITT規格として知られている。この
規格はコンピュータシステムにおける或る種のマルチメ
ディア活動と共に、基本的なビデオテレカンファレンス
やビデオ電話にとって有用である。この規格はまた、モ
ーションビデオ像を伝達するために必要なバンド幅を非
常に縮小させる。
ビデオ像を圧縮するためにハフマンのエンコーディング
を使用したもうひとつの規格はモーションピクチュアエ
キスパーツグループ(MPEG)規格として知られている。前
述の他の2つのシステムにおいて、 MPEG規格は、一秒
当り30フレーム(fps)までの割合でフルモーションビデ
オ像を伝達させることができる。MPEGは対応する高品質
の音と共にモーションピクチュアビデオを圧縮させるこ
とができ、そして単一のフレームアドバンス、逆モーシ
ョン、さらにはフレームビデオのような他の特性をも提
供する。これに対して、CCITT規格は単に、前進移動ビ
ューイングのみを可能にし、MPEGのように、スローモー
ションや逆モーションや単一フレーム前進はできない。
CCITTはまた、MPEGより像の品質が劣る。
へ分解し、これらのエリアからのデータをサンプリング
し、コード化した形で各エリアを表わすことによりフレ
ームの所与の像をコード化する。このインフォメーショ
ンは伝達装置によってコード化され、受信装置によって
デコードされ、かくしてフルモーションビデオの伝達が
可能となる。また、コード化したビデオデータはコンピ
ュータのメインメモリーに、或いは非揮発性保管媒体、
例えばハードディスク駆動体や光学ディスク駆動体、或
いは、フルモーションビデオ像をあとで見るためのテー
プにストアされる。
に、 CCITTやMPEGのような規格は可変長さのコーディン
グとして知られているそのコーディング層の1つにある
技術を使用している。可変長さのコーディングに使用さ
れる可変長さのコードワード(VLC)は図1に図示され、
それに関連して説明されるビデオコーダー又はデコーダ
ー(コーデック)として知られている装置によりエンコ
ードされ、デコードされる。
においてビデオデータをエンコードし、又はデコードす
るために使用されるビデオコーデックである。図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として
伝達されるデータへヘッダーインフォメーションを追加
する。
デオデコーダー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
の外部コントロールは中央処理ユニット、又は他の同様
の回路を介して行われる。
インフォメーションは可変長さのコードワード(その長
さは異る値に対して一定していない)であるので、ビデ
オ多重送信デコーダー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で
は、 莫大な量の保管を必要とする。
ルタイムシステムにおいて制限時間内にデコードされね
ばならず、これらの多数のテーブルへのルックアップが
性能を妨げるために生じる。リアルタイム以外の状況で
は、像はゆっくりとデコードすることができるので問題
はない。しかしながら、ビデオ電話やマルチメディアの
ようなリアルタイムの適用例では、ビデオが或る比率で
操作されなければならないこと(或る例では29.97Hzす
なわち約30fps)の他に、データの流入連度が高率であ
ることにより、ビデオ多重送信デコーダーは、限られた
時間内に、デコーディングやその他の計算をしなければ
ならなくなる。従って、或る従来のシステムでは、デコ
ーダー150によってデジタル信号プロセスサーが使用さ
れてきた。これらは、コード化された流入するビット流
からの像をデコードし、時間内にそれを表示することは
可能である。かくして、多数のルックアップテーブルを
使用することによりメモリーが増し、性能の点で不利に
なることの他に、例えば数学的共働プロセスサー又はデ
ジタル信号プロセスサーのような高価な構成要素を使用
することにより、 ビデオ多重送信デコーダー150のコス
トが高くなる。それ故に、ビデオ電話やマルチメディア
やその他の現今の用途にリアルタイムビデオを多く使用
するようになるために、ビデオデータをデコードするた
めにもつと安価で、しかも一段と効率のよい解決法が望
まれる。
可変長さのデータをリアルタイムにデコードする安価な
手段を提供することである。
ムに可変長さのデコーディングを行うために一段と効率
のよい解決法を見い出すことである。
の目的は、 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の最大長さとルックアップテーブルの数が増すのでメ
モリーの節約は指数関数的に増大する。これは好ましい
実施例のようにリアルタイムでビデオデコードを行う例
においては特に有用である。
長さをデコーディングする方法と装置に関する。以下の
記載においては、説明上、本発明を完全に理解してもら
うために、特定値、信号、コーディングフォーマット及
びインプットフォーマットについて説明する。しかしな
がら、本発明はこれらの詳細に限定されないで実施でき
ることはこの技術に熟達した人々にとって明らかであろ
う。その他、本発明を不必要にわかりにくくすることが
ないように周知の回路や装置はブロック図で示す。
例を実施したコンピュータシステムを符号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 とを有する。
システム200はカリフオルニア州、キューパーティノに
所在するアップルコンピュータ社製マッキントッシュS
E又はマッキントッシュIIのようなマッキントッシュ
系のパーソナルコンピュータの1つである。プロセスサ
ー202は、 イリノイ州、シャウムブルグに所在するモト
ロラ社製68000 系マイクロプロセスサの1つである。
1に示すビデオコーディック100の主要部分に使用され
る。 好ましい実施例はコンピュータシステム200のハー
ドウェア(例えば別の回路、或いはファームウェア)又
はソフトウェアのいずれにも実施することができる。
の方法を図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に関連しながら説明
し、図示する。
ス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で表わされる。
クは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に示されている。
の発光サンプルがある、例えば、図7に示すような355
の如き各クロミナンスに対して351、352、353、 354が
ある。従って、この方法を使って、 SIF525又はSIF625
フォーマットに対してCCIR601フォーマットに表わされ
る像は、例えば、356、357のような各ブロックの境界の
内部のピクセルに対してサンプルされる。これはコード
化のためにブロックに対して全体として適切なクロミナ
ンス値及び発光値を発生させる。
ども、 好ましい実施例は、VLCルックアップテーブルの
コード化がいかに多数の段階で行われるかを説明する一
例として試みのMPEG規格を使用する。MPEGにおいて、階
層フォーマットで一連の移動ビデオ像においてコード化
が行われる。最高レベルのこれらの層はフレームグルー
プ(GOF)層として知られている。次の層はピクチュア層
である。各GOFは(ピクチュア層の所で)多くの連続フ
レームで成り、それは”イントラ”フレームで始まり、
デコーダが受信するビットストリーム中の次の”イント
ラ”フレームの前のフレームで終わる。1つのフレーム
グループの例が400として図8に示されている。GOF400は
イントラフレーム401から次のイントラフレーム402の1
つ手前のフレーム403までの全フレームである。また、
1つのフレームグループは1以上の多数の連続フレーム
である。その数は下記の方法で流入するビットストリー
ムのデータフィールドに指示される。 それらのフレー
ムはGOFのMPEG規格の”内揮”フレーム、又は”予期”
フレームである。例えば、400のような各GOFを受入れる
前に、ヘッダーの或るインフォメーションがデータを伴
って伝達される。このインフォメーションはGOF層に伝
達される。 ここでそれについて説明する。
ータ内の階層構造においてコード化される。この構造は
層内で以下のもので成る。 1)フレームグループ(GOF) 層 2)ピクチュア層 3)マクロブロックスライス(MBスライス)層 4)マクロブロック(MB)層 5)ブロック層
その前の層のデータのフィールドを占める。図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に示す
次のコードで示される。
であって、これは秒当りのフレーム(fps)、又は秒当り
のサイクル(Hz)でGOF500のフレームレートを示す。 こ
のフレームレートは表2に示すコードで示される。
ドはリンクビット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は移動像を
限定するためにピクチュアデータを含む。このインフォ
メーションは今、説明しているピクチュア層に含まれ
る。
例えば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を有することにな
る。
ドはPフレームタイム(PTYPE)フィールド603である。
このフィールドは長さが2ビットであって、ピクチュア
データが含むフレームタイプを指示するため表3に示す
値でコード化される。
ルドは前方フレームフィールド604と後方フレームフィ
ールド605である。 これらのフィールドは次のフレーム
と前のフィールドをGOFの現在フレームへアドレスする
ために使用される。 この間接的行為は、前方及び後方
移動画像をMPEGの表示スクリーンに表示することを可能
にする。CCITTは後方移動を許さないので、 この規格で
はそれに対応するフィールドは存在しない。
イクストラ挿入インフォメーション(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を含む。
まれるマクロブロックスライスは図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数にギャップが存在する。
ットのクオンティゼーションパラメーター(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個のマクロブ
ロックについて説明し、図示する。
イス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の
ために使用されたものと同じである。
ションベクトルデータ1(MVD1)804と、モーションベク
トルデータ2(MVD2)805である。 これら2つのフィール
ドはまた、VLCであって、これについては後文で詳述す
る。 これらのフィールドの各々は、予期フレームに対
して全てのマクロブロックのために包含され、また、内
揮フレームの全ての非イントラマクロブロックのために
包含される。 MVD2805は内揮予期の場合にのみ包含され
る。MVD1804及びMVD2805は特定のMB800 の水平分力及ぶ
垂直分力に対するVLCで成る。これらのフィールドのVLC
については下文で詳述する。MVDの804と805の各々は一
対の差値を表わす。 一対の片方のみが許容範囲内に含
まれるマクロブロックベクトルを生じさせる。
れるブロックパターン(CBP)フィールド806である。この
フィールドはMTYPE802によって指示される場合に存在す
る。このコードワードは少くとも1つの変換係数が伝達
されるMB800のブロックを信号で指示するパターン数を
与える。 CBPフィールドに含まれるパターン数は次式で
表わされる。
係数が存在する場合、 1であり、その他の場合は0と
なる。ブロック数については、下文で詳述する。CBP806
は、イントラフレーム、又はイントラマクロブロックに
は使用されていない。最後に、マクロブロック800はフ
ィールド807にブロックデータを含む。このデータにつ
いては、下記の図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フィール
ドの場合と同様に、このフィールドに含まれる値は一対
の差値を表わす。この一対の差値の片方だけが、許容範
囲内に含まれるマクロブロックベクトルを生じさせる。
フィールド(TCOEFF)904を有し、このフィールドは、MTY
PEフィールド802がそれが”イントラ”マクロブロック
であることを指示する時、マクロブロックにある全ての
6個のブロックのための変換係数データを含む。換言す
れば、MBアドレスフィールド801と、MTYPEフィールド80
2と、 CBPフィールド806と、8×8モードBTYPEフィー
ルド901は信号を出す。これらのブロックは、そのため
に伝達される係数データを有する。ブロック900は、こ
のブロックの終わりを指示するブロックマーカー905の
端部で終了する。 これは表11に示すように、EOBフィー
ルド905におけるパターン"01"である。
ームデータグループの或る面が可変長さのコードワード
(VLC)インフォメーションで成るということである。VLC
インフォメーションは、MPEGにコード化されるモーショ
ンピクチュアデータに使用されるマクロブロック用コー
ドワードの統計学的余剰ワードを利用するために使用さ
れる。このVLCはまた、CCITT及びJPEG規格にも使用され
る(しかし、必ずしも同一フィールドに対して使用され
るわけではない)。マクロブロックにある特定フィール
ドは、VLCインフォメーションを使ってコード化され
る。 これについてはここでその特定のコードワードを
使って説明する。
801の場合、 マクロブロックアドレスは全フレームにお
いてコード用マクロブロックのために使用される相対的
アドレスである。データが付加されないマクロブロック
は、マクロブロックアドレスを使ってランレングスがコ
ード化される。これらのマクロブロックは固定マクロブ
ロックと呼ばれる。イントラフレームにおいては、マク
ロブロックは、そのモードが許容されても決してコード
化されることはない。予期フレームにおいては、マクロ
ブロックは、そのモーションベクトルが0で、全てのそ
のクオンタイズド係数が0の場合に固定化する。内揮フ
レームにおいては、マクロブロックは、そのモーション
ベクトルが0で、全てのそのクオンタイズド係数が同じ
く0の時に固定化する。MBA801は、 例えば700のような
マクロブロックスライス内にマクロブロックの位置を指
示するVLCである。 マクロブロックスライスの非固定順
位が図3に示されている。 例えば700のようなマクロブ
ロックスライスにおける第1の非固定マクロブロック80
0の場合、MBA701は、図3に示す例えば300のようなフレ
ームにそれを位置づけることによって示されるように、
フレームにマクロブロックスライスを位置づけることに
よって指定される絶対的なアドレスを含む。次のマクロ
ブロックの場合、MBA801はマクロブロックの絶対的アド
レスを最後に伝達されたマクロブロックとの間の差を含
む。このマクロブロックアドレスに対するコード表は表
4に示す通りである。
表に示すようなMBAの欄に示されるものの1つと同じで
あれば、マクロブロックスライス800のフィールド801に
保管されるVLCは第2欄に示されるコードである。 デコ
ーディングはこの逆の方法で行われる。VLCフィールド8
01が第2欄に示されるコードワードを含む場合、戻され
るマクロブロックアドレスは欄1に示すものとなる。
ルドは図12のマクロブロックデータ800に示される MT
YPEフィールド802である。図12に示すマクロブロック
タイプフィールド802 の場合、これらの差型フレームの
各々は異なるタイプを必要とし、ひいては、 フレーム
のタイプによって異なるVLCを発生させる。イントラフ
レームの場合、 そこで発生するVLCは表5に示す通りで
ある。イントラ+Qはイントラフレーム+クオンティゼ
ーションを意味する。さらに、図11のフィールド703
に対応するMQUANTの欄のXは、 MQUANTフィールド70
3が存在し、それが1にセットされることを示してい
る。
ドされる。ここでもまた、イントラフレームの場合のよ
うに、長さが0ビットから9ビットまでのVLCが多数あ
る。この最大9ビット値は表6に最後のエントリーとし
て示されている。
にある対応フィールドのフラッグの存在を"X"で示す。"
8-ESC"エントリーだけは図5に示すようなデータをエン
コードする実際の8×8ブロックを使用する。表6に示
す残りのエントリーはその欄に示すVLCを含むMTYPEフィ
ールド802を発生させる。
のMTYPEフィールド802をもったマイクロブロック800を
有する。
マクロブロックからのフル8×8ブロックデータを使用
する。この8×8マクロブロックデータの配置について
は後述する。表6に示す予期(プレディクテッド)フレ
ームデータの場合と同様に、マクロブロック及びブロッ
クデータフィールド800及900にある対応フィールドはこ
の表に示すように説明される。 マクロブロック800にあ
るマクロブロックタイプフィールド802は最後の欄に示
すVLCとして説明される。
クテッド)フレーム及び内揮(インターポレイテッド)
フレームの場合、これは図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が存在する。モーションベクトルデータは、マクロブ
ロックのモーションベクトルデータがエンコードされる
のと同じ方法で区別してエンコードされる。しかしなが
ら、ディファレンシャルコーディングのためのプレディ
クターとその解釈にはいくらかの差がある。ブロックデ
ータにエンコードする際には、差はない。
クロブロック800のフィールド804、805に含まれるモー
ションベクトルデータは、 マクロブロックスライス内
に区別的にエンコードされる。これらのベクトルは次の
ルールに従う。即ち、 1)各前方または後方モーションベクトルは、8×8モ
ードを除いて、同一タイプの最後のベクトルに対してコ
ード化される。 2)予期モーションベクトルは、マクロブロックスライ
スのスタート時、或いは最後のマクロブロックがイント
ラモードでコード化される場合に、マクロブロックにお
いて0にセットされる。 3)内揮フレームの場合、選択的な予期モード(マクロ
ブロックタイプフィールド802に含まれるように) のた
めに使用されるベクトルのみがコード化される。コード
化されたベクトルだけが予期モーションベクトルとして
使用され、それは図12に示すようなフィールドMVD180
4及びMVD2805に保管される。
ベクトル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のと
き、
通りである。表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の公式に入力される。
LCが示されている。 この場合、fはフレーム距離であ
る。
びMVD2フィールド805 がエンコードされることの他に、
800では、VLCを使って、CBPフィールド806が生じる。こ
のCBPフィールド806にストアされる数字は、図6に示す
やり方に従ってどのマクロブロックがエンコードされた
かを示す。CBPフィールド806にストアされる数字はパタ
ーンナンバーとして知られ、それは次のようにして決定
される。即ち、 パターンナンバー=32*P1+16*P2+8*P3+4*
P4+2*P5+P6
在する場合は1である。マクロブロック800のCBPフィー
ルド806にストアされるパターンナンバーはかくして、
表10に従って記載される。
ド904もまた、 VLCを使ってエンコードされる。この表
において、 CBPが係数データを有しないブロックを示す
のでブロック(EOB)値の最後が示されている。EOBは第1
係数として生じることはできない。この値はフィールド
805に含まれるが、 変換係数がない場合には、EOB805は
ブロックデータ800のMVD1フィールド803のすぐあとに生
じる。従って、そのブロックの端は、それが第1係数で
ある時にはVLC表から除去することができる。 最後のビ
ット"S"は、表11の変換係数のレベルの符号を示す。0
は正値を示し、 1は負値を示す。変換係数は表11に示
すようにコード化される。
重送信デコーダ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へのポインターであ
る。
実施例において、頻繁なルックアップテーブル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はないのでこの事実の効果を有す
る。
に長さを2ビットから4ビットへ変化させることがで
き、ハフマンのエンコーディングにおいて、4ビットの
可能値の全てを表わすのに必要な8つのエントリーは、
デコーディングの2段階により全く容易に表わされ、全
部で8つのエントリーの場合、各段階につき4つのエン
トリーが相応する。
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段階の
ルックアップテーブルへのポインターを含ませることも
できる。
最大長さも長くなるとき、ハフマン式エンコーディング
にとって、メモリーの貯えは著しく大きくなる。例え
ば、最大ビットが14であるようなMPEGのVLCの場合、 単
一のルックアップテーブルによるアプローチでは16,000
ものエントリーを必要とする。図14に関連して説明し
た2段階ルックアップテーブルの場合、ほんの512のエ
ントリーしか必要とせず、各テーブルは各々256のエン
トリーを有することになる。 かくして、メモリーの貯
えが32の係数だけ減少した。
0110 0101 ..."のビット流を受入れる。デコーダーは第
1テーブルにより最初の8つのビットを検視し、そこで
そのビット流をデコードしてすぐに、5の長さをもつ
(0、2)にする。もう1つの例として、受入れたビッ
ト流が"0000 0000 110 10..."の場合がある。 前述の2
段階デコーディング法を使えば、このデコーダーははじ
めの8個のビット"00000000"を検視する。頻繁テーブル
(第1テーブル)はこのビット流が頻繁でないカテゴリ
ーに属することを指示するので、そこで第2テーブルの
ルックアップが必要となる。第2テーブルは次の6個の
ビットをデコードし、その結果を13の長さをもつ(24、
1)として出力する。
ファリング可変長さのコーディングの方法が使用され
る。その場合、データは常時存在し、固定コードワード
に対して可変自在で、可変ワードに対して固定され、可
変コードワードに対して可変自在であるように、エンコ
ーディングとデコーディングが行われる。図17に示す
ように、 この方法はVLCインプットデータ流1301を受入
れる第1バッファー 1302を利用する。この第1バッフ
ァー1302はバレルシフター1303へデータ流を送る。それ
からこのバレルシフター1303は第2バッファー1304へデ
ータ流を送る。第2バッファーはデコーディングテーブ
ル1305がそれを必要とするまでデータを保持し、かくし
て、1306に一定長さの結果を生じさせる。しかしなが
ら、そのデコーディングテーブルが第2バッファー1304
から受入れた入力ワードへ値を写すことができない場
合、シフトカウントが増加してライン1307を通ってバレ
ルシフター1303へ戻すように作用するので、データはル
ープを通って送られ、デコード化されたVLCに適した値
を決定できるようになっている。
を使って可変長さのコードワードをデコードする発明に
ついてこれまで説明してきた。本発明は特に、図1〜13
に関連しながら、MPEGビデオコーディング規格を用いて
説明を行ってきたが、例えばCCITTやJPEGのビデオ規格
に使用するように、 図面に開示したもの以上に利用す
ることができ、また、例えば音やデータの圧縮のように
可変長さのエンコーディングを用いたいかなるエンコー
ディング法をも包含することはこの技術に熟達した人々
にとって明らかであろう。さらに前述の本発明の本旨と
範囲から離れることなしに多くの変形や変更をこの技術
に普通に通じた人によってなしうることも理解されねば
ならない。
ムを示す。
イスの配置を示す。
させるために使用される輝度及び色光度サンプルの位置
づけを示す。
造を示す。
プテーブル式アプローチを示す。
ルが別の段階にいかに分けられているかを示す。
分けられたルックアップテーブルの第2実施例を示す。
の実施例を示す。
Claims (4)
- 【請求項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】 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】 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】 複数のルックアップテーブルを有し、そ
の各ルックアップテーブルは次のものを有する、即ち、 a)VLC中のYビットに対するデコード化値を含むエン
トリーと、 前記YはXより小さい事と、 b)VLC 中の重要なビットより小さいYに対して次のル
ックアップテーブルへのポインターを含む少くとも1つ
のエントリーとを有する事を特徴とする、長さがXビッ
トの可変長さのコードワード(VLC)をデコードする装
置。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011029853A (ja) * | 2009-07-23 | 2011-02-10 | Kyocera Mita Corp | 画像処理装置および画像処理方法 |
Families Citing this family (86)
| 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)
| 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 |
-
1990
- 1990-12-31 US US07/636,498 patent/US5253053A/en not_active Expired - Lifetime
-
1991
- 1991-12-27 JP JP35960791A patent/JP3391469B2/ja not_active Expired - Lifetime
Cited By (1)
| 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 |