JP3520670B2 - 可変長符号処理装置および画像処理装置 - Google Patents
可変長符号処理装置および画像処理装置Info
- Publication number
- JP3520670B2 JP3520670B2 JP16900396A JP16900396A JP3520670B2 JP 3520670 B2 JP3520670 B2 JP 3520670B2 JP 16900396 A JP16900396 A JP 16900396A JP 16900396 A JP16900396 A JP 16900396A JP 3520670 B2 JP3520670 B2 JP 3520670B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- length code
- bit
- length
- variable length
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
置および画像処理装置に関し、特に、例えば、画像をM
PEG符号化、復号化する場合や、音声を可変長符号
化、復号化する場合などに用いて好適な可変長符号処理
装置および画像処理装置に関する。
erts Group)符号化を行う場合においては、画像データ
がDCT(離散コサイン変換)されることによりDCT
係数とされ、そのDCT係数が量子化された後、可変長
符号化される。この可変長符号化においては、量子化さ
れたDCT係数のランレングス(run length)およびレ
ベル(level)に対応した可変長符号が出力される。
は、上述の可変長符号が可変長復号化され、量子化され
たDCT係数のランレングスおよびレベルに変換され
る。そして、このランレングスおよびレベルにしたがっ
て、量子化されたDCT係数が生成され、これが、逆量
子化、逆DCTされることにより、画像が復号される。
行う画像符号化装置に設けられている、従来のVLC
(可変長符号化)器の一例の構成を示している。
が、ランレングスおよびレベルの組合せと対応付けられ
て登録されている符号化テーブルを記憶しており、そこ
には、量子化されたDCT係数のランレングスおよびレ
ベルが供給されるようになされている。符号化テーブル
記憶部61は、ランレングスおよびレベルを入力とし
て、そのランレングスおよびレベルに対応する可変長符
号を出力する。
に入力されるランレングスおよびレベルの組合せをアド
レスとして、そのアドレスに記憶されている可変長符号
を読み出す。この可変長符号は、バレルシフタ62に供
給される。
他、その可変長符号の長さも登録されており、バレルシ
フタ62に供給された可変長符号の長さは、符号化テー
ブル記憶部61から読み出され、コントローラ64に供
給されるようになされている。
可変長符号のワード幅は、例えば、可変長符号の最大の
長さLなどと同一になされており、その長さLに満たな
い可変長符号については、例えば、その上位ビットに、
0B(Bは、2進数であることを示す)を配置すること
によって、Lビットとされている。従って、あるランレ
ングスおよびレベルの組合せに対応する可変長符号の長
さがi(≦L)ビットである場合、符号化テーブル記憶
部61の出力は、その可変長符号の上位ビットに、L−
i個の0Bを付加したものとなっている。このため、符
号化結果として、連続した可変長符号列を出力するため
には、符号化テーブル記憶部61の出力から、その上位
ビットとして付加されているL−i個の0Bを削除する
必要がある。
号化テーブル記憶部61の出力がビットシフトされ、こ
れにより、いまの符号化テーブル記憶部61の出力に含
まれる可変長符号のMSB(最上位ビット)が、前回の
符号化テーブル記憶部61の出力に含まれる可変長符号
のLSB(最下位ビット)の1つ下位のビットの位置に
移動されるようになされている。
ル記憶部61から受信した可変長符号の長さにしたがっ
て、バレルシフタ62におけるビットシフト量を算出
し、バレルシフタ62に供給する。バレルシフタ62
は、コントローラ64からのビットシフト量にしたがっ
て、符号化テーブル記憶部61の出力をビットシフト
し、FF(フリップフロップ)部63に出力する。
ビットで構成されているとすると、FF部63は、バレ
ルシフタ62が出力するNビットそれぞれをラッチする
N個のフリップフロップで構成される。
1つ上位のビットを第1ビット、LSBから2つ上位の
ビットを第2ビット、・・・というものとし、FF部6
3の第m(<N)ビットからMSB(第Nビット)に、
可変長符号が、既に連続してラッチされているものとす
る。
長符号のMSBが第m−1ビットとなるように、符号化
テーブル記憶部61の出力がビットシフトされ、FF部
63に出力される。FF部63は、コントローラ64の
制御にしたがって、バレルシフタ62の出力をラッチす
るようになされており、この場合、コントローラ64
は、第m−1ビット以下のビットをラッチするフリップ
フロップのみを動作させる。
ルシフタ62の出力のうちの第m−1ビット以下のみが
ラッチされ、これにより、FF部63の第mビット以上
にラッチされている可変長符号(可変長符号列)は、そ
のままで、その可変長符号に続くように、バレルシフタ
62から出力された可変長符号が配置される。
FF部63に、Nビット分の可変長符号列がラッチされ
ると、コントローラ64は、FF部63を制御し、その
Nビットの可変長符号列を出力させる。
長符号を連続して配置した可変長符号列が、Nビット単
位で出力される。
力される可変長符号を可変長復号化するVLD(可変長
復号化)器の一例の構成を示している。
れ、例えば、Nビット単位で読み出される。このNビッ
トの可変長符号列は、Nビットで構成されるバレルシフ
タ72に供給される。
MSBから第pビットまでに、ある可変長符号が配置さ
れ、それに続く第p−1ビットを先頭に、次の可変長符
号が配置されているとすると、バレルシフタ72は、バ
ッファ71からのNビットの可変長符号列を、復号化テ
ーブル記憶部73に出力する。
スおよびレベルの組合せが可変長符号と対応付けられて
登録されている復号化テーブルを記憶しており、バレル
シフタ72の出力を入力として、対応するランレングス
およびレベルを出力する。
ルシフタ72の出力をデコードし、そのデコード結果を
アドレスとして、そのアドレスに記憶されているランレ
ングスおよびレベルを、可変長復号結果として出力す
る。
およびレベルの他、そのランレングスおよびレベルに対
応する可変長符号の長さも登録されており、可変長復号
結果として出力されたランレングスおよびレベルに対応
する可変長符号の長さは、復号化テーブル記憶部73か
らコントローラ74に供給されるようになされている。
レスとして入力するバレルシフタ72の出力は、そのM
SBに、復号化対象の可変長符号のMSBが配置されて
いる必要がある。
ッファ71から読み出されたNビットの可変長符号列が
ビットシフトされ、これにより、次に復号すべき可変長
符号のMSBが、バレルシフタ72のMSBの位置に移
動されるようになされている。
ル記憶部73から受信した可変長符号の長さにしたがっ
て、バレルシフタ72におけるビットシフト量を算出
し、バレルシフタ72に供給する。バレルシフタ72
は、コントローラ74からのビットシフト量にしたがっ
て、Nビットの可変長符号列をビットシフトし、復号化
テーブル記憶部73に出力する。
ットの可変長符号列の第p−1ビット以下に配置されて
いた可変長符号を先頭に配置したNビットのデータが、
バレルシフタ72から復号化テーブル73に供給され、
以下、同様にして、ランレングスおよびレベルに可変長
復号化される。
ビットの可変長符号列の復号が終了すると、次のNビッ
トの可変長符号列が、バッファ71から読み出され、以
下、同様の処理が繰り返される。
長符号を連続して配置した可変長符号列を可変長復号化
したランレングスおよびレベルで出力される。
のMPEG符号化および復号化の両方が可能な、例え
ば、ビデオレコーダにおいては、以上のようなVLC器
とVLD器とが、別個独立に設けられていたため、装置
が大型化、高コスト化する課題があった。
きく、また、価格も比較的高価なため、このようなバレ
ルシフタを、VLC器とVLD器それぞれに設けた場合
には、装置の規模およびコストに大きく影響する。
たものであり、装置の小型化および低コスト化を図るこ
とができるようにするものである。
装置は、ランレングスおよびレベルを入力として、可変
長符号を出力するための可変長符号化テーブルを記憶す
る第1のテーブル記憶手段と、第1のテーブル記憶手段
より出力される可変長符号を、その長さにしたがってビ
ットシフトする第1のシフト手段と、可変長符号を入力
として、ランレングスおよびレベルを出力するための可
変長復号化テーブルを記憶する第2のテーブル記憶手段
と、復号化すべき可変長符号を、前回復号化した可変長
符号の長さにしたがって、Nビット単位でビットシフト
し、第2のテーブル記憶手段に入力として与える第2の
シフト手段と、現在の復号化対象であるNビットの可変
長符号を一時記憶する第1の可変長符号記憶手段と、次
の復号化対象であるNビットの可変長符号を一時記憶す
る第2の可変長符号記憶手段と、第1の可変長符号記憶
手段に記憶されたNビットの可変長符号のうちの上位i
ビットが復号化されたとき、その残りのN−iビット
と、第2の可変長符号記憶手段に記憶されたNビットの
可変長符号のうちの上位iビットとを選択し、第2のシ
フト手段に供給する選択手段とを備え、かつ、第 1 およ
び第 2 のシフト手段が同一のものとすることができる。
ビットの可変長符号の復号化が終了したとき、第2の可
変長符号記憶手段に記憶されたNビットの可変長符号
を、第1の可変長符号記憶手段に転送し、第2の可変長
符号記憶手段に、次に復号化すべきNビットの可変長符
号を記憶させることができる。可変長符号の長さを累積
加算するKビットの加算手段をさらに設け、第1および
第2のシフト手段は、2Kビット単位のデータのビット
シフトを加算手段の累積加算結果に基づいて行うことが
できる。本発明の可変長符号処理装置においては、ラン
レングスおよびレベルを入力として、可変長符号を出力
するための可変長符号化テーブルが記憶され、出力され
る可変長符号が、その長さにしたがってビットシフトさ
れ、可変長符号を入力として、ランレングスおよびレベ
ルを出力するための可変長復号化テーブルが記憶され、
現在の復号化対象であるNビットの可変長符号が一時記
憶され、次の復号化対象であるNビットの可変長符号が
一時記憶され、現在の復号化対象であるNビットの可変
長符号のうちの上位iビットが復号化されたとき、その
残りのN−iビットと、次の復号化対象であるNビット
の可変長符号のうちの上位iビットとが選択され、前回
復号化した可変長符号の長さにしたがって、Nビット単
位でビットシフトされる。本発明の画像処理装置は、画
像データを処理し、その処理結果のランレングスおよび
レベルを出力する第1の処理手段と、第1の処理手段が
出力するランレングスおよびレベルに対応して可変長符
号を出力し、並びに可変長符号に対応して、ランレング
スおよびレベルを出力する可変長符号処理手段と、可変
長符号処理手段が出力するランレングスおよびレベルを
処理し、画像データを出力する第2の処理手段とを設
け、可変長符号処理手段は、ランレングスおよびレベル
を入力として、可変長符号を出力するための可変長符号
化テーブルを記憶する第1のテーブル記憶手段と、第1
のテーブル記憶手段より出力される可変長符号を、その
長さにしたがってビットシフトする第1のシフト手段
と、可変長符号を入力として、ランレングスおよびレベ
ルを出力するための可変長復号化テーブルを記憶する第
2のテーブル記憶手段と、復号化すべき可変長符号を、
前回復号化した可変長符号の長さにしたがって、Nビッ
ト単位でビットシフトし、第2のテーブル記憶手段に入
力として与える第2のシフト手段と、現在の復号化対象
であるNビットの可変長符号を一時記憶する第1の可変
長符号記憶手段と、次の復号化対象であるNビットの可
変長符号を一時記憶する第2の可変長符号記憶手段と、
第1の可変長符号記憶手段に記憶されたNビットの可変
長符号のうちの上位iビットが復号化されたとき、その
残りのN−iビットと、第2の可変長符号記憶手段に記
憶されたNビットの可変長符号のうちの上位iビットと
を選択し、第2のシフト手段に供給する選択手段とを備
え、かつ、第 1 および第 2 のシフト手段が同一のものとす
ることができる。本発明の画像処理装置においては、画
像データが処理され、その処理結果のランレングスおよ
びレベルが出力され、その出力としてのランレングスお
よびレベルに対応して可変長符号が出力され、並びに可
変長符号に対応して、ランレングスおよびレベルが出力
され、その出力としてのランレングスおよびレベルが処
理され、画像データが出力され、その出力としてのラン
レングスおよびレベルを入力として、可変長符号を出力
するための可変長符号化テーブルが記憶され、出力され
る可変長符号が、その長さにしたがってビットシフトさ
れ、可変長符号を入力として、ランレングスおよびレベ
ルを出力するための可変長復号化テーブルが記憶され、
現在の復号化対象であるNビットの可変長符号が一時記
憶され、次の復号化対象であるNビットの可変長符号が
一時記憶され、現在の復号化対象であるNビットの可変
長符号のうちの上位iビットが復号化されたとき、その
残りのN−iビットと、次の復号化対象であるNビット
の可変長符号のうちの上位iビットとが選択され、前回
復号化した前記可変長符号の長さにしたがって、Nビッ
ト単位でビットシフトされる。
るが、その前に、特許請求の範囲に記載の発明の各手段
と以下の実施例との対応関係を明らかにするために、各
手段の後の括弧内に、対応する実施例(但し、一例)を
付加して、本発明の特徴を記述すると、次のようにな
る。
置は、符号化すべきデータを、そのランレングスおよび
レベルに対応して可変長符号に符号化し、並びに復号化
すべき可変長符号を、対応するランレングスおよびレベ
ルに復号化する可変長符号処理装置であって、ランレン
グスおよびレベルを入力として、可変長符号を出力する
ための可変長符号化テーブルを記憶する第1のテーブル
記憶手段(例えば、図4に示す符号化/復号化テーブル
記憶部8など)と、第1のテーブル記憶手段より出力さ
れる可変長符号を、その長さにしたがってビットシフト
する第1のシフト手段(例えば、図4に示すバレルシフ
タ6など)と、可変長符号を入力として、ランレングス
およびレベルを出力するための可変長復号化テーブルを
記憶する第2のテーブル記憶手段(例えば、図4に示す
符号化/復号化テーブル記憶部8など)と、復号化すべ
き可変長符号を、前回復号化した可変長符号の長さにし
たがって、Nビット単位でビットシフトし、第2のテー
ブル記憶手段に入力として与える第2のシフト手段(例
えば、図4に示すバレルシフタ6など)と、現在の復号
化対象であるNビットの可変長符号を一時記憶する第1
の可変長符号記憶手段(例えば、図4に示すFF部4な
ど)と、次の復号化対象であるNビットの可変長符号を
一時記憶する第2の可変長符号記憶手段(例えば、図4
に示すFF部2など)と、第1の可変長符号記憶手段に
記憶されたNビットの可変長符号のうちの上位iビット
が復号化されたとき、その残りのN−iビットと、第2
の可変長符号記憶手段に記憶されたNビットの可変長符
号のうちの上位iビットとを選択し、第2のシフト手段
に供給する選択手段(例えば、図4に示す選択回路5な
ど)とを備え、かつ、第 1 および第 2 のシフト手段が同一
のものとすることができる。
号の長さを累積加算するKビットの加算手段(例えば、
図4に示すシフト量加算器9およびFF(フリップフロ
ップ)部11など)をさらに備え、第1および第2のシ
フト手段が、2 K ビット単位のデータのビットシフトを
加算手段の累積加算結果に基づいて行うことを特徴とす
る。
変長符号に符号化し、および可変長符号を画像データに
復号化する画像処理装置であって、画像データを処理
し、その処理結果のランレングスおよびレベルを出力す
る第1の処理手段(例えば、図2に示すDCT器103
および量子化器104など)と、第1の処理手段が出力
するランレングスおよびレベルに対応して可変長符号を
出力し、並びに可変長符号に対応して、ランレングスお
よびレベルを出力する可変長符号処理手段(例えば、図
2に示すVLC器111および図3に示すVLD器20
3など)と、可変長符号処理手段が出力するランレング
スおよびレベルを処理し、画像データを出力する第2の
処理手段(例えば、図3に示す逆量子化器204および
逆DCT器205など)とを備え、可変長符号処理手段
が、ランレングスおよびレベルを入力として、可変長符
号を出力するための可変長符号化テーブルを記憶する第
1のテーブル記憶手段(例えば、図4に示す符号化/復
号化テーブル記憶部8など)と、第1のテーブル記憶手
段より出力される可変長符号を、その長さにしたがって
ビットシフトする第1のシフト手段(例えば、図4に示
すバレルシフタ6など)と、可変長符号を入力として、
ランレングスおよびレベルを出力するための可変長復号
化テーブルを記憶する第2のテーブル記憶手段(例え
ば、図4に示す符号化/復号化テーブル記憶部8など)
と、復号化すべき可変長符号を、前回復号化した可変長
符号の長さにしたがって、Nビット単位でビットシフト
し、第2のテーブル記憶手段に入力として与える第2の
シフト手段(例えば、図4に示すバレルシフタ6など)
と、現在の復号化対象であるNビットの可変長符号を一
時記憶する第1の可変長符号記憶手段(例えば、図4に
示すFF部4など)と、次の復号化対象であるNビット
の可変長符号を一時記憶する第2の可変長符号記憶手段
(例えば、図4に示すFF部2など)と、第1の可変長
符号記憶手段に記憶されたNビットの可変長符号のうち
の上位iビットが復号化されたとき、その残りのN−i
ビットと、第2の可変長符号記憶手段に記憶されたNビ
ットの可変長符号のうちの上位iビットとを選択し、第
2のシフト手段に供給する選択手段(例えば、図4に示
す選択回路5など)とを備え、かつ、第 1 および第 2 のシ
フト手段が同一のものとすることができる。
ものに限定することを意味するものではない。
の一実施例の構成例を示している。画像符号化装置51
では、記録媒体52に記録すべき画像が、例えば、MP
EG符号化される。画像符号化装置51における符号化
の結果得られたデータは、例えば、磁気テープや、磁気
ディスク、光ディスク(例えば、DVD(Digital Vers
atile Disc)など)などの記録媒体52に記録される。
画像復号化装置53では、記録媒体52が再生され、そ
の再生データがMPEG復号化される。画像復号化装置
53における復号化により得られる復号画像は、図示せ
ぬモニタに供給されて表示される。
例を示している。この画像符号化装置においては、画像
(動画像)がMPEG(Moving Picture Experts Grou
p)符号化されるようになされている。即ち、端子10
1には、ディジタル化された動画像信号が入力されるよ
うになされており、この動画像信号は、演算器102お
よび動きベクトル検出器(ME)110に供給される。
動きベクトル検出器110では、入力された動画像信号
のフレーム間の動きベクトルが検出される。
ては、動きベクトルの検出は、例えば、参照フレーム
と、現在符号化の対象となっているフレームの16画素
×16ラインの小ブロック(マクロブロック)とをパタ
ーンマッチング(ブロックマッチング)することにより
行われるようになされている。即ち、現在のマクロブロ
ック(符号化対象のマクロブロック)の、例えば最も左
からi番目の、最も上からj番目の画素の画素値を信号
Aijとし、同様に、任意の動きベクトルにより参照され
る参照フレームにおける16×16のブロックを構成す
る画素の画素値をFijとするとき、次式で表される絶対
値和Efを最小にする動きベクトルが検出される。
6の範囲の整数値に変えてのサメーションを意味する。
れた動きベクトルは、動き補償器(MC)109および
VLC器(可変長符号化器)111に供給される。動き
補償器109は、フレームメモリ(FM)109Aを備
えており、動きベクトル検出器110からの動きベクト
ルにしたがって、フレームメモリ109Aに記憶されて
いる、局所復号化された画像信号を読み出し、これを、
予測画像信号として、演算器102および108に供給
する。即ち、動き補償器109は、フレームメモリ10
9Aの読み出しアドレスを、符号化対象のマクロブロッ
クに対応するアドレスから、動きベクトルに対応する分
だけずれたアドレスに設定し、そこから画像信号を読み
出して、演算器102および108に供給する。
た、符号化対象のマクロブロックと、動き補償器109
から供給された予測画像との差分を計算し、その結果得
られる予測残差信号を、DCT(離散コサイン変換)器
103に供給する。なお、例えば、符号化の開始時や、
シーンチェンジがあった時などにおいては、予測残差信
号が大きく予測効率が低くなるので、このようなときに
は、マクロブロックは、フレーム内(イントラ)符号化
されるようになされている。即ち、フレーム内符号化の
対象とされるマクロブロックは、演算器102をスルー
して、そのまま、DCT器103に供給される。
に対して、2次元DCT処理が施され、その結果得られ
るDCT係数が、例えば、いわゆるジグザグスキャンさ
れて、量子化器104に供給される。量子化器104で
は、DCT器103からのDCT係数が、レートコント
ローラ(RC)105から供給される量子化ステップ幅
にしたがって量子化され、その結果得られる量子化係数
が、逆量子化器106およびVLC器111に供給され
る。
量子化係数、即ち、量子化されたDCT係数から、その
ランレングスとレベルを検出し、このランレングスとレ
ベルの組合せに対応する可変長符号を生成して出力する
(可変長符号化処理を施して出力する)。また、VLC
器111では、レートコントローラ105または動きベ
クトル検出器110それぞれから供給される、各マクロ
ブロックごとの量子化ステップ幅または動きベクトルに
対しても可変長符号化処理を施して出力する。VLC器
111から出力される符号化データ(可変長符号)は、
バッファ112に供給される。バッファ112は、VL
C器111からの符号化データを一時記憶することによ
り、そのビット量(データ量)の変動を吸収し、例えば
一定のビットレートにして、端子113から、ビットス
トリームを出力する。
は、レートコントローラ105にフィードバックされて
おり、これにより、レートコントローラ105は、VL
C器111が出力する符号化データのビット量を監視し
ている。そして、レートコントローラ105は、バッフ
ァ112がオーバーフローしそうなときは、量子化ステ
ップ幅を大きくし、また、バッファ112がアンダーフ
ローしそうなときは、量子化ステップ幅を小さくして、
量子化器104に供給し、これにより、バッファ112
のオーバーフローおよびアンダーフローを防止するよう
になされている。
る量子化ステップ幅は、量子化器104の他、逆量子化
器106およびVLC器111にも供給されるようにな
されている。
04から供給された量子化係数が、レートコントローラ
105より供給される量子化ステップ幅、即ち、量子化
器104において用いられた量子化ステップ幅と同一の
量子化ステップ幅で逆量子化され、その結果得られるD
CT係数が、逆DCT器107に供給される。逆DCT
器107では、逆量子化器106からのDCT係数が、
逆DCT処理され、演算器108に供給される。
力の他、上述したように、動き補償器109から、演算
器102に供給されている予測画像と同一のデータが供
給されており、演算器108は、逆DCT器107から
の信号(予測残差信号)と、動き補償器109からの予
測画像とを加算することで、元の画像を、局所復号する
(但し、画像符号化装置においてイントラ符号化が行わ
れている場合には、逆DCT器107の出力は、演算器
108をスルーして、フレームメモリ109Aに供給さ
れる)。なお、この復号画像は、受信側において得られ
る復号画像と同一のものである。
は、フレームメモリ109Aに供給されて記憶され、そ
の後、インター符号化(フレーム間符号化)される画像
に対する参照画像(参照フレーム)として用いられる。
例を示している。
れたデータ(符号化データ)が入力されるようになされ
ており、その符号化データは、バッファ202に供給さ
れて一時記憶される。バッファ202に記憶された符号
化データは、VLD(可変長復号化)器203に供給さ
れ、そこで可変長復号化される。VLD器203におけ
る可変長復号化により得られる各マクロブロックごとの
量子化係数(量子化されたDCT係数)および量子化ス
テップ幅は、逆量子化器204に供給され、動きベクト
ルは、動き補償器207に供給される。なお、VLD器
203において可変長復号化処理が行われることにより
得られるのは、量子化されたDCT係数のランレングス
およびレベルであるが、VLD器203は、このランレ
ングスおよびレベルを、量子化されたDCT係数(量子
化係数)に変換して、逆量子化器204に供給するよう
になされている。
の量子化係数を、同じくVLD器203からの量子化ス
テップ幅にしたがって逆量子化し、その結果得られるD
CT係数を、逆DCT器205に出力する。逆DCT器
205は、逆量子化器204からのDCT係数が、逆D
CT処理され、演算器206に供給される。
力の他、動き補償器207の出力も供給されている。即
ち、動き補償器207は、フレームメモリ207Aを有
しており、図2の動き補償器109における場合と同様
に、VLD器203からの動きベクトルにしたがって、
フレームメモリ207Aから予測画像信号を読み出し、
演算器206に供給する。演算器206は、逆DCT器
205からの信号(予測残差信号)と、動き補償器20
7からの予測画像とを加算することで、元の画像を復号
し、フレームメモリ207Aに供給する(但し、逆DC
T器205の出力が、イントラ符号化されたものである
場合には、その出力は、演算器206をスルーして、フ
レームメモリ207Aに供給される)。
画像は、その後に復号される画像の参照画像として用い
られるとともに、適宜読み出され、モニタなどに表示さ
れる。
るVLC器111と、図3の画像復号化装置53を構成
するVLD器203とについて、さらに説明する。本実
施例においては、VLC器111およびVLD器203
は一体的に構成されており、これにより、装置(ビデオ
レコーダ)の小型化および低コスト化が図られている。
D器203の構成例を示している。
3)から、Nビット単位で可変長符号列を読み出し、F
F部2に供給するようになされている。FF部2は、N
個のフリップフロップで構成され、読み出し回路1から
供給されるNビットの可変長符号列を一時記憶し、選択
回路3または5に供給するようになされている。選択回
路3は、FF部2の出力または符号化/復号化テーブル
記憶部8の出力のいずれか一方を選択し、FF部4に供
給するようになされている。FF部4は、N個のフリッ
プフロップで構成され、選択回路3の出力を一時記憶
し、選択回路5に供給するようになされている。選択回
路5は、必要に応じて、FF部10からのシフト量にし
たがい、FF部2または4それぞれの出力を選択し、N
ビットのデータ(可変長符号列)をバレルシフタ6に供
給するようになされている。
タで、選択回路5からのNビットのデータをラッチし、
FF部10から供給されるシフト量にしたがってビット
シフトするようになされている。バレルシフタ6のシフ
ト結果は、必要に応じて、選択回路7、FF部12、ま
たは選択回路13に供給されるようになされている。
ーションを行うようになされている。即ち、バレルシフ
タ6は、左シフトを行うとき、MSBを捨てるのではな
く、LSBにシフトするようになされており、また、右
シフトを行うときも、LSBを捨てるのではなく、MS
Bにシフトするようになされている。
たはランレングス/レベル検出回路16の出力のうちの
いずれか一方を選択し、符号化/復号化テーブル記憶部
8に供給するようになされている。
ば、書換可能なRAM(Random Access Memory)などで
構成され、符号化テーブル、復号化テーブルを記憶する
ようになされている。なお、符号化/復号化テーブル8
には、符号化時には符号化テーブルが、復号化時には復
号化テーブルが、それぞれマイコン(マイクロコンピュ
ータ)15から供給されるようになされており、この符
号化テーブル、復号化テーブルが記憶されるようになさ
れている。従って、符号化/復号化テーブル記憶部8
は、符号化テーブルおよび復号化テーブルの両方を記憶
することのできる記憶容量を有している必要はなく、そ
のうちの容量の大きい方のテーブルを記憶することので
きる記憶容量を有していれば良い。さらに、符号化/復
号化テーブル記憶部8は書換可能になされているので、
そこに記憶させる符号化テーブル、復号化テーブルを変
更するだけで(符号化/復号化テーブル記憶部8を交換
することなく)、MPEGに規定されているもの以外の
符号系にも、容易に対処することができる。
ーブル)には、例えば、MPEGにおいて規定されてい
る可変長符号が、対応するランレングスおよびレベルと
対応付けられて記憶されており、ランレングスおよびレ
ベルが入力として与えられると、それに対応するアドレ
スに記憶されている可変長符号が読み出されて出力され
るようになされている。また、復号化テーブル(可変長
復号化テーブル)には、その反対に、ランレングスおよ
びレベルが、対応する可変長符号と対応付けられて記憶
されており、可変長符号が入力として与えられると、そ
れに対応するアドレスに記憶されているランレングスお
よびレベルが読み出されて出力されるようになされてい
る。
ルのいずれにも、可変長符号の長さが記憶されており、
符号化テーブルにおいては、可変長符号とともに、その
長さが出力され、また、復号化テーブルにおいては、ラ
ンレングスおよびレベルとともに、それに対応する可変
長符号の長さが出力されるようになされている。
て、符号化テーブルから読み出される可変長符号または
その長さは、選択回路3またはシフト量加算器9にそれ
ぞれ供給され、復号化テーブルから読み出されるランレ
ングスおよびレベルの組合せ、または可変長符号の長さ
は、ランレングス/レベル変換器17、またはシフト量
加算器9にそれぞれ供給されるようになされている。
ブル記憶部8から供給される可変長符号の長さと、FF
部11の記憶値とを加算し、FF部10および11に出
力するようになされている。FF部10は、シフト量加
算器9の出力値を一時記憶し、選択回路5およびバレル
シフタ6に供給するようになされている。FF部11
は、シフト量加算器9の出力値を一時記憶し、その記憶
値を、符号化/復号化テーブル記憶部8から可変長符号
の長さが出力されるのを待って、シフト量加算器9に供
給するようになされている。
1によれば、可変長符号の長さの累積加算が行われるよ
うになされている。
(但し、Kは正の整数)に等しいとき、シフト量加算器
9は、Kビットの加算器で構成され、従って、累積加算
値Sが2K以上となったとき、S−2Kを出力するように
なされている。
時記憶するようになされている。選択回路13は、バレ
ルシフタ6の出力またはFF部12の出力のうちのいず
れか一方を選択し、FF部14に供給するようになされ
ている。FF部14は、N個のフリップフロップで構成
され、選択回路14の出力のうちの必要なビットをラッ
チし、32ビット分の、連続した可変長符号を記憶する
と、その32ビットの可変長符号を出力するようになさ
れている。
LD器203を構成する各ブロックを制御するようにな
されている。即ち、マイコン15は、例えば、各ブロッ
クにクロックを供給して動作させる。また、マイコン1
5は、例えば、符号化/復号化テーブル記憶部8に対し
て、符号化時には符号化テーブルを、また、復号化時に
は復号化テーブルをそれぞれ供給して記憶させる。さら
に、マイコン15は、例えば、選択回路3,5,7,1
3に選択信号を供給することで、選択すべき入力を選択
させる。
子化器104(図2)から供給される、マクロブロック
単位などのDCT係数(量子化されたDCT係数)のラ
ンレングスおよびレベルを検出するようになされてい
る。ランレングス/レベル検出回路16で検出されたラ
ンレングスおよびレベルは、選択回路7に供給されるよ
うになされている。
レングス/レベル検出回路16と逆の処理を行うこと
で、符号化/復号化テーブル記憶部8から供給されるラ
ンレングスおよびレベルを、量子化されたDCT係数に
変換し、逆量子化器204(図3)に供給するようにな
されている。
号化時の動作について説明する。
びVLD器203のうち、符号化時に動作するブロック
を示している。
ず、符号化テーブルを、符号化/復号化テーブル8に供
給して記憶させ、さらに、符号化/復号化テーブル記憶
部8の出力を選択するように選択回路3を制御するとと
もに、FF部4の出力を選択するように選択回路5を制
御する。また、マイコン15は、ランレングス/レベル
検出回路16の出力を選択するように選択回路7を制御
する。
6においては、DCT係数のランレングスおよびレベル
が検出され、選択回路7に供給される。選択回路7は、
マイコン15の制御にしたがって、ランレングス/レベ
ル検出回路16の出力を選択し、これにより、符号化/
復号化テーブル記憶部8には、ランレングス/レベル検
出回路16から選択回路7を介して、ランレングスおよ
びレベルが供給される。
は、選択回路7からのランレングスおよびレベルに対応
するアドレスに記憶されている可変長符号およびその長
さが読み出され、可変長符号は選択回路3に、可変長符
号の長さはシフト量加算器9に、それぞれ供給される。
がって、符号化/復号化テーブル記憶部8の出力を選択
し、これにより、FF部4には、符号化/復号化テーブ
ル記憶部8から選択回路3を介して、可変長符号が供給
される。
ップフロップで構成されるFF部4)には、可変長符号
が、例えば右詰めで(LSB側に詰めて)記憶される。
なお、符号化/復号化テーブル記憶部8の出力がNビッ
ト未満の場合、その上位ビットは、例えば0Bなどとさ
れる(MPEGにおいては、符号化出力の最大ビット数
が28ビットと規定されており、従って、符号化テーブ
ルに記憶されている可変長符号のワード幅が、例えば、
この28ビットであり、かつ、FF部4が、例えば、3
2ビットで構成される場合には、28ビットの可変長符
号の上位ビットとして、4ビットの0Bが付加され、こ
れにより、32ビットとされる)。即ち、これにより、
可変長符号は、一律に、Nビット固定のデータ(以下、
適宜、Nビット固定可変長符号という)とされる。
符号は、選択回路5に出力される。選択回路5は、マイ
コン15の制御にしたがって、FF部4の出力を選択
し、これにより、バレルシフタ6には、FF部4から選
択回路5を介して、Nビット固定可変長符号が供給され
て記憶される。
号化テーブル記憶部8から供給された可変長符号の長さ
と、FF部11の記憶値とが加算されることにより、可
変長符号の長さが累積加算される。この累積加算値は、
FF部10および11に供給されて記憶される。FF部
10に記憶された累積加算値は、シフト量として、バレ
ルシフタ6に供給され、FF部11に記憶された累積加
算値は、次の累積加算値の算出のために、シフト量加算
器9に供給される。
量Σを受信すると、記憶しているNビット固定可変長符
号を、N−Σビットだけ左シフト(MSB側にシフト)
し、そのシフト結果を、FF部12および選択回路13
に供給する。FF部12は、バレルシフタ6の出力を一
時記憶し、選択回路13に出力する。
ており、その制御にしたがって、バレルシフタ6または
FF部12のうちのいずれか一方の出力を選択し、FF
部14に供給する。
ルシフタ6の出力が選択されて供給された場合、次のよ
うな処理を行う。
をΣとするとともに、符号化/復号化テーブル記憶部8
からシフト量加算器9に供給された可変長符号の長さ
(従って、バレルシフタ6においてビットシフトされた
可変長符号の長さ)をσとすると、FF部14は、それ
を構成するN個のフリップフロップのうちの、上位Σ−
σビットより下位のビットのフリップフロップのみを動
作させる。従って、この場合、FF部10においては、
その上位Σ−σビット(MSBから第N−(Σ−σ)ビ
ットまで)はそのまま保持され、その第N−(Σ−σ)
−1ビットからLSBまでに、バレルシフタ6の出力の
第N−(Σ−σ)−1ビットからLSBまでが、新たに
記憶される。
てに、可変長符号を連続して記憶すると、そのNビット
の可変長符号列を出力する。
てFF部12の出力が選択されて供給された場合には、
それを、そのままラッチする。
値を用いて、さらに詳述する。
て、例えば、15が記憶されており、従って、FF部1
4には、そのMSBから上位15ビットまでに、可変長
符号が連続して記憶されているものとする。なお、FF
部14のMSBから上位15ビットまでに記憶されてい
る可変長符号列を、例えば、100001000110
110Bとする。
て、この場合、シフト量加算器9は、5ビットの加算器
で構成される。
ングスまたはレベルとして、それぞれ0または3が、ラ
ンレングス/レベル検出回路16から選択回路7を介し
て、符号化/復号化テーブル8に供給され、そのランレ
ングス「0」およびレベル「3」の組合せに対応する可
変長符号「××・・・×001010B」と、その長さ
「6」が出力されたものとする。なお、可変長符号「×
×・・・×001010B」のうちの下位6ビット「0
01010B」が、ランレングス「0」およびレベル
「3」の組合せに対応する可変長符号であり、×の部分
は、可変長符号を、符号化テーブルのワード幅に一致さ
せるための、いわばダミーのビットである。
タ6には、選択回路3、FF部4、および選択回路5を
介して、可変長符号「001010B」の上位ビットに
26個の0Bを付加した32ビット固定可変長符号「0
0000000000000000000000000
001010B」が供給されて記憶される。
の長さ「6」が供給され、FF部11の記憶値「15」
と加算される。そして、その結果得られる加算値として
のシフト量「21(=15+6)」は、FF部11に供
給されるとともに、FF部10を介して、バレルシフタ
6に供給される。
信すると、記憶している32ビット固定可変長符号を、
11(=32−21)ビットだけ左シフトし、そのシフ
ト結果を、FF部12および選択回路13に供給する。
FF部12は、バレルシフタ6の出力を一時記憶する。
レルシフタ6から、32ビット固定可変長符号「000
0000000000000000000000000
1010B」を11ビットだけ左シフトしたデータ(以
下、適宜、32ビットシフトデータという)「0000
0000000000000101000000000
000B」が供給され、また、FF部12にも、同様の
データが記憶される。
6の出力を選択し、FF部14に供給する。
ルシフタ6の出力が選択されて供給されると、そのMS
Bから既に記憶している15ビットの可変長符号列「1
00001000110110B」に、選択回路13の
出力のMSBから16ビット目以降の下位ビットを付加
する。
32個のフリップフロップ(FF)14−1乃至14−
32で構成されており(但し、フリップフロップ14−
1がMSBに相当し、フリップフロップ14−32がL
SBに相当するものとする)、いまの場合、フリップフ
ロップ14−1乃至14−11には、1B,0B,0
B,0B,0B,1B,0B,0B,0B,1B,1
B,0B,1B,1B,0Bがそれぞれ記憶されてい
る。
ら、32ビットシフトデータ「00000000000
000000101000000000000B」が供
給されると、そのMSBから第17(=32−(21−
6))ビットまで(上位15ビット)のフリップフロッ
プ14−1乃至14−15は動作させず、その第16
(=32−(21−6)−1)ビットからLSBまでの
フリップフロップ14−16乃至14−32だけを動作
させる。
0010001101100010100000000
0000Bとなり、これにより、既に連続した可変長符
号列となっている15ビットのデータ「1000010
00110110B」に、新たに得られた6ビットの可
変長符号「001010B」が連続して配置される。
の可変長符号列が記憶されることとなるが、以下、同様
の処理が繰り返され、FF部14に、32ビットの可変
長符号列が記憶されると、その32ビットの可変長符号
列(可変長符号が、32ビット分連続したデータ系列)
は、FF部14から読み出されて出力される。
に記憶されている可変長符号列に、可変長符号が連続し
て付加され、その結果得られる新たな可変長符号列を対
象に同様の処理が行われることで、32ビットの可変長
符号列が生成されるが、32ビットの可変長符号列のL
SBが、そこに最後に付加される可変長符号のLSBと
一致するとは限らない。
FF部14において、既に31ビットの可変長符号列が
記憶されており、バレルシフタ6に、例えば、図9
(B)に示すように、長さが6の可変長符号が入力され
たとする。なお、図9において、○印は、有効な可変長
符号(可変長符号列)のビットを表し、×印は、ダミー
のビット(有効な可変長符号(可変長符号列)が記憶さ
れていないビット)を表している。
っており、従って、シフト量加算器9には、31と6と
が入力される。31と6との加算値は37であるが、上
述したように、シフト量加算器9は、5ビットの加算器
で構成され、そのMSBのキャリーは無視されるため、
累積加算値としては、5(=37−32)が出力され
る。その結果、バレルシフタ6では、図9(B)に示し
た入力データが27(=32−5)ビットだけ左シフト
され、これにより、同図(C)に示すような32ビット
シフトデータが出力される。
フタ6から選択回路13を介して、FF部14に供給さ
れ、これにより、32ビットシフトデータのLSBが、
既にFF部14に記憶されている31ビットの可変長符
号列に付加され、32ビットの可変長符号列が得られる
が、その後、次の可変長符号について、同様の処理を行
ったのでは、図9(C)に示した32ビットシフトデー
タの上位5ビットの、いわば可変長符号の残りが、可変
長符号列に含まれないことになる。
9の累積加算値が32以上となることによって、その出
力値が前回より小さくなったときだけ、選択回路13
に、バレルシフタ6の出力を選択させた後、即座に、F
F部12の出力を選択させるようになされている。
トシフトデータのLSBが、既にFF部14に記憶され
ている31ビットの可変長符号列に付加され、32ビッ
トの可変長符号列が得られた後、選択回路13は、FF
12に記憶されている32ビットシフトデータを選択
し、FF部14に供給して記憶させる。これにより、F
F部14においては、次の可変長符号は、図9(C)に
示した、残りの5ビットの可変長符号に続けて記憶され
ることになる。
長復号化時の動作について説明する。
よびVLD器203のうち、復号化時に動作するブロッ
クを示している。
ず、復号化テーブルを、符号化/復号化テーブル8に供
給して記憶させ、さらに、FF部2の出力を選択するよ
うに選択回路3を制御するとともに、バレルシフタ6の
出力を選択するように選択回路7を制御する。
2からNビット分の可変長符号列を読み出し、FF部2
に供給して記憶させる。このFF部2に記憶されたNビ
ットの可変長符号は、FF部4に、復号化すべき可変長
符号列が、まだ記憶されていないとき(復号化の開始
時)と、FF部4に記憶された可変長符号列の復号がす
べて終了したときに、選択回路3を介して、FF部4に
供給されて記憶される。
化対象であるNビットの可変長符号列が常時記憶され、
FF部2においては、次の復号化対象であるNビットの
可変長符号列が常時記憶される。
号化テーブル記憶部8から供給される、前回復号化され
た可変長符号の長さσと、FF部11の記憶値、即ち、
前回のシフト量Σとが加算されることにより、可変長符
号の長さが累積加算される。この累積加算値Σ+σは、
FF部10および11に供給されて記憶される。FF部
10に記憶された累積加算値は、シフト量として、選択
回路5およびバレルシフタ6に供給され、FF部11に
記憶された累積加算値は、次の累積加算値の算出のため
に、シフト量加算器9に供給される。
ットの可変長符号列のうちの上位i(<N)ビットの復
号化が終了しているとき、その残りのN−iビットと、
FF部2に記憶されたNビットの可変長符号列のうちの
上位iビットとを、FF部10から供給されるシフト量
Σ+σ(ここでは、Σ+σ=i)に基づいて選択し、そ
の選択した合計N(=(N−i)+i)ビットのデータ
を、バレルシフタ6に供給する。
量Σ+σを受信すると、選択回路5からのNビットのデ
ータを、Σ+σビットだけ左シフトし、そのシフト結果
としてのNビットのシフトデータを、選択回路7に供給
する。ここで、このNビットのシフトデータのMSBか
らは、現在、復号化対象となっている可変長符号が配置
されている。即ち、バレルシフタ6においては、これか
ら復号化される可変長符号の、いわば頭出しが行われ
る。
15の制御にしたがって、バレルシフタ6の出力を選択
しており、従って、この場合、Nビットのシフトデータ
は、選択回路7を介して、符号化/復号化テーブル記憶
部8に供給される。
は、選択回路7からのNビットのシフトデータが、例え
ば、アドレスデコードされ、そのデコード結果をアドレ
スとして、そのアドレスに記憶されているランレングス
およびレベル、並びに可変長符号の長さが読み出され
る。そして、ランレングスおよびレベルは、ランレング
ス/レベル変換器17に供給され、可変長符号の長さ
は、シフト量加算器9に供給される。
号化/復号化テーブル記憶部8からのランレングスおよ
びレベルが、量子化されたDCT係数に変換され、逆量
子化器204に供給される。
に記憶されているNビットの可変長符号列の復号化がす
べて終了すると、FF部2に記憶されているNビットの
可変長符号列が、FF部4に転送される。さらに、読み
出し回路1において、次に復号化すべきNビットの可変
長符号列がバッファ202から読み出され、FF部2に
供給されて記憶される。そして、以下、同様の処理が繰
り返される。
値を用いて、さらに詳述する。
は32(=25)ととし、シフト量加算器9は、5ビッ
トの加算器で構成されるものとする。
は、現在の復号化対象としての32ビットの可変長符号
列として、例えば、0101000010000110
0101000000010100Bが記憶されてお
り、FF部2には、次の復号化対象の32ビットの可変
長符号列として、例えば、0000000100000
1010000011010000000Bが記憶され
ているものとする。さらに、FF部11には、累積加算
値として、例えば、15が記憶されており、従って、F
F部4に記憶されている可変長符号列のうちの、MSB
から上位15ビットまでのデータ「010100001
000011B」については、可変長復号化が終了して
いるものとする。
ば、図12に示すように、32ビットのシフトデータ
「001010000000101000000000
10000010B」が出力され、これが、選択回路7
を介して、符号化/復号化テーブル記憶部8に入力され
ることにより、ランレングスまたはレベルとして、それ
ぞれ0または3が、可変長符号の長さとして6が出力さ
れたとする(従って、この時点で、上述の32ビットの
シフトデータ「001010000000101000
00000010000010B」のうちの上位6ビッ
ト「001010B」の可変長復号化、即ち、FF部4
に記憶された32ビットの可変長符号列「010100
0010000110010100000001010
0B」のうちの上位21ビット「0101000010
00011001010」の可変長符号化が終了してい
る)。
加算器9には、可変長符号の長さ「6」が、符号化/復
号化テーブル記憶部8から供給され、そこでは、この可
変長符号の長さ「6」と、FF部11の記憶値「15」
とが加算されることにより、可変長符号の長さが累積加
算される。この累積加算値「21(=15+6)」は、
FF部10および11に供給されて記憶される。FF部
10に記憶された累積加算値は、シフト量として、選択
回路5およびバレルシフタ6に供給され、FF部11に
記憶された累積加算値は、次の累積加算値の算出のため
に、シフト量加算器9に供給される。
力値「21」を参照することにより、FF部4に記憶さ
れた32ビットの可変長符号列「0101000010
0001100101000000010100B」の
うちの上位21ビット「01010000100001
1001010」の可変長復号化が終了していることを
認識し、その残りの下位11(=32−21)ビット
「00000010100B」を選択する。さらに、選
択回路5は、FF部2に記憶された32ビットの可変長
符号列「000000010000010100000
11010000000B」のうちのMSBから、FF
部10の出力値である21ビットを選択し、即ち、その
上位21ビット「00000001000001010
0000B」を選択し、FF部2から選択した21ビッ
トの後に、FF部4から選択した11ビットを付加する
ことで、32ビットのデータ「00000001000
001010000000000010100B」を構
成する。
示している。選択回路5は、N個、即ち、ここでは、3
2個のセレクタ(S)5−1乃至5−32で構成されて
おり、セレクタ5−jには、FF部4のMSBからjビ
ット目と、FF部2のMSBからjビット目とが入力さ
れるようになされている。そして、セレクタ5−jは、
原則として、FF部2または4それぞれのMSBからj
ビット目のうちの、FF部4の方を選択して出力するよ
うになされているが、FF部4のMSBからjビット目
が既に復号化されている場合には、FF部2の方を選択
するようになされている。
には、即ち、FF部4に記憶されている32ビットの可
変長符号列のうちの上位21ビットの復号が終了してい
る場合には、セレクタ5−1乃至5−21において、F
F部2の方が選択されるとともに、残りのセレクタ5−
22乃至5−32において、FF部4の方が選択され、
これにより、選択回路5からは、上述したように、FF
部2の上位21ビットの後に、FF部4の下位11ビッ
トが付加された32ビットのデータ「00000001
000001010000000000010100
B」が出力される。
れたデータと、FF部4から選択されたデータとを、そ
れぞれ記号”で囲んで表す(例えば、上述の32ビット
のデータ「00000001000001010000
000000010100B」を、「”0000000
10000010100000B””00000010
100B”」と表す)。
ータは、バレルシフタ6に供給されて記憶される。
量「21」を受信すると、記憶している32ビットのデ
ータを、そのシフト量「21」に対応するビットだけ左
シフトする。これにより、いまの場合、選択回路5から
出力されたデータ「”000000010000010
100000B””00000010100B”」を、
21ビットだけ左シフトしたデータ「”0000001
0100B””000000010000010100
000B”」が得られる。
ットのデータのうちの上位21ビットについては、上述
したように復号が終了しており、従って、今回の復号化
の対象とすべきものは、FF部4の残りの11ビットの
データ「00000010100B」と、それに続く、
FF部2の上位21ビットのデータ「00000001
0000010100000B」とからなる32ビット
のデータ「00000010100000000010
000010100000B」である。
F部2または4から、それぞれ上位21ビットまたは1
1ビットが選択され、その選択されたデータが、バレル
シフタ6でビットシフトされることにより、今回の復号
化の対象とすべき32ビットのデータ(頭出しをしたデ
ータ)「000000101000000000100
00010100000B」が得られる。
果得られるデータは、選択回路7を介して、符号化/復
号化テーブル記憶部8に供給される。
は、選択回路7を介して供給される32ビットのデータ
(シフトデータ)が、アドレスデコードされ、そのデコ
ード結果をアドレスとして、そのアドレスに記憶されて
いるランレングスおよびレベル、並びに可変長符号の長
さが読み出される。即ち、いまの場合、図14に示すよ
うに、選択回路7を介して供給されるデータ「0000
0010100000000010000010100
000B」に対応するランレングスまたはレベルとし
て、それぞれ0または7が出力され、また、可変長符号
の長さとして11が出力される。
ス/レベル変換器17に供給され、そこで、DCT係数
に変換される。また、可変長符号の長さは、シフト量加
算器9に供給され、以下、同様の処理が繰り返される。
の累積加算値が32以上となることによって、その出力
値が前回より小さくなると、即ち、FF部4に記憶され
ている32ビットの可変長符号列を対象とする可変長復
号化が終了すると、FF部2を制御し、そこに記憶され
ているデータを、選択回路3を介して、FF部4に転送
させて記憶させる。さらに、マイコン15は、読み出し
回路1を制御し、バッファ202から次の32ビットの
可変長符号列を読み出させ、FF部2に供給させて記憶
させる。そして、以下、同様の処理が繰り返される。
って、可変長符号化と可変長復号化の両方を行うように
したので、装置を小型かつ低コストに構成することが可
能となる。
においては、FF部4に、現在復号化の対象となってい
る可変長符号列を記憶させるとともに、FF部2に、次
に復号化の対象となる可変長符号列を記憶させるように
したので、バレルシフタ6として、それほど大きなビッ
ト数(例えば、64ビットなど)のものを使用せずに済
む。
の符号化、復号化を行う画像符号化装置、画像復号化装
置に適用した場合について説明したが、本発明は、MP
EG以外の、例えば、H.261その他の規格に準拠し
た画像の符号化、復号化を行う場合についても適用可能
である。さらに、本発明は、画像以外の、例えば、音声
その他のデータの符号化、復号化を行う場合にも適用可
能である。
ブロックの可変長符号化/復号化を対象とするが、本発
明は、その他、動きベクトルや量子化ステップ幅などの
可変長符号化/復号化などにも適用可能である。
1に、バレルシフタ6などのビット数と同一のビット数
N単位で、可変長符号列を読み出させるようにしたが、
可変長符号列の読み出しは、Nビット未満単位で行うよ
うにすることも可能である。
ビット数を32ビットとしたが、バレルシフタ6のビッ
ト数は、例えば、読み出し回路1による可変長符号列の
読み出しのビット数に基づいて決定するようにすること
が可能である。
憶部8の書き換えは、例えば、図15に示すようにして
行うことが可能である。即ち、符号化テーブルを記憶さ
せたROM(Read Only Memory)81と、復号化テーブ
ルを記憶させたROM82とを用意し、マイコン15
に、符号化時にはROM81の記憶内容を、復号化時に
はROM82の記憶内容を、符号化/復号化テーブル記
憶部8に転送させて記憶させるようにすることができ
る。
ルシフタを2段に配置したVLC器が、例えば、特開平
5−259922号公報などに開示されており、また、
バレルシフタを2段に配置したVLD器が、例えば、Mi
ng-Ting Sun and Shaw-Min Lei, "A HIGH-SPEED ENTROP
Y DECORDER FOR HDTV", IEEE 1992 CUSTOM INTEGRATED
CIRCUITS CONFERENCEや、"ISSCC94/SESSION4/VIDEO AND
COMMUNICATION SIGNAL PROCESSORS/PAPER WP 4.6", 19
94 IEEE International Solid-State CircuitsConferen
ce、佐藤他、「MPEG2動画像CODECのVLSI
化」、EDAテクノフェア95、ユニバシティプラザ、
大学研究所による研究発表資料集、湖本、瀬口、「11
0MHz MPEG2対応可変長符号の復号化LSIの
開発」、電子情報通信学会技報、TECNICAL REPORT OF I
EICE. ICD94-86(1994-08)などに開示されているが、図
4のVLC器111およびVLD器203においても、
これらと同様に、バレルシフタを2段に配置するように
することが可能である。
化時のいずれの場合にも、バレルシフタ6を左シフトさ
せるようにしたが、バレルシフタ6のシフト方向は、シ
フト量を変換することによって、左または右のうちのい
ずれの方向にもすることが可能である。
1で符号化したデータを、記録媒体2に記録し、また、
記録媒体52に記録したデータを、画像復号化装置53
で復号化するようにしたが、本発明は、その他、例え
ば、画像符号化装置51で符号化したデータを、CAT
V網や衛星回線などを介して伝送し、また、そのように
して伝送されてきたデータを、画像復号化装置53で復
号化するような場合にも適用可能である。
び低コスト化を図ることが可能となる。
構成を示すブロック図である。
ック図である。
ック図である。
03の構成例を示すブロック図である。
するためのブロック図である。
するためのブロック図である。
するためのブロック図である。
ある。
である。
明するためのブロック図である。
明するためのブロック図である。
明するためのブロック図である。
である。
明するためのブロック図である。
き換え処理を説明するためのブロック図である。
図である。
図である。
4 FF部, 5 選択回路, 6 バレルシフタ,
7 選択回路, 8 符号化/復号化テーブル記憶部,
9 シフト量加算器, 10乃至12 FF部, 1
3 選択回路,14 FF部, 15 マイコン, 1
6 ランレングス/レベル検出回路,17 ランレング
ス/レベル変換器, 51 画像符号化装置, 52
記録媒体, 53 画像復号化装置, 81,82 R
OM, 102 演算器,103 DCT器, 104
量子化器, 106 固定逆量子化器, 107逆D
CT器, 108 演算器, 109 動き補償器,
109A フレームメモリ, 110 動きベクトル検
出器, 111 VLC器, 203 VLD器, 2
04 逆量子化器, 205 逆DCT器, 206
演算器,207 動き補償器, 207A フレームメ
モリ
Claims (4)
- 【請求項1】 符号化すべきデータを、そのランレング
スおよびレベルに対応して可変長符号に符号化し、並び
に復号化すべき前記可変長符号を、対応する前記ランレ
ングスおよびレベルに復号化する可変長符号処理装置で
あって、 前記ランレングスおよびレベルを入力として、前記可変
長符号を出力するための可変長符号化テーブルを記憶す
る第1のテーブル記憶手段と、 前記第1のテーブル記憶手段より出力される前記可変長
符号を、その長さにしたがってビットシフトする第1の
シフト手段と、 前記可変長符号を入力として、前記ランレングスおよび
レベルを出力するための可変長復号化テーブルを記憶す
る第2のテーブル記憶手段と、 復号化すべき前記可変長符号を、前回復号化した前記可
変長符号の長さにしたがって、Nビット単位でビットシ
フトし、前記第2のテーブル記憶手段に入力として与え
る第2のシフト手段と、 現在の復号化対象であるNビットの前記可変長符号を一
時記憶する第1の可変長符号記憶手段と、 次の復号化対象であるNビットの前記可変長符号を一時
記憶する第2の可変長符号記憶手段と、 前記第1の可変長符号記憶手段に記憶されたNビットの
前記可変長符号のうちの上位iビットが復号化されたと
き、その残りのN−iビットと、前記第2の可変長符号
記憶手段に記憶されたNビットの前記可変長符号のうち
の上位iビットとを選択し、前記第2のシフト手段に供
給する選択手段とを備え、かつ、前記第 1 および第 2 のシ
フト手段が同一のものであることを特徴とする可変長符
号処理装置。 - 【請求項2】 前記第1の可変長符号記憶手段に記憶さ
れたNビットの前記可変長符号の復号化が終了したと
き、 前記第2の可変長符号記憶手段に記憶されたNビットの
前記可変長符号を、前記第1の可変長符号記憶手段に転
送し、 前記第2の可変長符号記憶手段に、次に復号化すべきN
ビットの前記可変長符号を記憶させることを特徴とする
請求項1に記載の可変長符号処理装置。 - 【請求項3】 前記可変長符号の長さを累積加算するK
ビットの加算手段をさらに備え、 前記第1および第2のシフト手段は、2Kビット単位の
データのビットシフトを前記加算手段の累積加算結果に
基づいて行うことを特徴とする請求項1に記載の可変長
符号処理装置。 - 【請求項4】 画像データを可変長符号に符号化し、お
よび前記可変長符号を前記画像データに復号化する画像
処理装置であって、 前記画像データを処理し、その処理結果のランレングス
およびレベルを出力する第1の処理手段と、 前記第1の処理手段が出力する前記ランレングスおよび
レベルに対応して可変長符号を出力し、並びに前記可変
長符号に対応して、前記ランレングスおよびレベルを出
力する可変長符号処理手段と、 前記可変長符号処理手段が出力する前記ランレングスお
よびレベルを処理し、前記画像データを出力する第2の
処理手段とを備え、 前記可変長符号処理手段は、 前記ランレングスおよびレベルを入力として、前記可変
長符号を出力するための可変長符号化テーブルを記憶す
る第1のテーブル記憶手段と、 前記第1のテーブル記憶手段より出力される前記可変長
符号を、その長さにしたがってビットシフトする第1の
シフト手段と、 前記可変長符号を入力として、前記ランレングスおよび
レベルを出力するための可変長復号化テーブルを記憶す
る第2のテーブル記憶手段と、 復号化すべき前記可変長符号を、前回復号化した前記可
変長符号の長さにしたがって、 Nビット単位でビットシフトし、前記第2のテーブル記
憶手段に入力として与える第2のシフト手段と、 現在の復号化対象であるNビットの前記可変長符号を一
時記憶する第1の可変長符号記憶手段と、 次の復号化対象であるNビットの前記可変長符号を一時
記憶する第2の可変長符号記憶手段と、 前記第1の可変長符号記憶手段に記憶されたNビットの
前記可変長符号のうちの上位iビットが復号化されたと
き、その残りのN−iビットと、前記第2の可変長符号
記憶手段に記憶されたNビットの前記可変長符号のうち
の上位iビットとを選択し、前記第2のシフト手段に供
給する選択手段とを備え、かつ、前記第 1 および第 2 のシ
フト手段が同一のものであることを特徴とする画像処理
装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16900396A JP3520670B2 (ja) | 1996-06-28 | 1996-06-28 | 可変長符号処理装置および画像処理装置 |
US08/867,532 US5933536A (en) | 1996-06-28 | 1997-06-02 | Variable length code processor and image processor having an integrated coding/decoding circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16900396A JP3520670B2 (ja) | 1996-06-28 | 1996-06-28 | 可変長符号処理装置および画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1022834A JPH1022834A (ja) | 1998-01-23 |
JP3520670B2 true JP3520670B2 (ja) | 2004-04-19 |
Family
ID=15878551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16900396A Expired - Fee Related JP3520670B2 (ja) | 1996-06-28 | 1996-06-28 | 可変長符号処理装置および画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5933536A (ja) |
JP (1) | JP3520670B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11215009A (ja) * | 1998-01-22 | 1999-08-06 | Sony Corp | 符号復号装置 |
JPH11215008A (ja) * | 1998-01-27 | 1999-08-06 | Oki Electric Ind Co Ltd | 復号回路 |
US6298091B1 (en) * | 1998-03-23 | 2001-10-02 | International Business Machines Corporation | Method to play audio and video clips through MPEG decoders |
US6351493B1 (en) * | 1998-06-30 | 2002-02-26 | Compaq Computer Corporation | Coding an intra-frame upon detecting a scene change in a video sequence |
JP3493574B2 (ja) * | 1999-03-11 | 2004-02-03 | Necエレクトロニクス株式会社 | 逆量子化装置及び逆量子化方法 |
US6549669B1 (en) * | 1999-04-27 | 2003-04-15 | Telefonaktiebolaget L M Ericsson (Publ) | Predictive audio and video encoding with smooth scene switching capability |
JP2001308715A (ja) * | 2000-04-20 | 2001-11-02 | Mitsubishi Electric Corp | 可変長符号化装置および可変長復号装置 |
JP4109404B2 (ja) * | 2000-04-26 | 2008-07-02 | 松下電器産業株式会社 | 符号化装置および符号化方法 |
EP1292152B1 (en) * | 2000-06-02 | 2011-03-16 | Panasonic Corporation | Image processing apparatus, and image processing method |
US6819803B2 (en) * | 2001-07-02 | 2004-11-16 | International Business Machines Corporation | Faster lossless rotation of JPEG images |
US7262718B2 (en) * | 2004-03-30 | 2007-08-28 | Matsushita Electric Industrial Co., Ltd. | Variable length decoder and variable length decoding method |
TWI289979B (en) * | 2005-08-16 | 2007-11-11 | Via Tech Inc | Device and method for variable length decoding |
JP2008141278A (ja) * | 2006-11-30 | 2008-06-19 | Sanyo Electric Co Ltd | 復号回路 |
JP5071282B2 (ja) * | 2008-07-15 | 2012-11-14 | ソニー株式会社 | ビット選択回路 |
JP5501014B2 (ja) * | 2010-02-05 | 2014-05-21 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム及び記憶媒体 |
CN111768460B (zh) * | 2020-06-30 | 2023-08-01 | 北京百度网讯科技有限公司 | 一种解码方法、装置、设备以及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2441297A1 (fr) * | 1978-11-09 | 1980-06-06 | Cit Alcatel | Dispositif de conversion binaire et applications aux emetteurs et recepteurs d'informations d'image a reduction de redondance |
US5263135A (en) * | 1985-07-18 | 1993-11-16 | Canon Kabushiki Kaisha | Image processing apparatus |
US4870662A (en) * | 1987-12-01 | 1989-09-26 | Concord Data Systems, Inc. | System and method for compressing transmitted or stored data |
US5245338A (en) * | 1992-06-04 | 1993-09-14 | Bell Communications Research, Inc. | High-speed variable-length decoder |
US5550541A (en) * | 1994-04-01 | 1996-08-27 | Dolby Laboratories Licensing Corporation | Compact source coding tables for encoder/decoder system |
KR0152032B1 (ko) * | 1994-05-06 | 1998-10-15 | 김광호 | 영상신호를 위한 가변장복호기 |
US5767799A (en) * | 1995-12-05 | 1998-06-16 | Mitsubishi Semiconductor America, Inc. | Low power high speed MPEG video variable length decoder |
-
1996
- 1996-06-28 JP JP16900396A patent/JP3520670B2/ja not_active Expired - Fee Related
-
1997
- 1997-06-02 US US08/867,532 patent/US5933536A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1022834A (ja) | 1998-01-23 |
US5933536A (en) | 1999-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3520670B2 (ja) | 可変長符号処理装置および画像処理装置 | |
JP3856262B2 (ja) | 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体 | |
US7312730B2 (en) | Variable length coding method and variable length decoding method | |
KR100952892B1 (ko) | 비디오 데이타의 인트라코딩 방법 및 장치 | |
JP4676450B2 (ja) | デジタルビデオ符号化処理における可変精度ピクチャ間タイミング指定方法及び装置 | |
JPH0537915A (ja) | 画像信号符号化方法と画像信号符号化装置 | |
JPH05153577A (ja) | 動画像復号化装置 | |
JP3089941B2 (ja) | 画像間予測符号化装置 | |
JP3757406B2 (ja) | 符号化装置、符号化方法、復号化装置、および復号化方法 | |
JP3132844B2 (ja) | 画像処理装置 | |
JPH0984011A (ja) | 動画符号化方式変換装置 | |
JPH07131789A (ja) | 画像符号化方式 | |
JPH05130580A (ja) | 可変長符号復号装置 | |
JPH10285590A (ja) | 画像符号化方法及び装置、画像復号方法及び装置、並びに画像記録媒体 | |
JP2001136529A (ja) | 画像信号の復号化方法及び装置 | |
JPS63296564A (ja) | ビットプレ−ン予測符号化方法 | |
JP2001268571A (ja) | 動画像再符号化装置 | |
JPH06216780A (ja) | 可変長符号化装置及び可変長符号復号化装置 | |
JPH06253290A (ja) | フレーム間予測信号形成方法 | |
JPH1013830A (ja) | エンコーダ装置 | |
JPS63269867A (ja) | ビツトプレ−ン予測符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080213 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100213 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100213 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |