阳雀坡:DVB业务信息PSI/SI综述_随笔记录

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 19:08:40

马赛克业务

转载于:http://hi.baidu.com/kkndyyralf/blog/item/dfb64bc5044f0ba08226aca1.html


马赛克业务是数字电视一个导航业务,它可起着节目推介的作用。马赛克在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

                   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

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表显示选中的马赛克业务内容。