具体实施方式
如图1所示,为本发明机顶盒的视频输出控制方法一个实施例的流程图,其包括以下步骤:
步骤101,机顶盒开机后,浏览器按照正常启动顺序启动。
步骤102,浏览器从操作系统获取显示资源并对该显示资源进行解析,生成视频数据,并通过浏览器中的进程/线程发送给操作系统中的显示芯片,浏览器中的各进程/线程都具有唯一的进程/线程ID。
步骤103,显示芯片对浏览器发送的视频数据和/或图文数据进行数模转换,生成可显示的输出图像,该输出图像包括视频图像和/或文字、图片等静态图像,其中的视频图像视频流可以由播放器播放后通过各输出端口分别发送给电视机。另外,操作系统生成用于标识浏览器中线程/进程发送的各输出图像的视频流的视频流ID。
初始情况下,显示芯片所有输出端口输出的视频图像都相同,所以机顶盒连接的各电视机上播放的初始画面都相同。并且,通过各输出端口输出的全部视频图像都具有控制焦点,即:所有电视机上的画面都会被用户选中,且所有画面都会根据用户的控制操作做出同样的响应动作。
步骤104,用户通过控制面板,例如:遥控器,向操作系统中的浏览器发送播放请求。
步骤105,浏览器指示播放器播放视频图像,或浏览器根据获取的图文数据显示静态图像。若输出图像为视频图像,则在播放视频图像的过程中,播放器可能会调用屏幕显示设备(On Screen Display,以下简称:OSD)显示视频图像中的字幕信息。
此时,播放器中用于唯一标识播放视频流的进程/线程的进程/线程ID、相应显示视频图像中的字幕信息的OSD的进程/线程的进程/线程ID与调用它们的浏览器的进程/线程ID以及视频流ID在操作系统内有一定的关联关系。
步骤106,操作系统、主控芯片与显示芯片为对应同一视频流的所有输出图像,包括视频图像和/或静态图像,分配显示芯片上的一个输出端口,建立处理同一视频流的播放器的进程/线程ID、OSD的进程/线程ID、浏览器的进程/线程ID、显示芯片的输出端口ID与标识所述视频流的视频流ID之间的绑定关系,并将来自对应于同一视频流的各进程/线程的输出图像从显示芯片的同一个输出端口输出给显示设备(例如:电视机),将对应各视频流的输出图像分别从不同的输出端口输出给显示设备。
由于将对应各视频流的输出图像分别从不同的输出端口输出给显示设备,用户通过在不同显示设备上可以观看同一机顶盒上的不同视频流,比较灵活、自由,可以充分利用机顶盒提供的视频资源。
如图2所示,为本发明机顶盒的视频输出控制方法另一个实施例的流程图,该实施例在图1所示的步骤106之后,可以通过如下流程对机顶盒输出的不同视频图像进行选择、控制,该实施例包括以下步骤:
步骤201,浏览器中的各进程/线程分别将各自的进程/线程ID发送给焦点位置控制模块。
具体地,步骤201与步骤102-106可以没有时间顺序限制,既可以在执行步骤102-106的任意时刻执行步骤201,也可以在步骤102之前或步骤106之后执行该步骤201。
步骤202,焦点位置控制模块根据浏览器中的各进程/线程ID并建立进程/线程ID列表,从操作系统分别获取处理同一视频流的播放器的进程/线程ID、OSD的进程/线程ID、浏览器的进程/线程ID、显示芯片的输出端口ID与标识所述视频流的视频流ID之间的绑定关系并记录。
步骤203,焦点位置控制模块接收用户通过控制面板发送的用于切换控制焦点位置的控制焦点位置切换命令,该控制焦点位置切换命令中包括将控制焦点切换到的目标输出端口信息。该目标输出端口信息可以是目标输出端口ID,也可以是目标输出端口与当前控制焦点所在的当前输出端口的关系信息,例如:下一个输出端口。当控制焦点位置切换命令中包括的目标输出端口信息为目标输出端口与当前控制焦点所在的当前输出端口的关系信息时,焦点位置控制模块先获取当前控制焦点所在的当前输出端口ID,根据目标输出端口与当前控制焦点所在的当前输出端口的关系信息获取目标输出端口ID。
步骤204,焦点位置控制模块向操作系统、主控芯片、显示芯片发送提示信息,提示操作系统、主控芯片、显示芯片用户正在进行控制焦点位置切换。
具体地,焦点位置控制模块可以根据记录的绑定关系,获得与用户通过控制面板选中的目标输出端口ID对应的视频流ID,提示信息中可以包括多个<视频流ID,提示消息>对。例如:显示芯片上总共有两个输出端口向电视机输出视频图像,若第一输出端口对应的视频流ID为001,相应的视频流被用户选中,而第二输出端口对应的视频流ID为002,相应的视频流未被用户选中,此时,焦点位置控制模块向操作系统、主控芯片、显示芯片发送的指示信息可以是<001,“选中”>与<002,“失效”>。相应的,操作系统、主控芯片与显示芯片可以在第一输出端口连接的显示设备(例如:电视机)上显示“选中”字样,第二输出端口连接的显示设备上显示“失效”字样。
步骤205,焦点位置控制模块根据记录的处理同一视频流的播放器的进程/线程ID、OSD的进程/线程ID、浏览器的进程/线程ID、显示芯片的输出端口ID与视频流ID之间的绑定关系,获得与用户通过控制面板选中的输出端口ID对应的播放器的进程/线程ID、OSD的进程/线程ID与浏览器的进程/线程ID,并向相应的播放器的进程/线程、OSD的进程/线程与浏览器的进程/线程发送获取控制焦点命令,向播放器、OSD与浏览器的其它进程/线程发送释放控制焦点命令。
之后,用户便可以通过操作控制面板向操作系统发送播放控制指示信息,操作系统根据该播放控制指示信息对选中的输出图像,即:控制焦点所在的视频流,进行相应的播放控制,例如:播放、暂停播放、停止播放、重复播放等。
具体地,操作系统、主控芯片与显示芯片可以对具有控制焦点的输出图像与不具有控制焦点的输出图像区别标识,并将区别标识的、对应各视频流的输出图像分别从不同的输出端口输出给显示设备;显示设备分别以区别标识显示各输出图像。例如:以高亮度或闪烁状态标识具有控制焦点的输出图像,用户从显示设备上可以看到具有控制焦点的输出图像处于高亮度或闪烁状态。
通过对播放器的进程/线程ID、OSD的进程/线程ID、浏览器的进程/线程ID、显示芯片的输出端口ID与视频流ID之间进行绑定,焦点位置控制模块可以根据用户设置向用户选中的输出端口ID对应的播放器的进程/线程、OSD的进程/线程与浏览器的进程/线程发送获取控制焦点命令,向播放器、OSD与浏览器的其它进程/线程发送释放控制焦点命令,从而实现控制焦点位置的切换,将控制焦点切换到不同的视频输出,实现对不同的视频输出的分别控制。
在用户通过控制面板进行控制焦点位置切换后,如果机顶盒中的某些应用模块不支持多进程/线程工作模式,只能以单进程/线程运行,则该应用模块只会对被选中的视频流进行相应处理,而不会对未选中的视频流进行相应处理。例如:OSD或者机顶盒内一些播放内置视频画面(该内置视频画面不经过OSD、播放器与浏览器就可以显示)的应用程序只能以单进程/线程运行,这些应用程序将首先在操作系统内登记为只能以单进程模式运行。以OSD为例,如果用户通过控制面板,例如:遥控器或机顶盒面板,调节音量并直接请求OSD显示音量调节提示信息,由于操作系统、主控芯片与显示芯片已经获得了被用户选中的输出端口ID,此时操作系统、主控芯片与显示芯片将只向被用户选中的输出端口ID对应的视频流上叠加显示音量调节提示信息,并且根据用户操作进行相应的音量调节。未被选中的输出端口ID对应的视频流对应的输出则不会受到影响,既不会在相应输出端口连接的显示设备上显示音量调节提示信息,也不会进行音量调节。
可以通过菜单方式与轮转方式在不同视频流之间切换控制焦点。
其中,通过菜单方式在不同视频流之间切换控制焦点时,用户通过控制面板向焦点位置控制模块发送切换控制焦点位置的命令。焦点位置控制模块指示操作系统、主控芯片、显示芯片在所有视频流中增加预先生成的提示菜单数据,这样,在显示芯片各输出端口连接的显示设备上显示该提示菜单。其中,提示菜单的内容可以包括标识显示芯片上各输出端口的输出端口ID与标识所有输出端口的条目。用户可以根据预先设定,通过控制面板上的上、下、左、右键或数字键,选择控制焦点的目标位置,即:使控制焦点位于相应输出端口输出的输出图像上,并通过控制面板上的确定键向焦点位置控制模块确认该控制焦点的目标位置的确认信息。操作系统、主控芯片与显示芯片接收到用户通过控制面板发送的确认控制焦点的目标位置的确认信息后,在控制焦点的位置所在的输出图像中显示相应的输出端口ID,并且使该输出端口ID处于高亮度或闪烁状态,以使用户获知控制焦点位于该输出端口ID标识的输出端口上输出的输出图像,用户可以对该输出图像进行相应的控制,也可以同时使该输出端口ID标识的输出端口上输出的输出图像处于高亮度或闪烁状态,或对该视频图像增加特殊标识,例如:对该输出图像增加灰色底纹标识。
通过轮转方式在不同视频流之间切换控制焦点时,用户通过控制面板向焦点位置控制模块发送切换控制焦点位置的命令。焦点位置控制模块指示操作系统、主控芯片、显示芯片在用户选中的(即:具有控制焦点的)输出图像中增加用于标识该输出图像具有控制焦点的标识信息,例如:“OK”、或“选中”或
等图标或文字,并在显示设备上显示;而在未用户选中的(即:不具有控制焦点的)输出图像中增加用于标识该视频图像不具有控制焦点的标识信息,例如:“Failure”或“失效”或
等图标或文字,并在显示设备上显示。若同一个输出端口上输出的输出图像连续两次未被用户选中,操作系统、主控芯片、显示芯片第二次在未用户选中的输出图像中增加用于标识该输出图像不具有控制焦点的标识信息并通过显示设备显示时,可以先将第一次显示的用于标识该输出图像不具有控制焦点的标识信息清除,以便用户可以获知机顶盒对用户的操作进行了相应响应。
用户通过控制面板与机顶盒进行交互时,如果用户当前操作的显示设备,例如:用户通过遥控器面对的电视机,对应的输出端口上的视频流未被选中不具备控制焦点,操作系统、主控芯片、显示芯片将在该视频图像中增加用于提示用户选择控制焦点的提示信息并在该显示设备上显示,例如:“请按焦点键以获得控制焦点”,或用于提示用户该视频流未被选中、不具有控制焦点的提示信息,例如:或
如图3所示,为本发明机顶盒的一个实施例的结构示意图,该实施例的机顶盒可以实现如本发明上述图1所示实施例的视频输出控制方法。本发明实施例的机顶盒包括操作系统、主控芯片与显示芯片,操作系统包括:浏览器、OSD与播放器。其中,浏览器用于接收播放请求,指示播放器播放根据视频数据生成的视频图像,或根据获取的图文数据显示文字、图片等静态图像;操作系统、主控芯片与显示芯片还用于为对应同一视频流的所有输出图像分配显示芯片上的一个输出端口,并将对应同一视频流的输出图像从同一个输出端口输出给显示设备,其中的输出图像包括视频图像和/或文字、图片等静态图像。
如图4所示,为本发明机顶盒的另一个实施例的结构示意图。该实施例的机顶盒可以实现如本发明上述图2所示实施例的视频输出控制方法。其在图3所示实施例的基础上,还包括焦点位置控制模块,用于接收控制焦点位置切换命令,该控制焦点位置切换命令中包括控制焦点切换到的目标输出端口信息,该目标输出端口信息可以是目标输出端口ID,也可以是目标输出端口与当前控制焦点所在的当前输出端口的关系信息,以及根据处理同一视频流的播放器的进程/线程ID、OSD的进程/线程ID、浏览器的进程/线程ID、显示芯片的输出端口ID与标识所述视频流的视频流ID之间的绑定关系,向与目标输出端口ID对应的播放器的进程/线程、OSD的进程/线程与浏览器的进程/线程发送获取控制焦点命令,向播放器、OSD与浏览器的其它进程/线程发送释放控制焦点命令。
进一步地,在图3或图4所示实施例的机顶盒中,还可以设置存储模块,用于存储处理同一视频流的播放器的进程/线程ID、OSD的进程/线程ID、浏览器的进程/线程ID、显示芯片的输出端口ID与标识所述视频流的视频流ID之间的绑定关系。以供操作系统、主控芯片与显示芯片进行视频输出使用,以及供焦点位置控制模块进行焦点位置切换使用。如图5所示,为本发明机顶盒的又一个实施例的结构示意图。具体地,该存储模块可以是机顶盒内存中的一个存储空间。
本发明实施例提供的机顶盒及其视频输出控制方法,可以通过同一个机顶盒上的不同输出端口同时输出不同的视频流,使用户可以同时观看机顶盒上的不同视频内容,并且可以实现控制焦点位置的切换,将控制焦点切换到不同的视频输出,实现对不同的视频输出的分别控制。
最后所应说明的是:以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。