1. 程式人生 > >android HDMI (一):HDMI基礎篇

android HDMI (一):HDMI基礎篇

關鍵詞:android 4.0 HDMI

平臺資訊:
核心:
linux3.0
系統:android4.0.3
平臺:S5PV310(samsung exynos 4210)

作者:xubin341719(歡迎轉載,請註明作者)

            說到android的HDMI,從android 2.2、android2.3到android4.0,三星的晶片也做過3sc2440、s5pc110、s5pv210、s5pv310再加上新案四核的samsung exynos 4412,都成三星專業戶了,不過三星晶片HDMI這一塊做的還是很好的。大的問題沒有,就是解一些bug,沒聲音了、影象解析度不對了……所以真正的程式碼我也沒看那麼多,先寫一個HDMI的基礎篇吧,看後面有沒有耐心把這塊程式碼看一邊。(其實大部分是我工作的筆記,如裡說不明白的話還請大家……)

            做過一段時間電視方案,這個HDMI還算知道點,不過時間久了就忘了……所以我現常寫工作筆記。前一段時間我們samsung exynos 4210平臺的HDMI沒聲音,我請教一同事,是後發現他說“找什麼HDMI的IIS、codecs相關的東西”,我一聽有點傻眼了,總覺得不對呀,可是又想不起來那裡不對, 原理圖上找了一通,沒找到呀。最後發現視訊、音訊同一個資料線上傳輸的。

先來張圖吧,這樣清楚一點,看下聲音是從那裡傳輸的:


一、HDMI基礎知識

       HDMI(High-DefinitionMultimedia Interface)又被稱為高清晰度多媒體介面,是首個支援在單線纜上傳輸,不經過壓縮的全數字高清晰度、多聲道音訊和智慧格式與控制命令資料的數字介面。HDMI介面由Silicon Image美國晶像公司倡導,聯合索尼、日立、松下、飛利浦、湯姆遜、東芝等八家著名的消費類電子製造商聯合成立的工作組共同開發的。

二、HDMI傳輸原理

  HDMI採用TMDS (TimeMinimized Differential Signal)最小化傳輸差分訊號傳輸技術 , TMDS是一種微分訊號機制,採用的是差分傳動方式 ,是一種利用2個引腳間電壓差來傳送訊號的技術。每一個標準的HDMI連線,都包含了3個用於傳輸資料的TMDS傳輸通道,還有1個獨立的TMDS時鐘通道,以保證傳輸時所需的統一時序。在一個時鐘週期內,每個TMDS通道都能傳送10bit的資料流。而這10bit資料,可以由若干種不同的編碼格式構成。


所用到的術語:

HDMI把視訊訊號分為R、G、B、H、V五種訊號用TMDS技術編碼。

TMDS:這三個通道傳輸R、G、B三原色,HV編碼在B訊號通道里面傳輸,R、G的多餘位置用來傳輸音訊訊號。

DDC :即顯示資料通道,用來向視訊接收裝置傳送配置資訊和資料格式資訊,接收裝置讀取這些

E-EDID(增強擴充套件顯示識別資料)的資訊。

CEC:即消費電子控制通道,通過這條通道可以控制視聽裝置的工作。

三、HDMI資料容量

         HDMI電路中的時鐘頻率,在1.0版本規定為25MHz-165MHz之間,也就是說一個TMDS通道每秒最多能傳輸165MHz×10bit=1.65Gbit的資料,3個TMDS通道一秒就可以傳輸1.65×3=4.95Gbit的資料,再加上控制資料,用標準方法表示就是4.96Gbps的頻寬;若傳輸訊號的比率小於25MHz,HDMI會採用自動迴圈技術填補位元速率,將訊號的位元速率提升到25MHz的水平。

如果用畫素點來表示,那就是一秒可以傳輸顯示1.65G個畫素點(一個完整的畫素點資訊由R/G/B三原色資訊構成)所需要的資料量。

            在1.3版本規格中,TMDS連線頻寬從原來最高165MHz提升到340MHz,資料傳輸率也從4.96Gbps提升到了10.2Gbps,可以支援支援更高資料量的高清數字流量,如果採用Type B型雙路

TMDS連線,則可以在此基礎上再提升一倍系統頻寬。

四、HDMI資料傳輸

   HDMI輸入的源編碼格式包括視訊畫素資料(8位)、控制資料(2位)和資料包(4位)。其中資料包中包含有音訊資料和輔助資訊資料。資料傳輸過程可以分成三個部分:視訊資料傳輸期、島嶼資料傳輸期和控制資料傳輸期。

視訊資料傳輸期:HDMI資料線上傳送視訊畫素訊號,視訊訊號經過編碼,生成3路(即3個TMDS資料資訊通道,每路8位)共24位的視訊資料流,輸入到HDMI發射器中。24位畫素的視訊訊號通過TMDS通道傳輸,將每通道8位的訊號編碼轉換為10位,在每個10位畫素時鐘週期傳送一個最小化的訊號序列,視訊訊號被調製為TMDS資料訊號傳送出去,最後到接受器中接收。

五、HDMI音訊功能

   傳統的數字音訊訊號的傳輸主要依靠兩種途徑:同軸電纜和光纖傳輸。

            同軸電纜傳輸數字音訊訊號是一種非常成熟且高質量的方式。這種介面標準對裝置端的硬體要求較低,但是在傳輸高頻訊號時,容易發生比較大的衰減,影響到最終音質。

            光纖對裝置接收、發射端的同步時許要求非常嚴格,在技術上比同軸要難於實現,但是光纖技術在長距離傳輸方面的優勢非常明顯,不會出現同軸電纜長距離衰減過大的問題,因此也得到了很多有距離限制以及新裝修使用者的青睞。

            HDMI技術則綜合了以上兩者的優點:物理層採用成熟的電纜連線。HDMI理論上可以實現最高20米的無損耗數字音訊訊號傳播,那些對距離有要求的使用者也能較好接受。

六、HDMI介面型別

    常見的HDMI型別有A、B、C三種類型。其中A型是標準的19針HDMI介面,普及率最高;B型介面尺寸稍大,但是有29個引腳,可以提供雙TMDS傳輸通道。而C型介面和A型介面效能一致,但是體

積較小,更加適合緊湊型便攜裝置使用。介面A、介面B、介面C

 

七、HDMI特點

1、更好的抗干擾性能,能實現最長20米的無增益傳輸。

2、針對大尺寸數字平板電視解析度進行優化,相容性好。

3、支援EDID(注1)和DDC2B(注2)標準,裝置之間可以智慧選擇最佳匹配的連線方式。

4、擁有強大的版權保護機制(HDCP(注3)),有效防止盜版現象。

5、支援24bit色深處理,(RGB、YCbCr4-4-4、YCbCr4-2-2)。

6、介面體積小,各種裝置都能輕鬆安裝。

7、一根線纜實現數字音訊、視訊訊號同步傳輸,有效降低使用成本和繁雜程度。

8、完全相容DVI介面標準,使用者不用擔心新舊系統不匹配。

9、支援熱插拔技術。


相關推薦

android HDMI ()HDMI基礎

關鍵詞:android 4.0 HDMI平臺資訊:核心:linux3.0系統:android4.0.3平臺:S5PV310(samsung exynos 4210)作者:xubin341719(歡迎轉載,請註明作者)            說到android的HDMI,從an

前端知識學習 CSS基礎

分隔 color html元素 http 方式 瀏覽器 單位 工作 分離 一.CSS概述     css指的是層疊樣式表,樣式定義如何顯示HTML元素,樣式通常存儲在樣式表中,   把樣式添加到HTML4.0中,是為了解決內容和表現分離的問題。外部樣式表通常存儲在css文件

Python學習序列基礎詳解

list ava author 萬裏 單個 使用下標 不能 get 分別是 作者:NiceCui 本文謝絕轉載,如需轉載需征得作者本人同意,謝謝。 本文鏈接:http://www.cnblogs.com/NiceCui/p/7858473.html 郵箱:moyi

串口編程() 理論基礎

^h 傳輸 net 主設備號 數據 art IT ^c 終端設備 1. 終端設備 Linux具備多種終端設備類型: 當前終端 前臺控制臺終端 串口 虛擬終端 /dev/tty /dev/tty 5 0 syste

課後筆記Python基礎語法介紹(1)

Python3.6.5我們總是找借口說還有時間去做某事,或者完成某事,結果總是不了了之。比如拖到現在才寫第一課聽課筆記。 第一節課,老師對以下內容做了分享,大致分為 環境配置 開發平臺:Mac OS Version 10.13.2 老師講課的是在Windows 10 我選擇在Mac OS進行Pyth

MATLAB學習筆記MATLAB基礎知識,陣列基礎知識

1. Schedule Week Topic/Event Notes 1 簡介 2 MATLAB計算機與矩陣操作 3 結構化程式與自定義函式 4 變數與檔案存取 5 初階繪圖 6 進階繪圖 2. MATLAB

夯實基礎系列Java 基礎總結

前言 大學期間接觸 Java 的時間也不短了,不論學習還是實習,都讓我發覺基礎的重要性。網際網路發展太快了,各種框架各種技術更新迭代的速度非常快,可能你剛好掌握了一門技術的應用,它卻已經走在淘汰的邊緣了。 而學習新技術總要付出一定的時間成本,那麼怎麼降低時間成本呢?那就是打好基礎,技術再怎麼革新,底層的東西也

JavaEE複習回顧十基礎加強) 類載入器 && 註解 && 動態代理

參考文章: 1,動態代理——從一竅不通到恍然大悟 2,UML類圖與類的關係詳解   一,類載入器 1.1 什麼是類載入器,作用是什麼? 一個自己編寫的 Java 程式碼原始檔,起執行的過程主要分為三個階段。 第一個階段: SOURCE 級別,即原始碼階段,已

深入瞭解Android藍芽Bluetooth——《基礎

什麼是藍芽?   也可以說是藍芽技術。所謂藍芽(Bluetooth)技術,實際上是一種短距離無線電技術,是由愛立信公司公司發明的。利用“藍芽”技術,能夠有效地簡化掌上電腦、膝上型電腦和行動電話手機等行動通訊終端裝置之間的通訊,也能夠成功地簡化以上這些裝置與因特網

Linux效能優化從入門到實戰04 基礎CPU使用率

  CPU使用率是單位時間內CPU使用情況的統計,以百分比方式展示。 $ top top - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00, 0.01, 0.00 Tasks: 198 total, 1 runni

《圖解HTTP》讀書筆記(網路基礎TCP/IP)

好書什麼時候開始讀都不晚。作為一個測試人員,是一定要掌握一些網路的基礎知識的。希望能夠邊讀書邊在這裡記錄筆記,便於加深理解以及日後查閱。 一、TCP/IP協議族 計算機與網路裝置要互相通訊,雙方必須基於相同的方法。比如,探測訊號目標、由誰先發起通訊、使用哪種語言進行通訊、怎樣結束通訊等規則需要事先確定。我

Android資料庫sqlite語句增刪改查

SQLite資料型別 一般資料採用的固定的靜態資料型別,而SQLite採用的是動態資料型別,會根據存入值自動判斷。SQLite具有以下五種常用的資料型別: NULL: 這個值為空值; VARCHAR(n):長度不固定且其最大長度為 n 的字串,n不能超過

《深入淺出MySQL》 讀書筆記SQL基礎

一、SQL分類 1、create、drop、alter等,屬於 資料定義語言 2、insert、delete、update、select 屬於 資料操縱語句 3、grant等 定義訪問許可權和安全級別 屬於 資料控制語句 二、資料定義語句 mysql -uroot -p 輸入密

測試開發工程師面試總結()——Java基礎

本文面向物件:測試開發工程師(服務端自動化方向)。 隨手百度一下都能找到**崗位面試總結,但是有關測開崗位的面試總結卻寥寥無幾。總體原因可能是這兩個:1 測試行業整體水平參差不齊,導致不同公司面試的問題不能抽象出來寫概覽。2 很多做測開的人可能內心對

flume學習flume基礎知識

一.Flume使用的前提:  Flume使用 java編寫,其需要執行在 Java1.6或更高版本之上。 二.Flume的定義:  Flume是一個分散式、可靠、高效可用的海量日誌採集、聚合和傳輸系

TCP/IP入門()網路基礎知識彙總

1.小的知識點 1.1.計算機網路 根據計算機網路的規模,可分為WAN(Wide Area Network,廣域網)和LAN(Local Area Network,區域網) 1.2.協議 協議就是計算機與計算機之間通過網路實現通訊

Android自定義View之基礎——座標系

1、前言 手機螢幕座標系與數學座標系的不同,主要留意y軸方向。 2、手機座標系 (1)螢幕座標系/Android座標系 以螢幕左上角為原點。如圖所示,圖中綠色邊框位置為螢幕所在區域,其中綠色邊框左上角為原點。 (2)View座標系 如圖,手機螢幕區域,即上

Android NDK入門Eclipse教程

**NDK開發越來越火,企業目前對Android開發者掌握NDK開發技術的需求越來越大。 下面我們就來進入NDK的HolloWorld.** 一、準備工作 1.下載NDK外掛並解壓:

RocksDB系列RocksDB基礎和入門

1、簡介       RocksDB是FaceBook起初作為實驗性質開發的一個高效資料庫軟體,旨在充分實現快存上儲存資料的服務能力。RocksDB是一個c++庫,可以用來儲存keys和values,且keys和values可以是任意的位元組流,支援原子的讀和寫。除此外,Ro

Android瀏覽器()Webkit專案與Chromuim專案

   目前,移動裝置瀏覽器上常用的核心有Webkit,Blink,Trident,Gecko等,其中iPhone和iPad等蘋果iOS平臺主要是WebKit,Android 4.4之前的Android系統瀏覽器核心是WebKit,Android4.4系統瀏覽器切換到了Ch