JP2007508753A - データ圧縮システム及び方法 - Google Patents

データ圧縮システム及び方法 Download PDF

Info

Publication number
JP2007508753A
JP2007508753A JP2006534542A JP2006534542A JP2007508753A JP 2007508753 A JP2007508753 A JP 2007508753A JP 2006534542 A JP2006534542 A JP 2006534542A JP 2006534542 A JP2006534542 A JP 2006534542A JP 2007508753 A JP2007508753 A JP 2007508753A
Authority
JP
Japan
Prior art keywords
data
subsequence
values
byte
index
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.)
Pending
Application number
JP2006534542A
Other languages
English (en)
Other versions
JP2007508753A5 (ja
Inventor
パーカー,ブルース
Original Assignee
パクバイト ソフトウエア プロプライアタリー リミティド
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
Priority claimed from AU2003905688A external-priority patent/AU2003905688A0/en
Application filed by パクバイト ソフトウエア プロプライアタリー リミティド filed Critical パクバイト ソフトウエア プロプライアタリー リミティド
Publication of JP2007508753A publication Critical patent/JP2007508753A/ja
Publication of JP2007508753A5 publication Critical patent/JP2007508753A5/ja
Pending 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本発明は、所定長以上の長さのバイトシーケンスを有するデータファイルの圧縮方法を提供する。その方法は、二次記憶装置からデータファイルを取り出すステップと、データファイルをダイレクトアクセスメモリに保存するステップと、データファイルの所定長を超えない長さを持つサブシーケンス内で一意なバイト値の頻度を計算するステップと、サブシーケンス内で計算された一意なバイト値の頻度を表すデータ値を含むインデックスを作成するステップと、所定の閾値未満である一意なバイト値の頻度を持つサブシーケンス上で、サブシーケンス内で一意なバイト値の頻度を増加するためにサブシーケンスに対してデータ変換を適用し、データ変換を表すデータ値をインデックスに追加するステップと、所定の閾値を超える一意なバイト値の頻度を持つサブシーケンス上で、サブシーケンス内で1以上の一意な値の位置を表すデータ値をインデックスに追加するステップと、ファイルタイプ識別子を持つ出力データファイルを作成するステップと、出力データファイルにインデックスを追加するステップとを含む。

Description

本発明は、データ圧縮の分野に関連し、特に階乗反復型のロスのない圧縮に基づくデータ圧縮システム及び方法に関する。
電子バイナリファイルには、多くの様々な用途のために多く異なるフォーマットがある。これらのフォーマットには、画像、音、テキスト、データ、実行ファイルなどの保存に適した形式が含まれる。
データを含むバイナリファイルは、暗号化されていなければ、構造化されたフォーマットとなる傾向にある。通常、ヘッダ情報、テキスト、頻度及び他の構成要素間の配置がある。一般に、バイナリファイルの最初の数バイトは、ファイルタイプを表す指標を含むので、どのバイナリファイルを用いるアプリケーションも互換性を有する。実行ファイル若しくは何がしかの機能を実行するために使用されるファイルは、ほとんど構造化されたフォーマットを持たない。しかしながら、これらのファイルは機能を実行するためにオペレーティングシステムと情報をやりとりしなければならないか、オペレーションシステムの一部であるため、構造的要素がある。
圧縮され、暗号化されたファイルは、設計によってはファイル内で繰り返される値が除去されるので、最も構造を持たない。暗号化の場合、置換される値を定義するために鍵が使用される。圧縮については、“省略表現”が繰り返す構造に対して使用される。暗号化されたファイル又は圧縮ファイルの場合、そのファイルは内部構造を持たないばかりか、特に圧縮の場合、ファイルのサイズも変更される。
1,048,576バイト(1Mb)のサイズのバイナリファイルに対して、数学的に可能なバイトの配列について2561048576通りのとり得る構造がある。実際の使用では、この数の一部のみが使用される。実際に使用される数は、異なるファイルタイプの数の推定、実行ファイル又はオペレーショナルファイルの機能性、及び利用可能な圧縮及び暗号化に基づいて近似するしかない。
データファイル上でデータ圧縮を実行する多くの技術が存在する。幾つかのデータ圧縮アルゴリズムは、インデックス化技術に基づいており、データファイル内の一意の値のインデックス化と計算を含む。最も圧縮されたデータファイルでは、256バイトの各コードセグメント内でデータ値の繰り返しが幾つか存在する。平均的なファイルでは、256バイトのコードセグメントごとに160から170個の繰り返しのない一意な値が存在する。階乗計算に基づいたデータ圧縮技術は、この値の数ではうまく動かない。
一つの側面において、本発明は、所定長以上の長さのバイトシーケンスを有するデータファイルの圧縮方法を提供する。その方法は、二次記憶装置からデータファイルを取り出すステップと、データファイルをダイレクトアクセスメモリに保存するステップと、データファイルの所定長を超えないサブシーケンス内で一意なバイト値の頻度を計算するステップと、サブシーケンス内で計算された一意なバイト値の頻度を表すデータ値を含むインデックスを作成するステップと、所定の閾値未満である一意なバイト値の頻度を持つサブシーケンス上で、サブシーケンス内で一意なバイト値の頻度を増加するためにサブシーケンスに対してデータ変換を適用し、データ変換を表すデータ値をインデックスに追加するステップと、所定の閾値を超える一意なバイト値の頻度を持つサブシーケンス上で、サブシーケンス内で1以上の一意な値の位置を表すデータ値をインデックスに追加するステップと、ファイルタイプ識別子を持つ出力データファイルを作成するステップと、出力データファイルにインデックスを追加するステップとを含む。
本発明のデータ圧縮システム及び方法の好ましい形式を、ここで添付図面を参照しつつ説明する。
本発明は、データファイル5に対して適用しようとするデータ圧縮システム及び方法を提供する。データファイル5は、BMP、WAV、DOC、XLS、MDB、ZIP、SIT、ARJ、ZOO、TIF、JPG、GIF、MP3、MP4などを含む適当なデータとすることができる。データファイル5を、コンピュータ装置15の一部を形成するか、少なくとも接続される二次記憶装置10に保存することができる。コンピュータ装置15は、ダイレクトアクセスメモリ25及びディスプレイ30と接続されるプロセッサ20を少なくとも含む。コンピュータ装置は、他のコンポーネント、例えばデータ入力装置(図示せず)及び出力装置(図示せず)を含むか、接続されてもよいことを理解されたい。
データファイル5は所定長以上の長さのバイトシーケンスを含むことが想定されている。本発明の一つの好ましい実施形式では、この所定長は300バイトである。
動作の際、コンピュータ装置15のプロセッサ20は、二次記憶装置10からデータファイル5の全て又は一部を読み出す。読み出されたデータファイル又はその一部は、ダイレクトアクセスメモリ25に保存される。様々な操作がその保存されたデータファイル又はその一部に対して行われる。得られた出力データファイル35は、ダイレクトアクセスメモリ25に作成され、二次記憶装置10又は他の記憶装置に保存される。多くの場合において、出力データファイル35は、データファイル5よりも小さいサイズとなることが予想される。
データファイル5のサブシーケンスは最初に検査される。サブシーケンスの長さは、所定長の300バイトを超えないことが好ましい。特定された一意な値の数が閾値を下回る場合、一連のデータ変換がそのサブシーケンスにおける一意なバイト値の頻度を増加するためにサブシーケンスに対して適用される。
複数のデータ変換コンポーネント40はダイレクトアクセスメモリ25又は二次記憶装置に保存される。データ変換コンポーネント40は、ランダムに生成されたバイト値のシーケンス又は所定のバイト値のシーケンスを複数含んでもよい。そのシーケンスはマスク構造45として保存される。あるいは、若しくは好ましくは、さらにデータ変換コンポーネントは、追加のマスク構造45を生成するために使用することができる複数のマスク式50も含む。データ変換コンポーネントのアプリケーションについては、後で説明する。
システムは、複数のインデックス化コンポーネント60も含む。データファイル5のサブシーケンスの処理中、出力データファイル35に同時に書き込まれるインデックス65が作成される。インデックス化コンポーネント60はテンポラリポジションインデックス70、ポジションインデックス75及び順列インデックス80を含んでもよい。幾つかの場合においては、ポジションインデックス75及び順列インデックス80の内容がインデックス65に追加される。様々なインデックス化コンポーネント60の動作については、後で説明する。
システムは、ダイレクトアクセスメモリ25又は二次記憶装置に保存されるデータアレイ90を含んでもよい。データアレイ90は、データアレイ90の内容が出力データファイル35に書き込まれる前に、様々なインデックス化コンポーネント60及び圧縮されるデータファイル5のサブシーケンスの一部を保存するために使用することができる。
図2から図4は、本発明の好ましい形式の動作を示す。バイナリデータファイル5は、複数のデータグループに分割されることが好ましい。本発明の一つの好ましい実施形式では、各データグループは300バイト以下であることが好ましい。しかし、圧縮されるデータグループのサイズは5ビットを超える如何なるサイズであってもよいことを理解されたい。最初に、データファイルは、データファイルの長さが所定長以上か否かを明らかにするためにチェックされる(ステップ200)。本発明の一つの好ましい実施形式では、所定長の初期値は300バイトである。一つの形式では、データファイル全体は二次記憶装置から読み出され、ダイレクトアクセスメモリ25内のデータアレイ90に保存される。あるいは、データファイル5の一部を、データストリームとして二次記憶装置10から読み出してもよい。
データグループは、データグループ内の一意なデータ値の頻度を計算するためにカウントされる(ステップ205)。そして一意なデータ値の頻度は、所定の閾値と比較される(ステップ210)。一つの好ましい形式では、所定の閾値は256である。300バイトのサブシーケンス内で一意な値が256未満の場合、サブシーケンス内の一意なバイト値の頻度を増加するために、1以上のデータ変換をそのサブシーケンスに適用してもよい。
一意なバイト値の頻度が、300バイト内で所定の閾値の256未満の場合、そのサブシーケンスは、データ変換マスクをサブシーケンスに適用可能か否かを識別するためにテストされる(ステップ215)。本発明の一つ好ましい形式では、構造ライブラリが、コンピュータメモリ、例えばダイレクトアクセスメモリ25に保持される。そのライブラリは、複数のランダムに生成されたデータセットを含むことが好ましい。これらのデータセットを、それぞれデータセット識別子によって識別することができ、そのデータセット識別子はコンピュータメモリに保存され、ランダムに生成されたデータセットのそれぞれと関連付けられる。
一つの形式では、ランダムに生成されたデータセットの少なくとも一つは、データファイルのサブシーケンスの長さと実質的に等しい長さを持つ。言い換えれば、サブシーケンスのバイト数は、変換データセット又はマスクのバイト数と同じである。そのようなマスクは、サブシーケンス内のそれぞれのバイト値に対して、対応するバイト値及び読み出された変換データセットに基づいて、データ変換を適用することにより、サブシーケンスに適用できる。
データ変換の一つの例は、加算剰余(modulus addition)である。サブシーケンスの最初のバイト値とデータセットの最初のバイト値とが加算され、その合計について256を法として剰余が計算される。例えば、サブシーケンスの最初のバイナリ値が168であり、特定されたデータセットの最初のバイナリ値が203の場合、その合計は371である。変換値は、371MOD256を計算することにより、115である。その後、シーケンスの2番目のバイトが、データセットの2番目のバイトにより同じ方法で変換される。その後、シーケンスの3番目のバイトが、データセットの3番目のバイトにより同じ方法で変換される、などとなる。
この方法で、マスクがサブシーケンスに適用される(ステップ220)。
一つの形式において、65,536個のマスク構造をコンピュータメモリに保存しておくことができ、各マスクは0から65,536までのインデックスナンバーという形式のデータセット識別子とともに提供される。そのインデックスは、関連するデータセット識別子を示す単なる14ビットセグメントとすることができる。
データ変換コンポーネント40は、マスク式を含むことができる。例えば以下の通りである。
・先の300バイト以下のデータファイルのシーケンスの標準偏差。この式は前にサブシーケンスのない、データファイルの最初のシーケンスでは使用できないことを理解されたい。
・前回のサブシーケンス又は標準偏差に基づいたサブシーケンス内の値の反転
・サブシーケンスの構造に基づいて計算される適用可能な構造
・関連するサブシーケンスに対して加算又は減算され、ファイル構造に基づいてランダムに生成されるセグメント
上記の式は、一連のマスク構造を予め生成するために適用してもよい。あるいは、データ変換中に関連するバイト値を計算してもよい。一つの形式では、512個のランダムに生成された構造又はマスク構造は、ダイレクトアクセスメモリ25に保存される。これらの構造は、300バイトシーケンス内で256以上のヌル値を持つ可能性のあるデータファイルのサブシーケンスに対して適用される。これは、多くのソフトウェアアプリケーションのバイナリファイルのヘッダ構成部分において一般的である。これらのランダムに生成された構造を、高いレベルの反復をもつ他のフォーマットに適用することもできる。
サブシーケンスでのデータ変換に続けて、サブシーケンスは、300バイトのシーケンス内で256個の一意な値があるか否かを識別するために再度テストされる(ステップ210)。256個の一意な値がなく、そのサブシーケンスに適用可能な別のマスクがなければ、300バイトの閾値は下げられ、プロセスはより小さなサブシーケンスで繰り返される。一つの好ましい実施形態では、閾値は、300未満の8ビット値(バイト)を検査するために、一時的に152個の7ビット値又は77個の6ビット値へ低下させてもよい。それから、閾値は、次のサブシーケンスに対して300バイトに引き上げられる。これについては以下に詳細を述べる。
ランダムファイルの追加が256バイトセグメント内で256個の一意な値を生成することは到底無理であり、約10%が可能なところである。一度適切なランダムファイル構造が適用されると、300バイトを超えないデータセグメント内で256個の一意な値があることが想定される。場合によっては、データ変換の意図はデータグループ内の一意なデータ値の頻度を増加することにある。
本発明は、データグループ内の300個のデータ値のインデックスを計算する。
インデックスは、ダイレクトアクセスメモリ25内のデータアレイ90に保存されることが好ましい。300個のデータ値のインデックスは、最初に2ビットで生成される。256個の一意なデータ値が300バイトのデータグループ内で特定される場合、そのビット値“01”がインデックスに書き込まれる(ステップ225)。
マスクがサブシーケンスに適用されると、マスク又はデータセット識別子がインデックスに書き込まれる(ステップ230)。このマスク識別子は、0から65,536間のマスク値を識別する16ビット値であることが好ましい。マスク識別子において値が0であるということは、サブシーケンスに対してマスクが適用されなかったか、ヌルマスクが適用されたことを表す。ヌルデータセットがサブシーケンスに適用される場合、データ変換後のサブシーケンスは、データ変換前のサブシーケンスと実質的に同一である。
本発明の方法において、次のステップは、テンポラリポジションインデックスを作成することである(ステップ235)。
テンポラリポジションインデックスの作成方法は、データグループの最初のバイトにおいて開始し、256個の一意な値が300バイトのデータグループから抽出される場合、256個の一意な値が特定されるまで、データグループ内の次のバイトを検査する。検査される特定の値が、そのデータグループ又は以前のデータグループ内ではじめて現れる値である場合、“1”ビット値がテンポラリインデックスに加算される。一方、検査されるデータ値が既出のデータ値の繰り返しである場合、“0”ビット値がインデックスに書き込まれる。インデックス化の方法は、256個の“1”ビットがインデックスに書き込まれると、直ちに終了する。
テンポラリインデックスは、作成される圧縮データストリームにおいて、データグループ内の各データ値の配置と識別を容易にする。インデックスで値“1”の数は、使用されているビット数を示す。例えば、256個の“1”の値が、テンポラリインデックス内の283個のエントリの後のテンポラリインデックスで発生した場合、これはサブシーケンスの283バイト内に256個の一意なバイト値があることを示す。
300バイトのデータグループ内に256個以上の値がある場合、インデックスの最初の2ビットは既に“01”にセットされている。テンポラリインデックスはメインのインデックスに対して単に加算されるが、一方、この情報を格納する、より効率的な方法がある。サブシーケンスにおいて出現する“1”の値の数は既知である。それらが出現する順番を無視するならば、一意なバイト値の発生数を記録するだけで十分である。
テンポラリインデックスそれ自体を記録するよりも、ポジションインデックスを生成し、このポジションインデックスをメインのインデックスに書き込む方が好ましい。300バイトのサブシーケンスに対して、テンポラリインデックスが、256個の“1”の値とそれに続く44個の“0”の値を含む場合、これにポジションインデックス“0”を割り当ててもよい。44個の“0”の値と256個の“1”の値が300バイトのデータグループ内で取り得る配置の数はである。これは、256個の“1”の値と44個の“0”の値がある場合、300個の値内に1.34×1053と等しい300!/(256!・44!)通りの組み合わせがあるということを意味する。
1.34×1053個のこの最大ポジションインデックス値は、2177よりも小さく、値を表現するために177ビットを必要とする。
これは、300ビットの実際のテンポラリインデックスを保存するよりも、テンポラリインデックス内に少なくとも256個の“1”の値があるという事実を利用することによって、代わりにポジションインデックスは177ビット若しくは22.125バイトで記録できるということを意味する。
圧縮だけでなく解凍も可能にするために、データグループ内のデータ値の順序も記録することが重要である。これは順列インデックスを生成し、この順列インデックスをメインのインデックスに書き込むことにより達成される(ステップ245)。
順列インデックスの計算は、256個の一意な値を並べることができる方法の数、すなわち繰り返しのない256個の値の順列に基づく。最初の値に対しては、256通り有り、2番目の値に対しては255通り有り、3番目の値に対しては254通り有る、などである。これは256!として表され、“256の階乗”として参照される。そのため256個の一意な値の可能な順列の数は、8.57×10506通りである。この値は、21684が8.57×10506よりも大きい8.6×10506と等しいので、1684ビットで表すことができる。1684ビットは210.5バイトと等価である。
シーケンス0,1,2,3,4...,254,255は順列番号1で表し、シーケンス255,254,253...,3,2,1,0は順列番号8.57×10506で表す。
順列インデックスは、メインのインデックスに書き込まれる。メインのインデックスは、これまでにサブシーケンス内の一意なビット値の計算された頻度を表すデータ値を含む。これは、ビット値“01”、続いて適用されたマスクを表す16ビット、その次にポジションインデックスを表す177ビット、その次に順列インデックスを表す1684ビットが続く。
十分な長さのサブシーケンスを得るにはデータファイル内の残りのビットが十分でないか、一意な値の残りが十分でないところに到達すると、インデックスは出力ファイルに書き込まれる(ステップ250)。
出力ファイルは、ファイルタイプを識別するために先頭3バイトを含むことが好ましい。さらにファイルタイプ識別子に続く2バイトは、最大65,536回に対する特定のデータファイル全体にわたって実行された本発明の方法の試行数を示す。
これらの5バイトに続いて、データアレイ90に保存されるインデックスが出力ファイルに加えられる。インデックスに続いて、インデックスで未処理な、すなわちデータファイル内に残るビットの値又は一意な値が十分でない値が加えられる。
たいていの場合、ヘッダの5バイトと、それに続く本体と、出力ファイルの終わりに未圧縮の形式でフルに書き込まれる63以下のビットの値とが存在することが予想される。出力ファイルの本体は、ストリーミングの手法で抽出することを容易にするために連続して書き込まれるインデックスの集合であることが好ましい。
図2について上述してきたように、本発明の方法を複数回繰り返した後にデータファイルに残るバイトが300もないか、256個の一意な値及び適用可能な別のマスクがない300バイトのシーケンスがある場合も発生する。ステップ260で示されるように、一つの好ましい形式では、データファイルから読み出されるサブシーケンスのサイズを減らすことができる。
図3を参照すると、データファイルに少なくとも133バイトが残っているか否かを識別するために、データファイルはチェックされる(ステップ305)。
データファイルに残る152個の7ビット値を含む少なくとも133バイトが有る場合、152個の7ビット値内で一意な値の数をカウントする(ステップ310)。その後、一意な値の数が、閾値(例えば128)に対してチェックされる(ステップ315)。133バイトのサブシーケンスに十分な一意の数がなければ、図2のステップ215及び220と同様の方法で適用可能なマスクが特定され(ステップ340)、適用される(ステップ345)。
一度、一意な値の数の閾値がデータファイルの152個の7ビット値に対して確認されると、ビットシーケンス“10”がインデックスに書き込まれ(ステップ350)、本方法は図2において230で示されるステップへ進む。
データファイル内に処理されるべき残りが152個の7ビット値もないか、152個の7ビットサブシーケンス内に128個の一意な値を見つけられず、適用可能な別のマスクもない場合、ステップ355に示されるように、本方法は図4に示されるものへ渡される。図4に示すように、検査下にあるデータファイルのビットグループの数は、77個の6ビット値に減らされる。データファイルに77個の6ビット値が残っている場合(ステップ405)、その77個の6ビット値において一意な値の数がカウントされる(ステップ410)。
一意な値の数が閾値64に対してチェックされる(ステップ415)。77個の6ビット値において一意な値が64よりも少なければ、本方法はマスクが適用可能か否かを明らかにする(ステップ420)。マスクが適用可能であれば、マスクが適用される(ステップ425)。これら最後の2ステップ(425、430)は、図2のステップ215と220、及び図3のステップ340と345と同様である。
77個の6ビットサブシーケンスにおいて64個の一意な値があれば、値“11”がインデックスに書き込まれる(ステップ430)。そして制御は図2のステップ230へ戻される。
データファイル内に処理されるべき残りが77個の6ビット値もないか、77個の6ビットサブシーケンス内に64個の一意な値を見つけられなければ、ビット値“00”がインデックスに書き込まれ(ステップ435)、インデックスは図2に示されるステップ250と同様の手法で出力ファイルに書き込まれ、且つデータファイルの残りのバイトは出力ファイルに書き込まれる。
検査下にあるバイト数に依存して、図2のステップ245で示される順列インデックスに対しても少々変更を必要とすることを理解されたい。152個の7ビットグループ内で128個の一意なデータ値が有る場合、ポジションインデックスは、152!/(128!・24!)通りとなり、これは5.48×1027と等しい。これは、293=9.9×1027なので、93ビットで表すことができる。
77個の6ビットグループ全体にわたって64個の一意な値が有る場合、インデックスは77!/(64!・13!)通りとなる。これは、1.84×1014となる先の値よりも大きい2.81×1014=248なので、48ビットで表すことができる。
同様に、検査下にあるバイト数に依存して、図2のステップ245で示される順列インデックスに対しても少々変更が必要となる。128個の値に対する順列は、128!すなわち3.86×10215である。これは、2717=6.89×10215なので、表現するために717ビットを必要とする。
64個の値に対する順列は、64!すなわち1.27×1089である。これは、2296=1.27×1089なので、296ビットで表現することができる。
図5は、377バイト、350バイト、320バイト、300バイト(8ビットグループ)、152(7ビットグループ)及び77(6ビットグループ)のデータグループサイズにおける想定される結果の表を示す。この表に示されるのは、バリエーションに包含される効果の指標である。これについては後で説明する。
解凍は、上記の手順を単に反転するものである。インデックスの値は、最初から最後(256番目)までの各値の範囲を示す。範囲を備えることは関連する値を提供する。インデックスは、ヘッダとともに再構成に使用することができる。全てのコンポーネントは一緒にパックされるので、ストリーミングが使用されることが予想される。
繰り返される値の配置のインデックス化は、より効率的な方法が有る場合、セグメントに対する“0”と“1”の値のストリングから変更してもよい。例えば、繰り返される値が1個か2個のみの場合、バイト数は257か258となる。257番目のビット又は258番目のビットを使用するよりも、最初と最後のバイトがそのセグメントに対して一意となることが知られている。そのため、257値の場合には、8ビットが単一の繰り返し値の位置を提供し、16ビットが258バイトセグメントの場合における両方の繰り返し値の位置を提供する。
本方法は、全てのファイルタイプ及び構造に適用することができる。PKW’areのZIP製品のようなツールでかなりの量まで圧縮されたファイルタイプ又は構造に対して、本発明の方法は1回の試行では同じレベルに到達しないであろう。しかし、本方法は、同じファイルに対して繰り返し適用し、各回でそのサイズを減らすことができる。試行数すなわち繰り返す数は、処理するハードウェア及び/又はユーザが要求する時間に依存する。
全てのコンポーネントが既知であるため、解凍は極めて高速である。圧縮はランダムデータ構造とのマッチングを必要とするので、解凍は圧縮よりもさらに高速となり得る。
全てのインデックス化は実際のデータそれ自体の中に包含されるので、複数回の解凍ルーチンを同時に実行してもよい。
他のアプリケーションは、ソフトウェア圧縮、データ圧縮、ソニープレイステーション2(登録商標)、マイクロソフト(登録商標)X−Boxなどのような対戦型オンラインゲーム、ボイスオーバーIP、ビデオオンデマンドを含む。本発明は、データ又はバイナリ情報が保存され、変換され、若しくは如何なるフォーマットで使用される如何なるアプリケーションも含む。
上記の記述は、300バイトのコードセグメント内の256個の一意な値又はそれよりも小さいものに基づいている。この選択された値は単に説明を目的とするものであることを理解されたい。5ビット又はそれ以上のデータグループ、又は0から31の間の値はこの方法を用いて再構成することができる。ランダムに生成されたデータセット又はオーバーレイファイルの数を減らすことは、3及び4ビット値がよく使用されるということを意味する。
説明してきた8ビット(256値)よりも大きなビット値を用いて、より大きな削減を行うことができる。例えば、9ビット値で圧縮された場合、8ビットの圧縮により達成される圧縮をさらに超える圧縮ゲインが有る。
削減若しくは圧縮は、値に対して使用されるビット数とともに増大する。256値(300バイトセグメント)は、512値(600バイトセグメント)ほど圧縮しない。同様に、512値(600バイトセグメント)は、1024値ほど圧縮しない。計算はファイルサイズに基づくはずなので、上限レベルはない。
上記の300バイトの方法を用いて、これを377バイトグループに拡張することができる。これは、図5に示され、且つこの明細書で説明される好ましい実施形態に対して最適レベルである300バイトを用いて、効果のある範囲が256から377バイトのグループであることを意味する。
300個の8ビットグループ(バイト)のバリエーション、152個の7ビットグループ及び77個の6ビットグループを、圧縮されたファイルのヘッダに示してもよい。そのバリエーションは、二つのパートから構成されてもよい。それらは、以下のものである。
1.セグメントサイズに対する関連するビットグループの数の表示。8ビットグループに対するサイズの範囲は256から377であり、7ビットで表され得る。7ビットグループに対する範囲は5ビットで表され、6ビットグループに対する範囲は4ビットで表され得る。
2.ビットグループのそれぞれ内で変更があるか否かを示すために上記のそれぞれの終端に追加され得る追加ビット。“0”は変更無しを示し、“1”は変更有りを示すことができる。
ヘッダは、上記の値を示す追加の19ビットを含んでもよい。
ヘッダごとに、変更値が許されるならば、グループごとを基礎として変更値をインデックスに書き込んでもよい。
例えば、8ビットグループの一つのグループのデフォルトは300の値としてもよいが、各セグメントは、含まれる変更値によって示されるように、256から377の間で変化してもよい。
本発明の別の実施形態は、複数の繰り返しバイト圧縮エンハンスメントを含む。これは図6及び図7を参照して説明される。
機能的電子ファイルは、複数の異なるカテゴリのバイト構造に分類される。これらは単純な2色のビットマップから、これまでに利用可能なロスのない圧縮アルゴリズムを用いて圧縮されたファイルまで、様々である。
ヘッダ情報に続く、2色のビットマップについては、ビット値1は黒を意味し、他は白を意味する。多くの繰り返しが有るので、ロスのない手法でのこれらのファイルの圧縮は単純である。
24ビットのビットマップに移ると、パターンの識別はより困難となり、そのためロスのない圧縮の圧縮率は、現在のアルゴリズムを用いて、より単純なビットマップ構造上での圧縮率と同程度に大きくはならない。
ここに説明するプロセスは、24ビットのビットマップよりも単純なパターンを導入し、それは、標準的な写真タイプの画像に対して、圧縮量を飛躍的に増大させるように、現在利用可能なロスのない圧縮アルゴリズムを用いてロスのない圧縮を可能にする。
これを達成するために、図6の610に示されるように、オリジナルのイメージは3個の成分に分解され、結合されたもののサイズはオリジナルのイメージよりも非常に大きくなる。それから、620に示されるように、全ての3バイト(24ビット)グループは、10進数の昇順に並べられる。例えば、236,217,67は、67,217,236に並べ替えられる。バイト配置の変更は、ハフマン構造を用いてインデックスに記録される。
オリジナルの構造が6通りしかないので、これらは以下のビットインデックスを用いて記録される。
00=123
01=132
100=213
101=231
110=312
111=321
上記の数のそれぞれは、バイトの並び替えられた位置と比較したときのそのバイトのオリジナルの位置を表す。
625に示されるように、イメージが完全に走査されると、このインデックスはファイル(ファイルA)に書き込まれる。
630に示されるように、最小のものの全て、又は各グループから現在の最初のバイトの値が別個のファイル(ファイルB)に書き込まれる。
635に示されるように、バイトの値は順番に並んでいるので、2番目のバイトの値から最初のバイトの値を引いた値がファイル(ファイルC)に書き込まれ、直ぐに3番目のバイトから2番目のバイトの値を引いた値が続く。
これで、3個のファイル、ファイルA、ファイルB、ファイルCが生成される。ファイルBとファイルCを合わせた合計は、オリジナルの24ビットのビットマップと同じである。ファイルAはバイトのインデックスを表すので、ファイルAはサイズにおいて余分のオーバーヘッドである。
その後、全ての3個のファイル(A,B及びC)がロスのないアルゴリズム又はWINZIP640のような製品を用いて一つのファイル(650)に圧縮されると、得られたファイルは、未修正のイメージファイルにこれらのツールを単に適用することによって得られるものよりも平均で25%小さい。
テストでは、最悪の場合のシナリオで2.5%の低下を示し、最高の場合、画質が24ビットのトゥルーカラービットマップの82%であった。同じゲインはJPEGのロスなしの圧縮モードを用いて得ることができる。
このプロセスは、データを保持する3バイトのグループ分けを用いて如何なるファイル構造にも適用できる。それはまた、ロスのない圧縮のレベルをより大きくしていくために、4、5、6、7、8等のバイト構造をカバーするように拡張してもよい。
ビットマップファイルが、イメージを表示するために使用されるように、Wave(.wav)ファイルは、音を出すために使用される。圧縮のエンハンスメントプロセスの別の例を、図7を参照しつつWaveフォーマットファイルに関してここで説明する。より多い色又は質を提供するそれぞれのビットマップファイル(2ビット、4ビット、8ビット、10ビット、12ビット、16ビット、24ビット、30ビット)の異なるレベルがあるように、同じことがWaveファイルにも生じる。
Waveファイルは複数の成分を用いて作成され、その成分は平均サンプリングレート、サンプリングレート、オーディオサンプルサイズ及びチャンネル数である。
サンプリングレートが低いほど、ファイルサイズも小さく、質も劣化することを意味する。また、モノラルファイルはステレオファイルよりも小さい。
ここで取り上げるWaveフォーマットは、商用CDに最高品質のステレオ音楽を保存するときに使用されるフォーマットである。このフォーマットはWaveフォーマットからCDフォーマットに変換される。
平均データレートが176.4Kb/秒、サンプリングレート44.1kHz、オーディオサンプルサイズ16ビット、2チャンネル(ステレオ)のWaveファイルに対して、次のように適用される。
ファイル内の全てのバイトの値が、nをファイルの最後のバイトとして(通常のオーディオファイルに対して、これは50,000,000のオーダとなるであろう)、1からnの番号で表される場合、全ての偶数の位置のバイトの値が一つのファイル(ファイル1)に書き込まれ(725)、全ての奇数の位置のバイトの値が別のファイル(ファイル2)に書き込まれる(730)。例えば、以下の表の通りとなる。
Figure 2007508753
それから、両方のファイル(ファイル1及びファイル2)が、再度640で示されるように、ロスのないアルゴリズム又はWINZIPのような製品を用いて一つのファイルに圧縮されると、得られたファイル650は、未修正のイメージファイルにこれらのツールを単に適用することによって得られるものよりも平均で20%小さい。
テストでは、圧縮ファイルのサイズにおいて最悪の場合のシナリオで10%のさらなる低下を示し、最高の場合、サイズにおいて43%の低下であった。
抽出/解凍は単純であり、二つのファイルが関連するロスのないツールを用いて解凍された後に、ファイル2からのバイトがファイル1のバイトのそれぞれの間に挿入される。
上記は、その好ましい形式を含む本発明を説明する。当業者にとって明らかな変更や修正は、添付の特許請求の範囲で規定されるように、本発明の範囲に含まれることが意図されている。
本発明のシステムの好ましい形式を示すである。 本発明の好ましい形式のデータ圧縮プロセスのフローチャートである。 本発明の好ましい形式のデータ圧縮プロセスのフローチャートである。 本発明の好ましい形式のデータ圧縮プロセスのフローチャートである。 本発明の好ましい実施形態について想定されるデータ圧縮結果の表を示す図である。 複数の繰り返しバイト圧縮エンハンスメントに関する本発明のさらなる側面を表す図である。 複数の繰り返しバイト圧縮エンハンスメントに関する本発明のさらなる側面を表す図である。

Claims (13)

  1. 所定長以上の長さのバイトシーケンスを有するデータファイルの圧縮方法であって、
    二次記憶装置からデータファイルを取り出すステップと、
    前記データファイルをダイレクトアクセスメモリに保存するステップと、
    前記データファイルの前記所定長を超えないサブシーケンス内で一意なバイト値の頻度を計算するステップと、
    前記サブシーケンス内で計算された前記一意なバイト値の頻度を表すデータ値を含むインデックスを前記差サブシーケンスに対して作成するステップと、
    所定の閾値未満である一意なバイト値の頻度を持つ前記サブシーケンス上で、該サブシーケンス内で該一意なバイト値の頻度を増加するために該サブシーケンスに対してデータ変換を適用し、該データ変換を表すデータ値を前記インデックスに追加するステップと、
    所定の閾値を超える一意なバイト値の頻度を持つ前記サブシーケンス上で、該サブシーケンス内で1以上の一意な値の位置を表すデータ値を前記インデックスに追加するステップと、
    ファイルタイプ識別子を持つ出力データファイルを作成するステップと、
    前記出力データファイルに前記インデックスを追加するステップと、
    を含むことを特徴とする方法。
  2. 前記サブシーケンスに対してデータ変換を適用するステップは、
    コンピュータメモリ内に複数の変換データセットを保持するステップであって、該変換データセットは一連のバイト値を持ち、且つ変換データセット識別子によって識別されるステップと、
    コンピュータメモリから前記変換データセットの一つを読み出すステップであって、該読み出された変換データセットは前記データファイルのサブシーケンスの長さと実質的に等しい長さを持つステップと、
    各々のバイトの値に対して、前記読み出された変換データセットにおいて対応する各々のバイトの値に基づいてデータ変換を適用するステップと、
    を含む請求項1に記載の方法。
  3. 前記読み出された変換データセットの少なくとも一つに基づいてデータ変換された前記サブシーケンスは、該データ変換前の前記サブシーケンスと実質的に同一である、請求項2に記載の方法。
  4. 前記変換データセットの少なくとも一つは、ランダムに生成されたバイトレートのシーケンスを含む、請求項2に記載の方法。
  5. 前記変換データセットの少なくとも一つは、バイトレートの所定のシーケンスを含む、請求項2に記載の方法。
  6. 前記変換データセットの少なくとも一つは、前記データファイルのサブシーケンス以外の該データファイルの一部から得られたバイト値のシーケンスを含む、請求項2に記載の方法。
  7. 前記サブシーケンスに対して適用された前記データの変換データセットの前記変換データセット識別子を前記インデックスに対して追加するステップをさらに含む、請求項2〜6の何れか一項に記載の方法。
  8. 前記サブシーケンス内で1以上の一意な値の前記位置を計算するステップをさらに含む、請求項1〜7の何れか一項に記載の方法。
  9. 前記サブシーケンス内で前記1以上の一意な値の前記位置を計算するステップは、
    コンピュータメモリ内にテンポラリポジションインデックスを作成するステップと、
    前記サブシーケンスから連続したバイトの値を読み出すステップと、
    各バイト値の読み出しにおいて、該読み出されたバイト値が一意なバイト値か繰り返された値かを決定するステップと、
    一意なバイト値の検出において、二つのビットの値の一つを前記テンポラリポジションインデックスに追加し、さもなければ、該二つのビットの値の他方を前記テンポラリポジションインデックスに追加するステップと、
    前記テンポラリポジションインデックスから、前記1以上の一意な値の前記位置を表すポジションインデックスを作成するステップと、
    前記ポジションインデックスから、少なくとも部分的に前記1以上の一意な値の前記位置を表す前記データ値を計算するステップと、
    を含む請求項8に記載の方法。
  10. 前記サブシーケンス内のバイト数が、前記テンポラリポジションインデックス内のビット数と実質的に等しい、請求項9に記載の方法。
  11. 前記ポジションインデックスのサイズは、前記テンポラリポジションインデックスのサイズよりも小さい、請求項9又は10に記載の方法。
  12. 前記サブシーケンス内の一意なバイトの値の順序を表す順列インデックスを作成するステップと、
    前記ポジションインデックス及び前記順列インデックスの両方から前記1以上の一意な値の前記位置を表す前記データ値を計算するステップと、
    をさらに含む請求項9〜11の何れか一項に記載の方法。
  13. 前記1以上の一意な値の前記位置を表す前記データ値を形成するために、前記ポジションインデックス及び前記順列インデックスを連結させるステップを含む、請求項12に記載の方法。
JP2006534542A 2003-10-17 2004-10-15 データ圧縮システム及び方法 Pending JP2007508753A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2003905688A AU2003905688A0 (en) 2003-10-17 Data Compression System And Method
PCT/AU2004/001406 WO2005039057A1 (en) 2003-10-17 2004-10-15 Data compression system and method

Publications (2)

Publication Number Publication Date
JP2007508753A true JP2007508753A (ja) 2007-04-05
JP2007508753A5 JP2007508753A5 (ja) 2007-11-08

Family

ID=34437878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006534542A Pending JP2007508753A (ja) 2003-10-17 2004-10-15 データ圧縮システム及び方法

Country Status (11)

Country Link
US (2) US7224293B2 (ja)
EP (1) EP1676368A4 (ja)
JP (1) JP2007508753A (ja)
KR (1) KR20060106835A (ja)
CN (1) CN1868127B (ja)
AU (2) AU2004307044B2 (ja)
CA (1) CA2580538A1 (ja)
IL (1) IL174556A0 (ja)
NZ (1) NZ546498A (ja)
WO (1) WO2005039057A1 (ja)
ZA (1) ZA200603910B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021501427A (ja) * 2017-10-11 2021-01-14 ログノヴェーションズ ホールディングス,エルエルシー コンテンツ非依存のファイルインデックス化の方法及びシステム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0228552D0 (en) * 2002-12-06 2003-01-15 Glaxo Group Ltd Chemical compounds
US7222299B1 (en) * 2003-12-19 2007-05-22 Google, Inc. Detecting quoted text
JP4587312B2 (ja) * 2005-09-16 2010-11-24 株式会社リコー 符号変換装置及び符号変換方法
MX2008012216A (es) * 2006-03-24 2008-12-10 Univ Mississippi Compresion de datos a alta velocidad basada en tecnicas de mapeo de cache de conjunto asociativo.
US8085171B2 (en) * 2006-03-24 2011-12-27 University Of Mississippi High-speed data compression based on set associative cache mapping techniques
US8510459B2 (en) * 2006-09-01 2013-08-13 Pacbyte Software Pty Limited Method and system for transmitting a data file over a data network
US8688654B2 (en) * 2009-10-06 2014-04-01 International Business Machines Corporation Data compression algorithm selection and tiering
US8010704B2 (en) * 2008-05-29 2011-08-30 GM Global Technology Operations LLC Method of efficient compression for measurement data
RU2497277C2 (ru) * 2010-07-29 2013-10-27 Российская Федерация, от имени которой выступает государственный заказчик-Государственная корпорация по атомной энергии "Росатом" Способ сжатия двоичных данных в виде структурированных информационных блоков
US8866649B2 (en) * 2011-09-14 2014-10-21 Netapp, Inc. Method and system for using non-variable compression group size in partial cloning
WO2014002161A1 (ja) * 2012-06-25 2014-01-03 富士通株式会社 情報処理装置、ファイル管理方法、及びファイル管理プログラム
CN104636377B (zh) * 2013-11-12 2018-09-07 华为技术服务有限公司 数据压缩方法及设备
CN104579358B (zh) * 2015-01-20 2018-09-25 华北电力大学 一种故障录波数据压缩方法
US20160253339A1 (en) * 2015-02-26 2016-09-01 Bittitan, Inc. Data migration systems and methods including archive migration
WO2016195547A1 (en) * 2015-05-29 2016-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Methods for compression and decompression of headers of internet protocol packets, devices, computer programs and computer program products
WO2017056073A1 (en) * 2015-10-01 2017-04-06 Pacbyte Software Pty Ltd Method and system for compressing and/or encrypting data files
CN105915225B (zh) * 2016-04-12 2019-03-05 科络克电子科技(上海)有限公司 信号处理二维数据阵列的特征增强和数据压缩的方法
CN106791267A (zh) * 2016-12-21 2017-05-31 济南浪潮高新科技投资发展有限公司 一种基于位图压缩的物理信息系统数据压缩传输方法
US11138152B2 (en) 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing
CN109981108B (zh) * 2017-12-27 2023-05-02 杭州海康威视数字技术股份有限公司 数据压缩方法、解压缩方法、装置及设备
RU2697794C1 (ru) * 2018-03-22 2019-08-19 Федеральное государственное бюджетное образовательное учреждение высшего образования "Тихоокеанский государственный университет" Способ сжатия телеметрических кадров данных
CN110958212B (zh) * 2018-09-27 2022-04-12 阿里巴巴集团控股有限公司 一种数据压缩、数据解压缩方法、装置及设备
JP2022518194A (ja) * 2019-01-10 2022-03-14 ログノベーションズ ホールディングス, エルエルシー コンテンツ不可知ファイルインデキシングの方法及びシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06319047A (ja) * 1993-05-07 1994-11-15 Seiko Epson Corp 情報処理装置
JP2002325252A (ja) * 2001-04-25 2002-11-08 Noritz Corp データ圧縮装置、データ復元装置、およびコンピュータプログラム
JP2002344326A (ja) * 2001-03-10 2002-11-29 System Kaiseki Kenkyusho:Kk 合成インデックスによるデータ圧縮方法及び圧縮データの完全復元方法
JP2003519945A (ja) * 2000-01-03 2003-06-24 エフェクタ テクノロジーズ コーポレイション データの送信または記憶のための効率的で可逆的な変換

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5899575A (en) * 1996-09-04 1999-05-04 Hitachi, Ltd. Video capture device, video recording/playing apparatus having the video capture device attached thereto, and video input device
US5818368A (en) * 1997-04-18 1998-10-06 Premier Research, Llc Method and apparatus for lossless digital data compression
JP2940545B1 (ja) * 1998-05-28 1999-08-25 日本電気株式会社 画像変換方法および画像変換装置
KR100317279B1 (ko) * 1998-11-04 2002-01-15 구자홍 무손실부호화방법및장치
US6868186B1 (en) 2000-07-13 2005-03-15 Ceva D.S.P. Ltd. Visual lossless image compression
US6961927B1 (en) * 2000-11-27 2005-11-01 Microsoft Corporation Lossless, context-free compression system and method
US6657565B2 (en) * 2002-03-21 2003-12-02 International Business Machines Corporation Method and system for improving lossless compression efficiency
JP4160883B2 (ja) * 2003-09-02 2008-10-08 富士フイルム株式会社 画像記録装置及び画像記録方法
US7428342B2 (en) 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
JP2006319047A (ja) 2005-05-11 2006-11-24 Canon Inc 微動装置及び光学素子調整装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06319047A (ja) * 1993-05-07 1994-11-15 Seiko Epson Corp 情報処理装置
JP2003519945A (ja) * 2000-01-03 2003-06-24 エフェクタ テクノロジーズ コーポレイション データの送信または記憶のための効率的で可逆的な変換
JP2002344326A (ja) * 2001-03-10 2002-11-29 System Kaiseki Kenkyusho:Kk 合成インデックスによるデータ圧縮方法及び圧縮データの完全復元方法
JP2002325252A (ja) * 2001-04-25 2002-11-08 Noritz Corp データ圧縮装置、データ復元装置、およびコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021501427A (ja) * 2017-10-11 2021-01-14 ログノヴェーションズ ホールディングス,エルエルシー コンテンツ非依存のファイルインデックス化の方法及びシステム
JP7047110B2 (ja) 2017-10-11 2022-04-04 ログノヴェーションズ ホールディングス,エルエルシー コンテンツ非依存のファイルインデックス化の方法及びシステム

Also Published As

Publication number Publication date
CN1868127A (zh) 2006-11-22
CA2580538A1 (en) 2005-04-28
KR20060106835A (ko) 2006-10-12
USRE43292E1 (en) 2012-04-03
ZA200603910B (en) 2007-09-26
IL174556A0 (en) 2006-08-20
WO2005039057A1 (en) 2005-04-28
AU2004307044B2 (en) 2009-06-11
AU2009210408A1 (en) 2009-09-10
CN1868127B (zh) 2011-06-22
AU2004307044A1 (en) 2005-04-28
NZ546498A (en) 2007-05-31
US20060244639A1 (en) 2006-11-02
EP1676368A1 (en) 2006-07-05
EP1676368A4 (en) 2008-10-08
US7224293B2 (en) 2007-05-29

Similar Documents

Publication Publication Date Title
JP2007508753A (ja) データ圧縮システム及び方法
JP2007508753A5 (ja)
US6191710B1 (en) Data compression and decompression method and system for data compression and decompression
JP5498783B2 (ja) データ圧縮の方法
US9396733B2 (en) Reversible audio data hiding
JPH0682370B2 (ja) 文字処理装置
US20060139188A1 (en) Data compression/decompression device and data compression/decompression method
US7511638B2 (en) Data compression for communication between two or more components in a system
JP2001119555A (ja) 時系列化された一次元のデータにおける電子透かし
JP2000315954A (ja) 入力データストリームの圧縮方法とその装置
WO2018020299A1 (en) Lossless compression and decompression methods
CN109256178B (zh) 基因组测序数据的Leon-RC压缩方法
KR101842420B1 (ko) 정보 처리 장치 및 데이터 관리 방법
US8849051B2 (en) Decoding variable length codes in JPEG applications
US20220199202A1 (en) Method and apparatus for compressing fastq data through character frequency-based sequence reordering
JP2004517527A (ja) グラフィック画像符号化
US20230273855A1 (en) Data authentication for data compression
CN116340277B (zh) 基于隐写的数据压缩方法及其解压缩方法
JP3565147B2 (ja) 復号装置
JP3708318B2 (ja) データ圧縮/復元装置およびデータ圧縮/復元方法
JPH07336696A (ja) 2次元画像データの圧縮方式および伸長方式
JP3787986B2 (ja) 音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体
JP3152772B2 (ja) 画像データ復元装置
CN111767171A (zh) 文件备份与还原的方法
JPH0846793A (ja) 2次元画像データの圧縮方式および伸長方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100315

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100810