H.264.AVC双模式二进制编码器的高性能体系结构_第1页
H.264.AVC双模式二进制编码器的高性能体系结构_第2页
H.264.AVC双模式二进制编码器的高性能体系结构_第3页
H.264.AVC双模式二进制编码器的高性能体系结构_第4页
H.264.AVC双模式二进制编码器的高性能体系结构_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、H.264/AVC双模二进制编码器的高性能体系结构 李xx指导老师:xxx1基本概念H.264/AVCH.264/AVC高度压缩数字视频编解码器标准是由ITU-T和ISO/IEC联合开发的,定位于覆盖整个视频应用领域,包括:低码率的无线应用、标准清晰度和高清晰度的电视广播应用、Internet上的视频流应用、传输高清晰度的DVD视频以及应用于数码相机的高质量视频应用等等。ITU-T给这个标准命名为H.264(以前叫做H.26L),H.264因其是蓝光碟片的一种编解码标准而著名,所有蓝光碟片播放器都必须能解码H.264。而ISO/IEC称它为MPEG-4 高级视频编码(Advanced Vide

2、o Coding,AVC)。很明显,作为MPEG-4高级简洁框架(ASP)的MPEG-4 AVC优于当前的MPEG-4视频压缩标准。2基本概念H.264配置(Profile)最低最低ProfileProfile( (Baseline ProfileBaseline Profile) ) 支持I/P帧,只支持逐行扫描(Progressive)和CAVLC扩展扩展ProfileProfile( (Extended ProfileExtended Profile) ) 支持I/P/B/SP/SI帧,只支持逐行扫描(Progressive)和 CAVLC主要主要ProfileProfile( (Mai

3、n ProfileMain Profile) ) 提供I/P/B帧,支持逐行扫描(Progressive)和隔行扫描 (Interlaced),同样提供对于CAVLC和CABAC的支持高端高端ProfileProfile( (High ProfileHigh Profile) ) 在主要Profile的基础上增加了8x8帧内预测、自定义量 化、无损视频编码和更多的YUV格式3H.264 / AVC在日益增加的计算复杂度成本方面,展现了比其它视频压缩方案更为显著的优势。硬件视频编码器的效率依赖于嵌入在处理路径中的所有模块。提出的H.264 / AVC的二进制编码器,它是视频编码器的最后阶段的结构

4、。该模块符合H.264 / AVC 高端 Profile,并支持两个二进制编码模式:上下文自适应二进制算术编码(CABAC)和上下文自适应可变长度编码(CAVLC)。因为两种编码模式共享相同的逻辑和存储原理,所以该结构可以节省大量的硬件资源。4本设计为高端Profile的H.264 / AVC二值化体系结构设计。此设计支持所有色度格式,宏块级自适应(MBAFF)编码,以及88变换。二值化单元嵌入了CAVLC模式和CABAC的二值化处理的所有功能。二值化单元通过CABAC引擎的一个专用接口进行通信。这两种模式的硬件资源共享使成本要低得多。此外,常见的输入输出接口可以很容易地把设计输入到硬件视频编

5、码器。5内容提要l算法算法l二值化结构二值化结构lCABACCABAC结构结构l结构评估结构评估l总结总结6算法H.264 / AVC的两种模式被用于二进制编码:上下文自适应二进制算术编码(CABAC)和上下文自适应可变长度编码(CAVLC)。对于同样的计算复杂度,CABAC模式提供了更高的压缩效率。7算法 二进制编码器的原理框图89算法NALl 对给定的非二进制重要语法元素的表示必须接近于最小冗余编码。二值化器开发几个基本代码树,其结构能够使所有码字完成简单的在线计算,而不需要存储任何表格。l 基本树包含以下代码:一元(U)码,截断一元(TU)码,指数哥伦布码,K阶指数哥伦布(EGK)码和固

6、定长度(FL)代码。l在CABAC模式,有针对宏块和子宏块的类型定义的五个特定的二进制树。在CAVLC模式中,一些语法元素必须先转换为一个无符号数,然后才能映射成指数哥伦布表示。算法10对编码残留数据来说,CAVLC是CABAC一种低低复杂度的替代品。因为这些数据包括码流的大部分数据,利用它们之间的相关性显著提高了压缩效率。该模式在以下五种语法元素的类型在下进行处理:(1)对于亮度块,非零系数和拖尾系数通过使用四个查找表被编码为一个元素(3 个VLC表和1个6位的固定编码表,每一个都具有64项)。这些表是根据相邻44块中非零系数的数目被自适应选择。此外,还有用于色度块的三个附加表。算法11(2

7、)符号编码不需要上下文建模,因为每个非零系数一个位就足以传达此信息。(3)每个系数级别的代码是由一个前缀和后缀组成。后缀的长度初始化为0或1,每当连续的水平超过预定临界值,后缀的长度就会增加。即后缀的值在高频率传递给低频率时增加。(4)参考一些VLC表,在编码顺序中,全部的零值系数(total_zeros)在最后一个非零系数之前。根据早先编码的非零系数的数目选择一个表。(5)零值的数目在每个以相反的顺序编码的非零系数(run_before)之前。算法12CABAC模式中上下文的形成CABAC保持460460个概率模型来提高编码效率。每种类型的语法元素对应于一组指向不同的上下文标签的概率模型。每

8、个模型是一个有限状态机(FSM),它包含了高概率符号(MPS)的值和低概率符号(LPS)的概率。这两个变量是根据量化参数(QP)并参照初始化设置和帧类型来初始化。有限状态机根据预定义的适应规则更新。算法13算法H.264/AVC二进制编码器的原理框图14概率区间的递归细分算法15二值化结构 H.264 / AVC的二进制编码器的体系结构中嵌入二值化单元作为足以支持在CAVLC模式和在CABAC模式中执行二值化的一个部分。二值化单元中嵌入4个流水线阶段。大部分被引入到结构中的寄存器,被两个编码模式共用。16二值化结构1718二值化结构在CAVLC模式中,第一阶段也对上侧和左侧相邻块的非零系数的总

9、和进行了参照(即,确定上下文)。参照的数字用来计算被传递到第二阶段的平均值(在标准中被称作nC)。由于MB导向的处理,4个44块的寄存器包含到每两个MB的边缘。当处理一个MB时,寄存器随着非零系数的数量而更新。特别是,非零系数的数目刚被映射到的二进制字符串,它就改写两个四位边缘寄存器。实际上,相同的寄存器先作为参考,然后用来访问重写。除了根据颜色成分,它们还根据水平(上边缘)和垂直(左边缘)坐标被选择。因此,当MB完成时,寄存器保持值为准备状态来供右侧和下侧的MB使用。二值化结构19虽然对于CABAC,上下文生成规则与CAVLC不同,但是能够在两种模式下共享存储元素是可能的。因此,在CABAC

10、的模式中,结构保持运动向量的差异,而不是在邻近寄存器和芯上存储器中的非零系数的差异。然而,存储空间会被加倍,因为4个6位的MVD可用于最小的44分区。然而,共用使硬件资源有限的减少。此外,选择和寻址的支路对两种模式来说都是共同的。二值化结构2021二值化结构第二阶段使用一套由组合逻辑实现的基元映射语法元素到其二进制表示。对于给定的语法元素,若其表示与二值化结果相同,语法元素就被旁路。该基元支持在CABAC模式下使用:一元、指数哥伦布、宏块和子宏块模式。对于系数和运动矢量,使用一元和指数哥伦布级联的二值化编码,通过参照两个连续的时钟周期中的每个模式来完成。CAVLC模式不利用级联的二值化模式,但

11、其需要两个时钟周期来完成指数哥伦布映射,保持数据流的规律性,节省硬件资源。映射是由算术运算或查找表进行。二值化字符串和控制信息分别被写到32位和8位的缓冲器中。二值化结构2223二值化结构第三阶段传送第二阶段两个路径之一产生的所有代码串。第一路径支持CABAC模式,组合一个语法元素及控制数据的二进制表示,并转换成16位的字,并将其提交给上下文格式化程序,每个语法元素以特定的方式分配位,如下图所示。第二条路径支持CAVLC二值化模式,级联的代码串形成码流,转换器依据代码串的长度增加,减少传送到下一阶段的位(8字节单元)的数目。(第二路径也用在CABAC模式下)二值化结构2425二值化结构第四阶段

12、结合二值化和CABAC路径产生的末流,封装成抽象层单元。注意,根据选择的模式和处理的状态,数据一次只接受一个路径。封装相当于在每个条带和序列/图像数据头的首部增加一个字节的数据头和起始码字节的序列。输出缓冲器通过在7字节的缓冲区追加新数据来把码流调整为4字节字。最后NAL单元通过32位输出端口被释放。二值化结构26CABAC路径的结构包含三个独立的通道。此特点支持编码INTER条带,每个通道可以独立执行算术编码。在INTRA压缩编码模式中,只有一个通道被激活。CABAC结构27一个专用模块允许所有必要概率状态的初始化先于提交输入的符号。在编码期间,所有通道对INTER条带平行工作,而初始化的三

13、个通道依次进行。在帧内模式,只有一个通道被初始化。CABAC结构28产生的码流被存储在缓冲器中。需要注意的是一个缓冲的码流是根据从每个信道释放的位数被选择的。选择执行时根据缓冲器的大小产生一定的延迟。CABAC结构29CABAC结构30CABAC结构31CABAC结构32CABAC结构33 (a)能够同时编码一个旁路模式符号与常规符号的架构的附加流水线阶段(b)能够同时编码3个旁路模式符号与常规符号的架构的附加流水线阶段CABAC结构34仿真。结构评估35结构评估36结构评估37结构评估38该结构以不同配置的FPGA和ASIC技术被合成。配置选项允许和支持压缩模式的选择,即CABAC,CAVLC,MBAFF通道的选择。支持两个二进制编码模式的二值化单元的配置,比两个单独的引擎消耗的资源少。该设计可以对允许用于HDTV的频率进行操作。五个CABAC结构硬件资源的使用和吞吐量总结于表中。每个与基本一符号版本相关的改进在硬件资源的消费方面允许更高的吞吐量。结构评估39CABAC结构的主要差别如下:1)上下文格式化器和二值化器的不同结构2)CABAC中更优的流水线3)三个通道4)32位输出字就吞吐量/资源比率来说,在相同的时钟周期内,该结构能够处理两个常规符号和旁路模式符号效率是最高的。结构评估40所提出的二进制编码器的结构是基于流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论