发明内容
有鉴于此,本发明的目的在于提供一种多媒体数据的获取方法及多媒体设备,在用户终端即使具有较低配置的情况下,也能够方便用户基于该用户终端收看网络侧下发的多媒体数据所体现的节目内容。
一种多媒体数据的获取方法,包括:
网络侧将多媒体数据的描述信息封装成预设格式的数据段,将所述数据段打包成传输流后,将所述传输流发送给用户终端;所述多媒体数据的描述信息包括:多媒体数据内容以及用于指示用户终端如何播放多媒体数据的播放控制信息;
所述数据段所在传输流的包标识被预设,所述数据段中进一步包含用于由用户终端确定是否解析出该数据段内的多媒体数据的描述信息的过滤信息;所述传输流中进一步包含与多媒体数据相关联的电视节目数据;所述过滤信息包括:与所述多媒体数据相关联的电视节目的业务标识相同的节目号,以及所述数据段的预设表标识;
用户终端在需要播放所述电视节目时,从接收到的传输流中解析出包标识,以及所述过滤信息,确定需要解析出所述数据段内的所述多媒体数据的描述信息,且解析出所述多媒体数据的描述信息;所述确定需要解析出所述数据段包括:用户终端根据解析出的包标识与预设的包标识相同、解析出的表标识为预设表标识,以及解析出的所述节目号与所述电视节目的业务标识相同,确定需要解析出所述数据段。
优选地,解析出所述多媒体数据的描述信息后,该方法进一步包括:
用户终端按照所述多媒体数据的播放控制信息的指示,播放多媒体数据。
优选地,所述多媒体数据的播放控制信息至少包括以下任意之一:
多媒体数据的显示位置、多媒体数据的动态显示方式、用户控制多媒体数据播放的控制方式、调用用于播放多媒体数据的预设应用播放多媒体数据。
优选地,所述多媒体数据包括文本数据和/或图像数据。
一种多媒体服务器,包括:
包括:数据段生成单元和传输处理单元;
所述数据段生成单元,用于将多媒体数据的描述信息封装成预设格式的数据段;所述多媒体数据的描述信息包括:多媒体数据内容以及用于指示用户终端如何播放多媒体数据的播放控制信息;所述数据段中进一步包含用于由用户终端确定是否解析出该数据段内的多媒体数据的描述信息的过滤信息;所述数据段所在传输流的包标识被预设;所述传输流中进一步包含与多媒体数据相关联的电视节目数据;所述过滤信息包括:与所述多媒体数据相关联的电视节目的业务标识相同的节目号,以及所述数据段的预设表标识;
所述传输处理单元,用于将所述数据段生成单元生成的数据段打包成传输流,将所述传输流发出。
一种用户终端,包括:
接收单元、获取单元;其中,
接收单元,用于接收网络侧下发的包含预设格式的数据段的传输流,所述数据段中包含多媒体数据的描述信息,以及用于由用户终端确定是否解析出该数据段内的多媒体数据的描述信息的过滤信息;所述多媒体数据的描述信息包括多媒体数据内容以及用于指示用户终端如何播放多媒体数据的播放控制信息;所述数据段所在传输流的包标识被预设;所述传输流中进一步包含与多媒体数据相关联的电视节目数据;
获取单元,用于在需要播放所述电视节目时,从接收单元接收到的传输流中解析出包标识,以及所述过滤信息,确定需要解析出所述数据段内的所述多媒体数据的描述信息,且解析出所述多媒体数据的描述信息;所述过滤信息包括与所述多媒体数据相关联的电视节目的业务标识相同的节目号以及所述数据段的预设表标识;所述确定需要解析出所述数据段包括:用户终端根据解析出的包标识与预设的包标识相同、解析出的表标识为预设表标识,以及解析出的所述节目号与所述电视节目的业务标识相同,确定需要解析出所述数据段。
优选地,所述获取单元包括:过滤单元、解析单元,其中,
所述解析单元,用于解析出所述接收单元接收到的传输流中数据段的包标识以及所述过滤信息;
所述过滤单元,用于利用所述解析单元解析出包标识以及所述过滤信息,根据解析出的包标识与预设包标识相同、解析出的表标识为预设表标识,以及解析出的所述节目号与所述电视节目的业务标识相同,过滤出所述数据段;
所述解析单元,进一步用于解析出所述过滤单元过滤出的数据段内的多媒体数据的描述信息。
优选地,所述用户终端进一步包括播放单元,用于按照所述解析单元解析出的多媒体数据的播放控制信息的指示,播放多媒体数据。
综上,本发明的具体实现中,由网络侧将多媒体数据封装到预设格式的数据段内,相比较灵活多变的网页数据,数据段的数据格式相对较固定,用户终端只需按照关于预设格式的数据段的解析协议,即可完成对数据段的解析,而不需要像支持浏览器技术一样,需要提供浏览器运行所需的环境,因此,对用户终端的配置要求较低,无论是CPU性能,还是SDRAM容量或者FLASH容量都没有太高的要求,从而可有效降低对用户终端的硬件要求,降低用户终端的产品成本,扩大数字电视的受众面。
并且,本发明的具体实现中,通过在数据段内自带用于由用户终端过滤数据段的过滤信息,以方便用户终端搜索出数据段,而不需要网络侧修改关联信息表,使得方案的实现更加简便。
具体实施方式
本发明中,为使用户终端能够在较低的配置下,获得网络侧下发的数字电视相关的多媒体数据,设置出格式相对较固定的数据段,网络侧与用户终端基于协议,均能够识别且处理该特定格式的数据段。具体实现包括,网络侧将多媒体数据的描述信息配置于特定格式的数据段内,将数据段打包成传输流(TS)之后,将传输流发送给用户终端;其中,数据段的包标识被预设,数据段内还包含用于由用户终端确定是否过滤出该数据段的过滤信息;且传输流内还包含与多媒体数据相关联的电视节目数据。用户终端在需要播放指定电视节目时,根据从传输流中解析出包标识以及过滤信息,确定需要进一步解析数据段,并解析出数据段内多媒体数据的描述信息。
相比较需要支持浏览器运行环境以及解析网页数据来讲,解析较固定格式的数据段对用户终端的配置要求相对较低,因此,对于网络侧需要广播如文本数据或图片数据等等多媒体数据的应用场景,可采用本发明所提供的上述技术方案,以降低对用户终端的硬件要求,降低用户终端的产品成本,扩大数字电视的受众面。
具体地,特定格式的数据段中包含多媒体数据的描述信息可包括多媒体数据的内容以及用于指示用户终端播放多媒体数据的播放控制信息,具体如,多媒体数据的显示位置、动态显示方式、是否可由用户控制多媒体数据的播放、调用用于播放多媒体数据的预设应用来播放多媒体数据,等等。
实际应用中,上述多媒体数据可以是体现广告信息的数据。本发明的具体实现中,为方便用户终端搜索到TS中的多媒体数据,可预设数据段在TS内的包标识,设为0X1ABC;并且将上述过滤信息配置在数据段内,过滤信息包括数据段的Table ID,设为0XA2,以及与多媒体数据相关联的电视节目的业务标识相同的节目号(Programe Number)。用户终端在接收到TS之后,若解析出数据段在TS中的PID是0x 1ABC,数据段的表标识为0XA2,且数据段内的节目号与用户当前指定播放的节目的业务标识相同,则可确定该数据段内的多媒体数据需要在该节目播放,因此,用户终端会过滤出该数据段,并进一步解析数据段内的多媒体数据的描述信息,按播放控制信息的指示播放多媒体数据所体现的广告。
进一步说明,本发明中预设格式的数据段是私有数据段。为使用户终端能够找到私有数据段,本发明的具体实现中,没有采用在网络侧修改关联信息的做法,而是在该私有数据段内设置过滤信息,用户终端只要对数据段的过滤信息作解析,即可确定该数据段是否需要在用户指定的电视节目内播放,从而避免修改现有关联信息表如BAT,降低方案实现的复杂度。并且,可以方便地实现不同的业务标识关联相同或不同的多媒体数据。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合表格及附图作进一步详细描述。
以多媒体数据是文本数据以及图片数据为例,说明用户终端获取多媒体数据的具体实施。
先说明本发明的具体实施中预设格式的数据段。参见表1,表1列举本发明的实施例中数据段的数据结构。
域名(Field name) |
比特位(Bits) |
注释(Note) |
私有数据段(private_section){ |
|
|
表标识(Table_id)=0xA2 |
8 |
Uimsbf 值为0XA2 |
数据段语法指示(Section_syntax_indicator) |
1=‘1’ |
Bslbf 值为1 |
备用字段(Reserved_future_use) |
1=‘1’ |
Bslbf 值为1 |
保留字段(Reserved) |
2 |
Bslbf 保留 |
域名(Field name) |
比特位(Bits) |
注释(Note) |
数据段长度(Section_length) |
12 |
Uimsbf 长度 |
节目号(program_number) |
16 |
Uimsbf与相关联节目的业务标识service_id相同 |
Reserved |
2 |
Bslbf 保留 |
版本号(Version_number) |
5 |
Uimsbf 版本号 |
当前下一个指示(Current_next_indicator) |
1 |
Bslbf 无用 |
数据段号(Section_number) |
8 |
Uimsbf 当前section索引 |
最后一个数据段号(Last_section_number) |
8 |
Uimsbf 最后一个section索引 |
触发描述符(Activation_descriptor) |
|
触发描述符 |
for(i=0;i<N;i++){ |
|
|
数据块(Block)() |
n |
文本数据块和/或图片数据块 |
} |
|
|
循环冗余校验码(CRC_32) |
32 |
CRC校验码 |
} |
|
|
表1
表1中,数据段除包含表标识、版本号等等信息,还包含多媒体数据的描述信息,即数据块一项。并且值得关注的是,数据段包含与相关联节目的业务标识相同的节目号,用户终端在解析出该节目号后,即可确定是否在节目号对应的业务标识所标示的电视节目中播放多媒体数据,若解析出的节目号与业务标识相同,则进一步解析数据块,否则,不需要解析数据块,减少用户终端的计算量。另外,表1中,还包含如何触发多媒体数据的播放的触发描述符。
参见表2,表2列举本发明的具体实施中文本数据块的结构。
Field name |
Bits |
Nore |
文本数据块(Text_block){ |
|
|
数据块标签(Block_tag) |
8 |
Uimsbf 取0xB1值 |
数据块长度(block_length) |
16 |
Uimsbf 文本数据块长度 |
文本数据长度(Text_data_length) |
16 |
Uimsbf 文本数据长度 |
文本数据(Text_data) |
8*n |
Uimsbf 待显示的文本,编码方式遵循UTF8 |
for(i=0;i<N;i++){ |
12 |
Uimsbf 长度 |
deseriptor() |
|
文本描述符 |
} |
|
|
} |
|
|
表2
上述表2中,文本数据块中除包含文本数据块的描述信息如文本数据的内容、数据块标签、长度等等,还内嵌文本数据的播放控制信息如文本描述符,可包括文本显示描述符、位置描述符等等。
参见表3,表3列举本发明的具体实施中文本显示描述符的结构。
Field name |
Bits |
Note |
文本显示描述符(Text_display_descriptor){ |
|
|
标签(Descriptor_tag) |
8/Uimsbf |
=Text_display_descriptor(0xA1) |
长度(Descriptor_length) |
8/Uimsbf |
|
Field name |
Bits |
Note |
显示位置(Display_direction) |
4/Uimsbf |
0x01:从左至右;0x02:从右至左;0x03:从上至下;0x04:从下至上 |
飞行模式(Fly_mode) |
4/Uimsbf |
0x01:飞行模式;0x02:固定模式 |
飞行时间间隔(Fly_interval) |
8/Uimsbf |
单位:毫秒从飞行模式到固定模式之间的时间间隔 |
飞行距离(Fly_distance) |
8/Uimsbf |
单位:像素运动的像素间隔 |
字体大小(FontSize) |
8/Uimsbf |
字体显示的大小,遵照AWT中FontSize的定义 |
字符颜色A值(ForegroundColor_A) |
8/Uimsbf |
字符颜色A值 |
字符颜色R值(ForegroundColor_R) |
8/Uimsbf |
字符颜色R值 |
字符颜色G值(ForegroundColor_G) |
8/Uimsbf |
字符颜色G值 |
字符颜色B值(ForegroundColor_B) |
8/Uimsbf |
字符颜色B值 |
字符背景颜色A值(BackgroundColor_A) |
8/Uimsbf |
字符背景颜色A值 |
字符背景颜色R值(BackgroundColor_R) |
8/Uimsbf |
字符背景颜色R值 |
字符背景颜色G值(BackgroundColor_G) |
8/Uimsbf |
字符背景颜色G值 |
Field name |
Bits |
Note |
字符背景颜色B值(BackgroundColor_B) |
8/Uimsbf |
字符背景颜色B值 |
|
|
|
} |
|
|
表3
表3中,文本显示描述符中包含文本数据的描述信息如长度、标签等等,以及文本数据如何显示的播放控制信息如飞行模式、显示位置、颜色等等。
参见表4,表4列举本发明的具体实施中位置描述符的结构。
Field name |
Bits |
Note |
位置描述符(Location_descriptor){ |
|
|
标签(Descriptor_tag) |
8 |
=Location_descriptor(0xA3) |
长度(Descriptor_length) |
8 |
长度 |
在窗口显示的横轴坐标(X) |
16 |
单位像素 |
在窗口显示的纵轴坐标(Y) |
16 |
单位像素 |
窗口宽度(Window_width) |
16 |
单位像素 |
窗口高度(Window_height) |
16 |
|
} |
|
|
表4
表4给出多媒体数据的显示位置播放控制信息,可用于控制用户终端上多媒体数据的显示。
以上表2和表3列举了文本数据块的结构,下面列举图片数据块的结构。参见表5,表5列举本发明的具体实施中图片数据块的结构。
Field name |
Bits |
Note |
图片数据块(Image_block){ |
|
|
数据块标签Block_tag |
8/Uimsbf |
=IMAGE_BLOCK_TAG(0xB2) |
数据块长度block_length |
32/Uimsbf |
The following block length |
图片数据名称长度( )Image_name_length |
8/Uimsbf |
In byte for the‘image name’ |
图片数据名称(Image_name) |
8*n/Uimsbf |
The image name,in UTF8 |
图片数据长度(Image_data_length) |
32/Uimsbf |
In byte,the image raw data |
图片数据 |
8*n/Uimsbf |
The image data in byte |
(Image_data) |
|
|
for(i=0;i<N;i++){ |
|
|
descriptor() |
|
位置描述符等等 |
} |
|
|
} |
|
|
表5
上述表5中,图片数据块包含图片数据的描述信息如数据块长度、数据内容等等,以及图片数据的播放控制信息,如位置描述符。其中,位置描述符的结构可参考上述表4所示结构。
上述表1所示数据段结构中,还包含触发描述符。参见表6,表6列举本发明的具体实施中触发描述符的结构。
Field name |
位数/标志 |
Note |
触发描述符(Activation_descriptor){ |
|
|
标签(Descriptor_tag) |
8/Uimsbf |
=Activation_descriptor(0xA2) |
长度(Descriptor_length) |
8/Uimsbf |
长度 |
触发键(Activate_keycode) |
16/Uimsbf |
用户终端可采用的按键,以触发多媒体数据的播放或禁止播放(与MMCP移植层Input或RC模块的定义一致) |
被引用的应用名称(Application_name) |
8*x/Uimsbf |
应用名称按照UTF8的格式播发 |
} |
|
|
表6
上述表6所示触发描述符可用于指示多媒体数据的播放触发方式,如允许用户基于用户终端上的按键,触发多媒体数据的播放或禁止播放;或引用相关应用程序,来播放多媒体数据。本发明中,通过设置数据段的数据结构来降低多媒体数据播放对用户终端的配置要求,实际应用中,若用户终端的配置相对较高,能够支持浏览器技术或Java虚拟机技术等等高端技术,则可通过表6中Application_name,调用较高端的技术,实现更多的功能,满足用户需求。具体地,Application_name可以是一个网址,或可以是应用程序的名称,等等。
以多媒体数据内容是广告为例,说明本发明的具体实施中用户终端获得广告信息过程。参见图1,图1是本发明的实施例中用户终端获得广告信息的流程图,该流程可包括以下步骤:
步骤101、网络侧用预设格式的数据段封装广告信息,且将数据段与其他数据一起打包成TS流,调制后输出。
通常,一个TS流中会包含很多信息,如各个电视台需要播放的节目,其中包括与多媒体数据相关联的电视节目数据。
步骤102、用户调台,收看感兴趣的电视节目,则用户终端接收网络侧下发的TS流,若解析TS流中数据段的PID为预设的0X1ABC,表标识为0XA2,且数据段内包含的节目号与该电视节目的业务标识相同,则过滤出该数据段。
步骤103、用户终端解析出数据段内的广告数据的描述信息,按照播放控制信息播放广告。
若播放控制信息中,触发描述符指示需要用户基于用户终端上的按键,触发多媒体数据的播放或禁止播放,则在获得用户给出的按键信息后,进行相应的播放或禁止播放处理。
本实施例中,用户终端在用户没有换台之前,需要监听网络侧下发的TS流,以监听网络侧是否下发了新版本的广告,若监听到新版本的广告,则播放新版本的广告。另外,在广告的播放控制中,可如现有广告播放做法,在与窗口上显示的内容不冲突的情况下,播放广告。
本发明还提供了一种用户终端,参见图2,图2是该用户终端的结构示意图,该用户终端可包括:接收单元201、获取单元202;其中,
接收单元201,用于接收网络侧下发的包含预设格式的数据段的传输流,所述数据段中包含多媒体数据的描述信息,以及用于由用户终端确定是否解析出该数据段内的多媒体数据的描述信息的过滤信息;其中,数据段所在传输流的包标识被预设;传输流中进一步包含与多媒体数据相关联的电视节目数据;
获取单元202,用于需要播放所述电视节目时,从接收单元201接收到的传输流中解析出包标识,以及所述过滤信息,确定需要解析出所述数据段内的所述多媒体数据的描述信息,且解析出所述多媒体数据的描述信息。
获取单元202可进一步包括:解析单元2021和过滤单元2022,其中,
解析单元2021,用于解析出接收单元201接收到的传输流中数据段的包标识以及所述过滤信息;
过滤单元2022,用于利用解析单元2021解析出包标识以及过滤信息,根据解析出的包标识与预设包标识相同、解析出的表标识为预设表标识,以及解析出的节目号与电视节目的业务标识相同,过滤出该数据段;
解析单元2021,进一步用于解析出过滤单元2022过滤出的数据段内的多媒体数据的描述信息。
后续用户终端上的播放单元203可按解析单元2021解析出的多媒体数据的播放控制信息,播放解析出的多媒体数据的数据内容,并通过用户侧的显示装置输出播放画面。
本发明还提供一种多媒体服务器,参见图3,图3是该多媒体服务器的结构示意图,该多媒体服务器可包括:数据段生成单元301、传输处理单元302;
数据段生成单元301,用于将多媒体数据的描述信息封装成预设格式的数据段;数据段中还包含用于由用户终端确定是否解析出该数据段内的多媒体数据的描述信息的过滤信息;
其中,数据段所在传输流的包标识被预设;传输流中进一步包含与多媒体数据相关联的电视节目数据;
传输处理单元302,用于将数据段生成单元301生成的数据段打包成传输流,将传输流发出。
综上所述,本发明的具体实现中,由网络侧将多媒体数据封装到预设格式的数据段内,相比较灵活多变的网页格式,数据段的数据格式相对较固定,用户终端只需按照关于预设格式的数据段的解析协议,即可完成对数据段的解析,而不需要像支持浏览器技术一样,需要提供浏览器运行所需的环境,因此,对用户终端的配置要求较低,可有效降低对用户终端的硬件要求,降低用户终端的产品成本,扩大数字电视的受众面。
并且,本发明的具体实现中,通过在数据段内自带用于由用户终端过滤数据段的过滤信息,以方便用户终端搜索出数据段,而不需要网络侧修改关联信息表,使得方案的实现更加简便。