JP3274284B2 - 符号化装置およびその方法 - Google Patents

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

Info

Publication number
JP3274284B2
JP3274284B2 JP18593494A JP18593494A JP3274284B2 JP 3274284 B2 JP3274284 B2 JP 3274284B2 JP 18593494 A JP18593494 A JP 18593494A JP 18593494 A JP18593494 A JP 18593494A JP 3274284 B2 JP3274284 B2 JP 3274284B2
Authority
JP
Japan
Prior art keywords
code
symbol
frequency
occurrence
changing
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
JP18593494A
Other languages
English (en)
Other versions
JPH0851370A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP18593494A priority Critical patent/JP3274284B2/ja
Priority to US08/512,200 priority patent/US6252992B1/en
Publication of JPH0851370A publication Critical patent/JPH0851370A/ja
Application granted granted Critical
Publication of JP3274284B2 publication Critical patent/JP3274284B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、符号化装置および符号
化方法に関し、例えば、可変長符号化に関する。
【0002】
【従来の技術】可変長符号化を用いたデータ圧縮方法と
してハフマン符号化が広く知られている。ハフマン符号
化は、シンボルの確率分布に従ってその確率順に短い符
号語を割当て、平均符号長の短縮を図るものである。
【0003】
【発明が解決しようとする課題】しかし、上記従来例に
おいては、次のような問題点があった。
【0004】つまり、シンボルの確率分布に従って符号
語を割当てるため、シンボルの確率分布が変化した場
合、符号化効率が低下するという欠点がある。この欠点
を克服するため、「D.Knuth, "Dynamic Huffman Codin
g", Journal of Algorithm, vol.6, No.2, pp.163-180,
June 1985」などの文献に示される動的ハフマン符号化
が提案されている。しかし、動的ハフマン符号化は、シ
ンボルが入力される度に生起確率を計算してハフマン符
号を再構成するため、ハードウェアのサイズ(または計
算量)が膨大になってしまう欠点がある。
【0005】本発明は、上述の問題を解決するためのも
のであり、シンボルの生起確率が動的に変化するような
データの符号化効率の低下を、簡単な構成または処理に
よって抑制することを目的とする。
【0006】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0007】本発明にかかる符号化装置は、シンボル
を、一つの可変長符号に対応するコードIDに変換する第
一の変換手段と、所定数のコードIDごとに、所定の閾値
未満のコードIDの発生頻度を検出する検出手段と、検出
された発生頻度に従い、前記シンボルのコードIDを別の
コードIDに変更する変更手段と、前記シンボルのコード
IDをそのコードIDに対応する可変長符号に変換する第二
の変換手段とを有することを特徴とする。
【0008】また、シンボルを、一つの可変長符号に対
応するコードIDに変換する第一の変換手段と、所定数の
コードIDごとに、所定の閾値未満のコードIDの発生頻度
を検出する検出手段と、検出された発生頻度に従い、前
記シンボルのコードIDを別のコードIDに変更する変更手
段と、前記シンボルのコードIDをそのコードIDに対応す
る可変長符号に変換する第二の変換手段とを有し、前記
変更手段は、一つのコードIDの発生頻度が最大値に達し
た場合、各コードの発生頻度を二分の一にすることを特
徴とする。
【0009】また、複数のシンボルを含むブロックを生
成するブロック化手段と、一つのブロック内のシンボル
を、一つの可変長符号に対応するコードIDに変換する第
一の変換手段と、所定数のブロックごとに、各コードID
の発生頻度を検出する検出手段と、検出された各コード
IDの発生頻度に従い、前記シンボルのコードIDを別のコ
ードIDに変更する変更手段と、前記シンボルのコードID
をそのコードIDに対応する可変長符号に変換する第二の
変換手段と、前記変更手段は、前記所定数のブロックご
とに、前記各コードIDの発生頻度を初期値に設定するこ
とを特徴とする。
【0010】本発明にかかる符号化方法は、シンボル
を、一つの可変長符号に対応するコードIDに変換し、所
定数のコードIDごとに、所定の閾値未満のコードIDの発
生頻度を検出し、検出された発生頻度に従い、前記シン
ボルのコードIDを別のコードIDに変更し、前記シンボル
のコードIDをそのコードIDに対応する可変長符号に変換
することを特徴とする。
【0011】また、シンボルを、一つの可変長符号に対
応するコードIDに変換し、所定数のコードIDごとに、所
定の閾値未満のコードIDの発生頻度を検出し、検出され
た発生頻度に従い、前記シンボルのコードIDを別のコー
ドIDに変更し、前記シンボルのコードIDをそのコードID
に対応する可変長符号に変換する各ステップを有し、前
記コードIDの変更ステップにおいて、一つのコードIDの
発生頻度が最大値に達した場合、各コードの発生頻度が
二分の一にされることを特徴とする。
【0012】また、複数のシンボルを含むブロックを生
成し、一つのブロック内のシンボルを、一つの可変長符
号に対応するコードIDに変換し、所定数のブロックごと
に、各コードIDの発生頻度を検出し、検出された各コー
ドIDの発生頻度に従い、前記シンボルのコードIDを別の
コードIDに変更し、前記シンボルのコードIDをそのコー
ドIDに対応する可変長符号に変換する各ステップを有
し、前記コードIDの変更ステップにおいて、前記所定数
のブロックごとに、各コードIDの発生頻度が初期値に設
定されることを特徴とする。
【0013】
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【0021】
【0022】
【実施例】以下、本発明にかかる一実施例の符号化装置
を図面を参照して詳細に説明する。
【0023】まず、基本的なハフマン符号化器の構成例
を説明する。図1はハフマン符号化器の構成例を示すブ
ロック図である。同図において、101は入力端子、102は
コードIDテーブル、104はコードテーブル、105はコード
長テーブル、106はパッカ、107は出力端子である。
【0024】コードIDテーブル102は、入力端子101から
入力されたシンボルを、符号長の短い順に番号付けされ
たコードIDに変換する。コードIDテーブル102から出力
されたコードIDは、コードテーブル104およびコード長
テーブル105によって、それぞれハフマンコードおよび
コード長に変換される。パッカ106は、コート長テーブ
ル105から入力されたハフマンコード長に基づいて、コ
ードテーブル104から出力されたハフマンコードをパッ
キングして、ビットストリームとして出力端子107へ出
力する。なお、ハードウェアを簡略化するため、コード
IDテーブル102,コードテーブル104およびコード長テー
ブル105を統合して、一つのルックアップテーブル(以
下「LUT」と記す)として構成する。
【0025】
【第1実施例】図2は第1実施例の符号化器の構成例を示
すブロック図で、図1に示す符号化器と同様の構成に
は、同一符号を付して、その詳細説明を省略する。
【0026】103はID変換テーブルで、コードIDテーブ
ル102から出力されたコードIDの入替えを行うものであ
る。このID変換テーブル103は、入力されたシンボルの
局所的な発生頻度(生起確率)に従って所定のシンボル
数(または頻度の逆転)ごとに更新される。つまり、ハ
フマン符号とシンボルとの対応をダイナミックに変更す
ることにより、常に、シンボルの局所的な生起確率に従
って短い符号語が割当てられるようにし、符号化効率低
下の抑制を図るものである。なお、シンボルの局所的な
生起確率は図示しないCPUなどの評価手段によって求
め、同CPUによってテーブルの更新を行う。ただし、あ
るシンボルが他のシンボルと同一頻度になったような場
合は順位の変更(テーブルの更新)は行わない。また、
復号側とのマッチングをとるため、シンボルの局所的な
生起確率は、既に出力したシンボルから求める。これに
より、復号側でも付加情報なしにハフマン符号とシンボ
ルとの対応の変更が可能になる。
【0027】このように、本実施例は、シンボルの局所
的な発生頻度順に短い符号語を割当てるため、局所的に
発生頻度(生起確率)が大きく変化するような場合にと
くに有効である。また、符号化効率の最悪値が引き上げ
られるため、最終的な符号量のばらつきが抑えられて、
実用上、非常に有効である。
【0028】また、上記の操作により、符号化効率はシ
ンボルの生起確率ではなくコードIDの確率分布に大きく
依存することになるため、代表的な生起確率分布数種に
応じた複数のコードテーブル104およびコード長テーブ
ル105を準備し、コードIDの局所的な生起確率に従っ
て、これらのコードテーブル104およびコード長テーブ
ル105を選択する構成にすることにより、さらなる符号
化効率の向上が見込めるだけでなく、テーブル伝送(更
新)のためのオーバヘッドも解消できる。
【0029】なお、コードIDテーブル102,ID変換テー
ブル103,コードテーブル104およびコード長テーブル10
5をそれぞれ別のテーブルとして説明したが、コードID
テーブル102とID変換テーブル103、あるいは上記四つの
テーブルを統合して一つのテーブルとしてもよい。
【0030】以上説明したように、本実施例によれば、
コードIDテーブルとコードテーブル(コード長テーブ
ル)との間に、ID変換テーブルを設けて、過去のシンボ
ルの発生頻度に従って所定のシンボル単位ごとにID変換
テーブルを更新し、シンボルの発生頻度順に短い符号を
割当てることにより、局所的なシンボルの生起確率順位
の変化による符号化効率の低下を抑制することができ、
最終的な符号量のばらつきを抑えることができる。
【0031】
【第2実施例】以下、本発明にかかる第2実施例の符号化
装置を説明する。なお、第2実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0032】第2実施例は、図2に示した第1実施例のID
変換テーブル103を、図3に構成例を示すID変換器203に
代えたものである。
【0033】図3において、111はカウンタアレイ、112
はコンパレータアレイ、113はレジスタアレイ、114はセ
レクタ、115はカウンタである。ID変換器203には、コー
ドIDテーブル102から符号長の短い順に番号付けされた
コードIDが入力される。
【0034】カウンタアレイ111は、本実施例ではシン
ボルと同数のIDカウンタで構成され、所定のシンボル単
位ごとにリセットされた後、入力されたコードIDに対応
するIDカウンタのみがインクリメントされる。
【0035】コンパレータアレイ112は、カウンタアレ
イ111の各IDカウンタのカウント値を比較して、その値
の大きい順に「0」から昇順の番号を出力する。なお、
同一頻度の場合はコードIDの小さい方を優先する。
【0036】レジスタアレイ113は、本実施例ではシン
ボルと同数の順位レジスタで構成され、所定のシンボル
単位ごとにコンパレータアレイ112の出力、すなわち所
定シンボル単位ごとの頻度順に並べられた各コードIDの
順位をロードして保持する。
【0037】セレクタ114は、入力されたコードIDに対
応するレジスタアレイ113の順位レジスタの値、すなわ
ち所定のシンボル単位ごとに頻度順に並べられた順位
(番号)を選択し出力する。
【0038】カウンタ115は、カウンタアレイ111および
レジスタアレイ113を初期化するためのM進カウンタで、
入力されたコードIDをカウントしてそのカウント値が所
定数Mに達すると、カウンタアレイ111にリセット信号
を、レジスタアレイ113にロード信号を出力すると同時
に、自身のカウント値をリセットする。
【0039】上記の一連の操作により、入力されたコー
ドIDは、所定のシンボル単位ごとの頻度順を示す番号に
変換され、ID変換器203の出力としてコードテーブル104
およびコード長テーブル105へ供給される。
【0040】なお、上記の説明においては、カウンタア
レイ111は、所定のシンボル単位ごとにリセットする構
成としたが、所定のシンボル単位ごとに各IDカウンタに
初期値をロードする構成にしてもよい。こうすれば、各
IDカウンタにロードする値によって、各コードIDの優先
度を制御することができる。
【0041】以上説明したように、本実施例によれば、
所定のシンボル単位ごとに各シンボルの発生頻度を計測
し、シンボルの発生頻度順位を決定して、その順位を変
換後のコードIDとすることで、簡単な回路構成(または
演算処理)でID変換を実現することができる。
【0042】
【第3実施例】以下、本発明にかかる第3実施例の符号化
装置を説明する。なお、第3実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0043】第3実施例は、図2に示した第1実施例のID
変換テーブル103を、図4に構成例を示すID変換器303に
代えたものである。なお、図3に示した第2実施例のID変
換器203と同一の構成については、同一番号を付して、
その詳細説明を省略する。
【0044】図4において、116はコンパレータ、121は
セレクタである。以下、第2実施例と異なる部分につい
てのみ説明する。
【0045】コンパレータ116は、入力されたコードID
を閾値Thと比較して、その結果をカウンタアレイ111お
よびセレクタ121へ出力する。
【0046】本実施例では閾値Thと同数のIDカウンタで
構成されるカウンタアレイ111は、所定のシンボル単位
ごとにリセットされた後、コンパレータ116の比較結果
が閾値Th未満であることを示すコードIDに対応するIDカ
ウンタのみをインクリメントする。
【0047】セレクタ114は、入力されたコードIDに対
応するレジスタアレイ113の順位レジスタの値、すなわ
ち所定のシンボル単位ごとに頻度順に並べられた順位
(番号)を選択し出力する。ただし、カウンタアレイ11
1が閾値Th未満のコードIDだけしかカウントしないの
で、セレクタ114も、閾値Th未満のコードIDに対応する
順位を出力することになる。
【0048】セレクタ121は、コンパレータ116の比較結
果が閾値Th未満であることを示す場合はセレクタ114の
出力を、そうでない場合は入力されたコードIDを選択し
出力する。
【0049】上記の一連の操作により、閾値Th未満の入
力されたコードID、つまりコードIDの上位Th-1個は、所
定のシンボル単位ごとの頻度順を示す番号に変換され、
ID変換器203の出力としてコードテーブル104およびコー
ド長テーブル105へ供給される。
【0050】このように、変換対象のコードIDをその上
位の所定数に限定することにより、シンボル数の増加に
伴うハードウェアサイズ(または演算量)を制限するこ
とができる。通常、上位数個のコードIDの出現確率の合
計は1に近く、このような制限を設けても符号化効率は
ほとんど劣化しない。
【0051】以上説明したように、本実施例によれば、
発生頻度を計測するシンボルを所定数に限定することに
より、ハードウェアサイズ(または演算量)の削減を図
ることができる。
【0052】
【第4実施例】以下、本発明にかかる第4実施例の符号化
装置を説明する。なお、第4実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0053】第4実施例は、図2に示した第1実施例のID
変換テーブル103を、図5に構成例を示すID変換器403に
代えたものである。なお、図3,図4に示したID変換器20
3と同一の構成については、同一番号を付して、その詳
細説明を省略する。
【0054】図5において、122は最大カウント値検出器
である。以下、第2実施例,第3実施例と異なる部分につ
いてのみ説明する。
【0055】最大カウント値検出器122は、カウンタア
レイ111の各IDカウンタのカウント値を監視して、何れ
かのIDカウンタが最大カウント値に達したとき、すべて
のIDカウンタのカウント値を右シフトして1/2にする。
なお、符号化開始時には、各IDカウンタにはコードIDテ
ーブル102生成時の生起確率に従った所定値がロードさ
れる。
【0056】このように、カウンタアレイ111のオーバ
フロー対策として、各IDカウンタのカウント値を1/2に
する方法を用いるため、所定のシンボル単位ごとのリセ
ットが不要になるだけでなく、IDカウンタの最大カウン
ト値を比較的小さな値に設定でき、ハードウェアサイズ
(または演算量)を削減することが可能である。また、
シンボルが入力される度にコードIDの生起確率を再評価
するため、シンボル単位の適応処理が可能である。な
お、この場合、レジスタアレイ113は単なる遅延器(ラ
ッチ)として動作する。
【0057】以上説明したように、本実施例によれば、
各シンボルの発生頻度をカウントする際に、その発生頻
度がカウンタの最大カウント値に達した場合は、すべて
のカウンタのカウント値を右シフトして1/2にすること
により、所定のシンボル単位ごとにカウンタをリセット
する必要がなくなる。その上、最大カウント値を比較的
小さな値に設定することができので、さらにハードウェ
アサイズ(または演算量)の削減を図ることができる。
また、シンボルが入力される度にコードIDの生起確率の
再評価を行うため、シンボル単位の適応処理が可能にな
る。
【0058】
【第5実施例】以下、本発明にかかる第5実施例の符号化
装置を説明する。なお、第5実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0059】第5実施例は、図6にその構成例を示すよう
に、図2に示した第1実施例にブロック化回路108を追加
したものである。ブロック化回路105は、入力されたシ
ンボルを所定サイズのブロックに切出す。切出されたブ
ロックは、コードIDテーブル102へ入力された後、第1実
施例と同様の符号化処理が施される。
【0060】また、図6にはID変換テーブル103を備える
例を示したが、これをID変換器203に置き換えることも
できる。この場合、カウンタアレイ111の集計単位は、
ブロックサイズの整数倍に設定し、カウンタアレイ111
のリセットおよびレジスタアレイ113のロードは、ブロ
ック化回路105より出力されるブロック先頭信号(不図
示)に同期させる。
【0061】一般に、画像データなどの二次元データは
隣接画素との相関が強いため、ブロック化した後に符号
化する方が、シンボルの分布が集中して符号化効率が向
上する。本実施例では、カウンタアレイ111のリセット
およびレジスタアレイ113のロードをブロック先頭信号
に同期させることにより、局所的な生起確率の変化に対
する追従性がよくなり、符号化効率をなお一層向上させ
ることができる。
【0062】以上説明したように、本実施例によれば、
入力されたシンボルをブロック化した後、符号化を行う
ことにより、シンボルの分布が集中して符号化効率を向
上させることができる。また、カウンタアレイのリセッ
トおよびレジスタアレイのロードをブロックの先頭に同
期させて行うことにより、局所的な生起確率の変化に対
する追従性がよくなり、符号化効率を一層向上させるこ
とができる。
【0063】
【第6実施例】以下、本発明にかかる第6実施例の符号化
装置を説明する。なお、第6実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0064】図7は本実施例の符号化器の構成例を示す
ブロック図で、図1に示す符号化器と同様の構成には、
同一符号を付して、その詳細説明を省略する。
【0065】図7において、109はシンボル変換テーブル
である。以下、図1に示した符号化器と異なる部分につ
いてのみ説明する。
【0066】シンボル変換テーブル109は、入力端子101
から入力されたシンボルの入替えを行う。入替えが施さ
れたシンボルは、コードIDテーブル102へ入力された
後、図1の符号化器と同様の符号化が施される。このシ
ンボル変換テーブル109は、入力されたシンボルの局所
的な発生頻度(生起確率)に従って所定のシンボル数
(または頻度の逆転)ごとに更新される。つまり、シン
ボルの入替えによりハフマン符号とシンボルとの対応を
ダイナミックに変更することで、常に、シンボルの局所
的な生起確率に従って短い符号語が割当てられるように
し、符号化効率低下の抑制を図るものである。
【0067】なお、シンボルの局所的な生起確率は図示
しないCPUなどによって求め、同CPUによってテーブルの
更新を行う。ただし、あるシンボルが他のシンボルと同
一頻度になったような場合はテーブルの更新を行わな
い。また、復号側とのマッチングをとるため、シンボル
の局所的な生起確率は、既に出力したシンボルから求め
る。これにより、復号側でも付加情報なしにハフマン符
号とシンボルとの対応の変更が可能になる。
【0068】また、シンボル数SをN個増やし、S+N個の
ハフマンコードを作成し、最短コードからN個に含まれ
ないコードに全シンボルを割当て、その局所的な発生頻
度(生起確率)順位が上位Nに含まれるシンボルを、最
短コードからのN個に含まれるコードに再割当てする構
成でもよい。この場合、シンボル変換テーブル109に、
その発生頻度順位が上位Nに含まれるシンボルの該当ア
ドレスを格納するだけでよく、ハードウェアサイズ(ま
たは処理量)を簡略化することができる。
【0069】このように本実施例は、符号化の前段でシ
ンボル変換を行うだけなので、コードIDテーブル102以
降は図1に示した基本的な構成と全く同じでよい。すな
わち、コードIDテーブル102,コードテーブル104および
コード長テーブル105を統合して一つのLUTで構成でき
る。また、シンボル変換テーブル109をコードIDテーブ
ル102と統合して一つのLUTとしたり、全テーブルを統合
して一つのLUTで構成することもできる。
【0070】以上説明したように、本実施例によれば、
符号化の前段において、頻度が逆転したシンボルを入替
えることにより、コードIDテーブル以降の構成を図1に
示した基本構成と全く同じにすることができる。
【0071】
【第7実施例】以下、本発明にかかる第7実施例の符号化
装置を説明する。なお、第7実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0072】第7実施例は、図7に示した第6実施例のID
変換テーブル109を、図8に構成例を示すシンボル変換器
208に代えたものである。なお、図5に示した第4実施例
のID変換器403と同一の構成については、同一番号を付
して、その詳細説明を省略する。
【0073】図8において、131はIDテーブル、132はシ
ンボル変換テーブルである。以下、第2実施例,第4実施
例と異なる部分についてのみ説明する。
【0074】IDテーブル131は、入力されたシンボルをN
個のシンボルのみID信号に変換するとともに、カウンタ
アレイ111およびセレクタ121に制御信号を出力する。
【0075】カウンタアレイ111は、IDテーブル131から
入力された制御信号が変換実行を示す場合は、同テーブ
ルから入力されたID信号に対応するIDカウンタをインク
リメントする。
【0076】シンボル変換テーブル132は、コンパレー
タアレイ112から出力された順位(番号)を、その順位
に該当するシンボルに変換する。そのシンボルは、レジ
スタアレイ113に保持され、IDテーブル131から出力され
たID信号に応じてセレクタ114によって選択される。
【0077】セレクタ121は、IDテーブル131から入力さ
れた制御信号が実行変換を示す場合はセレクタ114の出
力を選択し、そうでない場合は入力シンボルを選択して
出力する。
【0078】上記の一連の操作により、N個のシンボル
を局所的なシンボルの頻度順に入替えることができる。
【0079】以上説明したように、本実施例によれば、
IDテーブルによって所定のシンボルのみ入替えを行うこ
とにより、簡単な回路構成(または演算処理)でシンボ
ル変換器を構成することができる。
【0080】
【第8実施例】以下、本発明にかかる第8実施例の符号化
装置を説明する。なお、第8実施例において、第1実施
例と略同様の構成については、同一符号を付して、その
詳細説明を省略する。
【0081】第8実施例は、図7に示した第6実施例のID
変換テーブル109を、図9に構成例を示すシンボル変換器
209に代えたものである。なお、図5に示した第4実施例
のID変換器203および図8に示したシンボル変換器208と
同一の構成については、同一番号を付して、その詳細説
明を省略する。
【0082】図9において、133はコンパレータアレイで
ある。以下、第2実施例,第4実施例,第7実施例と異な
る部分についてのみ説明する。
【0083】コンパレータアレイ133は、入替えを行い
たいシンボルが設定された複数のシンボルコンパレータ
を含み、各シンボルコンパレータの比較結果はカウンタ
アレイ111,セレクタ114およびセレクタ121へ送られ
る。
【0084】カウンタアレイ111は、シンボルコンパレ
ータの比較結果が一致を示す場合、そのシンボルコンパ
レータに対応するカウンタだけをインクリメントする。
【0085】セレクタ114は、シンボルコンパレータの
比較結果が一致を示す場合、そのシンボルコンパレータ
に対応するレジスタアレイ119のレジスタの値を選択す
る。セレクタ121は、何れかのシンボルコンパレータの
比較結果が一致を示す場合はセレクタ114の出力を選択
し、そうでない場合は入力シンボルを選択して出力す
る。
【0086】上記の一連の操作により、入替えを行いた
いシンボルを局所的なシンボルの頻度順に入替えること
ができる。なお、第7実施例に比べて、IDテーブル131が
コンパレータアレイ133に代わっただけであるが、入替
えを行いたいシンボルの数が少ない場合は、本実施例の
方がハードウェアサイズ(または処理量)を小さくする
ことができる。
【0087】以上説明したように、本実施例によれば、
コンパレータによって検出したシンボルのみ入替えを行
うことにより、入替えを行いたいシンボルの数が少ない
場合は、非常に簡単な回路構成(または演算処理)でシ
ンボル変換器を構成することができる。
【0088】なお、本発明は、複数の機器から構成され
るシステムに適用しても、一つの機器からなる装置に適
用してもよい。
【0089】また、本発明は、システムあるいは装置に
プログラムを供給することによって達成される場合にも
適用できることはいうまでもない。
【0090】
【発明の効果】以上説明したように、本発明によれば、
シンボルの生起確率が動的に変化するようなデータの符
号化効率の低下を、簡単な構成または処理によって抑制
することができる。
【図面の簡単な説明】
【図1】ハフマン符号化器の基本構成例を示すブロック
図、
【図2】第1実施例の符号化器の構成例を示すブロック
図、
【図3】第2実施例の符号化器のID変換器の構成例を示
すブロック図、
【図4】第3実施例の符号化器のID変換器の構成例を示
すブロック図、
【図5】第4実施例の符号化器のID変換器の構成例を示
すブロック図、
【図6】第5実施例の符号化器の構成例を示すブロック
図、
【図7】第6実施例の符号化器の構成例を示すブロック
図、
【図8】第7実施例の符号化器のシンボル変換器の構成
例を示すブロック図、
【図9】第8実施例の符号化器のシンボル変換器の構成
例を示すブロック図である。
【符号の説明】
101 入力端子 102 コードIDテーブル 103 ID変換テーブル 104 コードテーブル 105 コード長テーブル 106 パッカ 107 出力端子 108 ブロック化回路 109 シンボル変換テーブル 111 カウンタアレイ 112 コンパレータアレイ 113 レジスタアレイ 114 セレクタ 115 カウンタ 116 コンパレータ 121 セレクタ 122 最大カウント値検出器 131 IDテーブル 132 シンボル変換テーブル 133 コンパレータアレイ

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 シンボルを、一つの可変長符号に対応す
    るコードIDに変換する第一の変換手段と、 所定数のコードIDごとに、所定の閾値未満のコードIDの
    発生頻度を検出する検出手段と、 検出された発生頻度に従い、前記シンボルのコードIDを
    別のコードIDに変更する変更手段と、 前記シンボルのコードIDをそのコードIDに対応する可変
    長符号に変換する第二の変換手段とを有することを特徴
    とする符号化装置。
  2. 【請求項2】 前記変更手段は、前記所定数のコードID
    ごとに、コードIDの発生頻度を初期値に設定すること
    を特徴とする請求項1に記載された符号化装置。
  3. 【請求項3】 シンボルを、一つの可変長符号に対応す
    るコードIDに変換する第一の変換手段と、 所定数のコードIDごとに、所定の閾値未満のコードIDの
    発生頻度を検出する検出手段と、 検出された発生頻度に従い、前記シンボルのコードIDを
    別のコードIDに変更する変更手段と、 前記シンボルのコードIDをそのコードIDに対応する可変
    長符号に変換する第二の変換手段とを有し、 前記変更手段は、一つのコードIDの発生頻度が最大値に
    達した場合、コードの発生頻度を二分の一にすること
    を特徴とする符号化装置。
  4. 【請求項4】 前記変更手段は、前記所定数のコードID
    ごとに、各コードIDの発生頻度を初期値に設定すること
    を特徴とする請求項3に記載された符号化装置。
  5. 【請求項5】 シンボルを、一つの可変長符号に対応す
    るコードIDに変換し、 所定数のコードIDごとに、所定の閾値未満のコードIDの
    発生頻度を検出し、 検出された発生頻度に従い、前記シンボルのコードIDを
    別のコードIDに変更し、 前記シンボルコードIDをそのコードIDに対応する可変
    長符号に変換することを特徴とする符号化方法。
  6. 【請求項6】 前記コードIDの変更において、前記所定
    数のコードIDごとに、コードIDの発生頻度が初期値に
    設定されることを特徴とする請求項5に記載された符号
    化方法。
  7. 【請求項7】 シンボルを、一つの可変長符号に対応す
    るコードIDに変換し、 所定数のコードIDごとに、所定の閾値未満のコードIDの
    発生頻度を検出し、 検出された発生頻度に従い、前記シンボルのコードIDを
    別のコードIDに変更し、 前記シンボルのコードIDをそのコードIDに対応する可変
    長符号に変換する各ステップを有し、 前記コードIDの変更ステップにおいて、一つのコードID
    の発生頻度が最大値に達した場合、コードの発生頻度
    が二分の一にされることを特徴とする符号化方法。
  8. 【請求項8】 前記コードIDの変更ステップにおいて、
    前記所定数のコードIDごとに、各コードIDの発生頻度が
    初期値に設定されることを特徴とする請求項7に記載さ
    れた符号化方法。
  9. 【請求項9】 複数のシンボルを含むブロックを生成
    るブロック化手段と、一つのブロック内の シンボルを、一つの可変長符号に対
    応するコードIDに変換する第一の変換手段と、 所定数のブロックごとに、各コードIDの発生頻度を検出
    する検出手段と、 検出された各コードIDの発生頻度に従い、前記シンボル
    のコードIDを別のコードIDに変更する変更手段と、 前記シンボルのコードIDをそのコードIDに対応する可変
    長符号に変換する第二の変換手段と 前記変更手段は、前記所定数のブロックごとに、前記各
    コードIDの発生頻度を初期値に設定 することを特徴とす
    る符号化装置。
  10. 【請求項10】 前記変更手段は、所定の閾値未満のコ
    ードID発生頻度の検出対象にすることを特徴とする請
    求項9に記載された符号化装置。
  11. 【請求項11】 複数のシンボルを含むブロックを生成
    し、一つのブロック内の シンボルを、一つの可変長符号に対
    応するコードIDに変換し、 所定数のブロックごとに、各コードIDの発生頻度を検出
    し、 検出された各コードIDの発生頻度に従い、前記シンボル
    のコードIDを別のコードIDに変更し、 前記シンボルコードIDをそのコードIDに対応する可変
    長符号に変換する各ステップを有し、 前記コードIDの変更ステップにおいて、前記所定数のブ
    ロックごとに、各コードIDの発生頻度が初期値に設定さ
    れる ことを特徴とする符号化方法。
  12. 【請求項12】 前記コードIDの変更ステップにおい
    て、所定の閾値未満のコードID発生頻度の検出対象
    されることを特徴とする請求項11に記載された符号化方
    法。
JP18593494A 1994-08-08 1994-08-08 符号化装置およびその方法 Expired - Fee Related JP3274284B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18593494A JP3274284B2 (ja) 1994-08-08 1994-08-08 符号化装置およびその方法
US08/512,200 US6252992B1 (en) 1994-08-08 1995-08-07 Variable length coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18593494A JP3274284B2 (ja) 1994-08-08 1994-08-08 符号化装置およびその方法

Publications (2)

Publication Number Publication Date
JPH0851370A JPH0851370A (ja) 1996-02-20
JP3274284B2 true JP3274284B2 (ja) 2002-04-15

Family

ID=16179443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18593494A Expired - Fee Related JP3274284B2 (ja) 1994-08-08 1994-08-08 符号化装置およびその方法

Country Status (2)

Country Link
US (1) US6252992B1 (ja)
JP (1) JP3274284B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975254B1 (en) * 1998-12-28 2005-12-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Methods and devices for coding or decoding an audio signal or bit stream
FR2792150B1 (fr) * 1999-04-08 2003-02-28 Canon Kk Procedes et dispositis de codage et de decodage de signaux numeriques, et systemes les mettant en oeuvre
JP3859474B2 (ja) * 2001-09-06 2006-12-20 富士ゼロックス株式会社 符号変換装置、符号化装置および画像出力装置ならびにこれらの方法
AU2003221378B9 (en) * 2002-03-27 2009-01-08 Panasonic Intellectual Property Corporation Of America Variable length encoding method, storage medium, and variable length encoding device.
JP3900000B2 (ja) * 2002-05-07 2007-03-28 ソニー株式会社 符号化方法及び装置、復号方法及び装置、並びにプログラム
US6956511B2 (en) * 2004-01-06 2005-10-18 Sharp Laboratories Of America, Inc. Multi-symbol/coefficient decode operation for Huffman codes
KR100556340B1 (ko) * 2004-01-13 2006-03-03 (주)씨앤에스 테크놀로지 영상 부호화 장치
JP4548348B2 (ja) * 2006-01-18 2010-09-22 カシオ計算機株式会社 音声符号化装置及び音声符号化方法
US7903888B2 (en) * 2006-08-08 2011-03-08 Canon Kabushiki Kaisha Image encoding apparatus and image decoding apparatus
JP4829836B2 (ja) * 2007-04-26 2011-12-07 キヤノン株式会社 画像符号化装置、画像符号化装置の制御方法、コンピュータプログラム、復号装置、及びコンピュータ可読記憶媒体
US8213727B2 (en) 2007-06-20 2012-07-03 Canon Kabushiki Kaisha Image encoding apparatus and image decoding apparatus, and control method thereof
US20120096702A1 (en) * 2007-09-14 2012-04-26 Alan Kingsley Automated construction system
US8238437B2 (en) * 2007-09-20 2012-08-07 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, and control method therefor
JP4871822B2 (ja) * 2007-09-20 2012-02-08 キヤノン株式会社 画像符号化装置及びその制御方法
US8044831B2 (en) * 2009-01-16 2011-10-25 Canon Kabushiki Kaisha Decoding apparatus and control method thereof
JP2011199782A (ja) * 2010-03-23 2011-10-06 Fujitsu Toshiba Mobile Communications Ltd 通信装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355306A (en) * 1981-01-30 1982-10-19 International Business Machines Corporation Dynamic stack data compression and decompression system
US4420771A (en) * 1981-02-09 1983-12-13 Bell Telephone Laboratories, Incorporated Technique for encoding multi-level signals
US4578704A (en) * 1983-06-20 1986-03-25 At&T Bell Laboratories Image coding technique
US4646061A (en) * 1985-03-13 1987-02-24 Racal Data Communications Inc. Data communication with modified Huffman coding
US4862167A (en) * 1987-02-24 1989-08-29 Hayes Microcomputer Products, Inc. Adaptive data compression method and apparatus
US4799242A (en) * 1987-08-24 1989-01-17 International Business Machines Corporation Multi-mode dynamic code assignment for data compression
JP2956704B2 (ja) * 1989-02-21 1999-10-04 ケイディディ株式会社 可変長符号変成装置
DE69032908T2 (de) 1989-11-20 1999-09-09 Canon Kk Bildverarbeitungsgerät
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
IL96351A (en) * 1990-11-14 1994-01-25 Zuta Marc Frequency synthesizer having microcomputer supplying analog and digital control signals to vco
GB2251097B (en) * 1990-12-08 1995-05-10 Dowty Information Systems An adaptive data compression system
JP3129778B2 (ja) * 1991-08-30 2001-01-31 富士通株式会社 ベクトル量子化器
JP2697479B2 (ja) * 1992-04-17 1998-01-14 国際電信電話株式会社 可逆可変長符号化方式

Also Published As

Publication number Publication date
JPH0851370A (ja) 1996-02-20
US6252992B1 (en) 2001-06-26

Similar Documents

Publication Publication Date Title
JP3274284B2 (ja) 符号化装置およびその方法
US5710562A (en) Method and apparatus for compressing arbitrary data
US5045852A (en) Dynamic model selection during data compression
EP1289153B1 (en) Data compressing method and data decompressing method, and data compressing apparatus and data decompressing apparatus therefor
US5652583A (en) Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof
SE1650767A1 (en) Methods, devices and systems for compressing and decompressing data
WO2014131526A1 (en) Entropy modifier and method
US5654762A (en) Block matching for picture motion estimation using gray codes
KR100281321B1 (ko) 적응적인 산술 부호화 및 그 복호화 방법
KR100466455B1 (ko) 부호변환기와가변길이부호복호장치및복호방법
KR101549740B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
JPH0813134B2 (ja) ブロック化エントロピー符号化装置
EP1001540B1 (en) Block coding method and apparatus
JPH06204891A (ja) データ圧縮方法
KR101573983B1 (ko) 데이터 압축 및 데이터 복원 방법과 장치
JPH0575477A (ja) ハフマン符号化装置および復号化装置
EP0494038A2 (en) Run-length encoding in extensible character sets
JP3673222B2 (ja) 可変長符号化方法及び装置並びに可変長復号化方法及び装置
JP3119027B2 (ja) 符号化方式および復号方式および符号化/復号方式
JP2003273746A (ja) 可変長符号復号装置
JP3434904B2 (ja) 画像データ符号化装置
JP2833005B2 (ja) フレーム分解回路及び方法
RU2093958C1 (ru) Устройство для сжатия данных (варианты)
KR950010424B1 (ko) 가변길이 코드 디자인방법
JP5230375B2 (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: 20020111

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

Free format text: PAYMENT UNTIL: 20080201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090201

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100201

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100201

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110201

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120201

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140201

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees