基于软件实现机顶盒功能的方法 技术领域 本发明涉及通用图像数据处理,特别是涉及基于软件方式实现互联网机顶盒功能的技术。
背景技术 根据接收信号的不同,机顶盒主要分为两类,第一类是接收处理电视信号的机顶盒,常用于数字电视领域;第二类是接收处理互联网数据的机顶盒,简称为互联网机顶盒,用于通过电视机观看互联网的影视节目、玩游戏、浏览信息等。本发明主要涉及第二类的互联网机顶盒。传统的互联网机顶盒基于独立的硬件和专用软件实现,价格高,一般在1000元人民币以上,业务功能强的机顶盒价格接近2000元人民币。在传统机顶盒上扩展新的业务功能时,例如支持层出不穷的新影音编码格式、支持在线游戏,或者通过机顶盒提供视频电话功能时,需要扩展机顶盒硬件模块,同时配合开发软件功能,复杂程度高,开发周期长。
发明内容 本发明要解决的技术问题在于避免上述现有技术的不足之处而提出一种基于软件实现传统互联网机顶盒功能的方法,利用用户已有的电脑资源,以很低的成本实现互联网机顶盒的功能,并可以方便地扩展新的业务功能,用户使用非常方便。
本发明解决所述技术问题可以通过采用以下技术方案来实现:
提出一种基于软件实现机顶盒功能的方法,包括有服务器、用户端电脑以及电视机,包括以下步骤,
①所述用户端电脑通过互联网访问服务器,通过用户端电脑内安装的应用软件从所述服务器获取节目内容;
②用户根据电视机上界面菜单,利用电脑遥控器将按键命令发送至控制器;
③所述控制器把接收到的遥控器按键命令发送到所述用户端电脑中;
④所述用户端电脑的应用软件响应所述遥控器按键命令,执行如下操作:通过互联网从所述服务器获取服务内容;或者调用所述用户端电脑中地服务内容模块,在所述用户端电脑支持电视视频信号输出或者电视机支持电脑视频信号输入的情况下,将图像界面输出与该用户端电脑有直接通信连接的所述电视机上,提供给用户观看;在所述用户端电脑不支持电视视频信号输出并且电视机不支持电脑视频信号输入的情况下,将视频图像通过视频转换器输出在所述电视机上,提供给用户观看。
将用户标识码保存在所述控制器中,在服务端提供鉴别权限和计费。
所述用户端电脑采用多任务和多画面显示软件机制。
同现有技术相比较,本发明的技术效果在于:利用已有电脑提供的通信、存储和处理能力资源,基于电脑软件实现机顶盒功能,用户使用简便;无需机顶盒硬件平台,成本大大降低;可以方便扩展业务功能。本发明不但可以应用于互联网中,也可应用于类似网络中。
【附图说明】
图1是用户端电脑支持电视视频信号输出或者电视机支持电脑视频信号输入的情况下,本发明方法所使用硬件的连接示意图;
图2是在所述用户端电脑不支持电视视频信号输出并且电视机不支持电脑视频信号输入的情况下,本发明所使用硬件的连接示意图;
图3是用户端电脑应用软件和服务端软件的模块方框示意图,图3-1是服务端软件的模块方框示意图,图3-2是用户端电脑应用软件的模块方框示意图;
图4是用户端电脑应用软件流程和调用服务器软件流程图;
图5是用户端电脑应用软件界面示意图;
图6是控制器电路原理图;
图7是控制器软件流程图,图7-1是控制器软件主程序流程示意图;图7-2是所述控制器向用户端电脑串口发送单字节的函数流程示意图;图7-3是遥控器按键中断响应的流程示意图。
具体实施方式 以下结合附图所示之最佳实施例作进一步详述。
如图1所示,用户端电脑2支持电视视频信号输出,通过视音频线缆6与电视机5连接(其中视频线缆可以是S端子视频线,也可以是AV端子视频线);控制器3通过线缆7连接到用户端电脑2的串口,或者可以连接到USB口,或者连接到PS/2口;遥控器4通过无线方式发送按键命令到控制器3,可以是红外方式,也可以是超短波方式。
为了防止干扰,该遥控器4与电视遥控器的编码不同。遥控器4在市场上已经有成熟产品,这里不再详述其实现方案。
图2是本发明在用户端电脑不支持电视视频信号输出并且电视机不支持电脑视频信号输入情况下的方案示意图。用户端电脑2不支持电视视频信号输出,其输出的电脑视频信号通过线缆9输出到视频转换器8上,视频转换器8把电脑视频信号转换为标准的PAL、NTSC或SECAM电视信号,通过视音频线缆6输出到电视机5上;控制器3通过线缆10为视频转换器8提供电源,并控制电视图像的尺寸、位置调整;控制器3通过线缆7连接到用户端电脑2的串口,或者可以连接到USB口,或者连接到PS/2口。所述控制器3和视频转换器8在物理上可为一体,也可作为板卡插入到所述哟用户端电脑中使用。
视频转换器8在市场上已经有成熟的产品,这里不再详述其实现方案。
为了布线方便,可以用无线射频方式更换视音频线缆6传送视音频信号。市场上已经有成熟的无线传送视音频信号的产品,这里不再详述其实现方案。
在实现收费节目运营中,用户访问收费节目需要使用一个唯一的用户标识码作为鉴别用户权限和计费的依据。现有的用户标识码输入方式是用户通过遥控器按键输入,对于收费节目需要用户经常输入,操作很不方便。本发明把用户标识码数据保存在控制器3中,用户端电脑2从控制器3上直接读取用户标识码,发送到服务器1,用来作为鉴别用户权限和计费的依据。
在用户端电脑中,采用多任务和多画面显示软件机制,实现电脑显示器和电视机不同画面输出,使得用户使用软件机顶盒观看电视机的同时,还可以利用电脑进行其它工作。目前市场上一些电脑操作系统已经支持多任务、多显示器输出不同画面技术,下面不再详述其实现方案。
如图3-1所示,服务端软件11包括界面服务模块111、服务端业务功能模块112和用户数据库模块113;界面服务模块111以网页的方式提供用户端界面;服务端业务功能模块112包括但不限于影音服务模块、视频电话服务模块、游戏服务模块、视频邮件服务模块等,视频电话服务模块提供对用户端视频电话模块的管理,包括用户端电脑IP地址与视频电话号码的解析;游戏服务模块提供对用户端游戏模块的管理;用户数据库模块113提供对用户标识的权限、计费等信息的管理,接收用户端电脑2发送的用户标识,根据用户标识查找相应权限,允许或者禁止用户使用各种服务,在用户使用收费内容时进行计费。
如图3-2所示,所述用户端电脑2的应用软件12包括主控模块122、控制命令模块124、用户端业务功能模块123、界面模块121以及接口模块125。该接口模块125包括但不限于USB接口模块、PS/2接口模块或RS232接口模块,USB接口模块负责处理通过USB口连接的控制器3的上报数据,PS/2接口模块负责处理通过PS/2口连接的控制器3的上报数据,RS232接口模块负责处理通过RS232串口连接的控制器3的上报数据;对应控制器3的接口方式,运行对应的USB接口模块、PS/2接口模块、RS232接口模块;所述用户端业务功能模块123包括但不限于影音播放模块、视频电话模块、游戏模块以及视频邮件模块等等。如图4所示,该应用软件12的工作流程以下:
用户端电脑应用软件12的主控模块122从服务器软件11获取界面,显示在电视机上;根据电视机界面提示,用户按下遥控器按键,通过控制器3发送到接口模块125,并上报给控制命令模块124;控制命令模块124解析遥控命令,上报给主控模块122;主控模块122根据遥控命令执行相应动作,调用影音播放模块、视频电话模块、游戏模块或者视频邮件模块,并把界面显示到电视机上,供用户观看。
在扩展业务功能时,只需要遵循主控模块122的接口调用方式,在用户端电脑应用软件中增加用户端业务功能模块,同时在服务端增加相应服务模块即可,非常灵活方便。
图5是用户端电脑应用软件界面示意图。界面以HTML和JavaScript设计,以全屏方式显示在电视机上,字体效果适合电视机显示。影片试播窗口循环播放指定的节目片断。在遥控器上按“1”,即播放热门影片A;在遥控器上按“2”,即播放热门影片B;在遥控器上按“7”,进入影视节目分类界面,查找指定的影视节目,选择观看,则在电视机上以全屏方式播放;在遥控器上按“8”,进入在线游戏;在遥控器上按“9”,进入歌曲分类界面,查找并播放指定的歌曲;在遥控器上按“0”,播放当前新闻。
图6是控制器电路原理图。控制器3以RS232与用户端电脑2连接,通过窃电电路从用户端电脑串口获取5V电源。电路以8位单片机EM78P156为中心控制模块,以软件方式实现串口通信,一个I/O管脚向用户端电脑串口发送数据,一个I/O管脚接收来自用户端电脑的串行数据。单片机中断口监测来自遥控器的信号。当用户按下遥控器按键时,控制器3的红外接收模块解码后,触发单片机中断,单片机读入按键命令码流,发送给用户端电脑2。
当采用无线射频遥控器时,只需把红外接收模块更换为无线射频接收模块。
控制器软件流程如图7所示,遥控器4和控制器3采用RC5编解码方式,每次遥控器按键对应码流包括四部分:1.5位起始码,1位控制位,5位地址码,6位命令码;每位的宽度为1.778ms,在图7中称为1个遥控码周期。控制器3通过串口与用户端电脑2连接,以RS232异步串行方式进行通信,传输速率为1200bps,1位起始位,8位数据位,无奇偶校验位,1位停止位;每位的宽度为0.833ms,在图7中称为1个串口周期;当调整传输速率时,只需调整串口周期时间常量即可。
控制器软件主程序流程如图7-1所示,控制器软件在初始化后,首先向用户端电脑2发送用户标识,作为计费依据;之后进入空指令循环,等待遥控器按键触发中断。
控制器向用户端电脑串口发送单字节的函数流程如图7-2所示,控制器以RS232异步串行通信协议向用户端电脑3发送数据,定义为串口发送函数,供其它模块调用。在函数被调用时,首先发送起始位,在单片机发送管脚输出低电平,并延迟1个串口周期;之后依次发送8位数据位;发送1个停止位和1个空闲位,即高电平保持2个串口周期。
遥控器按键中断响应的流程如图7-3所示,控制器软件响应遥控器按键中断处理中,主要是接收并解码来自遥控器的RC5码流,获取5位地址位和6位命令位,调用串口发送函数向用户端电脑发送。中断响应模块详细流程如下:首先跳过2.5个遥控码周期的起始位和控制位,再延时0.25个遥控码周期(即共延时2.75个遥控码周期),到达第一个地址位的1/4时间点进行采样,读取第一个地址位,之后每次延时1个遥控码周期,依次读取5个地址码和6个命令码,地址码和命令码分别保存在两个字节中,高位以0填充;最后调用串口发送函数按RS232串口异步通信协议向用户端电脑发送两个字节。