BT601和BT656
在日常的工作中我們常聽到BT601(CCIR601)和BT656的說法,另外老一點的文檔可能還會提到CCIR601,CCIR656的說法,今天就對這兩個概念做簡單說明。
首先說明一下ITU-R BT601/656和CCIR601/656的前世今生,CCIR (Consultative Committee of International Radio,國際無線電諮詢委員會) 是國際無線電諮詢委員會的簡稱。成立於1927年,是國際電信聯盟(ITU)的常設機構之一。主要職責是研究無線電通信和技術業務問題,並對這類問題通過建議書。從1993年3月1日起,與國際頻率登記委員會(IFRB)合併,成爲現今國際電信聯盟(ITU)無線電通信部門,簡稱ITU-R。之後更新的CCIR601/656建議書就正式更名爲ITU-R
BT601和ITU-R BT656。後文中我們就不做另外說明,統一用BT601和BT656來指代。
前面已經介紹了模擬視頻的標準和格式,但是模擬電視存在着許多難以克服的缺陷:多次傳輸或複製後會形成噪聲積累,信號的線性、非線性失真,亮色互擾,行間閃爍,爬行,微分相位和微分增益失真等等,致使圖像質量不斷下降。但這些缺陷大多可通過將模擬信號轉變爲數字信號進行處理、存儲、控制和傳輸來解決。爲了用數字處理和傳輸電視信號,首先要將模擬電視信號數字化,即對電視信號進行抽樣、量化和編碼。
在ITU-R關於數字電視的BT.601建議中,從電視廣播的角度闡明瞭如何對數字電視信號進行編碼。該標準支持兩種色彩空間,最簡單明瞭的是RGB紅綠藍色彩空間。這種色彩空間非常直觀,但是色彩通道之間的關係非常複雜,因此,並不適於進行視頻壓縮。每個像素都有三個色彩值,紅、綠、藍,視頻格式中的數值暗示了這三個值。例如,RGB888格式就表示紅色分量、綠色分量和藍色分量各佔8位。RGB666格式則表示每個像素中的這三個色彩分量各佔6位,而565格式則表示,紅色分量和藍色分量各佔5位,而綠色分量佔6位。RGB色彩空間在PC電腦顯示器爲基礎的Graphic顯示中比較常用。
目前,在數字電視及數字視頻中,最常用的、也是BT.601建議中首選的色彩空間是YCbCr色彩空間。其中,Y表示亮度分量,Cr或Cb表示色度分量。這些值是根據RGB值計算出的,相互獨立,也就是說,比RGB信號更適於進行壓縮。這也正是衆多製造商紛紛選擇採用這種色彩空間,BT.601建議也推選它的主要原因之一。
YCbCr顏色空間和它的變換(通常寫爲YUV)是一種流行而高效的表示一個顏色圖像的方法。Y是亮度值,由R,G,B的加權平均可以得到:Y=kr*R +kg*G + kb*B; 這裏kr,kb,kg是加權因子。kr + kb + kg =1
顏色信號可以由不同的顏色差別來表示:
Cb= B-Y; Cr =R-Y; Cg = G-Y
對於一個顏色圖像的完整的描述由給定Y和三個色差:
Cb, Cr, Cg 來表示。然後Cb+Cr+Cg是一個常數,那麼我們只需要兩個色度參數就可以了,第三個可以通過其他兩個計算出來。在YCbCr空間中,只有Y和Cb,Cr值被傳輸和存儲,而且Cb和Cr的分辨率可以比Y低,因爲人類視覺系統對於亮度更加敏感。這就減少了表示圖像的數據量。通常的觀察情況下,RGB和YCbCr表示的圖像看上去沒有什麼不同。對於色度採用比亮度低的分辨率進行採樣是一種簡單而有效的壓縮辦法。
一個RGB圖像可以在捕捉之後轉換爲YCbCr格式用來減少存儲和傳輸負擔。在顯示圖象之前,再轉回爲RGB。注意沒有必要去指明分別的加權值kg(因爲kb+kr+kg=1),而且G可以從YCbCr中解壓出來,這說明不需要存儲和傳輸Cg參數。
Y = krR + (1-kb-kr)G + kb B
Cb = 0.5/(1-kb) * (B-Y)
Cr = 0.5/(1-kr) * (R-Y)
則:
R = Y + (1-kr)/0.5 * Cr
G = Y - 2kb(1-kb)/(1-kb-kr) * Cb-2kr(1-kr)/(1-kb-kr) * Cr
B = Y + (1-kb)/0.5 * Cb
而ITU-R的BT.601決議定義了kb=0.114, kr=0.299,那麼代換參數就有了如下等式:
Y = 0.299R + 0.587G + 0.114B
Cb = 0.564(B - Y )
Cr = 0.713(R - Y )
即
Y = 0.299R + 0.587G + 0.114B
Cb = (-0.1687R - 0.3313G + 0.500B)
Cr = (0.500R - 0.4187G - 0.0813B)
則:
R = Y + 1.402Cr
G = Y - 0.344Cb - 0.714Cr
B = Y + 1.772Cb
對Cb和Cr加上偏置,就得到 BT601的色空間轉換公式:
Y = 0.299R + 0.587G + 0.114B
Cb = (-0.1687R - 0.3313G + 0.500B)+ 128
Cr = (0.500R - 0.4187G - 0.0813B) +128
ITU-R BT.601建議主要針對表示525行或625行隔行掃描數字電視圖像的像素特徵,規定了視頻信號數字編碼方法,包括針對寬高比爲4∶3和16∶9圖像的13.5MHz採樣率,這兩種圖像代表了當前傳輸制式所需的足夠性能。
國際電聯無線電通信全會,考慮到
a) 電視廣播公司和節目製作商在數字演播室標準中的明顯優勢,數字演播室標準擁有525行和625行系統通用的最大數目的有效參數值;
b) 全世界兼容的數字方法將允許開發具備許多共同特點的設備,允許運行的經濟性,並促進節目的國際交流;
c) 期望一個可擴展的兼容數字編碼標準族。該標準族中的成員可能與不同質量等級、不同的寬高比相對應,有助於當前生產技術所需的額外處理,並滿足未來需求;
d) 基於部分編碼的系統能夠滿足這些期望的目標;
e) 表示亮度和色差信號YCbCr(或者,如果使用了RGB色空間,爲紅色、綠色和藍色信號)的樣本,有助於當前生產技術所需的對數字部分信號的處理,建議在那些使用525行系統和使用625行系統的國家中,將BT601內容用作電視演播室數字編碼標準的基礎。
f) ITU-R BT.601建議的實際實施要求規定接口和通過接口的數據流的細節;
g) 這些接口在525行和625行兩種制式間應該具有最大的共同性;
h) 在ITU-RBT.601建議的實際實施中,希望對接口的串行和並行兩種形式都作出規定;
BT.601建議中明確規定,4:2:2YCbCr是適用於電視廣播應用的色彩空間。這就意味着,要對色度值進行二次取樣,每個像素一個亮度值,一個色度值(Cr或Cb)。BT.601建議支持對色彩空間分量值進行8位或10位量化。BT.601建議的最終結果是將NTSC和PAL制式標準化爲每行包含相同數量的有效像素,即720個有效像素。由於PAL信號的刷新率爲50場/秒,而NTSC信號的刷新率則爲60場/秒,所以通過在PAL信號中添加掃描行,實現了幀刷新率的標準化。
- 抽樣頻率的選擇
電視信號數字化抽樣頻率的選擇首先應滿足奈奎斯特抽樣定理,即抽樣頻率至少要等於視頻帶寬的兩倍。對於數字分量編碼,BT601建議亮度抽樣頻率爲525/60和625/50三大制式行頻公倍數2.25MHz的6倍,即13.5MHz。對現行電視制式而言,亮度信號的最大帶寬是6MHz,13.5MHz> (2×6MHz=12MHz),所以它符合奈奎斯特定理。而色差信號的帶寬比亮度信號窄得多,所以在分量編碼時兩個色差信號的抽樣頻率可以低一些。
因同時考慮到抽樣的樣點結構應滿足正交結構要求,兩個色差信號的抽樣頻率均選爲亮度信號抽樣頻率的一半,即6.75MHz,這樣亮度信號與兩個色差信號的抽樣頻率之比爲4∶2∶2。
2.數字分量視頻信號有效行取樣點數的確定
每行數字分量信號的取樣點數爲:
- 對於625行/50場制式(PAL/SECAM):每行亮度取樣點爲13.5Mhz/15625Hz=864點/行;每行每個色度取樣點爲6.75Mhz/15625Hz=432點/行。
- 對於525行/60場制式(NTSC):每行亮度取樣點爲13.5Mhz/15734.266Hz=858點/行;每行每色度取樣點爲6.75Mhz/15734Hz=429點/行。
可見,這兩種制式選用了相同的抽樣頻率,但每行取樣點數卻不相同。所以把兩者取樣點數之差別放在數字有效行以外的部分,而使每個數字有效行內的取樣點數相同。BT601建議兩種制式有效行內的取樣點數亮度信號取720個,兩個色差信號各取360個,即每個數字視頻的有效行包括720個亮度數據和720個色度數據 (兩個色度各360個),這樣就統一了數字分量編碼標準,使三種不同制式便於轉換和統一。所以有效行亮度信號與兩個色差信號的取樣點數之比也爲4:2:2(720:360:360)。
上述兩點即爲獲取高質量的後期製作由BT 601建議所確定的數字分量編碼標準:
亮度信號的抽樣頻率爲13.5MHz,每個色差信號的抽樣頻率爲6.75MHz,其抽樣頻率之比爲4:2:2,或者說,每數字有效行亮度信號的取樣點數是720個,每個色差信號的取樣點數是360個,其取樣點數之比也爲4:2:2,這就是數字分量編碼的4:2:2標準,也稱爲4:2:2格式。用作演播室數字設備及其聯接或國際節目交換時的數字化標準。
除了標準的4:2:2格式之外,還有將色差信號的抽樣頻率取爲3.375MHz的較低標準的4:1:1和4:2:0格式。
另外還有爲適合更高圖像質量要求而將色差信號抽樣頻率取爲13.5MHz的更高標準的4:4:4格式。
與數字視頻應用相關的基本定時信號是Hsync,即水平同步信號。該信號標定了一個視頻幀的每一個掃描行(從左至右)的有效視頻信號起點。Vsync是垂直同步信號,從上到下標定了一個新的視頻幀的起點。場是交織視頻獨有的信號,表示當前顯示的場是視頻幀的奇場還是偶場。在逐行掃描系統中,並不需要使用場信號。最後,是用於所有像素分量的數據時鐘信號。
- 數據量:BT 601規定,每個樣本點都按8位數字化,也即有256個等級。但實際上亮度信號佔220級,色度信號佔225級,其它位作同步、編碼等控制用。那麼如果按fs = 13.5Mhz的採樣率、4:2:2的格式採樣,則數字視頻的數據量爲:
13.5(MHz)×8(bit)+2×6.75(MHz)×8(bit)= 27Mbyte / s
同樣可以算出,如果按4:4:4的方式採樣,數字視頻的數據量爲每秒40兆字節!按每秒27兆字節的數據率計算,一段10秒鐘的數字視頻要佔用270兆字節的存儲空間。按此數據率,一張680兆字節容量的光盤只能記錄約25秒的數字視頻數據信息,其每秒27兆字節數據傳輸率也遠遠超過了當時計算機和網絡的傳輸能力,視頻數據將無法實時回放。這種未壓縮的數字視頻數據量對於當時的計算機和網絡來說無論是存儲或傳輸都是不現實的,因此,在多媒體中應用數字視頻的關鍵問題是數字視頻的壓縮技術。
現在,大家已經初步瞭解了BT.601建議,下面,我們將討論數字視頻實現的第二層——ITU-R發佈的BT.656建議。基本上,這個建議是對BT.601建議的補充,定義了實現BT.601建議所必須的物理接口和數據流。或者嚴格地來說,ITU-RBT.656應該是隸屬ITU-R BT.601的一個子協議。ITU-R BT.601是演播室數字電視編碼參數標準,而ITU-R BT.656 則是ITU-R BT.601附件A中的數字接口標準,用於主要數字視頻設備(包括芯片)之間採用27Mhz並口或243Mbps串行接口的數字傳輸接口標準。
該建議定義了位並行和位串行兩種模式,下面十個簡單的對比說明。因爲位並行模式是業界主流的應用模式,今天我們僅詳細介紹位並行模式。
- 位並行模式
只需要27MHz的時鐘(在NTSC 30 幀/s條件下)以及8或10條連線(具體取決於像素的分辨率)。所有的同步化信號都嵌入到數據流中,因此無需額外添加硬件連線。
- 位串行模式
只需要在單個通道上傳輸一路複用化的10bit/像素串行數據流,不過它需要運用複雜的同步化、頻譜整形和時鐘恢復調理等技術手段。此外,其位時鐘速率接近300MHz,因此要在很多系統中實施基於採用串行位形式的BT.656是極富挑戰性的任務。
BT.656並行接口除了傳輸4:2:2的YCbCr視頻數據流外,還有行、列同步所用的控制信號。對於NTSC和PAL制式信號,該建議規定,額定時鐘頻率爲27MHz,取決於廣播系統的分辨率,數據行爲8或10。656建議的最大優點是,數據流中包含了我們剛剛討論的所有同步信號。因此,應用只需要實現數據流和時鐘信號。
BT 656建議既可支持隔行視頻,又可支持逐行掃描視頻。656輸出的視頻數據,行場同步信號嵌入在數據流中;601是並行數據,行場同步有單獨輸出;
656只是數據傳輸接口而已,可以說是作爲601的一個傳輸方式。
ITU-R BT.601, 16位數據傳輸;YCbCr (YUV) 信號同時傳輸,是並行數據,行場同步單獨輸出。
ITU-R BT.656, 8/10位數據傳輸;不需要同步信號;串行數據傳輸;傳輸速率是601的2倍;每個像素,先傳CbCr(UV),後傳Y。行場同步信號嵌入在數據流中。
ITU-R BT.656包含三部分
1:視頻信號,8/10位數據傳輸;
2:定時基準信號:
有兩個定時基準信號,一個在每個視頻數據塊的開始時(Start of Active Video,SAV),另一個在每個視頻數據塊的結束(End of Active Video,EAV);每個定時基準信號由4個字的序列組成,格式如下:FF 00 00 XY (16進制)頭三個是固定前綴,第4個字包含定義第二場標識、場消隱狀態和行消隱狀態的信息。
3:輔助信號:
輔助數據信號可以以10 比特形式只在行消隱期間傳送,還可以以8 比特形式只在場消隱中的行的有效期間傳送。
上圖顯示的就是符合656建議規定的NTSC制式和PAL制式的視頻流。爲了方便理解,我們先看下面的圖來理解一幀(或者一場)圖像的有效數據區。對於一幀視頻圖像,有視頻幀消隱區和行消隱區,除去這部分之後就是有效視頻數據。
上圖我們看到視頻中的某一幀的狀態。L1和L2 是幀消隱區,同樣 L5 和 L6也是幀消隱區。
656建議對信號的規定非常直白,H代表水平同步信號,V代表垂直同步信號,F代表場信號。從圖中可以看出,H位標定了水平消隱區域。當H值爲1時,表示EAV,即有效視頻信號結束。當H值爲0時,表示SAV,即有效視頻信號開始。同樣地,當V值從1變爲0時,則表明信號從幀(或者場)消隱區域,變爲有效視頻區域。對於場信號,也同樣是以F值的1、0變化,表明場1和場2的轉換。我們先前提過,數據流中除了視頻數據,還包含控制代碼(定時基準信號SAV/EAV)。在本例中,這個8位視頻分量的數據流快照中,SAV/EAV最前面的幾個字節是“FF 00 00”。這是與控制代碼相關的前同步碼,用於通知終端設備,即將收到控制代碼。緊接着,就是“XY”控制代碼,負責告知終端設備,H值、V值或F值是否變化,此外,還有一些用於糾錯的校驗和位,具體的定義數據格式,我們稍後詳細討論。之後,如果是掃描行的起點,則會有一長串按“80
10 8010”順序標定的水平消隱區域(輔助信號區域)。接下來,又是另一個前同步碼,告知系統H值爲0,即將收到SAV,即有效視頻信號開始。然後,將收到整個視頻掃描行——720個有效像素,等於1440字節。最後是EAV,即有效視頻信號結束,開始接收下一個掃描行。
一幀PAL制式的視頻圖像數據由一個625行、每行1728字節(1440
有效視頻字節+288字節的控制信號)的數據塊組成。其中,23~311行是偶數場視頻數據,336~624行是奇數場視頻數據,其餘爲垂直控制信號。每行數據包含水平控制信號和YCbCr視頻數據信號。視頻數據信號排列順序爲Cb-Y-Cr-Y。每行開始的288字節爲行控制信號,開始的4字節爲EAV信號(有效視頻結束),緊接着280個固定填充數據,最後是4字節的SAV信號(有效視頻起始)。在下面的BT656視頻流示意圖中,對這部分做了詳細標示。標識D部分標識720個有效像素,即1440個字節週期;標識C表示除EAV之外的行控制信號週期,爲284字節,加上EAV的4字節,共288字節;標識E表示完整的一行爲1440+288=1728字節;
而對於NTSC制式的一幀視頻圖像信號,有效像素也是720個,即1440個字節週期,行控制信號週期爲276個字節,完整的一行爲1440+276=1716字節;
具體的時序如下圖所示:
下面介紹視頻定時基準碼(SAV,EAV),有兩個定時基準信號,一個在每個視頻數據塊的開始(Start of ActiveVideo,SAV),另一個在每個視頻數據塊的結束(End of Active Video,EAV)。每個定時基準信號由4個字的序列組成,格式爲FF
00 00 XY (數值以16進製表示)。頭三個字節FF 00 00是固定前綴,第4
個字節XY包含定義了場標識、場消隱狀態和行消隱狀態的信息。
定時基準信號內的比特分配如下圖所示:
上圖給出的數值是爲10 比特接口的建議值。如果是8比特的系統取高八位就可以了。
第4字節XY中:
- F是奇偶場標誌,F=0/1 對應第1/2 場;
- V表示場同步,V=0/1 表示對應有效行/場消隱行;
- H是行同步信號,H=0/1 對應行有效視頻開始處(SAV)/行有效視頻結束處(EAV);
- P0,P1,P2,P3:保護比特,P0,P1,P2,P3 比特的狀態決定於F,V 比特的狀態,在接收機中,這種安排容許糾正l
比特誤碼和檢出2
比特誤碼。具體邏輯如下:
P3 = V xor H
P2 = F xor H
P1 = F xor V
P0 = F xor V xor H
結果參考下表:
F和V比特值的變化對應的行數見下表:
下表則是所有的定時基準碼以及對應的位置:
以NTSC爲例,下面是一個詳細的一幀圖像的基準碼變化示意圖:
如是PAL制式, 則參考下圖:
在實際的使用中,有的視頻處理芯片要求16bit的視頻數據線,但是還是內嵌同步(EAV/SAV)的模式,這種模式按照BT656的規範,嚴格來說不是BT656模式,但是在使用中,習慣上頁稱爲YUV 16bit 656模式;或者說,這個模式和BT1120規範類似。下圖是16bit和8bit線寬下轉換的示意圖。