午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

H.264/MPEG4等編碼格式

 happyman 2006-01-05

JPEG2000綜述 [轉(zhuǎn)]

JPEG2000圖像壓縮標(biāo)準(zhǔn)及其關(guān)鍵算法

周 寧    湯曉軍    徐維樸

(西安交通大學(xué)人工智能與機器人研究所西安710049)


    摘  要:JPEG2000是為適應(yīng)不斷發(fā)展的圖像壓縮應(yīng)用而出現(xiàn)的新的靜止圖像壓縮標(biāo)準(zhǔn)。闡述了JPEG2000圖像編碼系統(tǒng)的實現(xiàn)過程, 對其中采用的基本算法和關(guān)鍵技術(shù)進行了描述,介紹了這一新標(biāo)準(zhǔn)的特點及應(yīng)用場合,并對其性能進行了分析。
    關(guān)鍵詞:JPEG2000; 圖像壓縮;離散小波變換; 速率控制;感興趣區(qū)域


1  引言
    隨著多媒體應(yīng)用領(lǐng)域的快速增長和網(wǎng)絡(luò)的不斷發(fā)展,傳統(tǒng)的JPEG壓縮技術(shù)已無法滿足人們對數(shù)字化多媒體圖像資料的要求,一種功能更強大、效率更卓越的靜止圖像壓縮標(biāo)準(zhǔn)被提到制定日程上,這就是JPEG2000。
        JPEG(Joint Photographic Experts Group)是在國際標(biāo)準(zhǔn)化組織(ISO)領(lǐng)導(dǎo)之下制定靜態(tài)圖像壓縮標(biāo)準(zhǔn)的委員會,第一套國際靜態(tài)圖像壓縮標(biāo)準(zhǔn)ISO 10918-1(JPEG)就是該委員會制定的。由于JPEG優(yōu)良的品質(zhì),使他在短短幾年內(nèi)獲得了極大的成功,被廣泛應(yīng)用于互聯(lián)網(wǎng)和數(shù)碼相機領(lǐng)域,網(wǎng)站上80%的圖像都采用了JPEG壓縮標(biāo)準(zhǔn)。然而,目前的JPEG靜止圖像壓縮標(biāo)準(zhǔn),具有中端和高端比特速率上的良好的速率畸變特性,但在低比特率范圍內(nèi),將會出現(xiàn)很明顯的方塊效應(yīng),其質(zhì)量變得不可接受。JPEG不能在單一碼流中提供有損和無損壓縮,并且不能支持大于64×64 K的圖像壓縮。同時,盡管當(dāng)前的JPEG標(biāo)準(zhǔn)具有重新啟動間隔的規(guī)定,但當(dāng)碰到比特差錯時圖像質(zhì)量將受到嚴(yán)重的損壞。
    針對這些問題,自1997年3月起,JPEG圖像壓縮標(biāo)準(zhǔn)委員會開始著手制定新一代的圖像壓縮標(biāo)準(zhǔn)以解決上述問題。2000年3月的東京會議,確定了彩色靜態(tài)圖像的新一代編碼方式JPEG2000圖像壓縮標(biāo)準(zhǔn)的編碼算法。
        JPEG2000系統(tǒng)分為下列7個部分:
    ①JPEG2000圖像編碼系統(tǒng);
    ②擴充(給①的核心定義添加更多的特征和完善度);
    ③運動JPEG2000;
    ④一致性;
    ⑤參考軟件(目前包含Java和C實現(xiàn));
    ⑥復(fù)合圖像文件格式(用于文件掃描和傳真應(yīng)用程序);
    ⑦對①的最小支持(技術(shù)報告)。
    ①為完全被認(rèn)可的ISO標(biāo)準(zhǔn),定義了核心壓縮技術(shù)和最小文件格式,②~⑥定義壓縮和文件格式的擴充。其中,①已經(jīng)制定完成,其余部分還在制定過程中。本文所討論的JPEG2000標(biāo)準(zhǔn)就是基于第1部分的。
2  JPEG2000系統(tǒng)的特點
        JPEG2000以其特有的優(yōu)點彌補了現(xiàn)行JPEG標(biāo)準(zhǔn)的不足。離散小波變換算法中,圖像可以轉(zhuǎn)換成一系列可更加有效存儲像素模塊的子帶,因此,JPEG2000格式的圖像壓縮比可在現(xiàn)在的JPEG基礎(chǔ)上再提高10%~30%,而且壓縮后的圖像顯得更加細(xì)膩平滑。也就是說,在網(wǎng)上觀看采用JPEG2000壓縮的圖像時,不僅下載速率比采用JPEG格式的快近30%,而且品質(zhì)也將更好。對于目前的JPEG標(biāo)準(zhǔn),在同一個壓縮碼流中不能同時提供有損和無損壓縮,而在JPEG2000系統(tǒng)中,通過選擇參數(shù), 能夠?qū)D像進行有損和無損壓縮,可滿足圖像質(zhì)量要求很高的醫(yī)學(xué)圖像、圖像庫等方面的處理需要?,F(xiàn)在網(wǎng)絡(luò)上的JPEG圖像下載時是按“塊”傳輸?shù)?,因此只能逐行地顯示,而采用JPEG2000格式的圖像支持漸進傳輸(Progressive Transmission),這就允許圖像按照所需的分辨率或像素精度進行重構(gòu),用戶根據(jù)需要,對圖像傳輸進行控制,在獲得所需的圖像分辨率或質(zhì)量要求后,便可終止解碼,而不必接收整個圖像的壓縮碼流。由于JPEG2000采用小波技術(shù),利用其局部分辨特性,在不解壓的情況下,可隨機獲取某些感興趣的圖像區(qū)域(ROI)的壓縮碼流,對壓縮的圖像數(shù)據(jù)進行傳輸、濾波等操作。
3  JPEG2000圖像編解碼系統(tǒng)
    本節(jié)主要介紹JPEG2000圖像編解碼系統(tǒng)。其編碼器和解碼器的框圖如圖1所示。

   在編碼器中,首先對源圖像進行前期預(yù)處理,對處理的結(jié)果進行離散小波變換,得到小波系數(shù)。然后對小波系數(shù)進行量化和熵編碼,最后組成標(biāo)準(zhǔn)的輸出碼流(位流)。解碼器是編碼器的反過程,首先對碼流進行解包和熵解碼,然后是反向量化和離散小波反變換,對反變換的結(jié)果進行后期處理合成,就得到重構(gòu)的圖像數(shù)據(jù)。盡管JPEG2000編解碼過程與JPEG類似,但是對于每一步的具體實現(xiàn)兩者卻有非常大的差異。編碼過程的一般步驟如下:
    (1) 將有多個顏色分量組成的圖像分解成單一顏色分量的圖像。分量之間存在一定的相關(guān)性,通過分解相關(guān)的分量變換,可減少數(shù)據(jù)間的冗余度,提高壓縮效率;
    (2) 分量圖像被分解成大小統(tǒng)一的矩形片——圖像片。圖像片是進行變換和編解碼的基本單元;
    (3) 每一個圖像片進行小波變換。產(chǎn)生多級系數(shù)圖像。這些不同級數(shù)的系數(shù)圖像可以重構(gòu)出不同分辨率的圖像;
    (4) 多級分解的結(jié)果是由小波系數(shù)組成的多個子帶。他們表示圖像片中局部區(qū)域(而不是整幅圖像)的頻率特性;
    (5) 對系數(shù)子帶進行量化,并且組成矩形數(shù)組的“碼塊”;
    (6) 對一個碼塊中的系數(shù)位平面(也就是一個碼塊中整個系數(shù)中具有同樣權(quán)值的那些位)進行熵編碼;
    (7) 相對于圖像的背景區(qū)域,可以對感興趣區(qū)域進行更高質(zhì)量的編碼;
    (8) 通過在位流中加入掩碼來增加抗干擾性;
    (9) 在每一個碼流的最前部都有一個頭結(jié)構(gòu),他描述的是源圖像的屬性,各種分解情況和編碼風(fēng)格。這個頭結(jié)構(gòu)可以用來進行定位、抽取、譯碼和重構(gòu)圖像,得到的圖像可以具有所期望的分辨率、重現(xiàn)精度、感興趣的區(qū)域或是其他特性。
    編碼過程主要分為以下幾個過程:預(yù)處理、核心處理和位流組織。預(yù)處理部分包括對圖像分片、直流電平(DC)位移和分量變換。核心處理部分由離散小波變換、量化和熵編碼組成。位流組織部分則包括區(qū)域劃分、碼塊、層和包的組織。
3.1  預(yù)處理
    (1)圖像分片
    分片指的是把源圖像分割成相互不重疊的矩形塊——圖像片,每一個圖像片作為一個獨立的圖像進行壓縮編碼。編碼中的所有操作都是針對圖像片進行的。圖像片是進行變換和編解碼的基本單元。圖像的分片降低了對存儲空間的要求,并且由于他們重構(gòu)時也是獨立進行的,所以可以用來對圖像的特定區(qū)域而不是整幅圖像進行解碼。當(dāng)然,圖像分片會影響圖像質(zhì)量。比較小的圖像片會比大圖像片產(chǎn)生更大的失真。圖像分片在低比特率表示圖像的時候所造成的圖像失真會更加嚴(yán)重。
    (2)DC電平位移
    在對每一圖像片進行正向離散小波變換之前,都要進行直流電平位移。目的是在解碼時,能夠從有符號的數(shù)值中正確恢復(fù)重構(gòu)的無符號樣本值。直流電平位移是對僅有無符號數(shù)組成的圖像片的像素進行的。電平位移并不影響圖像的質(zhì)量。在解碼端,在離散小波反變換之后,對重構(gòu)的圖像進行反向直流電平位移。
    (3)分量變換
    JPEG2000支持多分量圖像。不同的分量不需要有相同的比特深度,也不需要都是無符號或有符號數(shù)。對于可恢復(fù)(無損)系統(tǒng),唯一的要求就是每一個輸出分量圖像的比特深度必須跟相應(yīng)輸入分量圖像的比特深度保持一致。
3.2  核心處理
    (1)小波變換
    不同于傳統(tǒng)的DCT變換,小波變換具有對信號進行多分辨率分析和反映信號局部特征的特點。通過對圖像片進行離散小波變換,得到小波系數(shù)圖像,而分解的級數(shù)視具體情況而定。小波系數(shù)圖像由幾種子帶系數(shù)圖像組成。這些子帶系數(shù)圖像描述的是圖像片水平和垂直方向的空間頻率特性。不同子帶的小波系數(shù)反映圖像片不同空間分辨率的特性。通過多級小波分解,小波系數(shù)既能表示圖像片中局部區(qū)域的高頻信息(如圖像邊緣),也能表示圖像片中的低頻信息(如圖像背景)。這樣,即使在低比特律的情況下,我們也能保持較多的圖像細(xì)節(jié)(如邊緣)。另外,下一級分解得到的系數(shù)所表示圖像在水平和垂直方向的分辨率只有上一級小波系數(shù)所表示的圖像的一半。所以,通過對系數(shù)圖像的不同級數(shù)進行解碼,就可以得到具有不同空間分辨率(或清晰,或模糊)的圖像。
    小波變換因其具有的這種優(yōu)點被JPEG2000標(biāo)準(zhǔn)所采用。在編碼系統(tǒng)中,對每個圖像片進行Mallat塔式小波分解。經(jīng)過大量的測試,JPEG2000選用兩種小波濾波器:LeGall 5/3濾波器和Daubechies 9/7濾波器。前者可用于有損或無損圖像壓縮,后者只能用于有損壓縮。
    在JPEG2000標(biāo)準(zhǔn)中,小波濾波器可以有2種實現(xiàn)模式:基于卷積的和基于提升機制的。而具體實現(xiàn)時,對圖像邊緣都要進行周期對稱延伸,這樣可以防止濾波器對圖像邊緣操作時產(chǎn)生失真。另外,為了減小變換時所需空間的開銷,標(biāo)準(zhǔn)中還應(yīng)用了基于行的小波變換技術(shù)。
    (2)量化
    由于人類視覺系統(tǒng)對圖像的分辨率要求有一定的局限,通過適當(dāng)?shù)牧炕瘻p小變換系數(shù)的精度,可在不影響圖像主觀質(zhì)量的前提下,達到圖像壓縮的目的。量化的關(guān)鍵是根據(jù)變換后圖像的特征、重構(gòu)圖像質(zhì)量要求等因素設(shè)計合理的量化步長。量化操作是有損的,會產(chǎn)生量化誤差。不過一種情況除外,那就是量化步長是1,并且小波系數(shù)都是整數(shù),利用可恢復(fù)整數(shù)5/3拍小波濾波器進行小波變換得到的結(jié)果就符合這種情況。
    在JPEG2000標(biāo)準(zhǔn)中,對每一個子帶可以有不同的量化步長。但是在一個子帶中只有一個量化步長。量化以后,每一個小波系數(shù)有2部分來表示:符號和幅值。對量化后的小波系數(shù)進行編碼。對于無損壓縮,量化步長必須是1。
    (3)熵編碼
    圖像經(jīng)過變換、量化后,在一定程度上減少了空域和頻域上的冗余度,但是這些數(shù)據(jù)在統(tǒng)計意義上還存在一定的相關(guān)性,為此采用熵編碼來消除數(shù)據(jù)間的統(tǒng)計相關(guān)。將量化后的子帶系數(shù)劃分成小的矩形單元——碼塊(code block)。

   如圖2所示,采用兩層編碼策略,首先使用基于上下文的算術(shù)編碼器,每個碼塊進行獨立的嵌入式碼塊編碼,得到碼塊的嵌入式壓縮位流。然后,根據(jù)率失真優(yōu)化原則,采用PCRD(Post Compression Rate Distortion)優(yōu)化算法思想,將所有碼塊的壓縮位流適當(dāng)截取,組織成具有不同質(zhì)量級的壓縮位流層。每一層上的壓縮位流連同其前面的所有層的壓縮位流,可重構(gòu)出一定質(zhì)量的圖像。在分層組織壓縮位流時,須對每個碼塊在每一層上的貢獻信息進行編碼,即對碼塊位流在該層的截斷點信息等編碼。由于圖像采用小波變換,整個圖像壓縮碼流具有分辨率可分級性,從而,壓縮碼流可同時具有質(zhì)量上和分辨率上的可分級性。由于對碼塊進行獨立編碼,因此,可根據(jù)需要,隨機獲取并解碼相應(yīng)的碼塊壓縮位流,重構(gòu)出所需的圖像區(qū)域。
    ①第一層編碼算法
    與傳統(tǒng)的依次對每個系數(shù)進行算術(shù)熵編碼不同,JPEG2000編碼系統(tǒng)把碼塊中的量化系數(shù)組織成若干個位平面,從最高有效位平面(MSB)開始,依次對每個位平面上的小波系數(shù)位進行算術(shù)編碼。
    第一層編碼可以看作2部分:上下文的生成(CF)和算術(shù)編碼器(AE)。在上下文的生成中,以一定的順序掃描碼塊中的所有位。在碼塊的每個位平面上,從左上角系數(shù)開始,從左到右,從上到下進行掃描,并為每一位生成一個上下文。算術(shù)編碼器根據(jù)生成的上下文,對每一位進行編碼。
    在量化后,小波系數(shù)被轉(zhuǎn)換為符號-振幅模式。在從MSB到LSB編碼時,當(dāng)遇到第一個為1的比特時,這個像素被稱作是顯著的,否則,為不顯著的。所有比特的上下文都是由他們的鄰域通過以下的4種方法產(chǎn)生:
    零編碼(zero coding,ZC)用來編碼非顯著像素在當(dāng)前的位平面中是否將變得顯著;
    游程編碼(run-length coding, RLC)用來編碼位于同一列中的4個非顯著性像素,如果他們的鄰域都是非顯著的;
    符號編碼(sign coding, SC)當(dāng)該位變得顯著后,編碼他的符號位;
    幅度編碼(Magnitude Refinement, MR)用來編碼顯著位。
    每個位平面都在3個編碼通道中進行編碼。通道1是重要性傳播通道(Significance Propagation Pass),至少有一個重要性鄰域的像素,在此通道進行編碼,使用ZC和SC。通道2是幅度細(xì)化通道(Magnitude Refinement Pass),所有的重要位在此通道進行編碼,使用MR。通道3是清除通道(Cleanup Pass),所有沒有在上兩個通道中進行編碼的像素,在此通道中進行編碼,使用ZC,LRC和SC。位平面中的每一位在3個通道中進行檢查來確定是否應(yīng)當(dāng)被編碼。
    由編碼通道得到的上下文和與其對應(yīng)的數(shù)據(jù)一起,送至算術(shù)編碼器進行編碼。在這里,采用了自適應(yīng)二進制算術(shù)編碼[1],主要是考慮到計算的復(fù)雜度以及實現(xiàn)的方便性。在進行算術(shù)編碼后,對每一個碼塊,得到一個獨立的嵌入式碼塊壓縮位流。
    ②第二層編碼算法
    在第二層編碼算法中,采用PCRD率失真優(yōu)化算法思想[1,2],對所有碼塊的嵌入式壓縮位流進行適當(dāng)?shù)慕厝?,分層組織,形成整個圖像的具有質(zhì)量可分級的壓縮碼流。第二層編碼算法也可以看作兩部分:速率控制和分層組織壓縮位流。速率控制是指通過一定的編解碼措施,獲得給定壓縮碼率下的最佳重構(gòu)圖像質(zhì)量。分層組織壓縮位流根據(jù)編碼參數(shù)所規(guī)定的分層層數(shù)以及每一層的編碼速率,估算每一層的率失真門限,然后根據(jù)每一層估計出的率失真門限,按照碼塊率失真算法,找到每個碼塊嵌入式壓縮位流在該層上的截斷點,將截斷的碼塊壓縮位流進行打包,按照規(guī)定的格式存儲,形成圖像壓縮碼流。將碼流分層組織,每一層含有一定的質(zhì)量信息,在前面層的基礎(chǔ)上改善圖像質(zhì)量。這樣用戶可以根據(jù)自己的需要,控制圖像的傳輸,在取得滿意的圖像效果后,中止傳輸,在某種程度上緩解當(dāng)前網(wǎng)絡(luò)帶寬有限而圖像數(shù)據(jù)量大而造成的瓶頸問題。
3.3  位流組織
    為了適合圖像交換,更好地應(yīng)用JPEG2000壓縮碼流的功能,JPEG2000標(biāo)準(zhǔn)規(guī)定了存放壓縮位流和解碼所需參數(shù)的格式,把壓縮碼流以包為單元進行組織,形成最終的碼流。
4  JPEG2000中的關(guān)鍵技術(shù)
    在這一節(jié)中,對JPEG2000中所使用的關(guān)鍵技術(shù)加以說明。
4.1 離散小波變換
    JPEG2000與傳統(tǒng)JPEG最大的不同在于他放棄了JPEG所采用的以離散余弦變換(DCT)為主的區(qū)塊編碼方式,轉(zhuǎn)而采用以小波變換(DWT)為主的多解析編碼方式。 
    余弦變換是經(jīng)典的譜分析工具,他考察的是整個時域過程的頻域特征或整個頻域過程的時域特征,因此對于平穩(wěn)過程,他有很好的效果,但對于非平穩(wěn)過程,他卻有諸多不足。在JPEG中,離散余弦變換將圖像壓縮為8×8 的小塊,然后依次放入文件中,這種算法靠丟棄頻率信息實現(xiàn)壓縮,因而圖像的壓縮率越高,頻率信息被丟棄的越多。在極端情況下,JPEG圖像只保留了反映圖像外貌的基本信息,精細(xì)的圖像細(xì)節(jié)都損失了。小波變換是現(xiàn)代譜分析工具,他既能考察局部時域過程的頻域特征,又能考察局部頻域過程的時域特征,因此即使對于非平穩(wěn)過程,處理起來也得心應(yīng)手。他能將圖像變換為一系列小波系數(shù),這些系數(shù)可以被高效壓縮和存儲,此外,小波的粗略邊緣可以更好地表現(xiàn)圖像,因為他消除了DCT壓縮普遍具有的方塊效應(yīng)。
4.2  速率控制算法
    JPEG2000通過采用速率控制方法來計算碼流的理想截斷點,從而獲得給定壓縮碼率下的最佳重構(gòu)圖像質(zhì)量。速率控制使用了PCRD率失真優(yōu)化算法。率失真優(yōu)化,即給定整個壓縮碼流的最大編碼速率,找出每個碼塊壓縮位流的適當(dāng)截斷點,在滿足的條件下,使重構(gòu)圖像失真最小。從而使得嵌入式碼塊編碼具有如下特點:生成的壓縮位流可根據(jù)需要,被截斷成不同長度的位流子集;將所有碼塊的截斷位流組織起來,可重構(gòu)出一定質(zhì)量的圖像。
4.3  漸進傳輸特性
    現(xiàn)在網(wǎng)絡(luò)上的JPEG圖像下載時是按“塊”傳輸?shù)?,因此只能逐行顯示,而采用JPEG2000格式的圖像支持漸進傳輸。JPEG2000中的漸進傳輸有2種,按照分辨率的漸進傳輸和按照質(zhì)量的漸進傳輸。按照質(zhì)量的漸進傳輸就是先傳輸圖像輪廓數(shù)據(jù),然后再逐步傳輸細(xì)節(jié)數(shù)據(jù)來不斷提高圖像質(zhì)量,而按照分辨率的漸進傳輸則先傳輸分辨率較低的圖像,后一幅圖像在前一幅圖像的基礎(chǔ)上提高其分辨率。圖像的漸進傳輸使得用戶不需要像以前那樣等圖像全部下載后才決定是否需要,有助于快速地瀏覽和選擇大量圖片,從而有效的解決了網(wǎng)絡(luò)傳輸?shù)钠款i問題。
4.4  感興趣區(qū)域壓縮
    JPEG2000一個極其重要的優(yōu)點就是ROI(Region of Interest,感興趣區(qū)域)。用戶可以任意指定圖片上感興趣的區(qū)域,然后在壓縮時對這些區(qū)域指定壓縮質(zhì)量,或在恢復(fù)時指定某些區(qū)域的解壓縮要求。這是因為子波在空間和頻率域上具有局域性,要完全恢復(fù)圖像中的某個局部,并不需要所有編碼都被精確保留,只要對應(yīng)他的一部分編碼沒有誤差就可以了。在實際應(yīng)用中,我們就可以對一幅圖像中感興趣的部分采用低壓縮比以獲取較好的圖像效果,而對其他部分采用高壓縮比以節(jié)省存儲空間。這樣就能在保證不丟失重要信息的同時又有效地壓縮了數(shù)據(jù)量,實現(xiàn)了真正的“交互式”壓縮。
5  JPEG2000標(biāo)準(zhǔn)的應(yīng)用
    隨著科技的發(fā)展,網(wǎng)絡(luò)已經(jīng)滲透到每個人的生活之中。然而,受到網(wǎng)絡(luò)帶寬的限制,高質(zhì)量的圖像由于數(shù)據(jù)量很大,在網(wǎng)絡(luò)上的傳輸延遲很大。因此,對于使用PC機、筆記本、掌上電腦或PDA,通過Modem接入因特網(wǎng)訪問圖像數(shù)據(jù)的用戶來說,允許根據(jù)需要選擇恰當(dāng)?shù)膱D像分辨率進行瀏覽和傳輸是非常必要的。
    在軍事偵察和氣象預(yù)報中,由衛(wèi)星遙感得到的圖像必須通過遠(yuǎn)距離無線信道傳輸,傳輸誤碼的出現(xiàn)不可避免。JPEG2000編碼器特有的碼流組織形式是輸出碼流具有有效抑制誤碼的能力。這樣,碼流通過無線衛(wèi)星通訊信道發(fā)還給地面接收站后,地面接收站在解碼過程中可以利用JPEG2000內(nèi)部的碼流組織形式來避免由于傳輸誤碼而造成的錯誤解碼。
    此外,在安全確認(rèn)、身份認(rèn)證及醫(yī)學(xué)領(lǐng)域,JPEG2000都有著其廣泛的應(yīng)用??梢灶A(yù)測,在不久的將來,JPEG2000將在以下領(lǐng)域得到廣泛的應(yīng)用:因特網(wǎng)、移動和便攜設(shè)備、印刷、掃描(出版物預(yù)覽)、數(shù)碼相機、遙感、傳真(包括彩色傳真和因特網(wǎng)傳真)、醫(yī)學(xué)應(yīng)用、數(shù)字圖書館和電子商務(wù)等。
6  結(jié)論
    JPEG2000旨在創(chuàng)建一個新的圖像編碼系統(tǒng),該壓縮編碼系統(tǒng)的率失真和主觀圖像質(zhì)量優(yōu)于現(xiàn)有的JPEG標(biāo)準(zhǔn),能夠提供對圖像的低碼率的壓縮,并且對壓縮碼流可進行靈活的處理,如隨機獲取部分壓縮碼流、圖像的漸進傳輸、感興趣區(qū)域的實現(xiàn)以及壓縮碼流較強的容錯性能等,該標(biāo)準(zhǔn)將與現(xiàn)行JPEG標(biāo)準(zhǔn)兼容。JPEG2000圖像壓縮標(biāo)準(zhǔn)以其優(yōu)秀的性能,必將在數(shù)碼相機、遙感、傳真、醫(yī)療以及電子商務(wù)等多個領(lǐng)域得到廣泛的應(yīng)用,成為21世紀(jì)的主流靜態(tài)圖像壓縮標(biāo)準(zhǔn)。

參考文獻

[1]JPEG 2000 Image Coding ystem.JPEG 2000 Final Committee Draft Version 1.0, 2000,16(3)
[2]Taubman D. High Performance Scable Image Compression with EBCOT.IEEE Trans Image Processing,1994,3(9):572~578
[3]張曉娣,等.新一代的靜止圖像壓縮標(biāo)準(zhǔn) JPEG2000.電信科學(xué),2001(5)
[4]李冬梅.發(fā)展中的靜止圖像壓縮標(biāo)準(zhǔn)JPEG2000.電視技術(shù),2001(6)
[5]王瑞軒.面向JPEG2000的二維DWT的VLSI設(shè)計與仿真,2002


xiaochongchong 發(fā)表于 >2005-1-17 20:15:19 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2005-1-7
考完試了

終于結(jié)束了研究生的第一學(xué)期的考試,感想頗多。
下學(xué)期要好好學(xué)習(xí)了。
剩下的時間做些jpeg2000相關(guān)的一些工作,然后就回家過年了……


xiaochongchong 發(fā)表于 >2005-1-7 23:42:18 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2005-1-2
新標(biāo)準(zhǔn)H264技術(shù)亮點 [轉(zhuǎn)]

視頻編碼新標(biāo)準(zhǔn)H.264的技術(shù)亮點

  摘要:
  面向?qū)嶋H應(yīng)用,由ISO/IEC和ITU-T兩大國際標(biāo)準(zhǔn)化組織共同制定的H.264建議是視頻編碼技術(shù)的新發(fā)展。它在多模式運動估計、整數(shù)變換、統(tǒng)一VLC符號編碼、分層編碼語法等方面都有它的獨到之處。因此H.264算法具有很高的編碼效率,其應(yīng)用前景應(yīng)是不言而喻的。
  關(guān)鍵詞:視頻編碼 圖像通信 JVT 
  上個世紀(jì)80年代以來,ISO/IEC制定的MPEG-x和ITU-T制定的H.26x兩大系列視頻編碼國際標(biāo)準(zhǔn)的推出,開創(chuàng)了視頻通信和存儲應(yīng)用的新紀(jì)元。從H.261視頻編碼建議,到H.262/3、MPEG-1/2/4等都有一個共同的不斷追求的目標(biāo),即在盡可能低的碼率(或存儲容量)下獲得盡可能好的圖像質(zhì)量。而且,隨著市場對圖像傳輸需求的增加,如何適應(yīng)不同信道傳輸特性的問題也日益顯現(xiàn)出來。這就是IEO/IEC和ITU-T兩大國際標(biāo)準(zhǔn)化組織聯(lián)手制定的視頻新標(biāo)準(zhǔn)H.264所要解決的問題。
  H.261是最早出現(xiàn)的視頻編碼建議,目的是規(guī)范ISDN網(wǎng)上的會議電視和可視電話應(yīng)用中的視頻編碼技術(shù)。它采用的算法結(jié)合了可減少時間冗余的幀間預(yù)測和可減少空間冗余的DCT變換的混合編碼方法。和ISDN信道相匹配,其輸出碼率是p×64kbit/s。p取值較小時,只能傳清晰度不太高的圖像,適合于面對面的電視電話;p取值較大時(如 p>6),可以傳輸清晰度較好的會議電視圖像。H.263 建議的是低碼率圖像壓縮標(biāo)準(zhǔn),在技術(shù)上是H.261的改進和擴充,支持碼率小于64kbit/s的應(yīng)用。但實質(zhì)上H.263以及后來的H.263+和H.263++已發(fā)展成支持全碼率應(yīng)用的建議,從它支持眾多的圖像格式這一點就可看出,如Sub-QCIF、QCIF、CIF、4CIF甚至16CIF等格式。
  MPEG-1標(biāo)準(zhǔn)的碼率為1.2Mbit/s左右,可提供30幀CIF(352×288)質(zhì)量的圖像,是為CD-ROM光盤的視頻存儲和播放所制定的。MPEG-l標(biāo)準(zhǔn)視頻編碼部分的基本算法與H.261/H.263相似,也采用運動補償?shù)膸g預(yù)測、二維DCT、VLC游程編碼等措施。此外還引入了幀內(nèi)幀(I)、預(yù)測幀(P)、雙向預(yù)測幀(B)和直流幀(D)等概念,進一步提高了編碼效率。在MPEG-1的基礎(chǔ)上,MPEG-2標(biāo)準(zhǔn)在提高圖像分辨率、兼容數(shù)字電視等方面做了一些改進,例如它的運動矢量的精度為半像素;在編碼運算中(如運動估計和DCT)區(qū)分“幀”和“場”;引入了編碼的可分級性技術(shù),如空間可分級性、時間可分級性和信噪比可分級性等。近年推出的MPEG-4標(biāo)準(zhǔn)引入了基于視聽對象(AVO:Audio-Visual Object)的編碼,大大提高了視頻通信的交互能力和編碼效率。MPEG-4中還采用了一些新的技術(shù),如形狀編碼、自適應(yīng)DCT、任意形狀視頻對象編碼等。但是MPEG-4的基本視頻編碼器還是屬于和H.263相似的一類混合編碼器。
  總之,H.261建議是視頻編碼的經(jīng)典之作,H.263是其發(fā)展,并將逐步在實際上取而代之,主要應(yīng)用于通信方面,但H.263眾多的選項往往令使用者無所適從。MPEG系列標(biāo)準(zhǔn)從針對存儲媒體的應(yīng)用發(fā)展到適應(yīng)傳輸媒體的應(yīng)用,其核心視頻編碼的基本框架是和H.261一致的,其中引人注目的MPEG-4的“基于對象的編碼”部分由于尚有技術(shù)障礙,目前還難以普遍應(yīng)用。因此,在此基礎(chǔ)上發(fā)展起來的新的視頻編碼建議H.264克服了兩者的弱點,在混合編碼的框架下引入了新的編碼方式,提高了編碼效率,面向?qū)嶋H應(yīng)用。同時,它是兩大國際標(biāo)準(zhǔn)化組織的共同制定的,其應(yīng)用前景應(yīng)是不言而喻的。 
  一、JVT的H.264
  H.264是ITU-T的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(活動圖像編碼專家組)的聯(lián)合視頻組(JVT:joint video team)開發(fā)的一個新的數(shù)字視頻編碼標(biāo)準(zhǔn),它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份開始草案征集,1999年9月,完成第一個草案,2001年5月制定了其測試模式TML-8,2002年6月的 JVT第5次會議通過了H.264的FCD板。目前該標(biāo)準(zhǔn)還在開發(fā)之中,預(yù)計明年上半年可正式通過。
  H.264和以前的標(biāo)準(zhǔn)一樣,也是DPCM加變換編碼的混合編碼模式。但它采用“回歸基本”的簡潔設(shè)計,不用眾多的選項,獲得比H.263++好得多的壓縮性能;加強了對各種信道的適應(yīng)能力,采用“網(wǎng)絡(luò)友好”的結(jié)構(gòu)和語法,有利于對誤碼和丟包的處理;應(yīng)用目標(biāo)范圍較寬,以滿足不同速率、不同解析度以及不同傳輸(存儲)場合的需求;它的基本系統(tǒng)是開放的,使用無需版權(quán)。
  在技術(shù)上,H.264標(biāo)準(zhǔn)中有多個閃光之處,如統(tǒng)一的VLC符號編碼,高精度、多模式的位移估計,基于4×4塊的整數(shù)變換、分層的編碼語法等。這些措施使得H.264算法具有很的高編碼效率,在相同的重建圖像質(zhì)量下,能夠比H.263節(jié)約50%左右的碼率。H.264的碼流結(jié)構(gòu)網(wǎng)絡(luò)適應(yīng)性強,增加了差錯恢復(fù)能力,能夠很好地適應(yīng)IP和無線網(wǎng)絡(luò)的應(yīng)用。
  二、H264的技術(shù)亮點
  分層設(shè)計
  H.264的算法在概念上可以分為兩層:視頻編碼層(VCL:Video Coding Layer)負(fù)責(zé)高效的視頻內(nèi)容表示,網(wǎng)絡(luò)提取層(NAL:Network Abstraction Layer)負(fù)責(zé)以網(wǎng)絡(luò)所要求的恰當(dāng)?shù)姆绞綄?shù)據(jù)進行打包和傳送。H.264編碼器分層結(jié)構(gòu)如圖1所示。在VCL和NAL之間定義了一個基于分組方式的接口,打包和相應(yīng)的信令屬于NAL的一部分。這樣,高編碼效率和網(wǎng)絡(luò)友好性的任務(wù)分別由VCL和NAL來完成。 
  VCL層包括基于塊的運動補償混合編碼和一些新特性。與前面的視頻編碼標(biāo)準(zhǔn)一樣,H.264沒有把前處理和后處理等功能包括在草案中,這樣可以增加標(biāo)準(zhǔn)的靈活性。
  NAL負(fù)責(zé)使用下層網(wǎng)絡(luò)的分段格式來封裝數(shù)據(jù),包括組幀、邏輯信道的信令、定時信息的利用或序列結(jié)束信號等。例如,NAL支持視頻在電路交換信道上的傳輸格式,支持視頻在Internet上利用     RTP/UDP/IP傳輸?shù)母袷?。NAL包括自己的頭部信息、段結(jié)構(gòu)信息和實際載荷信息,即上層的VCL數(shù)據(jù)。(如果采用數(shù)據(jù)分割技術(shù),數(shù)據(jù)可能由幾個部分組成)。
  高精度、多模式運動估計
  H.264支持1/4或1/8像素精度的運動矢量。在1/4像素精度時可使用6抽頭濾波器來減少高頻噪聲,對于1/8像素精度的運動矢量,可使用更為復(fù)雜的8抽頭的濾波器。在進行運動估計時,編碼器還可選擇“增強”內(nèi)插濾波器來提高預(yù)測的效果。
  在H.264的運動預(yù)測中,一個宏塊(MB)可以按圖2被分為不同的子塊,形成7種不同模式的塊尺寸。這種多模式的靈活和細(xì)致的劃分,更切合圖像中實際運動物體的形狀,大大提高了運動估計的精確程度。在這種方式下,在每個宏塊中可以包含有1、2、4、8或16個運動矢量。
  在H.264中,允許編碼器使用多于一幀的先前幀用于運動估計,這就是所謂的多幀參考技術(shù)。例如2幀或3幀剛剛編碼好的參考幀,編碼器將選擇對每個目標(biāo)宏塊能給出更好的預(yù)測幀,并為每一宏塊指示是哪一幀被用于預(yù)測。
  4×4塊的整數(shù)變換
  H.264與先前的標(biāo)準(zhǔn)相似,對殘差采用基于塊的變換編碼,但變換是整數(shù)操作而不是實數(shù)運算,其過程和DCT基本相似。這種方法的優(yōu)點在于:在編碼器中和解碼器中允許精度相同的變換和反變換,便于使用簡單的定點運算方式。也就是說,這里沒有“反變換誤差”。 變換的單位是4×4塊,而不是以往常用的8×8塊。由于用于變換塊的尺寸縮小,運動物體的劃分更精確,這樣,不但變換計算量比較小,而且在運動物體邊緣處的銜接誤差也大為減小。為了使小尺寸塊的變換方式對圖像中較大面積的平滑區(qū)域不產(chǎn)生塊之間的灰度差異,可對幀內(nèi)宏塊亮度數(shù)據(jù)的16個4×4塊的DC系數(shù)(每個小塊一個,共16個)進行第二次4×4塊的變換,對色度數(shù)據(jù)的4個4×4塊的DC系數(shù)(每個小塊一個,共4個)進行2×2塊的變換。
  H.264為了提高碼率控制的能力,量化步長的變化的幅度控制在12.5%左右,而不是以不變的增幅變化。變換系數(shù)幅度的歸一化被放在反量化過程中處理以減少計算的復(fù)雜性。為了強調(diào)彩色的逼真性,對色度系數(shù)采用了較小量化步長。
  統(tǒng)一的VLC
  H.264中熵編碼有兩種方法,一種是對所有的待編碼的符號采用統(tǒng)一的VLC(UVLC :Universal VLC),另一種是采用內(nèi)容自適應(yīng)的二進制算術(shù)編碼(CABAC:Context-Adaptive Binary Arithmetic Coding)。CABAC是可選項,其編碼性能比UVLC稍好,但計算復(fù)雜度也高。UVLC使用一個長度無限的碼字集,設(shè)計結(jié)構(gòu)非常有規(guī)則,用相同的碼表可以對不同的對象進行編碼。這種方法很容易產(chǎn)生一個碼字,而解碼器也很容易地識別碼字的前綴,UVLC在發(fā)生比特錯誤時能快速獲得重同步。
  這里,x0,x1,x2,…是INFO比特,并且為0或1。圖4列出了前9種碼字。如:第4號碼字包含INFO01,這一碼字的設(shè)計是為快速再同步而經(jīng)過優(yōu)化的,以防止誤碼。
  幀內(nèi)預(yù)測
  在先前的H.26x系列和MPEG-x系列標(biāo)準(zhǔn)中,都是采用的幀間預(yù)測的方式。在H.264中,當(dāng)編碼Intra圖像時可用幀內(nèi)預(yù)測。對于每個4×4塊(除了邊緣塊特別處置以外),每個像素都可用17個最接近的先前已編碼的像素的不同加權(quán)和(有的權(quán)值可為0)來預(yù)測,即此像素所在塊的左上角的17個像素。顯然,這種幀內(nèi)預(yù)測不是在時間上,而是在空間域上進行的預(yù)測編碼算法,可以除去相鄰塊之間的空間冗余度,取得更為有效的壓縮。
  4×4方塊中a、b、...、p為16 個待預(yù)測的像素點,而A、B、...、P是已編碼的像素。如m點的值可以由(J+2K+L+2)/ 4 式來預(yù)測,也可以由(A+B+C+D+I+J+K+L)/ 8 式來預(yù)測,等等。按照所選取的預(yù)測參考的點不同,亮度共有9類不同的模式,但色度的幀內(nèi)預(yù)測只有1類模式。
  面向IP和無線環(huán)境
  H.264 草案中包含了用于差錯消除的工具,便于壓縮視頻在誤碼、丟包多發(fā)環(huán)境中傳輸,如移動信道或IP信道中傳輸?shù)慕研浴?br>  為了抵御傳輸差錯,H.264視頻流中的時間同步可以通過采用幀內(nèi)圖像刷新來完成,空間同步由條結(jié)構(gòu)編碼(slice structured coding)來支持。同時為了便于誤碼以后的再同步,在一幅圖像的視頻數(shù)據(jù)中還提供了一定的重同步點。另外,幀內(nèi)宏塊刷新和多參考宏塊允許編碼器在決定宏塊模式的時候不僅可以考慮編碼效率,還可以考慮傳輸信道的特性。
  除了利用量化步長的改變來適應(yīng)信道碼率外,在H.264中,還常利用數(shù)據(jù)分割的方法來應(yīng)對信道碼率的變化。從總體上說,數(shù)據(jù)分割的概念就是在編碼器中生成具有不同優(yōu)先級的視頻數(shù)據(jù)以支持網(wǎng)絡(luò)中的服務(wù)質(zhì)量QoS。例如采用基于語法的數(shù)據(jù)分割(syntax-based data partitioning)方法,將每幀數(shù)據(jù)的按其重要性分為幾部分,這樣允許在緩沖區(qū)溢出時丟棄不太重要的信息。還可以采用類似的時間數(shù)據(jù)分割(temporal data partitioning)方法,通過在P幀和B幀中使用多個參考幀來完成。
  在無線通信的應(yīng)用中,我們可以通過改變每一幀的量化精度或空間/時間分辨率來支持無線信道的大比特率變化。可是,在多播的情況下,要求編碼器對變化的各種比特率進行響應(yīng)是不可能的。因此,不同于MPEG-4中采用的精細(xì)分級編碼FGS(Fine Granular Scalability)的方法(效率比較低),H.264采用流切換的SP幀來代替分級編碼。
  三、TML-8性能
  TML-8為H.264的測試模式,用它來對H.264的視頻編碼效率進行比較和測試。測試結(jié)果所提供的PSNR已清楚地表明,相對于MPEG-4(ASP:Advanced Simple Profile)和H.263++(HLP:High Latency Profile)的性能,H.264的結(jié)果具有明顯的優(yōu)越性,如圖5所示。
  H.264的PSNR比MPEG-4(ASP)和H.263++(HLP)明顯要好,在6種速率的對比測試中,H.264的PSNR比MPEG-4(ASP)平均要高2dB,比H.263(HLP)平均要高3dB。6個測試速率及其相關(guān)的條件分別為:32 kbit/s速率、10f/s幀率和QCIF格式;64 kbit/s速率、15f/s幀率和QCIF格式;128kbit/s速率、15f/s幀率和CIF格式;256kbit/s速率、15f/s幀率和QCIF格式;512 kbit/s速率、30f/s幀率和CIF格式;1024 kbit/s速率、30f/s幀率和CIF格式。
  四、實現(xiàn)難度
  對每個考慮實際應(yīng)用的工程師而言,在關(guān)注H.264的優(yōu)越性能的同時必然會衡量其實現(xiàn)難度。從總體上說,H.264性能的改進是以增加復(fù)雜性為代價而獲得的。但是,隨著技術(shù)的發(fā)展,這種復(fù)雜性的增加是在我們當(dāng)前或不久的將來的技術(shù)可接受的范圍之內(nèi)的。實際上,考慮到復(fù)雜性的限制,H.264對一些計算量特別大的改進算法未予采用,如H.264未采用全局運動補技術(shù),這在MPEG-4的ASP中是采用的,并增加了相當(dāng)?shù)木幋a復(fù)雜性。
  H.264和MPEG-4兩者都包括了B幀和比MPEG-2、H.263或MPEG-4的SP(Simple profile)更為精確、更為復(fù)雜的運動內(nèi)插濾波。為了更好地完成運動估計,H.264顯著地增加了可變塊尺寸的種類和可變參考幀的數(shù)目。
  H.264的RAM需求主要用于參考幀圖像,大多數(shù)編碼視頻使用3~5幀參考圖像。它對ROM的需求并不比通常的視頻編碼器更多,因為H.264的UVLC對所有的各類數(shù)據(jù)采用了一個結(jié)構(gòu)良好的查找表。
  五、結(jié)束語
  H.264具有廣闊的應(yīng)用前景,例如實時視頻通信、因特網(wǎng)視頻傳輸、視頻流媒體服務(wù)、異構(gòu)網(wǎng)上的多點通信、壓縮視頻存儲、視頻數(shù)據(jù)庫等。
  H.264建議的技術(shù)特點可以歸納為三個方面,一是注重實用,采用成熟的技術(shù),追求更高的編碼效率,簡潔的表現(xiàn)形式;二是注重對移動和IP網(wǎng)絡(luò)的適應(yīng),采用分層技術(shù),從形式上將編碼和信道隔離開來,實質(zhì)上是在源編碼器算法中更多地考慮到信道的特點;三是在混合編碼器的基本框架下,對其主要關(guān)鍵部件都做了重大改進,如多模式運動估計、幀內(nèi)預(yù)測、多幀預(yù)測、統(tǒng)一VLC、4×4二維整數(shù)變換等。
  迄今為止,H.264尚未最后定稿,但因其更高的壓縮比,更好的信道適應(yīng)性,必將在數(shù)字視頻的通信或存儲領(lǐng)域得到越來越廣泛的應(yīng)用,其發(fā)展?jié)摿Σ豢上蘖俊?br>  最后,必須說明的是,H.264優(yōu)越性能的獲得不是沒有代價的,其代價是計算復(fù)雜度的大大增加,據(jù)估計,編碼的計算復(fù)雜度大約相當(dāng)于H.263的3倍,解碼復(fù)雜度大約相當(dāng)于H.263的2倍。


xiaochongchong 發(fā)表于 >2005-1-2 11:32:09 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2005-1-2
視頻編碼標(biāo)準(zhǔn)的發(fā)展:從H.261到H.264 [轉(zhuǎn)]

  數(shù)字視頻技術(shù)廣泛應(yīng)用于通信、計算機、廣播電視等領(lǐng)域,帶來了會議電視、可視電話及數(shù)字電視、媒體存儲等一系列應(yīng)用,促使了許多視頻編碼標(biāo)準(zhǔn)的產(chǎn)生。ITU-T與ISO/IEC是制定視頻編碼標(biāo)準(zhǔn)的兩大組織,ITU-T的標(biāo)準(zhǔn)包括H.261、H.263、H.264,主要應(yīng)用于實時視頻通信領(lǐng)域,如會議電視;MPEG系列標(biāo)準(zhǔn)是由ISO/IEC制定的,主要應(yīng)用于視頻存儲(DVD)、廣播電視、因特網(wǎng)或無線網(wǎng)上的流媒體等。兩個組織也共同制定了一些標(biāo)準(zhǔn),H.262標(biāo)準(zhǔn)等同于MPEG-2的視頻編碼標(biāo)準(zhǔn),而最新的H.264標(biāo)準(zhǔn)則被納入MPEG-4的第10部分。

  本文按照ITU-T視頻編碼標(biāo)準(zhǔn)的發(fā)展過程,介紹H.261、H.263及H.264。

H.261視頻編碼標(biāo)準(zhǔn)

  H.261是ITU-T為在綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)上開展雙向聲像業(yè)務(wù)(可視電話、視頻會議)而制定的,速率為64kb/s的整數(shù)倍。H.261只對CIF和QCIF兩種圖像格式進行處理,每幀圖像分成圖像層、宏塊組(GOB)層、宏塊(MB)層、塊(Block)層來處理。

  H.261是最早的運動圖像壓縮標(biāo)準(zhǔn),它詳細(xì)制定了視頻編碼的各個部分,包括運動補償?shù)膸g預(yù)測、DCT變換、量化、熵編碼,以及與固定速率的信道相適配的速率控制等部分。

H.263視頻編碼標(biāo)準(zhǔn)

  H.263是最早用于低碼率視頻編碼的ITU-T標(biāo)準(zhǔn),隨后出現(xiàn)的第二版(H.263+)及H.263++增加了許多選項,使其具有更廣泛的適用性。

H.263視頻壓縮標(biāo)準(zhǔn)

  H.263是ITU-T為低于64kb/s的窄帶通信信道制定的視頻編碼標(biāo)準(zhǔn)。它是在H.261基礎(chǔ)上發(fā)展起來的,其標(biāo)準(zhǔn)輸入圖像格式可以是S-QCIF、QCIF、CIF、4CIF或者16CIF的彩色4∶2∶0亞取樣圖像。H.263與H.261相比采用了半象素的運動補償,并增加了4種有效的壓縮編碼模式。

  無限制的運動矢量模式允許運動矢量指向圖像以外的區(qū)域。當(dāng)某一運動矢量所指的參考宏塊位于編碼圖像之外時,就用其邊緣的圖像象素值來代替。當(dāng)存在跨邊界的運動時,這種模式能取得很大的編碼增益,特別是對小圖像而言。另外,這種模式包括了運動矢量范圍的擴展,允許使用更大的運動矢量,這對攝像機運動特別有利。

  基于句法的算術(shù)編碼模式使用算術(shù)編碼代替霍夫曼編碼,可在信噪比和重建圖像質(zhì)量相同的情況下降低碼率。

  先進的預(yù)測模式允許一個宏塊中4個8×8亮度塊各對應(yīng)一個運動矢量,從而提高了預(yù)測精度;兩個色度塊的運動矢量則取這4個亮度塊運動矢量的平均值。補償時,使用重疊的塊運動補償,8×8亮度塊的每個象素的補償值由3個預(yù)測值加權(quán)平均得到。使用該模式可以產(chǎn)生顯著的編碼增益,特別是采用重疊的塊運動補償,會減少塊效應(yīng),提高主觀質(zhì)量。

  PB-幀模式規(guī)定一個PB-幀包含作為一個單元進行編碼的兩幀圖像。PB-幀模式可在碼率增加不多的情況下,使幀率加倍。

H.263視頻壓縮標(biāo)準(zhǔn)版本2

  ITU-T在H.263發(fā)布后又修訂發(fā)布了H.263標(biāo)準(zhǔn)的版本2,非正式地命名為H.263+標(biāo)準(zhǔn)。它在保證原H.263標(biāo)準(zhǔn)核心句法和語義不變的基礎(chǔ)上,增加了若干選項以提高壓縮效率或改善某方面的功能。原H.263標(biāo)準(zhǔn)限制了其應(yīng)用的圖像輸入格式,僅允許5種視頻源格式。H.263+標(biāo)準(zhǔn)允許更大范圍的圖像輸入格式,自定義圖像的尺寸,從而拓寬了標(biāo)準(zhǔn)使用的范圍,使之可以處理基于視窗的計算機圖像、更高幀頻的圖像序列及寬屏圖像。

  為提高壓縮效率,H.263+采用先進的幀內(nèi)編碼模式;增強的PB-幀模式改進了H.263的不足,增強了幀間預(yù)測的效果;去塊效應(yīng)濾波器不僅提高了壓縮效率,而且提供重建圖像的主觀質(zhì)量。

  為適應(yīng)網(wǎng)絡(luò)傳輸,H.263+增加了時間分級、信噪比和空間分級,對在噪聲信道和存在大量包丟失的網(wǎng)絡(luò)中傳送視頻信號很有意義;另外,片結(jié)構(gòu)模式、參考幀選擇模式增強了視頻傳輸?shù)目拐`碼能力。

H.263++視頻壓縮標(biāo)準(zhǔn)

  H263++在H263+基礎(chǔ)上增加了3個選項,主要是為了增強碼流在惡劣信道上的抗誤碼性能,同時為了提高增強編碼效率。這3個選項為:

  選項U——稱為增強型參考幀選擇,它能夠提供增強的編碼效率和信道錯誤再生能力(特別是在包丟失的情形下),需要設(shè)計多緩沖區(qū)用于存貯多參考幀圖像。

  選項V——稱為數(shù)據(jù)分片,它能夠提供增強型的抗誤碼能力(特別是在傳輸過程中本地數(shù)據(jù)被破壞的情況下),通過分離視頻碼流中DCT的系數(shù)頭和運動矢量數(shù)據(jù),采用可逆編碼方式保護運動矢量。

  選項W——在H263+的碼流中增加補充信息,保證增強型的反向兼容性,附加信息包括:指示采用的定點IDCT、圖像信息和信息類型、任意的二進制數(shù)據(jù)、文本、重復(fù)的圖像頭、交替的場指示、稀疏的參考幀識別。 H.264視頻編碼標(biāo)準(zhǔn)

  H.264是由ISO/IEC與ITU-T組成的聯(lián)合視頻組(JVT)制定的新一代視頻壓縮編碼標(biāo)準(zhǔn)。事實上,H.264標(biāo)準(zhǔn)的開展可以追溯到8年前。1996年制定H.263標(biāo)準(zhǔn)后,ITU-T的視頻編碼專家組(VCEG)開始了兩個方面的研究:一個是短期研究計劃,在H.263基礎(chǔ)上增加選項(之后產(chǎn)生了H.263+與H.263++);另一個是長期研究計劃,制定一種新標(biāo)準(zhǔn)以支持低碼率的視頻通信。長期研究計劃產(chǎn)生了H.26L標(biāo)準(zhǔn)草案,在壓縮效率方面與先期的ITU-T視頻壓縮標(biāo)準(zhǔn)相比,具有明顯的優(yōu)越性。2001年,ISO的MPEG組織認(rèn)識到H.26L潛在的優(yōu)勢,隨后ISO與ITU開始組建包括來自ISO/IEC MPEG與ITU-T VCEG的聯(lián)合視頻組(JVT),JVT的主要任務(wù)就是將H.26L草案發(fā)展為一個國際性標(biāo)準(zhǔn)。于是,在ISO/IEC中該標(biāo)準(zhǔn)命名為AVC(Advanced Video Coding),作為MPEG-4標(biāo)準(zhǔn)的第10個選項;在ITU-T中正式命名為H.264標(biāo)準(zhǔn)。H.264的主要優(yōu)點如下:

  在相同的重建圖像質(zhì)量下,H.264比H.263+和MPEG-4(SP)減小50%碼率。

  對信道時延的適應(yīng)性較強,既可工作于低時延模式以滿足實時業(yè)務(wù),如會議電視等;又可工作于無時延限制的場合,如視頻存儲等。

  提高網(wǎng)絡(luò)適應(yīng)性,采用“網(wǎng)絡(luò)友好”的結(jié)構(gòu)和語法,加強對誤碼和丟包的處理,提高解碼器的差錯恢復(fù)能力。

  在編/解碼器中采用復(fù)雜度可分級設(shè)計,在圖像質(zhì)量和編碼處理之間可分級,以適應(yīng)不同復(fù)雜度的應(yīng)用。

  相對于先期的視頻壓縮標(biāo)準(zhǔn),H.264引入了很多先進的技術(shù),包括4×4整數(shù)變換、空域內(nèi)的幀內(nèi)預(yù)測、1/4象素精度的運動估計、多參考幀與多種大小塊的幀間預(yù)測技術(shù)等。新技術(shù)帶來了較高的壓縮比,同時大大提高了算法的復(fù)雜度。

4×4整數(shù)變換

  以前的標(biāo)準(zhǔn),如H.263或MPEG-4,都是采用8x8的DCT變換。H.26L中建議的整數(shù)變換實際上接近于4×4的DCT變換,整數(shù)的引入降低了算法的復(fù)雜度,也避免了反變換的失配問題,4×4的塊可以減小塊效應(yīng)。而H.264的4×4整數(shù)變換進一步降低了算法的復(fù)雜度,相比H.26L中建議的整數(shù)變換,對于9b輸入殘差數(shù)據(jù),由以前的32b降為現(xiàn)在的16b運算,而且整個變換無乘法,只需加法和一些移位運算。新的變換對編碼的性能幾乎沒有影響,而且實際編碼略好一些。

基于空域的幀內(nèi)預(yù)測技術(shù)

  視頻編碼是通過去除圖像的空間與時間相關(guān)性來達到壓縮的目的??臻g相關(guān)性通過有效的變換來去除,如DCT變換、H.264的整數(shù)變換;時間相關(guān)性則通過幀間預(yù)測來去除。這里所說的變換去除空間相關(guān)性,僅僅局限在所變換的塊內(nèi),如8×8或者4×4,并沒有塊與塊之間的處理。H.263+與MPEG-4引入了幀內(nèi)預(yù)測技術(shù),在變換域中根據(jù)相臨塊對當(dāng)前塊的某些系數(shù)做預(yù)測。H.264則是在空域中,利用當(dāng)前塊的相臨象素直接對每個系數(shù)做預(yù)測,更有效地去除相臨塊之間的相關(guān)性,極大地提高了幀內(nèi)編碼的效率。

  H.264基本部分的幀內(nèi)預(yù)測包括9種4×4亮度塊的預(yù)測、4種16×16亮度塊的預(yù)測和4種色度塊的預(yù)測。

運動估計

  H.264的運動估計具有3個新的特點:1/4象素精度的運動估計;7種大小不同的塊進行匹配;前向與后向多參考幀。

  H.264在幀間編碼中,一個宏塊(16×16)可以被分為16×8、8×16、8×8的塊,而8×8的塊被稱為子宏塊,又可以分為8×4、4×8、4×4的塊??傮w而言,共有7種大小不同的塊做運動估計,以找出最匹配的類型。與以往標(biāo)準(zhǔn)的P幀、B幀不同,H.264采用了前向與后向多個參考幀的預(yù)測。半象素精度的運動估計比整象素運動估計有效地提高了壓縮比,而1/4象素精度的運動估計可帶來更好的壓縮效果。

  編碼器中運用多種大小不同的塊進行運動估計,可節(jié)省15%以上的比特率(相對于16×16的塊)。運用1/4象素精度的運動估計,可以節(jié)省20%的碼率(相對于整象素預(yù)測)。多參考幀預(yù)測方面,假設(shè)為5個參考幀預(yù)測,相對于一個參考幀,可降低5%~10%的碼率。以上百分比都是統(tǒng)計數(shù)據(jù),不同視頻因其細(xì)節(jié)特征與運動情況而有所差異。

熵編碼

  H.264標(biāo)準(zhǔn)采用的熵編碼有兩種:一種是基于內(nèi)容的自適應(yīng)變長編碼(CAVLC)與統(tǒng)一的變長編碼(UVLC)結(jié)合;另一種是基于內(nèi)容的自適應(yīng)二進制算術(shù)編碼(CABAC)。CAVLC與CABAC根據(jù)相臨塊的情況進行當(dāng)前塊的編碼,以達到更好的編碼效率。CABAC比CAVLC壓縮效率高,但要復(fù)雜一些。

去塊效應(yīng)濾波器

  H.264標(biāo)準(zhǔn)引入了去塊效應(yīng)濾波器,對塊的邊界進行濾波,濾波強度與塊的編碼模式、運動矢量及塊的系數(shù)有關(guān)。去塊效應(yīng)濾波器在提高壓縮效率的同時,改善了圖像的主觀效果。

其他視頻編碼標(biāo)準(zhǔn)

  除上述ITU-T的視頻壓縮標(biāo)準(zhǔn)外,還有一些標(biāo)準(zhǔn)也比較流行,如MPEG-4、AVS、WM9。

H.264也稱為MPEG-4 AVC,而目前業(yè)內(nèi)所說的MPEG-4一般是指SP(簡級)或ASP(先進的簡級),主要針對低碼率應(yīng)用,如因特網(wǎng)上的流媒體、無線網(wǎng)的視頻傳輸及視頻存儲等,其核心類似于H.263。

M  PEG-4 SP和H.263有很多相似的地方,如附表所示。然而,這兩個標(biāo)準(zhǔn)之間也有顯著的不同,主要表現(xiàn)在:碼流結(jié)構(gòu)和頭信息、熵編碼的部分碼表、編碼技術(shù)的一些細(xì)節(jié)。MPEG-4 ASP較SP增加了一些技術(shù),主要有:1/4象素精度的運動估計、B幀、全局運動矢量(GMV),因而壓縮效率得以提高。

  AVS是由我國自主制定的音/視頻編碼技術(shù)標(biāo)準(zhǔn),主要面向高清晰度電視、高密度光存儲媒體等應(yīng)用。AVS標(biāo)準(zhǔn)以當(dāng)前國際上最先進的MPEG-4 AVC/H.264框架為基礎(chǔ),強調(diào)自主知識產(chǎn)權(quán),同時充分考慮了實現(xiàn)的復(fù)雜度。相對于H.264,AVS的主要特點有:(1)8×8的整數(shù)變換與64級量化;(2)亮度和色度幀內(nèi)預(yù)測都是以8×8塊為單位,亮度塊采用5種預(yù)測模式,色度塊采用4種預(yù)測模式;(3)采用16×16、16×8、8×16和8×8 4種塊模式進行運動補償;(4)在1/4象素運動估計方面,采用不同的四抽頭濾波器進行半象素插值和1/4象素插值;(5)P幀可以利用最多2幀的前向參考幀,而B幀采用前后各一個參考幀。

  Window Meida 9(WM9)是微軟公司開發(fā)的新一代數(shù)字媒體技術(shù)。一些測試表明,WM9的視頻壓縮效率比MPEG-2、MPEG-4 SP及H.263高很多,而與H.264的壓縮效率相當(dāng)。

結(jié)束語

  目前,H.261與H.263在視頻通信中廣泛應(yīng)用,成熟的產(chǎn)品已經(jīng)很多。H.263與H.261相比,增加了若干選項,提供了更靈活的編碼方式,壓縮效率大大提高,更適應(yīng)網(wǎng)絡(luò)傳輸。H.264標(biāo)準(zhǔn)的推出,是視頻編碼標(biāo)準(zhǔn)的一次重要進步,它與現(xiàn)有的MPEG-2、MPEG-4 SP及H.263相比,具有明顯的優(yōu)越性,特別是在編碼效率上的提高,使之能用于許多新的領(lǐng)域。盡管H.264的算法復(fù)雜度是現(xiàn)有編碼壓縮標(biāo)準(zhǔn)的4倍以上,隨著集成電路技術(shù)的快速發(fā)展,H.264的應(yīng)用將成為現(xiàn)實。

中寬網(wǎng)


xiaochongchong 發(fā)表于 >2005-1-2 11:30:14 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2005-1-1
04--05

04的夢已做完,05的已經(jīng)開始。


xiaochongchong 發(fā)表于 >2005-1-1 0:34:05 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2004-12-28
MPEG-4簡介

下學(xué)期開始做視頻編碼相關(guān)的工作,以后就多關(guān)注這方面的技術(shù)了。

    MPEG4視頻壓縮編碼技術(shù)詳解 
    MPEG全稱是Moving Pictures Experts Group,它是"動態(tài)圖象專家組"的英文縮寫,該專家組成立于1988年,致力于運動圖像及其伴音的壓縮編碼標(biāo)準(zhǔn)化工作,原先他們打算開發(fā)MPEG1、MPEG2、MPEG3和MPEG4四個版本,以適用于不同帶寬和數(shù)字影像質(zhì)量的要求。
    目前,MPEG1技術(shù)被廣泛的應(yīng)用于VCD,而MPEG2標(biāo)準(zhǔn)則用于廣播電視和DVD等。MPEG3最初是為HDTV開發(fā)的編碼和壓縮標(biāo)準(zhǔn),但由于MPEG2的出色性能表現(xiàn), MPEG3只能是死于襁褓了。而我們今天要談?wù)摰闹鹘?-MPEG4于1999年初正式成為國際標(biāo)準(zhǔn)。它是一個適用于低傳輸速率應(yīng)用的方案。與MPEG1和MPEG2相比,MPEG4更加注重多媒體系統(tǒng)的交互性和靈活性。下面就讓我們一起進入多彩的MPEG4世界。 
    MPEG4的技術(shù)特點
    MPEG1、MPEG2技術(shù)當(dāng)初制定時,它們定位的標(biāo)準(zhǔn)均為高層媒體表示與結(jié)構(gòu),但隨著計算機軟件及網(wǎng)絡(luò)技術(shù)的快速發(fā)展,MPEG1.MPEG2技術(shù)的弊端就顯示出來了:交互性及靈活性較低,壓縮的多媒體文件體積過于龐大,難以實現(xiàn)網(wǎng)絡(luò)的實時傳播。而MPEG4技術(shù)的標(biāo)準(zhǔn)是對運動圖像中的內(nèi)容進行編碼,其具體的編碼對象就是圖像中的音頻和視頻,術(shù)語稱為"AV對象",而連續(xù)的AV對象組合在一起又可以形成AV場景。因此,MPEG4標(biāo)準(zhǔn)就是圍繞著AV對象的編碼、存儲、傳輸和組合而制定的,高效率地編碼、組織、存儲、傳輸AV對象是MPEG4標(biāo)準(zhǔn)的基本內(nèi)容。
    在視頻編碼方面,MPEG4支持對自然和合成的視覺對象的編碼。(合成的視覺對象包括2D、3D動畫和人面部表情動畫等)。在音頻編碼上,MPEG4可以在一組編碼工具支持下,對語音、音樂等自然聲音對象和具有回響、空間方位感的合成聲音對象進行音頻編碼。
由于MPEG4只處理圖像幀與幀之間有差異的元素,而舍棄相同的元素,因此大大減少了合成多媒體文件的體積。應(yīng)用MPEG4技術(shù)的影音文件最顯著特點就是壓縮率高且成像清晰,一般來說,一小時的影像可以被壓縮為350M左右的數(shù)據(jù),而一部高清晰度的DVD電影, 可以壓縮成兩張甚至一張650M CD光碟來存儲。對廣大的"平民"計算機用戶來說, 這就意味著, 您不需要購置 DVD-ROM就可以欣賞近似DVD質(zhì)量的高品質(zhì)影像。而且采用MPEG4編碼技術(shù)的影片,對機器硬件配置的要求非常之低,300MHZ 以上CPU,64M的內(nèi)存和一個 8M顯存的顯卡就可以流暢的播放。在播放軟件方面,它要求也非常寬松,你只需要安裝一個 500K左右的 MPEG4 編碼驅(qū)動后,用 WINDOWS 自帶的媒體播放器就可以流暢的播放了(下面我們會具體講到)。
    視頻編碼研究與MPEG標(biāo)準(zhǔn)演進 
人類獲取的信息中70%來自于視覺,視頻信息在多媒體信息中占有重要地位;同時視頻數(shù)據(jù)冗余度最大,經(jīng)壓縮處理后的視頻質(zhì)量高低是決定多媒體服務(wù)質(zhì)量的關(guān)鍵因素。因此數(shù)字視頻技術(shù)是多媒體應(yīng)用的核心技術(shù),對視頻編碼的研究已成為信息技術(shù)領(lǐng)域的熱門話題。 
視頻編碼的研究課題主要有數(shù)據(jù)壓縮比、壓縮/解壓速度及快速實現(xiàn)算法三方面內(nèi)容。以壓縮/解壓后數(shù)據(jù)與壓縮前原始數(shù)據(jù)是否完全一致作為衡量標(biāo)準(zhǔn),可將數(shù)據(jù)壓縮劃分為無失真壓縮(即可逆壓縮)和有失真壓縮(即不可逆壓縮)兩類。
    傳統(tǒng)壓縮編碼建立在仙農(nóng)信息論基礎(chǔ)之上的,以經(jīng)典集合論為工具,用概率統(tǒng)計模型來描述信源,其壓縮思想基于數(shù)據(jù)統(tǒng)計,因此只能去除數(shù)據(jù)冗余,屬于低層壓縮編碼的范疇。伴隨著視頻編碼相關(guān)學(xué)科及新興學(xué)科的迅速發(fā)展,新一代數(shù)據(jù)壓縮技術(shù)不斷誕生并日益成熟,其編碼思想由基于像素和像素塊轉(zhuǎn)變?yōu)榛趦?nèi)容 (content-based)。它突破了仙農(nóng)信息論框架的束縛,充分考慮了人眼視覺特性及信源特性,通過去除內(nèi)容冗余來實現(xiàn)數(shù)據(jù)壓縮,可分為基于對象(object-based)和基于語義(semantics-based)兩種,前者屬于中層壓縮編碼,后者屬于高層壓縮編碼。 
    與此同時,視頻編碼相關(guān)標(biāo)準(zhǔn)的制定也日臻完善。視頻編碼標(biāo)準(zhǔn)主要由ITU-T和ISO/IEC開發(fā)。ITU-T發(fā)布的視頻標(biāo)準(zhǔn)有H.261、 H.262、 H.263、 H.263+、H.263++,ISO/IEC公布的MPEG系列標(biāo)準(zhǔn)有MPEG-1、MPEG-2 、MPEG-4 和MPEG-7,并且計劃公布MPEG-21。 
    MPEG即Moving Picture Expert Group(運動圖像專家組),它是專門從事制定多媒體視音頻壓縮編碼標(biāo)準(zhǔn)的國際組織。MPEG系列標(biāo)準(zhǔn)已成為國際上影響最大的多媒體技術(shù)標(biāo)準(zhǔn),其中MPEG-1和MPEG-2是采用以仙農(nóng)信息論為基礎(chǔ)的預(yù)測編碼、變換編碼、熵編碼及運動補償?shù)鹊谝淮鷶?shù)據(jù)壓縮編碼技術(shù);MPEG-4(ISO/IEC 14496)則是基于第二代壓縮編碼技術(shù)制定的國際標(biāo)準(zhǔn),它以視聽媒體對象為基本單元,采用基于內(nèi)容的壓縮編碼,以實現(xiàn)數(shù)字視音頻、圖形合成應(yīng)用及交互式多媒體的集成。MPEG系列標(biāo)準(zhǔn)對VCD、DVD等視聽消費電子及數(shù)字電視和高清晰度電視(DTV&&HDTV)、多媒體通信等信息產(chǎn)業(yè)的發(fā)展產(chǎn)生了巨大而深遠(yuǎn)的影響。

   MPEG-4視頻編碼核心思想及關(guān)鍵技術(shù)

   核心思想 
   在MPEG-4制定之前,MPEG-1、MPEG-2、H.261、H.263都是采用第一代壓縮編碼技術(shù),著眼于圖像信號的統(tǒng)計特性來設(shè)計編碼器,屬于波形編碼的范疇。第一代壓縮編碼方案把視頻序列按時間先后分為一系列幀,每一幀圖像又分成宏塊以進行運動補償和編碼,這種編碼方案存在以下缺陷: 
· 將圖像固定地分成相同大小的塊,在高壓縮比的情況下會出現(xiàn)嚴(yán)重的塊效應(yīng),即馬賽克效應(yīng); 
· 不能對圖像內(nèi)容進行訪問、編輯和回放等*作; 
· 未充分利用人類視覺系統(tǒng)(HVS,Human Visual System)的特性。 
    MPEG-4則代表了基于模型/對象的第二代壓縮編碼技術(shù),它充分利用了人眼視覺特性,抓住了圖像信息傳輸?shù)谋举|(zhì),從輪廓、紋理思路出發(fā),支持基于視覺內(nèi)容的交互功能,這適應(yīng)了多媒體信息的應(yīng)用由播放型轉(zhuǎn)向基于內(nèi)容的訪問、檢索及*作的發(fā)展趨勢。 
AV對象(AVO,Audio Visual Object)是MPEG-4為支持基于內(nèi)容編碼而提出的重要概念。對象是指在一個場景中能夠訪問和*縱的實體,對象的劃分可根據(jù)其獨特的紋理、運動、形狀、模型和高層語義為依據(jù)。在MPEG-4中所見的視音頻已不再是過去MPEG-1、MPEG-2中圖像幀的概念,而是一個個視聽場景(AV場景),這些不同的AV場景由不同的AV對象組成。AV對象是聽覺、視覺、或者視聽內(nèi)容的表示單元,其基本單位是原始AV對象,它可以是自然的或合成的聲音、圖像。原始AV對象具有高效編碼、高效存儲與傳輸以及可交互*作的特性,它又可進一步組成復(fù)合AV對象。因此MPEG-4標(biāo)準(zhǔn)的基本內(nèi)容就是對AV對象進行高效編碼、組織、存儲與傳輸。AV對象的提出,使多媒體通信具有高度交互及高效編碼的能力,AV對象編碼就是MPEG-4的核心編碼技術(shù)。 
    MPEG-4不僅可提供高壓縮率,同時也可實現(xiàn)更好的多媒體內(nèi)容互動性及全方位的存取性,它采用開放的編碼系統(tǒng),可隨時加入新的編碼算法模塊,同時也可根據(jù)不同應(yīng)用需求現(xiàn)場配置解碼器,以支持多種多媒體應(yīng)用。 
    MPEG-4 采用了新一代視頻編碼技術(shù),它在視頻編碼發(fā)展史上第一次把編碼對象從圖像幀拓展到具有實際意義的任意形狀視頻對象,從而實現(xiàn)了從基于像素的傳統(tǒng)編碼向基于對象和內(nèi)容的現(xiàn)代編碼的轉(zhuǎn)變,因而引領(lǐng)著新一代智能圖像編碼的發(fā)展潮流。
    關(guān)鍵技術(shù) 
MPEG-4除采用第一代視頻編碼的核心技術(shù),如變換編碼、運動估計與運動補償、量化、熵編碼外,還提出了一些新的有創(chuàng)見性的關(guān)鍵技術(shù),并在第一代視頻編碼技術(shù)基礎(chǔ)上進行了卓有成效的完善和改進。下面重點介紹其中的一些關(guān)鍵技術(shù)。 
    A. 視頻對象提取技術(shù) 
MPEG-4實現(xiàn)基于內(nèi)容交互的首要任務(wù)就是把視頻/圖像分割成不同對象或者把運動對象從背景中分離出來,然后針對不同對象采用相應(yīng)編碼方法,以實現(xiàn)高效壓縮。因此視頻對象提取即視頻對象分割,是MPEG-4視頻編碼的關(guān)鍵技術(shù),也是新一代視頻編碼的研究熱點和難點。
視頻對象分割涉及對視頻內(nèi)容的分析和理解,這與人工智能、圖像理解、模式識別和神經(jīng)網(wǎng)絡(luò)等學(xué)科有密切聯(lián)系。目前人工智能的發(fā)展還不夠完善,計算機還不具有觀察、識別、理解圖像的能力;同時關(guān)于計算機視覺的研究也表明要實現(xiàn)正確的圖像分割需要在更高層次上對視頻內(nèi)容進行理解。因此,盡管MPEG-4 框架已經(jīng)制定,但至今仍沒有通用的有效方法去根本解決視頻對象分割問題,視頻對象分割被認(rèn)為是一個具有挑戰(zhàn)性的難題,基于語義的分割則更加困難。 
    目前進行視頻對象分割的一般步驟是:先對原始視頻/圖像數(shù)據(jù)進行簡化以利于分割,這可通過低通濾波、中值濾波、形態(tài)濾波來完成;然后對視頻/圖像數(shù)據(jù)進行特征提取,可以是顏色、紋理、運動、幀差、位移幀差乃至語義等特征;再基于某種均勻性標(biāo)準(zhǔn)來確定分割決策,根據(jù)所提取特征將視頻數(shù)據(jù)歸類;最后是進行相關(guān)后處理,以實現(xiàn)濾除噪聲及準(zhǔn)確提取邊界。 
    在視頻分割中基于數(shù)學(xué)形態(tài)理論的分水嶺(watershed)算法被廣泛使用,它又稱水線算法,其基本過程是連續(xù)腐蝕二值圖像,由圖像簡化、標(biāo)記提取、決策、后處理四個階段構(gòu)成。分水嶺算法具有運算簡單、性能優(yōu)良,能夠較好提取運動對象輪廓、準(zhǔn)確得到運動物體邊緣的優(yōu)點。但分割時需要梯度信息,對噪聲較敏感,且未利用幀間信息,通常會產(chǎn)生圖像過度分割。 
    B. VOP視頻編碼技術(shù) 
    視頻對象平面(VOP,Video Object Plane)是視頻對象(VO)在某一時刻的采樣,VOP是MPEG-4視頻編碼的核心概念。MPEG-4在編碼過程中針對不同VO采用不同的編碼策略,即對前景VO的壓縮編碼盡可能保留細(xì)節(jié)和平滑;對背景VO則采用高壓縮率的編碼策略,甚至不予傳輸而在解碼端由其他背景拼接而成。這種基于對象的視頻編碼不僅克服了第一代視頻編碼中高壓縮率編碼所產(chǎn)生的方塊效應(yīng),而且使用戶可與場景交互,從而既提高了壓縮比,又實現(xiàn)了基于內(nèi)容的交互,為視頻編碼提供了廣闊的發(fā)展空間。
MPEG-4支持任意形狀圖像與視頻的編解碼。對于任意形狀視頻對象。對于極低比特率實時應(yīng)用,如可視電話、會議電視,MPEG-4則采用VLBV(Very Low Bit-rate Video,極低比特率視頻)核進行編碼。 
    傳統(tǒng)的矩形圖在MPEG-4中被看作是VO的一種特例,這正體現(xiàn)了傳統(tǒng)編碼與基于內(nèi)容編碼在MPEG-4中的統(tǒng)一。VO概念的引入,更加符合人腦對視覺信息的處理方式,并使視頻信號的處理方式從數(shù)字化進展到智能化,從而提高了視頻信號的交互性和靈活性,使得更廣泛的視頻應(yīng)用及更多的內(nèi)容交互成為可能。因此VOP視頻編碼技術(shù)被譽為視頻信號處理技術(shù)從數(shù)字化進入智能化的初步探索。 
    C. 視頻編碼可分級性技術(shù) 
    隨著因特網(wǎng)業(yè)務(wù)的巨大增長,在速率起伏很大的IP(Internet Protocol)網(wǎng)絡(luò)及具有不同傳輸特性的異構(gòu)網(wǎng)絡(luò)上進行視頻傳輸?shù)囊蠛蛻?yīng)用越來越多。在這種背景下,視頻分級編碼的重要性日益突出,其應(yīng)用非常廣泛,且具有很高的理論研究及實際應(yīng)用價值,因此受到人們的極大關(guān)注。
    視頻編碼的可分級性(scalability)是指碼率的可調(diào)整性,即視頻數(shù)據(jù)只壓縮一次,卻能以多個幀率、空間分辨率或視頻質(zhì)量進行解碼,從而可支持多種類型用戶的各種不同應(yīng)用要求。 
    MPEG-4通過視頻對象層(VOL,Video Object Layer)數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)分級編碼。MPEG-4提供了兩種基本分級工具,即時域分級(Temporal Scalability)和空域分級(Spatial Scalability),此外還支持時域和空域的混合分級。每一種分級編碼都至少有兩層VOL,低層稱為基本層,高層稱為增強層?;緦犹峁┝艘曨l序列的基本信息,增強層提供了視頻序列更高的分辨率和細(xì)節(jié)。 
    在隨后增補的視頻流應(yīng)用框架中,MPEG-4提出了FGS(Fine Granularity Scalable,精細(xì)可伸縮性)視頻編碼算法以及PFGS(Progressive Fine Granularity Scalable,漸進精細(xì)可伸縮性)視頻編碼算法。 
    FGS編碼實現(xiàn)簡單,可在編碼速率、顯示分辨率、內(nèi)容、解碼復(fù)雜度等方面提供靈活的自適應(yīng)和可擴展性,且具有很強的帶寬自適應(yīng)能力和抗誤碼性能。但還存在編碼效率低于非可擴展編碼及接收端視頻質(zhì)量非最優(yōu)兩個不足。
    PFGS則是為改善FGS編碼效率而提出的視頻編碼算法,其基本思想是在增強層圖像編碼時使用前一幀重建的某個增強層圖像為參考進行運動補償,以使運動補償更加有效,從而提高編碼效率。
    D. 運動估計與運動補償技術(shù) 
    MPEG-4采用I-VOP、P-VOP、B-VOP三種幀格式來表征不同的運動補償類型。它采用了H.263中的半像素搜索(half pixel searching)技術(shù)和重疊運動補償(overlapped motion compensation)技術(shù),同時又引入重復(fù)填充(repetitive padding)技術(shù)和修改的塊(多邊形)匹配(modified block (polygon)matching)技術(shù)以支持任意形狀的VOP區(qū)域。
    此外,為提高運動估計算法精度,MPEG-4采用了MVFAST(Motion Vector Field Adaptive Search Technique)和改進的PMVFAST(Predictive MVFAST)方法用于運動估計。對于全局運動估計,則采用了基于特征的快速頑健的FFRGMET(Feature-based Fast and Robust Global Motion Estimation Technique)方法。 
在MPEG-4視頻編碼中,運動估計相當(dāng)耗時,對編碼的實時性影響很大。因此這里特別強調(diào)快速算法。運動估計方法主要有像素遞歸法和塊匹配法兩大類,前者復(fù)雜度很高,實際中應(yīng)用較少,后者則在H.263和MPEG中廣泛采用。在塊匹配法中,重點研究塊匹配準(zhǔn)則及搜索方法。目前有三種常用的匹配準(zhǔn)則: 
(1)絕對誤差和(SAD, Sum of Absolute Difference)準(zhǔn)則; 
(2)均方誤差(MSE, Mean Square Error)準(zhǔn)則; 
(3)歸一化互相關(guān)函數(shù)(NCCF, Normalized Cross Correlation Function)準(zhǔn)則。 
    在上述三種準(zhǔn)則中,SAD準(zhǔn)則具有不需乘法運算、實現(xiàn)簡單方便的優(yōu)點而使用最多,但應(yīng)清楚匹配準(zhǔn)則的選用對匹配結(jié)果影響不大。 
在選取匹配準(zhǔn)則后就應(yīng)進行尋找最優(yōu)匹配點的搜索工作。最簡單、最可靠的方法是全搜索法(FS, Full Search),但計算量太大,不便于實時實現(xiàn)。因此快速搜索法應(yīng)運而生,主要有交叉搜索法、二維對數(shù)法和鉆石搜索法,其中鉆石搜索法被MPEG-4校驗?zāi)P停╒M, Verification Model)所采納,下面詳細(xì)介紹。 
鉆石搜索(DS, Diamond Search)法以搜索模板形狀而得名,具有簡單、魯棒、高效的特點,是現(xiàn)有性能最優(yōu)的快速搜索算法之一。其基本思想是利用搜索模板的形狀和大小對運動估計算法速度及精度產(chǎn)生重要影響的特性。在搜索最優(yōu)匹配點時,選擇小的搜索模板可能會陷入局部最優(yōu),選擇大的搜索模板則可能無法找到最優(yōu)點。因此DS算法針對視頻圖像中運動矢量的基本規(guī)律,選用了兩種形狀大小的搜索模板。 
· 大鉆石搜索模板(LDSP, Large Diamond Search Pattern),包含9個候選位置; 
· 小鉆石搜索模板(SDSP, Small Diamond Search Pattern),包含5個候選位置。 
    DS算法搜索過程如下:開始階段先重復(fù)使用大鉆石搜索模板,直到最佳匹配塊落在大鉆石中心。由于LDSP步長大,因而搜索范圍廣,可實現(xiàn)粗定位,使搜索不會陷于局部最小,當(dāng)粗定位結(jié)束后,可認(rèn)為最優(yōu)點就在LDSP 周圍8 個點所圍菱形區(qū)域中。然后再使用小鉆石搜索模板來實現(xiàn)最佳匹配塊的準(zhǔn)確定位,以不產(chǎn)生較大起伏,從而提高運動估計精度。 
此外Sprite視頻編碼技術(shù)也在MPEG-4中應(yīng)用廣泛,作為其核心技術(shù)之一。Sprite又稱鑲嵌圖或背景全景圖,是指一個視頻對象在視頻序列中所有出現(xiàn)部分經(jīng)拼接而成的一幅圖像。利用Sprite可以直接重構(gòu)該視頻對象或?qū)ζ溥M行預(yù)測補償編碼。 
    Sprite視頻編碼可視為一種更為先進的運動估計和補償技術(shù),它能夠克服基于固定分塊的傳統(tǒng)運動估計和補償技術(shù)的不足,MPEG-4正是采用了將傳統(tǒng)分塊編碼技術(shù)與Sprite編碼技術(shù)相結(jié)合的策略。

    MPEG4的應(yīng)用領(lǐng)域
    憑借著出色的性能,MPEG4技術(shù)目前在多媒體傳輸、多媒體存儲等領(lǐng)域得到了廣泛的應(yīng)用,下面我們就來看看目前在那些領(lǐng)域MPEG4技術(shù)得到了大顯伸手的機會。
    1、精彩的視頻世界
精彩的視頻世界是MPEG4技術(shù)應(yīng)用最多也是最為廣大朋友所熟悉的的形式。目前它主要以兩種形式出現(xiàn),一種是DIVX-MPEG4影碟(國內(nèi)市面上已出現(xiàn),且D版居多),另一種是網(wǎng)上MPEG4電影。
  (1)、我們先來說說DIVX-MPEG4影碟,DIVX視頻編碼技術(shù)實際上就是MPEG4壓縮技術(shù),它由微軟MPEG4V3修改而來,使用的是MPEG4壓縮算法,并同時分離視頻和音頻。它的核心部分便是由DivX對DVD音視頻進行壓縮,生成Mpeg4視頻格式文件(也就是AVI格式)。
小提示:筆者也是經(jīng)常被朋友所問到:"我看到的MPEG4電影片段明明是avi(擴展名)格式文件,并且Windows的媒體播放器也與之關(guān)聯(lián),但就是無法播放"。其實, MPEG4并沒有確定必須用什么擴展名,它只是一種編碼方法而已。使用avi作為擴展名,是一種習(xí)慣性的沿用。
在計算機上播放MPEG4影音文件的方法目前有兩種:第一種是用諸如DivxPlayer等專門的播放軟件來播放;第二種播放方法是安裝MPEG4(Divx)插件后,用Windows自帶的媒體播放機來播放。
   (2)、隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)上的視頻流應(yīng)用也成為了近幾年的熱門話題。目前,在互聯(lián)網(wǎng)上比較流行的幾種影像格式包括Quicktime、RealPlay以及微軟的MediaPlayer等。MPEG4技術(shù)出現(xiàn)之后,互聯(lián)網(wǎng)上又出現(xiàn)了MPEG4格式的電影,不過在觀看前,系統(tǒng)會提示你下載最新的MPEG4解碼軟件。
小提示:大家平時在網(wǎng)上可能經(jīng)常會看見ASF格式的電影,其實它也是微軟公司開發(fā)出的一種可以直接在網(wǎng)上觀看視頻節(jié)目的壓縮格式。使用的也是MPEG4的壓縮算法,但因為它是以網(wǎng)上即時觀看電影的視頻流格式存在的,所以它的圖像質(zhì)量相對要差一些。
    
    2、低比特率下的多媒體通信,
目前,MPEG4技術(shù)已經(jīng)廣泛的應(yīng)用在如視頻電話、視頻電子郵件、移動通信、電子新聞等多媒體通信領(lǐng)域。由于這些應(yīng)用對傳輸速率要求較低,一般在4.8~64kbit/s之間,分辨率為176×144左右。因此MPEG4技術(shù)完全可以充分的利用網(wǎng)絡(luò)帶寬,通過幀重建技術(shù)壓縮和傳輸數(shù)據(jù),以最少的數(shù)據(jù)量獲得最佳的圖像質(zhì)量。
    
    3、實時多媒體監(jiān)控。
多媒體監(jiān)控領(lǐng)域原來一直是MPEG1技術(shù)擔(dān)當(dāng)重任,但近些年來,它們也是"城頭變換大王旗"了。由于MPEG4壓縮技術(shù)原本是一種適用在低帶寬下進行信息交換的音視頻處理技術(shù),它的特點是可以動態(tài)的偵測圖像各個區(qū)域變化,基于對象的調(diào)整壓縮方法可以獲得比MPEG1更大的壓縮比,使壓縮碼流更低。因此,盡管MPEG4技術(shù)一開始并不是專為視頻監(jiān)控壓縮領(lǐng)域而開發(fā)的,但它高清晰度的視頻壓縮,在實時多媒體監(jiān)控上,無能是存儲量,傳輸?shù)乃俾?,清晰度都比MPEG1具有更大的優(yōu)勢。
    
    4、基于內(nèi)容存儲和檢索的多媒體系統(tǒng)。
由于MPEG4在壓縮方法上遠(yuǎn)遠(yuǎn)優(yōu)于MPEG1技術(shù),更是MJPEG技術(shù)所不能比擬的。 經(jīng)過專家的測試表明,在相同清晰度對應(yīng)MPEG1(500Kbits/sec)碼流情況下, MPEG4比MPEG1節(jié)省了2/3的硬盤空間,在一般活動場景下也節(jié)省近一般的容量。因此無論是從內(nèi)容存儲量,還是從多媒體文件的檢索速度來說,MPEG4技術(shù)都是多媒體系統(tǒng)應(yīng)用的不二之選。
    
    5、硬件產(chǎn)品上面的應(yīng)用
目前,MPEG4技術(shù)在硬件產(chǎn)品上也已開始逐步得到應(yīng)用。特別是在視頻監(jiān)控、播放上,這項高清晰度,高壓縮的技術(shù)得到了眾多硬件廠商的鐘愛,而市場上支持MPEG4技術(shù)的產(chǎn)品也是種類繁多。下面筆者就列舉一些代表性的產(chǎn)品,旨在讓讀者了解MPEG4技術(shù)在今天應(yīng)用范圍之廣。
   (1)、攝像機:日本夏普公司推出過應(yīng)用在互聯(lián)網(wǎng)上的數(shù)字?jǐn)z像機VN-EZ1。這臺網(wǎng)絡(luò)攝像機利用MPEG4格式,可把影像文件壓縮為ASF(高級流格式),用戶只要利用微軟公司的MediaPlayer播放程序,就可以直接在電腦上進行播放。
   (2)、播放機:飛利浦公司于今年八月份推出了一款支持DivX的DVD播放機DVD737。它可以支持DivX 3.11、4.xx、5.xx等MPEG4標(biāo)準(zhǔn),而對于新標(biāo)準(zhǔn)的支持則可以通過升級固件來實現(xiàn)。
   (3)、數(shù)碼相機:日本京瓷公司在11月中旬發(fā)售其最新款數(shù)碼相機Finecam L30,這款是采用300萬像素、3倍光學(xué)變焦設(shè)計的數(shù)碼相機產(chǎn)品, L30采用了MPEG4格式動態(tài)視頻錄制,可以讓動態(tài)視頻錄制畫面效果比傳統(tǒng)數(shù)碼相機更出色。
   (4)、手機:在手機領(lǐng)域,MPEG4技術(shù)更是得到了廣泛的應(yīng)用,各大手機廠商也都推出了可拍攝MPEG4動態(tài)視頻的手機型號,如西門子ST55、索尼愛立信P900/P908、LG 彩屏G8000等。
    (5)、MPEG4數(shù)字硬盤:在今年深圳舉行的安防展覽會上,開發(fā)數(shù)字錄像監(jiān)控產(chǎn)品的廠家紛紛推出了他們的最新產(chǎn)品,而支持MPEG4的DVR壓縮技術(shù)也成為改展會上的亮點。
如北京華青紫博科技推出的"E眼神MPEG4數(shù)字視頻王"便是一款基于網(wǎng)絡(luò)環(huán)境的高清晰數(shù)字化監(jiān)控報警系統(tǒng)。內(nèi)置多畫面處理器,集現(xiàn)場監(jiān)控、監(jiān)聽、多路同時數(shù)字錄像與回放等多種功能為一體。
    其實,市場上還有許多基于MPEG4技術(shù)的硬件產(chǎn)品,筆者這里就不一一列舉了,不過筆者相信,隨著視頻壓縮技術(shù)的不斷發(fā)展,MPEG4技術(shù)的產(chǎn)品會越來越多的出現(xiàn)在我們生活,工作中。

//from BBS 水木清華站 smth.org


xiaochongchong 發(fā)表于 >2004-12-28 17:01:26 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2004-12-23
蟲兒飛

蟲兒飛

黑黑的天空低垂
亮亮的繁星相隨
蟲兒飛蟲兒飛
你在思念誰
天上的星星流淚
地上的玫瑰枯萎
冷風(fēng)吹冷風(fēng)吹
只要有你陪
蟲兒飛花兒睡
一雙又一對才美
不怕天黑只怕心碎
不管累不累
也不管東南西北



xiaochongchong 發(fā)表于 >2004-12-23 0:44:26 保存該日志到本地 [全文] [評論] [引用] [推薦] [檔案] [推給好友]

2004-10-16
Some tips of C++ programming

//2004.7.14
(1).    float GetValue(void);//良好風(fēng)格
        float GetValue();     //不良風(fēng)格
(2).    如果參數(shù)是指針,且僅作輸入用,則應(yīng)在類型前加const,
        以防止該指針在函數(shù)體內(nèi)被任意修改。
        如:void StringCopy(char *strDestination, const char *strSource);
(3).    如果參數(shù)以值傳遞的方式傳遞對象,則宜改用“const &”方式來傳遞,這樣可以
        省去臨時對象的構(gòu)造和析構(gòu)過程,從而提高效率。
(4).    返回值時,不要將正常值和錯誤標(biāo)志混在一起返回。正常值用輸出參數(shù)獲得,而
        錯誤標(biāo)志用return語句返回。
        如:BOOL GetChar(char *c);
(5).    有時候函數(shù)原本不需要返回值,但為了增加靈活性如支持鏈?zhǔn)奖磉_,可以附加返回
值。如:char *strcpy(char *strDest, const char *strSrc);
        char str[20];
int length = strlen( strcpy(str, "Hello, world" ;
(6). 函數(shù)開始使用assert斷言進行正確性檢查。
(7). 使用free和delete釋放內(nèi)存后,指針值沒有變,應(yīng)及時將指針賦為NULL,
防止產(chǎn)生野指針。
(8). char *p = "hello"; //此時p指向常量字符串,位于靜態(tài)存儲區(qū),它在程序
//生命周期內(nèi)恒定不變
p[0] = ‘X‘; //對常量進行寫操作,而編譯器不會發(fā)現(xiàn)這個錯誤
(9). char a[] = "hello, world";
char *p = a;
cout<< sizeof(a) << endl; //12字節(jié)
cout<< sizeof(p) << endl; //4字節(jié)
void Func(char a[100])
{
cout<< sizeof(a) <<endl;//4字節(jié),當(dāng)數(shù)組作為函數(shù)參數(shù)傳遞,將自動
//退化為同類型的指針
}
(10). 如果派生類的函數(shù)與基類的函數(shù)名相同,但參數(shù)不同。此時,無論有無virtual關(guān)鍵
字,基類的函數(shù)將被隱藏(注意別與重載混淆)。
        如果派生類的函數(shù)與基類的函數(shù)名相同,并且參數(shù)也相同,但是基類函數(shù)沒有
virtual關(guān)鍵字。此時,基類的函數(shù)被隱藏(注意別與覆蓋混淆)。
如:
#include <iostream.h>
class Base
{
public:
virtual void f(float x){ cout << "Base::f(float)" << x << endl; }
void g(float x){ cout << "Base::g(float)" << x << endl; }
void h(float x){ cout << "Base::h(float)" << x << endl; }
};
class Derived : public Base
{
public:
virtual void f(float x){ cout << "Derived::f(float)" << x << endl; }
void g(int x){ cout << "Derived::g(float)" << x << endl; }
void h(float x){ cout << "Dervied::h(float)" << x << endl; }
};
void main(void)
{
Derived d;
Base *pb = &d;
Derived *pd = &d;
// Good : behavior depends solely on type of the object
pb->f(3.14f); // Derived::f(float) 3.14
pd->f(3.14f); // Derived::f(float) 3.14
// Bad : behavior depends on type of the pointer
pb->g(3.14f); // Base::g(float) 3.14
pd->g(3.14f); // Derived::g(int) 3 (surprise!)
// Bad : behavior depends on type of the pointer
pb->h(3.14f); // Base::h(float) 3.14 (surprise!)
pd->h(3.14f); // Derived::h(float) 3.14
}
(11). 派生類的構(gòu)造函數(shù)應(yīng)在其初始化表里調(diào)用基類的構(gòu)造函數(shù)。
(12). 基類與派生類的析構(gòu)函數(shù)應(yīng)該為虛(即加virtual關(guān)鍵字),這樣在調(diào)用派生類的
析構(gòu)函數(shù)時會調(diào)用基類的析構(gòu)函數(shù)。
(13). 在編寫派生類的賦值函數(shù)時,注意不要忘記對基類的數(shù)據(jù)成員重新賦值。例如:
class Base
{
public:
……
Base &operate =(const Base &other); //類Base的賦值函數(shù)
private:
int m_i, m_j, m_k;
};
class Derived : public Base
{
public:
……
Derived &operate =(const Derived &other);//類Derived的賦值函數(shù)
private:
int m_x, m_y, m_z;
};
Derived & Derived::operate =(const Derived &other)
{
//(1)檢查自賦值
if(this == &other)
return *this;
//(2)對基類的數(shù)據(jù)成員重新賦值
Base::operate =(other); //因為不能直接操作私有數(shù)據(jù)成員
//(3)對派生類的數(shù)據(jù)成員賦值
m_x = other.m_x;
m_y = other.m_y;
m_z = other.m_z;
//(4)返回本對象的引用
return *this;
}
(14). 嚴(yán)格的繼承規(guī)則:若在邏輯上B是A的“一種”,并且A的所有功能和屬性對B而言
都有意義,則允許B繼承A的功能和屬性。
(15). 組合規(guī)則:若在邏輯上A是B的“一部分”(a part of),則不允許B從A派生,
而是要用A和其它東西組合出B。



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多