JPH11340838A - 符号化装置および復号装置 - Google Patents

符号化装置および復号装置

Info

Publication number
JPH11340838A
JPH11340838A JP10145370A JP14537098A JPH11340838A JP H11340838 A JPH11340838 A JP H11340838A JP 10145370 A JP10145370 A JP 10145370A JP 14537098 A JP14537098 A JP 14537098A JP H11340838 A JPH11340838 A JP H11340838A
Authority
JP
Japan
Prior art keywords
code
data
symbol
code word
decoding
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.)
Granted
Application number
JP10145370A
Other languages
English (en)
Other versions
JP3593884B2 (ja
Inventor
Taro Yokose
太郎 横瀬
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 Business Innovation Corp
Original Assignee
Fuji Xerox 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 Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP14537098A priority Critical patent/JP3593884B2/ja
Priority to US09/301,552 priority patent/US6188338B1/en
Publication of JPH11340838A publication Critical patent/JPH11340838A/ja
Application granted granted Critical
Publication of JP3593884B2 publication Critical patent/JP3593884B2/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
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】 適応的なハフマン符号を簡易に生成する。 【解決手段】 度数集計部20はカウンタを有し、入力
データ100に含まれるシンボルのうちの予め定められ
た支配候補シンボルの出現度数を計数する。支配シンボ
ル選択部30は度数データ120から所定の閾値より大
きい度数をもつデータだけを支配シンボル度数データ1
20として符号割当部40へ送出する。固定符号語メモ
リ50は、予め生成されたハフマン符号を蓄積し、固定
符号語データ130として符号割当部40へ送出する。
符号割当部40は、支配シンボルに対してハフマン符号
を生成し、また、そのハフマン符号と固定符号語メモリ
50に蓄積された固定符号語データとを合成して全体の
ハフマン符号を得る。そして、ハフマン符号と中間シン
ボルデータとを用いて入力データを符号化する。中間シ
ンボルデータおよびハフマン符号表のデータも符号化さ
れて送られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はデータの圧縮技
術、例えばハフマン符号を用いた圧縮技術に関するもの
である。
【0002】
【従来の技術】一般に通信、蓄積等を行う場合、データ
の圧縮を行うとデータ量を削減する効果が得られる。こ
のような圧縮技術の代表例としてハフマン符号がある。
【0003】以下ハフマン符号について説明する。ハフ
マン符号は公知の技術であり、例えば『文書データ圧縮
アルゴリズム入門(植松著/CQ出版社)』(pp.4
6−5)にその記載がある。ハフマン符号は大まかに言
うと多く発生するシンボルには短い符号、発生しづらい
シンボルには長い符号を与えることによってデータを圧
縮する。ハフマン符号の一例を図20に示す。
【0004】ハフマン符号が有効であるための条件とし
て、以下の2つがあげられる。 (1)各シンボルの出現確率が既知であること (2)各シンボルの出現確率が定常的であること 条件(1)はハフマン符号の生成が出現確率に依存する
こと、条件(2)はハフマン符号が固定の符号表を用い
ることに起因する。しかし条件(1)を満たすためには
入力データに対して符号化前に一度統計処理を行う必要
があり、処理が重くなる。また条件(2)は一般のデー
タ系列では成立しない。
【0005】条件(1)と(2)を緩和する従来技術と
して、符号化しながら適当な間隔でハフマン符号を更新
する技術がある。この場合、直前に符号化したデータの
統計に基づいて符号を設計するので条件(1)の必要が
なく、また更新間隔毎に最適な符号を使うので条件
(2)も緩い変化であれば許容できる。以下、特開平7
−7436号公報を参考に、この従来例について説明す
る。図21および23はそれぞれ従来例の符号化装置、
復号装置を説明するブロック図である。まず図21を用
いて従来例の符号化装置について説明する。図中、10
はデータ入力部、20は度数集計部、40は符号割当
部、60は符号語メモリ、70はハフマン符号化部、8
0は符号出力部、100は入力データ、110は度数デ
ータ、141は符号語データ、151は符号データであ
る。
【0006】図21の各部について説明する。データ入
力部10は外部から符号化すべきデータを入力し、入力
データ100として度数集計部20およびデータメモリ
90へ送出する。度数集計部20は入力データ100に
含まれるシンボルの出現度数を計数し、度数データ11
0として符号割当部40へ送出する。符号割当部40は
度数データ110を基に符号語データ141を生成し、
符号語メモリ60に蓄積する。ハフマン符号化部70は
符号語メモリ60に蓄積された符号語データ141を用
いて入力データ100に対してハフマン符号化を行い、
符号データ151として符号出力部80へ送出する。符
号出力部80は作成された符号データ151を外部へ出
力する。
【0007】次に図23を用いて従来例の復号装置につ
いて説明する。図21と同様の部分には同じ符号を付し
て説明を省略する。15は符号入力部、75はハフマン
復号部、85はデータ出力部である。
【0008】図23の各部について説明する。符号入力
部15は外部から復号すべき符号を入力し、符号データ
151としてハフマン復号部75へ送出する。ハフマン
復号部75は符号語メモリ60に蓄積された符号語デー
タ141を用いて符号入力部15から入力された符号デ
ータ151に対してハフマン復号を行い、入力データ1
00としてデータ出力部85へ送出する。データ出力部
85は作成された入力データ100を外部へ出力する。
【0009】以上の構成に基づいて従来例の動作につい
て説明する。図22、24はそれぞれ従来例の符号化、
復号動作を説明するフローチャートである。
【0010】以下、図22を用いて符号化処理を説明す
る。S10では度数集計部20において入力データ10
0に含まれるシンボルを種類別にカウントし、度数デー
タ110を得る。S211ではその時点で予め定められ
た符号表更新処理条件を満たしているかどうかを判定
し、満たしていればS212へ、そうでなければS30
へ進む。S212では符号割当部40において度数デー
タ110に基づいてハフマン符号を生成し符号語データ
141を得る。S30ではハフマン符号化部70におい
て符号語データ141を用いて入力データ100にハフ
マン符号化を行う。S40では未処理の入力データ10
0の有無を判定し、あればS10へ、なければ符号化処
理を終了する。
【0011】次に図24を用いて復号処理を説明する。
図22と同様の処理には同じ符号を付して説明を省略す
る。S50ではハフマン復号部75において符号語デー
タ141を用いて符号データ151に対してハフマン復
号を行う。
【0012】以上の動作の中で、最初の符号化および復
号処理を行う際に用いる符号は同一の初期値が与えられ
るものとする。予め汎用的に設計されたものを固定的に
用いてもよいし、入力データ用に特に設計した符号を用
いてもよいが、後者の場合には符号データのヘッダに符
号表を付与するなどして、復号側に符号表を知らせる必
要がある。
【0013】S211における符号表更新処理条件は任
意である。例えば前出の特開平7−7436号公報では
特に動画像を対象とし、1枚の画像毎に符号表を更新す
る。
【0014】S212におけるハフマン符号の作成アル
ゴリズムは公知であり、例えば前出の『文書データ圧縮
アルゴリズム入門(植松著/CQ出版社)』にも記載が
あるのでここでは詳述しない。おおざっぱにいえば各シ
ンボルを出現確率順にソートし、出現確率の小さい2つ
のシンボルを組み合せ新たなシンボルとする。これを繰
り返しながら符号を割り振る。
【0015】以下、従来例の問題点について述べる。従
来例では符号表の更新は、入力されるシンボルの出現確
率分布の定常性が成立する単位で行われることが望まし
い。そのためには各シンボルの出現確率分布を推定する
のに十分な統計さえとれれば、更新の間隔はなるべく短
いほうがよい。例えば前出の特開平7−7436号公報
とは違って静止画像を対象とするような場合、画像間の
出現確率分布の類似性は期待できないので、画像内での
更新が有効になる。
【0016】一方でS212におけるハフマン符号の生
成処理は、ソート処理を多用する。このため、符号表の
更新間隔の短縮は全体の処理負荷の増加を招く。
【0017】これを改善する従来例としては、例えば特
開昭63−232626号公報があげられる。特開昭6
3−232626号公報ではシンボルを出現頻度順に並
べ換え、予め用意された符号表に書き込むことで疑似的
にハフマン符号を構成する。この手法だとソート処理が
一度で済むのでハフマン符号生成処理の負荷を削減でき
る。
【0018】この場合の問題点は符号量を効率的に小さ
くできる保証がないことにある。つまり、頻度順にソー
トしたとしてもその結果出てくる確率分布は何通りも考
えられるので、最適な符号を生成する保証がない。
【0019】
【発明が解決しようとする課題】本発明は上記の事情を
鑑みてなされたもので、簡易に適応的な圧縮符号例えば
ハフマン符号を生成する符号化技術を提供することを目
的とする。本発明は、さらに、ハードウェアの実装にお
いて最適な符号化技術を提供することを目的とする。
【0020】
【課題を解決するための手段】本発明の第1の側面によ
れば、符号化装置に、符号化対象データを入力するデー
タ入力手段と、前記データ入力手段から入力される前記
符号化対象データに含まれるシンボルのうち予め選択さ
れた支配候補シンボルの各々の出現度数を計数する度数
集計手段と、前記度数集計手段により計数された出現度
数に基づいて、前記支配候補シンボルのセットから支配
シンボルを選択するデータ選択手段と、各シンボルの予
測される出現確率に従って予め設計した符号語を保持す
る固定符号語記憶手段と、前記支配シンボルに対しては
所定の手法で新たに符号語を生成し、さらにその他のシ
ンボルに対しては、前記支配シンボル以外のシンボルで
あることを示す符号語と前記固定符号語記憶手段に保持
された符号語とを組み合せたものを新たな符号語として
割当てる符号割当手段と、前記符号割当手段で生成され
た符号語を保持する符号語記憶手段と、前記符号語記憶
手段に保持した符号語に基づいて前記データ入力手段か
ら入力される前記符号化対象データを符号化する符号化
手段と、前記符号化手段で生成された符号データを出力
する符号出力手段とを設けている。
【0021】また、本発明の第2の側面によれば、復号
装置に、符号データを入力する符号入力手段と、符号語
を記憶する符号語記憶手段と、前記符号語記憶手段に保
持した符号語に基づいて前記符号入力手段から入力され
る前記符号データを復号する復号手段と、前記復号手段
の復号により生成したデータに含まれるシンボルのうち
予め選択された支配候補シンボルの各々の出現度数を計
数する度数集計手段と、前記度数集計手段により計数し
た出現度数に応じて、前記支配候補シンボルのセットか
ら支配シンボルを選択するデータ選択手段と、各シンボ
ルの予測される出現確率に従って予め設計した符号語を
保持する固定符号語記憶手段と、前記支配シンボルに対
しては所定の手法で新たに符号語を生成し、さらにその
他のシンボルに対しては前記支配シンボル以外のシンボ
ルであることを示す符号語と前記固定符号語記憶手段に
保持された符号語とを組み合せたものを新たな符号語と
して割当てる符号割当手段とを設け、前記符号割当手段
で生成された符号語を前記符号語記憶手段に記憶させ、
さらに、前記復号手段が復号したデータを出力するデー
タ出力手段を設けるようにしている。
【0022】このような構成によれば、平均符号語長に
とくに影響がある支配シンボルについて適応的に符号語
を更新するので符号量を小さくすることができ、しかも
符号語の更新の付加を少なくできる。さらに、支配シン
ボル候補を予め決めてそれらの度数のみを計数するので
カウンタの個数を少なくすることができる(計数処理を
簡略化できる)。
【0023】この構成においては、前記支配候補シンボ
ルを発生頻度が高いと推測されるものとすることができ
る。
【0024】また、前記符号割当手段における符号語作
成処理は、予め候補としてあげた符号表のいずれかにな
るよう限定するようにしてもよい。
【0025】また、前記候補としてあげる符号表は発生
頻度が高いと推測される種類、および、他の候補との関
係から削除した場合に圧縮率の悪化が推測される種類の
うち少なくとも一方の種類のものとすることができる。
【0026】また、前記符号化手段は前記符号化対象デ
ータに加えて、前記データ選択手段で選択した支配シン
ボルを特定する中間シンボルデータを符号化するように
してもよい。
【0027】また、前記符号化手段は前記符号化対象デ
ータに加えて、前記符号割当手段で生成した符号語を特
定する符号表データを符号化するようにしてもよい。
【0028】また、中間シンボルを記憶する中間シンボ
ル記憶手段を設け、前記中間シンボル記憶手段の内容は
前記データ選択手段で選択した中間シンボルデータに基
づいて設定し、前記符号化手段で行う符号化は前記符号
語記憶手段に保持した符号語に加えて前記中間シンボル
記憶手段に保持した中間シンボルデータに基づくように
してもよい。
【0029】また、本発明の第3の側面によれば、符号
化対象データに加え、中間シンボルデータや符号表デー
タを符号化する符号化装置から出力された符号データを
復号する復号装置を、符号データを入力する符号データ
入力手段と、符号語を記憶する符号語記憶手段と、前記
符号語記憶手段に保持した符号語に基づいて前記符号入
力手段から入力される前記符号データを復号する復号手
段とを設け、前記符号語記憶手段に保持する符号語を、
前記復号手段で復号した上記符号表データおよび上記中
間シンボルデータの少なくとも一方に基づいて設定する
ようにしている。
【0030】この構成によれば、復号装置側で符号表を
作成する必要がなく、構成や処理を簡略化できる。ま
た、中間シンボルデータを送ることにより、復号装置側
で用意する符号表を少なくすることができる。
【0031】また、この構成において、前記符号語記憶
手段に初期値として設定される符号を、予め定めた定数
にしてもよい。
【0032】また、本発明の第4の側面によれば、符号
化対象データに加えて、中間シンボルデータを符号化す
る符号化装置からの符号データを復号する復号装置に、
符号データを入力する符号データ入力手段と、符号語を
記憶する符号語記憶手段と、前記符号語記憶手段に保持
した符号語に基づいて前記符号入力手段から入力される
前記符号データを復号する復号手段と、前記中間シンボ
ルを記憶する中間シンボル記憶手段とを設け、前記中間
シンボル記憶手段の内容は前記復号手段で復号した中間
シンボルデータに基づいて設定し、前記復号手段で行う
復号は前記符号語記憶手段に保持した符号語に加えて前
記中間シンボル記憶手段に保持した中間シンボルデータ
に基づくようにしている。
【0033】この構成においても、復号装置側で用意す
る符号表を少なくすることができる。
【0034】また、本発明は、前記符号化装置および復
号装置を適宜組み合わせて符号化復号装置として実装す
ることもできるし、方法として実現することもできる。
【0035】また、以上の構成において、前記データ選
択手段で行われる選択処理は、前記度数集計手段の集計
結果に基づいて、予め定められた閾値より大きい度数を
持つシンボルを前記支配シンボルとして選択するように
することができる。
【0036】また、前記データ選択手段で行われる選択
処理は、前記度数集計手段の集計結果に基づいて、出現
頻度の大きさ順に並べたときに予め定められた順位より
若い順位を持つシンボルを前記支配シンボルとして選択
するようにしてもよい。
【0037】また、前記データ選択手段で行われる選択
処理は、前記度数集計手段の集計結果に基づいて、出現
頻度の大きさ順に並べ大きい方から出現頻度を累積した
ときの累積頻度が予め定められた閾値より小さいシンボ
ルを前記支配シンボルとして選択するようにしてもよ
い。
【0038】また、前記符号割当手段で行われる符号化
はハフマン符号化とすることができる。
【0039】また、前記符号割当手段において前記支配
シンボルに割当てるはずだった固定符号語が余ってお
り、かつそれより符号長の長い符号を持つ支配シンボル
でないシンボルがある場合、一時的にそのシンボルに前
記固定符号語を割当てるようにしてもよい。
【0040】また、前記符号割当手段における符号語作
成処理は、各シンボルの出現確率が所定値を外れた場合
に行われるようにしてもよい。
【0041】また、前記符号割当手段における符号語作
成処理は、所定数のシンボルの符号化または復号が完了
した場合に行われるようにしてもよい。
【0042】また、前記符号割当手段で生成された符号
語の平均符号語長が前記固定符号語手段に保持された符
号語の平均符号語長より長くなると予測される場合には
前記固定符号語を新たな符号語とするようにしてもよ
い。
【0043】また、前記度数集計手段で行われる統計値
の初期化はそれまでの統計値に1以下の正の数を乗算し
て行うようにしてもよい。
【0044】また、前記固定符号語記憶手段に保持する
符号語を既処理データの統計に基づいて新たに生成した
符号語で置き換えるようにしてもよい。
【0045】また、前記符号割当手段における符号語作
成処理は、予めシンボルの出現確率パターンとそれに対
応する符号語を用意しておき、前記支配シンボルを前記
出現確率パターンへ分類することによって簡易に前記符
号語を得るようにしてもよい。
【0046】また、前記支配シンボルに対するパターン
分類は、最頻シンボルの出現確率と閾値の大小比較によ
って行うようにしてもよい。
【0047】また、前記支配シンボルに対するパターン
分類は、支配シンボルを頻度順に並べたとき複数の予め
定められた順番に対応したシンボルの頻度による演算結
果で決定するようにしてもよい。
【0048】また、前記符号語記憶手段に初期値として
設定される符号は予め定数が設定してあってもよい。
【0049】また、前記符号語記憶手段に初期値として
設定される符号は前記固定符号語記憶手段に保持された
符号を用いてもよい。また、中間シンボルを記憶する中
間シンボル記憶手段を有し、前記中間シンボル記憶手段
の内容は前記データ選択手段で選択した中間シンボルデ
ータまたは前記復号手段で復号した中間シンボルデータ
に基づいて設定し、前記符号化手段で行う符号化または
前記復号手段で行う復号は前記符号語記憶手段に保持し
た符号語に加えて前記中間シンボル記憶手段に保持した
中間シンボルデータに基づくようにしてもよい。
【0050】
【発明の実施の態様】以下、本発明について詳細に説明
する。ここでは、まず、本発明の背景技術について説明
し、その後、実施例を挙げることにする。なお、この背
景技術は本出願人が特願平9−101216号(平成9
年4月18日出願、現時点では未公開)で提案した技術
である。
【0051】[背景技術具体例1]背景技術の具体的な
説明に入る前に、その原理について説明する。従来のハ
フマン符号化復号装置の問題点はハフマン符号の生成処
理の負荷が重く、更新処理を短くしにくいことであっ
た。そこでこれを解決するために、ハフマン符号を簡易
的に生成することにする。すなわち、平均符号長に影響
が大きいと思われる出現頻度の高いシンボルに対しては
通常どおりのハフマン符号を生成し、それ以外のシンボ
ルについては予め汎用的に用意された符号を与えること
にする。以下、このように出現頻度の高いシンボルを支
配シンボルと呼ぶ。
【0052】以上の点を具体的に説明する。ハフマン符
号の平均符号長は各シンボルsに与えられた符号長l
(s)と出現確率p(s)の積和で表される。すなわ
ち、
【0053】
【数1】 ただしSはシンボル全体の集合を表す。いまs0からs
5まで6個のシンボルがあり、s0とs1の出現確率が
それぞれ1/2、1/4で、それ以外のシンボルは1/
4に満たなかったとする。この仮定の下でエントロピー
すなわち理論平均符号長が最小となるのは、例えばs2
の出現確率がぎりぎり1/4に届かず、それ以外のシン
ボルの出現確率がほぼ0となる場合である。この条件で
通常のハフマン符号を生成すると、最終的にs0、s
1、s2にそれぞれ符号長1、2、3[bit]の符号
が割当てられる。従って平均符号長は(1)式より、
【0054】
【数2】 と計算できる。次に本背景技術において出現確率1/4
以上のシンボルを支配シンボルとみなしたとする。この
場合s0とs1にそれぞれ符号長1、2[bit]の符
号が割当てられる。またその他のシンボルは支配シンボ
ルでないことを表す2[bit]の符号と、s2〜s5
のいずれかを示す2[bit]の符号で表す。この場合
の平均符号長は(1)式より、
【0055】
【数3】 となる。出現確率にかかわらず符号を生成した場合の平
均符号長はlog2(6)=2.6[bit]となるか
ら、(3)式の値は(2)式には及ばないものの符号量
としては小さくなることがわかる。また以上の見積りは
本背景技術に対してかなり厳しい条件で計算したもの
で、実際にはs2〜s5の中でs2の出現確率だけが突
出するような状況は考えにくいので、現実の(2)式と
(3)式の差はもっと小さいと考えられる。
【0056】以下に本背景技術具体例1について詳細に
説明する。図1および図4はそれぞれ本具体例の符号化
装置および復号装置の構成を示すブロック図である。図
21および、23に示した従来例と同様の部分には同じ
符号を付して説明を省略する。図中、30は支配シンボ
ル選択部、50は固定符号語メモリ、120は支配シン
ボル度数データ、130は固定符号語データ、140は
符号語データ、150は符号データである。
【0057】まず図1を用いて本具体例の符号化装置に
ついて説明する。図1の各部について説明する。支配シ
ンボル選択部30は度数データ120から所定の閾値よ
り大きい度数をもつデータだけを支配シンボル度数デー
タ120として符号割当部40へ送出する。固定符号語
メモリ50は入力データ100の想定される確率分布に
対して予め生成されたハフマン符号を蓄積し、固定符号
語データ130として符号割当部40へ送出する。
【0058】図4は本具体例の復号装置の構成を示す。
図4の各部の構成は従来例および本具体例の符号化装置
に関連して説明したものと同様であるので、説明を繰り
返さない。
【0059】以上の構成に基づき、本具体例の動作につ
いて説明する。図2および図3は本具体例における符号
化処理の動作を、また図5は本具体例における復号処理
の動作を示すフローチャートである。
【0060】まず図2および図3を用いて本具体例の符
号化処理の動作について説明する。ただし図2の各処理
については従来例と同様のため、同じ符号を付して説明
を省略する。以下、図3を用いてS20の符号表更新に
ついて説明する。S201では符号表更新条件が成立し
ているかどうかを判定し、成立していればS202へ、
そうでなければS30へ進む。S202ではシンボルの
IDを示す変数nと支配シンボル度数データ120を蓄
積する支配シンボルリストを初期化する。S203では
度数データ110から変数nが示すシンボルの度数を取
り出して、所定の閾値Thと比較し大ならばS204
へ、小ならばS205へ進む。S204ではS203で
比較した度数データを、符号割当部40の支配シンボル
リストに加える。S205では変数nに1を加える。S
206では処理されていないシンボルの有無を判断し、
未処理データがあればS203へ、なければS207へ
進む。S207では符号割当部40において支配シンボ
ルリストに存在する支配シンボルに対してハフマン符号
を生成する。S208では符号割当部40においてS2
07で作成されたハフマン符号と固定符号語メモリ50
に蓄積された固定符号語データ130を合成して全体の
ハフマン符号を得る。
【0061】図5は本具体例の復号処理の動作を示す。
図5の全体は従来例と同様であり、また図5のS20は
本具体例の符号化処理の動作と同様であるので省略す
る。
【0062】以上の動作の中で、最初の符号化および復
号は例えば固定符号語メモリ50の符号語に従う。この
とき、従来例で述べたように別の初期値が符号語メモリ
60に書き込まれてもよい。
【0063】次に符号割当部40で行われる処理の詳細
について説明する。以下、説明を簡単化するためシンボ
ルをアルファベットの小文字26個とする。符号割当部
40の支配シンボルリストには選択されなかったシンボ
ルに符号を与えるため、”その他”というシンボルを初
期化時に登録しておく。このときの支配シンボルリスト
の内部フォーマット例を図6(a)に示す。S203で
用いる閾値Thを例えば全体の1/4とすれば、Thに
等しい度数を持つシンボルは選択されないので、支配シ
ンボルは最大で3個となる。支配シンボル度数データ1
20のフォーマット例を図6(b)に、全てのシンボル
に対する選択処理が終了しS207に入る直前の支配シ
ンボルリスト例を図6(c)に示す。ただし符号表更新
条件を100個のシンボルの符号化が終了した場合とし
た。このとき”その他”の出現度数は全体の度数から支
配シンボルの度数を減算したものとする。もしくはS2
03の直後において選択されなかったシンボルの度数を
逐次的に加算していってもよい。図6(c)で選択され
たシンボルに対してS207でハフマン符号化を行った
例を図6(d)に示す。これで”a”、”e”、”s”
の3つの支配シンボルに対応する符号が生成された。
【0064】これ以外のシンボルに対しては”その他”
の符号と固定符号語メモリ50にデフォルトとして用意
された固定符号語を合成して割当てる。固定符号語の例
を図7(b)に示す。この符号表は予め符号化処理開始
前にシンボルの出現確率を推定して作成しておく。S2
07で作成した符号を図7(a)に、固定符号語と合成
した最終的な符号を図7(c)にそれぞれ示す。このと
き支配シンボルに対して固定符号語が割当てた符号、図
7の例でいえばシンボル”a”を示す”111000”
等が無駄になるが、平均符号長への影響は少ないので無
視する。ただし簡易的な処置として例えば固定符号語の
シンボルを符号長の長いものと入れ換えるような処理を
行ってもよい。図7の例でいえば”111000”がど
うせ使われないのであるから、図7(b)の”a”と”
b”を一時的に入れ替えて”111000”を”b”の
符号としてもよい。
【0065】もしS207に達したとき支配シンボル
が”その他”以外になかった場合には、固定符号語をそ
のまま符号語データ140として用いる。ところで支配
シンボルが”その他”を含めて2つ以上あっても、固定
符号語を用いた方が平均符号長が短くなる場合がある。
これを避けるためには以下のような処理を追加すればよ
い。
【0066】簡単のため支配シンボルが”その他”を含
めて2つと仮定する。これ以外の条件でも以下の説明か
ら容易に類推が可能である。まず固定符号語の理想的な
確率分布が発生したとしたときの平均符号長をlthと
し、これを固定符号語の理論的平均符号長と考える。す
なわち、シンボル”a”の推定出現確率をpth
(a)、割当てられた符号長をlfix(a)とすれば
(4)式のようになる。
【0067】
【数4】 ただし総和は出現し得るシンボル全てについてとる。次
に支配シンボルを”その他”と”x”とし、S207で
それぞれ”1”、”0”の符号を割当てられたとする。
このときの平均符号長lselは以下の式で近似的に求
められる。
【0068】
【数5】 ここでp(a)はシンボル”a”の出現頻度を実測して
計算した出現確率である。2項目のlth’は固定符号
語から”x”が抜けた場合の理論的平均符号長である。
これは(4)式から、
【0069】
【数6】 として近似する。ただし総和は”x”以外の出現し得る
シンボル全てについてとる。(5)式に対して”x”が
選択されたにもかかわらず固定符号語を使いつづける場
合の平均符号長lfixは、
【0070】
【数7】 となるから、(5)式−(7)式を計算して、
【0071】
【数8】 となる。従ってこの(8)式が正であれば固定符号語そ
のままを、負であれば新たに合成した符号語を用いれば
よい。
【0072】上記の動作の中で符号表更新条件は、従来
例同様に任意にとることができる。例えば上述の説明例
のように処理データ量に依存してもよいし、確率分布の
変化度合いに応じてもよい。例えば出現度数を監視して
おき、支配シンボル以外のシンボル(上述の例では出現
確率が1/4を越えないシンボル)の出現度数がある出
現確率(例えば1/3とか)を越えて出現しつづけるよ
うであれば、確率分布が変化したと判定する。この例を
図8に示す。これとは逆に支配シンボルの出現確率低下
を監視してもよい。
【0073】また、上述の例では、支配シンボルは出現
頻度を閾値処理して選択したが、その他の手法で支配シ
ンボルを決定してもよい。要するに出現頻度に応じて支
配シンボルを決定すればよい。例えば、頻度順にソート
したときの上からの順位を閾値処理してもよい。すなわ
ち、上位の所定番目までのシンボルを支配シンボルとし
てもよい。こうすれば、支配シンボルの個数を一定に保
つことができる。また頻度順にソートし、上の順位のシ
ンボルから順番にその頻度を累積し、その累積値を閾値
処理するようにしてもよい。すなわち、累積値が所定値
以下となるシンボルを支配シンボルとする。例えば、1
番目から5番目のシンボルを累積した値が所定値以下で
あり、6番目までの累積値が所定値を超える場合には、
1番目から5番目までのシンボルを支配シンボルとす
る。このようにすると、支配シンボルの影響を定性的に
安定化させることができる。すなわち、支配シンボルの
全頻度が上述の所定値となるので、支配シンボルの影響
を安定化させることができる。
【0074】また、度数集計部20における出現度数の
計数は0で初期化しているが、既処理データに応じて初
期化時にオフセットされていても構わない。例えば初期
値をcounti、直前の出現度数をcounti-1とす
れば(9)式のような初期化が考えられる。
【0075】
【数9】 これにより度数データの平滑化が図れ、局所的な確率分
布の変動に左右されない大局的な符号を作成することが
できる。
【0076】また、最初の符号更新までに用いる初期値
の符号は固定符号語メモリ50に蓄積したハフマン符号
を用いてもよいし、仕様として適当な初期値を設定して
もよい。
【0077】また、適当なタイミングで固定符号語メモ
リ50に蓄積するハフマン符号を変更すれば符号量の減
少が図れる。すなわち、既処理データの統計に基づいて
事前に推定した出現確率を補正し、新たにハフマン符号
を生成する。この場合は全てのシンボルに対して通常の
手法で生成する必要がある。
【0078】また、以上ではすべてハフマン符号を前提
に説明したが、適応的に設計できる符号であれば他の符
号でも応用できる。整数長の符号でいえば、シャノン・
ファノ符号等が応用可能であるし、算術符号も符号語を
オージェンドの分割に置き換えれば応用が可能である。
【0079】[背景技術具体例2]本背景技術をさらに
簡易な処理で実現するため、具体例2として支配シンボ
ルのハフマン符号生成処理を簡略化した例について述べ
る。本具体例の原理は、選択されるシンボルの出現確率
がある閾値より大きいことを利用し、ビット割当をいく
つかのパターンに分類して予め対応する符号を用意して
おくことにある。さらにパターンの分類はごく簡単な処
理で近似的に行う。
【0080】本具体例の全体の構成と動作は具体例1と
同様のため、説明を省略する。本具体例は具体例1にお
ける図3のS207の処理の変形例として位置づけられ
る。以下、説明を簡略化するために閾値をシンボル度数
の総数の1/8とし、かつ”その他”の出現確率が1/
8より大きいと仮定した場合について述べるが、他の場
合についても容易に類推が可能であり一般性は失われな
い。
【0081】具体的な説明に入る。支配シンボル数が”
その他”を含めて3個以下の場合は自明なので、まず4
個の場合について述べる。いま4個の支配シンボルは出
現度数順にソートされているものとし、順にシンボル
1、シンボル2、…と呼ぶ。またシンボルnの出現確率
をp(n)と書く。従って
【0082】
【数10】 となる。このときビット割当ては図9(a)の2通りが
考えられる。それぞれの符号木を図9(b)(c)に示
す。さて両符号木の平均符号長はそれぞれ、
【0083】
【数11】 で表すことができる。さてlcase1=lcase2
となるための条件は次のようになる。
【0084】
【数12】 p(n)の総和は1となるので、次式を得る。
【0085】
【数13】 (10)式の条件を考慮するとlcase1=lcas
e2が成立するp(1)の範囲は1/3≦p(1)≦2
/5となる。この範囲でp(1)が極値をとったときの
平均符号長の上限、下限を図9(d)に示す。例えばp
(1)が1/3の場合2/9≦p(2)≦1/3でなけ
ればならず、さらにそれぞれの場合にp(3)、p
(4)の値も限定される。その結果case1の平均符
号長は2ないし2.11となることがわかる。図9
(d)よりp(1)が2/5を越えれば必ず図9(a)
のcase1の、逆に1/3を下回れば必ずcase2
のビット割当てが最適となることがわかる。1/3<p
(1)<2/5の場合は最適ビット割当ては特定できな
いが、いずれか判断を誤っても符号量の差は少ないので
無視する。
【0086】図10は具体例2の動作を説明するフロー
チャートである。図10を用いて処理手順を説明する。
S2071では支配シンボルを度数順にソートする。S
2072では出現頻度の最大値p(1)が閾値pthを
越えているかどうか判定し、p(1)>pthであれば
S2074へ、そうでなければS2073へ進む。S2
073では図9(a)のcase2の符号を選択し、S
2074ではcase1の符号を選択する。S2075
では支配シンボルとS2073もしくはS2074で得
られた符号を対応づける符号表を生成する。以上の動作
の中でpthは1/3<p(1)<2/5の範囲で適当
に選択する。例えば中間値である11/30でもよい
し、判定の容易さを考慮して1/3としてもよい。もし
判定の容易さが符号量の増大よりも重要な場合には上記
の範囲を越えても評価が簡単な2のベキ乗の逆数、例え
ば1/4や1/2としてもよい。ただし最適な符号を得
られない可能性が高くなる。
【0087】逆に最適な符号を期すならば、lcase
2−lcase1=p(1)−p(3)−p(4)の正
負を計算してもよい。この場合処理負荷が若干増加する
が、符号は必ず最適となる。
【0088】もうひとつの例として支配シンボルが”そ
の他”を含めて5個の場合について述べる。ビット割当
てを出現頻度順に列記する形式で示せば、支配シンボル
が5個の場合12344、13333、22233の3
つのケースが考えられる。しかし各シンボルの出現確率
が1/8より大きいこととハフマン符号の生成規則か
ら、12344となるケースは存在しない。従って実際
には図11(a)の2つのケースを考えればよい。
【0089】さてこの場合の両者の平均符号長はそれぞ
れ次式でかける。
【0090】
【数14】 前と同様にlcase1=lcase2が成立するp
(1)の範囲を考えると、1/3≦p(1)≦3/8と
なる。それぞれの平均符号長の上限、下限を図11
(d)に示す。これよりp(1)≦1/3のときcas
e2の、p(1)≧3/8のときcase1のビット割
当てが最適となる。従って図10のS2072で用いる
pthは1/3から3/8の範囲、もしくはその近辺の
値から選べばよい。またシンボル数4個の時同様、lc
ase2−lcase1=p(1)−p(2)−p
(3)の正負を計算すれば、最適な符号を得ることも可
能である。
【0091】本具体例によればハフマン符号化処理が前
もって用意したパターンに分類するだけで行え、しかも
パターンの分類は支配シンボルのソート処理と比較処理
で行えるので、具体例1の処理の大幅な簡略化が図れ
る。
【0092】最後に本背景技術の効果を示す実験結果例
を図12に示す。6bitデータを入力とし次の4つの
手法で符号化した結果である。
【0093】(1)従来例 (2)本背景技術 (支配シンボルが全体の1/10) (3)本背景技術 (支配シンボルが全体の1/50) (4)一般的ハフマン符号 (まずシンボルの統計をと
って符号生成し、2パス目で符号化するもの) 実験によれば(2)、(3)、(4)の処理時間はほぼ
等しく、(1)の約1/20〜1/50程度であった。
図12から本背景技術の効果は明らかである。
【0094】[実施例1]つぎに、本発明の実施例につ
いて説明する。本発明は、上述の背景技術を改善するも
のであり、とくに、ハードウェア上の実装において格別
な効果をもたらすものである。
【0095】まず、本発明の実施例1を説明する。上述
背景技術の具体例1および2では、支配シンボルの選択
およびハフマン符号生成処理に、全てのシンボルの出現
度数を知る必要がある。これは本背景技術をソフトウェ
アで実現する際にはあまり問題にならないが、ハードウ
ェアでの実装を考えるとシンボル数分のカウンタが必要
になるので、シンボル数によっては限られた資源では実
現が難しくなる。
【0096】ところで背景技術の具体例1および2では
入力データに対して何の仮定も置いてこなかったが、現
実には入力データの性質が既知であるような場合があ
る。例えば入力データを英文内の1文字とすれば、”
q”、”v”、”x”などに比べて”a”、”e”、”
s”などはより頻繁に出現することが予想される。これ
はつまり前者に比べて後者の方がより支配シンボルとし
て選択される可能性が高いことを示す。
【0097】そこで本実施例ではシンボルを非候補シン
ボルと支配候補シンボルの2種類に分類する。非候補シ
ンボルは必ず支配シンボルとして選択しないこととし、
個別の出現頻度カウントはしない。一方、支配候補シン
ボルに対しては第1、第2の実施例同様に出現度数をカ
ウントし、支配シンボルを選択する。こうして得られた
支配シンボルと、非候補シンボルおよび支配候補シンボ
ルで選択されなかったシンボルからなる”その他”シン
ボルに基づいて新たな符号表を生成する。この符号表の
生成については上述背景技術の具体例1および2と同様
である。
【0098】具体的には、図13に示すように、度数集
計部20にハードウェアカウンタ201、202、・・
・20nを設ける。そして支配候補シンボル設定部20
0でカウンタ201、202、・・・20nで計数する
シンボルを設定する。
【0099】本実施例は、全てのシンボルについて出現
頻度を計数したとしても非候補シンボルからは支配シン
ボルが選択されないことを仮定しているのと同値であ
る。現実の情報源の出現確率分布は変動するから、この
ような仮定が必ず成立するとは限らない。しかしある程
度の確率で成立すれば、圧縮率の悪化は抑えることがで
きる。この小さなリスクに対して、非候補シンボルに対
応するカウンタが不要になるメリットは特にハードウェ
ア規模に対して非常に大きい。
【0100】以上では支配シンボルの候補となるシンボ
ルの省略について述べたが、符号木についても同様の省
略が可能である。以下、これについて説明する。上述背
景技術の具体例2では支配シンボルの個数毎に可能性の
ある全ての符号木を候補とし、適当な判断基準を設けて
符号表を生成した。しかし符号木によっては発生確率が
ごく稀なものも含まれる。例えば支配シンボルの閾値を
1/8とした場合、支配シンボルが7個になることは理
論的には有り得るが、現実にはほぼ起こらないと考えて
よい。従って例えば装置規模が制限されるような場合に
は、支配シンボル7個の符号表を用意することによる圧
縮率向上のメリットよりも装置規模増大のデメリットの
方が大きいと考えられる。
【0101】そこで符号木に対しても候補の符号木を制
限する。これは例えば実験的に発生頻度が少ない符号木
を削除すればよい。もし削除した符号木に対応するよう
な支配シンボルが得られた場合、近い符号木に振り替え
て代用する。上述の例でいえば、例えば支配シンボル5
個用の符号木を用意しておき、支配シンボルが6個以上
になった場合には5個用の符号木で代用する。これによ
り背景技術の具体例2でいうS207にあたる符号木の
選択処理を簡略化することができ、また符号割当部40
で用意するパターン数を減らすことができる。候補の符
号木選択のバリエーションとしては、その符号木を削除
して他の符号木で置き換えても原理的に圧縮率に与える
影響が少ないと予想できるものから削除してもよい。例
えば支配シンボル2個用と3個用の符号木が2個づつあ
る場合、2個用の2つを削除するより2個用と3個用か
ら1つづつ削除した方が圧縮率への影響が少ないことが
予想される。
【0102】本実施例に関する構成および動作は上述背
景技術の具体例1および2から容易に類推が可能なの
で、ここでは説明を省略する。以下、本実施例の効果を
説明するため、本実施例を画像符号化に適用した実験例
について述べる。ここでとりあげる画像符号化は予測符
号化とランレングス符号化を組み合わせたものだが、こ
のランレングスに対するハフマン符号化の部分に本実施
例を適用した。
【0103】この画像符号化ではラン長を1〜500ま
でとるが、1〜8を支配候補シンボルとし9以上を非候
補シンボルとした。支配シンボルは0〜7個まで考えら
れるので理論的な符号木の種類は11個だが、ここでは
支配シンボルが0〜2個だった場合に対応する4個の符
号木だけを候補とした。従って支配シンボルが3個以上
だった場合は、出現度数の順に上位2個の支配シンボル
を選択し、これに対応する符号木を用いることにした。
【0104】本実施例によれば予め支配シンボルの候補
を絞ることができるので、符号化装置および復号装置の
簡略化が図れる。
【0105】本実施例によって実験的に得られた符号量
の比較を図14に示す。グラフは左から固定の符号表、
背景技術具体例2、本実施例による符号量を示してい
る。同図より本実施例の効果は明らかである。
【0106】[実施例2]本発明の実施例2として、特
に復号装置の簡易化に有効な構成を説明する。本実施例
は2つの技術的特徴からなる。まず第1の特徴について
説明する。
【0107】上述背景技術の具体例1、2や実施例1で
は、符号化装置で行われる符号表生成処理を復号装置で
も模倣することにより、変化する符号表に対応した復号
を可能とした。しかし本来符号表を生成すべきなのは符
号化装置のみであり、復号装置は使用した符号表を知る
ことさえできればよい。またこのような構成の場合、符
号化装置側の符号表生成処理の仕様が変わった場合に対
応することが難しい。そこで本実施例では使用した符号
表もしくはその識別番号を符号データに埋め込む。これ
によって異なるアルゴリズムで符号表を生成する複数の
符号化装置に対しても、一つの復号装置で対応すること
ができる。
【0108】次に第2の特徴について説明する。上述背
景技術の具体例1、2や実施例1では明記しなかった
が、符号表はシンボルと符号が対応した表を想定してい
た。しかしこうすると例えば支配シンボルが1個の符号
表だけとっても、全てのシンボルが支配シンボルになる
可能性があるのだから、符号木の形が1つなのにもかか
わらずシンボル数分の符号表が必要になる。これは例え
ばハードウェアで実装する場合には重要なポイントにな
り得る。
【0109】そこで本実施例では中間に抽象的な中間シ
ンボルを挟むことにする。復号の場合、符号表による復
号結果は中間シンボル、すなわちどの支配シンボルかと
いう情報までにしておいて、続く後段でその中間シンボ
ルに該当する実際の入力シンボルに復号する。符号表で
は中間シンボルまでわかればよいのだから、符号木が1
つなら1つの符号表ですみ、装置の縮小が可能となる。
この技術的特徴は符号化装置に適用しても同様な効果を
もたらす。
【0110】この第2の特徴を上述第1の特徴と組み合
わせる場合、符号には、符号表だけでなく、中間シンボ
ルと支配シンボルの関係も埋め込むことになる。
【0111】以下、本実施例について具体的に説明す
る。図15、図18はそれぞれ本実施例の符号化装置、
復号装置の構成を示すブロック図である。図1および図
4に示した背景技術の具体例1と同様の部分は同一の符
号を付して説明を省略する。図中、142は符号表デー
タ、143は中間シンボルデータ、61は中間シンボル
メモリである。
【0112】まず、図15に示した符号化装置の各部に
ついて第1の従来例と異なる点に絞って説明する。符号
割当部40は背景技術具体例1の動作に加え、生成した
符号表を示すデータを符号表データ142としてハフマ
ン符号化部70へ送出する。同時に生成した符号表で選
択された支配シンボルを示すデータを中間シンボルデー
タ143としてハフマン符号化部70および中間シンボ
ルメモリ61へ送出する。中間シンボルメモリ61は中
間シンボルデータ143を保持し、ハフマン符号化部7
0へ送出する。ハフマン符号化部70は中間シンボルメ
モリ61に蓄積された中間シンボルデータ143と符号
メモリ60に蓄積された符号語データ140を用いて、
符号表データ142、中間シンボルデータ143、入力
データ100のそれぞれに対してハフマン符号化を行
い、符号データ151として符号出力部80へ送出す
る。
【0113】符号化装置の動作についての説明は背景技
術の具体例や実施例1と大差ないので省略するが、ハフ
マン符号化部70についてだけ説明しておく。まず他の
構成と異なる点として、符号語データ140には入力デ
ータ100だけでなく、符号表データ142、中間シン
ボルデータ143がとるそれぞれの値に対応する符号語
が含まれていなければならない。ハフマン符号化部70
はこの符号語データ140に基づいて、符号表データ1
42および中間シンボルデータ143の符号化を行う。
また、これらのデータの符号化は符号割当部40で符号
表を更新したときに行う。
【0114】本実施例における符号データ150、符号
表データ142の概念図をそれぞれ図16(a)、同図
(b)に示す。図中入力1〜Nは入力データ100に含
まれる入力シンボルを示す。ここでは符号表データ14
2は特定の符号表を対応する数字で指定する形式を示し
た。これ以外に直接符号語を埋め込むような形式でもよ
いし、あるいはその中間をとって部分的に符号語を埋め
込むような形式でもよい。同図(b)の例えば符号表デ
ータの2に示したように、符号表によっては支配シンボ
ルの個数が少ないために、後半の中間シンボルに符号が
割り当てられないようなものもあり得る。
【0115】図16(c)、同図(d)には中間シンボ
ルデータ143の概念図を示す。ここでは直接中間シン
ボルに対応する入力シンボルを指定する形式を示した。
これも符号表データ同様、特定の組み合わせそれぞれに
対応する数字で表現するような形式にしてもよい。同図
(c)では中間シンボルの個数は3つとしたが、これは
符号表データがいくつの中間データに対応するかによっ
て、中間シンボルデータの長さが変化するような形式を
仮定した。バリエーションとして簡単化のために中間シ
ンボルの個数を固定してもよい。同図(d)がそのよう
な例で、この場合中間シンボルの個数が少ない符号表デ
ータに対しては、ダミーの中間シンボルデータを埋めて
おく。
【0116】なお、図16の例のように符号表データと
中間シンボルデータが必ずセットになるような形式で
は、中間シンボルデータの位置が特定できるので、中間
シンボルデータに与える符号が入力シンボルおよび符号
表データに与える符号と重なっていても構わない。逆に
入力シンボル、符号表データ、中間シンボルデータの3
種類の符号が重ならないように設計しておけば、これら
のデータの並ぶ順番は任意であって、特に図16(a)
のような形式を守る必要はない。
【0117】次に入力データ100の符号化について説
明する。ハフマン符号化部70は入力データ100を受
け取るとまず中間シンボルメモリ61と照合し、入力デ
ータ100が支配シンボルだった場合には、該当する中
間シンボルに対応した符号を符号語メモリ60から読み
出して符号とする。入力データ100が支配シンボルで
なかった場合には、入力データ100に対応した符号を
符号語メモリ60から読み出して符号とする。符号語メ
モリ60の内部データは、例えば図16(b)に示し
た”対応する符号表”の欄の中の一つの行のような形式
をとる。また中間シンボルメモリ61の内部データは例
えば図17のような形式をとる。
【0118】次に図18に示した復号装置の各部につい
て、第1の従来例および図15に示した符号化装置と異
なる点に絞って説明する。ハフマン復号部75は中間シ
ンボルメモリ61に蓄積された中間シンボルデータ14
3と符号メモリ60に蓄積された符号語データ140を
用いて、符号データ150にハフマン復号を行い、その
結果得られる符号表データ142、中間シンボルデータ
143、入力データ100をそれぞれ符号語メモリ6
0、中間シンボルメモリ61、データ出力部85に送出
する。
【0119】以上の構成に基づいて本実施例の復号装置
の動作について説明する。図19は本実施例の復号動作
を説明するフローチャートである。
【0120】以下、図19を用いて復号処理を説明す
る。ただし他の構成と同様の部分には同一の符号を付し
て説明を省略する。S201ではハフマン復号部75に
おいてS50の復号処理の復号結果が符号表データだっ
た場合にはS209へ、そうでなければS40へ進む。
S209ではハフマン復号部75において、まず符号表
データに基づき符号語メモリ60の内容を新たな符号表
に更新する。続いて符号データ150から中間シンボル
データ143を復号し、その内容に基づいて支配シンボ
ルメモリ61の内容を更新する。
【0121】ここでは図16(a)に示したように、符
号表データの直後に中間シンボルデータが埋め込まれて
いるような符号データ150を想定した。
【0122】本実施例によれば符号表更新情報を符号に
埋め込んだので、復号装置の簡略化が図れる。また符号
表の内容を直接支配シンボルではなく中間シンボルに置
き換えたので、符号化装置および復号装置の簡略化が図
れる。
【0123】
【発明の効果】本発明によれば大量のメモリや処理負荷
なしに、簡易かつ適応的なハフマン符号を生成すること
ができる。さらに、ハードウェアで実装する際に、回路
構成を簡略化することができる。
【図面の簡単な説明】
【図1】 背景技術の具体例1の符号化装置を示す構成
図である。
【図2】 背景技術の具体例1の符号化装置における符
号化処理の動作の一例を示すフローチャートである。
【図3】 背景技術の具体例1の符号化装置における符
号表更新処理の動作の一例を示すフローチャートであ
る。
【図4】 背景技術の具体例1の復号装置を示す構成図
である。
【図5】 背景技術の具体例1の復号装置における復号
処理の動作の一例を示すフローチャートである。
【図6】 背景技術の具体例1の符号化装置における支
配シンボルリストの内部フォーマット例を示す説明図で
ある。
【図7】 背景技術の具体例1の符号化装置において作
成される符号例を示す説明図である。
【図8】 背景技術の具体例1の符号化装置における符
号表更新に用いる条件例を示す説明図である。
【図9】 背景技術の具体例2の符号化復号装置におい
て作成される符号例を示す説明図である。
【図10】 背景技術の具体例2の符号化復号装置にお
ける符号表更新処理の部分動作の一例を示すフローチャ
ートである。
【図11】 背景技術の具体例2の符号化復号装置にお
いて作成される符号例を示す説明図である。
【図12】 背景技術の具体例の符号化復号装置による
実験結果例を示す説明図である。
【図13】 本発明の実施例1の符号化復号装置の要部
を説明する図である。
【図14】 本発明の実施例1の符号化復号装置による
実験結果例を示す説明図である。
【図15】 本発明の実施例2の符号化装置を示す構成
図である。
【図16】 本発明の実施例2における各データの概念
を示す説明図である。
【図17】 本発明の実施例2における中間シンボルメ
モリの内部データ例を示す説明図である。
【図18】 本発明の実施例2の復号装置を示す構成図
である。
【図19】 本発明の実施例2の復号装置における復号
処理の動作の一例を示すフローチャートである。
【図20】 従来のハフマン符号例を示す説明図であ
る。
【図21】 従来例の符号化装置を示す構成図である。
【図22】 従来例の符号化装置における符号化処理の
動作の一例を示すフローチャートである。
【図23】 従来例の復号装置を示す構成図である。
【図24】 従来例の復号装置における復号処理の動作
の一例を示すフローチャートである。
【符号の説明】
10 データ入力部 15 符号入力部 20 度数集計部 30 支配シンボル選択部 40 符号割当部 50 固定符号語メモリ 60 符号語メモリ 61 中間シンボルメモリ 70 ハフマン符号化部 75 ハフマン復号部 80 符号出力部 85 データ出力部 100 入力データ 110 度数データ 120 支配シンボル度数データ 130 固定符号語データ 140、141 符号語データ 142 符号表データ 143 中間シンボルデータ 150、151 符号データ

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 符号化対象データを入力するデータ入力
    手段と、 前記データ入力手段から入力される前記符号化対象デー
    タに含まれるシンボルのうち予め選択された支配候補シ
    ンボルの各々の出現度数を計数する度数集計手段と、 前記度数集計手段により計数された出現度数に基づい
    て、前記支配候補シンボルのセットから支配シンボルを
    選択するデータ選択手段と、 各シンボルの予測される出現確率に従って予め設計した
    符号語を保持する固定符号語記憶手段と、 前記支配シンボルに対しては所定の手法で新たに符号語
    を生成し、さらにその他のシンボルに対しては、前記支
    配シンボル以外のシンボルであることを示す符号語と前
    記固定符号語記憶手段に保持された符号語とを組み合せ
    たものを新たな符号語として割当てる符号割当手段と、 前記符号割当手段で生成された符号語を保持する符号語
    記憶手段と、 前記符号語記憶手段に保持した符号語に基づいて前記デ
    ータ入力手段から入力される前記符号化対象データを符
    号化する符号化手段と、 前記符号化手段で生成された符号データを出力する符号
    出力手段とを有することを特徴とする符号化装置。
  2. 【請求項2】 前記支配候補シンボルは発生頻度が高い
    と推測されるものとする請求項1記載の符号化装置。
  3. 【請求項3】 前記符号割当手段における符号語作成処
    理は、予め候補としてあげた符号表のいずれかになるよ
    う限定する請求項1または2記載の符号化装置。
  4. 【請求項4】 前記候補としてあげる符号表は発生頻度
    が高いと推測される種類、および、他の候補との関係か
    ら削除した場合に圧縮率の悪化が推測される種類のうち
    少なくとも一方の種類のものとする請求項3記載の符号
    化装置。
  5. 【請求項5】 前記符号化手段は前記符号化対象データ
    に加えて、前記データ選択手段で選択した支配シンボル
    を特定する中間シンボルデータを符号化する請求項1、
    2、3または4記載の符号化装置。
  6. 【請求項6】 前記符号化手段は前記符号化対象データ
    に加えて、前記符号割当手段で生成した符号語を特定す
    る符号表データを符号化する請求項1、2、3、4また
    は5記載の符号化装置。
  7. 【請求項7】 中間シンボルを記憶する中間シンボル記
    憶手段を有し、 前記中間シンボル記憶手段の内容は前記データ選択手段
    で選択した中間シンボルデータに基づいて設定し、 前記符号化手段で行う符号化は前記符号語記憶手段に保
    持した符号語に加えて前記中間シンボル記憶手段に保持
    した中間シンボルデータに基づく請求項1、2、3、
    4、5または6記載の符号化装置。
  8. 【請求項8】 符号データを入力する符号入力手段と、 符号語を記憶する符号語記憶手段と、 前記符号語記憶手段に保持した符号語に基づいて前記符
    号入力手段から入力される前記符号データを復号する復
    号手段と、 前記復号手段の復号により生成したデータに含まれるシ
    ンボルのうち予め選択された支配候補シンボルの各々の
    出現度数を計数する度数集計手段と、 前記度数集計手段により計数した出現度数に応じて、前
    記支配候補シンボルのセットから支配シンボルを選択す
    るデータ選択手段と、 各シンボルの予測される出現確率に従って予め設計した
    符号語を保持する固定符号語記憶手段と、 前記支配シンボルに対しては所定の手法で新たに符号語
    を生成し、さらにその他のシンボルに対しては前記支配
    シンボル以外のシンボルであることを示す符号語と前記
    固定符号語記憶手段に保持された符号語とを組み合せた
    ものを新たな符号語として割当てる符号割当手段とを有
    し、 前記符号割当手段で生成された符号語を前記符号語記憶
    手段に記憶させ、さらに、 前記復号手段が復号したデータを出力するデータ出力手
    段を有することを特徴とする復号装置。
  9. 【請求項9】 請求項5または6記載の符号化装置によ
    り符号化された符号データを入力する符号データ入力手
    段と、 符号語を記憶する符号語記憶手段と、 前記符号語記憶手段に保持した符号語に基づいて前記符
    号入力手段から入力される前記符号データを復号する復
    号手段とを有し、 前記符号語記憶手段に保持する符号語を、前記復号手段
    で復号した上記符号表データおよび上記中間シンボルデ
    ータの少なくとも一方に基づいて設定することを特徴と
    する復号装置。
  10. 【請求項10】 前記符号語記憶手段に初期値として設
    定される符号は予め定数が設定してある請求項9記載の
    復号装置。
  11. 【請求項11】 請求項5記載の符号化装置により符号
    化された符号データを入力する符号データ入力手段と、 符号語を記憶する符号語記憶手段と、 前記符号語記憶手段に保持した符号語に基づいて前記符
    号入力手段から入力される前記符号データを復号する復
    号手段と、 前記中間シンボルを記憶する中間シンボル記憶手段とを
    有し、 前記中間シンボル記憶手段の内容は前記復号手段で復号
    した中間シンボルデータに基づいて設定し、前記復号手
    段で行う復号は前記符号語記憶手段に保持した符号語に
    加えて前記中間シンボル記憶手段に保持した中間シンボ
    ルデータに基づくことを特徴とする復号装置。
JP14537098A 1998-05-27 1998-05-27 符号化装置および復号装置 Expired - Fee Related JP3593884B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14537098A JP3593884B2 (ja) 1998-05-27 1998-05-27 符号化装置および復号装置
US09/301,552 US6188338B1 (en) 1998-05-27 1999-04-29 Coding apparatus, decoding apparatus and methods applied thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14537098A JP3593884B2 (ja) 1998-05-27 1998-05-27 符号化装置および復号装置

Publications (2)

Publication Number Publication Date
JPH11340838A true JPH11340838A (ja) 1999-12-10
JP3593884B2 JP3593884B2 (ja) 2004-11-24

Family

ID=15383660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14537098A Expired - Fee Related JP3593884B2 (ja) 1998-05-27 1998-05-27 符号化装置および復号装置

Country Status (2)

Country Link
US (1) US6188338B1 (ja)
JP (1) JP3593884B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010035373A1 (ja) * 2008-09-25 2010-04-01 株式会社ルネサステクノロジ 画像復号方法及び画像符号化方法
JP2010178163A (ja) * 2009-01-30 2010-08-12 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
JP2011199877A (ja) * 2011-04-22 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、符号化装置、及びプログラム
JP2011217381A (ja) * 2011-04-22 2011-10-27 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、符号化装置、及びプログラム
JP2012075134A (ja) * 2011-11-02 2012-04-12 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、符号化装置、及びプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000261803A (ja) * 1999-03-04 2000-09-22 Sega Enterp Ltd 画像情報の符号化方法及び復号化方法
JP4214440B2 (ja) * 2000-10-19 2009-01-28 ソニー株式会社 データ処理装置およびデータ処理方法、並びに記録媒体
US6690306B1 (en) * 2000-11-03 2004-02-10 Intel Corporation Method of generating a length-constrained huffman code
US6677868B2 (en) * 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
DE10247404B4 (de) * 2002-10-04 2007-10-18 T & T Medilogic Medizintechnik Gmbh Sensor zum Erfassen von Kräften nach Größe und Richtung und daraus gebildete Druckmessplatte
DE102007039427A1 (de) * 2007-08-21 2009-02-26 Beckhoff Automation Gmbh Steuerknoten für ein Netzwerk aus Steuerknoten
US10491241B1 (en) * 2017-07-04 2019-11-26 Habana Labs Ltd. Data compression scheme utilizing a repetitive value within the data stream
JP2022047426A (ja) 2020-09-11 2022-03-24 キオクシア株式会社 メモリシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63232626A (ja) 1987-03-20 1988-09-28 Fujitsu Ltd デ−タ圧縮復元方式
JPH06217274A (ja) * 1993-01-18 1994-08-05 Matsushita Electric Ind Co Ltd 画像信号圧縮装置
US5510785A (en) * 1993-03-19 1996-04-23 Sony Corporation Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method
JP2638426B2 (ja) 1993-06-16 1997-08-06 日本電気株式会社 可変長符号化装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010035373A1 (ja) * 2008-09-25 2010-04-01 株式会社ルネサステクノロジ 画像復号方法及び画像符号化方法
JP2010178163A (ja) * 2009-01-30 2010-08-12 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
JP4759064B2 (ja) * 2009-01-30 2011-08-31 日本電信電話株式会社 符号表選択方法、符号化装置、プログラム及び記録媒体
JP2011199877A (ja) * 2011-04-22 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、符号化装置、及びプログラム
JP2011217381A (ja) * 2011-04-22 2011-10-27 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、符号化装置、及びプログラム
JP2012075134A (ja) * 2011-11-02 2012-04-12 Nippon Telegr & Teleph Corp <Ntt> 符号表選択方法、符号化装置、及びプログラム

Also Published As

Publication number Publication date
US6188338B1 (en) 2001-02-13
JP3593884B2 (ja) 2004-11-24

Similar Documents

Publication Publication Date Title
US5045852A (en) Dynamic model selection during data compression
JP5221047B2 (ja) 圧縮率の向上のために改善されたコンテキストモデル選択を使用するcabac符号化方法及び装置、並びにcabac復号化方法及び装置
KR100340828B1 (ko) 적응 확률 추정방법 및 적응 부호화 방법과 적응 복호화 방법
EP1832000B1 (en) Device and data method for selective compression and decompression and data format for compressed data
US5999111A (en) Variable length encoding/decoding apparatus using re-association of symbol-codeword for variable length code table
US7304590B2 (en) Arithmetic decoding apparatus and method
US5650783A (en) Data coding/decoding device and method
KR100733795B1 (ko) 이진상태들의 산술적 인코딩 및 디코딩 방법 및 장치, 및이에 해당하는 컴퓨터 프로그램 및 컴퓨터 판독가능저장매체
JP3593884B2 (ja) 符号化装置および復号装置
KR20060012093A (ko) 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더
US11265561B2 (en) Method and apparatus for range derivation in context adaptive binary arithmetic coding
KR20090005001A (ko) 엔트로피 부호화 방법 및 장치와, 엔트로피 복호화 방법 및장치
JP2008118307A (ja) 符号化装置及びその制御方法
JP3161697B2 (ja) 符号化装置、復号装置および符号化復号装置ならびにそれらの方法
JP3990464B2 (ja) ディジタルビデオ信号プロセッサのためのデータ効率のよい量子化テーブル
CN116366071A (zh) 一种基于ans编码的封装方法、系统、存储介质及设备
JP2003264703A (ja) データ符号化装置、データ符号化方法、及びそのプログラム
JP2005521324A (ja) 損失のないデータの圧縮および圧縮解除方法および装置
CN114429200A (zh) 规范化哈夫曼编解码方法及神经网络计算芯片
JP4936574B2 (ja) 符号化装置及びその制御方法
US7936290B2 (en) Dynamic selection of suitable codes for variable length coding and decoding
Midtvik et al. Reversible compression of MR images
JP3648944B2 (ja) データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置
JPH05336378A (ja) 画像処理装置
JPH07236063A (ja) データ圧縮装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040723

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040810

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040823

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070910

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees