流媒体基础知识(二) mpegts详解


上篇介绍了流媒体的基础知识,本文单独介绍MPEG-2

MPEG-2标准组成

ISO/IEC 13818-1:系统-描述视频和音频的同步和多路技术
ISO/IEC 13818-2:视频-视频压缩
ISO/IEC 13818-3:音频-音频压缩,包括多通道的MP3扩展。
ISO/IEC 13818-4:测试规范
ISO/IEC 13818-5:仿真软件
ISO/IEC 13818-6:DSM-CC(Digital Storage Media Command and Control)扩展
ISO/IEC 13818-7:Advanced Audio Coding (AAC)
ISO/IEC 13818-9:实时接口扩展
ISO/IEC 13818-10:DSM-CC规范

系统、视频、音频标准介绍

ISO/IEC 13818-1: 系统部分

MPEG-2系统流有两种形式,一种称为传输流(Transport Stream-TS),另一种称为节目流(Program Stream-PS)。这两种不同形式是针对不同的应用而设计的。其中,节目流应用于贮存和传输都非常可靠的环境,如DVD这样的本地贮存播放系统等;而传输流一般用于宽带远程传输,它采用固定包长的TS包传输,考虑了传输过程中可能出现的数据丢失或错误等情况。

ISO/IEC 13818-2视频部分

MPEG-2视频通常包含多个GOP(Group Of Pictures),每一个GOP包含多个帧。帧的类型通常包括I-帧、P-帧和B-帧。
I帧: 指帧内编码画面,解码时不需要其它额外信息;
P帧:指从前面画面中得到的前向预测画面,前面画面可以是I帧或P帧,它所需要的数据大约是I帧的一半;
B帧:指从前后的I帧或P帧画面上双向预测的画面,需要的数据量大约是I帧的四分之一;
I帧编码是为了减少空间域冗余,P帧和B帧是为了减少时间域冗余。

PTS:呈现时间(Presentation Time Stamp)
DTS:解码时间(Decoding Time Stamp)

GOP是由固定模式的一系列I帧、P帧、B帧组成。常用的结构由12(PAL)或15(NTSC)个帧组成,具有以下形式IBBPBBPBBPBB(PBB)。GOP中各个帧的比例的选取和带宽、图像的质量要求有一定关系。例如因为B帧的压缩时间可能是I帧的三倍,所以对于计算能力不强的某些实时系统,可能需要减少B帧的比例。

MPEG-2支持隔行扫描和逐行扫描。在逐行扫描模式下,编码的基本单元是帧。在隔行扫描模式下,基本编码可以是帧,也可以是场(field)。

ISO/IEC 13818-3: 音频部分

主要定义了MPEG-1 Layer3,即我们熟悉的MP3格式。

术语

ES: 基本流(Elementary Stream)
PES:打包基本流(Packetized Elementary Stream)
PS: 节目流(Program Stream)
TS: 传输流(Transport Stream),可以有多套节目
SCR:系统参考时钟 (System Clock Reference),用于PS中
PCR:节目参考时钟 (Program Clock Reference),用于TS中
PID: Packet Identifier,用于标识流的类型。

术语详解

单个节目的音频单元流(A-ES)和视频单元流(V-ES)复合成MPEG-2系统流的过程如下图所示:

在这里插入图片描述

音频数据和视频数据经压缩编码后形成音频基本流(ES:Elementary Stream)和视频基本流。基本流经过打包、附加某些必要信息后,形成打包基本流(PES:Packetized Elementary Stream)。音频和视频打包基本流经节目流复合器可以形成节目流,也可以经传输流复合器形成传输流。

PES Packet

在这里插入图片描述

Program Stream

在这里插入图片描述

Transport Stream

实际的有线电视数字传输系统都采用TS流, TS包长度定义为188字节,其中4字节为包头,184字节为有效负载。具体格式如下:
在这里插入图片描述

包头包含一个同步字节,三个包含业务识别、加扰和控制信息的头部字节。包头格式如下:

包头字段 长度(bits) 说明
Sync-byte 8 =0X47;同步头
Transport-error-indicator 1 出错标志
Payload-unit-start-indicator(PUSI) 1 载荷单元起始指示
Transport-priority 1 传输优先级规定
PID 13 包识别标志
Transport-scrambling-control 1 加扰标志
Adaptation-field-control 1 适配域标志
Continuity-counter 1 连续递增计数器

包头中的PID(Packet Identifier)是一个很重要的参数。PID用于区分载荷的类型。通过PID就可以将规定的信道总频带在视频、音频、数据、系统控制信息间进行灵活的分配。
MPEG-2 TS包载荷所传送的信息有两种类型:
1)视频、音频的PES包以及辅助数据;
2)描述节目复接信息的PSI信息(Program Specific Information,节目专用信息)。

PSI 节目专用信息

MEPG-2标准的系统部分重点描述了MPEG-2系统级传输流中包含的PSI(Program Specific Information)信息。PSI信息能提供从复用器到接受机的节目配置,复用及解复用不同的节目码流的必要信息。
MPEG-2中定义的PSI信息主要有:描述多路节目复接信息的PAT表(Program Associate Table,节目关联表);描述单路节目复接信息的PMT表(Program Map Table,节目映射表);描述条件接收信息的CAT表(Conditional Access Table,条件接收表);提到但未具体定义NIT表(Network Information Table,网络信息表);并定义了用于扩充PSI信息的私有表的语法。

PAT节目关联表

在这里插入图片描述
在这里插入图片描述
节目关联表(PAT Program Association Table)是数字电视系统中节目指示的根节点。其包标识符(Packet IDentifier、简称PID)为0。终端设备(如机顶盒)搜索节目时最先都是从这张表开始搜索的。从PAT中解析出节目映射表(PMT),再从PMT解析出基本元素(如视频、音频、数据等)的PID及节目号、再根据节目从节目业务描述表(Service Description Table、简称SDT)中搜索出节目名称。

PMT节目映射表

在这里插入图片描述
在这里插入图片描述
节目映射表(PMT,Program Map Table),该表的PID是由PAT提供给出的。通过该表可以得到一路节目中包含的信息,例如,该路节目由哪些流构成和这些流的类型(视频,音频,数据),指定节目中各流对应的PID,以及该节目的PCR所对应的PID。


关注"麻辣软硬件",获取更多有料的软硬件知识

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章