1、数字电视机顶盒介绍,第一部分 基础介绍,什么是机顶盒机顶盒的分类,什么是机顶盒,机顶盒(STB,Set Top Box)的概念是比较广泛,从广义上说,凡是与电视机连接的网络终端设备都可称为机顶盒 狭义的指有线/地面/卫星数字电视机顶盒,机顶盒的分类,根据信源传输方式的不同分为: 卫星数字电视机顶盒 地面数字电视机顶盒 有线数字电视机顶盒 IP机顶盒根据视频输出的清晰度分为: 高清机顶盒 标清机顶盒,第二部分 硬件功能,硬件模块原理框图实物图基本硬件功能解码工作流程,硬件模块,调制解调模块 传输流多路解复用模块 MPEG-2的解码模块 数字视频编码器和音频DAC 图形控制模块接口电路加解扰模块和
2、版权保护模块,原理框图,实物图,基本硬件功能,完成信道解码,把调制的信号还原为基带数字信号(TS流)解复用(Demux),把复用的TS流内的多个节目流,PSI/SI信息分开信源解码,把经过压缩后的音视频信号解压缩,还原为数字信号把数字信号转为模拟信号(D/A),输出到模拟电视机。,解码工作流程,第三部分 软件功能,软件功能简述软件架构简图模块功能简述,软件功能简述,运行状态控制:运行、待机、关机,还包括待机管理等功能节目播放功能:主要实现音视频服务的播放和停止功能EPG功能:主要实现EPG相关数据(分析EIT表)的收集、组织、处理以及显示功能,另外还包括EIT表的实时监控功能和EIT信息的实时
3、刷新功能。NVOD功能:主要实现NVOD相关数据的收集、组织、处理以及显示功能,软件功能简述,服务搜索功能:包括手动搜索和自动搜索功能,包括NIT实时监测功能以及节目更新功能预定管理功能:包括节目预定、预定定时器管理、预定定时器浏览或删除邮件功能:包括邮件的接收、显示、存储以及管理(保存、删除等等)节目管理功能:包括节目列表的管理、节目属性的设定(喜爱、跳过、加锁等),软件功能简述,密码功能:对机顶盒的密码进行管理,包括密码的修改、启用和停用语种及声道选择:对机顶盒界面语种、字幕语种、伴音语种以及声道进行配置信号测试功能:对某个频点的信号质量、强度以及误码率等进行测试显示属性调整功能:对机顶盒
4、的输出亮度、色度以及对比度等显示属性进行调整,软件功能简述,数据广播功能:主要是通过浏览器来实现数据广播的功能Mosiac功能:通过前端 提供的Mosaic协议来实现Mosaic TV 以及导航功能CA功能:机顶盒集成前端要求的 CA,实现数字电视服务的解扰功能,同时实现与之相关的其他业务,如邮件、IPPV以及CAT表的实时监控等功能,软件功能简述,软件更新功能:即Loader功能系统时间:主要实现系统时钟的功能,向系统中所有的模块提供时钟自动开关机管理:实现系统自动由运行状态进入待机状态或有待机状态进入开机状态的环境保护和恢复功能游戏功能:实现嵌入游戏的启动、运行和推出。UI界面:提供给用户
5、操作的界面,以及显示各种信息功能,软件架构简图,模块功能简述,Drivers : 指对串口、解调模块、解复用模块和AV编码模块等进行驱动的程序OS Kernel: 建立在bsp(板级支持包)上的实时操作系统,ST芯片是ST20,Broadcom芯片是linuxMiddle API: 为提高软件产品的可跨平台移植性,提高工作效率,而专门在Driver的基础上封装的通用接口函数,模块功能简述,Porting Layer: 为集成其他厂家的应用程序模块,而利用Middle API来封装的适配层软件。Clock: 系统时钟控制任务,该模块负责向系统中的各个不同的任务提供系统时钟。另外该模块负责实时监测
6、网络中的TDT表,并以之来校正系统的时钟。Order manager: 预定管理模块,该模块负责接收和处理所有的定时器事件,在预定的时刻触发相应的动作。同时该模块需要完成所有预定定时器以及开关机定时器的管理工作。,模块功能简述,Memory manager: 主要完成系统对内存、FLASH、EEPROM的分配和管理Section engine: 为避免各个不同的任务或应用对demux slot 及 filter的操作冲突,特别创建该模块来管理对demux资源的操作NVOD: NVOD应用所需数据的收集和组织EPG: EPG应用所需数据的收集和组织。主要是EIT表的数据,模块功能简述,PROGR
7、AM: 节目管理应用所需数据的收集和组织,主要是NIT、PAT、PMT、SDT、BAT等表的数据MOSAIC: MOSAIC应用所需数据的收集和组织,前端提供的Mosaic私有协议CAS: 需要集成的 CA系统内核Data manager: 对各种数据的重新组织以便于界面应用的显示,模块功能简述,System control: 整个系统的控制模块,负责完成系统的各个模块之间的调度USIF: 机顶盒系统的界面显示应用,负责机顶盒的人机界面接口 Intergration service: 集成第三方的应用模块,如iPanel和Stock应用等,第四部分 功能实现原理,基本术语搜索原理加密节目电子节
8、目指南NVOD声道设置EPG广告,术语解释,PSI( Program Specific Information) SI( Service Information) PSI主要包含NIT、PAT、PMT和CAT四个部分NIT Network Information Table网络信息表PAT Program Association Table 节目关联表PMT Program Map Table 节目映射表CAT Conditional Access Table条件接收表,SI,SI主要包含SDT、EIT、TOD和TDT四个部分SDT Service Description Table 业务描述
9、表EIT Event Information Table 事件信息表BAT Bouquet Association Table 业务群关联表TDT Time and Date Table 时间和日期表TOT Time Offset Table 时间偏移表PID Packet Identifier 包标识符FEC Forward Error Correction 前向纠错,手动搜索,1、设置频点、符号率、调制方式参数2、锁定TS后,解析PAT(PID =0X0000),可知道节目service_id和PMT_ID3、在PMT中找到与它相同PMT_ID和PROGRAM_NUMBER的TABLE_I
10、D=0X2的表4、直接找到节目音视频PID(stream_type定义),然后在根据SDT pid=0x0011,table_id=0x42(现行)中的搜索到节目名称5、按service_type分类保存到数据库,手动搜索原理,设置频率参数FrequencyModulationSymbol rate,扫描该频点获取TS,从PAT表中获取PMT_PID和Program_number,根据PMT表找到音视频PID,1、获取当前SDT表2、获取频道名3、把频道名加入频道列表,1、获取当前EIT表2、获取P/F和schedual3、保存电子节目指南,保存到Flash或E2PROM,第一步,第二步,第三
11、步,自动搜索,先锁定NIT主频点,然后解析NIT表,得到NIT表中Cable_delivery_system_descriptor=0x44,获取到每个TS信息:频率符号率、调制方式、FEC 和FEC_inner再重复进行手动搜索的过程,自动搜索原理,设置频率参数FrequencyModulationSymbol rate,扫描该频点获取到NIT表,从NIT中获取frequency_list,根据frequency_list逐个扫描频点中的TS,1、获取当前SDT表2、获取频道名3、把频道名加入频道列表,1、获取当前EIT表2、获取P/F和schedual3、保存电子节目指南,保存到Flash
12、或E2PROM,加密节目,分析CAT,得到Ca_system_id=0X091CCA_PID=0X0130和CA_PID=0X0120就意味着两种不同的加扰方式进行了同密的加扰,他们代表了EMM的PID。但是在PMT中查看CAT_SYSTEM_ID=0X091C和CAT_PID=0X1857,代表了ECM的PID 如果PMT表中没有CA_descriptor,则可以判断节目没有加密,EMM_PID,ECM_PID,电子节目指南EIT,现行传输流,当前/后续事件信息 table_id = “0x4E”;即正在播放的。其它传输流,当前/后续事件信息 table_id = 0x4F;现行传输流,事件
13、时间表信息table_id = “0x50” 至 “0x5F”;可得知当前分析TS中节目的事件列表。其它传输流,事件时间表信息 table_id = “0x60” 至 “0x6F” 。可得知其他TS中节目的事件列表。描述段中short_event_decriptor描述的是节目名称,extented_event_decritor描述的是节目简介,NVOD节目搜索,在自动搜索的时候,从NIT表service_list_descriptor中得到service_type为一个novd_time_shift业务,通过PAT和PMT 将节目的audio_pid,video_pid和pcr_pid,将节
14、目保存在数据库中,就是通常所说的通道。在进入NVOD的时候,还会从主频点的NIT表中获取一遍所有的novd_time_shift业务,NVOD节目名、简介的获取,在根据得到的reference_service_id继续在EIT根据reference_event_id找到相关的事件,就找到short_event_descriptor的找到了它的event_name就是NVOD的节目名text_char所描述的就是节目简介。,NVOD列表时间的获取,进入NVOD时,就是在EIT表TABLE_ID=0x4E中解析保存在数据库中类型为time_shift service节目的信息,这样就得到refer
15、ence_service_id、reference_event_id和一个start time(该时间就是NVOD时间列表显示正在播出的时间)。从图中可以看到不同SERVICE有相同reference_service_id、reference_event_id。可以说明有几个SERVICE作为这个节目同时播放的通道。描述的START TIME为1515:1515:1515或者为FFFF:FFFF:FFFF仅仅是为了标识这是一个nvod参考事件,不是真正开始的时间。,其它时间段的获取,所有节目的时间段,在EIT中的TABLE_ID=505F,就能最找到当前的节目所有播放时间段。因为一个Refer
16、ence_Service_ID对应了几个不同的time_shift业务,所以就必须把这几个业务中的所有时间段找出来。,NVOD分类设置,声道设置,PMT中的ISO_639 _language_descriptor作为左右声道设置的标识立体声ISO_639_language_code = chi双声道ISO_639_language_code = chi,chi左声道ISO_639_language_code = chi,rad右声道ISO_639_language_code = rad,chi,EPG 广告,规范介绍广告码流分析机顶盒自动搜索流程广告更新流程界面显示方式打包工具介绍,规范介绍,
17、三个私有数据表Advertisement_transponder_sectionStream_type=0xB5Advertisement_information_sectionStream_type=0xB6Picture_data_sectionStream_type=0xB7EPG_AD service_type=0xB6默认频点235MHz, 默认PID=0xB1,table_id=0xC8,广告码流分析,机顶盒自动搜索流程,广告更新流程,第五部分 机顶盒显示信息,CA 提示信息面板显示信息,机顶盒常见提示信息,“无信号”:RF中断“节目源故障,请稍候”:误码率高或节目中断“智能卡未授权”:没有开卡“对不起,你未定购该频道,请切换其他频道”:开卡但频道没有授权,前面板数码管显示信息,