public class PostLh5Encoder extends java.lang.Object implements PostLzssEncoder
-- revision history -- $Log: PostLh5Encoder.java,v $ Revision 1.4 2002/12/08 00:00:00 dangan [change] クラス名 を PostLh5EncoderCombo から PostLh5Encoder に変更。 Revision 1.3 2002/12/06 00:00:00 dangan [maintenance] ソース整備 Revision 1.2 2002/12/01 00:00:00 dangan [change] flush() されないかぎり 接続された OutputStream をflush() しないように変更。 Revision 1.1 2002/12/01 00:00:00 dangan [bug fix] writeOutGroup でローカル変数 offLenFreq を使用しなければ ならない部分で this.offLenFreq を使用していた。 [maintenance] PostLh5Encoder から受け継いだインスタンスフィールド buffer, codeFreq, offLenFreq 廃止 ソース整備 Revision 1.0 2002/07/31 00:00:00 dangan add to version control [improvement] DivideNum を導入する事によって処理するパターン数の減少を図る。 [maintenance] ソース整備 タブ廃止 ライセンス文の修正
Constructor and Description |
---|
PostLh5Encoder(java.io.OutputStream out)
-lh5- 圧縮用 PostLzssEncoder を構築する。
バッファサイズにはデフォルト値が使用される。 |
PostLh5Encoder(java.io.OutputStream out,
java.lang.String method)
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
バッファサイズにはデフォルト値が使用される。 |
PostLh5Encoder(java.io.OutputStream out,
java.lang.String method,
int BufferSize)
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
|
PostLh5Encoder(java.io.OutputStream out,
java.lang.String method,
int BlockNum,
int BlockSize,
int DivideNum)
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
1つが BlockSizeバイト の BlockNum 個のブロックを組み合わせて 最も出力ビット数の少ない構成で出力する。 組み合わせは 全ブロックを DivideNum + 1 個に分割して得られる 全パターンが試される。 |
Modifier and Type | Method and Description |
---|---|
void |
close()
この出力ストリームと、接続された出力ストリームを閉じ、
使用していたリソースを開放する。
|
void |
flush()
この PostLzssEncoder にバッファリングされている全ての
8ビット単位のデータを出力先の OutputStream に出力し、
出力先の OutputStream を flush() する。
このメソッドは圧縮率を変化させる。 |
int |
getDictionarySize()
この PostLh5Encoder が扱うLZSS辞書のサイズを得る。
|
int |
getMaxMatch()
この PostLh5Encoder が扱うLZSSの最長一致長を得る。
|
int |
getThreshold()
この PostLh5Encoder が扱うLZSSの圧縮、非圧縮の閾値を得る。
|
void |
writeCode(int code)
1byte の LZSS未圧縮のデータもしくは、
LZSS で圧縮された圧縮コードのうち一致長を書きこむ。
|
void |
writeOffset(int offset)
LZSS で圧縮された圧縮コードのうち一致位置を書きこむ。
|
public PostLh5Encoder(java.io.OutputStream out)
out
- 圧縮データを受け取る OutputStreampublic PostLh5Encoder(java.io.OutputStream out, java.lang.String method)
out
- 圧縮データを受け取る OutputStreammethod
- 圧縮法を示す文字列java.lang.IllegalArgumentException
- method が上記以外の場合public PostLh5Encoder(java.io.OutputStream out, java.lang.String method, int BufferSize)
out
- 圧縮データを受け取る OutputStreammethod
- 圧縮法を示す文字列BufferSize
- LZSS圧縮データを退避しておく
バッファのサイズjava.lang.IllegalArgumentException
- public PostLh5Encoder(java.io.OutputStream out, java.lang.String method, int BlockNum, int BlockSize, int DivideNum)
out
- 圧縮データを受け取る OutputStreammethod
- 圧縮法を示す文字列BlockNum
- ブロック数BlockSize
- 1ブロックのバイト数DivideNum
- 最大分割数java.lang.IllegalArgumentException
- public void writeCode(int code) throws java.io.IOException
writeCode
in interface PostLzssEncoder
code
- 1byte の LZSS未圧縮のデータもしくは、
LZSS で圧縮された圧縮コードのうち一致長java.io.IOException
- 入出力エラーが発生した場合public void writeOffset(int offset)
writeOffset
in interface PostLzssEncoder
offset
- LZSS で圧縮された圧縮コードのうち一致位置public void flush() throws java.io.IOException
flush
in interface PostLzssEncoder
java.io.IOException
- 入出力エラーが発生した場合PostLzssEncoder.flush()
,
BitOutputStream.flush()
public void close() throws java.io.IOException
close
in interface PostLzssEncoder
java.io.IOException
- 入出力エラーが発生した場合public int getDictionarySize()
getDictionarySize
in interface PostLzssEncoder
public int getMaxMatch()
getMaxMatch
in interface PostLzssEncoder
public int getThreshold()
getThreshold
in interface PostLzssEncoder
When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.