1. 程式人生 > >視訊處理基礎知識整理

視訊處理基礎知識整理

一,ITU-R BT.656

ITU-R BT.656 8/10位資料傳輸;不需要同步訊號;序列資料傳輸;傳輸速率是601的2倍;先傳Y,後傳UV。行場同步訊號嵌入在資料流中。包含三部分 :
①:視訊訊號 
②:定時基準訊號:

有兩個定時基準訊號,一個在每個視訊資料塊的開始(Start of ActiveVideo,SAV),另一個在每個視訊資料塊的結束(End of Active Video,EAV);每個定時基準訊號由4 個字的序列組成,格式如下: FF 00 00 XY (16 進位制)頭三個是固定字首,第4 個字包含定義第二場標識、場消隱狀態和行消隱狀態的資訊。XY(MSB9-0)[1,F,V,H,P3,P2,P1,P0,0,0]

③:輔助訊號:

輔助資料訊號可以以10 位元形式只在行消隱期間傳送,還可以以8 位元形式只在場消隱中的行的有效期間傳送。

656輸出的是序列資料,行場同步訊號嵌入在資料流中;

 

ITU-RBT.656視訊標準介面PAL制式(720*576)每場由四部分組成。

●  有效視訊資料,分為奇場和偶場,均由288行組成。每行有1440個位元組,其中720個位元組為Y分量,360個位元組為Cb分量,360個位元組為Cr分量。Y分量的取值為16~235;Cb和Cr分量的取值為16~240。

●  水平消隱,有280個位元組。

●  垂直消隱。

●  控制字。

對於有效資料行,其格式如圖1所示。EAV和SAV為嵌入式控制字,分別表示有效視訊的終點和起點。EAV和SAV均為4個位元組構成,前3個位元組FF、00、00為固定頭,“XY”為控制字。“XY”的8個bit含義如下:

●  Bit7(Const),常數,總為1。

●  Bit6(F),場同步訊號,表示該行資料處於奇場還是偶場。

●  Bit5(V),垂直同步訊號,表示處於場消隱區間還是正程區間(有效資料行)。

●  Bit4(H),水平同步訊號,表示是“SAV”還是“EAV”。

●  Bit3-0(P3P2P1P0),糾錯位。P3=V(XOR)H;P2=F(XOR)H;P1=F(XOR)V;P0=F(XOR)V(XOR)H。

 

BT656

itu-r bt.656定義了一個並行的硬體介面用來傳送一路4:2:2的YCbCr的數字視訊流。視訊流的解析度為720×576畫素的d1格式。我們需要傳送的視訊資料來源通常是經過mpeg2壓縮的,解析度為352×288畫素的cif格式。在輸出到顯示終端前,處理器需要對cif格式的影象資料插值為d1(720×576畫素)格式,然後再通過itu-r bt.656並行的硬體介面輸出給視訊編碼器。在這種前提下,可以利用一個itu-r bt.656的硬體介面傳輸4路不同的cif格式的視訊資料流,然後在接收側通過fpga(現場可程式設計門陣列)將4路視訊資料流分離、插值生成d1格式的資料輸出給視訊編碼器。通過該方式,可以克服某些視訊處理器輸出埠的限制,使視訊輸出埠擴充套件為原來的4倍。同時,由於使用fpga進行插值運算,分擔了一部分視訊處理器的工作量。

 

 

二,幀 , 場 === 模擬視訊訊號採集的處理

 

凡是做模擬訊號採集的,很少不涉及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行,那麼,頂場就包含其中所有的偶數行,而底場則包含其中所有的奇數行。

 

2. 場的概念(field)   

    注意,上面提到頂場和底場,用的是“包含”二字,而不是說完全由後者組成,因為在BT.656標準中,一個場是由三個部分組成的:

   場 = 垂直消隱頂場(First Vertical Blanking) + 有效資料行(Active Video) + 垂直消隱底場(Second Vertical Blanking)

    對於頂場,有效資料行就是一幀影象的所有偶數行,而底場,有效資料行就是一幀影象的所有奇數行。頂場和底場的空白行的個數也有所不同,那麼,對於一個標準的 8bit BT656(4:2:2)SDTV(標清)的視訊而言,對於一幀影象,其格式定義如下:

 

   由上圖可以知道,對於PAL制式,每一幀有625行,其中,頂場有效資料288行,底場有效資料也是288行,其餘行即為垂直消隱訊號。為什麼是288行?因為PAL制式的SDTV或者D1的解析度為 720*576,即一幀有576行,故一場為288行。

    由上圖我們還可以知道,頂場有效資料的起始行為第23行,底場有效資料的起始行為第335行。

另外,上圖中的 F 標記奇偶場,V標記 是否為垂直消隱訊號。

 

3. 每一行的組成(Lines)

    下面說明每一行的組成,一行是由4個部分組成:

   行 = 結束碼(EAV) + 水平消隱(Horizontal Vertical Blanking) + 起始碼(SAV) + 有效資料(Active Video)

    典型的一行資料組成如下圖所示:

 

    起始碼(SAV)和結束碼(EAV),它是標誌著一行的開始結束的重要標記,也包含了其他的一些重要的資訊,後面將會講到。

為什麼一行中的有效資料是 1440 位元組? 因為PAL制式的SDTV或者D1的解析度為 720*576,即一行有720個有效點,由於採集的是彩色影象,那麼一行就是由亮度資訊(Y)和色差資訊(CbCr)組成的,由於是YCbCr422格式,故一行中有720列Y,720列CbCr,這樣,一行的有效位元組數就自然為 720 x 2 = 1440 位元組了。

 

4.  EAV和SAV

    EAV和SAV都是4個位元組(Bytes),由上面的圖可以知道,SAV後面跟著的就是有效的視訊資料了。那麼,EAV和SAV的格式是怎麼樣的呢?

    EAV和SAV的4個位元組的格式規定如下(下面以16進製表示):

    FF 00 00 XY

    其中,前三個位元組為固定的,必須是FF00 00,而第4個位元組(XY)是根據場、消隱資訊而定的,其8個bit含義如下: 1 F V H  P3 P2 P1 P0

    其中,F:標記場資訊,傳輸頂場時為0,傳輸底場時為1

    V:標記消隱資訊,傳輸消隱資料時為1,傳輸有效視訊資料時為0

    H:標記EAV還是SAV,SAV為0,EAV為1

    而 P0~P3為保護位元,其值取決於F、H、V,起到校驗的作用,計算方法如下:

 

 

三,奇數場和偶數場:

 

現行的電視制式都採用隔行掃描方法,一幀圖象分為奇數場和偶數場兩場。在高解析度數字圖象系統中,通常都要對視訊訊號的奇偶場進行識別。,視訊訊號中奇數場和偶數場的唯一區別是:奇數場的場同步訊號與該場的第1個行同步訊號同時出現,偶數場的場同步訊號比該場的第1個行同步訊號提前半行(32 s)出現。

     電視使用的PAL-D制採用的是隔行掃描方式,隔行掃描時電子束首先從左到右、從上到下掃描所有的單數行形成一場影象,然後電子束又回到頂端,再次從左到右、從上到下掃描所有的雙數行形成另一場影象。這兩個垂直方向交換顯示的掃描場構成每一幀完整的畫面,其中每個掃描場只包含掃描影象總行數的一半。我們把其中一個掃描場全部是單數行的稱為奇場或上場;把另一個掃描場的全部是雙數行的稱為偶場或下場。對於PAL制訊號來講,每秒掃描50場(即25幀)。

    由於隔行掃描存在奇偶場的問題,如果我們在節目製作時沒有“場”的意識,把奇偶場的順序弄反了,對最終作品的輸出質量有很大的影響,作品在監視器上播放時會出現抖動,變形,邊緣不清晰等現象。那到底是奇場優先,還是偶場優先呢?不同型別的視訊編輯卡,場的優先順序是不一樣的。我們只要將採集的視訊內容匯入視訊編輯軟體中,檢視其屬性,即可知道哪一場優先了。在實際操作中如果永遠用同一型別的卡採集素材,則只需要檢測一段並記住它(upper或 lower),後面的素材就可以跳過檢測直接設定你認為正確的即可。但對不明來源的素材(比如別人做的帶“場”的三維,另外的採集卡採集的視訊素材)等等,仍然需要檢測。