0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

運(yùn)動(dòng)估計(jì)與運(yùn)動(dòng)補(bǔ)償?shù)腍.263壓縮算法分析和優(yōu)化研究

電子設(shè)計(jì) ? 來(lái)源:電子技術(shù)應(yīng)用 ? 作者:余振建;周健;戴梅 ? 2020-11-11 10:45 ? 次閱讀

運(yùn)動(dòng)圖像遠(yuǎn)程實(shí)時(shí)傳輸系統(tǒng)的網(wǎng)絡(luò)傳輸部分架構(gòu)在Internet之上,而現(xiàn)階段Internet的狀況是帶寬小、延遲大、不穩(wěn)定。所以為了獲得良好的實(shí)時(shí)傳輸效果,除了改善傳輸控制機(jī)制之外,還需要實(shí)現(xiàn)高壓縮比、低耗時(shí)、能達(dá)到實(shí)時(shí)壓縮和解壓縮效果的運(yùn)動(dòng)圖像壓縮方法。H.263是國(guó)際電信協(xié)會(huì)-電信標(biāo)準(zhǔn)化部門(mén)ITU-T(The International Telecommunications Union-Telecommunication Standardization Sector)于1995年通過(guò)的用于低比特率實(shí)時(shí)傳輸?shù)?a target="_blank">視頻編解碼協(xié)議。其設(shè)計(jì)初衷是滿足帶寬低于64kbps的低帶寬視頻應(yīng)用需求,如視頻會(huì)議、可視電話等?,F(xiàn)在H.263也被應(yīng)用于運(yùn)動(dòng)圖像遠(yuǎn)程實(shí)時(shí)傳輸系統(tǒng)中,但原始的H.263在實(shí)時(shí)性和壓縮比等方面還有不少可優(yōu)化余地。本文針對(duì)具體的運(yùn)動(dòng)圖像遠(yuǎn)程實(shí)時(shí)傳輸系統(tǒng)應(yīng)用,在大量研究工作基礎(chǔ)上提出多個(gè)H.263的優(yōu)化策略,并取得了相當(dāng)好的效果。

1 H.263壓縮算法的分析概要

H.263的輸入視頻幀格式為QCIF(Quarter Common Intermediate Format,大小為176×144)、CIF(Common Intermediate Format,大小為352×288)等。將每個(gè)視頻幀分成許多宏塊(MB-Micro Block),每個(gè)宏塊由4個(gè)Y亮度塊、1個(gè)Cb色度塊和1個(gè)Cr色度塊組成。塊(Block)的大小為8×8。H.263以宏塊為單位進(jìn)行視頻幀的壓縮。

H.263使用離散余弦變換DCT(Discrete Cosine Transform)減小空間冗余,使用運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償(Motion Estimation and Motion Compensation)減小時(shí)間冗余。H.263有兩種編碼方式,一種是Intra方式,幀內(nèi)編碼,產(chǎn)生的幀作為關(guān)鍵幀-I幀;另一種是Inter方式,幀間編碼,產(chǎn)生的幀作為非關(guān)鍵幀-P幀。

通過(guò)分析,將H.263壓縮算法的流程圖歸納為如圖1所示。

通過(guò)分析和測(cè)試表明,DCT、運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償是H.263最重要的部分,同時(shí)也是H.263實(shí)現(xiàn)中最耗時(shí)的運(yùn)算環(huán)節(jié)。要提高H.263的運(yùn)算速度,就要針對(duì)這些環(huán)節(jié)進(jìn)行優(yōu)化。

2 轉(zhuǎn)換函數(shù)、DCT和運(yùn)動(dòng)估計(jì)環(huán)節(jié)的優(yōu)化

2.1 色彩空間轉(zhuǎn)換函數(shù)的優(yōu)化

CIF格式基于YUV色彩空間,而應(yīng)用程序中,大多數(shù)視頻采集程序只提供RGB色彩空間的視頻幀,因此需要建立從RGB色彩空間到Y(jié)UV色彩空間的轉(zhuǎn)換函數(shù)。

RGB到Y(jié)UV的轉(zhuǎn)換函數(shù)如下所示,其中Y為YUV色彩空間的亮度值,U(Cb)和V(Cr)為YUV色彩空間的色度值。

Y=0.299×R+0.587×G+0.114×B;

Cr=V=(R-Y)×127/179;

Cb=U=(B-Y)×127/226;

H.263原有的色彩空間轉(zhuǎn)換算法采用浮點(diǎn)運(yùn)算,但浮點(diǎn)運(yùn)算會(huì)消耗較多的CPU周期。為了加快視頻處理速度,采用整型乘法和向右移位來(lái)代替浮點(diǎn)乘除,從而有效縮短了轉(zhuǎn)換時(shí)間。

優(yōu)化后的轉(zhuǎn)換函數(shù)如下:

Y=((R×313524)》》20)+((G×615514)》》20)×((B×119538)》》20);

Cr=V=((R-Y)×743962))》》20;

Cb=U=((B-Y)×589244))》》20;

2.2 DCT、IDCT算法的優(yōu)化

二維DCT公式為:

通過(guò)分析得出,DCT快速算法的實(shí)現(xiàn)可以有兩種方式。一種方法是把已有的快速變換算法(如FFT、FHT等)映射到DCT計(jì)算中,這種方式多了一個(gè)映射環(huán)節(jié),增加了計(jì)算的復(fù)雜度;另一種方法是從DCT變換本身尋找規(guī)律進(jìn)行改進(jìn)。

在H.263應(yīng)用中,注意到兩條規(guī)律:一是能量集中在少部分DCT系數(shù)上;二是隨著量化步長(zhǎng)的增大,被量化為零的DCT系數(shù)增多,而且對(duì)DCT計(jì)算的精度要求降低。于是,采用一種零系數(shù)預(yù)測(cè)策略,即根據(jù)量化步長(zhǎng),首先對(duì)DCT變換的輸入數(shù)據(jù)分類(lèi),對(duì)于給定的量化步長(zhǎng),如果輸入數(shù)據(jù)將要被量化為0,那么這些數(shù)據(jù)就不必做DCT運(yùn)算,而直接將變換結(jié)果置為0。這樣只需對(duì)部分?jǐn)?shù)據(jù)進(jìn)行DCT變換,因此節(jié)省了大量無(wú)效運(yùn)算。另外,利用DCT的局部并行性,使用Intel的多媒體處理指令集-MMX來(lái)實(shí)現(xiàn)DCT計(jì)算,大幅度提高了運(yùn)算速度。

2.3 運(yùn)動(dòng)估計(jì)與運(yùn)動(dòng)補(bǔ)償算法的優(yōu)化

運(yùn)動(dòng)估計(jì)是指在參考幀中搜索一個(gè)與當(dāng)前幀圖像塊最相似的圖像塊,即最佳匹配塊,搜索結(jié)果用運(yùn)動(dòng)向量來(lái)表示。運(yùn)動(dòng)補(bǔ)償是指利用參考幀和已求得的運(yùn)動(dòng)向量重構(gòu)當(dāng)前幀,把重構(gòu)幀和當(dāng)前幀的差值作為當(dāng)前幀的補(bǔ)償值進(jìn)行壓縮編碼。兩者互相配合,共同實(shí)現(xiàn)壓縮效果。

運(yùn)動(dòng)估計(jì)算法的研究從兩方面著手:快速搜索算法和塊匹配準(zhǔn)則。

最簡(jiǎn)單的搜索算法是全搜索法(FS),這種算法精度高,但計(jì)算量過(guò)于龐大。為了加快運(yùn)算速度,保證精度,人們提出了很多快速搜索算法:三步法(TSS)及基于三步法的改進(jìn)算法、二維對(duì)數(shù)法(LOGS)、交叉搜索法(CS)、四步法(4SS)、預(yù)測(cè)搜索法(PSA)、鉆石搜索法(DS)等。鉆石搜索法是迄今為止綜合性能最優(yōu)的快速搜索算法之一,用于本次項(xiàng)目研究中。

塊匹配準(zhǔn)則決定何時(shí)找到最佳匹配塊,從而終止搜索進(jìn)程。傳統(tǒng)的準(zhǔn)則有絕對(duì)平均誤差函數(shù)(MAE)、互相關(guān)函數(shù)(CCF)、均方誤差函數(shù)(MSE)、最大誤差最小函數(shù)(MME)等。由于傳統(tǒng)方法沒(méi)有考慮人眼的視覺(jué)特性,所以判斷結(jié)果和人眼的感知相差較大。實(shí)際H.263采用的塊匹配準(zhǔn)則為MSE的替代準(zhǔn)則SAD(絕對(duì)差和),兩者的公式如下:

其中:F0和F-1分別代表當(dāng)前幀和重構(gòu)幀(參考幀);k,l為待編碼宏塊在當(dāng)前幀中的坐標(biāo);x,y為重構(gòu)幀中參考宏塊的坐標(biāo);N表示宏塊的尺寸,此處為16。從公式中可見(jiàn),SAD用絕對(duì)值運(yùn)算代替了MSE的乘方運(yùn)算,明顯降低了運(yùn)算量,從而可以加快計(jì)算速度。

測(cè)試表明,SAD的計(jì)算量要比MSE的計(jì)算量減少三分之一,而它們的圖像效果相當(dāng)。

此外,還可以利用硬件特性加速塊匹配準(zhǔn)則的運(yùn)算速度,Intel的MMX技術(shù)提供了這種特性。SAD等塊匹配準(zhǔn)則主要針對(duì)短數(shù)據(jù)的重復(fù)計(jì)算,MMX增加了系統(tǒng)單個(gè)指令操作數(shù)據(jù)的數(shù)目(SIMD),從而可以在一個(gè)指令中完成多組數(shù)據(jù)的計(jì)算,實(shí)現(xiàn)并行機(jī)制,從而加快運(yùn)算速度。

3 提高壓縮比的選擇

H.263提供了許多高級(jí)模式來(lái)提高視頻壓縮比。從對(duì)壓縮效率的貢獻(xiàn)角度看,大運(yùn)動(dòng)向量模式、高級(jí)預(yù)測(cè)模式、PB幀模式和增強(qiáng)PB幀模式是最重要的4個(gè)高級(jí)模式。

在大運(yùn)動(dòng)向量模式和高級(jí)預(yù)測(cè)模式下,運(yùn)動(dòng)向量可以指到圖像邊界以外,增大了運(yùn)動(dòng)向量的表達(dá)范圍,從而在本質(zhì)上提高了運(yùn)動(dòng)補(bǔ)償?shù)木纫愿纳凭幋a效率。

基本PB幀模式下,一個(gè)PB幀是一個(gè)P幀和一個(gè)B幀組成的整體。當(dāng)前P幀由前一個(gè)P幀預(yù)測(cè)得到,B幀則由前一個(gè)P幀和當(dāng)前P幀預(yù)測(cè)得到(見(jiàn)圖2)。PB幀模式在增加較少比特?cái)?shù)的情況下,將幀率提高了近一倍。

增強(qiáng)PB幀模式的主要改進(jìn)點(diǎn)在于預(yù)測(cè)方式的增強(qiáng)?;綪B幀模式對(duì)B幀圖像(或宏塊 )僅允許使用雙向預(yù)測(cè),而增強(qiáng)的PB幀模式對(duì)B幀圖像則允許使用前向預(yù)測(cè)(見(jiàn)圖3)、后向預(yù)測(cè)(見(jiàn)圖4)和雙向預(yù)測(cè)(見(jiàn)圖2)三種手段。這樣,在壓縮過(guò)程中,有機(jī)會(huì)選擇更合適的預(yù)測(cè)方法處理B幀圖像(或宏塊),從而提高B幀的壓縮效率?;綪B幀模式的B幀只能通過(guò)雙向預(yù)測(cè)獲得,這對(duì)慢速運(yùn)動(dòng)圖像效果較好。當(dāng)輸入運(yùn)動(dòng)圖像存在快速不規(guī)則運(yùn)動(dòng)時(shí),B幀質(zhì)量會(huì)急劇惡化,而增強(qiáng)PB幀模式的B幀有三種預(yù)測(cè)方式可選,可以解決這一難題。通過(guò)分析和測(cè)試表明,增強(qiáng)PB幀模式比基本PB幀模式有更強(qiáng)的魯棒性,更適用于運(yùn)動(dòng)圖像遠(yuǎn)程實(shí)時(shí)傳輸。

大運(yùn)動(dòng)向量模式和高級(jí)預(yù)測(cè)模式由于增大了運(yùn)動(dòng)向量的表示范圍,可以增強(qiáng)運(yùn)動(dòng)補(bǔ)償?shù)木?,從而提高壓縮比;而增強(qiáng)PB幀模式引入B幀,有三種預(yù)測(cè)方式可以生成B幀,在相同幀率的情況下,將壓縮比提高近80%,壓縮效果明顯。在實(shí)際程序設(shè)計(jì)中,筆者配合傳輸環(huán)境測(cè)試模塊,在網(wǎng)絡(luò)帶寬較低時(shí)實(shí)現(xiàn)這三種方式的配合使用,發(fā)揮了更大的壓縮效率,達(dá)到更高的壓縮比。

4 實(shí)驗(yàn)數(shù)據(jù)和性能分析

4.1 算法優(yōu)化測(cè)試

分別取100幀三種不同格式(SUB-QCIF:88×72,QCIF:178×144,CIF:352×288)的視頻幀,每20幀取1個(gè)關(guān)鍵幀,視頻幀質(zhì)量取6000,比較優(yōu)化前和優(yōu)化后算法的時(shí)間效率,結(jié)果如(圖5)所示。

縱軸單位為毫秒,表示壓縮完成所需時(shí)間??梢?jiàn),要處理的視頻幀越大,優(yōu)化后的算法取得的加速效果越明顯。

4.2 增強(qiáng)PB幀模式壓縮效果測(cè)試

分別取100幀三種不同格式(SUB-QCIF:88×72,QCIF:178×144,CIF:352×288)的視頻幀,每20幀取1個(gè)關(guān)鍵幀,視頻幀質(zhì)量取6000,比較使用增強(qiáng)PB幀模式前和使用增強(qiáng)PB幀模式后算法的壓縮效率,結(jié)果如(圖6)所示。

縱軸為壓縮比。要處理的視頻幀越大,冗余信息越多,增強(qiáng)PB幀模式的壓縮效果越明顯。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10873

    瀏覽量

    212023
  • 視頻
    +關(guān)注

    關(guān)注

    6

    文章

    1947

    瀏覽量

    72944
  • 傳輸系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    152

    瀏覽量

    37200
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    針對(duì)硬件實(shí)現(xiàn)的h.264視頻編碼算法改進(jìn)

    針對(duì)硬件實(shí)現(xiàn)的h.264視頻編碼算法改進(jìn)針對(duì)硬件實(shí)現(xiàn)的視頻編碼算法改進(jìn)上海交通大學(xué)圖像通信與信息處理研究所 周怡吳昊方向忠摘要’ 從硬件實(shí)現(xiàn)的角度
    發(fā)表于 06-25 11:35

    H.263標(biāo)準(zhǔn)中文版

    H.263標(biāo)準(zhǔn)中文版建議說(shuō)明了一個(gè)可以用來(lái)壓縮包含低比特率情況下的有運(yùn)動(dòng)圖象成分的視聽(tīng)服務(wù)的編碼表示。視頻信號(hào)編碼的基本構(gòu)造是基于ITU-T的H.261建議,它是通過(guò)幀間預(yù)測(cè)編碼去除時(shí)
    發(fā)表于 06-25 12:49

    視頻通信中的一種視頻壓縮傳輸方案

    了一個(gè)基于H.263協(xié)議的視頻壓縮傳輸方案,其目標(biāo)是可移植性、低運(yùn)算量和良好容錯(cuò)性。1 問(wèn)題的提出  基于H.263的視頻壓縮中,運(yùn)動(dòng)
    發(fā)表于 09-19 09:33

    H264視頻編碼技術(shù)

    H264視頻編碼技術(shù)  H.264壓縮算法采用與H.263和MPEG-4類(lèi)似的基于塊的混和編碼方法,采用幀內(nèi)(Intra)和幀間(Inter
    發(fā)表于 08-10 14:53

    有關(guān) 基于FPGA的H264運(yùn)動(dòng)估計(jì)算法優(yōu)化與實(shí)現(xiàn) 的問(wèn)題

    大家好我是剛剛來(lái)這的實(shí)習(xí)生(拱手)。最近在看 基于FPGA的H264運(yùn)動(dòng)估計(jì)算法優(yōu)化與實(shí)現(xiàn) 方面的東西,他提出了一個(gè)概念:運(yùn)動(dòng)矢量。這是如何
    發(fā)表于 04-28 11:51

    介紹一種基于H.264標(biāo)準(zhǔn)的快速運(yùn)動(dòng)估計(jì)算法

    本文介紹了一種基于H.264標(biāo)準(zhǔn)的快速運(yùn)動(dòng)估計(jì)算法。
    發(fā)表于 06-03 06:27

    h.263協(xié)議中文版

    ITU-T H.263建議ITU的電訊標(biāo)準(zhǔn)化組織 ITU電訊標(biāo)準(zhǔn)化部門(mén)是國(guó)際電訊聯(lián)合會(huì)的一個(gè)永久性部門(mén)。ITU-T負(fù)責(zé)從使世界范圍的電訊標(biāo)準(zhǔn)化的角度出發(fā),來(lái)研究、操作和回答問(wèn)題以及
    發(fā)表于 06-25 12:24 ?0次下載

    h.264碼流結(jié)構(gòu)/H.263的碼流結(jié)構(gòu)

    、H.264的碼流結(jié)構(gòu)H.264的碼流結(jié)構(gòu)和H.263的有很大的區(qū)別,它采用的不再是嚴(yán)格的分級(jí)結(jié)構(gòu)。 a、H.263的碼流結(jié)構(gòu)H.263
    發(fā)表于 08-19 13:46 ?59次下載
    <b class='flag-5'>h</b>.264碼流結(jié)構(gòu)/<b class='flag-5'>H.263</b>的碼流結(jié)構(gòu)

    運(yùn)動(dòng)估計(jì)綜述

    視頻序列圖像在時(shí)間上存在很強(qiáng)的相關(guān)性,采用運(yùn)動(dòng)估計(jì)運(yùn)動(dòng)補(bǔ)償技術(shù)可以消除時(shí)間冗余以提高編碼效率,這種技術(shù)廣泛用于視頻壓縮的一些國(guó)際標(biāo)準(zhǔn)中,如
    發(fā)表于 08-25 13:09 ?24次下載

    基于H.264壓縮域的鏡頭運(yùn)動(dòng)信息提取

    本文根據(jù) H.264 編碼特點(diǎn),提出了一種從 H.264 壓縮域中快速有效地進(jìn)行鏡頭運(yùn)動(dòng)參數(shù)估計(jì)算法
    發(fā)表于 08-28 11:16 ?23次下載

    基于ADSP-BF561的H.263編解碼器實(shí)現(xiàn)

    本文在ADI 公司的ADSP-BF561 芯片上完成了壓縮編碼標(biāo)準(zhǔn)H.263 的編程實(shí)現(xiàn)。首先簡(jiǎn)要介紹了H.263 的性能和技術(shù)特點(diǎn),詳細(xì)討論了H.263 編解碼器在
    發(fā)表于 09-02 08:54 ?25次下載

    基于DSP技術(shù)的H.263視頻編碼協(xié)議算法

    摘 要:對(duì)H.263編碼原理進(jìn)行了簡(jiǎn)單介紹,對(duì)運(yùn)動(dòng)估值中幾種主要搜索算法的性能進(jìn)行了分析比較,完成了H.263
    發(fā)表于 03-03 22:36 ?25次下載

    H.264視頻壓縮快速運(yùn)動(dòng)估計(jì)算法 DCS算法

    H.264是現(xiàn)有最重要數(shù)據(jù)壓縮編碼國(guó)際標(biāo)準(zhǔn)之一。 快速運(yùn)動(dòng)估計(jì)算法一直是視頻壓縮中的研究熱點(diǎn)。
    發(fā)表于 06-25 11:50 ?1773次閱讀
    <b class='flag-5'>H</b>.264視頻<b class='flag-5'>壓縮</b>快速<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>估計(jì)算法</b> DCS<b class='flag-5'>算法</b>

    基于UMHexagonS的運(yùn)動(dòng)估計(jì)算法優(yōu)化

    針對(duì)UMHexagonS算法冗余搜索的問(wèn)題,使用大十字搜索判定結(jié)果,改進(jìn)原有的運(yùn)動(dòng)估計(jì)算法。改進(jìn)算法判斷最優(yōu)點(diǎn)可能分布區(qū)域,使用相應(yīng)改進(jìn)搜索模板搜索,降低搜索點(diǎn)個(gè)數(shù),達(dá)到避免冗余搜索的
    發(fā)表于 11-24 10:51 ?2次下載
    基于UMHexagonS的<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>估計(jì)算法</b><b class='flag-5'>優(yōu)化</b>

    一種基于H.264標(biāo)準(zhǔn)的快速運(yùn)動(dòng)估計(jì)算法

    關(guān)鍵詞:估計(jì)算法 , 快速運(yùn)動(dòng) H.264是現(xiàn)有最重要數(shù)據(jù)壓縮編碼國(guó)際標(biāo)準(zhǔn)之一。同時(shí)快速運(yùn)動(dòng)估計(jì)算法
    發(fā)表于 10-08 07:00 ?502次閱讀