适于AVS视频解码器的可配置存储器设计

2011-03-15 01:22易清明
电视技术 2011年11期
关键词:扫描模式编解码解码器

李 帅,易清明,石 敏

(暨南大学 电子工程系,广东 广州 510632)

0 引言

目前,微处理器日益广泛地运用到多种应用环境中,不同的应用对存储器的设计及应用有不同的需求。如常见的用以匹配内核和主存的速度差异高速缓冲存储器;存放计算机运行期间的大量程序和数据的主存储器以及存放系统程序和大型数据文件及数据库的外部存储器。而在面对音视频编解码时,数据需要经过多种方式的处理,如果用传统的单工作模式的存储器,难免耗费资源过多。针对这种情况,可配置存储器的设计,能够根据应用需求动态地配置存储器的工作模式,合理地对数据进行处理,提升系统性能。

笔者针对AVS视频解码器反扫描、反量化及反变换过程中对数据流不同的处理方式,设计了一种五模式可配置存储器,用以节省资源,整合整个反扫描、反量化及反变换功能块。

1 AVS视频解码器

AVS(Audio Video coding Standard)标准是基于国内自主创新技术和国际公开技术所构建的音视频编解码压缩标准[1-2],是一种适用于数字音视频压缩、解压缩、处理和表示的技术方案。它的编码效率与国际标准MPEG-4和H.264相当,广泛应用于广播、通信、电视、娱乐等各个领域。

本文提及的AVS视频解码器的设计与开发工作正是依据AVS视频编解码标准,其框架图如图1所示,主要包括码流分割、熵解码、反扫描反量化反变换、帧内预测、帧间预测以及环路滤波模块。

2 可配置存储器设计

依据AVS视频编解码标准,视频流在经过熵解码之后的绝大多数数据还需要经过反扫描、反量化、反变换单元的操作处理,尤其是在实时高清视频序列中,该单元本身所需处理的数据量将会更加庞大。鉴于此,笔者设计了一种拥有5种工作模式的可配置存储器。整个反扫描、反量化和反变换模块的框架图如图2所示。

2.1 五模式存储器结构

依据AVS视频编解码标准,分析反扫描、反量化和反变换过程中对数据流的操作,设计了如图3所示的存储器单元结构。

根据AVS标准所处理的数据特点,为了匹配AVS反变换所处理的8×8像素块,整个五模式可配置存储器被设计成1个8×8的存储器阵列,即由64个上述基本单元排列组成。

每个单元都是通过1个选择器控制1个寄存器,并且所有单元的工作模式同步,具体实现是通过配置不同的模式控制字,来选择相应的工作模式。涉及到的5种工作模式分别是行访问模式、列访问模式、a扫描模式、b扫描模式以及保持模式。

2.2 行/列访问模式

AVS反变换处理的像素块大小为8×8,如果按照常规方案中对每个系数逐个顺序进行反变换的做法,处理速度会很慢,无法满足当前实时处理高速视频码流的要求。因此,为了提高处理速度及编解码效率,必须设计并行的反变换结构,如本文的“行列”结构,即重复使用同一个一维反变换单元[3]。

根据整数反变换的原理分析可知,要想通过复用一维整数反变换的做法来最终实现二维反变换操作,中间不得不加入相应的转置操作[4]。AVS反变换需要的转置单元不仅要能够存储一个块的数据,而且还要按行或列并行的方式输入输出数据。这里设计的可配置存储器能满足这一需求,行访问和列访问模式实现了数据的行/列并行输入输出[5]。

根据AVS标准,在执行第一次一维反变换时,需要对可配置存储器采用行访问,从第一行并行读出,最后一行并行输入,数据需要由下至上移位;而在第二次一维反变换时,需要对可配置存储器采用列访问,从第一列并行输出,最后一列并行输入,即数据由右向左移位。两次访问的具体方式如图4所示。

2.3 a/b扫描模式

DCT变换产生的是1个二维数组,为进行传输,还须将其转换为一维排列方式,扫描的过程正是实现这一转换。由于AVS熵解码对于游程对采用扫描倒叙的方式进行编码,所以在解码端的反扫描中须实现相应的逆操作。

传统的反扫描实现方法是将经过熵解码后得到的游程对(Run,Level)存储到堆栈中,然后依次弹出堆栈进行反扫描,以便正确完成视频编码的逆操作,得到量化系数块。这种方法相对古板,仅仅遵循标准的参考做法,既不利于扫描模式和量参的同步,也不利于熵解码与反扫描、反量化、反变换模块的衔接,流水作业性差。这里摒弃了传统的做法,而是在存储器阵列中整合了反扫描的操作,将熵解码后的游程对按照解码顺序,直接顺着编码端的扫描方向,通过移位链的方式存储到后续的8×8存储阵列中。为此,本文存储器设计了两种扫描工作模式,分别兼顾AVS标准中所支持的两种扫描模式,如图5所示。

如图5所示,标记了0~63的方块对应的8×8可配置存储器阵列,设计的两种扫描工作模式为a扫描模式和b扫描模式,分别对应AVS标准里的之形扫描(Zig-Zag)和交替扫描[6-7],其中之形扫描是最常用的一种。当工作在扫描模式时,即按照图5中标记的0,1,…,63的扫描顺序,串行输入数据被送入0标记寄存器,0标记寄存器内数据送入1标记寄存器,1标记寄存器内数据送入2标记寄存器,依次类推,62标记寄存器内数值送入63标记寄存器。整个数据的传输为并行处理,以同时完成64个存储器的存储过程。

2.4 保持模式

保持模式,即锁定已存入存储器的数据,保持其不变。该模式下,存储器是完成基本的数据储存功能,提供AVS解码器中其他模块对数据的调用。

3 仿真结果分析

利用VCS平台对整个反扫描、反量化和反变换模块进行编译,并作功能仿真,借助DVE波形查看器读取生成波形,部分仿真波形如图6所示。通过更改模式控制字mode[3:0]来配置存储器的工作模式,a扫描模式、b扫描模式、行访问模式、列访问模式及保持模式对应的控制字分别为0001,0010,0100,1000和0000。由于存储器的各种工作模式之间不存在时间重叠,因此通过合理规划控制信息,安排模式切换,完全可以实现存储单元的共享,大大节省了存储空间。

依据AVS标准中反扫描、反量化及反变换的操作流程,结合时序控制,合理配置存储器的工作模式,即可以实现对数据流的相应操作,仿真图中对一组数据的处理周期内,存储器的配置字变化过程为0000→0001(a扫描模式)→0100→1000。结果表明,该五模式可配置存储器各模式之间的配合工作,实现了AVS反扫描、反量化及反变换功能块之间的无缝链接,成功地输出了一组组期望的8×8残差矩阵,可供后续解析模块恢复图像使用。

4 小结

笔者设计的五模式可配置存储器,优势在于为AVS解码器的反扫描、反量化及反变换单元提供了共享的存储空间,通过不同工作模式的转化,不仅仅完成了基本的数据存储功能,还利用存储阵列中数据的移动为反扫描及反变换分担了部分数据处理。该设计实现了反扫描、反量化和反变换的无缝链接,将其合并为一个流水线单元并行处理,省去了存储中间结果所需的大量存储器,加快了处理速度,能够更高效地处理大规模的数据量,进一步满足了高速视频处理的需要。

[1]黄铁军.AVS标准的背景、进展与产业应用展望[J].信息技术与标准化,2003(9):4-8.

[2]黄铁军,高文.AVS标准制定背景与知识产权状况[J].电视技术,2005,29(7):4-7.

[3]张丁,张明,郑伟,等.一种高性能的适用于AVS的二维整数逆变换实现结构[D].杭州:浙江大学,2006.

[4]刘凌志,戎蒙恬,姜黎.一种并行结构的二维正/逆整数变换处理器[J].上海交通大学学报,2004,38(12):2048-2051.

[5]MALVAR H S,HALLAPURO A,KARCZEWICZ M,et al.Lowcomplexity transform and quantization in H.264/AVC[J].IEEE Transactions on Circuit and Systems for Video Technology,2003,13(7):598-603.

[6]张楚.AVS和H.264双标准可变长解码器设计[D].西安:西北工业大学,2007.

[7]生滨.AVS视频编解码芯片关键部件的体系结构研究与设计[D].哈尔滨:哈尔滨工业大学,2006.

猜你喜欢
扫描模式编解码解码器
科学解码器(一)
科学解码器(二)
科学解码器(三)
1553B总线控制器编解码设计
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
为多重编解码世界做好准备
大型民机试飞遥测视频编解码方法研究
双光能X射线骨密度仪测量腰椎骨密度不同扫描模式的对比研究*
基于CompactRIO的PAC的特点及应用
2G/3G网络IP化语音编解码协商策略部署研究