我正在使用 OpenH264 编解码器。OpenH264 正在使用 Exp-Golomb 编码来获取标头相关信息。我研究了几个网站并收集了一些关于 Exp-Golomb 编码的信息。OpenH264 使用 4 种 Exp-Golomb 编码方法。他们是:
- Ue [当值仅是非负数时]
- Te [当值只有 1 或 0 时]
- Se [当值既是负数又是正数时]
- 我[当值为值定义标准代码映射时]
我已经学会了如何通过 Method Ue构造或解析。
Exp-Golomb(Ue) = [M-Zeros][1][INFO] 的语法格式。
构造:假设我们有一个 Code_Num = 226。
现在,
M = floor(log2(Code_Num)) = floor(log2(226)) = 7
INFO = Code_Num + 1 - pow(2,M) = 226 + 1 - 128 = 99 = (1100011) in Binary
So,
CodeWord = 0000000 1 1100011 [M-zeros, 1 ignoring bit, INFO]
解析:
假设我们有一个 CodeWord = 000000011100011
Code_Num = pow(2,M) + INFO - 1 = 128 + 99 - 1 = 226
现在我可以计算 Exp-Golomb(Ue)。但我想学习所有与 Se、Te 和 Me 相关的理论。但我找不到其他方法的任何资源。请帮我。