JPH08293800A - データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置 - Google Patents

データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置

Info

Publication number
JPH08293800A
JPH08293800A JP7271577A JP27157795A JPH08293800A JP H08293800 A JPH08293800 A JP H08293800A JP 7271577 A JP7271577 A JP 7271577A JP 27157795 A JP27157795 A JP 27157795A JP H08293800 A JPH08293800 A JP H08293800A
Authority
JP
Japan
Prior art keywords
code
context
registered
data
character
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
JP7271577A
Other languages
English (en)
Other versions
JP3238854B2 (ja
Inventor
Hironori Yahagi
裕紀 矢作
Nobuko Sato
宣子 佐藤
Yoshiyuki Okada
佳之 岡田
Shigeru Yoshida
茂 吉田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP27157795A priority Critical patent/JP3238854B2/ja
Priority to US08/574,436 priority patent/US5801648A/en
Publication of JPH08293800A publication Critical patent/JPH08293800A/ja
Application granted granted Critical
Publication of JP3238854B2 publication Critical patent/JP3238854B2/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
    • 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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method

Landscapes

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

Abstract

(57)【要約】 【課題】 少ないメモリでも良いデータ圧縮率が得ら
れ、また、文頭に顕著な文脈が現れていない場合や文脈
自体が変化した場合にも良い圧縮率を得ることができる
データ圧縮方法を提供することを第1の課題とする。 【解決手段】 データ列を登録するデータ列登録部を用
いると共に、未登録を示すデータが予め含まれて構成さ
れたデータ列の符号化情報を登録する符号情報登録部を
用い、符号化情報は、入力データの履歴に応じて符号化
されるデータ圧縮方法において、新規に入力されたデー
タの直前に入力されたデータ列を文脈とするとき、文脈
と新規入力データからなる符号化対象データ列をデータ
列登録部に新規登録するデータ列新規登録過程と、符号
化対象データ列を符号化した情報を符号情報登録部に新
規登録する符号情報新規登録過程と、符号情報登録部に
登録された符号情報を出力する符号情報出力過程と、符
号情報登録部を更新する符号情報更新過程とを備えて構
成した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ圧縮方法、
データ復元方法、データ圧縮装置及びデータ復元装置に
関する。
【0002】
【従来の技術】近年、文字コード、画像データ等の様々
な種類のデータがコンピュータで扱われるのに伴って、
取り扱われるデータ量も急速に増加してきている。大量
のデータを扱う場合、データ中の冗長な部分を省いてデ
ータ量を圧縮することにより、記憶容量を減らしたり、
早く伝送したりできるようになる。
【0003】ここで、データの種類を問わずに圧縮でき
る方法として、ユニバーサル符号化方式が提案されてい
る。ユニバーサル符号化方式にはデータ系列の類似性を
利用した辞書型符号化方式と、データ列の出現頻度を利
用した確率統計型符号化方式がある。そして、確率統計
型符号化方式には、算術符号化方式、スプレー符号化方
式、ブレンドスプレー符号化方式等が存在する。
【0004】以下、算術符号化方式、スプレー符号化方
式、ブレンドスプレー符号化方式について説明する。な
お、本明細書では、1ワード単位のデータを文字(アル
ファベット)と呼び、任意のワード単位でつながったデ
ータを文字列と呼ぶ。 (算術符号化方式)算術符号化方式は、情報源の文字の
出現頻度が既知の場合に、最大効率で圧縮できる符号化
方式であり、2値で算術符号化する方式(2値算術符号
化方式)と3値以上で算術符号化する方式(多値算術符
号化方式)とが存在する(例えば、Bell,T.C.,Cleary,
J.G.,and Witten,I.H(1990) “Text Compression”,Pre
nticeHallや“Arithmetic Cording for Data Compressi
on”IAN H.WITTEN他著Commun.of ACM Vol.130 No.6 P52
0-540,“An Adaptive DependencySorce Model for Data
Compression Scheme”D.M.Abrahamson著Commun.of ACM
Vol.132 No.1 P77-83を参照)。
【0005】以下、図1を参照して多値算術符号化方式
について説明する。なお、2値で算術符号化する方式に
ついては、多値算術符号化方式の特別な場合と考えるこ
とができる。
【0006】まず、多値算術符号化では、数直線0≦P
<1(以下、[0,1)と記述する)を、出現した文字
(以下、シンボルと称する)の事象数で分割する。数直
線上のシンボルの幅(区間)は、出現頻度に比例する。
最初に、出現したシンボルの区間を選択し、次に選択し
た区間をさらに[0,1)のときと同様に全シンボルで
分割する。さらに分割した区間について、第2に出現し
たシンボルの区間を選択する。以後、全入力データにつ
いて先の処理を繰り返すことで符号化する文字列の区間
を決定する。このようにして最終的に定まった区間内の
任意の点を、2進数で表示したときの小数点以下が、符
号として出力される。
【0007】ここで、出現頻度に応じて区間を分割する
方式としては、静的符号化方式(static)、準適応型符号
化方式(semi-adaptive)及び適応型符号化方式(adaptiv
e)の3つの方式が知られている。
【0008】静的符号化方式では、実際の文字の出現頻
度によらず、予め設定した出現頻度に従って区間を分割
する。準適応型符号化方式では、最初に全文字列を走査
して得た出現頻度に従って、区間を分割する。
【0009】適応型符号化方式では、文字が出現するご
とに文字の頻度を再計算し、再計算した出現頻度に従っ
て区間を分割する。なお、符号化することにより圧縮さ
れたデータは、符号に従って数直線上の区間を徐々に限
定することにより復号される(以下、このことを復元と
いう)。復元では、符号化の場合と同一の出現頻度を計
算することで、符号化の場合と同じ分割区間が常に得ら
れる。
【0010】(スプレー符号化方式)スプレー符号化方
式は、木構造で表された符号表を表す符号木を用いる符
号化方式である。スプレー符号化方式では、符号木の終
端節点(葉又はリーフという)に文字を登録し、符号木
の頂点(根又はルートという)から記号が登録されてい
る葉までの経路に割り当てられた値を符号として出力す
る。また、スプレー符号化方式では、根から文字が登録
されている葉までの距離を符号長とする。
【0011】符号は、具体的には、下記のように割り当
てられいる。即ち、根から葉へ下るとき、右へ分岐する
経路には“1”が割り当てられ、左へ分岐する経路には
“0”が割り当てられる。例えば図2(a)に示す符号
木の場合、文字Aの符号は“00”であり、記号Eの符
号は“1100”である。
【0012】そして、スプレー符号化方式では、出現頻
度が高い文字ほど符号長が短くなるように、具体的に
は、符号長が半分になるように符号木を組み替える処理
(スプレー処理)が行われる。スプレー処理は、言い換
えれば、出現頻度が高い文字に短い符号が割り当てられ
るようする処理である。
【0013】スプレー処理では、符号化した葉と他の葉
を入れ替えたり、符号木上の節点(ノードという)を入
れ替えたりすることで行われる。スプレー処理の一例を
図2(b)を参照して説明する。
【0014】まず、スプレー処理を行う以前は、根から
文字Eが登録された葉までの距離は“4”である。ここ
で、スプレー処理として、文字Eが登録された葉と文字
Gが登録された葉を入れ替えるるとともに、入れ替えた
後の葉を接続する節点と文字A,B,Cを接続する節点
とを組み替える。このようなスプレー処理を行った後で
は、根から文字Eが登録された葉までの距離は“2”に
なり、スプレー処理を行う前に比べ半分になっているこ
とがわかる。
【0015】なお、スプレー符号化方式に関しては、例
えば、文献“Application of SplayTree to Data Compr
ession”Douglas W.Jones著Commun. of ACM Vol.131 N
o.8P996-1007を参照することが好ましい。
【0016】(ブレンドスプレー符号化方式)ブレンド
スプレー符号化方式は、ブレンドモデルと呼ばれるモデ
ルを利用してて符号化する方式である。
【0017】以下、「文脈」の概念、「次数」の概念、
ブレンドモデルの概念及びブレンドスプレー符号化の概
念について説明する。スプレー符号化方式では、一文字
毎の出現確率に基づいて動的に可変長符号化されていた
が、ブレンドスプレー符号化方式では、データの圧縮率
を高めるため、直前に出現した文字列(「文脈」とい
う)と、文脈の直後に出現した文字(符号化対象文字)
との前後関係を取り入れた条件付き出現確率を用いて可
変長符号化される。
【0018】まず、文脈(例えば、図3(a)に示され
る“abc”)及び符号化対象文字(例えば、図3
(b)に示される“c”)は、図3(b)に示すような
木構造(以下、文脈木という)で表され、条件付き出現
確率は、文脈木の各節点に表された文字を有する文字列
が出現する毎に、その出現回数を各節点で計数しておく
ことで求められる。ここで、文脈に含まれる文字の数を
「次数」という。
【0019】図3(b)で、0次、1次、2次と記され
ている部分は、それぞれ、rootと記された位置からの距
離が0、1、2であることを示している。そして、0次
と記された場所には、出現する可能性がある全ての文字
が示されており、1次と記された場所には、0次に示さ
れた文字に続いて出現する文字が示されており、2次と
記された場所には、1次に示された場所に続いて出現す
る文字が示されている。例えば、2次の場所で矢印で示
された箇所にある文字“c”は、1次の文字“b”に続
いて出現したものであり、1次の文字“b”は、0次の
文字“a”に続いて出現したものである。従って、矢印
で示された2次の文字“c”は、文字列“ab”に続い
て出現したことになる。
【0020】また、図3(b)で、各次数の文字の下側
に記されたP()は、先に説明した、文脈と符号化対象
文字との前後関係を取り入れた条件付き出現確率を表し
ている。例えば、P(y|X1,X2) の場合、文字X1の後に
文字X2が出現し、さらにその直後に文字y が出現する条
件付き出現確率を表している。
【0021】ブレンドモデルは、複数の次数の文脈とそ
の文脈に続く文字とを登録(保持)するものである。ブ
レンドモデルの「ブレンド」は、異なる次数の文脈が混
合されていることに由来する。なお、ブレンドモデル
は、ブレンドスプレー符号化のみに用いられるわけでは
なく、他の符号化でも用いられる。
【0022】ブレンドモデルにおける文字の登録方法
は、逐次登録型、即ち、データ中に出現した文脈に従い
1次ずつ次数をあげる方法を採用する場合がある。ただ
し、初期状態では、出現可能なすべての文字が予め登録
される。
【0023】例えば、出現可能な文字が“A”、“B”
及び“C”の3文字であり、文字列“AABABC”が
出現した場合、図4(b)に示す文脈木のように、既に
登録済みの次数よりも1つ高い次数を持つ文脈(“A
A”、“AB”、“BA”及び“BAB”)が登録され
る。
【0024】なお、ブレンドモデルでは、図5(a)に
示すように、葉を持つ節点に未出現文字を表す“ES
C”(エスケープコードとも呼ばれる)を登録すること
がある。図5(a)の各節点に付された番号は、文脈木
ノード番号と呼ばれるもので、辞書(データを集合させ
たもの)の中で、各節点を区別するのに用いられる。
【0025】そして、逐次登録型と対比される文字の登
録方法に、全登録型がある。この方法は、例えば、符号
化済みデータ中の全ての0次、1次及び2次(以下、0
/1/2次と表す)文脈を登録する。例えば、出現可能
な文字が“A”、“B”及び“C”の3文字であり、文
字列“AABABC”が出現した場合、図4(a)に示
すように、0次の文脈“A”、“B”及び“C”、1次
の文脈“AA”、“AB”、“BA”及び“AB”、並
びに2次の文脈“AAB”、“ABA”及び“BAB”
が登録される。
【0026】次に、ブレンドスプレー符号化について説
明する。ブレンドスプレー符号化は、原理的には、スプ
レー符号化と同様の符号化であり、出現可能な全ての文
字、即ち全ての0次の文脈を符号木に初期登録する(図
6(c)参照)。
【0027】そして、図6(a)及び図6(b)に示す
ように、1次以上の文脈の記号を登録する節点の葉に
は、実際に出現した文字と、実際に出現した文字以外の
文字が出現していないことを表す“ESC”(エスケー
プ符号又は未出現符号と呼ばれる)とが登録される。
【0028】ブレンドスプレー符号化では、以下のよう
な基準で符号が出力される。 1)出現した文字(符号化対象文字)が符号木上に登録
されていれば、その登録位置の葉に割り当てられた符号
を出力する。
【0029】2)符号化対象文字が符号木上に登録され
ていなければ、ESCを出力する。 3)1)及び2)の処理後、一つ下の次数の文脈、即
ち、現在の文脈から先頭文字を除いてできる新たな文脈
の後に、符号化対象文字が出現したとして、文脈が0次
になるまでの、1)及び2)の処理を繰り返す。
【0030】図6で2次の文脈aaに続く文字“d”を
符号化する場合、符号化文字“d”は0次の文脈として
のみ登録されているので、2次の文脈で登録されていな
いことを示すESC(符号は11)を最初に出力する
(図6(a)参照)。そして、1次の文脈で登録されて
いないことを示すESC(符号は11)を出力する(図
6(b)参照)。最後に、0次の文脈に登録されている
ことを示す符号d[...11]を出力する(図6
(c)参照)。総括すると、符号列(111100..
11)が出力される。
【0031】そして、スプレー符号化では、符号化対象
文字を符号化後に、符号化した次数の一つ上の次数の符
号木に符号化対象文字を新たに登録する。この登録は、
符号木内のESCを新たなESCと新規の葉とに分岐さ
せ、新しく作られた葉に符号化対象文字を登録すること
や、符号化した次数より一つ上の次数の文脈に対応する
文脈木上に符号化対象文字を新たに登録することで行わ
れる。
【0032】
【発明が解決しようとする課題】確率統計型圧縮方式
は、統計的な各文字の出現頻度に従い、出現確率の高い
文字に対して短い符号長を割り振ることによって圧縮効
果を得ている。ここで、一文字毎の出現確率(P(y))では
なく、文脈を取り入れた条件付出現確率(例えば、2次
の文脈だとP(y|x1,x2))に基づいて可変長符号化すると
一層の圧縮効果を得ることができる。
【0033】一方、適応型符号化方式は、出現した文脈
と符号化対象文字の組み合わせ全てを文脈木と符号表に
順次登録し、登録済みの組に対してはその文字の符号長
が短くなるように、その文脈の符号表を更新する。ここ
で、次数を高くするのに伴って文脈木が大きくなるた
め、メモリ上の制限から、全ての条件付出現確率を追跡
することができなくなる。
【0034】この問題は今までも指摘されてきたが、具
体的な対処方法が示されていなかった。このため、文頭
に出現した文脈と符号化対象文字の組み合わせ全てをメ
モリ上限まで登録した後は、新たな登録をせず、既に登
録済みの組の符号長更新のみを行っていた。
【0035】従って、登録された文脈が文頭に現れてい
ない場合には、良い圧縮率が得られなかった。また、文
脈自体が変化した場合にも、良い圧縮率が得られなかっ
た。一方、ブレンドモデルを利用して符号・復号化する
方式では、ブレンドモデルに多数のESCが登録される
ため(図5参照)、符号・復号化時に大容量の作業領域
を必要としている。
【0036】本発明は、このような事情に鑑みてなされ
たもので、少ないメモリでも良いデータ圧縮率が得ら
れ、また、文頭に顕著な文脈が現れていない場合や文脈
自体が変化した場合にも良い圧縮率を得ることができる
データ圧縮方法を提供することを第1の課題とする。
【0037】また、本発明は、ブレンドモデルを利用し
て符号・復号化する場合でも大容量の作業領域を必要と
せず、効率の良い辞書容量を達成できるデータ圧縮方法
及びデータ復号方法、並びに、データ圧縮装置及びデー
タ復元装置を提供することを第2の課題とする。
【0038】
【課題を解決するための手段】
《本発明の第1のデータ圧縮方法》本発明の第1のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項1に対応)。
【0039】即ち、データ列を登録するデータ列登録部
を用いると共に、未登録を示すデータが予め含まれて構
成されたデータ列の符号化情報を登録する符号情報登録
部を用い、前記符号化情報は、入力データの履歴に応じ
て符号化されるデータ圧縮方法において、新規に入力さ
れたデータの直前に入力されたデータ列を文脈とすると
き、データ列新規登録過程、符号情報新規登録過程、符
号情報出力過程及び符号情報更新過程を備えている。
【0040】(データ列登録部)データ列登録部は、デ
ータ列を登録する。データは、アルファベット、数字、
ひらがな、かたかな、記号等を使用することができる。
【0041】また、データ列登録部は、例えば、RAM
(Random Access Memory)、半導体記憶装置、磁気ディ
スク記憶装置、磁気テープ装置、M/O(Magnet Optic
al;光磁気ディスク装置)、I/Cカード等を利用する
ことができる。
【0042】そして、データ列登録部には、データ列の
出現回数を登録することが好ましい。さらに、データ列
登録部は、木構造、表形式で構成することができる。
【0043】(符号情報登録部)符号情報登録部は、未
登録を示すデータ、例えばエスケープコード(ESC)
が予め含まれて構成されたデータ列の符号化情報を登録
する。前記符号化情報は、データ列の出現頻度に基づい
て符号化される。
【0044】また、符号情報登録部は、例えば、RA
M、半導体記憶装置、磁気ディスク記憶装置、磁気テー
プ装置、M/O、I/Cカード等を利用することができ
る。そして、符号情報登録部には、符号情報の出現回数
を登録することが好ましい。
【0045】さらに、符号情報登録部は、木構造、表形
式で構成することができる。 (データ列新規登録過程)データ列新規登録過程では、
前記文脈と新規入力データからなる符号化対象データ列
を前記データ列登録部に新規登録する。
【0046】そして、データ列新規登録過程では、前記
符号化対象データ列が1回目に出現した時点で、その符
号化対象データ列を前記データ列登録部に新規登録す
る。 (符号情報新規登録過程)符号情報新規登録過程では、
前記符号化対象データ列を符号化した情報を前記符号情
報登録部に新規登録する。
【0047】そして、符号情報新規登録過程では、前記
符号化対象データ列が2回目に出現した時点で、その符
号化対象データ列を符号化した情報を前記符号情報登録
部に新規登録する。
【0048】(符号情報出力過程)符号情報出力過程で
は、前記符号情報登録部に登録された符号情報を出力す
る。
【0049】(符号情報更新過程)符号情報更新過程で
は、前記符号情報登録部を更新する。 《本発明の第2のデータ圧縮方法》本発明の第2のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項2に対応)。
【0050】即ち、第1のデータ圧縮方法において、前
記データ列登録部はデータ列の出現回数を一定数まで監
視し、前記符号情報新規登録過程では、出現回数が所定
数を越えて登録されている符号化対象データ列の符号化
情報のみを新規登録することである(請求項2に対
応)。 《本発明の第3のデータ圧縮方法》本発明の第3のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項3に対応)。
【0051】即ち、データ列登録部を用いると共に、符
号情報登録部を用い、前記符号化情報は、入力データの
履歴に応じて符号化されるデータ圧縮方法において、新
規に入力されたデータの直前に入力されたデータ列を文
脈とするとき、データ列新規登録過程、符号情報新規登
録過程、符号情報更新過程及びデータ列・符号情報削除
過程を備えている。
【0052】(データ列登録部)データ列登録部は、デ
ータ列を登録する。データは、アルファベット、数字、
ひらがな、かたかな、記号等を使用することができる。
【0053】また、データ列登録部は、例えば、RA
M、半導体記憶装置、磁気ディスク記憶装置、磁気テー
プ装置、M/O、I/Cカード等を利用することができ
る。そして、データ列登録部には、データ列の出現回数
を登録することが好ましい。
【0054】さらに、データ列登録部は、木構造、表形
式で構成することができる。 (符号情報登録部)符号情報登録部は、未登録を示すデ
ータ、例えばエスケープコード(ESC)が予め含まれ
て構成されたデータ列の符号化情報を登録する。前記符
号化情報は、データ列の出現頻度に基づいて符号化され
る。
【0055】また、符号情報登録部は、例えば、RA
M、半導体記憶装置、磁気ディスク記憶装置、磁気テー
プ装置、M/O、I/Cカード等を利用することができ
る。そして、符号情報登録部には、符号情報の出現回数
を登録することが好ましい。
【0056】さらに、符号情報登録部は、木構造、表形
式で構成することができる。 (データ列新規登録過程)データ列新規登録過程では、
前記文脈と新規入力データからなる符号化対象データ列
を前記データ列登録部に新規登録する。
【0057】(符号情報新規登録過程)符号情報新規登
録過程では、前記符号化対象データ列を符号化した情報
を前記符号情報登録部に新規登録する。
【0058】(符号情報出力過程)符号情報出力過程で
は、前記符号情報登録部に登録された符号情報を出力す
る。
【0059】(符号情報更新過程)符号情報更新過程で
は、前記符号情報登録部を更新する。 (データ列・符号情報削除過程)データ列・符号情報削
除過程では、前記データ列登録部に登録されているデー
タ列を削除すると共に、前記符号情報登録部に登録され
ている符号化情報を削除する。 《本発明の第4のデータ圧縮方法》本発明の第4のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項4に対応)。
【0060】即ち、第3のデータ圧縮方法において、前
記データ列・符号情報削除過程は、前記データ列登録部
に登録されているデータ列及び前記符号情報登録部に登
録されている符号化情報を初期化するか否かを判断する
初期化判断過程と、前記初期化判断過程で、データ列及
び符号化情報を初期化すると判断した場合に、前記デー
タ列登録部に登録されているデータ列を初期化すると共
に、前記符号情報登録部に登録されている符号化情報を
初期化する初期化過程とを有する。 《本発明の第5のデータ圧縮方法》本発明の第5のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項5に対応)。
【0061】即ち、第4のデータ圧縮方法において、前
記初期化施行判断過程では、新規入力データの容量の累
積値を計数し、計数値が一定量を越えるごとに、前記初
期化過程を施行する。 《本発明の第6のデータ圧縮方法》本発明の第6のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項6に対応)。
【0062】即ち、第4のデータ圧縮方法において、前
記削除施行判断過程では、データ圧縮率を監視し、この
データ圧縮率が低下した場合に、前記初期化過程を施行
する。 《本発明の第7のデータ圧縮方法》本発明の第7のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項7に対応)。
【0063】即ち、第4のデータ圧縮方法において、前
記初期化施行判断過程では、前記データ列登録部におけ
る全登録数が新規登録の際に一定数を超える場合に、前
記初期化過程を施行する。 《本発明の第8のデータ圧縮方法》本発明の第8のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項8に対応)。
【0064】即ち、第3のデータ圧縮方法において、前
記データ列・符号情報削除過程は、前記データ列登録部
に登録されているデータ列及び前記符号情報登録部に登
録されている符号化情報を削除するか否かを判断する削
除判断過程と、前記削除施行判断過程で、削除すると判
断した場合に、削除するデータ列及び符号化情報を選別
する削除対象選別過程と、前記削除対象選別過程で選別
されたデータ列及び前記符号化情報を、それぞれ前記デ
ータ列登録部及び前記符号情報登録部から削除する削除
過程とを有する。 《本発明の第9のデータ圧縮方法》本発明の第9のデー
タ圧縮方法は、前述した第1の課題を解決するため、下
記の如く構成されている(請求項9に対応)。
【0065】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、前記データ列登録部を木構造
でみた場合に、木の内部節点であるノード及び木の終端
であるリーフを指すポインタ全てを削除順位リストに登
録し、この削除順位リストで低位に登録されたポインタ
が指すデータ列及び符号化情報を前記削除過程にて削除
する。 《本発明の第10のデータ圧縮方法》本発明の第10の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項10に対応)。
【0066】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、前記データ列登録部を木構造
でみた場合に、木の終端であるリーフを指すポインタを
一つの削除順位リストに登録し、この削除順位リストで
低位に登録されたポインタが指すデータ列及び符号化情
報を前記削除過程にて削除する。 《本発明の第11のデータ圧縮方法》本発明の第11の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項11に対応)。
【0067】即ち、第9のデータ圧縮方法において、前
記削除対象選別過程では、前記ポインタの出現回数を監
視して、出現回数の高いポインタを前記削除順位リスト
の高位に登録する。 《本発明の第12のデータ圧縮方法》本発明の第12の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項12に対応)。
【0068】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、新規登録のリーフに相当する
ポインタを前記削除順位リストの最高順位に登録し、新
規登録によってリーフが内部ノードになった場合には、
その内部ノードになったものを指すポインタを削除す
る。 《本発明の第13のデータ圧縮方法》本発明の第13の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項13に対応)。
【0069】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、新規登録のリーフに相当する
ポインタを前記削除順位リストの最高順位に登録し、そ
のリーフの親及び先祖に相当する内部ノードを指すポイ
ンタの順位を繰り下げる。 《本発明の第14のデータ圧縮方法》本発明の第14の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項14に対応)。
【0070】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、新規登録のリーフに相当する
ポインタを前記削除順位リストの最低順位に登録し、新
規登録によってリーフが内部ノードになった場合には、
その内部ノードになったものを指すポインタを削除す
る。 《本発明の第15のデータ圧縮方法》本発明の第15の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項15に対応)。
【0071】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、新規登録のリーフに相当する
ポインタを前記削除順位リストの最低順位に登録し、そ
のリーフの親及び先祖に相当する内部ノードを指すポイ
ンタの順位を繰り下げる。 《本発明の第16のデータ圧縮方法》本発明の第16の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項16に対応)。
【0072】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、新規登録のリーフに相当する
ポインタを前記削除順位リストの最低順位に登録し、新
規登録によってリーフが内部ノードになった場合には、
その内部ノードになったものを指すポインタを削除す
る。 《本発明の第17のデータ圧縮方法》本発明の第17の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項17に対応)。
【0073】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、新規登録のリーフに相当する
ポインタを前記削除順位リストの最低順位に登録し、そ
のリーフの親及び先祖に相当する内部ノードを指すポイ
ンタの順位を繰り下げる。 《本発明の第18のデータ圧縮方法》本発明の第18の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項18に対応)。
【0074】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、出現回数が所定値以下となっ
たデータ列及び符号化情報を削除対象として選別する。 《本発明の第19のデータ圧縮方法》本発明の第19の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項19に対応)。
【0075】即ち、第8のデータ圧縮方法において、前
記削除対象選別過程では、ある文脈の出現回数の合計値
を求め、前記文脈に続いて入力されたデータの出現回数
が前記合計値に対して所定比以下となる場合に、該デー
タを削除対象として選別する。 《本発明の第20のデータ圧縮方法》本発明の第20の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項18に対応)。
【0076】即ち、第8のデータ圧縮方法において、前
記削除施行判断過程では、前記データ列登録部における
登録数を監視し、新規登録の際にこの数が一定数を超え
る場合、前記削除対象選別過程において選別された削除
対象の一つを前記削除過程で削除し、換わりに新規登録
の組を登録する。 《本発明の第21のデータ圧縮方法》本発明の第21の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項21に対応)。
【0077】即ち、第8のデータ圧縮方法において、前
記削除過程では、前記データ列登録部に登録されている
データ列の半分を削除し、削除されたデータ列に対応す
る符号化情報を前記符号情報登録部から削除する。 《本発明の第22のデータ圧縮方法》本発明の第22の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項22に対応)。
【0078】即ち、第3のデータ圧縮方法において、前
記データ列・符号情報削除過程は、削除するデータ列及
び符号化情報を選別する削除対象選別過程を有し、新規
登録の際に、前記データ列登録部の登録数が所定数を越
えていれば、削除対象選別過程で選別された削除対象の
一つを削除すると共に新規登録の組を登録し、データ圧
縮率が低減していれば、全削除を行う。 《本発明の第23のデータ圧縮方法》本発明の第23の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項23に対応)。
【0079】即ち、第3のデータ圧縮方法において、前
記符号情報登録部が2分木構造の符号木でできている場
合に、符号木の葉であるリーフをデータとする共に、符
号木の根であるルートから各リーフまでの経路を符号と
する。
【0080】そして、前記符号情報更新過程では、前記
符号木の頂点から新規入力データ及び未登録を示すデー
タのいずれか一方が登録されたリーフを、他のリーフも
しくは符号木の頂点以外の分岐点であるノードのいずれ
か一方と取り替えることにより符号木を更新する。
【0081】そして、前記符号情報新規登録過程では、
前記符号木のリーフを分岐して得た新規リーフに符号情
報を登録する。そして、前記データ列・符号情報削除過
程では、符号木のリーフを、1経路分だけルートに近い
所に位置する分岐ノードとともに削除する。 《本発明の第24のデータ圧縮方法》本発明の第24の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項24に対応)。
【0082】即ち、第1のデータ圧縮方法において、前
記符号情報登録部に登録される符号情報は、算術符号化
方式により符号化される。 《本発明の第25のデータ圧縮方法》本発明の第25の
データ圧縮方法は、前述した第1の課題を解決するた
め、下記の如く構成されている(請求項25に対応)。
【0083】即ち、第24のデータ圧縮方法において、
前記データ列・符号情報削除過程は、削除判断過程、削
除対象選別過程、削除過程及び削除用更新過程とを有す
る。削除判断過程では、前記データ列登録部に登録され
ているデータ列及び前記符号情報登録部に登録されてい
る符号化情報を削除するか否かを判断する。
【0084】削除対象選別過程では、前記削除施行判断
過程で削除すると判断した場合に、削除するデータ列及
び前記符号化情報を選別する。削除過程では、前記削除
対象選別過程で選別されたデータ列及び符号化情報を、
それぞれ前記データ列登録部及び前記符号情報登録部か
ら削除する。
【0085】削除用更新過程では、削除過程で削除され
た後の前記符号情報登録部を更新する。そして、前記削
除用更新過程では、符号情報の出現回数を2の倍数で割
り、割った値が1以下になる場合にその出現回数を1と
する。
【0086】本発明の第1のデータ圧縮方法によれば、
符号情報登録部に対する登録が制限される。また、本発
明の第2〜第25のデータ圧縮方法によれば、データ列
登録部に登録されるデータ列及び符号情報登録部に登録
される符号化情報が、それぞれ、全部あるいは一部削除
される。 《本発明の第26のデータ圧縮方法》本発明の第26の
データ圧縮方法は、前述した第2の課題を解決するた
め、下記の如く構成されている(請求項26に対応)。
【0087】即ち、種類が限定された文字を対象とし、
入力文字を、既に出現した文字列を表す文脈に応じて符
号化することにより圧縮するデータ圧縮方法において、
文脈辞書登録過程、符号表登録過程、次数設定過程、登
録判別過程、未出現符号登録過程、未登録処理過程、繰
り返し過程、符号出力過程及び追加登録過程を備えてい
る。そして、未出現符号は、設定されている次数の文脈
に対応している。
【0088】(文脈辞書登録過程)文脈辞書登録過程で
は、符号化処理対象文脈及びその子である符号化対象文
字の組み合わせを文脈辞書に登録する。
【0089】(符号表登録過程)符号表登録過程では、
前記文脈辞書に登録された前記符号化対象文字を符号化
したときの情報を符号表に登録する。
【0090】(次数設定過程)次数設定過程では、文脈
に含まれる文字数で表される次数を設定する。 (登録判別過程)登録判別過程では、設定された次数を
有する前記符号化処理対象文脈及び前記符号化対象文字
の組み合わせが前記文脈辞書に登録されているか否かを
判別する。
【0091】(未出現符号登録過程)未出現符号登録過
程では、前記符号化処理対象文脈及び前記符号化対象文
字の組み合わせががない場合に、より低い次数の文脈へ
の脱出を示す未出現符号を、設定された次数の文脈に対
応した符号表に登録する。
【0092】(未登録処理過程)未登録処理過程では、
前記登録判別過程で、前記符号化処理対象文脈及び前記
符号化対象文字の組み合わせが登録されていないと判別
された場合に、前記設定されている次数の未出現符号を
出力するとともに設定されている次数を一つ下げる処理
を行う。
【0093】(繰り返し過程)繰り返し過程では、前記
登録判別過程で、前記符号化処理対象文脈及び前記符号
化対象文字の組み合わせが登録されていると判別される
まで、前記登録判別過程、前記追加登録過程及び前記未
登録処理過程を繰り返す。
【0094】(符号出力過程)符号出力過程では、前記
登録判別過程で、前記符号化処理対象文脈及び前記符号
化対象文字の組み合わせが登録されていると判別された
場合に、前記符号表から、符号化対象文字に対応した符
号を出力する。
【0095】(追加登録過程)追加登録過程では、前記
符号化対象文字を、符号化された次数より上の次数の前
記文脈辞書及び前記符号表に追加登録する。 《本発明の第27のデータ圧縮方法》本発明の第27の
データ圧縮方法は、前述した第2の課題を解決するた
め、下記の如く構成されている(請求項27に対応)。
【0096】即ち、第26のデータ圧縮方法において、
前記符号表の未出現符号は、符号表の格納場所に対応す
る関係にある。そして、未出現の文字を符号化する場合
に、符号表の格納場所に対応する符号を出力する。 《本発明の第28のデータ圧縮方法》本発明の第28の
データ圧縮方法は、前述した第2の課題を解決するた
め、下記の如く構成されている(請求項28に対応)。
【0097】即ち、第26のデータ圧縮方法において、
前記符号化処理対象文脈と前記符号化対象文字との各組
み合わせに関して、前記符号化処理対象文脈に対応する
符号表の格納場所と、前記符号化処理対象文脈に符号化
対象文字を連結して生成される第2の符号化処理対象文
脈に対応する符号表の格納場所とを登録する。
【0098】そして、前記第2の符号化処理対象文脈に
関する未出現符号を出力する場合に、前記第2の符号化
処理対象文脈に対応する符号表の格納場所を利用する。 《本発明の第29のデータ圧縮方法》本発明の第29の
データ圧縮方法は、前述した第2の課題を解決するた
め、下記の如く構成されている(請求項32に対応)。
【0099】即ち、第26のデータ圧縮方法において、
前記文脈辞書は、文脈木として構成されている。そし
て、前記符号表は、2分木からなる符号木として構成さ
れている。 《本発明の第30のデータ圧縮方法》本発明の第30の
データ圧縮方法は、前述した第2の課題を解決するた
め、下記の如く構成されている(請求項33に対応)。
【0100】即ち、第29のデータ圧縮方法において、
前記符号木内の未出現符号に相当する各枝の内の最後に
枝を、前記符号木の根に結合させ、未出現符号を符号化
する場合には、符号木の根からその親をたどり、再び、
根に戻るまで、各節点の分岐に応じた符号を出力する。 《本発明の第31のデータ圧縮方法》本発明の第31の
データ圧縮方法は、前述した第2の課題を解決するた
め、下記の如く構成されている(請求項34に対応)。
【0101】即ち、第29のデータ圧縮方法において、
前記符号化処理対象文脈と前記符号化対象文字との各組
み合わせに関して、前記符号化処理対象文脈に対応する
符号木の根と、前記符号化処理対象文脈に符号化対象文
字を連結して生成される第2の符号化処理対象文脈に対
応する符号木の根とを登録する。
【0102】そして、前記第2の符号化処理対象文脈に
関する未出現符号を出力する場合に、前記第2の符号化
処理対象文脈に対応する符号木の根を利用する。 《本発明の第1のデータ復元方法》本発明の第1のデー
タ復元方法は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項29に対応)。
【0103】即ち、種類が限定された文字を対象とし、
入力文字を、既に出現した文字列を表す文脈に応じて符
号化することにより圧縮されたデータを復元するデータ
復元方法において、次数設定過程、文脈辞書登録過程、
符号表登録過程、符号表決定過程、未出現符号登録過
程、復元処理過程、文字出力過程及び復元文字追加登録
過程を備えている。そして、設定されている次数の前記
復号化処理対象文脈における未出現符号を、設定されて
いる次数の文脈に対応させる。
【0104】(次数設定過程)次数設定過程では、文脈
に含まれる文字数で表される次数を設定する。 (文脈辞書登録過程)文脈辞書登録過程では、復号化済
みの文字と所定の次数の文脈との組合せを文脈辞書に登
録する。
【0105】(符号表登録過程)符号表登録過程では、
復号化のための情報を復号化した各文脈毎に独立して符
号表に登録する。
【0106】(符号表決定過程)符号表決定過程では、
直前に復号化した所定の次数の復号化処理対象文脈に対
応した符号表を決定する。
【0107】(未出現符号登録過程)未出現符号登録過
程では、設定されている次数の復号化処理対象文脈に復
号化対象文字が登録されていない場合に、より低い次数
の文脈への脱出を示す未出現符号を、設定されている次
数の文脈に対応した符号表に登録する。
【0108】(復元処理過程)復元処理過程では、文字
が復元できるまで、各次数の未出現符号を復元すると共
に設定されている次数を一つ下げる処理を行う。
【0109】(文字出力過程)文字出力過程では、文字
が復元できた場合に、符号に対応した文字を符号表から
出力する。
【0110】(復元文字追加登録過程)復元文字追加登
録過程では、文字がある次数で復元できた場合に、復元
できた文字を、復元できた次数より上の次数の前記文脈
辞書及び前記符号表に追加登録する。 《本発明の第2のデータ復元方法》本発明の第2のデー
タ復元方法は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項30に対応)。
【0111】即ち、第1のデータ復元方法において、前
記符号表の未出現符号は、符号表の格納場所に対応する
関係にある。そして、符号表の格納場所に対応する符号
に対しては、未出現符号として復元化する。 《本発明の第3のデータ復元方法》本発明の第3のデー
タ復元方法は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項31に対応)。
【0112】即ち、第1のデータ復元方法において、前
記文脈辞書登録過程では、前記復号化処理対象文脈と前
記復号化対象文字との各組み合わせに関して、前記復号
化処理対象文脈に対応する符号表の格納場所と、前記復
号化処理対象文脈に復号化対象文字を連結して生成され
る第2の復号化処理対象文脈の格納場所とを登録する。
【0113】そして、前記第2の復号化処理対象文脈を
復元化する場合に、前記第2の復号化処理対象文脈の格
納場所を利用する。 《本発明の第4のデータ復元方法》本発明の第4のデー
タ復元方法は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項35に対応)。
【0114】即ち、第1のデータ復元方法において、前
記文脈辞書は、文脈木として構成されている。そして、
前記符号表は、2分木からなる符号木として構成されて
いる。 《本発明の第5のデータ復元方法》本発明の第5のデー
タ復元方法は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項36に対応)。
【0115】即ち、第4のデータ復元方法において、前
記符号木内の未出現符号に相当する各枝の内の最後の枝
を、符号木の根に結合させ、未出現符号を復号化する場
合には、符号木の根から左右の子を符号ビットに応じて
たどり、再び、根に戻ることで未出現符号と判断する。 《本発明の第6のデータ復元方法》本発明の第6のデー
タ復元方法は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項37に対応)。
【0116】即ち、第4のデータ復元方法において、前
記復号化処理対象文脈と前記復号化対象文字との各組み
合わせに関して、前記復号化処理対象文脈に対応する符
号木の根を登録するとともに、前記復号化処理対象文脈
に復号化対象文字を連結して生成される第2の復号化処
理対象文脈に対応する符号木の根を登録する。
【0117】そして、前記第2の復号化処理対象文脈を
復元化する場合に、前記第2の復号化処理対象文脈に対
応する符号木の根を利用する。 《本発明の第1のデータ圧縮装置》本発明の第1のデー
タ圧縮装置は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項38に対応)。
【0118】即ち、種類が限定された文字を対象とし、
入力文字を、既に出現した文字列を表す文脈に応じて符
号化することにより圧縮するデータ圧縮装置において、
文脈辞書登録部、符号木登録部、次数設定部、登録判別
部、未出現符号登録部、未登録処理部、繰り返し部、符
号出力部及び符号化対象文字追加登録部を備えている。
【0119】(文脈辞書登録部)文脈辞書登録部では、
符号化処理対象文脈及びその子である符号化対象文字の
組み合わせを文脈辞書に登録する。
【0120】また、文脈辞書登録部では、登録する文脈
に一意の識別子を割り当てる。 (符号木登録部)符号木登録部では、前記文脈辞書に登
録された前記符号化対象文字を符号化したときの情報
を、2分木からなる符号木に登録する。
【0121】また、符号木登録部では、前記符号木の根
に一意の識別子を割り当てる。 (次数設定部)次数設定部では、文脈に含まれる文字数
で表される次数を設定する。
【0122】(登録判別部)登録判別部では、設定され
た次数を有する前記符号化処理対象文脈及び前記符号化
対象文字の組み合わせが前記文脈辞書に登録されている
か否かを判別する。
【0123】(未出現符号登録部)未出現符号登録部で
は、前記符号化処理対象文脈及び前記符号化対象文字の
組み合わせががない場合に、より低い次数の文脈への脱
出を示す未出現符号を、設定された次数の文脈に対応し
た符号木の根として登録する。
【0124】また、未出現符号登録部では、前記文脈辞
書登録部で割り当てられた識別子と一致するともに、前
記符号木登録部で割り当てられた識別子とも一致する識
別子を前記未出現符号に割り当てる。
【0125】(未登録処理部)未登録処理部では、前記
登録判別部で、前記符号化処理対象文脈及び前記符号化
対象文字の組み合わせが登録されていないと判別された
場合に、前記設定されている次数の未出現符号を出力す
るとともに設定されている次数を一つ下げる処理を行
う。
【0126】(繰り返し部)繰り返し部では、前記登録
判別部で、前記符号化処理対象文脈及び前記符号化対象
文字の組み合わせが登録されていると判別されるまで、
前記登録判別部、前記追加登録部及び前記未登録処理部
で行われる処理を繰り返す。
【0127】(符号出力部)符号出力部では、前記登録
判別部で、前記符号化処理対象文脈及び前記符号化対象
文字の組み合わせが登録されていると判別された場合
に、前記符号木の根から符号化対象文字が格納されてい
る葉までの節点の分岐に応じた符号を出力する。
【0128】(符号化対象文字追加登録部)符号化対象
文字追加登録部では、前記登録判別部で、前記符号化処
理対象文脈及び符号化対象文字の組み合わせが登録され
ていると判別された場合に、前記符号化対象文字を、前
記組み合わせがあると判別された次数より上の次数の前
記文脈辞書及び前記符号木に追加して登録する。 《本発明の第2のデータ圧縮装置》本発明の第2のデー
タ圧縮装置は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項39に対応)。
【0129】即ち、第1のデータ圧縮装置において、前
記符号出力部は、符号化対象文字が未出現文字か一般の
文字かを判断するとともに、前記初期判断部で未出現文
字と判断された場合に、前記符号木の根からその親をた
どり、再び、根に戻るまで、前記符号木の節点を探索す
る。 《本発明の第3のデータ圧縮装置》本発明の第3のデー
タ圧縮装置は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項40に対応)。
【0130】即ち、第1のデータ圧縮装置において、前
記文脈辞書登録部では、前記符号化処理対象文脈と前記
符号化対象文字との各組み合わせに関して、前記符号化
処理対象文脈に対応する符号木の根と、前記符号化処理
対象文脈に符号化対象文字を連結して生成される第2の
符号化処理対象文脈に対応する符号木の根とを登録す
る。
【0131】そして、前記符号出力部では、前記第2の
符号化処理対象文脈に関する未出現符号を出力する場合
に、前記第2の符号化処理対象文脈に対応する符号木の
根を利用する。 《本発明の第1のデータ復元装置》本発明の第1のデー
タ復元装置は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項41に対応)。
【0132】即ち、種類が限定された文字を対象とし、
入力文字を、既に出現した文字列を表す文脈に応じて符
号化することにより圧縮されたデータを復元するデータ
復元装置において、次数設定部、文脈辞書登録部、符号
木登録部、符号木決定部、未出現符号登録部、文脈変更
部及び符号登録部を備えている。
【0133】(次数設定部)次数設定部では、文脈に含
まれる文字数で表される次数を設定する。 (文脈辞書登録部)文脈辞書登録部では、復号化済みの
文字と所定の次数の文脈との組合せを文脈辞書に登録す
る。
【0134】また、文脈辞書登録部では、登録する文脈
に一意の識別子を割り当てる。 (符号木登録部)符号木登録部では、復号化のための情
報を復号化した各文脈毎に独立して、2分木からなる符
号木に登録する。
【0135】また、符号木登録部では、前記符号木の根
に一意の識別子を割り当てる。 (符号木決定部)符号木決定部では、復号化のための情
報を復号化した各文脈毎に独立して、2分木からなる符
号木に登録する。
【0136】(未出現符号登録部)未出現符号登録部で
は、復号化対象文字が、設定されている次数の復号化処
理対象文脈に登録されていない場合に、より低い次数の
文脈への脱出を表す未出現符号を、設定されている次数
の文脈に対応した符号木の根として登録する。
【0137】(文脈変更部)文脈変更部では、文字を復
元できるまで、各次数の未出現符号を復元した後、復号
化処理対象文脈の次数を下げて復元の処理を繰り返す。
【0138】(復元文字登録部)復元文字登録部では、
復元化した文字を、復元できた次数より上の次数の前記
文脈及び前記符号木に登録する。 《本発明の第2のデータ復元装置》本発明の第2のデー
タ復元装置は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項42に対応)。
【0139】即ち、第1のデータ復元装置において、前
記復号化部では、未出現符号を復号化する場合に、符号
木の根から左右の子を符号ビットに応じてたどり、再び
根にもどることを確認することにより、未出現符号と判
断する。 《本発明の第3のデータ復元装置》本発明の第3のデー
タ復元装置は、前述した第2の課題を解決するため、下
記の如く構成されている(請求項43に対応)。
【0140】即ち、第1のデータ復元装置において、前
記文脈辞書登録部では、前記復号化処理対象文脈と前記
復号化対象文字との各組み合わせに関して、前記復号化
処理対象文脈に対応する符号木の根と、前記復号化処理
対象文脈に復号化対象文字を連結して生成される第2の
復号化処理対象文脈に対応する符号木の根とを登録す
る。
【0141】そして、前記符号出力部では、前記第2の
復号化処理対象文脈に関して復号化する場合に、前記第
2の復号化処理対象文脈に対応する符号木の根を利用す
る。
【0142】
【発明の実施の形態】以下、本発明の実施形態を図面を
参照して説明する。 (第1実施形態)第1実施形態は、登録制限処理を行っ
て確率統計適応型符号化するデータ圧縮方法に関する。
図7は、第1実施形態で行われるデータ圧縮方法の処理
フローチャート(その1)である。以下の説明で、P0
は、直前までに入力・符号化された文字(文脈)を意味
し、例えば、n次文脈モデルで符号化する場合には、直
前までのn文字を格納しているものとする。
【0143】最初に、文脈P0 を初期化するため“0”
を設定する(ステップ401)。なお、“0”を設定す
るとは、文脈P0 の要素を全て“0”で置き換えること
をいう(以下同様)。
【0144】次に、文脈を表す変数Pに文脈P0 をコピ
ーする(ステップ402)。シンボルKが入力された時
(ステップ403)、文脈Pの符号表にシンボルKが登
録されているか否かを判別する(ステップ404)。
【0145】ステップ404で、「登録されている」と
判別された場合には、文脈Pの符号表を用いてシンボル
Kに対応する符号を出力する(ステップ405)。符号
出力後、先に符号出力したシンボルKの符号が短くなる
ように符号表を更新する(ステップ406)。
【0146】そして、シンボルKを追加して、文脈P0
を更新する(ステップ407)。そして、全ての文字が
終了したか否かを判別する(ステップ408)。ステッ
プ408で、「終了していない」と判別された場合に
は、ステップ402に戻る。
【0147】ステップ408で、「終了した」と判別さ
れた場合には、処理を終了する。一方、ステップ404
で、「登録されていない」と判別された場合には、未出
現記号を表すエスケープコード(ESC)の符号を出力
する(ステップ409)。
【0148】符号出力後、先に符号出力したESCの符
号長が短くなるように符号表を更新する(ステップ41
0)。そして、文脈Pに続くK(K|P)は文脈木に登録済み
か否かを判別する(ステップ411)。
【0149】ステップ411で、「登録されている」と
判別された場合には、文脈Pの符号表にシンボルKを新
規登録する(ステップ412)。ステップ411で、
「登録されていない」と判別された場合には、文脈木に
K|P を新規登録する(ステップ413)。
【0150】ステップ412及びステップ413の処理
後に文脈Pを更新し、ステップ404に戻る。以上の動
作を、全ての入力文字に対して繰り返す。
【0151】次に、図8は、第1実施形態で行われるデ
ータ圧縮方法の処理フローチャート(その2)である。
図8におけるステップ501〜508は、図7における
ステップ401〜408と同様の処理なので説明を省略
する。
【0152】ステップ504で、「登録されていない」
と判別された場合には、文脈Pの符号表を用いてESC
の符号を出力する(ステップ509)。符号出力後、先
に符号出力したESCの符号長が短くなるように文脈P
の符号表を更新する(ステップ510)。
【0153】そして、文脈Pに続くシンボルKは既に
(N−1)回出現していたか否かを判別する(ステップ
511)。ステップ511で、「出現した」と判別され
た場合には、文脈Pの符号表にシンボルKを新規登録す
る(ステップ512)。
【0154】ステップ511で、「出現していない」と
判別された場合には、文脈Pに続くK(K|P)は文脈木に登
録済みか否かを判別する(ステップ514)。ステップ
514で、「登録済み」と判別された場合には、ステッ
プ513に進む。
【0155】ステップ514で、「登録されていない」
と判別された場合には、文脈木にK|P を新規登録する
(ステップ515)。ステップ512及びステップ51
5の処理後に文脈Pを更新し、ステップ504に戻る。
【0156】以上の動作を、全ての入力文字に対して繰
り返す。 (第2実施形態)第2実施形態は、削除処理を行って確
率統計適応型符号化するデータ圧縮方法に関する。
【0157】削除処理において、符号出力、符号表更新
に関する処理では、登録制限処理の場合と同様に、文脈
木にK|P が登録されていない場合に、文脈木、符号木と
もに新規登録を行う。また、新たな削除施行時に、符号
表と文脈の初期化を行う。
【0158】図9は、入力データサイズをカウントし、
一定数に達したときに初期化を行うことを内容とする削
除処理を行って確率統計適応型符号化するデータ圧縮方
法の処理フローチャートである。
【0159】最初に、ファイルサイズカウンタに相当す
るnの値を“0”に設定する(ステップ601)。次
に、文脈P0 に“0”を設定する(ステップ602)。
【0160】次に、変数P(文脈)に文脈P0 を入力す
る(ステップ603)。シンボルKが入力された時(ス
テップ604)、n≧Nか否かを判別する(ステップ6
05)。
【0161】ステップ605で、「YES」と判別され
た場合には、符号表及び文脈木を初期化する(ステップ
606)。そして、nの値を“0”に設定する(ステッ
プ607)。
【0162】ステップ605で、「NO」と判別された
場合には、nの値を1だけ増加させる(ステップ60
8)。ステップ607及びステップ608の処理後に、
文脈Pの符号表にシンボルKが登録されているか否かを
判別する(ステップ609)。
【0163】ステップ609で、「登録されている」と
判別された場合には、文脈Pの符号表を用いてシンボル
Kの符号を出力する(ステップ610)。そして、先に
符号出力したシンボルKの符号が短くなるように符号表
を更新する(ステップ611)。
【0164】そして、シンボルKを追加して、文脈P0
を更新する(ステップ612)。そして、全ての文字が
終了したか否かを判別する(ステップ613)。ステッ
プ613で、「終了していない」と判別された場合に
は、ステップ603に戻る。
【0165】ステップ613で、「終了した」と判別さ
れた場合には、処理を終了する。一方、ステップ609
で、「登録されていない」と判別された場合には、ES
Cの符号を出力する(ステップ614)。
【0166】符号出力後、先に符号出力したESCの符
号長が短くなるように符号表を更新する(ステップ61
5)。そして、文脈Pの符号表にシンボルKを新規登録
する(ステップ616)。
【0167】そして、文脈Pを変更し(ステップ61
7)、ステップ605に戻る。以上の動作を、全ての入
力文字に対して繰り返す。次に、図10は、圧縮率を一
定ファイルサイズ毎に比べ、圧縮率が下がった時に初期
化を行うことを内容とする削除処理を行って確率統計適
応型符号化するデータ圧縮方法の処理フローチャートで
ある。
【0168】最初に、ファイルサイズカウンタに相当す
るn1の値を“0”に、符号サイズカウンタに相当する
n2の値を“0”に、登録数カウンタに相当するmの値
を“0”に、それぞれ設定する(ステップ701)。
【0169】次に、文脈P0 を“0”に、変数Rの値を
“1”にそれぞれ設定する(ステップ702)。次に、
変数P(文脈)に文脈P0 を入力する(ステップ70
3)。シンボルKが入力された時(ステップ704)、
n1≧Nか否かを判別する(ステップ705)。
【0170】ステップ705で、「YES」と判別され
た場合に、n2/n1≧Rか否かを判別する(ステップ
706)。ステップ706で、「YES」と判別された
場合に、符号表及び文脈木を初期化すると共に、mの値
を“0”に設定する(ステップ707)。
【0171】そして、Rの値、n2/n1に設定する
(ステップ708)。ステップ706で、「NO」と判
別された場合に、Rの値を“1”に設定する(ステップ
709)。
【0172】ステップ708及びステップ709の処理
後に、n1及びn2の値を“0”に設定する(ステップ
710)。ここで、ステップ705で、「NO」と判別
された場合には、n1の値を“1”だけ増加させる(ス
テップ711)。
【0173】ステップ710及びステップ711の処理
後に、文脈Pの符号表にシンボルKが登録されているか
否かを判別する(ステップ712)。ステップ712
で、「登録されている」と判別された場合には、シンボ
ルKの符号を文脈Pの符号表を用いて出力する(ステッ
プ713)。
【0174】そして、Kの符号長だけn2の値を増加さ
せる(ステップ714)。そして、先に符号出力したシ
ンボルKの符号が短くなるように文脈Pの符号表を更新
する(ステップ715)。
【0175】そして、シンボルKを追加して、文脈P0
を更新する(ステップ716)。そして、全ての文字が
終了したか否かを判別する(ステップ717)。ステッ
プ717で、「終了していない」と判別された場合に
は、ステップ703に戻る。
【0176】ステップ717で、「終了した」と判別さ
れた場合には、処理を終了する。一方、ステップ712
で、「登録されていない」と判別された場合には、ES
Cの符号を出力する(ステップ718)。
【0177】そして、ESCの符号長だけn2の値を増
加させる(ステップ719)。そして、先に符号出力し
たESCの符号長が短くなるように符号表を更新する
(ステップ720)。
【0178】ここで、m≧Mか否かを判別する(ステッ
プ721)。ステップ721で、「NO」と判別された
場合に、文脈Pの符号表にシンボルKを新規登録すると
共に、mを1だけ増加させる(ステップ722)。
【0179】ステップ721で、「YES」と判別され
た場合及びステップ722の処理後に、文脈Pを変更し
(ステップ723)、ステップ705に戻る。以上の動
作を、全ての入力文字に対して繰り返す。
【0180】次に、図11は、総登録組数をカウント
し、一定数に達したときに初期化を行うことを内容とす
る削除処理を行って確率統計適応型符号化するデータ圧
縮方法の処理フローチャートである。
【0181】最初に、登録数カウンタに相当するmに
“0”を設定する(ステップ801)。次に、文脈P0
に“0”を設定する(ステップ802)。
【0182】次に、変数P(文脈)に文脈P0 を入力す
る(ステップ803)。シンボルKが入力された時(ス
テップ804)、文脈Pの符号表にシンボルKが登録さ
れているか否かを判別する(ステップ805)。
【0183】ステップ805で、「登録されている」と
判別された場合には、シンボルKの符号を出力する(ス
テップ806)。そして、先に符号出力したシンボルK
の符号が短くなるように文脈Pの符号表を更新する(ス
テップ807)。
【0184】そして、シンボルKを追加して、文脈P0
を更新する(ステップ808)。そして、全ての文字が
終了したか否かを判別する(ステップ809)。ステッ
プ809で、「終了していない」と判別された場合に
は、ステップ803に戻る。
【0185】ステップ809で、「終了した」と判別さ
れた場合には、処理を終了する。一方、ステップ805
で、「登録されていない」と判別された場合には、m≧
Mか否かを判別する(ステップ810)。
【0186】ステップ810で、「YES」と判別され
た場合には、符号表及び文脈木を初期化する(ステップ
811)。そして、mの値を“0”に設定する(ステッ
プ812)。
【0187】ステップ810で、「NO」と判別された
場合には、mの値を“1”だけ増加させる(ステップ8
13)。ステップ812及びステップ813の処理後
に、ESCの符号を出力する(ステップ814)。
【0188】そして、先に符号出力したESCの符号が
短くなるように符号表を更新する(ステップ815)。
そして、文脈Pの符号表にシンボルKを新規登録する
(ステップ816)。
【0189】そして、文脈Pを更新し(ステップ81
7)、ステップ805に戻る。即ち、入力文字がなくな
るまで以上の処理を繰り返す。 (第3実施形態)第3実施形態は、部分削除処理を行っ
て確率統計適応型符号化するデータ圧縮方法に関する。
【0190】部分削除処理において、符号出力、符号表
更新に関する処理では、文脈木にK|P が登録されていな
い場合に、文脈Pの符号表にシンボルKを新規登録し、
更に削除順位リストにも先の組(K|P)を登録する。ま
た、符号表更新の際に、符号化した文字の削除順位が高
くなるように削除順位リストを更新する。削除時(例え
ば、一定量の文字を符号化するごとに)に、削除順位リ
ストに従って、順位が低い組を符号表、文脈木から削除
する。
【0191】図12は、一定ファイルサイズ毎に部分削
除を行うことを内容とする部分削除処理を行って確率統
計適応型符号化するデータ圧縮方法の処理フローチャー
トである。
【0192】最初に、ファイルカウンタに相当するnの
値を“0”に設定する(ステップ901)。次に、文脈
0 に“0”を設定する(ステップ902)。
【0193】次に、変数P(文脈)に文脈P0 を入力す
る(ステップ903)。シンボルKが入力された時(ス
テップ904)、n≧Nか否かを判別する(ステップ9
05)。
【0194】ステップ905で、「YES」と判別され
た場合には、削除順位リストを部分削除すると共に、符
号表及び文脈木を部分削除する(ステップ906)。そ
して、nの値を“0”に設定する(ステップ907)。
【0195】ステップ905で、「NO」と判別された
場合には、nの値を“1”だけ増加させる(ステップ9
08)。ステップ907及ぶステップ908の処理後に
は、文脈Pの符号表にシンボルKが登録されているか否
かを判別する(ステップ909)。
【0196】ステップ909で、「YES」と判別され
た場合には、シンボルKの符号を出力する(ステップ9
10)。そして、先に符号出力したシンボルKの符号が
短くなるように符号表を更新する(ステップ911)。
【0197】そして、シンボルKを追加して、文脈P0
を更新する(ステップ912)。そして、シンボルKの
順位が高くなるように、削除順位を更新する(ステップ
913)。
【0198】そして、全ての文字が終了したか否かを判
別する(ステップ914)。ステップ914で、「終了
していない」と判別された場合には、ステップ903に
戻る。
【0199】ステップ914で、「終了した」と判別さ
れた場合には、処理を終了する。ステップ909で、
「YES」と判別された場合には、ESCの符号を出力
する(ステップ915)。
【0200】そして、先に符号出力したESCの符号が
短くなるように符号表を更新する(ステップ916)。
そして、文脈Pの符号表にシンボルKを新規登録する
(ステップ917)。
【0201】そして、削除順位リストに、文脈Pに続く
シンボルKの組(K|P) を登録する(ステップ918)。
そして、文脈Pを更新し(ステップ919)、ステップ
905に戻る。即ち、入力文字がなくなるまで以上の処
理を繰り返す。
【0202】次に、図13(a)は、頻度順に削除順位
リストを更新することを内容とする部分削除処理を行っ
て確率統計適応型符号化するデータ圧縮方法の処理フロ
ーチャートである。
【0203】最初に、文脈P’に文脈Pをコピーする
(ステップ1001)。次に、文脈P’が“0”か否か
を判別する(ステップ1002)。ステップ1002
で、「YES」と判別された場合には、P’の頻度を
“1”インクリメントし、頻度に応じて削除順位を変更
する(ステップ1003)。
【0204】ステップ1002で、「NO」と判別され
た場合には、P’の頻度を“1”インクリメントし、頻
度に応じて削除順位を変更する(ステップ1004)。
そして、1つ次数を落とすことでP’を変更し(ステッ
プ1005)、ステップ1002に戻る。
【0205】図14(a)は、c|aaで符号化した場
合に、頻度順に削除順位リストを更新するとき、更新さ
れる削除順位リストの様子を示している。まず、文字及
び符号の組とその出現頻度として、aが8、bが5、c
が4、a|aが3、a|bが2、c|aが2、c|aa
が1であった場合に、削除順位リストは、図14の(a
−1)に示すように、出現頻度の大きいものから順に並
んで構成される。ここで、文脈aaに続いて文字cが出
現した場合に、c|aa、c|a、cの出現頻度がそれ
ぞれ1ずつ増加して、削除順位リストは、図14の(a
−2)に示すように、a、b、c、c|a、a|a、a
|b、c|aaの順に並び替えられる。
【0206】次に、図13(b)は、最も最近出現した
ものの順位が高くなるように削除順位リストを更新する
ことを内容とする部分削除処理を行って確率統計適応型
符号化するデータ圧縮方法の処理フローチャート(その
1)である。
【0207】最初に、文脈P’に文脈P、Kをコピーす
る(ステップ1011)。次に、文脈P’が“0”か否
かを判別する(ステップ1012)。ステップ1012
で、「YES」と判別された場合には、Kの削除順位を
最上位にし、それに伴って他の順位を繰り下げる(ステ
ップ1013)。
【0208】ステップ1012で、「NO」と判別され
た場合には、K|P’の削除順位を最上位にし、それに
伴って他の順位を繰り下げる(ステップ1014)。そ
して、1つ次数を落とすことでP’を変更し(ステップ
1015)、ステップ1012に戻る。
【0209】図14(b)は、c|aaで符号化した場
合に、最も最近出現したものの順位が高くなるように削
除順位リストを更新するとき、更新される削除順位リス
トの様子を示している。まず、削除順位リストは、図1
4の(b−1)に示すように、a、b、c、a|a、a
|b、c|a、c|aaの順に並んで構成されている。
ここで、文脈aaに続いて文字cが出現した場合に、
(b−2)、(b−3)、(b−4)の順で削除順位リ
ストが並び替えられる。即ち、(b−2)では、c|a
aが最上位で、他は(b−1)の順となるように並び替
えられる。(b−3)では、c|aが最上位で、他は
(b−2)の順となるように並び替えられる。そして、
(b−4)では、cが最上位で、他は(b−3)の順と
なるように並び替えられる。
【0210】次に、図13(c)は、最も最近出現した
ものの順位が高くなるように削除順位リストを更新する
ことを内容とする部分削除処理を行って確率統計適応型
符号化するデータ圧縮方法の処理フローチャート(その
2)である。
【0211】最初に、文脈P’に文脈P、Kをコピーす
る(ステップ1021)。次に、文脈P’が“0”か否
かを判別する(ステップ1022)。ステップ1022
で、「YES」と判別された場合には、Kの削除順位を
半分にし、それに伴って他の順位を繰り下げる(ステッ
プ1023)。
【0212】ステップ1022で、「NO」と判別され
た場合には、K|P’の削除順位を半分にし、それに伴
って他の順位を繰り下げる(ステップ1024)。そし
て、1つ次数を落とすことでP’を変更し(ステップ1
025)、ステップ1022に戻る。
【0213】図14(c)は、c|aaで符号化した場
合に、最も最近出現したものの順位が高くなるように削
除順位リストを更新するとき、更新される削除順位リス
トの様子を示している。まず、削除順位リストは、図1
4の(c−1)に示すように、a、b、c、a|a、a
|b、c|a、c|aaの順に並んで構成されている。
ここで、文脈aaに続いて文字cが出現した場合に、
(c−2)、(c−3)、(c−4)の順で削除順位リ
ストが並び替えられる。即ち、(c−2)では、c|a
aの順位が半分になって、他は(c−1)の順となるよ
うに並び替えられる。(c−3)では、c|aの順位が
半分になって、他は(c−2)の順となるように並び替
えられる。そして、(c−4)では、cの順位が半分に
なって、他は(c−3)の順となるように並び替えられ
る。
【0214】(第4実施形態)第4実施形態は、全削除
と部分削除を組み合わせた処理を行って確率統計適応型
符号化するデータ圧縮方法に関する。
【0215】全削除と部分削除を組み合わせた処理を行
って確率統計適応型符号化するとは、総登録組数が一定
数に達した後でさらに新規登録をする場合に、削除順位
リストに従って順位が低い組を符号表、文脈木から一つ
削除し、換わりに新規の組を登録し、圧縮率が低減した
場合に全削除を行うことをいう。
【0216】図15は、第4実施形態で行われるデータ
圧縮方法の処理フローチャートである。最初に、ファイ
ルサイズカウンタに相当するn1の値を“0”に、符号
サイズカウンタに相当するn2の値を“0”に、登録数
カウンタに相当するmの値を“0”に、それぞれ設定す
る(ステップ1201)。
【0217】次に、文脈P0 を“0”に、Rの値を
“1”に、それぞれ設定する(ステップ1202)。次
に、変数P(文脈)に文脈P0 を入力する(ステップ1
203)。シンボルKが入力された時(ステップ120
4)、n1≧Nか否かを判別する(ステップ120
5)。
【0218】ステップ1205で、「YES」と判別さ
れた場合に、n2/n1≧Rか否かを判別する(ステッ
プ1206)。ステップ1206で、「YES」と判別
された場合に、符号表及び文脈木を初期化すると共に、
mの値に“0”に設定する(ステップ1207)。
【0219】そして、Rの値を、n2/n1に設定する
(ステップ1208)。ステップ1206で、「NO」
と判別された場合に、Rの値を“1”に設定する(ステ
ップ709)。
【0220】ステップ1208及びステップ1209の
処理後に、n1及びn2の値を“0”に設定する(ステ
ップ1210)。ここで、ステップ1205で、「N
O」と判別された場合には、n1の値を“1”だけ増加
させる(ステップ1211)。
【0221】ステップ1210及びステップ1211の
処理後に、文脈Pの符号表にシンボルKが登録されてい
るか否かを判別する(ステップ1212)。ステップ1
212で、「登録されている」と判別された場合には、
シンボルKの符号を出力する(ステップ1213)。
【0222】そして、Kの符号長だけn2の値を増加さ
せる(ステップ1214)。そして、先に符号出力した
シンボルKの符号が短くなるように符号表を更新する
(ステップ1215)。
【0223】そして、シンボルKの順位が高くなるよう
に削除順位を更新する(ステップ1215)。そして、
シンボルKを追加して、文脈P0 を更新する(ステップ
1217)。
【0224】そして、全ての文字が終了したか否かを判
別する(ステップ1218)。ステップ1218で、
「終了していない」と判別された場合には、ステップ1
203に戻る。
【0225】ステップ1218で、「終了した」と判別
された場合には、処理を終了する。一方、ステップ12
12で、「登録されていない」と判別された場合には、
ESCの符号を出力する(ステップ1219)。
【0226】そして、ESCの符号長だけn2の値を増
加させる(ステップ1220)。そして、先に符号出力
したESCの符号長が短くなるように符号表を更新する
(ステップ1221)。
【0227】ここで、m≧Mか否かを判別する(ステッ
プ1222)。ステップ1222で、「NO」と判別さ
れた場合には、順位リストを一つ削除すると共に、符号
表及び文脈木一つを削除する(ステップ1223)。
【0228】ステップ1222で、「YES」と判別さ
れた場合には、mの値を1だけ増加させる(ステップ1
224)。ステップ1223とステップ1224の処理
後に、文脈Pの符号表にシンボルKを新規登録する(ス
テップ1225)。
【0229】そして、削除順位リストに、文脈Pに続く
シンボルKの組(K|P) を登録する(ステップ122
6)。そして、文脈Pを変更し(ステップ1227)、
ステップ1205に戻る。即ち、入力文字がなくなるま
で以上の処理を繰り返す。
【0230】(第5実施形態)第5実施形態は、文脈木
の削除することを内容とする削除処理を行って多値算術
符号化するデータ圧縮方法に関する。
【0231】図16は、第5実施形態で行われる文脈木
の削除方法を示している。まず、低い次数から同じ文脈
に続く文字の出現回数の総和が1/2になるように出現
回数の少ない枝から削除する。同図においては、まず0
次において総和が5000となるようにa以下を削除す
る。次に、1次において同様に総和が1/2となるよう
に枝を削除する。
【0232】以上を最高次数まで(本例では2次)繰り
返す。その後、削除後残った子供の出現回数を8で割
り、1以下になったものは1とする。なお、出現回数を
8で割るのは一例であり、2の倍数ならば何でもよい。
【0233】《第1〜第5実施形態の効果》第1〜第5
実施形態の効果を図17から図20を使用して説明す
る。なお、図17から図20において、(a)には登録
したうち符号化に使用しなかった組の割合変化が示され
ており、(b)には入力文字のうち高次(ただし、最高
次数を2次としている)で符号化できた割合の変化が示
されている。そして、(a)では、未使用の組数が少な
いほど辞書メモリを有効に利用できていることを意味
し、(b)では高次の符号化割合が大きいほど高い圧縮
率が得られることを意味している。
【0234】まず、図17は、従来行われていた全登録
無削除の場合、即ち、出現した文脈と符号化対象文字の
組合せ全てを文脈木と符号表に順次登録し、メモリ制限
まで登録した後は、新たな登録をせず、既に登録済みの
符号帳を更新する場合のファイルサイズと辞書登録数及
び符号化割合の関係を示す図である。図17(a)に示
すように、文脈変化の無い定常のデータ(各文字の統計
量が一定)では、辞書登録に伴って登録したうちの未使
用の組数も徐々に増えるが、全登録辞書数に占める未使
用の割合は徐々に減り、辞書メモリ制限一杯になった時
点で一定になる。また、図17(b)に示すように、高
次の符号化割合は、辞書登録に伴って徐々に大きくな
り、辞書が固定されてからは一定の割合を保つ。そし
て、文脈変化が起こると未使用の割合が増え、高次での
符号化割合も減少する。
【0235】次に、図18は、登録制限を行うが削除を
行わない場合のファイルサイズと辞書登録数及び符号化
割合の関係を示す図である。図18(a)に示すよう
に、登録制限を行っているため、全辞書登録数の増加度
は、従来の場合(図17参照)に比べ緩やかになってい
る。また、図18(b)に示すように、定常データで
は、未使用の割合が従来の場合(図17参照)に比べ少
なく、高次の符号化割合が多くなっている。そして、文
脈変化が起こると従来の場合と同様に未使用の割合が増
加し、高次での符号化割合が減少する。
【0236】次に、図19は、全登録を行うと共に全削
除を行う場合のファイルサイズと辞書登録数及び符号化
割合の関係を示す図である。ここでの登録方法とは、従
来と同様に、文脈変化が起こったときに辞書を全クリア
することである。辞書クリア後は、ファイル入力に伴っ
てファイルサイズが増大すると全辞書登録数は増え、辞
書メモリが一杯になった時点で登録が止められる。図1
9(a)に示すように、辞書登録に伴って全登録辞書数
に占める未使用の割合は徐々に減り、辞書メモリ制限一
杯になった時点で一定になる。また、図19(b)に示
すように、高次の符号化割合は、辞書登録に伴って徐々
に大きくなり、辞書が固定されてからは一定の割合が保
たれる。このように削除を行うことで、文脈の変化に適
応可能となっている。
【0237】次に、図20は、全登録を行うと共に部分
削除を行う場合のファイルサイズと辞書登録数及び符号
化割合の関係を示す図である。ここでの削除とは、辞書
が一杯になって時点で辞書を半分クリアすることであ
る。図20(b)に示すように、定常データにおいて
は、従来の場合に比べ未使用の割合が徐々に減ってい
き、それに伴って高次で符号化する割合が増加する。こ
のように部分削除を行うことで、文脈の変化に適応可能
となっている。
【0238】(第6実施形態)第6実施形態は、ESC
を文脈木に登録しないブレンドモデルを利用すると共
に、ESCを符号木に登録せずにブレンドスプレー符号
化するデータ圧縮方法及び装置に関する。
【0239】最初に、図5を参照して、従来のブレンド
モデルで用いられている文脈木を説明し、次に、図21
を参照して、第6実施形態におけるブレンドモデルで用
いられる文脈木を説明する。
【0240】まず、従来のブレンドモデルで用いられて
いる文脈木には、図5(a)に示すように、ESCが多
数登録されている。これらのESCは、未出現文字を表
しており、文脈に連なる文字が登録されていないことを
示すために用いられるものである。例えば、図5(a)
に示す文脈木には2次文脈BAに連なるCが登録されて
いないから、2次文脈BAに連なるCが探索された場合
には、2次のESCが出力される。
【0241】ここで、2次のESCが登録された節点に
は、図5(a)の場合、番号9が付されている。この番
号9の節点に登録された文字列はBAであり、属する符
号木の根はlroot(BA)(lroot=local root) である。
【0242】一方、同じ文脈木で番号6が付された節点
は、1次文脈Bに連なるAを探索した結果得られる節点
に相当する。文脈とこの文脈に連なる記号は、同じくB
Aであり、属する符号木の根はlroot(B) である。番号
6の節点は、BAの内のAに相当する。
【0243】両者の節点とも同じ文字列が対応している
が、その意味は異なる。即ち、前者の節点は、番号9の
節点に登録されたESCの親に相当する節点であること
を意味しており、後者の節点は、番号1の節点に登録さ
れた文字Bの子に相当する節点であることを意味してい
る。
【0244】ここで、ESCがその親の節点に所属して
いると考えて、図5(a)の文脈木からESCを取り除
くと、図21(a)に示す文脈木になる。この図21
(a)に示す文脈木には、ESCが登録されていない代
わりに、従来のブレンドモデルではESCがその子とし
て登録されていた節点(例えば、図5(a)で番号6の
節点)に、ESCの内容が併せて登録されている(図2
1(b)参照)。図21(b)の例では、番号8の節点
には、文字列として“BAB”が登録され、節点が表す
第2の符号化(復号化)処理対象文脈に対応する符号木
の根として“0”(これは葉であることを示す)が登録
され、節点の親である符号化(復号化)処理対象文脈に
対応する符号木の根としてlroot(BA) が登録される。
【0245】次に、図5を参照して、従来のブレンドス
プレー符号化で用いられている符号木について説明し、
次に、図22を参照して、第6実施形態におけるブレン
ドスプレー符号化で用いられる符号木について説明す
る。
【0246】まず、図5(b)は、従来のブレンドスプ
レー符号化で用いられる符号木を示している。この符号
木は、図5(a)に示される文脈木のなかの番号1の節
点(文字Bを登録)を親とした1次文脈に対応する。E
SCは、文脈木の葉の時(番号7の節点)と同様、独自
の番号を持っている。符号木の根は、2次文脈BAある
いはBCを探索した時に得られる。符号木の葉の番号
は、文脈木の節点の番号に、1対1に対応する。
【0247】そして、図22は、6実施形態のブレンド
スプレー符号化で用いられる符号木を示している。この
符号木は、図21(a)に示される文脈木と同様にES
Cが消えている。その代わり、この符号木は、ESCの
親の右側に位置していた子(右側の子)用のポインタ
が、符号木の根を指している。一方、符号木の根は、空
いていた親用のポインタがESCの親を指している。
【0248】次に、図23を参照して、従来のブレンド
スプレー符号化及び第6実施形態のブレンドスプレー符
号化における新規文字登録方法について説明する。この
新規文字登録方法は、符号化だけではなく、復号化にも
共通した方法である。図23(a)に示すように、従来
のブレンドスプレー符号化における新規文字登録方法で
は、ESCの箇所に二つの子を設け、一方の子を新規文
字とし、他方の文字をESCとしている。
【0249】一方、図23(b)に示すように、第6実
施形態のブレンドスプレー符号化における新規文字登録
方法では、文脈木にESCがないため、従来の方法でE
SCの親となっていた節点の下に新たな節点(番号は2
0)を設け、一方の子を新規文字とし、他方の子が符号
木の根を指すようにする。このようにすることで、符号
木にESCを登録せずにすむようになる。
【0250】次に、図24を参照して、データ圧縮装置
について説明する。文脈更新部106は、符号化が済ん
だ入力文字に基づいて、文脈を更新する。また、文脈更
新部106は、更新された文脈を前置データ保持部10
0−1〜100−nに出力する。
【0251】前置データ保持部100−1〜100−n
は、文脈更新部106で更新された文脈に、前回符号化
した文字を足して新たな文脈を作成する。また、前置デ
ータ保持部100−1〜100−nは、作成された文脈
を文脈変更部110に出力する。
【0252】文脈履歴保持部101は、文脈変更部11
0から出力された文脈の子に注目文字が有るか無いかを
調べる。ただし、有るか無いかの判断は、文脈判別部1
08で行われる。また、文脈履歴保持部101には、節
点に関して、「節点が表す第2の符号化(復号化)処理
対象文脈に対応する符号木の根」及び「節点の親である
符号化(復号化)処理対象文脈に対応する符号木の根」
の二つの情報を格納したテーブル(図21(b)参照)
を有している。
【0253】また、文脈履歴保持部101は、符号化対
象文字を割り当てられた節点がテーブル中に見つからな
い場合、現在の文脈に対応した符号木でESCを出力す
ることを指示するESC出力指示信号を、符号木決定部
103に出力する処理(処理Aという)を行う。
【0254】ESC出力指示信号が符号木決定部103
に出力された場合、文脈判別部108は、文脈の次数を
下げることを指示する次数減少指示信号を文脈変更部1
10に出力する処理(処理Bという)を行う。
【0255】処理A及び処理Bは、符号化対象文字を割
り当てられた節点がテーブル中に見つかるまで繰り返さ
れる。一方、符号化対象文字を割り当てられた節点がテ
ーブル中に見つかった場合、文脈履歴保持部101は、
現在の文脈に対応した符号木を利用して符号化対象文字
の符号を出力することを指示する符号出力指示信号を、
符号木決定部103に出力する。
【0256】符号木決定部103は、符号出力指示信号
を入力した場合に、現在の文脈に対応した符号木を符号
木保持部107から入力する。符号化部104は、符号
木の構造から符号を算出するとともに、算出した符号を
出力する。
【0257】符号木更新部105は、符号木の組み替え
操作を行う。文脈履歴保持部101及び符号登録部11
2は、ESCを最後に符号化した文脈に符号化対象文字
を登録する。
【0258】次に、図25を参照して、符号化部104
の詳細な構成を説明する。符号化部104には、根の番
号及び葉の番号が入力される。初期判断部104aは、
ESCを符号化する場合に、通常の葉とは異なる番号
を、ESCが割り当てられた葉の番号として出力する。
これは、ESCは独自の節点ではないため、ESCが割
り当てられた葉の番号がもともと無いためである。
【0259】ラッチ104bは、葉の番号をラッチする
と共に、ラッチした葉の番号を上位節点判別部104c
に出力する。情勢節点判断部104cは、葉の番号と根
の番号とを比較し、注目している節点であるかか否か、
あるいは根が葉であるかか否かを判断する。根であると
判断された場合には、終了信号を出力する。根でないと
判断された場合には、以下のように動作する。
【0260】即ち、ESCを符号化する場合には、通常
の葉とは異なる番号と根の番号を節点番号管理部104
dに出力する。また、ESCを符号化する場合には、図
22に示すように、根の親をたどって、通常の葉が上位
をたどるのと同じことをする。 一方、ESC以外の文
字を符号化する場合には、通常の節点(葉)番号と
“0”(根の番号の代わり)を節点番号管理部104d
に出力する。
【0261】節点番号管理部104dは、上位の節点に
付された番号(単に節点番号という)を上位節点判別部
104cに出力する。出力された上位の節点番号は、ラ
ッチ104bでラッチされる。
【0262】ラッチ104bでラッチされていた注目節
点番号及び上位の節点番号は、位置判断部104eに出
力される。さらに、注目節点番号及び上位の節点番号
は、位置判断部104eを経由して節点番号管理部10
4dに出力される。
【0263】節点番号管理部104dは、位置判断部1
04eから入力した注目節点番号及び上位の節点番号に
基づいて、注目節点が上位の節点の左側に位置するか右
側に位置するかを表す位置情報を位置判別部104eに
出力する。ここで、左側に位置すれば位置情報は“0”
であり、右側に位置すれば位置情報は“1”である。
【0264】位置情報は、位置判断部104eを経由し
てスタック104fに出力される。スタック104f
は、図示していないスタックポインターにより位置情報
を管理しており、上位節点判別部104cから終了信号
が出力されると、それまで管理していた出力情報を取り
出して出力する。
【0265】次に、図26及び図27を参照して、符号
化処理の流れを説明する。まず、文脈を表すP0 を初期
化する(ステップ2601)。ここでの初期化とは、文
脈P0 の要素を全て“0”で置き換えることをいう。
【0266】そして、文脈を表す変数Pに文脈P0 をコ
ピーする(ステップ2602)。文字Kが入力された時
(ステップ2603)、文脈Pの子として文字Kが登録
されているか否かを判別する(ステップ2604)。
【0267】ステップ2604で、「登録されている」
と判別された場合には、文脈Pに対応した符号木内で文
字Kの葉から根への、内部節点の分岐に対応した符号を
出力する(ステップ2605)。
【0268】次に、符号木の文字Kの葉と他の葉、また
は内部節点とを取り替える(ステップ2606)。そし
て、直前の文脈を表すP’の符号木に文字Kを登録する
(ステップ2607)。
【0269】そして、文字Kを挿入して直前の文脈P’
を更新する(ステップ2608)。そして、全ての文字
が終了したか否かを判断する(ステップ2612)。ス
テップ2612で、「終了していない」と判断された場
合には、ステップ2602に戻る。
【0270】ステップ2612で、「終了した」と判断
された場合には、処理を終了する。一方、ステップ26
04で、「登録されていない」と判断された場合には、
文脈Pに対応した符号木内で、根の親のポインタを経
て、再び根まで一巡するまでの、内部節点の分岐に対応
した符号を出力する(ステップ2619)。
【0271】次に、符号木の根をESCと仮定し、これ
を他の葉、または内部節点とを取り替える(ステップ2
610)。そして、文脈Pの次数をを1段階低次に移し
て((ステップ2611)、ステップ2604に戻る。
【0272】次に、図27を参照して、ステップ260
4、ステップ2605及びステップ2609に相当する
部分の詳細な処理の流れを説明する。まず、スタック1
04fを初期化する(ステップ2701)。
【0273】次に、文脈Pの子として文字Kが登録され
ているか否かを判断する(ステップ2702)。ステッ
プ2702で、「登録されている」と判断された場合に
は、文脈Pの符号木内の葉Kを現在の節点Lとするとと
もに、葉Kの親を上位の節点Uとする(ステップ270
3)。
【0274】ステップ2702で、「登録されていな
い」と判断された場合には、符号木の根を現在の節点L
とするとともに、根の親を上位の節点Uとする(ステッ
プ2704)。
【0275】ステップ2703及びステップ2704の
処理後に、現在の節点Lは上位の節点Uの右側にあるか
否かを判断する(ステップ2705)。ステップ270
5で、「右側にある」と判断された場合には、スタック
104fに“1”を押し込む(プッシュ)する(ステッ
プ2706)。
【0276】ステップ2705で、「右側にない」(=
「左側にある」)と判断された場合には、スタック10
4fに“0”を押し込む(プッシュ)する(ステップ2
707)。
【0277】ステップ2706及びステップ2707の
処理後に、上位の節点Uは符号木の根か否かを判断する
(ステップ2708)。ステップ2708で、「根でな
い」と判断された場合には、上位の節点Uを現在の節点
Lとして(ステップ2709)、ステップ2705に戻
る。
【0278】ステップ2708で、「根である」と判断
された場合には、スタック104fの内容を1ビットづ
つ取り出して出力して(ステップ2710)、処理を終
了する。
【0279】(第7実施形態)第7実施形態は、第6実
施形態で述べた方法で圧縮された符号を復号するデータ
復号方法及び装置に関する。
【0280】最初に、図28を参照して、データ復号装
置について説明する。文脈更新部206は、復号化が済
んだ入力文字に基づいて、文脈を更新する。また、文脈
更新部206は、更新された文脈を前置データ保持部2
00−1〜200−nに出力する。
【0281】前置データ保持部200−1〜200−n
は、文脈更新部206で更新された文脈に、前回復号化
した文字を足して新たな文脈を作成する。また、前置デ
ータ保持部200−1〜200−nは、作成された文脈
を文脈変更部210に出力する。
【0282】文脈履歴保持部201は、図21(b)に
示されるテーブルの欄の一つである「符号木の根になっ
た時」の情報を利用して、文脈に対応した符号木の根を
求める。また、文脈履歴保持部201は、求めた符号木
の根を符号木決定部203に出力する。
【0283】符号木決定部203は、現在の文脈に対応
した符号木を符号木保持部207から入力する。復号化
部204は、符号木を根からたどることで文字を復号化
する処理、復号化された文字を復号データとして出力す
る処理、復号化された内容がESCの時、文脈の次数を
下げることを指示する次数減少指示信号を文脈変更部2
10に出力する処理(以上、一連の処理を処理Cとい
う)を行う。
【0284】符号木更新部205は、符号木を組み替え
操作する処理(処理Dという)を行う。処理C及び処理
Dは、文字が復号化されるまで繰り返される。
【0285】文脈履歴保持部201及び符号登録部21
2は、ESCが最後に符号化された文脈に注目文字を登
録する。次に、図29を参照して、復号化部204の詳
細な構成を説明する。復号化部204には、根の番号及
び符号ビット(ビット形式で表された符号)が入力され
る。
【0286】ラッチ204aは、根の番号をラッチする
と共に、ラッチした根の番号を下位節点判別部204b
に出力する。下位節点判別部204bは、符号ビットを
入力して、ラッチ204aから出力された番号を持つ根
が、上位の節点(注目節点)の左側に位置するか右側に
位置するかを判断する。また、下位節点判別部204b
は、注目節点の左側あるいは右側に位置する子が持つ番
号(下位節点番号)を獲得することを指示する節点番号
獲得指示信号を節点番号管理部204dに出力する。
【0287】節点番号管理部204dは、節点番号獲得
指示信号が入力された場合に、下位節点番号を求めると
ともに、求めた下位節点番号を、下位節点判別部204
bに出力する。また、節点番号管理部204dは、下位
の文字が、内部節点か葉かを示す位置情報を根/節/葉
判別部204cに出力する。
【0288】節点番号管理部204dで求められた下位
節点番号は、下位節点判別部204bでラッチされた
後、根/節/葉判別部204cに出力される。根/節/
葉判別部204cは、下位の文字が葉の場合、文字出力
信号を節点番号管理部204dに出力し、下位の文字が
内部節点の場合、作業を実行し、下位の文字が、ESC
が登録された根の場合、終了信号を出力する。
【0289】節点番号管理部204dは、根/節/葉判
別部204cから文字出力信号が入力されると、文字を
出力する。次に、図30及び図31を参照して、復号化
処理の処理の流れを説明する。
【0290】まず、文脈を表すP0 を初期化する(ステ
ップ3001)。ここでの初期化とは、文脈P0 の要素
を全て“0”で置き換えることをいう。そして、文脈を
表す変数Pに文脈P0 をコピーする(ステップ300
2)。
【0291】そして、文脈Pから符号木を選択する(ス
テップ3003)。そして、選択された符号木内で、符
号に応じて根から葉に走査して復号化する(ステップ3
004)。
【0292】そして、復号化した文字を表すKの葉を他
の葉又は内部節点と取り替える(ステップ3005)。
ここで、復号化された文字がESCか通常の文字かを判
断する(ステップ3006)。
【0293】ステップ3006で、ESCと判断された
場合に、文脈Pの次数を1段階低次に移して(ステップ
3010)、ステップ3003に戻る。ステップ300
6で、通常の文字と判断された場合に、直前のESCを
復号化した文脈P’に対応する符号木に文字Kを登録す
る(ステップ3007)。
【0294】そして、同じく直前の文脈P’に復号文字
Kを挿入することで文脈P’を更新する(ステップ30
08)。そして、全文字が終了したか否かを判断する
(ステップ3009)。
【0295】ステップ3009で全文字が終了していな
いと判断された場合には、ステップ3002に戻る。ス
テップ3009で全文字が終了したと判断された場合に
は、一連の処理を終了する。
【0296】次に、図31を参照して、復号化の詳細な
処理の流れを説明する。まず、節点Zを根とする(ステ
ップ3101)。そして、変数Cに1ビットの符号を代
入する(ステップ3102)。
【0297】そして、Cの値が1か否かを判断する(ス
テップ3103)。ステップ3103で、Cの値が1で
あると判断された場合には、節点Zの右側の子を節点Z
とする(ステップ3104)。
【0298】ステップ3103で、Cの値が1でないと
判断された場合には、節点Zの左側の子を節点Zとする
(ステップ3105)。ステップ3104及びステップ
3105の後に、節点Zが葉であるか否かを判断する
(ステップ3106)。
【0299】ステップ3106で、節点Zが葉であると
判断された場合には、葉に登録された文字Kを出力して
(ステップ3107)、処理を終了する。ステップ30
16で、節点Zが葉でないと判断された場合には、節点
Zが根であるか否かを判断する(ステップ3108)。
【0300】ステップ3108で、節点Zが根であると
判断された場合には、ESCを出力して処理を終了する
(ステップ3109)。ステップ3108で、節点Zが
根でないと判断された場合には、ステップ3102に戻
る。
【0301】
【発明の効果】本発明の第1のデータ圧縮方法によれ
ば、符号情報登録部に対する登録が制限されるため、符
号情報登録部に要するメモリを有効に利用できるととも
に、少ないメモリでも良いデータ圧縮率が得られるよう
になる。
【0302】また、本発明の第2〜第25のデータ圧縮
方法によれば、データ列登録部に登録されるデータ列及
び符号情報登録部に登録される符号化情報が、それぞ
れ、全部あるいは一部削除されるため、文頭に顕著な文
脈が現れていない場合や文脈自体が変化した場合にも、
良いデータ圧縮率が得られるようになる。
【0303】そして、本発明の第26〜第31のデータ
圧縮方法及び第1〜第3のデータ圧縮装置によれば、未
出現符号(ESC)が単独で独自の番号を持つため、ブ
レンドモデルを利用して符号化する場合でも大容量の作
業領域を必要とず、効率の良い辞書容量を達成できる。
【0304】さらに、本発明の第1〜第6のデータ復元
方法及び第1〜第3のデータ復元装置によれば、未出現
符号(ESC)が単独で独自の番号を持つため、ブレン
ドモデルを利用して復号化する場合でも大容量の作業領
域を必要とず、効率の良い辞書容量を達成できる。
【図面の簡単な説明】
【図1】多値算術符号化の原理図である。(a)は文
字、出現頻度及び区間の対応関係を格納するテーブルを
示す。(b)は文字列“abc”に対して(a)のテー
ブルを利用して区間分割する例を示す。
【図2】スプレー符号化の原理図である。(a)はスプ
レー符号化で用いられる符号木の例を示す。(b)はス
プレー符号化で行われるスプレー処理の例を示す。
【図3】文脈木の登録例を示す図である。(a)は文脈
と符号化対象文字を示す。(b)は文脈木と各文字の出
現確率を示す。
【図4】文脈の登録例を示す図である。(a)は全登録
型の例を示す。(b)は逐次登録型の例を示す。
【図5】スプレー符号化で使用される文脈木と符号木の
例を示す図である。(a)は文脈木を示し、(b)は符
号木を示す。
【図6】スプレー符号化で使用される符号木の例を示す
図である。(a)は2次文脈の符号木を示す。(b)は
1次文脈の符号木を示す。(c)は0次文脈を示す。
【図7】第1実施形態において、登録制限処理を行って
確率統計適応型符号化するデータ圧縮方法の処理フロー
チャート(その1)である。
【図8】第1実施形態において、登録制限処理を行って
確率統計適応型符号化するデータ圧縮方法の処理フロー
チャート(その2)である。
【図9】第2実施形態において、一定ファイルサイズ毎
に全削除を行って確率統計適応型符号化するデータ圧縮
方法の処理フローチャートである。
【図10】第2実施形態において、圧縮率低下時に全削
除を行って確率統計適応型符号化するデータ圧縮方法の
処理フローチャートである。
【図11】第2実施形態において、一定数登録ごとに全
削除を行って確率統計適応型符号化するデータ圧縮方法
の処理フローチャートである。
【図12】第3実施形態において、一定ファイルサイズ
ごとに部分削除を行って確率統計適応型符号化するデー
タ圧縮方法の処理フローチャートである。
【図13】第3実施形態において、削除順位リストを更
新して確率統計適応型符号化するデータ圧縮方法の処理
フローチャートである。(a)は頻度順に更新する場合
を示し、(b)は最も最近に出現したものを高くする場
合(その1)を示し、(c)は最も最近に出現したもの
を高くする場合(その2)を示す。
【図14】第3実施形態において、c|aaで符号化したと
きの、削除順位リストを示す図である。(a)は頻度順
の場合を示し、(b)は最も最近に出現したものを高く
する場合(その1)を示し、(c)は最も最近に出現し
たものを高くする場合(その2)を示す。
【図15】第4実施形態において、全削除と部分削除を
組み合わせた処理を行って確率統計適応型符号化するデ
ータ圧縮方法の処理フローチャートである。
【図16】第5実施形態で行われる文脈木の削除方法の
概念を示す図である。
【図17】第1〜第5実施形態において、全登録を削除
しない従来の方法でのファイルサイズ、辞書登録数及び
符号化割合の関係を示す図である。(a)は、登録した
うち未使用の組の割合を示し、(b)は、高次で符号化
した割合を示す。
【図18】第1〜第5実施形態において、登録制限を行
うが削除を行わない方法でのファイルサイズ、辞書登録
数及び符号化割合の関係を示す図である。(a)は、登
録したうち未使用の組の割合を示し、(b)は、高次で
符号化した割合を示す。
【図19】第1〜第5実施形態において、全登録を行う
と共に全削除を行う方法でのファイルサイズ、辞書登録
数及び符号化割合の関係を示す図である。(a)は、登
録したうち未使用の組の割合を示し、(b)は、高次で
符号化した割合を示す。
【図20】第1〜第5実施形態において、全登録を行う
と共に部分削除を行う方法でのファイルサイズ、辞書登
録数及び符号化割合の関係を示す図である。(a)は登
録したうち未使用の組の割合を示し、(b)は高次で符
号化した割合を示す。
【図21】第6実施形態における文脈木の例とその登録
内容例を示す図である。(a)は文脈木の例を示し、
(b)は登録内容例を示す。
【図22】第6実施形態における符号木を示す図であ
る。
【図23】従来の方法及び第6実施形態における新規文
字登録例を示す図である。(a)は従来の方法における
新規文字登録例を示し、(b)は第6実施形態における
新規文字登録例を示す。
【図24】第6実施形態における符号化装置の構成ブロ
ック図である。
【図25】第6実施形態における符号化装置の符号化部
の詳細構成ブロック図である。
【図26】第6実施形態における符号化処理の処理フロ
ーチャートである。
【図27】図26の詳細処理フローチャートである。こ
の処理フローチャートは、図26のステップ2604、
ステップ2605及びステップ2609部分に相当す
る。
【図28】第7実施形態における復号化装置の構成ブロ
ック図である。
【図29】第7実施形態における復号化装置の復号化部
の詳細構成ブロック図である。
【図30】第7実施形態における復号化処理の処理フロ
ーチャートである。
【図31】図30の詳細処理フローチャートである。こ
の処理フローチャートは、図30のステップ3004部
分に相当する。
【符号の説明】
100・・・前置データ保持部 101・・・文脈履歴保持部 103・・・符号木決定部 104・・・符号化部 105・・・符号木更新部 106・・・文脈更新部 107・・・符号木保持部 108・・・文脈判別部 110・・・文脈変更部 112・・・符号登録部 200・・・前置データ保持部 201・・・文脈履歴保持部 203・・・符号木決定部 204・・・復号化部 205・・・符号木更新部 206・・・文脈更新部 207・・・符号木保持部 210・・・文脈変更部 212・・・符号登録部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡田 佳之 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 吉田 茂 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (43)

    【特許請求の範囲】
  1. 【請求項1】データ列を登録するデータ列登録部を用い
    ると共に、未登録を示すデータが予め含まれて構成され
    たデータ列の符号化情報を登録する符号情報登録部を用
    い、前記符号化情報は、入力データの履歴に応じて符号
    化されるデータ圧縮方法において、 新規に入力されたデータの直前に入力されたデータ列を
    文脈とするとき、 前記文脈と新規入力データからなる符号化対象データ列
    を前記データ列登録部に新規登録するデータ列新規登録
    過程と、 前記符号化対象データ列を符号化した情報を前記符号情
    報登録部に新規登録する符号情報新規登録過程と、 前記符号情報登録部に登録された符号情報を出力する符
    号情報出力過程と、 前記符号情報登録部を更新する符号情報更新過程とを備
    え、 前記データ列新規登録過程では、前記符号化対象データ
    列が1回目に出現した時点で、その符号化対象データ列
    を前記データ列登録部に新規登録し、 前記符号情報新規登録過程では、前記符号化対象データ
    列が2回目に出現した時点で、その符号化対象データ列
    を符号化した情報を前記符号情報登録部に新規登録する
    ことを特徴とするデータ圧縮方法。
  2. 【請求項2】前記データ列登録部はデータ列の出現回数
    を一定数まで監視し、 前記符号情報新規登録過程では、出現回数が所定数を越
    えて登録されている符号化対象データ列の符号化情報の
    みを新規登録することを特徴とする請求項1に記載のデ
    ータ圧縮方法。
  3. 【請求項3】データ列を登録するデータ列登録部を用い
    ると共に、未登録を示すデータが予め含まれて構成され
    たデータ列の符号化情報を登録する符号情報登録部を用
    い、前記符号化情報は、入力データの履歴に応じて符号
    化されるデータ圧縮方法において、 新規に入力されたデータの直前に入力されたデータ列を
    文脈とするとき、 前記文脈と新規入力データからなる符号化対象データ列
    を前記データ列登録部に新規登録するデータ列新規登録
    過程と、 前記符号化対象データ列を符号化した情報を前記符号情
    報登録部に新規登録する符号情報新規登録過程と、 前記符号情報登録部に登録された符号情報を出力する符
    号情報出力過程と、 前記符号情報登録部を更新する符号情報更新過程と、 前記データ列登録部に登録されているデータ列を削除す
    ると共に、前記符号情報登録部に登録されている符号化
    情報を削除するデータ列・符号情報削除過程とを備えた
    ことを特徴とするデータ圧縮方法。
  4. 【請求項4】前記データ列・符号情報削除過程は、 前記データ列登録部に登録されているデータ列及び前記
    符号情報登録部に登録されている符号化情報を初期化す
    るか否かを判断する初期化判断過程と、 前記初期化判断過程で、データ列及び符号化情報を初期
    化すると判断した場合に、前記データ列登録部に登録さ
    れているデータ列を初期化すると共に、前記符号情報登
    録部に登録されている符号化情報を初期化する初期化過
    程とを有することを特徴とする請求項3に記載のデータ
    圧縮方法。
  5. 【請求項5】前記初期化施行判断過程では、新規入力デ
    ータの容量の累積値を計数し、計数値が一定量を越える
    ごとに、前記初期化過程を施行することを特徴とする請
    求項4に記載のデータ圧縮方法。
  6. 【請求項6】前記削除施行判断過程では、データ圧縮率
    を監視し、このデータ圧縮率が低下した場合に、前記初
    期化過程を施行することを特徴とする請求項4に記載の
    データ圧縮方法。
  7. 【請求項7】前記初期化施行判断過程では、前記データ
    列登録部における全登録数が新規登録の際に一定数を超
    える場合に、前記初期化過程を施行することを特徴とす
    る請求項4に記載のデータ圧縮方法。
  8. 【請求項8】前記データ列・符号情報削除過程は、 前記データ列登録部に登録されているデータ列及び前記
    符号情報登録部に登録されている符号化情報を削除する
    か否かを判断する削除判断過程と、 前記削除施行判断過程で、削除すると判断した場合に、
    削除するデータ列及び符号化情報を選別する削除対象選
    別過程と、 前記削除対象選別過程で選別されたデータ列及び前記符
    号化情報を、それぞれ前記データ列登録部及び前記符号
    情報登録部から削除する削除過程とを有することを特徴
    とする請求項3に記載のデータ圧縮方法。
  9. 【請求項9】前記削除対象選別過程では、前記データ列
    登録部を木構造でみた場合に、木の内部節点であるノー
    ド及び木の終端であるリーフを指すポインタ全てを削除
    順位リストに登録し、この削除順位リストで低位に登録
    されたポインタが指すデータ列及び符号化情報を前記削
    除過程にて削除することを特徴とする請求項8に記載の
    データ圧縮方法。
  10. 【請求項10】前記削除対象選別過程では、前記データ
    列登録部を木構造でみた場合に、木の終端であるリーフ
    を指すポインタを一つの削除順位リストに登録し、この
    削除順位リストで低位に登録されたポインタが指すデー
    タ列及び符号化情報を前記削除過程にて削除することを
    特徴とする請求項8に記載のデータ圧縮方法。
  11. 【請求項11】前記削除対象選別過程では、前記ポイン
    タの出現回数を監視して、出現回数の高いポインタを前
    記削除順位リストの高位に登録することを特徴とする請
    求項9に記載のデータ圧縮方法。
  12. 【請求項12】前記削除対象選別過程では、新規登録の
    リーフに相当するポインタを前記削除順位リストの最高
    順位に登録し、新規登録によってリーフが内部ノードに
    なった場合には、その内部ノードになったものを指すポ
    インタを削除することを特徴とする請求項8に記載のデ
    ータ圧縮方法。
  13. 【請求項13】前記削除対象選別過程では、新規登録の
    リーフに相当するポインタを前記削除順位リストの最高
    順位に登録し、そのリーフの親及び先祖に相当する内部
    ノードを指すポインタの順位を繰り下げることを特徴と
    する請求項8に記載のデータ圧縮方法。
  14. 【請求項14】前記削除対象選別過程では、新規登録の
    リーフに相当するポインタを前記削除順位リストの最低
    順位に登録し、新規登録によってリーフが内部ノードに
    なった場合には、その内部ノードになったものを指すポ
    インタを削除することを特徴とする請求項8に記載のデ
    ータ圧縮方法。
  15. 【請求項15】前記削除対象選別過程では、新規登録の
    リーフに相当するポインタを前記削除順位リストの最低
    順位に登録し、そのリーフの親及び先祖に相当する内部
    ノードを指すポインタの順位を繰り下げることを特徴と
    する請求項8に記載のデータ圧縮方法。
  16. 【請求項16】前記削除対象選別過程では、新規登録の
    リーフに相当するポインタを前記削除順位リストの最低
    順位に登録し、新規登録によってリーフが内部ノードに
    なった場合には、その内部ノードになったものを指すポ
    インタを削除することを特徴とする請求項8に記載のデ
    ータ圧縮方法。
  17. 【請求項17】前記削除対象選別過程では、新規登録の
    リーフに相当するポインタを前記削除順位リストの最低
    順位に登録し、そのリーフの親及び先祖に相当する内部
    ノードを指すポインタの順位を繰り下げることを特徴と
    する請求項8に記載のデータ圧縮方法。
  18. 【請求項18】前記削除対象選別過程では、出現回数が
    所定値以下となったデータ列及び符号化情報を削除対象
    として選別することを特徴とする請求項8に記載のデー
    タ圧縮方法。
  19. 【請求項19】前記削除対象選別過程では、ある文脈の
    出現回数の合計値を求め、前記文脈に続いて入力された
    データの出現回数が前記合計値に対して所定比以下とな
    る場合に、該データを削除対象として選別することを特
    徴とする請求項8に記載のデータ圧縮方法。
  20. 【請求項20】前記削除施行判断過程では、前記データ
    列登録部における登録数を監視し、新規登録の際にこの
    数が一定数を超える場合、前記削除対象選別過程におい
    て選別された削除対象の一つを前記削除過程で削除し、
    換わりに新規登録の組を登録することを特徴とする請求
    項8に記載のデータ圧縮方法。
  21. 【請求項21】前記削除過程では、前記データ列登録部
    に登録されているデータ列の半分を削除し、削除された
    データ列に対応する符号化情報を前記符号情報登録部か
    ら削除することを特徴とする請求項8に記載のデータ圧
    縮方法。
  22. 【請求項22】前記データ列・符号情報削除過程は、削
    除するデータ列及び符号化情報を選別する削除対象選別
    過程を有し、新規登録の際に、前記データ列登録部の登
    録数が所定数を越えていれば、削除対象選別過程で選別
    された削除対象の一つを削除すると共に新規登録の組を
    登録し、データ圧縮率が低減していれば、全削除を行う
    ことを特徴とする請求項3に記載のデータ圧縮方法。
  23. 【請求項23】前記符号情報登録部が2分木構造の符号
    木でできている場合に、符号木の葉であるリーフをデー
    タとする共に、符号木の根であるルートから各リーフま
    での経路を符号とし、 前記符号情報更新過程では、前記符号木の頂点から新規
    入力データ及び未登録を示すデータのいずれか一方が登
    録されたリーフを、他のリーフもしくは符号木の頂点以
    外の分岐点であるノードのいずれか一方と取り替えるこ
    とにより符号木を更新し、 前記符号情報新規登録過程では、前記符号木のリーフを
    分岐して得た新規リーフに符号情報を登録し、 前記データ列・符号情報削除過程では、符号木のリーフ
    を、1経路分だけルートに近い所に位置する分岐ノード
    とともに削除することをを特徴とする請求項3に記載の
    データ圧縮方法。
  24. 【請求項24】前記符号情報登録部に登録される符号情
    報は、算術符号化方式により符号化されることを特徴と
    する請求項1に記載のデータ圧縮方法。
  25. 【請求項25】前記データ列・符号情報削除過程は、 前記データ列登録部に登録されているデータ列及び前記
    符号情報登録部に登録されている符号化情報を削除する
    か否かを判断する削除判断過程と、 前記削除施行判断過程で削除すると判断した場合に、削
    除するデータ列及び前記符号化情報を選別する削除対象
    選別過程と、 前記削除対象選別過程で選別されたデータ列及び符号化
    情報を、それぞれ前記データ列登録部及び前記符号情報
    登録部から削除する削除過程と、 削除過程で削除された後の前記符号情報登録部を更新す
    る削除用更新過程とを有し、 前記削除用更新過程では、符号情報の出現回数を2の倍
    数で割り、割った値が1以下になる場合にその出現回数
    を1とすることを特徴とする請求項24に記載のデータ
    圧縮方法。
  26. 【請求項26】種類が限定された文字を対象とし、入力
    文字を、既に出現した文字列を表す文脈に応じて符号化
    することにより圧縮するデータ圧縮方法において、 符号化処理対象文脈及びその子である符号化対象文字の
    組み合わせを文脈辞書に登録する文脈辞書登録過程と、 前記文脈辞書に登録された前記符号化対象文字を符号化
    したときの情報を符号表に登録する符号表登録過程と、 文脈に含まれる文字数で表される次数を設定する次数設
    定過程と、 設定された次数を有する前記符号化処理対象文脈及び前
    記符号化対象文字の組み合わせが前記文脈辞書に登録さ
    れているか否かを判別する登録判別過程と、 前記符号化処理対象文脈及び前記符号化対象文字の組み
    合わせががない場合に、より低い次数の文脈への脱出を
    示す未出現符号を、設定された次数の文脈に対応した符
    号表に登録する未出現符号登録過程と、 前記登録判別過程で、前記符号化処理対象文脈及び前記
    符号化対象文字の組み合わせが登録されていないと判別
    された場合に、前記設定されている次数の未出現符号を
    出力するとともに設定されている次数を一つ下げる処理
    を行う未登録処理過程と、 前記登録判別過程で、前記符号化処理対象文脈及び前記
    符号化対象文字の組み合わせが登録されていると判別さ
    れるまで、前記登録判別過程、前記追加登録過程及び前
    記未登録処理過程を繰り返す繰り返し過程と、 前記登録判別過程で、前記符号化処理対象文脈及び前記
    符号化対象文字の組み合わせが登録されていると判別さ
    れた場合に、前記符号表から、符号化対象文字に対応し
    た符号を出力する符号出力過程と、 前記符号化対象文字を、符号化された次数より上の次数
    の前記文脈辞書及び前記符号表に追加登録する追加登録
    過程と備え、 前記未出現符号は、設定されている次数の文脈に対応し
    ていることを特徴とするデータ圧縮方法。
  27. 【請求項27】請求項26において、 前記符号表の未出現符号は、符号表の格納場所に対応す
    る関係にあり、 未出現の文字を符号化する場合に、符号表の格納場所に
    対応する符号を出力することを特徴とするデータ圧縮方
    法。
  28. 【請求項28】請求項26において、 前記符号化処理対象文脈と前記符号化対象文字との各組
    み合わせに関して、前記符号化処理対象文脈に対応する
    符号表の格納場所と、前記符号化処理対象文脈に符号化
    対象文字を連結して生成される第2の符号化処理対象文
    脈に対応する符号表の格納場所とを登録し、 前記第2の符号化処理対象文脈に関する未出現符号を出
    力する場合に、前記第2の符号化処理対象文脈に対応す
    る符号表の格納場所を利用することを特徴とするデータ
    圧縮方法。
  29. 【請求項29】種類が限定された文字を対象とし、入力
    文字を、既に出現した文字列を表す文脈に応じて符号化
    することにより圧縮されたデータを復元するデータ復元
    方法において、 文脈に含まれる文字数で表される次数を設定する次数設
    定過程と、 復号化済みの文字と所定の次数の文脈との組合せを文脈
    辞書に登録する文脈辞書登録過程と、 復号化のための情報を復号化した各文脈毎に独立して符
    号表に登録する符号表登録過程と、 直前に復号化した所定の次数の復号化処理対象文脈に対
    応した符号表を決定する符号表決定過程と、 設定されている次数の復号化処理対象文脈に復号化対象
    文字が登録されていない場合に、より低い次数の文脈へ
    の脱出を示す未出現符号を、設定されている次数の文脈
    に対応した符号表に登録する未出現符号登録過程と、 文字が復元できるまで、各次数の未出現符号を復元する
    と共に設定されている次数を一つ下げる処理を行う復元
    処理過程と、 文字が復元できた場合に、符号に対応した文字を符号表
    から出力する文字出力過程と、 文字がある次数で復元できた場合に、復元できた文字
    を、復元できた次数より上の次数の前記文脈辞書及び前
    記符号表に追加登録する復元文字追加登録過程とを備
    え、 設定されている次数の前記復号化処理対象文脈における
    未出現符号を、設定されている次数の文脈に対応させる
    ことを特徴とするデータ復元方法。
  30. 【請求項30】請求項29において、 前記符号表の未出現符号は、符号表の格納場所に対応す
    る関係にあり、 符号表の格納場所に対応する符号に対しては、未出現符
    号として復元化することを特徴とするデータ復元方法。
  31. 【請求項31】請求項29において、 前記文脈辞書登録過程では、前記復号化処理対象文脈と
    前記復号化対象文字との各組み合わせに関して、前記復
    号化処理対象文脈に対応する符号表の格納場所と、前記
    復号化処理対象文脈に復号化対象文字を連結して生成さ
    れる第2の復号化処理対象文脈の格納場所とを登録し、 前記第2の復号化処理対象文脈を復元化する場合に、前
    記第2の復号化処理対象文脈の格納場所を利用すること
    を特徴とするデータ復元方法。
  32. 【請求項32】請求項26において、 前記文脈辞書は、文脈木として構成され、 前記符号表は、2分木からなる符号木として構成されて
    いることを特徴とするデータ圧縮方法。
  33. 【請求項33】請求項32において、 前記符号木内の未出現符号に相当する各枝の内の最後に
    枝を、前記符号木の根に結合させ、未出現符号を符号化
    する場合には、符号木の根からその親をたどり、再び、
    根に戻るまで、各節点の分岐に応じた符号を出力するこ
    とを特徴とするデータ圧縮方法。
  34. 【請求項34】請求項32において、 前記符号化処理対象文脈と前記符号化対象文字との各組
    み合わせに関して、前記符号化処理対象文脈に対応する
    符号木の根と、前記符号化処理対象文脈に符号化対象文
    字を連結して生成される第2の符号化処理対象文脈に対
    応する符号木の根とを登録し、 前記第2の符号化処理対象文脈に関する未出現符号を出
    力する場合に、前記第2の符号化処理対象文脈に対応す
    る符号木の根を利用することを特徴とするデータ圧縮方
    法。
  35. 【請求項35】請求項29において、 前記文脈辞書は、文脈木として構成され、 前記符号表は、2分木からなる符号木として構成されて
    いることを特徴とするデータ復元方法。
  36. 【請求項36】請求項35において、 前記符号木内の未出現符号に相当する各枝の内の最後の
    枝を、符号木の根に結合させ、未出現符号を復号化する
    場合には、符号木の根から左右の子を符号ビットに応じ
    てたどり、再び、根に戻ることで未出現符号と判断する
    ことを特徴とするデータ復元方法。
  37. 【請求項37】請求項35において、 前記復号化処理対象文脈と前記復号化対象文字との各組
    み合わせに関して、前記復号化処理対象文脈に対応する
    符号木の根を登録するとともに、前記復号化処理対象文
    脈に復号化対象文字を連結して生成される第2の復号化
    処理対象文脈に対応する符号木の根を登録し、 前記第2の復号化処理対象文脈を復元化する場合に、前
    記第2の復号化処理対象文脈に対応する符号木の根を利
    用することを特徴とするデータ復元方法。
  38. 【請求項38】種類が限定された文字を対象とし、入力
    文字を、既に出現した文字列を表す文脈に応じて符号化
    することにより圧縮するデータ圧縮装置において、 符号化処理対象文脈及びその子である符号化対象文字の
    組み合わせを文脈辞書に登録する文脈辞書登録部と、 前記文脈辞書に登録された前記符号化対象文字を符号化
    したときの情報を、2分木からなる符号木に登録する符
    号木登録部と、 文脈に含まれる文字数で表される次数を設定する次数設
    定部と、 設定された次数を有する前記符号化処理対象文脈及び前
    記符号化対象文字の組み合わせが前記文脈辞書に登録さ
    れているか否かを判別する登録判別部と、 前記符号化処理対象文脈及び前記符号化対象文字の組み
    合わせががない場合に、より低い次数の文脈への脱出を
    示す未出現符号を、設定された次数の文脈に対応した符
    号木の根として登録する未出現符号登録部と、 前記登録判別部で、前記符号化処理対象文脈及び前記符
    号化対象文字の組み合わせが登録されていないと判別さ
    れた場合に、前記設定されている次数の未出現符号を出
    力するとともに設定されている次数を一つ下げる処理を
    行う未登録処理部と、 前記登録判別部で、前記符号化処理対象文脈及び前記符
    号化対象文字の組み合わせが登録されていると判別され
    るまで、前記登録判別部、前記追加登録部及び前記未登
    録処理部で行われる処理を繰り返す繰り返し部と、 前記登録判別部で、前記符号化処理対象文脈及び前記符
    号化対象文字の組み合わせが登録されていると判別され
    た場合に、前記符号木の根から符号化対象文字が格納さ
    れている葉までの節点の分岐に応じた符号を出力する符
    号出力部と、 前記登録判別部で、前記符号化処理対象文脈及び符号化
    対象文字の組み合わせが登録されていると判別された場
    合に、前記符号化対象文字を、前記組み合わせがあると
    判別された次数より上の次数の前記文脈辞書及び前記符
    号木に追加して登録する符号化対象文字追加登録部と備
    え、 前記文脈辞書登録部では、登録する文脈に一意の識別子
    を割り当て、 前記符号木登録部では、前記符号木の根に一意の識別子
    を割り当て、 前記未出現符号登録部では、前記文脈辞書登録部で割り
    当てられた識別子と一致するともに、前記符号木登録部
    で割り当てられた識別子とも一致する識別子を前記未出
    現符号に割り当てることを特徴とするデータ圧縮装置。
  39. 【請求項39】請求項38において、 前記符号出力部は、符号化対象文字が未出現文字か一般
    の文字かを判断するとともに、前記初期判断部で未出現
    文字と判断された場合に、前記符号木の根からその親を
    たどり、再び、根に戻るまで、前記符号木の節点を探索
    することを特徴とするデータ圧縮装置。
  40. 【請求項40】請求項38において、 前記文脈辞書登録部では、前記符号化処理対象文脈と前
    記符号化対象文字との各組み合わせに関して、前記符号
    化処理対象文脈に対応する符号木の根と、前記符号化処
    理対象文脈に符号化対象文字を連結して生成される第2
    の符号化処理対象文脈に対応する符号木の根とを登録
    し、 前記符号出力部では、前記第2の符号化処理対象文脈に
    関する未出現符号を出力する場合に、前記第2の符号化
    処理対象文脈に対応する符号木の根を利用することを特
    徴とするデータ圧縮装置。
  41. 【請求項41】種類が限定された文字を対象とし、入力
    文字を、既に出現した文字列を表す文脈に応じて符号化
    することにより圧縮されたデータを復元するデータ復元
    装置において、 文脈に含まれる文字数で表される次数を設定する次数設
    定部と、 復号化済みの文字と所定の次数の文脈との組合せを文脈
    辞書に登録する文脈辞書登録部と、 復号化のための情報を復号化した各文脈毎に独立して、
    2分木からなる符号木に登録する符号木登録部と、 直前に復号化した所定の次数の復号化処理対象文脈に対
    応した符号木を決定する符号木決定部と、 復号化対象文字が、設定されている次数の復号化処理対
    象文脈に登録されていない場合に、より低い次数の文脈
    への脱出を表す未出現符号を、設定されている次数の文
    脈に対応した符号木の根として登録する未出現符号登録
    部と、 文字を復元できるまで、各次数の未出現符号を復元した
    後、復号化処理対象文脈の次数を下げて復元の処理を繰
    り返す文脈変更部と、 前記符号木の根から出発し、符号の各ビットに応じて節
    点の分岐をたどり、復号化対象文字が登録されている葉
    まで着いた後、文字を出力する復号化部と、 復元化した文字を、復元できた次数より上の次数の前記
    文脈及び前記符号木に登録する復元文字登録部とを備
    え、 前記文脈辞書登録部では、登録する文脈に一意の識別子
    を割り当て、 前記符号木登録部では、前記符号木の根に一意の識別子
    を割り当て、 前記未出現符号登録部では、前記文脈辞書登録部で割り
    当てられた識別子と一致するともに、前記符号木登録部
    で割り当てられた識別子とも一致する識別子を前記未出
    現符号に割り当てることを特徴とするデータ復元装置。
  42. 【請求項42】請求項41において、 前記復号化部では、未出現符号を復号化する場合に、符
    号木の根から左右の子を符号ビットに応じてたどり、再
    び根にもどることを確認することにより、未出現符号と
    判断することを特徴とするデータ復元装置。
  43. 【請求項43】請求項41において、 前記文脈辞書登録部では、前記復号化処理対象文脈と前
    記復号化対象文字との各組み合わせに関して、前記復号
    化処理対象文脈に対応する符号木の根と、前記復号化処
    理対象文脈に復号化対象文字を連結して生成される第2
    の復号化処理対象文脈に対応する符号木の根とを登録
    し、前記符号出力部では、前記第2の復号化処理対象文
    脈に関して復号化する場合に、前記第2の復号化処理対
    象文脈に対応する符号木の根を利用することを特徴とす
    るデータ復元装置。
JP27157795A 1995-02-21 1995-10-19 データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置 Expired - Fee Related JP3238854B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP27157795A JP3238854B2 (ja) 1995-02-21 1995-10-19 データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置
US08/574,436 US5801648A (en) 1995-02-21 1995-12-15 Data compressing method, data compressing apparatus, data decompressing method and data decompressing apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3259795 1995-02-21
JP7-32597 1995-02-21
JP27157795A JP3238854B2 (ja) 1995-02-21 1995-10-19 データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置

Publications (2)

Publication Number Publication Date
JPH08293800A true JPH08293800A (ja) 1996-11-05
JP3238854B2 JP3238854B2 (ja) 2001-12-17

Family

ID=26371180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27157795A Expired - Fee Related JP3238854B2 (ja) 1995-02-21 1995-10-19 データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置

Country Status (2)

Country Link
US (1) US5801648A (ja)
JP (1) JP3238854B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000201080A (ja) * 1999-01-07 2000-07-18 Fujitsu Ltd 付加コ―ドを用いたデ―タ圧縮/復元装置および方法
EP1069691A1 (en) * 1999-06-15 2001-01-17 STMicroelectronics S.r.l. Decoding method for a Huffman code
US7054953B1 (en) * 2000-11-07 2006-05-30 Ui Evolution, Inc. Method and apparatus for sending and receiving a data structure in a constituting element occurrence frequency based compressed form
US7274671B2 (en) * 2001-02-09 2007-09-25 Boly Media Communications, Inc. Bitwise adaptive encoding using prefix prediction
WO2003003584A1 (en) * 2001-06-29 2003-01-09 Netcontinuum, Inc. System and method for data compression using a hybrid coding scheme
ATE543179T1 (de) * 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US6839005B1 (en) * 2003-11-07 2005-01-04 Broadcom Corporation Low memory and MIPS efficient technique for decoding Huffman codes using multi-stage, multi-bits lookup at different levels
JP4696721B2 (ja) * 2005-06-27 2011-06-08 富士ゼロックス株式会社 文書管理サーバ、文書管理システム
JP4876734B2 (ja) * 2006-06-22 2012-02-15 富士ゼロックス株式会社 文書利用管理システム及び方法、文書管理サーバ及びそのプログラム
JP5003131B2 (ja) * 2006-12-04 2012-08-15 富士ゼロックス株式会社 文書提供システム及び情報提供プログラム
JP4305510B2 (ja) * 2006-12-28 2009-07-29 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
JP5082460B2 (ja) * 2007-01-19 2012-11-28 富士ゼロックス株式会社 情報処理装置及びプログラム及び情報処理システム
JP5023715B2 (ja) * 2007-01-25 2012-09-12 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
JP2008257317A (ja) * 2007-04-02 2008-10-23 Fuji Xerox Co Ltd 情報処理装置、情報処理システム及びプログラム
JP2009042856A (ja) * 2007-08-07 2009-02-26 Fuji Xerox Co Ltd 文書管理装置、文書管理システム及びプログラム
JP5119840B2 (ja) * 2007-10-02 2013-01-16 富士ゼロックス株式会社 情報処理装置、情報処理システム、及びプログラム
US7518538B1 (en) * 2007-11-30 2009-04-14 Red Hat, Inc. Adaptive entropy coding compression with multi-level context escapes
US7605721B2 (en) * 2007-11-30 2009-10-20 Red Hat, Inc. Adaptive entropy coding compression output formats
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8527500B2 (en) * 2009-02-27 2013-09-03 Red Hat, Inc. Preprocessing text to enhance statistical features
US8396850B2 (en) * 2009-02-27 2013-03-12 Red Hat, Inc. Discriminating search results by phrase analysis
US8386511B2 (en) * 2009-02-27 2013-02-26 Red Hat, Inc. Measuring contextual similarity
US10891659B2 (en) * 2009-05-29 2021-01-12 Red Hat, Inc. Placing resources in displayed web pages via context modeling
US9438413B2 (en) * 2010-01-08 2016-09-06 Novell, Inc. Generating and merging keys for grouping and differentiating volumes of files
US9298722B2 (en) * 2009-07-16 2016-03-29 Novell, Inc. Optimal sequential (de)compression of digital data
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange
US9323769B2 (en) * 2011-03-23 2016-04-26 Novell, Inc. Positional relationships between groups of files
US10581456B2 (en) * 2016-06-22 2020-03-03 Fujitsu Limited Data compression device and data decompression device
CN113720399B (zh) * 2021-11-02 2022-04-15 国网湖北省电力有限公司检修公司 特高压带电作业用绝缘吊带远程智能监测方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672679A (en) * 1983-08-16 1987-06-09 Wang Laboratories, Inc. Context redundancy text compression
US5254990A (en) * 1990-02-26 1993-10-19 Fujitsu Limited Method and apparatus for compression and decompression of data

Also Published As

Publication number Publication date
JP3238854B2 (ja) 2001-12-17
US5801648A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
JP3238854B2 (ja) データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置
US5532694A (en) Data compression apparatus and method using matching string searching and Huffman encoding
US5363098A (en) Byte aligned data compression
Claude et al. The wavelet matrix: An efficient wavelet tree for large alphabets
JP3276860B2 (ja) データ圧縮/復元方法
JPH09162748A (ja) データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム
Moffat et al. In-place calculation of minimum-redundancy codes
JPH07283739A (ja) 短ブロックのデータを圧縮、伸長するための方法、及び装置
JP3083730B2 (ja) データ情報を圧縮するためのシステムおよび方法
US5585793A (en) Order preserving data translation
US5650783A (en) Data coding/decoding device and method
EP0582907A2 (en) Data compression apparatus and method using matching string searching and Huffman encoding
EP0127815B1 (en) Data compression method
JP5656593B2 (ja) 符号化データを復号する装置及び方法
JPH08167852A (ja) データ圧縮方法及び装置
Klein Skeleton trees for the efficient decoding of Huffman encoded texts
Turpin et al. Practical length-limited coding for large alphabets
US5825315A (en) Data coding apparatus and data decoding apparatus and methods thereof
Böttcher et al. Search and modification in compressed texts
Gagie et al. Efficient and compact representations of prefix codes
Shanmugasundaram et al. Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE)
US6262675B1 (en) Method of compressing data with an alphabet
Sinha et al. Local decodability of the burrows-wheeler transform
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3241787B2 (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: 20010918

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

Free format text: PAYMENT UNTIL: 20071005

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees