[HDMI]TMDS編碼算法分析(2)


HDMI採用和DVI相同的傳輸原理--TMDS(Transition Minimized Differential signal),最小傳輸差分信號。TMDS支持高達225MHz的傳輸速率,一個傳輸鏈路能滿足高達2048*1536分辨率電視信號。
TMDS的原理
 TMDS傳輸系統分爲分爲兩個部分:發送端和接收端。TMDS發送端收到HDMI接口傳來的表示RGB信號的24位並行數據(TMDS對每個像素的RGB三原色分別按8bit編碼,即R信號有8位,G信號有8位,B信號有8位),然後對這些數據進行編碼和並/串轉換,再將表示3個RGB信號的數據分別分配到獨立的傳輸通道發送出去。接收端接收來自發送端的串行信號,對其進行解碼和串/並轉換,然後發送到顯示器的控制端。與此同時也接收時鐘信號,以實現同步。
每一個TMDS鏈路都包括3個傳輸RGB信號的數據通道和1個傳輸時鐘信號的通道。每一個數據通道都通過編碼算法,將8位的視、音頻數據轉換成最小化傳輸、直流平衡的10位數據。這使得數據的傳輸和恢復更加可靠。最小化傳輸差分信號是通過異或及異或非等邏輯算法將原始8位信號數據轉換成10位,前8爲數據由原始信號經運算後獲得,第9位指示運算的方式,第10位用來對應直流平衡。
一般來說,HDMI傳輸的編碼格式中要包含視頻數據、控制數據和數據包(數據包中包含音頻數據和附加信息數據,例如糾錯碼等)。TMDS每個通道在傳輸時要包含一個2bit的控制數據、8bit的視頻數據或者4bit的數據包即可。在HDMI信息傳輸過程中,可以分爲三個階段:視頻數據傳輸週期、控制數據傳輸週期和數據包傳輸週期,分別對應上述的三種數據類型。
TMDS中採用的技術
1、最小傳輸化
8位數據經過編碼和直流平衡得到10位最小化數據,這彷彿增加了冗餘位,對傳輸鏈路的帶寬要求更高,但事實上,通過這種算法得到的10位數據在更長的同軸電纜中傳輸的可靠性增強了。

第一步:將8位並行RED數據發送到TMDS發送端。
第二步:並/串轉換.
第三步:進行最小化傳輸處理,加上第9位,即編碼過程。第9位數據稱爲編碼位。
2、直流平衡
直流平衡(DC-balanced)就是指在編碼過程中保證信道中直流偏移爲零。方法是在原來的9位數據的後面加上第10位數據,這樣,傳輸的數據趨於直流平衡,使信號對傳輸線的電磁干擾減少,提高信號傳輸的可靠性。
3、差分信號
TMDS差分傳動技術是一種利用2個引腳間電壓差來傳送信號的技術。傳輸數據的數值(“0”或者“1”)由兩腳間電壓正負極性和大小決定。即,採用2根線來傳輸信號,一根線上傳輸原來的信號,另一根線上傳輸與原來信號相反的信號。這樣接收端就可以通過讓一根線上的信號減去另一根線上的信號的方式來屏蔽電磁干擾,從而得到正確的信號。如圖所示:

HDMI的帶寬和TMDS的關係
HDMI電路中的時鐘頻率在最初制定時範圍在25MHz-165MHz之間,也就是說一個TMDS通道每秒最多能傳輸165MHz×10bit=1.65Gbit的數據,3個TMDS通道一秒就可以傳輸1.65×3=4.95Gbit的數據,再加上控制數據,用標準方法表示就是4.96Gbps的帶寬。而如果用像素點來表示,那就是一秒可以傳輸顯示1.65G個像素點(一個完整的像素點信息由R/G/B三原色信息構成)所需要的數據量。而HDTV最高標準:像素位1920*1080,逐行掃描,幀頻爲30,假設每幀掃描兩次,在1秒內的圖像數據量爲1920×1080×30×2=1.25G像素點。另外還有音頻數據和其他數據。
TMDS結構與元素
1、連接結構

數據流中包含了像素數據和控制數據,發送在任意給定的輸入時鐘週期中,那麼發送的編碼是像素數據還是控制數據,取決於數據使能信號DE,DE == 1 時發送像素數據,DE == 0發送的是控制數據,發送控制數據時忽略像素數據,反之成立。在接收端,恢復的像素數據僅在DE == 1時才傳輸,控制數據在DE == 0時傳輸。
發送端有相同的3個編碼器,每個編碼器的輸入2bit控制信號和8bit像素數據,編碼器會根據DE的狀態,按照2bit控制信號和8bit像素數據產生10bit的TMDS數據。每個編碼器輸出是串行TMDS數據流。
2、時鐘
TMDS時鐘通道的時鐘頻率就是字符速率,接收器利用這個時鐘,產生用於串行流接收的採樣時鐘,由於要求能容忍信號畸形,所以期望每個數據通道的採樣時鐘的相位能夠單獨調整。
3、同步
TMDS接收端主要要考慮的問題就是同步的問題,同步主要關注的是怎麼去檢測到串行數據流中的字符邊界。一旦所有的數據通道字符邊界被建立,我們就說,此時接收器與數據流同步並可以從數據通道中接收TMDS字符加以譯碼。TMDS數據流會提供週期性的提示同於同步及解碼。
用來作爲像素數據的TMDS字符包含5個或更少的跳變,而用來作爲控制數據的TMDS字符包含7個或更多的跳變。在空期間傳送的多跳變內容形成解碼端的字符邊界的基礎,這些字符在串行數據流中個體不是獨一無二,但它們足夠相似,使得,在發送空間隙期間,解碼器它們可以唯一地檢測出它們連續的存在。
4、編碼
TMDS數據通道傳送的是一個連續的10bit TMDS字符流,在空期間,傳送4個有顯著特徵的字符,它們直接對應編碼器的2個控制信號的4個可能的狀態。在數據有效期間,10bit的字符包含8bit的像素數據,編碼的字符提供近似的DC平衡,並最少化數據流的跳變次數,對有效像素數據的編碼處理可以認爲有兩個階段:
第一個階段是依據輸入的8bit像素數據產生跳變最少的9bit代碼字;
第二階段是產生一個10bit的代碼字,
最終的TMDS字符,將維持發送字符總體的DC平衡。
編碼器在第一個階段產生的9bit代碼字由“8bit” + “1bit”組成,“8bit”反映輸入的8bit數據位的跳變,“1bit”表示用來描述跳變的兩個方法中哪一個被使用,無論哪種方法,輸出的最低位都會與輸入的最低位相匹配。用一個建立的初值,輸出字的餘下7bit的產生是按照順序將輸入的每一位與前一導出的位進行XOR或NOR(XNOR)。使用XOR還是XNOR要看哪個方法使得編碼結果包含最少的跳變,代碼字的第9位用來表示導出輸出代碼是使用XOR還是XNOR,這9bit代碼字的解碼方法很簡單,就是相鄰位的XOR或XNOR操作。從解碼輸入到解碼器輸出最低位不改變。
在有效數據期間,編碼器執行使傳輸的數據流維持近似的DC平衡處理,這是通過選擇性地反轉第一階段產生的9bit代碼中的8bit數據位來實現的,第10bit被加到代碼字上,表示是否進行了反轉處理編碼器是基於跟蹤發送流中1和0個數的不一致以及當前代碼字1和0的數目來確定什麼時候反轉下一個TMDS字符。如果太多的1被髮送,且輸入包含的1多於0,則代碼字反轉,這個發送端的動態編碼決定在接收端可以很簡單地解碼出來,方法是以TMDS字符的第10bit決定是否對輸入代碼進行反轉。
5、雙連接結構
MDS連接結構的數據通道數目的選擇主要基於下面兩點考慮:
一是視頻數據要求的帶寬,
二是對每個像素的R、G、B分量,每個分量對應於一個通道,從而使得邏輯簡單。
在這裏雙TMDS鏈路等同於使用6個數據通道共享一個時鐘通道,這樣使得接口帶寬加倍。對於這個配置,第一個數據鏈路傳輸奇數像素點,而第二個數據鏈路傳輸偶數像素點。每一行的第一個像素是奇數像素,即爲像素1。

6、編碼
單鏈路TMDS發送器由三個相同的編碼器組成,如下圖,2個控制信號和8bit像素數據映射到每個編碼器,雙鏈路發送器增加了三個數據通道。
如上圖,雙鏈路配置在第一個鏈路上發送每行的奇像素,在第二個鏈路上發送每行的偶像素,每一行的第一個像素是奇數像素,即爲像素1。除了行同步HS和場同步VS外,其它控制信號的作用並沒有定義,在發送器的輸入端,控制信號CTL1、CLT2、CTL3必須保持邏輯低電平,推薦CTL0也保持邏輯低電平,由於歷史原因,某些發送器芯片可以通過CTL0傳遞一個控制信號,如果這麼做,僅需要滿足一個條件:這個信號發生在單像素輸入時鐘的奇邊緣或偶邊緣。當鏈路有效的時候,在奇偶之間一定不要來回切換。

7、編碼算法
TMDS編碼算法,如圖所示,在空間隙,編碼器產生4個獨一無二的字符,以及在有效的數據期間,產生460個獨一無二的10bit字符中的一個,在鏈路上,除此以外的其它10bit字符是保留的,編碼器不會產生這些字符。
D,C0,C1,DE 編碼器輸入數據集。D表示8bit 像素數據,C0和C1表示通道的控制數據,DE表示數據使能
CNT 寄存器,用來跟蹤數據流的不一致,正值表示發送的1的個數超過的數目,負數表示發送的0的個數超過的數目。表達式cnt{t-1}表示相對於輸入數據前一個集的前一個不一致值。表達式cnt{t}表示相對於輸入數據當前集的新的不一致設置。
q_out 編碼器產生10bit數
N1{x} 這個操作符返回參數x中的1的個數
N0{x} 這個操作符返回參數x中的0的個數

串行化
由編碼器形成的TMDS字符流轉換爲串行數據,用於在TMDS數據通道上發送,低位在前先發送。

8、解碼
時鐘恢復
TMDS接收器必須有能力相位鎖定與發送時鐘,發送時鐘的時鐘頻率範圍是25MHz到接收器的最大允許頻率,對輸入時鐘的相位鎖定必須發生在從輸入時鐘滿足規定起100ms之前。
數據同步
接收器要求在任何大於128字符長度的空間隙期間,建立與數據流的同步。
在同步檢測之前,和在丟失同步期間,接收器不應該更新接收到的數據流信號。
解碼算法
錯誤處理
TMDS鏈路不要求錯誤處理能力。
9、鏈路定時要求


符號 描述 單位
tB 最小空間隙,爲了在接收端確保字符邊界的恢復,要求有這個最短的空間隙,空間隙至少每50mS(20Hz)出現一次。 128 Tpixel
tE 最大編碼/並轉串電路管線延遲 64 Tpixel
tR 最大恢復/串轉並電路管線延遲,恢復定時包括通道間的抖動,從在數據通道間最早的DE跳變開始測量, 64 Tpixel
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章