一种数字电视接收机实现多伴音的方法
技术领域
本发明涉及数字电视的音频处理技术,尤其涉及一种数字电视接收机实现多伴音的方法。
背景技术
目前的数字电视接收机一般只支持一路音频流和一路视频流输出至外部设备的数字音频接口和数字视频接口,在这种情况下,数字电视用户,无法在一路数字视频节目下选择不同的音频语言。
因此,随着数字电视技术的普及以及发展,如何使数字电视用户可以通过屏幕菜单式调节方式(ON SCREEN DISPLAY,OSD)菜单来选择自己所需要的音频语言输出,使产品更具有市场竞争力,成为急待解决的问题。
发明内容
本发明的目的在于提供一种数字电视接收机实现多伴音的方法,可以使得数字电视用户可以通过屏幕菜单式调节方式来选择自己所需要的音频语言输出。
为解决本发明的技术问题,本发明公开一种数字电视接收机实现多伴音的方法,包括:
启动自动节目搜索任务并开始搜索节目信息;
获得节目映射表信息;
将获得的信息存储在FLASH中;
通过OSD菜单选择所需要的音频语言并在FLASH中找到对应的音频PID;
输出音视频PID的值。
较优的,所述启动自动节目搜索任务并开始搜索节目信息具体包括:
数字电视用户通过数字电视接收机输出视频画面的图形层OSD启动自动节目搜索任务,从数字电视接收机所在数字电视网络的主频点开始自动搜索数字电视的节目信息。
较优的,所述从数字电视接收机所在数字电视网络的主频点开始自动搜索数字电视节目信息具体包括:
从数字电视接收机所在数字电视网络的主频点搜索网络信息表信息,根据网络信息表中描述的频点信息,逐个对每个频点进行数字电视节目信息搜索。
较优的,所述逐个对每个频点进行数字电视节目信息搜索具体包括:
搜索该频点的节目关联表信息,根据节目关联表中描述的节目映射表的位置,从对应位置搜索节目映射表信息,获取数字电视节目的节目号和对应的音视频流的位置。
较优的,所述获得节目映射表信息具体包括:
从节目映射表中获取数字电视节目号和对应的音视频流位置。
较优的,所述节目映射表中用不同码流类型来区分音视频码流,每一路视频流用一个视频PID标识,每一路音频流用一个音频PID标识,多路音频流对应不同的音频PID,每一路音频流PID会对应一种语言标识。
较优的,所述方法进一步包括:
将从节目映射表中得到的音频PID,存储在相应的音频PID数组变量PID[number]中;
用一个变量number来计数,用来计数得到多少组音频流;
也用此计数变量number从存储音频PID数组中找到存储音频PID的位置,从而得到相应的音频PID的值,其中,音频PID下对应的语言标识用来判断此音频PID对应的是那种音频语言输出;
将得到的这些变量的值存储在节目信息结构数组中,然后存入FLASH。
较优的,所述通过OSD菜单选择所需要的音频语言并在FLASH中找到对应的音频PID具体包括:
所述数字电视用户通过数字电视接收机输出视频画面的图形层OSD选择当前节目所需要的语言;
当选择确定的语言时,通过该语言对应的标识在存储语言标识数组中找到存储这个音频PID的位置;
根据这个位置在存储音频PID的数组中得到这个音频PID的值并输出。
与现有技术相比,本发明具有如下有益效果:
本发明公开一种数字电视接收机实现多伴音的方法,可以使得数字电视用户可以通过屏幕菜单式调节方式来选择自己所需要的音频语言输出。
附图说明
图1为本发明实施例的一种数字电视接收机实现多伴音的方法流程示意图。
具体实施例
本发明的实施例公开一种数字电视接收机实现多伴音的方法,使数字电视用户可以通过屏幕菜单式调节方式来选择自己所需要的音频语言输出。
随着数字电视终端功能的不断完善,数字电视用户的需求也多样化,通过实现多伴音的功能,以向数字电视用户提供多种音频语言输出,方便数字电视用户选择所熟悉的语言。
如图1所示,为本发明实施例的一种数字电视接收机实现多伴音的方法流程示意图,该方法可以包括如下的步骤。
步骤101,数字电视用户通过数字电视接收机输出视频画面的图形层(ON SCREENDISPLAY,OSD)启动自动节目搜索任务,从数字电视接收机所在数字电视网络的主频点开始自动搜索数字电视的节目信息。
从数字电视接收机所在数字电视网络的主频点开始自动搜索数字电视节目信息的可以包括:从数字电视接收机所在数字电视网络的主频点搜索网络信息表信息,根据网络信息表中描述的频点信息,逐个对每个频点进行数字电视节目信息搜索。
对每个频点进行数字电视节目信息搜索的主要包括:搜索该频点的节目关联表信息,根据节目关联表中描述的节目映射表的位置,从对应位置搜索节目映射表信息,获取数字电视节目的节目号和对应的音视频流的位置。
步骤102,获得节目映射表信息(PMT)。
从节目映射表中获取数字电视节目号和对应的音视频流位置,节目映射表中用不同码流类型来区分音视频码流,例如类型为0x02的为视频流,类型为0x04的为音频流,每一路视频流用一个视频PID标识,每一路音频流用一个音频PID标识,多路音频流对应不同的音频PID,每一路音频流PID会对应一种语言标识,例如,音频PID为0x5a的一路音频流下对应的语言标识为“eng”,语言标识为“eng”,代表是英文的音频语言,音频PID为0x58的一路音频流下对应得语言标识为“chi”,语言标识为“chi”代表是中文普通话的音频语言。
103,将获得的数据存储在FLASH中。
将从节目映射表中得到的音频PID,存储在相应的音频PID数组变量(PID[number])中,用一个变量number来计数,用来计数得到多少组音频流,也用此计数变量number来从存储音频PID数组(PID[number])中找到存储音频PID的位置,从而得到相应的音频PID的值,音频PID下对应的语言标识用来判断此音频PID对应的是哪种音频语言输出,标识为“eng”的语言标识表示英文音频语言输出,给此标识下的语言标识数组变量(language[number])赋值为1(也可以是其他值),1代表英文语言输出,标识为“chi”的语言标识表示普通话音频语言输出,给此标识下的语言标识数组变量(language[number])赋值为2(也可以是其他值),2表示普通话音频语言输出,将得到的这些变量的值存储在节目信息结构数组中,然后存入FLASH。
步骤104,通过OSD菜单选择所需要的音频语言并在FLASH中找到对应的音频PID。
数字电视用户通过数字电视接收机输出视频画面的图形层(ON SCREEN DISPLAY,OSD),也就是通常所说的菜单来选择当前节目所需要的语言,可选择的语言有英文,普通话或其他语言,当选择为英文时,英文所对应的标识值为1,那么就通过这个值在存储语言标识数组中找到存储这个音频PID的位置,然后根据这个位置在存储音频PID的数组中得到这个音频PID的值并输出,此时,这个节目的音频语言输出就为英文。
当选择为中文时,中文所对应的标识值为2,那么就通过这个值在存储语言标识数组中找到存储这个音频PID的位置,然后根据这个位置在存储音频PID的数组中得到这个音频PID的值并输出,此时,这个节目的音频语言输出就为中文。
步骤105,输出音视频PID的值。
结束。
综上所述,数字电视用户可以通过OSD菜单来选择自己所需要的音频语言输出。