Chapter 6 數字視頻介面——專業視頻分量介面
來自專欄 Video Demystified
這篇主要介紹專業視頻分量介面。
上圖列出了用於專業視頻的並行和串列數字介面標準。
從圖中我們可以看到,對於不同的解析度、不同的採樣頻率、串列/並行,數字介面的標準也不同。
視頻時序
我們知道,一個採樣線上的數據,可以分為消隱期的數據和有效視頻數據。有效視頻數據傳輸視頻的像素值,而消隱期的數據是沒有用的(從模擬視頻上採樣的數據)。因此,我們可以在消隱期傳輸一些和視頻相關的數據,比如數字音頻、圖文電視、字幕等等。
消隱期的開始和結束也就是有效視頻的結束(EAV,End of Active Video)和開始(SAV,Start of Active Video)。SAV和EAV序列的優先順序必須高於有效視頻數據或輔助數據,以保證視頻正常傳輸。
視頻時序是通過三個時序信號進行控制的,行消隱信號H、列消隱信號V、場信號F。
H:0→1,進入場消隱,有效視頻結束,此時是EAV序列。
H:1→0,結束場消隱,有效視頻開始,此時是SAV序列。
F和V只能在EAV處發成改變。
專業視頻分量介面可以使用8位或10位。10位中0x000~0x003和0x3FC~0x3FF範圍內的值作為時序信息,8位中的0x00和0xFF作為時序信息。
EAV或SAV序列包括以下數據,F、V、H、P3、P2、P1、P0。
P3=V⊕H P2=F⊕H P1=F⊕V P0=F⊕V⊕H
P3、P2、P1、P0是保護位,用於糾錯。
上圖是EAV或SAV序列的例子,數據可以是8 bits也可以是10 bits。
如果P3、P2、P1、P0和F、V、H不相符,會進行糾錯,糾錯原則如下表。
下面舉一個視頻時序的例子。
在上述例子中,首先是EAV碼,首先是前導碼3FF、000、000,這個前導碼是固定的,代表EAV開始,之後的XYZ代表EAV所攜帶的信息。EAV後是消隱期,消隱期要結束時,是SAV碼,和EAV碼相似。SAV碼後是有效視頻數據。
輔助數據
輔助數據用於消隱期內發送非視頻數據信息(字幕、音頻等)。也就是說,在行消隱期,輔助數據在EAV和SAV間傳輸;在場消隱期,輔助數據在SAV和EAV間傳輸。
在消隱期內可以提供多個輔助數據包,如同時提供音頻和字幕,但是輔助數據包之間必須是連續的。
輔助數據不能包含10位值0x000~0x003、0x3FC~0x3FF,8位值0x00、0xFF(它們用作時序信息)。
具體的輔助數據包格式如有需要,參見Video Demystified。
並行介面
- 25引腳並行介面
- 93引腳並行介面
- 應用
25引腳並行介面
這類介面主要用於傳輸SDTV解析度、格式為4:2:2的YCbCr數據。傳輸10位或8位數據時鐘。
Y有10個數據位,標稱範圍0x040~0x3AC;消隱期內,如果沒有提供數據,Y為0x040。
CbCr有10個數據位,標稱範圍0x040~0x3C0;消隱期內,如果沒有提供數據,CbCr為0x200。
93引腳並行介面
這類介面是用於對HDTV解析度的RGB數據、4:2:2的YCbCr數據或4:2:2:4的YCbCrK數據進行變換。
傳輸4:2:2 YCbCr數據時,G通道載入Y信息,R通道載入復用的CbCr信息。
傳輸4:2:2:4 YCbCrK數據時,G通道載入Y信息,R通道載入復用的CbCr信息,B通道載入K(alpha通道)信息。
Y有10個數據位,標稱範圍0x040~0x3AC;消隱期內,如果沒有提供數據,Y為0x040。
CbCr有10個數據位,標稱範圍0x040~0x3C0;消隱期內,如果沒有提供數據,CbCr為0x200。
RGB和K有10個數據位,標稱範圍0x040~0x3AC。消隱期內,如果沒有提供數據,RGB為0x040。
應用
可以用一個或多個並行介面在設備之間傳輸各種視屏格式。
Video Demystified中舉了很多視頻時序的例子,可以參看一下,加深自己對數字視頻時序的理解。
串列介面
並行格式可以轉換為串列格式,轉換如下圖所示。
如圖所示,並行的4:2:2視頻數據有10位,該並行數據首先經過移位寄存器(Shift Register)轉化成串列的數據,並且採樣時鐘也要變成原來的10倍(10×PLL),此外,要進行加擾(Scrambler)處理。
在實際的數字通信過程中,信息流在經過編碼處理後,可能會出現連續的「0」或連續的「1」,這樣破壞了「0」碼和「1」碼的平衡,這樣將影響位同步的建立和保持。而加擾則是通過一個偽隨機序列對輸入的傳送碼流進行擾亂處理,二進位數字信息做「隨機化」處理,變為偽隨機序列,避免這種情況出現。
上述就是加擾的意義,具體加擾的演算法原理不做介紹,解擾(Descrambler)是加擾的反運算。
經過加擾處理後,我們就得到了串列數據。
如果原來是8位數據,串列化之前,在EAV和SAV期間,編碼0x00和0xFF擴展為10位的0x000和0x3FF。其他8位數據串列化之前在最低有效位後加兩個0。
下面是一些常用的串列介面。(串列數字介面,Serial Digital Interface,SDI)
SD-SDI,270Mbps串列介面,用於將27MHz的並行數據流轉換為270Mbps的串列數據流。10倍PLL使用27MHz時鐘信號來生成270MHz的時鐘。這種介面主要用於480i和576i的4:3系統。
SD-SDI,360Mbps串列介面,用於將36MHz的並行數據流轉換為360Mbps的串列數據流。10倍PLL使用36MHz時鐘信號來生成360MHz的時鐘。這種介面主要用於480i和576i的16:9系統。
ED-SDI,540Mbps串列介面,用於將27MHz或54MHz的並行數據流轉換為540Mbps的串列數據流。10倍PLL使用54MHz時鐘信號來生成540MHz的時鐘。這種介面主要用於480p和576p的系統。
HD-SDI,1.485Gbps或1.4835Gbps串列介面,用於將74.25MHz或74.176MHz的並行數據流以復用的方式轉換為1.485Gbps或1.4835Gbps的串列數據流。20倍PLL使用74.25MHz或74.176MHz時鐘信號來生成1.485Gbps或1.4835Gbps的時鐘。這種介面主要用於HDTV系統。
推薦閱讀:
※眼滑 | Pro的技術與風格大賞
※唐唐big笑工坊為什麼叫唐唐?
※一個用十年時間解決的問題
※女生什麼樣的行為會讓人感覺溫暖有教養
※Adobe公司的一些圖片,視頻編輯軟體介紹