WDR编码和Exp-Golomb
来源:互联网 发布:java 自定义日志 编辑:程序博客网 时间:2024/05/04 13:40
// http://zmshy2128.blog.163.com/blog/static/2544637200811945139934/
WDR算法采用一种基于索引的编码(差分编码和二进制缩减)方法来有效表示重要小波系数的位置和正负号。先从较粗尺度的子带开始,然后对较细尺度的子带进行扫描,从而完成对二维图像的一维扫描过程。不妨设某一位平面中扫描时有4个重要系数,一维的扫描位置为S={2,3,6,15},符号为{+,-,-,+},由于S中的系数递增,对邻近的数值进行差分后得S’={2,1,3,9},显然S也可由S’逆运算得到。将S’中的数值用二进制表示并和对应的符号排列在一起得{10+,1-,11-,1001+},注意第一个以及“+”、“-”之后出现的符号必定是“1”,因此可以省去这些符号的编码,实际需算术编码的符号为“0+-1-001+”。
如果用H.264中出现的Exp-Golomb来编码游程和重要系数的符号,和WDR进行对比分析是很有趣的。不妨用同样的S={2,3,6,15}和符号{+,-,-,+},有S’={2,1,3,9},则Exp-Golomb编码输出为{010+,1-,011-,0001001+},看起来Exp-Golomb比WDR输出的符号多了,可是WDR中每次是四个符号“1”“0”“+”“-”的编码,而Exp-Golomb每次只有两种概率“1”和“0”、或者“+”和“-”。将Exp-Golomb编码的输出顺序稍微调整一下
注意这样调整后,相应修改解码程序还是可以正常解码的哦。中间留个空格便于看清楚,{00 1+,1-,01 1-,00 00 01 1+},如果“00”表示WDR中的符号“0”、“01”表示WDR中的“1”、“1+”表示WDR中的“+”、“1-”表示WDR中的符号“-”,不正好变成WDR编码么?
这也正是WDR变成无算术编码的方式。
经实验,将这种拆分成二元概率的方式,用算术编码也不会出现压缩性能的下降。所以WDR方式可以看作是Exp-Golomb编码,但Exp-Golomb更灵活些,因为可以衍生很多变种,比如01xx、001xxxx等形式以适应不同概率的数据。
- WDR编码和Exp-Golomb
- Golomb和Exp-Golomb编码原理及实现
- 哥伦布编码:Exp-Golomb code
- Golomb 编码
- Golomb 编码
- Golomb 编码
- Golomb 编码
- H264 Exp-Golomb Coding
- golomb
- 熵编码 之 3. Golomb coding
- 搜索引擎倒排索引表压缩:gamma编码、Golomb编码
- 相机中的HDR和WDR分别指的是什么?
- Golomb及指数哥伦布编码原理介绍及实现
- Golomb及指数哥伦布编码原理介绍及实现
- Golomb及指数哥伦布编码原理介绍及实现
- Golomb ruler
- 宽动态WDR
- 15. EXP 和 IMP
- dede文章摘要字数的设置方法
- Eclipse常用操作快捷键
- cocos2d-x Program "bash" is not found in PATH
- gpio_direction_output vs gpio_set_value之间的使用关系
- [PageSpeed 优化建议翻译]Optimize the order of styles and scripts 优化样式和脚本的顺序
- WDR编码和Exp-Golomb
- 遗传算法(Genetic Algorithm)解决迷宫寻路问题
- 一个linux配置安装指导网站!
- MySQL事务隔离级别详解
- Delphi基本图像处理代码
- Linux USB-Wifi Driver
- 顺序栈之C++实现
- 单关节反复肿痛需警惕类风湿性关节炎
- AttributeError: 'module' object has no attribute 的解决方法