CN101986694A - 一种基于linux***的数字电视*** - Google Patents
一种基于linux***的数字电视*** Download PDFInfo
- Publication number
- CN101986694A CN101986694A CN 201010528768 CN201010528768A CN101986694A CN 101986694 A CN101986694 A CN 101986694A CN 201010528768 CN201010528768 CN 201010528768 CN 201010528768 A CN201010528768 A CN 201010528768A CN 101986694 A CN101986694 A CN 101986694A
- Authority
- CN
- China
- Prior art keywords
- module
- layer
- layer module
- digital television
- hardware
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种基于linux***的数字电视***。该***包括:硬件层模块、适配层模块、中间层模块和应用层模块;所述硬件层模块,位于***的最底层,为数字电视***提供硬件平台,依赖于数字电视***采用的芯片;所述适配层模块,与所述硬件层模块连接,提供标准的接口,对硬件平台进行二次封装,隔离上层应用与硬件层;所述中间层模块,与所述适配层模块连接,作为通用化的标准化功能组件,其包含的功能模块是基于适配层提供的接口实现;所述应用层模块,与中间层模块连接,用于实现各种应用,提供基于中间层开发的应用程序。本发明采用良好的分层设计,能有效降低软件的耦合度,减少代码的修改,提高软件的可复用度,进而提高产品开发效率。
Description
技术领域
本发明涉及数字家庭技术领域,具体涉及一种基于linux***的数字电视***。
背景技术
随着数字电视技术的发展,数字电视产品已逐渐开始普及。目前,在我国,数字电视产品主要依赖国外企业的芯片技术解决方案,采用国外的芯片作为硬件平台,硬件层与应用层和中间件层为一体的,当硬件平台改变时,与其关联的应用层和中间层也要进行相应的改变,产品的开发效率很低。为了克服这个问题,现有的解决方案采用了分层设计方法,将硬件平台与中间层和应用层隔离开,对于不同的芯片,采用不同的协议来完成各层次间的通讯。
在实现本发明的过程中,发明人发现现有的技术中存在如下问题:
现有的数字电视软件架构比较混乱,还没有形成统一成型的框架来提高数字电视类产品的开发速度,虽然现有技术中有分层设计,但是各家芯片厂商都是遵循自己既定的协议进行各层次间的通讯,这样就造成了当采用多家芯片开发数字电视产品时,改动量非常大,代码可复用性非常差,进而导致产品开发效率低、成本高、产品质量不可控等一系列问题,不适应现代快速多变的市场需求。
发明内容
本发明要解决的技术问题是提供一种基于linux***的数字电视***,该***能够提高数字电视产品的开发效率。
为解决上述技术问题,本发明所采用的技术方案为:
本发明提供一种基于linux***的数字电视***:
该***包括:硬件层模块、适配层模块、中间层模块和应用层模块;
所述硬件层模块,位于***的最底层,为数字电视***提供硬件平台,依赖于数字电视***采用的芯片;
所述适配层模块,与所述硬件层模块连接,提供标准的接口,对硬件平台进行二次封装,隔离上层应用与硬件层;
所述中间层模块,与所述适配层模块连接,作为通用化的标准化功能组件,其包含的功能模块是基于适配层提供的接口实现;
所述应用层模块,与中间层模块连接,用于实现各种应用,提供基于中间层开发的应用程序。
所述硬件层模块,通过linux嵌入式操作***和片内驱动及***设备模块驱动,与适配层模块连接。
所述适配层模块包括操作***适配层模块和驱动适配层模块。
所述适配层模块还包括调制解调模块、解复用模块、闪存驱动模块、视频驱动模块和音视频驱动模块。
所述中间层模块包括节目搜索模块、节目播放模块、业务信息模块和数据管理模块;
所述节目搜索模块为上层模块,调用下层的业务信息模块和数据管理模块,和/或调制解调模块;
所述节目播放模块为上层模块,调用下层的调制解调模块、视频驱动模块和音频驱动模块,和/或数据管理模块;
所述业务信息模块为上层模块,调用下层的解复用模块;
所述数据管理模块为上层模块,调用下层的闪存驱动模块。
所述各模块之间的数据传递包括单向传输和双向传输;
所述各模块获取数据的方式包括实时获取和非实时获取。
上述技术方案可以看出:
本发明提供的数字电视***,采用良好的分层结构设计,利用适配层将不同硬件平台的差异性完全隔离,在选用不同硬件平台时,只需根据硬件的不同对适配层稍作改动即可,中间层及应用层模块完全不用修改即可整体移植到新的硬件平台中,有效降低软件的耦合度,减少代码的修改,提高软件的可复用度,进而提高产品的开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例数字电视***整体结构示意图;
图2为本发明实施例数字电视***中间层各模块间的通信方式及与适配层间的通信方式结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种基于linux***的数字电视***,该***能够提高数字电视产品的开发效率。
以下结合附图对本发明技术方案进行详细介绍。
图1是本发明***的结构示意图。
如图1所示,所述数字电视***在整体上包括四个层次模块,由下到上一次为:硬件层模块101、适配层模块102、中间层模块103和应用层模块104。
硬件层模块101,位于***的最底层,为数字电视***提供硬件平台,依赖于数字电视***采用的芯片。
对于硬件层模块101,通过linux嵌入式操作***和片内驱动及***设备模块驱动,与适配层102连接。
适配层模块102,与所述硬件层模块101连接,提供一套标准的接口,其目的是对硬件平台进行二次封装,从而隔离上层应用与硬件层,以达到通用化的效果。
适配层模块102是支撑中间层模块103和应用层模块104的基础,在整个结构中占有非常重要的位置。适配层主要包含OSAL(操作***适配层)和DAL(驱动适配层)。其中OSAL主要包含的组件及其相应的描述如表1所示。
表1
另外,DAL(驱动适配层)部分包括的组件及其相应的描述如表2所示
表2
适配层模块102的各模块实现需要根据移植的硬件对象的不同进行一些修改,以达到配合硬件的目的。
适配层模块102的关键工作在于标准接口的制定及与中间层通讯协议的制定上,这一步体现了整个***架构的稳定性。对于OSAL的接口定义及与上层的通讯协议,参考了业界流行的POSIX移植标准,以及各嵌入式平台中流行的如linux操作***、nuclears操作***等操作***的接口定义及通信协议,提供其共性,进而转化为一套通用的操作***标准接口及通信协议。
中间层及应用层各模块均采用该OSAL进行设计,进而有效减少中间层及应用层与底层的隔离。对于DAL部分,其包含的各模块并不是简单的对各驱动的实现,而是结合中间层及用户的需求,在驱动层之上增加对功能性的封装,形成驱动适配层,进而方便有效地供中间层使用。
中间层模块103,通用化的标准化功能组件,该层次包含的模块都是基于适配层提供的接口实现的,内部实现不能跨过适配层直接调用硬件平台提供的接口,从而达到该层各模块通用化、可移植性的目的。
该层主要包含通用数据管理、业务信息SI、条件接收CA/公共接口CI、节目指南EPG、视频点播NVOD、节目搜索、节目播放、消息管理机制、图形用户界面GUI开发工具、网络协议栈、浏览器等通用模块。
中间层包括的组件及其相应的描述如表3所述。
表3
中间层模块103包含的模块较多,但都是一些有明确规范的模块,所作的重点工作是对这些规范的充分理解,并将其转化为具体的实现。
应用层模块104,与中间层模块103连接,用于实现各种应用。
图2是本发明***中的中间层各模块间的通信方式及与适配层间的通信方式示意图。
图2主要描述了两种关系:
一种为函数调用关系:函数调用一般由上层模块调用下层模块,原则上不允许下层模块调用上层模块,设计各模块接口时要充分考虑对上层的接口,要满足其他模块的需求。
另一种为数据在模块间的传递关系:数据传递包括单向传输和双向传输,数据的获取也有实时和非实时两种情况。当数据由上向下传输时,一般的函数接口即可满足要求;当数据由下向上传输,并且不能实时获取时,一般函数可能并不能满足需要,此时一般可以采取消息传递和回调函数两种机制。
消息传递机制的缺点是需要在各模块之外定义公共的消息传递协议,模块内部使用,这样不利于移植;回调函数机制的缺点是用户在回调中处理不当容易引起底层模块的阻塞,导致问题难以排查定位。综合比较两种机制,当模块之间涉及到非实时获取且由下向上进行数据的传递时,优先考虑使用回调函数机制。
如图2所示,节目搜索模块201作为上层模块,可以调用下层模块调制解调(Tuner)模块205、业务信息(SI)模块203、数据管理模块204三个模块。节目搜索模块201首先设置Tuner模块205,然后调用SI模块203接口获取相关数据,SI模块203将解析后的结果反馈给节目搜索模块201,最后,节目搜索模块201根据需要调用数据管理模块204来选择是否保存数据到数据管理模块204。在此过程中涉及到非实时数据由下向上传递的处理:Tuner模块205将其状态向上反馈,SI模块203获取数据后将数据向上传递。
节目播放模块202最为上层模块,可以调用下层模块数据管理204、Tuner模块205、视频驱动模块208、音频驱动模块209。节目播放模块202首先调用数据管理模块204,从中获取播放相关的信息,然后设置Tuner模块205,最后调用视频驱动模块208和音频驱动模块209,从而实现播放功能。此过程主要数据流向为从数据管理模块204获取数据,由于上述节目搜索模块201已经将此部分数据保存到数据管理模块204,因此该数据为可实时获取数据,一般获取数据的函数接口即可满足需求。
SI模块203作为上层模块,可以调用下层模块解复用(Demux)模块206。SI模块203需要设置过滤条件给Demux模块206,然后启动Demux模块206过滤出所需要的数据,Demux模块206将获取到的数据向上传递。
数据管理模块204作为上层模块,可以调用下层模块闪存(Flash)驱动模块207。数据管理模块204通过Flash驱动模块207将数据保存到Flash。数据管理模块204需要考虑数据在内存及Flash中的管理、内存及Flash中数据的同步、内存分配策略、数据查询算法等问题。
其中,Tuner模块、Demux模块、Flash驱动模块、视频驱动模块和音频驱动模块等适配层模块主要涉及到对不同硬件平台的封装,相对比较独立,模块之间的耦合性很小,涉及实现时主要考虑其性能的优化及纠错处理等。
例如:Demux模块需要考虑怎样设计才能使数据的获取更高效,以满足涉及到大数据量应用模块的需求;Flash驱动模块需要考虑怎样才能使读写Flash的速度提高,以及怎样有效降低读写数据的出错概率等。
应用层104,基于中间层开发的上层应用程序。基于上述表3的各功能组件,应用层104提供相应的应用程序,以完成所述的各种功能。
其中,所述各层之间严格按照制定的标准协议及接口进行通讯,减少因层级修改引起的其他层次的代码变更。
本发明提供的数字电视***,具有良好的分层架构设计,如此分层结构的好处是可以利用适配层将不同硬件平台的差异性完全隔离,使中间层及应用层不随硬件部分的变更而变更,有效降低软件的耦合度,减少代码的修改,提高软件的可复用度,进而提高产品开发效率,降低产品开发成本。
本发明的技术方案制订了严格的通讯协议及接口定义,在选用不同硬件平台时,只需根据硬件的不同对适配层稍作改动即可。中间层及应用层模块完全不用修改即可整体移植到新的硬件平台中,这样大大提高了产品的开发效率。此外,由于改动的部分限制在适配层一级,进而有效改善了产品的质量事故问题,提高产品的质量。
需要说明的是,上述装置和***内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于linux***的数字电视***,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种基于linux***的数字电视***,其特征在于:
该***包括:硬件层模块、适配层模块、中间层模块和应用层模块;
所述硬件层模块,位于***的最底层,为数字电视***提供硬件平台,依赖于数字电视***采用的芯片;
所述适配层模块,与所述硬件层模块连接,提供标准的接口,对硬件平台进行二次封装,隔离上层应用与硬件层;
所述中间层模块,与所述适配层模块连接,作为通用化的标准化功能组件,其包含的功能模块是基于适配层提供的接口实现;
所述应用层模块,与中间层模块连接,用于实现各种应用,提供基于中间层开发的应用程序。
2.根据权利要求1所述的基于linux***的数字电视***,其特征在于:
所述硬件层模块,通过linux嵌入式操作***和片内驱动及***设备模块驱动,与适配层模块连接。
3.根据权利要求1或2所述的基于linux***的数字电视***,其特征在于:
所述适配层模块包括操作***适配层模块和驱动适配层模块。
4.根据权利要求3所述的基于linux***的数字电视***,其特征在于:
所述适配层模块还包括调制解调模块、解复用模块、闪存驱动模块、视频驱动模块和音视频驱动模块。
5.根据权利要求4所述的基于linux***的数字电视***,其特征在于:
所述中间层模块包括节目搜索模块、节目播放模块、业务信息模块和数据管理模块;
所述节目搜索模块为上层模块,调用下层的业务信息模块和数据管理模块,和/或调制解调模块;
所述节目播放模块为上层模块,调用下层的调制解调模块、视频驱动模块和音频驱动模块,和/或数据管理模块;
所述业务信息模块为上层模块,调用下层的解复用模块;
所述数据管理模块为上层模块,调用下层的闪存驱动模块。
6.根据权利要求5所述的基于linux***的数字电视***,其特征在于:
所述各模块之间的数据传递包括单向传输和双向传输;
所述各模块获取数据的方式包括实时获取和非实时获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010528768 CN101986694A (zh) | 2010-10-29 | 2010-10-29 | 一种基于linux***的数字电视*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010528768 CN101986694A (zh) | 2010-10-29 | 2010-10-29 | 一种基于linux***的数字电视*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101986694A true CN101986694A (zh) | 2011-03-16 |
Family
ID=43710993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010528768 Pending CN101986694A (zh) | 2010-10-29 | 2010-10-29 | 一种基于linux***的数字电视*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101986694A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102547178A (zh) * | 2010-12-08 | 2012-07-04 | 中国科学院声学研究所 | 一种由应用驱动的内核模块的动态调整方法 |
CN103096159A (zh) * | 2013-02-20 | 2013-05-08 | 青岛海信宽带多媒体技术有限公司 | 数字电视数据传输方法及*** |
CN103995913A (zh) * | 2014-03-18 | 2014-08-20 | 中国电子科技集团公司第十研究所 | 复杂电子***开放式分层设计方法 |
CN108572834A (zh) * | 2018-04-16 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 一种浏览器的升级方法和装置 |
CN110177302A (zh) * | 2019-05-13 | 2019-08-27 | 东莞康佳电子有限公司 | 一种基于智能电视的模块化中间件*** |
CN110275716A (zh) * | 2019-06-27 | 2019-09-24 | 深圳开立生物医疗科技股份有限公司 | 设备部署方法及装置、设备运行方法及电子设备 |
CN112416308A (zh) * | 2020-11-30 | 2021-02-26 | 上海汽车集团股份有限公司 | 一种软件优化方法、装置及软件架构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326638A (zh) * | 1998-10-19 | 2001-12-12 | 通用仪器公司 | 具有可配置功能的电视机顶盒 |
CN1831764A (zh) * | 2005-03-08 | 2006-09-13 | 微软公司 | 用于在多媒体控制台中提供***级用户界面的***和方法 |
CN101409815A (zh) * | 2008-11-05 | 2009-04-15 | 青岛海信电子产业控股股份有限公司 | 数字电视*** |
-
2010
- 2010-10-29 CN CN 201010528768 patent/CN101986694A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326638A (zh) * | 1998-10-19 | 2001-12-12 | 通用仪器公司 | 具有可配置功能的电视机顶盒 |
CN1831764A (zh) * | 2005-03-08 | 2006-09-13 | 微软公司 | 用于在多媒体控制台中提供***级用户界面的***和方法 |
CN101409815A (zh) * | 2008-11-05 | 2009-04-15 | 青岛海信电子产业控股股份有限公司 | 数字电视*** |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102547178A (zh) * | 2010-12-08 | 2012-07-04 | 中国科学院声学研究所 | 一种由应用驱动的内核模块的动态调整方法 |
CN103096159A (zh) * | 2013-02-20 | 2013-05-08 | 青岛海信宽带多媒体技术有限公司 | 数字电视数据传输方法及*** |
CN103096159B (zh) * | 2013-02-20 | 2016-05-25 | 青岛海信宽带多媒体技术有限公司 | 数字电视数据传输方法及*** |
CN103995913A (zh) * | 2014-03-18 | 2014-08-20 | 中国电子科技集团公司第十研究所 | 复杂电子***开放式分层设计方法 |
CN108572834A (zh) * | 2018-04-16 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 一种浏览器的升级方法和装置 |
CN108572834B (zh) * | 2018-04-16 | 2023-12-12 | 深圳市雅阅科技有限公司 | 一种浏览器的升级方法和装置 |
CN110177302A (zh) * | 2019-05-13 | 2019-08-27 | 东莞康佳电子有限公司 | 一种基于智能电视的模块化中间件*** |
CN110275716A (zh) * | 2019-06-27 | 2019-09-24 | 深圳开立生物医疗科技股份有限公司 | 设备部署方法及装置、设备运行方法及电子设备 |
CN112416308A (zh) * | 2020-11-30 | 2021-02-26 | 上海汽车集团股份有限公司 | 一种软件优化方法、装置及软件架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101986694A (zh) | 一种基于linux***的数字电视*** | |
CN101409815A (zh) | 数字电视*** | |
CN102591726B (zh) | 一种多进程通信方法 | |
CN1773873A (zh) | 便携型电子设备 | |
CN1633641A (zh) | 移动终端平台***的中间件服务层 | |
JP2011508569A (ja) | オンデマンド無線サービスのための適応ストリーミング | |
CN101350813A (zh) | 一种为数字家电提供WiFi接入互联网的方法和装置 | |
CN102609302B (zh) | 一种多媒体应用的并发管理方法和装置 | |
CN102082968A (zh) | 一种多硬件兼容蓝牙设备驱动*** | |
CN102118647A (zh) | 数字电视机频道信息更新的方法及数字电视机 | |
CN101945184A (zh) | 基于ngn网络的ivr实现方法及装置 | |
CN101686341A (zh) | 电视机、机顶盒与移动设备间实现节目共享的方法 | |
CN106919391B (zh) | 面向智能手机的可定制操作***组件的嵌入式*** | |
CN105681905A (zh) | 一种智能电视及其提高应用程序的适配性的方法和装置 | |
CN1819588A (zh) | 基于中间件平台提供网络服务的方法 | |
WO2009015598A1 (fr) | Procédé et appareil pour lancer une application | |
CN101247403B (zh) | 电子设备应用程序界面显示***及方法 | |
CN101014134A (zh) | 一种基于有线电视网络的ip业务数据的***与转播方法 | |
CN101193260A (zh) | Ip机顶盒通用软件平台***及基于此***的ip机顶盒 | |
CN102547476A (zh) | 家庭媒体信息装置和数据传输方法 | |
CN109121001B (zh) | 一种多内容商的轮播***、轮播方法及智能电视 | |
CN101714165B (zh) | 一种数据导入的方法 | |
CN1601970A (zh) | 基于人机交互语言的通用命令行输入装置及其方法 | |
CN102761860A (zh) | 一种终端业务呈现方法及*** | |
CN101714084A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110316 |