我正在尝试编码范围为-256< - >的有符号值。 255(即由 short 表示的9位数据)和算术编码器,但是我发现现有的算术编码实现(例如dlib,rANS)通常会读取文件以字符串的形式,将数据视为8位。
这种技术的问题在于,以字符串形式分割签名数据(以3显示)会破坏基础直方图(如4所示)。我相信这样的分裂也可能会降低压缩比(但我可能错了)。
我通过使用8位和16位数据实现霍夫曼编码来测试我的假设,发现我是对的,这可能是由于霍夫曼依赖于使用概率制作树。
(EDITED)我的问题是:如何编码/模拟符号(不能包含在传统的8位容器中),以便可以使用传统的算术压缩器实现轻松压缩生成的符号,而不会影响压缩率。
签名直方图:
分割直方图: