本文的目的在于給出有關(guān)MPEGl和MPEG2視頻編碼算法及標準的概述、以及它們在視頻通信中的作用。論文的正文是這樣安 排的:首先回顧了與MPEG視頻壓縮標準有關(guān)的那些基本概念和技術(shù):接著(zhù)較詳細地敘述了MPEGl和MPEG2的視頻編碼算法;最 后的內容為標準中與其應用有關(guān)的一些特征。
MPEG視頻壓縮算法的基本原理
一般說(shuō)來(lái),在幀內以及幀與幀之間,眾多的視頻序列均包含很 大的統計冗余度和主觀(guān)冗余度。視頻源碼的最終目標是:通過(guò)挖掘 統計冗余度和主觀(guān)冗余度,來(lái)降低存儲和傳送視頻信息所需的比特 率;并采用嫡編碼技術(shù),以便編制出“最小信息組”一個(gè)實(shí)用的 編碼方案,是在編碼特性(具有足夠質(zhì)量的高壓縮)與實(shí)施復雜性 之間的一種折衷。對于MPEG壓縮算法的開(kāi)發(fā)來(lái)講,計及到這些標 準的壽命周期應考慮到現代超大規模集成電路技術(shù)的能力,這一點(diǎn) 是最重要的。 根據應用的要求,我們也許會(huì )想到視頻數據的“無(wú)損失”編碼 和“有損失”編碼“無(wú)損失”編碼的目的在于:在保持原圖像質(zhì) 量(即解碼后的圖像質(zhì)量等同于編碼前的圖像質(zhì)量)情況下,來(lái)減 少需要存儲和傳送的圖像或視頻數據。與此相反,“有損失”編碼 技術(shù)(該技術(shù)跟MPEG—l和MPEG2視頻標準未來(lái)的應用有關(guān)) 的目的是,去符合給定的存儲和傳送比特串。重要的一些應用包 括;利用限定的帶寬或很窄的帶寬,通過(guò)通信頻道采傳送視頻信 息;有效地存儲視頻信息。在這些應用中,高的視頻壓縮是以降低 視頻質(zhì)量的辦法來(lái)實(shí)施的,即跟編碼以前的原始圖像相比,解碼后 的圖像“客觀(guān)”質(zhì)量有所降低(也就是取原始圖像和再現圖像之間 的均方差,作為評定客觀(guān)圖像質(zhì)量的標準)頻道的目標比特率越低;那么視頻所必須進(jìn)行的壓縮率就越大,通??刹煊X(jué)的編碼人工 產(chǎn)物也越多。有損失編碼技術(shù)的最終目的是:在指定的目標比特串 條件下,獲取最佳的圖像標準。這里應服從“客觀(guān)”或“主觀(guān)”上 的最佳標準。這里應該指出,圖像的降級程度(指客觀(guān)降低以及可 察覺(jué)到的人工產(chǎn)物的數量)取決于壓縮技術(shù)的復雜性——對于結構 簡(jiǎn)單的畫(huà)面和視頻活動(dòng)少的圖像來(lái)講,就是采用簡(jiǎn)單的壓縮技術(shù), 也許能獲得根本不帶可察覺(jué)人工產(chǎn)物的良好的再現圖像
(A)MPEG視頻編碼器源模式
MPEG數字視頻編碼技術(shù)實(shí)質(zhì)上是一種統計方法。在時(shí)間和空 間方向上,視頻列通常包含統計冗余度。MPEG壓縮技術(shù)所依賴(lài)的 基本統計特性為像素之間(interpel)的相關(guān)性,這里包含這樣一個(gè) 設想:即在各連續幀之間存在簡(jiǎn)單的相關(guān)性平移運動(dòng)。這里假定: 一個(gè)特殊畫(huà)面上的像素量值,可以(采用幀內編碼技術(shù))根據同幀 附近像素來(lái)加以預測,或者可以(采用幀間技術(shù))根據附件幀中的 像素來(lái)加以預測。直覺(jué)告訴我們:在某些場(chǎng)合,如一個(gè)視頻序列鏡 頭變化時(shí),各附近幀中像素之間的時(shí)間相關(guān)性就很小,甚至消失 —這時(shí),該視頻鏡頭就成為一組無(wú)相關(guān)牲的靜止畫(huà)面的組合。在 這種情況下,可采用幀內編碼技術(shù)來(lái)開(kāi)發(fā)空間相關(guān)性,來(lái)實(shí)現有效 的數據壓縮,MPEG壓縮算法采用離散余弦變換(DCT)編碼技 術(shù),以8×8像素的畫(huà)面塊為單位,有效地開(kāi)發(fā)同一面面各附近像 索之間的空間相關(guān)性。然而,若附近幀中各像素間具有較大的相關(guān) 性時(shí),也就是說(shuō)兩個(gè)連續幀的內容很相似或相同時(shí),就可以采用應 用時(shí)間預測(幀間的運動(dòng)補償預測)的幀間DPCM編碼技術(shù)。在多 種MPEG視頻編碼方案中,若將時(shí)間運動(dòng)補償預測路剩余空間信息 的變換碼自適應地結合起來(lái),就能實(shí)現數據的高壓縮(視頻的 DPCM/DCT混合編碼) 圖1給出了一個(gè)畫(huà)面的帕內像素問(wèn)相關(guān)性特性的舉例,這里采 用了一個(gè)非常簡(jiǎn)單,但很有價(jià)值的統計模式。這個(gè)假設的簡(jiǎn)單模式已包括了許多“典型”畫(huà)面的一些基本的相關(guān)特性,也就是指相鄰 像素間的高度相關(guān)性,以及隨著(zhù)像素間距的增大相關(guān)性的單值衰減 特性。我們以后將利用這一模式來(lái)展示變換區域編碼的一些特性。 一些“典型”畫(huà)面的像素間的空間相關(guān)性,是應用具有高度像素間相關(guān)性的AR(1)GaussMarkov畫(huà)面模式來(lái)加以計算的。變量X和Y分別表示像素之間在畫(huà)面水平和垂直方向上的距 離。
(B)二次取樣和內插法
幾乎所有本論文中所敘述的視頻編碼技術(shù),在編碼之前,均大 量地進(jìn)行了二次取樣和量化工序。二次取樣的基本概念是想減少輸 入視頻的Dimension 水平Dimension和或垂直Dimension),并在進(jìn) 行編碼處理之前先對像素進(jìn)行編號。值得注意的是:在有些應用場(chǎng) 合,在時(shí)間方向上也對視頻進(jìn)行二次取樣,以便在編碼之前降低幀 頻。在接收機端,已解碼圖像是通過(guò)內插法來(lái)加以顯示的。這一方 法可以認為是一種最簡(jiǎn)單的壓縮技術(shù),這種壓縮技術(shù)利用了人眼特 有的生理特姓,因而去除了視頻數據中的含有的主觀(guān)冗余度—即 與色度信號的變化相比,人眼對亮度信號的變化更靈敏。故眾多 MPEG編碼方案首先將畫(huà)面分成YUV與量信號(一個(gè)亮度分量和 二個(gè)色度分量)接著(zhù),相對于亮度分量,對色度分量進(jìn)行二次取 樣,對于一些特殊應用,有一個(gè)Y:U:V比率(即對于MPEG—2 標準,采用4:1:1或4:2:2.
(C)運動(dòng)補償預測
運動(dòng)補償預測是一個(gè)有力的工具,以便減小幀間的時(shí)間冗余 度;并作為用于時(shí)間DPCM編碼的預測技術(shù),這一工具在MPEGl 和MPEG2視頻編碼標準中得到廣泛應用。運動(dòng)補償概念是以對視 頻幀間運動(dòng)的估算為基礎的,也就是說(shuō),若視頻鏡頭中所有物體均在空間上有一位移,那么用有限的運動(dòng)參數(如對于像素的平移運 動(dòng),可用運動(dòng)矢量來(lái)描述)來(lái)對幀間的運動(dòng)加以描述。在這一簡(jiǎn)單 例子中,一個(gè)來(lái)自前編碼幀的運動(dòng)補償預測像素,就能給出一個(gè)有效像素的最佳預測。通常,預測誤差和運動(dòng)矢量均傳送至接收機。 然而,將一個(gè)運動(dòng)信息對每一個(gè)編碼畫(huà)面像素進(jìn)行編碼,這既不值 得也沒(méi)有這個(gè)必要。由于一些運動(dòng)矢量之間的空間相關(guān)性通常較 高,有時(shí)可以這樣認為:一個(gè)運動(dòng)矢量代表一個(gè)相鄰像素塊的運 動(dòng)。為了做到這一點(diǎn),畫(huà)面一般劃分成一些不連接的像素塊(在 MPEGl和MPEG2標準中一個(gè)像素塊為16×16像素),對于每一個(gè) 這樣的像素塊,只對一個(gè)運動(dòng)矢量進(jìn)行估算、編碼和傳送(圖2)。 在MPEG壓縮算法中,運動(dòng)補償預測技術(shù)用來(lái)減少幀間的時(shí)間 冗余度,只對預測誤差畫(huà)面(原始畫(huà)面與運動(dòng)補償預測畫(huà)面之間的 差別)加以編碼??偟膩?lái)說(shuō),由于采用依據于前編碼幀的預測,待編碼的運動(dòng)補償幀間誤差圖像 中像素之間的相關(guān)性就差了。 用于運動(dòng)補償的塊匹配法:在待編碼的第N有效幀中,為每一個(gè)畫(huà)面塊估算一個(gè)運動(dòng)矢量(mv)該運動(dòng)矢量針對前已編碼 的第N—l幀中同樣大小的一個(gè)參照畫(huà)面塊。運動(dòng)補償預測誤差是 這樣計算的:在帶有前幀參照塊中運動(dòng)飄移對應物的面面塊中,減去一個(gè)像素。
(D)變換或編碼
二十年來(lái),人們已對變換編碼進(jìn)行了大量的研究,它已成為用 于靜止畫(huà)面編碼和視頻編碼的一種非常流行的壓縮方法。變換編碼 的目的在于去掉幀內或幀間誤差圖像內容的相關(guān)性,對變換系數進(jìn) 行編碼,不是對畫(huà)面的原始像素進(jìn)行編碼。為此,輸入畫(huà)面被分成 不連接的b像素的畫(huà)面塊(即N×N像素)。以一個(gè)線(xiàn)性、可分離的 和單元前向變換為基礎,本變換可表示為一個(gè)矩陣操作,采用一個(gè)N×N變換矩陣A,采獲取N×N變換系數C。 C=AbAt 這里AT表示變換矩陣A的一種移項式。注意:這種變換是可逆的, 原因是,采用線(xiàn)性和可分離的反向變換,可以再現原始的N×N個(gè) b像素的畫(huà)面塊. b=AtCa 利用許多可能的方法,應用于較小的由8×8像素組成的畫(huà)面 塊的離散余弦變換(DCT)已成為一種最佳的變換,用于靜止畫(huà)面 和視頻編碼。事實(shí)上,由于基于DCT的方法具有較高的抗相關(guān)性 能,并能獲得快速DCT算法,適用于實(shí)時(shí)應用,已在大多數畫(huà)面 和視頻編碼標準中加以使用。VLSI技術(shù)的運行速率適合較廣泛的 視頻應用范圍,故已商業(yè)化。 變換編碼的主要目的是使盡量多的變換系數足夠的小,使它仍 無(wú)效(從統計和主觀(guān)測量角度來(lái)看)。同時(shí),應盡量減小系數之間 的統計相關(guān)性,目的在于減少對剩余系數進(jìn)行編碼所需的比特數 量。 圖3示出了幀內DCT系數8×8像素塊的方差(能量),這里是 以圖1中已討論過(guò)的簡(jiǎn)單的統計模式設想為基礎的。此處,每一個(gè) 系數的方差,表示了系數(大量幀的乎均值)的可變性。與方差大 的系數相比,方差小的系數在畫(huà)面像素塊再現時(shí)意義就不大了。如 圖3中所示,一般來(lái)說(shuō),為了獲得畫(huà)面像素塊的有用的近似再現, 只要將少量DCT系數傳送給接收機就行。然而,那些最高有效位 DCT系數集中在左上角(低DCT系數),面隨著(zhù)距離的增加,系數 的有效牲就逐步下降。這意味著(zhù):與較低位的系數相比,較高位的 DCT系數在畫(huà)面像素塊再現時(shí)的重要性就差一些。采用運動(dòng)補償預測,DCT變換的結果是,使DCT定義域中的時(shí)間DPCM信號實(shí)現 筒單的再現—這實(shí)質(zhì)上繼承了這種相似的統計相關(guān)性,如以DCT 定義域中的這個(gè)DPCM信號來(lái)再現圖2中的幀內信號(雖然能量有 所減少)—這就是為什么為了使幀間壓縮獲得成功MPEG算法要采用DCT編碼的原因 圖3圖示了DCT系數的方差分布情況,典型地計算了大量的畫(huà) 面塊而獲得的平均值。DCT系數方差計算是以圖1中的統計模式為 基礎的。U和V分別該8×8塊中水平和垂直畫(huà)面變換域變量。大 多數總方差集中在DCDC了系數周?chē)?U=0,v=0) DCT跟離散傅里葉變換很接近,而認識到以下這點(diǎn)是重要的, 即可以對DCT系數加以頻率說(shuō)明,使其更接近于DFTo在畫(huà)面塊 內,低位的Dcr系數與較低的空間頻率有關(guān)而高位的DCT系數 與較高的頻率有關(guān)。這一特性在MPEG編碼方案中被加以應用,以 便去除畫(huà)面數據中所包含的主觀(guān)冗余度,這一切是以人類(lèi)視覺(jué)系統 標準為基礎的。由于跟較高空間頻率有關(guān)的再現誤差比較,觀(guān)眾對 較低空間頻率的再現誤差更加敏感,故在給定比特率情況后,為了 要改進(jìn)解碼畫(huà)面的視覺(jué)質(zhì)量往往根據視覺(jué)(感覺(jué)量化)對系數進(jìn) 行頻率自適應加權(量化) 上述兩種技術(shù)—時(shí)間運動(dòng)補償預測和變換域編碼—的結 合,被認為是MPEG編碼標準的關(guān)鍵點(diǎn) MPEG算法的第三個(gè)特 點(diǎn)是這兩種技術(shù)的處理是較小的畫(huà)面塊(典型情況是:在16×16 像素上進(jìn)行運動(dòng)補償,在8×8像素上進(jìn)行DCT編碼)。由于這個(gè)原 因,MPEG編碼算法通常又叫作基于畫(huà)面塊的DPCM/DCT混合算法.
MPEG-1:一個(gè)通用標準-一個(gè)應用于數字存儲媒體
(最高速率達1.5Mb/s)的活動(dòng)圖像和伴音的編碼標準
由MPEG—1開(kāi)發(fā)出來(lái)的視頻壓縮技術(shù)的應用范圍很廣,包 括從CD—ROM上的交互系統,到電信網(wǎng)絡(luò )上的視頻傳送 MPEG1視頻編碼標準被認為是一個(gè)通用標準。為了支持多種應用, 可有用戶(hù)來(lái)規定多種多樣的輸人參數,包括靈活的圖像尺寸和幀 頻。MPEG推薦了一組系統規定的參數:每一個(gè)MPEG—l兼容解碼器至少必須能夠支持視頻源參數,最佳可達電視標準:包括每行 最小應有720個(gè)像素,每個(gè)圖像起碼應有576行,每秒最少不低于 30幀,及最低比特率為1.86Mb/s,標準視頻輸入應包括非隔行掃 描視頻圖像格式。應該指出:但并不是說(shuō),MPEGl的應用就限制 于這一系統規定的參數組。 根據JPiG和H。261活動(dòng),已開(kāi)發(fā)出MPEG—l視頻算法。當 時(shí)的想法是:盡量保持與CCITT H.261標準的共同性,這樣,支 持兩個(gè)標準的做法就似乎可能。當然,MPEGl主要目標在于多媒 體CD—ROM的應用,這里需要由編碼器和解碼器支持的附加函數 牲。由MPEGl提供的重要特性包括:基于幀的視頻隨機存取,通 過(guò)壓縮比特流的快進(jìn)/快退搜索,視頻的反向重放,及壓縮比特流 的編輯能力。
(A)基本的MPEG—1幀間編碼方案
基本MPEGl(及MPEG2)視頻壓縮技術(shù)的基礎為:宏模塊結 構、運動(dòng)補償及宏模塊的有條件再補給。如圖49所示,MPEG—1 編碼算法以幀內編碼模式(I圖像)對視頻序列的第一幀進(jìn)行編碼。 每一個(gè)下一幀采用幀間預測法(P圖像)進(jìn)行編碼——僅僅采用來(lái) 自前面最近的已編碼I或P幀的數據,來(lái)進(jìn)行預測,MPEG—l算 法對基于畫(huà)面塊視頻序列的幀加以處理。視頻序列中的每一個(gè)彩色 輸入幀被分割成多個(gè)非重迭的“宏模塊”,如圖4b所示。每一個(gè)宏 模塊包含4個(gè)亮度塊(Y1,Y2,Y3,Y4)及兩個(gè)色度塊(U,V), 每個(gè)宏模塊的尺寸為8*8像素,這些數據塊來(lái)自于亮度帶和共址 的色度帶。在Y:U:V亮度與色度像素之間的取樣比為4:1:1 以最近的前幀為基礎,采用運動(dòng)補償預測法來(lái)對P圖像加以編 碼。每一幀被分割成不連接的“宏模塊”(MB)。 圖4b對于每一個(gè)宏模塊,對有關(guān)4個(gè)亮度塊(Y 3,Y2,Y3, Y4)和兩個(gè)彩色決(U,V)的信總均加以編碼。每個(gè)包含8×8個(gè) 像素。 基本的混合型DPCM/DCT MPEGl編碼器和解碼器結構的方 塊圖示于圖5之中。視頻序列第1幀(I圖像)以幀內(INTRA) 模式加以編碼不參照任何一個(gè)過(guò)去幀或未來(lái)幀。在編碼器處,DCT 被加到每一個(gè)8×8亮度塊和色度塊上,在DC了輸出之后,該64個(gè) DCT系數中的每一個(gè)系數被均勻量化(Q),在宏模塊中被用來(lái)對 DCT系數進(jìn)行量化的量化器步長(cháng),傳送給接收機。‘量化之后,最低 位DO系數(DC系數)的處理方法跟保留(remaining)系數 (AC系數)的處理方法是不一樣的,DC系數表示分量模塊的平均 亮度,可用微分DC預測法對DC系數加以編碼。保留DCT系數及 它們位置的非零量化器值被Z字形掃描,并采用可變長(cháng)度編碼 (VLC)表對其進(jìn)行掃描寬度嫡編碼。 圖5一個(gè)基本混合型DC了/DPCM 編碼器和解碼器結構的方?jīng)Q圖 圖6中表示出了系數Z字形掃描的概念。因為要利用系數將這 個(gè)兩維的畫(huà)面信號變換成一個(gè)單維的比特流,故在量化DCT域二 維信號掃描之后,進(jìn)行的是可變長(cháng)度碼—字分配工序。并沿著(zhù)掃描 行和兩個(gè)連續非零系數之間的距離(行程),對這些非零AC系數量 化器值(長(cháng)度)加以檢測。采用僅傳送—個(gè)VLC碼字的方法,對 每一個(gè)連續(行程、長(cháng)度)對進(jìn)行編碼,Z字形掃描的目的在于: 在跟蹤高頻系數之前先去跟蹤低頻DCT系數(包含最大的能量) 圖6在8×8塊內,已量化DCT系數的Z字形掃描。僅僅對非 零量化DCT系數加以編碼。圖中指出了非零DCT系數可能的位置 Z字形掃描的做法要想做到按系數的有效性去跟蹤DCT系數 參看圖3,最低位的DCT系數(0,0)包含了這些決中的最大部分 的能量,這些能量集中在較低位的DCT系數周?chē)?解碼器執行反向操作,首先從比特流中提取可變長(cháng)度編碼字 (VLD)并加以解碼,以便為每一個(gè)畫(huà)面塊獲取非零DCT系數的位 置和量化器值。隨著(zhù)一個(gè)畫(huà)面塊所有非零DCT系數的再現(Q) 及隨后獲得的反DCT(DCT—1),就得到量化塊像素值。通過(guò)對整 個(gè)比特流的處理,就對所有的畫(huà)面塊進(jìn)行了解碼,并加以了再現。 為了對P圖像進(jìn)行編碼,前面的I圖像的第N—l幀,存儲在 設置在編碼器和解碼器內的幀存儲器中。在宏模塊中執行運動(dòng)補償 (MC)—對于即將進(jìn)行編碼的那個(gè)宏模塊,在第N幀與第N—1 幀之間,僅對一個(gè)運動(dòng)矢量進(jìn)行估算。這些運動(dòng)矢量被編碼及傳送 至接收機。運動(dòng)補償預測誤差是這樣計算的:即在帶有前幀運動(dòng)飄 移對應物的宏模塊中減去一個(gè)像素。然后是將8×8DCT加入到包 含在該宏模塊內的每一個(gè)8×8塊中,接著(zhù)是對DCT系數進(jìn)行量化 (Q),并進(jìn)行掃描寬度編碼和炳編碼(VLC)o這里需用一個(gè)視頻緩 沖器;以確保編碼器能產(chǎn)生一個(gè)常量的目標比特率輸出。對于幀內 每一個(gè)宏模塊來(lái)講,量化步進(jìn)(SZ)是可以調整的,以便獲得給定 的目標比特率,并避免緩沖器出現溢流和下溢現象。 解碼器采用反向處理,以便在接收機中再生第N幀的一個(gè)宏模 塊。對包含在視頻解碼器緩沖器(VB)中的可變長(cháng)度字(VLD) 進(jìn)行解碼之后,就能再現(Q和DCT—1操作)預測誤差像素值。 來(lái)自包含在幀存儲器(FS)中的前第N—1曲的運動(dòng)補償像素,被 加入到預測誤差之中,以恢復第N幀的那一宏模塊。 在圖7a一圖7d中9采用了一個(gè)典型的測試序列,描述了采用 運動(dòng)補償預測編碼視頻的好處,而該預測是以MPEG編碼器中的前 第N—1再現幀為依據的。用7a示出在N時(shí)間上將要進(jìn)行編碼的一 個(gè)幀,圖7b示出了在N—1時(shí)間上的再現幀,其存儲在設置在編碼器和解碼器中的幀存儲器(FS)內。采用編碼器運動(dòng)估算方法已對 圖7b中所示的塊運動(dòng)矢量(mv,參照圖2)加以估算,并能預測第 N幀中每個(gè)宏模塊的平移運動(dòng)的位移(參照第N—1幀)。圖7b出 示了這個(gè)純幀差信號(第N幀減去第N—1幀),若在編碼過(guò)程根本 不采用運動(dòng)補償預測,那么就能獲得這個(gè)幀差信號——即假定所有 運動(dòng)矢量為零。圖7d出示了:當采用圖7b的運動(dòng)矢量來(lái)進(jìn)行預測 時(shí)的運動(dòng)補償幀差信號。很明顯,跟圖7c中的純幀差編碼相比,采 用運動(dòng)補償,大大減縮了這個(gè)將要被編碼的殘差信號。 圖7:(a)在N時(shí)間上將要被編碼的幀:(b)在P4—1時(shí)間上 的幀,用來(lái)預測第N幀的內容(注意:四面中所示的運動(dòng)矢量,并 不是存儲在編碼器和解碼器內的再現畫(huà)面的一部分;(c)沒(méi)采用運 動(dòng)補償所獲取的預測誤差畫(huà)面——假設所有的運動(dòng)矢量均為零; (d)若采用運動(dòng)補償預測,將要進(jìn)行編碼的預測誤差畫(huà)面.
(B)條件再補給
MPEG1編碼算法所支持有一個(gè)基本特點(diǎn)是,如需要時(shí)(即與 前幀同一個(gè)宏模塊相:比,宏模塊內容已有變更時(shí)),可以在解碼器 中更新宏模塊的信息(條件宏模塊再補給)在較低比特率要實(shí)行 規頻序列的有效編碼的關(guān)鍵,是選擇合適的預測模式,以實(shí)現條件 再補給,MPEG標準主要區分有三種不同的宏模塊編碼類(lèi)型(MB 類(lèi)型): 跳躍MB:來(lái)自前幀的預測,運動(dòng)矢量為零。根本無(wú)宏模塊信息被進(jìn)行編碼,及被傳送至接收機。 幀間MB:根據前幀,采用運動(dòng)補償預測。傳送MB類(lèi)型及MB 地址;如需要,也傳送運動(dòng)矢量、DCT系數及量化步長(cháng)。 幀內MB:根本不采用來(lái)自前幀的預測(僅僅采用幀內預測) 僅僅向接收機傳送MB類(lèi)型、MB地址、DCT系數及量化步長(cháng)。
(C)特殊的存儲媒體功能
為了從存儲媒體中存取視頻,MPEG1視頻壓縮算法設計成能 支持一些重要功能,如隨機存取有及快進(jìn)(FF)和快倒(FR)重 放等功能??紤]到對存儲媒體的需求比及進(jìn)一步探索運動(dòng)補償和運 動(dòng)內描的優(yōu)越性,由MPEGl引入B圖像(雙向預測測/雙向內掃圖 像)概念。這一概念示于圖8,對象為視頻序列中的一組連接圖像。 圖像有三種類(lèi)型:幀內圖像(I圖像)編碼時(shí),不參照視頻序列中 的其它圖像,已在圖4中介紹過(guò),I圖像允許存取點(diǎn)進(jìn)行隨機存取, 并對比特流進(jìn)行FF/FR功能,不過(guò)只能進(jìn)行低壓縮。幀內預測圖 像(P圖像)編碼時(shí)要參照挨差最近的前一個(gè)已編碼的I圖像或P 圖像,通常采用運動(dòng)補償,以提高編碼效率。由于通常用P圖像作 為參照物來(lái)預測未來(lái)幀或過(guò)去幀,故P圖像不提供用于隨機存取或 編輯的合適的存取點(diǎn)。雙向預測/內描的圖像(B圖像)備用過(guò)去幀 和未來(lái)幀作為參照物。為了實(shí)現高壓縮,可以依據挨得最近的過(guò) 去、未來(lái)的P圖像或I,圖像,來(lái)實(shí)施運動(dòng)補償。B圖像本身永不會(huì ) 當作參照物來(lái)加以使用。 圖8在MPEGl視頻序列中所采用的I圖像(I)、P圖像(P) 和B圖像(B),依據兩個(gè)最近的已編碼幀(I圖像或P圖像)采用 運動(dòng)補償預測,可以對B圖像進(jìn)行編碼。為了適應不同應用的需 求,視頻序列內圖像編碼類(lèi)型的安排具有靈活性。圖中指出了預測 的方向。 使用者在安排視頻序列中的圖像類(lèi)型時(shí)具有很大的靈活性,以 適應各種不同應用的需求。作為總的原則,僅僅采用I圖像(IIIIII.....)編碼的視頻序列,具有最好的隨機存取、FF/FR和編輯功 能,但只能實(shí)現低壓縮。已編碼的,帶有一個(gè)常規修正的I圖像及 無(wú)B圖像的序列(即IPPPPPPIPPP......),能實(shí)現中度壓縮,具有一定程度的隨機存取及FF/FR功能。所有這三種圖像類(lèi)型的結合,能做到高壓縮,具有較好的隨機存取和FF/FR功能,但大大增加了編碼延遲時(shí)間。這 一延遲也許在一些應用場(chǎng)合是不允許的,如視頻電話(huà)、視頻會(huì )議 。
(D)速率控制
MPEGl編碼算法所支持的一個(gè)重要特點(diǎn)是,通過(guò)調節量化 DCT系數的量化器步長(cháng)(sz)(見(jiàn)圖5),為了滿(mǎn)足特殊應用的要 求,可以調節比特率(因而也調節了再現視頻信號的質(zhì)量) DCT 系數的粗量化能對具有高的視頻信號進(jìn)行存儲或傳送,但會(huì )產(chǎn)生較 大的編碼人工產(chǎn)物,這取決于量化等級 MPEGI標準允許編碼器 為每一個(gè)已編碼宏模塊選擇不同的量化器值——這樣,可以對需要 改進(jìn)畫(huà)面質(zhì)量的位置上分配比特,具有很大的靈活性。另外,還能 產(chǎn)生常量和變量比特率,用于壓縮視頻的存儲或實(shí)時(shí)傳送。 壓縮的視頻信息從實(shí)質(zhì)上來(lái)講本來(lái)就是可變的。通常是由連續 視頻幀的變化的內容所引起的,必須對由編碼器產(chǎn)生的可變比特流 緩沖于視頻緩沖器中,如圖5所示。進(jìn)入到編碼器VB的輸入在時(shí) 間上是可變的,而輸出是一個(gè)恒定比特流。在解碼器,VB輸入比 特流是恒定的,用于解碼的輸出是可變的 MPEG編碼器和解碼器 采用同樣尺寸的緩沖器,以避免產(chǎn)生再現誤差。 編碼器中的速率控制算法,依據視頻內容和活動(dòng)程度,調節量 化器的步長(cháng)(SZ),以保證視頻緩沖器永不溢流——同時(shí),應保持 緩沖器盡可能的滿(mǎn),以盡量提高畫(huà)面質(zhì)量。理論上講,采用大的視 頻緩沖器,可以避免緩沖器出現溢流現象。然而,除大型緩沖器價(jià) 格昂貴外,對于要求在編碼器與解碼器之間的延遲小的應用場(chǎng)合,大型緩沖器還存在另外一些缺點(diǎn),如對話(huà)或視頻的實(shí)時(shí)傳送。如果 由于采用了視頻緩沖器來(lái)產(chǎn)生一個(gè)恒定的比特率輸出,編碼器比特 流是平坦的,那么在編碼處理跟在解碼器視頻再現時(shí)間之間就會(huì )引入一個(gè)延遲。通常,緩沖器越大,所引入的延遲時(shí)間越長(cháng) MPEG已規定了最小的視頻緩沖器的尺寸,它需要獲得所有解 碼器運作的支持。該數值等同于VB尺寸的最大值,編碼器用它來(lái) 產(chǎn)生比特流。然而,為了減少延遲或編碼器的復雜性,在編碼器選 擇一個(gè)虛擬緩沖器尺寸值是可能的,該值比需要得到解碼器支持的 最小VB尺才要小。在發(fā)送視頻比特流之前,先將該虛擬緩沖器尺 才值傳送給解碼器。用于壓縮視頻的速率控制算法不屬于MPEG—1標準,這就留給實(shí)施者去開(kāi)發(fā)有效的戰略方法。應著(zhù)重指出:制造廠(chǎng)商以指定比特率去壓縮視頻所選擇的速率控制算法的效率,對在解碼器再現的 視頻的可視質(zhì)量有非常大的影響。
(E)隔行視頻源的編碼
用于MPEG—1的標準化視頻輸人格式是非隔行制。然而,對 MPEG1來(lái)講,隔行彩色電視(525行,29.97幀/每秒及625行, 25幀/秒)編碼是一個(gè)重要的應用?;诟粜性吹街鹦兄虚g格式的 轉換,MPEGl已對Rec.601數字彩色電視信號的編碼提出一個(gè)建 議。從本質(zhì)上講,只對每一個(gè)隔行視頻輸入幀中的一個(gè)水平二次取 樣場(chǎng)進(jìn)行編碼,即二次取樣頂(top)場(chǎng)。在接收機,根據已解碼的 和水乎內插的奇數場(chǎng),采預測偶數場(chǎng),加以顯示。在編碼之前所必 須的預處理及編碼之后所需的后處理,均在MPEGl國際標準文件 的信息附錄中有詳細敘述.
MPEG2標準:用于活動(dòng)圖像和伴音的 通用編碼
世界范圍的MPEGl正在開(kāi)發(fā)一個(gè)重要的及成功的視頻編碼標 準,有關(guān)產(chǎn)品不斷增多,并開(kāi)始商品化。成功的關(guān)鍵因素在于標準 的通用結構,能支持廣泛的應用及應用的特別參數。然而,在1991 年,MPEG繼續它的標準化努力,進(jìn)入第二階段(MPEG—2),為 MPEG—l最初沒(méi)有包括在內或尚未想到的應用,提供了一種視頻 編碼方法。特別是,已對MPEG—2提出一個(gè)要求,即它所提供的 視頻質(zhì)量,不能低于NTSC/PAL,最高應可達到CCIR601質(zhì)量。 正在出現的一些應用,如數字有線(xiàn)電視分配、通過(guò)ATM的網(wǎng)絡(luò )數 據庫業(yè)務(wù)、數字VTR應用以及衛星和地面數字廣播分配等,由于 新的MPEG—2標準化階段結果提高了圖像質(zhì)量,均能從中受益。 已與ITU—TSGl5專(zhuān)家組(ATM視頻編碼專(zhuān)題)聯(lián)合,開(kāi)展了研 究工作。1994年,發(fā)布了MPEG—2的草案國際標準(與ITU—T H.262建議書(shū)相同)該標準的技術(shù)規格打算應具有通用性—所以,該標準的目的在于,應有助于比特流在不同應用、傳輸和存儲 媒體之間的互換。 從本質(zhì)上說(shuō),MPEG—2可以視為是一組MPEG—1的最高級 編碼標準,并設計或能向后跟MPEG—1相兼容—每一個(gè)MPEG —2兼容解碼器能對有效的MPEG—1比特流進(jìn)行解碼。為了滿(mǎn)足 多種不同應用的需求,許多視頻編碼算法被綜合于單個(gè)句法之中。 為獲得足夠的性能和質(zhì)量,MPEG—2已增添了新的編碼特性,已 開(kāi)發(fā)出來(lái)的預測模式,是為了支持隔行視頻的有效編碼。此外,還引進(jìn)了可分等級的視頻編碼擴展,以提供另外的功能,如數字電視 和HDTV的嵌入式編碼,沒(méi)出現傳輸誤差時(shí)質(zhì)量的緩慢降低。 然而,整個(gè)句法的實(shí)施,對于大部分應用來(lái)講也許是不實(shí)際 的,MPEG—2已引進(jìn)了“型”和“層”的概念,來(lái)規定設備之間 的一致性,并不支持整個(gè)句法的實(shí)施。型和層提供了定義句法子集 的方法,以及對特殊比特流進(jìn)行解碼所需的解碼器功能。表2和表 3中表明了這種概念。 作為一般法規,每一個(gè)型定義一組新的算法,作為最高級組加在下一個(gè)型中的算法上。層規定了參數的范圍,在實(shí)施中得到支持 (即畫(huà)面尺寸、幀頻和比特率)主型(MAINProfile)的MPEG—2 核心算法的特點(diǎn)是,對于逐行和隔行視頻源均為非可分等級編碼。 并希望:大部分MPEG—2實(shí)施過(guò)程至少應符合位于主層(MAIN LEvel)的主型,該主型支持數字視頻的非可分等級編碼,并擁有近似的數字電視參數—最大的取樣密度,每幀576行,每行720個(gè)取樣;最高的幀頻30幀/秒;最高的比特率15Mb/s。
(A)MPEG—2非可分等級編碼模式
在主型中所定義的MPEG—2算法,是MPEG—I編碼方案的 直接擴展,以適應隔行視頻的編碼,同時(shí)保留了MPEG—1所提供 的所有功能。與MPEG—1標準一樣,MPEG—2編碼算法的基礎 為通用的混合DCT/DPCM編碼方案,如圖5所示,并并入了宏模 塊結構、運動(dòng)補償和編碼模式,以便執行宏模塊的條件再補給。I圖像、P圖像和B圖像的概念,在MPEG—2中全部保留,以獲得有效的運動(dòng)頸測及有助于隨機存取功能的實(shí)現。注意: MPEG—2單型(SIMPLEFrofile)中所定義的算法9基本上跟主型中的算法相同,不一樣的地方是,在編碼器根本不存在B圖像預測模式。故B圖像解碼所需要的額外的實(shí)施復雜性和另外的幀存儲 器,對于MPEG—2解碼器來(lái)說(shuō)不必要的,而只要求MPEG—2解碼器符合該單型就行。 場(chǎng)圖像和幀圖像:MPEG—2已介紹了幀圖像和場(chǎng)圖像的概念, 也介紹了特殊的幀預測和場(chǎng)預測模式,以適應逐行和隔行視頻的編 碼。對于隔行序列來(lái)講,假設編碼器輸入是由一系列奇數(頂)場(chǎng) 和偶數(底)場(chǎng)所組成,而奇數場(chǎng)與偶數場(chǎng)在時(shí)間相隔—場(chǎng)的時(shí) 間。一幀中兩場(chǎng)是分別編碼的,在這種情況下,每一場(chǎng)被分離成相鄰的不重疊的宏模塊,并對場(chǎng)進(jìn)行DCT處理。 另一種方法是,將兩場(chǎng)看成為一幀(幀圖像),與一般的逐行視頻 序列編碼相類(lèi)似,一起進(jìn)行編碼。在這里,頂場(chǎng)和底場(chǎng)的連續行就簡(jiǎn)單地匯合組成幀。注意:在單一的視頻序列中,幀圖像和場(chǎng)圖像 均能被使用 圖9場(chǎng)圖像概念和可能的場(chǎng)預測舉例。頂場(chǎng)和底場(chǎng)是分別編碼 的。采用以那個(gè)前編碼頂場(chǎng)為依據的運動(dòng)補償場(chǎng)間預測,來(lái)對每一 個(gè)底場(chǎng)進(jìn)行編碼。而頂場(chǎng)編碼采用的是運動(dòng)補償場(chǎng)間預測,依據是 前編碼頂場(chǎng)或者是前編碼底場(chǎng)。這一概念可以加以延伸,以并入B 圖像。場(chǎng)和幀預測:MPEG—2已介紹了一些新的運動(dòng)補償場(chǎng)預測模 式,以便有效地對場(chǎng)圖像和幀圖像加以編碼。圖9中簡(jiǎn)單描述了這 種新概念的一個(gè)例子,這里出示的是一個(gè)隔行視頻序列,只會(huì )有三 個(gè)場(chǎng)圖像,不帶B圖像。在場(chǎng)預測中,是采用來(lái)自一個(gè)或多個(gè)前解碼場(chǎng)的數據,來(lái)對每一場(chǎng)單獨進(jìn)行預測的,也就是說(shuō),對于頂場(chǎng)來(lái) 說(shuō),測是根據一個(gè)前解碼頂場(chǎng)(采用運動(dòng)補償預測)或屬于同一 圖像的前解碼底場(chǎng)來(lái)獲取的。一般來(lái)說(shuō),若場(chǎng)間根本沒(méi)有運動(dòng)時(shí),寧愿采用依賴(lài)于同一圖像解碼場(chǎng)的場(chǎng)間預測。采用哪一個(gè)參照場(chǎng)來(lái) 進(jìn)行預測,這一信息隨著(zhù)比特流被發(fā)送出去。在場(chǎng)圖像中,所有預測 均為場(chǎng)預測。 幀預測作出幀圖像的預測,依據于一個(gè)或多個(gè)前解碼幀。在幀 圖像中,可以采用場(chǎng)預測,也可以采用幀預測;可以一個(gè)宏模塊一個(gè)宏模塊地,來(lái)選擇所喜愛(ài)的那種預測模式。 然而必須值得,頸測所依賴(lài)的那些場(chǎng)和幀,它們本身也許曾作 為場(chǎng)圖像或者幀像,已完成了解碼工序 MPEG—2已介紹了一些新的運動(dòng)補償模式,以便有效地探索 場(chǎng)間的時(shí)間冗長(cháng)余度,名稱(chēng)叫做“雙主”(Dual Prime)預測,運動(dòng)補 償基于16×8畫(huà)面塊。這些方法的討論已超出本文的范疇。色度格式:MPEG—2已規定了補充的Y:V:V亮度和色度二次取樣比率格式,以促進(jìn)最高視頻質(zhì)量需求的應用。除了已得到 MPEG—1所支持4:2:0格式外,MPEG—2的規格已擴展至4:2:2格式,符合演播全視頻編碼應用的要求.
(B)MPEG—2可分等級編碼的擴展
MPEG—2已對可分級性方法進(jìn)行了標準化,這些方法所支持 的應用范圍,已超出基本主型編碼算法所支持的應用范圍??煞旨?編碼的目的在于,在不同業(yè)務(wù)之間能提供互操作性,能較靈活地支 持具有不同顯示功能的各種接收機。有的接收機既沒(méi)有能力或者也 不要求再現視頻的全部清晰度,那么就可以只對分層比特流的子集 進(jìn)行解碼,以較低的空間或時(shí)間清晰度,或者較低的質(zhì)量,來(lái)顯示 視頻圖像??煞旨壘幋a的另一個(gè)重要目的是可提供分層視頻比特 流,它適合用于按優(yōu)先順序的傳輸。這里主要的難點(diǎn)在于,在出現 額道誤差情況下,如基于A(yíng)TM傳輸網(wǎng)絡(luò )中單元的丟失,或地面數 字廣播的同頻道干擾,這時(shí)如何可靠地來(lái)傳送視頻信號。 能靈活地支持多種清晰度,這一功能對于DHTV跟標準清晰度 電視(SDTV)相互配合運作來(lái)講十分重要,這里問(wèn)題是HDTV接 收機應跟SDTV產(chǎn)品相兼容。對HDTV源進(jìn)行了可分級編碼,就 能實(shí)現這一兼容性,這就能避免很浪費地將兩個(gè)單獨的比特流分別 地傳輸給HDTV和SDTV接收機??煞旨壘幋a的其它一些重要應 用,包括視頻數據庫瀏覽以及在多媒體環(huán)境中視頻的多清晰度重 放。 圖10顯示了多級視頻編碼方案的一般原理。這里提供了兩層, 每一層支持著(zhù)一個(gè)不同級上的視頻,即將輸入視頻信號降級成為一種較低清晰度視頻(在空間上或時(shí)間上降低取樣率),就能實(shí)現多 清晰度的顯示??蓪档鸵曨l進(jìn)行編碼,進(jìn)入基層比特流,這樣也 降低了比特率??捎蒙壴佻F的基層視頻(在空間上或時(shí)間上提高 取樣率)來(lái)對原始輸入視頻信號加以預測。預測測誤差經(jīng)編碼進(jìn)入一 個(gè)增強層比特流。若接收機沒(méi)能力或不需要顯示視頻信號的全部質(zhì)量,那就可以只對基層比特流加以解碼,以再現降級的視頻信號。 這里著(zhù)重指出:如只對較低比特率的基層進(jìn)行解碼,那么最高清晰度視頻的顯示,質(zhì)量也可能有所降低。對于每一層均分配有一個(gè)合 適比特率的視頻,可以對其進(jìn)行可分級編碼,以滿(mǎn)足傳輸頻道或存 儲媒體對帶寬的特殊需求。這一功能被認為對于瀏覽視頻數據庫和 經(jīng)不同網(wǎng)絡(luò )的視頻傳輸等業(yè)務(wù)是有用的。 在MPEG—2的標準化階段,發(fā)現下面的想法是不可能實(shí)現的, 去開(kāi)發(fā)一個(gè)通用的可分級編碼方案,以適應已想到的所有各種應用 的需求。有些應用被限制于低的裝置復雜性,另外一些要求非常高 的編碼效率。結果是MPEG—2已對三種可分級編碼方案進(jìn)行了標 準化:SNR(質(zhì)量)可量測性、空間可量測性及時(shí)間可量測性—— 每一種方案的目標在于有助于滿(mǎn)足特殊應用的需求。這些可分級性 方法可將算法擴展到主型定義的非可分級方案??梢詫⒉煌目煞?級姓方法結合于一個(gè)混合編碼方案之中,也就是說(shuō),將空間可分級 性和時(shí)間可分級性方法結合于一個(gè)混合層編碼方案之中,這樣,擁 有不同空間清晰度和幀頻的各種業(yè)務(wù)之間的互操體性就能得到支 持。將空間可分級性與SNR可分級性相結合,就能夠獲得HDTV 與SDTV業(yè)務(wù)之間的互操作性,并對頻道誤差有一定的恢復功能 MPEG—2句法最多可支持三個(gè)不同的可分級層。 空間可分級性已經(jīng)開(kāi)發(fā)完成,以便在接收機顯示不同的空間清 晰度—從基層能夠再現空間清晰度較低的視頻,這一功能對于許 多應用均是有用的,包括對HDTV/TV系統采用嵌入式編碼,這樣 就允許從數字TV業(yè)務(wù)向具有較高空間清晰度的HDTV業(yè)務(wù)過(guò)渡。 這一算法的依據是用于逐行掃描畫(huà)面編碼的一種標準錐形方法,空 間可分級性能夠靈活的支持很寬范圍的空間清晰度,但給主要編碼 方案增添了很大的裝置復雜性。 SNR可分級性:該方法已基本開(kāi)發(fā)成功,對于按優(yōu)先排列傳輸 媒體來(lái)說(shuō),SNR可分級性能使視頻質(zhì)量下降時(shí)比較緩慢(質(zhì)量可分級性),如果基層能避免受到傳輸誤差的影響,那么只要對基層信 號加以解碼,就能獲得質(zhì)量衰減緩慢的視頻。用來(lái)實(shí)現質(zhì)量緩慢衰 減的算法,它基于一種頻率(DCT域)可分級性技術(shù)。圖11中的 兩個(gè)層以同樣的空間清晰度對視頻信號加以圖編碼,11a和圖llb 示出了SNR可分級性編碼器和解碼器可能的實(shí)施方法。該方法的 實(shí)施,也就是主型MPEG—2的一種簡(jiǎn)明的擴展,能夠獲得極佳的 編碼效率。 在基層,DCT系數被低級量化和發(fā)送,以便在低比特率情況下 來(lái)獲取適中的圖像質(zhì)量。非量化DCT系數跟來(lái)自基層、量化步長(cháng) 較小的量化系數之間存在差值,而增強層就對這一差值進(jìn)行編碼,加以發(fā)送。在解碼器,通過(guò)對較低層和較高層比特流進(jìn)行解碼,就能再現最高質(zhì)量的視頻信號。利用這一方法,也可能在接收機中獲取空間清晰度較低的視頻 圖像。如果解碼器從基層比特流選用最低的N×N DCT系數,就可用非標準反向DCT系數(尺寸為N×N)來(lái)再現空間清斷度已降低 了的視頻圖像。然而,這個(gè)最低層已降級的視頻易于發(fā)生漂移現 象,這取決于編碼器和解碼器的操作運行。 已開(kāi)發(fā)的時(shí)間可分級性方法的目的跟空間可分級性的相類(lèi)似—具有一個(gè)適用于立體顯示功能接收機的分層比特流,立體視頻 就能得到支持。以由基層發(fā)送出來(lái)的、從對面觀(guān)看到的編碼圖像為依據,來(lái)預測增強層的立體視頻的一個(gè)圖像(左視圖像),這樣就 實(shí)現了分層工序。當在A(yíng)TM,地面廣播或者磁記錄環(huán)境中出現傳輸或頻道誤差 時(shí),數據分配的作用在于促進(jìn)誤差隱蔽功能。由于這一做法完全可以作為任一單層編碼方案的后處理和預處理技術(shù)采用,它與MPEG —2的標準化工作尚未正式完成,但在MPEG—2DIS文件的信息 附錄中,已注明了有關(guān)這一做法的資料來(lái)源。該算法依賴(lài)于DCT 系數的分離,跟SNR可分類(lèi)性方法相類(lèi)似,與其它可分級編碼方 案相比較,這一算法實(shí)施起來(lái)較為簡(jiǎn)單。為了提供誤差保護,比特 流中的已編碼DCT系數,在帶有不同誤差的兩個(gè)層中被分離和發(fā)送。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。