双模智能机顶盒的关键技术研究

2012-06-29 01:36高志寅高志平
电视技术 2012年22期
关键词:机顶盒解码框架

高志寅,高志平

(浙江创亿科技有限公司,浙江 杭州 310052)

1 智能电视/机顶盒简介

智能电视服务[1-2]通过3个方面区别于传统的电视服务(如图1所示):第一,智能平台,包括服务器云端的视频云和应用云,以及终端的跨平台智能操作系统;第二,海量的智能应用,除传统的直播、点播、时移回看的视频业务外,覆盖资讯、游戏、社交、工具等各类应用需求;第三是智能操控,从传统的红外遥控,发展到2.4 GHz遥控、体感遥控、手机遥控、语音遥控、手势识别、人脸识别等,不断提高用户使用的便捷性。

随着有线高清双向数字电视业务的推广和智能终端技术向电视领域的延伸,国内多家厂商推出了支持DVB和IP两种接入方式的双模机顶盒,基本上都采用Android操作系统。和已大量使用的高清机顶盒所采用的Linux系统相比,Android在Linux之上创建了单一框架,其作为类似标准中间件,使得大量面向电视屏幕的应用开发变得更方便和具有更好的平台移植性。本文旨在对双模智能机顶盒的关键技术进行分析探讨,并描述对Android下实现DVB功能的具体实现方式,作为业界产品开发参考。

2 双模智能机顶盒的关键技术

2.1 Android DVB技术实现

Android是Google开发的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放的移动软件。由于其免费、开源、开放的特性,使得它在短短几年内已经成为第一大智能手机操作系统。与此同时,很多数字电视及机顶盒厂商对Android趋之若鹜,纷纷把Android系统移植到数字电视及机顶盒上。

但是,Android是专为手机开发的系统,它的framework并不支持数字电视播放。而国内的数字电视及机顶盒主要符合DVB标准,如何在Android系统上,增加对符合DVB标准的数字电视的支持,是双模智能机顶盒必须首先解决的问题。

2.2 多屏互动的操控技术

针对智能机顶盒的多屏互动技术是指实现智能机顶盒、智能手机、平板电脑、PC等多屏设备关联、内容共享和用户信息的交互技术。

设备的互联控制提供类似机顶盒遥控器、智能家居控制、家庭设备互联等功能;内容的共享实现本地和云端的音视频资源互动,实现视频直播、时移、点播业务的多屏同看、续看等功能;用户信息的交互实现本地和云端信息的共享和同步功能。

目前,主流的智能机顶盒多屏互动技术是基于以太网、WiFi或蓝牙的物理连接方式,协议上主要采用市场上大家已比较熟悉的DLNA和苹果Airplay。

2.3 流媒体播放技术

双模数字电视机顶盒在解码播放音视频资源上,一个来源是同轴电缆引入的DVB数字电视信号,另一个来源是播放以太网口或者WiFi接入的流媒体资源。

通常的机顶盒主芯片提供了各类视频压缩算法的硬解码功能,由软件实现流媒体播控协议的交互和不同格式的解封装。需要支持类似主流的http,RTSP,RTP,Apple http Live Streaming(m3u8)的网络流媒体播放协议,以及支持如mp4,flv,avi,ts,mkv等多格式。同时,要做好芯片平台硬件解码接口和Android框架的兼容。

基于Android平台,针对具体芯片实现可配置的稳定可靠的软硬件解码架构,开发的工作量是巨大的。

3 双模智能机顶盒的Android DVB实现方法

要在Android系统上实现数字电视功能,首先需要了解Android系统的框架。如图2所示,Android系统分为4层:第1层是Linux操作系统及驱动;第2层是本地框架(也称为C框架);第3层是Java框架;第4层是Java应用程序。

图2 Android系统的框架

从Linux操作系统来看,第1层从属于内核空间,第2~4层从属于用户空间。第2层和第3层是本地代码层(C/C++)和Java代码层的接口。第3层和第4层之间,是Android的系统API的接口。对于Android应用程序的开发,第3层及以下的内容是不可见的,仅考虑系统API即可。

在Android系统的第2层中,有一个Media Framework,这个Media Framework就是用来支持多媒体的。但这个Media Framework并不支持DVB标准的数字电视。

数字电视的一般组成见图3,它包括Tuner,Demodulator,Demux,Decoder,Video Presentation 这 5 个 部 分 。Tuner部分负责把高频信号变成中频信号,Demodulator负责把中频信号解调制,而Demux部分则是把复用在TS流中的某个节目解复用出来,Decoder负责把解复用后视频数据解码成图像帧数据,最后通过Video Presentation和OSD层混合后输出到各输出端子,如YPbPr等。在用户按下遥控器准备看电视时,系统需要去控制这5部分协调工作,然后把节目内容呈现在电视屏幕上。

针对具体的解码部分,首先参考如图4已有的Android多媒体播放的功能[3],最上面的Java应用层的播放器应用调用Java Framework层的android.media.Media-Player类。Native层的多媒体框架media player对上层的提供的接口主要是MediaPlayer类。多媒体服务Media Player Service用于启动一个多媒体的守护进程。Android中使用OpenCore和StageFright两个库实现媒体播放。为保持架构的一致性,将DVB节目流播放融入如图4的Android媒体播放架构中是较好的实现思路。

具体的方法从图5可以看出,通过采用Java框架和C框架的通信机制,设计一个既能满足需求又高效的通信方法,采用了套接字Socket方式C框架层实现数字电视功能,而在Java框架层把C框架层实现的数字电视功能通过Java API提供给Java应用层的应用程序调用,这样大量的数字电视相关应用就可以直接调用这个Java API接口,解决了Java应用如何通过Java API使用底层C语言实现的数字电视软件模块功能的问题,极大提高了Java应用开发的效率和可移植性。

4 小结

智能电视关键技术的核心还是更好、更便捷地服务于用户。丰富用户基于电视大屏幕的视频娱乐消费,通过应用商店整合海量的内容和应用,形成满足用户个性化需求的细分模式,延长用户在电视屏幕的消费时间和提高娱乐效率。智能终端产品的大量普及和对用户眼球消费时间的吸引,更加有利于产业开发更多的衍生产品和建立对应的盈利模式。

[1]薛楠,乔维.典型智能电视产业发展模式的启示——以谷歌、苹果和三星为例[J].电视技术,2012,36(14):1-3.

[2]吴伟.智能电视技术分析[J].电视技术,2011,35(24):7.

[3]MediaPlayer[EB/OL].[2012-08-04].http://developer.android.com/reference/android/media/MediaPlayer.html.

猜你喜欢
机顶盒解码框架
《解码万吨站》
框架
广义框架的不相交性
解码eUCP2.0
机顶盒上别盖布
安全使用机顶盒注意五点
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
有线电视高清数字电视机顶盒测试系统的构建
关于原点对称的不规则Gabor框架的构造