隔行掃描
對點陣圖圖像進行編碼的方法
隔行掃描(也稱為交錯)是一種對點陣圖圖像進行編碼的方法,通過掃描或顯示每行或每行像素在電子顯示屏上“繪製”視頻圖像的兩種常用方法之一(另一種是逐行掃描)。
它是一種在不消耗額外帶寬的情況下將視頻顯示的幀速率加倍的技術。這種技術使用兩個欄位(場)來創建一個框架(幀),一個欄位包含圖像中的所有奇數行;另一個包含所有偶數行。
隔行掃描(Interlaced)是在顯示設備表示運動圖像的方法,每一幀被分割為奇偶兩場圖像交替顯示,隔行掃描是一種減小數據量保證幀率的壓縮方法。電視標準制訂者考慮到交流電頻率50或60Hz,所以確定了25或30fps的幀率(Frame rate),我國電視台標準為(PAL)制,指畫面掃描50場每秒(每幀掃描2場畫面,共25個奇場25個偶場)。兩組25個欄位一起工作,每1/25秒(或每秒25幀)創建一個完整的幀,兩場圖像構成一幀畫面可以使帶寬減小大約一半,但隔行掃描每1/50秒創建一個新的半幀(或每秒50個場) 。另外隔行掃描信號中的偽像不能完全消除,導致幀之間會丟失一點信息。
隔行掃描
1、宏塊自適應幀場(MBAFF)編碼
mbaff編碼
2、圖像自適應幀場編碼(PAFF或PicAFF)
允許自由選擇的圖像混合編碼為完整幀,將兩場合併為一幀進行編碼,或者將兩場分別編碼。當圖像同時存在運動區域和非運動區域時,由於PAFF自適應技術粒度太粗,無法實現滿足更加精細的編碼要求,於是在H.264(MPEG-4第10部分高級視頻編碼(MPEG-4 AVC))便引出了宏塊自適應幀場(MBAFF)編碼技術。
MBAFF對幀/場編碼的選擇是基於宏塊的,其將兩場合併為一幀進行編碼,但將每一個幀宏塊(16x16)劃分為場宏塊對(8*16),針對每一個幀宏塊,編碼器自動比較幀編碼和場編碼產生的碼流大小,然後使用最節省碼流的方式,並且可以避免產生偽像。
如果模擬廣播電視系統採用25或30幀逐行掃描掃描方式顯示,當電子束從屏幕的上半部分移到下半部時,屏幕上半部分的亮度就有了可以觀察到的衰減,於是畫面下半部分顯得更亮。這只是一個瞬間,事實上最亮的部分(當然就是電子束剛經過的區域)會不斷移動,從而產生閃爍現象。為防止閃爍,最佳的辦法是加倍刷新率,改成60p掃描,將每幅畫面掃描2次,因為在60分之一秒內,人眼能感覺到的亮度衰減就很小了。可是這樣做,單位時間內掃描的總行數會加倍,那麼水平掃描的速度就要加快。如此一來技術要求就會過高,以當時的條件做不到。於是標準制訂者想到了一個折衷的辦法,先花60分之一秒掃描奇數行(上場),然後再用后60分之一秒掃描偶數行(下場),兩者互補成完整的畫面。雖然掃描下場時,上場的亮度衰減了,但是由於亮暗的部分交織在一起,反而不易察覺。
隔行掃描
使用隔行掃描可以讓每秒可以顯示更多的幀,每幀顯示更多圖像,使帶寬減少,隔行掃描提供完整的垂直細節,具有逐行掃描所需的相同帶寬,但具有兩倍的感知幀速率和刷新率。與非隔行掃描的鏡頭(幀速率等於場速率)相比,這有效地使時間解析度(也稱為時間解析度)加倍。
無論是逐行掃描還是隔行掃描,都有視頻文件、傳輸和顯像三個概念,這三個概念相通但不相同。最早出現的是隔行掃描顯像,同時就配套產生了隔行傳輸,而隔行掃視頻文件是到數字視頻時代才出現的,其目的是為了兼容原有的隔行掃描體系(隔行掃描就是還依然在廣泛應用)。
格式標識符(如576i 50和720p 50)指定逐行掃描格式的幀速率,但對於隔行掃描格式,它們通常指定欄位速率(幀速率的兩倍)。這可能會導致混淆,因為行業標準的SMPTE時間碼格式總是處理幀速率,而不是幀速率。為避免混淆,SMPTE和EBU總是使用幀速率來指定隔行格式,例如,480i 60是480i / 30,576i 50是576i / 25,1080i 50是1080i / 25。該慣例假設隔行掃描信號中的一個完整幀依次由兩個場組成。
屏幕截圖(右側)展示了去隔行掃描和隔行掃描圖像之間的區別。
隔行掃描
模擬電視中最重要的因素之一是信號帶寬,以兆赫為單位。帶寬越大,整個製作和廣播鏈就越昂貴和複雜。這包括相機、存儲系統、廣播系統和接收系統:地面、有線、衛星、網際網路和終端用戶顯示器(電視和計算機顯示器)。對於固定帶寬,隔行掃描為給定的行數提供兩倍顯示刷新率的視頻信號(與逐行掃描相比)幀速率相似的視頻——例如 1080i 每秒 60 個半幀,而 1080p 每秒 30 個全幀)。較高的刷新率改善了運動物體的外觀,因為它更頻繁地更新其在顯示器上的位置,當物體靜止時,人類視覺會結合來自多個相似半幀的信息,以產生與所提供的感知解析度相同的感知解析度通過漸進式全幀。但是,如果源材料以更高的刷新率可用,則此技術才有用。影院電影通常以 24fps 錄製,因此無法從隔行掃描中受益,隔行掃描是一種將最大視頻帶寬降低至 5MHz 的解決方案,而不會降低 60 Hz 的有效圖像掃描速率。
在固定帶寬和高刷新率的情況下,隔行視頻還可以提供比逐行掃描更高的空間解析度。例如,具有 60 Hz 場頻(稱為1080i60或 1080i/30)的1920×1080 像素解析度隔行HDTV具有與具有 60 Hz 幀頻(720p60 或 720p/60)的 1280×720 像素逐行掃描 HDTV 相似的帶寬,但對於低運動場景,空間解析度大約是其兩倍。
但是,帶寬優勢僅適用於模擬或未壓縮的數字視頻信號。對於所有當前數字電視標準中使用的數字視頻壓縮,隔行掃描引入了額外的低效率。 EBU 進行的測試表明,即使幀速率是兩倍,隔行視頻相對於逐行視頻節省的帶寬也是最小的。即,1080p50 信號產生與 1080i50(又名 1080i/25)信號大致相同的比特率,和 1080p50 實際上需要更少的帶寬,在編碼“運動-類型”的場景。
在VHS,以及大多數其他使用轉鼓在磁帶上錄製視頻的模擬視頻錄製方法,都受益於隔行掃描。在 VHS 上,鼓每幀轉一整圈,並帶有兩個圖像磁頭,每個圖像磁頭每轉一圈掃過磁帶表面一次。如果該設備用於記錄逐行掃描視頻,則磁頭的切換將落在圖像的中間並顯示為水平帶。隔行掃描允許在畫面的頂部和底部進行切換,而這些區域在標準電視機中觀眾是看不到的。與每次掃描記錄全幀相比,該設備還可以做得更緊湊,因為這需要雙直徑鼓以一半的角速度旋轉,並在磁帶上進行更長、更淺的掃描,以補償每次掃描的雙倍線數。然而,圖像的相同區域,基本上將垂直解析度減半,直到播放繼續。另一種選擇是在實際停止磁帶之前按下暫停按鈕來捕獲完整的幀(兩個場),然後從幀緩衝區中重複再現它。后一種方法可以產生更清晰的圖像,但通常需要一定程度的去隔行才能獲得顯著的視覺效果。雖然前一種方法會在圖像的頂部和底部產生水平偽影,因為磁頭無法像在移動磁帶上記錄時那樣沿著磁帶表面完全相同的路徑移動,但這種錯位實際上在逐行記錄時會更糟。
交錯可以被利用來產生三維電視節目,特別是與CRT顯示器和特別是對於彩色過濾眼鏡通過發送鍵圖像在交變場每隻眼睛的顏色。這不需要對現有設備進行重大改動。快門眼鏡也可以採用,顯然需要實現同步。如果使用逐行掃描顯示器來觀看此類節目,則任何對圖像進行去隔行掃描的嘗試都會使效果無效。對於彩色濾光眼鏡,圖像必須被緩衝並顯示為漸進式交替彩色鍵控線,或者每個場都必須對線加倍並顯示為離散幀。后一種程序是在漸進式顯示器上適合快門眼鏡的唯一方法。
當開發電影膠片時,必須以高速率照亮電影屏幕以防止可見的閃爍。所需的確切速率因亮度而異 - 在昏暗的房間內可接受40 Hz,而對於延伸到周邊視覺的明亮顯示器,可能需要高達80 Hz。膠片解決方案是使用三葉片快門將每幀膠片投影三次:以每秒16幀的速度拍攝的電影每秒照亮屏幕48次。之後,當聲膜變得可用時,每秒24幀的更高投影速度使得雙葉片快門能夠產生每秒48次的照明 - 但僅限於投影儀無法以較低的速度投射。
此解決方案不能用於電視。要存儲完整的視頻幀並將其顯示兩次,需要幀緩衝器 -電子存儲器(RAM) - 足以存儲視頻幀。直到20世紀80年代後期,這種方法才變得可行。此外,避免工作室照明引起的屏幕干擾模式和真空管技術的限制要求以交流線路頻率掃描電視的CRT。(這在美國是60赫茲,50赫茲歐洲。)
在機械電視領域,LéonTheremin展示了隔行掃描的概念。他一直在開發一種基於鏡鼓的電視,從1925年的16行解析度開始,然後是32行,最後在1926年使用隔行掃描64。作為他的論文的一部分,他在1926年5月7日電傳輸並投射近同步在五英尺見方的屏幕上移動圖像。
1930年,德國Telefunken工程師FritzSchröter首先制定了將單個視頻幀分解為隔行掃描線的概念並申請了專利。在美國,RCA工程師Randall C. Ballard在1932年獲得了同樣的想法。商業實施始於1934年,因為陰極射線管屏幕變得更亮,增加了由漸進(順序)引起的閃爍水平掃描。
1936年,當英國制定模擬標準時,CRT只能在1/50秒內掃描大約200行。使用交錯,可以疊加一對202.5線場,以成為更清晰的405線框。垂直掃描頻率保持50 Hz,但可見細節明顯改善。結果,該系統取代了當時也使用的John Logie Baird的240線機械逐行掃描系統。
從20世紀40年代開始,技術的進步使得美國和歐洲其他國家採用逐漸增加帶寬的系統來掃描更高的線數,並獲得更好的圖像。然而,隔行掃描的基本原理是所有這些系統的核心。美國採用稱為NTSC的525線路系統,歐洲採用625線路系統,英國從405線路系統切換到625線路,以避免開發獨特的彩色電視方法。法國從其獨特的819系統切換到625的更歐洲標準。雖然術語PAL通常用於描述電視系統的線路和幀標準,這實際上是不正確的,並且僅指在標準625線路廣播上疊加顏色信息的方法。法國採用了他們自己的SECAM系統,其他一些國家也採用了該系統,特別是俄羅斯及其衛星。PAL已被用於其他一些NTSC廣播,特別是在巴西。
直到20世紀70年代,當計算機監視器的需求導致重新引入逐行掃描時,隔行掃描無處不在。Interlace仍然用於大多數標準清晰度電視和1080iHDTV廣播標準,但不適用於LCD,微鏡(DLP)或大多數等離子顯示器;這些顯示器不使用光柵掃描來創建圖像,因此不能從隔行掃描中受益:實際上,它們必須用逐行掃描信號驅動。在去隔行從正常的隔行廣播電視信號獲得逐行掃描的電路可能增加使用這種顯示器的電視機的成本。當前漸進式顯示器在HDTV市場中佔主導地位。
在20世紀70年代,計算機和家庭視頻遊戲系統開始使用電視機作為顯示設備。此時,480線NTSC信號遠遠超出低成本計算機的圖形處理能力,因此這些系統使用簡化的視頻信號,使每個視頻場直接掃描在前一個視頻上,而不是兩條線之間的每條線。以前的欄位。這標誌著自20世紀20年代以來從未見過的逐步掃描的回歸。由於每場成了自己的,現代術語一個完整的框架將調用此240P的NTSC套,以及288P的PAL。雖然允許消費者設備創建此類信號,但廣播法規禁止電視台像這樣傳輸視頻。諸如CGA的計算機監視器標準進一步簡化為NTSC,其通過省略顏色調製來改善圖像質量,並允許計算機的圖形系統和CRT之間的更直接連接。
到20世紀80年代中期,計算機已超出這些視頻系統並需要更好的顯示器。的蘋果IIGS從使用舊的掃描方法的遭遇,具有最高的顯示解析度為640X200,產生嚴重失真的高窄像素形狀,使得現實勻稱圖像的顯示困難。各公司的解決方案差異很大。由於PC監視器信號不需要廣播,因此它們消耗的帶寬遠遠超過NTSC和PAL信號所限制的6,7和8MHz帶寬。IBM的單色顯示適配器和增強型圖形適配器以及Hercules圖形卡和原始Macintosh計算機生成的視頻信號接近350p。所述准將Amiga的創建真正的隔行480i30 / 576i25RGB信號,適合於NTSC / PAL編碼。這種能力導致Amiga在視頻製作領域佔主導地位直到20世紀90年代中期,但隔行掃描顯示模式導致需要單像素細節的更傳統PC應用的閃爍問題。1987年引入了VGA,很快就將PC標準化了,幾年後蘋果公司只推出了Mac標準,當VGA標準進行了改進,以匹配1987年推出的Apple專有的24位彩色視頻標準。
在20世紀80年代末和90年代初期,顯示器和顯卡製造商推出了新的高解析度標準,再次包括隔行掃描。這些監視器以非常高的刷新率運行,因為這將減輕閃爍問題。這種監視器非常不受歡迎。雖然起初閃爍並不明顯,但眼睛疲勞和缺乏焦點仍然是一個嚴重的問題。該行業很快就放棄了這種做法,在過去十年的剩餘時間裡,所有監督者都保證他們所聲明的決議是“非交錯的”。這種經驗就是為什麼至二十一世紀PC行業仍然反對高清電視的交錯,並遊說720p標準。此外,業界正在遊說超過720p,實際上是NTSC傳統國家的1080 / 60p,以及PAL傳統國家的1080 / 50p。
每一幀圖像由電子束順序地一行接著一行連續掃描而成,這種掃描方式稱為逐行掃描。把每一幀圖像通過兩場掃描完成則是隔行掃描,兩場掃描中,第一場(奇數場)只掃描奇數行,依次掃描1、3、5…行,而第二場(偶數場)只掃描偶數行,依次掃描2、4、6…行。
攝像機的采像,從一開始其實不存在掃描,因為無論是膠片還是電子原件都是同時受光的。但是,要讀取感光器上的信息(其核心任務將畫面採樣為YUV/RGB電信號),還是要靠掃描,於是讀取每個像素的順序就必須考慮。可以採取按順序依次讀取(逐行方式),也可以每行按順序讀取,但是先讀完所有奇數行再讀偶數行(隔行方式)。為了兼容電視機的隔行掃描體系,過帶機(將膠片上的畫面採樣為YUV/RGB電信號並保存在磁帶上的機器)和有些攝像機是隔行掃描制式的。當然也有逐行制式的產品。
當人們學會用電子原件感光和用數字化的計算機文件保存視頻時,數字攝像機就實用化了。事實上用數字信息保存的依然是YUV/RGB電信號,只是變換了個介質,本質上沒什麼區別(這裡指的是未壓縮的視頻,經過壓縮后就大不一樣了)。
但在計算機中,不管接到的是逐行還是隔行信號,都會按順序逐一寫入文件,不特別區分。如此一來,計算機上的視頻,以逐行和隔行信號為訊源的文件肯定有區別,它們分別稱為逐行掃描和隔行掃描視頻。
隨著全球流行的廣播電視的出現,製片人意識到他們需要的不僅僅是電視直播節目。便轉向電影、電視劇、新聞、短視頻等原創材料回放,然而低幀率視頻文件對於高幀率回放設備之間的幀速率(刷新率)差異意味著簡單地將電影播放到電視攝像機中會閃爍。因此需要進行一些插幀或幀複製(例如3:2下拉、2:2下拉等)讓場同步(垂直同步),以調整電影和視頻幀速率之間的速度差異。但是如果錄製的視頻文件幀率高於回放設備,只需要丟幀到廣播電視標準即可。
有交錯就有反交錯。所有隔行掃描視頻在計算機播放都進行反交錯),只有那些自帶反交錯的電視才不需要這麼做。
有幾種去隔行掃描方法。
這些方法取每一場(只有一半的行)並將其擴展到整個屏幕以製作一個框架。這可能會使圖像的垂直解析度減半,但旨在保持原始場速率(50i 或 60i 轉換為 50p 或 60p)。
● Half-sizing會單獨顯示每個隔行掃描場,從而使視頻的垂直解析度為原始未縮放的一半。雖然此方法保留了所有原始像素和所有時間解析度,但可以理解的是,由於其錯誤的縱橫比,不用於常規查看。然而,它可以成功地用於應用期望非隔行幀的視頻過濾器,例如那些利用來自相鄰像素的信息的過濾器(例如,銳化)。
● 線加倍採用每個隔行掃描場的行(僅由偶數或奇數行組成)並將它們加倍,填充整個幀。這導致視頻具有與場速率相同的幀速率,但是每個幀具有垂直解析度的一半,或者解析度等於構成幀的每個場的解析度。線倍增可防止梳狀偽影,但會導致圖像質量明顯降低,因為顯示的每幀都加倍,實際上僅在原始半場解析度下。這在靜止物體上很明顯,因為它們看起來像是上下擺動。這些技術也稱為bob去隔行和線性去隔行出於這樣的原因。線倍增保留了水平和時間解析度,但犧牲了垂直解析度和靜止和較慢移動物體上的浮雕偽影。該方法的變體丟棄每幀中的一個場,使時間解析度減半。
線加倍有時與一般的去隔行或插值(圖像縮放)相混淆,插值使用空間濾波來產生額外的線,從而降低像素化在任何類型的顯示器上的可見性。術語“line doubler”在高端消費電子產品中使用得更頻繁,而“去隔行”則更頻繁地用於計算機和數字視頻領域。
將偶數場和奇數場組合成一幀。這將感知的幀速率(時間解析度)減半,從而將 50i 或 60i 轉換為 25p 或 30p。
● 編織(Weave)通過將連續的欄位添加在一起來完成編織。當圖像在欄位之間沒有改變時,這很好,但是當一幀中的像素與另一幀中的像素不對齊,形成鋸齒狀邊緣時,任何改變都將導致稱為“梳理”的偽像。該技術以時間解析度(運動)的一半為代價保留了完整的垂直解析度。
● 混合(Blending)是通過完成共混,或平均連續的場被顯示為一幀。避免梳理,因為圖像在彼此之上。這樣就會留下一種稱為鬼影的偽像。圖像失去垂直解析度和時間解析度。這通常與垂直調整大小相結合,因此輸出在垂直解析度上沒有數值損失。這樣做的問題在於存在質量損失,因為圖像已經縮小然後增大。這種細節損失使圖像看起來更柔和。由於兩個運動場組合成一個幀,因此混合也會丟失一半的時間解析度。
● 選擇性混合(Selective blending),或智能混合或運動自適應混合,是編織和混合的組合。由於幀之間沒有變化的區域不需要任何處理,所以框架是編織的,只有需要它的區域被混合。這保留了完整的垂直解析度和一半的時間解析度,並且由於兩種技術的選擇性組合,它具有比編織或混合更少的偽像。
● 反向電視電影(IVTC、Inverse Telecine):電視電影用於將運動圖像源以每秒24幀的速度轉換為使用NTSC視頻系統,每秒30幀的隔行掃描電視視頻。以每秒25幀的速度使用PAL的國家不使用電視電影,因為運動圖像源加速4%以達到每秒所需的25幀。如果使用Telecine,則可以反轉演演算法以獲得具有較慢幀速率的原始非隔行掃描素材。為了使其工作,必須知道或猜測確切的電視電影模式。與大多數其他去隔行方法不同,當它工作時,反轉電視電影可以恢復原始的逐行掃描視頻流。
● Telecide風格的演演算法:如果隔行掃描的鏡頭是以較慢的幀速率(例如“卡通下拉”)從漸進幀生成的,則可以通過從匹配的上一幀/下一幀複製丟失的場來恢復精確的原始幀。在沒有匹配的情況下(例如,具有提升的幀速率的簡短卡通序列),則濾波器回退到另一種去隔行方法,例如混合或行加倍。這意味著Telecide的最壞情況是偶爾出現重影或降低解析度的幀。相比之下,當更複雜的運動檢測演演算法失敗時,它們可能會引入對原始材料不忠的像素偽像。對於電視電影視頻,抽取可以作為後處理應用以降低幀速率,並且這種組合通常比簡單地反轉電視電影更穩健,當不同的隔行掃描的素材被拼接在一起時,它會失敗。
更高級的去隔行演演算法結合了傳統的場組合方法(編織和混合)和幀擴展方法(bob 或 line double)來創建高質量的逐行視頻序列。運動方向和運動量的基本提示之一是隔行信號中組合偽影的方向和長度。
最好的演演算法還嘗試預測後續場之間的圖像運動的方向和數量,以便更好地將兩個場融合在一起。他們可能採用類似於塊運動補償的演演算法用於視頻壓縮。例如,如果兩個欄位的人臉向左移動,則編織會產生梳理,而混合會產生重影。高級運動補償(理想情況下)會看到多個場中的人臉是同一幅圖像,只是移動到不同的位置,並會嘗試檢測此類運動的方向和數量。然後,該演演算法將嘗試通過將圖像組合在一起,通過檢測到的運動量沿著檢測到的方向移動每個場的部分來重建兩個輸出幀中面部的全部細節。使用這種技術的去隔行器通常更勝一籌,因為它們可以使用來自多個領域的信息,而不是只使用一兩個領域,但是它們需要強大的硬體來實時實現這一點。
運動補償需要結合場景變化檢測(這有其自身的挑戰),否則它會試圖在兩個完全不同的場景之間找到運動。執行不佳的運動補償演演算法會幹擾自然運動,並可能導致視覺偽影,這些偽影在應該是靜止或平滑移動的圖像中表現為“跳躍”部分。例如,如果兩個欄位的人臉朝左移動,則編織將創建梳理,並且混合會產生重影。高級運動補償(理想情況下)會看到幾個場中的臉部是相同的圖像,只是移動到不同的位置,並試圖檢測這種運動的方向和數量。然後,演演算法將嘗試通過將圖像組合在一起來重建兩個輸出幀中的面部的全部細節,沿著檢測到的方向移動每個子場的部分移動檢測到的移動量。運動補償需要與場景變化檢測相結合,否則它將嘗試在兩個完全不同的場景之間找到運動。實現不良的運動補償演演算法會幹擾自然運動並且可能導致視覺偽像,其表現為應該是靜止或平滑運動圖像的“跳躍”部分。