本发明涉及电视技术领域,尤其涉及一种显示设备中节目信息获取方法及显示设备。
背景技术:
目前,海外电视中安装有混合广播宽带电视(hybridbroadcastbroadbandtv,hbbtv)程序和主程序。主程序用于根据外部设备输入的指令以及电视内部产生的指令对电视播放的音视频内容进行控制。hbbtv程序用于连接到dvb广播网络接收标准广播的音视频信号,以及通过宽带接口连接到互联网接收应用服务器发送的应用程序数据和音视频信息。
但是,hbbtv程序需要获取电视节目的音频、视频、字幕等组件(component)信息,以控制电视节目的音视频播放、字幕切换等功能。因此,主程序在组件信息更新时,会将更新后的组件信息发送给hbbtv程序,以由hbbtv程序依据接收的组件信息对电视节目进行控制。
但是,在实际应用中,例如电视启动过程中,主程序先于hbbtv程序启动,这就会存在一个问题:主程序在需要向hbbtv程序发送组件信息时,hbbtv程序还未启动,这就导致hbbtv程序在电视启动时错过组件信息,无法实现对电视节目的播放控制。
技术实现要素:
本发明提供一种显示设备中节目信息获取方法及显示设备,用以在hbbtv程序晚于主程序启动的前提下,也能通过hbbtv程序实现对电视节目的控制。
第一方面,提供一种显示设备中节目信息获取方法,该方法包括:
主程序启动hbbtv程序;
当确定所述hbbtv程序为第一次启动时,向所述主程序发送节目信息请求;
以及,所述hbbtv程序接收所述主程序返回的节目信息;所述节目信息为所述主程序从码流中读取并保存的;所述节目信息至少包括以下之一:音频组件信息、视频组件信息、字幕组件信息。
第二方面,提供一种显示设备,包括:
显示器;
用户接口;
控制器,用于执行:
通过主程序启动hbbtv程序;
当确定所述hbbtv程序为第一次启动时,向所述主程序发送节目信息请求;
以及,通过所述hbbtv程序接收所述主程序返回的节目信息;所述节目信息为所述主程序从码流中读取并保存的;所述节目信息至少包括以下之一:音频组件信息、视频组件信息、字幕组件信息。
在上述实施例中,当hbbtv程序启动后,可以主动的向主程序发送节目信息请求以请求节目信息,以实现在hbbtv程序晚于主程序启动的前提下,也能通过hbbtv程序实现对电视节目的控制。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a中示例性示出了显示设备与控制装置之间操作场景的示意图;
图1b中示例性示出了图1a中控制装置100的配置框图;
图1c中示例性示出了图1a中显示设备200的配置框图;
图1d中示例性示出了显示设备200存储器中操作系统的架构配置框图;
图2中示例性示出了本发明实施例提供的hbbtv程序自启动配置界面的示意图;
图3中示例性示出了本发明实施例提供的显示设备中节目信息获取方法的流程图;
图4中示例性示出了步骤102的实现流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例所提供的显示设备中节目信息获取方法可应用于显示设备。用户可通过操作用于控制显示设备的控制装置,以控制显示设备执行本发明实施例所提供的显示设备中节目信息获取方法。
图1a中示例性示出了显示设备与控制装置之间操作场景的示意图。如图1a所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。
其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
控制装置100可以是遥控器100a,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
控制装置100也可以是智能设备,如移动终端100b、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(ui)为用户提供各种控制。
示例性的,移动终端100b可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100b与显示设备200建立控制指令协议,通过操作移动终端100b上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100a布置的实体按键的功能。也可以将移动终端100b上显示的音视频内容传输到显示设备200上,实现同步显示功能。
显示设备200可提供广播接收功能和计算机支持功能的网络电视功能。显示设备可以实施为,数字电视、网络电视、互联网协议电视(iptv)等。
显示设备200,可以是液晶显示器、有机发光显示器、投影设备。具体显示设备类型、尺寸大小和分辨率等不作限定。
显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子电视节目指南(epg)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
图1b中示例性示出了控制装置100的配置框图。如图1b所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。
控制器110包括随机存取存储器(ram)111、只读存储器(rom)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。
示例性的,当检测到用户按压在遥控器100a上布置的按键的交互或触摸在遥控器100a上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。
存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。
通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。
输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150可以包括led接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。例如,遥控器100a可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。
供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。形式可以为电池及相关控制电路。
图1c中示例性示出了显示设备200的硬件配置框图。如图1c所示,显示设备200中可以包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输出接口285、供电电源290。
调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如epg数据)。
调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。
调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。
在其他一些示例性实施例中,调谐解调器210也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240输入至显示设备200中。
通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括wifi模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为wifi信号、蓝牙信号、射频信号等。
检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括声音采集器231,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200可以自适应环境噪声。
在其他一些示例性实施例中,检测器230,还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。
在其他一些示例性实施例中,检测器230,还可以包括光接收器,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。
在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。
外部装置接口240,是提供控制器250控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如epg)等数据。
其中,外部装置接口240可以包括:高清多媒体接口(hdmi)端子241、复合视频消隐同步(cvbs)端子242、模拟或数字分量端子243、通用串行总线(usb)端子244、组件(component)端子(图中未示出)、红绿蓝(rgb)端子(图中未示出)等任一个或多个。
控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作系统和各种应用程序),来控制显示设备200的工作和响应用户的操作。例如,控制器可实现为芯片(system-on-a-chip,soc)。
如图1c所示,控制器250包括随机存取存储器(ram)251、只读存储器(rom)252、图形处理器253、cpu处理器254、通信接口255、以及通信总线256。其中,ram251、rom252以及图形处理器253、cpu处理器254通信接口255通过通信总线256相连接。
rom252,用于存储各种系统启动指令。如在接收到开机信号时,显示设备200电源开始启动,cpu处理器254运行rom252中的系统启动指令,将存储在存储器260的操作系统拷贝至ram251中,以开始运行启动操作系统。当操作系统启动完成后,cpu处理器254再将存储器260中各种应用程序拷贝至ram251中,然后,开始运行启动各种应用程序。
图形处理器253,用于产生各种图形对象,如图标、操作菜单、以及用户输入指令显示图形等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。
cpu处理器254,用于执行存储在存储器260中的操作系统和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,cpu处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。
通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。
控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的gui对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。例如,控制器可实现为soc(systemonchip,,系统级芯片)或者mcu(microcontrolunit,微控制单元)。
其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与对象相对应的程序的操作。该用于选择gui对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的ram251和rom252、或显示设备200中的存储卡。
在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种gui、与gui相关的各种对象及用于选择gui对象的选择器的视觉效果图像等数据。
在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280等的驱动程序和相关数据,例如从外部装置接口接收的外部数据(例如音视频数据)或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。
在一些实施例中,存储器260具体存储用于表示操作系统(os)的软件和/或程序,这些软件和/或程序可包括,例如:内核、中间件、应用编程接口(api)和/或应用程序。示例性的,内核可控制或管理系统资源,以及其它程序所实施的功能(如所述中间件、api或应用程序);同时,内核可以提供接口,以允许中间件、api或应用程序访问控制器,以实现控制或管理系统资源。
图1d中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、中间件层和内核层。
应用层,系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互。应用层可包括多个应用程序,如设置应用程序、电子帖应用程序、媒体中心应用程序等。这些应用程序可被实现为web应用,其基于webkit引擎来执行,具体可基于html5、层叠样式表(css)和javascript来开发并执行。
这里,html,全称为超文本标记语言(hypertextmarkuplanguage),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,html标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取html文档,解释文档内标签的内容,并以网页的形式显示出来。
css,全称为层叠样式表(cascadingstylesheets),是一种用来表现html文件样式的计算机语言,可以用来定义样式结构,如字体、颜色、位置等的语言。css样式可以直接存储与html网页或者单独的样式文件中,实现对网页中样式的控制。
javascript,是一种应用于web网页编程的语言,可以插入html页面并由浏览器解释执行。其中web应用的交互逻辑都是通过javascript实现。javascript可以通过浏览器,封装javascript扩展接口,实现与内核层的通信,
中间件层,可以提供一些标准化的接口,以支持各种环境和系统的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(mheg),还可以实现为与外部设备通信相关的中间件的dlna中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。
内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于linux操作系统的内核。
内核层也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为wifi模块提供wifi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(pm)模块提供电源管理驱动等。
用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100a可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100a可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器275上显示的图形用户界面(gui)输入用户命令,则用户接口265通过gui接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在gui中的位置以选择不同的对象或项目的用户输入命令。
或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口265通过传感器识别出声音或手势,来接收用户输入命令。
视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。
示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60hz视频的帧率转换为120hz或240hz的帧率,通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出rgb数据信号。
显示器275,用于接收源自视频处理器270输入的图像信号,进行显示视频内容、图像以及菜单操控界面。显示视频内容,可以来自调谐解调器210接收的广播信号中的视频内容,也可以来自通信器220或外部装置接口240输入的视频内容。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面ui。
以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。
示例性的,音频处理器280可以支持各种音频格式。例如mpeg-2、mpeg-4、高级音频编码(aac)、高效aac(he-aac)等格式。
音频输出接口285,用于在控制器250的控制下接收音频处理器280输出的音频信号,音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如耳机输出端子。
在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。
供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。
此外,上述显示设备中可安装有hbbtv程序和主程序。对于hbbtv程序而言,可根据实际情况为其设置启动方式。例如,显示设备200可在其上显示hbbtv程序启动配置界面,使得用户可以通过该配置界面配置hbbtv程序在显示设备200开机时是否自动启动。
显示设备200可响应于用户通过控制装置100,例如遥控器100a输入的hbbtv程序配置请求,在显示器275上显示如图2所示的hbbtv程序自启动配置界面。如图2所示,该配置界面包括配置开关41。显示设备200可响应用户输入,配置该配置开关41开或者关。例如,用户可通过按压控制装置100的左右方向键,使显示设备200响应于用户输入配置该配置开关41开或关。
具体地,当该配置开关41被配置为关时,显示设备200开机时不自动启动hbbtv程序,而在用户主动启动时才启动。当该配置开关41被配置为开时,显示设备200开机时自动启动hbbtv程序。
需要说明的是,当hbbtv程序被配置为在显示设备开机时自启动时,除运行故障等异常情况外,该hbbtv程序在显示设备运行过程中通常不会被关闭并再次启动。
在以下实施例中,若未明确说明,均以显示设备开机时自启动hbbtv程序为例进行说明。
在一些实施例中,如上述的显示设备在启动时,通常是主程序先于hbbtv程序启动。这就会存在以下技术问题:当主程序启动并将获取到的组件信息向hbbtv程序发送时,若hbbtv程序还未启动,则会导致hbbtv程序在显示设备启动时错过由主程序发送的组件信息,进而导致无法通过hbbtv程序对电视节目进行控制。
作为一个实施例,可采用如下解决方式解决上述技术问题:通过切换频道来切换电视节目或等待当前电视节目播放完毕自动切换电视节目时生成新的组件信息,以使主程序获得新的组件信息并向hbbtv程序发送,由hbbtv程序依据收到的该新的组件信息对电视节目进行控制。但这种解决方式,操作繁琐。
为此,本实施例提供一种如图3所示的显示设备中节目信息获取方法,以实现在hbbtv程序晚于主程序启动的前提下,避免hbbtv程序错过组件信息。其无需切换频道,也不需要等待当前电视节目播放完毕。下面结合图3所示内容,对本实施例进行说明。
参见图3,图3为本发明实施例提供的显示设备中节目信息获取方法的流程图。该流程应用于如上所述的显示设备。
如图3所示,该流程可包括以下步骤:
步骤101,主程序启动hbbtv程序。
作为一个示例,主程序和hbbtv程序可以被预先安装在显示设备中。其中,主程序用于根据外部设备输入的指令以及电视内部产生的指令对电视播放的音视频内容进行控制。hbbtv程序用于连接到dvb广播网络接收标准广播的音视频信号,以及通过宽带接口连接到互联网接收应用服务器发送的应用程序数据和音视频信息。
作为一个示例,在显示设备启动的过程中,主程序会先启动,并在完成启动后控制hbbtv程序启动。
步骤102,当确定所述hbbtv程序为第一次启动时,向所述主程序发送节目信息请求。
作为一个示例,如前述的在显示设备开机后,hbbtv程序会晚于主程序启动,所以hbbtv程序可能会错过由主程序发送的组件信息。因此,可以在确定hbbtv程序为显示设备开机后的第一次启动时,通过所述hbbtv程序向所述主程序发送节目信息请求,以请求至少包含音频组件信息、视频组件信息和字幕组件信息之一的节目信息。
作为一个示例,确定hbbtv程序是否为第一次启动,有多种实现方式。图4示例性示出了其中一种实现方式,在下文会详细描述,这里暂不赘述。
作为一个示例,节目信息请求可以仅用于请求包括当前所播放电视节目的组件信息的节目信息,而无需请求包含其他电视节目的组件信息的节目信息。其原因如下:对于hbbtv程序依据组件信息来控制电视节目这一过程而言,hbbtv程序需要依据的是当前所播放电视节目的组件信息,进而对当前所播放电视节目进行控制。因此,若hbbtv程序所获得的组件信息并不是当前所播放电视节目的组件信息,则会导致hbbtv程序无法实现对当前所播放电视节目进行控制。基于此,可知除当前所播放电视节目的组件信息外,hbbtv程序并不需要获取其他的组件信息。因此,为了避免hbbtv程序获取到无用的组件信息,可以将节目信息请求设置为仅用于请求包括当前所播放电视节目的组件信息的节目信息。
作为一个示例,为了避免如系统卡顿、消息传输过程出错等异常问题,进而导致节目信息请求不能成功的发送至主程序。在本步骤中,可以设置在指定时间间隔下连续发送n次节目信息请求,以保证节目信息请求的传输过程能够尽可能的不被上述异常问题所影响。这里的指定时间间隔可以根据实际情况设定,本发明并不对其进行具体限定,例如设置为1秒或2秒等。同样的,这里n可以是大于0的正整数,其具体取值可以根据实际情况设定,本发明并不对其进行具体限定,例如设置n为2或3等。
作为一个示例,节目信息可以包括电视节目的视频组件信息、音频组件信息和字幕组件信息中的至少一种。其中,视频组件信息可以是电视节目的画面比例,如4:3、16:9等、或是电视节目的视频格式,如flv、mp4等、或是电视节目的清晰度,如720p、1080p等、或是电视节目的视频帧数,如30帧/秒或60帧/秒等。其中,音频组件信息可以是所播放电视节目的音频比特率,如16比特、20比特或24比特等、或是当前播放电视节目的音频语言,如中文或英文等。其中,字幕组件信息可以是所播放电视节目的字幕的播放速度、字幕的语言、字幕的格式等信息。
需要说明的是,节目信息请求所请求的节目信息的具体内容,可以根据实际情况决定,本发明并不对其进行具体限定。例如,若hbbtv程序仅用于对电视节目的字幕语言进行切换,那么该hbbtv程序则可仅请求字幕组件信息即可,而无需请求其他组件信息。
步骤103,所述hbbtv程序接收所述主程序返回的节目信息;所述节目信息为所述主程序从码流中读取并保存的。
作为一个示例,主程序获得节目信息可以有多种实现方式。
作为其中一种实现方式,可以在显示设备播放开机后的首个电视节目时,通过所述主程序从电视码流中获得该首个电视节目的节目信息。
举例来说,若显示设备在开机后播放首个电视节目为a频道的电视节目1,则主程序会从当前的电视码流中解析出该电视节目1的节目信息。
作为另一种实现方式,在显示设备所播放的电视节目发生切换时,主程序可以从电视码流中获得该切换后所播放电视节目的节目信息。
举例来说,假设显示设备在当前所播放的电视节目为a频道的电视节目1,若接收到控制装置发送的用于指示切换频道的指令,则显示设备可以响应于该指令将当前所播放的电视节目切换至b频道的电视节目2。由于显示设备所播放的电视节目发生了变化,便可相应的确定节目信息已发生变化,进而触发主程序获取节目信息的操作,以使主程序从当前的电视码流中获得对应于b频道的电视节目2的节目信息。
需要说明的是,在主程序已获得当前播放电视节目的节目信息后,若所播放的电视节目未发生变化,主程序不会重复的获取该电视节目的节目信息。
作为一个示例,主程序获得首个节目信息并进行保存的时机,根据显示设备在开机后是否自动播放电视节目有所不同。若显示设备在开机后会自动的播放电视节目,则主程序在启动后便会获得首个节目信息并进行保存。若显示设备在开机后不会自动的播放电视节目,则需等待显示设备接收到控制装置发送的用于指示播放电视节目的播放指令,并响应于该指令以播放电视节目时,主程序才能够获得首个节目信息并进行保存。
也就是说,若显示设备在开机后不会自动的播放电视节目,则会导致显示设备开机后直至播放电视节目这一时段内,主程序既不会获得节目信息,也不会保存节目信息。
基于前述的显示设备开机后是否自动播放电视节目的不同,hbbtv程序从主程序获得首个节目信息的方式也有所不同。作为其中一种实现方式,若显示设备在开机后不会自动的播放电视节目,则会在显示设备开机后直至播放电视节目这一时段内,没有被保存的节目信息。在此时,如果接收到hbbtv程序发送的节目信息请求,由于当前还未播放电视节目,也未保存任何的节目信息,因此主程序则不会对该节目信息请求做出响应,即不向该hbbtv程序发送节目信息。相应的,hbbtv程序若想获得主程序发送的首个节目信息,则需要等待显示设备再次播放电视节目时。作为另一种实现方式,若显示设备在开机后便会自动的播放电视节目,则主程序在启动后便会获得节目信息并保存,进而在接收到节目信息请求时,向hbbtv程序发送节目信息。
作为一个示例,主程序所获得节目信息可以被保存在显示设备的内存中。由于在hbbtv程序启动过程中,显示设备可能会响应于频道切换指令多次的切换频道使所播放电视节目发生多次切换、或是显示设备未切换频道,但该频道的电视节目由于播放完毕自动发生了切换,均会使主程序从电视码流中解析出多个节目信息并进行保存。基于此,需要对内存中保存的各节目信息进行管理,以在内存中确定出对应于当前所播放电视节目的节目信息。作为其中一种实现方式,可以为节目信息分配相应的编号,以用于表示各节目信息的备份顺序,其中最后一次备份的节目信息便是对应于当前所播放电视节目的节目信息。作为另一种实现方式,可以采用存储地址来表示各节目信息的备份顺序,例如存储地址最大的节目信息便是对应于当前所播放电视节目的节目信息。通过上述方式,即可在内存中所备份的多个节目信息中,确定出对应于当前播放电视节目的节目信息。
作为一个示例,hbbtv程序具体依据节目信息对电视节目进行何种控制,其可以根据实际情况决定,在申请并不对其进行限定。例如,若hbbtv程序仅用于对电视节目的字幕播放速度进行调节,那么该hbbtv程序则可以依据字幕组件信息对字幕播放速度进行调节。若hbbtv程序用于对电视节目的清晰度进行切换,那么该hbbtv程序则可以依据视频组件信息对电视节目的清晰度进行切换。
至此,完成图3所示流程。
通过图3所示流程,能够在hbbtv程序晚于主程序启动的前提下,避免hbbtv程序错过组件信息。其无需切换频道,也不需要等待当前电视节目播放完毕,即可通过hbbtv程序实现对电视节目的控制。
下面结合图4所示内容,对步骤102中如何确定hbbtv程序为第一次启动进行说明。参见图4所示流程,可以包括以下步骤:
步骤1021,检查与hbbtv程序关联的标志位的当前值。
作为一个示例,由于hbbtv程序在第一次启动后,便能够顺利的接收到主程序发送的组件信息,因此hbbtv程序仅需主动的发送节目信息请求以请求错过的当前所播放电视节目的节目信息即可,之后则无需再主动发送节目信息请求以请求那些不会错过的节目信息。
基于此,可以通过设置与hbbtv程序关联的标志位的方式,以对hbbtv程序是否需要发送节目信息请求进行管理。具体的,可以为该标志位设置用于指示hbbtv程序为第一次启动的第一值,以及用于指示非第一次启动的的第二值,进而通过检查标志位的当前值,即可确定是否为第一次启动。在具体实现时,第一值和第二值的取值可以根据实际情况设定,本发明并不对其进行限定,例如设第一值为0、第二值为1。
作为一个示例,与hbbtv程序关联的标志位可以被设置在内存中。在显示设备每次开机后,该标志位的值均会被设置为第一值,以指示hbbtv程序为第一次启动。
步骤1022,若所述当前值为第一值,则确定所述hbbtv程序为第一次启动。
作为一个示例,若检查出与hbbtv程序关联的标志位在当前为第一值,则可确定hbbtv程序为第一次启动,便可进一步的通过hbbtv程序向主程序发送节目信息请求,以请求当前所播放电视节目的节目信息。
步骤1023,在hbbtv程序向主程序发送节目信息请求后,将标志位的当前值由第一值修改为第二值,第二值用于指示非第一次启动。
作为一个示例,为了避免hbbtv程序不停地向主程序发送节目信息请求,在hbbtv程序向主程序发送节目信息请求后,可以将标志位的当前值修改为用于指示非第一次启动的第二值,以使hbbtv程序不再向主程序发送节目信息请求。
步骤1024,若当前值为第二值,则所述hbbtv程序等待所述主程序向其发送节目信息。
作为一个示例,若检查出与hbbtv程序关联的标志位在当前为第二值,则表示hbbtv程序已经向主程序发送过节目信息请求,便无需再次向主程序发送节目信息请求,而是等待主程序在获得节目信息后向其发送即可。
至此,完成图4所示流程。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
1.一种显示设备中节目信息获取方法,其特征在于,该方法包括:
主程序启动hbbtv程序;
当确定所述hbbtv程序为第一次启动时,向所述主程序发送节目信息请求;
以及,所述hbbtv程序接收所述主程序返回的节目信息;所述节目信息为所述主程序从码流中读取并保存的;所述节目信息至少包括以下之一:音频组件信息、视频组件信息、字幕组件信息。
2.根据权利要求1所述的方法,其特征在于,所述确定hbbtv程序为第一次启动通过以下方式实现:
检查与所述hbbtv程序关联的标志位的当前值;
若所述当前值为用于指示第一次启动的第一值,则确定所述hbbtv程序为第一次启动;
在所述向主程序发送节目信息请求后,该方法进一步包括:
将所述标志位的当前值由第一值修改为第二值,所述第二值用于指示非第一次启动。
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括:当确定节目信息发生变化时,所述主程序从码流中获取变化后的节目信息,并发送至所述hbbtv程序。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:所述hbbtv程序根据所述节目信息控制节目的播放。
5.一种显示设备,其特征在于,包括:
显示器;
用户接口;
控制器,用于执行:
通过主程序启动hbbtv程序;
当确定所述hbbtv程序为第一次启动时,向所述主程序发送节目信息请求;
以及,通过所述hbbtv程序接收所述主程序返回的节目信息;所述节目信息为所述主程序从码流中读取并保存的;所述节目信息至少包括以下之一:音频组件信息、视频组件信息、字幕组件信息。
6.根据权利要求5所述的显示设备,其特征在于,所述确定hbbtv程序为第一次启动通过以下方式实现:
检查与所述hbbtv程序关联的标志位的当前值;
若所述当前值为用于指示第一次启动的第一值,则确定所述hbbtv程序为第一次启动;
在所述向主程序发送节目信息请求后,将所述标志位的当前值由第一值修改为第二值,所述第二值用于指示非第一次启动。
7.根据权利要求5所述的显示设备,其特征在于,所述控制器还用于执行:
当确定节目信息发生变化时,通过所述主程序从码流中获取变化后的节目信息,并发送至所述hbbtv程序。
8.根据权利要求5所述的显示设备,其特征在于,所述控制器还用于执行:通过所述hbbtv程序根据所述节目信息控制节目的播放。
技术总结