Dict.CN 在线词典, 英语学习, 在线翻译

学海苦作舟,书山勤为径

留下点回忆

常用链接

统计

积分与排名

Denoise

English study

Web技术

数据压缩

一些连接

最新评论

DWT(JPEG200离散小波变换)的提升步骤为什么又加1/2,又减1/2,而能保证无损

假定有 4 行数据,如:

a0

b0

a1

b1

a2

b2

a3

b3

 

垂直分析:

首先计算奇数行:

C 2i+1 = P(2i+1) – [P(2i)+P(2i+2) ]/2

C (2i) = P (2i) + [C (2i-1) +C (2i+1) +2]/4

 

这里的 [] 表示下取整数,例如 [1.5]= 1

为了达到这个目的需要对第一个运算减去 1 ,转换为整数,因此:
C(2i+1) = P(2i+1) – (int)((P(2i) + P(2i+2) -1)/2)

 

C (2i) = P (2i) + (int) (C (2i-1) +C (2i+1) +2)/4)

 

假设: a0 = 10, a1 = 12, a2 = 11, a3 = 14; 假设 C-1 = 0

那么 C1 = a1 – (int) ((a0+a2 -1)/2) = 12-(int)((21-1)/2) = 2

那么 C0 = a0 + int ((0+C1+2)/4) = 10 + (2+2)/4 = 11

 

反变换为时候先做偶数行变换,然后奇数行:

P(2i) = C(2i) – (int)((C(2i-1) +C(2i+1)+2)/4)

P(2i+1) = C(2i+1) +(int)((P(2i) + P(2i+2) -1)/2)

 

假设已经取得数据,这个时候 C1 = 2, C0 = 11, C-1 = 0;

首先计算 0 行:

那么 a0 = C0 – (int)((0 + C1+2)/4) = 11 – 1 = 10

然后 a1 = C1 + (int)((a0 + a2-1)/2) =  2 + (int)((10+11-1)/2) =12

posted on 2007-03-22 16:08 笨笨 阅读(1650) 评论(0)  编辑 收藏 引用 所属分类: 压缩算法


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理