1、前言
數字電視自從1995年投入運營以來,中間件業務平臺就一直是人們研究和討論的課題。以歐洲為代表的數字電視運營商,一直認為開展數字電視增值業務是其發展的最終目的,數字電視需要中間件平臺,對互聯網應用需要進行有限度的兼容和采取圍墻式的管理(Walled Garden)。這是一種從“電視”向“互聯網(或計算機)” 靠攏的觀點。以美國人為代表的觀點認為,數字電視接收設備就是一個互聯網終端,植入瀏覽器軟件,運行網頁瀏覽,就可以實現數字電視娛樂。這是一種從“互聯網(或計算機)”向“電視”靠攏的觀點。由此可以看出,歐洲人考慮的是怎樣從數字電視運營中發展增值業務、獲取收益;而美國人更多的是積極尋求將家庭設備也互聯起來,讓互聯網的豐富內容走入家庭的客廳終端。
不同的思想產生不同的技術路線。于是,以規范中間件平臺架構、接入協議和應用開發為核心的中間件平臺標準——MHP(媒體家庭平臺)——從歐洲誕生。美國人將互聯網植入數字電視機頂盒的努力,一直都不曾中斷過。美國的ATVEF(Advanced Television Enhancement Forum,先進電視發展論壇)早在1999年就發布了基于互聯網HTML的交互應用規范。微軟公司自1998年就推出了WebTV,直到近幾年的Mediaroom,為微軟操作系統入主消費電子花費了巨大財力、物力,行業內人士可能都不會忘記“維納斯”計劃。美國還產生過知名的數字電視瀏覽器技術公司——Liberate。以增值業務為目標的各式中間件平臺以及以MHP為基礎的不同中間件規范(如美國有線電視聯盟的OCAP、中國標準草案DTVM、日本ARIB、巴西Ginga-J等),還有眾多的中間件業務平臺在全球各地不同數字電視運營商的運營中發揮著作用;而希望將將互聯網搬到電視的努力卻顯得非常艱難:ATVEF標準基本被人遺忘,微軟公司的WebTV平臺和維納斯計劃無疾而終,Liberate也是早就宣告破產了。2006年,Apple公司推出了AppleTV,其優美的設計和良好的用戶體驗曾經讓很多人喜愛,但是,真正的市場效果卻并不理想,直到目前都還沒有具有商業意義的市場部署。
然而,互聯網技術與網絡寬帶的不斷發展、信息與視頻內容越來越豐富,尤其是近年出現的社交網絡、云計算等概念與系統、移動互聯網等,使得“電視”與“互聯網”之間的融合成為不可阻擋的趨勢。但是,這兩者之間究竟如何“相會”,歐洲人與美國人又有不同的理解:歐洲的數字電視業界推出了基于中間件平臺兼容互聯網(寬帶)的雙模業務系統——HbbTV;而美國人持續在互聯網瀏覽器架構上努力,在其Android系統在移動領域(手機)上成功的基礎上,Google公司將它推向了數字電視領域,形成了GoogleTV。
當前,有一種觀點認為,由于其源代碼的免費開放,GoogleTV會迅速取代中間件系統,成為一統天下業務平臺。本文試圖從技術和運營商業務需求的角度,闡述這兩個系統的發展前景。本文的觀點純屬個人觀點,歡迎業界同仁批評指正。
2 HbbTV與GoogleTV平臺的技術特征
2.1 HbbTV平臺的技術簡介
HbbTV(Hybrid BroADCast and Broadband Television)是在MHP標準平臺的基礎上演進與發展起來的。嚴格意義上將,MHP標準也定義了對互聯網協議(TCP/IP, HTTP等)的支持,但標準的大部分規范還是只對廣播環境的應用下載與管理、應用生命周期管理、應用編程接口等進行了詳細的規定,對采用互聯網技術(HTML、JavaScript等)進行應用的開發與管理定義不是具體。HbbTV彌補了MHP中間件平臺這些方面的不足,對互聯網技術如何與廣播通道的協調進行了細致的規范。由DVB提交的ETSI標準(ETSI 102 796 V1.1.1 2009-12和ETSI 102 809 V1.1.1 2010-01)對HbbTV的技術架構與應用管理進行了明晰的規范。
2.1.1 HbbTV平臺的架構與功能
HbbTV定義的是一種雙模終端(Hybrid Terminal),可以在沒有寬帶連接時,總是與廣播電視網絡連接著,以便不間斷地接收音視頻節目和相關應用,也可以同時支持廣播與寬帶網絡的連接。下圖顯示了HbbTV的業務(應用、視頻等)的通道來源。
圖為:HbbTV業務的通道來源
下圖描繪了HbbTV系統架構和主要功能組件,主要組件的功能在圖后進行了簡單說明。
圖為:雙模終端軟件系統功能組件示意圖
通過廣播電視通道(BroADCast InteRFace),雙模終端接收AIT數據、線性音視頻節目、應用數據和流事件(Stream Event)。后兩者數據采用DSM-CC對象輪播協議(DSM-CC Object Carousel)傳送。因此,DSM-CC客戶端(DSM-CC Client)需要嵌入以便接收數據傳送到運行環境(RunTIme Environment)。運行環境可以看成是非常抽象的組件,執行應用、顯示界面。瀏覽器(Browser)和應用管理器(Application Manager)是這個應用運行環境的組成部分。應用管理器解析AIT數據以便控制應用的生命周期;瀏覽器執行和呈現應用。
線性的音視頻內容的處理與廣播電視終端(或只支持衛星、地面或有線數字電視的終端)完全一樣,所有與DVB相關的功能也都完全支持(如頻道列表、 EIT信息處理、選擇業務與調頻等),由廣播處理器(Broadcast Processing)組件處理,音視頻等媒體內容的播放由媒體播放器(Media Player)組件負責。
通過寬帶通道(Broadband Interface),雙模終端能夠連接到互聯網或其它的IP網絡。它提供了應用數據接收的第二個通道,以便與應用提供商的服務器連接。這個連接用于接收非線性音視頻內容(如內容點播業務)。互聯網協議處理器(Internet Protocol Processing)組件包含了處理來源于互聯網等IP網絡數據的功能,通過這個組件,應用數據提供給運行環境,非線性音視頻內容傳送到媒體播放器(Media Player),包含在應用中解析、呈現與播放。
2.1.2 HbbTV平臺的業務與應用模型
HbbTV支持兩種類型的應用:1)廣播電視相關的應用,通過廣播電視通道傳送;2)獨立于廣播電視的應用,它們不通過廣播電視通道傳送。
根據應用與廣播頻道(Service)綁定或網絡連接的不同情況,還可以有如下不同的應用模型,下面從簡單到復雜列出了幾種:
只與一個廣播頻道相綁定的應用:在頻道選擇時,應用啟動;在頻道切換走時,應用終止;
與多個頻道相綁定的應用:在其中的任何一個頻道選擇時,應用啟動;在此頻道切換走時,應用終止,即使新頻道也有此應用與其綁定;
在頻道切換時保持運行的應用:這種應用與多個廣播頻道綁定,在任何一個相關頻道選擇時,應用啟動;而當切換到新的也與此應用綁定的頻道時,應用不終止、繼續保持運行;只有當選擇的頻道上不再有此應用與其綁定時,應用終止;
與廣播頻道的部分內容綁定的應用(例如,與單個的節目或廣告內容綁定):在相關內容啟動時,應用啟動;當相關內容終止時,應用終止;
與點播的內容綁定的應用:其控制,要么與廣播頻道部分內容綁定的應用一致,要么,在整個的點播過程中都保持有效;與網絡運營商或與服務提供商相連接的應用:在某些部署中,這種應用連接可以是永久的(permanent)。
HbbTV標準對通過廣播通道、寬帶通道進行傳送應用的啟動、終止等生命周期管理,都進行了詳細的規定。下圖顯示了應用生命周期狀態轉換的過程。
圖為:應用生命周期和狀態轉換示例
終端用戶可以通過下面的方式訪問互動應用(Interactive Application):
通過啟動一個廣播頻道相關的自啟動應用(Autostart Application)上的紅鍵(Red Button);
通過TEXT鍵(TEXT Button)啟動一個數字字幕應用(Digital Teletext Application);
通過互聯網電視門戶啟動一個廠商設置的非廣播應用;
通過啟動正在運行應用上的一個超級鏈接;
通過選擇一個廣播頻道,其上有一個全屏的自啟動應用。
2.1.3 廣播相關自啟動應用的訪問
廣播相關自啟動應用通常與廣播頻道或其上的節目與事件相關聯,在第一種情況下,此自啟動應用應該立即啟動;在第二種情況下,會有下列情形:
顯示一個紅鍵(Red Button),指示有應用可以啟動;
不顯示用戶界面;
顯示一個全屏(如在音頻應用和數據應用時)
一般情況下,自啟動應用不顯示全屏。當有一個紅鍵(Red Button)指示有應用時,用戶按紅鍵(Red Button)將會全屏顯示;如果沒有廣播相關的自啟動應用,按住紅鍵(Red Button)則無任何反應。
圖為:紅鍵(Red Button)指示有應用,按紅鍵(Red Button)全屏顯示應用
上圖顯示了廣播相關自啟動應用通過紅鍵(Red Button)啟動的情形。
2.1.4 非廣播相關應用的訪問
非廣播相關的應用是指獨立、不通過廣播通道傳送的應用,它一般是通過電視門戶(TV Portal)來訪問的,互聯網電視門戶是一個應用,它提供一種起始網頁,其中的非廣播應用進行一定的排列和展現,使得用戶能夠很方便地瀏覽和訪問其設置和關聯的應用(非廣播相關的應用)。
圖為:互聯網電視門戶的啟動
應用的退出一般采用退出鍵(Exit Button),或應用指示的方式。
我們可以看到,HbbTV定義的是既支持廣播業務,又支持寬帶業務的數字電視中間件技術架構,能夠并行地支持與兩個網絡連接:一方面,它能夠連接廣播電視的DVB網絡(如DVB-T、DVB-S或DVB-C),通過廣播電視網絡,雙模終端能夠接收標準的廣播電視節目,這是一種線性方式的音視頻內容、應用數據和應用信令信息;另一方面,雙模終端能夠通過寬帶與互聯網(IP網絡)連接,支持與應用服務器的雙向通訊,這種方式使得終端能夠接收非線性的音視頻內容和應用數據,還可以下載非實時的音視頻內容。
2.2 GoogleTV平臺的技術簡介
Google公司在互聯網搜索領域取得巨大成功以后,也在努力進入消費電子領域。他們巨資開發的Android平臺,在手機領域開始嶄露頭角,接著又將其推廣到數字電視領域。下面我們著重介紹和探討GoogleTV設計理念和技術框架。
2.2.1 GoogleTV平臺的設計理念
Google TV是一個整合計算機系統、媒體播放與網絡應用的概念型電視平臺,由Google公司主導研發,并且免費開源發布。Google TV的應用涵蓋下列領域:
圖為:GoogleTV設計的理念
通過上圖可以看出,就硬件而言,除了在實際操作環境可以搭配多樣化的周邊設備外,Google TV在規格表現上也有諸多要求;在軟件方面,GoogleTV將其搜索引擎及Android系統加進了GoogleTV的平臺之中;在應用提供上,與內容提供商合作開發,以便具有廣闊應用與業務開發群體,形成Android應用商店。
2.2.2 GoogleTV平臺的技術架構
GoogleTV的核心軟件系統是Android平臺,其架構見下示意圖。
圖為:GoogleTV軟件核心Android架構
Android是一個模塊化與層次性的架構設計,這也是平臺化軟件設計通用的設計理念與架構模式。Android主要有5個層次:
1)應用程序層
Android 會同一系列核心應用程序包一起發布,該應用程序包有 email客戶端、SMS 語言編寫的。?短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都可以使用Java
2)應用程序框架層
開發人員也可以訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊并且任何其它的應用程序都可以使用其所發布的功能塊(其實,軟件在一起是很難控制不被調用的)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用后面的是一系列的服務和系統, 其中包括;
可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists)、網格(grids)、文本框(text boxes)、按鈕(buttons)等,甚至可嵌入的Web 瀏覽器;
內容提供器(Content Provider)使得應用程序可以訪問另一個應用程序的數據(如聯系人數據庫),或者共享它們自己的數據;
資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串、圖形、和布局文件(layout files);
通知管理器 (NoTIfication Manager)使得應用程序可以在狀態欄中顯示自定義的提示信息;
活動管理器(Activity Manager)用來管理應用程序生命周期并提供常用的導航回退功能。
3)程序庫層
Android包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過Android應用程序框架為開發者提供服務。以下是一些核心庫:
系統C庫:從BSD繼承來的標準C系統函數庫(libc),它是專門為基于嵌入式Linux(Embedded Linux)的設備優化了的;
媒體庫:基于PacketVideo/OpenCORE。該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件。支持的編碼格式包括MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG等;
顯示管理器(SuRFace Manager):對顯示子系統的管理,并且為多個應用程序提供2D和3D圖層的無縫融合;
瀏覽器引擎(LibWebCore):最新的Web 瀏覽器引擎用,支持Android 瀏覽器和可嵌入的Web 視圖;
圖性引擎(SGL):底層的2D圖形引擎;
3D圖形庫(3D libraries):基于OpenGL ES 1.0 APIs 實現;該庫可以使用硬件3D加速(如果可用)或者使用高度優化的3D軟加速;
字體引擎(FreeType):點陣(Bitmap)和矢量(Vector)字體顯示;
SQLite:一個對于所有應用程序可用,功能強勁的輕型關系型數據庫引擎。
4)Android運行庫(RunTIme libraries)
編程語言核心庫的大多數功能。 Android包括了一個核心庫,它提供了Java
每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機(Dalvik VM)實例。Dalvik被設計成可以同時高效地運行多個虛擬系統。
程序的虛擬機,其可執行文件(Dalvik Dalvik虛擬機是由Google公司主導開發的用來解釋執行Java executable 編譯器編譯,然后通過SDK?format)格式文件(.dex)針對小內存使用做了優化。同時Dalvik虛擬機是基于寄存器的,所有類都經由Java 中的"dx"工具轉化成“.dex”格式由虛擬機執行。Dalvik虛擬機依賴Linux內核的一些功能,比如線程機制和底層內存管理機制。
5)Linux 內核
Android的核心系統服務依賴于Linux 2.6 內核,如安全性、內存管理、進程管理、網絡協議棧和驅動模型。Linux內核也同時作為硬件和軟件棧之間的抽象層。
Android媒體庫系統OpenCORE的架構如下圖所示:
圖為:Android媒體庫軟件的組成
OpenCore的代碼非常龐大,它是基于C++的實現,定義了全功能的操作系統移植層,各種基本的功能均被封裝成類(Class)的形式,各層次之間的接口多使用繼承等方式。
在Android 2.1及以前的版本中,是不支持JIT的。2010年5月21日的Google I/O大會上,Google發布了Android 2.2版本,主要的新功能包括:
支持JIT,性能也有提高;
支持Adobe Flash 10.1及AIR(Apollo Integrated Runtime)技術;
支援全新的API應用,例如語音辨識功能,可以快速將話語轉成文字訊息,進行資料搜尋,甚至用來啟動Google Maps等;
在企業應用上也有相當程度的支持,例如微軟的Exchange、Security Policies與GAL lookup(全地址搜索)等,方便在接收即時訊息與內容快速傳送之類的運用。
2.3 HbbTV與GoogleTV平臺的技術比較分析
從上面的分析我們可以看到,HbbTV是MHP模式的中間件平臺向互聯網(基于IP傳輸的網絡)的延伸,其細致的基于IP網絡通道應用管理的協議規范,可以有效地將廣播通道的應用管理融于一體,使得HbbTV平臺(簡單地說就是中間件平臺)可以支持DVB、IP多媒體應用。而GoogleTV的技術平臺,是將基于Linux的開放軟件包集成在一起,采用開源的媒體播放器來播放音視頻流媒體。在GoogleTV的核心Android系統中,并沒有支持廣播通道(DVB-C/S/T)的數字電視協議(至少到目前為止還沒有),因此,它是不可以被數字電視運營商用來開展增值業務的。這可以說是GoogleTV平臺目前的一個重要的缺陷。
一般情況下,數字電視中間件平臺(即使是基于MHP規范的),都是與平臺的操作系統(RTOS)無關的,例如中間件系統中的文件系統、TCP/IP 協議棧等是可以移植到不同的系統中的,這樣基于中間件的業務平臺對系統的內存和存儲(如Flash等)的要求就會低許多;而Android系統是基于 Linux的,盡管實時Linux操作系統進行了許多的優化,但每個應用需要在一個不同的進程中運行,其需要的存儲等都還是比標準的中間件平臺要大許多。尤其是Android系統中的圖形與圖像處理模塊、媒體播放器模塊、瀏覽器引擎等都是Google公司從其它的開源代碼中集成起來的,是一個GPL軟件包的組合與大雜燴。
程序的執行方式:Dalvik語言進行應用程序的編寫,DalvikVM采用了與JavaVM不同的bytecode格式和Java盡管都是采用 Java程序的執行進行了優化。然而,Dalvik虛擬機與傳統的Java虛擬機相比的性能提高,還沒有權威機構給出數據。在Android2.1版本以前,Google號稱其性能優異,無需JIT(Just-In-Time)技術,可是,在最近發布的Android2.2中,JIT技術還是采用了。知識產權問題,當然也對Java?VM是基于寄存器的;JavaVM是基于堆棧的。此舉的目的是為了避開Sun公司的Java。
基于HbbTV的中間件平臺,是由不同的技術廠商自行開發和提供的,在符合標準規范(HbbTV、MHP或其它專有中間件規范)的情況下,可以添加運營商需要的功能、從而適合個性化與交互性的應用需要;GoogleTV采用的是開源軟件包,是免費的。這成為眾多終端整機廠商趨之若鶩的重要原因。
3、數字電視運營對中間件技術平臺的要求
在網絡功能趨同、業務融合的今天,數字電視運營已經發生了很大的變化,通過寬帶網絡、基于IP協議傳遞視頻的業務和多媒體終端已經在大量涌現。在IP網絡上進行點播、時移以及錄制等都是很普通的功能,而且,應用本身和其數據已經混為一體、不可區分。由于信息量大和及時性要求,這些應用以及越來越多地以HTML網頁的形式展現,根據需要及時下載,或者相關信息通過Ajax、RSS等協議自動更新。
對運營商而言,數字電視數據業務可能來源于廣播信道(衛星、有線或無線等)和/或寬帶信道(互聯網、或其它的IP通道)的信號,音視頻與數據可以不加區分地由這兩個通道分別接入,在帶寬限制的情況下,廣播通道可以用來播送高清節目,而寬帶的使用形式就會有很廣,如視頻點播、時移、信息瀏覽、電子商務等。
運營商對數字電視的訴求是要通過提供音視頻內容、娛樂信息等,來進行增值業務和互動應用的運營。因此,運營商需要一個能夠完全掌控的“封閉”環境,形成一個“圍墻花園”(Walled Garden),將音視頻節目、娛樂信息、增值業務與應用都搬到運營商控制的平臺上向用戶提供,并對所有業務的運行進行監控。同時,運營商也需要能夠有開放系統的可能,允許終端用戶訪問開放的互聯網信息,甚至可以訪問互聯網音視頻內容,如YouTube、優酷網、土豆網等視頻網站的內容。當然,從內容安全的角度來看,這些互聯網內容需要在服務器端進行過濾與監控。同時,運營商需要一個穩定、可靠的中間件業務平臺,根據市場和業務的發展進行功能的更新與改進,他們需要專業的中間件平臺技術廠商為其進行針對性和專業化的服務,這勢必使得中間件平臺逐步個性化和根據運營商的需要進行定制化,即使是基于HbbTV平臺的中間件,在不同的運營商市場,會顯示出有運營商烙印的特征功能,這將會促進運營商在激烈的競爭中不斷推陳出新、發展用戶、贏得競爭。
數字電視行業正在經歷著深刻的變化,多媒體視頻業務通過多種渠道不斷涌現。從老百姓的角度來講,過去被動地看電視就夠了,現在需要越來越多的交互性內容,比如在體育賽事播出時提供增值業務等,觀眾對數字手段帶來好處的要求也越來越多,短信、電子郵件、天氣預報也可以搬到電視屏幕上來,除此以外,還有一些個性化的社區服務和社會化電視。
4、未來的技術平臺誰會勝出?
從業務的角度上來看,數字電視有兩類市場:運營商市場和零售市場。數字電視運營商(包括廣電運營商和電信運營商)需要在他們的“封閉”網絡(“圍墻花園”—Walled Garden)中進行經營與發展、創造用戶、增加收入。在封閉的網絡中,運營商能夠豐富他們的業務,提供開放的互聯網無法比擬的應用內涵和服務質量。以 HbbTV為基礎的中間件融合業務平臺,既可以滿足運營商采用廣播和(或)寬帶通道進行增值業務開展的需要,而且又可以支持運營商對應用進行管理和控制。因此,HbbTV中間件平臺更能夠符合運營商的需要,必將成為運營商的不可或缺的業務運營平臺。
從技術的角度來看,GoogleTV并沒有脫離微軟公司的WebTV、Apple公司的AppleTV的框架與功能,是WebTV或AppleTV 在互聯網電視上的又一次努力,是互聯網技術移植到流媒體視頻處理領域的技術思路的延續。毫無疑問,采用它去瀏覽Hulu、YouTube等視頻網站的內容以及網上新聞是沒有問題的,但對有大量覆蓋的有線電視、衛星電視和(或)IPTV電視用戶的數字電視運營商來說,我們認為,它是不便于用來進行增值業務運營的。
GoogleTV當前引起了業界的廣泛關注,主要原因是Google公司將Android平臺全部開放其源代碼,容許Android在終端上的移植層的源代碼為各廠家所擁有(各廠家自己進行移植)。我們認為,GoogleTV平臺可能適合于數字電視廠家將其移植到零售市場的終端設備上,用來支持互聯網流媒體的播放與瀏覽、增加其終端設備的功能和賣點。運營商市場是不可能使用原封不動的GoogleTV平臺的。即使有廠家將GoogleTV系統用于運營商市場,那他們也需要花費巨大的精力將原有Android系統進行技術改造、增加運營商需要的功能。那這樣,它也就不成為GoogleTV平臺,而只是開源代碼為技術廠商所用而已,就象其它的開源代碼(如WebKit、OpenGL等)一樣。
總之,Google公司將GoogleTV平臺完全開放源代碼,其本質目的是使GoogleTV終端能夠訪問他們的Android應用商店,他們通過此應用商店獲取利益,而并非真正是為了數字電視業界有一個普遍適用的技術平臺而無利益的考量。不管怎樣,GoogleTV是互聯網領域向數字電視領域融合的又一次嘗試,它為家電廠家的終端研發提供了軟件系統的參考,必將對數字電視和互聯網視頻流媒體業務的未來發展產生深遠影響。
評論
查看更多