毕业设计(论文)-Linux电影播放器设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux电影播放器设计与实现
摘要
当今社会,随着IT技术的发展和人们文化水平的提高,越来越多的人关注精神生活水平的提升,视频成为必不可少的一部分。

嵌入式设备也无疑已经成为最热门概念之一,丰富了我们的生活,它的功能不断提高使得发展更加迅速,市场上播放设备也越来越多。

所以很多人往往注重外观的同时也注重嵌入在其中的软件操作体验。

本课题将首先了解Linux下嵌入式应用程序开发流程。

以嵌入式视频播放器需求大的社会为背景,提出了在Linux下的视频播放器,具体是基于QT的架构设计。

论文给出一种嵌入式系统中音频视频同步的解决方案,有效提高嵌入式多媒体播放系统的音频视频同步的功能,在此基础上设计并实现了基于Linux。

Qt的嵌入式视频播放器,实现基于QT的嵌入式视频播放器系统。

在本设计中,提出基于mplayer播放器下,给用户一个基本的操作界面,实现对mplayer的相关功能的操作,如暂停,快进,速度的调整等功能。

关键词:Qt;视频播放器;嵌入式
全套设计加扣3012250582
Design and implementation of Linux movie player
Abstract:
Society,with the development of IT technologies,as well as economic development and raise the level of spiritual civilization,moren and more people are increasingly aware of the spirit of enjoyment of life.Video is the preferred choice of the people.Embedded devices certainly become one of the most popular concept and enrich our lives.Its function constantly improve makes development more rapidly, playback devices on the market is also more and more.So a lot of people often pay attention to appearance at the same time also pay attention to embedded software operating experience in it.
This topic will be the first to know under Linux embedded application development process.Embedded video player on demand of society as the background, puts forward the video player under Linux, concrete is based on the architecture design of QT.Paper gives a kind of embedded systems audio video synchronization solution, effectively improve the audio video synchronization of embedded multimedia broadcast system, on this basis, designed and implemented based on Linux.Qt embedded video player, the realization of embedded video player system based on Qt.In this design, based on mplayer player, give users a basic operating interface, implementation to the operation of the mplayer related functions, such as, fast forward, up and down the video switch, etc.
Key Words: Qt; Video player; Embedded device.
目录
摘要 (I)
ABSTRACT: (II)
一、绪论 (1)
(一) 研究背景 (1)
(二) 国内外研究现状 (2)
(三) 论文主要完成的工作 (3)
二、开发平台与开发工具 (4)
(一) 开发平台与工具 (4)
1. Linux (4)
2. Ubuntu (6)
3. Qt Creator (6)
4. Mplayer (9)
(二) 相关技术 (11)
1. 音视频编解码技术 (11)
2. 主流媒体文件格式 (14)
3. 流媒体技术 (17)
(三) 嵌入式图形用户界面 (23)
三、播放器的设计 (28)
(一) 流程设计 (28)
1. 播放器的系统结构 (28)
(二) 界面设计 (29)
(三) 模块设计 (30)
1. 输入模块 (30)
2. 输出模块 (30)
3. 插件接口模块 (31)
4. 解码库模块 (32)
四、播放器功能的实现 (33)
(一) 界面的详细开发过程: (33)
1. 设置界面大小 (33)
2. 声明槽函数 (34)
3. 声明及添加按钮: (34)
4. 声明及定义Qprocess (35)
(二) 各功能的实现: (35)
1. 文件打开功能 (35)
2. 选择一个或者多个文件及目录,如下图所示: (36)
3. 播放、暂停功能 (38)
4. 选择上一个/下一个播放文件 (40)
5. 选择播放时间点功能: (41)
6. 设置速度 (43)
五、软件测试和改进思想 (44)
(一) 软件测试 (44)
1. 测试方案 (44)
2. 测试用例 (45)
3. 测试结果 (47)
(二) 改进思想 (47)
结论 (47)
致谢 (50)
外文文献:.............................................. 错误!未定义书签。

译文:.................................................. 错误!未定义书签。

一、绪论
(一)研究背景
现如今随着计算机在各个领域的广泛应用,视频播放器在如今社会已融入到人们生活的各个方面,不仅仅是娱乐,在工作和学习中也拥有不可忽视的地位,多数都支持常见的媒体格式、.mp4、.avi、rm、.rmvb等。

随着C 语言的发展和嵌入式系统技术的推广,音频解码技术、存储器技术愈发成熟。

在嵌入式系统低端应用中,存在着大量的小型嵌入式应用系统,基于Linux下的视频播放器就是其中一员,由于能满足人们视听享受已成为热门,随着Qt的发展,基于Qt开发的程序成本大大降低,Qt也越来越稳定。

同时Qt强大的开发功能和可移植性实现了多平台的兼容性,可以很快移植到其他平台,从而节约了开发周期和成本,促进嵌入式设备的开发水平。

因此基于Qt的嵌入式系统中实现视频播放器具有深刻的意义和价值。

本文将设计并实现一款界面清楚明了,操作简单,支持多种格式媒体。

该播放器的主要功能是播放一些常见的视频的格式文件,在功能上达到简单易行,消耗资源少。

主要实现的功能:文件控制(主要用于添加播放文件);播放控制(控制视频的播放状态)。

声音控制(调整音量的大小);显示控制(若播放的是视频文件应当显示图像,可以进行按比例播放或者全屏)。

在文献中都详细介绍了嵌入式多媒体播放器的设计与实现的各种解决方法。

如由Christopher Hallinan.编写的《嵌入式Linux基础教程(第2版)(英文版)》中介绍了引导加载程序、系统初始化、文件系统、闪存和内核、应用程序调试技巧等,还讲述了构建Linux系统的工作原理,用于驱动不同架构的配置,Linux内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统功能,用于构建完
整嵌入式Linux发行版的常用构建系统,USB子系统和系统配置工具udev等内容,同时还讲述了构建系统的工作原理,以及怎样将满足项目需求的定制的内核变化加载到内核中。

你会了解用于驱动不同体系结构配置的机制和Linux内核源码树的特性;更重要的是,掌握如何修改系统使之满足自己的需求。

除此之外,还深入探讨了内核命令行参数机制,介绍了它是如何工作的,如何根据需求配置内核运行时行为,如何扩展系统功能,如何导航内核源代码,如何为相关嵌入式系统的不同任务配置内核等内容。

(二)国内外研究现状
基于Linux平台已经存在多款多种媒体播放软件,如:Xmovie,Xine,Realplayer,QuickTime,Mplayer 等。

其中既有以RealNetworks 公司的RealPlayer 和Apple 公司的QuickTime 为代表的商业软件,也有以Xine、Mpalyer 为代表的自由软件。

其中大部分都是具有较强的专用型,但缺乏较好的移植性,并且主流媒体播放器的设计都是基于桌面平台,虽然功能强大但是用户必须利用桌面平台,人们更希望有专用播放器来代替PC 的多媒体功能。

随着近几年嵌入式市场的飞速发展,许多公司都着手进行2嵌入式软件的开发和设计,并且已经研发出多种嵌入式产品,在这当中就包括嵌入式媒体播放器。

但是纵观全局,并没有任何一个嵌入式媒体播放器能够像Microsoft 公司的IE 浏览器在桌面浏览器市场中一样占据嵌入式媒体播放器市场的垄断地位。

主要是因为现有的嵌入式系统的发展非常迅速,而它们当中的播放器大部分都是从桌面电脑系统上移植而来,并没有充分考虑到嵌入式系统的特殊性,如Microsoft Windows CE中附带的播放器就是Windows Media Player的简化版,所以当前市场上已经出现的多种嵌入式媒体播放器在功能、速度、显示和易用性等各方面的表现还不尽如人意,总的来说,它们存在的局限性大致可以分为下面几类:
1) 可扩展的能力不强,大多不具备扩展新媒体类型的功能,或者仅支持新媒体类型的扩充,不支持传输协议的扩充;
2) 部分播放器虽然可以运行在多种平台上,可移植性和扩展性都比较好,但是其界面死板,易用性比较差;
3) 部分播放器虽然界面美观、使用方便,具有专用的插件接口,但是不开放源码,并且只能运行在特定的平台上,所以其移植性不强,扩展性一般。

从以上的几点分析可以看出,一款好的媒体播放器需要功能强大、易于扩展、界面美观、使用方便,可以通过它达到娱乐或者学习的效果,满足自己的视听享受。

目前嵌入式媒体播放器仍然在不断向前发展,除了继续根据各种音视频编解码标准进行升级和支持更多的应用外,还在拓展其他的应用模式和领域。

例如在手机客户端和浏览器技术、数字电视机顶盒技术集成,实现完整的数字电视软件平台和Java 技术、DSP 技术结合,解决实时性强的动态视频处理;将多媒体技术应用到更多传统的电器领域,以提供交互式的应用等等。

这些都说明嵌入式媒体播放器有着非常广阔的发展前景。

(三)论文主要完成的工作
本课题所设计的视频播放器是基于Qt的应用程序框架。

我所要做的首先系统的设计阶段:主要包括需求分析和概要设计、界面设计等;可扩展性架构的设计:包括环境的建立、系统的选择、Qt的安装及相应的环境变量配置、Mplayer的后台搭建。

视频播放器的代码:主要基于Qt对播放器的界面进行开发,并实现播放的功能。

本文在研究了当前音视频编解码技术、主流媒体文件格式、流媒体技术以及常见的GUI系统的基础上,针对嵌入式Linux环境下对资源使用的特殊性,采用GTK+实现嵌入式媒体播放器的图形用户界面模块,采用FFMpeg 开源解码库作为播放器的解码
器,它能够支持多种音频和视频编解码标准,通过采用SDL 来实现对音视频的回放,最后采用NC 机作为硬件环境对该播放器进行功能测试,通过测试表明该媒体播放器符合设计要求,能够满足嵌入式设备的媒体播放要求。

二、开发平台与开发工具
(一)开发平台与工具
在系统的设计与开发中,软件开发平台及开发工作是关键。

1.Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX 的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。

它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年的10 月5 日,Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。

Linux可安装在各种计算机硬件设备中,比如手机、
现列举几个常用命令如下:
echo 命令
举例:echo $PATH。

功能:将命令行中的参数显示到标准输出中。

date命令
举例:date。

功能:显示或设置系统时间,没参数直接显示系统当前的日期和时间。

passwd命令
举例:passwd。

功能:修改密码。

file命令
举例:file 文件名【参数】。

功能:确定指定文件类型。

ls命令
举例ls -a 显示当前目录下的全部文件(包括隐藏文件)。

功能:列出目录文件。

touch命令
举例:touch 【选项】文件名。

功能:修改指定文件的时间标签或者创建一个空文件。

选项:-a 仅改变指定文件的存取时间。

2.Ubuntu
Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。

Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。

Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。

2013年1
月3日,Ubuntu正式发布面向智能手机的移动操作系统。

Ubuntu由Mark Shuttleworth (马克·舍特尔沃斯,亦译为沙特尔沃斯)创立,Ubuntu以Debian GNU/Linux不稳定分支为开发基础,其首个版本于2004年10月20日发布。

Debian依赖庞大的社区,而不依赖任何商业性组织和个人。

Ubuntu使用Debian大量资源,同时其开发人员作为贡献者也参与Debian社区开发。

Ubuntu 是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的开源GNU/Linux操作系统。

为桌面虚拟化提供支持平台。

Ubuntu对GNU/Linux的普及特别是桌面普及作出了巨大贡献,由此使更多人共享开源的成果与精彩。

3.Qt Creator
Qt是一个完整的C++应用程序开发框架。

它包含一个类库,和用于跨平台开发及国际化的工具。

它是诺基亚开发的一个跨平台的c++图形用户界面应用程序框架。

它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。

QT是完全面向对象的,很容易扩展,并且允许真正地组件变成。

Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。

Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境(IDE),
并确保首次接触Qt框架的开发人员能迅速上手和操作。

即使不开发Qt应用程序,Qt Creator 也是一个简单易用且功能强大的IDE。

从1996年,QT已经成为全世界范围内数千种成功的应用程序的基础。

QT也是流行的Linux桌面环境KDE的基础。

基本上,QT同X Window上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但是QT与其他开发工具相比,具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。

信号和槽机制是QT的核心机制,信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别在于其他工具包的重要地方。

信号和槽是QT自行定义的一种通信机制,它独立于标准的c/c++语言,因此要挣钱的处理信号和槽,必须借助一个成为MOC的QT工具,该工具是一个c++预处理程序,它可以为高层次的事件处理自动生成所需要的附加代码。

GUI工具包是构造图形用户界面所使用的一套按钮、滚动条、菜单和其他对象的集合。

提供一个友好的用户界面是GUI 设计的一个宗旨,减少用户的负担、满足用户的需求、界面和用户的互动交流也是在GUI设计中其中必不可少的。

一个出色的界面不仅能够清晰的勾画出所依托系统的大体结构,并且能够大大减少操作的工作量和复杂性。

在UNIX系统里,有很多可供使用的GUI库,其中之一就是Qt库----一个基于C++变成语言的工具包。

它具有以下几个优点:(1)可移植性
Qt的一个主要设计目标是使跨平台程序开发更加直观,便捷并富有趣味性。

为了实现这一目标,Qt提取了窗口和操作系统的底层基础构造函数,为程序员提供了有意义的一致逻辑界面。

Qt API在所有支持的平台上都是相同的,Qt 的良好封装机制使得Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。

Qt 提
供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。

Qt支持下列操作系统: Microsoft Windows 95/98,Microsoft Windows NT,Linux,Solaris,SunOS,HP-UX,Digital UNIX (OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX 等等。

(2)易用性和健全性
Qt开发这只需学习一个API,就能编写在所有平台下运行的程序。

统一的跨平台API使得程序员只需侧重于程序本身的增值创新,不用担心基础代码构建和多平台应用的维护和管理。

Qt对不同平台的专门API进行了封装,如文件处理、网络,进程处理、线程、数据库访问等。

Qt软件可以实现多编译器的平稳编译,因此用Qt构建的程序通常是非常健全的。

Qt通过对所有子窗口内存单元分配的处理,简化了内存管理。

程序员只需要侧重于顶层对象的处理。

Qt是一个C++工具包,它由几百个C++类构成,你在程序中可以使用这些类。

因为C++是面向对象的编程语言,而Qt是基于C++构造,所以Qt也具有OOP的所有优点。

(3)运行速度
Qt非常容易使用,且具有很快的速度。

这两方面通常不可能同时达到。

但当谈论Qt时,其易用性和快速则是密不可分的。

这一优点要归功于Qt开发者的辛苦工作,他们话费了大量的时间来优化产品。

另一个原因是它的表现方式。

Qt是一个GUI仿真工具包,这意味着它不使用任何本地工具包作调用。

Qt使用各自平台上的低级绘图函数仿真MS Windows和Motif,当然,这能偶提高程序速度。

由于Qt是基于C++,速度快,易于使用,并具有很好的可移植性。

所以,当需要开发UNIX和MS Windows环境下的GUI程序时,Qt是最佳选择。

4.Mplayer
视频播放器是指能播放以数字信号形式存储的视频的软件,也指具有播放视频功能的电子器件产品。

除了少数波形文件外,大多数视频播放器携带解码器以还原经过压缩的媒体文件,视频播放器还要内置一整套转换频率以及缓冲的算法。

MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。

此款软件可在各主流作业系统使用,例如Linux和其他类Unix系统、Windows及Mac OS X系统。

MPlayer建基于命令行界面,在各作业系统也可选择安装不同的图形界面。

它的另一个大的特色是广泛的输出设备支持。

大部分视频和音频格式都能通过FFmpeg项目的libavcodec函数库本地支持。

对于那些没有开源解码器的格式,MPlayer使用二进制的函数库。

它能直接使用Windows的DLL。

专有的CSS解析软件和相关格式使MPlayer 成为被众多开放源代码播放器所使用的后端。

MPlayer的开发始于2000年。

最初的作者是Arpad Gereoffy。

MPlayer最初的名字叫"MPlayer - The Movie Player for Linux",不过后来开发者们简称其为"MPlayer - The Movie Player",原因是MPlayer已经不仅可以用于Linux而可以在所有平台上运行。

第一个版本被称为mpg12play v0.1,并且将libmpeg3在一个半小时之内集成到其中。

之后的版本mpg12play v0.95pre5里被加入了基于avifile的Win32 DLL loader的AVI播放功能,从2000年11月MPlayer v0.3之后的版本都一直保留着该功能。

最初绝大多数的开发者都来自于匈牙利,开发者遍布全球。

自从2003年Alex Beregszászi 开始接替准备开发第二代MPlayer的Árpád Gereöffy来维护该项目。

MPlayer G2由于多种原因暂停开发。

Mplayer的特色主要有以下几个:
(1)内置多种解码器
MPlayer本身编译自带了多种类型的解码器,不需要再安装xvid、ffdshow、
ac3filter、ogg、vobsub等等所谓看DVDrip必备解码器,也不会跟你的电脑原来所安装的解码器有任何冲突。

(2)拖动极速播放器
MPlayer相对其它播放器来说,资源占用非常少,不需要任何系统解码器就可以播放各种媒体格式,对于MPEG/XviD/DivX格式的文件支持尤其好,不仅拖动播放速度快得不可思议,而且播放破损文件时的效果也好得出奇,在低配置的机器上使用更是能凸显优势。

(3)强大的音频支持
MPlayer广泛地支持音视频输出驱动。

它不仅可以使用X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、libcaca、DirectFB、Quartz、MacOSXCoreVideo,也能使用GGI,SDL(及它们的所有驱动),所有VESA兼容显卡上的VESA(甚至不需要X11),某些低级的显卡相关的驱动(如Matrox、3dfx及ATI)和一些硬件MPEG解码器卡,比如SiemensDVB、HauppaugePVR(IVTV)、DXR2和DXR3/Hollywood+。

它们中绝大多数支持软件或硬件缩放,所以你可以享受全屏电影。

(4)OSD功能
MPlayer具有OSD(屏上显示)功能显示状态信息,有抗锯齿带阴影的漂亮大字幕和键盘控制的可视反馈。

支持的字体包括欧洲语种/ISO8859 -1,2(匈牙利语、英语、捷克语等等),西里尔语和韩语,可以播放12种格式的字幕文件(MicroDVD、SubRip、OGM、
SubViewer、Sami、VPlayer、RT、SSA、AQTitle、JACOsub、PJS及我们自己的:MPsub)和DVD字幕(SPU 流、VOBsub及隐藏式CC字幕)。

(5)MEncoder
MEncoder(MPlayer's Movie Encoder)是一个简单的电影编码器,设计用来把MPlayer可以播放的电影
(AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)编码成别的MPlayer可以播放的格式。

它可以使用各种编解码器进行编码,例如DivX4(1或2 passes)、libavcodec、PCM/MP3/VBR MP3音频。

同时也有强大的插件系统用于控制视频。

(二)相关技术
1.音视频编解码技术
音视频压缩编解码技术是媒体播放器的核心技术之一,通常使用在计算机、数据库、通信、数字电视和交互式系统中的关键多媒体技术。

从目前的主要的压缩编解码技术来看,虽然被人们经常应用的技术有很多种,但是得到广泛的市场认可的主要标准有国际标准化组织(ISO)的MPEG(Moving Pict=ures Experts Group)系列标准、国际电信联盟(ITU)和国际标准化组织联合提出的H.264 标准、以及Microsoft 的WMV 标准,以下是对这三种标准技术的介绍。

(1)MPEG 标准
MPEG(动态图像专家组)成立于1988 年,它是视频编码标准中一个大的集合,也是我们平时日常生活当中所见到的最普遍的视频标准。

MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。

MPEG标准的视频压缩编
码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。

这几种技术的综合运用,大大增强了压缩性能。

该专家组建于1988年,专门负责为CD建立视频和音频标准,而成员是为视频、音频及系统领域的技术专家。

他们成功将声音和影像的记录脱离了传统的模拟方式,制定出MPEG-格式,从此视听传播方面进入了数码化时代。

MPEG-1音视频压缩是为了储存和发布数字音视频而建立起来的压缩格式。

它制定于1992 年,是为工业级标准而设计,可适用于不同带宽的设备,如CD-ROM、Video-CD、CD-i。

它可针对SIF 标准分辨率(对于NTSC 制为352×240;对于PAL 制为352×288)的图象进行压缩,传输速率为1.5Mbits/sec,每秒播放30 帧,具有CD (指激光唱盘)音质,质量级别基本与VHS相当。

MPEG-1 也被用于数字电话网络上的视频传输,如非对称数字用户线路(ADSL),视频点播(VOD),以及教育网络等。

MPEG-2 音视频编码是在MPEG-1 基础上的扩展,MPEG-2 能适应高码流的要求,特别适合高清电视(HDTV),其可支持的码流为1.5-60Mbps。

MPEG-2 的音频编码可提供左右中及两个环绕声道,以及一个加重低音声道,和多达7 个伴音声道(DVD 可有8 种语言配音的原因),MPEG-2 还可用于为广播,有线电视网,电缆网络以及卫星直播(Direct Broadcast Satellite)提供广播级的数字视频。

MPEG-2 的其中一个特点是可提供一个较广的范围改变压缩比,以适应不同画面质量、存储容量、以及带宽的要求。

为适应在互联网上多媒体数据的灵活传输,ISO/IEC 于1998 年又发布了MPEG-4 标准,MPEG-4 是基于音/视频对象的可分级编码技术,其码率可从
5Kbps-2Mbps 的范围内变化,它综合了数字电视、交互图形学和Internet 等领域的技术。

它在要求高效压缩编码的同时,强调多媒体网络通信的灵活性和交互性。

这个标
准主要应用于视像电话、视像电子邮件和电子新闻等,对传输速率要求较低。

MPEG-4利用很窄的带宽,通过帧重建技术进行数据压缩,以求用最少的数据获得最佳的图像质量。

与MPEG-1 和MPEG-2 相比,MPEG-4 的优点是特别针对低带宽等条件设计算法,所以MPEG-4 的压缩比更高,使低码率的视频传输成为可能。

在公用电话线上可以连续传输视频,并能保持图像的质量,这是其它技术做不到的。

其次它节省存储空间,在同等条件如场景、图像格式和压缩分辨率条件下,经过编码处理的图像文件越小,所占用的存储空间越小。

由于MPEG-4算法较MPEG-1、MPEG-2 更为优化,因而在压缩效率上更高。

(2) H.264 标准
H.264 是在早期视频编码标准的运动补偿转换编码范例基础上创建的。

它是ITU-T 的VCEG(视频编码专家组)和ISO/IEC 的MPEG(活动图像编码专家组)组成的联合视频组(Joint Video Team,JVT)开发的一个新的数字视6频编码标准,它既是ITU-T 的H.264,又是ISO/IEC 的MPEG-4 的第10 部分。

H.264 较早期的MPEG-2 标准相比,该标准大大降低了比特速率。

该技术不受早期标准所用构建模块的制约,整个技术的设计无需后向兼容性。

H.264 提供的一些可提高压缩效率的重要编码工具有:改进型空间交互预报、增强型时间预报(通过四分之一采样运动补偿、可变模块大小运动补偿、多重假设运动补偿和加权预测工具实现)、高效的基于上下文的熵编码(通过变长度编码或二进制运算编码工具实现)以及内环内容和编码模式适应性解锁滤波。

实验表明,要实现相近的视觉质量,同MPEG-4ASP 编码相比,H.264 把比特速率降低了35%到50%,同MPEG-2 相比,降低了40%到65%。

另外,同MPEG-4 SP 相比,H.264 BP 可以在宽广的比特速率范围内把峰值信噪比降低50%以上。

相关文档
最新文档