段保通,黄石华
(中国电信股份有限公司上海研究院 上海 200122)
在三网融合业务发展中,信息服务将覆盖文字、语音、数据、图像、视频等多种媒体信息综合服务形式,同时用户使用的终端也将呈现多样化、统一化,比如电视机、游戏机、机顶盒、手机、电脑、电冰箱等,不同的终端之间除了形式不同外,功能可能已经趋于一致,比如可使用电视机上网浏览,用电脑看电视,用冰箱打电话等。这些终端的后台通信以及数据传输渠道可能各不相同、各自独立,但是对用户使用来讲完全一致,丝毫没有差异的感觉。
为了达到这种用户体验的一致,又能适合各种不同终端处理、不同网络传输的目标,需要用到多种自适应、自适配的机制和技术,而自适应编码技术[1]就是解决关键的视频数据信息处理和传输的方法和环节之一。
自适应编码技术本身在早期流媒体视频业务发展中,就已经得到了初步的应用和发展,作为提升视频业务质量的有效手段之一,已经出现的自适应编码技术包括以下两种。
(1)实时编码算法自适应技术方案,该方案主要以视频编码方法为核心,首先探测视频信息的解码终端、传输网络、环境的相关变化,并根据这些变化的反馈自动调整编码相关参数或算法,使得视频流的输出能够适应当前网络传输的实际情况。这种方法适用于单点到单点或少数几个点的视频传输应用,比如视频电话、视频监控、远程视频会议等。
(2)多码率自适应技术,这种方案是在编码器前段预置多个规格的码流输出,其中每种码流输出适配一定的终端和网络承载情况,而对终端提供实际流数据传输和自适应的工作由流服务器完成,流服务负责对终端传输的网络条件进行探测,并根据实际情况,选择一路合适的码流输出发送给终端,完成自动适配。这种技术适用于广播式,即一点对多点的业务模式,比如IPTV、在线影院等。
随着编解码技术的不断发展和三网融合等相关业务的迅速崛起,近年来,又出现了专门应对自适应特性的SVC分层编码技术[2],为视频自适应编码方案带来了更加灵活和有效的手段和方法,也逐渐成为当前视频编码技术及实现方案的热点之一。
H.264/SVC(可扩展视频编码)[3]在进行视频信号编码时,将图像压缩信号的输出分成多个不同的层。当网络条件较差、带宽不足时,网络和终端只对基本层的码流数据进行传输和解码;而当带宽条件改善,整个系统则可以进一步传输和解码增强层的码流,提高视频图像的质量。
SVC于2007年7月获得ITU-T批准,成为H.264标准的一部分。当前的大部分研究和试验都是基于H.264标准进行的,实际上SVC技术并不限于H.264编码格式本身,其他一些编码格式应该都可以利用SVC类似技术提高视频应用的整体质量。
H.264/AVC扩展的SVC提供了一个完整的时—空域和SNR可分级性,技术特点主要表现在以下几个方面。
·时域分级性:主要是采用层次化B帧和基于运动补偿的时域滤波(MCTF)实现。
·用于空域可伸缩性的层间预测机制:主要使用层间帧内纹理预测和层间运动补偿冗余信息预测实现。
·基本层与H.264/AVC兼容:可以单独被解码。
·Fine Grain的SNR分级(FGS):通过在每个空域层对变换系数渐精细地量化编码实现,实现多个质量增强层。
·Coarse Grain SNR分级性(CGS):不同层具有相同的分辨率,进行层间预测时,运动信息和纹理信息都不需要缩放。
·NAL单元概念的使用和扩展:当需要降低时域或者空域分辨率比特流时,可以丢弃不需要的NAL单元,只需要得到基本层所需要的NAL单元。
综合上述的SVC各种特性,与MPEG-2、MPEG-4等标准中的方法相比,H.264/AVC可分级编码的时空域分层是通过增加MCTF和几个层间的预测算法进行的;质量可伸缩性是通过H.264标准中对冗余信息的量化改进得到的,即先用与H.264标准兼容的编码方法编码最低的视频流,然后对变换系数逐次细分进行编码,得到增强层码流。H.264标准的SVC把以上几种特点有机地结合在一起,使输出码流能适应较大的网络带宽动态变化范围,提供可伸缩性更强的视频流。
随着三网融合业务的快速发展,运营商对SVC等相关的编码技术十分关注。在新形势下,业务不断发展,市场竞争加剧,用户的需求不断提高,这些都对视频业务的质量提出了更高的要求,要想快速发展,推出真正有吸引力的产品和服务,赢得用户的满意,就必须解决当前视频业务中一些亟待解决的重点问题。以SVC为代表的新型编码,自适应技术为这些问题的解决和完善带来了新的方法和思路,也是当前急需推进和大力发展的重点技术内容。
结合当前SVC技术本身的发展情况以及三网融合业务的实际进展,我们认为,当前可优先在如下场景中引入SVC技术。
SVC的设计目标就是有效提升视频服务的质量,并能针对不同的带宽变化以及不同的终端能力进行自动适配。当前,多个运营商都已经经营了全业务视频服务,终端包括了PC、IPTV、手机、魔屏等各种不同形态。其中大部分业务用户量规模较大,有较强的社会影响力,同时横跨了以电视机为载体的广电电视业务、以PC为终端的数字通信业务和以手机为代表的移动电信业务,很好地代表了三网融合业务的一部分发展方向和应用场景。
从这些业务多年的发展经验来看,视频服务质量正在不断完善和优化,用户满意度也正在逐步提升,但是整体的视频服务质量仍然存在不少问题需要解决,包括图像质量、播放流畅度等都不同层次问题,而且用户本身对于视频服务质量的要求越来越高,技术的完善和进步距离用户的满意程度还存在一定的距离,从而造成了对用户吸引力的下降,影响了业务的进一步发展。总之,在以视频业务为主要内容的三网融合业务中,视频服务质量仍然是当前一个技术难点,视频质量的提升将在较长一段时间内作为技术研究的核心内容之一,引入SVC技术是最为重要且最有意义的一环。
视频业务运营的经验表明,视频服务质量是一个端到端的保障服务体系,视频服务质量的问题可能由很多因素或者环节造成。为了尽量保证视频服务的质量,运营商对不同的业务模式采取了不同的技术方案。比如,当前的IPTV业务采用专网承载方式,承载网络不受其他业务或流量的影响,网络条件较好,视频质量相对有一定的保障。而互联网视频业务采用互联网承载方案,因互联网本身的流量难以管理,流量互相竞争,导致网络的承载条件无法保障,在这种模式下,互联网业务大多都以免费模式为主,用户相对视频质量的要求也不是很高。当前的移动视频业务作为运营商的重点推介产品,是各个运营商3G业务中的重点填充内容,是带动3G网络发展和流量经营的重要渠道和方法。移动视频业务基于3G无线承载,网络流量有一定的费用,用户贡献价值最高,但是质量却最没有保证,成为当前矛盾最为突出、最亟待解决的问题。同时在移动视频业务中,影响视频质量最关键的瓶颈就是网络条件变化频繁,容易引起质量严重下降。从这个角度看,移动视频业务也正是SVC技术的用武之地,应该积极在这一领域进行尝试和试验。
在三网融合业务中,用户可随意使用PC、IPTV、手机或其他形式的三网融合终端进行各种互动。比如使用手机和电视终端进行节目书签互动和同步,可在地铁上使用手机接着电视转播的书签继续观看;使用手机和PC进行三屏内容互动,可将手机拍摄的视频分享在好友的IPTV和PC上,远程教育的老师使用PC讲课,而学生可使用手机和IPTV听课等。
从以上这些描述可以看出,在多屏互动业务中,不管终端和屏幕是何种形式,互动的视频内容始终是相同的。无论是书签的互动,还是节目与课程的互动,都必须基于一个前提,就是不同屏幕播放内容必须是完全对应的。而SVC技术采用的多层编码方式,正好适合这种需求和方式。SVC可以很方便地实现同一个内容为不同的终端提供不同的媒体服务,比如使用同一个媒体文件为PC、IPTV、手机、魔屏提供不同分辨率和不同码率质量的视频服务。
同时,三屏互动业务中终端形态各异、能力各不相同,当进行互动和互通时,视频信息适配是首当其冲的重点问题,而SVC正是解决该问题的最好方法。比如PC采集输出的视频流质量较高,与手机互通时手机无法完全接收或解码,此时应用SVC技术只传输基本层媒体流给手机观看,而PC或IPTV可同时接收包括基本层和扩展层的媒体数据流。
随着三网融合的发展,运营商经营的全业务视频业务迎来了新的和全面的挑战。市场竞争不仅仅是针对用户服务质量的提升和优化,与合作伙伴和产业链的互动与整合,整个后台管理和运维支撑的有效性、运营成本和方案的合理性都成为业务发展和竞争的重要环节。
在三网融合之前,各种业务分开经营,内容源分别引入,针对不同终端、不同屏幕分别进行编码和存储,各种业务使用的内容管理和分发平台各自独立。而在三网融合模式下,必须对内容源头进行统一的引入、统一编码和存储,只有这样才能实现三屏互动、三屏同看等相关的新型业务类型。原有那种内容各自引入、各自编码和存储的模式已经无法适应新形式的需要了。同时,随着内容数量的急剧增大,内容管理和运营的工作量急剧上升,要满足内容运营的及时性和丰富性,必须使用统一、有效的内容管理模式和存储模式。而SVC编码方式可以使用同一个媒体文件存储不同层次的编码流数据,而且这些流数据本身具有极大的图像相关性,在节省存储空间的同时,又为不同屏幕、不同分辨率、不同接入环境提供相应的视频服务。因此,应该尽量在统一内容管理和统一内容存储技术中引入SVC,完成内容编码和存储的统一处理和统一管理。在这种模式下,要求使用SVC技术对同一内容源进行编码,然后存储成多个分层,分别对应手机、PC、电视机等不同终端和网络条件,可以实现一个内容存储文件适配所有终端和网络条件。在运营管理上,等于实现多个操作合为一个操作,避免了多文件存储、分发、同步、检测等复杂操作。在节省存储资源的同时,简化了系统整体架构和运维管理的流程,便于内容运营效率的提升。
这种技术是利用转码技术实现自适应编码,首先在服务器中保存一份质量足够好的压缩视频数据,当需要降低输出码率时,可由相应的转码模块进行转码后再输出。转码可分为几种方式,比较基本的是:全解全编进行转码,在编码过程中,通过改变压缩参数达到降低码率的目的,编码的参数改变主要通过改变量化步长实现,全编全解得到的PSNR值最高,但效率低。另一种较高效的转码方式是进行部分的解码和编码,就可以输出合适的视频数据流,这种转码主要实现方法是选择性丢弃视频数据中不重要的部分,即舍弃后不会严重影响观看质量,如选择性丢帧或丢弃DCT系数的高频分量。或者进行再量化,此时解码出来的运动向量及预测值等都可以不变。这种技术系统复杂性相对较低,但服务器计算资源开销仍然较大,如果大量用户同时进行点播,服务器难以承受。
为了减少开销,自适应转码技术[4]有多种研究方向,比如码率转换(bit-rate reduction)、空间分辨率转换(spatial resolution reduction)、时间分辨率转换(temporal resolution reduction)、语法转换等。随着数字电视和IPTV的发展,目前重点在MPEG-2转H.264的转码研究上,最新的研究包括H.264变换域转码、H.264快速模式选择算法、H.264转码快速运动估计技术等。
这种技术一般是在服务器中同时保存同一个视频节目的多个或多层数据,在未运用SVC技术之前,这些数据可以是独立的多个拷贝,也可以是单文件内多个数据轨道,进一步运用SVC技术可以进一步消除这多个拷贝或多层轨道数据之间的数据冗余,极大地节省存储资源。一般来讲,这些码流的帧内编码帧(I帧)应该是对齐的,由服务器根据用户网络带宽情况选择一个适当的码流发送给用户。
这种技术的优点是编码和自动适配分别由不同的单元完成,编码器输出后,自适应码流切换的工作由流服务器完成。因此,编码单元的输出封装格式必须采用一定的标准,使得流服务器能够识别,才能完成码流数据的识别和获取以及服务过程中关键帧搜索、时间定位服务等功能。
这种技术在以往的流媒体视频业务中得了较多的应用,比如在WMV、标准RTSP以及REAL等流媒体系统,技术相对成熟。在RTSP协议中,客户端的setup请求可通过对trackID的指定选择不同的媒体流数据,服务端可通过set parameter等指令重新指定相关的参数并发送新的数据流,完成自动切换。但是原有的切换机制只能完成一路码流向另一路的切换,在SVC中,就需要在多层码流中进行切换。这样就需要对原有的信令进行扩充,扩充的内容应该包括可提供分层编码数据流公告、实际切换指令和请求、切换的媒体数据协商信令等。
虽然SVC作为H.264标准的一个扩展,但是其本身对于媒体封装和传输的格式带来了较大的影响。原有媒体文件标准格式中,缺乏对于SVC编码产生的多层码流描述和标志位,对于多层编码数据组织,媒体音、视频数据同步以及定位搜索都不可能涵盖。而在SVC中,这些机制需要进行新的定义,增加一些新的扩展。
当前,H.264视频封装的媒体文件标准为MP4,事实上也存在FLV、MKV、TS流文件等多种形式。在MP4文件格式标准中,不同码率或分辨率的媒体数据可以以不同的轨道进行保存,两个轨道之间互不影响。因此对于SVC码流文件的封装可采用基本层和扩展层分轨道保存的形式,并同时在媒体文件索引头结构中增加相应的标志位,标识相关的分层编码信息。
SVC的文件封装格式已有相关研究给出了建议,但是尚未形成实质性标准,推进比较小。对于面向大规模商用的SVC技术,必须形成明确的工业标准化,才能保证不同厂商、不同平台的接口互通以及稳定和可靠的衔接。当前的文件封装和码流封装标准化已经在一定程度上影响了SVC技术的实际应用和推广。
在传统媒体应用中,直播流大多采用RTP标准进行封装和传输。为了支持SVC,目前已经有提交给IETF的H.264/SVC的RTP封装草案[5],在载荷格式标志上增加了一个新的媒体格式命名为“H.264/SVC”,但如果只是基本层的数据仍然以“H.264”命名。
在进行SVC的直播流传输中,目前多数研究[6]都是将基本层和增强层数据分成两个不同的信道进行传输,并利用RTP的封装进行增强层的数据差错隐藏,在基本层走低误码率通道,增强层走高误码率通道的情况下,进行丢包率实验测试后,表明视频的客观和主观指标都比通常方式有所提高,可充分利用SVC的分层和RTP传输结合的特性。
三网融合业务中的IPTV和数字电视都采用了TS流封装格式,网络条件和传输通道都有较好保障。这种情况下,SVC需要考虑TS流的封装格式,采用TS流封装时,可通过对NAL单元进行扩充,区别SVC基本层和扩展层数据,TS层不进行区分,传输可继续采用原有的单通道传输模式。
在以前的互联网流媒体业务中,多码率自适应技术曾经得到了一些较为广泛的应用,但是对于网络带宽实时变化的检测技术仍然存在一定的缺陷,导致使用体验不太理想。一个典型的问题就是用户在观看时,如果网络条件劣化,系统可自动从高码率切换到低码率,但是从低码率切换到高码率的时机却很难探测和把握,自动带宽探测的机制还不是很完善。同样,如果带宽检测技术没有突破,SVC的优势就很难发挥和表现出来。
目前在互联网中主要采用和式增加、积式减少(AIMD)的拥塞控制机制进行带宽检测,常用的方法主要是基于RTCP数据传输的统计得到一些传输的质量指标。随着目前流媒体应用的不断发展,出现了HTTP、RTP over TCP等多种传输方式,原有基于RTCP的计算已经不太合适了,难以反映实时传输的质量和情况。同时对于AIMD,也需要进行很多改进,比如在点播中,以丢包为参数,研究具有学习能力的速率控制机制,再利用SVC的特性进行码率的切换。
当前,随着3G移动视频业务的发展,移动视频带宽检测质量更加重要,也更加复杂。在无线网络条件下,有时带宽条件变化比较频繁,除了带宽检测之外,还应该采取一定的策略防止切换产生乒乓效应,并制定带宽切换模型等。在当前的技术条件下,移动视频应用层大多都继续使用TCP或UDP进行视频信号的传输。但TCP/UDP缺乏对无线网络质量的反馈,比如基本的无线信号质量或者强弱无法通过这些协议得到,也没有标准的应用层接口,导致应用对网络的变化无法感知,需要通过很多变通手段才能达到目的。这些问题都是带宽检测机制的实际难点和重点,对整个技术的应用非常关键和重要。
SVC自适应编码需要编码器和解码器的互相配合,而当前运营商经营的视频业务已经过多年发展,原有的终端类型非常丰富,且数量巨大,这些存量终端很难经过升级直接支持SVC解码,因此必须逐步引入和过渡到SVC技术。SVC技术要想得到广泛的应用,也必须注意这一点。系统结构如图1所示。
图1 系统结构
首先,编码端通过升级完成对SVC编码的支持,输出采用SVC格式的视频流,并经过平台进行存储和分发。平台在为终端提供服务时,可以根据不同的终端和网络进行相应的适配,如果是旧的终端,不支持SVC,就需要发送单一流形式(原有格式),并按照原有的方式提供服务。对于新类型的终端,平台可以尽量利用SVC特性,根据终端的不同发送相应的SVC单层或多层编码流,完成SVC的支持。
随着云计算的发展,采用实时转码适配终端和网络的云转码方案初步得到了应用,并成为一些使用场景下的较好方案。因为实时转码需要消耗大量的计算资源,一般应用在访问量不大,但是数量较多的冷片内容存储和访问上。如果离线转码进行存储,消耗的存储资源较多,而且利用率较低,如果利用实时转码,可节省大量存储资源,并且因为访问量小,消耗的计算资源不多,刚好可以满足用户的需求。编码方案如图2所示。
图2 利用SVC转码器的转码方案
在这种方案中,原有的编码器继续采用原有编码方案,输出为单一的视频流。在终端和平台之间增加一个SVC的实时转码器,当终端访问平台时,平台会自动对该终端和接入网络进行判断,判断该终端是否可以接收编码器输出的流。如果两者不适配,就自动分配终端从SVC转码器上接收视频流,此时SVC转码器会自动将平台上原有的单一视频流转码为适合该终端形式的SVC流,并发送给终端,这样即可完成对终端的自动适配。
在实际应用中,这两种方法会综合运营,根据不同的业务形式和不同的应用场景灵活组合使用,互为补充,互相配合。
随着三网融合业务的快速发展,各种业务应用快速增长,以视频质量为核心的自适应编码技术也必将获得广泛的推广和应用,必将为视频质量的提升带来更多、更灵活的解决思路和保障手段,一定会为三网融合提供更加合理、更加便利的解决方案和业务应用。但是应该看到,目前以SVC为代表的自适应编码技术在编码算法和实现上虽然已经趋于成熟,但是与应用紧密结合的文件封装、传输标准、紧密相关码流检测、自动切换等技术却没有大的突破,导致距离大规模商用还需一定的时间。对此,我们应当予以重视,加大研究的力度,并推进各技术标准组织之间的紧密配合,使得自适应编码能够快速发展成为符合当前实际商用需求、可大规模推广的完整技术。
1 毕厚杰.新一代视频压缩编码标准——H.264/AVC.北京:人民邮电出版社,2005
2 OHM J-R.Advances in scalable video coding.Proceedings of the IEEE,2005,93(1):42~56
3 ITU-T,ISO/IEC JTC1,JVT-N020.Joint scalable video model JS-VM 0,2005
4 尚书林,杜清秀,卢汉清等.视频转码技术研究现状与最新进展.自动化学报,2007,33(12)
5 Wenger S,Wang Y K,Schierl T,et al.RTP payload format for SVC video,http://tools.ietf.org/html/draft-ietf-avt-rtp-svc-20, 2008
6 柳伟,陈旭,梁永生.H.264/SVC的RTP封装算法及其应用.计算机工程与应用,2010,46(19)
7 谢正光,包志华,徐晨等.分布式视频编码关键技术及其发展趋势.电信科学,2009,25(9)