AVS编码器

2024-08-11

AVS编码器(精选八篇)

AVS编码器 篇1

由于AVS标准提出的时间较晚,所以FPGA实现的实例较少。由于FPGA具有集成度高和系统结构灵活的特点[4],本文设计选择FPGA为平台,在其上实现了AVS编码器的P帧部分。

1 AVS编码器原理

完整的AVS编码器框图如图1 所示,AVS编码帧分为3 种: 帧内预测帧( I帧) 、前向帧间预测帧( P帧) 和双向帧间预测帧( B帧) 。下面介绍AVS编码原理[5]。

预测值是由前面已编码的参考图像经运动补偿后获得。为了提高预测精度和压缩比,实际的参考图像可从已重建并滤波的帧中选择,再与当前块相减产生1 个残差块,残差块经整数变换( DCT) 和量化[6]( Quant) 后产生一组系数,将这些系数熵编码( CAVLC) ,并与解码所需的一些头信息整合组成1 个压缩后的比特流,经NAL( 网络自适应层) 传输和存储。为提供进一步预测所用的传输参考图像,利用编码器具有重建图像的功能,将残差图像经反量化( DE-QUANT) 和反整数变换( IDCT)[7]得到新的残差块,将其与预测值相加,在本地得到一帧新的图像,经滤波后所得重建图像作为后续编码参考图像[8]。

2 P帧编码器整体设计

根据AVS编码器编码算法的特点,P帧编码器包括MV预测模块、运动估计模块、变换量化模块和熵编码模块,再加上重构、残差和CBP头文件等一些外围电路构成。具体实现框图如图2 所示。

MV预测模块: 当前编码块由临近已编码块的MV预测而得到MVp。

运动估计模块: 由于运动图像临近帧之间存在相关性,所以将运动图像分割成若干宏块,并经运动搜索得出当前编码块的最佳匹配块在参考帧中的位置,根据其准确位置即可得到空间相对偏移矢量MV。

变换量化模块: 反量化、反DCT变换所得数据与参考块相加得重建帧。

编码模块: 主要包括DCT变换和反DCT变换、量化和反量化、ZIG-ZAG扫描和CAVLC熵编码。DCT变换、量化后所得数据经ZIG-ZAG扫描后传送给熵编码,作为CAVLC熵编码的输入数据,CAVLC熵编码形成的码流前加入CBP头文件,得到最终压缩后的比特流8 位对齐存入RAM中。

3 模块设计

依据FPGA硬件平台的特点,采用硬件描述语言VHD语言设计。本设计的核心模块是MV预测模块、运动估计模块和编码模块。下面以P帧任一宏块为例介绍各个模块的功能和作用。

3. 1 MV预测

该模块主要完成MVP_x和MVP_y的获取。实现过程分4 个状态完成,分别是空闲、接收、计算和传输,如图3 所示。

Stidle是空闲状态; Streceive是数据接收状态,加载左边块、上边块和右上边块这3 个相邻参考块,分别用i_refa,i_refb,i_refc表示,及其相应运动矢量为mva _ x、mva_y,mvb_x、mvb_y,mvc_x、mvc_y; Stcalculate是计算过程,具体步骤与AVS标准中MV预测过程[4]完全一致;Sttrans是MVP_x和MVP_y的输出过程。用Model Sim仿真,结果如图4 所示。

3. 2 运动估计

该模块需要从当前帧和参考帧中获取输入数据,从当前帧中得到当前块数据,从参考帧中获取搜索窗数据。在搜索窗中搜索得到SAD值最小的宏块,作为当前块的最佳匹配块,并用运动矢量的形式记录匹配块的空间位置。此过程主要包括运动搜索、SAD计算、最佳运动矢量和预测模式的获取。由于全搜索算法数据规则容易控制且易并行处理,所以本设计采用的搜索模式为全搜索; 利用当前块数据与参考窗数据作绝对差再求和所得结果即为所需SAD值; 根据最佳匹配块位置即可得到最佳运动矢量; 预测模式包括8 ×8、8 ×16、16 ×8、16 × 16 四种,SAD值最小的预测模式为最佳预测模式。由于最佳搜索模式为16 ×16 的概率最大,因此,以16 × 16 搜索模式为例介绍搜索过程。

实现过程包含空闲、数据接收、SAD计算和输出16 ×16 搜索模式下的最小SAD值4 个状态,SAD计算过程和状态转移过程用Model Sim仿真,结果如图5 所示。ssad0_inter16 × 16o ~ ssad16_inter16 × 16o输出SAD计算结果其中,dataout_inter16 × 16o输出数据为16 × 16 搜索模式下的最小SAD,mv_x和mv_y为此SAD值对应的运动矢量,stcurrent_inter16 × 16o为状态跳转。

3. 3 编码模块

此模块由DCT变换、量化、反DCT变换、反量化和熵编码五部分构成。其中,DCT变换和反DCT变换都采用蝶形算法,每次处理8 ×8 块的一行数据,且大量采用加法和移位,这样节省了大量的时间和空间。查表实现量化和反量化,表格存储在ROM中。DCT变换和量化后的数据通过DV_RAM传给熵编码模块,反量化和反DCT变换的数据形成重构残差块。熵编码主要实现ZIG-ZAG扫描、游程编码、码表的查询与切换、哥伦布编码和码流输出; 此过程采用占用空间少的存储方法存储码表,并将码表查询与切换、哥伦布编码合并成流水线单元并行完成,省去了中间数据的存储,还将熵编码子过程并行完成,加快了处理速度。

编码模块输入数据是当前块与预测块对应数据作差得到的残差块数据,如图6 所示,其中图6a是C代码中输入残差数据,图6b是Model Sim仿真中截取的输入数据流。经DCT变换、量化和熵编码后的码流如图7 所示,其中图7a是从AVS算法C代码中截取的码流; 图7b是从Model Sim仿真中截取的比特流。通过比较可以看出,2 种方法输入数据和所得结果都完全一致,说明FPGA的P帧编码过程可正确输出比特流。

4 仿真验证与实验结果

4. 1 仿真验证

本设计整个编码过程都是利用VHDL硬件描述语言,Xilinx ISE综合,仿真器选用Xilinx公司的xc5vlx110t -1ff1136,综合后最高工作频率为117. 534 MHz下,资源占用情况如表1 所示,实验结果表明资源占用少。

CIF分辨率( 352 × 288) YUV4 ∶ 2 ∶ 0 的原始图像,在100 MHz的时钟频率下,编码一个16 × 16 宏块所需周期数限定在内。由表1看出,本实验所占周期为7 670,完全满足实时编码需求。

4.2实验结果

一帧图像( 以foreman图像为例) 编码完之后形成的比特流,利用本实验室自主研发的解码器解码之后所得图像如图8 所示,表明本设计编码过程完全正确。

5总结与讨论

卫星直播 信源编码标准AVS 篇2

中星9号———我国第一颗广播电视直播卫星将于明年升空,这将为我国数字音视频产业的发展创造巨大发展空间。我国自主制定的数字音视频编解码标准AVS的压缩效率是传统标准的一倍以上,能够使直播星的节目容量提高一倍,也将为发展自主解码芯片和卫星接收机提供重要机遇。建议首颗广播电视直播卫星采用自主AVS标准、芯片和整机产品,以形成规模大、实力强的卫星产业。

直播卫星营造重大产业与技术机遇

广播电视直播卫星是《国民经济和社会发展第十个五年计划》规划的高技术工程,其目标是促进航天工业、广播电视媒体制作业、卫星接收设备制造业、软件等产业的快速成长,创造出千亿元人民币的内需市场,形成国民经济新的增长点。

广播电视直播卫星系统的关键技术包括卫星通信技术和数字音视频技术两大部分。中国航天事业四十多年来的迅猛发展,为广播电视直播卫星系统的建立和运行,奠定了坚实的基础。信息产业作为迅猛发展的国民经济第一大产业,完全能够为广播电视直播卫星系统提供自主的产品,我国自主制定的数字音视频标准AVS,达到了第二代音视频编码的最新水平,采用AVS的中国直播星比采用第一代标准的国外直播星系统领先了十年。因此,我国的广播电视直播卫星系统不仅是自主知识产权的,还将是全球领先的信息服务平台,成为我国高新技术产业跨越发展的重大机遇。

信源编码标准更新换代,专利许可成为障碍

数字电视标准最重要的是信源编码标准和信道编码标准。信道技术即通常所说的传输技术,包括射频技术和调制解调技术(数字电视才需要),解决在不同的传输物理介质上传输数字信号的问题。信源编码技术解决的重点问题是数字音视频海量数据的编码压缩问题,故也称数字音视频编解码技术,无论采用何种信道技术,信源编码都是必要的。

众所周知,数字化视频的原始数据量是十分庞大的,例如,标准清晰度的数字视频每秒的数据量超过200M比特,高清晰度数字电视每秒的数据量超过1G比特。数字音视频要在消费电子产品中得到应用,必须采用先进的压缩编码算法进行大幅度压缩。而反映压缩效率的压缩比也就成为数字电视乃至数字音视频产业的“基本指数”。

国际上音视频编解码标准主要有两大系列:国际标准化组织和国际电工委员会第一联合技术组(ISO/IEC JTC1)制定的MPEG系列标准,数字电视采用的是MPEG系列标准;ITU针对多媒体通信制定的H.26x系列视频编码标准和G.7系列音频编码标准。标准发展过程如图1。

MPEG是ISO/IEC JTC1 1988年成立的运动图像专家组(Moving Picture Expert Group)的简称,全称为ISO/IEC JTC1第29分委会第11工作组(ISO/IEC JTC1/SC29/WG11),负责数字视频、音频和其它媒体的压缩、解压缩、处理和表示等国际技术标准的制定工作。从1988年开始,MPEG专家组每年召开四次左右的国际会议,主要内容是制定、修订、发展MPEG系列多媒体标准。视音频编码标准MPEG-1(1992)和MPEG-2(1994)、基于视听媒体对象的多媒体编码标准MPEG-4(1999年)、多媒体内容描述标准MPEG-7(2001)、多媒体框架标准MPEG-21。目前,MPEG系列国际标准已经成为影响最大的多媒体技术标准,对数字电视、视听消费电子产品、多媒体通信等信息产业的重要产品产生了深远影响。

1994年制定的MPEG-2标准是国际音视频标准领域的一个里程碑,是音视频行业遵循的基本标准。近十年来,音视频编码技术本身和产业应用背景都发生了明显变化。ITU-T于1997年提出的一个长期的视频标准化项目H.26L,ITU-T并在1999年8月推出该标准的第一版测试模型。为了响应ISO/IEC MPEG对先进视频编码技术的需求,从2001年开始,ISO和ITU开始组建了联合视频工作组(JVT,Joint Video Team ,ISO/IEC MPEG和ITU-T VCEG联合视频工作组),在H.26L的基础上开发新的视频编码标准,目标定位在制定一套兼顾广播和电信、覆盖从低码率通信到高清晰电视的广域标准。在ISO/IEC中,该标准的正式名称为MPEG-4 AVC(Advanced Video Coding)标准;在ITU-T中的正式名称为H.264标准。2003年下半年,ISO/IEC以MPEG-4第十部分(ISO/IEC 14496-10)的名义正式发布了这项标准。

MPEG-4 AVC/H.264是代表最新技术水平的一项国际标准,但正如它的名字复杂到让人难以理解一样,其技术方案也过于复杂。首先,这项标准覆盖的应用范围过宽,从低码率通信到高清晰度广播,码率从几十K到几十M,相差三个数量级,任何一个实际应用,都只会选择其中的一个子集,因此,作为标准,过于臃肿。其次,在标准制定过程中,一些成员拼命加入自己的技术,有很多技术提案对整体压缩效率的贡献很小,但“你不让我进,我也不让你进”,平衡的结果是不得不加入了一些没有什么用的技术(往往是专利),不仅增加了标准实现的复杂度,也为将来繁杂的专利争执埋下了祸根。

然而,决定MPEG-4 AVC/H.264未来的最大因素还不是技术问题,而是长期困扰MPEG标准的专利授权问题。MPEG-1没有专利授权问题,MPEG-2有国际工业界可接受的专利授权政策,MPEG-4则被变本加利的专利费所扼杀,现在,这个问题又降临到MPEG-4 AVC/H.264头上。在解释这个问题之前,需要先了解标准背后的专利问题。

MPEG作为ISO/IEC下属的标准工作组,只负责制定标准,知识产权方面遵守ISO的RAND通则。MPEG LA 是1996年在美国成立的专利授权代理公司,虽然从名称上似乎和MPEG标准专家组有联系,但事实上没有任何法律关系。

MPEG LA 1997年启动MPEG-2 (视频和系统部分)所涉及的专利许可代理业务,1998年12月获得美国司法部审议认可(EC Comfort Letter)。

MPEG-2最初的收费对象为解码设备和编码设备,每台专利授权费4美元。从2002年开始,降为2.5美元。由于当时MPEG-2是数字音视频领域唯一可用的技术标准,而且相对合理,因此MPEG-2的产业化取得了巨大成功。

在对MPEG-2收费取得成功的情况下,MPEG-4 LA公布的MPEG-4标准的收费模式为:消费者使用解码设备,除购买设备时需要缴纳的一次性专利费外,还将按使用时间进行收费,通常这个费用是通过提供视频服务的节目发行商(如音像出版公司)或运营商(如电视台、视频点播服务提供者等)收取的,其总的收费额度每年高达数百万美元。此收费政策一出,美国在线-时代华纳代表媒体运营商率先反对。MPEG-4因为收费问题,成了一个主流应用运营商不支持的技术标准。MPEG-4 AVC/H.264是MPEG专家组和ITU VCEG专家组2003共同完成的视频编码标准,MPEG-LA一直在制定其收费模式。2003年11月17日,MPEG LA 宣布H.264/MPEG-4 AVC的必要专利权人就联合许可条款达成了协议,要求根据节目、订户和本地发射台数等参数来对运营商收费。欧广联(EBU)随后发表2003年度第96号声明,表示“十分遗憾的是,EBU看到AVC的许可条款对广播商是极端不合理的”。对于中国的广播电视系统来说,近2000家电视台和大大小小的有线电视网需要缴纳的专利费总额十分庞大,中国数字电视运营产业MPEG国际标准,将面临巨大经济负担。2004年5月,MPEG LA收费政策最后敲定,对运营商收费的条款基本没变。

AVS标准抓住机遇,

推动我国音视频产业的跨越发展

音视频编解码技术的进步和标准的更新换代为我国后来居上提供了历史性发展机遇,AVS正是在这样的国家大背景下应运而生的。AVS标准的完成,使得全球范围内可选的第二代标准变成三足鼎立的局面:国际标准 MPEG-4/H.264、中国牵头的制定的AVS,一些公司提出的标准。国际标准MPEG-4/H.264虽然开放,但背后的专利授权问题难以负担;公司标准受到公司控制,难以得到业界广泛接受。我国牵头制定的AVS,性能达到国际标准同样水平,而且方案简洁,知识产权政策明晰,应是国际范围内第二代标准的上选。

数字音视频编解码技术标准工作组(简称AVS工作组)由信息产业部科学技术司于2002年6月批准成立。工作组的任务是:面向我国的信息产业需求,联合国内企业和科研机构,制(修)订数字音视频的压缩、解压缩、处理和表示等共性技术标准,为数字音视频设备与系统提供高效经济的编解码技术,服务于高分辨率数字广播、高密度激光数字存储媒体、无线宽带多媒体通讯、互联网宽带流媒体等重大信息产业应用。目前工作组分为需求与测试组、系统组、视频组、音频组、实现组、版权保护组、知识产权组等专题组开展工作。会员单位从2002年度的30多家增长到130多家,覆盖了国内本领域的主要产品开发生产厂家与研究单位。AVS工作组成立以来,已经召开了12次全体会议,30余次专题会议。

在国家标准计划中,AVS标准的正式名称为《信息技术 先进音视频编码》。AVS标准包括系统、视频、音频、数字版权管理等四个主要技术标准和一致性测试等支撑标准。AVS标准和相关国际标准的时间对应关系以及AVS工作组已经开展的工作如图2所示。

AVS工作组2003年度完成的视频标准报批稿是《信息技术 先进音视频编码》的第二部分,代表了当前视频编解码领域的最新水平。视频标准是AVS标准中最复杂、难度最大的一个部分,其编码效率是MPEG-2的2-3倍(根据视频画面尺寸不同有所不同)。AVS在保证编码效率的前提下,实现复杂度明显比最新的MPEG-4 AVC低,在高清晰度应用方面处于领先水平,是我国高清晰度数字电视和激光视盘机产业的最佳选择。

2004年11月15日-12月26日,国家广播电视产品质量监督检验中心对AVS视频标准进行了测试,测试时间进一个半月。试验采用双刺激连续质量标度(DSCQS)法评价AVS视频编/解码系统处理后的图像质量相对于未经压缩的原始图像质量的差别,评价AVS视频压缩方案的性能,参加评价人员共计56人。试验结果表明AVS视频编/解码方案在图像格式为720×576i/50Hz、压缩码率为2.5Mbps时,可察觉经编/解码处理后的被评价对象与原始素材图像质量的差别,但差别小(总平均分差6.4,百分制)。在图像格式为1920×1080P/25Hz、压缩码率为6Mbps时,被评价对象为图像质量与原始素材图像质量的差别很小(总平均分差3.6,百分制),不易察觉。

2004年12月29日,全国信息技术标准化技术委员会组织召开了AVS标准审定会。评审委员会由信息产业部电子科技委主任童志鹏院士任主任,全国音频、视频及多媒体系统与设备标准化技术委员会主任徐顺成研究员任副主任,包括汪成为、王越、李国杰、何新贵等院士在内的共11位专家任委员,对AVS工作组提交的《信息技术 先进音视频编码第二部分:视频 》(送审稿)和《信息技术 先进音视频编码第一部分:系统 》(送审稿)进行了审定。 审定会认为,该项标准是数字音视频编码领域非常重要的基础性标准,对产业发展意义重大。工作组在推动技术、专利、标准和产业协调发展方面做了大量细致的工作,探索出一条开放式自主制定重大信息技术标准的道路,是卓有成效的。

审定委员会一致认为,AVS在技术、专利、标准三个方面创新突出,AVS软件和芯片已经开发,AVS标准是关系到国家数字音视频产业发展和重大利益的基础标准,建议国家相关主管部门在广播电视直播卫星、高清晰度数字电视等重大音视频应用领域采用这一自主标准,加大支持和投入力度,推动自主AVS高清晰度软件、芯片、产品和系统的产业化,推动具有核心竞争力的数字音视频产业群的形成。

通过对国际、国内相关专利的认真仔细的调查分析,我们认为AVS自主专利技术和公开技术构成了AVS标准的主体。AVS视频标准作为国家标准,我国在知识产权方面具有明显的技术主动权,能够妥善解决知识产权问题。在国际范围内,AVS自主技术也占据明显优势,具有在国际范围内推广应用的良好基础。公开技术、自主专利技术和愿意加入“AVS专利池”构成了完备的AVS技术方案,AVS标准侵犯其它专利的风险极小。凭借自主技术的明显优势地位和公平合理的“AVS专利池”统一许可模式,完全可以全面解决知识产权问题,并为全球范围内协调标准和专利关系问题探索出一条新的道路。

与其它类似标准相比,AVS有两大优势:基于自主技术和部分公开构建的开放标准,较好地解决了知识产权许可问题;中国日渐强大的产业化实力和市场提供了良好土壤。在这两大翅膀的助推下,AVS已成为全球范围内最有可能成为事实标准的第二代音视频编码标准。

AVS是一套适应面十分广阔的技术标准,优势表现在以下几个方面:

1、基于我国创新技术和部分公开技术的自主标准:编码效率比第一代标准(MPEG-2)高2~3倍,而且技术方案简洁,芯片实现复杂度低,达到了第二代标准的最高水平,可节省一半以上的无线频谱和有线信道资源;

2、第二代音视频编解码标准的上选:AVS通过简洁的一站式许可政策,解决了MPEG-4 AVC/H.264被专利许可问题缠身、难以产业化的死结,与一些公司提出的标准相比,AVS是开放式制订的国家、国际标准,易于推广;

3、为音视频产业提供系统化的信源标准体系:MPEG-4 AVC/H.264是一个视频编码标准,而AVS是一套包含系统、视频、音频、媒体版权管理在内的完整标准体系,为中国日渐强大的音视频产业提供了完整的信源编码技术方案,正在通过国际标准化组织合作,进入国际市场。

直播卫星采用AVS标准的重要意义

数字音视频编解码技术标准AVS是我国采用自主创新技术和部分公开技术自主制定的第二代信源编码技术标准,AVS的压缩效率比本领域沿用了近十年的第一代标准MPEG-2提高了一倍以上。

采用自主AVS标准是直播卫星领先的关键。广播电视直播卫星采用AVS标准的重要意义在于:

1、音视频节目的压缩效率能够提高一倍,意味着直播卫星的节目传输能力提高一倍,“一颗星可以当成两颗星来用”;

2、 音视频解码芯片是卫星接收机内最核心、最重要芯片,相当于计算机的CPU(中央处理器),每年数千万台直播卫星接收机采用自主解码芯片将有力推动我国芯片产业的发展;

3、AVS标准达到了国际最新水平,解决了相应国际标准背后高昂的专利许可费问题,显著提高我国直播卫星数字电视系统的技术自主性,是继卫星技术之后的另一高新技术制高点;

4、采用自主芯片和Linux操作系统的接收机,完全清除了安全隐患,而且价格可控制在500元内,有利于全国范围内各个地区广泛推广。

广播电视直播卫星已在全球范围内广泛应用并形成一种新的技术产业。中国有3.7亿多户家庭,其中约1/3是有线电视用户。发展直播卫星系统,不仅能够向其它2/3直接提供数字电视和相关信息服务,还将为现有有线电视用户提供新的选择,为音视频芯片、整机和媒体制作、运营产业创造广阔的舞台,经济效益和社会效益十分显著。

AVS不仅在性能上与最新国际标准相当或更高,而且比国际标准更精简,芯片和产品实现复杂度比最新国际标准约低30%。利用当前的芯片技术完全可以实现。采用自主的AVS标准,就可以重点扶持国内芯片设计和生产企业,我国企业在芯片、软件、整机、系统等产品就可以先行一步。

2005年3月2日,“AVS101高清解码芯片科技成果鉴定会”在北京召开。鉴定委员会由包括9位院士在内的15名专家组成,经认真评议宣布AVS101高清解码芯片顺利通过鉴定,这标志着我国在高清晰度编解码标准和芯片实现方面同时站到了世界最前列。鉴定委员会一致认为:该成果研究起点高,技术先进,突破了数字音视频解码芯片的核心技术,总体上达到国际先进水平,在若干关键算法及其实现上具有独创性。所完成的演示系统功能齐全、工作稳定,适合大规模生产的要求,为我国在计算机、通讯和消费电子领域的国际竞争提供了重要的技术支撑。鉴定委员会一致同意通过鉴定,建议加快对我国信息产业具有重要意义的AVS数字音视频编解码标准的制定,尽快在高清晰度激光视盘系统、数字电视、网络电视等重大产业化方面进一步加强推广力度。AVS101高清解码芯片的实现,是AVS产业化的重要里程碑,对我国数字电视以及数字音视频产业的发展具有基础意义。

AVS编码器 篇3

变换、量化和扫描在AVS视频编码过程中占有很重要的地位, 它是AVS编码中数据处理的中间部分, 即将残差数据经过变换、 量化和扫描后传到熵编码部分,所以算法的优劣和实现架构对AVS视频编码器的性能有很大的影响。 本文为了提高AVS视频编码器的处理速度, 结合了国内外学者的设计思想提出了一种变换、量化与扫描模块结构,在消耗逻辑资源允许的情况下提高了处理速度,达到了速度和面积的平衡。

本文以实现1 080i、30 f/s格式视频实时高清编码为目标, 结合AVS标准中变换、 量化和扫描的特点, 设计了一种高速并行流水线结构。 通过对整数变换模块内部结构的优化和一维整数变换模块的复用,节省了硬件资源。 量化和一维变换模块内部均采用3 级流水线处理扫描模块采用从首尾两端同时开始扫描的方法,完成一个8×8 块的扫描仅需要33 个时钟周期, 节约了扫描的时间。

1 整数变换和扫描算法分析

1 . 1 整数变换

早期的视频编码标准往往采用浮点DCT来去除视频图像的空间冗余, 而浮点变换不适合在数字硬件环境中实现。 在实际中,常采用整数近似的DCT代替浮点DCT来编码视频图像, 不仅可以保持浮点变换的编码性能,而且能够大大减少计算复杂度。 但是整数DCT近似有可能出现编解码器采用不同的DCT和IDCT的情况,这种情况会导致解码图像的误差漂移[1]。 为了避免这个问题,AVS采用8×8 的二维整数变换, 变换公式如下[1]:

其中,X为残差系数矩阵,T8为8×8 变换矩阵,有:

可见, 变换矩阵T8具有奇数行奇对称和偶数行偶对称的特性,这为后文整数变换模块的优化提供了条件。

1 . 2 扫描

1976 年, Tescher在他的自适应变换编码方案中首次提出DCT系数的高效组织方式 ———Zig-Zag扫描。 此扫描方式成为DCT系数高效熵编码前所常用的预处理技术,并一直沿用至今。 通常把扫描中遇到的非零系数记为level,一个非零系数前的连续零系数游程记为run[1]。扫描后的系数被组织成(run,level) 对。 传统的Zig-Zag扫描从低频系数开始逐个扫描, 扫描一次需要64 个时钟周期,如图1 所示。

2 硬件结构

系统工作频率为100 MHz时,实现AVS高清1 920×1 088 、 30 f / s格式视频的实时编码, 一个宏块的处理时间为4 085 ns,即不超过408 个时钟周期,否则就不满足高清编码的要求。

本文提出了一种高效简洁的变换、 量化和扫描系统结构,硬件结构及数据流如图2 所示。 控制模块依据缓存寄存器组的状态产生输入残差数据命令,每个周期读入一列残差数据。 残差数据经过变换后送入量化模块进行量化。 量化数据保存到缓存寄存器组,由扫描模块控制并进行扫描,扫描模块输出(run,level)对。 变换和量化模块内部都采用流水线结构。

2 . 1 变换模块

变换模块是将当前块的残差系数矩阵转换为变换系数矩阵的一个过程,其结构框图如图3 所示。 此设计采用一维变换和转置矩阵实现二维变换,与参考文献[4中的设计相比节约了硬件资源。 参考文献[5] 中转置操作由RAM实现, 本文中转置操作由8×8 的寄存器组实现,避免了访问RAM造成的延时,便于后续的并行流水线处理。 参考文献[6]中整数变换采用了蝶形算法,其缺点是需要对变换后的结果进行重排序。 参考文献[7] 提出了一种快速有效的变换方法,但是资源消耗大。 本文对整数变换的方法进行了优化,节约了不必要的硬件资源和时钟。

下面主要介绍一维整数变换过程。

设AVS的一维整数变换的输入、输出变量分别为:

根据Y=T8× X , 把8 个输出元素展开成以下组合, 其中T8为8×8 的变换矩阵:

再定义12个中间变量M0~M11:

其中所有的乘法均可化为移位操作,重新整理后得到输出:

由以上算法可以看出,一维变换模块只需要移位和加法操作,既方便硬件实现,还节省了硬件资源。 经计算此一维变化模块共需要40 个加法器, 比参考文献[7] 中的一维变换节省了加法器和移位器。

设计中对变换采用流水线的处理方法[7], 先进行列变换,然后进行行变换,单步变换为3 级流水线结构。 变换模块中, 第1 时钟周期进行并行读取数据, 第2、3 个时钟周期进行一维反变换,第4 个时钟周期开始向转置矩阵中存入一维反变换后的数据, 第12 个时钟周期开始读取转置矩阵中的数据, 第14 个时钟周期开始输出数据,第21 个时钟周期结果输出完毕。

2 . 2 量化

量化模块采用并行流水线进行设计, 每个周期处理一行数据。 该模块采用了3 级流水线,第一级流水线通过查表得到伸缩参数scalm和量化参数qp_tab;第二级流水线计算Y=(transcoeff*scalm+218)>>19, 其中,transcoeff为变换系数; 第三级流水线计算quantcoeff=(Y*qp_tab+214) > > 15 , 其中, quantcoeff为量化系数。 该模块的结构框图如图4 所示。

2 . 3 扫描

经过整数变换和量化后, 需要对变换后的系数进行Zig - Zag扫描。 传统扫描是将64 个系数从首端开始逐个进行扫描, 因此传统扫描方法会占用大量的时钟周期,降低了编码的速度,不利于高清实时编码。

本文改进了传统的Zig-Zag扫描方法,对变换后的系数从首尾两端同时开始扫描,节约了扫描的时间。 其实现方法示意图如图5 所示。 首先,在量化后的系数矩阵的中间插入一个非零常数,然后从该系数矩阵的首尾两端同时开始扫描,一共扫描33 个周期。 扫描路径1 统计非零系数前零的个数run0 和非零系数值level0, 扫描路径2 统计非零系数后零的个数run1 和非零系数的值lev el1 , 并逐个输( run0 , level0 ) 和( run1 , level1 ) 。 最后, 将第3个扫描周期输出的run0 和run1 相加, 并将结果赋给run1 , 即得到插入常数后面的第一个非零系数前零的个数, 而插入常数后面的第一个非零系数的值为第33 个扫描周期输出的level1。 至此扫描完成。

改进的扫描方法完成扫描过程只需要33 个时钟周期,比传统的扫描方法节省31 个时钟周期。 扫描模块的结构框图如图6 所示。 与传统的扫描方法相比,只增加了一个选择器和加法器,却节约了将近一半的扫描时间。

3 仿真综合结果及分析

根据上述思想, 采用Verilog HDL语言完成硬件的编写, 选用Altera公司的软件Quartus II 11.0 和Model Sim6.6d进行了实现和仿真。 部分仿真结果如图7 所示。 从仿真图中可以看出, 本设计中第1~21 个周期完成一个块的变换, 第17~24 个周期完成量化, 第25~26 个周期进行扫描数据的准备,第27~59 个周期完成数据的扫描并输出扫描的结果,整个扫描过程只用了33 个周期,各个模块输出结果正确,达到了预期的设计要求。 本设计完成一个块的变换、量化和扫描需要59 个时钟周期,因此,处理一个宏块的时间为236 个时钟,满足编码要求。

本设计采用的FPGA为Altera公司的EP2C35F672C6综合占用的资源如图8 所示。 由图8 可见, 使用LE的总数为4 157 个。 综合布局布线后的结果表明,该结构的最高频率为120 MHz,满足设计的要求

摘要:提出了一种适用于AVS高清视频编码的变换、量化和扫描的优化设计方案。通过对整数DCT变换算法的优化和对传统Zig-Zag扫描方法的改进,节约了硬件资源和编码时间。根据各模块的运算关系合理地安排流水线结构,采用并行流水处理和复用技术,实现了高清视频编码变换、量化和扫描模块的设计。在FPGA上进行验证的结果表明,该设计满足高清视频实时编码要求。

关键词:AVS高清视频编码,变换,量化,Zig-Zag扫描,FPGA

参考文献

[1]高文,赵德斌,马思伟.数字视频编码技术原理[M].北京:科学出版社,2010.

[2]李文军,王祖强,徐辉,等.基于FPGA的AVS帧内预测电路设计[J].电子技术应用,2013,39(8):50-53.

[3]AVS工作组.信息技术先进音视频编码:视频[M].北京:中国标准出版社,2006.

[4]刘海鹰,张兆杨,沈礼权.基于FPGA的H.264变换量化的高性能的硬件实现[J].中国图象图形学报,2006,11(11):1636-1639.

[5]黄学超,张卫宁.AVS编码变换量化和扫描硬件设计与实现[J].电气电子教学学报,2011,33(2):34-37.

[6]白玉婷.AVS编码器关键模块的硬件设计[D].太原:太原理工大学,2012.

中国首颗AVS+高清编码芯片诞生 篇4

2014年8月22日, 全球首颗AVS+高清编码芯片“BH1200”在中关村揭开面纱。BH1200高清编码芯片完全符合2012年颁布的国家广电行业标准AVS+, 向前兼容AVS国家标准, 对完善AVS+产业链、支撑我国高清电视发展具有重大意义。据《中国电子报》记者了解, BH1200是由北京博雅华录视听技术研究院有限公司和北京大学数字视频编解码技术国家工程实验室合作研制的, 得到了北京中关村发展集团股份有限公司、中国华录集团有限公司、北京算通科技发展股份有限公司等股东的大力支持。作为一款具有中国自主知识产权的数字音视频编码芯片, BH1200的诞生完善了我国数字音视频产业链, 是AVS+产业链上非常重要的一环, 可以有力带动我国广播电视前端设备的研发和产业化, 对AVS+的大规模应用和我国音视频产业的从大变强具有重要意义。

AVS是我国自主制定的数字音视频编码标准, AVS+是国家广电行业标准《广播电视先进音视频编解码第1部分:视频》 (GY/T257.1-2012) 的简称。2014年3月18日, 工信部与国家新闻出版广电总局联合发布了《广播电视先进视频编解码 (AVS+) 技术应用实施指南》, 分类别、分步骤地给出了AVS+在卫星、有线、地面数字电视、互联网电视和IPTV等领域应用的时间表。2014年上半年, 中央电视台采用AVS+实现了各频道的高清上星播出。2014年7月1日起, AVS+在全国高清电视领域的应用全面铺开, BH1200的成功研制有力支持了高性能、低功耗、低成本AVS+编码器开发和产业化, 是落实《指南》的关键核心产品。

BH1200是一款专业级AVS+高清编码芯片, 采用40nm工艺, 支持1路高清或4路标清视频的实时编码。BH1200于2014年3月流片成功, 2014年6月正式量产商用, 是全球第一颗AVS+高清编码芯片。成都德芯数字科技有限公司和成都万发视通设备有限公司等广播电视领域知名编码器厂家已推出基于BH1200的商用编码器设备, 并得到运营商的高度认可。

关于AVS+编码技术的探讨与应用 篇5

1 AVS+产生的背景与概念

多年以来, 我国一直没有自主的音视频编码标准核心技术, 曾花费了昂贵的资金代价和苛刻的相关政策的管制, 曾经繁华一时的DVD产业就成为了西方专利政策的牺牲品, 随着我国信息产业和AVS工作联盟的研发和努力, 成功地研发了具有自主产权的第一代信源标准即:MPEG-2和第二代信源标准即:H.264和AVS, 同时为了进一步推动我国瓶颈产业的发展, 又增加和修改了AVS的标准和内容, 升级出新的AVS+编码信源标准, 它在性能上更进一步得到了优化, 通过增加四种新型的技术, 使AVS+编码技术成为了成本低廉而编码质量更优的核心技术, 经过联合工作组的综合测试和评议, 形成了网络技术支撑下的AVS+标准文本方案, 并制订了相关规定和制度, 将这项AVS+技术普及应用于广播电视系统当中, 促成高清和立体的电视传播网络。

2 自主研发的第二代标准:AVS+和H.264之间的比较分析

在对第二代信源编码标准的技术当中, 重要的是其图像成型内容的显示质量方面, 图像显示的亮度和颜色对比度是质量的参考因素。对AVS+信源编码和H.264信源编码进行测量的基础上, 才能进行优势性比较, PQA600A是测量图像视频误差的基准诊断设备, 它通过技术预测得出PQR分值的高低, 分值越低的测量结果显示视频图像的质量越高、效果越好, 通过对静止状态和运动状态的图像测试, 可以比较得出:AVS+信源编码技术下的PQR分值比H.264信源编码技术的PQR分值要低, 编码质量更好。它在新的技术工具的添加应用上, 兼容性能更高, 主要体现在以下四项新型技术方面:

2.1 高级熵编码技术

这项技术是在编码流程中的最后一项, 为了实现AVS+信源编码的低成本和计算的低难度, 开发启用了一种基于上下文的算术编码, 即CBAC, 这种技术有效地提高了编码的效率, 实现了全面兼容。

2.2 图像级自适应加权量化技术

这种技术是在变换和量化的部分新增的内容, 其“Qmode”的加权量化模式, 主要体现为四种形式:默认、关注细节、关注非细节和均关注模式, 从变换的角度上看, 转化为了16位整数8×8;从量化的角度看, 实现了编码器的缩放功能。

2.3 同极性场跳过模式编码技术

该技术增加了PB帧场编码预测标志, 对图像视频的亮度运动, 进行了直接和跳过模式的修改, 通过亮度运动矢量导出的计算方式调整, 增减了矢量状态的导出;并且, 对视频图像底层和顶层默认图像的修改, 将最近场修改为同极性场。

2.4 增强场编码技术

这种新型技术拓展了视频图像的运动补偿预测功能, AVS+信源编码修改了底场默认的skip/direct模式参考图像, 改变参考图像的运动矢量导出方法, 增强了其中场编码的技术内容。

3 AVS+编码平台网络管理系统的软件模块设计与实现

3.1 AVS+编码平台网络管理系统的功能内容

这个系统是针对数字电视前端平台进行实时的监控与管理, 在良好的交互界面下, 用户与网络可以实现有效的对接, 在实时的网络信息服务前提下, 进行故障的排除和稳定性的监控。主要有以下内容: (1) 展现良好的视图界面功能。在规范化的设计指导下, 用直观的信源编码流程图和网络之间的连接图示, 实现良好性能的网络系统管理工作。 (2) 动态管理设备基本信息的功能。网络管理过程中, 需要对音视频设备进行基础信息的把握, 通过设备之间的连接, 固定设备的定位状态, 便于网络管理员进行故障判断与处理。 (3) 运行设备的参数调整功能。在网络管理系统中, 音视频设备在传输的运行状态下, 需要管理员进行传输控制, 对音视频设备的参数进行调节, 以实现清晰、完整的数据输出。 (4) Trap信息处理功能。管理系统设备通过Trap信息的发送与接收手段, 在一旦发生故障预警时, 可以主动发送陷阱报文, 让管理控制员及时处理。

3.2 AVS+网络管理系统的设计总略

该系统肩负进行广播电视传输的重大使命, 完成数字电视前端的安全传送, 通过对前端设备的远程控制, 在C/S软件框架下, 采用集中式的网络结构, 清晰地分为三个层面, 通过采集层、存储层和呈现层的模块实现, 开发出面向用户的Qt库。 (1) 采集层模块设计。这一模块设计主要是突出网管设备代理的基础功能, 不同的参数环境下, 不同的设备获取不同的信息, 诸如:设备运行时间、联系人及IP地址等基本状态信息, 并在一旦发生故障预警时, 可以自动发送Trap报文, 这些相关信息都会存在数据库中, 成为其中的一个基础层。 (2) 存储层模块设计。该模块是为了数据的便捷有效而采取的内在存储设计, 在采集层的数据库基础上, 存储层进行预处理和分类存储的内在强大功能, 这是为数据的准确定位和精准操作而设计的模块, 可以更有效地实现对系统设备的维护和监控。 (3) 呈现层模块设计。这一模块是直观性的人机交互显示状态, 根据不同参数配置的设备类型, 选取相对应的获取信息, 实现用户的定制功能显示;同时, 在界面显示的设备运行状态下, 以颜色显示的报警形式实现实时监控。

3.3 AVS+网络管理系统的设计实现

这种新型的AVS+网络管理系统, 其实现流程操作步骤为:首先, 在网络系统平台之下, 对需求用户进行权限验证, 经过数据库系统对用户的相关基础信息进行符合性分析之后, 进行匹配验证录入;然后, 需求用户才可以进行系统化操作, 在对相关设备如:编码器和交换机等进行添加的同时, 根据系统配置实施监视和控制。在上述流程操作程序中, 核心内容是实现数据库的连接与统辖, 先是数据库系统的初始化环节, 再实现用户的数据库登录验证环节, 在这两个核心环节之中, 重点是对用户的用户名和密码进行匹配性对接, 最终实现AVS+网络管理的相关功能。

4 AVS+信源编码技术的推进与应用

为了全面铺开AVS+信源编码, 在《广播电视先进视频编解码 (AVS+) 技术应用实施指南》的原则下, 全国广电高清领域展开了热点性的议论和关注, 主要关于以下几个方面: (1) 相关过渡期的并播应用问题。《指南》规定, 我国已上星的高清电视都要采用AVS+信源编码标准, 如何进行合理性过渡, 是电视应用方面要探讨的重要问题, 现在的过渡期内必然是要实现双码流并发, 采用多上一个码流、或者多上一个载波, 只是时间的早晚的问题, 要把上星的高清视频由原来的H.264转换为更为先进的AVS+, 要从编码器和接收设备两方面同时进行转换, 以达到《指南》的要求。同时, 对目前现有的电视视频不支持AVS+的现实情况, 采取留有空间的手段, 允许电视前端的AVS+信号转换为H.264作为过渡, 待终端支持后再实现AVS+的信号传输。 (2) AVS+编码技术的拓宽规模应用问题。在AVS+的产业链上, 不但可以在广电传播领域中使用, 而且还可以拓展到多媒体上的相关企业网和社区网等处, 通过AVS+的编码器和转码器的市场专业化应用, 推动国际化市场。 (3) AVS+编码技术在手持式智能终端上的应用。在全球化的网络背景环境下, 网络智能终端由原来固定式的装备转为更便捷的随身装置, 例如:智能手机、平板电脑等, 都成为了人们喜爱的便携式信息工具。AVS产业链可以与智能手机芯片供应商进行沟通, 使手机智能的芯片支持AVS+, 参考WAPI标准, 在入网认证时嵌入AVS产业技术。 (4) AVS+编码技术在视频监控上的应用。我国要大力发展AVS+技术, 由于欠缺支持AVS标准的嵌入式编解码芯片, 导致我国的视频监控领域的AVS应用发展迟滞, 要制订出监控视频传感服务器的解决方案, 用具有优化性能的AVS编码器, 完成在TMSDM6446平台之上的移植和封装, 实现D1分辨率的嵌入式实时编码, 利用协议将编码后的数据发送到指定的网络上;同时, 将AVS解码器移植到OMAP3530平台上, 实现同分辨率的实时编码, 这样, 就可以完成整套视频监控系统对AVS+技术的支持, 从而推动AVS+产业链的丰富和发展。 (5) 未来将AVS+编码技术与H.265实现同步的宏观展望。近一两年来, 4K电视取得了一定的发展, 在未来的时间里, 4K电视的视频传输必然要采用比H.264更为先进而高效的H.265标准, H.265标准也称“高效率视频编码”, 其压缩效率比H.264提高了一半, 在相同质量的数字视频文件中, 它能够明显降低成本, 进行文件的有效存储和分发。为了与未来的H.265实现同步, AVS+编码技术需要更为高效的演进, 我国的国家总局正在考虑用AVS+编码技术支持高清电视, 用更进一步的AVS2技术来支持4K超高清电视, 加快H.265的隔行扫描技术, 实现未来的AVS+的演进产业链与H.265同步推进, 加速AVS+产业的升级换代进程。

5 结束语

在当前网络信息技术高速发展的今天, 各种新型技术不断地得以研发和更新换代, 其中AVS+编码平台网络管理系统便是我国自主研发的新型技术, 音视频编码标准核心技术曾是我国的技术瓶颈, 为国外的专利费用所制约, 经过我国技术人员多年的开发和研究, 在第一代和第二代信源编码技术的进程发展中, 我国运用AVS+编码技术以适应不同的应用场景, 包括:广播数字电视、移动智能终端和可视化的视频监控、地面数字电视等内容, 利用AVS+编码平台网络管理系统的软件模块设计与实现, 进行实时的监控管理和有效的数据库存储及分析, 需求用户在系统协议允许的范围内进行权限内使用, 系统数据库在初始化和验证匹配的前提下, 用户才能实现人机交互对接, 完成AVS+编码的实践性应用。

参考文献

[1]史秦青, 万馨忆, 肖融, 等.AVS视频码流解析软件Qt AVS的设计与实现[J].电视技术, 2011 (3) .

[2]史宝玉, 张远, 齐洪钢.AVS视频一致性测试分析[J].电视技术.2009 (4) .

[3]张可, 张国庭, 刘恒, 等.广州“AVS~++DRA”音视频标准数字电视地面广播试验[J].电视技术, 2013 (14) .

AVS熵编码C64x+优化 篇6

超长指令字 (VLIW) 和直接处理打包数据技术在高端DSP体系结构中得到广泛应用, 因此如何结合两者的优点并有效提高算法的运行速度将成为深入研究的热点[3,4]。TMS320DM6446是美国TI公司研发的高集成度视频处理芯片, 本文以该开发平台为例, 研究了利用该系统平台优化超长指令字 (VLIW) 和打包数据处理技术的方法, 并实现了对AVS熵编码模块的汇编级优化。

1 AVS熵编码算法分析

AVS标准首先利用Zig-Zag对量化后的数据进行扫描, 游程和幅值对 (Run, Level) 是量化后的8*8个系数按照扫描顺序得到的序列对, Level为非零系数的幅值, 游程Run为连续为0的系数的个数。研究表明, 游程和幅值具有关联性, 在整个频率范围内, 当幅值变化较小, 对应的游程可能会发生较大的变化, 而当幅值不断增大时, 其对应的游程则会有明显下降。由于 (Run, Level) 扫描序列局部的联合概率分布具有一定的差异性, 因此AVS采用了联合编码的方法, 并设计了19个VLC码表为适应局部的差异性, 根据幅值变化的程度动态使用相应的码表, 从而大大提高了VLC编码的效率。其编码过程如图1所示。

每张VLC码表存储空间26×27 byte, 19张VLC码表需要的存储空间约为13 kbyte。对于嵌入式处理器, 其内部存储器速度快, 存储空间有限, 将19张VLC码表完全存储在内部存储器, 将浪费珍贵的的内部存储空间, 放在外部存储器, 将大大降低编码速度。对VLC码表进行分析, 其中有效码字 (非负值) 仅有30个左右, 码表中存在大量的逃逸标志位-1。对VLC码表进行改造, 每张码表存储32 (为了字对齐) 个码字, 对逃逸标志不存储, 通过更多判断完成实现。改进后的码表所需要的存储空间约为0.6 kbyte, 占用的存储空间仅是原来的4.3%, 完全可以放在内部存储, 同时也方便查找, 提高数据cache命中率。

2 熵编码优化

支持VLIW的DSP具有的特性是一条指令并行执行多个线程。C64+有两个数据处理通路:path A和path B, 每个数据处理通道有一个包含32个32bit寄存器和4个运算单元 (M、D、L和S) 。四个运算单元分别执行乘法运算、地址运算、逻辑运算和移位运算等操作。由于path A和path B是可以并行运算的, 8个运算单元在一个指令周期内并行执行的效率将是最高的, 因此实际应用中尽可能将path A和path B的八个功能单元并行执行[5]。

DSP数据打包处理是指对多个整型数据进行相同操作时使用单一指令对进行同时访问的技术。C64x+增加了49条新指令, 提供的指令支持双字读取和存储指令, 新的指令占用程序空间小, 处理效率高, 大大提高了流媒体的处理速度。打包数据类型是C64x+打包数据处理的基础, 支持8和16位的数据打包类型[6]。

AVS ZIG-ZAG扫描模块是对量化后残差数据, 原始的C语言实现如下:

实现AVS 8x8块扫描需要64次乘法运算, 64次符号判断, 最多192次加法运算, 320次赋值运算, 可见编码的复杂度相对较高。

预测残差经过整型量化之后, AVS Zig-Zag对其数据进行扫描, 输出为8×8游程数据和幅值数据。ZIG-ZAG扫描实现需要读取扫描数组AVS_SCAN0[64]和AVS_SCAN1[64]。由于读取数据指令存在延迟, 并且耗时较长的特点, 故采用LDDW双字取数据指令的技术, 一次同时取8个需要处理数据。又因为C64+有两个数据处理通路:path A和path B, 通道A和B又可以并行执行, 故用A通路一次完成AVS_SCAN0数组8个数据读取, 用B通路一次完成AVS_SCAN1数组8个数据读取。用LDDW指令从AVS_SCAN0数组一次读取8个xx, 此时xx为8位, 分别用UNPKHU4和UNPKLU4把它扩展成16位;用LDDW指令从AVS_SCAN1数组一次读取8个yy, 用MPYU4指令一次完成8个yy与常数8相乘, 得到16位的运算结果, 然后分别用A和B交叉通路和SADDU4指令完成与8个xx相加。用DPACK2指令将yy*8+xx的值扩展成每个寄存器一个值, 然后读出curr_val。将curr_val与0比较进行赋值运算, AB两侧寄存器并行处理, 循环8次便可使全部运算完成, 最终将所得到的ipos的值赋给icoef。其实现过程如图2所示。

该汇编优化示意图仅为一次循环的流程, 经过首次优化后仍存在一些并行不完全的代码, 为提高代码的并行性, 需要将二次循环中的部分操作与首次循环没有关联的代码再次进行并行操作。

该量化系数经扫描后需通过2D-VLC查表和指数哥伦布编码。假设扫描后得到N个 (Run, Level) 对, 保存在数组Run Buf和Lev Buf中。先用默认的VLC码表Table Arr[0], 对Run Buf[N-1]和Lev Buf[N-1]进行指数哥伦布编码。当游程和幅值对 (Run, Level) 在该码表范围内时, 根据索引求出码字, 再得到E-G码;反之当 (Run, Level) 对不在码表范围内时, 则作为逃逸事件进行处理。然后根据幅值的绝对值更新码表, 如果大于之前幅值的最大值, 则根据码表索引数组求出用于下一个编码的 (Run, Level) 码表, 反复循环至结束。对于逃逸事件先对Run和Level的符号编码, 如果Run在码表范围内, 说明幅值绝对值有可能过大, 则对幅值与参考值索引的差值进行E-G编码;如果游程Run超出了码表的范围, 此时需要对幅值减1, 然后再进行E-G编码。对于负值的Level, 当其绝对值在码表范围内时, 具体操作是对其绝对值加1, 然后再进行E-G编码。

从上面分析看出, 2D-VLC查表运算需要根据不同门限值进行查表操作, 通过对VLC码表改造, 节省了存储空间, 但也带来了更多的判断操作, 因此需要合理的安排指令时序实现高效的操作。不同码表间的切换, 需要大量的条件跳转操作, 因跳转语句B需要6个指令周期的延迟, 如何最大程度的在跳转语句后进行无关联并行操作提高编码效率的难点。查表过程中需要将level的绝对值和run的范围进行界定, 从而确定具体码字, 如果将需要的不同常数提前准备好, 在判断使用具体哪个码表时, 就不需要大量的取数据操作, 直接进行比较, 将大大提高效率。又因为C64+有两个数据通路A和B, 通道A和B可以并行执行, 分别用不同的通路独立完成level和run的范围。首先用LDH指令读出level和run的值, 并通过指令CMPEQ与0-6比较判断处于其中哪一个表。根据判断出的值跳转到不同的表内进行下一步操作。表内的操作基本相同, 使用A通道完成对level界定, 用B通道完成对run界定, 通过ADD, CMPLT, MVK, CMPLT和条件判断等基本指令来完成。下面以帧内熵编码为例, 说明采用汇编指令优化的实现过程。将各表跳转的门限常数值预存到通用寄存器, 表1, 3, 5, 7采用A通道及相应通用寄存器, 表2, 4, 6, 采用B通道及相应通用寄存器。因跳转需要周期数较大, 故在此期间将各表需要比较的常数预存到对应寄存器。跳转到各表后, 通过MVK指令将相应的常数赋值到寄存器, 通过CMPLT, CMPLT2及CMPEQ等比较指令确定最后的level和run值, 通过level和run值来确定编码的码字, 完成2D-VLC查表。

2D-VLC查表完成后, 利用指数哥伦布编码对查出来的码字进行处理, 指数哥伦布编码需要求出哥伦布码的长度与阶数。哥伦布码编码完成之后会以二进制的形式逐比特写入码流。为提高运算效率, 可以多次进行并行写码流操作, 以四个字节为单位, 当写入码流的长度达到四个字节时结束操作。写码流的具体流程如图3所示。bs结构体中pos记录写入的比特数, buf保存写入的比特值, tail指向码流输出地址。在C64x+DSP中, 仅有A0-A2和B0-B2寄存器可作为条件判断寄存器, 资源比较少, 且为高效运行, A通道和B通道可并行运行, 因此操作时一般每个通道仅有3个条件寄存器可使用, 这就需要在优化时充分挖掘条件寄存器的潜力, 对条件寄存器使用状态通过转移表的形式标注好状态, 以便更好安排并行运算。当码流赋值给输出地址时, 会出现字节高低位取反的现象, 需要使用SWAP4指令提前进行交换。

3 实验结果及分析

本文中采用TI公司CCS3.3仿真环境中profile性能分析工具评估函数性能。不同的测试序列, 熵编码时间不同, 为测试精确, 对CIF格式各种典型测试序列进行测试, Y∶U∶V为4∶2∶0, 编码100帧。取测试周期数平均值, 每次实验环境相同, C语言实现优化和汇编级优化编译环境设置相同, C语言实现未优化未使用优化编译选项-o3。测试结果如表1所示。

由上述实验结果得出:汇编级优化后量化所需时钟周期数是未优化的7.73% (762÷9856) , 是C语言优化的17.622% (762÷4325) ;反量化需要的周期数是未优化的7.31%, 是C语言优化的13.93%。由此可见, 优化效果显著。

4 结论

本文主要研究了DSP平台VLIW和打包数据处理的优化方法, 采用此法对AVS ZIG-ZAG扫描、2DVLC查表和指数哥伦布编码进行汇编级优化, 减少了AVS编码器实现时间, 能使AVS算法在DSP实现时延时更小。

摘要:AVS标准中, 熵编码模块是比较耗时的模块, 对其优化可以提高整个编码器的编码速度。DSP平台片内存储器空间较小, 为此本文对AVS熵编码算法模块进行分析, 提出了一种使用较少存储空间来存储码表的方法。以TI公司C64x+DSP为例, 介绍了超长指令字和打包数据处理结构特性, 并分析了基于这些特性的AVS熵编码的快速实现方法。利用TI公司的仿真工具CCS3.3提供的性能分析工具对汇编级优化的效果和C语言级优化的效果进行比较, 帧内熵编码模块汇编级优化效果所需时钟周期约为C语言级优化周期的17.62%, 帧间熵编码模块汇编级优化效果所需时钟周期约为C语言级优化周期的13.93%。

关键词:超长指令字,打包数据处理,ZIG-ZAG扫描,熵编码

参考文献

[1]GB/T 200090.2-2006, 信息技术先进音视频编码, 第2部分:视频[S].2006.

[2]Wand Qiang et al, Context-Based 2D-VLC Entropy Coder in AVS Video Coding Standard, J.Comput.Sci&School, 2006, 21 (3) :315-322.

[3]李学明, 李继.用超长指令实现DCT的新算法[J].电子学报, 2003, 33 (7) :1074-1077.

[4]刘广, 肖创柏, 欧阳万里, 等.基于VLIW的汇编级FDCT和扫描量化优化算法[J].计算机工程与应用, 2006, 43 (3) :59-62.

[5]TMS320C64x+DSP Megamodule Reference Guide (SPRU871K) [Z].2010.

AVS编码器 篇7

关键词:GPU,视频编码,GOP级的并行编码,CUDA

1 引言

AVS (Audio Video coding Standard, 音视频编码标准) 是由我国自主制定的、享有自主知识产权的第二代信源编码技术标准。2006年2月, 国家标准化管理委员会正式批准AVS的第二部分 (AVS1-P2) 即视频部分为国家标准。AVS视频标准的编码效率比以前的MPEG4等视频编码标准的编码效率高。

H.264/AVC视频编码标准的压缩效率非常高, 但是H.264/AVC的这种高压缩效率的获得却是以较高的计算时间复杂度为代价的, 而且H.264编码算法在CPU上展开了大量的优化策略, 技术上也已经非常成熟, 因此, 研究人员开始探索其他一些能提高压缩编码效率的方式。近些年来, 由于图形硬件的飞速发展和更新, GPU (Graphic Processing Unit, 图形处理器) 的计算速度也在不断地提高, 此外它还拥有非常强大的并行计算能力与浮点运算能力。2007年6月, NVIDIA公司推出了CUDA (Compute Unified Device Architecture, 统一计算设备架构) 编程模型, 该模型在利用GPU的通用计算资源上更加地充分合理[1]。而目前的PC机在实时编解码高清晰视频时, 其处理器要承担的压力非常大。因此研究以CUDA为基础的视频编解码, 对于编解码时计算时间的减少、整个编码性能的提高等方面都有着非常重要的现实意义。

2 解决方案

无论是音视频编码技术自身还是该产业的应用背景在经过了十几年的发展之后, 都有了许多明显变化, 很多新的方法相继提出。目前音视频产业领域有四个信源编码标准可供选择, 它们分别是:MPEG-2、MPEG-4、MPEG-4 AVC (简称AVC, 也称JVT、H.264) 、AVS。按制订者来划分, 前三个标准是由MPEG专家组发展制订的, 第四个标准是我国自主制订的。按发展阶段划分, 第一个标准属于第一代信源标准, 其余三个标准皆为第二代信源标准。按编码效率这一主要技术指标进行比较:MPEG-4的编码效率是MPEG-2编码效率的1.4倍, AVS和AVC的编码效率相差无几, 都是MPEG-2编码效率的两倍多[2]。

随着显卡的进一步发展以及越来越多的开发人员参与到GPU的并行计算开发中来, GPU的并行计算能力和访存带宽的速度都有了很大的提高, 而且在显示图像时GPU还做一些了优化处理, 它的计算能力实际上已经超越了通用的CPU[3]。如此强大的芯片如果只是拿来作显卡的话未免太过大材小用了。因此, NVIDIA公司推出了CUDA架构, 它使显卡除了用于图像计算以外还有其他的功能。GPU的专长在于密集型数据的处理和并行计算, 所以在需要大规模并行计算的领域里CUDA可以大显身手。通用GPU已经能够达到十万的线程数量级, 因而, 提高GPU的并行计算效率对于提升GOP级的并行计算能力意义重大。

3 实现方案

3.1 ASV原理分析

如图1所示AVS编码器的系统结构。不难发现, AVS使用的是一种混合编码框架, 其中结合了预测和变换技术, 这与H.264的编码结构非常相似。图像类型定义为I帧、P帧、B帧三种, 其中I帧的编码模式只能是帧内编码, P帧和B帧的编码模式可以是帧间编码模式和帧内编码模式, 两者区别在于P帧是前向预测编码帧, 而B帧是双向预测编码帧。码流结构从高到低的语法层次依次为:序列、图像、条带、宏块、块[4]。在这方面上, AVS与MPEG2较为类似。AVS1-P2中, 块的尺寸大小为8×8。原始的视频信号在进入编码器后, 编码器将根据配置参数对当前帧是进行I帧、P帧还是B帧的编码做出判断。若当前帧是I帧, 则只能选择帧内编码模式。帧内编码只需要参考当前帧中重构后的宏块信息而不需要其他帧的已编码信息作为参考。进入编码器的一个新的块和经过帧内预测出来的预测块做减法运算得到残差, 再进行变换、量化过程将残差变为量化系数, 该量化系数再通过zig-zag扫描成为一维量化系数, 最后经过熵编码就能得到编码了的码流。此外, 在熵编码前, 通过反量化和反变换等过程, 就能使得已经量化了的信息得以重构这个块, 并在缓存中存储作为后续图像或块编码的参考帧[5]。如果是P帧, 则可以有三种编码模式:SKIP模式、帧内模式和帧间模式。官方参考模型是让P帧遍历以上三种模式, 通过计算率失真代价, 得到一种最优的编码模式。与I帧相同, P帧的帧内模式也是以视频序列时间上的相关性为基础的, 通过参考最近解码后的I帧或P帧使当前待编码宏块得到残差, 再经过变换、量化和熵编码步骤得到码流。AVS中P帧数量的最大参考值为2。P帧中块在SKIP模式下编码后的残差为0, 因此只需传输代表SKIP模式的信息, 就可以得出预测的运动矢量。AVS中的B帧一样有以上三种编码模式:SKIP模式、帧内模式和帧间模式。但B帧的帧间预测模式是双向的, 包含有对称模式 (symmetric mode) 和直接模式 (direct mode) 两种, 这是B帧与P帧的不同之处。

3.2 GOP级并行编码算法

图像群组 (Group of pictures, GOP) 是一组连续图像, 这些图像来源于以MPEG编码的影片或者视讯串流内部。

图像群组可包含的图像类型如下:

●I-图像/画格 (intra coded picture, 节点编码图像) 参考图像, 与一个固定影像类似, 并且与其它的图像类型相独立。每个图像群组以此类型的图像作为开始。

●P-图像/画格 (predictive coded picture, 预测编码图像) 包含来自之前的I-画格或P-画格的差异资讯。

●B-图像/画格 (bidirectionally predictive coded pictures, 前后预测编码图像) 包含来自之前和/或者之后的I-画格或P-画格的差异资讯。

●D-图像/画格 (DC direct coded picture, 指示编码图像) 用于快速进带。

假设有两个B帧, 每个GOP可排成IBBPBBP…序列, 且一直到视频结束都将会保持这一排列顺序。IDR图像是GOP的第一个图像, 且都是I图像, 一个GOP只能有一个IDR图像, 而IDR图像以后的图像在进行解码时决不会引用IDR图像之前的图像数据, 这就使得GOP之间的并行有了可能。

编码效果的好坏与GOP的长度大小相关。一定的范围内, GOP的长度值越大, 每个图像组中能有更多的B帧和P帧, 因而压缩编码效率也越高。但是GOP的值也不能取过大, 因为会导致编码质量不高, 特别是对于场景切换或运动较为剧烈的视频序列的情况。此外, 一个GOP中如果出现了严重的丢包现象或者是由其他原因导致的数据错位问题, 为减少误码的发生, 只有通过获得重新同步, 因此要折中考虑GOP的长度值。

GOP的优点:

①可扩展性强:能根据硬件情况适当调整并行线程数。

②线程开销小:整个并行程序的运行过程只需进行一次Fork, 由频繁派生、合并线程导致的性能损失在很大程度上得到了减少。

③加速比高:如果各个线程的负载能够平衡, 那么加速比会比较高。

④易于实现:每个线程都有比较大的任务量, 线程间无需频繁的进行数据同步, 程序实现较为容易。

在开始编码视频序列前, 要将其分为多个GOP, 且每个GOP都要分配一个线程进行编码。编码完成后回到主线程, 再完成数据同步并且输出AVS码流。对于非实时编码来说, 最好的选择是GOP级并行, 一方面因为GOP级并行对目标码流的PSNR、码率等各项指标不会造成影响, 另一方面由于GOP之间没有相关性, 且编码器能对序列中的任意帧进行随机访问, 因此在编码前对帧序列的划分可根据GOP长度大小。划分帧序列后, 依据GOP的多少来设置线程的数量。而要实现GOP级并行, 编码过程必须要在原始图像序列数满足GOP的长度后才能进行, 所以在对实时性有很高要求的应用场合, 比如在远程机器人控制、视频会议系统等情况下, GOP级并行显然无法满足要求。

3.3 GPU并行计算模块实现原理

原有的变换编码采用了整数DCT变换, 根据之前确定的实现方案, 笔者方案的具体实现按照如下的流程图进行, 如图3所示:

主机端在运行函数后得到关于当前块的残差宏块矩阵。然后程序将检测GPU加速是否已由该编码器幵启, 或者该客户端是否有可编程GPU。如果得到检测结果为编码器没有开启GPU加速, 或者无可编程GPU, 则编码流程将按照常规的步骤进行串行编码, 然后得到--个返回值dc[6], 即为变换后的8x8矩阵。如果检测结果是编码器己经幵启了GPU加速并且该客户端有可编程GPU, 则将进行Device端编码, 也即GPU编码。该编码流程主要分为以下几个步骤: (1) 在主机端的内存上为8x8矩阵分配空间; (2) 将主机端的代码复制到设备端GPU的显存上:这样我们就在设备端GPU上得到了大小为8x8的Md矩阵, 也即残差宏块矩阵; (3) 分配Grid和线程Thread, 该部分是在主机端分配的, 也即指令流需要由CPU产生, 然后来操作GPU的行为; (4) 核心计算Kernel代码; (5) 将计算的结果返回。

而在设备端GPU上, 也存在正变换和反变换两次变换。对于设备端GPU的变换代码, 有以下流程, 设备端变换编码并行实现流程图如图4:

由图4, 当设备端GPU收到开始计算的指令后, 首先做准备工作, 即声明常数变量DCT[6], 用来存放整数变换核;之后进行如下的计算工作。该步骤的意义在于每一次的计算过程中整数变换核会被调用, 存有常数变量则可减少数据的流量和调用的次数, 为GPU与CPU的交换省下了带宽。

4 测试结果及分析

系统设计流程图如图5所示:

测试环境为:

表1给出了本文方案与CPU方案的在性能上的对比, 不难发现, 本文方案的编码速率相比CPU方案有了很大的提升, 同时, 编码质量也比较好, 从而实现了高清视频编码的效果。

5 结束语

本系统为GOP级的并行编码算法, 它利用可编程GPU以及相应的计算统一设备架构CUDA对基于AVS标准的编码器进行加速, 实现了一个基于GPU的AVS并行编码器。与基于CPU上的AVS并行编码器相比, 它在保证了视频图像质量同时, 也在很大程度上提高了编码的速率。

参考文献

[1]王涛.AVS视频解码器C语言建模研究[D].天津:天津大学, 2008.

[2]陈志波.H.264运动估值4网络视频传输关键问题研究[D].北京:清华大学, 2003.

[3]甘新标, 沈立, 王志英.基于CUDA的并行全搜索运动估计算法[J].计算机辅助设图形学学报, 2010, 22 (3) :457-460.

[4]张舒, 褚艳利.GPU高性能运算之CUDAIM][M].北京:中国水利水电出版社, 2009:2-141.

[5]AVS工作组.视频编码标准AVS技术介绍[J].电子产品世界, 2005, (10) :58-62.

AVS解码器环路滤波的优化及实现 篇8

AVS是我国第一个自主音视频编解码标准,与该领域其他国际标准如MPEG-4、H.264相比,AVS解决了专利问题,其编码效率与H.264相当,且本身具有高效率低复杂度等诸多优点,使得AVS具有广阔的应用前景。

基于DSP平台实现的视频编解码器开发周期比较短,同时具有很大的灵活性,能很好地满足目前市场实际应用和具体特性需求。TMS320DM6446是TI公司专门为多媒体领域应用而开发的高性能定点DSP[1],其内核具有2个数据通道、8个独立的功能单元,采用超长指令集结构(VLIW),每个时钟周期最高可并行处理8条32位指令。本文通过分析AVS环路滤波算法的特点,首先对算法的实现进行了结构上的调整,又对其部分代码采用手工汇编进行优化,在保证解码质量的前提下,显著地提高了解码速度。

1 AVS解码器介绍

AVS与H.264/AVC等其他国际主流压缩视频标准类似,采用基于块的混合编码框架,解码器主要包括解析和解码两部分,其中解析部分包括熵解码、整数反DCT变换等模块,解码部分主要包括帧间预测、帧内预测和环路滤波模块,如图1所示。

编解码器反变换量化后图像会出现方块效应[2],且块效应可能会出现在每个宏块的边界上,为了有效去除这些方块效应,达到较高质量的图像效果,要在重建帧之前,对码流采用自适应环路滤波,控制解码误差的累加和扩散,因此处理好环路滤波对AVS 解码器的性能至关重要[3]。

2 环路滤波原理

AVS解码器中的环路滤波以88宏块为单位进行[4],除图像边界和条带边界不需要滤波,所有宏块都应以8×8宏块为单位按照光栅扫描顺序依次处理,先从左到右对垂直边界滤波,再从上到下对水平边界滤波的顺序对边界做环路滤波。每个宏块对亮度和色度分别进行环路滤波[5],如图2所示(4∶2∶0格式)。每个8×8亮度块之间都存在一个边界强度,用Bs表示,对应位置块的亮度边界强度Bs和色度块的边界强度Bs相同,如图2所示(4 ∶2 ∶0格式)。且边界滤波分为垂直和水平边界的亮度和色度滤波,由Bs值决定边界滤波的强度,Bs可取值0,1,2,根据局部样本值的特性,对应的边界滤波情况分别为不滤波、标准滤波、强滤波。

注:①粗实线为垂直边界,粗虚线为水平边界;BsH表示水平方向的滤波,BsV表示垂直方向的滤波。

AVS环路滤波以8×8块为单位进行,图3表示边界两侧的p块和q块在水平或垂直方向的6个样本点。利用边界附近的6个像素点对边界进行修正,亮度最多需要修正4个样本值,即p0,p1,q0,q1。色度最多需要修正2个样本值,即p0,q0。

注:①粗线条为边界。

在对边界块进行滤波处理时,如果在DCT边界上,正好是图像的边界,若不加以判断,就会误认为是方块效应,这样一来会产生新的误差,导致图像的质量下降,所以要先对边界判断。若是真实边界,则不进行滤波处理;若是伪边界,根据滤波强度来选择不同的滤波方式和滤波系数进行滤波处理。因此环路滤波主要分为三部分:边界阈值推导过程、边界滤波强度推导过程、边界滤波过程。

3 在DSP上的优化分析及实现

由 AVS视频标准可知,在整个自适应环路滤波过程中,需要在每个像素滤波前进行是否滤波判断,还要以大量条件判断来选择像素点的具体滤波过程,所以算法复杂度高,运算量很大,且滤波过程中,其对于数据的访问也比较繁琐,严重影响了代码的执行效率。本文就是在C代码优化的基础上,在不影响图像质量的情况下,对滤波过程在这部分代码用手工汇编实现,提高滤波速率,达到实时解码的要求。

考虑到边界滤波是对亮度和色度分别作环路滤波,滤波顺序为先垂直后水平,且在DSP上进行垂直滤波和水平滤波时,对边界样本值的读取和经过滤波修正后的样本值的存储方式差别较大,为了减少数据访问,本文先对当前宏块进行垂直边界滤波,再进行下一宏块的解码,在下一宏块的垂直边界滤波之前进行当前宏块水平边界滤波,即采取垂直边界和水平边界的滤波分开进行的方式。整个宏块在滤波完毕后再将宏块样本值输出到片外存储器,这样就节省了一次对片外整帧数据的存储,大大节省了环路滤波所需的时间。利用这种思想本文将DSP上的环路滤波过程分为4种模式分别进行环路滤波,即亮度垂直模式、色度垂直模式、亮度水平模式和色度水平模式。滤波流程为:先确定8×8宏块边界的Bs值,再判断是亮度还是色度,最后根据这些信息选择具体的滤波模式。写汇编时,要考虑DSP自身的特点,使其硬件资源得到最大限度的利用,且使代码的运行速度和尺寸处于最佳折中点。采用并行执行的方法来减少循环内的执行周期数,充分利用2个数据通道,2个数据交叉通路,8个独立的功能单元,通过调整指令顺序填充NOP延迟间隙,提高代码性能。

本文实现了I帧滤波的汇编优化,I帧(Bs=2)滤波流程如图4所示,其中P0,P1,Q0,Q1分别为样本值p0,p1,q0,q1修改后的值,色度不需要对p1,q1进行修改。

这里以I帧色度滤波为例,具体说明手工汇编优化的实现过程。

I帧色度水平滤波模式的具体实现如下:

1) 读取数据,因为待滤波的像素值是8位的重构数据,采用C64X+特有的双字指令LDNDW完成参考样本的读取,完成以上16个字节的读取,即1次完成8个像素点的取值,只需6次便可读取滤波一次所需要的全部像素点,充分利用A,B两个数据通道和并行执行的特点,同时处理8个像素点,0~3像素点主要A通道来完成,4~7像素点主要由B通道来完成。

2) 滤波边界判断,为了同时实现一行8个像素点的滤波,达到像素级修正的同时,充分体现DSP的并行处理能力,需要对αβ进行打包处理,利于并行处理和软件流水的实现,便于在嵌入式系统进行优化。用SUBABS4,CMPLTU4指令实现样本边界滤波判断,且对其值用XPND4指令进行位扩展。

3) 滤波具体过程的实现,先实现α>>2,再对其进行打包处理,最后用ADD4,SUBABS4,CMPLTU4等指令来实现4个像素点的滤波过程判断,且对其值进行位扩展,不同条件下得到的P0和Q0的值主要由双操作指令ADD4和AVGU4实现。

4) 利用步骤2)和步骤3)过程中所得的判断值和AND,NOT,ADD4等指令实现具体像素点的P0和Q0值的修正,0~3像素点P0的实现过程如图5所示,最后用STDW指令将修正后的像素值存入寄存器中即可。

I帧色度垂直滤波模式,在对数据读取和存储上与色度水平滤波模式是不同的,且读出数据后,要对数据进行转置,具体实现过程与色度水平滤波模式类似,这里不再详述。

4 优化结果及分析

使用集成开发环境CCS3.3对所写代码进行验证,且用其提供的剖析工具profile性能分析工具来估计函数的性能。图6显示了在相同的输入数据和相同的硬件资源配置下,C代码和手工汇编实现的I帧耗时分析图。图中AVS_deblockuvih.asm,AVS_deblockuviv.asm, AVS_deblockyih.asm, AVS_deblockyiv.asm分别为I帧滤波的色度水平模式、色度垂直模式、亮度水平模式和亮度垂直模式的汇编程序,EdgeLoop_I_uv, EdgeLoop_I_y分别为I帧滤波色度、亮度的C程序。

观察图6可知,在4∶2∶0模式下,用C实现的I帧环路滤波过程十分耗时,而通过编译器优化和汇编优化后的,I帧亮度(16×16块即4个8×8块)和色度(8×8块)滤波周期都明显大幅度减少,极大地提高了运算速度,缩短了代码执行时间。

5 结论

本文通过分析AVS 环路滤波算法,对算法的实现进行了结构上的调整,又对I帧环路滤波采用手工汇编,实现了像素级的优化,在保证解码质量的前提下,显著提高了解码速度,达到AVS解码器在TMS320DM6446上实现实时解码的要求。

摘要:AVS编解码器采用环路滤波去除块效应来提高图像质量,而环路滤波复杂度高、运算量大,且滤波过程数据访问频繁,严重影响了代码的执行效率。为提高解码速率,通过分析滤波算法特点,调整滤波结构,优化滤波算法,部分代码采用DSP汇编语言。结果表明与传统的C相比,缩短了代码运行时间,提高了执行速度,达到实时解码的要求。

关键词:AVS,环路滤波,汇编

参考文献

[1]李方慧,王飞,何佩琨.TMS320C6000系列DSPs原理与应用[M].2版.北京:电子工业出版,2003.

[2]毕厚杰.视频压缩编码标准——H.264/AVC[M].北京:人民邮电出版社,2005.

[3]杨怀省.基于DSP平台的AVS自适应环路滤波的研究与实现[J].电子器件,2008,22(3):41-44.

[4]AVS工作组.GB/T20090.2—2006,信息技术先进音视频编码第二部分:视频[S].2006.

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【AVS编码器】相关文章:

AVS编码标准06-16

编码器软件07-11

自动编码器07-28

编码器实验小结04-28

编码器知识小结05-03

RS编码器05-08

光电脉冲编码器06-16

全新的视频编码器06-26

小波视频编码器08-12

编码教案04-18

上一篇:发展加油站便利店下一篇:FDI环境规制