正文内容
H.264技术论文
来源:开心麻花
作者:开心麻花
2025-09-18
1

H.264技术论文(精选7篇)

H.264技术论文 第1篇

H.264/AVC标准是由ITU-T和ISO/IEC联合开发的, 定位于覆盖整个视频应用领域, 包括:低码率的无线应用、标准清晰度和高清晰度的电视广播应用、Internet上的视频流应用, 传输高清晰度的DVD视频以及应用于数码相机的高质量视频应用等等。

H.264最具价值的部分无疑是更高的数据压缩比。压缩技术的基本原理就是将视频文件中的非重要信息过滤, 以便数据能够更快地在网络中传输。在同等的图像质量条件下, H.264的数据压缩比能比当前DVD系统中使用的MPEG-2高2~3倍, 比MPEG-4高1.5~2倍。正因为如此, 经过H.264压缩的视频数据, 在网络传输过程中所需要的带宽更少, 也更加经济。

在极低码率 (32-128Kbps) 的情况下, H.264与MPEG-4相比具有性能倍增效应, 即:相同码率的H.264媒体流和MPEG-4媒体流相比, H.264拥有大约3个分贝的增益 (画质水平倍增) 。32Kbps的H.264媒体流, 其信噪比与128K的MPEG-4媒体流相近。即在同样的画面质量下, H.264的码率仅仅为MPEG-4的四分之一。

1.1 H.264的核心技术

1.1.1 帧间预测

运动估计用来确定和消除存在于视频流中不同图片之间的时间冗余。当运动估计搜索是根据过去方向的图片, 那么被编码的图片称为“P帧图片”, 当搜索是根据过去和将来两种方向的图片, 那么被编码的图片被称为“B帧图片”。

为了提高编码效率, 并且包含和分离在“H.264运动估计改良的运动估计”图中的运动宏块, 宏块被拆分成更小的块。然后, 以前或将来的图片的运动矢量被用来预测一个给定的块。H.264/MPEG-4 AVC发明了一种更小的块, 它具有更好的灵活性, 在运动矢量方面可以有更高的预测精度。

1.1.2 帧内预测

不能运用运动估计的地方, 就采用帧内估计用来消除空间冗余。内部估计通过在一个预先定义好的集合中不同方向上的邻近块推测相邻像素来预测当前块。然后预测块和真实块之间的不同点被编码。这种方法是H.264/MPEG-4 AVC所特有的, 尤其对于经常存在空间冗余的平坦背景特别有用。

1.1.3 变换和量化

运动估计和内部估计后的结果通过变换被从空间域转换到频率域。H.264/MPEG-4 AVC使用整数DCT4X4变换。而MPEG-2和MPEG-4使用浮点DCT8X8变换。

更小块的H.264/MPEG-4 AVC减少了块效应和明显的人工痕迹。整数系数消除了在MPEG-2和MPEG-4中进行浮点系数运算时导致的精度损失。

变换后的系数被量化, 减少了整数系数的预测量和消除了不容易被感知的高频系数。这个步骤也用来控制输出的比特率维持在一个基本恒定的常量。

1.1.4 熵编码

在熵编码之前, 44的量化系数必须被重排序。根据这些系数原来采用的预测算法为运动估计或者内部估计的不同来选择不同的扫描类型, 并创建一个重排序的串行化流。扫描类型按照从低频到高频的顺序排序这些系数。既然高频系数大多数趋向于零, 那么利用游程编码就可以缩减零的数目, 从而高效的达到熵编码的目的。

1.2 H.264的基本档次

2003年5月, H.264编码V1版本颁布时, 一共支持3个档次, 基本档次 (Baseline Profile) , 扩展档次 (Extended Profile) 和主要档次 (Main Profile) 。基本档次选用的技术特性有支持I/P帧, 帧场自适应, 闭环滤波, 1/4采样精度运动补偿, 可变块运动估计和CAVLC熵编码。基本档次主要应用于会话业务, 如会议电视, 可视电话。主要档次应支持基本档次的所有技术特性, 同时, 还加入了对于B帧, CABAC熵编码, 宏块级的帧场切换以及自适应加权的B帧和P帧预测。由于加入了CABAC熵编码算法, H.264主要档次的视频压缩效率较之前的基本档次提升的20%, 因此主要应用于HDTV, DVD等视频存储领域。扩展档次不支持CABAC熵编码, 但是加入了对于数据分割的纠错, SP和SI帧, 可变宏块次序等技术特性的支持, 它主要应用于网络视频流传输, 视频点播。H.264编码三个基本档次所选用的技术特性及之间的关系, 如图1所示。

2 H.264新技术展望

2.1 H.264 FRExt (Fidelity Range Extension)

2004年7月, JVT又完成了H.264 FRExt扩展部分的制定工作, 包括High Profile (HP) 、High 10 Profile (Hi10P) 、High 4:2:2 Profile (Hi422P) 、High 4:4:4 Profile (Hi444P) 4个档次。和之前三个基本档次相比, FRExt对于样本数据的位数进行了扩展, 支持每像素点使用8~12位来表示, 同时, 视频采样格式也加入了对于4:2:0、4:2:2、4:4:4的支持。在这4个档次中, 最基础的是High Profile, 它加入了一些新的技术特性, 如支持8*8的整数变换, 支持4*4和8*8的帧内、帧间变换, 支持系数加权, 支持4:4:4、4:4:2、4:4:0和单色编码, 支持整数色彩变换, 支持立体声视频和支持区块效应滤波显示的设置。其他的三个档次都是以High Profile为基础, 并且为逐渐扩展的包含关系。

2.2 新增的4个全I帧档次

2007年, ITU-T在H.264的标准中新增了4个全I帧的档次, 分别是High 10 Intra Profile, High 4:2:2 Intra, High 4:4:4 Intra以及CAVLC 4:4:4 Intra。前三个分别是High 10 profile (Hi10P) 、High 4:2:2 profile (Hi422P) 、High 4:4:4 profile (Hi444P) 的子集, 最后一个CAVLC4:4:4 Intra则仅支持I帧和CAVLC熵编码。以上的这4个全I帧的档次主要应用于一些专业领域, 如摄像机和视频采集系统。

2.3 可伸缩视频编码

由于传统的可分级编码的局限性, 2005年2月, MPEG和VCEG联合把可分级编码 (Scalable Video Coding, SVC) 作为H.264标准的修正, 起草了H.264标准的可分级扩展第一版草案。到2006年9月, 联合视频组已经提出了H.264/AVC的第七版。

在H.264/AVC的可分级视频编码中, 通过使用分级B帧和运动补偿时域滤波技术实现时间可分级, 使用分层的方法实现空间可分级, 使用粗粒度可分级和渐进精细可分级实现质量SNR可分级, 综合三个可分级方法来实现空间、时间和质量SNR的可分级性。

2.3.1 时间可伸缩

在H.264 MPEG-4 AVC的基础上, 时间可伸缩性可以通过MCTF技术和分级B帧实现的。这里主要讨论分级B帧技术。如图2所示, 关键图片 (IDR) 序列的显示分辨率是最低的, 可以根据接受端不同的要求, 在此序列上增加时间域上更高级别的高分辨率图片, 并且传递出去, 从而在接受端显示不同分辨率、不同质量的视频流。

2.3.2 空间可伸缩

为了满足不同用户的需求, 在给定帧的基础上产生不同空间分辨率码流序列, 它们在各自独立的层内编码。为了消除不同空间帧中的冗余信息, 一个增强层的残差信息和运动矢量根据与其对应的基本层预测得到。在预测的过程当中, 因为基本层拥有更低的分辨率, 所以首先读入基本层的残差信息和运动矢量。然后在基础层之上产生一个或多个增强层。增强层的帧间编码宏块的划分方法可以由相关的基本层的对应宏块派生得到, 同样, 其运动矢量也可以通过比较和计算其对应的基本层的宏块的运动矢量而得到。

2.3.3 质量/信噪比可伸缩性

包括了两种模式, 基于嵌入式量化方法的粗粒度可伸缩性 (CGS:Coarse Grain Scalability) 和基于位平面编码方法的细粒度可伸缩性 (FGS:Fine Grain Scalability) 。在SNR可伸缩技术中, 使用传统的混合编码技术, 即经过整数变化和量化得到基本层;基本层之上是增强层, 在基本层和原始图片之间存在残差信息, 这个差值和基本层一样使用同样的方法进行变换和量化, 不同的是量化粒度更加细腻一些, 即使用更小的量化参数, 再进行熵编码, 量化后得到的系数就是SNR的增强层。增强层和基本层一起可以看作是另外一个更高层次的增强层的基本层。这个更高层次的增强层计算方法和以上阐述的方法一样。最后基本层系数和增强层系数再使用位平面编码和行程编码相结合的方式进行熵编码, 分别形成基本层码流和增强层码流输出。

2.4 多视点视频编码

2007年, ITU开始了多视点视频编码 (MVC) 项目。视点间相关性是多视点视频序列的重要特性, 它与相机阵列形式、相机间距、相机和拍摄对象间距离存在极大的关系, 直接反映在同一时刻相邻视点两幅图像的视差上。

由于该类系统存在着大量的数据冗余, 如何组织和压缩数据就成为重要的研究课题。所以当前MVC主要围绕如何提高压缩效率以及随机读取能力进行研究, 而这些研究又可从两个主要方面来分类, 一是预测结构, 二是预测工具。预测工具指的是多路码流视角之间的空间预测手段, 包括亮度补偿, 视差/运动补偿, 2D直接预测模示, 视角插值。由于视角间的相关性利用是决定MVC压缩效率的主要因素, 因而未来MVC压缩效率的进一步提高依赖于新型预测工具的设计。预测结构指的是多视点视频时空帧之间的相互预测参考关系, 它代表将哪些帧一起进行处理以消除数据的时空冗余性, 因而不管是传统的混合编码、小波, 还是分布式编码, 都离不开预测关系的设计。另外预测结构是决定随机读取性能、快速解码性能、网络传输代价的重要指标, 因而在MVC研究中受到广泛关注。将MVC编码码流应用到传统流式传输框架下, 会产生视角切换问题, 因而如何设计新型的切换帧以及如何分析切换对预测结构的影响也具有重要的意义。

当前多视点视频压缩在应用上的主要问题在于数据压缩效率与随机读取能力的矛盾, 多视点视频本身数据量庞大, 在传输应用或本地快速解码时, 用户并不需要所有的数据信息, 因而要求数据之间的依赖性小, 但这恰好与压缩之间存在矛盾。多视点视频本身是相关性很强的多个信源, 基于分布式编码的多信源编码理论或许能对该问题进行理论分析及探讨。多信源编码能从信息理论上对解码代价、视角随机读取能力以及编码效率三者进行折中, 因而在MVC中具有很大的潜力。

3 结束语

本文首先介绍了H.264编码技术的发展历程, 并对于H.264编码所采用的重要技术特性进行了分析, 正是因为采用了这些技术特性, 使得H.264无论是在压缩性能还是在视频质量上, 较之前的视频压缩技术都有了明显地提升。随后, 文章对H.264编码的最新发展技术进行了研究, 对于JVT所提出的可伸缩视频编码和多视点视频编码技术进行了深入地分析。

摘要:本文对H.264编码技术所采用的编码特性进行研究, 并与过去的编码技术在编码效率和视频质量方面进行比较。在此基础上分析了H.264编码技术的最新发展成果, 并对H.264编码技术中最新的可伸缩视频编码技术和多视点视频编码技术进行了深入的研究。

关键词:H.264,帧间预测,量化,环路滤波,熵编码

参考文献

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

[2]汪大勇, 孙世新.可伸缩视频编码研究现况综述[J], 电子测量与仪器学报, 2009, 8.

H.264技术论文 第2篇

H.264标准是由ITU-T的视频编码专家组(VCEG)和ISO/IEC的活动图像专家组共同成立的联合视频小组(JVT)于2003年3月公布的[1]。H.264是在ITU-T增强型多媒体通信标准H.26L基础上提出的,增添了类DCT整数变换、CAVLC和CABAC等新技术,进一步提高了编码算法的压缩效率和图像播放质量。与以往标准相比,在相同失真率条件下H.264的编码效率提高了50%左右。另外,H.264采用“网络友好”的结构和语法,达到提高网络适应能力的目的,以适应IP网络和移动网络的应用。

H.264 预测帧的编码算法运算量大、复杂度高,不利于低延时视频通信系统的实现。而且由于在H.264编码过程中,帧间预测所需时间占整个编码时间的75%以上[2],同时帧内预测算法也大大增加了编码器的运算复杂度,所以找到简单可行的算法替代原有的复杂算法,提高其编码速度就成为当前的研究热点。

本文提出一种基于运动对象进行帧间模块划分的新算法,提出帧间运动估计来解决帧间预测所需时间长的问题,简化原有的复杂算法,提高编码速度。

1 算法概述

本文提出的基于运动对象进行帧间模块划分的新算法,其原理是先利用时、空分割融合的视频对象分割算法将视频帧中的运动对象提取出来,然后根据图像采用的最佳编码模式与其内容的关系,如静止区域及运动简单的区域多采用匹配块较大的帧间编码模式,而运动复杂的区域多采用匹配块较小的帧间编码模式来进行帧模块的划分。

2 时、空分割融合的视频对象分割算法

基于小波分解和分水岭变换的自动视频分割算法,原理图如图1所示。灰度方框为时间分割,阴影方框为空间分割,而虚线框为时空分割融合。

时间分割是利用时间域,即前、后帧的信息进行分割。因为前景常具有与背景不同的运动,通过变化检测,即可得到运动对象的大致区域[3]。所用的变化监测算法由两个步骤组成:阈值选取和后处理。基于直方图分析进行阈值选择,经实验,发现当选取阈值为-2δB和2δB时,Pmiss<0.04,符合CDM要求。在生成初始对象模板后,由于像机噪声和不规则的对象运动,仍然稀疏地存在一部分残留的噪声,需要进行后处理,即可以采用连通组件分析和形态学滤波器予以消除。

空间分割采用基于小波变换的分水岭变换算法:为克服由于噪声和量化误差引起的分水岭变换“过分割”问题,去除噪声的影响,先对图像进行二级小波分解,然后在低分辨率的图像上进行分水岭变换。分水岭变换在低分辨率的图像上进行,计算复杂度也大大降低。

时间分割得到视频对象的大致区域,空间分割得到视频对象的一致区域的准确边界,采用如下方法进行时、空分割信息融合:

(1) 将空间分割得到的区域向时间分割得到的视频对象区域进行投影,如果其像素数与属于时间分割所标识的区域像素值的比高于某一预设置阈值TH,则可认为此区域属于视频对象,然后合并所有的此类区域,即可得到低分辨率图像中的视频对象;定义Ri为空间分割得到的第i 个区域,VOPtemporal为通过时间分割得到的对象区域,Cardi( )为取像素操作符,则下式中的ηi表示区域Ri 像素位于VOPtemporal的比率,最终的VOP为所有的η大于某一预设阈值的区域的并集。

ηi=Cardi(RiVOPtemporal)/Cardi(Ri)

VOP=∪ηiTHRi

通常,阈值TH 的选取与具体的图像序列中所包含的阴影、噪声等有关,还与空间区域的阈值有关。但由于空间分割前进行了小波分解,已有效地去除了噪声等的影响,故TH选取受不同序列的影响并不太大。经实验,TH值的选取在70%和80%之间都可以得到理想结果,一般选TH=75%左右。

(2) 进行小波逆变换,以得到全分辨率图像中的语义视频对象。

3 帧间模块划分

H.264支持7种大小和形状的块,H.264采用尺寸可变块编码,大大提高宏块运动估值的准确性,从而提高编码效率[4]。本算法首先对得到的语义视频对象帧进行44大小的块划分,然后按照逐行从左到右的顺序计算出每个44小模块的色度平均值。

从语义视频对象帧的左上角开始以88为单元,根据以下情况对88单元内的4个44块进行合并:为了描述方便我们将88单元内的4个44块进行如图2所示的标号。每个块的色度平均值用Si表示,i=1,2,3,4。

(1) 若1,2,3,4块中仅有一块的S=0,则判断其它S≠0的相邻的两个模块的MV,若两两相等(或在给定阈值范围之内)则仅合并横向相邻的两个模块成84块,否则仅合并MV相等(或在给定阈值范围之内)的相邻两个模块。

(2) 若1,2,3,4块中有两个块的S=0,分两种情况:第一种是若该两块相邻则对此两块进行合并,且判断S≠0的另外两相邻块的MV,若相同(或在给定阈值范围之内)则也将其合并,否则不合并;第二种是若该两块不相邻,则不进行合并,保持不变。

(3) 若1,2,3,4块中有三块S=0,则合并横向相邻两个色度平均值为0的块。

(4) 若S1=S2=S3=S4=0,则合并该4块成88块。

(5) 若Si,i=1,2,3,4均非0,在4个MV值相等(或在给定阈值范围之内)的情况下将1,2,3,4块合并成88块,并记录其MV值。2个MV值相等(或在给定阈值范围之内)时只有在此两块为相邻块时才合并,处于对角位置不合并。3个MV值相等(或在给定阈值范围之内)时仅合并横向相邻的两个块。

在判断过程中,对于色度平均值为0的块,由于色度平均值为0代表该块中不存在运动对象,所以相应块的MV=0直接给出。

最后,对划分好的视频帧以1616模块为单位检测,若1616模块内部的划分是由4个88组成,且MV相等(或在给定阈值范围之内)则合并其成1616块。若内部划分只含有2个88块,且MV相等(或在给定阈值范围之内)且相邻则合并。若内部划分含有3个88块,且MV相等(或在给定阈值范围之内)则合并横向相邻的两块。

4 实验结果

本文采用H.264性能测试软件JVT的联合模型JM10.1作为实验平台。通过修改此模型来验证本文提出的算法。

操作系统:Windows2000 Professional with ServicePack 4;CPU:Intel Pentium 2.4 GHz;内存:512M;显卡:Geforce4MX440。

选用QCIF 和CIF 两种格式的三个典型的标准图像“foreman”(运动剧烈) 、“news”(中等运动) 、“claire”(运动较小) 共300 帧(重复10 次) 进行实验研究,YUV是4∶2∶0。

表1中实验数据表明:模式预测算法和全搜索相比,平均PSNR下降不到0.2dB,码率增加小于2.5%,编码速度提高2倍多,有的达到3倍左右,能够有效地减少编码时间,能够满足以计算机为平台的实时视频通信要求。对于变化平缓或有较多静止背景区域的视频序列News,在这些序列中满足时空相关性条件的宏块数目比摄像机运动、复杂物体运动或复杂纹理的序列多,因此模式选择计算的编码速度提高的倍数多,但是,本算法对运动对象边缘区域划分精确度需要进一步提高,而且本算法没有能够对帧内预测模式选择法进行改进。

5 结论及展望

本文利用图像序列的时/空相关性并根据图像采用的最佳编码模式与其内容的关系,提出了H.264中帧间预测的快速预测模式选择法。实验结果表明,与未使用本算法相比,使用本文提出的快速算法,编码速度得到显著的提高,可满足实时视频通信的要求。

但是,本算法没有改进帧内预测的预测模式选择法。今后要研究帧内预测的快速预测模式选择方法,从而整体提高H.264/AVC中预测的编码准确度和速度。

摘要:在帧间预测编码过程中,为了选择最佳模式,H.264编码器对每种可能的模式进行计算,使用穷举搜索模式选择算法获取最佳模式,而穷举搜索的计算量非常大。根据图像采用的最佳编码模式与其内容的关系,利用图像序列的时/空相关性提出了一种H.264中帧间预测的快速预测模式选择法,改进了H.264时间效率、提高了实时性。

关键词:H.264,预测模式,时/空相关性,模式与内容关系

参考文献

[1]毕厚杰.新一代视频压缩编码标准-H.264/AVC[M].人民邮电出版社,2005:85-86.

[2]宋彬.常义林.李春林.H.264帧间预测模式的快速选择算法[J].电子学报,2007,35(4):2-3.

[3]杨高波.张兆杨.余圣发.一种基于小波分解和分水岭变换的视频对象自动分割算法[J].通信学报,2005,26(3):6-8.

H.264技术论文 第3篇

码率控制算法是影响视频编码器编码效率的一项关键技术, 其主要任务在于有效的控制视频编码器的输出码流, 使其大小满足视频传输信道实际带宽的限制, 在解码端尽可能获得最优的解码图像, 因此它一直是视频编码技术中的热点研究领域[1]。到目前为止, 国内外的许多专家学者提出相应的解决方案, 其中比较有名的算法有MPEG-2中采用的TM5码率控制算法[2]及其改进算法[3]、H.263的TMN8的码率控制算法[4]、MPEG-4的VM8和VM18[5]的码率控制算法、基于ρ-domain模型的码率控制算法[6]以及H.264中采用的码率控制算法[7,8,9]。TM5算法是早期的研究成果, TMN8、VM8、H.264的码率控制算法均采用率失真模型;ρ-domain的码率控制算法则是采用通过比较分析图像压缩前后的信息最后得到的模型。

2 基于二维滑动窗口机制的自适应率点更新算法

为获得更有效的位分配精度, 建立精确的R-Q模型是非常重要的。然而, 现有H.264码率控制算法的研究成果很少关注R-Q模型参数的精确性。在实时视频通信应用中, 必须根据当前帧或已编码帧的统计信息对模型参数进行估计, 不精确的模型参数将会产生模型参数的波动和不精确QP值计算, 最终降低R-D模型的性能。因此应使模型参数在减少模型参数波动和预测模型对视频信号特征的适应性两方面达到一个很好的平衡。为改进模型参数的估计精度, 文献[10]中提出在更新模型参数时需要利用与当前基本单元相邻基本单元的时空相关性的思路, 但其中并未给出相应的解决办法, 基于上述思路, 本文结合曼哈顿距离的概念和滑动窗口机制, 提出一种基于滑动窗口机制的自适应率点选择算法。

2.1 基于曼哈顿距离的自适应滑动窗口机制

在JVT-G012算法[8]中, 率失真模型参数的估计使用一种基于率点选择算法的滑动窗口机制。率点的个数取值为固定值20, 而选择率点值所对应的宏块在帧中的位置呈一维的线性排列方式, 如图1所示:

从图1的滑动窗口可以看出, 当前宏块0与宏块20的空间距离比较大, 空间相关性比较差, 用这些宏块的MAD值很难精确的预测和估计当前宏块0的MAD值和模型参数。基于此, 本文提出一种基于上下文的二维自适应滑动窗口机制, 用它估计当前宏块的MAD值和模型参数。其基本思想是选择一些与当前宏块位置满足一个特定的曼哈顿距离在内的宏块用于当前宏块MAD值计算和模型参数估计, 以便更好的反应当前宏块的上下文关系;然后用更为精确的MAD值代入R-Q二次模型估算当前宏块的量化参数。

如果用坐标 (x, y) 表示宏块在一帧中的具体位置, 其中x表示宏块在一帧中的行在值, y表示宏块在一帧中的列值, 则当前宏块 (x0, y0) 与相同帧内相邻宏块 (xi, yi) 之间的曼哈顿距离Di可以定义为:

其中, 下标i在二维滑动窗口中按顺时针方向增加。如果当前宏块存在开始点, 则总是位于当前宏块坐标值 (x0, y0) 的左边, 否则开始点的位置总是按照顺时针方向移至下一个宏块位置。滑动窗口内宏块的个数与当前宏块的曼哈顿距离有关, 如果曼哈顿距离比较大, 则滑动窗口中宏块数相应增加, 每次需要更新的复杂度也就相应增加。从计算复杂度和预测精度两方面综合考虑, 我们预先定义当前宏块的最大的曼哈顿距离Dmax为4, 即:

如图2所示。与宏块0相邻的宏块按照曼哈顿距离的顺时针方向排列。宏块1, 2的曼哈顿距离为1;宏块3-6的曼哈顿距离为2, 宏块7-12的曼哈顿距离为3, 宏块8-20的曼哈顿距离为4。

2.2 滑动窗口大小和率点选择策略

宏块的最大滑动窗口大小Wmax由预先定义的最大曼哈顿距离和当前宏块在一帧内的位置共同决定。实际滑动窗口大小W[i]不能超过当前帧中已编码宏块的总数Wmax。

滑动窗口的大小利用与JVT-G012算法中相同的技术作进一步调整, 使得窗口大小随当前宏块的MAD值与滑动窗口内所有宏块的平均MAD值的比值按比例进行变化。

其中, N为图像中一行的宏块数, MAD[i, j]为第i个宏块的滑动窗口中第j个宏块的MAD值。当宏块位置位于某一行中的第一个时, W[i]的值可以利用MAD在垂直方向的变化率计算出来。位于滑动窗口中各宏块的MAD值用于R-Q模型的参数更新步骤中。

2.3 增强的MAD预测机制

为了更好的预测当前宏块的MAD值, 使用与JVT-G 0 1 2中相同的线性预测模型实现M A D值的预测。

其中, MADpredict[n, j]为第n帧中第i个宏块的MAD预测值。MADactual[n-, 1j]为前一帧n-1的相同位置的实际MAD值, c1和c2是线性模型的两个参数。从式6可以看出, 宏块在滑动窗口中的时间和空间相关性都考虑在内, 具体的预测机制如图3所示。

3 基于加权的线性回归技术的模型参数计算方法

在H.264的码率控制算法的线性预测模型和二元率失真模型中, 参数c1, c2和x1, x2的计算是根据统计的已编码帧的样本点, 利用线性回归技术求解而得。其参数估计的具体思路是:首先, 将所有样本点根据最小均方误差 (Least Mean Square Difference, LMSD) 计算初始的模型参数, 并得到初始拟合曲线;然后根据样本点的误差确定一个阈值, 通过这个阈值将原有样本点分为两类即类内点 (inlier) 和类外点 (outlier) ;最后用所有类内点进行第二次LMSD估计, 从而计算出最后的模型参数值, 这里注意到JVT-G012算法中进行第二次LMSD估计时, 所有类内点对模型参数估计的贡献均相同。

然而, 通过对模型参数计算源码的深入分析和对线性回归技术的研究, 原算法中求解区分类内点与类外点阈值的方法为样本点值到直线的距离, 其计算方法如下:

当样本点离拟合曲线比较远时, 上述计算方式不能精确的反应样本点与拟合曲线的逼近程度, 因此需要寻找一种新的精确的衡量样本点与拟合曲线逼近程度的距离计算方法。

从图4中可以看出, 利用样本点到拟合曲线的垂直距离dist来描述样本点到拟合曲线的逼近程度, 从理论上分析, 利用dist距离更为合理精确, 其具体的计算方法如下:

而相应的阈值计算方法为式9, 其中, m为类内样本点的个数, 阈值threshold实际上为类内样本点的标准差值。

另外, 根据类内样本点到拟合曲线的距离的不同可知, 不同的类内点对模型参数估计的贡献是不相同的, 当类内点与拟合直线的偏差越小时, 对模型参数的估计的贡献就越大, 当类内点与拟合直线的偏差越大, 则对模型参数的估计的贡献就会越小。基于上述思想, 针对类内点不同贡献大小, 对原有模型参数估计算法进行改进, 提出一种基于加权的线性回归技术的模型参数计算方法。主要是根据类内样本点到拟合曲线的垂直距离的大小作为样本点对模型参数计算的贡献大小, 并构造了一种样本点的权值方程, 具体权值方程如下:

其中, c为常数, 经过大量实验取经验值为6, 当距离小于阈值时, 距离越小, 权值也会随着指数形式不断增加;当距离大于阈值时, 距离越大, 权值按直线方式降低。

模型参数具体计算步骤为:

Step1:利用改进样本点选择策略, 更新线性模型中ReferenceMAD和PicutreMAD的值;

Step2:根据当前基本单元的MAD值和前一个基本单元的MAD值比值大小确定滑动窗口大小, 并对计算出来的滑动窗口大小作进一步的调整, 最终确定初始样本点的个数;

Step3:利用样本点的值, 根据线性回归技术得到初始拟合曲线, 如式6;

Step4:利用式8计算样本点与拟合直线的垂直距离dist, 并根据距离计算标准差作为区分类内点和类外点的阈值threshold1, 当dist大于threshold1时, 标记为类外点, 反之为类内点, 最终模型参数的计算只取类内点;

Step5:统计类内点的个数, 计算新的滑动窗口大小。并根据类内样本集, 计算新的标准差作为类内点贡献大小的阈值threshold2;

Step6:根据类内样本点距离dist和新的阈值threshold2, 构造一个样本点加权方程Weight, 而权值方程是依据类内样本点对模型参数计算所做贡献的大小进行构造的;

Step7:利用加权的线性回归理论和经过加权的样本集, 最终得到模型参数c1和c2, 用于估计当前宏块的MAD值。

4 实验与分析

利用H.264的参考软件JM8.6为测试平台[11], 将改进后的模型参数更新算法嵌入至平台中, 对9种不同的视频标准序列进行测试。9种标准序列分别为:Akiyo、Container、Crew, Foreman、Grandma、Highway、News、Sign Irene和Silent。序列格式均为4:2:0;图像大小为QCIF;编码结构IPPP, 第一帧为I帧, 其余帧均为P帧;编码帧数均为100帧, 各测试序列的帧率设置为30帧每秒, 初始量化参数设为40;运动估计搜索范围为16;采用CAVLC的熵编码模式, 基本单元大小设置为1;测试的率点值分别为:16、24、32、48、64、80、96、112和128, 单位均为kpit/s。分别从编码后视频质量、输出码率的控制精度、缓冲区充满度与目标缓冲区的逼近程度以及运算复杂度4个方面与JVT-G012码率控制算法进行性能比较。

为衡量改进算法与原算法对输出码率的控制精度, 以下定义了误匹配率的计算方式。误匹配率反应实际输出码率与目标码率的逼近程度, 其值越小越能体现实际输出码率与目标码率更为接近, 具体计算公式为:

其中, A为实际输出码率, T为目标输出码率。

4.1 视频编码质量比较

从表1中可以看出, 改进的模型参数更新算法的平均PSNR值比JVT-G012算法要高。从9个标准序列测试结果来看, PSNR增益最高达0.65dB (如Akiyo序列) , 最低有0.02dB (如Highway序列) 。图5分别为Akiyo序列和News序列的改进算法和原算法在各率点下的平均PSNR值比较曲线。图6分别为Akiyo序列和News序列的各帧质量波动曲线, 从图中可以看出, 改进算法比原算法各帧PSNR值要高, 并且要更稳定。

4.2 输出码率的控制精度比较

从表1中的误匹配率可以看出, 改进算法的误匹配率比原算法均要低。其中, 原算法的最高误匹配率为1.5% (如Highway序列) , 最低误匹配率为0.29%。而改进算法的最高误匹配率为1.33%, 最低误匹配率为0.19%。因此从测试结果来看, 改进算法比原算法在输出码率的控制精度上要稍好。

4.3 缓冲区状态比较

图7 (A-B) 为各帧缓冲区充满度与目标缓冲区充满度的逼近程度。从图中可以看出, 改进算法比原算法更逼近于目标缓冲区状态, 也没有产生缓冲区溢出的情况。

4.4 编码运算复杂度比较

从线性回归技术的样本点的选择方式看, 原算法样本点是选择当前宏块的前20个宏块的率点值, 然后根据当前宏块与前一宏块的值对滑动窗口大小进行调整, 并每编码一次需更新20个样本点的值和相应滑动窗口大小。而改进算法的样本点选择是根据曼哈顿距离计算当前宏块的相邻宏块的率点值。由于率点值的个数与原算法相同, 因此循环次数与原算法相同, 在这一方面没有增加运算复杂度。另外, 从模型参数估计角度看, 原算法需要进行两次模型参数的估计, 第一次是作初始拟合曲线, 得到区分类内点与类外点的阈值, 然后再进行第二次模型参数的估计。而改进算法在第一次模型参数估计方法与原算法相同, 所不同的是在第二次模型参数估计之前, 需要对所有类内点构造一个权值。因此, 与原算法相比, 需要增加少量的运算复杂度。

5 总结

H.264码率控制中的模型参数估计是整个码率控制算法的一个重要组成部分。模型参数估计的精度将直接影响帧或宏块的复杂度计算, 不精确的模型参数使得R-Q模型计算精度不高, 最终导致率失真优化失效和不精确的目标位分配。本文主要从模型参数率点值的选择方式和模型参数估计算法两个方面对JVT-G012码率控制算法进行改进。实验结果表明, 在不过多增加运算复杂度的情况下, 提高了率失真优化性能, 改善了视频解码质量。在保证缓冲区不溢出的情况下, 能实现输出码率的精确控制,

参考文献

[1]Zhenghong Chen, King Ngi Ngan.Recent advancess in rate control for vedio coding[J].Signal Processing:Image Communication, 2007, 22:19-38

[2]MPEG-2, Test model5, Doc.ISO/IEC JTCI/SC29WG11/93-225b.Test model editing committee, 1993-04

[3]尚书林, 杜清秀, 卢汉清.一种低复杂度H.264宏块级码率控制算法[J].计算机学报, 2006, 29 (2) :914-919

[4]ITU-T/SG15, Video codec test model, TMN8, Portland, 1997-06

[5]Vedio Group, Text of ISO/IEC14496-2MPEG-4Video VM-Version8.0, ISO/IEC JTC1/SC29/WG11.Coding of moving pictures and associated audio MPEG97/W1796, Stochholm, Sweden, 1997-06

[6]Ribas-Corbera J, Lei ShawwminHawmin.Rate control in dct video coding forlow-delay communications[J].IEEE and Systems for Video Technology, 2000, 10 (7) :1154-1158

[7]Ma Si-Wei, Li Zheng-Guo, Wu Feng.Proposed draft of adaptive rate control.JVT-H017.JVT8th Meeting, Geneva, Swizerland, 2003.5

[8]Tftp://ftp.imtc-files.org/jvt-experts/200303_Pattaya/JVT-G012.software.zip

[9]H.J.Lee, T.Chiang, Y.Q.Zhang.Scalable rate control for mpeg-4video[J].IEEE Trans.Circuits Syst.Video Technol, 2000, 8:878-894

[10]袁武, 林守勋, 牛振东等.H.264/AVC码率控制优化算法[J].计算机学报, 2008, 31 (2) , 329~339

H.264技术论文 第4篇

关键词:图像采集,FPGA,中值滤波,图像预处理

近年来,随着多媒体技术的不断发展,视频图像的传输应用越来越广泛,在视频图像的采集和传输过程中,由于温度、光照、电信号等因素的影响,很容易在视频图像采集的过程中引入噪声,这对图像的显示和欣赏效果造成了一定影响。因此,在视频图像的采集和传输过程中,对图像进行一定的降噪处理是有必要的。 为了降低图像噪声,可对编解码系统中采集到的图像进行预处理,将滤波预处理之后的图像再存入编解码系统中。由于图像的实时性,对图像预处理的处理速度提出了较高的要求,普通软件处理速度达不到要求,而FPGA具有较快的处理速度,成为实时图像处理的首选[1]。

本文基于面向H. 264视频编解码系统,在充分考虑系统实时性的基础上,以FPGA为核心的处理部件,设计了具有较高处理能力的中值滤波器对视频图像进行预处理,有效消除了图像中的噪声,避免了噪声的逐级传递,达到了较高视频图像质量和较好视觉效果的目的。

1图像预处理算法

1.1BT656和YUV420格式转换

本文设计的视频图像预处理系统,主要是基于面向H. 264视频编解码系统上的。如图1所示,是编解码系统的部分架构,包括了视频图像采集、A/D转换和预处理,SAA7113芯片将摄像头采集到的模拟信号转化为BT656格式的数字信号。

BT656格式,即YCrCb422( YUV422) 格式,YUV422格式在每行像素中,亮度信号Y数据和色度信号U、V数据的比例都是2 ∶ 1[2,3,4,5,6],为了节省数据量,本文中采用YUV420的格式,因此需要将BT656格式和YUV420格式进行格式转换。YUV420格式的每行和每列,Y数据和U、 V数据的比例都是2∶ 1,即4个Y值共用一个U和V,这样就在垂直方向数据量比YUV422格式数据量减少了1/2。

本文采用的转换方法是丢弃偶数行像素点的色度信号Cr和色度信号Cb,从而使得每两行的4个像素点公用一个色度信号Cr和一个色度信号Cb,使得存储的视频图像数据能进一步减少[6],而不影响图像的质量。 假设Yxy表示亮度信号在( x,y) 位置处的值; Crxy、Cbxy表示了色度信号在( x,y) 位置处的值,则BT656格式和YUV420有如下的对应关系

1.2中值滤波原理

中值滤波器就是用该像素相邻像素的像素值的中值来代替原中心像素点的值

中值滤波器的应用较广,对于由随机信号引起的噪声如脉冲噪声等等,中值滤波不仅具有良好的去噪能力,且在相同尺寸下相比线性平滑滤波器能够更好地保护图像的细节部分。由于中值滤波器的这些特性,使其在图像滤波领域应用广泛。

针对YCrCb420格式的特点,需采用合适的中值滤波设计对视频图像的噪点进行处理。由于YCrCb420数据的存储是按照Y、Cr、Cb的顺序。因此,可通过流水的方式依次对存储在DDR II存储器中的Y、Cr、Cb数据进行处理。以亮度信号Y为例,本设计中,中值滤波的计算步骤如下: ( 1) 将窗口的中心与图像中的某个像素点的位置重合,然后让滤波窗口在图像中滚动, 每次只移动一个像素点。( 2) 读取窗口内包含像素点的亮度值。( 3) 将这些亮度值按照从小到大的顺序排列,确定排序位于中间值。( 4) 用中间值来代替滤波窗口中心的亮度值。( 5) 由于滤波窗口的中心不可能位于图像边缘,需要对图像的边界进行单独处理。

对于分辨率 为640 × 480的视频图 像而言, YCrCb420数据亮度信号的大小为640 × 480 × 8,而色度信号Cr和Cb分别为320 × 240 × 8。以亮度信号为例,中值滤波原理如图2所示。

2中值滤波器设计

在实际去噪的过程中,滤波窗口的大小对滤波效果的影响比较大,若窗口选取较小,虽可有效地保护图像的细节信息,但去噪的效果会相对较弱; 若窗口选取较大,去噪效果会加强,但会使滤波后的图像更加模糊,丢失了细节信息,且滤波窗口越大会相应的消耗更多的资源[7,8]。因此,从资源和效率方面综合考虑,本设计中,中值滤波的窗口采用3 × 3的方形滤波窗口。 根据上述中 值滤波原 理及窗口 选取,本系统中YCrCb420视频图像的中值滤波的设计如图3所示。

如图3所示,首先要从DDR II存储器中读取YCrCb420数据,对Y、Cr、Cb数据分别进行中值滤波来去除像素值中的噪点。将读取的数据送入3 × 3的窗口生成模块,然后将窗口中的9个数据送入中值比较模块得出中值。由于边缘数据无法位于3 × 3窗口的中心,即无法用求中值的方式来更新边缘数据。因此, 要通过边缘检测模块将边缘的数据单独进行处理。最终,将得到的中值和边缘数据重组,得出所需数据并送入DDR II存储器中[9,10,11]。

( 1) 视频图像数据读取模块。系统采用Altera公司的QYSY平台,总线协议为Avalon协议,设计中从DDR II存储器中读数据要满足Avalon总线的协议要求。为了提高数据的读取速度,图像数据的读取过程采用Avalon master read( 主端口读) 的模式。此外,为了加快数据的读取速度,实际的设计中还采用了带突发传输属性的模型进行数据读取[12,13]。

( 2) 3 × 3的窗口生成模块。3 × 3窗口通过使用3个FIFO来实现,每一个FIFO存储一行的数据,待准备好后,每个FIFO连续出3个数据,形成一个3 × 3数据的窗口,具体实现如图4所示。

由于采用3 × 3的窗口模式,所以要保证每次进入窗口中的数据是来自3个不同的像素行。因此在开始将数据送到3 × 3的窗口之前,要对两行像素数据进行存储,等到第三行数据到来时,才将数据一起送入3 × 3的滤波窗。设计采用同步FIFO进行数据存储,同时通过FIFO的usedw信号进行数据的填充记录。这里两个同步FIFO用于进行前两行数据的存储,第三行数据则是通过前面的异步FIFO的输出来提取。在两行数据都在FIFO中准备好时( 其中第一行数据存入line_ 3中,第二行数据存入line_2中) ,一旦line_3的FIFO读信号开始有效时,便将3行数据送入3 × 3中( 第3行数据由line_1的输出实时的送入)

( 3) 中值生成模块。对于3 × 3窗口中的9个待处理数据,中值滤波的基本思想是通过比较得出这9个数的中值。中值滤波的输出值由领域数据的中间值决定。具体的比较过程如图5所示。

为加快处理速度,设计采用流水线技术。由于前一个步骤的输出是下一个步骤的输入,可考虑采用流水线技术,以提高系统的工作频率。由于前后操作使用相同的比较操作,前后级处理的时间相等,均是一个时钟周期,可直接将前级的结果送入下一级。

通过7次比较,便能得出一个处理过的中值来代替原本窗口中间的值。由仿真波形可知,从数据准备好开始,到得出一个中值,只需4个周期的时间。数据连续输入,中值也可连续的输出,除了上述提到的在每3行的结尾处需要等待两个周期。这里比较器的作用是通过比较找出3个数据中最大值、最小值和中值。

( 4) 边缘数据检测及处理。如图3所示,在窗口移动过程中,只能处理窗口中间的数据,由于边缘的数据不可能作为窗口中间值,对于边缘的数据必须要进行单独处理。由于数据按行读出的,边缘数据包括第一列和最后一列的数据以及每一行的第一个数据和最后一个数据。边缘检测的实现如图6所示。

设计采用不对边缘数据进行处理的方式,仅将边缘数据保留原值。边缘数据通过line_2的FIFO的输出来检测,设置行和列计数器。必须保证第一个处理完的中值必须在第二行的第一个数据之后和第二行的最后一个数据之前到来。这种方式有利于数据的恢复。最后将经过中值滤波的数据和边缘数据进行重组后写回到DDR II存储器中,然后送入到H. 264视频编码器中用于视频编码。

3仿真验证

实验中,通过FIFO2来控制每行数据的边缘检测, 保证利用最短的周期重组数据,当遇到边缘数据时,经过5个寄存器进行暂存; 当遇到中值数据时,直接使用。 然后将边缘数据和中值数据重组并经过异步FIFO后, 生成一个32位数据,图7中data即为最终重组数据。

对于图像预处理的滤波效果,本文将带有椒盐噪声的图像数据输入到图像预处理系统中,对滤波效果进行比较,如图8所示,经过图像预处理后直观滤波效果良好,有效降低了噪声。

4结束语

H.264技术论文 第5篇

随着互联网技术的快速发展,通过网络视频直播和点播技术,向海量的互联网用户提供高质量的流媒体直播和点播服务成为可能。第一财经(CBN)作为财经内容提供商,在财经领域具有得天独厚的财经资讯优势,在互联网高速发展的今天,第一财经需要把财经资讯从传统领域延伸到互联网新领域,依靠互联网本身具有的优势、特点,可以向网络用户提供更具特色、选择自由度更大的财经资讯服务,特别是财经视频内容服务。第一财经网站流媒体直播平台,正是在这样的背景下应运而出。但是构建第一财经网站流媒体直播平台还需要解决许多技术问题,该平台构建遇到最大的障碍是现有网络条件很难满足大数量视频内容的实时传输,因此需要采用有效的视频压缩手段对需要传送的媒体数据进行压缩,H.264作为新一代多媒体技术标准,它不仅是针对一定比特率下的视频、音频编码,具有高压缩比和高清画面效果,同时更加注重多媒体系统的交互性和灵活性。这个标准主要应用于视像电话、视像电子邮件等,可以在范围比较宽的网络条件下传输。本论文针对H.264编解码标准,分析了H.264的实现原理和网络传输优势,结合流媒体传输协议RTSP、RTP、RTCP,构建了基于H.264的第一财经网站流媒体直播平台,该平台可以实现第一财经频道流媒体数据的直播和点播业务。随着承载网络的升级,用户接入带宽的增加,网络视频逐渐成为主流应用,第一财经流媒体直播平台将为用户提供IPTV的体验,通过先进的H.264视频编解码技术和流媒体技术,为网络用户提供最新的财经视频内容服务。

1 关键核心技术:H.264和流媒体

1.1 H.264编解码技术

H.264是由JVT组织提出的下一代视频压缩编码标准,并于2003年正式成为国际标准,JVT是由VCEG (Video Coding Expert Group,隶属国际电信联盟ITU) 和MPEG (Moving Picture Expert Group,隶属于国际标准化组织ISO) 组建的联合视频组。H.264是比MPEG和H.263性能更好的视频压缩编码标准,压缩效率是H.263和MEPG-4的2倍左右,它的高性能视频压缩性能,在数字电视广播、视频实时通信、网络视频流媒体等领域有着重要作用。H.264因为其高效率的压缩性能和高可靠性的网络传输性能,已经成为网络流媒体普遍采用的流媒体格式。最近几年,应用H.264流媒体技术实现的视频点播 (VOD) 也得到了迅速发展。

H.264标准规定了多个不同的档次 (Profile) ,分别是基本档次 (Baseline Profile) 、主要档次 (Main Profile) 、扩展档次 (Extended Profile) 。其中,扩展档次除了包括基本档次的所有功能以外,还具备了码流之间有效的切换 (SP帧和SI帧) 、改进误码性能 (数据分割) 等新功能,这些新功能非常适合在网络流媒体领域的应用,SP帧和SI帧是H.264设计的两种新的图像类型,通过使用SP帧和SI帧就可以使解码端与其它解码器正在产生的视频流精确同步,而无需对所有解码器都传送一个I帧而造成效率下降。这样,解码器就可以在以不同的数据传输速率播放的视频内容间切换、抵抗数据丢失和数据错误,并能够实现快进快退等功能。

1.2 流媒体技术

流媒体是指利用流技术在网络上传输的多媒体文件,实现流媒体的关键技术是流式传输。流式传输是指通过网络传送视频和音频等多媒体的技术总称,实现流式传输方法有顺序流式传输和实时流式传输。顺序流式传输就是顺序下载,在下载文件的同时用户可观看数字媒体文件,但是其缺点是在给定时刻,用户只能观看已下载部分,而不能跳到还未下载的前头部分。另外,顺序流式传输不能在传输期间根据用户连接的速度作调整,实时流式传输可以实现。顺序流式传输不适合长片段和有随机访问要求的视频节目,它也不支持现场广播。相反,实时流式传输可保证媒体信号带宽与网络连接匹配,可实时观看节目。协议方面,实时流式传输与顺序流式传输不同,它需要专用的流媒体服务器与传输协议,比如RTP等实时传输协议。实时流式传输总是实时传送,用户可对观看内容进行选择性观看,可以实现快进快退等,因此实时流式传输方式比较适合网站流媒体平台的视频直播和点播功能。

流媒体实时传输协议(RTP)是针对多媒体数据流的实时传输协议,在一对一或一对多的传输情况下提供时间信息和实现流同步,为实时传输提供时序重构、帧遗失检测、数据安全等多种服务。RTP通常使用UDP传送数据。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠实时传输控制协议 (RTCP) 提供这些服务。RTP和RTCP配合使用,能以有效地反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。实时流协议 (RTSP) 定义了通过网络高效传输多媒体信息的规范。RTSP在通信协议栈中位于RTP和RTCP之上,它使用TCP或RTP完成数据传输,RTSP弥补了RTP在通信控制方面的不足。在第一财经网站流媒体直播平台的流式传输实现方案中,本平台采用RTSP、RTCP/TCP来传输通讯和控制信息,采用RTP/UDP来传输实时多媒体数据,RTSP、RTP和RTCP等协议协同工作,共同实现流媒体的高效传输。

2 流媒体直播平台系统架构

2.1 流媒体直播平台服务器端结构

第一财经网站流媒体直播平台服务器端,包括音视频信号采集、H.264编码器和通讯服务三个功能模块构成,第一财经网站流媒体直播平台服务器端系统架构参见图1。音视频信号采集模块通过音、视频采集设备或数字信号进行多路实时采集,通过由视频源采集出音视频的同步性高。采集得到的中间格式以高清晰的MPEG-2格式编码后传入实时H.264流媒体编码器。H.264流媒体编码器接收到来自音视频采集模块的MPEG-2格式的原始视音频流后,按照用户需求将其编码成多个不同图像大小、码率、帧率的H.264码流,然后提供给通讯服务模块。通讯服务模块接受外部应用的请求后,采用RTSP、RTCP/TCP来传输通讯和控制信息,采用RTP/UDP来传输实时多媒体数据,将H.264视频数据和音频数据拆分成网络传输包的形式分发给用户请求端。如果网络发生阻塞,通讯服务模块可以根据实时性要求选择暂存或丢弃帧的策略,后者可以保证所发数据都是最新的。

2.2 流媒体直播平台用户端结构

第一财经网站流媒体直播平台用户端,是整个平台面向用户的核心部分,该模块能够给予用户崭新的电视观看体验时移观看。使得用户在传统的被动直播观看之外又多出了主动选择的机会,可以随时观看已经播出过的节目。用户选择某一流媒体服务后,Web浏览器与Web服务器之间交换控制信息,然后客户机上的Web浏览器启动客户端播放器,从流媒体服务器查找相关参数,并对播放器进行最初的初始化。查找的相关参数包括目录信息、音视频数据的编码类型和音视频服务器地址等。

用户端与流媒体服务器通过RTSP协议建立连接,RTCP协议提供了快进、快倒、暂停及录制等操纵播放功能。连接建立后,客户端通过RTP协议进行数据传输,并按照RTCP协议将当前网络状况反馈给服务器端。一旦音视频数据抵达客户端,客户端播放器就可以进行音视频解码播放了,第一财经网站流媒体直播平台用户端结构见图2。

3 系统工作原理

3.1 H.264工作原理

H.264的算法在概念上可以分为两层:视频编码层 (VCL, Video Coding Layer) 和网络提取层 (NAL, Network Abstraction Layer) ,H.264分层结构具体参见图3。视频编码层包含了代表视频图像内容的核心压缩编码部分的表述,实现了视频数据的高效率编解码;网络提取层实现以网络所要求的特定方式对数据信息进行打包和传送,该层对应的是片层以上的数据处理任务,支持独立片解码。VCL数据即编码处理后的输出,它表示被压缩编码的视频数据序列。在VCL数据传输或存储之前,这些编码的VCL数据,先被映射或封装进NAL单元中。每个NAL单元包括一个原始字节序列负荷 (RBSP) 、一组对应用于视频编码数据的NAL头信息。

NAL是H.264内建的一个网际网络通信协议适配层,并用存取层接口的概念来描述和区分VCL层高效压缩和NAL层无缝集成的功能。NAL定义了视频编解码与外部网络的接口,以便将VCL层视频流进行协议封装后,通过NAL无缝集成到传输层。解码时NAL对VCL的承载过程相反。NAL层的引入将编码与信道隔离,大大提高了H.264适应复杂信道的能力,对目前现存或未来的各种不同网络都有很强的网络友好性。

3.2 流媒体传输协议工作原理

流媒体直播平台传输协议总共分三层,它们是网络层、传输层和应用层,具体结构见图4。网络层用到的协议是IP协议。传输层协议是UDP和TCP协议以及RTP/RTCP协议。RTP协议为实时数据提供端到端的数据传输服务,它通常和UDP协议一起工作完成多媒体数据的传输。不使用TCP的原因是因为它的三次握手机制导致的数据延时不利于对实时性要求较高的流媒体传输。RTP协议并没有提供拥塞控制和流控制等功能,这就需要RTCP和RTSP协议的配合。RTCP可以传送实时数据的质量参数,提供Qo S监视机制,它也不能单独工作,需要TCP协议的配合。RTP和RTCP协议位于TCP和UDP的上层,它们共同完成传输层流媒体数据的传输。在实际RTP会话中RTP和RTCP占用两个相邻的端口。应用层用到的是会话控制协议RTSP。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。

RTSP包含的通信控制功能包括:申请传递实时数据,制定传输服务类型及目的地址,申请有关数据格式信息,启动、停止和暂停数据的传送,以及申请对某段数据的访问等。在进行流媒体点播时,流媒体直播平台客户端先通过RTSP协议建立和流媒体服务器的连接,然后通过IP网络协议接收网络层传输过来的IP分组包,之后将提取的数据交给传输层,利用UDP协议提取数据后再进行RTP解包,最后将解包后的数据交给解码程序进行解码输出。

4 应用情况和结论

本流媒体直播平台主要实现了第一财经电视频道和广播频道的网上直播、点播等功能,详见图5。第一财经流媒体直播平台达到了较高视频质量播放要求。本平台从上线至今受到了广泛的关注和好评,达到了第一财经网站的设计要求。

网络作为现代化的信息传播方式,已延伸到世界的每一个角落,并成为人们获取信息的重要来源之一。互联网的快速发展,给广播电视业带来了极大的挑战,同时也为广播电视业的发展提供了极大的机遇。如何利用互联网的技术优势和灵活的传播理念来实现广播电视与互联网的强势联合、优势互补,是互联网时代电视发展的关键。网络流媒体直播平台,是数字技术和网络技术结合的产物,用户可以简单方便地通过网络渠道,直接获取视频的点播和直播服务。作为网络流媒体直播平台关键核心技术:H.264和流媒体技术,解决了网络多媒体播放时带宽瓶颈的问题。流媒体技术实现了音视频流媒体的实时播放,能够高质量保证音视频流的连续性。同时,H.264高效的编码效率和稳定的传输质量为我们带来了前所未有的网络流媒体直播和点播体验。

摘要:本文基于H.264编解码技术和流媒体技术阐述了第一财经网站流媒体直播平台的构建。

关键词:H264,流媒体技术,视频编解码,直播平台,第一财经网站

参考文献

[1]毕厚杰.新一代视频压缩编码标准—H.264/AVC (第2版) [M].人民邮电出版社, 2009.

[2]魏聪颖等.基于实时流媒体传输系统的H.264组包算法研究[J].计算机科学, 2007 (34) .

[3]Iain E G Richardson.H.264/MPEG-4Part10White Paper Overview.2004 (3) .

[4]梁元等.基于流媒体Location Free电视的设计与实现[J].计算机工程与科学, 2010 (32)

[5]李育林.基于流媒体技术的远程教学[J].广播与电视技术, 2006 (7) .

[6]杨传栋等.端到端的流媒体传输控制技术研究综述[J].计算机工程与应用, 2005 (8) .

[7]邱小燕.RTP协议中RTCP传输问隔算法[J].武汉大学学报理学版, 2005 (51) .

H.264技术论文 第6篇

1 硬解码方案研究

通用硬解码技术DXVA2 (Direct X Video Acceleration)最终硬解只是在显卡的显存层次,解码后的数据一般都为YUV格式中的NV12,这种格式并不通用。本文采用全程的GPU对H.264编码的视频图像进行运算。DXVA2负责将H.264硬解码到显存,Open CL(Open Computing Language,开放运算语言)负责YUV类型的转换以及显存到内存的拷贝[1]。

目前图像编码是H.264的比较常见。H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式。它本身的运算复杂度较高,分辨率越大,运算复杂率越高,耗时也越多。所以能够更方便体现DXVA和Open CL相结合进行硬解码的优越性。

2 硬解码方案的设计与实现

方案设计的系统流程图如图1。从图1 可以看出,硬解码的总体流程其实主要分为三块,一是数据的分析。这里主要是针对H264 数据的分析,GPU硬解码由硬件完成了各种运算操作,但这些运算操作所需要的参数,是需要用户自己分析数据,从而得出的;二是DXVA硬解数据到显存Surface表面。这里已经解码成YUV数据NV12,但这种数据并不是我们所需要的格式以及CPU也无法直接访问显存;三是Open CL进行YUV格式转换以及把数据的存储位置转移。这里主要指由GPU完成NV12到YV12的转化以及由显存转移到内存的过程[2]。

2.1 H.264数据分析

H.264数据分析主要参考H.264的压缩编码标准,在H.264码流中提取一些结构体参数,如PPS,SPS,NALU信息等。其中,SPS序列参数集和PPS序列参数集包含了初始化H.264 解码器所需要的信息参数,包括解码所需要的profile, level, 图像的宽和高,deblock滤波器等[3]。而Non-IDR Slice_without_par tition和IDR Slice则是包含了真正的H264图像原始数据。

2.2 Dxva2硬解码

进行DXVA2 硬解码之前,首先要判断测试机的显卡是否支持h264的硬解码,以及支持的最大分辨率是多少。

DXVA2 的硬解码步骤主要分为以下四步:第一步打开D3D设备句柄,包括了创建D3D9 对象,创建D3D9 设备,创建D3D设备管理器,打开设备句柄,获取硬解码服务对象等步骤[4]。第二步找到支持的解码配置,包括了找到视频服务转换的GUID,获取解码支持的配置等步骤;第三步分配未压缩的缓冲,即分配显存中的原始YUV缓冲表面。包括了创建表面,涉及的API有Create Surface等;最后一步即是解码。

2.3 Open CL的YUV转换以及YUV存储转移

Open CL是一门可以运行在支持这个标准的所有硬件,目前的主流GPU都支持这个标准。

定义函数Kernel,用来进行YUV的转换,参数首先设置好,再把运行函数告诉硬件GPU,最后调用Open CL的函数将运算结果(位于显存)输出到预先分配的内存就完成了存储位置的转移。在Open CL执行时,GPU会多线程并行运算这个Kernel,从而完成整个YUV转换过程。

3 验证及性能测试

完成设计与实现后就需要用数据来对方案进行验证说明。本文的测试参数如下:

测试对象:一段1080P的h.264 高清视频以及4K的h.264超高清视频:

测试环境:Win7 32 位系统,AMD及Intel分别选取两种显卡。

测试目的:验证方案的正确性和优越性。

首先给出一段软解码的数据,在CPU上软解码一帧1080P的图像平均在20毫秒左右,CPU使用率会在10%~20%波动,而GPU硬解码时,CPU的使用率只会在0%~3%左右波动。下面先给出AMD独立显卡下的硬解数据,如表1。

从表1 显卡型号的对比可以看出,随着工艺的进步,显卡的升级,GPU解码的效率是越来越高的。不能解码4K的超高清也说明了GPU的解码是受硬件和驱动限制的。另外和CPU解码相比,虽然CPU使用率节省了不少,但每一帧的解码速度快的不多,这也是因为物理结构导致,众所周知,显卡是插在PCI-E插槽的,距离CPU距离比较远,中间传输的各个器件的速度不一,导致了硬解码CPU和GPU交互的过程速度大大减慢,从而消耗了更多的时间。

接下来选取Intel的。数据如表2。

Intel的CPU现在基本都是带核显的,也就是说CPU和GPU集成在同一块芯片上,一般来说,都以CPU的型号来统称。上述表格中,酷睿为普通用户级别的CPU,至强则是服务器级别的CPU(核数会更多)。横向对比,解码一路消耗的时间相差不大,但由于至强的核数要多,所以在解码多路视频上会更有优势。但和CPU软解码对比,时间缩短为1/4,是一个很大的进步。

Intel和AMD的相比,速度也快了很多,原因也很好理解了,因为CPU和GPU就在同一块芯片上,交互速度大大增强了,AMD公司也有一款两者集成在同一芯片上的CPU,叫APU,硬解码速度也是很快的。

从测试数据来看,GPU硬解码确实节省了CPU的资源,从而能够让CPU去更好更快的去做其他的事情,比如一边看高清视频,一边玩游戏等,另一方面,GPU解码也确实比CPU速度更快,时间用得更少,更擅长对图像的解码运算处理。从而验证了整个方案正确性和优越性。

4 结束语

随着电视电影的分辨率标准越来越高,CPU由于要协调整个硬件及软件系统,已经难以跟上变化,交给专职的GPU来做图像运算是一个不错的选择。而DXVA和Open CL作为一个业内的通用标准,能够让专业人员专注于标准本身,而不用专注GPU是哪个公司的,不用为每个公司的GPU都分别开发一套硬解码代码。仅需要一套代码,就可以运行在各种GPU上。

本文以H.264编码的视频为例,进行硬解码方案的研究和实施,并最终测试验证了整个方案的可行性和优越性。

摘要:该文以H.264编码的图像为例,研究了基于DXVA和OpenCL的硬解码方案;利用DXVA2以及OpenCL的API,设计了一套硬解码流程,并利用该流程测试出数据,验证了方案的可行性。

H.264帧内预测算法改进 第7篇

21世纪是一个信息化的时代,人们渴求获得更多、更全面的信息,而视频的获取与交流是一种最生动最有效的方式。但是未经压缩的视频数据量非常大,在现有的带宽上传输是十分不现实的事情,因此对视频信息进行有效的压缩就显得十分重要,它直接关系到传输质量与速率。

和以往的视频编码标准相比,H.264编码率更高,网络适应性更强,统计表明,在相同图像质量下,H.264比H.263+或MPEG4简单配置要节省近50%的码率。虽然H.264有很高的编码率,但是它引入了多种新的编码技术,从而大大增加了计算复杂度,使得该标准在实时性上有所欠缺,如何提高其编码效率是目前视频编码中十分重要的技术问题。H.264编解码各个模块中帧内预测和帧间预测及模式决策在整个运算量中占有很大的一部分,若想对H.264编解码器进行优化就首先要从这几个方面着手。本文就是要针对帧内预测部分进行优化。

1 H.264的帧内预测算法

在H.264的帧内预测中,对于亮度信息的预测有两种类型,44块和1616块,其中44块有9种预测模式,而1616块有4种预测模式。 (1) 44亮度预测模式; (2) 1616亮度预测模式; (3) 88色度块预测模式。

每个帧内编码宏块的88色度成分由已编码左上方色度像素的预测而得,两种色度成分常用同一种预测模式。4种预测模式类似于帧内1616预测的4种预测模式,只是模式编号不同。其中DC为模式0、水平为模式1、垂直为模式2、平面为模式3。

2 帧内预测模式选择算法优化

H.264原有算法中采用的是遍历所有模式后取最优的方法,在使用Intra44预测模式时,原始的标准算法需要计算9种预测方向下的SAD值,并选定SAD值最小的一种预测方向进行编码,这种遍历式的搜索方法会消耗大量编码时间,影响系统的实时性,因此,本文将设计出一种快速的帧内预测模式选择算法。

2.1相关概念与公式

(1)SAD值是指预测值和真实值对应相减以后,再将其绝对值累加求和,表征了预测结果与真实图像间的误差,即

式中,D为宏块的SAD值,s为像素的真实值,c为像素的预测值,M和N分别为宏块的宽度和高度。

(2)对于某一像素点x,定义x点的模糊隶属度函数反映其周围点的归属度为

其中,x表示要处理的点,xi表示x邻域的点,λ取为图像灰度均值的平方。可以看出uxi越趋近于1,x与xi越相似,x与xi归为一类的概率越大。而宏块中各像素灰度值与其灰度均值越接近,说明宏块越平坦,本研究中就采用该函数进行宏块类型的判断。

(3)方向测度。在H.264的帧内预测模式中,大部分的预测模式都是基于方向的,特别是44亮度块,9种预测模式中8种是基于方向的预测。因此,如果预先判断出块的纹理方向,就可减少候选预测模式的数量,加快帧内预测模式选择过程。在判断纹理方向上,我采用了一阶方向测度,一阶方向测度的定义如下:

设(i,j)是NN图像中的任意一点,图3是以其为中心的44窗口。

假设一幅纹理图像在某个方向上具有一定的方向性,那么其在这个方向上相邻像素间灰度变化从平均意义上要比其他方向小。因此,我们定义

以此类推,其中,f(i,j)表示(i,j)点的灰度值。

2.2具体算法

(1)计算1616宏块中各像素灰度关于宏块灰度均值的模糊隶属度之和Ua(x),然后判断其是大于上限阈值TH,如果Ua(x)>TH,则说明该宏块比较平坦,应采用4种1616模式预测,直接跳到第(5)步执行。

(2)继续判断Ua(x),看其是否小于下限阈值TL,如果TL

(3)如果Ua(x)

(4)计算各个44模块的水平、垂直和两条对角线的方向测度,取方向测度最小及次小的模式以及它们相关联的模式作为候选预测模。

(5)计算并比较各个模式下的SAD值,选SAD值最小的模式为最佳预测模式。

整体流程图如图4所示。

候选模式的确定见表1。

3 实验结果

在参考软件JM8.6中实现本算法,并与H.264标准的全搜索算法进行实验对比,实验条件如表2所示。

分别对container,brigde,news的QCIF格式和CIF格式进行测试。表3和表4是针对各个测试序列进行实验得到的对比数据。由表3可见,本文算法与全搜索算法相比,视频图像压缩比率增加1.85%左右,但编码时间约减少了61.05%。

实验结果表明,本文算法预测命中率高,由压缩比率可知,本文算法的输出视频大小与全搜索算法相当,但是算法更简单,效率更高,并能很好地保持图像质量。

4 结束语

在重点分析H.264帧内预测算法基础上,提出了一种帧内预测模式选择快速算法。该算法与原有算法相比,在保持解码图像质量基本不变、码率略有增加的情况下,较大幅度地降低了运算复杂度,提高了编码速度。

参考文献

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

[2]齐淋淋, 向健勇.H.264视频压缩关键技术及其应用前景[J].电子科技, 2005 (5) .

[3]闫丽云, 任煜海.新视频压缩标准H.264/AVC的研究[J].电脑开发与应用, 2005 (12) .

[4]张光杰, 贾永兴, 张兆东.H.264视频压缩标准算法分析[J].军事通信技术, 2005 (9) .

[5]王启文, 黄东军.H.264中块的快速帧内预测算法[J].多媒体技术及应用, 2010 (2) .

[6]MARCOS NIETO, LUIS SALGADO, JULIAN CABRERA, NAR-CISO GARCA.Fast mode decision on H.264/AVC base line profile for real-time performance[J].Journal of Real-Time Image Processing, 2007 (6) .

相关文章
表演人才范文

表演人才范文

表演人才范文(精选11篇)表演人才 第1篇六七岁至十一二岁是学龄初期, 即相当于儿童接受小学教育的年龄。这一时期少儿的主要行为活动是学...

2
2025-09-20
保安班长月总结

保安班长月总结

保安班长月总结(精选6篇)保安班长月总结 第1篇篇一:保安班长年终总结个人总结光阴似箭日如梭,转眼间半年已经过去。回顾我们保安队在近...

1
2025-09-20
班主任有关工作培训心得

班主任有关工作培训心得

班主任有关工作培训心得(精选15篇)班主任有关工作培训心得 第1篇20**年8月我有幸在市电大参加了“仙桃市第一期小学骨干班主任高级研修班...

1
2025-09-20
部编版一年级四季教案

部编版一年级四季教案

部编版一年级四季教案(精选6篇)部编版一年级四季教案 第1篇《四季》文清路小学 刘明霞教学目标:1、认识 9个生字和言字旁,虫字旁和折...

1
2025-09-20
办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些(精选18篇)办公室文秘的岗位职责有哪些 第1篇1、在董事会的领导下主持办公室的全面工作,负责办公室的日常工...

1
2025-09-20
八年级上册第1课鸦片战争

八年级上册第1课鸦片战争

八年级上册第1课鸦片战争(精选12篇)八年级上册第1课鸦片战争 第1篇《鸦片战争》教学设计【教学目标】1、英国向中国走私鸦片及危害;林则...

2
2025-09-20
表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理(精选10篇)表面粗糙度测量仪的工作原理 第1篇表面粗糙度测量仪的工作原理分析及其改进方案阳旭东(贵州工业大...

1
2025-09-20
宾馆改造可行性报告

宾馆改造可行性报告

宾馆改造可行性报告(精选8篇)宾馆改造可行性报告 第1篇第一章 总论1.1 项目名称及承办单位项目名称:宝地宾馆改扩建项目 承办单位:...

1
2025-09-20
付费阅读
确认删除?
回到顶部