高端品牌网站建设有哪些,网站建设 广州佛山,网站建设是什么时间段申请域名,wordpress 宝宝主题一、 引言 H.264是ITU-T最新的视频编码标准#xff0c;被称作ISO/IEC14496-10或MPEG-4 AVC#xff0c;是由运动图像专家组(MPEG)和ITU的视频编码专家组共同开发的新产品。H.264分两层结构#xff0c;包括视频编码层和网络适配层。视频编码层处理的是块、宏块和片的数据…一、 引言 H.264是ITU-T最新的视频编码标准被称作ISO/IEC14496-10或MPEG-4 AVC是由运动图像专家组(MPEG)和ITU的视频编码专家组共同开发的新产品。H.264分两层结构包括视频编码层和网络适配层。视频编码层处理的是块、宏块和片的数据并尽量做到与网络层独立这是视频编码的核心其中包含许多实现错误恢复的工具网络适配层处理的是片结构以上的数据使H.264能够在基于RTP/UDP/IP、H.323/M、MPEG-2传输和H.320协议的网络中使用。 二、 IP网络对视频压缩的限制 1. H.264的应用场合 typetext/javascript typetext/javascript srchttp://pagead2.googlesyndication.com/pagead/show_ads.js 在讨论基于IP的H.264之前有必要先阐述一下H.264与IP网络有关的应用场合及其对传输和编解码器的要求。下面介绍对话应用、下载服务和流媒体应用三种场合。 对话应用比如像视频电话和视频会议有严格的时延限制要求端到端时延小于1s最好小于100ms。编解码器的参数能实时调整错误恢复机制要根据实际网络变化而改变。编解码的复杂度不能很高比如双向预测的模式就不能被采用。 下载服务可使用可靠的传输协议如FTP和HTTP将数据全部传输。由于这种应用的非实时性编码器可以通过优化进行高效编码而且对时延和错误恢复机制没有要求。 流媒体服务应用对时延要求介于上面两者之间初始化时延是10s以内。与实时编码相比对时延要求降低编码器可以进行优化实现高效编码(比如双向预测)。然而通常流媒体服务使用不可靠的传输协议所以编码时要进行差错控制并进行信道纠错编码。 本文主要讨论对话应用和流媒体应用这两种应用基于IP网络。IP网络又可分为三种类型不可控IP网络(如Internet)、可控IP网络(广域网)和无线IP网络(如3G网络)。这三种IP网络有不同的最大传输单元尺寸(MTUsize)、比特出错概率和TCP使用标记。最大传输单元尺寸是网络层最大的分组长度H.264编码时要使片的长度小于MTU尺寸这样可避免在网络层再进行一次数据的分割。两个IP节点之间的MTU尺寸是动态变化的通常假定有线IP网络的MTU尺寸是1.5千字节无线网络的MTU尺寸是100字节。可见要适用于无线网络的H.264必须采用数据分割技术使得片的长度小于MTU尺寸。TCP传输控制协议能够解决网络拥塞引起的分组丢失问题而在无线网络中分组丢失是由于链路层错误引起的TCP并非很好的解决办法要采用差错控制协议。 2. H.264使用的协议环境 对话应用和流媒体应用使用同一协议组下面进行讨论。 网络层协议使用IP(网际协议)。每个IP分组单独从发方出发经过一系列的路由器到达收方。IP将大于MTU尺寸的分组进行数据分割、重组。每个分组的传输时间都有所不同。IP头20个字节由校验码来保证但数据没有保护。IP分组最大值为64千字节但由于MTU尺寸的限制一般没有这么大。 传输层协议主要有两个协议TCP和UDP。TCP提供面向字节的可靠传输服务以重传和超时等机制作为差错控制的基础。由于对时延的不可预测并不适用于实时通信传输。UDP提供不可靠的数据报传输业务。UDP头包含的校验数(8字节)可以发现和去掉含有比特错误的分组。UDP允许分组传输过程中出现丢失、复制、改序等。使用UDP协议时高层必须使用错误恢复协议。 应用层传输协议使用RTP(实时传输协议)。该协议和IP/UDP结合使用是面向会话的协议。每个RTP分组包含RTP头标载荷头标(可选)和载荷本身。RTP头标的内容见图1基本选项占用12字节标记位标记有同一时间戳的一组分组的结束。RTP协议使发送方将数据分为大小合理的分组并将解码方观察到的网络特征反馈给发送方使发送方可以动态调整比特率和抗误码机制。RTP分组和RTP载荷规范在第四部分讨论。 应用层控制协议有H.245协议、SIP和SDP或RTSP。这些协议可以实现流媒体的控制收发方的协商和控制动态会话层。 三、H.264的错误恢复工具 错误恢复的工具随着视频压缩编码技术的提高在不断改进。旧的标准(H.261、H263、MPEG-2的第二部分)中使用片和宏块组的划分、帧内编码宏块、帧内编码片和帧内编码图像来防止错误的扩散。之后改进的标准(H.263、MPEG-4)中使用多帧参考和数据分割技术来恢复错误。H.264标准在以前的基础上提出了三种关键技术(1)参数集合(2) 灵活的宏块次序(FMO)(3)冗余片(RS)来进行错误的恢复。 1. 帧内编码 H.264中帧内编码的技术和以前标准一样值得注意的是 (1)H.264中的帧内预测编码宏块的参考宏块可以是帧间编码宏块帧内预测宏块并不像H.263中的帧内编码一样而采用预测的帧内编码比非预测的帧内编码有更好的编码效率但减少了帧内编码的重同步性能可以通过设置限制帧内预测标记来恢复这一性能。 (2)只包含帧内宏块的片有两种一种是帧内片(Islice)一种是立即刷新片(IDRslice)立即刷新片必存在于立即刷新图像(IDRpicture)中。与短期参考图像相比立即刷新图像有更强壮的重同步性能。 在无线IP网络环境下为了提高帧内图像的重同步性能要采用率失真优化编码和设置限制帧内预测标记。 2. 图像的分割 H.264支持一幅图像划分成片片中宏块的数目是任意的。在非FMO模式下片中的宏块次序是同光栅扫描顺序FMO模式下比较特殊。片的划分可以适配不同的MTU尺寸也可以用来交织分组打包。 3. 参考图像选择 参考图像数据选择不论是基于宏块、基于片还是基于帧都是错误恢复的有效工具。对于有反馈的系统编码器获得传输中丢失图像区域的信息后参考图像可以选择解码已经正确接收的图像对应的原图像区域作参考。在没有反馈的系统中将会使用冗余的编码来增加错误恢复性能。 4. 数据的划分 通常情况下一个宏块的数据是存放在一起而组成片的数据划分使得一个片中的宏块数据重新组合把宏块语义相关的数据组成一个划分由划分来组装片。在H.264中有三种不同的数据划分。 (1)头信息划分包含片中宏块的类型量化参数和运动矢量是片中最重要的信息。 (2)帧内信息划分包含帧内CBPs和帧内系数帧内信息可以阻止错误的蔓延。 (3)帧间信息划分包含帧间CBPs和帧间系数通常比前两个划分要大得多。 帧内信息划分结合头信息解出帧内宏块帧间信息划分结合头信息解出帧间宏块。帧间信息划分的重要性最低对重同步没有贡献。当使用数据划分时片中的数据根据其类型被保存到不同的缓存同时片的大小也要调整使得片中最大的划分小于MTU尺寸。 解码端若获得所有的划分就可以完整重构片解码端若发现帧内信息或帧间信息划分丢失可用的头信息仍然有很好的错误恢复性能。这是因为宏块类型和宏块的运动矢量含有宏块的基本特征。 5. 参数集的使用 序列的参数集(SPS)包括了一个图像序列的所有信息图像的参数集(PPS)包括了一个图像所有片的信息。多个不同的序列和图像参数集经排序存放在解码器。编码器参考序列参数集设置图像参数集依据每一个已编码片的片头的存储地址选择合适的图像参数集来使用。对序列的参数和图像的参数进行重点保护才能很好地增强H.264错误恢复性能。 在差错信道中使用参数集的关键是保证参数集及时、可靠地到达解码端。例如在实时信道中编码器用可靠控制协议及早将他们以带外传输的方式发送使控制协议能够在引用新参数的第一个片到达之前把它们发给解码器另外一个办法就是使用应用层保护重发多个备份文件确保至少有一个备份数据到达解码端第三个办法就是在编解码器的硬件中固化参数集设置。 6. 灵活的宏块次序(FMO) 灵活的宏块次序是H.264的一大特色通过设置宏块次序映射表(MBAmap)来任意地指配宏块到不同的片组FMO模式打乱了原宏块顺序降低了编码效率增加了时延但增强了抗误码性能。FMO模式划分图像的模式各种各样重要的有棋盘模式、矩形模式等。当然FMO模式也可以使一帧中的宏块顺序分割使得分割后的片的大小小于无线网络的MTU尺寸。经过FMO模式分割后的图像数据分开进行传输以棋盘模式为例当一个片组的数据丢失时可用另一个片组的数据(包含丢失宏块的相邻宏块信息)进行错误掩盖。实验数据显示当丢失率为(视频会议应用时)10%时经错误掩盖后的图像仍然有很高的质量。 7. 冗余片方法 前边提到了当使用无反馈的系统时就不能使用参考帧选择的方法来进行错误恢复应该在编码时增加冗余的片来增强抗误码性能。要注意的是这些冗余片的编码参数与非冗余片的编码参数不同也就是用一个模糊的冗余片附加在一个清晰的片之后。在解码时先解清晰的片如果其可用就丢弃冗余片否则使用冗余模糊片来重构图像。 四、H.264中实时传输协议(RTP) 1. RTP载荷规范 在第二部分已经对H.264的网络协议环境作了阐述这里要详细讨论RTP的载荷规范和抗误码性能。RTP通过发送冗余信息来减少接收端的丢包率会增加时延与冗余片不同的是它增加的冗余信息是个别重点信息的备份适合于应用层的非等重保护。下边阐述与多媒体传输有关的3个规范。 (1)分组复制多次重发发送端对最重要的比特信息分组进行复制重发使得保证接收端能至少正确接收到一次同时接收端要丢弃已经正确接收的分组的多余备份。 (2)基于分组的前向纠错对被保护的分组进行异或运算将运算结果作为冗余信息发送到接收方。由于时延不用于对话型应用可用于流媒体。 (3)音频冗余编码可保护包括视频在内的任何数据流。每个分组由头标、载荷以及前一分组的载荷组成H.264中可与数据分割一起使用。 2. H.264 NAL单元的概念 H.264 NAL单元对编码数据进行打包NAL单元由1字节的头3个定长的字段和一个字节数不定的编码段组成。 头标的语法NALU类型(5bit)、重要性指示位(2bit)、禁止位(1bit)。 NALU类型112由H.264使用2431由H.264以外的应用使用。 重要性指示标志该NAL单元用于重建时的重要性值越大越重要。 禁止位网络发现NAL单元有比特错误时可设置该比特为1以便接收方丢掉该单元。 3. 分组打包的规则 (1)额外开销要少使MTU尺寸在10064k字节范围都可以 (2)不用对分组内的数据解码就可以判别该分组的重要性 (3)载荷规范应当保证不用解码就可识别由于其他的比特丢失而造成的分组不可解码 (4)支持将NALU分割成多个RTP分组 (5)支持将多个NALU汇集在一个RTP分组中。 RTP的头标可以是NALU的头标并可以实现以上的打包规则。 4. 简单打包 一个RTP分组里放入一个NALU将NALU(包括同时作为载荷头标的NALU头)放入RTP的载荷中设置RTP头标值。为了避免IP层对大分组的再一次分割片分组的大小一般都要小于MTU尺寸。由于包传送的路径不同解码端要重新对片分组排序RTP包含的次序信息可以用来解决这一问题。 5. NALU分割 对于预先已经编码的内容NALU可能大于MTU尺寸的限制。虽然IP层的分割可以使数据块小于64千字节但无法在应用层实现保护从而降低了非等重保护方案的效果。由于UDP数据包小于64千字节而且一个片的长度对某些应用场合来说太小所以应用层打包是RTP打包方案的一部分。 新的讨论方案(IETF)应当符合以下特征 (1)NALU的分块以按RTP次序号升序传输 (2)能够标记第一个和最后一个NALU分块 (3)可以检测丢失的分块。 6. NALU合并 一些NALU如SEI、参数集等非常小将它们合并在一起有利于减少头标开销。已有两种集合分组 (1)单一时间集合分组(STAP)按时间戳进行组合 (2)多时间集合分组(MTAP)不同时间戳也可以组合。 五、结束语 本文重点讲述了在IP网络的限制条件下H.264进行错误恢复的几种有力工具但在不同的IP网络中要组合使用各种工具才能实现高效率编码和传输。因为目前无线网络对MTU尺寸和时延的限制所以错误恢复工具可以结合使用图像的分割、数据的划分和RTP分组技术避免使用冗余信息和反馈来提高错误恢复性能另外高效率的FMO编码模式可以大大提高编码的抗分组丢失性能。
本文来自CSDN博客转载请标明出处http://blog.csdn.net/fengyv/archive/2006/05/09/714972.aspx