JPH07212243A - 可変長符号の符号化方法およびその装置 - Google Patents

可変長符号の符号化方法およびその装置

Info

Publication number
JPH07212243A
JPH07212243A JP220394A JP220394A JPH07212243A JP H07212243 A JPH07212243 A JP H07212243A JP 220394 A JP220394 A JP 220394A JP 220394 A JP220394 A JP 220394A JP H07212243 A JPH07212243 A JP H07212243A
Authority
JP
Japan
Prior art keywords
code
length
variable
appearance frequency
encoding
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.)
Withdrawn
Application number
JP220394A
Other languages
English (en)
Inventor
Yuji Shigyo
祐司 執行
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 JP220394A priority Critical patent/JPH07212243A/ja
Publication of JPH07212243A publication Critical patent/JPH07212243A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 可変長符号化におけるコードの符号長を制限
することのできる可変長符号の符号化方法およびその装
置を提供する。 【構成】 符号化装置1は、量子化データを符号化する
ための符号化部12と、符号化のための符号表を作成する
符号表作成部18と、作成された符号表が蓄積されるメモ
リ20を備えている。符号表作成部18は、量子化データの
シンボルの出現頻度を算出する機能と、算出された出現
頻度をその出現頻度順に並べ換えるソート機能と、ソー
トされたシンボルに符号を割り当ててハフマンコードを
作成する機能とを有している。さらに符号表作成部18
は、作成されたハフマンコードが所定の符号長以内か否
かを判定する機能を有し、所定の符号長を超えた場合に
は、それまで算出された出現頻度の値を出現頻度置換機
能により他の値に置換し、符号表作成部18は、所定の符
号長以内のハフマンコードが作成されるように、出現頻
度が置換された新たな出現頻度に基づいて再度処理を行
なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、可変長符号の符号化方
法およびその装置に関する。とくに、たとえば、画像信
号などの情報を可変長符号に圧縮して圧縮データを形成
する可変長符号の符号化方法およびその装置に関するも
のである。
【0002】
【従来の技術】近年、画像や音声などの情報を符号化し
て圧縮し、この圧縮された符号化データを、フォトCDな
どの光ディスクまたは半導体メモリを用いたICメモリカ
ードなどの情報記録媒体に記録したり、有線や無線の伝
送路を介して遠隔の装置に伝送したりする。この場合、
所定の画像を表わす画像データは、1枚(フレーム)の
画像に含まれている空間的な冗長度が、たとえば画素間
相関を利用した予測符号化や画像の周波数成分のエネル
ギー分布に応じた変換を行なう変換符号化などによって
削減される。
【0003】このようにして画像の冗長度が削減された
画像データは、これらのデータの値を離散的なレベルで
近似する量子化操作が施された後、それぞれの量子化デ
ータに所定の符号が割り当てられて符号化データが作成
される。この符号割当ては、量子化レベルの発生頻度に
応じて、頻度の高い情報に対して、より短い2進符号を
割り当てる可変長符号化が情報圧縮の点で有利である。
【0004】このような可変長符号化の代表的な一例と
して、ハフマン符号化方式が知られている。このハフマ
ン符号化方式は、情報源のシンボルをその生起確率の大
きい順に並べ(1) 、生起確率の最も小さいシンボルとそ
の次に生起確率が小さいシンボルとのそれぞれに対し、
一方に符号化記号"0" を割り当て、他方に符号化記号"
1" を割り当て(2) 、 (2)における2つのシンボルを1
つのシンボルとみなして元の2つの生起確率の和を新た
な生起確率とし、これを用いて生起確率の大きい順位に
シンボルを並べ直し(3) 、シンボル数が1になるまで
(2) 〜(3) の手順を繰り返し(4) 、(2) で割り当てられ
た符号化記号"0" および"1" を逆に読み出して、これを
目的の可変長の符号語(ハフマンコード)とする(5) 符
号化方式である。
【0005】このような構成法によりハフマン符号化方
式は、確率分布が与えられた情報源から、平均符号長が
最小となる最短符号(コンパクト符号)の符号化データ
を得ることができる。
【0006】
【発明が解決しようとする課題】しかしながら、ハフマ
ン符号化により作成される符号化データの最長の符号長
は、情報源のシンボル数やそれぞれのシンボルの生起確
率によって異なってしまう。実際にハフマン符号化を利
用する際には、たとえば、ハフマンコードを格納するレ
ジスタのデータ幅(ビット数)や付随させるハフマンコ
ード表の容量などに対する制約のため、ハフマンコード
の最長の符号長を制限しなければならないという課題が
ある。
【0007】このように可変長符号化により生成された
符号化データは、符号化装置にかかわるハードウエア、
符号化データを情報記録媒体に記録する記録フォーマッ
トおよび伝送路を介して通信する通信フォーマットなど
によって、その符号長が所定の長さに制限されてしまう
ため、所望の符号長以内のハフマンコードを作成する必
要がある。しかし、所定長以内のハフマンコードを作成
する際、ハフマンコードの平均符号長を極端に増大させ
るものでは、圧縮効果の点で好ましくない。
【0008】上述のような所定の符号長に制限されたハ
フマンコードを得る可変長符号化の場合、簡便な構成に
てハフマンコードを作成することが困難であり、また、
ハフマンコードを簡便な処理手順にて得るのが困難であ
った。たとえば、JPEG(JointPhotographic Experts Gro
up)による「Techical Specification Revision 8」 で
は、符号化データの符号長を所定値に制限するアルゴリ
ズムが記載されている。この手法を要約すれば、これは
「コードを割りつける前に、生成されるコードの長さ
(コード長x)を求め(1) 、求めたコードの長さ(コー
ド長x)に基づいて、それぞれの符号長のデータがいく
つ生成されるか(コード長xの個数BITS(x))をカウント
し(2) 、所定の符号長以上のコードの個数が、"0" と、
なるようにコード長xの個数BITS(x) を調整し(3) 、
(3) によって調整された長さのコードを割りつける(4)
」方法である。しかし、この方法によって処理を行な
う場合、処理を行なう装置の構成および処理手順が複雑
となってしまうという問題があった。
【0009】本発明はこのような要求に鑑み、冗長度を
小さく抑えつつ、可変長符号化におけるコードの符号長
が所定の長さよりも長くなることを、簡便な構成にて防
止することのできる可変長符号の符号化方法およびその
装置を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明は上述の課題を解
決するために、情報源からの情報を表わすシンボルの出
現頻度を求めて、この出現頻度により符号割当を行なっ
て可変長符号の符号表を作成し、この符号表に基づいて
情報を圧縮符号化する可変長符号の符号化方法におい
て、この方法は、可変長符号を作成する際に、この可変
長符号の符号長が所定の長さを超えるときは、シンボル
の出現頻度を変更して、この変更された出現頻度に基づ
いて可変長符号の符号表を作成することを特徴とする。
【0011】この場合、この方法は、出現頻度が最も小
さいシンボルの出現頻度の値を他の値に置き換えて、シ
ンボルの出現頻度を変更するとよい。
【0012】さらに、他の値は、最も小さい出現頻度の
値の次に小さな出現頻度の値であるとよい。
【0013】また、この方法は、符号割当により作成さ
れた可変長符号が所定長以内であるか否かを判定し、こ
の可変長符号が所定長を超えた場合にシンボルの出現頻
度を変更するとよい。
【0014】また、この方法は、作成された可変長符号
が所定長以内であるか否かを、シンボルに対して符号を
割り当てた際に逐次判定するとよい。
【0015】また、この方法は、符号化処理により作成
されたコードが所定の符号長以内のコードとなるまで、
出現頻度を他の値に置き換えて可変長符号の符号表を作
成するとよい。
【0016】また、可変長符号はハフマン符号であり、
符号表はハフマン符号表であるとよい。
【0017】本発明はまた、シンボルを表わす量子化デ
ータが入力され、この量子化データに対応する可変長符
号の符号表に基づいて、この量子化データを圧縮した可
変長符号の符号化データを出力する符号化手段を有する
可変長符号の符号化装置において、この装置は、量子化
データに応じて、所定の符号長以内の符号からなる符号
表を作成する符号表作成手段と、この符号表作成手段に
て作成された符号表を蓄積する記憶手段とを備え、符号
表作成手段は、量子化データの出現頻度を変更すること
により、所定の符号長以内の符号からなる符号表を作成
することを特徴とする。
【0018】この場合、符号表作成手段は、量子化デー
タからシンボルの出現頻度を算出する出現頻度算出処理
手段と、この出現頻度算出処理手段にて算出された出現
頻度に基づいて、このシンボルに対応して符号を割り当
て、可変長符号を作成する符号化処理手段と、この符号
化処理手段にて作成された可変長符号の符号長を所定の
符号長以内か否かを判定する判定処理手段と、この判定
処理手段にて前記可変長符号が所定の符号長を超えたこ
とが判定されると、出現頻度算出処理手段にて算出され
た出現頻度の値を他の値に置き換えて変更した新たな出
現頻度を生成する出現頻度置換処理手段とを含み、符号
化処理手段は、出現頻度変更処理手段にて置換された新
たな出現頻度に基づいて、可変長符号を作成するとよ
い。
【0019】また、出現頻度置換処理手段は、出現頻度
が最も小さいシンボルの出現頻度の値を、その次に小さ
い出現頻度の値に置換するとよい。
【0020】
【作用】本発明の可変長符号の符号化方法によれば、可
変長符号を作成する際に、この可変長符号の符号長が所
定の長さを超えるときは、シンボルの出現頻度を変更
し、この変更された出現頻度に基づいて、可変長符号の
符号表を作成することにより、所定の符号長以下の可変
長符号を作成する。 また、本発明の可変長符号の符号
化装置によれば、符号表作成手段は、量子化データの出
現頻度を変更することにより、所定の符号長以内の符号
からなる符号表を作成し、この作成された符号表は蓄積
手段に蓄積される。符号化手段は、蓄積手段に蓄積され
た符号表に基づいて量子化データを圧縮した可変長符号
の符号化データを出力する。これにより、所定の符号長
以内の符号からなる符号化データを出力する。
【0021】
【実施例】次に添付図面を参照して本発明の可変長符号
の符号化方法およびその装置が適用された可変長符号の
符号化装置を詳細に説明する。図1を参照すると、実施
例の符号化装置1は、入力ポート10に到来する量子化さ
れた画像データなどのデータを符号化部12によって可変
長符号に圧縮してこれを出力ポート14に出力する際、所
定の符号長以内の符号化データを作成して出力する画像
信号の圧縮機能を有する符号化装置である。入力ポート
10には、たとえば予測符号化や変換符号化などの処理に
より画像の冗長度が削減された量子化データが入力され
る。
【0022】具体的にはこの量子化データは、たとえば
画像の所定範囲ごとにジグザグ走査して離散コサイン変
換したデータおよび原画像を順次デシメーションして複
数の解像度の階層的画像データを作成し、それぞれの階
層間の差分を算出したデータを量子化した量子化データ
が用いられる。本実施例の符号化装置1は、可変長符号
としてハフマン符号を用い、この量子化データをハフマ
ン符号化するデータ圧縮装置である。本発明はしかし、
この具体例のみに限定されるものではない。
【0023】このような圧縮符号は、ハフマン表作成部
18にて作成され、メモリ20の記憶領域にルックアップテ
ーブルとして蓄積されたハフマン符号表22(図3)を参
照して、メモリ20の作業領域を使って行なわれる。この
ハフマン符号表22は、本実施例では、符号長が5ビット
に制限されて作成されたハフマンコードおよびその符号
長(コード長)を表わす値を、その記憶位置を表わすア
ドレスごとに示す符号表である。なお図示のハフマン符
号表22は一例にすぎず、また説明の便宜上、必要な部分
のみを示し、他の部分は図示を省略してある。
【0024】メモリ20は、本実施例ではハフマン符号表
22のデータの蓄積領域として少なくとも約10K ビットの
書換可能な記憶領域を有し、それ以外に、符号圧縮のた
めにデータを一時蓄積する作業領域およびプログラム蓄
積領域を有するRAM である。このハフマン表蓄積領域に
は、本実施例ではJPEGベースラインで符号化に必要とさ
れる符号表のデータ量として、1ワードが20ビットから
なる記憶位置を 256アドレス分、有する記憶領域が2
面、用意されている。メモリ20は、8ビットのアドレス
指定端子24を有し、これに入力されるアドレスによって
その記憶位置が指定される。アドレス指定端子24は、入
力端子28または入力端子30のいずれか一方を選択して出
力端子24に接続するマルチプレクサ(MUX) 26を介して、
符号化部12およびハフマン表作成部18のアドレス出力端
子28および30に接続されている。このマルチプレクサ26
は、入力ポート10に入力した量子化データに基づいてハ
フマン符号表22を作成する際には、入力端子30を選択
し、入力ポート10に入力される量子化データを符号化す
る際には入力端子28を選択する。
【0025】メモリ20のデータの書込制御W および読出
制御R は、ハフマン表作成部18に接続された制御線42を
介して行なわれる。メモリ20は、読出制御R およびアド
レス指定端子24に入力されたアドレスに基づいて、その
アドレスに対応する記憶位置に格納された符号化データ
を出力ポート14に出力する。この出力ポートは、本符号
化装置1の出力を構成し、また、出力ポート14は、ハフ
マン表作成部18に接続されている。
【0026】符号化部12は、量子化データが入力される
入力ポート10の他に制御信号が入力される入力ポート32
を有し、メモリ20に蓄積されたハフマン符号表22におけ
る量子化データのシンボルに応じた記憶位置アドレスを
指定することによって、ハフマンコードによる符号化デ
ータをメモリ20の出力ポート14から出力させ、これによ
って符号圧縮を行なう機能を有する。
【0027】ハフマン表作成部18は、ホスト装置(図示
せず)から入力ポート10に供給される量子化データを所
定の符号長以下の符号化データに変換するためのハフマ
ン符号表22を作成する処理部である。
【0028】詳しくは、ハフマン表作成部18は、入力ポ
ート10に供給される量子化データに基づいて、それぞれ
の量子化データのシンボルの生起確率に対応する出現頻
度を表わす値を算出する出現頻度算出機能を有し、出現
頻度の分布に対応したヒストグラムを作成する。たとえ
ばハフマン表作成部18は、入力された量子化データを出
力ポート34に出力してメモリ20の作業領域に蓄積させ
る。ハフマン表作成部18は、メモリ20に蓄積された量子
化データに基づいて、それぞれのシンボルの出現頻度を
算出し、算出したシンボルごとの出現頻度をソートして
出現頻度順に並び変えてヒストグラムを作成する。図2
(a),(b) には、あるシンボルa〜jの出現頻度がハフマ
ン表作成部18にて算出され、シンボルa〜jの出現頻度
順に並び替えられたシンボルおよび出現頻度を表わすヒ
ストグラムデータの一例が示されている。
【0029】このハフマン表作成部18は、出現頻度順に
並べ替えられたシンボルに対して、"1" または"0" の符
号を割り当てて、それぞれのシンボルに対応するハフマ
ンコードを生成する機能を有している。詳しくはハフマ
ン表作成部26は、最小の出現頻度のシンボルおよび最小
から2番目の出現頻度のシンボルの一方に1ビットの"
1" 符号を割り当て、他方に1ビットの"0" 符号を割り
当てて、次にこれら2つのシンボルのそれぞれの出現頻
度を合計して1つの出現頻度の値とし、以上の処理をシ
ンボルの出現頻度の総数が1つになるまで繰り返すこと
によって、最終的には、それぞれのシンボルに対応した
ハフマンコードを得るように構成されている。たとえ
ば、ハフマン表作成部18は、図2(a) に示したシンボル
a〜jの出現頻度に基づいて、図2(d),(e) に示すよう
な符号長の符号化データを生成する。
【0030】また、ハフマン表作成部18は、生成したハ
フマンコードの符号長が所定の符号長以内であるか否か
を判定する判定機能を有し、生成されたハフマンコード
が所定の符号長を超えたことを判定した場合、そのとき
に用いたシンボルの出現頻度とは異なる値の出現頻度に
基づいてハフマンコードを再生成する。詳しくはハフマ
ン表作成部18は、出現頻度算出機能により算出されたシ
ンボルの出現頻度を変更する出現頻度置換機能を有して
いる。本実施例におけるハフマン表作成部18はたとえば
図2(d),(e) に示すように、出現頻度算出機能により算
出された出現頻度を用いて生成されたハフマンコードが
所定の符号長(本実施例では5ビット)を超えた場合、
これを判定する。この場合、ハフマン表作成部18は、た
とえば図2(c) に示すように、出現頻度が最も低いシン
ボルの出現頻度を、その次に小さい出現頻度の値に置き
換えて、これを新たな出現頻度とする。同図では、シン
ボルjの出現頻度"40"がシンボルiの出現頻度に対応す
る新たな出現頻度"57"に置換されていることが示されて
いる。
【0031】ハフマン表作成部18は、この出現頻度置換
機能によって更新された新たな出現頻度に基づいて、ハ
フマンコードを再生成する。ハフマン表作成部18は、こ
のハフマンコードの再生成処理を、ハフマンコードがす
べて所定の符号長以内のコード長であることが判定機能
により判定されるまで繰り返す。図5を参照すると、図
2(c) に示した新たな出現頻度から、出現頻度が最も低
いシンボルの出現頻度を、その次に小さい出現頻度の値
に置き換えて、これを新たな出現頻度とした値が示され
ている。同図では、シンボルiの出現頻度"57"がシンボ
ルhの出現頻度に対応する新たな出現頻度"82"に置換さ
れていることが示されている。
【0032】ハフマン表作成部18は、ヒストグラム作成
機能および出現頻度置換機能にて作成されて、所定の符
号長以下に符号割当されたハフマンコードを、たとえば
図3に示すようなハフマン符号化表22としてメモリ20の
所定のアドレス領域に対応したハフマン表蓄積領域に蓄
積させる。
【0033】以上のような構成で、符号化装置1の動作
を図4および図5を参照して以下に説明する。図4を参
照すると、同図には符号化装置1の符号化処理動作を表
わすフローチャートが示されている。ステップ400 にお
いて、入力ポート10に現れた量子化データはハフマン表
作成部18に入力され、それぞれの量子化データに対応し
たシンボルは、接続線34を介してメモリ20の作業領域に
蓄積される。このとき作業領域を指定するアドレスデー
タは、ハフマン表作成部18の出力端子30に出力され、マ
ルチプレクサ36にて選択されてメモリ20に供給される。
【0034】メモリ20に蓄積された量子化データは、ハ
フマン表作成部18によりそれぞれのシンボルの出現頻度
順にソートされ(ステップ402 )、この量子化データに
対応した、たとえば図2(b) に示す出現頻度を表わすヒ
ストグラムが作成される。
【0035】ステップ404 に進み、ステップ402 にて作
成されたヒストグラムに基づいて、それぞれのシンボル
に"0" または"1" の符号が割り当てられる。本実施例で
は、まず、出現頻度"40"のシンボルjに符号"1" が割り
当てられ、出現頻度57のシンボルiに符号"0" が割り当
てられる。符号が割り当てられるとシンボルjの出現頻
度とシンボルiの出現頻度とが加算され、これら合計し
た値の出現頻度"97"が1つの出現頻度とされる(ステッ
プ406 )。それぞれのシンボルを合計した結果、シンボ
ルの出現頻度の総数が1つになったか否かが判定され
(ステップ408 )、シンボルの出現頻度が1つであれば
ステップ410 に進み、シンボルの出現頻度が2つ以上の
複数あれば、ステップ402 に戻る。ステップ408 からス
テップ402に戻った場合、この出現頻度"97"とシンボル
a〜hの出現頻度とがそれぞれ出現頻度順にソートされ
る。以降、ステップ402 〜ステップ408 における処理を
シンボルの出現頻度が1つになるまで繰り返し、ステッ
プ406 にてシンボルの出現頻度の合計した結果が1つに
なると、ステップ410 に進む。
【0036】ステップ410 において、それぞれのシンボ
ルに割り当てられた符号が構成するハフマンコードの符
号長が確認され、ステップ412 において、すべてのシン
ボルのハフマンコードが、本実施例では5ビットの符号
長以内か否かが判定される。5ビットを超えた符号長の
ハフマンコードが存在する場合は、ステップ414 に進
む。また、すべてのシンボルのハフマンコードの符号長
が5ビット以内であれば、この所定の符号長以下に符号
が割り当てられたハフマンコードがハフマン符号表22と
して、メモリ20の所定のアドレスのハフマン表蓄積領域
に蓄積される。
【0037】本実施例では、図2(b) に示した出現頻度
による第1回目のハフマンコードの作成の結果、同図
(d),(e) に示すように、符号長が2〜6ビットのハフマ
ンコードが作成される。この場合、5ビットを超えた符
号長のシンボルが存在するとステップ412 にて判定され
たので、ステップ414 に進んで、ステップ402 にて出現
頻度順にソートされた出現頻度のうち、出現頻度が最も
低いシンボルjの出現頻度の値"40"が、図2(c) に示す
ように、その次に出現頻度が小さいシンボルiの出現頻
度"57"と同じ値"57"に置換される。以降、ステップ414
にて置換された出現頻度を用いて、ステップ402 〜412
における処理を繰り返して、上述と同様に図2(d),(e)
に示す符号長のハフマンコードが作成されるが、この2
回目の符号化データの作成の際にも6ビットのハフマン
コードが作成されたので、再度ステップ414 に進む。
【0038】この2回目の出現頻度置換処理において、
図2(c) に示した前回の出現頻度置換処理にて置換され
た新たな出現頻度に基づいて、この出現頻度から再び新
たな出現頻度の置換が行なわれる。本実施例では、図5
(c) に示すように、シンボルiの出現頻度"57"が、シン
ボルhの出現頻度の値"82"と同じ値に置換され、出現頻
度"82"となる。
【0039】次に、ステップ402 に戻って、ステップ41
4 にて置換された、新たな出現頻度(図5(c) )を用い
て、シンボルa〜jの出現頻度がその出現頻度順にソー
トされる。ソートされた出現頻度に基づいて、最小の出
現頻度"57"のシンボルjに符号"1" が割り当てられ、最
小から2番目の出現頻度"82"のシンボルiに符号"0"が
割り当てられる(ステップ404 )。ステップ406 にて、
これらシンボルjおよびiの出現頻度の値が合計され
て、シンボルjおよびiの出現頻度を表わす1つ値とし
ての出現頻度"139" となる。次にステップ408 にてシン
ボルの出現頻度が1つになったか否かが判定され、シン
ボルの出現頻度が複数ある場合には、ステップ402 に戻
る。この場合、ステップ402 にて、合計されたシンボル
jおよびiの出現頻度"139" と、シンボルa〜hの出現
頻度とがそれぞれ出現頻度順にソートされる。以降ステ
ップ402 〜ステップ408 における処理が、シンボルの出
現頻度の総数が1つになるまで繰り返され、ステップ40
6 にてシンボルの出現頻度を合計した結果が1つになる
と、ステップ410 に進む。このステップ410 において符
号割当されたハフマンコードの符号長が確認される。本
実施例では、図5(c)に示した新たな出現頻度に基づい
て、図5(d),(e) に示すように、それぞれのシンボルに
対応するハフマンコードの最大符号長が5ビットのハフ
マンコードが作成されたので、ステップ412 にて、すべ
てのシンボルに対応したハフマンコードが所定長以内で
あると判定される。
【0040】このようにしてハフマンコードおよびその
コードのそれぞれの符号長を表わすハフマン符号表22が
ハフマン表作成部18にて作成され、作成されたハフマン
符号表22はメモリ20の所定のアドレスのハフマン表蓄積
領域に格納される。このハフマン符号表22は、量子化デ
ータをハフマン符号化するためのハフマン符号化テーブ
ルとして用いられる。
【0041】入力ポート10に入力した量子化データを符
号化する際には、マルチプレクサ26にて入力端子28が選
択され、符号化部12の出力端子28がメモリ20の入力端子
24に接続される。量子化データが表わすシンボルに対応
するアドレスが符号化部12の出力端子28に出力される
と、マルチプレクサ26を通ってメモリ20の入力端子24に
供給される。一方、メモリ20の入力端子42には、アドレ
スの記憶位置に格納されたハフマン符号表22を読み出す
ための読出制御信号R がハフマン表作成部18から供給さ
れる。これにより符号化部12にて指定されたアドレスに
対応する最大の符号長が5ビットの符号化データがハフ
マン符号表22から読み出されて、メモリ20の出力ポート
14に出力される。
【0042】以上のようにして、最大の符号長が5ビッ
トに制限されたハフマンコードが作成される。このよう
にハフマンコードが作成される際の出現頻度置換機能に
よる出現頻度の変化、および出現頻度を合計処理して並
べ換えた結果の出現頻度の様子を図6に示す。この図に
は、新たな出現頻度(3回目)に基づいて、出現頻度が
1つになるまでの並べ換えた結果(第1回目〜第9回
目)が示されている。
【0043】このように本発明の実施例では、シンボル
の出現頻度が最も低い出現頻度を、その次に出現頻度が
低い値に置き換え、次にこれら2つの出現頻度を合計し
た値を用いて並べ換えを行なっている。これにより、作
成されたハフマンコードが所定の符号長を越えた場合に
は、再度出現頻度の置換を行ない、新たな出現頻度を作
成する。このように、本発明が適用された符号化装置1
は、量子化データのシンボルの出現頻度を置換すること
により、所定長以下の符号長のハフマンコードを得るこ
とができ、このとき符号割当などの符号化処理は、所定
長以下の符号が得られるまで繰り返して行なうように構
成されている。この結果、ハフマンコードが所定の符号
長よりも長くなることを回避することができるので、符
号化装置1の構成のみならず、符号化部12により作成さ
れた符号化データを処理する後段の回路および装置を簡
略化することができる。
【0044】また、符号化装置1にて作成されるハフマ
ンコードは、符号長を制限しない場合のハフマンコード
と較べて、その平均符号長の増大が極力低減されてい
る。たとえば、図5(a) に示した通常の出現頻度に基づ
いて作成されたハフマンコードの平均符号長は、"2.77
8" である。しかし、図5(c) に示した新たな出現頻度
を用いて、符号長が5ビット以下となるようにした場合
に作成されたハフマンコードの平均符号長は、"2.784"
となり、わずかに伸びているだけである。これは、出現
頻度の小さな領域にて出現頻度の置換処理を行なってい
るためであり、ハフマンコードの符号長を制限する場合
に圧縮効果をほとんど損なっていない。
【0045】なお、新たな出現頻度を置換する際に、同
じ出現頻度のシンボルが複数存在する場合には、元の量
子化データを並べ換えをした第1回目の出現頻度1にお
いて、出現頻度が高い方のシンボルに対して、出現頻度
の置換を行なうとよい。たとえば、上記実施例の新たな
出現頻度((図2(c) )において、シンボルiおよびj
の出現頻度が、ともに"57"となっているが、出現頻度
(図2(b) )においてシンボルiの出現頻度"57"がシン
ボルjの出現頻度"40"よりも高いため、この出現頻度"5
7"のシンボルiの出現頻度を、新たな出現頻度(図5
(c) )に示すようにシンボルhの出現頻度"82"と同じ値
にしている。これにより、もとの量子化データの出現頻
度順に対応したハフマンコードを得ることができ、平均
符号長の低減にも有効である。
【0046】また、上記第1の実施例では、シンボルの
出現頻度の総数が1つになってから符号長の確認および
判定を行なっているが、本発明はこれに限らず、たとえ
ばハフマンコードの作成中に、生成されたコードの符号
長を確認するように構成されてもよい。このハフマンコ
ードの作成中に符号長を確認するように構成された符号
化装置の他の実施例を以下に説明する。この実施例にお
ける符号化装置は、ハフマン表作成部18の一部の機能を
除いて図1に示した第1の実施例の符号化装置1の構成
と同じ構成でよい。
【0047】この実施例における符号化装置1aのハフマ
ン表作成部18a は、シンボルに符号を割り当てた直後
に、コードの符号長を確認する点で第1の実施例とは異
なる。詳しくは、ハフマン表作成部18a は、符号割当を
行なった後に、符号が割り当てられたコードの符号長を
確認し、そのコードの符号長が所定長以内の符号長か否
かを判定する機能を有している。ハフマン表作成部18a
は、符号割当されたコードが所定長以内の符号長である
ことを判定すると、符号割当の対象のシンボルを合計し
1つの出現頻度の値とする。また、ハフマン表作成部18
a は、符号割当されたコードの符号長が所定長を超えた
ことを判定すると、出現頻度置換機能を実行する。ハフ
マン表作成部18a の他の機能構成は図1に示した実施例
と同じ構成でよいので、その詳細な説明は省略する。
【0048】このような構成で、符号化装置1aの動作を
図7を参照して簡潔に説明する。図7を参照すると、こ
の実施例における符号化装置1aの符号化処理を表わすフ
ローチャートが示されている。同図におけるステップ70
0 にて、入力ポート14に入力された量子化データに基づ
いて、ハフマン表作成部18a によりそれぞれの量子化デ
ータが表わすシンボルの出現頻度が算出され、算出され
た出現頻度はステップ702 にてその出現頻度順に並び換
えられる。これによりシンボルの出現頻度を表わすヒス
トグラムが作成される。
【0049】ステップ704 において、出現頻度の最も低
いシンボルに対して符号"1" が割り当てられ、またその
次に出現頻度の低いシンボルに対して符号"0" が割り当
てられる。ステップ706 に進み、符号が割り当てられる
と、これらシンボルに割り当てられた結果のコードの長
さ、つまり符号長が確認され、ステップ708 にて、その
符号長が、所定長以内の符号長であるか否かが判定され
る。ここで、その符号長が所定の符号長以内であれば、
ステップ710 に進み、それぞれのシンボルの出現頻度が
合計され、これら合計した値の出現頻度が1つのシンボ
ルの出現頻度の合計を表わす1つの値の出現頻度とされ
る。次にステップ712 において、シンボルの出現頻度の
総数が1つになったか否かが判定される。出現頻度の総
数が複数存在する場合にはステップ702 に戻って、ステ
ップ710 にて合計された出現頻度とその残りの出現頻度
とが並び換えられ、以降ステップ702 〜412 における処
理が行なわれる。
【0050】しかし、ステップ708 にてシンボルに割り
当てられたコードの長さが、所定の符号長を越えたこと
が判定されると、ステップ714 の出現頻度置換処理に移
行する。ステップ714 において、ステップ702 にてソー
トされた出現頻度のうち、最も出現頻度の低いシンボル
の出現頻度の値が、その次に低い出現頻度の値に置換さ
れる。出現頻度の置き換えが終了すると、ステップ702
に戻って、この置換された新たな出現頻度に基づいて、
ステップ702 〜708 の処理が行なわれて、所定長以内の
符号長のハフマンコードが順次作成され、ステップ712
においてシンボルの出現頻度の総数が1つになるまで処
理が繰り返して行なわれる。
【0051】このようにして、符号長が所定の長さ以内
に制限されたハフマンコードが作成され、作成されたハ
フマンコードは、メモリ20のハフマン表蓄積領域に格納
される。これにより、符号化部12の入力14に量子化デー
タが入力されて、対応するアドレスが出力端子28および
マルチプレクサ26を介してメモリ20の入力24に供給され
ると、その量子化データのシンボルに対応した、ハフマ
ンコードがメモリ20のハフマン表領域から読み出され
て、メモリ20の出力ポート14に出力される。
【0052】以上説明したように本発明が適用された符
号化装置では、その構成および処理工程を複雑化するこ
となく、シンボルの出現頻度を、本来の出現頻度とは異
なる他の値に置き換えることにより、平均符号長を極端
に増大させずにハフマンコードの符号長を所定の符号長
以内に制限することができた。したがって、簡便な構成
にて高性能な符号化装置が提供される。
【0053】なお上記説明では、データを符号化する符
号化装置を実施例として説明したが、本願発明はこれに
限らず、ハフマン符号化などの可変長符号化を行なう符
号化装置であれば、どのような符号化装置に適用されて
もよい。また、本願発明は、量子化データを符号化する
符号化方法および装置のみならず、復号を行なう際に必
要とされる符号表の生成にも応用されてもよいことは、
言うまでもないことである。
【0054】この符号化装置1は、ハフマン符号化され
た符号化データを復号する復号部を備えてもよく、その
場合、メモリ20にハフマン復号表が形成され、符号化さ
れた圧縮データをハフマン復号表を参照して、元の量子
化データを表わすシンボルに復号し、メモリ20の出力ポ
ート14から出力させるように構成されていてもよい。
【0055】
【発明の効果】このように本発明の可変長符号の符号化
方法によれば、可変長符号を作成する際に、この可変長
符号の符号長が所定の長さを超えるときは、シンボルの
出現頻度を変更し、この変更された出現頻度に基づい
て、可変長符号の符号表を作成することにより、所定の
符号長以下の可変長符号を作成するので、簡便な手法に
より最大の符号長が制限された可変長符号の符号表を得
ることができ、これにより情報を圧縮符号化した可変長
符号を得ることができる。
【0056】また、本発明の可変長符号の符号化装置に
よれば、符号表作成手段は、量子化データの出現頻度を
変更することにより、所定の符号長以内の符号からなる
符号表を作成し、この作成された符号表は蓄積手段に蓄
積される。符号化手段は、蓄積手段に蓄積された符号表
に基づいて量子化データを圧縮した可変長符号の符号化
データを出力する。これにより、符号化データの最大符
号長を所定の長さよりも長くなることを簡便な構成にて
防止して、量子化データを所定の符号長以内の符号化デ
ータに圧縮符号化することができる。
【図面の簡単な説明】
【図1】本発明による可変長符号の符号化装置の好まし
い実施例を示す機能ブロック図である。
【図2】図1に示した符号化装置にて処理された出現頻
度およびこの出現頻度によるハフマンコードの一例を示
す図である。
【図3】図1に示した符号化装置にて生成された符号表
の一例を示す図である。
【図4】図1に示した符号化装置の動作を表わすフロー
チャートである。
【図5】図1に示した符号化装置にて処理された出現頻
度およびこの出現頻度によるハフマンコードの一例を示
す図である。
【図6】図1に示した符号化装置における並べ換えの手
順を示す図である。
【図7】本発明による可変長符号の符号化装置の他の実
施例における動作を示すフローチャートである。
【符号の説明】
12 符号化部 18 ハフマン表作成部 20 メモリ 22 ハフマン符号表 26 マルチプレクサ(MUX)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 情報源からの情報を表わすシンボルの出
    現頻度を求めて、該出現頻度により符号割当を行なって
    可変長符号の符号表を作成し、該符号表に基づいて前記
    情報を圧縮符号化する可変長符号の符号化方法におい
    て、該方法は、 前記可変長符号を作成する際に、該可変長符号の符号長
    が所定の長さを超えるときは、シンボルの出現頻度を変
    更して、該変更された出現頻度に基づいて可変長符号の
    符号表を作成することを特徴とする可変長符号の符号化
    方法。
  2. 【請求項2】 請求項1に記載の可変長符号の符号化方
    法において、該方法は、出現頻度が最も小さいシンボル
    の出現頻度の値を他の値に置き換えて、シンボルの出現
    頻度を変更することを特徴とする可変長符号の符号化方
    法。
  3. 【請求項3】 請求項2に記載の可変長符号の符号化方
    法において、前記他の値は、最も小さい出現頻度の値の
    次に小さな出現頻度の値であることを特徴とする可変長
    符号の符号化方法。
  4. 【請求項4】 請求項1に記載の可変長符号の符号化方
    法において、該方法は、前記符号割当により作成された
    可変長符号が所定長以内であるか否かを判定し、該可変
    長符号が所定長を超えた場合に前記シンボルの出現頻度
    を変更することを特徴とする可変長符号の符号化方法。
  5. 【請求項5】 請求項4に記載の可変長符号の符号化方
    法において、該方法は、作成された可変長符号が所定長
    以内であるか否かを、前記シンボルに対して符号を割り
    当てた際に逐次判定することを特徴とする可変長符号の
    符号化方法。
  6. 【請求項6】 請求項1に記載の可変長符号の符号化方
    法において、該方法は、符号化処理により作成されたコ
    ードが所定の符号長以内のコードとなるまで、出現頻度
    を他の値に置き換えて可変長符号の符号表を作成するこ
    とを特徴とする可変長符号の符号化方法。
  7. 【請求項7】 請求項1に記載の可変長符号の符号化方
    法において、前記可変長符号はハフマン符号であり、前
    記符号表はハフマン符号表であることを特徴とする可変
    長符号の符号化方法。
  8. 【請求項8】 シンボルを表わす量子化データが入力さ
    れ、該量子化データに対応する可変長符号の符号表に基
    づいて、該量子化データを圧縮した可変長符号の符号化
    データを出力する符号化手段を有する可変長符号の符号
    化装置において、該装置は、 前記量子化データに応じて、所定の符号長以内の符号か
    らなる符号表を作成する符号表作成手段と、 該符号表作成手段にて作成された符号表を蓄積する記憶
    手段とを備え、 前記符号表作成手段は、前記量子化データの出現頻度を
    変更することにより、前記所定の符号長以内の符号から
    なる符号表を作成することを特徴とする可変長符号の符
    号化装置。
  9. 【請求項9】 請求項8に記載の可変長符号の符号化装
    置において、前記符号表作成手段は、 前記量子化データから前記シンボルの出現頻度を算出す
    る出現頻度算出処理手段と、 該出現頻度算出処理手段にて算出された前記出現頻度に
    基づいて、該シンボルに対応して符号を割り当て、可変
    長符号を作成する符号化処理手段と、 該符号化処理手段にて作成された可変長符号の符号長を
    所定の符号長以内か否かを判定する判定処理手段と、 該判定処理手段にて前記可変長符号が所定の符号長を超
    えたことが判定されると、前記出現頻度算出処理手段に
    て算出された前記出現頻度の値を他の値に置き換えて変
    更した新たな出現頻度を生成する出現頻度置換処理手段
    とを含み、 前記符号化処理手段は、前記出現頻度変更処理手段にて
    置換された新たな出現頻度に基づいて、可変長符号を作
    成することを特徴とする可変長符号の符号化装置。
  10. 【請求項10】 請求項9に記載の可変長符号の符号化
    装置において、前記出現頻度置換処理手段は、出現頻度
    が最も小さいシンボルの出現頻度の値を、その次に小さ
    い出現頻度の値に置換することを特徴とする可変長符号
    の符号化装置。
JP220394A 1994-01-13 1994-01-13 可変長符号の符号化方法およびその装置 Withdrawn JPH07212243A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP220394A JPH07212243A (ja) 1994-01-13 1994-01-13 可変長符号の符号化方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP220394A JPH07212243A (ja) 1994-01-13 1994-01-13 可変長符号の符号化方法およびその装置

Publications (1)

Publication Number Publication Date
JPH07212243A true JPH07212243A (ja) 1995-08-11

Family

ID=11522805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP220394A Withdrawn JPH07212243A (ja) 1994-01-13 1994-01-13 可変長符号の符号化方法およびその装置

Country Status (1)

Country Link
JP (1) JPH07212243A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006324944A (ja) * 2005-05-19 2006-11-30 Renesas Technology Corp 符号化装置
JP2010136417A (ja) * 2004-12-28 2010-06-17 Casio Electronics Co Ltd データ圧縮装置、及びデータ復元装置
WO2012067005A1 (ja) * 2010-11-17 2012-05-24 ソニー株式会社 画像処理装置及び画像処理方法
US8237594B2 (en) 2009-10-09 2012-08-07 Sony Corporation Encoding apparatus, decoding apparatus, information processing system, and computer-readable storage medium
WO2013108685A1 (ja) * 2012-01-17 2013-07-25 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、プログラム
JP2017528015A (ja) * 2014-06-09 2017-09-21 ティダル システムズ, インク.Tidal Systems, Inc. Vlsiでの効率的なハフマン符号化を行う装置および方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010136417A (ja) * 2004-12-28 2010-06-17 Casio Electronics Co Ltd データ圧縮装置、及びデータ復元装置
JP2006324944A (ja) * 2005-05-19 2006-11-30 Renesas Technology Corp 符号化装置
US8237594B2 (en) 2009-10-09 2012-08-07 Sony Corporation Encoding apparatus, decoding apparatus, information processing system, and computer-readable storage medium
WO2012067005A1 (ja) * 2010-11-17 2012-05-24 ソニー株式会社 画像処理装置及び画像処理方法
WO2013108685A1 (ja) * 2012-01-17 2013-07-25 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、プログラム
JPWO2013108685A1 (ja) * 2012-01-17 2015-05-11 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、プログラム
US9754599B2 (en) 2012-01-17 2017-09-05 Sony Corporation Encoder and encoding method, decoder and decoding method, and program
US10255925B2 (en) 2012-01-17 2019-04-09 Sony Corporation Encoder and encoding method, decoder and decoding method, and program
US10607618B2 (en) 2012-01-17 2020-03-31 Sony Corporation Encoder and encoding method, decoder and decoding method, and program
JP2017528015A (ja) * 2014-06-09 2017-09-21 ティダル システムズ, インク.Tidal Systems, Inc. Vlsiでの効率的なハフマン符号化を行う装置および方法
US10230393B2 (en) 2014-06-09 2019-03-12 Tidal Systems, Inc. VLSI efficient Huffman encoding apparatus and method

Similar Documents

Publication Publication Date Title
US5818877A (en) Method for reducing storage requirements for grouped data values
US5045852A (en) Dynamic model selection during data compression
US5510785A (en) Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method
JP3017380B2 (ja) データ圧縮方法及び装置並びにデータ伸長方法及び装置
JP3341962B2 (ja) 可変長復号器及び可変長符号値を復号化する方法
US6912318B2 (en) Method and system for compressing motion image information
WO2003044964A1 (en) Variable length coding method and variable length decoding method
RU2154350C2 (ru) Способ и система кодирования и способ и система декодирования
KR20040077921A (ko) 가변 길이 칼라 코드들로 팔레트화된 칼라 화상들의 압축
JPH04185172A (ja) ディジタル画像信号の高能率符号化装置
US6140944A (en) Variable-length coding device and method using table that holds information on presence/absence of code correspondingly to region represented by combination of run data and level data
US5594435A (en) Permutation-based data compression
US6055273A (en) Data encoding and decoding method and device of a multiple-valued information source
US6373988B1 (en) Lossless image compression with tree coding
JPH0690360A (ja) ハーフトーン画像を符号化するための方法
JPH07212243A (ja) 可変長符号の符号化方法およびその装置
JPH08186723A (ja) 画像処理装置用エンコーダ
US20020001414A1 (en) System for building a data compression encoder
JP3277425B2 (ja) ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法
US10938411B1 (en) Compression and/or decompression of activation data
JP3114796B2 (ja) 可変長符号化装置及び方法
US7733249B2 (en) Method and system of compressing and decompressing data
JP3855376B2 (ja) 画像符号化装置
JP3746804B2 (ja) 画像圧縮装置
CN117333559A (zh) 图像压缩方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010403