基于H.264视频压缩技术的网络授课系统设计
2012-12-27曾文献李子会马倩倩
曾文献,李子会,马倩倩
(河北经贸大学 信息技术学院,河北 石家庄 050061)
●教育教学研究
基于H.264视频压缩技术的网络授课系统设计
曾文献,李子会,马倩倩
(河北经贸大学 信息技术学院,河北 石家庄 050061)
H.264具有较高的编码效审、更好的网络适应能力和容错功能,针对其特点和关键技术在高压缩率、高图像质量、低带宽的目标下对网络授课系统中的功能模块进行设计,可以有效地改善网络授课系统在视频处理方面的性能,使网络教学更加生动。
H.264;视频压缩;网络授课系统
一、引言
网络授课系统是集计算机技术、多媒体技术和网络技术等多学科为一体的融合产物,为用户提供了时间地点可分散、资源可共享的交互式学习方式,突破了传统教学模式的“束缚”[1]。这种教学方式有助于提高学生的独立探索和协同工作能力。网络授课系统在今后的教学中必将作为一种全新的手段而被广泛应用,但当前其仍然存在着一些不足:视频数据流对网络带宽及实时性要求很高,而网络的传输速率往往达不到要求,例如,对于分辨率为1 024×768、帧率为30fps的条件下,传输码率要求为(1 024×768×3)×30×8≈540Mbps,并且还要传输控制命令、交流信息以及传输头信息等,应用以前的视频压缩算法达到的效果不是令人十分满意,如果为了降低带宽而采用了太大的压缩比又会导致图像的质量不能满足教学需求,而压缩标准的出现很好地解决了这一问题。
以往的H.261、MPEG-2和MPEG-4等压缩标准在网络授课系统的视频编码中已经得到了广泛的应用。而由“国际电联(ITU-T)”和“国际标准化组织(ISO)”共同组建的联合视频组(JVT)公布的H.264标准,不仅具有良好的带宽适应性,还具有非常高的视频压缩率。在同等图像质量的条件下,H.264的压缩比是MPEG-4的1.5倍~2倍,是H.263的大约1倍。在校园网传输所占的带宽中,MPEG-1在25帧/s传输时需500kps带宽,MPEG-4在25帧/s传输时需256kps带宽,而H.264在25帧/s传输时只需125kps带宽[2]。总之,应用H.264标准不仅具有较大的压缩比、降低了带宽,同时仍具有流畅的高清晰画面。
二、H.264视频压缩技术简介
相对于以前的视频编码标准,H.264具有更高的编码效率,更清晰的视频画面,更好的网络适应能力及容错功能等。它不仅包含一个规定视频编码算法的视频编码层(VCL,Video Coding Layer),还包括了一个规定网络传输规范的网络抽取层(NAL,Network Abatraction Layer)。VCL 采取的编码框架仍是传统的混合编码框架,但它采用多种新技术所产生的累积效果使编码效率有了很大的提高。NAL主要是用来提供视频数据的头部信息,以适应各种媒体的传输、存储和支持VCL层的数据在不同网络中的应用,从而实现网络友好性的任务。
H.264中采用了多种新的帧内预测方法、可变尺寸块的运动补偿技术、多参考帧的运动补偿技术、4×4整数变换技术、新的环路滤波技术、熵编码等,这些技术使其在具有高压缩比的同时还拥有高质量和流畅的图像。
(一)帧内编码
为了提高编码效率,能够更好地消除图像的空间冗余,H.264的帧内编码采用帧内预测模式。其原理主要依据图像相邻宏块间的相关性,先通过己编码的宏块(尤其是当前宏块左边和上边的相邻宏块)来预测当前宏块得到预测值,如图1所示(大写字母代表邻近已经解码重构的参考像素,小写字母表示待预测像素),然后将当前宏块与预测值作差,最后将差值进行变换编码。预测分为8×8色度块、16×16亮度块和4×4亮度块三种模式。
图1 4×4亮度块的预测
4×4亮度块帧内预测模式包括:模式0(垂直预测),当 A、B、C、D 在图像内,a、e、i、m 像素的预测值为 A;模式 1(水平预测),当 J、K、L、M 在图像之内,a、b、c、d 像素的预测值为 J;模式 2(DC 系数预测),当左边和上边像素都在图像内,是A、B、C、D、J、K、L、M这8个像素值的平均值。当左边和上边像素只有一边在图像内时,预测值为那一边四像素的均值。当左边和上边像素都不在图像内时,每个像素的预测值均为128;模式3和4是对角线方向,方向分别是朝向左下和右下;模式5、6、7和8分别是竖直偏右、水平偏下、竖直偏左和水平偏上方向上的预测。
8×8色度信号块的预测模式包括:DC模式,当A、B、J、K 都不在帧内时,有 a=b=e=f=128;水平模式,当只有 J和 K 在帧内时,a=b=(J+2)/4,e=f=(K+2)/4;垂直模式,当只有 A 和 B 在帧内,a=e=(A+2)/4,b=f=(B+2)/4;平面模式(Plane),当 A、B、J、K 都在帧内时,a=(A+J+2)/4,b=(B+2)/4,e=(K+2)/4,f=(B+K+2)/4。
当图像包含少量信息时,H.264采用16×l6亮度块的帧内预测,这种预测方式也分垂直模式、水平模式、DC模式、平面模式(Plane)四种。
(二)帧间编码
1.不同块大小的帧间预测。H.264标准中进行帧间预测的每个 16×l6 宏块可分为 8×16,16×8,8× 8,8×4,4×8,4×4 的小块进行编码(见图 2)。这种灵活细致的划分,更容易接近图像中实际运动对象的形状,大大提高了运动估计的精确度,从而对运动细节的处理和视觉效果的提高有很大的帮助。
图2 块的划分
2.高精度的运动估计算法。H.264的运动估计可以达到1/4、1/8像素,它主要是通过插值来获得像素值。其中1/2像素预测值由一个6抽头滤波得到,1/4像素的预测值则由相邻的整数像素和1/2像素的均值得出。因为1/8像素精度需采用大量的插值滤波器,且计算复杂度大大增加,故一般不考虑1/8像素精度运动矢量。
(三)多参考帧技术
H.264使用最多5个参考帧进行帧间预测。与使用一个参考帧相比,使用5帧参考帧会节省约5%~10%的数据。P帧和B帧的参考图像存储在不同的缓冲区中,分为前向预测参考帧缓冲区和后向预测参考帧缓冲区,对其的存取和释放采用的是先进先出的模式。处理过程为:在参考帧缓冲区内选取一个或多个预测信息,然后对预测信息作平均,已完成编码的图像存储在参考帧缓冲区内,最后将这些得到的多假设信息用作参考[3]。
多参考帧的使用不仅提高了编码压缩的效率,而且显著增强了图像传输的容错性,有效抑制了错误的扩散。但由于必须为增加的参考帧提供更多的内存空间和增加索引值,这也就增加了系统在存储和时间方面的开销。
(四)熵编码
H.264提供了两种熵编码模式:统一的变长编码(UVLC)和基于内容的自适应二值算术编码(CABAC)[4]。UVLC更为简单,但效率低下且位率较高;CABAC效率很高,允许给每个字符分配非整数个比特,但实现较为复杂。两者相比,在相同图像质量下编码视频信号使用CABAC将会使比特率降低10%~15%[5]。
三、网络授课系统
网络授课系统是一种利用网络及多媒体技术,可以模拟课堂环境的新型教学模式,具有强大的教学能力和便捷的操作能力。此外,在校园内开展网络教学,将极大地丰富网上教学资源。这些将更大限度地发挥计算机及网络资源在教学中的作用,对蓬勃发展的网络教育来说具有积极的推动作用,是智能化校园必备的新型教学系统。
(一)系统设计
目前流行的多媒体网络授课系统,根据设计原理和实现方式的不同可分为三类:纯软件方式、纯硬件方式、软硬件结合方式[6]。纯软件方式是指全部用软件来实现的网络授课系统。纯硬件方式是指在电脑中安装一块带有CPU的多媒体智能网卡,该网卡自行完成系统的控制处理任务,多媒体信号和控制信号都是由这专门的网卡独立传输。软硬件结合方式是通过在电脑中安装一块无CPU多媒体网卡,专门用于音视频的传输,但键盘、鼠标产生的控制处理任务都由软件完成。软硬混合模式综合了纯软件和纯硬件两者的优点,故选择软硬件结合方式进行开发。
本文设计的网络授课系统具有课程直播、互动交流、网络课件制作、COD课件点播、网络考试、网络签到、点名和网络答疑、批改作业的系统功能(见图3)。互动交流是指在授课过程中教师和学生之间可以进行文字和声音的交流。网络考试是从题库中随机抽取各类型试题组成试卷。网络签到、点名可以检查学生到课情况。网络答疑、批改作业,学生可以将问题或作业提交给教师,教师将答复回复给学生。课程直播将教师的多媒体课件、讲解实况和环境实况组合在一起,进行同步的压缩。系统将采集的视频和声音数据进行压缩后,对学生机进行实时传输,从而达到实时多媒体通信的目的。因为教师机的屏幕信息与教师的影像、声音是同步传输的,所以学生不仅可以看到教师的屏幕信息,而且可以看到听到教师的面容、声音。网络课件制作是在直播过程中将压缩的复合流录制成一个文件,或分别录制成多个文件,生成可编辑的视频教学课件并存储到服务器。课件点播COD(Courseware-On-Demand)是以同步播放的形式,将视频、音频等存放在服务器上的文件通过网络传送给学生,实现一个虚拟的网络教室。本文以课程直播为例介绍H.264在授课系统中的应用。
图3 网络授课系统结构图
(二)课程直播
在教学中面授是非常重要的,但由于教师和教室的限制,使接受面授的学生受到限制。课程直播很好地解决了这一问题,它将主播教室的教学情景(包括教师的影像、声音、教师机屏幕、计算机操作过程与鼠标运动轨迹等)实时地向学生接收端进行发送。教学过程中主播教室与任意接收端还可以进行实时语音、文字交互,很好地模拟了上课环境。
经试验发现,教师机屏幕的帧率为5fps~10fps时,即可满足教学需求。由于课程视频有它自身的特点,相邻两帧图像往往只有小局部的差异,所以它们之间的相关性很高;教师机屏幕在一段时间内可能不变,讲课过程中有时也需要重复播放以前的帧。针对这些特性,利用H.264帧间编码对不同块大小的帧间预测和高精度的运动估计算法去除图像帧间的相关性,使视频压缩,只需保存更小的运动矢量和残差数据,这就在更大程度上降低了码率,从而保证了画面的清晰流畅;在教师机屏幕不变时,则利用H.264技术并不发送屏幕信息;多参考帧技术的应用,在重复播放以前帧时,可以很好地提高编码效率。
课程直播模块包括以下几部分,如图4所示。将教师机屏幕图像、教师影像和声音采集后实时编码成流,并将文件流发送到服务器,然后服务器将得到的文件流通过校园网发送给学生端,文件流在学生端进行实时解码、播放[2]。
图4 课程直播流程图
采用H.264音视频编解码技术,对原始的音视频信号进行压缩编码并转化为适合网络传输的复合流,经测试,视频流畅且清晰。
四、结束语
本系统采用H.264视频压缩,有效地改善了网络授课系统在视频处理方面的性能。H.264的高压缩比、高质量图像以及很好的网络适应性为网络授课系统应用提供了广阔的平台,使网络教学更加生动。虽然H.264的视频解压缩技术应用在网络授课系统中表现出了许多优点,但也存在一些问题需要解决:如随着教学规模的不断扩大,如何使教学系统支持更多的用户同时在线学习,将成为网络授课系统的一个关键问题,为此我们将继续探索,不断改进。
[1]刘义,兰凤霞.浅谈网络教学系统的设计与应用[J].农业网络信息,2005,(6).
[2]卢静,周兵.多路嵌入式H.264视频服务器的设计[J].微计算机信息,2007,(35).
[3]齐琳琳,向建勇.H.264视频压缩关键技术及其应用前景[J].电子科技,2005,(10).
[4]曾文献,李子会.三维视频编码技术研究[J].硅谷,2011,(22).
[5]黄宇达,李向前.新一代视频压缩标准H.264及其未来发展方向简述[J].福建电脑,2006,(9).
[6]汤春林.多媒体网络教学系统的设计与实现[D].长沙:国防科学技术大学,2002.
The Design of Network Teaching System based on H.264 Video Compression Technology
Zeng Wenxian,Li Zihui,Ma Qianqian
H.264 has high coding efficiency,better adaption ability to the network and fault tolerant function,in view of its characteristic and key technology,under the aims of high compression rate,high image quality and low bandwidth of network, we can design the function module of the teaching system,thus can effectively improve the performances of network teaching system in the aspects of the video processing,and make the network teaching more vividly.
H.264;video compression;network teaching system
GP37
A
1673-1573(2012)01-0115-04
2011-09-13
曾文献(1971-),男,陕西旬阳人,河北经贸大学信息技术学院副教授,硕士生导师,研究方向为图形图像处理、嵌入式技术;李子会(1986-),女,河北衡水人,河北经贸大学信息技术学院硕士研究生,研究方向为图形图像处理、计算机应用技术。
责任编辑、校对:杜 莹