itu-r bt.656定義了一個並行的硬體接口用來傳送一路4:2:2的ycbcr的數字視頻流。
1.參考論文:
視頻流的解析度為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進行插值運算,分擔了一部分視頻處理器的工作量。
1 硬體連線
圖1展示了一個bt.656並行硬體接口用來連線一個視頻處理器和視頻編碼器的情況。該硬體接口由8根數據信號和1根時鐘信號組成。
圖2所示是通過fpga擴展4路視頻的連線方式。fpga通過bt.656接口接收視頻處理器發出的數據信號,然後將4路視頻信號分離、插值後通過4路bt.656並行硬體接口輸出到4個視頻編碼器,實現視頻處理器一個視頻輸出連線埠同時輸出4路視頻信號。
2 數據結構
2.1 標準bt.656並行數據結構
bt.656並行接口除了傳輸4:2:2的ycbcr視頻數據流外,還有行、列同步所用的控制信號。如圖3所示,一幀圖像數據由一個625行、每行1 728位元組的數據塊組成。其中,23~311行是偶數場視頻數據,336~624行是奇數場視頻數據,其餘為垂直控制信號。
bt.656每行的數據結構如圖4所示。
圖4中,每行數據包含水平控制信號和ycbcr。視頻數據信號。視頻數據信號排列順序為cb-y-cr-y。每行開始的288位元組為行控制信號,開始的4位元組為eav信號(有效視頻結束),緊接著280個固定填充數據,最後是4位元組的sav信號(有效視頻起始)。
sav和eav信號有3位元組的前導:ff、ff、00;最後1位元組xy表示該行位於整個數據幀的位置及如何區分sav、eav。xy位元組各比特位含義見圖5。
圖5中,最高位bit7為固定數據1;f=0表示偶數場,f=1表示奇數場;v=0表示該行為有效視頻數據,v=1表示該行沒有有效視頻數據;h=0表示為sav信號,h=1表示為eav信號;p3~p0為保護信號,由f、v、h信號計算生成;p3=v異或h;p2=f異或h;p1=f異或v;p0=f異或v異或h。
2.2 使用bt.656並行接口傳輸4路cif格式視頻的數據結構
視頻處理器的輸出是靈活多變的,可以改變處理器的輸出數據結構來同時傳送4路252×288像素的視頻信號。bt.656並行接口傳輸的有效視頻數據流為720×586,正好可以分割為4個360×288像素的空間來傳輸4路352×288像素的視頻數據。多餘的空間用固定數據“8010”進行填充。
修改後的數據結構如圖6所示。
原來存放第1場的數據的位置用來存放第1、第2路視頻數據;原來存放第2場的數據的位置用來存放第3、第4路視頻數據。
3 fpga實現的功能
fpga主要用來完成4路352×288像素視頻流的分離,以及將視頻流插值到標準bt.656接口所需的720×586像素的解析度。同時,該fpga還要重新生成sav、eav幀控制信號,結合插值後的4路視頻流產生新的符合bt.656結構的數據幀傳送給視頻編碼設備。其功能框圖如圖7所示。
首先,4路352×288像素的視頻流從bt.656結構的幀結構中分離出來,分別存儲到各自的存儲空間。然後,352×288像素的視頻流被讀取、插值為704×288像素,然後再填充為720×288像素的視頻流。在成幀的模組中,產生bt.656的幀結構所需的sav、eav信號;將插值生成的720×288像素的數據作為偶數場的數據填入bt.656的幀結構中,奇數場的數據複製偶數場的數據。最後,將生成的bt.656標準視頻流傳送給視頻編碼器輸出到顯示終端上。
3.1 存儲器選擇
由於需要同時存儲4路352×288的視頻流,需要的存儲空間為4路×288行×352×2位元組(視頻流為4:2:2的ycbcr信號,一個點通過亮度信號和色差信號來表示,所以圖像的一個點實際占用2位元組)。計算可得需要800 kb左右的空間。低成本的fpga內部很難提供如此多的存儲空間,可以外掛一片1mb容量的sram用於存儲視頻數據。
bt.656接口定義的時鐘頻率為27 mhz。sram要能提供1路8 bit×27 mhz數據寫入,4路8bit×27 mhz讀出,總共1gbit/s以上的數據頻寬。可以選擇位寬為16 bit、工作時鐘頻率100 mhz、頻寬為1.6gbit/s的sram。
3.2 插值算法
將352×288像素的原始視頻流變換為714×288像素的視頻流就需要進行插值。該插值運算是一維的,也就是說只需要加倍每行的點數而行數不變。插值運算前,應該先將y、cb、cr信號分離,然後分別對y、cb、cr信號進行插值。簡單的插值法有最近鄰域法和線性插值法等。最近鄰域法是插入點的值簡單複製鄰近點的值;線性插值法是插入點相鄰的兩個數據取算術平均值,得到插入值。套用更加複雜的插值算法可以改善圖像質量。在本文設計中,實現這兩種簡單的插值方法就已經滿足需求。
4 結束語
本文提出一種利用一個bt.656接口傳輸4路視頻流的方法。該方法利用fpga接收4路cif格式的視頻數據,然後分離、插值為4路d1格式視頻流後,重新生成bt.656的數據幀傳送給視頻編碼晶片,從而實現視頻處理器的一個硬體接口傳輸4路視頻圖像。通過該方法可以克服視頻處理器晶片輸出連線埠的限制,增加了其擴展性。在實際測試和套用中,取得了滿意的效果。
標準BT.656並行數據結構
BT.656並行接口除了傳輸4:2:2的YCbCr視頻數據流外,還有行、列同步所用的控制信號。如圖3所示,一幀圖像數據由一個625行、每行1 728位元組的數據塊組成。其中,23~311行是偶數場視頻數據,336~624行是奇數場視頻數據,其餘為垂直控制信號。
BT.656每行的數據結構如圖4所示。
圖4中,每行數據包含水平控制信號和YCbCr。視頻數據信號。視頻數據信號排列順序為Cb-Y-Cr-Y。每行開始的288位元組為行控制信號,開始的4位元組為EAV信號(有效視頻結束),緊接著280個固定填充數據,最後是4位元組的SAV信號(有效視頻起始)。
SAV和EAV信號有3位元組的前導:FF、FF、00;最後1位元組XY表示該行位於整個數據幀的位置及如何區分SAV、EAV。XY位元組各比特位含義見圖5。
圖5中,最高位bit7為固定數據1;F=0表示偶數場,F=1表示奇數場;V=0表示該行為有效視頻數據,V=1表示該行沒有有效視頻數據;H=0表示為SAV信號,H=1表示為EAV信號;P3~P0為保護信號,由F、V、H信號計算生成;P3=V異或H;P2=F異或H;P1=F異或V;P0=F異或V異或H。
*****************************************************************************************************
ITU-R601/656 原名CCIR601/656,是國際電信協會提出的一個視頻標準。
名詞解釋:BT.656 : This ITU recommendation defines a parallel interface (8-bit or 10-bit, 27 MHz) and a serial interface (270 Mbps) for the transmission of 4:3 BT.601 4:2:2 YCbCr digital video between pro-video equipment.
國際電信聯盟無線電通信部門656-3號建議書:
工作在ITU-RBT.601建議(部分A)的4:2:2級別上的525行和625行
電視系統中的數字分量視頻信號的接口
國際電聯無線電通信全會考慮到:
a)對於電視廣播機構和節目製作者,在525行和625行系統的數字演播室標準方面有最多個數的相同重要參數有明顯好處;
b)一種世界範圍兼容的數字方法將會使設備的開發具有許多共同特點,運行會更經濟,並便於國際間節目’的交換;
c)為實現上述目標,已以ITU-RBT.601建議的形式對數位電視演播室的基本編碼參數達成了協定;d)ITU-RBT.601建議的實際實施要求規定接口和通過接口的數據流的細節;e)這些接口在525行和625行兩型問應該具有最大的共同性;f)在ITU-RBT.601建議的實際實施中,希望對接口的串列和並行兩種形式都作出規定;
g)這些接口所產生的數位電視信號有可能是對其它業務的潛在干擾源,必須對無線電規則No.964給予應有的注意。建議凡在電視演播室里需要分量編碼數字視頻信號接口的地方,這些接口和通過它們的數據流應符合規定比特並行和比特串列實施的如下說明:
1引言
本建議描述了運行在525行或625行制式並符合ITU-RBT.601建議(部分A)中所規定的4:2:2編碼參數的數位電視設備的互連方法。
第一部分:接口的通用信號格式
1, 接口的一般描述
接口為在單一信號源與單一終點之間提供單向互連。並行和串列接口通用的單一信號格式在第2 節中描述。數據信號採取編碼成8 比特字(也可任選10 比特字’)的二進制信息的形式。這些信號是:
1:視頻信號,
2:定時基準信號,
3:輔助信號。
2,視頻數據
表1 場間隔定義
注1:信號F和V在數字行的開始時與有效視頻定時基準碼同步改變狀態。
注2:行數的定義見ITU-RBT.470 建議。注意數字行的行號如在ITU-R BT。601 建議(部分A)中描述的,在011 之前改變狀態。
2.1 編碼特性
視頻數據符合ITU-R BT.601 建議(部分A)和示於表l 的場消隱定義。
2.2 視頻數據格式
8 個最高有效比特都是l 或都為0 的數據字用於標識目的,所以256 個8 比特字中只有254 個(1024 個10 比特字中的1016 個)可以用於表示信號值。視頻數據字是以27 兆字/秒的速率復用傳送的,其順序是:Cb,Y,Cr,Y,Cb,Y,Cr,…… 其中,Cb,Y,Cr 這三個字指的是同址的亮度和色差信號取樣,後面的Y 字對應於下一個亮度取樣。
2.3 接口信號結構
圖l 示出了視頻取樣數據如何加入到接口數據流中。圖l 中的取樣標識符號符合ITU-RBT.601 建議(部分A)的標識符號。
2.4 視頻定時基準碼(SAV,EAV)
有兩個定時基準信號,一個在每個視頻數據塊的開始(Start of ActiveVideo,SAV),另一個在每個視頻數據塊的結束(End of Active Video,EAV),如圖l 所示。
每個定時基準信號由4 個字的序列組成,格式如下:
FF 00 00 XY (數值以16 進制表示,FF 00 留供定時基準信號用。)頭三個是固定前綴,第4 個字包含定義第二場標識、場消隱狀態和行消隱狀態的信息。
定時基準信號內的比特分配列於表2。
數據比特號 第一字(FF) 第二字(00) 第三字(00) 第四字(XY)
注1:示出的數值是為10 比特接口的建議值。
注2:為了與已有的8 比特接口兼容,D1和DO 比特的值末作規定。F=0/1 第l/2 場時,V=0/1 其它處/場消隱時。H=0/1 有效視頻開始處(SAV)/有效視頻結束處(EAV)P0,P1,P2,P3:保護比特(見表3)MSB:最高有效比特表l 規定了V 和F 比特的狀態。P0,P1,P2,P3 比特的狀態決定於F,V 比特的狀態,見表3。在接收機中,這種安排容許糾正l 比特誤碼和檢出2 比特誤碼。
2.5 輔助數據
對在消隱期間以27 MWord/s 的速率同步插入到復用組中的輔助數據做了規定。輔助數據信號可以以10 比特形式只在行消隱期間傳送,還可以以8 比特形式只在場消隱中的行的有效期間傳送(應當指出:符合ITU-RBT.657 建議的數字錄像機既不記錄行消隱期間的數據,也不記錄場消隱期間的某些行)。數據值00.Xh 和FF.Xb(見第2.2節)保留用於標識目的。所以不能在輔助數據中出現。
在場消隱期間的行有效部分載送的所有輔助數據信號必需加前綴:FF.x FF.x 除非作為一件特殊設備想要有的功能,輔助信號不應被設備改變。
2.6 消隱期間的數據字
在數字消隱期間出現不用作定時基準碼或輔助數據的數據字時,應在復用起來的數據中的適當位置上填入相當於Cb,Y,Cr,Y 信號消隱電平的80.0h,10.0h,80.0h, 10.0h 等序列。Horizontal Format
The overall format of one complete line of the digital video data stream includes the following sections. The horizontal scan is considered to start with the beginning of the EAV section.
· EAV - End of Active Video (timing reference signal) 2 samples (4 words)
· Horizontal blanking 134 samples (268 words)
· SAV - Start of Active Video (timing reference signal) 2 samples (4 words)
· Active video 720 samples (1440 words)
EAV Timing Reference Signal:
The EAV Timing Reference consists of four words in the following format:
where:
F = Field select (defines which vertical scan during interlace scanning)
V = Vertical blanking
H = 1 indicating EAV
E3 = V xor H
E2 = F xor H
E1 = F xor V
E0 = F xor V xor H
Horizontal Blanking:
The horizontal blanking section consists of a repeating pattern: 1000 0000 0001 0000 ........
SAV Timing Reference Signal:
The SAV Timing Reference consists of four words in the following format:
where:
F = Field select (defines which vertical scan during interlace scanning)
V = Vertical blanking
H = 0 indicating SAV
E3 = V xor H
E2 = F xor H
E1 = F xor V
E0 = F xor V xor H
Active Video:
The active video section consists of the Y, Cb, Cr data in the following sequence. The Y, Cb and Cr values are the scaled, offset, digitized versions of Y, U and V.
· Cr
· Y
· Cb
· Y
Vertical Format
The details of the vertical format are shown in the complete screen diagrammed below. The scan is of the interlace type which means that the odd lines are scanned first, followed by the even lines. The symbols "F" and "V" refer to the values contained in bits P8 and P7 of the EAV and SAV timing reference words.