JP3189876B2 - 可変長符号復号化回路 - Google Patents

可変長符号復号化回路

Info

Publication number
JP3189876B2
JP3189876B2 JP15126397A JP15126397A JP3189876B2 JP 3189876 B2 JP3189876 B2 JP 3189876B2 JP 15126397 A JP15126397 A JP 15126397A JP 15126397 A JP15126397 A JP 15126397A JP 3189876 B2 JP3189876 B2 JP 3189876B2
Authority
JP
Japan
Prior art keywords
code
decoding
length
output
variable
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
Application number
JP15126397A
Other languages
English (en)
Other versions
JPH10341167A (ja
Inventor
成則 木内
明 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP15126397A priority Critical patent/JP3189876B2/ja
Priority to US09/092,943 priority patent/US6069575A/en
Publication of JPH10341167A publication Critical patent/JPH10341167A/ja
Application granted granted Critical
Publication of JP3189876B2 publication Critical patent/JP3189876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、可変長符号を復号
する可変長符号復号化回路に関し、特に、可変長符号復
号処理速度が向上され、集積化に適した可変長符号復号
化回路に関する。
【0002】
【従来の技術】従来、可変長符号を復号する可変長符号
復号化回路としては、復号テーブルをAND、OR等の
ランダムロジックで構成する方式(以下ハード固定式と
称する)と、復号テーブルとしてメモリを持つ方式(以
下プログラム式と称する)がある。さらにプログラム式
でも、可変長符号を復号する場合に復号語を1つずつ求
める方式や、復号語を2つずつ求める方式であり、テー
ブル検索を2段行い、求まった2符号長を加算して可変
長符号データ列から次の可変長符号の先頭ビットを求め
る方式、さらには、米国特許第5617089号に開示
される復号化処理の高速化を図るために複数の変換テー
ブルを同時に使用する方式がある。
【0003】図16は、復号テーブルがランダムロジッ
クで構成されたハード固定式の可変長符号復号化回路の
従来例の構成を示すブロック図である。可変長符号の最
大符号語長を16ビットとする。ブロック図内の可変長
符号データ列15−0は可変長符号データ列16ビット
を示したもので、先頭ビットを15としている。
【0004】図16に示すように、可変長符号データ列
から可変長符号の先頭ビットを求める先頭決め部201
と、入力データに対して出力を行うランダムロジックで
構成されたランダムロジック復号テーブル202によっ
て構成されている。
【0005】ランダムロジック復号テーブル202は、
16ビットの可変長符号データ入力に対して復号語8ビ
ットと符号長5ビットを出力するようにAND、OR等
のランダムロジックで構成されている。例えば、復号語
Aに対する可変長符号が‘0101’、復号語Bに対す
る可変長符号が‘0110101’とすると、‘010
1×…’の入力があれば復号語A、符号長4を出力し、
‘0110101×…’の入力があれば復号語B、符号
長7を出力する。以下同様に各復号語についてランダム
ロジック復号テーブル202を構成する。また先頭決め
部201の初期値は、入力可変長符号データ16ビット
の先頭ビットとする。
【0006】可変長符号データ列‘010101101
01001…’が送られてきたとする。先頭決め部20
1に先頭16ビット‘01010110101001
…’が入力される。先頭決め部201では初期値は入力
可変長符号データ16ビットの先頭ビットなので先頭ビ
ットから16ビット‘01010110101001
…’をランダムロジック復号テーブル202に送る。ラ
ンダムロジック復号テーブル202では、‘0101×
…’の入力があれば、復号語A、符号長4を出力するよ
うに構成されているので、復号語A、符号長4を出力す
る。符号長4は先頭決め部201に送られる。先頭決め
部201では符号長4より次の可変長符号の先頭ビット
が16ビットデータ‘01010110101001
…’の5ビット目であることが求まる。先頭決め部20
1で新たに求められた先頭ビットから16ビット‘01
10101001…’がランダムロジック復号テーブル
202に入力される。ランダムロジック復号テーブル2
02では、‘0110101×…’の入力があれば復号
語B、符号長7を出力するように構成されているので、
復号語B、符号長7を出力する。符号長7は先頭決め部
201に送られる。先頭決め部201では符号長7より
次の可変長符号の先頭ビットが16ビットデータ‘01
10101001…’の8ビット目であることが求ま
る。先頭決め部201で新たに求められた先頭ビットか
ら16ビット‘001…’が復号テーブル202に入力
される。以下同様に繰り返すことによって復号される。
【0007】図17は、ランダムロジック復号テーブル
としてメモリを用いたプログラム式の従来例の構成を示
す図であり、復号語を1つずつ求めていた場合の一例を
示す可変長符号復号化回路のブロック図である。可変長
符号の最大符号語長を16ビットとする。ブロック図内
の可変長符号データ列15−0は可変長符号データ列1
6ビットを示したもので、先頭ビットを15としてい
る。
【0008】図17に示すように、可変長符号データ列
から可変長符号の先頭ビットを求める先頭決め部211
と、メモリに復号語と符号長を設定したメモリーブル2
12によって構成する。
【0009】メモリ復号テーブル212には、図18に
示すように可変長符号のアドレス入力に対して復号語8
ビットと符号長5ビットを設定する。例えば、復号語A
に対する可変長符号が‘0101’、復号語Bに対する
可変長符号が‘0110101’とすると、‘0101
×…’の入力があれば復号語A、符号長4を出力し、
‘0110101×…’の入力があれば復号語B、符号
長7を出力する。以下同様に各復号語についてメモリ復
号テーブル212に設定する。また先頭決め部211の
初期値は、入力可変長符号データ16ビットの先頭ビッ
トとする。
【0010】可変長符号データ列‘010101101
01001…’が送られてきたとする。先頭決め部21
1に先頭16ビット‘01010110101001
…’が入力される。先頭決め部211では初期値は入力
可変長符号データ16ビットの先頭ビットなので先頭ビ
ットから16ビット‘01010110101001
…’をメモリ復号テーブル212に送る。メモリ復号テ
ーブル212では、‘0101×…’の入力があれば復
号語A、符号長4を出力するように設定されているので
復号語A、符号長4を出力する。符号長4は先頭決め部
211に送られる。先頭決め部211では符号長4より
次の可変長符号の先頭ビットが16ビットデータ‘01
010110101001…’の5ビット目であること
が求まる。先頭決め部211で新たに求まった先頭ビッ
トから16ビット‘0110101001…’がメモリ
復号テーブル212に入力される。メモリ復号テーブル
212では、‘0110101×…’の入力があれば復
号語B、符号長7を出力するように設定されているので
復号語B、符号長7を出力する。符号長7は先頭決め部
211に送られる。先頭決め部211では符号長7より
次の可変長符号の先頭ビットが16ビットデータ‘01
10101001…’の8ビット目であることが求ま
る。先頭決め部211で新たに求まった先頭ビットから
16ビット‘001…’がメモリ復号テーブル212に
入力される。以下同様に繰り返すことによって復号され
る。
【0011】図17に示した従来方式のより具体的な例
として、特開昭62−66720号公報に記載された可
変長符号復号化回路がある。特開昭62−66720号
公報に記載された回路では、先頭決め部211をデータ
レジスタ、符号レジスタ、セレクタ、先頭ビット数レジ
スタ、制御回路、復号テーブル212がROMで構成し
ている。
【0012】図19は、従来のプログラム式で復号語を
1つずつ求め、かつ、復号テーブルとして設けられるメ
モリ容量を少なくするための従来例の構成を示すブロッ
ク図である。
【0013】図19に示すように、ラッチ回路221
と、可変長符号データ列の先頭から1ビットを最下位の
アドレス入力とし、セレクタ222の出力3ビットをア
ドレス2ビット目から4ビット目とし、かつ、ラッチ回
路221からの出力8ビットのうちの5ビットを上位5
ビットのアドレス入力とするメモリ復号テーブル223
と、可変長復号を1ビット単位に行う場合はラッチ回路
221からの3ビットを選択し、4ビット単位で行う場
合には可変長符号データ3ビットを選択するセレクタ2
22からなり、ラッチ回路221はメモリ復号テーブル
223からのQFの出力が0である場合にデータQD7
−0をラッチするように構成されている。メモリ復号テ
ーブル223のQFの出力は、QDの出力が復号語であ
れば1、ポインタであれば0を表すフラグである。
【0014】図19に示すメモリ復号テーブル223
に、あらかじめ図20に示すようなデータが設定されて
いるとする。図19に示した従来例について、可変長符
号が‘0101’の復号語Aと‘110100010
1’の復号語Cとを4ビット単位で復号をした場合につ
いて図19および図20を参照して説明する。
【0015】可変長符号データ列‘010111010
00101××…’が送られてきたとする。ラッチ回路
221はリセットされ、8ビットの全てに‘0’が出力
される。この8ビットのうちの上位5ビットはメモリ復
号テーブル223のアドレス上位5ビットに入力され
る。下位3ビットはセレクタ222のA0に入力される
が、4ビット単位のときにはセレクタ222がA1側を
選択するのでこれは無視される。可変長符号データの先
頭ビットの‘0’はメモリ復号テーブル223の最下位
アドレスに入力される。先頭2ビット目から4ビット目
の‘101’はセレクタ222のA1を経由してアドレ
スAHLに送られる。結局、メモリ復号テーブル223
にはアドレス‘000001010’が送られるので、
メモリ復号テーブル223は復号語A、符号長4と復号
語の出力を表すフラグ=1を出力する。このフラグ=1
によりラッチ回路221はリセットされる。復号語A、
符号長4が求まったので次の可変長符号データ列は‘1
101000101××..’である。
【0016】ラッチ回路221は先にフラグ=1によっ
てリセットされているため、8ビットの全てに‘0’が
出力される。従って、アドレスAHHには‘0000
0’が入力される。可変長符号データの先頭ビットの
‘1’はメモリ復号テーブル223の最下位アドレスに
入力される。先頭2ビット目から4ビット目の‘10
1’はセレクタ222のA1を経由してアドレスAHL
に入力される。結局メモリ復号テーブル223にはアド
レス‘000001011’が入力され、メモリ復号テ
ーブル223からポインタデータ‘00001000’
とフラグ=0が出力される。メモリ復号テーブル223
出力がポインタデータであるので、このポインタデータ
と可変長符号データ列の次の4ビットに基づいて再度追
跡を行う。ラッチ回路221はポインタデータをラッチ
するので、‘00001000’を出力する。‘000
01’はアドレスAHHに入力される。可変長符号デー
タの5ビット目の‘0’は復号テーブル223の最下位
アドレスに入力される。6ビット目から8ビット目の
‘001’はセレクタ222のA1を経由してアドレス
AHLに入力される。結局メモリ復号テーブル223に
はアドレス‘000011000’が入力され、メモリ
復号テーブル223から、ポインタ‘0001000
0’とフラグ=0が出力される。またもやポインタデー
タなので再度追跡を行う。ラッチ回路221はポインタ
データをラッチするので‘00010000’を出力す
る。
【0017】‘00010’はアドレスAHHに入力さ
れる。可変長符号データの9ビット目の‘0’は復号テ
ーブル223の最下位アドレスに入力される。10ビッ
ト目から12ビット目の‘1××’はセレクタ222の
A1を経由して、アドレスAHLに入力される。メモリ
復号テーブル223にはアドレス‘00010XX1
0’が入力され、メモリ復号テーブル223から、復号
語C、符号長10と復号語の出力をあらわすフラグ=1
が出力される。このフラグによってラッチ回路221は
リセットされる。以下同様に繰り返すことによって復号
される。以上のように4ビット単位で復号を行うのであ
るが、メモリ復号テーブル223の大きさは最悪の場合
1ビット単位に比べ16倍の容量が必要となる。このよ
うな場合は、1ビット単位の復号ツリーをメモリ復号テ
ーブル223に設定し、セレクタ222をA0側として
1ビット単位で復号ツリーを追跡する。
【0018】図21は、従来のプログラム式、且つ、復
号語を2つずつ求める場合の一例を示す可変長符号復号
化回路のブロック図である。可変長符号の最大符号語長
を16ビットとする。ブロック図内の可変長符号データ
列31−0は可変長符号データ列32ビットを示したも
ので、先頭ビットを31としている。
【0019】図21に示すように、可変長符号データ列
から可変長符号の先頭を求める先頭決め部231、23
2と、復号語8ビット、符号長5ビット、フラグ1ビッ
トを設定する復号テーブル233、234、加算器23
5、236、ポインタ回路237によって構成する。
【0020】復号テーブル233、234には、図22
に示すように可変長符号のアドレス入力に対して復号語
8ビット、符号長5ビット、フラグ1ビットを設定す
る。例えば、復号語Aに対する可変長符号が‘010
1’、復号語Bに対する可変長符号が‘011010
1’、復号語Cに対する可変長符号が‘0111001
011001’、復号語Dに対する可変長符号が‘10
11010000’とすると、‘0101×…’の入力
があれば復号語A、符号長4、フラグ=0を出力し、
‘0110101×…’の入力があれば復号語B、符号
復号テーブル長7、フラグ=0を出力し、‘01110
01011001×…’の入力があれば復号語C、符号
長13、フラグ=0を出力し、‘1011010000
×…’の入力があれば復号語D、符号長10、フラグ=
0を出力するように設定する。復号語を示す可変長符号
の1部分しかアドレス入力しない場合には符号長0、フ
ラグ=1を出力するように設定する。例えば復号語Dを
示す‘1011010000’の1部分‘101101
00’がアドレス入力された場合には符号長0、フラグ
=1が出力される。以下同様にして各復号テーブルに設
定をする。先頭決め部231の初期値は入力可変長符号
データ列の先頭ビットとし、フラグ=1が入力されたと
きには新たに求められた可変長符号の先頭から32ビッ
トを出力する。ポインタ回路237は初期値を0とす
る。
【0021】可変長符号データ列‘010101101
0101110010110011011010000
0110101…’が送られてきたとする。先頭決め部
231に先頭32ビット‘0101011010101
1100101100110110100’が入力され
る。先頭決め部231では初期値は入力可変長符号デー
タ列の先頭ビットなので、先頭ビットから32ビット
‘010101101010111001011001
10110100’を出力する。先頭決め部232には
32ビットが入力され、復号テーブル233には上位1
6ビット‘0101011010101110’が入力
される。復号テーブル233では、‘0101×…’の
入力があれば復号語A、符号長4、フラグ=0を出力す
るように設定されているので、復号語A、符号長4、フ
ラグ=0を出力する。符号長4は先頭決め部232と加
算器235に送られる。先頭決め部232では符号長4
より次の可変長符号データの先頭が32ビットデータ
‘010101101010111001011001
10110100’の5ビット目であることが求まり、
先頭5ビット目から16ビット‘0110101011
100101’が復号テーブル234に入力される。復
号テーブル234では、‘0110101×…’の入力
があれば復号語B、符号長7、フラグ=0を出力するよ
うに設定されているので、復号語B、符号長7、フラグ
=0を出力する。符号長7は加算器235に送られる。
加算器235で符号長7は復号語Aの符号長4と加算さ
れる。加算器235の出力4+7=11は加算器236
に送られる。加算器236ではポインタ回路237の出
力と加算する。この場合、ポインタ回路237の出力は
初期値が0なので11+0=11が出力される。ポイン
タ回路237から11が先頭決め部231に入力され、
次の可変長符号の先頭ビットが32ビットデータ‘01
0101101010111001011001101
10100’の12ビット目であることが求まり、先頭
12ビット目から16ビット‘01110010110
01101’が復号テーブル233に入力される。ま
た、先頭決め部232には先頭12ビット目から32ビ
ット目‘01110010110011011010
0’までが入力される。復号テーブル233では、‘0
111001011001×…’の入力があれば復号語
C、符号長13、フラグ=0を出力するように設定され
ているので、復号語C、符号長13、フラグ=0を出力
する。符号長13は先頭決め部232と加算器235に
送られる。先頭決め部232では符号長13より次の可
変長符号データの先頭が21ビットデータ‘01110
0101100110110100’の先頭14ビット
目であることが求まり、先頭14ビット目から21ビッ
ト目の‘10110100’が復号テーブル234に入
力される。復号テーブル234では、‘1011010
0’が入力された場合は符号長0、フラグ=1を出力す
るように設定されているので、符号長0を加算器235
に送り、フラグ=1を先頭決め部231に送る。加算器
235では、復号語Cの符号長13と符号長0の加算が
行われ、13+0=13が加算器236に送られる。加
算器236では、ポインタ回路237の出力11と加算
器236の出力13の加算が行われ、11+13=24
がポインタ回路237に送られる。ポインタ回路237
から24が先頭決め部231に入力され、次の可変長符
号の先頭ビットが32ビットデータ‘01010110
101011100101100110110100’
の25ビット目であることが求まる。一方、フラグ=1
が先頭決め部231に入力されるので、求めようとして
いる可変長符号の符号長が7ビットよりも長いものであ
ると判断し、32ビットデータ‘0101011010
1011100101100110110100’の2
5ビット目から32ビット目‘10110100’と次
の可変長符号データ列24ビットを新たな32ビットデ
ータとして出力する。フラグ=1を出力した復号テーブ
ル234の復号語8ビットデータ出力は、フラグ=1を
イネーブル信号として利用して無視できるように構成す
ればよい。以下同様に繰り返すことによって復号され
る。
【0022】図23は、米国特許第5617089号に
開示されるような復号語を2つずつ求める従来例の構成
を示すブロック図である。可変長符号の最大符号語長を
16ビットとする。ブロック図内の可変長符号データ列
31−0は可変長符号データ列32ビットを示したもの
で、先頭ビットを31としている。
【0023】図23に示すように、可変長符号データ列
から可変長符号の先頭ビットを求める先頭決め部241
と、先頭決め部241で求まった可変長符号の先頭ビッ
トから16ビットを入力する復号テーブル242と、先
頭2ビット目から16ビットを入力する復号テーブル2
43と、以下同様にして図23に示したように可変長符
号データ16ビットを入力する復号テーブル244から
復号テーブル258までと、復号テーブル242の符号
長出力をセレクト信号とし、符号長が1の場合には復号
テーブル243のデータをセレクトし、符号長が2の場
合には復号テーブル244のデータをセレクトし、以下
同様にセレクトし出力するセレクタ259によって構成
されている。
【0024】復号テーブル242〜253は図24に示
すように構成されている。復号テーブル242には、復
号語8ビットと符号長5ビットを設定する。復号テーブ
ル243から復号テーブル258には、復号語8ビット
と2復号語の符号長の和6ビットを設定する。例えば、
復号語Aに対する可変長符号が‘0101’、復号語B
に対する可変長符号が‘0110101’とする。復号
テーブル242には、‘0101×…’の入力があれば
復号語A、符号長4を出力し、‘0110101×…’
の入力があれば復号語B、符号長7を出力するように設
定する。復号テーブル243には復号語と、復号テーブ
ル242で求まる復号語の符号長が1の場合を想定し
て、符号長の和として符号長+1を設定している。つま
り‘0101×…’が復号テーブル243に入力された
場合、復号語Aと符号長の和4+1=5が出力するよう
に設定する。復号テーブル246では、復号語と復号テ
ーブル242で求まる復号語の符号長が4の場合を想定
して、符号長の和として符号長+4を設定している。例
えば、‘0101×…’が復号テーブル6に入力された
場合、復号語Aと符号長の和4+4=8が出力される。
同様に各復号テーブルに設定する。また、先頭決め部2
41の初期値は入力可変長符号データ32ビットの先頭
ビットとする。いま、可変長符号データ列‘01010
110101001001…’が送られてきたとする。
先頭決め部241に先頭32ビット‘01010110
101001001…’が入力される。先頭決め部24
1では初期値は入力可変長符号データ32ビットの先頭
ビットのため、先頭32ビット‘0101011010
1001001…’を出力する。図23に示したよう
に、各復号テ―ブルのアドレスに16ビット入力され
る。復号テーブル242には、先頭ビットから16ビッ
トの‘0101011010100100’が入力され
る。復号テーブル242には、図24のように‘010
1×…’の入力の場合は復号語A、符号長4が出力され
るように設定されているので、復号語A、符号長4を出
力する。符号長4はセレクタ259のセレクト信号とし
て送られる。一方、復号テーブル243から復号テーブ
ル258にも可変長符号データ16ビットが入力され、
各入力に対応するデータをセレクタ259に出力する。
復号テーブル246では先頭5ビット目から16ビット
のデータ‘0110101001001…’が入力す
る。復号テーブル246には、図24のように‘011
0101×…’の入力の場合は復号語B、符号長の和1
1が出力されるように設定されているので、復号語B、
符号長の和11を出力する。セレクタ259では、復号
テーブル242の符号長出力=4をセレクト信号とする
ので、この場合、復号テ一ブル246の出力をセレクト
し、復号語B、符号長の和11を出力する。符号長の和
11は先頭決め部241に送られ、先に入力された32
ビットデータ‘01010110101001001
…’の先頭から12ビット目を次の可変長符号の先頭ビ
ットに設定し、新しく求められた先頭から32ビット
‘001001…’を出力する。以下同様に繰り返すこ
とによって2復号語ずつ復号出来る。
【0025】図25は、特開平7−111461号公報
に開示されるような、復号語を1つずつ求める従来例の
構成を可変長符号がB2コードの場合について示したブ
ロック図である。
【0026】図25に示す従来例は、入力可変長符号デ
ータ列をシフト長分ビットシフトを行うビットシフタ2
61と、継続ビットからB2コード長を求めるビット長
デコーダ262と、情報ビット、B2コード長から復号
データ、ノンゼロ/ゼロラン識別フラグ、EOB識別フ
ラグ、EOB0/EOB1識別フラグを出力するルック
アップテーブル263と、B2コード長を加算する加算
器264と、ラッチ265から構成されている。
【0027】B2コードの場合は、継続ビットと情報ビ
ットの2つが1セットになって送られてくる。連続して
送られてくる継続ビットが“0”のとき、次の1ビット
の情報ビットでB2コードの1ワードが終了することを
示し、B2コードの継続ビットが“1”のとき、1ワー
ドが終了せずに継続することを示す。
【0028】この継続ビットをデコードしてB2コード
長を求めることによって情報ビットが継続するかがわか
り、また、加算により求められたシフト量でビットシフ
トすることによって次の可変長符号データ列の先頭が求
められる。また、ルックアップテーブル263には情報
ビットと4ビットのB2コードを入力することによっ
て、復号データ、ノンゼロ/ゼロラン識別フラグ、EO
B識別フラグ、EOB0/EOB1識別フラグを出力す
る。
【0029】
【発明が解決しようとする課題】上述した可変長符号復
号化回路では、まず復号テーブルをAND、OR等のラ
ンダムロジックで構成するハード固定式では、復号テー
ブル内容を変吏するためには復号テーブル自体の設計変
更必要となる欠点がある。復号テーブルとしてメモリを
持つプログラム式、且つ、復号語を1つずつ求める場
合、第2−B図で説明した方式では、最大符号長を16
ビットとすると64Kワードのメモリを必要とし、集積
化が困難である。第2−D図で説明した方式では、必ず
しも復号テーブルヘのアクセス1回で復号が出来るとは
限らないため、復号テーブルヘのアクセス回数が増える
分、復号処理に時間がかかるという問題点がある。
【0030】2復号語ずつ求める場合であっても、第2
−F図で説明した方式では先頭決め部231−復号テー
ブル233−先頭決め部232−復号テーブル234−
加算器235−加算器236−ポインタ回路237−先
頭決め部231とパスが長くなりクロックを高速化する
ことが困難であった。
【0031】図23で説明した方式は、パスは短くなり
高速処理出来るが、復号テーブルを17個持つため回路
規模が大きくなり集積化が困難であった。
【0032】図25で説明した方式では、B2コードの
場合のように継続ビットと情報ビットの2つが1セット
になって送られてくる場合は成り立つが、それ以外の可
変長符号データ列の場合はなりたたない。
【0033】本発明は上述したような従来の技術が有す
る問題点に鑑みてなされたものであって、回路規模の増
大を防ぎ、かつ可変長復号処理を高速化することのでき
る可変長符号復号化回路を実現することを目的とする。
【0034】
【課題を解決するための手段】本発明の可変長符号復号
化回路は、ゼロラン符号を1クロックで復号する第1の
復号テーブルと、ゼロラン符号以外の符号を1クロック
以上で逐次復号する第2の復号テーブルと、前記第1の
復号テーブルでEOB符号を検出した場合に、次の復号
動作を前記第2の復号テーブルに切り替え、前記第2の
復号テーブルにおいて次の符号がゼロラン符号と推定さ
れた場合に次の復号動作を前記第1の復号テーブルに切
り替える切替手段とを有する。
【0035】また、ゼロラン長0のゼロラン符号を1ク
ロックで復号する第1の復号テーブルと、ゼロラン長0
のゼロラン符号以外の符号を1クロック以上で逐次復号
する第2の復号テーブルと、前記第1の復号テーブルで
EOB符号を検出した場合に次の復号動作を前記第2の
復号テーブルに切り替え、前記第2の復号テーブルにお
いて次の符号がゼロラン符号と推定された場合に次の復
号動作を前記第1の復号テーブルに切り替える切替手段
とを有する可変長符号復号化回路。
【0036】上記のいずれにおいても、第2の復号テ―
ブルに数値演算器の制御ビットを追加し、該第2の復号
テーブルにおいて復号した結果に数値演算を施す必要が
ある場合に、該第2の復号テーブルの制御ビットにより
数値演算制御を行うこととしてもよい。
【0037】「作用」上記のように構成される本発明に
おいては、ゼロラン展開用の第1の復号テーブルをラン
ダムロジックで構成し、ゼロラン展開以外の可変長符号
の第2の復号テーブルをメモリで構成し、入力された可
変長符号データを復号する際に第1の復号テーブルをア
クセスしている場合に第2の復号テーブルを状態制御等
の別用途に用いることが可能となる。
【0038】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。
【0039】実施例1 図1は、本発明の第1の実施例を示す可変長符号復号化
回路のブロック図である。動作の説明の一例として、I
S0/IEC、JTC1/SC2/WG8で標準化検討
されたMPEG(Moving Picture Experts Group)にお
ける規格の内、MPEG2のデータの場合を用いて説明
する。図9は、MPEG2画像データの階層構成を示す
図であり、図10ないし図14は、MPEG2符号化デ
ータに含まれる種々のデータを示す図である。MPEG
2でゼロラン展開を必要とするのは、図10ないし図1
4に示されるFDC(First DCT Coefficients)、SD
C(Subsequent DCT Coefficients)、EOB(End of
Block)である。なお、MPEG1になると画像データ
の階層構成、符号化データに含まれる種々のデータ等が
MPEG2とは若干異なってくる。図15はMPEG1
のブロック層を示したものであるが、ゼロラン展開を必
要とするのはDCN(DCT Coefficients NEXT)、EO
B(End of Block)と呼ばれる部分である。しかしなが
らゼロラン展開の基本的動作は同じでなので、MPEG
1にも応用出来、また、他のゼロラン展開を要する可変
長符号復号化を行うシステム、回路にも応用することが
出来る。
【0040】図1に示すように、本実施例は、可変長符
号データ列から可変長符号の先頭ビットを求める先頭決
め部101と、先頭決め部101で求まった可変長符号
データを入力とするゼロラン復号テーブル102と、先
頭決め部101で求まった可変長符号データと入力デー
タ10Bとをセレクトするセレクタ103と、セレクタ
103の出力とリセット付ラッチ107出力を入力とす
るメモリ104と、ゼロラン復号テーブル102とメモ
リ104の出力をセレクトし復号語を出力するセレクタ
105と、符号長を出力するセレクタ108と、メモリ
104から出力されるゼロラン復号中は“1”、ゼロラ
ン復号以外では“0”を示すフラグ(メモリ103出力
10ビット目)をラッチ出力するラッチ106と、メモ
リ104の出力をラッチするラッチ107から構成され
る。
【0041】メモリ104出力のうちの9ビット目は、
出力が復号語であれば“1”、ポインタであれば“0”
となるフラグである。この9ビット目のフラグ=1によ
ってもラッチ107はリセットされる。セレクタ10
3、105、108はセレクト信号が’’1”のときA
1側を選択する。メモリ104の出力の最上位ビット
は、ゼロラン復号テーブル102とメモリ104を切り
変えるためのフラグで、“1”でゼロラン復号テーブル
102、“0”でメモリ104を選択する。
【0042】ゼロラン復号テーブル102には、例えば
MPEG2では図2ないし図5に示すような可変長符号
とRUN、LEVELの関係が規定されているので、各
入力に対しての復号語、符号長を出力するように設定す
る。また、メモリ104には図6に示すようなデータが
設定されているとする。メモリ104の出力10ビット
データのうちの上位2ビット(10ビット目、9ビット
目)はフラグである。10ビット目は、ゼロラン以外の
可変長符号を復号を行っている場合“0”、ゼロラン復
号テーブル102で復号を行っているため、入力データ
10Bに対してメモリ104が動作している場合に
“1”である。9ビット目は、メモリ104で可変長符
号の復号を行い、復号語、符号長の出力のとき“1”、
復号語を求めるための追跡を続けるためにポインタデー
タを出力するとき“0”である。
【0043】いま、図10ないし図14に示すようなM
PEG2データが入力されたとする。まず、リセット信
号10Iによってラッチ106、107はリセットされ
る。ラッチ106はリセットによって“0”を出力する
のでセレクト信号10Eは“0”となる。このセレクト
信号10E=0はセレクタ103、105、108に入
力されA0側を選択する。可変長符号データ10Aは先
頭決め部101に入力する。先頭決め部101からゼロ
ラン復号テーブル102とセレクタ103ヘ送られる。
セレクタ103では、セレクト信号10E=0なのでA
0側を選択しメモリ104ヘ送る。ゼロラン復号テーブ
102は入力に対しての出力を行うが、セレクタ10
5、108によってA1側を選択されるまでは無視され
る。一方、メモリ104では、リセットされたラッチ1
07の出力とともに可変長符号データが入力される。メ
モリ104では、入力されたデータに対して、復号語、
符号長またはポインタデータと2ビットのフラグを出力
する。復号語、符号長出力の場合、10ビット目のフラ
グデータは、ゼロラン以外の可変長符号の復号をメモリ
104で行っているため“0”で、ラッチ106にラッ
チされセレクト信号10E=0を出力する。セレクト信
号10Eによってセレクタ105、108はA0側を選
択する。9ット目のフラグデータは、復号語、符号長出
力のとき“1”でポインタデータ出力のとき“0”であ
る。メモリ104で求められた復号語は、セレクタ10
5から出力され、符号長はセレクタ108から出力され
る。セレクタ108から出力された符号長は先頭決め部
101に送られ、次の可変長符号データ列の先頭が求ま
る。ブロック層のDDD(DCT DC Differential)まで
可変長符号はメモリ104で復号される。DDD以以降
のEOB(End of Block)まではゼロラン復号となるた
め、ラッチ106はセレクト信号10E=1を出力す
る。セレクト信号10Eによってセレクタ103、10
5、108はA1側の入力を選択するようになる。よっ
て可変長符号データはゼロラン復号テーブル102に入
力され、復号語、符号長が求められる。
【0044】一方、メモリ104にはセレクタ103よ
り入力データ10Bが入力される。この入力データ10
Bは可変長符号データとは別の、ユーザがメモリ104
の空間をつかってメモリ出力データ10Hとして信号を
得るための入力である。例えば、状態遷移のための制御
信号生成に用いることが出来る。
【0045】いま、復号語Aに対する可変長符号‘01
01’が送られてきたとする。まず、リセット信号10
Iによってラッチ106、107がリセットされる。こ
のリセットにより、ラッチ106はセレクト信号10E
=0を出力する。ラッチ107は6ビット全て‘0’を
出力する。よってメモリ104にはアドレス‘0000
001010’が送られるので、メモリ104は復号語
A、符号長4と復号語の出力を表すフラグ=1、メモリ
104での復号を示すフラグ=0を出力する。この復号
語の出力を表すフラグ=1によりラッチ回路107はリ
セットされる。求められた符号長は先頭決め部101ヘ
セレクタ108を経由して送られ、可変長符号データ列
の先頭が求まる。
【0046】次に、復号語Cに対する可変長符号‘11
01000101’が送られてきたとする。ラッチ回路
107はリセットされ、6ビット全て‘0’が出力され
る。従って、メモリ104にはアドレス‘000000
1011’が入力され、メモリ104からポインタ‘0
00001000’とポインタ出力を示すフラグ=0、
メモリ104での復号を示すフラグ=0が出力される。
メモリ104の出力がポインタであるので、このポイン
タと可変長符号データ列の次の4ビットに基づいて再度
追跡を行う。ラッチ回路107はポインタをラッチする
ので、‘000001’を出力する。一方、セレクタ1
03からは次の可変長符号データ“0001”が出力さ
れるため、メモリ104には“0000011000”
が入力される。メモリ104からはポインタ‘0000
10000とポインタ出力を示すフラグ=0、メモリ1
04での復号を示すフラグ=0が出力される。さらに追
跡が行われ、ラッチ回路107はポインタをラッチする
ので、“000010”を出力する。セレクタ103か
らは次の可変長符号データ“××10”が出力されるた
め、メモリ104には“000010××00”が入力
される。メモリ104は復号語C、符号長10と復号語
の出力を表すフラグ=1、メモリ104での復号を示す
フラグ=0を出力する。以上の動作をDDDまで繰り返
す。
【0047】メモリ104はDDDの復号が終ると復号
語、符号長とゼロラン復号テーブル102を使用するこ
とを示すフラグ=1を出力する。このフラグ=1をラッ
チ106がラッチし、セレクト信号10E=1として出
力する。このセレクト信号10Eによりセレクタ10
3、105、107はA1側を選択する。よってDDD
に続くデータFDC(First DCT Coefficients)からゼ
ロラン復号テーブル102の出力をセレクトする。FD
C、SDC、EOBとゼロラン復号テーブル102で復
号し、EOBを検出するとEOB検出信号10G=1と
なる。このEOB検出信号10Gによってゼロラン復号
テーブル102での復号が終ったことがわかる。EOB
検出信号10G=1でもリセット信号10Iが“1”と
なり、ラッチ106、107がリセットされセレクト信
号10E=0となる。セレクト信号10E=0よりセレ
クタ103、105、107はA0側を選択する。以下
同様に繰り返すことによって可変長符号データは復号さ
れる。
【0048】一方、ゼロラン復号テーブル102で復号
が行われているときに、メモリ104にはセレクタ10
3により入力データ10Bが入力される。メモリ104
からは、ゼロラン復号テーブル102で可変長符号を復
号しているため、メモリ104からの出力は入力データ
10Bに対する出力であるフラグ=1(メモリ出力10
ビット目)と、9ビットのメモリ出力データ10Hが出
力される。このフラグ=1は可変長符号データがゼロラ
ン復号テーブル102で復号されていることを示してお
り、例えば、メモリ104の空間を状態遷移を制御する
信号の生成に用いることが出来る。
【0049】図6の“M”、“N”、“P”、“Q”は
入力10ビットのうちの9ビットが同じデータ、出力1
0ビットのうちの9ビットが同じデータであるというこ
と示すのではなく、ユーザの設定に従って処理されるこ
とを示している。
【0050】上記のように構成される本実施例において
は、メモリ104に数値演算器の制御ビットを追加し、
メモリ104において復号した結果に数値演算を施す必
要がある場合に、メモリ104の制御ビットにより数値
演算制御を行うことが可能となっている。
【0051】実施例2 本実施例は、実施例1の全ゼロラン符号をワイヤードロ
ジックで構成したゼロラン復号テーブル102で復号す
る方式から、ゼロラン符号の内RUN=0に特化した場
合の実施例である。
【0052】図7に示すように、本実施例は、可変長符
号データ列から可変長符号の先頭ビットを求める先頭決
め部111と、先頭決め部111で求められた可変長符
号データを入力とするRUN=0の符号検出112と、
RUN=0の復号テーブル113と、先頭決め部111
で求まった可変長符号データと入力データ11Bをセレ
クトするセレクタ114と、セレクタ114の出力とリ
セット付ラッチ118出力を入力とするメモリ115
と、RUN=0の復号テーブル113とメモリ115の
出力をセレクトして復号語を出力するセレクタ116
と、符号長を出力するセレクタ119と、メモリ115
とアドレス設定値11Hとをセレクトするセレクタ11
7と、セレクタ117の出力をラッチするラッチ118
から構成される。セレクタ114、116、117、1
19はセレクト信号が“1”のときA1側を選択する。
【0053】RUN=0の符号検出112には、図2な
いし図5にあるRUN=0のに対応する可変長符号デ―
タが入力されたとき“1”を出力する。デフォルトを
“0”とする。
【0054】RUN=0の復号テーブル113には、図
2ないし図5あるRUN=0の復号テーブルが設定さ
れ、各入力に対して復号語、符号長を出力する。
【0055】メモリ115には図8に示すようなデータ
が設定されているとする。メモリ115の出力9ビット
データのうちの上位1ビット(9ビット目)はフラグで
ある。9ビット目は、メモリ115で可変長符号の復号
を行い、復号語、符号長の出力のとき“1”、復号語を
求めるための追跡を続けるためにポインタデータを出力
するとき“0”である。
【0056】いま、図10ないし図14に示すようなM
PEG2データが入力されたとする。まず、リセツト信
号11Iによってラッチ118はリセットされる。RU
N=0の符号検出112は“0”を出力するのでセレク
ト信号11Eは“0”となる。このセレクト信号11E
=0はセレクタ114、116、117、119に入力
され、A0側が選択される。可変長符号データ11Aは
先頭決め部111に入力する。先頭決め部111からR
UN=0の符号検出112、RUN=0の復号テーブル
113、セレクタ114ヘ送られる。セレクタ114で
は、セレクト信号11E=0なのでA0側を選択し、メ
モリ115ヘ送る。RUN=0の復号テーブル113
は、入力に対しての出力を行うが、セレクタ116、1
19によって選択されるまで無視される。
【0057】一方、メモリ115では、リセットされた
ラッチ118の出力とともに可変長符号データが入力さ
れる。メモリ115では、入力データに対して復号語、
符号長をまたはポインタデータとフラグを出力する。9
ビット目のフラグデータは、復号語、符号長出力のとき
“1”でポインタデータ出力のとき“0”である。メモ
リ115で求められた復号語は、セレクタ116から出
力され、符号長はセレクタ119から出力される。
【0058】セレクタ119から出力された符号長は先
頭決め部111に送られ、次の可変長符号データ列の先
頭が求まる。以下第1の実施例と同様に復号し、ゼロラ
ン復号の内RUN=0の符号をRUN=0の符号検出1
12で検出するとセレクト信号11E=1を出力する。
セレクト信号11E=1によってセレクタ114、11
6、117、119はA1側を選択するようになる。R
UN=0の符号はRUN=0の復号テ−ブル113で復
号され復号語、符号長が求められる。
【0059】一方、メモリ115にはセレクタ114よ
り入力データ11Bが入力される。この入力データ11
Bは可変長符号データとは別の、ユーザがメモリ115
の空間をつかってメモリ出力データ11Gとして信号を
得るための入力である。ユーザは、メモリ115の空間
をアドレス設定値11Hを入力することによって、アド
レス設定値11Hのデータ5ビットと入力データ11B
のデータ4ビットの合計9ビットでメモリ115をアク
セス出来る。
【0060】いま、復号語Aに対する可変長符号‘01
01’が送られてきたとする。まずリセット信号11I
によってラッチ118がリセットされる。ラッチ118
は6ビット全て‘0’を出力する。RUN=0の符号検
出112はデフォルトが“0”なのでセレクト信号11
E=0を出力する。このセレクト信号11Eによってセ
レクタ114、116、117、119はA0側を選択
する。よってメモリ115にはアドレス‘000001
010’が送られるので、メモリ115は復号語A、符
号長4と復号語の出力を表すフラグ=1を出力する。こ
の復号語の出力を表すフラグ=1によりラッチ回路11
8はリセットされる。求められた符号長は先頭決め部1
11ヘセレクタ119を経由して送られ可変長符号デー
タ列の先頭が求まる。次に、復号語Cに対する可変長符
号‘1101000101’が送られてきたとする。ラ
ッチ回路118はリセットされ5ビット全て‘0’が出
力される。従って、メモリ115にはアドレス‘000
001011’が入力され、メモリ115からポインタ
‘00001000’とポインタ出力を示すフラグ=0
が出力される。メモリ115の出力がポインタであるの
で、このポインタと可変長符号データ列の次の4ビット
に基づいて再度追跡を行う。ラッチ回路118はポイン
タをラッチするので、‘00001’を出力する。一
方、セレクタ114からは次の可変長符号デ一タ“00
01”が出力されるため、メモリ115には“0000
11000”が入力される。メモリ115からはポイン
タ‘00010000’とポインタ出力を示すフラグ=
0が出力される。さらに追跡が行われる。ラッチ回路1
18はポインタをラッチするので、‘00010’を出
力する。セレクタ114からは次の可変長符号データ”
××10”が出力されるため、メモリ115には“00
010××00”が入力される。メモリ115は復号語
C、符号長10と復号語の出力を表すフラグ=1を出力
する。以上の動作をRUN=0の符号が検出されるまで
続ける。そしてRUN=0の符号がRUN=0の符号検
出112で検出されるとセレクト信号11E=1とな
る。このセレクト信号11Eによりセレクタ114、1
16、117、119はA1側を選択する。RUN=0
の符号はRUN=0の復号テーブル113で復号されセ
レクタ116を経て復号語が出力される。また、符号長
はセレクタ119を経て先頭決め部111に送られ、次
の可変長符号データ列の先頭が求まる。RUN=0の符
号が続く場合は以下同様の動作を繰り返すことによって
復号される。RUN=0でない符号が入力された場合
は、RUN=0の符号検出112がセレクト信号11E
=0を出力するため、セレクタ114、116、11
7、119がA0側を選択し、先に述ベた復号語A、C
と同様の動作を繰り返すことによって復号される。ま
た、RUN=0の符号を検出しRUN=0の復号テーブ
ル113で復号を行っている場合、メモリ115には入
力データ11Bとアドレス設定値11Hの9ビットデー
タが入力し、メモリ115からは9ビットのメモリ出力
信号11Gとして出力され、例えば、メモリ115の空
間を状態遷移を制御する信号の生成に用いることが出来
る。
【0061】図8の“S”、“T”、“U”は入力9ビ
ットの内上位5ビット、下位4ビットが同じデータ、出
力9ビットが同じデータということを示したのではな
く、ユーザの設定に従って処理されることを示してい
る。
【0062】上記のように構成される本実施例において
も第1の実施例と同様に、メモリ115に数値演算器の
制御ビットを追加し、メモリ1115において復号した
結果に数値演算を施す必要がある場合に、メモリ115
の制御ビットにより数値演算制御を行うことが可能とな
っている。
【0063】
【発明の効果】以上説明したように、本発明の可変長符
号復号化回路は、ゼロラン展開用の復号テーブルをラン
ダムロジックで構成するハード固定式にしてメモリから
分離することにより、必要メモリサイズを小さくするこ
とが出来、ゼロラン展開自体もハード固定式のために必
ず1回のアクセスで1回の復号を行うことができる効果
がある。
【0064】また、メモリをゼロラン展開以外の可変長
符号の復号用テーブルとして用いるだけでなく、メモリ
空間の一部を復号動作の状態を制御する状態遷移等に用
いることによってゼロラン展開動作中に別用途に使用す
ることができる効果がある。上記の各効果に基づいて回
路規模の増大を防ぎ、かつ可変長復号処理を高速化する
ことができる効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示す可変長符号復号化
回路のブロック図である。
【図2】MPEG2のゼロランテーブルの一例を示す図
である。
【図3】MPEG2のゼロランテーブルの一例を示す図
である。
【図4】MPEG2のゼロランテーブルの一例を示す図
である。
【図5】MPEG2のゼロランテーブルの一例を示す図
である。
【図6】図1に示した実施例におけるメモリ設定例を示
す図である。
【図7】発明の第2の実施例を示す可変長符号復号化回
路のブロック図である。
【図8】図7に示した実施例におけるメモリ設定例を示
す図である。
【図9】MPEG2符号化データの階層構成を示す図で
ある。
【図10】MPEG2符号化データに合まれる種々のデ
ータを示す図である。
【図11】MPEG2符号化データに合まれる種々のデ
ータを示す図である。
【図12】MPEG2符号化データに合まれる種々のデ
ータを示す図である。
【図13】MPEG2符号化データに合まれる種々のデ
ータを示す図である。
【図14】MPEG2符号化データに合まれる種々のデ
ータを示す図である。
【図15】MPEG1符号化データのブロック層に合ま
れる種々のデータを示す図である。
【図16】可変長符号復号化回路の従来例の構成を示す
ブロック図である。
【図17】可変長符号復号化回路の従来例の構成を示す
ブロック図である。
【図18】図17に示した従来例における復号テーブル
設定例を示す図である。
【図19】可変長符号復号化回路の従来例の構成を示す
ブロック図である。
【図20】図19に示した従来例における復号テーブル
設定例を示す図である。
【図21】可変長符号復号化回路の従来例の構成を示す
ブロック図である。
【図22】図21に示した従来例における復号テーブル
設定例を示す図である。
【図23】可変長符号復号化回路の従来例の構成を示す
ブロック図である。
【図24】図23に示した従来例における復号テーブル
設定例を示す図である。
【図25】可変長符号復号化回路の従来例の構成を示す
ブロック図である。
【符号の説明】
101 先頭決め部 102 ゼロラン復号テーブル 103 セレクタ 104 メモリ 105 セレクタ 106 リセット付ラッチ 107 リセット付ラッチ 108 セレクタ 10A 可変長符号データ列 10B 入力データ 10C 復号語 10D 符号長 10E セレクト信号 10F 符号長 10G EOB検出信号 10H メモリ出力データ 10I リセット信号 111 先頭決め部 112 RUN=0の符号検出 113 RUN=0の復号テーブル 114 セレクタ 115 メモリ 116 セレクタ 117 セレクタ 118 リセット付ラッチ 119 セレクタ 11A 可変長符号データ列 11B 入力データ 11C 復号語 11D 符号長 11E セレクト信号 11F 符号長 11G メモリ出力データ 11H アドレス設定値 11I リセット信号
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−299520(JP,A) 特開 平6−104767(JP,A) 特開 平7−249994(JP,A) 特開 平5−90975(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/42

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ゼロラン符号を1クロックで復号する第
    1の復号テーブルと、 ゼロラン符号以外の符号を1クロック以上で逐次復号す
    る第2の復号テーブルと、 前記第1の復号テーブルでEOB符号を検出した場合
    に、次の復号動作を前記第2の復号テーブルに切り替
    え、前記第2の復号テーブルにおいて次の符号がゼロラ
    ン符号と推定された場合に次の復号動作を前記第1の復
    号テーブルに切り替える切替手段とを有する可変長符号
    復号化回路。
  2. 【請求項2】 ゼロラン長0のゼロラン符号を1クロッ
    クで復号する第1の復号テーブルと、 ゼロラン長0のゼロラン符号以外の符号を1クロック以
    上で逐次復号する第2の復号テーブルと、 前記第1の復号テーブルでEOB符号を検出した場合に
    次の復号動作を前記第2の復号テーブルに切り替え、
    記第2の復号テーブルにおいて次の符号がゼロラン符号
    と推定された場合に次の復号動作を前記第1の復号テー
    ブルに切り替える切替手段とを有する可変長符号復号化
    回路。
  3. 【請求項3】 請求項1または2の可変長符号復号化回
    路において、 第2の復号テ―ブルに数値演算器の制御ビットを追加
    し、該第2の復号テーブルにおいて復号した結果に数値
    演算を施す必要がある場合に、該第2の復号テーブルの
    制御ビットにより数値演算制御を行うことを特徴とする
    可変長符号復号化回路。
JP15126397A 1997-06-09 1997-06-09 可変長符号復号化回路 Expired - Fee Related JP3189876B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP15126397A JP3189876B2 (ja) 1997-06-09 1997-06-09 可変長符号復号化回路
US09/092,943 US6069575A (en) 1997-06-09 1998-06-08 Variable length code decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15126397A JP3189876B2 (ja) 1997-06-09 1997-06-09 可変長符号復号化回路

Publications (2)

Publication Number Publication Date
JPH10341167A JPH10341167A (ja) 1998-12-22
JP3189876B2 true JP3189876B2 (ja) 2001-07-16

Family

ID=15514849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15126397A Expired - Fee Related JP3189876B2 (ja) 1997-06-09 1997-06-09 可変長符号復号化回路

Country Status (2)

Country Link
US (1) US6069575A (ja)
JP (1) JP3189876B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100277682B1 (ko) * 1998-08-26 2001-01-15 정선종 줄길이 복호 시스템의 오류 검출 장치
US6771196B2 (en) * 1999-12-14 2004-08-03 Broadcom Corporation Programmable variable-length decoder
US7095341B2 (en) * 1999-12-14 2006-08-22 Broadcom Corporation Programmable variable-length decoder
KR100993443B1 (ko) * 2001-11-22 2010-11-09 파나소닉 주식회사 복호화 방법
US6771193B2 (en) * 2002-08-22 2004-08-03 International Business Machines Corporation System and methods for embedding additional data in compressed data streams
JP4484630B2 (ja) * 2004-01-29 2010-06-16 パナソニック株式会社 可変長復号化装置および可変長復号化方法および再生システム
US7132963B2 (en) * 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
US7778472B2 (en) * 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
US8767836B2 (en) * 2006-03-27 2014-07-01 Nokia Corporation Picture delimiter in scalable video coding
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8599926B2 (en) * 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8325819B2 (en) * 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US9319700B2 (en) * 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
RU2479942C2 (ru) * 2008-06-27 2013-04-20 Сони Корпорейшн Устройство обработки изображения и способ обработки изображения
CN101742283B (zh) * 2008-11-26 2011-11-23 财团法人工业技术研究院 解码方法及装置
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
JP2013016897A (ja) * 2011-06-30 2013-01-24 Toshiba Corp 可変長符号復号装置、符号システムおよび可変長符号復号方法
US9538044B2 (en) * 2015-03-20 2017-01-03 Kyocera Document Solutions Inc. Apparatus and method for data decoding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0763151B2 (ja) * 1985-09-18 1995-07-05 日本電気株式会社 可変長符号複号化回路
SE454734B (sv) * 1987-02-20 1988-05-24 Harald Brusewitz Forfarande och anordning for sendning och mottagning vid variabel lengdkodning
US5369405A (en) * 1992-05-19 1994-11-29 Goldstar Co., Ltd. Coefficient generation apparatus for variable length decoder
KR100287624B1 (ko) * 1992-09-28 2001-04-16 야스카와 히데아키 화상데이타의압축,해제방법및그장치
US5400075A (en) * 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
JPH07111461A (ja) * 1993-10-13 1995-04-25 Canon Inc 可変長符号復号化装置
JP2746109B2 (ja) * 1994-03-09 1998-04-28 日本電気株式会社 ハフマン符号復号化回路
US5663726A (en) * 1995-12-01 1997-09-02 U.S. Philips Corporation High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering
GB2321375B (en) * 1997-01-21 2002-02-27 Fujitsu Ltd Data encoding method and apparatus and data decoding method and apparatus

Also Published As

Publication number Publication date
JPH10341167A (ja) 1998-12-22
US6069575A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
JP3189876B2 (ja) 可変長符号復号化回路
US6144322A (en) Variable length code processor with encoding and/or decoding
US5841381A (en) Huffman coding/decoding using an intermediate code number
US6993202B2 (en) Decoding apparatus, method, and storage medium for inputting and decoding variable-length coded data
KR0138971B1 (ko) 허프만 부호 복호회로
JPH0818460A (ja) ハフマンデコーダー
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
US4760461A (en) Binary data compression and expansion processing apparatus
US5832037A (en) Method of compressing and expanding data
US6809665B2 (en) Apparatus and method for decoding variable length code
JP2746109B2 (ja) ハフマン符号復号化回路
US6408102B1 (en) Encoding/decoding device
US5991340A (en) Method and system for encoding and decoding data using run prediction
JP4537089B2 (ja) 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP3304745B2 (ja) 可変長符号復号化器
JP2003174365A (ja) 復号化装置及びその方法
JP3247052B2 (ja) 画像データ変換処理方法及び装置
JP3224127B2 (ja) 画像データ変換処理装置
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
JPH06104769A (ja) ハフマン符号復号装置
KR100304872B1 (ko) 가변길이코드디코더.
KR0123729B1 (ko) 허프만 디코더
KR950008487B1 (ko) 가변 길이 디코딩 장치
JP2541067B2 (ja) ランレンスグ復号化装置
JP2507954B2 (ja) ランレングス復号化装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090518

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090518

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 9

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

Year of fee payment: 9

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

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140518

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees