大学毕业设计---基于智能手机的流媒体客户端研究与实现.doc
-
资源ID:91487603
资源大小:4.85MB
全文页数:63页
- 资源格式: DOC
下载积分:19.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
大学毕业设计---基于智能手机的流媒体客户端研究与实现.doc
南京邮电大学硕士研究生学位论文 南 京 邮 电 大 学硕士学位论文摘要学科、专业:信号与信息工程研 究 方 向:语音处理与现代语音通信作 者:张程指 导 教 师:张玲华题 目:基于智能手机的流媒体客户端研究与实现英 文 题 目:Research and Development of Streaming Client for Smart Phones主 题 词:流媒体,智能手机,Windows Mobile, RTPKeywords:Streaming Media, Smart Phone, Windows Mobile, RTP57南京邮电大学硕士研究生学位论文 摘要摘要随着智能手机性能的不断提高,越来越多基于PC的互联网应用开始延伸至移动平台,流媒体点播业务就是其中之一。流媒体(streaming media)是指将一连串的媒体数据编码后,经过网络分段传输,在网络上即时传输音频,视频以供观赏的一种技术与过程,这种技术使得数据包像流水一样发送。在流媒体诞生前,用户如果想观看影片就必须在播放前下载整个媒体文件。流式传输可使用户观看现场直播或预存于媒体服务器上的影片,当用户在收看这些媒体时,音视频数据在传输到用户的电脑或手持设备后立即由特定程序解码并播放。本课题设计并开发了一种基于Windows Mobile平台的移动流媒体客户端。本文首先介绍了流媒体技术的基本概念、相关标准等;接着研究了流媒体系统中相关的编解码技术、标准及基本原理;然后研究了本课题开发所基于的Windows Mobile软件系统平台,了解了其基本框架与组件,并对课题中所使用关键组件FFmpeg解码库及SDL多媒体库进行了基本的讨论;并在此后详细描述了所设计的流媒体系统部署、基本会话过程等;最后,基于选定的方案与平台,实现了流媒体客户端软件,并详细描述了软件架构、模块功能等。程序编写完成后在TD-SCDMA实验网络中进行了测试,获得了较好画质及流畅度的用户体验。关键词:流媒体,智能手机,Windows Mobile, RTP南京邮电大学硕士研究生学位论文 AbstractAbstractAs the growing popularity and performance of smart phones, smart phones-based mobile media streaming applications become increasingly popular. Streaming media are multimedia that are constantly received by, and normally presented to, an end-user while being delivered by a streaming provider. The name refers to the delivery method of the medium rather than to the medium itself. Before the birth of streaming media, videos must be fully downloaded before end-user want to watch videos. Streaming enables users to watch live or stored video on the media server.This paper has designed and developed mobile streaming media client based on Windows Mobile platform. First, it introduces the basic concept of streaming media technology and the relevant industrial standards, etc. Then study the streaming media system and the media codec technology, basic principles and standards. Other than good study of the Windows Mobile platform, the key components such as FFmpeg and SDL also have been discussed. Thereafter a detailed description of system deployment has been presented. Finally, we describe the system architecture and key components, and focus on the design and implementation of the mobile streaming client. After the tests in TD-SCDMA environment, the results demonstrate that the client obtain better playback quality and user experience.Key Words: Streaming Media, Smart Phone, Windows Mobile, RTP南京邮电大学硕士研究生学位论文 目录目录摘要IABSTRACTII目录III第一章 绪论11.1项目研究背景11.2主要的研究工作及内容安排2第二章 移动流媒体简介42.1流媒体技术概述42.2移动流媒体系统相关标准52.2.1实时传输协议RTP52.2.2会话描述协议SDP62.2.3实时流媒体协议RTSP6第三章 视频编解码技术综述83.1视频编码基本原理83.1.1编解码基本结构83.1.2压缩编码基本方法103.2 H.264/AVC标准的主要应用与特点113.3 H.264/AVC标准的构成123.3.1基本概念123.3.2基本分级13第四章 系统框架设计及实现144.1系统需求144.2系统方案选择154.3系统框架设计164.3.1系统组件的功能定义164.3.2系统组件基本交互过程174.3.3关键报文解析184.4软件开发平台介绍244.5 第三方函数库移植254.5.1交叉编译254.5.2 SDL函数库264.5.3 FFmpeg函数库27第五章 流媒体客户端在智能手机上的实现285.1客户端软件框架285.2媒体引擎框架295.2.1媒体引擎结构295.2.2媒体引擎关键流程315.2.2.1点播引擎线程设计325.2.2.2直播引擎线程设计325.2.3媒体引擎状态机335.3播放模块详细设计335.3.1模块外部接口335.3.2音视频同步算法345.3.2.1基于音频时钟同步355.3.2.2改进的基于视频时钟的同步算法355.4网络代理模块详细设计375.4.1 RTP传输设计375.4.2网络带宽计算385.5内存文件映射模块详细设计385.5.1内存文件映射理论基础385.5.2内存文件关键操作设计405.5.2.1读取操作405.5.2.2插入操作425.5.2.3校验数据操作445.6软件集成测试455.6.1 测试环境配置455.6.2 系统接入功能465.6.3 DSN资源查找功能475.6.4点播影片播放功能485.6.5直播影片播放功能49第六章 结论与展望516.1工作总结516.2研究展望52致谢53参考文献54攻读硕士学位期间发表的论文56南京邮电大学硕士研究生学位论文 第一章 绪论第一章 绪论1.1项目研究背景如今,电子通信,计算机技术高速发展,新技术不断涌现,互联网得到了前所未有的普及,无线移动通信也迅速在各个领域广泛应用,成为人们生活工作中不可或缺的一部分。两者的网络覆盖面积越来越大,骨干网、接入网的传输速率也越来越快,核心网设备及终端功能越来越强,同时终端的体积越来越小,功耗日益降低,价格大幅下降。在其飞速发展的同时,两者也开始迅速地融合。移动IP也逐渐走进人们的视野。其实,从GSM蜂窝通讯系统起,移动通信系统就具有一定的数据通信能力,其主要是基于电路型数据业务,如短信服务。但是,在数据通信的发展过程中,人们不仅希望得到简单的文字信息,更希望能够提供包括语音、图像内容的多媒体信息,也即多媒体通信。这就给移动运营商们提出了一个新课题,即增加传输带宽,进一步发展数据业务及各种增值业务,尤其是与互联网相结合的数据业务。移动多媒体通信正是在这种环境下开始成为移动通信的主要发展趋势之一。通过无线通信系统接入互联网的方式分为两大类:一是基于蜂窝移动通信的接入技术,如CDMA,GPRS等;二是基于无线局域网的技术,如WLAN,Bluetooth等。总的来说,可以采用的主要有:Modem,WLAN,GPRS,Bluetooth,移动IP以及WAP等等。尽管它们解决问题的层面和侧重点不尽相同,但出发点都是相似的:例如计算机设备(PC、Console等)如何实现移动性;便携式终端如何接入互联网并获取和显示信息等。实际上,这两者也是相辅相成的,并且部分已经进入实用阶段。另一方面,网络应用中多媒体通信是重要的组成部分之一。多媒体信息主要是指包括图像、声音和文本三大类的信息类型,其中视频、音频等信号的信息量非常大,且这些信息的表现形式、输入、输出的要求也各不相同,因此,对这些数据进行有效的表示和处理显得非常重要。为了满足多媒体通信对带宽的需求,无线网络都将网络传输速率作为其规格参数中的关键指标。例如GPRS网络的理论最大数据传输速率达107.2kbps,CDMA 1X的理论值最大可达153.6kbps,3G标准则规定不管何种无线技术均须提供2Mbps以上的传输速率,以满足业务需求,而基于802.11n的无线局域网目前则可以提供高达300Mbps的传输速率,这一速率还将在日后得到进一步提高。此外,多媒体信息的压缩技术的日臻进步也为移动多媒体通信的实现提供了技术保证。目前的手持移动设备的有许多钟,如PDA(个人数字助理)、MID(移动互联网设备)、手提电脑、WAP手机、智能手机、导航仪等。这些手持设备的功能日益强大,已经出现了融合的趋势,市场上表现为互相渗透。结合了PDA和行动电话关键功能的智能手机正是这种趋势的必然产物。现在全球智能手机的出货量逐年大幅度攀升,其自身也在日趋完善,使得智能手机市场蕴藏着巨大的商机。智能手机(Smart Phone)至少有四个标准:可以语音和数据通信,这是手机的基本功能;基本的PDA功能;通信功能与PDA功能无缝融合,而非简单的“1+1”;开放式操作系统,第三方可根据操作系统提供的API为智能手机开发各种扩展应用和提供各种扩展硬件,这是智能手机的根本特性。通俗的说,智能手机是一种在手机内安装了相应开放式操作系统的手机。通常使用的操作系统有:Symbian、Windows Mobile、iPhone OS、Linux(含Android、Maemo和WebOS)、Palm OS和BlackBerry OS。他们之间的应用软件互不兼容。因为可以安装第三方软件,所以智能手机有丰富的功能。智能手机这个说法主要是针对功能手机(Feature Phone)而来的,本身并不意味着这个手机有多智能(Smart);从另一个角度来讲,所谓的智能手机就是一台可以随意安装和卸载应用软件的手机。功能手机是不能随意安装卸载软件的,Java的出现使后来的功能手机具备了安装 Java 应用程序的功能,但是 Java 程序的操作友好性,运行效率及对系统资源的占用都比智能手机差很多。由于智能手机自身的特点,许多原本基于PC互联网应用开始逐渐向智能手机等手持平台延伸。1.2主要的研究工作及内容安排长期以来,人们对流媒体技术的研究主要集中在固定终端及个人电脑平台,而对以手持平台为基础的高码率流媒体系统研究较少。本文针对智能手机平台的特点,在充分利用手机操作系统自身的特点的基础上,同时考虑到软件可移植性,对移动流媒体客户进行了研究与实现。具体内容安排如下:第一章首先介绍了本课题的研究背景,具体介绍了多媒体通信及智能手机概念,现有主流手机操作系统以及发展现状。第二章介绍了流媒体技术的基础知识,重点阐述了流媒体相关标准。第三章介绍了用于移动手持设备的相关音视频编码技术,重点阐述了相关标准。第四章分析了Windows Mobile平台的基本结构及模块组成,研究了FFmpeg及SDL等关键函数库在Window Mobile平台上的移植和集成,在此函数库基础之上,设计并开发了客户端所用的媒体播放引擎。并且在本章介绍了移动流媒体系统的整体部署及工作原理,详细讨论了客户端与服务器之间的会话过程。第五章分析了客户端软件设计的整体架构,详细设计了各个模块的功能、接口及执行流程等。最后在TD-SCDMA实验网络中完成了软件测试,结果表明了该客户端具有良好的健壮性及容错能力,并且视频点播具有较好的回放质量及流畅度,带给用户较好的体验。第六章对全文进行了总结,讨论了在音频,视频回放效率及质量等若干问题及对移动P2P进一步研究的展望。南京邮电大学硕士研究生学位论文 第二章 流媒体技术概述第二章 移动流媒体简介2.1流媒体技术概述流媒体(Streaming Media)技术是为了在网络上传播多媒体文件(包括音视频、所开发的一整套技术架构,包括流媒体压缩技术、时基编码技术、传输控制协议等。基本原理是根据网络的传输能力进行相应比例的有损压缩,确保基本信息的实时传输;在编码时插入时基标志,便于同步、缓存和拖动浏览;以客户端/服务器的架构提供文件服务,并使用实时传输协议在网络上传输,以确保传输质量。流媒体的出现为Internet上的多媒体信息发布特别是连续的流媒体信息的发布提供了全新的手段。通过移动网络在移动手持终端上采用流媒体技术实现的应用简称移动流媒体应用,典型的应用实例包括移动视频点播、移动视频聊天等。而通过互联网、有线电视网在PC、电视机等设备上采用流媒体技术实现的应用称为宽带流媒体应用,典型应用包括在线影院和视频聊天等。目前在网络上获取音视频等多媒体资源主要有下载播放和流式播放两种。对于下载播放而言,由于音视频文件往往很大,需要大量的存储空间。这一要求对于具备大容量硬盘的PC可能并不是问题,但对于存储容量很有限的手机而言却是一个难以克服的问题。于是人们很自然地想到了将流媒体技术应用到移动网络和终端上,并称之为移动流媒体。所谓移动流媒体就是把连续的影像和声音信息经过压缩处理后放到网络媒体服务器上,让移动终端能够一边下载一边观看、收听,而不需要等到整个多媒体文件下载完成就可以即时观看的技术。实际上移动流媒体技术是网络音视频技术和移动通讯技术发展到一定阶段的产物,它是融合很多网络技术之后所产生的技术,它会涉及到流媒体数据的采集、压缩、存储以及网络通信等多项技术。其主要有三大特点:1,能够实时播放视频和音频等多媒体内容。视频、音频等文件边下载边播放,当多媒体文件在客户机上播放的同时,文件的剩余部分在后台继续从服务器上下载,这样可以大大缩短启动延时。2,流媒体文件不需要在客户端保存,节省了客户端的存储空间,而且也不需要较大的缓存。3,由于流媒体文件不需要在客户端保存,从而简化了媒体内容的版权保护。这些特点决定了移动流媒体业务具有良好的应用前景,尤其在增值业务成为主要盈利点的3G时代。移动流媒体业务就是指流媒体技术在移动无线网络及其终端上的应用,主要是利用现有的2.5G或3G的移动网络,为手机终端提供音视频的流媒体服务。移动流媒体业务的内容包括新闻资讯、影视、娱乐、体育、教育、行业应用等。移动流媒体业务根据数据内容的播放方式可以分为三种业务类型,分别是点播,直播和下载。随着3G技术的逐步成熟,将移动流媒体技术引入移动增值业务,已经成为目前全球范围内移动业务研究的热点之一。3GPP、3GPP2等标准化组织早已开展了移动流媒体的应用研究工作,并已经制定了相应的标准。2.2移动流媒体系统相关标准在实现移动流媒体业务的协议中,音频、视频等流媒体数据主要通过RTP、UDP协议传输,而如静态图像、文本信息则一般使用HTTP协议进行传输。RTSP及SDP协议用于会话的建立与控制,MIME用于描述媒体类型,RTP是媒体负载的单元。2.2.1实时传输协议RTPRTP(Real-time Transport Protocol)是针对互联网上多媒体数据流的一个传输协议, 国际电信联盟ITU-T也发布了自己的RTP文档,作为H.225.0,但是后来当IETF发布了关于它的稳定的标准RFC1889后就被取消了。它作为因特网标准在RFC 3550(该文档的旧版本是RFC 1889)有详细说明。RFC 3551(STD 65,旧版本是RFC 1890)详细描述了使用最小控制的音频和视频会议。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。流媒体数据传输中一个关键的问题就是到达时间不可预料。但是流媒体的传输是需要数据按时到达用以正确回放。RTP协议提供了时间戳,序列号以及其它的结构字段用于控制数据的流式回放。在流的概念中“时间戳”是最重要的信息,发送端依照即时采样信息在数据包里填入时间戳字段。在接收端收到数据包后,就按照时间戳按将流数据恢复成原始的采样数据。不同的媒体格式有着不同的时间戳属性。但是RTP协议本身并不负责同步,它只是传输层协议,主要为简化运输层处理,提高该层的效率。部分运输层协议功能(比如流量控制)在应用层得到实现。同步的功能就是在应用层协议中完成的。RTP没有运输层协议的完整功能,不提供任何机制来保证数据的实时传输,不支持资源预留,也不保证服务质量。RTP报文不包括长度和报文边界的描述。同时RTP协议的数据报文和控制报文使用相邻的不同端口,因此RTP协议拥有很高的灵活性和简单性。RTP协议和UDP协议两者合作完成运输层协议功能。UDP协议只负责传输数据报,不管数据报传输的时间顺序。 RTP的数据单元是以UDP分组来承载的。在承载RTP数据包的同时,有时一帧数据会被分割成几个具有相同时间戳数据包。RTP协议通常根据一个具体的应用来提供服务,RTP只是一种框架协议,开发者可以根据应用的具体要求对协议进行充分的扩展。2.2.2会话描述协议SDPSDP(Session Description Protocol)是会话描述协议的缩写,为会话通知、会话邀请及其它形式的多媒体会话初始化等目的提供了多媒体会话描述。会话目录用于协助多媒体会议的通告,并为会话参与者传送相关设置信息。SDP 即用于将这种信息传输到接收端。SDP 完全是一种会话描述格式,因为它不属于传输协议,它可以使用不同的传输协议,包括会话通知协议(Session Announcement Protocol)、会话初始协议(Session Initiation Protocol)、实时流协议(Real-time Streaming Protocol)、MIME(Multipurpose Internet Mail Extensions)协议的电子邮件以及超文本传输协议(Hypertext Transport Protocol)。SDP 的设计宗旨是通用性,它可以应用于大范围的网络环境和应用程序,而不仅仅局限于组播会话目录,但 SDP 不支持会话内容或媒体编码的协商。在因特网组播骨干网中,会话目录工具被用于通告多媒体会议,并为参与者传送会议地址和参与者所需的会议特定工具信息,这由 SDP 完成。SDP 连接好会话后,传送足够的信息给会话参与者。SDP 信息发送利用了会话通知协议(SAP),它周期性地组播通知数据包到已知组播地址和端口处。这些信息是 UDP 数据包,其中包含 SAP 协议头和文本有效载荷(text payload)。这里文本有效载荷指的是 SDP 会话描述。此外信息也可以通过电子邮件或万维网的方式进行发送。2.2.3实时流媒体协议RTSPRTSP(Real Time Streaming Protocol)是用来控制声音或视频的流媒体协议,並允许同时多个串流需求控制,传输时所用的网络通讯协议並不在其定义的范围內,服务器端可以自行选择使用TCP或UDP来传输串流內容,它的语法和运行跟HTTP 1.1类似,但並不特別强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视频会议(Video Conference)。 因为与HTTP1.1的运行方式相似,所以代理服务器(Proxy)的缓冲功能(Cache)也同样适用于RTSP,並因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。南京邮电大学硕士研究生学位论文 第三章 视频编解码技术综述第三章 视频编解码技术综述视频编解码技术在整个流媒体系统中占有至关重要的位置,移动流媒体作为无线网络上的视频应用,音视频编解码技术对其影响很大。首先,由于无线网络带宽相对小,抖动大,就要求编码要有高的压缩效率,压缩效率越高,传输占用带宽越小,才能保持良好的流畅度;其次,需要有较好的图像质量,质量越高,用户体验则越好。当前主流的视频编码格式有以下几种:MPEG-2(ISO/EC 13818-2)、MPEG-4 Part 2(ISO/IEC14496-2)、H.264/AVC(MPEG-4 Part10)、微软的WMV系列,Real公司的real media系列等,前三者为公开的国际标准,后两者为企业的私有标准。MPEG-2是为DVD所用的标准,编解码比较简单,以TS(Transport Stream)流传输方式为主。MPEG-4 Part 2标准在同等条件下的编码复杂度是MPEG-2的3倍,图像质量是MPEG-2的约1.53倍。H.264是3GPP编码标准之一,也是HD-DVD与Blue-Ray的存储格式之一,同等条件下的编码复杂度是MPEG-2的4倍,图像质量是MPEG-2的约48倍。H.264/AVC具有较高的编码效率和图像质量,是编码技术的发展趋势。同时,由于标准的开放性以及获得了3GPP、DVD论坛的支持,H.264已被工业界所看好,它将成为互联网上视频业务的编码标准。本课题就选用了此编码标准。3.1视频编码基本原理3.1.1编解码基本结构如图3.1所示,视频编码方式与采用的信源模型有关。假设采用“一幅图像由许多像素构成”的信源模型,此信源模型的参数就是每个像素的亮度值和色度值。对这些参数进行压缩编码称为基于波形的编码。假设采用一个分量有几个物体构成的信源模型,此信源模型的参数就是各个物体的形状、运动及纹理。对这些参数进行压缩编码的技术被称为基于内容的编码。 由此可见,根据信源模型的不同,视频编码可以分为两大类,基于波形的编码和基于内容的编码。它们是利用不同的压缩编码方法,得到相应的量化前的参数,再对这些参数进行量化,用二进制值表示其量化值,最后,进行无损熵编码进一步提高码率。解码则为编码的逆过程。 图3.1视频编解码模型1. 基于波形的编码对于视频编码,就是利用像素间的空间相关性和帧间的时间相关性。如果采用预测编码和变换编码可以很大程度的减少视频信号的相关性,从而明显降低视频数据的码率,实现提高编码压缩率的目标。基于波形的编码就是采用了把预测编码和变换编码组合起来的基于块的混合编码方法。为了降低编码的复杂性,使视频编码易于运算和编程,采用混合编码方法时,首先要把一幅图像分成固定大小的块,例如块16×16(即每块16行,每行16个像素)、块32×32(每块32行,每行32个像素)等等,然后对块进行压缩编码处理。自从1989年ITU-T发布了第一个视频编码标准H.261以来,至今已陆续发布了H.263、H.264等视频编码标准以及H.320、H.323等多媒体标准。同时,国际标准化组织ISO下属的MPEG(运动图像专家组)也发布了MPEG-1、MPEG-2、MPEG-4等一系列娱乐和数字电视压缩编码标准。ITU-T于2003年发布的H.264视频编码标准不仅有着较高的数据压缩比率,而且具有良好的网络亲和性,特别是对IP互联网、无线移动网等易误码、易阻塞、QoS不容易得到保证的网络视频传输性能有明显的改善。H.264视频编码都采用了基于块的混合编码法,都属于基于波形的编码。2. 基于内容的编码正如上面所说的,基于块的编码易于操作与计算,但也因人为地把一幅图像划分成许多固定大小的块,当包含边界的块属于不同的物体时,它们各自具有不同的运动,便不可以用相同的运动矢量表示该边界块的运动状态。如果强制划分成固定大小的块,这种边界块就肯定会产生较高的预测误差和失真,很大程度影响了压缩编码数据的质量。于是,就产生了基于内容的编码技术。这是先把视频帧分成对应于不同物体的区域,然后再对其编码,即对不同物体的形状、运动和纹理进行编码。在较简单情况下,利用二维轮廓描述物体的形状;利用运动矢量描述其运动状态;而纹理则用颜色的波形进行描述。当视频信号序列中的物体种类已知时,可采用基于认知或基于模型的编码。例如,对人的脸部,已开发了一些预定义的轮廓对脸的特征进行编码,这时编码效率很高,只需要较少的比特位就能描述其特征。对于人脸的表情(如高兴、愤怒等),可能出现的行为可用语义编码,由于物体可能的行为数不是很多,因此可以获得非常高的编码效率。MPEG-4系列标准采用的编码方法就既是基于块的混合编码,又是基于内容的编码方法。3.1.2压缩编码基本方法1.预测编码预测编码是最简单和实用的视频压缩编码方法,这时压缩编码后的数据并不是像素本身的采样幅值,而是该采样的预测值和实际值之间的差。大量统计表明,同一幅图像的靠近的像素之间有着大量相关性,或者说这些像素值相似。邻近像素之间毫无相关性的概率很小。且同一帧图像中邻近行之间对应位置上的像素间也有较强的相关性。人们就是利用了这些特点对视频进行压缩编码。2.变换编码大部分图像都有一个共同的特点,那就是平坦的区域和内容缓慢变化的区域在一幅图像中占据了绝大部分,而细节区域和内容高频率变化的区域则只占小部分。也可以说,图像中直流和低频区占大部分,高频区占小部分。这样一来,图像从空间域变换到了频域,其间会产生一些相关性很小的变换系数,并可对其进行压缩编码,即所说的变换编码。变换方法中有一类叫做正交变换,适用于图像编码。自从1968年利用FFT(快速傅立叶变换)进行图像压缩编码以来,期间出现了多种正交变换方法,如K-L变换、DCT变换(离散余弦变换)等。其中,编码性能以K-L变换最理想,但没有快速算法,且变换矩阵随图像而异,不同图像需计算不同的变换矩阵,因此一般只用来参考比较,难以进入实用领域。DCT变换编码性能仅次于K-L变换,但具有快速算法,所以在图像编码领域有着广泛的应用。3. 熵编码熵编码法是一种进行无损失数据压缩的技术,在这种技术中一段文字中的每个字母被一段不同长度的Bit(比特)所代替。在此方法中原文的一段字母列被其它字母取代。要使得所有的字母可以在压缩后互相区别需要一定数量的比特,因此每个字母被取代的比特数不能无限小。每个字母按照其出现的可能性所获得的最佳比特数取決于熵。在视频编码中常用的熵编码方法有变长编码、算数编码、哈夫曼编码等。3.2 H.264/AVC标准的主要应用与特点运动图像专家组(Moving Picture Experts Group)和视频编码专家组(Video Coding Experts Group)联合开发了一个比早期的MPEG系列和H.263性能更好的视频压缩编码标准,这就是名为AVC(Advanced Video Coding)的编码方法,习惯上也被称为ITUTH.264建议或MPEG4 Part 10的标准。在本文里,简称它为H.264/AVC或 H.264。这个国际标准已于2003年3月正式被ITUT所通过并在国际上正式颁布。可以说,H.264 的出现是视频压缩编码领域发展中的一件大事,它优异的压缩性能也将广泛应用于数字电视广播(DVB)、视频实时通信、网络视频流媒体传输以及多媒体短信等各个领域。数字电视广播的优越性已是公认的,但它的广泛应用还有赖于高效的压缩技术。例如,利用 MPEG2压缩的一路1080P的高清晰度电视(HDTV),需要约 20Mb/s的带宽,而利用 H.264进行一路1080P HDTV的压缩,大概只需5Mb/s的带宽。众所周知,美国已在2010 年(我国约在2015年)停止模拟电视广播,全部采用数字电视广播,假如HDTV在中国要获得较大规模的应用,必须降低现有成本。以传输开销而言,采用H.264可使传输开销降为原来的1/4,这是一个十分诱人的数字。HDTV在中国即将走进人们的生活,压缩性能优异、图像质量高H.264编码技术和设备的市场前景是非常可观的。现在有的省市 (如南京)已在有线电视信道上开通了数字电视,采用压缩性能优异的H.264显得更为有意义。视频通信是H.264又一个重要应用,自20世纪90年代初以来,电视会议在我国得到了迅速发展,利用通信网络召开会议,其优点是节约大量旅途出差时间及费用,还争取了时间及时作出相应决策,短短数年,全国从中央到省、地市甚至县,已经建立了几千个电视会议室,在国民经济的发展中发挥了重要作用,但仍然有其不足之处:首先不是很方便,必须到电信部门专用的电视会议厅才能参加会议,这让一些领导同志更是不方便;其次,花费较为昂贵,当时采用H.261作为视频编码标准,压缩比不高,且图像质量也不是很好,设备价格昂贵,传输费用也高昂,所以直到今天,尚未被广泛地应用,其中一个重要原因就是视频回放质量不是很理想,这与视频编码技术有着密切的关系。特别是由于互联网在 上世纪90年代的迅猛发展,人们越来越希望希望利用IP网络来传输视频,现在人们已可以看到,在网络没有发生拥塞时,人们看到的视频电话质量尚能接受(尽管不是非常满意),由于IP网络带宽的抖动性,当流量大时,网络会发生拥塞,这时经常会发生丢包、误码等现象,用户此时所看到图像中带有不少的色块,说明数据发生了丢失,这样的视频质量是无法让人接受的,于是对视频编码提出了新的要求,不仅要高压缩比,而且应在恶劣的传输条件下(包括移动网络的衰减)具有抗阻塞、抗误码的鲁棒性。 H.264不仅具有优秀的压缩性能,而且具有良好的网络友善性,这对实时视频通信是十分重要的。H.264还有一个重要应用,即网络上的流媒体。近年来,应用了流媒体技术的VOD(Video on Demand)有了迅速的发展,据统计,VOD在韩国的家庭宽带应用中占据了第二位。我国的宽带用户现已达1000万以上,而且还在继续迅速增加。不论在桌面市场还是移动市场,VOD业务的发展前景也是相当令人期待的,本课题的研究便是在此领域的展开。3.3 H.264/AVC标准的构成3.3.1基本概念视频的一帧或一场可以用来产生一个编码图像。一般来说,视频帧可分为两种类型:逐行和隔行视频的。在传统的模拟电视中,为了减少大面积的闪烁现象,我们把一完整的逐行帧分成两个隔行的场。可以看见,这时帧内相邻行之间的空间相关性较强,因此运动较小或静止的图像宜采用帧编码方式,对运动量较大的运动图像则宜采用场编码的方式。一个编码图像通常划分成若干个宏块,一个宏块由一个16x16亮度像素值和一个8x8的Cb和一个8x8的Cr彩色像素值块组成(YUV420采样格式)。每个图像中,这些宏块被排列成片的形式。I片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。I宏块利用当前片中已解码的像素作为参考进行帧内预测(不能取其它片中的已解码像素作为参考进行帧内预测)。P宏块利用前面已编码图象作为参考进行帧内预测,一个帧内编码的宏块可进一步作宏块的分割:即 16x16、16x8、8x16或8x8亮度像素值块(以及附带的彩色像素值);如果选了8x8的子宏块,则还可以再分割成各种子宏块,尺寸可为8x8、8x4、4x8或4x4 亮度像素块(以及附带的彩色像素)。B宏块则利用双向的即过去的和将来的已编码图像作为参考进行帧内预测。3.3.2基本分级H.264/AVC划定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用。基本层次(Baseline Profile):主要利用了I片和P片,支持帧内和帧间编码,支持基于上下文的自适应变长编码进行的(CAVLC)。主要应用于视频电话、电视会议、无线通信等要求实时性、低延迟的场合。主要层次(Main Profile):支持隔行视频,可采用B片的帧间编码和采用加权预测的帧内编码。其支持基于上下文的自适应的算术编码(CABAC)。主要应用于数字广播电视与数字视频存储。扩展层次(Extended Profile):支持码流之间有效的切换(SP和SI片)、通过数据分割改进误码性能,但不支持隔行视频和基于上下文的自适应的算术编码(CABAC)。南京邮电大学硕士研究生学位论文 第四章 系统框架实现及设计第四章 系统框架设计及实现随着3G时代的到来和手机硬件配置的大幅提高,例如高分辨率显示屏、高速CPU、大容量存储,甚至配备独立的GPU等,手机将逐渐从简单的语音通信工具发展成支持互联网浏览、移动电子商务、多媒体娱乐等以信息为中心的移动个人信息设备。因此,越来越多的人使用手机去观看在线电影、视频,收听广