一种avs游程解码方法

文档序号:7685945阅读:316来源:国知局
专利名称:一种avs游程解码方法
技术领域
本发明属于数字音^L频编解码技术领域,具体涉及一种AVS游程解码方法。
背景技术
AVS音视频标准包括编码和解码两个过程, 一个块的编码过程中包括变 换、量化、扫描、游程(run-level)编码和变长编码等操:作,相应地,解码 过程包括变长解码、游程解码、反扫描、反量化、反变换等处理。由语法元 素经过变长解码后,生成量化系数幅度(level )数组和量化系数游程(run) 数组。其中level定义为非零量化系数的幅值,run定义为当前非零量化系数 前的连续零的个数。通过对run-level ft组进行游程解码然后进行反扫描生 成量化系数。
按照定义,level为非零量化系数的幅值,run为相应非零量化系数level 值前的连续零的个数,所以当前的AVS游程解码方法是先解码run数组中的 数,然后再对应解码level数组中的非零量化系数的幅值数。
然而在AVS音^L频解码中, 一个块经过变长解码输出的run-level数组 在先后顺序上是颠倒的,如果直接游程解码,得到的量化系数顺序是混乱的, 不能进行下一步的逆扫描。因此,当前技术的解决办法是在变长解码之后增 加一个寄存器模块。现有AVS游程解码方法如图l所示,X的初始值设为O, 一个像素块的代码经过变长解码生成的run-level数组全部存入寄存器后,X
的值加1 ,然后按先进后出模式分針读取寄存惑中第X个run值和第X个1 eve 1 值;解码时,先对第X个run值解码,解码后的run值存入量化系数寄存器, 再对level值解码,解码后的level值存入量化系数寄存器;然后在对X值 进行判断,如果X不等于N,则返回至对X值加1的步骤,继续对run-level 数组中的数解码,如果X等于N,则量化系数寄存中存入的解码值形成了一个 像素块的量化系数,游程解码方法流程结束。其中N的定义为一个像素块中 run-level凄史组的数的个数。
现有技术中,存取run-level数组的寄存器从根本上改变了变长解码生 成的run-level数组在顺序上的颠倒的问题,使最后生成的一个像素块的量 化系数在顺序上与编码之前的量化系数的顺序相同。但是,这种设计方法存 在如下弊端(l)需要一个或多个寄存器用来暂存run数组和level数组;(2) 由于寄存器的存取过程,增加了解码过程的冗余以及滞后(Latency)延迟; (3)解码过程的功率消耗增加。

发明内容
解决以上所述问题,本发明提供一种从根本上不需要用来对run-level 数组进行存取的寄存器的AVS游程解码方法。
本发明所公开的一种AVS游程解码方法,包括以下步骤
(1) 接收变长解码输出的游程run值和幅度level值;
(2) 解码幅度level值;
(3 ) level解码值存入量化系数寄存器; (4 )解码相应的游程run值; (5) run解码值存入量化系数寄存器。 其中, 一个像素块的run-level数组包含N个run值和level值,重复 执行所述第(1 ) ( 2 ) ( 3 )《4:) ( 3 )歩驟N次,则对一个像素块的run-level 数组中的run值和level值都进行了解码,最后,在寄存器中生成一个像素 块的游程解码量化系数。其中N小于或等于64。 一个像素块的游程解码量化 系数的先后顺序与编码前的量化系数的先后顺序正好相反。AVS游程解码结束 以后,对块的游程解码量化系数进行发扫描。
对于一个像素块第一个level值解码完成以后,解码值可以存入量化系 数寄存器的起始地址端,其后解码的run值和level值依次排队存入寄存器 中,最后一个解码出的值存入量化系数寄存器的末端地址端。反扫描时只要 把量化系数寄存器的末端地址作为起始地址,起始地址作为末端地址,既可 输出正常顺序的量化系数。
在又一技术方案中,对于一个像素块第一个level值解码完成以后,解 码值可以存入量化系数寄存器的末端地址端,其后解码的run值和level值 依次排队存入寄存器中,最后 一个解码出的值存入量化系数寄存器的起始地 址端。按照正常的反扫描,即可输出正常顺序的量化系数。
本发明所提供的AVS游程解码方法中,变长解码输出的游程run数组和 幅度level数组不需要存入一个专用的寄存器,而是直接进行解码。因此, 方法简单,并可省去对run-level数组存取的寄存器。使用本发明设计的芯 片具有芯片面积小的特点,同时芯片在游程解码过程中具有速度快、没有滞 后、功耗低的特点。


图l为现有技术的AVS游程解码方法的流程图2为本发明的AVS游程解码方法实施例的流程图。
具体实施例方式
为解决以上所述问题,本发明提供一种从根本上不需要用来对run-level 数组存取的寄存器的AVS游程解码方法。
图2为本发明的AVS游程解码方法实施例的流程图。如图2所示,图中 具体描述了一个像素块的AVS游程解码方法, 一个像素块经变长解码后输出 的run-level数组包括N个run值和N个level值,其中,N<64。如图2所 示, 一个^f象素块游程解码的步骤如下
首先,X等于0。
第二步10,对X的值加1,
第三步20,接收变长解码输出的第X个游程run值和第X个幅度level
值;
第四步30,对第X个level值解码;
第五步40,对level解码值存入量化系数寄存器
第六步50,对第X个run值解码;
第七步60,对run解码值存入量化系数寄存器;
第八步70,判断X是否等于N。如果X不等于N,则转到第二步10,重 复进行第二步至第八步,直到X等于N。如果X等于N,则一个像素块的游程 解码完毕。此时, 一个像素块的游程解码量化系数的先后顺序与编码前的量 化系数的先后顺序正好相反。
其中当X=l时,对于一个像素块第一个level值解码完成以后,解码值 可以存入量化系数寄存器的起始地址端,其后解码的run值和level值依次 排队存入寄存器中,直至最后一个解码出的run值存入量化系数寄存器的末 端地址端。反扫描时只要把量化系数寄存器的末端地址作为起始地址,起始 地址作为末端地址,既可输出正常顺序的量化系数。
在又一实施例中,其+当X-l'时,对f一+像素块第一个level值解码 完成以后,解码值可以存入量化系数寄存器的末端地址端,其后解码的run 值和level值依次排队存入寄存器中,最后一个解码出的值存入量化系数寄 存器的起始地址端。按照正常的反扫描,即可输出正常顺序的量化系数。
在不偏离本发明的精神和范围的情况下还可以构成许多有很大差别的 实施例。应当理解,除了如所附的权利要求所限定的,本发明不限于在说明 书中所述的具体实施例。
权利要求
1. 一种AVS游程解码方法,其特征在于,包括以下步骤:(1)接收变长解码输出的游程run值和幅度level值;(2)解码幅度level值;(3)level解码值存入量化系数寄存器;(4)解码相应的游程run值;(5)run解码值存入量化系数寄存器。
2. 根据权利要求1所述的游程解码方法,其特征在于, 一个包含N个游程值 的像素块,需重复执行第(1) ( 2 ) ( 3 ) ( 4 ) ( 5 )步骤N次,生成一个像 素块的游程解码量化系数。
3. 根据权利要求2所述的游程解码方法,所述1《N《64。
4. 根据权利要求1所述的游程解码方法,其特征在于,在第(3)步骤中, level解码值存入量化系数寄存器的起始地址。
5. 根据权利要求1所述的游程解码方法,其特征在于,在第(3)步骤中, level解码值存入量化系数寄存器的末端地址。
全文摘要
一种AVS游程解码方法,属于数字音视频编解码技术领域。本发明的主要特征在于对游程数组先解码幅度level值然后再解码相应的游程run值。本发明从根本上不需要用来对run-level数组存取的寄存器,省去对run-level数组存取的寄存器。使用本发明设计的芯片具有芯片面积小的特点,同时芯片在游程解码过程中具有速度快、没有滞后延迟、功耗低的特点。
文档编号H04N7/26GK101383965SQ20081004098
公开日2009年3月11日 申请日期2008年7月25日 优先权日2008年7月25日
发明者杜宣明 申请人:上海龙晶微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1