データ圧縮用ユニット Compress

データ圧縮用のユニット ハフマン符号および LZ77 符号による圧縮を行なう為のクラスが含まれている

  • ソフト名 :データ圧縮用ユニット Compress
  • バージョン :2.4
  • ライセンス :フリーソフト
  • OS :Windows
  • 開発 :槻 誠三

データ圧縮用ユニット Compress ダウンロード

データ圧縮用ユニット Compress詳細

【 概要 】
データ圧縮用のユニットです。現在 Compress ユニットには TBitStream,
THuffman, TSlideDic, TCompress, TSearchRecs, TArchiver という 6 つの
クラスが、含まれています。

TBitStream は、ビット単位のデータの入出力を行なう為のストリームクラス
です。

THuffman は、ハフマン符号によるエンコード(符号化)とデコード(復号化)を
行なう為のクラスです。

TSlideDic は、LZ77 符号(スライド辞書法)によるエンコード(符号化)と
デコード(復号化)を行なう為のクラスです。

TCompress は、データをブロック単位に分割して THuffman と TSlideDic の
両方を使ってエンコード(符号化)やデコード(復号化)を行なう為のクラスです。

TSearchRecs は、FindFirst 関数または FindNext 関数を使って検索される
検索パスのファイル情報 TSearchRec のリストを作成する為のクラスです。

TArchiver は、複数のファイルをディレクトリ構造ごと 1 つにまとめて書庫
ファイルを作成したり、それを復元する為の書庫ファイル管理用クラスです。

TBitStream は、THuffman や TSlideDic でビット単位のデータの入出力を
行なう際に必要なものですが、これ以外の様々な場合でも使えると思います。

ハフマン符号と LZ77 符号(スライド辞書法)は、LHA や ZIP でも使われている
圧縮方法です。実際には、LHA や ZIP は、最初に LZ77 符号(スライド辞書法)
で圧縮してからハフマン符号による圧縮を行なうという 2 段階の圧縮方法で
高い圧縮率を実現しています。このユニットでは TCompress でこの 2 段階の
圧縮を行なっています。LHA や ZIP には、遠く及びませんが、ソースを公開
していますので圧縮方法の理解等、何かの役に立てれば幸いです。

圧縮率では、LHA と ZIP の中間くらいの性能ですが、時間が非常にかかって
います。圧縮率をそれほど気にしないのであれば、LHA や ZIP の倍くらいの
速度で圧縮します。いずれにしても LHA と ZIP は、とてつもなくすぐれた
プログラムであるという事を再認識しています。

Leave a Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です