第3讲 MPEG-2传输流复用技术 主讲:陈俊
主要内容 一、 MPEG-2系统标准概述 二、 MPEG-2传送流结构 三、MPEG-2的系统时序模型 四、节目特殊信息PSI和服务信息SI
一、MPEG-2系统标准概述 1、MPEG-2系统该标准的主要内容 2、多节目信号的的复用方式 3、服务信息系统的提供方式 1、视频、音频和其他数据的复用和同步 2、多节目信号的的复用方式 3、服务信息系统的提供方式 4、加扰系统的相关信息
一、MPEG-2系统标准概述 2、MPEG-2码流的几种概念 1)视频基本码流(视频ES流):由视频编码器输出的视频码流; 2)视频包基本码流(视频PES流):经打包的视频码流,通常按帧打包; 3)音频基本码流(音频ES流):由音频编码器输出的音频码流; 4)音频包基本码流(音频PES流):经打包的音频码流,通常按帧打包 但不超过64K。 5)节目流(PS流):打包的视频、音频基本码流再经过打包形成的复合 码流,长度可变,适用于相对无误码的环境使用; 6)传送流(TS流):由打包的视频、音频基本码流再经过打包形成的复 合码流,每包长度为188B;或由PS流分段截取;适 用 于误码较大的 应用环境。
二、MPEG-2传输流结构 2、传送流的系统分层 1、 简述: MPEG-2传送流结构是为系统复用和传输而定义,属于系统传输层。通过与MPEG-2系统的其他信息(时序模型、节目特殊信息PSI、及服务信息SI)的共同作用,来实现在恶劣的信道环境中灵活可靠的复用与解复用。 2、传送流的系统分层 ▲ PES分组层----相应于特定数据流操作,可变长度结构 ▲ TS分组层----相应于多路复用宽操作,188字节固定长度结构
二、MPEG-2传输流结构 MPEG-2传送流的生成 视频编码器 打包器 PS复用器 音频编码器 打包器 TS复用器 基本流 ES 视频 PES 视频数据 节目流 PS输出 视频编码器 打包器 PS复用器 基本流 ES 传送流 PS输出 音频数据 音频编码器 打包器 TS复用器 音频 PES TS分组层 PES分组层
二、MPEG-2传输流结构 3、MPEG-2传送流结构 音频 视频 TS 头 PES 头 188 B
二、MPEG-2传输流结构 1、 PES 分组层: 该层是为编解码的控制而定义的逻辑结构,PES头包括流的性质、版权、说明该节目是原始节目还是复制节目、加入时间标签PTS和DTS、说明DSM的特殊模式等。 PES起始码 码流ID PES包长 PES头 填充拜特 PES数据据 10 PES加扰控制 PES优先级 数据对准指示 版权 原始或复制 17个标志 PES头数据长度 自选区
二、MPEG-2传输流结构 2、 TS 分组层: 该层是针对交换和互操作而定义的,如在TS头中加入同步、说明有无差错、有无加扰、加入连续计数和不连续性指示(因为节目流的包相互交叉)、加入节目参考时钟PCR及包识别PID等。 188 byte 连接头 可变长度适配头 净负荷数据 同步 传输有误 起始指示 传送优先级 PID 加扰控制 自适应区控制 连续计数
二、MPEG-2传输流结构 a)分组首部: 8位字段的同步头,其后是几个重要的标志: 不可纠正错误指示、有效负载起始标志、传送优先指示 PID(分组标号)、有效负载加密控制、调整字段控制、 连续计数器等。 PID:是辨别传送流分组的重要参数,PID通过节目特殊信息(PSI) 表来识别传送流分组中所带的数据,一个PID值的传送流分组只 带有来自一个原始流的数据。 调整字段控制:表示分组首部中是否有调整字段,调整字段中含有节 目参考时钟PCR的重要信息。
二、MPEG-2传输流结构 2)分组有效负载: 分组有效负载带有原始流分组(PES)数据,或者带有程序特殊信息表(PSI)或服务信息(SI),或者带有私有数据。 ▲ PES分组:PES分组插在传送流分组中,每个PES分组首部的第一个字节即为传送流分组有效负载的第一个字节,也就是说,一个PES包的包头必须包含在一个新的TS包中,同时PES包数据要充满TS传送包的有效负荷区域,若PES包数据的结尾无法与TS包的结尾对齐,则需要在TS的自适应区域中插入相应数量的填充字节,使得两者的结尾对齐。 ▲节目特殊信息(PSI)表:可被分成一段或多段置于传送流分组的有效负荷部分中,分段长度可变。一个分段的最大字节数为1K,分段的开始由传送流分组有效负载中的指针字段(pointer-field)指示。 ▲私用数据:在传送流分组中的运载方法是私自定义的,它可以按用于携带PSI表的方法构造,一个私有分段的最大值结数为4K。
三、MPEG-2的时序模型 1、传输时延问题: 2、解决方法: 在数据压缩之后,各帧图像所占的数据量是不同的(与采用编码方式等有关),而传输信道的时延是固定的,故对于活动图像,其各帧的传输时延为可变的,于是传输和显示之间没有自然的同步概念。 2、解决方法: MPEG-2的系统时序模型的建立,就是为了解决不定时延的问题,它使编码输入端与解码输出/显示端间保持一恒定时延的模型。其方法是通过改变每个编码器、解码器缓冲区的延时来实现恒定时延。 为了实现缓冲器的延时可变,MPEG-2系统在ES、PES和TS三个码流层次中设置相关的时钟信息:1)VBV-delay、2)显示时间标签PTS(Presentation Time Stamp)、3)解码时间标签DTS(Decoding Time Stamp)、 4)节目参考时钟PCR(Program Clock Reference)。 通过它们的联合作用达到编解码的同步和音视频显示的同步。
三、MPEG-2的时序模型 1、相关的时钟信息念: 1)VBV-delay:目标解码器的视频缓冲校验器VBV收到图像起始码后,与当前解码帧解码开始所等待的90KHz系统时钟的周期数,用来在播放开始时设置解码器缓冲区的初始分配,以防止解码器的缓冲器出现上溢或下溢。 2)显示时间标签PTS和解码时间标签DTS:是保证音视频准确同步的必要信息,PTS、DTS均为33bit,编码成3个独立的字段,以分组数据开始的第一个访问单元为基准来编码。 3)节目参考时钟PCR:指示抽样间隙中系统时钟本身的瞬时值 ,为42bit,33bit基于90KHz时钟计数的PCR_base字段,9bit基于27MHz采样的PCR_ext字段。PCR在TS流中的最大间隔≤100ms,将PCR按一定时间间隔(DVB中为40ms)精确插入到TS中,以保证解码流系统时钟据此做出精确重建以及保持与编码器的准确同步。
三、MPEG-2的时序模型 27MHz 时钟 视频 输入 编码 PES打包 PTS DTS 解 复用 解码 比较PTS D/A A/D 采 解 复用 解码 比较PTS D/A A/D 采 样 音频 复用编码 PCR 传输系统 输出 VCO
四、节目特殊信息PSI和服务信息SI 1、节目特殊信息PSI: PSI是MPEG-2特有的说明信息,用来自动设置解码所需的参数和引导解码器进行解码,并提供音视频同步信息相关的时钟信息,它由4种信息表组成: 1)节目关联表(PAT) 2)节目映射表(PMT) 3)条件访问表(CAT) 4)网络信息表(NIT) 这四个表都有自己的PID,各种表和节目流的PID都是13位,其中PAT表的PID为0,即将PID=0给PAT,可见PAT的重要性,它是所有这些信息的根。
四、节目特殊信息PSI和服务信息SI 1)节目关联表(PAT) 在PAT表中,列出了各个节目的PMT表的PID,故在解码时,先要找到PAT表,才能找到相应节目的PMT表。 2)节目映射表(PMT) 在PMT表中,列出了各节目码流的PID,根据此PID才能从TS流中找到该节目的码流。 3)条件访问表(CAT) CAT(PID=1)用于节目码流解扰用,说明基本流是否加密,并帮助解码器找到加密控制信息(ECM)和加密管理信息(EMM)。 4)网络信息表(NIT) NIT主要说明节目所属网络的情况和主要参数 。
四、节目特殊信息PSI和服务信息SI 2、节目特殊信息PSI在解码中的运用例子 节目0 17 节目1 22 节目2 33 节目K 55 节目0 17 节目1 22 节目2 33 节目K 55 码流1 视频 54 码流2 音频1 48 码流3 音频2 49 码流K 数据 55 码流1 视频 16 码流2 音频1 81 码流3 音频2 82 码流K 数据 88 网络私用数据 节目1 音频1 节目2 视频 PMT 音频2 PAT EMM PAT表(PID=0) PMT表 NIT表 CAT表(PID=1) TS流: 48 16 22 84 54 33 7 PID值:
四、节目特殊信息PSI和服务信息SI 3、服务信息SI(Service Information): 由DVB标准提供额外的服务信息SI作为PSI的补充,它主要提供整个IRD的设置信息(而不象PSI信息那样主要是提供MPEG-2解码信息),从而可以使IRD自动调谐接收特定的节目并可对节目进行分组。 SI中包含有节目时间表、电子节目指南信息(EPG),节目的起始时间,节目的来源等,这些信息主要包括在4个基本表和一些可选送的表中。 4个基本的表是: 1)网络信息表NIT 2)业务描述表SDT 3)节目信息表EIT 4)时间及日期表TDT
四、节目特殊信息PSI和服务信息SI 1)网络信息表NIT: 2)业务描述表SDT: 3)节目信息表EIT: 4)时间及日期表TDT: 将特定节目提供者的所有节目参数集中在一起,为调谐接收提供所 必需的转发器频率、符号率等数据,并在节目接收参数有变化时及时更 新参数使IRD自动跟踪接收。 2)业务描述表SDT: 给出特定复用器中与与之有关的其他节目名字与参数。 3)节目信息表EIT: 给出各类节目的时间安排。 4)时间及日期表TDT: 提供节目开始的具体时间;由于它有具体的时钟信息,因此有时还可作为IRD解码时钟的更新。
四、节目特殊信息PSI和服务信息SI 除了四个基本表外,DVB-SI还包括若干个可选表: 1)节目组相关表BAT: 给不同观众不同组合节目。 2)运行状态表RST: 快速更新某节目或某些节目的运行参数,它只有在状态或节目变更 时才发送一次。 3)填充表ST: 用来替代不传送的表。 总之,PSI及其扩展SI是传送流解复用的指导性信息,IRD应首先从码流中抽取出它们以供后续的码流分析和抽取所要的基本流。
五、 MPEG-2传送流的复用过程 MPEG-2传送流的复用过程可分作两个层次,即打包后的编码音视频、数据的PES流合成单个节目的TS流和多个单节目的TS流合成总的多节目TS流。 节目 复用 ES1(Video) PID1 ES2(Audio) PID2 ES3(Audio) PID3 ESn(Data) PIDn PSI(PMT) PIDn+1 单节目 TS流 传送 TS1 TS2 TS3 TSn PSI(PAT) PID=0 多节目 单节目的复用 多节目的复用
五、 MPEG-2传送流的复用过程 (一)从 PES/PSI/私用数据到单节目的TS流 1.各PES包的速率均衡:视频流的输入速率远大于音频和数据的输入速率,因而必须采用二级缓存和DSP轮询技术,当一级FIFO中的值大于预定的门限时把其移入主缓存,与数据一同进入主数据通道完成TS包头的插入和TS流的成形,以使视频TS包、音频TS包、数据TS包均匀交织复用在最终的系统传送码流中,保证解码端的音视频解码器的Buffer不会上溢和下溢。 2.PES流准确嵌入到TS包框架:PES分组包的包头必须与封装它的TS包的净荷数据首字节对齐;因而当DSP轮询中检测到PES包头时,应将已缓存的数据(长度为N)分别封装在相邻的两个TS包的净荷中,使前一个TS包经填充(182-(N-4))Bytes后,达到PES包与TS包的末尾对齐;而后一个TS包的净荷的首字节与该PES包头对齐。 3.系统PCR、PSI信息的插入:PCR与PSI具有相同的重复间隔(40ms),根据复用器输出速率恒定的机制,可用计数TS包个数的方法间接定时。一旦DSP轮询前监测到时间间隔标记,则在下一视频TS包中,插入PCR时间标记,同时在随后的两个TS包中放入PSI分段信息。而PCR的真正插入是在检测到PCR域的标志字后,在PCR域最后离开复用器的那一刻完成。
五、 MPEG-2传送流的复用过程 从 PES到单节目的TS流 一级 FIFO (仅A/V) 主FIFO 数据 通道 传输 缓存 DSP 主控单元 自检处理 PC接口 输入 串并 转换 接口 TS流 输出 Video Audio Data1 Data2 Data
五、 MPEG-2传送流的复用过程 (二)从单节目TS流到多节目TS流 1. 传送流的信息分析: a) 输入码率的提取: 码率R=相邻两PCR间的比特数÷相邻两个PCR间的差值。 b) PSI信息的提取:从各个单节目TS流的PMT中合成总的TS流的PAT,即给 出总的TS流中所包含的所有节目流的PMT对应的PID。 2. 输入TS流的调度和输出传送流的存储: a) 输入调度:用轮询方式将获取的当前包时间与当前系统时间进行比较, 以决定是否提取该TSi到复用进程。 b) 输出调度:为保证输入缓冲区不上、下溢,复用进程采取轮询转发策略,当所有缓冲区均无TS包时,发送空包;同时实时调整包的发送速度,使合成的传送流码率近似为各路TS流码率之和,以尽量减少合成TS流中空包的数目。 3.传送流的PCR修正: 总的TS流时是由不连续的原各TS包构成的,各个包的相对时域位置发生了改变,原TS包的PCR产生了抖动。处理策略是:当输入进程检测到当前TS包中含PCR字段时,采样当前系统时间;当复用进程发送该包时,再采样当前系统时间。据两次时间差值,计算出PCR实际延时,并据此修正PCR值。
五、 MPEG-2传送流的复用过程 (二)从单节目TS流到多节目TS流 复用预处理进程 复用进程 总的TS TS1~TS n 提取各路TS的PSI PSI的分析与合 成 设置PSI到复用进 程 PSI 复用 复用控制控制 空包 PCR1 TS1 提取各路TS的码 率 设置到输入进程 中 B1 TSn PCRn TS1 TSn 输入 提取PCR 修正PCR 输入进程