PTI过滤:
Header(包头) |
Payload(数据) |
Header |
|
一、TS流的组成结构:188个字节,结构如下表
Header包含
Sync byte
8bit |
transport error indicator 1 bit |
payload unit start indicator 1 bit |
transport priority 1 bit |
PID
13bit |
transport scrambing contol 2 bit |
adaptation field contol 2 bit |
continuity counter
4 bit |
adaptation field |
Adaptation field包含
adaptation field length 8 bit |
Discontinuity Indicator 1 bit |
Random access indicator 1 bit |
Elementary stream priorty indicator 1 bit |
5 Flags 5bit |
Optional field |
Stuffing bytes |
Optional field 包含
PCR 42 bit |
CPCR 42 bit |
Splice countdowm 8 bit |
Transport Private Date length 8 bit |
Transport Private Date
|
adaptation field extension length 8 bit |
3flag |
Optional field |
Optional field
Ltw_valid Flag 1 bit |
Ltw Offset 15 bit |
2 bit |
Piecewise Rate 22 bit |
Splice type 4 bit |
DTS_next_au 8 bit |
1、 Sync byte 长度为8bit值固定为01000111(0x47)
2、 Transport error indicator:表示当前的数据包中是否存在不可纠正的错误比特, 为1时表示有,反之没有。
3、 Payload unit start indicator :指示当前TS包数据的起始状态(通常是PES数据或者是PSI\SI数据)。当传输流包数据净荷为PES分组数据的时,该位的含义:1表示该包数据净荷部分将以PES分组的第一个字节开始(有且仅有一个PESd额分组开始),反之没有。
当传输包净荷数据为PSI\SI分组数据时,该位含义:1表示该包数据净荷的第一个字节带有pointer_field字段。如果包数据净荷不带有PSI\SI分组数据的第一个字节则 为0.
#### 47 40 00 18 00 00 b0 35 00 64 cd 00 00 00 6e e1 10 00 78 e1 20 00 82 e1 30
Payload unit start indicator为1时,在00个数据后就是净荷数据的开始,当Payload unit start indicator为0时,从18这个位置以后就是净荷数据(就是中间的TS数据包)
4、 Transport priority:在所具有的相同PID的数据包中的优先级级设置。
5、 PID:表示当前传输流数据包的净荷数据的类型,传输流的各个包一句此来区分不同数据类型。
eg:0x0000固定为PAT(节目关联表)数据,0x0001固定为CAT(条件接收表)等
6、 transport Scrambing contol:当前传输数据的加扰模式,包头信息和自适应段不能被加扰,空包该位应该为00
7、 adaptation field contol:当前数据包的组成情况
值 |
描述 |
00(通常丢弃次数据包) |
ISO/IEC保留 |
01(一般空包都置此值) |
不含有自适应区,只有净荷数据 |
10 |
只有自适应区,没有净荷数据 |
11 |
既有自适应区,又有净荷数据 |
8、 continuity_counter:PID数据包的计数器相同的PID中该位将被累加,达到最大值后恢复为0.当adaptation field contol为00 或者01时候该位不被累加,相同pID数据包的该位相同。
二、TS包如何组成section(不考虑表由多个section组成的情况)表数据的。
将各个传输流(TS)的包头信息去掉。然后以某种规定形成一种新的包头信息。
Header(包头) |
Payload(数据) |
Header |
Payload(数据) |
Table_id |
Payload(数据) |
Payload(数据) |
三、PID
所谓的pid就是指的包识别标志。
pat节目关联表,描述当前的流中包含什么样的pid,主要描述的是当前流的nit表格和pid是多少,有多少不同类型的pmt,每一个pmt表对应的频道号等信息。
pmt节目映射表,这个pid是在pat中描述的,不同的频道有不同的pmt pid,所以数字电视的搜台就是通过pat和pmt来完成的。
cat pid=0x01 条件访问表
sdt服务器描述表,pid=0x11携带的是电视台名称和电视节目名称。
nit 网络信息表,可以提供当前流的节目信息,也可以提供和当前流有关的流的节目信息。
eit环境信息表,提供的是流节目信息的改变,比如一个节目已经开始或者已经结束的信息等。
EPG electronic programe guide 电子节目指南,可以实现节目的预测和支持基本信息的检索。
teletxt就是我们所说的图文电视,现在数字化的图文信息都要转化为模拟的vbi信息转到正常的电视信号中实现图文电视的显示。
四、DVB的原理
1、编码系统
先对信号里面的所有的节目进行压缩处理,然后经过一个叫做复用的程序进行节目的复用,(PID 的分配,就是对不同的节目分配不同的PID 号码),
形成叫做pes的包,然后再经过ts流处理的程序,把这些pes包全部封装成ts码流的格式,最后的ts格式的数字信号经过调试(频率的复用,高频),转换成模拟信号,
经过传输系统发送出去。
2、解码系统
接收到的高频信号,转化成中频,在转化成数字信号,在经过一个反调制程序,得到的就是ts码流,进入解复用程序,该程序实现的是自动分析ts流的表格,
读取可用的pid,然后audio和video分别进入不同的解压缩程序,进行解压缩和显示,并且把处理的结果和video一起显示在屏幕上。