发明内容
本发明实施例所要解决的技术问题在于,提供一种数字电视节目切换方法、切换控制装置及机顶盒,可以缩短机顶盒节目切换所需的时间,给用户更好的使用体验。
为了解决上述技术问题,本发明实施例提供了一种数字电视节目切换方法,包括:
接收节目切换指令,比较待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同;
根据所述比较的结果,控制各硬件模块并行的执行各自相应的切换进程;所述硬件模块包括:调谐器、过滤器和译码器中的一个或几个;
在所述各硬件模块的切换进程执行完成后,播放所述待播放节目。
其中,所述接收节目切换指令之前,还包括:预置各个节目的频点信息、数据包标识和编码方式。
其中,所述预置各个节目的频点信息、数据包标识和编码方式中,预置的方式包括:当用户搜索到一个新的节目后,记录该节目的频点信息、数据包标识和编码方式;或通过网络下载各个节目的频点信息、数据包标识和编码方式。
其中,所述根据所述比较的结果,控制各硬件模块并行的执行各自相应的切换进程,包括:
若比较发现待播放节目与当前播放节目频点信息不一致,则控制所述调谐器执行切换进程;该调谐器的切换进程为:根据所述待播放节目的频点信息进行锁频操作;
若比较发现待播放节目与当前播放节目数据包标识不一致,则控制所述过滤器执行切换进程;该过滤器的切换进程为:根据所述待播放节目的数据包标识重新设置过滤通道和过滤条件;
若比较发现待播放节目与当前播放节目编码方式不一致,则控制译码器执行切换进程;该译码器的切换进程为:释放当前的译码程序,加载与所述待播放节目的编码方式配套的译码程序。
其中,所述根据所述比较的结果,控制各硬件模块并行的执行各自相应的切换进程,包括:
若比较发现待播放节目与当前播放节目频点信息一致,则所述调谐器不进行切换;若比较发现待播放节目与当前播放节目数据包标识一致,则所述过滤器不进行切换;若比较发现待播放节目与当前播放节目编码方式一致,则所述译码器不进行切换。
相应的,本发明实施例还提供一种数字电视节目切换控制装置,包括:
切换启动模块,用于接收节目切换指令,比较待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同;
切换控制模块,用于根据所述切换启动模块比较的结果,控制各硬件模块并行的执行各自相应的切换进程;所述硬件模块包括:调谐器、过滤器和译码器中的一个或几个。
其中,所述数字电视节目切换控制装置还包括:信息预置模块,用于预置各个节目的频点信息、数据包标识和编码方式。
其中,所述切换启动模块包括:
切换启动单元,用于接收节目切换指令,并从所述信息预置模块中获取待播放节目与当前播放节目的频点信息、数据包标识和编码方式;
信息比较单元,用于比较所述切换启动单元所获取的待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同;
信息传送单元,用于在信息比较单元判定待播放节目与当前播放节目的频点信息不一致时,将所述待播放节目的频点信息发送至切换控制模块;在信息比较单元判定待播放节目与当前播放节目的数据包标识不一致时,将所述待播放节目的数据包标识发送至切换控制模块;在信息比较单元判定待播放节目与当前播放节目的编码方式不一致时,将所述待播放节目的编码方式发送至切换控制模块。
其中,所述切换控制模块包括:
进程管理单元,用于接收所述信息传送单元发送的信息,根据该信息的内容,分配至对应锁频控制单元、过滤控制单元或解码控制单元;该信息中包括:频点信息、数据包标识和编码方式中的一个或几个;
锁频控制单元,用于在收到进程管理单元分配的待播放节目的频点信息时,控制所述调谐器执行切换进程;该调谐器的切换进程为:根据所述待播放节目的频点信息进行锁频操作;
过滤控制单元,用于在收到进程管理单元分配的待播放节目的数据包标识时,控制所述过滤器执行切换进程;该过滤器的切换进程为:根据所述待播放节目的数据包标识重新设置过滤通道和过滤条件;
解码控制单元,用于在收到进程管理单元分配的待播放节目的编码方式时,控制译码器执行切换进程;该译码器的切换进程为:释放当前的译码程序,加载与所述待播放节目的编码方式配套的译码程序。
其中,所述锁频控制单元、过滤控制单元、解码控制单元独立、并行的控制调谐器、过滤器和译码器执行相应的切换进程。
最后,本发明实施例还提供一种数字电视机顶盒,包括调谐器、过滤器、译码器以及如前所述的数字电视节目切换控制装置。
所述数字电视节目切换控制装置接收节目切换指令后,仅在待播放节目与当前播放节目频点信息不一致时,控制所述调谐器执行切换进程;该调谐器的切换进程为:根据所述待播放节目的频点信息进行锁频操作;
所述数字电视节目切换控制装置接收节目切换指令后,仅在待播放节目与当前播放节目数据包标识不一致时,控制所述过滤器执行切换进程;该过滤器的切换进程为:根据所述待播放节目的数据包标识重新设置过滤通道和过滤条件;
所述数字电视节目切换控制装置接收节目切换指令后,仅在待播放节目与当前播放节目编码方式不一致时,控制译码器执行切换进程;该译码器的切换进程为:释放当前的译码程序,加载与所述待播放节目的编码方式配套的译码程序。
其中,在所述数字电视节目切换控制装置在调谐器、过滤器和译码器中的至少两个需要执行切换进程时,则并发的控制调谐器、过滤器和译码器中需要执行切换进程的执行切换进程。
实施本发明实施例提供的数字电视节目切换方法、切换控制装置及机顶盒,可以缩短机顶盒切换节目所需的时间,给用户更好的使用体验;同时,实施本发明实施例提供的数字电视节目切换方法、切换控制装置及机顶盒,机顶盒无需在硬件上做较大改动,实现成本低。
具体实施方式
实施本发明实施例提供的数字电视节目切换方法、切换控制装置及机顶盒,可以缩短机顶盒切换节目所需的时间,给用户更好的使用体验。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图2,为本发明提供的数字电视节目切换方法第一实施例流程示意图,如图2所示,包括:
在步骤S200,接收节目切换指令,比较待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同。
在步骤S201,根据所述比较的结果,控制各硬件模块并行的执行各自相应的切换进程;所述硬件模块包括:调谐器、过滤器和译码器中的一个或几个。
在步骤S202,在所述各硬件模块的切换进程执行完成后,播放所述待播放节目。
实施本发明实施例提供的数字电视节目切换方法,可以缩短机顶盒切换节目所需的时间,给用户更好的使用体验。
参见图3,为本发明提供的数字电视节目切换方法第二实施例流程示意图,在本实施例中,将更为详细的描述该数字电视节目切换方法的流程,该方法流程如图3所示,包括:
在步骤S300,预置各个节目的频点信息、数据包标识和编码方式。更为具体的,该预置的方式多种多样,例如:当用户搜索到一个新的节目后,记录该节目的频点信息、数据包标识和编码方式;或者,通过网络下载各个节目的频点信息、数据包标识和编码方式。
进一步的,在实际应用中,与节目换台相关的信息,都能通过搜索预先保存下来。包括:与锁频有关的频率,符号率,QAM(Quadrature Amplitude Modulation)等;与视音频相关的PES(Packetised Elementary Streams)包的数据包标识 (PID,Packet Identifier)等;与有条件接收(CA, Conditional Access)解扰相关授权控制信息(ECM,Entitlement Control Message)包的PID等;与解码器相关的基本码流ES数据类型等。
上述信息在节目搜索过程中,预存在flash中,开机加电后保存在内存,最好使用数组进行存储,便于索引。当上述信息需要进行更新的时候,可以通过后台或连接网络进行相应更新,确保保存的节目信息与实时流中描述的相一致。
在步骤S301,初始化各硬件模块,使调谐器(tuner)、过滤器(demux)、解码器(decoder)进入工作状态就绪。其中,tuner负责降频,对模拟信号进行解调,转换成便于处理的数字基带信号。Demux责对通过tuner处理之后的基带信号进行解复用,过滤出需要的业务,例如视音频业务,PSI/SI业务,以及与CA相关的ECM,授权管理信息(EMM,Entitled Manage Message)等,这些信息在Demux上都需要配置不同的业务通道进行过滤。Decoder对Demux解复用之后的压缩数字视音频信号进行解码,输出。对于不同的编码格式的流文件,Decoder需要配置不同的解码器。
在步骤S302,接收节目切换指令,比较待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同。更为具体的,需要比较的频点信息包括:频率,符号率,QAM;需要比较的数据包标识包括:ECM包的PID、视音频业务的PID;需要比较的编码方式包括:待播放节目与当前播放节目在的编码方式以及型、级参数上是否相同。
更为具体的,若比较发现:待播放节目与当前播放节目在频点信息上不相同,则表明本次节目切换过程需要重新锁频;待播放节目与当前播放节目在数据包标识上不相同,则表明本次节目切换过程需要设置过滤条件;待播放节目与当前播放节目在编码方式上不相同,则表明本次节目切换过程需要选择解码器。
进一步的,在比较完成后,将比较的结果进行存储。例如将比较结果存放在状态标记结构体当中;
Typedef struct
{
relock_flag; /* 是否重新锁频 */
reFilterECM_flag; /* 是否需要添加新的过滤条件 */
reloadPid_flag; /* 是否重新设置过滤视音频PID过滤*/
reSetDecode_flag; /* 是否需要重新选择新的解码器 */
…. /* 根据实际应用进行扩充*/
}ChannelChStatusT;
在步骤S303,创建4个消息队列,分别对应4个并发的任务进程进行管理和通信,所述进程包括:节目切换管理进程、tuner lock task进程、Demux task进程,以及Av task进程。需要强调的是,上述几个任务是并发的,而非现有技术中按顺序依次执行的,这是本发明实施例实现并行换台的基础。
更为具体的,如果需要锁频,节目切换管理进程就会将锁频相关的频率,符号率,QAM等参数,分发给tuner lock task进程;如果需要重新设置过滤通道,以及过滤条件,节目切换管理进程同样会把各种PID信息封装好,分发给Demux task进程;同样,如果需要重新选择解码器,节目切换管理进程也会将解码参数发给Av task进程。
在步骤S304,在节目切换管理进程的控制下,调谐器、过滤器、译码器分别执行tuner lock task进程、Demux task进程,以及Av task进程。更为具体的:
若在步骤S302比较发现待播放节目与当前播放节目频点信息不一致,则控制调谐器执行切换进程;该调谐器的切换进程为:根据待播放节目的频点信息进行锁频操作;若比较发现待播放节目与当前播放节目频点信息一致,则调谐器不进行切换。
若在步骤S302比较发现待播放节目与当前播放节目数据包标识不一致,则控制过滤器执行切换进程;该过滤器的切换进程为:根据待播放节目的数据包标识重新设置过滤通道和过滤条件;若比较发现待播放节目与当前播放节目数据包标识一致,则过滤器不进行切换。
若在步骤S302比较发现待播放节目与当前播放节目编码方式不一致,则控制译码器执行切换进程;该译码器的切换进程为:释放当前的译码程序,加载与待播放节目的编码方式配套的译码程序;若比较发现待播放节目与当前播放节目编码方式一致,则译码器不进行切换。
此处需要详细说明的是:在现有技术中,节目切换的过程是由调谐器先进行锁频;获取待切换的节目的数据包标识后,再设置过滤器的过滤条件;最后,才选择匹配的译码器。及时发现待播放节目与当前播放节目的频点信息、数据包标识、编码方式都一致(即两个相同的节目),也需要进行锁频、设置过滤条件、选择解码器。
而在本发明实施例中,从两个方面节约了节目切换所需的时间,一是在待播放节目与当前播放节目的频点信息、数据包标识或编码方式中的一项或多项相同时,就不再需要进行对应的锁频、设置过滤条件或选择解码器的操作,节约了节目切换的时间。二是因为待切换节目的信息已经预置在本地,调谐器、过滤器、译码器可以相对独立的并行进行节目切换的相关操作,而不依赖于其它硬件,故进一步的节约了节目切换的时间。
当然,调谐器、过滤器、译码器对信号的处理有一个基本的次序,例如过滤器必须是在调谐器锁频解调得到基带TS之后,才可以进行解复用,然后是译码器解码,但过滤器和译码器在调谐器锁频解调的同时是可以打开某些业务的通道,以节约时间。
在步骤S305,在所述各硬件模块的切换进程执行完成后,播放所述待播放节目。更为具体的,在tuner根据待切换节目的频点信息进行锁频操作成功,Demux根据ECM,v-PID a-PID去设置相关PID 完成数据的过滤参数,Decode选择好相关配套的解码器后,完成节目切换,并播放切换后的节目。
实施本发明实施例提供的数字电视节目切换方法,可以缩短机顶盒切换节目所需的时间,给用户更好的使用体验;同时,机顶盒无需在硬件上做较大改动,实现成本低。
参见图4,为本发明提供的数字电视机顶盒实施例结构示意图,如图4所示,该数字电视机顶盒包括:调谐器1、过滤器2、译码器3以及数字电视节目切换控制装置4。
其中,调谐器1负责降频,对模拟信号进行解调,转换成便于处理的数字基带信号。
过滤器2责对通过调谐器1处理之后的基带信号进行解复用,过滤出需要的业务,例如视音频业务,PSI/SI业务,以及与CA相关的ECM、EMM等,这些信息在过滤器2上都需要配置不同的业务通道进行过滤。
译码器3对过滤器2解复用之后的压缩数字视音频信号进行解码,输出。对于不同的编码格式的流文件,译码器3需要配置不同的解码器。
数字电视节目切换控制装置4用于在接收节目切换指令后,仅在待播放节目与当前播放节目频点信息不一致时,控制调谐器1执行切换进程;该调谐器1的切换进程为:根据待播放节目的频点信息进行锁频操作。
数字电视节目切换控制装置4接收节目切换指令后,仅在待播放节目与当前播放节目数据包标识不一致时,控制过滤器2执行切换进程;该过滤器2的切换进程为:根据待播放节目的数据包标识重新设置过滤通道和过滤条件。
数字电视节目切换控制装置4接收节目切换指令后,仅在待播放节目与当前播放节目编码方式不一致时,控制译码器3执行切换进程;该译码器3的切换进程为:释放当前的译码程序,加载与待播放节目的编码方式配套的译码程序。
需要强调的是,在本发明实施例中,调谐器1、过滤器2和译码器3是相对独立的,在调谐器1、过滤器2和译码器3中的至少两个需要执行切换进程时,在数字电视节目切换控制装置4的控制下,控制调谐器1、过滤器2和译码器3中需要执行切换进程的可以独立、并行的执行切换进程。当然,调谐器1、过滤器2、译码器3对信号的处理有一个基本的次序,例如过滤器2必须是在调谐器1锁频解调得到基带TS之后,才可以进行解复用,然后是译码器3解码,但过滤器2和译码器3在调谐器1锁频解调的同时是可以打开某些业务的通道,以切换节目的节约时间。
在现有技术中的机顶盒中,节目切换的过程是由调谐器先进行锁频;获取待切换的节目的数据包标识后,再设置过滤器的过滤条件;最后,才选择匹配的译码器。及时发现待播放节目与当前播放节目的频点信息、数据包标识、编码方式都一致(即两个相同的节目),也需要重新进行锁频、设置过滤条件、选择解码器,这无疑大大增加了节目切换所花费的时间。
而在本发明实施例提供的数字电视机顶盒中,调谐器1、过滤器2和译码器3在数字电视节目切换控制装置4的控制在,从两个方面节约了节目切换所需的时间,一是在待播放节目与当前播放节目的频点信息、数据包标识或编码方式中的一项或多项相同时,就不再需要进行对应的锁频、设置过滤条件或选择解码器的操作,节约了节目切换的时间。二是因为待切换节目的信息已经预置在本地,调谐器、过滤器、译码器可以相对独立的并行进行节目切换的相关操作,而不依赖于其它硬件,故进一步的节约了节目切换的时间。
参见图5,为本发明提供的数字电视节目切换控制装置第一实施例结构示意图,如图所示,该数字电视节目切换控制装置包括:
切换启动模块42,用于接收节目切换指令,比较待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同。
切换控制模块43,用于根据所述切换启动模块42比较的结果,控制各硬件模块并行的执行各自相应的切换进程;所述硬件模块包括:调谐器1、过滤器2和译码器3中的一个或几个。
实施本发明实施例提供的数字电视节目切换控制装置,可以缩短机顶盒切换节目所需的时间,给用户更好的使用体验。
参见图6,为本发明提供的数字电视节目切换控制装置第二实施例结构示意图,在本实施例中,将更为详细的描述该数字电视节目切换控制装置的结构和各部件的功能,如图所示,该装置包括:
信息预置模块41,用于预置各个节目的频点信息、数据包标识和编码方式。更为具体的,该信息预置模块41预置信息的方式多种多样,例如:当用户搜索到一个新的节目后,信息预置模块41记录该节目的频点信息、数据包标识和编码方式;或者,信息预置模块41通过网络下载各个节目的频点信息、数据包标识和编码方式。
进一步的,在实际应用中,与节目换台相关的信息,信息预置模块41都能通过搜索预先保存下来。包括:与锁频有关的频率,符号率,QAM等;与视音频相关的PES包的PID等;与CA解扰的相关ECM包的PID等;与解码器相关的基本码流ES数据类型等。
上述信息在节目搜索过程中,信息预置模块41将其预存在flash中,开机加电后保存在内存,最好使用数组进行存储,便于索引。当上述信息需要进行更新的时候,信息预置模块41可以通过后台或连接网络进行相应更新,确保保存的节目信息与实时流中描述的相一致。
切换启动模块42,用于接收节目切换指令,比较待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同。更为具体的,该切换启动模块42包括:
切换启动单元421,用于接收节目切换指令,并从所述信息预置模块41中获取待播放节目与当前播放节目的频点信息、数据包标识和编码方式。
信息比较单元422,用于比较所述切换启动单元421所获取的待播放节目与当前播放节目在频点信息、数据包标识和编码方式上是否相同。更为具体的,需要比较的频点信息包括:频率,符号率,QAM;需要比较的数据包标识包括:ECM包的PID、视音频业务的PID;需要比较的编码方式包括:待播放节目与当前播放节目在的编码方式以及型、级参数上是否相同。
更为具体的,若比较发现:待播放节目与当前播放节目在频点信息上不相同,则表明本次节目切换过程需要重新锁频;待播放节目与当前播放节目在数据包标识上不相同,则表明本次节目切换过程需要设置过滤条件;待播放节目与当前播放节目在编码方式上不相同,则表明本次节目切换过程需要选择解码器。
进一步的,在比较完成后,将比较的结果进行存储。例如将比较结果存放在状态标记结构体当中;
Typedef struct
{
relock_flag; /* 是否重新锁频 */
reFilterECM_flag; /* 是否需要添加新的过滤条件 */
reloadPid_flag; /* 是否重新设置过滤视音频PID过滤*/
reSetDecode_flag; /* 是否需要重新选择新的解码器 */
…. /* 根据实际应用进行扩充*/
}ChannelChStatusT;
信息传送单元423,用于在信息比较单元422判定待播放节目与当前播放节目的频点信息不一致时,将所述待播放节目的频点信息发送至切换控制模块43;在信息比较单元422判定待播放节目与当前播放节目的数据包标识不一致时,将所述待播放节目的数据包标识发送至切换控制模块43;在信息比较单元422判定待播放节目与当前播放节目的编码方式不一致时,将所述待播放节目的编码方式发送至切换控制模块43。
切换控制模块43,用于根据所述切换启动模块42比较的结果,控制各硬件模块并行的执行各自相应的切换进程;所述硬件模块包括:调谐器1、过滤器2和译码器3中的一个或几个。更为具体的,该切换控制模块43包括:
进程管理单元431,用于接收所述信息传送单元423发送的信息,根据该信息的内容,分配至对应锁频控制单元432、过滤控制单元433或解码控制单元434;该信息中包括:频点信息、数据包标识和编码方式中的一个或几个。
更为具体的,如果需要锁频,进程管理单元431就会将锁频相关的频率,符号率,QAM等参数,分发给锁频控制单元432;如果需要重新设置过滤通道,以及过滤条件,进程管理单元431同样会把各种PID信息封装好,分发给过滤控制单元433;同样,如果需要重新选择解码器,进程管理单元431也会将解码参数发给解码控制单元434。
需要强调的是,上述几个任务是并发的,而非现有技术中按顺序依次执行的,这是本发明实施例实现并行换台的基础。
锁频控制单元432,用于在收到进程管理单元431分配的待播放节目的频点信息时,控制所述调谐器1执行切换进程;该调谐器1的切换进程为:根据所述待播放节目的频点信息进行锁频操作。当然,若待播放节目与当前播放节目频点信息一致,则进程管理单元431不会给锁频控制单元432分配任务,而调谐器1也无需重新进行锁频操作。
过滤控制单元433,用于在收到进程管理单元431分配的待播放节目的数据包标识时,控制所述过滤器2执行切换进程;该过滤器2的切换进程为:根据所述待播放节目的数据包标识重新设置过滤通道和过滤条件。若待播放节目与当前播放节目频点信息一致,则进程管理单元431也不会给过滤控制单元433分配任务,而过滤器2也无需重新设置过滤通道和过滤条件。
解码控制单元434,用于在收到进程管理单元431分配的待播放节目的编码方式时,控制译码器3执行切换进程;该译码器3的切换进程为:释放当前的译码程序,加载与所述待播放节目的编码方式配套的译码程序。若待播放节目与当前播放节目频点信息一致,则进程管理单元431也不会给解码控制单元434分配任务,而译码器3也无需重新加载与待播放节目的编码方式配套的译码程序。
需要强调的是,在本发明实施例中,锁频控制单元432、过滤控制单元433、解码控制单元434以及对应的调谐器1、过滤器2和译码器3是相对独立的,在调谐器1、过滤器2和译码器3中的至少两个需要执行切换进程时,在本实施例提供的数字电视节目切换控制装置的控制下,调谐器1、过滤器2和译码器3中需要执行切换进程的可以独立、并行的执行切换进程。
当然,调谐器1、过滤器2、译码器3对信号的处理有一个基本的次序,例如过滤器2必须是在调谐器1锁频解调得到基带TS之后,才可以进行解复用,然后是译码器3解码,但过滤器2和译码器3在调谐器1锁频解调的同时是可以打开某些业务的通道,以切换节目的节约时间。
现有的机顶盒在节目切换的过程是由调谐器先进行锁频;获取待切换的节目的数据包标识后,再设置过滤器的过滤条件;最后,才选择匹配的译码器。及时发现待播放节目与当前播放节目的频点信息、数据包标识、编码方式都一致(即两个相同的节目),也需要进行锁频、设置过滤条件、选择解码器,这无疑大大增加了节目切换所花费的时间。
而在本发明实施例提供的数字电视节目切换控制装置,从两个方面节约了节目切换所需的时间,一是在待播放节目与当前播放节目的频点信息、数据包标识或编码方式中的一项或多项相同时,就不再需要进行对应的锁频、设置过滤条件或选择解码器的操作,节约了节目切换的时间。二是因为待切换节目的信息已经预置在本地,调谐器、过滤器、译码器可以相对独立的并行进行节目切换的相关操作,而不依赖于其它硬件,故进一步的节约了节目切换的时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。