CN100377568C - 机顶盒epg应用移植开发接口*** - Google Patents
机顶盒epg应用移植开发接口*** Download PDFInfo
- Publication number
- CN100377568C CN100377568C CNB2005101125382A CN200510112538A CN100377568C CN 100377568 C CN100377568 C CN 100377568C CN B2005101125382 A CNB2005101125382 A CN B2005101125382A CN 200510112538 A CN200510112538 A CN 200510112538A CN 100377568 C CN100377568 C CN 100377568C
- Authority
- CN
- China
- Prior art keywords
- interface
- top box
- epg
- standard
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数字电视机顶盒EPG应用移植开发接口***,特别是数字电视终端的一种较方便的针对不同机顶盒平台作通用移植开发的接口设计。本发明含有芯片操作***(OS)、显示(OSD)、表解析(Demux)、存储(Store)、频道(Channel)、杂项设置(Others)等6部分具体的标准接口以及硬件驱动模块和芯片操作***,所述的标准接口是对与之相对应的硬件驱动模块和芯片操作***逐一描述的标准函数,它是根据目前的基本型EPG应用的功能需求,以及考虑到底层硬件驱动模块和操作***接口的可行性,设计的一套标准函数;它采用了一种公共接口移植的方式,将底层硬件驱动模块和芯片操作***函数按照所定义的标准接口用较小的代价进行统一的封装,形成机顶盒EPG应用移植开发接口***。
Description
技术领域
本发明涉及数字电视机顶盒的应用移植开发的接口设计方案,特别是数字电视终端的一种较方便的针对不同机顶盒平台作通用移植开发的接口设计,即一种机顶盒EPG应用移植开发接口***。
背景技术
基于数字电视的推广,相应的数字电视机顶盒(Set Table Box,STB)就变成了一个必不可少的工具。电子节目指南(EPG,Electronic Program Guide)正是为了方便数字电视用户对数字电视的节目频道信息的获取浏览而制作的运行于数字电视机顶盒上的应用程序,它通过电视屏幕向用户提供由文字、图形、图像组成的人机交互界面,向用户展示电视节目信息和各种业务的导航。用户通过电子节目指南,除了能够了解到基本的频道、节目的相关信息(包括所在频道、节目长度、播放时间、内容梗概等),还能够进行相应的节目预订、到时提醒等。在这些基本的应用之外,还可以提供其他的诸如游戏、浏览器、视频点播服务等增强业务的应用等。这些应用都需要终端软件配合前端的发送来实现。
数字电视并不像电信那样有一个全国性的统一的网络,数字电视目前还是大多以各地方相对自主的开展应用,在这种情况下,机顶盒都是针对各个地方的运营网络提供其特定的软件版本才能完全符合其对应的网络运营商的服务需求。而国内外众多的机顶盒,在目前的形式下,都没有能够作为普通家电像电视机那样在商场自由购买,而是各个机顶盒厂商根据网络运营商的具体的数字电视应用模式来设计修改相应软件版本以符合其要求,然后给该运营商的用户所使用。具体来说,例如北京歌华的数字电视用户,所使用的机顶盒,如果直接拿到上海的数字电视用户那里,也许就不能够很好的使用了。作为同一个厂商,如果其机顶盒产品被多家运营商所采用的话,基本上得针对每家运营商都编译一个适合该网络的软件版本然后才能投入对方去使用,当前国内那么多机顶盒厂商,每家厂商针对每个要采用其机顶盒的网络运营商都得根据其需求设计修改其软件版本,这个烦琐程度可想而知了。
现在各机顶盒厂商大都采用两种方式实现其应用:
1.EPG应用是直接在底层硬件驱动和操作***之上的。这样基本上各个不同的机顶盒,其应用都是和底层结合在一起的,对于同一个运营商的需求来说,各家厂商各自实现其应用,而且互相之间没有任何联系和兼容所在,当运营商有前端服务有任何更改时,就得所有的厂商都全部跟进更新程序,而且基于各自的理解以及各厂商的不同的经济、技术实力,可能最后达到不同的效果,还不一定能完全符合运营商的需求。
2.采用集成中间件,应用开发都在中间件的基础上来实现的,从而可以做到应用跟底层平台的无关性。中间件提供了各种详尽的接口用于实现各种上层应用,通常由机顶盒集成了中间件之后,就可以方便的在中间件的基础上作各种应用开发了,而不用考虑机顶盒底层的硬件驱动和所用的***函数接口。
相对于1、2两种方式,前者底层和应用结合在一起,每家厂商独自设计应用,EPG应用互相移植几无可能,基本上得从头开发起;后者虽然避免了这种情况,但相对于目前国内的机顶盒消费层次来说,昂贵的中间件集成费用就显得有些得不偿失了,同时中间件由于集合种接口技术于一身所以它占用大量的内存空间,对于机顶盒有限的内存空间来说就减少了EPG应用的空间,所以目前国内实际上集成中间件并投入市场的机顶盒几乎没有。
发明内容
本发明的目的是针对上述问题而设计的一种机顶盒EPG应用移植开发接口***。
本发明含有芯片操作***(OS)、显示(OSD)、表解析(Demux)、存储(Store)、频道(Channel)、杂项设置(Others)等6部分具体的标准接口以及硬件驱动模块和芯片操作***,所述的标准接口是对与之相对应的硬件驱动模块和芯片操作***逐一描述的标准函数,它是根据目前的基本型EPG应用的功能需求,以及考虑到底层硬件驱动模块和操作***接口的可行性,设计的一套标准函数;它采用了一种公共接口移植的方式,将底层硬件驱动模块和芯片操作***函数按照所定义的标准接口用较小的代价进行统一的封装,形成机顶盒EPG应用移植开发接口***,实现一个统一的EPG应用,完成基本的EPG功能。只要EPG应用调用该标准函数,就可以做到在各种不同的机顶盒都能实现该EPG应用。
这种机顶盒EPG应用移植开发接口的具体应用方法如下:
步骤1,EPG应用通过芯片操作***(0S)接口,获取网络数字电视信号以及用户的按键值;
步骤2,EPG应用通过表解析(Demux)接口,实现对数据的搜索,包括Mpeg section表述的搜索、提取、分析;
步骤3,EPG应用通过存储(Store)接口,实现对数据的存储和调用;
步骤4,EPG应用通过显示(OSD)接口,实现将接收的EPG节目单显示在电视机屏幕上;
步骤5,EPG应用通过频道(Channel)接口,实现用户对频道的切换和搜索;
步骤6,EPG应用通过杂项设置(Others)接口:实现诸如音量、声道等其他辅助杂项事物处理。
所述的标准接口,即芯片操作***标准接口、显示标准接口、表解析标准接口、存储标准接口、频道标准接口、杂项设置标准接口,是对与之相对应的硬件驱动和芯片操作***逐一描述的标准函数。
所述的芯片操作***标准接口,含有任务处理、信号量处理、消息处理、动态内存管理、用户输入管理和时钟处理函数模块。
所述的显示标准接口,含有显示区分配、屏幕相关、像素格式相关、视频处理、绘制内存区管理、基本绘制处理、文本处理和位图处理函数模块。
所述的表解析标准接口,含有解复用及提取函数模块。
所述的存储标准接口,含有FLASH操作、非易失性随机访问存储器(NVRAM)操作函数模块。
所述的频道标准接口,含有逻辑频道函数模块。
所述的杂项设置标准接口,含有音量处理、声道设置、其它函数模块。
所述的标准函数与硬件驱动,芯片操作***进行统一的封装。
本发明的有益效果是,针对同一个运营商来说,多个厂商的机顶盒采用这种移植方案后,对于运营商的应用需求的变化,只需要我们的应用程序根据其需求作设计修改就行了,而每个厂商保持其标准接口即可。同时针对机顶盒厂商来说本发明在内存中只是增加了对标准接口函数的描述,所占内存极少,所以不用增大原有机顶盒内存,便可实现EPG应用的移植。
下面结合附图和实施例对本发明作一详细描述。
附图说明
图1为普通不带中间件的机顶盒应用模式图;
图2为带集成中间件的机顶盒应用模式图;
图3为公共接口EPG移植应用模式图;
图4机顶盒EPG应用程序状态转移图;
图5机顶盒EPG应用功能结构图;
图6芯片操作***(OS)接口函数表;
图7显示(OSD)接口函数表;
图8表解析(Demux)接口函数表;
图9存储(Store)接口函数表;
图10频道(Channel)接口函数表;
图11杂项设置(Others)接口函数表。
具体实施方式
参见图1,没有采用中间件的直接在芯片级和硬件驱动上面开发应用,其中,机顶盒硬件平台1-1,硬件驱动1-2,芯片操作***1-3,应用程序1-4。
●机顶盒硬件平台1-1指的是公知的节目信号接收装置、节目信号发送装置、遥控器信号发送接收装置以及微处理芯片和存储器等。
●硬件驱动1-2指的是机顶盒硬件平台1-1上不同装置的驱动模块。
●芯片操作***1-3指的是机顶盒硬件平台1-1上,微处理芯片的操作***。
●应用程序1-4指的是EPG应用。
EPG应用是直接在底层硬件驱动1-2和操作***1-3之上,这样基本上各个不同的机顶盒,其EPG应用程序1-4都是和底层硬件驱动1-2和操作***1-3结合在一起的。
参见图2,应用程序1-4是在中间件2-1的基础上来实现的,从而可以做到跟底层平台硬件驱动1-2和操作***1-3的无关性。中间件2-1提供了各种详尽的接口用于实现各种上层应用程序1-4的EPG应用,通常由机顶盒集成了中间件2-1之后,就可以方便的在中间件2-1的基础上作各种EPG应用程序1-4的开发了,而不用考虑机顶盒底层的硬件驱动1-2和所用的操作***1-3函数接口的变化。
采用图1、2两种方式,前者底层硬件驱动1-2、操作***1-3和EPG应用程序1-4结合在一起,每家厂商独自设计应用,EPG应用程序1-4互相移植几无可能,基本上得从头开发起;后者虽然避免了这种情况,但相对于目前国内的机顶盒消费层次来说,昂贵的中间件2-1集成费用就显得有些得不偿失了,同时中间件2-1由于集合各种接口技术于一身,所以它占用大量的内存空间,对于机顶盒有限的内存空间来说就减少了EPG应用程序1-4的空间,所以目前国内实际上集成中间件2-1并投入市场的机顶盒几乎没有。
参见图3,是本发明所采用的一种公共接口移植的方式,基本上还是在底层硬件驱动1-2和芯片操作***1-3的基础上作开发,只不过相比于图1的方式,需要在底层硬件驱动1-2和芯片操作***1-3的函数上作一定程度的接口封装,这个接口封装由具体的各机顶盒硬件厂商来实现,不像中间件那么复杂,机顶盒厂商只需要将底层硬件驱动1-2和芯片操作***1-3函数按照所定义的标准接口用较小的代价实现一个统一的封装就行了,图3中的3-1部分,ZSAPI就是在底层的基础上封装的统一的移植接口,在这个接口上,我们来实现一个统一的EPG应用,完成基本的EPG功能,只要各个不同的机顶盒,按照这个统一的标准接口作一下封装,然后把针对这个统一接口所开发的EPG应用程序移植上去,就能够实现一个相对统一和规范的EPG应用了,这样也方便多家不同的机顶盒移植同样的应用程序。
采用上述定义的接口,基本上就满足了机顶盒EPG应用的所需要的功能。在此基础上针对具体的EPG应用来作开发,只要不同的机顶盒的接口都按照此相同的标准,那么所作出的开发就能够在不同的机顶盒平台上正常的运行起来。所以本发明的重点就是定义了这一组用于移植开发的接口***。
参见图1,4,5:
图4是机顶盒EPG应用的状态转移图,机顶盒运行4-1,机顶盒停止4-2,EPG初始化4-3,EPG前台显示4-4,EPG数据分析4-5,EPG后台监测4-6。
图5是机顶盒EPG应用功能结构图,芯片操作***(OS)标准接口5-1,显示(OSD)标准接口5-2,表解析(Demux)标准接口5-3,存储(Store)接口5-4,频道(Channel)标准接口5-5,杂项设置(Others)标准接口5-6。
4-3至4-6就是EPG应用程序1-4具体要处理的内容。在EPG初始化4-3之后,机顶盒应用程序1-4所主要处理的内容分4-4到4-6三个部分。
在图5中,5-1至5-6是我们根据机顶盒硬件驱动1-2所要实现的内容定义的标准接口,它被上层的机顶盒EPG应用程序1-4来调用,即图5中4-4,4-5,4-6的功能模块调用,来实现具体的应用。
芯片操作***(OS)接口5-1:实现各功能模块的资源内存分配,获取网络数字电视信号以及用户的按键值,然后用做前台显示模块的事件驱动。
显示(OSD)接口5-2:实现将设计的EPG节目单显示在电视机屏幕上。
表解析(Demux)接口5-3:实现对数据的搜索,具体包括Mpeg section表述的搜索、提取、分析等。
存储(Store)接口5-4:实现对Flash存储部分的调用。
频道(Channel)接口5-5:实现切换频道和搜索频道。
杂项设置(Others)接口5-6:实现诸如音量、声道等其他辅助杂项事物处理。
在图5中,EPG初始化4-3是机顶盒底层所实现的内容,具体处理内存的分配、各种寄存器的复位等硬件底层初始化操作。
上层的EPG应用程序1-4依赖于所提供的标准接口,通过对所接收信号的分析判断,转到各个处理线程。处理各个模块之间协调工作、各个模块的资源内存分配等、都要用到芯片操作***(OS)5-1部分的接口驱动函数,其中包括获取用户的按键值,然后用作前台显示模块的事件驱动。显示(OSD)接口5-2,主要是调用接口中的OSD部分的接口函数,用于将设计的EPG节目菜单显示在电视机屏幕上。杂项设置接口5-6里包含了诸如对音量、声道等其他辅助杂项事务的处理。切换频道和搜索频道接口5-5主要是用到了Channel逻辑频道部分的接口函数,来实现对频道的搜索、切换播放某个频道。而表解析(Demux)接口5-3则主要是Demux部分函数接口来实现,具体包括Mpeg Section表述的搜索提取分析等,而搜索出来的数据通过存储接口5-4保存在本地,它是由调用Flash存储部分接口函数来实现的。
按照此结构来实现机顶盒EPG应用。如果保持上层应用所需要的各个接口功能不变,也就是说底层各个机顶盒都实现上述4-3,5-1到5-6的结构功能,那么上层应用4-4至4-5就可以方便的在不同的机顶盒平台上来实现,而不需要针对每个不同的机顶盒来再作一次上层应用的开发,也就是达到了方便移植开发的目的。
参见图6~图11,定义了芯片操作***(OS)标准接口5-1、显示(OSD)标准接口5-2、表解析(Demux)标准接口5-3、存储(Store)标准接口5-4、频道(Channel)标准接口5-5、杂项设置(Others)标准接口5-6的标准函数。
图6,芯片操作***(OS)标准接口5-1,包含有6个函数模块:任务处理5-1-1、信号量处理5-1-2、消息处理5-1-3、动态内存管理5-1-4、用户输入管理5-1-5和时钟处理5-1-6。
1.在任务处理5-1-1中含有函数:
a.创建任务5-1-1-1,此函数用于产生一个线程(任务);返回值:如果创建成功则返回该任务句柄,否则返回0;
b.结束任务5-1-1-2,该函数应在任务的处理函数中进行调用,用于结束指定的任务任务;
c.挂起任务5-1-1-3,将指定的任务挂起;
d.恢复任务5-1-1-4,恢复挂起的任务继续运行;
e.进入线程保护区5-1-1-5,进入线程资源保护区,当一个线程进入临界段的保护区后,其他所有的任务线程都会等待这个临界段的释放才访问该区域的数据;
f.退出线程保护区5-1-1-6,退出线程资源保护区;
g.任务延时5-1-1-7,延迟时间:毫秒,该函数应在任务的处理函数中进行调用。
2.在信号量处理5-1-1-2中含有函数:
a.创建信号量5-1-2-1,创建信号量;返回值:信号量的句柄,不成功返回值为0;
b.点亮信号量5-1-2-2,该函数将信号灯的值自动加1;返回值:SemHandle信号量句柄;
c.等待信号量5-1-2-3,此函数等待信号量被点亮,如果信号量被点亮,则将信号量减一,并且返回。在信号量为0时,根据timeout的值,调用此函数的任务应该被阻塞住或者不阻塞,Timeout>0阻塞直到信号量点亮或者timeout超时,Timeout=0一直阻塞到直到信号量点亮,Timeout<0不阻塞立即返回;
d.结束信号量5-1-2-4,结束信号量;
e.恢复信号量5-1-2-5,恢复初始状态,信号量归零。
3.在消息处理5-1-3中含有函数:
a.创建消息队列5-1-3-1,此函数用于创建一个消息队列;返回值:消息队列的句柄;
b.关闭消息队列5-1-3-2,此函数用于关闭一个消息队列;
c.发送消息5-1-3-3,此函数用于向一个特定消息队列送出一个消息;返回值:成功返回true,失败返回false;
d.接收消息5-1-3-4,此函数接收一个发向特定消息队列的消息,当等待消息时,Timeout>0调用它的任务应该被阻塞住,只有在其接受并返回一个消息指针或者timeout超时之后,才能继续进行,Timeout=0调用它的任务应该被一直阻塞住,只有在其接受并返回一个消息指针之后,才能继续进行,Timeout<0不管是否收到消息指针就立即返回;返回值:成功返回true,失败返回false。
4.在动态内存管理5-1-4中含有函数:
a.动态分配内存5-1-4-1,用于动态的分配内存,分配指定大小的一块动态内存区;返回值:分配的内存指针,当分配内存不成功时返回NULL;
b.动态释放内存5-1-4-2,用于动态的释放内存;
c.分配一段连续内存5-1-4-3,根据指定的元素个数及其大小分配一段连续的内存供其使用;返回值:分配的内存指针,当分配内存不成功时返回NULL;
d.重新分配内存5-1-4-4,根据指定的原内存区重新分配一块内存区;返回值:分配的内存指针,当分配内存不成功时返回NULL。
5.在用户输入管理5-1-5中含有函数:
a.接收按键输入5-1-5-1,等待读取用户输入的键值,uiTimeOut>0函数应该被阻塞住,只有在其成功接受到一个键值或者timeout超时之后,才能继续返回,uiTimeOut=0调用它的任务应该被一直阻塞住,只有在其成功接收到一个键值后才返回,uiTimeOut<0不管是否收至键值就立即返回结果;返回值:成功读取到键值后返回TRUE,否则返回FALSE。
6.在时钟处理5-1-6中含有函数:
a.当前秒数值获取5-1-6-1,获得***自某个基准日期时间以来的累积秒数值;返回值:成功读取到时间值后返回TRUE,否则返回FALSE;
b.秒数值转换年月日5-1-6-2,将相对于某个基准时间的累积秒数值转为实际的年月日时分秒的具体时刻数值;返回值:成功转换后返回TRUE,否则返回FALSE;
c.***运行时钟数5-1-6-3,获取***开机后到现在的运行时钟数;返回值:***启动运行后到当前的时钟数;
d.每秒时钟数5-1-6-4,获得该平台操作***运行每秒的时钟数;返回值:***运行每秒的时钟数。
图7,显示(OSD)标准接口5-2,包含有8个函数模块:显示区分配5-2-1、屏幕相关5-2-2、像素格式相关5-2-3、视频处理5-2-4、绘制内存区管理5-2-5、基本绘制处理5-2-6、文本处理5-2-7和位图处理5-2-8。
1-在显示区分配5-2-1中含有函数:
a.初始化5-2-1-1,显示驱动初始化;
b.清理5-2-1-2,显示区资源注销清理。
2.在屏幕相关5-2-2中含有函数:
a.获得屏幕宽度5-2-2-1,获得屏幕的宽度;返回值:屏幕的宽度;
b.获得屏幕高度5-2-2-2,获得屏幕高度,返回值:屏幕的高度。
3.在像素格式相关5-2-3中含有函数:含有函数:
a.获得单个像素位数5-2-3-1,查询***的象素大小,以比特数计;返回值:象素大小.例如:***使用调色板则返回8;***使用高彩色则返回16;
b.判断调色板模式5-2-3-2,判断***使用的是否是调色板模式;返回值:如***使用的是256色位调色板模式,返回TURE,否则返回FALSE;
c.设置调色板颜色条目5-2-3-3,本函数更新***调色板的设置,颜色条目由ARGB四个分量组成,其中A分量用于指定此种类的象素与背景(或者视频)层的混合权重,取值0~255,0表示完全透明,255表示完全不透明.若***不支持256级的混合等级,则进行近似,如***使用0~63表示混合权重,则需作映射SysMix=Alpha>>2;
d.读取调色板设置5-2-3-4,读取***的调色板设置;
e.颜色转像素5-2-3-5,执行从抽象颜色表示(sRGB颜色空间ARGB32位格式)到***象素格式的转换;
f.像素转颜色5-2-3-6,执行从***象素格式到抽象颜色表示(RGB颜色空间ARGB32位格式)的转换。
4.在视频处理5-2-4中含有函数:
a.视频缩放5-2-4-1,定位和缩放预览视频;
b.显示单帧图像5-2-4-2,在视频层上显示单帧图像画面。
5.在绘制内存区管理5-2-5中含有函数:
a.初始化区域5-2-5-1,获得OSD***显示表面的HDC,剪切域由rect指定;返回值:HDC绘制句柄;
b.释放绘制区资源5-2-5-2,释放绘制区资源;
c.创建绘制内存区5-2-5-3,用指定的颜色模型创建一个内存缓冲显示表面;返回值:HDC绘制句柄;
d.释放指定内存区5-2-5-4,释放指定的绘制内存区资源;
e.位图块转换5-2-5-5,在显示表面间进行位块传输,若颜色模型不同,要进行颜色模型之间的转换。
6.在基本绘制处理5-2-6中含有函数:
a.绘制线条5-2-6-1,画出线段,并用规定颜色填充;
b.绘制矩形5-2-6-2,画出矩形,或用规定象素填充;
c.绘制圆形5-2-6-3,画出圆形,或用规定象素填充;
d.绘制圆角矩形5-2-6-4,画出圆角矩形,或用规定象素填充;
e.绘制三角形5-2-6-5,画出三角形,或用规定象素填充。
7.在文本处理5-2-7中含有函数:
a.绘制文本5-2-7-1,用规定颜色绘制字符串;
b.获得文本字体高度5-2-7-2,获得文本字体高度;返回值:字体高度;
c.获得文本字串的高宽5-2-7-3,获得指定字串所占绘制区的高度和宽度;返回值:返回字符串的高度,以及宽度。
8.在位图处理5-2-8中含有函数:
a.绘制位图5-2-8-1,进行位图的绘制;
b.读取位图5-2-8-2,将读取的位图及其属性填充到光栅结构体中。
图8,表解析标准接口5-3,包含有1个函数模块:解复用及提取5-3-1。
1.在解复用及提取5-3-1中含有函数:
a.表SECTION初始化5-3-1-1,指定PID以及所用的section缓存大小用以让解复用器开始解出相应的PID通道的表数据;返回值:如果成功初始化则返回一个有效的ChinaEPGSection结构的对象指针;否则返回空值;
b.表SECTION释放5-3-1-2,停止对于相应PID通道的过滤操作并释放掉相应的Section缓存数据;
c.设置SECTION过滤器5-3-1-3,设置指定PID通道中的Section过滤器以过滤出相匹配的Section;返回值:成功返回true,失败返回false
d.获取SECTION过滤器5-3-1-3,获得指定PID通道中的Section过滤器;返回值:成功返回ChinaEPGFiltem结构的对象指针;失败返回空指针;
e.获取有效的SECTION数据5-3-1-4;从PID通道数据缓冲区中获得一个指定的Section的数据;返回值:成功返回true,否则返回false;
f.设置SECTION回调函数5-3-1-5,PID通道数据缓冲区中每收到一个匹配的Section数据之后回调一次函数;返回值:成功返回true,失败返回false。
图9,存储标准接口5-4,包含有2个函数模块:FLASH操作5-4-1、NVRAM操作5-4-2。
1.在FLASH操作5-4-1中含有函数:
a.读FLASH5-4-1-1,从Flash中指定的位置读取一段指定长度的内容到内存中;返回值:成功返回true,失败返回false;
b.写FLASH5-4-1-2,将内存中一段指定长度的内容写到Flash中指定的位置;返回值:成功返回true,失败返回false;
c.擦除FLASH块5-4-1-3,将FLASH中一个指定的块进行擦除;返回值:成功返回true,失败返回false。
2.在NVRAM操作5-4-2中含有函数:
a.读NVRAM5-4-2-1,从NVRAM中指定的位置读取一段指定长度的内容到内存中;返回值:成功返回true,失败返回false;
b.写NVRAM5-4-2-2,将内存中一段指定长度的内容写到NVRAM中指定的位置;返回值:成功返回true,失败返回false。
图10,频道标准接口5-5,包含有1个函数模块:逻辑频道5-5-1。
1.在逻辑频道5-5-1中含有函数:
a.获取逻辑频道存储状态5-5-1-1,用于判断机顶盒的逻辑频道存储状态,是否为空或是否有更新,从而决定是否进行全频道搜索;返回值:0有上次存储数据不需要更新,1存储数据为空,2有上次存储数据但是NIT版本发现更新;
b.频道搜索5-5-1-2,EPG向机顶盒提供频率和调制信息,机顶盒通过回掉函数将搜索到的节目号送回给EPG;返回值:成功返回true,失败返回false;
c.获取频道信息5-5-1-3,EPG应用程序向机顶盒提供逻辑频道号(Logical Channel Number),用于向机顶盒获得指定逻辑频道的对应的节目号(Service ID)、源网络ID(Original Network ID)传输流号(Transport Stream ID)等信息;返回值:成功获得返回true,失败返回false;
d.获取逻辑频道号5-5-1-4,机顶盒根据EPG提供的逻辑频道号切换到相应的业务频道;返回值:true成功获得逻辑频道号,false没有获得相应的逻辑频道号;
e.逻辑频道切换5-5-1-5,机顶盒根据EPG提供的逻辑频道号切换到相应的业务频道;返回值:成功返回true,失败返回false;
f.获取当前逻辑频道5-5-1-6,机顶盒获取当前正在播放的逻辑频道号;返回值:正在播放的当前频道的逻辑频道号;
g.锁定起始频点5-5-1-7,机顶盒获锁定指定的频点,用于搜索特定频点的信息;返回值:成功返回true,失败返回false。
图11,杂项设置接口5-6,包含有3个函数模块:音量处理5-6-1、声道设置5-6-2、其它5-6-3。
1.在音量处理5-6-1中含有函数:
a.获取音量值5-6-1-1,此函数用于获取当前业务频道的音量值:返回值:返回当前频道的节目音量值0~255(0为静音,255为满音量);
b.设置音量值5-6-1-2,此函数用于设置当前业务频道的音量值;返回值:成功返回TRUE,失败返回FALSE。
2.在声道设置5-6-2中含有函数:
a.获得声道状态5-6-2-1,获取当前频道的声道状态参数:混合单声道、左声道、右声道、双声道立体声等;返回值:返回当前声道状态参数:0mono双声道混合成单声道输出,1 Left左声道单声道输出,2 Rght右声道单声道输出,3 Stereo双声道立体声输出,4其他的声音输出状态;
b.设置声道状态5-6-2-2,设置当前频道的声道状态参数:混合单声道、左声道、右声道、双声道立体声等;返回值:设置成功返回TRUE,失败返回FALSE。
3.在其它5-6-3中含有函数:
a.设置禁音5-6-3-1,设置成功当前的静音状态反转;返回值:返回设置后的静音状态:TRUE静音,FALSE非静音;
b.待机5-6-3-2,让机顶盒进入待机状态。
需要说明的是,图6~图11定义的标准函数,描述中包括了标准函数名称、功能和返回值,省略了公知的惯用标记性程序语言,例如:在任务处理5-1-1中,a.创建任务5-1-1-1,此函数用于产生一个线程(任务);标记性程序语言:typedef void(*task_function)(void*param);typedef unsignedint ChinaEPG_TaskID;ChinaEPG_TaskID zs_SYS_TaskCreate(task_functionFunction,void*Param,U32priority,U32StackSize,const char*Name);
返回值:如果创建成功则返回该任务句柄,否则返回0。
Claims (9)
1.一种机顶盒EPG应用移植开发接口***,含有硬件驱动(1-2)和芯片操作***(1-3),其特征在于,它还含有芯片操作***标准接口(5-1)、显示标准接口(5-2)、表解析标准接口(5-3)、存储标准接口(5-4)、频道标准接口(5-5)、杂项设置标准接口(5-6);所述的标准接口,即芯片操作***标准接口(5-1)、显示标准接口(5-2)、表解析标准接口(5-3)、存储标准接口(5-4)、频道标准接口(5-5)、杂项设置标准接口(5-6),是对与之相对应的硬件驱动(1-2)和芯片操作***(1-3)逐一描述的函数。
2.根据权利要求1所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的芯片操作***标准接口(5-1),含有任务处理(5-1-1)、信号量处理(5-1-2)、消息处理(5-1-3)、动态内存管理(5-1-4)、用户输入管理(5-1-5)和时钟处理(5-1-6)函数模块。
3.根据权利要求1所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的显示标准接口(5-2),含有显示区分配(5-2-1)、屏幕相关(5-2-2)、像素格式相关(5-2-3)、视频处理(5-2-4)、绘制内存区管理(5-2-5)、基本绘制处理(5-2-6)、文本处理(5-2-7)和位图处理(5-2-8)函数模块。
4.根据权利要求1所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的表解析标准接口(5-3),含有解复用及提取(5-3-1)函数模块。
5.根据权利要求1所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的存储标准接口(5-4),含有FLASH操作(5-4-1)、非易失性随机访问存储器操作(5-4-2)函数模块。
6.根据权利要求1所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的频道标准接口(5-5),含有逻辑频道(5-5-1)函数模块。
7.根据权利要求1所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的杂项设置标准接口(5-6),含有音量处理(5-6-1)、声道设置(5-6-2)函数模块。
8.根据权利要求2所述的一种机顶盒EPG应用移植开发接口***,其特征在于,所述的标准函数与硬件驱动(1-2)、芯片操作***(1-3)进行统一的封装。
9.一种机顶盒EPG应用移植开发接口实现方法,基于权利要求1的机顶盒EPG应用移植开发接口***,其特征在于,该方法实现的步骤包括:
a,EPG应用通过芯片操作***标准接口,获取网络数字电视信号以及用户的按键值;
b,EPG应用通过表解析标准接口,实现对数据的搜索,包括Mpegsection表述的搜索、提取、分析;
c,EPG应用通过存储标准接口,实现对数据的存储和调用;
d,EPG应用通过显示标准接口,实现将接收的EPG节目单显示在电视机屏幕上;
e,EPG应用通过频道标准接口,实现用户对频道的切换和搜索;
f,EPG应用通过杂项设置标准接口,实现音量事物处理;
g,EPG应用通过杂项设置标准接口,实现声道事物处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101125382A CN100377568C (zh) | 2005-10-10 | 2005-10-10 | 机顶盒epg应用移植开发接口*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101125382A CN100377568C (zh) | 2005-10-10 | 2005-10-10 | 机顶盒epg应用移植开发接口*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1949824A CN1949824A (zh) | 2007-04-18 |
CN100377568C true CN100377568C (zh) | 2008-03-26 |
Family
ID=38019191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101125382A Expired - Fee Related CN100377568C (zh) | 2005-10-10 | 2005-10-10 | 机顶盒epg应用移植开发接口*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100377568C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477463B (zh) * | 2009-01-22 | 2012-12-26 | 北京赛科世纪数码科技有限公司 | 用于数字电视机顶盒的软件平台与软件开发平台 |
CN102300066B (zh) * | 2010-06-28 | 2016-05-04 | 康佳集团股份有限公司 | 电视屏幕菜单生成***及电视 |
CN102033751B (zh) * | 2010-12-24 | 2013-06-19 | 青岛海信信芯科技有限公司 | Osd屏显的软件适配方法、***及多媒体终端 |
CN103188567A (zh) * | 2011-12-29 | 2013-07-03 | 青岛海尔软件有限公司 | 在电视上移植物联网通讯模块的方法 |
CN106385630A (zh) * | 2016-10-30 | 2017-02-08 | 合肥微匠信息科技有限公司 | 一种基于自顶向下的机顶盒软件开发仿真平台 |
CN106534986B (zh) * | 2016-11-04 | 2019-07-30 | 聚好看科技股份有限公司 | 基于广电网络的数据交互方法、装置及机顶盒 |
CN109922370A (zh) * | 2019-02-27 | 2019-06-21 | 广州高清视信数码科技股份有限公司 | 一种第三方应用通知数字电视中间件切换频道的方法 |
CN113225508B (zh) * | 2021-04-29 | 2022-09-23 | 中山亿联智能科技有限公司 | 基于录制方式实现的获取Section方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001061484A2 (en) * | 2000-02-18 | 2001-08-23 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
CN1357194A (zh) * | 1999-05-21 | 2002-07-03 | 通用仪器公司 | 用于与多个操作环境兼容的电视顶设终端机的软件体系结构 |
US20030014546A1 (en) * | 2001-06-25 | 2003-01-16 | Dan Kikinis | Method and system for enabling visitors to subscribe to currently-viewed programming packages |
US20030033612A1 (en) * | 2001-08-07 | 2003-02-13 | Schwalb Eddie M. | Software appliance method and system |
-
2005
- 2005-10-10 CN CNB2005101125382A patent/CN100377568C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1357194A (zh) * | 1999-05-21 | 2002-07-03 | 通用仪器公司 | 用于与多个操作环境兼容的电视顶设终端机的软件体系结构 |
WO2001061484A2 (en) * | 2000-02-18 | 2001-08-23 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
US20030014546A1 (en) * | 2001-06-25 | 2003-01-16 | Dan Kikinis | Method and system for enabling visitors to subscribe to currently-viewed programming packages |
US20030033612A1 (en) * | 2001-08-07 | 2003-02-13 | Schwalb Eddie M. | Software appliance method and system |
Also Published As
Publication number | Publication date |
---|---|
CN1949824A (zh) | 2007-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100377568C (zh) | 机顶盒epg应用移植开发接口*** | |
US6711620B1 (en) | Event control device and digital broadcasting system | |
US5493638A (en) | Remote display of an image by transmitting compressed video frames representing back-ground and overlay portions thereof | |
CN100589539C (zh) | 用于搜索和提供内容的***和方法 | |
RU2308172C2 (ru) | Система передачи и обработки видеосигнала, предназначенная для создания пользовательской мозаики | |
CN101036385B (zh) | 在数字电视中提供交互式服务的方法和*** | |
ES2198961T3 (es) | Aparato y metodo para ejecutar aplicaciones de tv interactiva sobre equipos de abonado. | |
US7890978B2 (en) | Generic data processing engine | |
CN101371307A (zh) | 使用信息存储介质的信息再现*** | |
JP2005065297A (ja) | Epgシステムにおけるメモリ管理システムおよび方法 | |
CN101710935A (zh) | 一种机顶盒的中间件装置、跨平台接口的方法及机顶盒 | |
KR100918009B1 (ko) | 대화식 어플리케이션들의 기록 | |
CN112367549B (zh) | 电视浏览器的视频播放实现方法及浏览器应用运行方法 | |
CN103701772A (zh) | 一种数字媒体内容资源云***的构建方法 | |
WO2005109865A1 (en) | A method for realizing embedded digital television service platform | |
CN101753793A (zh) | 在嵌入式机顶盒***中实现交互界面的方法 | |
CN101014134A (zh) | 一种基于有线电视网络的ip业务数据的***与转播方法 | |
CN101729848A (zh) | 基于机顶盒的游戏功能实现方法 | |
CN102073681B (zh) | 一种编辑外部存储装置文件排序的方法及装置 | |
JP4764068B2 (ja) | 番組表示装置および番組表示方法 | |
KR19990085288A (ko) | 디지털 위성 방송 수신기에서의 방송 안내 방법 | |
CN100438569C (zh) | 电视广播接收装置 | |
KR100846790B1 (ko) | 다중 스크린을 제공하는 장치 및 상기 다중 스크린을동적으로 구성하는 방법 | |
CN102595219A (zh) | 一种三网融合数字高清多媒体接收终端 | |
CN102081517A (zh) | 用户界面显示方法和用户界面显示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080326 Termination date: 20191010 |
|
CF01 | Termination of patent right due to non-payment of annual fee |