中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
96年lbc96327号提案---对于量化参数值越界的情况的处理方法
作者:未知 时间:2005-09-13 23:35 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:96年lbc96327号提案---对于量化参数值越界的情况的处理方法

回顾原来的working documents总会得到些不了解的东西,就翻到哪儿写哪儿了.

这篇是关于量化参数值越界的情况的处理方法的.

Title:  Proposal for Extended Coefficient Range for H.263+
Source: PictureTel Corporation
Author: Gary J. Sullivan, Matthew M. Bace, Wilson Chung, John Sievers, and Edmund Thompson
Time:    November 11-14, 1996


我们提出了一种新的码流的语法来使得码流内可以传输在[-127,127]之外的量化参数值.这种语法在当编码器的保真度非常高的情况下非常有效(比如说当量化参数为1或2的时候),这是由于此时是在极高的比特率的情况下或非常静态的场景中.

当量化步长极小的情况下,一个块内的部分AC系数量化结果超过127是很有可能的,这样就不可以在当前的H.263的语法中进行表示.当这种情况发生时,我们的编码器只有两种选择:

1) 将越界的系数值修正到可表示的范围内,这样就避免了这个麻烦,不过这个选择会在解码图象中有更加严重的块效应.
2) 试图用更大的量化步长来对这个块进行重量化.然而,因为对步长的改变是受DQUANT值的限制的,可以想象到的就是有这样的情况:无法在允许的步长范围之内使得量化的参数值进入可表示的范围之内.这样,这种对宏块的重编码就使编码器的编码压力大大加强,而且可能会使得解码图象中的某些宏块要比其他的宏块更加的模糊.

这个提案消除了这种潜在的问题,它使得这种大的系数无损的被编码(而不是通过改变量化步长)

我们提议对语法进行如下修改:在ESCAPE码(0000 011)出现之后,继续为H.263解码后面的7位,比如第一位用作LAST位,后6位解码为RUN长度.接下来的8位被解码位H.263的LEVEL值,除非位模式选0111 1111(这被解码为LEVEL值等于127的情形).当这种位模式出现时,就认为下13位叫做EXTENDED LEVEL,就需要在[-2047,2047]上进行解码.因为有起始码竞争的问题,可能需要把这13位EXTENDED LEVEL分为两段,中间的分隔位为'1'.

这也是一个古董式的提案了,虽然它里面提到的表示方法现在已经没在用了,而且里面的方法看起来也并没有那么复杂,但是对于修改一个标准来说,任何一个更改都是牵一发而动其全身的,比如这个提案,你把值的表示域改变了,结果就是你解码的时候,你取位的时候也跟原来不同了,操作模式也会不一样,甚至需要考虑是不是程序中的哪一部分会因为把边界扩大而会产生某个部分溢出或是造成算法无效的情况.

最后需要记住的一点是,这个问题在所有的编码器中都会遇到,真正遇到的时候大家的解决方案都是什么样子的呢?H.263+好像最终就是用这个提案中的方法吧,记不是很确切了,其他的标准等完全查明之后告诉大家.

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有