H.264的技术优势及其在H.323系统中的应用

一、引言

  近年来,随着我国通信网络基础设施的快速建设,视讯业务由于可以为处于多点的与会者提供音视频等多种信息,节省大量费用,提高工作效率,因而发展迅速,并有望成为NGN的主要业务。视讯会议系统从产生至今,发展了多种适于各类通信网络的系统,目前传输多媒体信息的主要有H.323、H.324和H.320等系统。IP技术的开放性特点使得它非常适合承载多种业务,随着IP的安全和QoS等问题的逐步解决,以IP作为承载网的优势将更加明显,下一代网络也将采用IP技术作为承载网技术。因此,本文以适用于在IP网上提供多媒体业务的H.323系统为主进行阐述。H.264是由JVT为实现视频的更高压缩比,更好的图像质量和良好的网络适应性而提出的新的视频编解码标准。事实证明,H.264编码更加节省码流,它内在的抗丢包、抗误码能力和良好网络适应性使它非常适于IP传输,H.264有望成为H.323系统中首选的视频标准。

  H.323系统对视频编解码标准提出了以下三个主要要求:

  (1)一些IP网络接入方式如xDSL可提供的带宽有限,除去音频、数据占用的带宽,传输视频的可用带宽就更少,这就要求视频编解码压缩率高,这样就可以在一定的比特率下具有更好的图像质量。

  (2)抗丢包性能和抗误码性能好,适应各种网络环境,包括丢包和误码严重的无线网络。

  (3)网络适应性好,便于视频流在网络中传输。 < type="text/javascript">< type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 

  二、H.264适于H.323系统的三个技术优势

  H.264在制定时充分考虑了多媒体通信对视频编解码的各种要求,并借鉴了以往视频标准的研究成果,因而具有明显的优势。以下将结合H.323系统对视频编解码技术的要求,阐述H.264的三个优势。

  1. 压缩率和图像质量方面

  对传统的帧内预测、帧间预测、变换编码和熵编码等算法的改进,使H.264的编码效率和图像质量在以往标准的基础上进一步提高。

  (1)可变块大小:帧间预测时可以灵活选择块的大小。在宏块(MB)划分上H.264采用了16×16,16×8,8×16,8×8四种模式;当划分为8×8模式时,又可进一步采用8×4、4×8、4×4三种子宏块划分模式进一步划分,这样可以使运动物体的划分更加精确,减小预测误差,提高编码效率。帧内预测一般采取两种亮度预测模式:Intra_4×4和Intra_16×16。Intra_4×4适合图像中细节丰富的区域,而Intra_16×16模式更适合粗糙的图像区域。

  (2)高精度运动估值:在H.264中亮度信号运动补偿预测的精度是1/4像素。如果运动矢量指向参考图像的整像素位置,预测值就是该位置上参考图像像素的值;否则使用6阶FIR滤波器的线性内插获得1/2像素位置的预测值,通过取整数和1/2像素位置像素值均值的方式获得1/4像素位置的值。显然采用高精度运动估计会进一步减小帧间预测误差。

  (3)多参考帧运动估值:每一个M×N亮度块都要经过运动补偿预测得到运动矢量和参考图像索引,子宏块中的每个子宏块划分都会有不同的运动矢量。选择参考图像过程是在子宏块层次上进行的,因而一个子宏块中的多个子宏块划分在预测时使用相同的参考图像,而同一个slice的多个子宏块之间选择的参考图像可以不同,这就是多参考帧运动估值。

  (4)参考图像的选取更加灵活:参考图像甚至可以是采用双向预测编码方式的图像,这就允许选取与当前图像更加匹配的图像为参考图像进行预测,从而可以减小预测误差。

  (5)加权预测:允许编码器以一定的系数对运动补偿预测值进行加权,从而在一定的场景下可以提高图像质量。

  (6)运动补偿循环内的消除块效应滤波器:为消除在预测和变换过程中引入的块效应,H.264也采用了消除块效应滤波器,但不同的是H.264的消除块效应滤波器位于运动估计循环内部,因而可以利用消除块效应以后的图像去预测其他图像的运动,从而进一步提高预测精度。

  2. 抗丢包和抗误码方面

  参数集、片的使用、FMO、冗余片等关键技术的使用可以大大提高系统的抗丢包和抗误码性能。

  (1)参数集:参数集及其灵活的传送方式会大大降低因关键的头信息丢失而造成错误发生的可能。为保证参数集可靠地到达解码器端,可以采用重发的方式多次发送同一参数集,或传送多个参数集。

  (2)片(slice)的使用:图像可以划分成一个或几个片。将图像划分为多个片,当某一片不能正常解码时的空间视觉影响就会大大降低,而且片还提供了重同步点。

  (3)PAFF和MBAFF:当对隔行扫描图像进行编码时,由于两个场之间存在较大的扫描间隔,这样,对运动图像来说帧中相邻两行的空间相关性相对于逐行扫描时就会减小,这时对两个场分别进行编码会更节省码流。对帧来说,存在三种可选的编码方式,将两场合并作为一帧进行编码或将两场分别编码或将两场合并起来作为一帧,但不同的是将帧中垂直相邻的两个宏块合并为宏块对进行编码。前两种称为PAFF编码,对运动区域进行编码时场方式有效,非运动区域由于相邻两行有较大的相关性,因而帧方式会更有效。当图像同时存在运动区域和非运动区域时,在MB层次上,对运动区域采取场方式,对非运动区域采取帧方式会更加有效,这种方式就称为MBAFF。

  (4)FMO:通过FMO可以进一步提高片的差错恢复能力。通过片组(slice group)的使用,FMO改变了图像划分为片和宏块的方式。宏块到片组的映射定义了宏块属于哪一个片组。利用FMO技术,H.264定义了七种宏块扫描模式。

  (1)帧内预测:H.264借鉴了以往视频编解码标准在帧内预测上的经验,值得注意的是,在H.264中,IDR图像可以使参考图像缓存无效,之后的图像在解码时不再参考IDR图像之前的图像,因而IDR图像具有很好的重同步作用。在一些丢包和误码严重的信道中,可以采取不定期传送IDR图像的方式进一步提高H.264的抗误码和抗丢包性能。

  (2)冗余图像:为提高H.264的解码器在发生数据丢失时的顽健性,可以采用传送冗余图像的方式。当基本图像丢失时,可以通过冗余图像重构原图像。

  (3)数据划分:由于运动矢量和宏块类型等信息相对于其他信息具有更高的重要性,因而在H.264中引入了数据划分的概念,将片中语义彼此相关的语法元素放在同一个划分中。在H.264中有三类不同的数据划分,三类数据划分分开传送,若第二类或第三类划分的信息丢失,使用差错恢复工具仍然可以通过第一类划分中的信息对丢失信息进行适当恢复。

  (4)多参考帧运动估值:多参考帧运动估值不但可以提高编码器的编码效率,还可以提高差错恢复能力。在H.323系统中,通过使用RTCP,当编码器得知有参考图像丢失时,可以选择解码器已经正确接收的图像作为参考图像。

  (5)为阻止错误在空间上的蔓延,解码器端可以指定当P片或B片中的宏块在做帧内预测时不使用相邻的非帧内编码宏块作为参考。

  3. 网络适应性方面

  为适应各种网络环境和应用场合,H.264定义了视频编码层(VCL)和网络提取层(NAL)。其中VCL功能是进行视频编解码,包括运动补偿预测,变换编码和熵编码等功能;NAL用于采用适当的格式对VCL视频数据进行封装打包。

  (1)NAL Units:视频数据封装在整数字节的NALU中,它的第一个字节标志该单元中数据的类型。H.264定义了两种封装格式。基于包交换的网络(如H.323系统)可以使用RTP封装格式封装NALU。而另外一些系统可能要求将NALU作为顺序比特流传送,为此H.264定义了一种比特流格式的传输机制,使用start_code_prefix将NALU封装起来,从而确定NAL边界。

  (2)参数集:以往视频编解码标准中GOB/GOP/图像等头信息是至关重要的,包含这些信息的包的丢失常导致与这些信息相关的图像不能解码。为此H.264将这些很少变化并且对大量VCL NALU起作用的信息放在参数集中传送。参数集分为两种,即序列参数集和图像参数集。为适应多种网络环境,参数集可以带内传送,也可以采用带外方式传送。

  三、在H.323系统中实现H.264

  由于H.264是一种新的视频编解码标准,在H.323体系中应用H.264存在一些问题,比如如何在H.245能力协商过程中定义实体的H.264能力,因此必须对H.323标准进行必要的补充和修改。为此,ITU-T制定了H.241标准。本文仅介绍与H.323相关的修改。

  首先,要规定如何在H.245能力协商过程中定义H.264能力。H.264能力集是一个包含一个或多个H.264能力的列表,每一个H.264能力都包含Profile和Level两个必选参数和CustomMaxMBPS、CustomMaxFS等几个可选参数。在H.264中,Profile用于定义生成比特流的编码工具和算法,Level则是对一些关键的参数要求。H.264能力包含在GenericCapability结构中,其中CapabilityIdentifier的类型为standard,值为0.0.8.241.0.0.1,用于标识H.264能力。MaxBitRate用于定义最大比特率。Collapsing字段包含H.264能力参数。Collapsing字段第一个条目是Profile,ParameterIdentifier类型为standard,值为41,用于标识Profile,ParameterValue类型为booleanArray,其值标识Profile,可以为64、32或16,这三个值依次表示Baseline、Main和Extended三个Profile;Collapsing字段第二个条目是Level,ParameterIdentifier类型为standard,值为42,用于标识Level,ParameterValue类型为unsignedMin,其值标识H.264 AnnexA中定义的15个可选的Level值。其他的几个参数作为可选项出现。

  其次,由于H.264中图像的组织结构与传统的标准不同,一些原有的H.245信令不在适用于H.264,如MiscellaneousCommand中的videoFastUpdateGOB等,因此H.241重新定义了几个信令提供相应功能。

  最后,H.264的RTP封装参考RFC 3550,载荷类型(PT)域未作规定。

  四、结束语

  作为一种新的国际标准,H.264在编码效率、图像质量、网络适应性和抗误码方 < type="text/javascript">< type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
面都取得了成功。但随着终端和网络的快速发展,对视频编解码的要求在不断提高,因此H.264仍在继续地完善和发展以适应新的要求。现在对H.264的研究主要集中在如何进一步降低编解码时延、算法优化和进一步提高图像质量上。目前,使用H.264进行编解码的视频会议系统越来越多,大多数做到了在Baseline Profile上的互通。随着H.264自身的不断完善和视频通信的不断普及,相信H.264的应用将越来越广泛。

■ 参考文献
[1] I TU-T H.241.Extended video procedures and control signals for H.300 series terminals.July 2003
[2] Wiegand T,Sullivan G J,BjΦntegaard G.Overview of the H.264/AVC video coding standard.IEEE Trans,Circuits,Syst Video Technol,2003,13(7)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fengyv/archive/2006/05/11/723573.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的列表

列表操作 一组有序数据的组合就是列表 创建列表 空列表 方式1&#xff1a;变量 []方式2&#xff1a; 变量 list() 具有一个数据的列表 变量 [值] 备注&#xff1a;列表中保存的每个都称之为元素具有多个数据的列表 变量 [值,值,值....]普通操作 访问列表中的元素 …

高通被欧盟指控垄断 或将面临高达25亿美元罚款

在被韩国指控违反反垄断规定后&#xff0c;高通近期又被欧盟指控以垄断方式排挤竞争对手。在11月10日的听证会上高通将回应有关指控。高通有可能因此遭受25亿美元的巨额罚款。 欧盟之前就曾经指出&#xff0c;高通在2009至2011年以低于成本价售卖部分基带芯片&#xff0c;将英国…

wireshark

wireshark使用&#xff1a; http://wenku.baidu.com/link?urljIT43RWZbHissG70TK_hqVKRO6KWNZ4nK9RfncaFA5p-mrmjxsNd2aIapcKTtDDAjG0mddEKiLtwbqpu3Z12bXStDiDevZUGWTPxop4mKhG wireshark开源代码相关&#xff1a; http://blog.csdn.net/zx824/article/details/7207713 转载于…

1万条数据大概占多大空间_国漫丨2019年上半年漫画数据报告

文 │ 骨朵国漫一、各漫画平台总体趋势1、快看漫画快看漫画平台2019年Q2各月评论数较Q1有较明显的下滑&#xff0c;月评论数都在400万条左右&#xff1b;收藏数方面&#xff0c;2019年2月达到了半年内最高值&#xff0c;为2660.1万条。2、看漫画、知音漫客等平台(小明太极旗下)…

【机器学习】 LightGBM——优于XGBoost提升的集成算法(安装+对比XGBoost改进+参数说明+python代码实例)

中文官方文档&#xff1a;http://lightgbm.apachecn.org/cn/latest/Installation-Guide.html 英文官方文档&#xff1a;https://lightgbm.readthedocs.io/en/latest/ 一、lightGBM安装 在anaconda中输入&#xff1a;pip install lightGBM即可 输入import lightgbm as lgb做测…

H.264简单总结

&#xff08;quan整理&#xff09;一、视频信息和信号的特点 < type"text/javascript">< type"text/javascript" src"http://pagead2.googlesyndication.com/pagead/show_ads.js"> 1&#xff0e;1直观性 利用人的视觉系统&am…

轻量级代码生成器-OnlyCoder 第一篇

程序猿利器&#xff1a;代码生成器&#xff0c;使用代码生成器已经好几年了&#xff0c;增删改查各种生成&#xff0c;从UI到DATA层均生成过。之前有使用过动软的&#xff0c;T4模板等.... T4生成实体还是没有问题的&#xff0c;但是生成MVC视图就有点烦杂了&#xff0c;动软给…

python中的元组操作

元组操作 元组也是一组有序数据的组合&#xff0c;和列表唯一的不同是&#xff0c;元组不可修改 列表 用铅笔写的清单(能擦能改) 元组 用钢笔写的清单(不能擦改) 创建元组 创建空元组 方式1&#xff1a;变量 ()方式2&#xff1a; 变量 tuple() 创建单个元素的元组 方式1…

从Java到Go面向对象--继承思想.md

2019独角兽企业重金招聘Python工程师标准>>> Go语言实现继承 我们都知道Java中通过extends来实现对象的继承&#xff0c;那么Go中怎么实现继承呢&#xff1f;Go语言没有继承&#xff0c;只有组合。我们知道&#xff0c;继承的目的是什么&#xff0c;是类的重用&…

电脑键盘练习_电脑新手最关心的:零基础如何快速掌握电脑打字的技巧?

随着计算机的普及&#xff0c;越来越多的人在工作和生活中需要使用计算机。有的朋友通过参与培训学会了键盘打字&#xff0c;有的朋友自学成才学会了键盘打字。这里笔者给大家分享在0基础的情况下&#xff0c;通过自学快速掌握键盘打字的一种方法。需要说明的是&#xff0c;键盘…

【解决】jupyter在deepin安装上的坑

报错&#xff1a;env: "wine": 没有那个文件或目录 jupyter打开之后无法直接跳转浏览器 解决方法&#xff1a; 1、 生成配置文件jupyter notebook --generate-config 2、打开jupyter_notebook_config.py&#xff0c;在文件最后添加以下代码 选择你的浏览器位置 …

盐城出台推进大数据产业发展实施意见

日前&#xff0c;盐城市政府印发了《关于推进大数据产业发展的实施意见》&#xff08;下称《实施意见》&#xff09;&#xff0c;从指导思想、推进原则、发展目标、发展方向、重点工程和保障措施六个方面明确了盐城市加快培育和发展大数据产业的具体实施意见&#xff0c;这是该…

json字符串转换成json对象

Json字符与Json对象的相互转换方式有很多&#xff0c;接下来将为大家一一介绍下&#xff0c;感兴趣的朋友可以参考下哈&#xff0c;希望可以帮助到你1>jQuery插件支持的转换方式&#xff1a; 代码如下:$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串…

python中的字典

字典操作 以键值对方式存在的无序数据的组合就是字典 创建字典 创建空字典 方式1&#xff1a;变量 {}方式2&#xff1a; 变量 dict() 创建多个元素的字典 方式1&#xff1a;变量 {键:值,键:值....}方式2&#xff1a;变量 dict({键:值,键:值....})方式3&#xff1a;变量 …

【深度学习】Win10安装TensorFlow_gpu(避坑必看)

不用gpu的tensorflow 是没有灵魂的Tensorflow 因为就是为了快&#xff01;快二十倍 FIRST Q&#xff1a;系统及显卡版本问题&#xff01;!!! 到官网看&#xff01;别看别的博客 ~链接&#xff1a; Windows端&#xff1a;https://tensorflow.google.cn/install/source_wind…

SCL定时 1500_iPhone12开售当天黄牛加价1500,哪里买最划算?

10月23日&#xff0c;苹果iPhone12全系列正式开售。首批货源非常抢手&#xff0c;各地的苹果商店门口都排起了长队&#xff0c;现场黄牛甚至加价1500元收购用户手机。开卖首日热度高&#xff0c;官方最快一周发货据苹果官网介绍&#xff0c;此次iPhone12系列共有4款机型&#x…

H.264编解码

H.264是由ITU-T&#xff08;ITU Telecommunication Standardization Sector&#xff0c;国际电信联盟远程通信标准化组&#xff09;视频编码专家组&#xff08;VCEG&#xff09;和ISO/IEC动态图像专家组&#xff08;MPEG&#xff09;联合组成的联合视频组&#xff08;JVT&#…

Web开发基础

-------------------siwuxie095 HTML HTML 即 HyperText Markup Language&#xff0c;超文本标记语言 由服务器返回&#xff0c;浏览器呈现 服务器 即 HTTP 服务器&#xff0c;如&#xff1a;Apache、Nginx、Tomcat 一段 HTML 代码&#xff0c;可以是存放在 HTTP 服务器上的一个…

飞信即将归来:移动企业IM面临的三大难题

企业即时通讯(以下称“企业IM” ) 激战正酣&#xff0c;中国移动也有意搅局。中国移动方面日前向北京商报记者透露&#xff0c;中国移动的IM产品将于下月正式上线&#xff0c;此次中国移动拿出的是淡出人们视线许久的飞信。由于传统通信业务持续下滑&#xff0c;正在蓬勃发展的…

【FFmpeg】Win10环境下安装FFmpeg(实现视频音频提取裁剪等)

FFmpeg概述 在语音识别领域内&#xff0c;如何识别准确识别语音的第一步就是要将从音频文件中提取相关语音特征。同时对于各大语音接口如百度对于音频文件格式要求高&#xff0c;但是对于实际情况下&#xff0c;我们不可能都能拿到WAV文件&#xff0c;因此必须将首先将各种格式…