首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

手机电视(DVB-H)软件接收器3

手机电视(DVB-H)软件接收器3

4.5错误产生、侦测与分类机制
当接收端硬件接收到由传送端所传送的传输串流封包时,硬件会先对封包进行一次所罗门译码,若是超出其纠错解碼能力时,将会把封包标头内的错误指标字段(ErrorIndicator)设定为1,藉此来标示发生错误的封包,而本研究于错误侦测判断时,即是根据此标头字段值,并透过设定此字段值来产生显著的错误数据,以突显MPE-FEC机制的运作。当发现错误封包之后,将立即执行错误分类机制来找出错误发生在整个section的哪个区段并在一个与MPE-FEC框架相同大小的ErrorBit-mapBuffer(EBB)中的相对应位置设成1来表示其在框架中的错误位置,以便提供往后所罗门译码所需的错误位置数据,而整个错误分类机制的虚拟程序代码如表3所示。
表3 错误分类机制虚拟程序代码
If ErrorIndicator is equal to 1
If HeaderDecoded is true
If error at middle of section
Set 1 in EBB according to the TS payload
region of this section in MPE-FEC frame
Drop this TS packet
else
If packet carry part of next section header
Set 1 in EBB according to the TS payload
region of this section and whole the next
section payload region in MPE-FEC
frame
Drop this TS packet and drop all TS
packets of next section
else
Set 1 in EBB according to the TS
payload region of this section in
MPE-FEC frame
Drop this packet
else
Set 1 in EBB at whole section payload
region in MPE-FEC frame
Drop all TS packets of this section
当传输串流分派器收到封包并立即侦测与判断封包标头中的错误指标字段是否为1,若为1则表示发生错误而进一步开始找出此错误封包所载送的数据是位于整个section的哪个区段位置,若是发生在section标头部位,由于标头是载送整个section最重要的信息来源位置,因此为了能正确地接收往后的section,故当发生错误的封包包含任一字节的标头信息时,将会将整个section数据完全丢弃而等待下一个正确载送section标头的封包进来。如果发生错误的封包是载送标头信息之外的部份时,则再进一步判断封包中载送的数据范围是位于整个section数据的哪个区段,若仅是中间部位,则只丢弃该封包而等待下一个正确封包即可,但若是section末端数据的话,则需再进一步的判断是否包含到下一个section标头信息,如果有的话,则一并把载送下一个section数据的所有封包丢弃而等待下一个正确载送section标头的封包进来,反之则一样仅丢弃该封包即可。
4.6Time-Slicing传输机制设计
DVB-H传送数据的方式是采用Burst传输方式,采用此种方式时,则必须精确地得知下一个Burst的抵达时间与传输该Burst数据的最大传输时间,才能让硬件能于正确时间点开关接收器来接收数据,而接收端在接收数据时,必须满足两个时间要求:
(1) 当Burst到来,并接收到第一个MPEsection进行解读时,section标头必须在Delta-TJitter时间内解碼并将Delta-T值回传到实体层。
(2) IP解封装器必须于Delta-T时间内完成所有section的译码与MPE-FEC机制的运作,并将数据输出到终端。
由于未必能在Burst的最大维持时间内将所有section数据解读完成,故接收端必须以缓冲器暂存整个Burst时间内的所有section封包,而封包的译码工作在剩余的Delta-T时间内完成即可。

除此之外,由于在处理的过程中使用缓冲器来暂存section封包数据,而再取出解读时,其标头中所挟带的实时性Delta-T信息已失效,仅有解读第一个MPEsection所造成的延迟时间最为短暂。
因此,在实作上即采用第一个MPEsection标头所挟带的Delta-T信息来告知实体层下一个Burst的到来时间,而其余section标头内的Delta-T信息将不被读取采用。整个section封包处理延迟时间示意图即以图9呈现。

图9 section封包处理延迟时间示意图


5、 实验模拟结果
本研究整个实验模拟结果均是利用个人计算机(PC)进行测试,个人计算机的配备如表4所呈现,并以公视试播计划所提供的传输串流当作是播放测试档案,而表5则是从公视所提的串流档案撷取出来的信息。
5.1正确性验证
本研究纠错后的数据验证是利用文字处理软件Ultra-Edit所提供的二进制档案比对来完成,分别将添加错误的每个Burst数据与修正后的数据存成档案后再与验证档案进行比对。
5.2效能评估
本文的MPE架构与Time-Slicing传输机制设计主要采用[4]的观实作观念与架构,[4]中对每个Burst数据(仅有针对MPEsection)的处理时间已有相当完整的分析信息,故本论文即针对主要设计的MPE-FEC纠错机制做实作上的效能分析与探讨。
表4个人计算机基本配备表
处理器厂牌规格
Intel Pentium 4
处理器处理速度
3.0 GHz
硬盘大小
80 GBytes
内存容量
512 MBytes
表5公视影像来源参数数据
参数
数值
档案大小
755,605,652(bytes)
封包总数
4,019,179(封包以188个bytes为单位)
MPE-FEC框架总列数
512列
Delta-T
1250 ms
Delta-T Jitter
7.5 ms
最大Burst持续时间
200 ms
省电效率
79.7%
每秒画面更新速率
15 (frame per second,
整个传输流档案中,每个Burst所挟带的框架大小为255×512,而框架资料量大小为1Mbits(128kBytes),每个MPE-FEC框架执行的RS纠错运算次数为512次(即每一列执行一次RS纠错运算),编码率(coderate)为2/3的情况条件下,10个Burst、50个Burst与100个Burst单纯使用Java以及RS译码采用Euclid算法在Windows上的完整MPE-FEC纠错机制与单纯RS译码的平均执行时间如图13所示。
返回列表