首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当对大值使用Golomb/Rice代码时,我应该做什么?

当对大值使用Golomb/Rice代码时,我应该做什么?
EN

Software Engineering用户
提问于 2015-01-11 08:52:27
回答 1查看 1.5K关注 0票数 2

在图像压缩中使用Golomb/Rice码时,不可避免地会遇到较大的值。Golomb编码使用可调参数M将输入值N分为两部分: q,除以M的结果,和r,余数。商以一元编码方式发送,其余部分以二进制方式发送。

例如,如果N为120,M为4,则q为30(一元111.1111110,31位),r为0。结果是33位。它在图像压缩中的应用是不现实的。

那么,当对大值使用Golomb/Rice代码时,我应该做什么呢?或者它对大价值有什么规则吗?

EN

回答 1

Software Engineering用户

发布于 2015-01-11 13:24:07

我不明白为什么"33位不实用“。根据你的意思,有两个答案:

  • 这种编码的全部目的是以牺牲大值为代价来优化小值的表示。假设要用比大值小得多的值压缩适当的数字分布,则编码的整体表示所需的比特应该更少。注意,对于图像压缩,这种方案通常用于从预测的像素值中编码错误,而不是对像素值本身进行编码。
  • 如果您指的是由于您所使用的语言中的32位整数大小而引起的某个问题,我发现为这类事情设置一个很好的任意长度位向量类(例如boost的dynamic_bitset )是非常重要的/有用的。
票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/269704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档