JP3007235B2 - 可変長符号の伸長装置および圧縮伸長装置 - Google Patents

可変長符号の伸長装置および圧縮伸長装置

Info

Publication number
JP3007235B2
JP3007235B2 JP29957992A JP29957992A JP3007235B2 JP 3007235 B2 JP3007235 B2 JP 3007235B2 JP 29957992 A JP29957992 A JP 29957992A JP 29957992 A JP29957992 A JP 29957992A JP 3007235 B2 JP3007235 B2 JP 3007235B2
Authority
JP
Japan
Prior art keywords
data
code
decoding
length code
compressed
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 - Lifetime
Application number
JP29957992A
Other languages
English (en)
Other versions
JPH06152435A (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.)
Fujifilm Holdings Corp
Original Assignee
Fuji Photo Film Co Ltd
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 Fuji Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP29957992A priority Critical patent/JP3007235B2/ja
Priority to US08/149,907 priority patent/US5481364A/en
Publication of JPH06152435A publication Critical patent/JPH06152435A/ja
Application granted granted Critical
Publication of JP3007235B2 publication Critical patent/JP3007235B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、可変長符号の圧縮装置
および伸長装置に関する。とくに、たとえば画像信号を
可変長符号に圧縮して圧縮データを形成する可変長符号
の圧縮装置、およびこの圧縮データを伸長してシンボル
を復元する可変長符号の伸長装置に関するものである。
【0002】
【従来の技術】たとえば、電子スチルカメラにより撮影
された画像データなどのディジタル画像データをメモリ
に蓄積したり送信したりする場合には、データ量を少な
くするための様々な圧縮符号化が行なわれている。とく
に、適応的コサイン変換などの2次元直交変換符号化
は、大きな圧縮率を達成できる。これを用いた静止画像
信号の圧縮方式がJPEG (Joint Picture Coding Expert
Group)コミッティドラフトなどの国際標準方式として提
案されている。
【0003】
【発明が解決しようとする課題】そのような符号化で多
く用いられる方式にハフマン符号化方式がある。周知の
ようにハフマン符号化方式は、対象となるデータの平均
の符号長が最も短くなるように符号化する可変長符号化
方式である。ハフマン符号の復号回路をハードウエアで
構成すると、非常に複雑で大きな回路を必要とするた
め、これを避けるには、従来からルックアップテーブル
(LUT) が用いられている。このルックアップテーブル
は、非常に多くの蓄積領域を必要としていた。たとえば
あるLSI では、符号化メモリに32K ビットを要するのに
対し、その復号用には4Mビットもの記憶領域を必要とし
ている。このような大きなサイズのメモリは、たとえば
電子スチルカメラに搭載するには困難であった。そこで
特開平3-220870では、ハフマンのビット単位の遷移状態
と終端処理を規定した木構造を用いて可変長符号の復号
テーブルを自動的に作成する方法が提案されている。
【0004】たとえば、メモリカードを用いたディジタ
ル電子スチルカメラの場合、装置全体の小型化の要請か
らカメラ本体のメモリ容量に制約がある。符号化の際に
必要な最小限のメモリ領域のサイズは、たとえばJPEGベ
ースラインで約10K ビットである。そこで、この程度
の、たとえばハフマン符号化に必要とされる最小限のメ
モリ領域の大きさで復号を実現できれば、有利である。
【0005】本発明はこのような要求に鑑み、比較的少
ないメモリ領域で可変長符号の復号が可能な可変長符号
の伸長装置および圧縮伸長装置を提供することを目的と
する。
【0006】
【課題を解決するための手段】本発明によれば、可変長
符号の符号化表データを参照して量子化データを圧縮し
た圧縮データが入力され、圧縮データに応じて可変長符
号の復号表データを参照して圧縮データを伸長したシン
ボルデータを出力する復号手段を有する可変長符号の伸
長装置はさらに、可変長符号の復号表データを書換可能
に蓄積するための蓄積手段と、符号化表データから復号
表データを作成し、蓄積手段に蓄積する表作成手段とを
有し、復号手段は、蓄積手段に蓄積された復号表データ
を参照して圧縮データを伸長する。
【0007】本発明によればまた、量子化データが入力
され、量子化データに応じて可変長符号の符号化表デー
タを参照して量子化データを圧縮した可変長符号の圧縮
データを出力する符号化手段と、圧縮データが入力さ
れ、圧縮データに応じて可変長符号の復号表データを参
照して圧縮データを伸長したシンボルデータを出力する
復号手段とを有する可変長符号の圧縮伸長装置はさら
に、可変長符号の符号化表データおよび復号表データを
書換可能に蓄積するための蓄積手段と、符号化表データ
から復号表データを作成し、蓄積手段に蓄積する表作成
手段とを有し、復号手段は、蓄積手段に蓄積された復号
表データを参照して圧縮データを伸長する。
【0008】本発明によれば、このような可変長符号の
圧縮伸長装置において、表作成手段は、量子化データの
性質に応じたヒストグラムを作成してもよい。
【0009】
【作用】本発明による可変長符号の伸長装置では、表作
成手段は、符号化表データから復号表データを作成して
これを蓄積手段に蓄積する。復号手段は、圧縮データが
入力されると、この圧縮データに応じて蓄積手段の復号
表データを参照して圧縮データを伸長したシンボルデー
タを出力する。
【0010】本発明による可変長符号の圧縮伸長装置で
は、上述の復号表作成機能を有する他に、符号化手段
は、量子化データが入力されると、量子化データに応じ
て可変長符号の符号化表データを参照し、量子化データ
を圧縮した可変長符号の圧縮データを出力する機能を有
している。
【0011】
【実施例】次に添付図面を参照して本発明の好適な実施
例による可変長符号の圧縮伸長装置を詳細に説明する。
図1を参照すると、実施例の圧縮伸長装置は、一方の入
力ポート10に到来する量子化された画像データなどのデ
ータを符号化部12によって可変長符号に圧縮してこれを
出力ポート14に出力し、また他方の入力ポート16に到来
する可変長符号に圧縮された画像データなどのデータを
復号部18によって元のデータすなわちシンボルに伸長す
る画像信号の圧縮および伸長の両機能を有する装置であ
る。本実施例では、可変長符号としてハフマン符号が用
いられている。本発明はしかし、この具体例のみに限定
されるものではない。このような符号圧縮および伸長
は、ルックアップテーブルとしてメモリ20に作成された
ハフマン符号表22(図2)およびハフマン復号表24(図
4)を参照してメモリ20の作業領域を使って行なわれ
る。図示の表22および24は、一例にすぎず、また説明の
便宜上、必要な部分のみを示し、他の部分は図示を省略
してある。ハフマン符号化表22およびハフマン復号表24
は、本実施例ではハフマン表作成部26によって作成され
る。
【0012】メモリ20は、本実施例では、ハフマン符号
表22またはハフマン復号表24のデータの蓄積領域として
少なくとも約10K ビットの書換可能な記憶領域を有し、
それ以外に、符号圧縮および伸長処理のためにデータを
一時蓄積する作業領域およびプログラム蓄積領域を有す
るRAM である。このハフマン表蓄積領域には、本実施例
ではJPEGベースラインで符号化に必要とされる符号化表
のデータ量として、1ワードが20ビットからなる記憶位
置を 256アドレス分、有する記憶領域が2面、用意され
ている。メモリ20は、8ビットのアドレス指定端子28を
有し、これに入力されるアドレスによってその記憶位置
が指定される。アドレス指定端子28は、マルチプレクサ
(MUX) 30を介して符号化部12、復号部18およびハフマン
表作成部26のアドレス出力端子32、34および36に接続さ
れている。
【0013】符号化部12は、量子化データが入力される
ポート10の他に制御信号が入力されるポート38を有し、
メモリ20に蓄積されたハフマン符号表22において量子化
データに応じた記憶位置アドレスを指定することによっ
て、ハフマン符号をメモリ20の出力ポート14から出力さ
せ、これによって符号圧縮を行なう機能を有する。メモ
リ20の読出しおよび書込み制御RWは、制御線42およびマ
ルチプレクサ44を介して行なわれる。また、データD0〜
D19 は接続線46によりメモリ20に転送される。出力ポー
ト14は復号部18にも接続されている。
【0014】復号部18は、入力ポート16に入力されるハ
フマン符号化された圧縮データに基づいてメモリ20のハ
フマン復号表24を参照し、その蓄積データを出力14に読
み出して復号木の終端を識別し、その記憶データを最終
的なシンボルとしてメモリ20の出力ポート14から出力さ
せ、これによって符号伸長を行なう機能を有する。この
復号制御は、制御ポート40に入力される制御信号に応動
して行なわれる。
【0015】本装置は、ホスト装置(図示せず)から入
力ポート10に供給される量子化データからハフマン符号
表22を、またホスト装置またはメモリ20から得られるDH
T (Defined Huffman Table) パラメータから復号表24を
作成する機能を有する。この機能は、ハフマン表作成部
26によって実現される。ハフマン表作成部26はまた、こ
のような符号表作成機能を使って対象となる量子化デー
タのヒストグラムを作成する機能も有する。ヒストグラ
ムは、対象となる量子化データについて、その符号長に
応じた発生個数を分類し、これを符号長の順番のアドレ
スに分類したものであり、このアドレスがシンボルに相
当する。そこでヒストグラムは、対象となるデータの性
質が、たとえば画像データなどと決まるとその統計的性
質から求められる。したがって、ヒストグラムを使用し
て最適なハフマン符号表を作成することができる。ハフ
マン表作成部26によるヒストグラムおよびハフマン表作
成22の詳細は、本発明の理解に直接関係ないので、説明
を省略する。
【0016】メモリ20のアドレスは9ビットであるが、
そのMSB はハフマン表の番号を示す。図3の左欄に16進
数(h) で示すように、それに続く8ビットのうち上位4
ビットが非零値カテゴリを示し、下位4ビットが零ラン
長を示している。これは、JPEGベースラインの構成とは
逆である。ブロック終了(EOB) はアドレス「X00h」にま
た零ラン長(ZRL) は同「X0Fh」に割り当てられている。
さらに、交流(AC)値はアドレス「X00h」から「X9Fh」ま
でに、また直流(DC)値は同「XE0h」から「XEBh」までに
割り当てられる。
【0017】ハフマン符号表22は、図3に一例を部分的
に示すように、メモリ20のアドレスに対応して符号長お
よび符号が記憶されている。図の複雑化を避けるため、
他のアドレス部分は図示を省略してある。しかし本実施
例では、符号表22の記憶位置アドレスは 256まで設けら
れている。このアドレスはヒストグラムのそれと同じで
あり、1ワードのデータ構成は同図に示すように20ビッ
トである。その上位4ビットがハフマン符号長を示し、
下位16ビットがハフマン符号である。ハフマン符号は可
変長符号であるから、この16ビットのうち符号長データ
の示すMSB 寄りのビット数分が有効ビットである。たと
えば、シンボル値「02h 」が入力10に入力されると、メ
モリ20のアドレス「02h 」から符号長として2進値「00
10」が、また符号として2進値「011XXXXXXXXXXXXX」が
出力される。ここでXは"don't care"ビットを示す。し
たがって、出力されるハフマン符号は「011 」となる。
【0018】復号部18は、本実施例ではハフマンのビッ
ト単位の遷移状態と終端処理を規定した木構造を用いて
復号処理を行なう。このような木構造による復号表の例
を部分的に図4に示す。本実施例では、復号表24の記憶
位置アドレスも 256まで設けられている。この復号表24
は、ビット単位の状態遷移とシンボルを出力するための
終端処理とをメモリ20の記憶領域上に展開することによ
って実現される。メモリ20の各記憶位置に記憶されるデ
ータは、図2に示すように1ワード20ビットである。そ
の上位4ビットD16 〜D19 が終端処理のためのフラグで
あり、下位16ビットD0〜D15 が飛び先アドレスまたはシ
ンボルを示す。飛び先アドレスのうちの上位側の8ビッ
トD8〜D15 がハフマン符号値「1」が入力されたときに
飛び越すメモリ20におけるアドレスまたはシンボルを、
また、下位側の8ビットD0〜D7がハフマン符号値「0」
が入力されたときに飛び越すメモリ20におけるアドレス
またはシンボルを示す。
【0019】さらに詳細には、下位16ビットD0〜D15 が
アドレスであるかシンボルであるかは、終端フラグD16
およびD17 によって定義される。一方の終端フラグD16
は、データD0〜D7について、フラグ値が「0」であれば
データD0〜D7がアドレスであることを、また値「1」で
あればシンボルであることを示す。また、他方の終端フ
ラグD17 は、データD8〜D15 について、フラグ値が
「0」であればデータD8〜D15 がアドレスであること
を、また値「1」であればシンボルであることを示す。
残りのフラグD18 は、データD0〜D7の書込み終了か否か
を示し、フラグD19 は、データD8〜D15 の書込み終了か
否かを示す書込み終了フラグである。値「0」が書込み
未了を、また同「1」が終了を示す。これらの書込み終
了フラグD18 およびD19 は、ハフマン表作成部26がDHT
パラメータからハフマン復号表24を作成する際に使用さ
れ、復号部18が復号を行なうときは使用されない。
【0020】たとえば上述のハフマン符号「011.....」
が復号部18の入力16に到来すると、復号部18は、2進値
「011.....」を順番に取り出してメモリ20の復号表24の
アドレスを「00h 」から順番に参照する。まず、メモリ
20のアドレス「00h 」をアドレスバス34からマルチプレ
クサ30を通してメモリ20に供給し、これによってその記
憶位置のデータD0〜D19 をメモリ20から読み出す。これ
は復号部18に出力ポート14から入力される。復号部18
は、ハフマン符号データ「011 」の最初の値が「0」で
あるから、読み出したデータの下位ビットD0〜D7に対応
する終端フラグD16 を判定する。終端フラグD16 がこの
場合「0」であるから、下位8ビットD0〜D7が飛び先ア
ドレス「01h 」であることを判読する。
【0021】そこでハフマン復号部18は、アドレスバス
34からこの飛び先アドレス「01h 」を指定するととも
に、ハフマン符号「011.....」の第2番目のビットの値
「1」を取り出す。そこで、飛び先アドレス「01h 」の
記憶位置にあるデータD0〜D19が復号部18に読み出さ
れ、復号部18は、ハフマン符号の第2桁の値が「1」で
あるから、読み出した符号データのビットD8〜D15 に対
応する終端フラグD17 を判定する。終端フラグD17 がこ
の場合「0」であるから、中位8ビットD8〜D15 が飛び
先アドレス「02h 」であることがわかる。
【0022】そこでハフマン復号部18はさらに、同様に
してこの飛び先アドレス「02h 」を参照するとともに、
ハフマン符号「011.....」の第3番目のビットの値
「1」を取り出す。飛び先アドレス「02h 」に記憶され
ているデータD0〜D19 を読み出し、ハフマン符号の第3
番目のビットの値が「1」であるので、読み出した符号
データの中位ビットD8〜D15 に対応する終端フラグD17
を識別する。終端フラグD17 が「1」であるので、中位
8ビットD8〜D15 はシンボル値「02h 」を示しているこ
とがわかる。この値「02h 」が伸長結果としてメモリ20
の出力ポート14から出力される。この出力データは、ハ
フマン符号「011 」の表わすシンボル値である。
【0023】ところで本実施例では、このようなハフマ
ン復号表24は、メモリ20に蓄積されている特定のハフマ
ン符号表22について一義的にハフマン表作成部26で作成
される。または、ホスト装置(図示せず)から表作成部
26にDHT パラメータを供給して作成するようにしてもよ
い。特定の性質を有する量子化データについてヒストグ
ラムを作成してハフマン符号表22が作成されるが、ハフ
マン表作成部26は、このハフマン符号表22について固有
のハフマン復号表を作成する。
【0024】図5を参照すると、まずステップ 101にお
いて表作成部26はメモリ20の読出しアドレスADR を
「0」に初期化する。そこで、制御線42によりメモリ20
を読出しモードに設定し、アドレス「00h 」におけるハ
フマン符号として2進値「000100XXXXXXXXXXXXXX」を読
み出し、この符号長「0001」を符号長レジスタSIZEにロ
ードする。このレジスタはメモリ20の作業領域に形成さ
れる。この場合、符号長SIZEの値は「0」でないので(1
03) 、ステップ 104に制御が進み、書込みアドレスポイ
ンタPOINTER および桁ポインタiをそれぞれ「0」に初
期化する。また、次アドレスポインタNXTADRには、書込
みアドレスポインタPOINTER の値に「1」を加算した値
を設定する。これらの書込みアドレスポインタPOINTER
、桁ポインタiおよび次アドレスポインタNXTADRは、
メモリ20の作業領域に定義される。なお、ステップ 103
において値SIZEが「0」であれば、飛越し記号Cに従っ
て図6のステップ 125に進み、符号表22の読出しアドレ
スポインタADR をインクリメントする。
【0025】そこで表作成部26は、アドレス「00h 」か
ら読み出したハフマン符号部分の2進値「00」の、この
場合は左端の1ビット「0」を抽出し、これをレジスタ
BITに格納する(105) 。ステップ 106において一般的に
は、この符号部を(SIZE-i)だけ右シフトして1桁を抽出
する。この例では、値BIT が「0」であり(106) 、値SI
ZEが「1」であってビットポインタiの現在値「0」と
相違するから(107) 、ステップ 108に進む。ステップ 1
08において、ポインタPOINTER の指している復号表24の
アドレス「00h 」のデータビットD0〜D7に対応する書込
みフラグD18 がこのときはまだ「0」であるから、ステ
ップ 109に進んで復号表24のアドレス「00h 」のデータ
ビットD0〜D7に次ポインタNXTADRの値「01h 」を書き込
み、データビットD0〜D7に対応する書込みフラグD18 に
書込済表示「1」を表示する。こうして設定された復号
データ「0001」「00h」および「01h 」がデータバス46か
らメモリ20へ供給され、これとともにアドレスバス36に
は書込みアドレスポインタPOINTER の指定する復号表24
のアドレス「00h 」が出力される。こうして、復号デー
タ「0001」「00h」および「01h 」がそれぞれ、メモリ20
の復号表24のアドレス「00h 」のビット位置D19 〜D16
、D15 〜D8およびD7〜D0に書き込まれる。これととも
に、書込みアドレスポインタPOINTER に次アドレスポイ
ンタNXTADRの値をセットする。これにより、復号表24の
アドレス「00h 」におけるデータビットD0〜D7に飛び先
アドレス「01h 」が記録された。
【0026】次にステップ 111に進み、ビットポインタ
iをインクリメントし、ステップ 105に進んで、前述と
同様にして表作成部26は、現在、読出しアドレスポイン
タPOINTER の指示しているアドレス「00h 」のハフマン
符号部分の2進値「00」の第2ビット「0」を抽出し、
これをレジスタBIT に格納する。今度は、値BIT が
「0」であるが(106) 、値SIZEが「1」であってビット
ポインタiの現在値「1」と一致するから(107) 、飛越
し記号Aに従って制御は図6のステップ 126に進む。ス
テップ 126では終端処理が行なわれる。ここでは、現在
の書込みアドレスポインタPOINTER の指定しているメモ
リ20の記憶位置、すなわちアドレス「01h 」の記憶位置
において、このときのハフマン符号部分の第2ビット
「0」に対応するデータ部D0〜D7に読出しアドレスポイ
ンタADR の内容、すなわちこの場合は「00h 」を書き込
む。この読出しアドレスポインタADR の内容「00h 」こ
そ、復元すべきシンボル値である。この終端処理は、ハ
フマンのビット単位の遷移状態を規定した木構造の終端
を定義する処理である。そこで、ステップ 126では、デ
ータビットD0〜D7に対応する書込みフラグD18 に書込済
表示「1」を、また終端フラグD16 に終端表示「1」を
表示する。こうして作成された復号データ「0101」「00
h」および「00h 」がそれぞれ、メモリ20の復号表24の
アドレス「01h 」のビット位置D19 〜D16 、D15 〜D8お
よびD7〜D0に、前述と同様にして書き込まれる。これに
より、メモリ20の復号表24のアドレス「00h 」および
「01h 」の復号データD7〜D0が完成した。
【0027】メモリ20の復号表24の書き込みアドレスポ
インタADR の値が256 に達しないときは(125) 、ステッ
プ 127に進んでポインタADR をインクリメントし、制御
は、飛越し記号Eに従って図5のステップ 102に戻る。
以下、同様にして符号表22の次の記憶位置「01h 」以
降、順次、復号表24の復号データを作成して行く。たと
えば、符号表22のアドレス「02h 」の符号データ「011
」の場合、左端の1ビット「0」を抽出し、前述と同
様にしてステップ 108まで進む。ステップ 108におい
て、ポインタPOINTER の指している復号表24のアドレス
「00h 」のデータビットD0〜D7に対応する書込みフラグ
D18 がこのときはすでに「1」に設定されているので、
ステップ 110に進んで書込みアドレスポインタPOINTER
に復号表24のアドレス「00h 」のデータビットD0〜D7の
値「01h 」をセットする。次にステップ111に進んでビ
ットポインタiをインクリメントし、ステップ 105に移
行する。
【0028】再び前述と同様にして、現在、読出しアド
レスポインタPOINTER の指示しているアドレス「02h 」
のハフマン符号部分の2進値「011 」の第2ビット
「1」を抽出し、これをレジスタBIT に格納する。今度
は、値BIT が「1」であるから(106) 、飛越し記号Bに
従って制御は図6のステップ 120に進む。しかし、値SI
ZEが「2」であってビットポインタiの現在値「1」と
一致しないので(121) 、ステップ 122でメモリ20の書込
み処理が行なわれる。これは、前述のステップ 126と同
様であるが、書込み処理の対象が、現在の書込みアドレ
スポインタPOINTERの指定しているメモリ20のアドレス
「01h 」の記憶位置において、このときのハフマン符号
部分の第2ビット「1」に対応するデータ部D8〜D15 に
読出しアドレスポインタADR の内容、この場合は「02h
」を書き込む点で相違する。以降、制御は、飛越し記
号Dに従って図5のステップ 111に戻る。
【0029】次にステップ 111を通ってステップ 105に
進み、前述と同様にして現在、読出しアドレスポインタ
POINTER の指示しているアドレス「02h 」のハフマン符
号部分の2進値「011 」の第3ビット「1」を抽出して
レジスタBIT に格納する。今度は、値BIT が「1」であ
るが(106) 、値SIZEが「2」であってビットポインタi
の現在値「2」と一致するから(120) 、ステップ 124で
終端処理が行なわれる。ここでは、現在の書込みアドレ
スポインタPOINTER の指定しているメモリ20の記憶位置
「02h 」において、このときのハフマン符号部分の第3
ビット「1」に対応するデータ部D8〜D15 に読出しアド
レスポインタADR の内容、すなわちこの場合は「02h 」
を書き込む。この読出しアドレスポインタADR の内容
「02h 」が復元すべきシンボル値である。これととも
に、データビットD8〜D15 に対応する書込みフラグD19
に書込済表示「1」をセットし、また終端フラグD17 に
終端表示「1」をセットする。作成された復号データ
「1111」「02h」および「01h 」がそれぞれ、メモリ20の
復号表24のアドレス「02h 」のビット位置D19 〜D16 、
D15 〜D8およびD7〜D0に書き込まれ、メモリ20の復号表
24のアドレス「02h 」の復号データD19 〜D0が完成す
る。
【0030】なお、こうした状態で次に、他の復号デー
タの作成で復号表24のアドレス「02h 」の復号データD8
〜D15 を操作しようとすると、それに対応する書込みフ
ラグD19 に「1」が立っているので、ステップ 121にて
ステップ 123にバイパスし、ここでステップ 110におけ
るのと同様のポインタPOINTER へのデータD8〜D15 の読
出しが行なわれる。こうして最終アドレス「 256」まで
復号表24の作成が行なわれる。図4に示す状態は、アド
レス「0Bh 」の復号データを作成中の状態を示してい
る。このようにして符号表22から表作成部26によってメ
モリ20に作成された復号表24を使用して復号部18は、入
力16に到来する圧縮データを伸長することができる。し
たがって、メモリ20における符号表22の展開に必要な記
憶領域を使用して元のDHT パラメータに最適な復号表24
が展開され、効率的に伸長処理が実現される。
【0031】なお、ここで説明した実施例は本発明を説
明するためのものであって、本発明の精神を逸脱するこ
となく当業者が可能な変形または修正は本発明の範囲に
含まれることは、言うまでもない。
【0032】
【発明の効果】このように本発明によれば、可変長符号
の符号表からメモリにそれに最適の復号表を展開する。
したがって、圧縮データを効率的に伸長することができ
るのみならず、メモリ20における符号表の展開に必要な
最小限の記憶領域を用意すれば、簡略で効率的な構成の
可変長符号の伸長装置および圧縮伸長装置が実現され
る。
【図面の簡単な説明】
【図1】本発明による可変長符号の圧縮伸長装置の好ま
しい実施例を示す機能ブロック図である。
【図2】図1に示す実施例におけるハフマン符号ワード
の構成例を示す図である。
【図3】同実施例におけるハフマン符号表のデータの例
を部分的に示す図である。
【図4】同実施例におけるハフマン復号表データの例を
部分的に示す図である。
【図5】同実施例におけるハフマン復号表作成動作の例
を示すフロー図である。
【図6】図5に示すハフマン復号表作成動作フローの続
きを示すフロー図である。
【符号の説明】
12 符号化部 18 復号部 20 メモリ 22 ハフマン符号表 24 ハフマン復号表 26 ハフマン表作成部

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 可変長符号の符号化表データを参照して
    量子化データを圧縮した圧縮データが入力され、該圧縮
    データに応じて可変長符号の復号表データを参照して該
    圧縮データを伸長したシンボルデータを出力する復号手
    段を有する可変長符号の伸長装置において、該装置はさ
    らに、 前記可変長符号の復号表データを書換可能に蓄積するた
    めの蓄積手段と、 前記符号化表データは、符号化デ−タおよび該符号化デ
    −タの符号長を示す符号長データを含み、該符号化デ−
    タおよび符号長データから終端処理のためのフラグデー
    タ、飛び先アドレスデ−タおよび前記シンボルデータを
    含む前記復号表データを作成し、前記蓄積手段に蓄積す
    る表作成手段とを有し、 前記復号手段は、前記蓄積手段に蓄積された復号表デー
    タを参照して前記圧縮データを伸長することを特徴とす
    る可変長符号の伸長装置。
  2. 【請求項2】 量子化データが入力され、該量子化デー
    タに応じて可変長符号の符号化表データを参照して該量
    子化データを圧縮した可変長符号の圧縮データを出力す
    る符号化手段と、 前記圧縮データが入力され、該圧縮データに応じて可変
    長符号の復号表データを参照して該圧縮データを伸長し
    たシンボルデータを出力する復号手段とを有する可変長
    符号の圧縮伸長装置において、該装置はさらに、 前記可変長符号の符号化表データおよび復号表データを
    書換可能に蓄積するための蓄積手段と、 前記符号化表データは、符号化デ−タおよび該符号化デ
    −タの符号長を示す符号長データを含み、該符号化デ−
    タおよび符号長データから終端処理のためのフラグデー
    タ、飛び先アドレスデ−タおよび前記シンボルデータを
    含む前記復号表データを作成し、前記蓄積手段に蓄積す
    る表作成手段とを有し、 前記復号手段は、前記蓄積手段に蓄積された復号表デー
    タを参照して前記圧縮データを伸長することを特徴とす
    る可変長符号の圧縮伸長装置。
  3. 【請求項3】 請求項2に記載の装置において、前記表
    作成手段は、前記量子化データの性質に応じたヒストグ
    ラムを作成することを特徴とする可変長符号の圧縮伸長
    装置。
  4. 【請求項4】 請求項2に記載の装置において、前記量
    子化データは画像データであることを特徴とする可変長
    符号の圧縮伸長装置。
JP29957992A 1992-11-10 1992-11-10 可変長符号の伸長装置および圧縮伸長装置 Expired - Lifetime JP3007235B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29957992A JP3007235B2 (ja) 1992-11-10 1992-11-10 可変長符号の伸長装置および圧縮伸長装置
US08/149,907 US5481364A (en) 1992-11-10 1993-11-10 Apparatus for adaptively generating a decoder table for variable-length codes using a stored coding table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29957992A JP3007235B2 (ja) 1992-11-10 1992-11-10 可変長符号の伸長装置および圧縮伸長装置

Publications (2)

Publication Number Publication Date
JPH06152435A JPH06152435A (ja) 1994-05-31
JP3007235B2 true JP3007235B2 (ja) 2000-02-07

Family

ID=17874466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29957992A Expired - Lifetime JP3007235B2 (ja) 1992-11-10 1992-11-10 可変長符号の伸長装置および圧縮伸長装置

Country Status (2)

Country Link
US (1) US5481364A (ja)
JP (1) JP3007235B2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138459A (en) * 1990-11-20 1992-08-11 Personal Computer Cameras, Inc. Electronic still video camera with direct personal computer (pc) compatible digital format output
US5603012A (en) 1992-06-30 1997-02-11 Discovision Associates Start code detector
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
JPH06348490A (ja) * 1993-06-08 1994-12-22 Hitachi Ltd 演算処理方法、及びマイクロコンピュータ
US5798719A (en) 1994-07-29 1998-08-25 Discovision Associates Parallel Huffman decoder
KR0152038B1 (ko) * 1994-10-17 1998-10-15 김광호 상대 주소를 이용한 가변장 복호화 장치
JPH08130649A (ja) * 1994-11-01 1996-05-21 Canon Inc データ処理装置
US5793896A (en) * 1995-03-23 1998-08-11 Intel Corporation Ordering corrector for variable length codes
US5864637A (en) * 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
WO1996033558A1 (en) * 1995-04-18 1996-10-24 Advanced Micro Devices, Inc. Method and apparatus for hybrid vlc bitstream decoding
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5903313A (en) * 1995-04-18 1999-05-11 Advanced Micro Devices, Inc. Method and apparatus for adaptively performing motion compensation in a video processing apparatus
US5872866A (en) * 1995-04-18 1999-02-16 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics
US5680482A (en) * 1995-05-17 1997-10-21 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by adaptive selection of video input buffer parameters
US6088039A (en) * 1996-01-04 2000-07-11 Compaq Computer Corporation Compression of grey scale images of text
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients
DE69716799T2 (de) * 1996-03-21 2003-07-03 Kabushiki Kaisha Toshiba, Kawasaki Verfahren zur Bildung von Paketen, Aufnahmeträger und Gerät zum Aufzeichnen von Daten variabler Länge
KR970068627A (ko) * 1996-03-22 1997-10-13 구자홍 최적화된 가변길이 테이블장치 및 최적 길이값 산출방법
KR100203266B1 (ko) * 1996-07-09 1999-06-15 윤종용 윤곽선복호화장치
JPH10105672A (ja) * 1996-09-27 1998-04-24 Nec Corp コンピュータ及びそれに使用する演算機能付きメモリ集積回路
EP0843253B1 (en) * 1996-11-15 2001-08-08 STMicroelectronics S.r.l. A method for reducing the number of bits needed for the representation of constant values in a data processing device
US6044460A (en) * 1998-01-16 2000-03-28 Lsi Logic Corporation System and method for PC-relative address generation in a microprocessor with a pipeline architecture
JP2000059234A (ja) * 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US6411226B1 (en) * 2001-01-16 2002-06-25 Motorola, Inc. Huffman decoder with reduced memory size
US7761695B2 (en) * 2004-09-20 2010-07-20 Silicon Hive B.V. Programmable data processor for a variable length encoder/decoder
CN101505155B (zh) * 2009-02-19 2012-07-04 中兴通讯股份有限公司 实现前缀码构造的装置和方法
US9787323B1 (en) 2016-12-11 2017-10-10 Microsoft Technology Licensing, Llc Huffman tree decompression

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4612532A (en) * 1984-06-19 1986-09-16 Telebyte Corportion Data compression apparatus and method
US4862167A (en) * 1987-02-24 1989-08-29 Hayes Microcomputer Products, Inc. Adaptive data compression method and apparatus
JPH03220870A (ja) * 1990-01-26 1991-09-30 Ricoh Co Ltd 可変長符号の復号化テーブルの自動作成方法
JP2839943B2 (ja) * 1990-08-10 1998-12-24 富士通株式会社 画像データ復元方法及び装置
US5216423A (en) * 1991-04-09 1993-06-01 University Of Central Florida Method and apparatus for multiple bit encoding and decoding of data through use of tree-based codes

Also Published As

Publication number Publication date
JPH06152435A (ja) 1994-05-31
US5481364A (en) 1996-01-02

Similar Documents

Publication Publication Date Title
JP3007235B2 (ja) 可変長符号の伸長装置および圧縮伸長装置
US6292114B1 (en) Efficient memory mapping of a huffman coded list suitable for bit-serial decoding
US5450599A (en) Sequential pipelined processing for the compression and decompression of image data
US6198850B1 (en) System and method for segmentation dependent lossy and lossless compression for higher quality
US7071848B1 (en) Hardware-friendly general purpose data compression/decompression algorithm
EP0734126A1 (en) Two-stage compression with runlength encoding and lempel-ziv encoding
JP3224926B2 (ja) 量子化・逆量子化回路
US5751860A (en) Method for compressing and decompressing digital image data
US6819803B2 (en) Faster lossless rotation of JPEG images
JPH08288861A (ja) データ圧縮方法、データ圧縮解除方法及びデータ・コーディング装置
JP3169482B2 (ja) 直列データ復号方式
JP3235555B2 (ja) 信号復号装置及び信号復号方法並びに信号復号処理をコンピュータに行わせるためのプログラムを記録した記録媒体
US20040021593A1 (en) Apparatus and method for decoding variable length code
US6798914B1 (en) Neural-network-based method of image compression
US6850648B2 (en) System for decoding packed coded image data while depacking same
JPH0879719A (ja) データ・ファイルの圧縮および伸張方法
US20020081038A1 (en) Graphic image coding
JPH05227440A (ja) データ符号化装置及び方法
US20040071355A1 (en) Device and method for compressing and decompressing data for graphics display
ATE226380T1 (de) Digitale verarbeitung von grafischen bildern in einem dekodierer
JPH09247466A (ja) 符号化装置
KR100255062B1 (ko) Run-level 세트의 제로-런 전개 회로 및 제로-런 전개 방법
JPH10105672A (ja) コンピュータ及びそれに使用する演算機能付きメモリ集積回路
KR20010043281A (ko) 화상 정보의 부호화 방법 및 복호화 방법
JP3152772B2 (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: 19991109

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 8

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

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101126

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111126

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121126

Year of fee payment: 13

EXPY Cancellation because of completion of term