虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

编码优化

  • H.264解码算法优化及在ARM上的移植

    在信息化发展的当前,音视频等多媒体作为信息的载体,在社会生活的各个领域,起着越来越重要的作用。数字视频的海量性成为阻碍其应用的的瓶颈之一。在这种情况下,H.264作为新一代的视频压缩标准,以其高性能的压缩效率,成为备受关注的焦点和研究问题。H.264通过运动估计/运动补偿(MP/MC)消除视频时间冗余,对差值图像进行离散余弦变换(DCT)消除空间冗余,对量化后的系数进行可变长编码(VLC)消除统计冗余,获得了极高的压缩效率。随着嵌入式处理器性能的逐渐提升和3G网络即将商用的推动,H.264以其优秀的压缩性能,无论是无线信道传输方面,还是存储容量有限的嵌入式设备都具有广阔的应用前景。 但H.264在提升压缩性能的同时付出的代价是算法复杂度的成倍增加,实际应用中人们对视频解码的实时性要求严格,已出现的对应算法代码多基于PC通用处理器实现,而嵌入式设备的主频和处理能力仍然相对有限,存储容量相对较小,总线速率相对偏低,因此必须对标准对应算法进行优化移植,才能满足实际应用的需求。 本文在对H.264标准及其新特性进行详细介绍后,重点研究了在解码端如何针对解码耗时较多的模块进行改进,然后将算法移植到ARM平台,并针对平台特点作出相应优化,最后完成解码图象显示,并给出了测试结果。本文主要完成的工作如下: 详细分析了H.264的参考软件JM中解码流程,并利用测试工具分析了各模块耗时,针对耗时较多的模块如插值运算及去块滤波模块,提出了对应的改进算法并在H.264的参考软件JM86上进行了实现,PC测试实验证明了算法改进的优越性和运算优化的可行性。最后针对ARM平台,在对程序结构和对应代码进行优化之后,将其移植到WINCE系统之下,同时给出了WINCE平台解码后图象加速显示方法,并对最终测试结果与性能做出了评价。

    标签: 264 ARM 解码 算法优化

    上传时间: 2013-06-04

    上传用户:shijiang

  • 基于ARM和WindowsCE的H264解码器的研究及优化

    随着通信产业的发展,尤其是今年3G牌照的发放,视频业务在移动多媒体方面将会有更加重要的地位,所以在移动终端上实现支持高效视频编码标准的解码功能就成为一项非常有实际意义的工作。 H.264作为新一代的高压缩率的视频标准,凭借其较高的压缩率和优秀图像质量,使得H.264只要利用较小的空间就能存储更多的视频数据,在更低的网络带宽条件下提供更优质量的视频。然而高度的压缩必然付出较高的硬件代价。如何能完成视频良好解码并能节约硬件资源成为研究热点。 考虑到H.264视频编解码的计算复杂度,在硬件选择上一般比较注重高性能处理器的选择。计算目前主流的实现方式包括ASIC的专用集成芯片实现或者是DSP的软件实现。ARM处理器伴随技术的进步,尤其是对支持数字信号处理的功能加强后,在视频编解码领域的应用也越来越广泛。 本文以WindowsCE5.0和S3C2440A嵌入式平台作为H.264解码器的载体,研究的代码版本是t264-src-0.14,主要进行了以下几个方面的工作: 研究了H.264视频压缩标准和它的体系结构,尤其是对解码器部分进行了硬件要求的分析。 深入研究了WINCE5.0和ARM结合的平台特性,根据实际的硬件平台需要,定制了相应的操作系统。 完成了基于T264代码的解码库在WINCE5.0下的移植,并进行了相应的代码和算法的优化并完成了基于WINCE5.0操作系统下播放程序的编写。 通过实验数据证明,在基于单核的ARM芯片中,主要靠软件进行QCIF格式的H.264视频解码从而获得良好播放效果的方法是有效的。

    标签: WindowsCE H264 ARM 解码器

    上传时间: 2013-07-24

    上传用户:myworkpost

  • 一种面向无线视频传感器网络的低复杂度视频编码算法及其在ARM平台上的实现

    随着21世纪的到来,计算机技术,信息处理技术,半导体技术和网络技术不断发展,人类社会进入了信息化时代。与此同时,无线视频传感器网络也得到了突飞猛进的发展,成为当今国际上备受关注的热点研究领域。无线视频传感器网络有着很多的优点和十分广泛的应用前景。在军事,工业,城市管理和监控系统等重要领域都有潜在的使用价值。 无线视频传感器网络有着显著的特征,例如:网络节点能源有限;网络带宽有限;对处理速度要求较高等。由此可见,传统的视频编码标准无法应用于无线视频传感器网络。MPEG-4,H.263,H.264等视频编码标准,全是基于运动估计补偿实现的,计算量十分巨大,在能量,存储空间和处理能力均有限的节点难以实现这类高复杂度的编码算法。 本文针对无线视频传感器网络对视频编码算法的具体需求,提出一种基于运动检测的低复杂度视频编码算法。该算法只对当前编码帧中的运动对象进行编码,并且以面向对象的结构输出码流。实验结果表明,与H.264全I帧编码相比,本文提出的算法编码速度提高了约3倍,编码性能提高了约2dB。与H.264基本档次相比,虽然编码性能略有下降,但是编码速度平均提高了8倍左右。因此,本文提出的算法可以在编码效率和编码速度之间获得很好的折衷,在一定程度上可以满足无线视频传感器网络的需求。 本文选用ALDVK_270作为硬件实验平台。在分析算法结构的同时,结合嵌入式系统的特点,从算法,内存,高级语言和汇编语言等几个方面提出优化方案,最终在ARM嵌入式平台下实现了面向无线视频传感器网络的低复杂度视频编码算法。测试结果表明,与优化前相比,优化后的编码速度有了很大的提高,对于CIF格式的监控视频序列能够满足实时处理的要求。

    标签: ARM 无线视频 传感器网络 复杂度

    上传时间: 2013-07-26

    上传用户:小小小熊

  • H.264帧内预测算法优化及几个重要模块的FPGA实现

    H.264作为新一代视频编码标准,相比上一代视频编码标准MPEG2,在相同画质下,平均节约64﹪的码流。该标准仅设定了码流的语法结构和解码器结构,实现灵活性极大,其规定了三个档次,每个档次支持一组特定的编码功能,并支持一类特定的应用,因此。H.264的编码器的设计可以根据需求的不同而不同。 H.264虽然具有优异的压缩性能,但是其复杂度却比一般编码器高的多。本文对H.264进行了编码复杂度分析,并统计了整个软件编码中计算量的分布。H.264中采用了率失真优化算法,提高了帧内预测编码的效率。在该算法下进行帧内预测时,为了得到一个宏块的预测模式,需要进行592次率失真代价计算。因此为了降低帧内预测模式选择的计算复杂度,本文改进了帧内预测模式选择算法。实践证明,在PSNR值的损失可以忽略不计的情况下,该算法相比原算法,帧内编码时间平均节约60﹪以上,对编码的实时性有较大帮助。 为了实现实时编码,考虑到FPGA的高效运算速度和使用灵活性,本文还研究了H.264编码器基本档次的FPGA实现。首先研究了H.264编码器硬件实现架构,并对影响编码速度,且具有硬件实现优越性的几个重要部分进行了算法研究和FPGA.实现。本文主要研究了H.264编码器中整数DCT变换、量化、Zig-Zag扫描、CAVLC编码以及反量化、逆整数DCT变换等部分。分别对这些模块进行了综合和时序仿真,并将验证后通过的系统模块下载到Xilinx virtex-Ⅱ Pro的FPGA中,进行了在线测试,验证了该系统对输入的残差数据实时压缩编码的功能。 本文对H.264编码器帧内预测模式选择算法的改进,算法实现简单,对软件编码的实时性有很大帮助。本文对在单片FPGA上实现H.264编码器做出了探索性尝试,这对H.264编码器芯片的设计有着积极的借鉴性。

    标签: FPGA 264 帧内预测 算法优化

    上传时间: 2013-05-25

    上传用户:refent

  • JPEG2000标准中算术编码的FPGA设计与码率控制算法的研究

    JPEG2000是由ISO/ITU-T组织下的IECJTC1/SC29/WG1小组制定的下一代静止图像压缩标准,其优良的压缩特性使得它将具有广泛的应用领域。JPEG2000算法非常复杂,图像编码过程占用了大量的处理器时间开销和内存开销,因而通过对JPEG2000算法进行优化并采用硬件电路来实现JPEG2000标准的部分或全部内容,对加快编码速度从而扩展其应用领域有重要的意义。 本文的研究主要包括两方面的内容,其一是JPEG2000算术编码器算法的研究与硬件设计,其二是JPEG2000码率控制算法的研究与优化算法的设计。在研究算术编码器过程中,首先研究了JPEG2000中基于上下文的MQ算术编码器的编码原理和编码流程,之后采用有限状态机和二级流水线技术,并在不影响关键路径的情况下通过对算术编码步骤优化采用硬件描述语言对算术编码器进行了设计,并通过了功能仿真与综合。实验证明该设计不但编码速度快,而且流水线短,硬件设计的复杂度低且易于控制。 在研究码率控制算法过程中,首先结合率失真理论建立了算法的数学模型,并验证了该算法的有效性,之后深入分析了该数学模型的实现流程,找出影响算法效率的关键路径。在对算法优化时采用黄金分割点算法代替原来的二分查找法,并使用了码块R-D斜率最值记忆和码率误差控制算法。实验证明,采用优化算法在增加少量系统资源的情况下使得计算效率提高了60%以上。之后,分析了率失真理论与JPEG2000中PCRD-opt算法的具体实现,又提出了一种失真更低的比特分配方案,即按照“失真/码长”值从大到小通道编码顺序进行编码,通过对该算法的仿真验证,得出在固定码率条件下新算法将产生更少的失真。

    标签: JPEG 2000 FPGA 标准

    上传时间: 2013-07-13

    上传用户:long14578

  • JPEG2000基于位平面扫描的上下文编码的研究和FPGA实现

    JPEG2000是新一代的静态图像压缩标准,它相比JPEG有很多新的特性,如渐进传输和感兴趣区域编码等,因而它具有广阔的应用前景,特别是在数码相机、PDA等便携式设备中。 JPEG2000的核心主要包括小波变换和基于最优化截断点的嵌入式块编码(EBCOT)算法,其计算复杂度远远高于JPEG,完全采用软件方案实现将会占用大量的处理器时间和内存开销,而且速度较慢,实时处理的能力较差。为了推广JPEG2000在便携式产品、消费类电子产品中的应用,打开巨大的潜在市场,研究硬件实现的算法实时处理方案具有重要的应用价值。 EBCOT算法是一个两层的编码引擎,其中的上下文编码的运算量约占到总运算量的50%,是提高编码速度的关键算法之一。由于上下文编码大部分都是逻辑运算,没有复杂的数学运算,但逻辑控制流程复杂繁琐,对存储器访问频繁,采用DSP或者其他的通用处理器通过指令控制实现该算法,未能显著提高编码速度。本文采用FPGA芯片,以电路逻辑的方式来实现该算法并进行优化,在研究和分析了上下文编码算法运算特点的基础上,设计了列判断和交错存储相结合的硬件实现方案,并采用硬件描述语言Verilog在寄存器传输级描述了相应的硬件电路。通过功能仿真和逻辑综合后,所获得的上下文编码模块最大时钟频率为101MHz,且能在130ms内完成对一幅512×512灰度图像的编码,性能比Jasper软件中的实现方案提高了75%。 JPEG2000的一个重要特性是其具有渐进传输的能力,而码流组织是获得渐进传输特性的技术关键。码流组织通过在输出码流中安排数据包的先后顺序来实现渐进传输的目的。本文对JPEG2000中实现渐进传输的机制进行了分析,并研究了码流组织的算法实现。 为了对JPEG2000算法实现进行验证,本文设计了基于FPGA和ARM的验证实验平台,其中FPGA主要完成算法中运算量较大的小波变换、上下文编码和算术编码,而ARM处理器则完成码流组织、数据打包以及和PC机的通信。本文在该平台上对所设计的上下文编码算法和码流组织模块的设计进行了验证,实验结果表明本文设计的算法模块功能正确,并在一定程度上提高了编码速度。

    标签: JPEG 2000 FPGA 编码

    上传时间: 2013-04-24

    上传用户:独孤求源

  • H264AVC的CAVLC编码算法研究及FPGA实现

    H.264/AVC是国际电信联盟与国际标准化组织/国际电工委员会联合推出的活动图像编码标准,简称H.264。作为最新的国际视频编码标准,H.264/AVC与MPEG-4、H.263等视频编码标准相比,性能有了很大的提高,并已在流媒体、数字电视、电话会议、视频存储等诸多领域得到广泛的应用。 本论文的研究课题是基于H.264/AVC视频编码标准的CAVLC(Context-based Adaptive Variable Length Coding,基于上下文的自适应可变长编码)编码算法研究及FPGA实现。对于变换后的熵编码,H.264/AVC支持两种编码模式:基于上下文的可变长编码(CAVLC)和基于上下文的自适应算术编码(CABAC,Context-based Adaptive BinaryArithmetic Coding)。在H.264/AVC中,尽管CAVLC算法也是采用了VLC编码,但是同以往标准不同,它所有的编码都是基于上下文进行。这种方法比传统的查单一表的方法提高了编码效率,但也增加了设计上的困难。 作者在全面学习H.264/AVC协议和深入研究CAVLC编码算法的基础上,确定了并行编码的CAVLC编码器结构框图,并总结出了影响CAVLC编码器实现的瓶颈。针对这些瓶颈,对CAVLC编码器中的各个功能模块进行了优化设计,这些优化设计包括多参考块的表格预测法、快速查找表法、算术消除法等。最后,用Verilog硬件描述语言对所设计的CAVLC编码器进行了描述,用EDA软件对其主要功能模块进行了仿真,并在Cyclone II系列EP2C20F484的FPGA上验证了它们的功能。结果表明,该CAVLC编码器各编码单元的编码速度得到了显著提高且均能满足实时通信要求,为整个CAVLC编码器的实时通信提供了良好的基础。

    标签: CAVLC H264 FPGA 264

    上传时间: 2013-06-04

    上传用户:libenshu01

  • 基于DSPFPGA的H264AVC实时编码器

    H.264/AVC是ITU-T和ISO联合推出的新标准,采用了近几年视频编码方面的先进技术,以较高编码效率和网络友好性成为新一代国际视频编码标准。 本文以实现D1格式的H.264/AVC实时编码器为目标,作者负责系统架构设计,软硬件划分以及部分模块的硬件算法设计与实现。通过对H.264/AVC编码器中主要模块的算法复杂度的评估,算法特点的分析,同时考虑到编码器系统的可伸缩性,可扩展性,本文采用了DSP+FPGA的系统架构。DSP充当核心处理器,而FPGA作为协处理器,针对编码器中最复杂耗时的模块一运动估计模块,设计相应的硬件加速引擎,以提供编码器所需要的实时性能。 H.264/AVC仍基于以前视频编码标准的运动补偿混合编码方案,其中一个主要的不同在于帧间预测采用了可变块尺寸的运动估计,同时运动向量精度提高到1/4像素。更小和更多形状的块分割模式的采用,以及更加精确的亚像素位置的预测,可以改善运动补偿精度,提高图像质量和编码效率,但同时也大大增加了编码器的复杂度,因此需要设计专门的硬件加速引擎。 本文给出了1/4像素精度的运动估计基于FPGA的硬件算法设计与实现,包括整像素搜索,像素插值,亚像素(1/2,1/4)搜索以及多模式选择(支持全部七种块分割模式)。设计中,将多处理器技术和流水线技术相结合,提供高性能的并行计算能力,同时,采用合理的存储器组织结构以提供高数据吞吐量,满足运算的带宽要求,并使编码器具有较好的可伸缩性。最后,在Modelsim环境下建立测试平台,完成了对整个设计的RTL级的仿真验证,并针对Altera公司的FPGA芯片stratixⅡ系列的EP2S60-4器件进行优化,从而使工作频率最终达到134MHz,分析数据表明该模块能够满足编码器的实时性要求。

    标签: DSPFPGA H264 264 AVC

    上传时间: 2013-07-24

    上传用户:sn2080395

  • 基于FPGA的H264视频编码器设计

    随着多媒体编码技术的发展,视频压缩标准在很多领域都得到了成功应用,如视频会议(H.263)、DVD(MPEG-2)、机顶盒(MPEG-2)等等,而网络带宽的不断提升和高效视频压缩技术的发展使人们逐渐把关注的焦点转移到了宽带网络数字电视(IPTV)、流媒体等基于传输的业务上来。带宽的增加为流式媒体的发展铺平了道路,而高效的视频压缩标准的出台则是流媒体技术发展的关键。H.264/AVC是由国际电信联合会和国际标准化组织共同发展的下一代视频压缩标准之一。新标准中采用了新的视频压缩技术,如多模式帧间预测、1/4像素精度预测、整数DCT变换、变块尺寸运动补偿、基于上下文的二元算术编码(CABAC)、基于上下文的变长编码(CAVLC)等等,这些技术的采用大大提高了视频压缩的效率,更有利于宽带网络数字电视(IPTV)、流媒体等基于传输的业务的实现。 本文主要根据视频会议应用的需要对JM8.6代码进行优化,目标是实现基于Baseline的低复杂度的CIF编码器,并对部分功能模块进行电路设计。在设计方法上采用自顶向下的设计方法,首先对H.264编码器的C代码和算法进行优化,并对优化后的结果进行测试比较,结果显示在图像质量没有明显降低的情况下,H.264编码器编码CIF格式视频每秒达到15帧以上,满足了视频会议应用的实时性要求。然后,以C模型为参考对H.264编码器的部分功能模块电路进行设计。采用Verilog HDL实现了这些模块,并在Quartus Ⅱ中进行了综合、仿真、验证。主要完成了Zig-zag扫描和CAVLC模块的设计,详细说明模块的工作原理和过程,然后进行多组的仿真测试,结果与C模型相应部分的结果一致,证明了设计的正确性。

    标签: FPGA H264 视频编码器

    上传时间: 2013-06-11

    上传用户:kjgkadjg

  • 基于FPGA的卷积编码和维特比译码

    在数字通信中,采用差错控制技术(纠错码)是提高信号传输可靠性的有效手段,并发挥着越来越重要的作用。纠错码主要有分组码和卷积码两种。在码率和编码器复杂程度相同的情况下,卷积码的性能优于分组码。 卷积码的译码方法主要有代数译码和概率译码。代数译码是基于码的代数结构;而概率译码不仅基于码的代数结构,还利用了信道的统计特性,能充分发挥卷积码的特点,使译码错误概率达到很小。 卷积码译码器的设计是由高性能的复杂译码器开始的,对于概率译码最初的序列译码,随着译码约束长度的增加,其译码错误概率可达到非常小。后来慢慢地向低性能的简单译码器演化,对不太长的约束长度,维特比(Viterbi)算法是非常实用的。维特比算法是一种最大似然的译码方法。当编码约束度不太大(小于等于10)或者误码率要求不太高(约10-5)时,Viterbi译码算法效率很高,速度很快,译码器也较简单。 目前,卷积码在数传系统,尤其是在卫星通信、移动通信等领域已被广泛应用。 本论文对卷积码编码和Viterbi译码的设计原理及其FPGA实现方案进行了研究。同时,将交织和解交织技术应用于编码和解码的过程中。 首先,简要介绍了卷积码的基础知识和维特比译码算法的基本原理,并对硬判决译码和软判决译码方法进行了比较。其次,讨论了交织和解交织技术及其在纠错码中的应用。然后,介绍了FPGA硬件资源和软件开发环境Quartus Ⅱ,包括数字系统的设计方法和设计规则。再有,对基于FPGA的维特比译码器各个模块和相应算法实现、优化进行了研究。最后,在Quartus Ⅱ平台上对硬判决译码和软判决译码以及有无交织等不同情况进行了仿真,并根据仿真结果分析了维特比译码器的性能。 分析结果表明,系统的误码率达到了设计要求,从而验证了译码器设计的可靠性,所设计基于FPGA的并行Viterbi译码器适用于高速数据传输的场合。

    标签: FPGA 卷积 编码 译码

    上传时间: 2013-04-24

    上传用户:zhenyushaw