算术编码的上下溢出问题

sjd163 2005-04-17 08:50:12
如果将起始的范围设为00000~99999用译一位梳出一位的方法,怎么解决算术编码的上下溢出问题?
请大虾多多指教
...全文
255 点赞 收藏 12
写回复
12 条回复
sjd163 2005年04月25日
up
回复 点赞
tankbattle 2005年04月23日
比如在编码全1的情况下,你可以用整型记录出现了多少个1,然后高位就可以放心的截去了。在后面遇到一个0的情况下,你记录了多少个1,就写多少个1进去。
回复 点赞
RunningYang 2005年04月23日
楼主是做文本压缩的是吧?

能介绍一下算法吗?

哪里有相关的资料啊
回复 点赞
SCSDN 2005年04月21日
up
回复 点赞
sjd163 2005年04月19日
帮忙啊!
回复 点赞
sjd163 2005年04月18日
a=00000,b=99999
举个例子压缩:dsfsafsaesfsdfwfafwfaasfsafwdsa
频率阶梯0-d-0.0967742-s-0.354839-f-0.645161-a-0.870968-e-0.903226-w-1
第一个字符为d -〉a=00000,b=09676 前一位相同输出0 -〉a=00000,b=96759
第二个字符为s -〉a=09364,b=34336 前一位不同不输出
第三个字符为f -〉a=18225,b=25474 前一位不同不输出
第四个字符为s -〉a=18926,b=20796 前一位不同不输出
第五个字符为a -〉a=20133,b=20554 前一位相同输出2 -〉a=01330,b=05539

不过到译码时不能译一位梳出一位
不知如何选择输出时机
防止溢出
回复 点赞
xdspower 2005年04月18日
楼主的描述让人更迷糊了。
回复 点赞
sjd163 2005年04月17日
a=00000,b=99999
举个例子压缩:dsfsafsaesfsdfwfafwfaasfsafwdsa
频率阶梯0-d-0.0967742-s-0.354839-f-0.645161-a-0.870968-e-0.903226-w-1
第一个字符为d -〉a=00000,b=09676 前一位相同输出0 -〉a=00000,b=96759
第二个字符为s -〉a=09364,b=34336 前一位不同输出
第三个字符为f -〉a=18225,b=25474 前一位不同输出
第四个字符为s -〉a=18926,b=20796 前一位不同输出
第五个字符为a -〉a=20133,b=20554 前一位相同输出2 -〉a=01330,b=05539

不过到译码时不能译一位梳出一位
不止如何选择输出时机
防止溢出


回复 点赞
ysbcg 2005年04月17日
你可以用 模 10000 的方法
回复 点赞
ysbcg 2005年04月17日
具体想干什么? 呵呵 没有写清楚
范围?算术编码 ?
回复 点赞
sjd163 2005年04月17日
溢出后解码就不对了
回复 点赞
ysbcg 2005年04月17日
一般都是溢出截去
回复 点赞
发动态
发帖子
多媒体/流媒体开发
创建于2007-08-27

2051

社区成员

2.0w+

社区内容

专题开发/技术/项目 多媒体/流媒体开发
社区公告
暂无公告