JP3540109B2 - データ圧縮方法及び装置 - Google Patents

データ圧縮方法及び装置 Download PDF

Info

Publication number
JP3540109B2
JP3540109B2 JP34409996A JP34409996A JP3540109B2 JP 3540109 B2 JP3540109 B2 JP 3540109B2 JP 34409996 A JP34409996 A JP 34409996A JP 34409996 A JP34409996 A JP 34409996A JP 3540109 B2 JP3540109 B2 JP 3540109B2
Authority
JP
Japan
Prior art keywords
data
match
compressed
detected
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP34409996A
Other languages
English (en)
Other versions
JPH10187410A (ja
Inventor
大奉 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP34409996A priority Critical patent/JP3540109B2/ja
Priority to US08/896,658 priority patent/US5936560A/en
Publication of JPH10187410A publication Critical patent/JPH10187410A/ja
Application granted granted Critical
Publication of JP3540109B2 publication Critical patent/JP3540109B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/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)

Description

【0001】
【発明の属する技術分野】
本発明は、データ圧縮方法及び装置に関し、特に、コンピュータ等で用いられる元のデータを完全に復元できる可逆的なデータ圧縮方法及び装置に関する。
【0002】
【従来の技術】
コンピュータの利用方法が高度化するにつれて、コンピュータにおいて扱うプログラムやデータ量が急速に増大してきている。これに対応するため、コンピュータの記憶媒体や伝送の速度も向上している。また、さらなる伝送速度の向上や、取扱いの容易化のため、データをより小さいサイズに圧縮するデータ圧縮の技法が適用されてきている。
【0003】
データ圧縮のためには、主に2つの方法があり、1つは、情報をその実効的な効果を損なわない程度に変形させて冗長性を削減する方法であり、音声や画像のような感性に依存する情報に適用される。他の1つは、データの繰り返し等の冗長性を利用して元データが完全に復元できるように(可逆的に)圧縮する方法であり、主に、数値・文書データやプログラムコードのような正確なデジタルデータを必要とする情報に適用される。
【0004】
後者の可逆的なデータ圧縮方法としては、Lampel/Zivの考案によるLZ77方式が広く使用されている。LZ77方式は、先行データの一部を直接辞書として利用している。また、LZ77方式を改良した、先行データから辞書を作成するLZ78方式やLZW方式も多く使用されている。
【0005】
以下に、LZ77データ圧縮方式について説明する。
このLZ77方式では、圧縮するデータが先行するデータの一定範囲と比較され、最も一致長が長いデータ列が検出された場合、先行データにおけるそのデータ列の相対位置と一致長の情報によって圧縮データが生成される。
【0006】
図5は、一般的なLZ77データ圧縮方式の動作例を示す図である。(A)は、圧縮の対象となるデータ(入力データ)とそれと比較される先行データの一定範囲(スライディングウィンドウ)とを示し、(B)は、非圧縮データを示し、(C)は、圧縮データを示す。入力データと先行データとは一般的には連続的なものである。
【0007】
図5に示すLZ77方式の例では、圧縮の対象となる入力データ(最大一致長)は、17バイト、ウィンドウサイズは、512バイトに設定されている。LZ77方式では、先行データの一定の範囲は、スライディングする辞書(スライディング辞書)として扱われる。入力データが圧縮される場合、まず、入力データがスライディング辞書内のデータと比較される。この比較は、一般的には後で述べる2進木(Binary tree)検索法を用いて行われる。
【0008】
上述の比較動作では、17バイトの入力データにスライディング辞書中の先頭からできるだけ長く一致している場所が検出され、その場所情報(相対バイト位置)と一致長(一致バイト数)とが、14ビットの圧縮データにコード化される。
【0009】
圧縮データの先頭の1ビットは、Prefixなるデータ種別を示しす。このPrefixが“1”のときは、次の13ビットは圧縮データ(圧縮Token)であることを表し、Prefixが“0”のときは、次の8ビットは1バイトの非圧縮データであることを表す。
【0010】
圧縮データ中のPrefixの次の9ビットは、入力データと一致したデータのスライディング辞書中の相対バイト位置(アドレス)を示している。上記の例では、スライディング辞書は512(=29 )バイトに設定されているので、相対バイト位置を表すために9ビット必要となる。
【0011】
圧縮データ中の相対バイト位置に続く4ビットは、入力データと一致したデータとの間の一致バイト数を示している。上記の例では、入力データは17バイトに設定されているので、一致バイト数の最大値は17となる。しかし、一致バイト数が1の場合、該バイト(8ビット)が圧縮データに変換されると、伝送されるビット数は8ビットから14ビットに増加し、圧縮の効果が得られない。この場合は、該バイトは、非圧縮データ(9ビット)として伝送される。
【0012】
一致バイト数が2の場合、その2つのバイト(16ビット)が圧縮データに変換されると、伝送されるビット数は16ビットから14ビットに減少し、圧縮の効果が得られる。即ち、LZ77方式では、圧縮の効果は一致バイト数が2から得られる。また、17バイト全てが一致した場合、伝送されるビット数は、136ビット(8ビット×17)から14ビットに圧縮できる。従って、圧縮データ中の一致バイト数は2〜17の何れかとなり、4ビットでそれらの数を表すことができる。
【0013】
また、上述したように、比較動作において、一致バイト数が2以上のデータ列がスライディング辞書中に存在しない場合には、生データが非圧縮データとして伝送される。入力データと先行するスライディング辞書との比較動作が終了した後、入力データ及びスライディング辞書ともに1バイトづつシフトされ、再度比較動作が行われる。
【0014】
以上のデータ圧縮動作によって、入力データを1/2〜1/3程度に圧縮することができる。このようなデータ圧縮を行うためには、入力データから最大一致長を得るデータをスライディング辞書内において高速に検索する手段が必要である。従来、このような検索には二進木(Binary−tree)検索法が広く用いられてきた。この方法では、ウィンドウ(スライディング辞書)の各位置から始まるデータ列を辞書順序に並べた検索列(Tree)が構成され、入力データ列がこのTreeと比較され、最大一致長を有するデータの場所が検出される。上記比較が終了した後、ウィンドウの位置が1バイトだけシフトされ辞書の更新が行われる。
【0015】
以下に、2進木検索法の動作について説明する。
図6は、2進木検索法の動作例を説明するための図である。図6の例では、文字列“The Cruelty of Really Tea”と該文字列に続く17文字の文字例(図示せず)が比較される。即ち、文字列“The Cruelty of Really Tea”がウィンドウ(スライディング辞書)として定義される。比較動作では、文字列“The Cruelty of Really Tea”の先頭から17文字が、1文字づつシフトされながら(string1 to string8)、17文字の入力データと比較される。
【0016】
2進木検索法では、上記の比較動作に先立ち、文字列“The Cruelty of Really Tea”に対して図6に示すような2進木が形成される。この2進木検索法では、スペース,A−Z,a−zの順で、文字のレベルが高いと設定されている。
【0017】
例えば、string1とstring2とを比較すると、string2の先頭の文字“h”のレベルの方がstring1の先頭の文字“T”のレベルよりも高いので、string2は高いレベルの側(この図では右側)に記載される。次に、string2とstring3とを比較すると、string2の先頭の文字“h”のレベルの方がstring3の先頭の文字“e”のレベルよりも高いので、string3はstring2よりも低いレベルの側(この図では左側)に記載される。
【0018】
次に、string3とstring4とを比較すると、string2の先頭の文字“h”のレベルの方がstring4の先頭の文字“C”のレベルよりも高い。さらに、string4とstring1とを比較すると、string1の先頭の文字“T”のレベルの方がstring4の先頭の文字“C”のレベルよりも高い。従って、string4はstring1よりも低いレベルの側に記載される。このようにして、文字のレベルの大小によって、Treeが形成される。
【0019】
このウィンドウのTreeと入力データとの比較動作が行なわれる場合、その比較動作を容易に行うことができる。
【0020】
【発明が解決しようとする課題】
しかしながら、上述した従来のデータ圧縮方法には次のような問題点がある。(1)従来のデータ圧縮方法に広く使用されている二進木検索法では、検索時間は、理想的にはウィンドウ長の対数に比例する時間になりえる。従って、2進木検出法は、大きなウィンドウにも適応可能である。しかし、入力データのパターンによっては非常に多くの検索時間を要する場合がある。例えば、形成されたTreeが、図6に示すような構成と異なり、常に大きい方向、或いは常に小さい方向というように、直線に近い形に形成される場合、実質的に全てのstringと比較する必要があり、結果的に大きな検索時間を要する。従って、リアルタイムに処理するシステム形態での利用を困難にする。
(2)2進木検索法において理想的なTreeが形成される場合、データ圧縮動作では複数バイトが同時に処理されているとみなされる。しかし、ウィンドウ(スライディング辞書)の更新は、1バイト毎に行う必要がある。従って、データ圧縮動作とはあまり関係のない箇所が、データ圧縮動作の処理速度のボトルネックとなっている。
(3)二進木検索法は、本質的に直前の演算結果から次の処理を決定する。従って、この方法は並列処理に不適切である。このためハードウェア化による高速化が難しい。
【0021】
本発明の目的は、上記の問題点に鑑みて、入力データのパターンに依存せずに高速にデータ圧縮動作を行うことができ、さらに容易にハードウェア化が可能なデータ圧縮方法及び装置を提供する。
【0022】
【課題を解決するための手段】
上記課題を解決するために本発明では、下記の手段を講じたことを特徴とするものである。
請求項1記載の発明装置では、
圧縮すべきデータの以前の履歴を格納した辞書ウィンドウと前記圧縮すべきデータとを比較し、データの一致が検出された場合に一致データの一致長と前記辞書ウィンドウにおける相対位置とをコード化して圧縮データを生成するデータ圧縮方法において、
(a)前記辞書ウィンドウ中のm組(m=2,3,...)のn個のデータ(n=2,3,...)と前記圧縮すべきデータ中のn個のデータとを実質的に同時に比較し、
(b)前記段階(a)の比較結果において、最長の一致を検出したデータをコード化して前記圧縮データを生成する各段階
を有することを特徴とする。
【0023】
請求項2記載の発明装置では、
請求項1記載のデータ圧縮方法において、前記段階(a)は、n個のデータの一致が検出された場合、前記nの値をn1(n1=3,4,..)に増加させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する段階を含むことを特徴とする。
【0024】
請求項3記載の発明装置では、
請求項2記載のデータ圧縮方法において、前記段階(a)は、n個のデータの一致が検出された場合、前記mの値をm1(m1=1,2,...)に減少させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm1組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する段階をさらに含むことを特徴とする。
【0025】
請求項4記載の発明装置では、
請求項3記載のデータ圧縮方法において、前記段階(a)は、n個のデータの一致が検出された場合、前記nの値をi×nに増加させかつ前記mの値をm/iに減少させて(i=2,3,...)、前記辞書ウィンドウ中の一致が検出されたデータの位置からm/i組のi×n個のデータと前記圧縮すべきデータ中のi×n個のデータとを実質的に同時に比較する段階をさらに含むことを特徴とする。
【0026】
請求項5記載の発明装置では、
請求項1乃至4のうちいずれか1項記載のデータ圧縮方法において、前記データ圧縮方法は、Lampel/Zivが提案したLZ77方式の改良方式であり、前記n個のデータはn個のバイトであり、前記辞書ウィンドウ中のm組のn個のデータは、1バイトずつシフトされたm組のn個のデータであることを特徴とする。
【0027】
請求項6記載の発明装置では、
圧縮すべきデータの以前の履歴を格納した辞書ウィンドウと前記圧縮すべきデータとを比較する比較部と、データの一致が検出された場合に一致データの一致長と前記辞書ウィンドウにおける相対位置とをコード化して圧縮データを生成する処理部とを有するデータ圧縮装置において、
前記比較部は、前記辞書ウィンドウ中のm組(m=2,3,...)のn個のデータ(n=2,3,...)と前記圧縮すべきデータ中のn個のデータとを実質的に同時に比較するm個の比較回路を有し、
前記処理部は、前記比較部の比較結果において、最長の一致を検出したデータをコード化して前記圧縮データを生成する手段を有することを特徴とする。
【0028】
請求項7記載の発明装置では、
請求項6記載のデータ圧縮装置において、前記比較部は、n個のデータの一致が検出された場合、前記nの値をn1(n1=3,4,..)に増加させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する手段を含むことを特徴とする。
【0029】
請求項8記載の発明装置では、
請求項7記載のデータ圧縮装置において、前記比較部は、n個のデータの一致が検出された場合、前記mの値をm1(m1=1,2,...)に減少させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm1組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する手段をさらに含むことを特徴とする。
【0030】
請求項9記載の発明装置では、
請求項8記載のデータ圧縮装置において、前記比較部は、n個のデータの一致が検出された場合、前記nの値をi×nに増加させかつ前記mの値をm/iに減少させて(i=2,3,...)、前記辞書ウィンドウ中の一致が検出されたデータの位置からm/i組のi×n個のデータと前記圧縮すべきデータ中のi×n個のデータとを実質的に同時に比較する手段をさらに含むことを特徴とする。
【0031】
請求項10記載の発明装置では、
請求項6乃至9のうちいずれか1項記載のデータ圧縮装置において、前記データ圧縮装置は、Lampel/Zivが提案したLZ77方式用改良装置であり、前記n個のデータはn個のバイトであり、前記辞書ウィンドウ中のm組のn個のデータは、1バイトずつシフトされたm組のn個のデータであることを特徴とする。
【0032】
上記発明方法及び装置以下のように作用する。
請求項1記載のデータ圧縮方法、及び請求項6記載データ圧縮装置においては、前記辞書ウィンドウ中の複数組のn個のデータと前記圧縮すべきデータ中のn個のデータとが実質的に同時に比較され、最長の一致を検出したデータが前記圧縮データとして生成される。
【0033】
従って、入力データのパターンに依存せずに、データ圧縮方法の一致データ検索時間を大幅に短縮化できる。
請求項2記載のデータ圧縮方法、及び請求項7記載データ圧縮装置においては、n個のデータの一致が検出された場合、前記nの値をn1に増加させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとが実質的に同時に比較される。
【0034】
従って、データ圧縮方法の一致データ検索時間をさらに短縮化することができる。
請求項3又は4記載のデータ圧縮方法、及び請求項8又は9記載のデータ圧縮装置においては、n個のデータの一致が検出された場合、前記nの値をn1に増加させかつ前記mの値をm1に減少させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm1組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとが実質的に同時に比較される。
【0035】
従って、同じハードウェア(比較回路)を用いて、異なる一致幅の比較を行うことができる。よって、ハードウェアを大型化せずに、高速にデータ圧縮動作を行うことができる。
請求項5記載のデータ圧縮方法、及び請求項10記載データ圧縮装置においては、本発明に係わるデータ圧縮方法は、Lampel/Zivが提案したLZ77方式に適用できる。従って、LZ77方式のデータ圧縮動作を大幅に高速化でき、かつそのデータ圧縮装置を容易にハードウェア化できる。
【0036】
【発明の実施の形態】
本発明に係わるデータ圧縮方法及び装置は、LZ77データ圧縮方法において辞書となるウィンドウと圧縮対象データとの比較を高速に行う方法及び装置に関する。
【0037】
図1は、本発明に係わるデータ圧縮装置を含むシステムの構成例を示す図である。図2は、本発明に係わるデータ圧縮装置の大要のブロック構成図である。図1では、圧縮装置1−1は、MPU(マイクロコンピュータ)1−2によって制御される。図2では、圧縮装置1−1は、圧縮機構1−1a、制御回路1−1b、アドレスレジスタ読出し回路1−1c、アドレスレジスタ書き込み回路1−1d、及びバイトカウンタで1−1e構成されている。本発明に係わるデータ圧縮方法は、主に圧縮機構において実施される。
【0038】
本発明に係わるデータ圧縮方法では、辞書となるウィンドウと圧縮対象データ(入力データ)とが逐次並列に比較され、さらに、辞書の生成及び更新が不要化される。従って、データ圧縮動作における比較動作を高速に行うことができる。以下に、本発明に係わるデータ圧縮方法の第1実施例について説明する。図3は、本発明に係わるデータ圧縮方法の第1実施例を説明するための図である。図3では、特に、本発明に係わるデータ圧縮方法におけるウィンドウと圧縮対象データとの比較方法(一致データ検索方法)が示されている。
【0039】
図3は、図2に示す圧縮機構を示しており、該圧縮機構は、先行データを格納するウィンドウ2−1、先行データに続く圧縮対象データを格納するレジスタ2−2、ウィンドウ2−1の先行データとレジスタ2−2の圧縮データとを並列比較する比較ユニット2−3、及び比較結果等を格納するレジスタ2−4を含んでいる。
【0040】
この第1実施例では、ウィンドウ2−1は、スライディング辞書として動作し、512バイトのシフトレジスタにより構成されている。また、レジスタ2−2は、17バイトのシフトレジスタで構成されており、最大17バイトの一致長を得ることができる。
【0041】
比較ユニット2−3は、さらに複数の比較回路2−3(1)〜2−3(32)を含んでいる。比較回路2−3(1)〜2−3(32)の各々は、2バイトのデータを比較する回路である。例えば、比較回路2−3(1)は、ウィンドウ2−1の第1及び第2番目のデータと、レジスタ2−2に格納されている圧縮対象データの第1及び第2番目のデータとを比較する。比較回路2−3(2)は、ウィンドウ2−1の第2及び第3番目のデータと、レジスタ2−2に格納されている圧縮対象データの第1及び第2番目のデータとを比較する。
【0042】
同様に、比較回路2−3(3)は、ウィンドウ2−1の第3及び第4番目のデータと、レジスタ2−2に格納されている圧縮対象データの第1及び第2番目のデータとを比較する。比較回路2−3(32)は、ウィンドウ2−1の第32及び第33番目のデータと、レジスタ2−2に格納されている圧縮対象データの第1及び第2番目のデータとを比較する。
【0043】
このように、ウィンドウ2−1の第1及び第2番目のデータから第32及び第33番目のデータの32組のデータが、圧縮対象データの第1及び第2番目のデータと同時に比較される。第1番目から第33番目までのデータを区間1として設定される。
【0044】
32組の比較が行なわれた後、比較回路2−3(1)〜2−3(32)によって、ウィンドウ2−1の第33及び第34番目のデータ〜第64及び第65番目のデータと、レジスタ2−2に格納されている圧縮対象データの第1及び第2番目のデータとが同時に比較される。第33番目から第65番目までのデータは区間2として設定される。このようにして、2バイト同志の比較の場合、512バイトのウィンドウ2−1において、区間1〜区間16が設定される。そして、各区間において32組の比較動作が同時に行われる。
【0045】
各区間における32組の比較結果は、レジスタ2−4に格納される。レジスタ2−4は、レジスタ2−4(a)〜(c)を含んでおり、レジスタ2−4(a)には、検索が行なわれた区間の番号が格納され、レジスタ2−4(b)には、最大一致(この実施例では2バイト)が得られたデータの開始位置が格納され、レジスタ2−(c)には、そのときの一致数が格納される。
【0046】
32組の比較の結果、2バイトの一致が1つも得られない場合には、次の区間での検索に移る。もし、2バイトの一致が得られた場合には、その次のデータがさらに一致しているか否かが判定される(この方法については、第2実施例において詳述する)。
【0047】
上述のように、第1実施例では、ウィンドウが複数の区間に分割され、各区間毎に複数の開始位置において複数の比較が同時に行なわれ、その部分的な最大一致が求められる。従って、高速にウィンドウと圧縮対象データとの比較が行なわれ、よって、高速のデータ圧縮動作を実現できる。
【0048】
また、比較ユニット2−3における比較回路の比較バイト数及び比較回路の数は、検索速度とハードウェア規模のトレードオフから決定できる。しかし、「従来の技術」の項目で議論したように、1バイトだけの比較では圧縮効果がないため、比較バイト数は2バイト以上に設定する必要がある。例えば、各比較回路の比較バイト数を4バイトに設定し、32組の比較回路を設けることも可能である。この場合、回路規模は、図3に示す構成の実質的に2倍になる。
【0049】
次に、本発明に係わるデータ圧縮方法の第2実施例について説明する。図4は、本発明に係わるデータ圧縮方法の第2実施例を説明するための図である。図4には、図3に示した本発明に係わるデータ圧縮方法の第1実施例におけるウィンドウと圧縮対象データとの比較方法(一致データ検索方法)の改良した方法が示されている。
【0050】
図4に示したデータ圧縮方法では、上述した区間1から圧縮対象データの先頭の2バイトの探索(2バイト一致の探索)が行われ、もし、ある区間において2バイトの一致が検出された場合、圧縮対象データの先頭から4バイトまでのデータの探索(4バイトまでの一致の比較)が、2バイト一致が検出されたデータのアドレスの位置から行われる。もし、4バイトの一致が検出された場合、次に圧縮対象データの先頭から8バイトまでのデータの探索(8バイトまでの一致の比較)が、4バイト一致が検出されたデータのアドレスの位置から行われる。
【0051】
さらに、もし、8バイトの一致が検出された場合、次に圧縮対象データの先頭から17バイト(全バイト)までのデータの探索(17バイトまでの一致の比較)が、8バイト一致が検出されたデータのアドレスの位置から行われる。
以下に、図4に示した圧縮機構の構成、及び詳細な一致データ検索方法について説明する。
【0052】
図4に示した圧縮機構は、図3に示した圧縮機構と同様に、先行データを格納するウィンドウ2−1、先行データに続く圧縮対象データを格納するレジスタ2−2、ウィンドウ2−1の先行データとレジスタ2−2の圧縮データとを並列比較する比較ユニット2−3’、及び比較結果等を格納するレジスタ2−4を含んでいる。
【0053】
図4に示した圧縮機構は、さらに、レジスタ2−5、切り替えゲート2−6,2−7、及び制御回路2−8を含んでいる。また、比較ユニット2−3’は、2バイトのデータ同志を比較する比較回路2−3(1)〜2−3(32)と、1バイトのデータ同志を比較する比較回路2−3(33)〜2−3(36)と、最大一致選択回路2−9とを含んでいる。
【0054】
この第2実施例においても、第1実施例と同様に、ウィンドウ2−1は、スライディング辞書として動作し、512バイトのシフトレジスタにより構成されている。ウィンドウ2−1の第1番目のデータのアドレスは、W000、第512番目のデータのアドレスは、W511で表されている。また、レジスタ2−2は、17バイトのシフトレジスタで構成されており、最大17バイトの一致長を得ることができる。
【0055】
レジスタ2−5は、ウィンドウ2−1の一部のバイトデータを一時的に記憶する。図4に示す例では、レジスタ2−5は、最大33バイトG00〜G32のバイトデータを記憶できる。また、レジスタ2−5に供給されるウィンドウ2−1のバイトデータの一部は、4バイト×n(n=0,1,2,...)を境界(以後、4バイト境界と称する)として構成される。例えば、W000からmバイト(m≦33)、W004からmバイト、...W496からmバイトが、レジスタ2−5に供給される。レジスタ2−5に供給されるバイト数mは、比較されるバイト数によって決定される(動作説明で詳細に記述する)。
【0056】
切り替えゲート2−6、2−7は、レジスタ2−5に供給されたバイトデータと圧縮対象データとの比較方法を、制御回路28からの指示によって決定する。比較方法としては、(a)2バイト一致の探索、(b)4バイトまでの一致の比較、(c)8バイトまでの一致の比較、(d)17バイトまでの一致の比較のいづれかが選択される。
【0057】
(a)2バイト一致の探索、(b)4バイトまでの一致の比較、(c)8バイトまでの一致の比較については、比較ユニット2−3’内の比較回路2−3(1)〜2−3(32)が使用され、(d)17バイトまでの一致の比較のためには、比較回路2−3(1)〜2−3(32)に加えて、比較回路2−3(33)〜2−3(36)が使用される。
【0058】
以下に、本発明に係わるデータ圧縮方法の第2実施例の動作について説明する。
(a)〔2バイト一致の探索〕
(1)ウィンドウ2−1の33バイトのデータW000〜W032が、レジスタ2−5にバイトデータG00〜G32としてロードされる(図4には、2バイト一致検索の場合の例が示されている)。切り替えゲート2−6,2−7によって、レジスタ2−5のバイトデータG00〜G32と、比較回路2−3(1)〜2−3(32)が、第1実施例で示した接続状態と同様に接続される。
【0059】
即ち、32組の2バイトデータG00−G01,G01−G02,G02−G03,G03−G04,....G30−G31,G31−G32が、圧縮対象データの第1及び第2番目のバイトデータと、それぞれ比較回路2−3(1),2−3(2),2−3(3),2−3(4)...2−3(31),2−3(32)においてそれぞれ比較される。
【0060】
(2)ここで、データW000〜W032において2バイトの一致が検出されない場合、次の33バイトのデータW032〜W064が、レジスタ2−5にバイトデータG00〜G32としてロードされ、再度2バイト一致の探索が行われる。
(b)〔4バイトまでの一致の比較〕
(3)2バイト一致の探索の動作中に2バイトの一致が検出された場合、始めに一致した2バイトが含まれる4バイト境界から、19バイトのデータがレジスタ2−5にバイトデータG00〜G18としてロードされる。このとき、切り替えゲート2−6,2−7によって、レジスタ2−5のバイトデータG00〜G18と比較回路2−3(1)〜2−3(32)が、圧縮対象データの先頭から4バイトまでのデータと比較できるように接続される。
【0061】
例えば、16組の4バイトデータG00−G03,G01−G04,G02−G05,....G15−G18が、圧縮対象データの第1から第4番目のバイトデータと、それぞれ比較回路2−3(1)及び2−3(2),2−3(3)及び2−3(4),2−3(4)及び2−3(5)...2−3(31)及び2−3(32)においてそれぞれ比較される。
【0062】
(4)ここで、レジスタ2−5のバイトデータG00〜G18において、3バイト以下の一致が検出された場合、次のブロック(現在の先頭アドレスに16を加算したブロック)において、4バイト一致の探索が行われる。
(c)〔8バイトまでの一致の比較〕
(5)4バイトの一致が検出された場合、始めに一致した4バイトが含まれる4バイト境界から、15バイトのデータがレジスタ2−5にバイトデータG00〜G15としてロードされる。このとき、切り替えゲート2−6,2−7によって、レジスタ2−5のバイトデータG00〜G15と比較回路2−3(1)〜2−3(32)が、圧縮対象データの先頭から8バイトまでのデータと比較できるように接続される。
【0063】
例えば、8組の8バイトデータG00−G07,G01−G08,G02−G09,....G07−G15が、圧縮対象データの第1から第8番目のバイトデータと、それぞれ比較回路2−3(1)〜2−3(4),2−3(5)〜2−3(8),2−3(9)〜2−3(12)...2−3(29)〜2−3(32)においてそれぞれ比較される。
【0064】
(6)ここで、レジスタ2−5のバイトデータG00〜G15において、7バイト以下の一致が検出された場合、次のブロック(現在の先頭アドレスに8を加算したブロック)において、8バイト一致の探索が行われる。
(d)〔17バイトまでの一致の比較〕
(7)8バイトの一致が検出された場合、始めに一致した8バイトが含まれる4バイト境界から、20バイトのデータがレジスタ2−5にバイトデータG00〜G19としてロードされる。このとき、切り替えゲート2−6,2−7によって、レジスタ2−5のバイトデータG00〜G19、比較回路2−3(1)〜2−3(32)及び比較回路2−3(33)〜2−3(36)が、圧縮対象データの先頭から17バイトまでのデータと比較できるように接続される。
【0065】
例えば、4組の17バイトデータG00−G16,G01−G17,G02−G18,G03−G19が、圧縮対象データの第1から第17番目のバイトデータと、それぞれ比較回路2−3(1)〜2−3(8)及び2−3(33),2−3(9)〜2−3(16)及び2−3(34),2−3(17)〜2−3(24)及び2−3(35),2−3(25)〜2−3(32)及び2−3(36)においてそれぞれ比較される。
【0066】
(8)ここで、レジスタ2−5のバイトデータG00〜G19において、16バイト以下の一致が検出された場合、次のブロック(現在の先頭アドレスに4を加算したブロック)において、17バイト一致の探索が行われる。
(9)17バイトの一致が検出された場合、これ以上の一致はあり得ないので、その位置で比較を終了する。
【0067】
以上の検索及び比較の結果は、最大一致選択回路2−9を介して、図3で示した実施例1と同様にレジスタ2−4に格納される。レジスタ2−4は、レジスタ2−4(a)〜(c)を含んでおり、レジスタ2−4(a)には、検索が行なわれた区間の番号が格納され、レジスタ2−4(b)には、最大一致が得られたデータの開始位置が格納され、レジスタ2−(c)には、そのときの一致数が格納される。レジスタ2−4への格納は、上述の各検索及び比較動作毎に行うことができる。
【0068】
レジスタ2−4の各データが、図5の(C)に示す圧縮データに供給され、圧縮対象データが圧縮される。
上述のデータ圧縮方法では、一致幅が大きくなるにつれて一度に検索される区間の幅は減少する。しかし、このときには既に一定数の一致が得られているので、一致した量のデータが処理された後に次の検索が必要になる。即ち、2バイトの一致が検出された場合、その一致が検出されない場合と比較して2倍の処理時間をかけて検索することが可能となる。また、4バイトの一致が検出された場合、4倍の処理時間の検索まで許容される。
【0069】
また、図4の比較ユニット2−3’で示したように、データ圧縮装置は、バイトデータの一致検出を行う回路を種々の一致長に対して共通に使用できる。従って、比較的に小さいハードウェアによって高速の一致検索を行うことが可能となる。
【0070】
本発明で示したデータ圧縮方法において、一致長は必ずしも2倍のステップで増加させるように限定する必要はない。回路の複雑性と検索の速度に応じて、一致長は1バイトまたは複数バイトで増加することも可能である。また、ウィンドウ用レジスタ2−1は、所定の速度が実現可能なメモリを用いて構成することもできる。
【0071】
以上、本発明の実施例により説明したが、本発明はこれらの実施例に限定されるものではなく、本発明の範囲内で改良及び変形が可能であることは言うまでもない。
【0072】
【発明の効果】
上述したように、本発明によれば以下に示す効果を有する。
請求項1記載のデータ圧縮方法、及び請求項6記載データ圧縮装置においては、前記辞書ウィンドウ中の複数組のn個のデータと前記圧縮すべきデータ中のn個のデータとが実質的に同時に比較され、最長の一致を検出したデータが前記圧縮データとして生成される。
【0073】
従って、入力データのパターンに依存せずに、データ圧縮方法の一致データ検索時間を大幅に短縮化できる。
請求項2記載のデータ圧縮方法、及び請求項7記載データ圧縮装置においては、n個のデータの一致が検出された場合、前記nの値をn1に増加させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとが実質的に同時に比較される。
【0074】
従って、データ圧縮方法の一致データ検索時間をさらに短縮化することができる。
請求項3又は4記載のデータ圧縮方法、及び請求項8又は9記載のデータ圧縮装置においては、n個のデータの一致が検出された場合、前記nの値をn1に増加させかつ前記mの値をm1に減少させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm1組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとが実質的に同時に比較される。
【0075】
従って、同じハードウェア(比較回路)を用いて、異なる一致幅の比較を行うことができる。よって、ハードウェアを大型化せずに、高速にデータ圧縮動作を行うことができる。
請求項5記載のデータ圧縮方法、及び請求項10記載データ圧縮装置においては、本発明に係わるデータ圧縮方法は、Lampel/Zivが提案したLZ77方式に適用できる。従って、LZ77方式のデータ圧縮動作を大幅に高速化でき、かつそのデータ圧縮装置を容易にハードウェア化できる。
【図面の簡単な説明】
【図1】本発明に係わるデータ圧縮装置を含むシステムの構成例を示す図。
【図2】本発明に係わるデータ圧縮装置の大要のブロック構成図。
【図3】本発明に係わるデータ圧縮方法の第1実施例を説明するための図。
【図4】本発明に係わるデータ圧縮方法の第2実施例を説明するための図。
【図5】一般的なLZ77データ圧縮方式の動作例を示す図である。(A)は、圧縮の対象となるデータ(入力データ)とそれと比較される先行データの一定範囲(スライディングウィンドウ)、(B)は、非圧縮データ、(C)は、圧縮データを示す。
【図6】2進木検索法の動作例を説明するための図。
【符号の説明】
1−1 圧縮装置
1−2 MPU(マイクロコンピュータ)
1−3 メモリ
1−1a 圧縮機構
1−1b 制御回路
1−1c アドレスレジスタ読出し回路
1−1d アドレスレジスタ書き込み回路
1−1e バイトカウンタ
2−1 ウィンドウ(スライディング辞書)
2−2 圧縮対象データ用レジスタ
2−3,2−3’ 比較ユニット
2−3(1)〜2−3(32)2バイト比較回路
2−3(33)〜2−3(36)1バイト比較回路
2−4 レジスタ
2−4(a)〜2−4(c) レジスタ
2−5 レジスタ
2−6,2−7 切り替えゲート
2−8 制御回路
2−9 最大一致選択回路

Claims (10)

  1. 圧縮すべきデータの以前の履歴を格納した辞書ウィンドウと前記圧縮すべきデータとを比較し、データの一致が検出された場合に一致データの一致長と前記辞書ウィンドウにおける相対位置とをコード化して圧縮データを生成するデータ圧縮方法において、
    (a)前記辞書ウィンドウ中のm組(m=2,3,...)のn個のデータ(n=2,3,...)と前記圧縮すべきデータ中のn個のデータとを実質的に同時に比較し、
    (b)前記段階(a)の比較結果において、最長の一致を検出したデータをコード化して前記圧縮データを生成する各段階
    を有することを特徴とするデータ圧縮方法。
  2. 前記段階(a)は、n個のデータの一致が検出された場合、前記nの値をn1(n1=3,4,..)に増加させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する段階を含むことを特徴とする請求項1記載のデータ圧縮方法。
  3. 前記段階(a)は、n個のデータの一致が検出された場合、前記mの値をm1(m1=1,2,...)に減少させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm1組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する段階をさらに含むことを特徴とする請求項2記載のデータ圧縮方法。
  4. 前記段階(a)は、n個のデータの一致が検出された場合、前記nの値をi×nに増加させかつ前記mの値をm/iに減少させて(i=2,3,...)、前記辞書ウィンドウ中の一致が検出されたデータの位置からm/i組のi×n個のデータと前記圧縮すべきデータ中のi×n個のデータとを実質的に同時に比較する段階をさらに含むことを特徴とする請求項3記載のデータ圧縮方法。
  5. 前記データ圧縮方法は、Lampel/Zivが提案したLZ77方式の改良方式であり、前記n個のデータはn個のバイトであり、前記辞書ウィンドウ中のm組のn個のデータは、1バイトずつシフトされたm組のn個のデータであることを特徴とする請求項1乃至4のうちいずれか1項記載のデータ圧縮方法。
  6. 圧縮すべきデータの以前の履歴を格納した辞書ウィンドウと前記圧縮すべきデータとを比較する比較部と、データの一致が検出された場合に一致データの一致長と前記辞書ウィンドウにおける相対位置とをコード化して圧縮データを生成する処理部とを有するデータ圧縮装置において、
    前記比較部は、前記辞書ウィンドウ中のm組(m=2,3,...)のn個のデータ(n=2,3,...)と前記圧縮すべきデータ中のn個のデータとを実質的に同時に比較するm個の比較回路を有し、
    前記処理部は、前記比較部の比較結果において、最長の一致を検出したデータをコード化して前記圧縮データを生成する手段を有することを特徴とするデータ圧縮装置。
  7. 前記比較部は、n個のデータの一致が検出された場合、前記nの値をn1(n1=3,4,..)に増加させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する手段を含むことを特徴とする請求項6記載のデータ圧縮装置。
  8. 前記比較部は、n個のデータの一致が検出された場合、前記mの値をm1(m1=1,2,...)に減少させて、前記辞書ウィンドウ中の一致が検出されたデータの位置からm1組のn1個のデータと前記圧縮すべきデータ中のn1個のデータとを実質的に同時に比較する手段をさらに含むことを特徴とする請求項7記載のデータ圧縮装置。
  9. 前記比較部は、n個のデータの一致が検出された場合、前記nの値をi×nに増加させかつ前記mの値をm/iに減少させて(i=2,3,...)、前記辞書ウィンドウ中の一致が検出されたデータの位置からm/i組のi×n個のデータと前記圧縮すべきデータ中のi×n個のデータとを実質的に同時に比較する手段をさらに含むことを特徴とする請求項8記載のデータ圧縮装置。
  10. 前記データ圧縮装置は、Lampel/Zivが提案したLZ77方式用改良装置であり、前記n個のデータはn個のバイトであり、前記辞書ウィンドウ中のm組のn個のデータは、1バイトずつシフトされたm組のn個のデータであることを特徴とする請求項6乃至9のうちいずれか1項記載のデータ圧縮装置。
JP34409996A 1996-12-04 1996-12-24 データ圧縮方法及び装置 Expired - Lifetime JP3540109B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP34409996A JP3540109B2 (ja) 1996-12-24 1996-12-24 データ圧縮方法及び装置
US08/896,658 US5936560A (en) 1996-12-04 1997-07-18 Data compression method and apparatus performing high-speed comparison between data stored in a dictionary window and data to be compressed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34409996A JP3540109B2 (ja) 1996-12-24 1996-12-24 データ圧縮方法及び装置

Publications (2)

Publication Number Publication Date
JPH10187410A JPH10187410A (ja) 1998-07-21
JP3540109B2 true JP3540109B2 (ja) 2004-07-07

Family

ID=18366643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34409996A Expired - Lifetime JP3540109B2 (ja) 1996-12-04 1996-12-24 データ圧縮方法及び装置

Country Status (2)

Country Link
US (1) US5936560A (ja)
JP (1) JP3540109B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190284B1 (en) 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
US6879266B1 (en) 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US6118789A (en) 1998-02-19 2000-09-12 Micron Technology, Inc. Method of addressing messages and communications system
JP3730385B2 (ja) * 1997-12-05 2006-01-05 株式会社東芝 デ−タ圧縮装置
US6061344A (en) 1998-02-19 2000-05-09 Micron Technology, Inc. Method of addressing messages and communications system
US6275476B1 (en) * 1998-02-19 2001-08-14 Micron Technology, Inc. Method of addressing messages and communications system
USRE43382E1 (en) 1998-02-19 2012-05-15 Round Rock Research, Llc Method of addressing messages and communications systems
US6072801A (en) 1998-02-19 2000-06-06 Micron Technology, Inc. Method of addressing messages, method of establishing wireless communications, and communications system
US6301394B1 (en) * 1998-09-25 2001-10-09 Anzus, Inc. Method and apparatus for compressing data
US6885319B2 (en) * 1999-01-29 2005-04-26 Quickshift, Inc. System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US20010054131A1 (en) * 1999-01-29 2001-12-20 Alvarez Manuel J. System and method for perfoming scalable embedded parallel data compression
US7129860B2 (en) * 1999-01-29 2006-10-31 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
US7538694B2 (en) * 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6208273B1 (en) 1999-01-29 2001-03-27 Interactive Silicon, Inc. System and method for performing scalable embedded parallel data compression
US6822589B1 (en) 1999-01-29 2004-11-23 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6348881B1 (en) 2000-08-29 2002-02-19 Philips Electronics No. America Corp. Efficient hardware implementation of a compression algorithm
US6739706B2 (en) 2002-04-19 2004-05-25 Hewlett-Packard Development Company, L.P. Off axis inkjet printing system and method
GB0210604D0 (en) * 2002-05-09 2002-06-19 Ibm Method and arrangement for data compression
US7103608B1 (en) 2002-05-10 2006-09-05 Oracle International Corporation Method and mechanism for storing and accessing data
US7058783B2 (en) * 2002-09-18 2006-06-06 Oracle International Corporation Method and mechanism for on-line data compression and in-place updates
WO2004062110A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited データ圧縮方法、プログラム及び装置
JP4755175B2 (ja) * 2004-04-19 2011-08-24 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
US7587401B2 (en) * 2005-03-10 2009-09-08 Intel Corporation Methods and apparatus to compress datasets using proxies
US7283072B1 (en) * 2006-03-30 2007-10-16 International Business Machines Corporation Methods of creating a dictionary for data compression
US7973644B2 (en) 2007-01-30 2011-07-05 Round Rock Research, Llc Systems and methods for RFID tag arbitration where RFID tags generate multiple random numbers for different arbitration sessions
US8134452B2 (en) * 2007-05-30 2012-03-13 Round Rock Research, Llc Methods and systems of receiving data payload of RFID tags
DE602008002583D1 (de) * 2008-07-21 2010-10-28 Sony Comp Entertainment Europe Datenkomprimierung und -dekomprimierung
US8106799B1 (en) * 2009-03-23 2012-01-31 Marvell International Ltd. Data compression and decompression using parallel processing
JP2012134929A (ja) * 2010-12-24 2012-07-12 Ricoh Co Ltd 画像処理装置および画像処理方法
EP2530843A3 (en) * 2011-06-03 2013-01-02 Alcatel Lucent Dictionary based data compression
US8872677B2 (en) 2013-03-15 2014-10-28 Dialogic Networks (Israel) Ltd. Method and apparatus for compressing data-carrying signals
JP6009676B2 (ja) * 2013-08-09 2016-10-19 株式会社日立製作所 データ圧縮装置およびデータ伸張装置
US8902087B1 (en) 2013-08-27 2014-12-02 International Business Machines Corporation Data decompression utilizing pre-expanded dictionaries during decompression
JP2015159352A (ja) * 2014-02-21 2015-09-03 富士通株式会社 データ圧縮装置、データ圧縮方法、及びプログラム
US11309908B2 (en) * 2018-11-26 2022-04-19 Fungible, Inc. Static dictionary-based compression hardware pipeline for data compression accelerator of a data processing unit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4464650A (en) * 1981-08-10 1984-08-07 Sperry Corporation Apparatus and method for compressing data signals and restoring the compressed data signals
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
GB2172127B (en) * 1985-03-06 1988-10-12 Ferranti Plc Data compression system
US4847619A (en) * 1987-10-19 1989-07-11 Hewlett-Packard Company Performance-based reset of data compression dictionary
US4870415A (en) * 1987-10-19 1989-09-26 Hewlett-Packard Company Data compression system with expansion protection
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
US5126739A (en) * 1989-01-13 1992-06-30 Stac Electronics Data compression apparatus and method
US5016009A (en) * 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
JPH05341953A (ja) * 1992-06-12 1993-12-24 Fujitsu Ltd データ圧縮方法及び装置
US5771011A (en) * 1996-07-15 1998-06-23 International Business Machines Corporation Match detect logic for multi-byte per cycle hardware data compression

Also Published As

Publication number Publication date
US5936560A (en) 1999-08-10
JPH10187410A (ja) 1998-07-21

Similar Documents

Publication Publication Date Title
JP3540109B2 (ja) データ圧縮方法及び装置
US5602764A (en) Comparing prioritizing memory for string searching in a data compression system
US5883588A (en) Data compression system and data compression device for improving data compression rate and coding speed
US5563595A (en) Method and apparatus for compressing data
US5525982A (en) Method and means for character string pattern matching for compression and the like using minimal cycles per character
JP3225638B2 (ja) データを圧縮するための装置及び方法並びにデータ処理システム
US5612693A (en) Sliding window data compression using a toroidal bit shift register
US5450605A (en) Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions
US8244691B1 (en) Dictionary architecture and methodology for revision-tolerant data de-duplication
US6640294B2 (en) Data integrity check method using cumulative hash function
EP0250705B1 (en) Method and apparatus for retrieval of symbol strings from data
JP3889762B2 (ja) データ圧縮方法、プログラム及び装置
US5151697A (en) Data structure management tagging system
US5049881A (en) Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
EP0673122B1 (en) Coding apparatus
EP0634839A1 (en) Data search device
EP0471518A1 (en) Data compression method and apparatus
JPS6217418B2 (ja)
JPH0888568A (ja) データの可逆符号化方法
US6721753B1 (en) File processing method, data processing apparatus, and storage medium
US7379940B1 (en) Focal point compression method and apparatus
JPS6360416B2 (ja)
CN116192154B (zh) 数据压缩及数据解压方法、装置、电子设备、芯片
US8244677B2 (en) Focal point compression method and apparatus
US5991340A (en) Method and system for encoding and decoding data using run prediction

Legal Events

Date Code Title Description
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: 20040323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040324

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term