一言以蔽之就是:前缀是一元码,后缀是定长码,后缀长度为cRiceParam. 但是注意最后有截断的情况。
输入参数:cRiceParam, cMax, 以及要二值化的 val
1) 将val 分成prefix and suffix as follows:
Prefix = val >>cRiceParam
Suffix = val – prefix<<cRiceParam
即:Val =prefix << cRiceParam + suffix.
有两种情况无suffix:
a. cRiceParam=0,
b. val=cMax.
2) Prefix 按一元码 (unarycode)来编 as follows:
prefixVal |
bin string |
0 |
0 |
1 |
10 |
2 |
110 |
3 |
1110 < |