复用相关技术介绍
- 格式:doc
- 大小:952.50 KB
- 文档页数:19
软件工程中的软件复用技术分析在当今快速发展的信息技术领域,软件工程面临着越来越高的要求和挑战。
为了提高软件开发的效率、质量和降低成本,软件复用技术逐渐成为软件工程中的重要手段。
软件复用,简单来说,就是在软件开发过程中,重复使用已有的软件资源,包括代码、设计、文档等。
这就好比在建造房屋时,不是每次都从制作砖头开始,而是可以直接使用已经生产好的砖头,从而节省时间和精力。
软件复用技术具有诸多显著的优势。
首先,它能够显著提高软件开发的效率。
通过复用已有的成熟组件和模块,开发人员无需从头开始构建每一个功能,从而大大缩短了开发周期。
想象一下,如果每次开发一个新的应用程序都要重新编写登录模块、用户管理模块等常见功能,那将是多么耗时费力的事情。
而有了软件复用,这些常见的功能模块可以直接拿来使用,或者在其基础上进行少量的修改和定制,就能满足新的需求。
其次,软件复用有助于提高软件的质量。
被复用的软件组件往往经过了多次的测试和优化,其稳定性和可靠性相对较高。
使用这些经过验证的组件,能够降低新开发软件中出现错误和缺陷的风险。
再者,软件复用还能降低开发成本。
由于减少了重复开发的工作量,相应的人力、时间和资源投入也会降低,从而使软件开发的成本得到有效控制。
在软件工程中,常见的软件复用形式多种多样。
代码复用是最基本的一种形式,开发人员可以直接复用他人编写的函数、类或者模块。
设计复用则是在更高层次上的复用,例如复用软件的架构设计、算法设计等。
还有一种是组件复用,这就像是在搭积木,将各种预定义好的组件组合在一起,构建出复杂的软件系统。
然而,要实现有效的软件复用,并非一帆风顺,也面临着一些挑战和问题。
首先是复用资源的查找和评估问题。
在庞大的软件资源库中,如何快速准确地找到符合需求的复用资源,并且评估其质量和适用性,是一个难题。
这需要建立有效的检索机制和评估标准。
其次,复用资源的适应性和兼容性也是需要考虑的。
不同的软件项目可能有不同的需求和环境,复用的资源可能需要进行一定的修改和调整才能适应新的情况。
软件的复用技术及开发方法软件的复用技术及开发方法2.1软件的复用技术软件复用是指在开发新的软件系统时,对已有的软件或软件模块重新使用,该软件可以是己经存在的软件,也可以是专门的可复用组件〔8〕。
软件可复用性的高低影响到生产效率的高低、软件质量的好坏和系统可维护性的好坏。
在软件工程中面临的问题不是缺乏复用,而是缺乏广泛的、系统的复用。
软件复用包括构造可复用软件和用可复用软件进行构造。
构造可复用软件,一方面可以从现存的软件系统中抽取,另一方面通过改写或重新设计来实施。
Jones将软件复用的对象分为4种数据复用、体系结构复用、设计复用和程序复用。
这样,软件复用可在实现层、设计层和体系结构层三个层次上实现。
实现层软件复用是指对己有的程序代码进行复用,它包括源代码组件形式。
设计层软件复用是指对已有的软件系统的设计信息进行复用。
而体系结构层软件复用是最有效的软件复用,它主要是软件体系结构形式化的复用,即将软件的框架组织,全局结构设计作为复用对象。
可复用的软件体系结构则通常是显式地复用软件体系结构,并通过集成其他软件体系结构,建立新的更高层次的体系结构。
面向对象的软件复用机制主要有两种:继承和对象组合。
(1)继承继承是指子类可以从父类中直接获得某些特征和行为的能力,继承可作为代码复用和概念复用的手段。
作为代码复用的手段是指:子类通过继承父类的行为,一些代码就不必重写;作为概念复用的手段是指:子类共享父类的方法定义。
作为代码复用和概念复用手段的继承机制,在面向对象技术中,通过面向对象技术的一些主要机制来实现对“支持可维护性的可复用性”的支持。
这些面向对象的主要机制是:数据的抽象化、封装和多态性。
通过运用这些机制,继承可以在高层次上提供(相对于传统的低层次复用)可复用性:数据的抽象化和继承关系使得概念或定义可以复用;多态性使得实现和应用可以复用;而抽象化和封装可以保持和促进系统的可维护性。
这样一来,复用的焦点不再集中在函数和算法等具体实现细节上,而是集中在最重要的含有宏观商业逻辑的抽象层次上。
otu复用原理OTU(Optical Transport Unit)是光传输单元的缩写,是在光网络中用于光信号的传输和转换的一种装置。
在光网络中,OTU扮演着重要的角色,其复用原理是光网络中的关键技术之一。
下面将详细介绍OTU的复用原理。
首先,OTU的复用原理是基于光传输网络的需求和技术发展而设计的。
在光网络中,为了提高光信号的传输效率和灵活性,需要将不同的光信号进行复用,使其在光网络中能够高效传输。
OTU的复用原理主要包括OTU的帧结构、映射方式、光信号的复用和解复用过程等几个方面。
OTU的帧结构是OTU复用原理的基础,OTU的帧结构通常由OTU帧头、OTU有效载荷和OTU帧尾组成。
OTU帧头用于标识OTU帧的开始和结束,包括OTU帧的同步字、帧长等信息;OTU有效载荷用于携带光信号的数据,包括OTU帧的有效负载数据;OTU帧尾用于标识OTU帧的结束,包括帧校验序列等信息。
OTU的帧结构设计合理,能够提高OTU的传输效率和可靠性。
OTU的映射方式是OTU复用原理的重要组成部分,OTU的映射方式通常包括OTU映射和ODU映射两种方式。
OTU映射是将不同的光信号映射到OTU帧的有效载荷中,实现光信号的复用和传输;ODU映射是将OTU帧的有效载荷映射到ODU帧中,实现光信号的解复用和传输。
OTU的映射方式能够有效地提高光信号的传输效率和灵活性。
光信号的复用过程是OTU复用原理的关键环节,光信号的复用过程通常包括OTU的封装、OTU的映射和OTU的发送等步骤。
OTU的封装是将光信号的数据封装为OTU帧的有效载荷,包括OTU帧的帧头、OTU帧的有效载荷和OTU帧的帧尾等信息;OTU的映射是将OTU帧的有效载荷映射到OTU的光信号中,实现光信号的复用;OTU的发送是将OTU的光信号发送到光网络中,实现光信号的传输。
光信号的复用过程是OTU的复用原理的核心,能够有效地提高光信号的传输效率和灵活性。
光信号的解复用过程是OTU复用原理的另一关键环节,光信号的解复用过程通常包括OTU的接收、OTU的解封装和OTU的解映射等步骤。
波分复用技术:稀疏与密集观察与交流波分复用技术:稀疏与密集盛钟延何赛灵(浙江大学现代光学仪器国家重点实验室杭州310027)波丹复用技术是目前满足急剧增长传输容量需求的有数技术,DWDM(密集波丹复用)系统已经在长途同中得到广泛应用,但在短途同中其价格还是过于昂贵:本文介绍了适合短途应用的低成本的cwDM(稀疏渡分复用)技术,通过与DWDM的对比,分析了CWDM在特定应用中的优势及具体原因,最后做了总结.1c\^fDM与DWDM技术的分析随着光器件包括激光光源,光调制器,渡分复用器/解复用器:EDFA光放大器等的成熟,DWDM相继解决了光源稳定性,高速调制,密集的渡分复用,信号功率在光域的放大等一系列关键问题,一举成为骨干网占主导地位的光传输技术.目前.D~q)M技术已经广泛应用在高速宽带骨干网中.骨干网光缆铺设工程费用昂贵,工期很长,使用DM技术可以在不铺设新光缆的基础上在传输链路的两端加上复用和解复用设备,利用加载在不同波长上的信号可无互相干扰地分开的特性,使一根光纤上传输的信息量扩大到原有时分复用速率的几十甚至几百倍而且EDFA光放大技术可以替换原有昂贵的电中继站,实现超长距离传输长途网中希望能实现复用的波长数越多越好,而由于光纤固有损耗窗15的限制,使得载波波长非常密集,相邻渡长之间的间隔很小.为了使波长间相互串扰满足通信要求,D~q)M系统对激光器,波分复用器,滤波器等重要器件提出了很高的要求.尽管DWDM器件和设备要求高,价格贵,但仍急剧扩大了骨干网带宽.提高r其性价比.随着D酬系统大量铺设,原先位于骨干网的传输瓶颈逐渐转移到短途网.短途网具有与骨干网不同的特点:扩容要求不如骨干网高.光功率衰减影响小:由于铺设光缆成本与距离成正比,而且可能不需要光中继,所以短途网中使用骨干网D~q)M技术缺乏足够成本优势,在扩容需求不大的情况下往往性价比变得更低.于是,短途应用中,cWDM技术被提出,以实现低成本的渡分复用.icwDM采用宽频谱波长通带,可以大大降低成本,其主要原因是作为光信号来源的激光器成本的减少.分布反馈激光器(3FB[At.qer)是渡分复用系统中最常用的半导体光源,它的波长随温度有很小的变化,波长漂移每度变化大约0.o8mn.m_-T规定DW1)M的标准频率间隔是50GHz,100GHz,分别对应的波长间隔是0.4nm,0.8mn,这要求DFB激光器工作温度控制在需要的范围,使渡长不会漂移出系统的复用器/解复用器的谱宽之外.一般波长漂移在D~q)M中需控制在0.1hill 以内:cwDM系统中激光器无温度控制,所匕I在0~70℃的工作温度范围,波长漂移最大约有6hill:另外,DFB激光器制造过程波长不准确度最大可达±3mn.这两项使3FB波长变化最大可达12nm,这决定系统中滤波器的通带必须容纳这样大的波长变化:CWI)M系统典型的通道间隔是20nm,通道带宽是13hill:CWI)M大的通带宽度能够容忍激光器温度波长漂移和制造波长误差,使得光收发模块成本大大降低,同时由于不需要激光器的温控封装,器件的功率得到减小,尺寸得以压缩.CWI)M的收发器价格能够达到D~q)M中收发器的1/31/5.与CWI)M大波长间隔和大通带宽度对应的光滤渡器,相对于DWDM中的滤波器,其制造难度降低,同时误差容限较大,使得规模生产起来更容易,成品率更高,成本大大降低.薄膜滤波(Thin-filmFilter)技术作为一项成熟的技术,在光通信得到了广泛应用,它在1∞GHz频率间隔的D~q)M技术中大约要镀膜150层,而在20nm渡长间隔的CWI)M中只要约5o层薄膜,后者成本比前者低5o%.德波分复用系统中最关键的器件——复用器和解复用器.价格不菲,它在CWDM系统中的实现与DWDM系统相比也有明显成本优势.薄膜滤波器级联而成的复用器和解复用器在渡丹复用系统中应用很多,如前面所述在CWDM的低要求下成本大幅降低.更重要的是.薄膜滤波型复用器和解复用器由于分立器件固有的缺陷,不适合做成通道数多过16的器件.在长途DWDM系统中,不能满足大容量达Tbit/s级的通信要求,已经逐渐被AWG等集成型器件取代.在CWDM系统中,它将在市场推动下重新得到广泛应用.尽管薄膜滤波器等光分立器件由于技术成熟还可以在短期间内发展,但被光集成器件代替已经是大势所趋.随着工艺的成熟.光集成器件在波分复用光网络中扮演着越来越重要的角色=用集成光波导技术制造CWDM器件,同样有误差容限大,制造成本低的优势,集成光波导偏振影响也相对低.特别在占器件成本比重很大的器件封装上,由于对准要求相对较低,容易形成高成品率的规模生产.C~q)M标准正在形成的过程中,4渡,8波,16渡的标准波长走向统一.商用化的4波长,8波长,乃至16波长的C~q)M 器件,模块,设备已经推出并开始进人应用:CWDM使用的标准波长被建议分为3个带:一是D'gq)M中使用的"S+C+L-~nd", 从1470ilm到1610iln1.每20nm一个波长格点共8个渡长;二是稀为"E-Band的4个波长l380ilm,1400ilm,1420ilm,1440mn;三是称为"Odland"的4个渡长1290nm,1310nm,1330nm,1350ilm.光器件技术在不断发展,为渡分复用光通信提供了更大的扩展空间.新的光纤制造技术已经将低损耗窗口中的oH一吸收峰铲平窗口大小和损耗值已经接近理论极限使得波分复用技术能够传输更多通道.同时传得更远.更低成本的垂直腔面发射激光器vCsEL也开始应用在短途波分复用中:CwDM作为渡分复用的一种形式.也会随技术发展而不断更新.2WDM技术展望WDM技术一直在高速发展,也将在未来较长的一段时间作为光传输的主要技术:它向两个方向发展:一是更多的通道数,更大的通信容量;二是更低的成本.DWDM和c~q)M分别是这两个方向的典型技术从纯技术角度,cwDM与DWDM相比有明显的弱势,其传输距离以及通道数远低于D~q)M.但是市场从来就不是单单由技术推动的,成本是一个很重要的因素.在短途应用中,一方面用户需求并没有达到长途骨干网的通信容量,在人口有限的局部地区带宽需求还是有限的:另一方面城域网络服务提供商支付不起昂贵的D~CDM设备费用.cWDM作为一种可选择的扩容方案,可以解决提供商的燃眉之急.作为网络的物理层传输平台,CWDM发展的趋势是高带宽和低成本,这和DWDM技术所努力的方向是一样的,但这两个发展趋势对两者来说优先顺序是不同的:与长途DWDM把尽可能提高带宽作为首要目标不同,CWDM必须把降低成本放在首位.目前短途波分复用设备并没有像预测那样大量装备,主要原因就是CWDM成本还没有低到让大多数网络服务提供商心动=IP将统一网络已经成为共识,而IPer删技术由于省去了中间层,是构建纯IP网络平台的理想技术.局域网中使用的以太网技术开始应用在光网络,形成吉比特和10吉比特光以太网标准:采用太网方式实现IPoverWDM,可以与以太网接人网实现无缝连接,不需要中间协议转换-设备简单,易维护,价格低廉.传统电信城域网采用SDH系统以TDM方式提供网络服务.这种系统成本高,带宽有限.不能满足新一代宽带城域网的需求:发展的趋势将是以太网与渡分复用技术结台构成宽带JP网.光以太网可以在第三层完成环网或网状网出现故障时的快速自愈恢复,不仅可实现SDH系统50鹏内完成自愈恢复, 同时也节省了物理层的冗余光通道,提高了光纤利用率.宽带城域网的发展由于复杂性和多业务的要求,有多种可选方案. 而通过cⅣDM和光以太网进行带宽扩展,成本较低,正在成为宽带『P网的主流:渡分复用技术继广域网之后,将在城域网,甚至局域网发挥巨大作用.随着器件性能不断提高,成本不断降低.CWOM通道越来越密集,DWDM成本越来越低,两者将台二为一,实现未来理想的全光网络.(收稿日期:2202—02一io)简讯?思科推出ONs15808新一代长途波分复用系统U√近日,思科系统公司在中国推出了其新开发的新一代长途驶分复用(DWDM)系统0NS15808.它通过一些新技术如拉曼放大器,梳状滤波器等的应用大幅度地提高了系统容量和传输距离,同时有效地降低了运营商的投资和维护成本.采用最具经济性的亚超长传输距离设计,是目前全球极少数几个商用化的亚超长传输距离波分系统之一:0NS15808可同时支持大系统波数(16o渡)常规长距离传输(L舢gHaul,LH)和亚超长距离传输(~tendedLongH叫l,EIB)(电再生段长20o0k咀),甩户可以根据自己的实际需求设定传输距离;不同种类,不同速率的业务信号可同时在主光通道传输; 它采用OcP保护模块,可实现光通道层保护,具有极高的可靠性;与思科其它光传输产品一样,CTM网元管理器作为其统一的网管系统.翼i簖。
面向对象方法中的软件复用技术探讨摘要:软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
本文介绍了软件复用的基本概念和关键技术,并阐述了面向对象方法中的软件复用技术。
关键词:软件复用;软件工程;面向对象1.引言近年来,随着计算机硬件的成本的不断下降,软件的生产规模日益增大,计算机的应用范围也得到了很大程度的普及,人们对软件系统的需求急剧上升,随之而来的软件规模越来越大,开发费用越来越高,开发的质量和效率不断降低的问题日益严重。
造成这种现象的一个主要原因就是软件开发组织对相同或相似系统做着大量的重复性工作。
要改变这种状况,软件复用是一条现实可行的途径。
2.软件复用概述2.1软件复用概念软件复用是一种计算机软件工程方法和理论,是指重复使用"为了复用目的而设计的软件"的过程。
它是一种系统化的方法,为了复用而进行设计,为了复用而开发,并且要有效地组织和管理这些复用产品,方便人们查找和使用,基于复用产品进行开发。
软件复用一定要有积累,首先要为了复用目的设计很多的复用产品,有了一定的积累后才能进行软件复用。
软件复用的主要思想是,将软件看成是由不同功能部分的"组件"所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样,如果完成各种工作的组件被建立起来以后,编写一特定软件的工作就变成了将各种不同组件组织连接体来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。
2.2软件复用意义通常情况下,应用软件系统的开发过程包含以下几个阶段:需求分析,设计,编码,测试,维护等。
当每个应用系统的开发都是从头开始时,在系统开发过程中就必然存在大量的重复劳动,如:用户需求获取的重复,需求分析和设计的重复,编码的重复,测试的重复和文档工作的重复等。
时分复用频分复用简介数据通信系统或计算机网络系统中, 传输媒体的带宽或容量往往超过传输单一信号的需求, 为了有效地利用通信线路, 希望一个信道同时传输多路信号, 这就是所谓的多路复用技术(MultiplexiI1g) 。
采用多路复用技术能把多个信号组合起来在一条物理信道上进行传输, 在远距离传输时可大大节省电缆的安装和维护费用。
频分多路复用FDM (Frequency Division Multiplexing) 和时分多路复用TDM (Time Di-vision MultiplexiIIg) 是两种最常用的多路复用技术。
举个例最简单的例子:从A地到B地坐公交 2 块。
打车要20 块为什么坐公交便宜呢这里所讲的就是“多路复用”的原理。
频分复用(FDM) 频分复用按频谱划分信道,多路基带信号被调制在不同的频谱上。
因此它们在频谱上不会重叠,即在频率上正交,但在时间上是重叠的,可以同时在一个信道内传输。
在频分复用系统中,发送端的各路信号m1(t) ,m2(t) ,,,mn(t) 经各自的低通滤波器分别对各路载波f1(t) ,f2(t) ,, ,fn(t) 进行调制, 再由各路带通滤波器滤出相应的边带(载波电话通常采用单边带调制),相加后便形成频分多路信号。
在接收端,各路的带通滤波器将各路信号分开,并分别与各路的载波f1(t) ,f2(t) ,, ,fn(t) 相乘,实现相干解调, 便可恢复各路信号, 实现频分多路通信。
为了构造大容量的频分复用设备,现代大容量载波系列的频谱是按模块结构由各种基础群组合而成。
根据国际电报电话咨询委员会(CCITT) 建议, 基础群分为前群、基群、超群和主群。
①前群,又称3路群。
它由3个话路经变频后组成。
各话路变频的载频分别为12,16,20千赫。
取上边带,得到频谱为12〜24千赫的前群信号。
②基群,又称12路群。
它由4个前群经变频后组成。
各前群变频的载频分别为84,96,108,120 千赫。
复用涉及相关问题: SPTS_1PSI重构PID映射FIFO
SPTS_2PSI重构PID映射FIFO
节
目复用
MPTS
PCR修正
空包 复用模块系统框图 1、TS包的检测和检错
2、PSI重构插入 3、视频GOP头检测和相关数据处理 4、数据包的修正 PCR的修正 PTS、DTS的修正 数据包连续计数器的修改 5、数据包及空包的插入 2.1 MPEG-2码流分析 MPEG-2是一种采用分层思想的图像数据压缩技术规范,它出多个部分组成。其中的前三个部分是该标准的基本单元组成:第l部分,系统[5];第2部分,视频[8];第3部分,音频[9]。系统部分对数字音/视频的同步、复用以及其它与系统有关的元素进行了规定,其中涉及了MPEG-2的多种码流形式及相互关系。这些码流种类有:基本流(ES)、打包基本流(PES)、节目流(PS)、传输流(TS),它们是不同类型的码流,有着不同的结构和用途,但相互之间又有着密切的关系。在从MPEG-2节目流到数字电视传输流的转换中,系统最基本的功能就是要将节目流生成语法结构正确的传输流。
2.1.1 MPEG-2码流 MPEG-2标准系统部分主要研究视频流和音频流的多路复合和同步等问题,MPEG-2码流形成原理如图2-1所示。
视频编码器音频编码器分组打包器
分组打包器
视频数据
音频数据视频PES
音频PESPS打包
TS打包
节目流传输流PS(Program Stream):节目流TS(Transport Stream):传输流ES(Elementary Stream):基本流PES(Packetized Elementary Stream):打包基本流
视频ES音频ES
图2-1 MPEG-2码流形成原理 从图2-1中可以看到,视频或音频数据经编码器编码后得到视频ES和音频ES,这些基本流要经过分组打包器,被打成一个一个的视频PES包和音频PES包,这些PES包的长度不是固定的,可以变化,最后将这些PES包分别送到PS复用器或TS复用器中去,形成节目流和传输流[5]。 基本流是视频或音频数据经编码器编码后得到的比特流,以及其它一些类型的数据流,如字幕信息等。编码器对来自数据源的视频或音频数据依据MPEG-2标准进行压缩,得到连续的视频或音频比特流。其它一些类型的数据流可能并不需要进行压缩,则直接将其输入流作为基本流。每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,一个AU相当于编码的一幅视频图像或一个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的一幅视频图像或一个音频帧的取样。 打包基本流分组是为了实现MPEG-2标准而作的一种逻辑结构。基本流的数据加载在PES分组中,可以认为,PES分组是在ES上添加了PES头部得到的。一个PES分组的长度并不固定,最大可以到216字节,但一般是一个存取单元的长度,一个存取单元相当于一幅视频图像,也可以是一个音频帧。PES分组由PES分组首部以及其后的分组数据组成。PES分组首部主要由stream_id字段、PES_packet字段、可选的头信息组成。可选的头中PES_length字段指示了PES的包长,其后可能包含PTS(Presentation Time Stamp,显示时间标签)、DTS(Decode Time Stamp,解码时间标签)等重要信息。PTS和DTS是以共同的系统时间时钟的采样来指示音频和视频的正确显示和解码的时间,它们是实现音频和视频的同步的基础。 节目流是将一个或几个具有公共时间基准的PES分组组合成单一的码流,所有的基本码流就像单个的节目流那样用同步来解码。节目流也是由若干个小包构成的,并且小包相对较长,并且是可变的。 传输流是将一个或几个PES分组组合成单一的码流,但这些PES分组可以有一个公共时间基准,也可以是几个独立的时间基准。相同时间集中的PES分组最后形成SPTS,具有不同时间基准的PES分组先形成SPTS,再复用成MPTS。传输流适用于有误差发生的环境,例如在噪声或有损耗介质中的存储或传输。传输流中的包长度是固定的,总是188个字节,这对于处理误码很有好处。 节目流流与传输流流在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同[20]。传输流码流由于采用了固定长度的包结构,当传输误码破坏了某一传输流包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而节目流包由于长度是变化的,一旦某一节目流包的同步信息丢失,接收机无法确定下一包的同步位置, 就会造成失步,导致严重的信息丢失[21]。因此,在信道环境较为恶劣,传输误码较高时,一般采用传输流码流;而在信道环境较好,传输误码较低时,一般采用节目流码流。目前在传输媒体中进行传输的MPEG-2码流基本上都采用了传输流码流。 节目流和传输流的实际表现形式都是一串二进制数,在演播室及记录媒介中会使用节目流,如MPG节目,而数字电视广播传输用的码流是传输流。本文所实现的系统的本质就是要实现这两种重要码流间的转换。
2.1.2 MPEG节目流结构分析 MPEG节目流总是以标示符0x000000BA开始,以0x000001B9结束,其中0x000001BA标识了节目流的开始,0x000001B9标识了节目流文件的结束,并且对一个完整的节目流文件,结束标识符有且只能有一个。 节目流是由很多个PS包组成的,每个PS包由PS包头、PS 包系统头(可选)和一个或多个PES分组组成,其中PES分组中填有压缩的视频或音频数据(ES数据)。MPG文件是MPEG节目流最常见的一种,并且MPG文件的每个PS包的大小是2kB。因此,每间隔2kB的数据,便会出现PS包头标识符(0x000000BA)。PS包语法结构如图2-2所示,由于涉及的标识符较多,本章只介绍比较重要的几个标识符。 4B系统包起始码2B系统头长22bit码率界限6bit音频界限5bit视频界限8bit流识别1bitSTD缓存界限标度13bitSTD缓存尺寸标度13B包头PES包14B包起始码33bitSCR_base1bit固定标志1bitCSPS标志1bit系统音频锁定标志系统头(可选)SCR——System Clock Reference(系统参考时钟)STD——System Target Decoder(系统目标解码器)CSPS——Constrained System Patameter Stream(约束系统参数数据流)„„PES包n9bitSCR_ext22bit节目复用速率8bit流识别4bit标志
1bit系统视频锁定标志
图2-2 PS包语法结构示意图 (1)PS包包头 PS 包起始码:固定为 0x000001BA,占用4B,标识了一个 PS 包的开始。 SCR_base:基准系统参考时钟,占用33bit。 SCR_ext:扩展系统参考时钟,占用9bit。 基系统参考时钟和扩展系统参考时钟共同组成了系统参考时钟,系统参考时钟=基系统参考时钟*300+扩展系统参考时钟。 在本文中主要用到的了PS包头中的包起始码,系统参考时钟。其中系统考时钟是比较重要的参数,用来恢复传输流中的节目参考时钟。 (2)PS包系统头 系统头起始码:固定为 0x000001BB,占用4B,标识了系统头的开始 系统头长度:编码器确定,占2B,说明从该字段后系统头的长度(字节数)。 在本文中仅用到了系统头起始码和系统头长度,系统头起始码用来判断是否存在系统头,如果存在系统头,系统头长度用来指示该部分的长度,对其他参数不再做介绍。 (3)PES分组 PES分组中填有压缩的视频或音频基本流数据。包含了该PES分组的流类型、视音频的解码时间标签、显示时间标签及视音频数据等。图2-3表示了PES分组语法结构。 2bit102bitPES加密控制1bitPES优先级1bit数据对准指示器1bit版权1原版或拷贝8bit7个标志8bitPES首部数据长度
PTSDTSES速率33bit22bitOSM特技模型8bit附加拷贝信息7bit可选字段填充字节ESCR42bit前一个PES CRC16bit24bitPES包起始码8bit流ID16bitPES分组长度可选PES首部PES包数据字节(视频音频数据)PES扩展
图2-3 PES分组语法结构示意图 从图2-3中可以看到 PES 分组首部的前6个字节是非常重要的,这 6 个字节的格式如下: PES包起始码:固定值 0x000001,占用3B,标识着一个PES包的开始。 流ID:规定了基本流的类型,占用1B,流ID与基本流类型的对应关系如表2-1所示。 表2-1 流ID与基本流类型的对应关系 流ID 基本流类型 1011 1101 私有 1011 1110 填充 1011 1111 私有 110x xxxx MPEG-1音频、MPEG-2音频 1110 xxxx MPEG-1视频、MPEG-2视频
表2-1中比较常用的流ID有以下几个: 1011 1101:0xBD,表示私有流,现如今表示AC3音频; 1011 1110:0xBE,表示填充流,即为了字节对齐等原因用0xFF来填充; 110x xxxx:通常将x取做0,即0xC0,表示mp2或mp3音频流; 1110 xxxx:通常将x取做0,即0xE0,表示MPEG-1视频、MPEG-2视频; 本系统处理的MPEG-2节目流格式的文件,采用统一的压缩方式,其视频采用MPEG-2编码,音频采用mp2编码,因此在PES包头中,若第4个字节为0xE0,则表示该PES分组中的是MPEG-2视频数据,若第四个字节是0xC0,则表示mp2音频数据。 PES 分组长度:占用2B,标识着该字段后PES分组的长度。 可选PES首部中最重要的是PTS和DTS信息,它们表明了视频或音频的解码和显示时间。当PES包中含有PTS或者DTS信息时,可选PES首部是必须添