LHA Library for Java

jp.gr.java_conf.dangan.util.lha
クラス StaticHuffman

java.lang.Object
  拡張jp.gr.java_conf.dangan.util.lha.StaticHuffman

public class StaticHuffman
extends Object

静的ハフマン用ユーティリティ関数群を保持する。
ハフマン符号は最大16ビットに制限される。

 -- revision history --
 $Log: StaticHuffman.java,v $
 Revision 1.0  2002/07/24 00:00:00  dangan
 add to version control
 [maintenance]
     ソース整備
     タブ廃止
     ライセンス文の修正

 

バージョン:
$Revision: 1.0 $
作成者:
$Author: dangan $

フィールドの概要
static int LimitLen
          LHAがDOSの16bitモードを使用して作られたことによる ハフマン符号長の制限。
 
メソッドの概要
static short[] createTable(int[] LenList)
          LenList から、ハフマン復号用のテーブルを生成する。
static short[][] createTableAndTree(int[] LenList, int TableBits)
          LenList から、ハフマン復号用のテーブルと木を生成する。
static int[] FreqListToLenList(int[] FreqList)
          頻度表から ハフマン符号のビット長の表を作成する。
static int[] FreqListToLenListOriginal(int[] FreqList)
          頻度表から ハフマン符号のビット長の表を作成する。
static int[] LenListToCodeList(int[] LenList)
          ハフマン符号長のリストから ハフマン符号表を作成する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

LimitLen

public static final int LimitLen
LHAがDOSの16bitモードを使用して作られたことによる ハフマン符号長の制限。

関連項目:
定数フィールド値
メソッドの詳細

FreqListToLenList

public static int[] FreqListToLenList(int[] FreqList)
頻度表から ハフマン符号のビット長の表を作成する。

パラメータ:
FreqList - 頻度表
戻り値:
ハフマン符号のビット長の表

FreqListToLenListOriginal

public static int[] FreqListToLenListOriginal(int[] FreqList)
頻度表から ハフマン符号のビット長の表を作成する。 オリジナルのLHAと同じコードを出力する。

パラメータ:
FreqList - 頻度表
戻り値:
ハフマン符号のビット長の表

LenListToCodeList

public static int[] LenListToCodeList(int[] LenList)
                               throws BadHuffmanTableException
ハフマン符号長のリストから ハフマン符号表を作成する。

パラメータ:
LenList - ハフマン符号長のリスト
戻り値:
ハフマン符号表
例外:
BadHuffmanTableException - LenListが不正なため、 ハフマン符号表が生成出来ない場合

createTable

public static short[] createTable(int[] LenList)
                           throws BadHuffmanTableException
LenList から、ハフマン復号用のテーブルを生成する。

パラメータ:
LenList - ハフマン符号長の表
戻り値:
ハフマン復号用テーブル。
例外:
BadHuffmanTableException - LenListが不正なため、 ハフマン符号表が生成出来ない場合

createTableAndTree

public static short[][] createTableAndTree(int[] LenList,
                                           int TableBits)
                                    throws BadHuffmanTableException
LenList から、ハフマン復号用のテーブルと木を生成する。 テーブルは TableBits の大きさを持ち、それ以上の部分は木に格納される。
戻り値は new short[][]{ Table, Tree[0], Tree[1] } となる。
テーブルを引いた結果もしくは木を走査した際、負の値を得た場合、 それは復号化されたコードを全ビット反転したものである。 正の値であればそれは 木を走査するための index であり、 Tree[bit][index] のように使用する。

パラメータ:
LenList - ハフマン符号長の表
TableBits - ハフマン復号用テーブルの大きさ。
戻り値:
ハフマン復号用テーブルと木。
例外:
BadHuffmanTableException - LenListが不正なため、 ハフマン符号表が生成出来ない場合

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.