在范围编码器中,使用有限精度算术可能会导致无法在不先应用某种刷新或调整以在工作寄存器中打开空间的情况下对下一个符号进行编码。
这样做的结果是,根据调整的方式,合法比特流的集合中可能会留下一些小间隙。
例如,维基百科页面建议将输出范围缩小到允许移出更多位的范围,而原始范围的某些部分未定义。
在解码器中,可能会到达同一点,然后发现输入比特流本身不符合编码器调整,而是继续向下进入应该被编码器丢弃的间隙。这种比特流没有正确的解码。
将此与诸如 Huffman 之类的东西进行对比,后者通常在没有任何模糊输入配置的情况下定义(除了在流的末尾可能有不完整的符号)。因此,可以将任意比特流解码为一条消息,然后将其重新编码为原始比特流。
我的问题是:是否可以制定某种调整来处理精度限制但不会产生不可解码或模棱两可的比特流的可能性?这样给定任意比特流,总是可以将其解码为一组符号,这些符号可以重新编码回原始比特流?
直觉上,这似乎是不可能的,我不应该对这个问题大发雷霆;但我看着霍夫曼并推断它具有我应该能够模拟的属性。