一般数字电视机顶盒的接收过程是:先从TS码流中搜索PAT和CAT,从PAT中找到收看节目的PMT,通过解析PMT得到该节目的ECM、视频、音频的PID;通过解析CAT得到该节目的EMM的PID,根据EMM和ECM。利用智能卡获得控制字CW,最终解出原始的视音频数据。 在搜索节目时,首先根据NIT表中PID取得NIT表,解析并保存,从NIT表中的第一个描述符循环中取得网络名,可根据需要决定是否显示在屏幕上,再从NIT表的第二个描述符循环中取得所有频点的几个关键字段值(频率、调制方式、符号率),获得全部网络信息资源;在已锁定的频点下,接收PSI/SI信息表中的PAT、PMT、SDT表,完成所有节目信息的收集,包括共多少个频点、每个频点下有多少套可供播放的节目、每个节目的名称、相关PCR_PID(程序参考时钟PID)、V_PID(视频PID)、A_PID(音频PID)等,根据以上信息可以组织菜单,并实现节目播放;可以通过在BAT中添加私有描述符的方式来实现节目的排序、声道设置和音量补偿等功能;最后接收EIT表,通过循环在一个物理频道上可以取得所有的节目时间表和内容。 机顶盒每次开机后会自动进行NIT表检查,若NIT表版本号有变化,则会在屏幕上显示相关信息,提示并引导用户进行更新,自动完成频道列表更新,机顶盒NIT表版本号是机顶盒判断节目更新的依据。 也就是说,一个DVB系统最基本的业务信息包括PSI和SI,EPG由SI生成,机顶盒靠EPG来引导接收和选择收看节目。 机顶盒通常采用从PAT表→PMT表→NIT表→SDT表→EIT表解析构造EPG并同时搜索节目。但根据SI标准及机顶盒的实际解码流程,应从NIT表直接构造EPG,即先忽略PAT、PMT表。首先通过在机顶盒预先设置的主频点从传输流中直接提取NIT表,根据NIT表携带的传输系统参数搜索所有载波信息,再解析SDT、EIT表等构造出基本的EPG信息,其过程是:NIT表→SDT表→EIT表→生成EPG。EPG提供的信息主要包括:传送信息的天数(例如一周)、传送频道的数目和名称、传送的节目数、节目提供商的标识和名称、传送网络的信息(网络标识和网络名称),其细节信息还包括:节目名称、节目的简单介绍、节目的开始和结束时间、节目的主题、节目的类属、节目的观看分级限制(例如对某个年龄段进行限制)。 机顶盒通过EPG菜单来切换不同频率的频道时的解析过程:根据SDT表给出的业务标识符service_id(它等于program_number)→PAT表→PMT表→找到所需节目的TS包→CAT表→解扰→解码(如果业务没被加扰,可省去CAT表→解扰过程)。 当加入了BAT表时,用户可根据节目的分类来检索所需要的节目频道。首先查找BAT,根据BAT列出一系列的节目种类,比如新闻、体育、电影、音乐等,用户可选择其中自己感兴趣的类型,如电影。接收应用程序根据此BAT中包含的业务群信息,得到一个业务群列表。此时用户可以根据自己的喜好,选择自己喜欢观看的电影频道。 此时,首先要找到该业务所对应的传输流,根据BAT中所给出的对应的传输流标识符,然后查找NIT中与此传输流标识匹配的传输流描述符,然后根据描述符中的参数(如频率、调制方式等)解调出该传输流,即transport_stream_id→NIT(得到流的解调参数)。再根据BAT中的业务群组标识符(bouquet_id)完成:bouquet_id→ service_id→PAT表→PMT表→找到所需节目的TS包→CAT表→解扰→解码的过程(如果业务没被加扰,可省去CAT表→解扰过程),从而收看到自己喜欢看的节目。同时根据service_id在SDT中查找,得到有关的业务信息,还可以查找EIT,得到有关事件的信息,比如开始时间、持续时间等

数字电视机顶盒的接收过程相关推荐

  1. 数字电视机顶盒的工作原理

    数字电视机顶盒由高频头.QAM解调器.TS流解复用器.MPEG一2解码器.PAUNTSC视频编码器.嵌入式CPU系统和外围接口.CA模块和上行数据调制器组成.工作原理如附图. 数字电视机顶盒的工作过程 ...

  2. 详解数字电视机顶盒的功能技术与应用3

    ·交互式STB 虽然一体机可能代替普及型STB,但在数字电视发展中,由于业务的不断扩展,STB的软件也将不断完善,特别是在交互式领域,随着中间件的完善和应用, STB就成为一个价格低廉的硬件平台,可以 ...

  3. 基于linux 开源机顶盒_基于linux的数字电视机顶盒几种升级方式的设计与实现

    摘要: 本文主要阐述了基于linux操作系统的数字电视机顶盒的常用几种升级方式:OTA,USB,网络,结合常用的bootloader:cfe,u-boot实现升级做了简述,并综合对比其各自的优劣. 关 ...

  4. 数字电视机顶盒开发学习平台

    数字电视机顶盒开发学习平台 产品简介 » 数字电视机顶盒开发学习平台目标: 1.让院校师生.嵌入式开发爱好者.工程师成为真正的嵌入式开发人才. 2.追赶数字电视科技浪潮,为职业生涯打造真正的利器. 3 ...

  5. Linux网络包接收过程的监控与调优

    Linux内核对网络包的接收过程大致可以分为接收到RingBuffer.硬中断处理.ksoftirqd软中断处理几个过程.其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来, ...

  6. linux内核网络协议栈--数据包的接收过程(二十)

    本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个UDP包的接收过程作为示例. 本示例里列出的函数调用关系来自于kerne ...

  7. linux内核网络协议栈--数据包的接收过程(二十二)

    与其说这篇文章分析了网卡驱动中中数据包的接收,还不如说基于Kernel:2.6.12,以e100为例,对网卡驱动编写的一个说明.当然,对数据包的接收说的很清楚. 一.从网卡说起 这并非是一个网卡驱动分 ...

  8. Android深入四大组件(八)广播的注册、发送和接收过程

    前言 我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册.接收和发送过程.建议阅读此文前请先阅读Android深入理解四大组件系列的文章,知识重复的部分, ...

  9. linux手动注入网络数据_Linux网络 - 数据包的接收过程

    本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后面参考里的两篇文章,里面介绍的更详细. 本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个 ...

最新文章

  1. 什么是python第三方库
  2. PHP扩展 Mongo 与 MongoDB
  3. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法
  4. C++:34---union:联合/共用体,一种节省空间的类
  5. linux vnc检查,检查Ubuntu VNC设置(避免远程登陆)
  6. 剑指offer系列48---左旋转字符串
  7. 让领导狂夸,让业务目瞪口呆的报表,竟然是这样?
  8. visual studio 设计器不显示_嫦娥上升器为什么不设计成月球勘测器?
  9. 根据需求进行批量新增
  10. shell中set的用法(转)
  11. Mac安装rocketmq
  12. 计算机课题推荐人意见,课题推荐人意见
  13. 维护设备的库存信息-SERIAL_EQBS_POST
  14. csirs参考信号_发送和接收点(TRP)及信道状态信息参考信号(CSI-RS)传输的方法与流程...
  15. JavaScript:实现ROT13密码算法(附完整源码)
  16. ios 收藏app内容或网页到手机桌面
  17. enti下载器_短跑enti策略:如何在不破坏软件的情况下改进软件
  18. win10的Win快捷键使用简易操作方法
  19. 电子秤方案介绍——体脂测量功能
  20. Windows照片查看器无法显示此照片,因为计算机上的可用内存可能不足。

热门文章

  1. CMake创建和使用静态链接库
  2. java水表识别_【实战】基于OpenCV的水表字符识别(OCR)
  3. 程序员的自我救赎---1.4.1:核心框架讲解(DAL)
  4. 一个小白如何在三周时间里做出app呢?
  5. Python实现傅里叶变换:图像频域分析和处理
  6. 关于清理「死代码」,这些好方法推荐给你!
  7. 代码质量与安全 | 免费的静态分析工具好吗?
  8. 66.[PCL]PCD文件格式
  9. MySql 杂记 之OPTIMIZE TABLE操作
  10. PowerBi添加中国式报表列头。。。(持续更新)