2
算術コーディングへのハフマンコーディングの一般化はありますか?
ハフマン符号化、算術符号化、および範囲符号化の関係を理解しようとするとき、ハフマン符号化の欠点が分数ビットパッキングの問題に関連していると考え始めました。 つまり、シンボルに240の可能な値があり、これをビットにエンコードする必要がある場合、8は256の可能な値を表すことができるため、「フル」8は必要ないとしても、シンボルごとに8ビットでスタックすることになります。シンボルごと。この問題の解決策は、「フラクショナルビットパッキング」と呼ばれるもので、乗算を使用して2のべき乗ではない「ビットシフト」が可能です。2のべき乗の乗算がシフトするのx * 2 == x << 1と同じようにx * 4 == x << 2、2のべき乗すべてに対して同様に続きます。そのため、代わりに乗算することにより、2のべき乗でない値で「シフト」し、小数ビットサイズのシンボルにパックできます。 。 この問題はハフマンコーディングと同様です。結局、長さが小数ビットサイズでなければならないコードが作成されるため、このパッキング効率は低くなります。ただし、フラシトンビットパッキングのソリューションは、固定サイズのシンボルを想定しているため、単に使用することはできません。 問題は、算術コーディングに似たものを達成するために、フラクショナルビットパッキングと同様のアイデアでハフマンコーディングを改善するための論文や解決策はありますか?(または反対の結果)。