(通信与信息系统专业论文)视音频数据实时存储及回放质量控制方法的研究.pdf_第1页
(通信与信息系统专业论文)视音频数据实时存储及回放质量控制方法的研究.pdf_第2页
(通信与信息系统专业论文)视音频数据实时存储及回放质量控制方法的研究.pdf_第3页
(通信与信息系统专业论文)视音频数据实时存储及回放质量控制方法的研究.pdf_第4页
(通信与信息系统专业论文)视音频数据实时存储及回放质量控制方法的研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(通信与信息系统专业论文)视音频数据实时存储及回放质量控制方法的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

视音频数据实时存储及回放质量控制方法的研究 摘要 数字电视是电视系统发展的趋势现有的数字电视主要是接收m p e g 电视节目码流,然后解码回放,功能相对简单通过在数字电视终端加入 数字机顶盒,用户就可以将自己所喜爱的电视节目记录到大容量的外部存 储媒质中去,以便日后继续观赏,还可以实现电视节目的快进和快放等功 能,增强了数字电视的交互性 本文以p h i l i p s 公司的p n x 8 3 2 0 多媒体芯片为硬件平台,在数字电视视 音频记录的两个重要模块方面提出了一些实际开发中的解决模型和实现方 法,主要包括三个部分:视音频数据实时存储模块、视音频数据格式设计 和视音频数据回放模块视音频数据格式设计是两个模块之间协作的数据 格式的要求,因此在本文中作为一个独立的部分详细说明 在对于两个模块的分析中,运用基于对象的设计模式,对数字机顶盒的 硬件设备从功能上进行了软件的抽象,划分出1 6 个基本元件类,通过对这 些类的状态转移变化的控制,简化了硬件操作和提高了软件开发效率详 细讨论了视音频数据实时存贮模块的解复用算法和p c r 校正算法,提出了 实现这些算法强壮性方面的实施方法在视音频数据回放模块中,通过对 视音频数据解码等算法的研究,并且结合实际机顶盒硬件功能,我们在回 放质量的性能上给出了理论公式和定量的分析,同时也指出了这些算法存 在的不足 在视音频数据格式设计中,我们着重讨论了两种格式设计:以p e s 包 为基本存储单位的格式设计和以视音频数据复用包为基本存储单位的格式 设计通过比较两个格式设计的优缺点,最终选择了后者为我们的实现格 式设计,并对这个格式设计所带来的性能在理论上和定量上做出了分析, 给出了一个比较理想的结果 在本文末,我们对视音频数据实时存储及回放质量方法的研究做出了一 些展望和总结,提出了_ 些设计中的主要创新和不足之处,给出了以后工 作的重点和研究方向 关键字机顶盒,基于对象的设计模式,解复用,视音频数据实时存储, 视音频数据回放,格式设计 r e s e a r c hi na vr e a l - t i m es t o r i n ga n d p l a yq u a l i t yc o n t r o l l i n gm e t h o d s a b s t r a c t d i g i t a lt vi su n a v o i d a b l ed i r e c t i o ni nt h et e l e v i s i o ns y s t e m t h em a j o r f u n c t i o no ft h ew e s e n td i g i t a lt e l e v i s i o ns e t si st or e c e i v em p e gd i g i t a lv i d e o p r o g r a m s a n dd e c o d et h e mt od i s p l a yo ns c r e e n , s ot h ef u n c t i o ni st o os i m p l e w h c r la d d i n gs e t - t o p - b o x e si n t ot h et e r m i n a lo fd i g i t a lt v , c u s t o m e r sc a l ls a v e t h ep r o g r a m sw h i c ha r ef a v o r a b l eb yt h e m s e l v e si n t ot h ee x t e r n a ls t o r i n gm e d i a f o rp h y i n gb a c ki nf u t u r e ,a n di m p l e m e n tt h ef u n c t i o n so ff a s tf o r w a r da n df a s t p l a y i n gb a c ke t c t h e s ee n h a n c e t h ei n t e r a c t i o no f d i g i t a lt v t h eh a r d w a r ep l a t f o r mi st h ep n x 8 3 2 0m u l t i m e d i ae h i p s e to fp h i l i p s 。i n w h i c hw ed e s i g ns o m ep r a c t i c a ls o l u t i o nm o d e l sa n dr e a l i z a b l em e t h o di nt h e t w om o d u l e so fd i g i t a lt va vr e c o r d t h ec o n t e n t si nt h et h e s i si n c l u d et h r e e p a r t s :t h em o d u l eo f a vd a t ar e a l - t i m es t o r i n g 、t h ef o r m a td e s i g n i n go f t h ea v d a t aa n dt h em o d u l eo f a vd a t ap l a y i n gb a c li ti sn e c e s s a r yf o rt h ec o o p e r a t i o n o fa b o v et w om o d u l e st od e s i g nt h ea vd a t af o r m a t , s ot h i st h e s i si l l u m i n a t e s t h i sp a r ti nd e t a i la sac h a p t e r i nt h ea n a l y s i so ft h ea b o v et w om o d u l e s ,w eu s et h ed e s i g n i n gm o d e lo f b a s i n go b j e c t - a n da c c o r d i n gt o f u n c t i o na b s t r a c tt h ed i g i t a ls e t - t o p - b o x s h a r d w 盯ei n t os i x t e e ns o f t w a r ef u n c t i o nc o m p o n e n t s b yc o n t r o l l i n gt h es t a t u s s t r a n s f e ro f t h e s ec o m p o n e n t s ,w eg r e a t l ys i m p l i f yt h eo p e r a t i o no f t h eh a r d w a r e s e t t i n ga n di m p r o v et h ee 伍c i e n c yo ft h es o f t w a r ed e v e l o p m e n t m o r e o v e r , w e d i s c u s si nd e t a i lt h ed e m u l x i n ga l g o r i t h ma n dt h ep c r sa l g o r i t h n 1 a n db r i n g f o r w a r dt h ei m p l e m e n t a lm e t h o df o re n h a n c i n gt h er o b u s to ft h e s ea l g o r i t h m s t h r o u g hr e s e a r c h i n gs o m ea l g o r i t h m s ,s u c h a s d e c o d i n ga l g o r i t h m , a n d a l l o w i n gf o rt h eh a r d w a r ef u n c t i o n si nt h em o d u l eo fa vd a t ap l a y i n gb a c k , w e t a k es o m ef o r m u l ai nt h e o r ya n do b t a i ns o m ef i g u r eb ya n a l y z i n gt h e s e a l g o r i t h m si nq u a n t i t y , a n da tt h es a m et i m ep o i n to u tt h ed i s a d v a n t a g eo f t h e a l g o r i t h m s i nt h ef o r m a td e s i g n i n go fa vd a t a w ed i s c u s st w od e s i g n i n gf o r m a t :t h e e s s e n t i a ls t o r i n gu n i tb a s i n go nt h ep e sa n dt h ee s s e n t i a ls t o r i n gu n i tb a s i n go n t h em u l t i p a c k e to fa vd a t a c o m p a r e dw i t ha d v a n t a g ea n dd i 女d v a n t a g eo ft w o d 船i g n i n gf o r m a t t h el a t t e ri sa d o p t e df o rt h ep r a c t i c a lu s a g e a tl a s t ,w e a n a l y z et h i sf o r m a t sp e r f o r m a n c ei nt h et h e o r ya n dq u a n t i t y , a n dg a i nt h eb e t t e r r e s u l t i nt h ee n dw em a k es o m ee x p e c t a t i o na n dd e c i s i o nf o rt h er e s e e x c b , i na v r e a l - t i m es t o h n ga n dp j a y i n gb a c kc o n n o t l i n gm e m o d s a n dp u tf o r w a r ds o m e c r e a t i v i t i e sa n dd i s a d v a n t a g e si n d e s i g n , t h e nd e m o n s t r a t e t h ei m p o r t a n t w o r k i n ga s p e c t sa n dr e s e a r c h i n gd i r e c t i o n k e y w o r ds e t - t o p - b o x , t h em o d u l eo f b a s i n go b j e c t ,d e m u l x , a vd a t ar e a l - t i m es t o r i n g , a vd a t ap l a y i n gb a c k , t h ef o r m a td e s i g n 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品 成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:王燕青 日期:2 0 0 2 年1 2 月1 5日 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保整、使震学位论文匏 规定,同意学校保留并向困家有关部门或机构送交论文的复印件 和电子版,允许论文被查阅和借阅。本人授权上海交通大学可以 将本学拉论文匏全部或部分内容编入有关数据库遴行检索,可以 采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密匿衫在三年解密后适用本授权书。 本学位论文属于 不保密口。 ( 请在以上方框内打“”) 学位论文作者签名:王燕青 将溯戳:懈茸 日期:z 凸c = 弓年f 月1 目 日期:2 加3 年1 月7 目 上海交通大学硕士学位论文视音频数据实时存储及回放质量控制方法的研究 1 1 数字电视的发展 第一章绪论 凡在电视信号的获取、处理、传输和接收的过程中使用数字电视信号的,都 可以称为数字电视系统或数字电视设备。这里数字电视信号可以是直接生成的数 字电视信号,如动画、字幕机和数字摄像机产生的数字信号;也可以是由模拟信 号经数字化以后产生的数字电视信号;也可以是经处理的数字电视信号,如 m p e g 格式的压缩数字电视信号数字电视在这里是广义的概念,数字电视系统 可按节目制作,一次分配、二次分配、发送和接收分类;也可以按卫星传输系统, 地面传输系统和有线电视传输系统分类;或按消费类、专业类和演播室数字设备 分类;或按低清晰度,常规清晰度和高清晰度业务分类因此市场上会出现多种 多样的数字电视系统和设备 关于“数字电视机”目前有两种不同的解释,8 0 年代n t 公司就研制了一套 数字处理芯片,在接收模拟电视信号的情况下,经过模拟的高、中频处理与a d 转换成数字信号后进行数字处理,以便改进图像清晰度、降噪、隔行和去闪烁 8 0 年代末,国内为了推进该芯片在中国的应用,还成立过数字电视协会,严格 地说应是“数字电视机芯片协会”但因当时国内市场尚不成熟,推广不是很快, 到9 0 年代才有多种具有画中画、隔行和质量改进的“数字电视机”这种数字电 视机接收的是模拟电视信号,仍处在模拟传输的模拟系统中,更不是“全数字电 视机”但“数字电视”这一名词在模拟传输系统向数字系统转化时一直用于模拟 系统中的数字设备如数字录像机,数字摄像机,数字特技等数字电视系统的 出现,使数字电视系统和模拟系统中的数字设备的命名出现混淆,实际上新的系 统和原系统的主要区别在传输新的数字电视系统的名称也存在的差异,比如美 国的“数字电视”( d t v :d i g i t a l1 、,) 专指美国地面数字电视广播系统,这是一个专 用名词,不是前面我们说的广义数字电视的概念;而欧洲的地面数字电视广播系 统是d v 】k - t 在这种地面数字电视广播系统中,除了目前节目制作还有一部分 是模拟的外,从演播室开始,到传输和接收的所有环节都是使用数字电视信号, 接收这种地面数字电视广播信号的电视机才是名副其实的数字电视机 高清晰度电视( h d t v ) 是一种电视业务,原i t ij 二r 给高清晰度电视下的 定义是:“高清晰度电视应是一个透明系统,一个正常视力的观众在距该系统显 示屏高度的三倍距离上所看到的图像质量应具有观看原始景物或表演时所得到 的印象”它的水平和垂直清晰度是常规电视的两倍左右,并配有多路环绕立体 第一章绪论 声数字电视系统可以传送多种业务,如高清晰度电视( h d t v ) ,标准清晰度 电视( s d t v ) ,立体声及数据业务等等因此下一代电视系统是可以传h d t v 和s d t v 等不同级别图像,集图像、声音和数据等多种业务的数字系统 日本对h d t v 的研究起步最早,早在七十年代初期n h k 就向c c i r 提出过 l i i s i o n 建议,并于1 9 7 8 年进行了h d t v 的传输和接收实验虽然h d t v 的 图象质量还令人满意,但图象质量的提高是通过扩大带宽换来的,这在电视广播 中受到很大限制。欧洲继日本之后也开始进行高清晰度电视的研究考虑到欧洲 本身的特殊情况,1 9 8 1 年英国独立广播网总管理处( h d e p c n d e n t b r o a d c a s t i n g a u t h o r i t y , 简称i b a ) 提出了一种新型的信号方式多工组合模拟分量 ( m u l t i p l e x e da n a l o g u ec o m p o n e n t ,简称m a c ) 制后,曾对现行的日本h d t v 进 行了完全的否认,认为h d t v 是不可能进一步发展的( 其要求的频带太宽) 对 于这一点,n h k 在较长的时间里保持沉默,因为i b a 的指责无可非议,而实际 上n h k 却在发展一种新系统。1 9 8 4 年初,n h k 公布了这项科研成果,正式定 名为m u s e ( m u l t i p l es u b - n y q u i s ts a m p l i n ge n c o d i n g ) ,即多重亚奈奎斯特取样 编码m u s e 制采用了时分多路传输技术和带宽压缩技术,在仅占据一个普通电 视频道内来进行宽高比为5 :3 ( 后改为1 6 :9 ) 的1 1 2 5 行的h d t v 广播;同时 传送两路数字编码的高保真伴音信号和其他数据信号日本在1 9 8 8 年成功地运 用其h d t v 系统对汉城奥运会进行了实况传播,并于1 9 8 9 年开始了h d t v 的实 验广播无论是m u s e - h d t v 还是h d - m a c ,都不能无视现在已经存在并正在 使用的几亿电视接收机及投资庞大的系统设备。为了解决如何经济的向大众传输 高清晰度电视图象,在1 9 9 5 年美国高级电视制式委员会( f c c ) 提出了美国数 字电视标准的建议1 9 9 6 年1 2 月f c c 通过了。a t s c 数字电视标准”,于1 9 9 7 年4 月f c c 为全美1 6 5 0 个电视台指派了用于数字电视广播的频道,并公布了到 2 0 0 6 年所有电视台全部实现数字播出,彻底停止现行模拟广播的日程计划美 国提出的全数字、频道兼容、基于m p e g - 2 压缩编码的h d t v 体制仅占用一个 地面广播电视频道( 6 m h z 一8 m h z ) ,而其1 0 0 0 线以上的高清晰度画面和5 1 声 道的环绕立体声达到了视听的理想境地同时,数字传输的特点为多种信号复用 提供了方便,因此这种全数字频道兼容h d t v 已为世界各国所公认和接受 中国在数字电视领域一开始便与科技先进国家保持同步中央电视台1 9 9 5 年开始利用数字电视系统播出加密频道,利用卫星向有线电视台传送4 套加密电 视节目在1 9 9 6 以后省级电视台逐步使用数字压缩技术进行卫星电视节目传送 覆盖,一个卫星转发器上可以转发5 套电视节目,所使用的传输标准是d v b s m p e g - - 2 现在所有的省级电视台都利用卫星向全国传送节目,原来使用模 拟方式上星的省级电视台都逐渐转到数字方式1 9 9 8 年底中国广播卫星公司建 立起直播卫星广播试验平台,将中央电视台和各省台的上星节目全部集中起来, 上海交通大学硕士学位论文视音频教据实时存储及回放质量控制方法的研究 通过1 颗卫星上的四个转发器以数字方式向全国传送 在研究和开发方面,我国从8 0 年代末就对世界高清晰度电视的发展进行跟 踪研究。八五”国家重点科技攻关项目“高清晰度电视技术研究”对数字高清 晰度电视和常规数字电视广播开展了理论研究和计算机模拟,取得一些实验结果 和经验1 9 9 6 年7 月启动了“九五”国家重大科技产业工程项目“高清晰度电 视功能样机的研究”,整个项目的组织和实施由国家h d t v 总体组负责,成功地 依靠我国自己的科研力量独立自主研制出了我国第一台高清晰度电视功能样机 数字电视产业化项目现已列入国家“十五”计划的十= 项重点项目中 1 2 数字电视机顶盒的简介 电视由模拟向数字转变是电视系统发展的一个趋势,作为电视系统终端的数 字电视机顶盒( s t b ) 的出现使电视广播不在局限于单纯的单向发送视音频数据, 它也能为用户提供多种网络服务从用户角度来看,他们已经不满足于被动的接 收各种电视信息,需要能根据自己的选择来收看电视节目 遥控器 图1 1 数字电视机顶盒交互摸型 数字电视机顶盒的主要特点是:数字化、交互性、多媒体和多功能数字化 不仅能够提供数据传输的高可靠信,而且也能是享受现有的计算机技术和网络技 术所带来的便利和灵活性交互性是数字电视机项盒最为重要的特征,交互电视 是以后电视发展的主流,因为只有交换才能使用户的要求得以实现,图1 1 展 示了一个数据电视机顶盒交互的模型数字机顶盒拥有了网络互联和交互能力以 后,它提供的多媒体功能将越来越多,主要包括为: 1 网上点播自己喜欢看的电视节目通过数字电视机顶盒的记录功能,可以收 藏自己喜爱的电视节目于外部媒质存储设备上,以后可以随时欣赏 2 电子商务和电子邮件通过使用遥控器浏览网页,可以在网络上采购自己所 第一章绪论 需要的各种生活用品在家里我们可以通过数字电视机顶盒的电子邮件功能 来联系朋友和处理工作上的业务管理,极大地方便了用户 3 实时数据广播功能用户可以在家里通过电视机来查询银行帐户,也可以根 据股市行情,操作股市交易 4 多视角观赏电视节目电视节目码流中有可能含有多个视角的数据码流,因 此可以通过控制数字电视机顶盒的播放功能来进行一个动作的多视角观察, 这个对于体育节目而言,能给用户带来全新的视觉感受 实时视音频码流存储和记录数据的回放是数字电视机顶盒的一个基本的功 能,它增强了数字电视的交互性用户可以通过遥控器来对实时播放的电视节目 进行t i t a e s h i f t 节目快进和节目快速回放等功能,增强了本地用户管理节目的 能力,我们将在下面一节中简单的介绍一下这个基本功能总体结构 1 2 1 视音频数据实时存储和回放的总体结构简介 视音频数据实时存储和回放控制的主要内容是视音频数据存储和视音频数 据回放控制两个方面它的原理框图如图卜。2 所示,首先是肝e g 视音频码流输 l视音频显示设鲁 f j 视音频解码器 视音频数据 视音频数据 一i。,j一一一 系统内存 图1 - - 2 视音频实时存储和回放原理框图 入视音频解复用器缓冲区中准备解复用,然后解复用后的视音频数据被存入系统 内存,通过和硬盘驱动通信后把视音频数据存入硬盘中,这就是所谓的视音频数 据实时存储过程视音频数据回放控制过程主要是通过硬盘驱动从硬盘中将视音 频数据读入系统内存,然后把数据输入到视音频解码器缓冲区中准备解码,解码 后的数据输出给视音频显示设备显示 通过使用视音频实时存储功能和回放控制功能的有机组合,能实现电视节目 的t s r 等功能,因此对上面这两个过程的研究和分析将会有实际的参考价值 上海交通大学硕士学位论文视音频数据实时存储及回放质量控制方法的研究 1 3 本文研究的内容与章节安排 视音频数据实时存储和回放质量控制的方法是本文将研究和分析的主要内 容。通过对这两个方面算法的具体优缺点的分析和设计模型的性能分析,我们最 后采用了在总体性能上较为出色的方案作为实际解决问题的最终方法在某些算 法中,我们也给出了具体的实际测试数字,通过对这些数字的定量分析,直观地 说明了算法所带来的好处 第二章具体分析了视音频数据实时存储模块的实现方法通过分析视音频传 输码流的特性,给出了s e c t i o n ,t s ,p e s 和e s 数据的时序解复用算法,并在本 章末尾部分着重分析了使用p c r 校正本地s t c 时钟的算法 在视音频数据实时存储模块和回放模块之间存在数据格式设计的要求,因此 我们在第三章中详细分析了视音频数据格式设计这个部分,通过比较两种设计格 式的优缺点,最终选择了以视音频数据复用包为基本存储单位的格式设计,并对 这种格式在理论和定量计算方面的做出了具体的分析,得到了比较令人满意的结 果 第四章主要是讨论视音频解码以及回放方面的控制和算法根据标准肝e g 文档的分析和结合硬件系统提供的各功能,我们提出了视频解码算法和回放算 法在本章节的最后还特别对视频快放傲了详尽的理论分析,给出了实际中采用 扫描i 帧算法的理由 上海交通大学磺士学位论文视音频数据实时存储及回放质量控制方法的研究 2 1 系统复用简介 第二章视音频解复用模块 系统复用是将一个或者几个节目的视音频p e s 包数据组成单一的码流,然后 传输在m p e g - - 2 标准中可以有两种不同类型的码流传输到信道去,一种叫节 目码流( p r o g r a ms t x e a m ) ) 另外一种叫传输码流( t r a n s p o r ts t r e a m ) 或者称为传 输流如图2 1 所示: 图2 i 节目码渲和传输码流结构蛋 节目码流类似于m p e g - 1 中的系统复用方法,它是将一个或者几个具有公共 时间基准的p e s 包组合成单一的码流,所有的码流就象单个节目码流那样用同 步来解码节目码流主要运用于误码较小的运行环境,比如v c d ,d v d 等它 的主要特点是码流中的包长度比较的长,并且是可以变化的 传输码流也是将一个或者几个p e s 包组合成一个单一的码流,所有这些p e s 包可以有一个公共的时间基准,也可以是几个独立的时间基准如果几个码流使 用单一的时间基准,那么这几个码流组成的一组,我们称之为节目复用然后由 多个节目复用再进行传输复用后在信道中传输传输码流主要运用于误码较大的 运行环境中,比如在c a b l e 信道中传输节目它的主要优点是t s 包传输长度固 定( 1 8 8 个字节) ,有利于信遭传输和误码纠错 第二章视音频解复用模块 2 2 系统解复用模块的设计 2 2 1 系统解复用硬件结构 图2 - - 2 传输码流( t s ) 硬件解复用原理框图 c a b l e 数字电视的复用一般是采用传输码流的复用方式来进行的( 如图2 - - l 中( b ) 所示) ,因此我们下面讨论的解复用方式都是建立在传输码流的基础之上 系统解复用器( 硬件结构原理框图如图2 - 2 所示) 的主要功能是把一个或者几 个节目的视音频数据从复用数据中还原出来,然后进行存储和回放它主要包括 三个部分:系统数据解扰、系统常规用途和高速接口( 系统硬件过滤器) 和f i f o 的系统内存队列要解复用一个节目的视音频数据要经历三个步骤: 1 利用s e c t i o n 硬件过滤器过滤p i d = 0 的节目关联表,获取节目映射表和p c r 的p i d 信息 上海交通大学硕士学位论文视音频数据实时存储及回放质量控镧方法的研究 2 利用节目关联表( p a t ) 中所包含的节目映射表( p m t ) 的p i d ,过滤出每 套节目的视音频和私有数据的p i d 3 利用节目映射表中每套节目的视音频p i d ,过滤出节目的视音频p e s 包来, 同时利用节目关联表( n 盯) 中的p c r 的p i d ,过滤出p c r 值,用于p c r 的本地时钟的调整,它的顺序用图2 - - 2 中的数字表示 2 2 2 系统解复用器软件结构 在软件设计中,我们采用了基于对象的设计模式这种设计模式的出发点和 基本原则是尽可能的使描述问题的问题空间与实现解法的解空间在结构上一致, 使软件开发的方法与过程便于理解基于对象的设计模式的主要优点是: 1 与习惯的思维方式一致基于对象的软件开发过程始终围绕着建立问题域的 对象模型来进行,能集中考虑单个对象中的属性和方法,符合思维的整体性 和集体化过程 2 软件稳定性好传统的软件开发方法以算法为核心,开发过程基于功能分析 这种方法所建立起来的软件系统的结构紧密依赖与系统所要完成的功能,当 功能发生变化的时候将会引起软件结构的整体修改。实时上用户需要变化的 大部分是针对功能的,因此,这样的软件系统是不稳定的基于对象的方法 基于构造问题领域的对象模型,以对象为中心的构造软件系统它根据问题 领域的模型建立起来的,而不是基于系统应完成的功能而分解的,所以当用 户的功能发生变化时,并不会引起软件结构的整体变化,往往是需要作局部 的修改 3 软件可重用性好软件的重用方法有两种:一种是组合,即创建一个对象的 实例,然后在其它类中进行使用,对象关系是一种h a s - a 关系:另外一种是 继承,在基于对象模型中,我们是模仿对象内存分配方式而实现的,对象关 系是一种i s - a 关系 4 可维护性好基于对象的软件比较容易修改,对象是一个理想的模块机制, 它的独立性好,修改一个对象很少会牵扯到其它的对象,如果仅仅修改的是 类的内部实现部分( 私有数据或者私有成员函数) ,那么可以完全不会影响 软件的其它部分 5 易于测试和调试基于对象的软件主要是通过组合或者继承来派生出一些新 的类,因此测试和调试工作也只要主要围绕这些新的类来进行的 根据具体的硬件功能,我们抽象出了6 个元件类( 它们之间的类关系图如2 3 所示) :d e s c r a m b l e r 元件类、c h a n n e l 元件类、s c c t i o n c h a n n e l 元件类、d a t a c h a n n e l 元件类,f i f o 元件类和v m s p 元件类从图2 3 中可以看到,6 个类都是 第二章视音频解复用模块 c o m p o n e n t 元件类的子类实际上c o m p o n e n t 元件类也是整个t s r 元件类的基 类,是它们的最基本的逻辑归纳,提供了一个元件类最基本的属性和方法。它的 数据结构如下所示; t y p e d e f s t r u c t _ c o m p o n e n tc o m p o n e n t 元件类定义 ,p u b l i c : 公有的元件类属性 u i n t 3 2 s z 4 c o m p o n e n t 元件类的大小 c o m p o n e n t t y p e t y p e ; c o m p o n e n t 元件类型 p r o t e c t e d : 保护的元件类属性 _ u i n t 3 2e v e n t ; c o m p o n e n t 元件能接收到的所有的事件 一u i n t 3 2 e v e n t m a s k ;c o m p o n e n t 元件用户关心的事件 _ _ u i n t 3 2c o n t e x t ; ,c o m p o n e n t 元件的上下文信息 e r r o r c o d e ( * c a h b a c k x 用户的回调函数 e v e n te v e n t , 发生的元件事件 v o i d * d n t a p t r ,发生的元件事件的具体信息 u i n t 3 2c o n t e x t用户的上下文信息 ) ; ,p f i v a t e : 私有的c o m p o n e n t 类属性 c o m p o n e n t s t a t u s s t a t u s ; c o m p o n e n t 元件的当前状态 h a s h c o d e h s c o d e ;哈希键值,用于对象是否相同的判断 u m t 3 2 c l a s s l d ; 类的标示符号,全局唯一 m u t e x h m n t e x ; 互斥旬柄 v i r t u a l t a b l e + v t b p t r ; 虚表指针 ) c o m p o n e n t ; 其中:表示箭头指向的是本元件类的父樊 一一蕊裂燃挈潞篱类 圈2 - 3 解复用元件类关系圈 c o m p o n e n t 元件类主要有四个部分组成: 1 c o m p o n e n t 元件类的类型识别和状态属性类型识别主要是用于运行时刻类 型检查( r t t i ) ,比如c o m p o n e n t t y p e 属性状态类型是描述元件当前所处 的工作状态,通过状态信息可以对元件进行安全检查和实时控制,比如 上海交通大学硪士学位论文视音频数据实时存储及回放质量控制方法的研究 c o m p o n e n t s t a t u s 属性 2 c o m p o n e n t 元件类事件派发机制事件一般有两种,一种是元件内部事件, 对用户而言是隐藏的;另外一种是用户事件c o m p o n e n t 元件类通过e v e n t 和e v e n t m a s k 属性来处理这两种事件的调度和管理 3 c o m p o n e n t 元件类的同步属性对于对象的某些属性,比如状态属性,往往 是多个进程共享的,这样就会产生资源的竞争,为了使多进程安全,我们就 需要通过h m u t e x 互斥旬柄属性来管理同步状态 4 c o m p o n e n t 元件类的方法集合方法集合是整个c o m p o n e n t 元件类的算法集 合,它包括i n i t 、o p e n ,s e t 和s t a r t 等方法,通过这些方法,我们可以控 制元件的各种内部状态,在c o m p o n e n t 元件类中我们通过虚表来管理这个方 法集合 以下简单的说明一下,各个元件类的主要功能: d c s c r a m b l c r 元件类是硬件解复用器中的数据解扰器部分的软件抽象它的主 要功能是解码接收的m p e g - - 2 加密包,加密包的主要用途是为了保护节目版权 不受侵犯这些加密包的加密往往是d e s ,硬件数据解扰器支持4 种标准加密 格式,能够处理1 6 对控制字 f i f o 元件类是每路c h a n n e l 的数据内存管理类,主要处理视音频数据的自动 回卷和相关事件的处理和调度工作,主要结构将在2 2 3 节中详细介绍 c h a n n e l 元件类是把每路p i d 硬件过滤器认为是一个信道,每个c h a n n e l 都 有一些基本的属性和方法,通过对这些属性的设置和方法的调用,不同p i d 的 m p e g - - 2 码流能从t s 码流中过滤出来 d a t a c h a n n e l 元件类的父类是c h a n n e l 元件类,也就是说,它能过滤m p e g - 2 的码流,但是它加入了一些具体的信道参数属性,能自动识别过滤的是否为t s 码流,p e s 码流和e s 码流等指定码流,并且能够按照用户的指令进行对应的回 调操作它使用了f i f o 元件类,可以把接收到的码流保存入内存队列中去 s e c t i o n c h a n n e l 元件类的父类是d a t a c h a n n e l 元件类。在设计上我们采用了这 种继承方式,而没有采用c h a n n e l 作为它的父类,主要的原因是我们不需要在重 写使用h f o 的代码程序我们在d a t a c h a n n e l 的基础上添加了一些s e c t i o n 过滤 属性,能自动识别过滤的码流是否为s e c t i o n 码流,并且继承了d a t a c h a n n e l 元 件类的其它功能 v m s p 元件类是整个系统解复用器的软件操作类,能够管理系统中所有信道 的分配和释放通过使用d e s c r a m b l e r 元件类来完成数据解扰任务;通过使用 d a t a c h a n n c l 元件类实现p e s 包的过滤任务;通过使用s e c t i o n c h a n n e l 元件类来 过滤出节目关联表( p a t ) 和节目映射表( p m t ) ;通过f i f o 元件类来处理内存 管理方面的内容,它们之间的层逻辑关系图如2 - - 4 所示 第二章视音频解复用模块 控制每个元件的状态是程序中一个又庞大又繁琐的事情,因此我们希望能用 某些自动机器软件根据应用层的指令来完成对应元件的状态转移变化,通过使用 自动机器软件,方便了应用层的使用并且使下层对应用层来说是透明的 圈2 一哇解复用元件层关系圈 应用层接口 驱动层接口 这种实现方法的主要优点是: 1 通过封装元件类的属性和方法,使元件类结构分离为接口和实现,从而支持 了信息的掩藏性,提高了应用层的可理解性 2 使得不同元件类之间的耦合性( 耦合性是指一个软件结构内不同模块之间互 连的紧密程度) 减弱,这样就不会因为某个或者几个类的变化而导致全部的 工程需要重新修改 3 应用软件模块和下层模块这件关系松散,使得应用软件的在不同的硬件条件 下重用性提高,提高了软件开发的生产效率和目标系统的质量。 4 升级或者维护比较的简单,后期工作量会有很大的减少。 主要缺点: 1 自动机器软件的实现代码过于庞大和复杂,如果工程中的某个模块发生变化 那么对应的机器软件模块也要发生相应的修改,因此前期维护机器软件代码 的工作量比较的大 2 软件的效率和速度会有一些下降,这个我们将在第四章中详细分析 在系统解复用元件中,我们把每个元件分了4 种基本状态:f r e e 状态( 相当 于c l o s e 状态) ,o p e n 状态( 相当于s t o p 状态) 、s e t 状态和s t a r t 状态,其它 的状态都可以通过这4 种基本的状态组合而成,他们之间的状态转移图如图2 - - 5 所示,数字表示转移顺序自动机器软件模块提供唯一接口函数,定义如下: 如果改变元件状态成功,那么返回为t s r _ o k ,否则为失败信息 e r r o r c o d ec h a n g e c o m p o n e n t s t a t u s ( c o m p o n e n t * c o n s t t h i s ,元件实例的基类指针 c o n s tc o m p o n e n t s t a u t sn e w s t a t u s , 请求的新转移状态 ) ; 上海交通大学硕士学位论文视音频数据实时存储及回放质量控制方法的研究 通过使用这个接口函数,我们可以方便的在解复用元件状态之间进行切换, 给开发带来了很大的便利 嚣2 - - 5 解复用元件对象状态转移圈 2 2 2 解复用器的过滤器算法 我们使用常规用途和高速接口( g p h s ) 硬件模块来充当系统硬件过滤器, 它有两种基本的模式:第一种是g p 模式,在这种模式中输出数据的频率是实际t s 码流的频率;第二种是h s 模式,它是以恒定的1 3 5 m h z 的频率输出数据。要在g p 模式下通过p i d 来过滤t s 码流是不可能的,因此我们以后讨论的过滤情况都以l i s 模式来完成在h s 模式中有四种过滤算法:t s 包过滤算法,p e s 包过滤算法、e s 过滤算法和s e c t i o n ( 往往是私有数据) 过滤算法我们通过设置m s p _ g p h s c t l 寄存器来控制硬件的时序变化,从而达到过滤的作用下面我们简单的介绍一下 这四种算法 图2 - 6t s f l 过滤筇法时序图 t s 包过滤算法是将整个传输流中的t s 包数据都被认为是有效数据,如图2 - - 6 所示,g pd a t av a l i d 高电平有效,g ps y n c 脉冲来表示t s 包头第一个开始字节 第二章视音频解复用模块 的位置,g ps t r o b e 脉冲来表示t s 包中的每一个字节的开始位置,通过使用g p s t r o b e 脉冲,我们可以统计出输出数据的字节数 留2 - - 7p e g 包过滤算法时序田 p e s 包是t s 包的有效负载,一个t s 包的有效负载往往是一个p e s 包的一 个部分我通过过滤t s 包的有效负载来获取p e s 包的内容p e s 包过滤算法的 时序图如图2 7 所示,与图2 6 比较可知,g pd a t av a l i d 表示的是t s 包的有 效负载;g ps y n c 产生于t s 包有效负载的第一个字节位置 田2 - 8i i s i g 过滤算法时序图 相似于p e s 包过滤算法,e s 过滤算法是将p e s 包的有效负载( e s 的内容) 过滤出来。图2 - 8 中的主要区别是g p d a t a v a l i d 的有效开始是e s 内容的第一个 字节,g ps y n c 同步脉冲也相应的在e s 内容的第一个字节处产生,我们依然通 过g ps t r o b e 脉冲来计算b s 的字节数。 s e c t i o n 过滤算法是一个比较复杂的算法,它主要有两种过滤方式:一种是匹 配s e c t i o n 头过滤方式,比如通过这种方式可以过滤出节目关联表( p a t ) ,节目 映射表( p m t ) 和各种私有的用户数据来;另一种是匹配节目时间邮戳的过滤方 式,比如过滤出节目t s 码流中的it s 和d t s 。s e c t i o n 过滤器由6 4 9 6 位掩码向 量、模式向量和比较值三个部分组成掩码向量的主要作用是控制过滤匹配的 上海交通大学硕士学位论文视音频数据实时存储及回放质量控制方法的研究 6 4 9 6 位的比较状态,0 表示忽略这个比较位,1 表示要进行这个位比较;模式向 量是指定哪种匹配模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论