3

ビットストリームのビットに優先順位はありますか(ビットストリームはJavaのInput / OutputStreamにいくらか類似していますが、ビットレベルの粒度を提供します)?

DEFLATEアルゴリズムのハフマンステージの出力では、非バイトをエンコードする目的で、バイトの最下位ビット(lsb)が最上位ビット(msb)の「前」にあると見なされることを読みました。整列された値。msbからlsbの順序ではなく、lsbからmsbの順序を選択する理由はありますか?たとえば、これはどういうわけか、わずかに単純で高速なデコード(またはエンコード)コードを可能にしますか?

Javaの「InputBitStream」クラスがいくつかの基本的な操作を提供すると思います。

class InputBitStream {
    // Optimized for reading a SINGLE bit.
    public int readSingleBit() {...}

    // Optimized for reading large segments of bits,
    // not just readSingleBit() -> put in result -> repeat,
    // but if possible, shifting in a byte at a time.
    public int readMultipleBits(int count) {...}
}

DEFLATEビットパッキング: http ://www.gzip.org/zlib/rfc-deflate.html#packing

4

1 に答える 1

1

いいえ、標準の注文はありません。問題のインターフェースによって異なります。

于 2011-01-23T19:38:39.320 に答える