DVB业务信息PSI/SI综述---Mosaic业务介绍
2012-08-07 14:26
162 查看
马赛克业务是数字电视一个导航业务,它可起着节目推介的作用。马赛克在DVB中作是一个service,它的产生如图13所示。其核心是马赛克服务器,马赛克服务器主要功能是从多个TS中按需要提取节目视频,然后根据设置参数进行压缩、定位等处理,然后把它们合成一个节目流,同时生成相应的SI信息表,再把这个马赛克业务流与相应的SI信息经过复用器后形成一个完整的马赛克业务节目流。
马赛克业务的表现形式如图14所示,在PAL制式下,一祯电视画面大小一般为:720×576,称为电视屏幕,但马赛克业务通常不会占满整个电视屏幕,它只占整个电视屏幕的一个区域,我们称显示马赛克业务的区域为马赛克屏幕。马赛克屏幕里面显示节目图像的最小单位称为基本单元,而每一个基本单元可作为一个逻辑单元,也可由多个基本单元组成一个逻辑单元来显示较大的节目画面。
在DVB标准中,支持马赛克业务的描述符是mosaic_descriptor结构如下:
mosaic_descriptor( ){
descriptor_tag 8bit
descriptor_length 8bit
mosaic_entry_point 1bit 马赛克业务入口点
number_of_horizontal_elementary_cells 3bit 水平方向基本单元数
reserved_future_use 1bit
number_of_vertical_elementary_cells 3bit 垂直方向基本单元数
for ( i = 0; i< N; i++){
logical_cell_id 6bit 逻辑单元ID
reserved_future_use 7bit
logical_cell_presentation_info 3bit 逻辑单元表达信息
elementary_cell_field_length 8bit
for(i= 0;i<elementary_cell_field_length;i++){ 基本单元字段长度
reserved_future_use 2bit
elementary_cell_id 6bit
}
cell_linkage_info 8bit 单元连接信息
if ( cell_linkage_info == 0x01) { 与业务群相关
bouquet_id 16bit
}
if ( cell_linkage_info == 0x02) { 与业务相关
original_network_id 16bit
transport_stream_id 16bit
service_id 16
}
if ( cell_linkage_info == 0x03) { 与其他马赛克业务相关
original_network_id 16bit
transport_stream_id 16bit
service_id 16bit
}
if ( cell_linkage_info == 0x04) { 与事件相关
original_network_id 16bit
transport_stream_id 16bit
service_id 16bit
event_id 16bit
}
}
}
从马赛克描述符中,我们可看到,描述符对马赛克中的基本单元快数作了定义,对逻辑单元也作了定义,且每个逻辑单元所连接的信息及类型也作了定义,但对马赛克屏幕的大小及当存在多个马赛克页面时,如何进行页面间的切换没有做定义和描述,因此必须要对标准中没有的这些部分进行补充(作私有定义)。
⑴、私有定义一:马赛克屏幕的定义。
马赛克屏幕可把其定义为逻辑屏幕,引入一个logical_screen_descriptor (逻辑屏幕描述符)来描述逻辑屏幕的位置与大小,如下:
logical_screen_descriptor(){
descripyor_tag 8bit
descriptor_length 8bit
screen_left 16bit 屏幕水平坐标位置
screen_top 16bit 屏幕垂直坐标位置
(以上这两个参数定义料逻辑屏幕左上角的坐标,如图14的x0,y0)
screen_right 16bit
screen_bottom 16bit
(以上这两个参数定义了逻辑屏幕的右下角的坐标,如图13的x1,y1)
}
上面的逻辑屏幕描述符可以在PMT表中携带,也可以在SDT表中携带。由于它是一个私有描述符,因此,当它由SDT表携带时,根据DVB标准,必须要通过一个私有数据说明描述符加以说明,该描述符在DVB标准有定义,如下:
private_data_specifier_descriptor(){
descriptor_tag
descriptor_length
private_data_specifier
}
其中的private_data_specifier值是用于标识逻辑屏幕描述符是哪个厂家的私有描述符。
⑵、私有定义二:在马赛克业务所在流的PMT表中,由于一个马赛克业务存在多个逻辑单元和多个音频流与视频流,那么这些音频流、视频流属于哪个逻辑单元的?必须要进行标识。所以每一个音频流和视频流后都跟着一个stream_identifier_descriptor(流标识描述符),主要用于描述该音频流及视频流和逻辑单元之间的对应关系,其中的componene_tag(组件标签)是与马赛克视频对应逻辑单元的logical_cell_id (逻辑单元ID) 相等的,这个流标识描述符结构如下:
stream_identifier_descriptor(){
descriptor_tag
descriptor_length
component_tag
}
⑶、私有定义三:当存在多个马赛克页面时,为了能够使用户在几个页面之间进行切换,需要引入马赛克链接描述,其定义如下:
linkage_descriptor(){
descriptor_tag
descriptor_length
transport_stream_id
original_network_id
service_id
linkage_type
for(I=0;I<n;I++){
privste_data_byte
}
}
其中linkage_type可取0X82和0X83两个值,0X82代表向上链接,0X83表示向下链接。linkage_descriptor可由SDT表携带,每一个马赛克业务可携带两个linkage_descriptor,分别链接到上一个马赛克页面和下一个马赛克页面。同样,由于linkage_descriptor是私有描述符,所以要用一个private_data_specifier_descriptor加以说明。
图2是一个马赛克业务的实际画面,其mosaic_descriptor如图15所示。
机顶盒实现马赛克的流程:
机顶盒首先查找SDT表,看是否存在马赛克业务,如果存在,根据业务的TS_id 找到该流,并处理该流的PAT表和PMT表,在屏幕显示马赛克业务画面。
当用户对某一逻辑单元的内容感兴趣时,有下列几种情况:
①、 如果该逻辑单元是与业务群相关的,那么机顶盒将根据bouquet_id显示BAT表的信息。
②、 如果该逻辑单元与业务相关的,那么机顶盒将根据original_network_id、transport_stream_id、service_id找到业务所在的流并且通过处理PAT表和PMT表显示选中的业务内容。
③、 如果该逻辑单元与事件相关,那么显示EIT表信息,并根据original_network_id、transport_stream_id、service_id、event_id找到该事件所在的流,且通过处理PAT表和PMT表显示选中的事件内容。
④、 如果该逻辑单元与马赛克业务相关,那么机顶盒根据original_network_id、transport_stream_id、service_id找到该马赛克业务所在的流,且通过处理PAT表和PMT表显示选中的马赛克业务内容。
相关文章推荐
- DVB码流中业务信息与电子节目指南
- ISO/IEC 27001(信息安全管理认证)业务介绍
- DVB码流中业务信息与电子节目指南
- 信息管理系统开发平台之业务定制平台介绍(一)
- 在网页中获取天气信息方式介绍
- 【信息安全】ECC加密算法入门介绍
- 拓宽公司业务,现面向社会进行有偿业务信息“搜索”
- 业务流程建模标注(Business Process Modeling Notation,BPMN)详细介绍
- Python读取图片EXIF信息类库介绍和使用实例
- 快递公司业务管理系统将快递单信息转换为PDF
- 公众号基本信息介绍
- 百安信息安全俱乐部介绍
- 期权相关业务介绍02
- Win10系统更改通知信息出现的位置的方法介绍
- 跨业务实体内部销售订单设定介绍
- 直播平台,直播TV介绍,对比,下载等相关信息
- java操作oracle空间信息介绍(SDE)
- 基于GATE的信息抽取系统介绍
- 转:友善之臂2440中WinCE BSP中串口打印信息的实现介绍
- java操作oracle空间信息介绍