当前位置: 首页 > 编程日记 > 正文

如何将Android带入互联网数字家庭? 第一篇转载

前言:很有幸通过ARM Group认识了 ARM的家庭软件架构师 --- 章立(Leon Zhang) (他也是ARM战略软件联盟部门的一员. Leon 拥有多年产品开发和项目管理经验, 曾经参与了数字录像机、机顶盒、数字电视,网络电视以及智能电视(如GoogleTV)等产品的开发。作为家庭软件架构师,他专注于下一代互联网智能电视及数字家庭的软件架构. 而作为战略软件联盟的成员,他致力于为ARM家庭应用市场的合作伙伴建立强大的软件生态系统。 Leon 硕士毕业于同济大学。 他的工作地点在中国上海. ) 读了他Android TV相关的系列文章,让我收获很大。在得到他的许可的情况下,我转载他这一系列的四篇文章,这样我在今后的时间里好细读,给大家也提供一些相关的阅读资料。

正文:

Android作为优秀的开源软件解决方案, 它的作用域已经从手机市场,波及到了平板电脑,甚至以数字电视、机顶盒为典型应用的数字家庭领域。Android最初是为手机移动设备量身定做的,它默认支持的分辨率,色彩深度, 多媒体播放架构,用户交互方式,2D/3D图形的性能等都无法适应类似于数字电视,机顶盒这样的家庭应用。
因此,将Android移植到数字电视或机顶盒需要对Android进行大量的定制和修改。这些修改和定制涉及到Android软件架构中的各个层面,我将用四篇Blog来依次介绍如何将标准的Android移植到数字电视或机顶盒平台。

在开始我们的讨论之前, 我们先来简单探讨一下目前数字电视和机顶盒软件的现状和未来

  • 数字电视/机顶盒软件的现状
1 软件架构的差异化

目前, 数字电视和机顶盒的软件架构中由于使用了不同的操作系统, 不同的中间件平台, 不用的应用程序框架使得软件架构层面出现了极大的差异化。
在操作系统层面, Linux, uCos,VxWorks, WinCE,iTron, ThreadX 等不同的操作系统在不同的产品上都有相应的部署;
在中间件层面, 有公开的标准化的中间件平台,比如MHP,Tru2way, ACAP,ARIB,MHEG5等, 也存在私有的非标准的中间件平台;而不同的中间件软件提供商更会提供各自不同的中间件解决方案,这些解决方案之间大多是无法互相兼容的。
在应用生态系统方面, 缺乏统一的应用软件框架, 造成缺乏共通的应用程序生态系统。

2 设备的网络互联化

网络互联化已经成为数字家庭, 或者更具体的说是数字电视、机顶盒发展的趋势和方向。从图一, 我们可以看到预计到2013年全球具备上网功能的电视将超过50%。 Attached Image
图一 全球互联网电视的发展趋势
而从图二,我们更能清楚地看到国内互联网电视明显的增长趋势

Attached Image
图二 中国互联网电视发展趋势
但是, 尽管数字电视互联化的趋势如此明显, 目前仍然缺乏一个统一的中间件标准应对这股互联化的趋势。

  • 那么, 未来数字电视的软件架构会是什么样子呢?

现状中已经蕴含了对未来架构的需求。


虽然数字电视软件具有明显的差异化, 但是
Linux已经成为最通用的软件平台,而由此导致了大量开源软件的使用,使得数字电视软件具备了统一化的基础;

另外,网络互联化的趋势,要求未来的数字电视平台是一个标准化,高兼容性,高性能的平台。因此,未来的数字电视软件架构至少应该具备下面几个特点:

  • 更开放
  • 更统一
  • 更高性能
  • 更加互联


图三是我给出的一个虚拟的未来数字电视或机顶盒的软件架构,从中我们可


以清楚的看到一些趋势和关键属性:

Attached Image

图三 未来的数字电视、机顶盒软件架构


  • 更多开源的或标准化的中间件
  • 更通用的应用程序框架
  • 更加专注于通过UI和应用层的变化来实现差异化


图三只是一个虚拟的架构,并不是未来的数字电视、机顶盒软件架构的硬性标准;但是我相信,未来的数字家庭的软件架构都会或多或少的趋同于这个架构。而
Android因其自身的特性,也一定为成为未来数字家庭软件架构的有力竞争者。

这一系列的链接: http://blogs.arm.com/software-enablement/465-%E5%A6%82%E4%BD%95%E5%B0%86android%E5%B8%A6%E5%85%A5%E4%BA%92%E8%81%94%E7%BD%91%E6%95%B0%E5%AD%97%E5%AE%B6%E5%BA%AD-%E7%AC%AC%E4%B8%80%E7%AF%87/

相关文章:

【linux】用过的shell命令

1、批量替换文件中的字符串 eg:将当前目录 . 下的old替换成new sed -i "s/new/old/g" grep old -rl .如果字符串中有‘/’等特殊字符需要反斜杠‘\’来转移 eg:将当前目录下的“old/old”,替换成“new/new” sed -i "s/new…

node简单实现excel文件下载

1.利用csv格式兼容实现 csv是一种利用,、\t、\n等分隔符存储的文本文件,excel可兼容打开,利用此原理,代码实现如下: app.use(route.get(/export, async ctx > {ctx.res.setHeader(Content-Type, application/vnd.ms-execl);ctx…

儿科医生的眼泪,全被数据看见了

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑作者 | AlfredWu来源 | Alfred数据室(ID:Alfred_Lab)《人间世》第二季第8集《儿科医生:坚守,还是逃离?》把儿科医生的辛苦与挣扎…

[毕业生的商业软件开发之路]C#类型样式

近期开始接触到在校学生、高校实习生和毕业生,在此说一下笔者对这些徘徊在职场门口的学生一些建议,希望能给这些初学者进入软件开发行业带来一些帮助,使得毕业生能更顺利的进入软件开发公司开始职场生涯,人生来一个完美的转弯。 -----------------------…

特斯拉被曝储存大量未加密个人数据 | 极客头条

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑编译丨王哲来源丨猎云网( ID:ilieyun)编者按:特斯拉是否明确界定了数据安全的目标?它现有的规则又在保护哪些人?如果…

【Linux】neocomplcache disabled: “sudo vim“ is detected and $HOME is set to your user‘s home

1、问题描述 使用sudo vim时,弹出提示: neocomplcache disabled: "sudo vim" is detected and $HOME is set to your users home. You may want to use the sudo.vim plugin, the "-H" option with "sudo" or set alwa…

016 | 漫谈区块链共识机制

原创文章,转载请注明:转载自Keegan小钢 并标明原文链接:http://keeganlee.me/post/blockchain/20180425 微信订阅号:keeganlee_me 写于2018-04-25 专栏地址:xiaozhuanlan.com/fullstack 共识机制是区块链的一个核心特征…

临危不乱,.Net+IIS环境经常出现的问题及排障。

http://www.cnblogs.com/CoreCaiNiao/archive/2011/08/02/2123991.html

零门槛!手把手教你打造AI应用

如你所见,聊天机器人已经逐渐渗透到生活的方方面面。它可以提供生活娱乐方面的服务,比如查询音乐、地图、天气,做心理测试,甚至 Google 的 Duplex 技术还能让你通过机器人进行订餐,当然还有很多能跟你谈天说地闲聊胡扯…

【Qt】启动QtCreator时报错:Cannot mix incompatible Qt library (version ) with this library (version...

1、问题描述 当启动QtCreator时报错(我的Qt版本是Qt5.6.3): Cannot mix incompatible Qt library (version 0x50603) with this library (version 0x50601) Aborted (core dumped)2、原因分析 原因是QtCreator使用的Qt库版本是5.6.1,而环境中配置的Qt库版本是5.6.3 1)Q…

利用IIS作为宿主 发布你的WCF Service(转)

http://blog.csdn.net/blacksource/article/details/3942130最近公司的一个需求,涉及到WCF开发。在网上找了些资料,大都是利用单独的应用程序、或者Windows服务作为WCF Service的host。其实WCF还提供一种方式,和以前的Remoting比较类似&#…

旷视提出AutoML新方法,在ImageNet取得新突破 | 技术头条

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑来源 | 旷视研究院 近日,来自旷视研究院的郭梓超、张祥雨、穆皓远、孙剑等人发表一篇新论文“Single Path One-Shot Neural Architecture Search with Uniform Sampling”&a…

9.QT-标准对话框

Qt提供的可复用的标准对话框,全部继承自QDialog类,如下图所示: QMessageBox:信息对话框,用于显示信息、询问问题等;QFileDialog:文件对话框QColorDialog:颜色对话框QInputDialog:输入对话框(允许用户输入一…

【Python】解决print不能立即打印的问题

1、问题描述 在Python中使用print打印hello world时,终端不显示 def hello():print("hello world!")2、原因 因为标准输入输出stdin/stdout有缓冲区,所以使用print不能立即打印出来,作为刚接触Python的菜鸟,迷瞪了半…

windows mobile做一个摄象头预览程序

zdirectshow的原理大概大家都知道,基本就是用微软封装的接口来实现硬件无关性,但是最终调用的接口都要在驱动层有对应的实现: 为了更清楚地演示directshow的数据传输过程,我必须说明的这个程序的基本流程。我采用的是vs2005 windows mobile 6。0 professional 仿真模拟器&…

初学者的机器学习入门实战教程!

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑作者 | Adrian Rosebrock译者 | kbsc13,京东算法工程师,研究领域计算机视觉来源 | 机器学习与计算机视觉(ID:AI_Developer)这是…

【Qt】调用Python函数:无参数、单个参数、多个参数、数组参数

一、链接配置 如果缺少头文件需要安装python3-dev: sudo apt-get install python3-dev链接libpython3.4库,添加头文件路径,以Qt为例: INCLUDEPATH += /usr/include/python3.4 LIBS += -L /usr/lib/python3.4/config-3.4m-x86_64-linux-gnu -lpython3.4二、头文件 因为p…

分布式系统的问题

本文内容翻译自《Designing Data-Intensive Applications》一书的第8章。 近几章主要介绍系统如何处理错误。例如,我们讨论了副本故障转移,复制滞后和事务的并发控制。当我们理解实际系统中可能出现的各种边界情况时,我们就能更好地处理它们。…

php-cgi占用cpu资源过高的解决方法

转的网上的,不过对PHP-CGI菜鸟的人,还是有点帮助的。 1. 一些php的扩展与php版本兼容存在问题,实践证明 eAccelerater与某些php版本兼容存在问题,具体表现时启动php-cgi进程后,运行10多分钟,奇慢无比&#…

请收下这份NLP热门词汇解读

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑本文转载自微软研究院AI头条(ID:MSRAsia)编者按:在过去的一段时间,自然语言处理领域取得了许多重要的进展,Transformer、BERT、…

【Ubuntu】dpkg: 处理软件包 XXXX (--configure)时出错解决方法

1、使用apt-get --purge remove删除安装包时报错 dpkg: 处理软件包 python-gflags (–configure)时出错: 子进程 已安装 post-installation 脚本 返回了错误号 1 正在设置 python-sklearn (0.14.1-2) … Traceback (most recent call last): File “/usr/bin/pycom…

c#devexpress GridContorl添加进度条

demo 的实现图 下边是步骤和代码 1定义 时钟事件,定时的增加进度条的增量. 2: 添加进度条 3;定义字段属性 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; …

信达充值旗舰店

在淘宝上新开了一个话费 游戏点卡充值的小店,以后大家话费没了可以联系我啊,速度还是蛮快的,都是赔本卖的只想提高点信誉,所以价格也是最最低的了,感谢大家的支持,多多帮忙啊^_^ http://sjzxinda.taobao.co…

完整代码+实操!手把手教你操作Faster R-CNN和Mask R-CNN

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑机器视觉领域的核心问题之一就是目标检测(Object Detection),它的任务是找出图像当中所有感兴趣的目标(物体)&#xff0c…

【Dlib】使用dlib_face_recognition_resnet_model_v1.dat无法实现微调fune-tuning

1、问题描述 dlib官方使用resnet训练人脸识别,训练了300万的数据,网络参数保存在dlib_face_recognition_resnet_model_v1.dat中。 测试中识别lfw数据时,准确率能达到99.13%,但是在识别自己的数据时,准确率有点低&…

Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结

最近有对一个Windows应用程序少许维护和修改。修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下。 Visual Studio版本:Visual Studio 2017 Visual Studio 2017 打包插件 新建…

NET也有闭包

NET也有闭包在.NET中,函数并不是第一级成员,所以并不能像JavaScript那样通过在函数中内嵌子函数的方式实现闭包,通常而言,形成闭包有一些值得总结的非必要条件: 嵌套定义的函数。 匿名函数。 将函数作为参数或…

【opencv】ubuntu14.04上编译opencv2.4

参考博客 https://blog.csdn.net/c406495762/article/details/62896035 1、安装依赖库 sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install libv4l-0 libv…

1024块TPU在燃烧!BERT训练从3天缩短到76分钟 | 技术头条

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑作者 | 琥珀出品 | AI科技大本营(ID:rgznai100)“Jeff Dean称赞,TensorFlow官方推特支持,BERT目前工业界最耗时的应用,计…

牵引力教育设计总监解密9大2018潮流UI设计趋向

作为一名紧跟时代潮流的UI设计师,设计的风格一定要紧跟上最新的设计趋势,因为更为有效且颇具趣味的响应式图标必将得到关注。同时,鲜艳丰富的色彩,精彩纷呈的插图设计都会博得用户眼球。这样你的设计更容易获得更多人的认可与热爱…