凡是作模擬信號採集的,不多不涉及BT.656標準的,由於常見的模擬視頻信號採集芯片都支持輸出BT.656的數字信號,那麼,BT.656究竟是何種格式呢?
本文將主要介紹標準的 8bit BT656(4:2:2)YCbCr SDTV(標清) 數字視頻信號格式,主要針對剛剛入門模擬視頻採集的初學者入門之用。微信
1.幀的概念(Frame)
一個視頻序列是由N個幀組成的,採集圖像的時候通常有2種掃描方式,一種是逐行掃描(progressive scanning),一種是隔行掃描(interlaced scanning)。對於隔行掃描,每一幀通常有2個場(field),一個叫頂場(top field),一個叫底場(bottom field)。假設一幀圖像是720行,那麼,頂場就包含其中全部的偶數行,而底場則包含其中全部的奇數行。ide
2.場的概念(field)
注意,上面提到頂場和底場,用的是「包含」二字,而不是說徹底由後者組成,由於在BT.656標準中,一個場是由三個部分組成的:url
場 = 垂直消隱頂場(FirstVertical Blanking) + 有效數據行(ActiveVideo) + 垂直消隱底場(Second Vertical Blanking)spa
對於頂場,有效數據行就是一幀圖像的全部偶數行,而底場,有效數據行就是一幀圖像的全部奇數行。頂場和底場的空白行的個數也有所不一樣,那麼,對於一個標準的 8bit BT656(4:2:2)SDTV(標清)的視頻而言,對於一幀圖像,其格式定義以下:.net
對於PAL制式,每一幀有625行,其中,頂場有效數據288行,底場有效數據也是288行,其他行即爲垂直消隱信號。爲何是288行?由於PAL制式的SDTV或者D1的分辨率爲 720*576,即一幀有576行,故一場爲288行。頂場有效數據的起始行爲第23行,底場有效數據的起始行爲第335行。3d
3。行的概念(Lines)
下面說明每一行的組成,一行是由4個部分組成:orm
行 = 結束碼(EAV) + 水平消隱(Horizontal Vertical Blanking) + 起始碼(SAV) + 有效數據(Active Video)視頻
典型的一行數據組成如圖1所示:blog
圖1 SD-SDI行數據格式
ip
起始碼(SAV)和結束碼(EAV),它是標誌着一行的開始結束的重要標記,也包含了其餘的一些重要的信息,後面將會講到。
爲何一行中的有效數據是 1440 字節?由於PAL制式的SDTV或者D1的分辨率爲 720*576,即一行有720個有效點,因爲採集的是彩色圖像,那麼一行就是由亮度信息(Y)和色差信息(CbCr)組成的,因爲是 YCbCr422格式,故一行中有720列Y,720列CbCr,這樣,一行的有效字節數就天然爲 720 × 2 = 1440 字節了。SDI-SD的數據都是422格式的,如圖2所示。
圖2 ITU-R BT656 422數字視頻流
其數據流如圖3所示,有兩個定時基準信號,一個在每一個視頻數據塊的開始(Start ofActiveVideo,SAV),另外一個在每一個視頻數據塊的結束(End of Active Video,EAV);每一個定時基準信號由4個字的序列組成,格式以下:FF 00 00 XY(16進制)頭三個是固定前綴,第4個字包含定義第二場標識、場消隱狀態和行消隱狀態的信息。
圖3 SD-SDI數據流格式
圖4 SD-SDI時序圖
每一個字節數據的含義如圖5所示,請注意,視頻數據有一個由三個字節構成的前導碼(8bit視頻是0xFF,0x00,0x00,而10bit視頻則是0x3FF, 0x000, 0x000),後面跟隨着XY狀態字,這個字除了包含F (場), V (垂直消隱)和 H (水平消隱)位以外,還包含了4個保護位,以實現單位錯誤的檢測和糾正。請注意,F和V只能做爲EAV序列的一部分來變化(即,從H = 0切換到H = 1)。此外,請注意,對於10bit視頻來講,增長的兩位其實是最低位,而不是最高位。
圖5 SD-SDI數據字節含義
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3-0(P3P2P1P0) |
Hex |
Description |
1 |
0 |
0 |
0 |
0000 |
0x80 |
Even,Active,SAV |
1 |
0 |
0 |
1 |
1101 |
0x9d |
Even, Active,EAV |
1 |
0 |
1 |
0 |
1011 |
0xab |
Even,Blank, SAV |
1 |
0 |
1 |
1 |
0110 |
0xb6 |
Even, Blank, EAV |
1 |
1 |
0 |
0 |
0111 |
0xc7 |
Odd, Active, SAV |
1 |
1 |
0 |
1 |
1010 |
0xda |
Odd, Active, EAV |
1 |
1 |
1 |
0 |
1100 |
0xec |
Odd, Blank, SAV |
1 |
1 |
1 |
1 |
0001 |
0xf1 |
Odd, Blank, EAV |
4.視頻時序
4.1 720×576p @50Hz時序圖如圖6所示。
4.2 720×480p@59.94/60Hz
720×480p @59.94、60Hz時序圖如圖7所示。4.3 720×576i@50Hz
720×576i @50Hz時序圖如圖8所示。
4.4 720×480i@59.94/60Hz
720×480i @59.94/60Hz時序圖如圖9所示。
本文分享自微信公衆號 - 瓜大三哥(xiguazai_tortoise)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。