JP3450553B2 - 可変長符号復号装置 - Google Patents
可変長符号復号装置Info
- Publication number
- JP3450553B2 JP3450553B2 JP28397095A JP28397095A JP3450553B2 JP 3450553 B2 JP3450553 B2 JP 3450553B2 JP 28397095 A JP28397095 A JP 28397095A JP 28397095 A JP28397095 A JP 28397095A JP 3450553 B2 JP3450553 B2 JP 3450553B2
- Authority
- JP
- Japan
- Prior art keywords
- start code
- length
- signal
- code
- data
- 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
-
- 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
-
- 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/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/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
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【産業上の利用分野】本発明は、可変長符号復号装置に
関する。
関する。
【0002】
【従来の技術】従来、種々の画像圧縮技術が用いられて
おり、そのいずれの技術においても、一旦圧縮した画像
データを伸張してもとに戻して使用される。
おり、そのいずれの技術においても、一旦圧縮した画像
データを伸張してもとに戻して使用される。
【0003】そのような画像圧縮伸張技術の1つとし
て、MPEG2(ISO/IEC 13818−2)規
格と呼ばれている動画像データの圧縮伸張の技術がある
(この規格は周知のものであるため、詳述は避けるが、
例えば、藤原洋著「最新MPEG教科書」、初版、19
94年8月1日発行、アスキー出版局、に記載されてい
る)。このMPEG規格による圧縮した符号化信号の復
号化回路のブロック図は、例えば、図3に示される。こ
の図3の回路はNIKKEI ELECTRONICS
BOOKS「データ圧縮とディジタル変調」、199
3、10、1、日経BP社、p96に記載されたものに
vbvバッファ(DRAM)を説明上付加したものであ
る。この回路は、それにも述べているように、簡単には
次のように動作する。即ち、フレーム内符号化したフレ
ーム(Intraフレーム)を復号化する場合は、スイ
ッチSW1 はa側に切り換えられる。フレーム間符号化
したフレーム(Predictedフレーム/Inte
rpolatedフレーム)を復号するときには、スイ
ッチSW1 はb側に切り換えられ、送られてきた差分画
像と予測画像を加算する。Predictedフレーム
の場合には、スイッチSW1 がb側にあって、復号化し
た画像は、出力と同時にフレーム・メモリAに格納され
る。このとき、フレーム・メモリAに格納されていた画
像は、フレーム・メモリBに転送される。Interp
olatedフレームの復号化は、そのフレームの予測
方向(前向き/後ろ向き/前向きと後ろ向きの両方)で
スイッチSW2 をc,e,dのいずれかの位置に切り換
える。
て、MPEG2(ISO/IEC 13818−2)規
格と呼ばれている動画像データの圧縮伸張の技術がある
(この規格は周知のものであるため、詳述は避けるが、
例えば、藤原洋著「最新MPEG教科書」、初版、19
94年8月1日発行、アスキー出版局、に記載されてい
る)。このMPEG規格による圧縮した符号化信号の復
号化回路のブロック図は、例えば、図3に示される。こ
の図3の回路はNIKKEI ELECTRONICS
BOOKS「データ圧縮とディジタル変調」、199
3、10、1、日経BP社、p96に記載されたものに
vbvバッファ(DRAM)を説明上付加したものであ
る。この回路は、それにも述べているように、簡単には
次のように動作する。即ち、フレーム内符号化したフレ
ーム(Intraフレーム)を復号化する場合は、スイ
ッチSW1 はa側に切り換えられる。フレーム間符号化
したフレーム(Predictedフレーム/Inte
rpolatedフレーム)を復号するときには、スイ
ッチSW1 はb側に切り換えられ、送られてきた差分画
像と予測画像を加算する。Predictedフレーム
の場合には、スイッチSW1 がb側にあって、復号化し
た画像は、出力と同時にフレーム・メモリAに格納され
る。このとき、フレーム・メモリAに格納されていた画
像は、フレーム・メモリBに転送される。Interp
olatedフレームの復号化は、そのフレームの予測
方向(前向き/後ろ向き/前向きと後ろ向きの両方)で
スイッチSW2 をc,e,dのいずれかの位置に切り換
える。
【0004】上記のような圧縮された符号化信号の復号
に当っては、スタートコードが用いられる。即ち、圧縮
された画像データは階層的構造をとっており、それぞれ
の階層の始まりには、必ずそれらの各階層に対応したス
タートコードが置かれている。従って、画像データを復
号するには、スタートコードを正確に検出する必要があ
る。このスタートコードを検出する位置としては、一般
に、図3において、2つ考えられていた。1つは、いわ
ゆるデコーダ本体に画像データ(符号化信号)が入力さ
れる直前の点であるノードaである。もう1つは、スタ
ートコードが処理に使用される直前の点であるノードb
である。ノードaでの検出は、スタートコードがバイト
アラインされている場合において、小規模の回路構成で
スタートコードの検出が可能である。しかしながら、こ
れらの信号は、vbvバッファに一旦格納されてしまう
ため、いつになったら検出したスタートコードが処理に
使用されるか予測する回路が必要になる。また、vbv
バッファに格納されるスタートコードが複数個に及ぶ場
合があり、どの検出出力がそのスタートコードに対応し
ているのかはっきりさせるための回路も必要になり、回
路素子量の増加は免れない。
に当っては、スタートコードが用いられる。即ち、圧縮
された画像データは階層的構造をとっており、それぞれ
の階層の始まりには、必ずそれらの各階層に対応したス
タートコードが置かれている。従って、画像データを復
号するには、スタートコードを正確に検出する必要があ
る。このスタートコードを検出する位置としては、一般
に、図3において、2つ考えられていた。1つは、いわ
ゆるデコーダ本体に画像データ(符号化信号)が入力さ
れる直前の点であるノードaである。もう1つは、スタ
ートコードが処理に使用される直前の点であるノードb
である。ノードaでの検出は、スタートコードがバイト
アラインされている場合において、小規模の回路構成で
スタートコードの検出が可能である。しかしながら、こ
れらの信号は、vbvバッファに一旦格納されてしまう
ため、いつになったら検出したスタートコードが処理に
使用されるか予測する回路が必要になる。また、vbv
バッファに格納されるスタートコードが複数個に及ぶ場
合があり、どの検出出力がそのスタートコードに対応し
ているのかはっきりさせるための回路も必要になり、回
路素子量の増加は免れない。
【0005】それに対して、ノードbでの検出は、予測
するための回路を必要としない。しかし検出するための
画像データ入力は、可変長の画像データから固定長の変
換出力信号を生成するために不規則にシフトされてお
り、バイトアラインも壊れてしまっている。従って、ス
タートコード検出にはビット単位で全パターンをチェッ
クしなければならない。従って検出回路の規模は、バイ
トアラインのままの検出が可能なノードaでの検出の場
合に対して、およそ8倍もの大きさになってしまう。図
4に、従来の、上記ノードbでの検出に用いるためのス
タートコード検出回路を示す。この図4の回路は、従来
知られたものであるから詳述は避けるが、簡単には、固
定長データに変換された後にスタートコードを検出する
ものである。即ち、バレルシフタ11で変換済の32ビ
ットのデータをレジスタ12,13に入れ、それらから
24入力ORの32組からなる回路14に入力し、この
回路14からの出力を32入力OR回路15に入力し
て、スタートコードを検出するようにしたものである。
これらの回路14,15は素子数の大きなものとなるの
は避けられない。ただし、ノードbでの方法でも、シフ
ト出力されるデータを逐一調べれば、回路素子量は容易
に考えられる範囲では最小の量になるが、画像処理LS
I全体としての処理時間が膨大に増加してしまい、実時
間での復号が不可能になってしまう。
するための回路を必要としない。しかし検出するための
画像データ入力は、可変長の画像データから固定長の変
換出力信号を生成するために不規則にシフトされてお
り、バイトアラインも壊れてしまっている。従って、ス
タートコード検出にはビット単位で全パターンをチェッ
クしなければならない。従って検出回路の規模は、バイ
トアラインのままの検出が可能なノードaでの検出の場
合に対して、およそ8倍もの大きさになってしまう。図
4に、従来の、上記ノードbでの検出に用いるためのス
タートコード検出回路を示す。この図4の回路は、従来
知られたものであるから詳述は避けるが、簡単には、固
定長データに変換された後にスタートコードを検出する
ものである。即ち、バレルシフタ11で変換済の32ビ
ットのデータをレジスタ12,13に入れ、それらから
24入力ORの32組からなる回路14に入力し、この
回路14からの出力を32入力OR回路15に入力し
て、スタートコードを検出するようにしたものである。
これらの回路14,15は素子数の大きなものとなるの
は避けられない。ただし、ノードbでの方法でも、シフ
ト出力されるデータを逐一調べれば、回路素子量は容易
に考えられる範囲では最小の量になるが、画像処理LS
I全体としての処理時間が膨大に増加してしまい、実時
間での復号が不可能になってしまう。
【0006】
【発明が解決しようとする課題】このように、図3にお
いて、従来のスタートコード検出位置としてのノード
a,bでの検出では、スタートコードの検出が実際に使
用されるところよりも前すぎて使用しずらいという難点
や、検出対象となるデータが固定長に変換済であること
から検出しにくいという難点があった。
いて、従来のスタートコード検出位置としてのノード
a,bでの検出では、スタートコードの検出が実際に使
用されるところよりも前すぎて使用しずらいという難点
や、検出対象となるデータが固定長に変換済であること
から検出しにくいという難点があった。
【0007】本発明は、上記に鑑みてなされたもので、
その目的は、回路規模を著しく小さなものとしつつもス
タートコードを適正に検出可能とすることにある。
その目的は、回路規模を著しく小さなものとしつつもス
タートコードを適正に検出可能とすることにある。
【0008】
【課題を解決するための手段】本発明の可変長符号復号
装置は、スタートコードを有する可変長符号データが外
部から加えられるインターフェース部であって、1バイ
トを4倍した32ビットの可変長符号データをそれぞれ
格納可能な複数のレジスタを有し、これらのレジスタ
を、外部からの前記可変長符号データを下位側のレジス
タに格納させると共にこの下位側のレジスタ中の可変長
符号データを順次上位側のレジスタに順送りに転送可能
な格納データ更新動作が行われるように直列に接続し
た、インターフェース部と、前記複数のレジスタのうち
の上位側の(32ビット×2)としての64ビットの複
数のレジスタからの可変長符号データを受け、受けたデ
ータを、加えられるシフト長信号に応じたビット数だけ
前記32ビット毎にあるいは1ビット毎にシフトさせる
シフト回路と、前記インターフェース部における48ビ
ットの複数の前記レジスタからの可変長符号データを単
位ビットアラインにおけるアラインを保ったまま受け
て、これらのバイトラインされた状態のまま受けた可変
長符号データに対して、前記スタートコードの有無を示
すスタートコード信号と、スタートコードを検出したと
きにはそのスタートコードの始まりのビットが前記受け
た可変長符号データにおけるバイト単位のどのバイトに
あるかを示すスタートコードシフト長信号を出力する、
スタートコード検出動作を行う、スタートコード検出回
路と、前記スタートコード信号を受けて、そのスタート
コード信号がスタートコードの無を示すときには、前記
インターフェース部に第1キャリー信号を加えて前記格
納データ更新動作を行わせて前記スタートコード検出回
路が前記スタートコード検出動作を再び実行可能とする
と共に、スタートコードの有を示すときには、前記スタ
ートコードシフト長信号に基づく信号を前記シフト長信
号として前記シフト回路に加える、コントロール回路
と、を備えるものとして構成される。
装置は、スタートコードを有する可変長符号データが外
部から加えられるインターフェース部であって、1バイ
トを4倍した32ビットの可変長符号データをそれぞれ
格納可能な複数のレジスタを有し、これらのレジスタ
を、外部からの前記可変長符号データを下位側のレジス
タに格納させると共にこの下位側のレジスタ中の可変長
符号データを順次上位側のレジスタに順送りに転送可能
な格納データ更新動作が行われるように直列に接続し
た、インターフェース部と、前記複数のレジスタのうち
の上位側の(32ビット×2)としての64ビットの複
数のレジスタからの可変長符号データを受け、受けたデ
ータを、加えられるシフト長信号に応じたビット数だけ
前記32ビット毎にあるいは1ビット毎にシフトさせる
シフト回路と、前記インターフェース部における48ビ
ットの複数の前記レジスタからの可変長符号データを単
位ビットアラインにおけるアラインを保ったまま受け
て、これらのバイトラインされた状態のまま受けた可変
長符号データに対して、前記スタートコードの有無を示
すスタートコード信号と、スタートコードを検出したと
きにはそのスタートコードの始まりのビットが前記受け
た可変長符号データにおけるバイト単位のどのバイトに
あるかを示すスタートコードシフト長信号を出力する、
スタートコード検出動作を行う、スタートコード検出回
路と、前記スタートコード信号を受けて、そのスタート
コード信号がスタートコードの無を示すときには、前記
インターフェース部に第1キャリー信号を加えて前記格
納データ更新動作を行わせて前記スタートコード検出回
路が前記スタートコード検出動作を再び実行可能とする
と共に、スタートコードの有を示すときには、前記スタ
ートコードシフト長信号に基づく信号を前記シフト長信
号として前記シフト回路に加える、コントロール回路
と、を備えるものとして構成される。
【0009】
【発明の実施の態様】画像圧縮伸張デバイスにおいて、
HDTVレベルの品質を満たすためには10Mbps以
上の性能が必要である。この性質を実現するためには、
可変長符号によって符号化されたデータを1クロック毎
に復号化する必要がある。このためには、連続した可変
長符号を、1クロック毎に、頭出しする必要がある。そ
の頭出しは、可変長符号の符号長に基づくバレルシフト
を行うことによってなされる。
HDTVレベルの品質を満たすためには10Mbps以
上の性能が必要である。この性質を実現するためには、
可変長符号によって符号化されたデータを1クロック毎
に復号化する必要がある。このためには、連続した可変
長符号を、1クロック毎に、頭出しする必要がある。そ
の頭出しは、可変長符号の符号長に基づくバレルシフト
を行うことによってなされる。
【0010】本発明の実施例を示す図1のVLD(vari
able-length decoder )において、外部のFIFOメモ
リ1からのデータを32ビット単位で、インターフェー
ス2を介して、VLDのシフト回路3に加える。シフト
回路3には、ルックアップテーブル4からの情報(デコ
ード長)DLTが累積加算部5を介して加えられ、それ
によりシフト回路3は(32ビット×2)のデータをバ
レルシフトして頭出しをし、それを順次繰り返すもので
ある。上記インターフェース2、シフト回路3及び累積
加算部5によってヘッドシフタ部が構成されている。上
記動作は公知のものであるため特に詳しくは説明しない
が、図1の場合において簡単には次の通りである。メ
モリ1からのデータは、累積加算部5からの信号Rea
dに基づいて32ビット単位でインターフェース部2に
加えられる。インターフェース部2においては、累積
加算部5からの信号carryに基づいて、32ビット
のデータD0,D1,D2,…が3つのレジスタR2
0,R21,R22に順次先送りされた形に格納され、
且つ順次先送りされた形に更新される。シフト回路3
のバレルシフタBSには、データ入力として前記レジス
タR20,R21からのデータが加えられる。このバ
レルシフタBSは、レジスタR20,R21からの64
ビットデータを、累積加算部5からのシフト長信号SH
0(累積加算された可変長符号の符号長)に基づいて0
〜31ビットの範囲内でシフトした32ビットデータの
出力dout1として出力する。即ち、シフト長信号S
H0のデコーダDC1によるデコード信号でシフトを行
う。シフト済のデータは、レジスタR3を介してルッ
クアップテーブル4に加えられ、そのテーブル4からデ
コード長DLTが前記累積加算部5に加えられる。こ
の累積加算部5における加算器addは、デコード長D
LTとR51の内容を加算する。加算器からの出力が
前記シフト長信号SH0として通常のモードのとき(ス
タートコード検出モードでないとき)にマルチプレクサ
MP1を介して、バレルシフタBS0に加えられる。
加算器addからの出力が“31”を越えた時に信号
(carry)′が出力される。この信号(carr
y)′は通常モード時にマルチプレクサMP2を介して
信号Carryとしてインターフェース部2に加えら
れ、且つレジスタR52を介して信号ReadとしてF
IFOメモリ1に加えられるのは前に述べた通りであ
る。
able-length decoder )において、外部のFIFOメモ
リ1からのデータを32ビット単位で、インターフェー
ス2を介して、VLDのシフト回路3に加える。シフト
回路3には、ルックアップテーブル4からの情報(デコ
ード長)DLTが累積加算部5を介して加えられ、それ
によりシフト回路3は(32ビット×2)のデータをバ
レルシフトして頭出しをし、それを順次繰り返すもので
ある。上記インターフェース2、シフト回路3及び累積
加算部5によってヘッドシフタ部が構成されている。上
記動作は公知のものであるため特に詳しくは説明しない
が、図1の場合において簡単には次の通りである。メ
モリ1からのデータは、累積加算部5からの信号Rea
dに基づいて32ビット単位でインターフェース部2に
加えられる。インターフェース部2においては、累積
加算部5からの信号carryに基づいて、32ビット
のデータD0,D1,D2,…が3つのレジスタR2
0,R21,R22に順次先送りされた形に格納され、
且つ順次先送りされた形に更新される。シフト回路3
のバレルシフタBSには、データ入力として前記レジス
タR20,R21からのデータが加えられる。このバ
レルシフタBSは、レジスタR20,R21からの64
ビットデータを、累積加算部5からのシフト長信号SH
0(累積加算された可変長符号の符号長)に基づいて0
〜31ビットの範囲内でシフトした32ビットデータの
出力dout1として出力する。即ち、シフト長信号S
H0のデコーダDC1によるデコード信号でシフトを行
う。シフト済のデータは、レジスタR3を介してルッ
クアップテーブル4に加えられ、そのテーブル4からデ
コード長DLTが前記累積加算部5に加えられる。こ
の累積加算部5における加算器addは、デコード長D
LTとR51の内容を加算する。加算器からの出力が
前記シフト長信号SH0として通常のモードのとき(ス
タートコード検出モードでないとき)にマルチプレクサ
MP1を介して、バレルシフタBS0に加えられる。
加算器addからの出力が“31”を越えた時に信号
(carry)′が出力される。この信号(carr
y)′は通常モード時にマルチプレクサMP2を介して
信号Carryとしてインターフェース部2に加えら
れ、且つレジスタR52を介して信号ReadとしてF
IFOメモリ1に加えられるのは前に述べた通りであ
る。
【0011】次に、スタートコード検出に関連する部分
について説明する。
について説明する。
【0012】スタートコード検出モード時には、スター
トコード検出回路6が動作する。この回路6は、前記レ
ジスタR20,R21から都合64ビットのデータ(6
3〜0)を入力させ、そのうちの48ビットのデータ
(63〜16)を使用してスタートコードの有無を示す
データ(SCD)と、検出したときにはそのスタートコ
ードがどのビットから始まるかを示すデータ(SCDL
EN5〜0)を出力する。このスタートコード検出回路
6の詳細は、図2に示される。この図2からわかるよう
に、レジスタR20から32ビットのデータ(63〜3
2)とレジスタR1から16ビットのデータ(31〜1
6)が入力端子に入力される。そして、図示の論理がと
られて、SCD、SCDLEN〔5〕〜
トコード検出回路6が動作する。この回路6は、前記レ
ジスタR20,R21から都合64ビットのデータ(6
3〜0)を入力させ、そのうちの48ビットのデータ
(63〜16)を使用してスタートコードの有無を示す
データ(SCD)と、検出したときにはそのスタートコ
ードがどのビットから始まるかを示すデータ(SCDL
EN5〜0)を出力する。このスタートコード検出回路
6の詳細は、図2に示される。この図2からわかるよう
に、レジスタR20から32ビットのデータ(63〜3
2)とレジスタR1から16ビットのデータ(31〜1
6)が入力端子に入力される。そして、図示の論理がと
られて、SCD、SCDLEN〔5〕〜
〔0〕の都合7
ビットのデータが出力される。スタートコード信号SC
Dは、スタートコードを検出しないときにはレベル0と
なり、検出したときにはレベル1となる。6ビットのス
タートコードシフト長信号SCDLEN〔5〕〜
ビットのデータが出力される。スタートコード信号SC
Dは、スタートコードを検出しないときにはレベル0と
なり、検出したときにはレベル1となる。6ビットのス
タートコードシフト長信号SCDLEN〔5〕〜
〔0〕
は、スタートコードが検出された場合において、レベル
0,1の組合わせにより、スタートコードが前記48ビ
ットのデータ(63〜16)のうちのどのビットからス
タートコードが始まって入るかを示すものである。この
うち、信号SCDLEN〔5〕は、信号SCDがレベル
0のときはレベル1となり、レベル1のときはレベル0
となる。また、信号SCDLEN〔2〕〜
は、スタートコードが検出された場合において、レベル
0,1の組合わせにより、スタートコードが前記48ビ
ットのデータ(63〜16)のうちのどのビットからス
タートコードが始まって入るかを示すものである。この
うち、信号SCDLEN〔5〕は、信号SCDがレベル
0のときはレベル1となり、レベル1のときはレベル0
となる。また、信号SCDLEN〔2〕〜
〔0〕はレベ
ル0に固定された信号である。信号SCDLEN
〔4〕、〔3〕の2ビットによってスタートコードのス
タートビットが示される。つまり、信号SCDLEN
〔4〕、〔3〕は00、01、10、11の4つの組み
合わせをとり、これらの各場合において、スタートコー
ドのスタートビットは63、55、47、39となり、
このスタートビットから若い数のビットに向って24ビ
ットだけスタートコードが並ぶ。表1は以上のことを示
すものである。
ル0に固定された信号である。信号SCDLEN
〔4〕、〔3〕の2ビットによってスタートコードのス
タートビットが示される。つまり、信号SCDLEN
〔4〕、〔3〕は00、01、10、11の4つの組み
合わせをとり、これらの各場合において、スタートコー
ドのスタートビットは63、55、47、39となり、
このスタートビットから若い数のビットに向って24ビ
ットだけスタートコードが並ぶ。表1は以上のことを示
すものである。
【0013】
表 1
(1) (2) (3) (4)
SCDLEN
〔0〕 0 0 0 0
SCDLEN〔1〕 0 0 0 0
SCDLEN〔2〕 0 0 0 0
SCDLEN〔3〕 0 1 0 1
SCDLEN〔4〕 0 0 1 1
SCDLEN〔5〕 0 0 0 0
スタートコードの 63 55 47 39
スタートビット
このようにしてスタートコードは検出されるが、入力さ
れる48ビットのデータはバイトアラインが壊されてい
ない状態にある。このため図2の回路を、全ビットパタ
ーンをチェックするものとする必要がない。つまり、バ
イト単位のみのチェックで済み、図2の回路の回路規模
は、全ビットパターンをチェックする従来のものに比し
て約1/8程度でよいようになった。図1からわかるよ
うに、スタートコード検出回路6からの信号SCDをレ
ジスタR61を介して出力させるようにしたので、スタ
ートコードをそれが処理に使用される直前に検出するこ
とができることになった。さらにバイト単位という観点
で見ると、図2の回路は、バイト単位の入力パターンを
チェックしてスタートコードを検出する構造になってい
る。この図2の回路ではスタートコードシフト長信号S
CDLEN〔5〕〜
れる48ビットのデータはバイトアラインが壊されてい
ない状態にある。このため図2の回路を、全ビットパタ
ーンをチェックするものとする必要がない。つまり、バ
イト単位のみのチェックで済み、図2の回路の回路規模
は、全ビットパターンをチェックする従来のものに比し
て約1/8程度でよいようになった。図1からわかるよ
うに、スタートコード検出回路6からの信号SCDをレ
ジスタR61を介して出力させるようにしたので、スタ
ートコードをそれが処理に使用される直前に検出するこ
とができることになった。さらにバイト単位という観点
で見ると、図2の回路は、バイト単位の入力パターンを
チェックしてスタートコードを検出する構造になってい
る。この図2の回路ではスタートコードシフト長信号S
CDLEN〔5〕〜
〔0〕も出力するようにしている
が、この出力もバイト単位となることから、下位3ビッ
ト、つまりSCDLEN〔2〕〜
が、この出力もバイト単位となることから、下位3ビッ
ト、つまりSCDLEN〔2〕〜
〔0〕は常にレベル0
を出力していればよく、よって、論理回路を組んでこれ
らの下位ビットを出力させる必要はなく、その分論理回
路を簡単化できる。
を出力していればよく、よって、論理回路を組んでこれ
らの下位ビットを出力させる必要はなく、その分論理回
路を簡単化できる。
【0014】図1において、このようにしてスタートコ
ード検出回路6で検出した2スタートコード検出信号S
CD及びスタートコードシフト長信号SCDLEN
〔5〕〜
ード検出回路6で検出した2スタートコード検出信号S
CD及びスタートコードシフト長信号SCDLEN
〔5〕〜
〔0〕は、コントロール回路7及び累積加算部
5に加えられる。このコントロール回路7は、スタート
コード検出モード時において、スタートコード検出信号
SCDが加えられると、その他図示せぬ各種の制御信号
との論理により、2つのマルチプレクサMP1、MP2
にスタートコード長信号SCDLEN〔4〕〜
5に加えられる。このコントロール回路7は、スタート
コード検出モード時において、スタートコード検出信号
SCDが加えられると、その他図示せぬ各種の制御信号
との論理により、2つのマルチプレクサMP1、MP2
にスタートコード長信号SCDLEN〔4〕〜
〔0〕、
SCDLEN〔5〕を選択させる。これらの信号SCD
及びSCDLEN〔5〕〜
SCDLEN〔5〕を選択させる。これらの信号SCD
及びSCDLEN〔5〕〜
〔0〕は前述したレベルをと
ることから、スタートコードを検出しない場合にはSC
DLEN〔5〕がレベル1となってインターフェース部
2で先述のような32ビットのデータの先送りが行わ
れ、スタートコードを検出した場合には信号SCDLE
N〔4〕〜
ることから、スタートコードを検出しない場合にはSC
DLEN〔5〕がレベル1となってインターフェース部
2で先述のような32ビットのデータの先送りが行わ
れ、スタートコードを検出した場合には信号SCDLE
N〔4〕〜
〔0〕に応じた量だけシフト回路3において
シフトが行われる。
シフトが行われる。
【0015】なお、MPEG2規格に沿ってスタートコ
ード24ビットの次にエラーコード8ビット等が付加さ
れたものもある。この場合においては、スタートコード
検出回路6中のエラーコード検出機能部分でそのエラー
コードが検出され、レジスタR62を介してエラーコー
ド検出信号ERRSCDとして出力される。
ード24ビットの次にエラーコード8ビット等が付加さ
れたものもある。この場合においては、スタートコード
検出回路6中のエラーコード検出機能部分でそのエラー
コードが検出され、レジスタR62を介してエラーコー
ド検出信号ERRSCDとして出力される。
【0016】
【発明の効果】本発明によれば、圧縮・可変長符号化さ
れた画像データからスタートコードを検出するに際し、
バイトアラインの壊れない状態の画像データから検出す
ることができ、しかもそのスタートコードが使用される
回路からあまり離れない回路において検出することがで
き、これにより回路規模を小さくできると共に使い勝手
のよい回路装置を得ることができる。
れた画像データからスタートコードを検出するに際し、
バイトアラインの壊れない状態の画像データから検出す
ることができ、しかもそのスタートコードが使用される
回路からあまり離れない回路において検出することがで
き、これにより回路規模を小さくできると共に使い勝手
のよい回路装置を得ることができる。
【図1】本発明の実施例の全体構成図。
【図2】図1のスタートコード検出回路の詳細図。
【図3】画像信号を復号するための処理経路を示すブロ
ック図。
ック図。
【図4】従来のスタートコード検出回路の一例を示すブ
ロック図。
ロック図。
1 外部FIFOメモリ
2 インターフェース部
3 シフト回路
4 ルックアップテーブル
5 累積可算部
6 スタートコード検出回路
7 コントロール回路
R61 レジスタ
フロントページの続き
(72)発明者 大 友 吾 一
神奈川県川崎市幸区小向東芝町1 株式
会社東芝 多摩川工場内
(56)参考文献 特開 平7−104973(JP,A)
特開 平7−250321(JP,A)
特開 平7−38888(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
H04N 7/24 - 7/68
H03M 7/40
Claims (4)
- 【請求項1】スタートコードを有する可変長符号データ
が外部から加えられるインターフェース部であって、1
バイトを4倍した32ビットの可変長符号データをそれ
ぞれ格納可能な複数のレジスタを有し、これらのレジス
タを、外部からの前記可変長符号データを下位側のレジ
スタに格納させると共にこの下位側のレジスタ中の可変
長符号データを順次上位側のレジスタに順送りに転送可
能な格納データ更新動作が行われるように直列に接続し
た、インターフェース部と、 前記複数のレジスタのうちの上位側の(32ビット×
2)としての64ビットの複数のレジスタからの可変長
符号データを受け、受けたデータを、加えられるシフト
長信号に応じたビット数だけ前記32ビット毎にあるい
は1ビット毎にシフトさせるシフト回路と、 前記インターフェース部における48ビットの複数の前
記レジスタからの可変長符号データを単位ビットアライ
ンにおけるアラインを保ったまま受けて、これらのバイ
トラインされた状態のまま受けた可変長符号データに対
して、前記スタートコードの有無を示すスタートコード
信号と、スタートコードを検出したときにはそのスター
トコードの始まりのビットが前記受けた可変長符号デー
タにおけるバイト単位のどのバイトにあるかを示すスタ
ートコードシフト長信号を出力する、スタートコード検
出動作を行う、スタートコード検出回路と、 前記スタートコード信号を受けて、そのスタートコード
信号がスタートコードの無を示すときには、前記インタ
ーフェース部に第1キャリー信号を加えて前記格納デー
タ更新動作を行わせて前記スタートコード検出回路が前
記スタートコード検出動作を再び実行可能とすると共
に、スタートコードの有を示すときには、前記スタート
コードシフト長信号に基づく信号を前記シフト長信号と
して前記シフト回路に加える、コントロール回路と、 を備えることを特徴とする可変長符号復号装置。 - 【請求項2】スタートコード検出モードと通常動作モー
ドを実行可能に構成され、 前記通常動作モード時においては、前記コントロール回
路が前記スタートコード検出回路からの前記スタートコ
ード信号及び前記スタートコードシフト長信号をスター
トコードを検出できなかった状態となし、 通常動作モードを実行する回路としてさらに累積加算部
を有し、この累積加算部からのシフト長信号により前記
シフト回路においてここに入力された可変長符号データ
を1ビット長毎にシフトさせ、シフト済のデータから得
られるデコード長の情報を前記累積加算部に加えて累積
加算をさせ、この加算の値を前記シフト長信号として前
記シフト回路に加えること特徴とする請求項1の可変長
符号復号装置。 - 【請求項3】前記累積加算回路は、前記加算の値が31
を越えたときには、前記格納データ更新動作を行わせる
ことを特徴とする請求項2の可変長符号復号装置。 - 【請求項4】ルックアップテーブルを備え、このテーブ
ルから前記シフト回路からの出力に対応する前記デコー
ド長を得ることを特徴とする請求項3の可変長符号復号
装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28397095A JP3450553B2 (ja) | 1995-10-31 | 1995-10-31 | 可変長符号復号装置 |
US08/743,971 US5867113A (en) | 1995-10-31 | 1996-10-30 | Variable length code decoding apparatus having parallel start code and shift operations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28397095A JP3450553B2 (ja) | 1995-10-31 | 1995-10-31 | 可変長符号復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09130792A JPH09130792A (ja) | 1997-05-16 |
JP3450553B2 true JP3450553B2 (ja) | 2003-09-29 |
Family
ID=17672598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28397095A Expired - Fee Related JP3450553B2 (ja) | 1995-10-31 | 1995-10-31 | 可変長符号復号装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5867113A (ja) |
JP (1) | JP3450553B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1051041A1 (en) * | 1999-05-07 | 2000-11-08 | Deutsche Thomson-Brandt Gmbh | Method for searching start codes |
US6501398B2 (en) * | 2000-03-24 | 2002-12-31 | Matsushita Electric Industrial Co., Ltd. | Variable-length code decoder using barrel shifters and a look-up table |
JP3540248B2 (ja) * | 2000-06-01 | 2004-07-07 | 松下電器産業株式会社 | 可変長符号復号装置 |
US6963612B2 (en) * | 2001-08-31 | 2005-11-08 | Stmicroelectronic, Inc. | System for detecting start codes in MPEG video streams and method of operating the same |
JP3807379B2 (ja) * | 2003-02-21 | 2006-08-09 | ソニー株式会社 | パターン検出回路 |
CN1297150C (zh) * | 2004-12-16 | 2007-01-24 | 上海交通大学 | 单时钟周期可变长熵解码装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5642437A (en) * | 1992-02-22 | 1997-06-24 | Texas Instruments Incorporated | System decoder circuit with temporary bit storage and method of operation |
KR950004129B1 (ko) * | 1992-05-19 | 1995-04-25 | 주식회사금성사 | 가변장 부호 복호기 |
US5583562A (en) * | 1993-12-03 | 1996-12-10 | Scientific-Atlanta, Inc. | System and method for transmitting a plurality of digital services including imaging services |
US5566089A (en) * | 1994-10-26 | 1996-10-15 | General Instrument Corporation Of Delaware | Syntax parser for a video decompression processor |
-
1995
- 1995-10-31 JP JP28397095A patent/JP3450553B2/ja not_active Expired - Fee Related
-
1996
- 1996-10-30 US US08/743,971 patent/US5867113A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5867113A (en) | 1999-02-02 |
JPH09130792A (ja) | 1997-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6215424B1 (en) | System for variable length codeword processing suitable for video and other applications | |
JP3294026B2 (ja) | 高速可変長復号化装置 | |
KR100462421B1 (ko) | 가변길이디코더 | |
US5706001A (en) | Run-length decoding apparatus for use in a video signal decoding system | |
KR100470251B1 (ko) | 가변길이디코더 | |
US20050152609A1 (en) | Video decoder | |
US6285789B1 (en) | Variable length code decoder for MPEG | |
US6809665B2 (en) | Apparatus and method for decoding variable length code | |
US20030053700A1 (en) | System and method for decoding signal and method of generating lookup table for using in signal decoding | |
US6222467B1 (en) | Bitstream decoding apparatus | |
JP3450553B2 (ja) | 可変長符号復号装置 | |
US5781135A (en) | High speed variable length code decoder | |
US6621428B1 (en) | Entropy codec for fast data compression and decompression | |
US5748688A (en) | Bit-pattern detector | |
US7728745B2 (en) | Variable length code decoding apparatus and method with variation in timing of extracting bit string to be decoded depending on code word | |
KR19980702418A (ko) | 가변 길이 디코더 | |
JP3193654B2 (ja) | 可変長符号デコーダ | |
US20050174270A1 (en) | Programmable variable length decoder including interface of cpu processor | |
JP3389391B2 (ja) | 可変長コードの符号化及び分割装置 | |
US8228214B2 (en) | Variable-length code decoding apparatus and method | |
US6907068B2 (en) | Image compressing coding apparatus and method for detecting a top position of an image in a buffer overflow | |
US6377707B1 (en) | Image processing system | |
US5657016A (en) | Variable length decoder with one of N length indicator | |
US5798717A (en) | One-hot overflow matrix with enhanced architecture and one-hot variable length decoder incorporating the same | |
JPH11512271A (ja) | 2語ビット流分節式高性能可変長復号器および関連復号方法 |
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: 20030624 |
|
LAPS | Cancellation because of no payment of annual fees |