• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    采用局部邊緣模型匹配的視頻均衡編碼算法

    2020-07-20 06:31:50
    計算機工程與設(shè)計 2020年7期
    關(guān)鍵詞:解碼器編碼器復(fù)雜度

    路 標

    (1.中國礦業(yè)大學 計算機學院,江蘇 徐州 221116;2.徐州幼兒師范高等??茖W校,江蘇 徐州 221000)

    0 引 言

    視頻編碼包含兩個互補過程:編碼和解碼,可通過編碼優(yōu)化來消除時間域和空間域冗余??紤]兩種視頻編碼類型:無損編碼和有損編碼[1,2]。為了更高的壓縮,有損視頻編碼是必需的,因為無損視頻信息只允許中等壓縮。與上述算法兼容的標準已經(jīng)開發(fā)出來,可提供高質(zhì)量、低失真和低比特率傳輸[3]。

    為減少編碼器計算負荷,可利用分布式視頻編碼方法(DVC)來實現(xiàn)低級別復(fù)雜度的視頻編碼,將復(fù)雜度從編碼器轉(zhuǎn)移到解碼器中。例如,文獻[4]提出空間域分布式視頻編碼系統(tǒng),實現(xiàn)對包含快速運動和復(fù)雜運動的序列的改進。文獻[5]在編碼器和解碼器中均執(zhí)行DVC運動估計方案,編碼器和解碼器的協(xié)作可在提高編碼效率的同時降低整體計算復(fù)雜度。文獻[6]提出在編碼器執(zhí)行全局和局部運動估計,而在編碼器和解碼器上同步進行運動估計和補償。文獻[7]在解碼器只執(zhí)行局部運動估計,而在編碼器中基于尺度不變特征變換(SIFT)進行全局運動估計。DVC運動估計方案有效地降低了編碼器的復(fù)雜度,但也造成一些問題,兩個主要缺點是性能表現(xiàn)不佳和解碼器復(fù)雜度高。

    為此,本文提出基于填充塊的輕量級視頻編碼(PBLVC),所提出的方法在解碼器使用局部邊界匹配算法(PBMA)替換在編碼器上的運動估計。另一個高復(fù)雜度算法,模式?jīng)Q策,通過4種不同的靈活模式,也需要從編碼器轉(zhuǎn)移到解碼器。同時,所提方案由于設(shè)計思路不同而無法使用傳統(tǒng)DVC架構(gòu),這里同步設(shè)計了一種塊級設(shè)計和填充算法。

    1 背景算法描述

    1.1 H.264/AVC視頻編碼傳統(tǒng)運動估計

    所有傳統(tǒng)視頻編碼標準都采用塊式運動估計編碼,用于減少時間冗余。率失真優(yōu)化(RDO)函數(shù)是一種實現(xiàn)性能和運動估計的數(shù)據(jù)流量之間的最佳模式的綜合評價方法[8,9]

    (1)

    (2)

    其中,N是圖像塊的大小, (x,y) 是參考幀的像素, (dx,dy) 表示運動矢量。然而,編碼器復(fù)雜度是由運動搜索中累加疊加造成的。因此,式(2)表明,編碼器采用運動估計帶來高復(fù)雜度編碼器加載,如圖1所示。

    圖1 傳統(tǒng)視頻編碼器的運動估計

    1.2 基于PBMA的解碼器運動估計

    在傳輸視頻編碼器中,高性能運動估計本質(zhì)上是一種高計算復(fù)雜度算法,如果沒有高效率的運動估計,性能可能會降低超出預(yù)定義的容忍范圍。該方案采用PBMA代替運動估計的功能,具體如下[10,11]

    由此可得

    PBM(dx,dy)=
    PBMupregion(dx,dy)+PBMleftregion(dx,dy)

    (3)

    式中: PBM(dx,dy)、 PBMupregion(dx,dy)、 PBMleftregion(dx,dy) 分別為PBMA算法SAD函數(shù)的總值、上方區(qū)域和左方區(qū)域。 (dx,dy) 是候選運動矢量。Pcurr(X,Y) 和Pref(X,Y) 分別表示當前幀和參考幀的像素值。 (X0,Y0) 是起始圖像塊的位置。這里,N是圖像塊的大小,b是模板鄰域大小。

    PBMA算法和BMA算法的主要差別是,BMA算法使用圖像塊的所有相鄰像素作為模板,而PBMA只使用部分的相鄰像素作為模板,一般只選取兩個相鄰像素[12],因為相鄰像素的解碼塊還沒有被解碼。如圖2所示,每個方格作為一個像素。

    圖2 PBMA的匹配區(qū)域

    1.3 模式?jīng)Q策H.264/AVC視頻器的常規(guī)決策模式

    H.264/AVC常規(guī)決策:傳統(tǒng)的視頻編碼可以提高模式選擇算法中的圖像塊選擇靈活性,但是同樣會增加圖像塊比較錯誤的比率。模式?jīng)Q策的RDO函數(shù)定義如下[13,14]

    JMD(s,c,MD|λMD)=SSD(s,c,MD)+λMD·R(s,c,MD)

    (4)

    式中:MD表示模式?jīng)Q策,λMD是模式?jīng)Q策拉格朗日乘子。SSD函數(shù)是計算原始幀和參考幀之間的平方差之和。R(s,c,MD) 表示原始幀和參考幀之間的位編碼。SSD函數(shù)可定義為如下形式

    (5)

    與傳統(tǒng)的運動估計算法相類似,模式選擇同樣會遇到性能和復(fù)雜度之間的權(quán)衡。

    LVC解碼器模式?jīng)Q策:在解碼器中所提出的模式?jīng)Q策具有4種不同的模式:模式0到3,其中模式(塊類型)選自候選類型集 {4×4,4×2,2×4,2×2}。 最佳塊類型的選擇方法是用鄰域像素計算平均加性差(MAD)。接下來,最好的塊類型被按依次粘貼,解碼器的模式?jīng)Q策完成。MAD計算形式為[15]

    MAD(x,y)=SAD(x,y)/N2

    (6)

    其中, SAD(x,y) 是像素值的絕對差之和。

    2 基于數(shù)據(jù)塊的輕量級視頻編碼

    2.1 算法框架描述

    編碼器算法框架:基于PB的LVC算法結(jié)構(gòu)在編碼器中由3部分組成:分類器模塊、跳塊掩碼模塊和重排模塊(包括跳塊記錄表),以及傳統(tǒng)幀內(nèi)編碼器,如圖3所示。

    圖3 基于PB的LVC編碼器

    解碼器算法框架:解碼器由3個主要部分組成,包括傳統(tǒng)的幀內(nèi)解碼器、塊填充和像素填充,如圖4所示。

    圖4 基于PB的LVC解碼器

    傳統(tǒng)的幀內(nèi)解碼器首先從編碼器解碼視頻流。解碼后,對圖像塊進行填充,并將其分為零運動矢量置換(ZMVR)和部分邊界匹配算法(PBMA),以替換高復(fù)雜度的運動估計算法。ZMVR和PBMA從跳塊編碼器獲得跳塊記錄表信息,然后利用4種類型的塊模式?jīng)Q策對零塊和低運動塊進行處理。采用PBMA算法基于鄰域像素數(shù)據(jù)在跳塊和候選搜索塊中選擇最佳匹配塊運動估計,然后根據(jù)參考幀對其進行填充。在塊填充后,對其余未使用塊進行像素填充。像素填充方法包含本文提出的時空紋理合成(STTS)和傳統(tǒng)的像素插值(PXI)。

    2.2 編碼器

    該方案采用傳統(tǒng)視頻編碼中的GOP幀編碼結(jié)構(gòu),第一幀用傳統(tǒng)幀進行編碼,而其它幀使用跳塊編碼。這個過程與傳統(tǒng)視頻編碼結(jié)果一樣,幀內(nèi)編碼可防止整個GOP幀失真。具體包含如下5個步驟:

    步驟1 分類器:分類器功能塊,包括SAD和DC分類器。這些分類器用于識別零運動塊和低運動塊;因此,這種設(shè)計不適合確定中高運動塊。SAD分類器可以用來確定SAD(0)(零運動塊)。公式的定義如下

    (7)

    其中, SAD(x,y) 表示參考塊和當前塊間的SAD值, (x0,y0) 表示當前塊坐標, Bcurr(x,y) 和Bref(x,y) 是當前和參考塊像素值。在SAD分類后,進行DC分類,并對DC值(平均值)評估

    (8)

    其中, AVGcurr(x,y) 和AVGref(x,y) 分別是當前和參考塊的DC值(平均值),該值有助于在低運動塊部分像素重疊時輕松對低運動塊進行搜索。因此,利用分類器塊,很容易看出該LVC編碼器采用局部幀間編碼,而不是單純采用傳統(tǒng)DVC的幀內(nèi)編碼。

    步驟2 跳塊掩碼和重排:跳過塊掩碼功能塊,首先根據(jù)分類器塊獲得的結(jié)果屏蔽所有跳塊,并將跳塊的信息保存到跳塊記錄表中。掩碼條件可設(shè)計為

    來到后廂客廳,坤二少爺、百里香依次落座。莊大善人又招呼傭人捧上谷雨龍井,才滿面堆笑地對坤二少爺說:“先生仙風道骨,一定不是俗人。莊某平生最敬重的,就是風水先生!”抿了口香茗,又說,“不過老朽有些疑問,先生您是怎么知道我家人丁不旺的?”

    (9)

    (10)

    (11)

    其中,thsad(i) 和thdc(i) 分別是SAD(x,y) 和AVG(x,y) 的微分值。如果圖像塊i的thsad(i) 和thdc(i) 如果分別小于閾值τ1和τ2, 則masksad(i) 和maskdc(i) 的取值均為1,操作中跳過這些數(shù)據(jù)塊。否則,它被假定為一個非跳過塊。在跳過塊確定之后,重排塊函數(shù)將用一個新順序重新排列保留塊(非跳過),該順序?qū)⒎翘^的塊集中在一起。

    步驟3 子幀編碼:如果該幀超過了50%個塊,則該幀是半視頻幀處理,重排塊在子幀塊之后。否則,如果幀跳過小于50%的塊,則保留完整的視頻幀。由此,可以在慢動作視頻序列中大大減少發(fā)送到解碼器的幀大小。然而,如果高運動視頻序列中的幀不夠充分,它將向下一個功能塊發(fā)送一個完整的幀。

    步驟4 幀內(nèi)編碼器:傳統(tǒng)的幀內(nèi)編碼的功能塊,如H.263,H.264/AVC,H.265/HEVC,MPEG-2和MPEG-4幀內(nèi)編碼,甚至JPEG,JPEG-2000等編碼方式,都依賴于設(shè)定的取值范圍。因此,本文采用高性能H.264/AVC和H.265/HEVE主配置幀內(nèi)視頻編碼方法。此外,因為速率控制問題產(chǎn)生的反饋信道的問題,提出了編碼器的碼率控制方案,其在根本上不同于傳統(tǒng)的DVC在解碼器的速率控制。

    步驟5 跳塊記錄表:該記錄表只需要2 b大小存儲對每個塊的信息進行儲存,例如,(0,0)代表非跳塊,(1,0)代表SAD分類器跳塊,(0,1)表示DC分類器跳塊,(1,1)表示保留的圖像塊。

    2.3 解碼器

    解碼器處理核心位于跳塊記錄表信息中。因此,這個內(nèi)核可以生成具有塊和像素填充功能的高性能解碼器。所考慮的解碼器包括以下部分。

    步驟1 幀內(nèi)解碼器:該方案采用H.264/AVC和H.265/HEVC視頻解碼直接可以從編碼器自動檢測出大部分的參數(shù);這不包括跳塊信息。

    步驟2 子幀恢復(fù):如果編碼器使用子幀功能,解碼器應(yīng)該將其恢復(fù)到完全的幀;否則,跳過這個步驟。

    步驟3 反向重排:反向重排功能塊,按塊順序排列。將塊的位置恢復(fù)到原來的視頻幀狀態(tài)。

    步驟4 ZMVR重建:ZMVR根據(jù)跳塊記錄表的信息,從參考幀(前一幀)的同一塊中直接粘貼零運動塊。然而,有時這是不理想的,因為一些非跳過塊還沒有從參考幀中重建,非重建塊將繼續(xù)在下一PBMA塊中處理。

    步驟5 PBMA匹配塊選擇:PBMA功能本質(zhì)是邊界匹配算法,主要基于稀疏的邊界像素塊在參考幀搜索范圍,尋找最佳匹配塊。PBMA步驟如下:①利用丟失塊上、左鄰域像素建立PBMA模板。②從參考幀搜索范圍中選擇候選塊。③將每個候選塊的鄰域像素與搜索范圍中的模板進行比較。④與模板最相似的候選塊是最佳匹配塊。⑤最好的匹配塊被粘貼回當前幀中。為簡單起見,有關(guān)計算定義如下

    由此可得

    PBM(dx,dy)=
    PBMupregion(dx,dy)+PBMleftregion(dx,dy)

    (12)

    式(12)的定義與式(3)的定義類似,不同之處是將b取值為1。

    步驟6 STTS像素填充:STTS函數(shù)是一種紋理合成算法,但是不同于傳統(tǒng)的紋理合成只適用于空間域。而STTS則適用于空間框架和時間框架。雖然這將增加復(fù)雜性,但性能也得到了提高??臻g紋理合成是在傳統(tǒng)圖像處理中從小數(shù)字樣本圖像重建大數(shù)字圖像的有效方法之一。因此,該方案使用STTS算法實現(xiàn)像素填充。

    在塊填充函數(shù)之后,大多數(shù)塊已經(jīng)被恢復(fù),只有幾個塊需要用像素填充來重建。STTS函數(shù)采用8鄰域作為在解碼器中的搜索范圍。需要在每個當前像素的4個方向使用模板塊,找到當前像素的最佳匹配;模板分別位于上、下、左和右平面上。然后,在搜索范圍內(nèi)找到模板塊的最佳匹配。最后,如果選定候選像素,則粘貼候選像素對其進行恢復(fù),如圖5所示。

    圖5 STTS左側(cè)模板

    步驟7 PxI插值重建:PxI功能塊利用像素插值重建當前幀中的像素。PxI模塊可以使用任何隸屬插值算法和采用4-領(lǐng)域像素的平均值來完成像素恢復(fù)。

    步驟8 跳塊記錄表:跳塊記錄表功能,是基于編碼器的信息表進行構(gòu)建。此表能夠支持最好的解碼信息。

    3 實驗分析

    3.1 實驗設(shè)置

    本實驗中選取峰值信噪比(PSNR)性能和計算復(fù)雜度作為評價指標,對比算法選取H.264/AVC、H.265/HEVC、DISCOVER以及本文算法進行對比。PSNR指標的計算形式為

    (13)

    式中:MSE是均方誤差指標,表示處理圖像和原圖之間的差異。

    實驗對象選取GOP視頻編碼測試集,其長度設(shè)置為8,幀的總數(shù)是150,其包含4種通用的視頻測試序列:“大廳監(jiān)控”“工廠監(jiān)控”“足球視頻”和“交通監(jiān)控”。其中“大廳監(jiān)控”“工廠監(jiān)控”“交通監(jiān)控”“足球視頻”分別為低、中低、中高、高活躍視頻序列。

    實驗硬件設(shè)置:CPU是AMD 7850K 3.2 GHz,內(nèi)存大小是8 GB,系統(tǒng)為Win7旗艦版,采用文獻[13]所設(shè)計的C++模擬工具軟件進行驗證,其采用一種圖形化的方式進行視頻編碼過程實現(xiàn),并對算法的有效性進行驗證,如圖6所示。

    圖6 模擬器操作界面

    為驗證所提視頻編碼算法性能,實驗設(shè)置:假定模型中含有n=200局部視頻模塊。此服務(wù)器扮演索引和邊緣服務(wù)器的功能,其包含c=1500標準清晰度的視頻素材,視頻的播放速率是r=2Mbps, 可將其分成m=10幀。視頻機頂盒的數(shù)據(jù)存儲容量是s=100, 該容量等于10個視頻大小,其中每個視頻大小是300 kbps。

    3.2 PSNR性能對比

    對于GOP8測試對象,H.264/AVC、H.265/HEVC、DISCOVER以及本文算法的PSNR性能對比結(jié)果如圖7(a)~圖7(d)所示。

    圖7 GOP8測試對象上PSNR性能對比

    根據(jù)圖7所示結(jié)果可知,在PSNR性能指標上,本文算法的PSNR性能指標值相對于H.264/AVC、H.265/HEVC、DISCOVER這3種算法更低。這表明本文算法的視頻處理效果能夠更加有效的還原圖像,其還原后的圖像能夠更加接近于原始視頻圖像。同時,對比H.264/AVC、H.265/HEVC、DISCOVER這3種算法,DISCOVER算法要優(yōu)于H.264/AVC、H.265/HEVC兩種編碼算法的PSNR性能指標,H.264/AVC的PSNR性能指標最差。這表明本文算法相對于選取的對比算法在編碼、解碼過程中還原原始視頻的能力更強。

    3.3 計算效率對比

    對于GOP8測試對象,H.264/AVC、H.265/HEVC、DISCOVER以及本文算法的計算效率對比結(jié)果見表1,計算時間分為編碼時間、解碼時間和總時間。

    根據(jù)表1結(jié)果可知,在計算效率上,本文的計算用時是最少的,例如在足球視頻處理上,本文算法的編碼時間是12.1 s,解碼時間是11.9 s,總用時是23.3 s,這要低于H.264/AVC、H.265/HEVC、DISCOVER這3種算法在視頻處理上的計算時間。類似的,在“大廳監(jiān)控”“工廠監(jiān)控”“交通監(jiān)控”3種視頻場景下,本文算法計算效率也要高于選取的H.264/AVC、H.265/HEVC、DISCOVER這3種算法,這表明所提算法具有更高的計算效率。而選取的H.264/AVC、H.265/HEVC、DISCOVER這3種算法中,DISCOVER算法的計算效率要高于H.264/AVC、H.265/HEVC兩種算法,H.264/AVC算法的效果最差。

    表1 計算效率對比/s

    4 結(jié)束語

    為提高視頻編碼算法性能,提出一種基于局部邊界匹配的分布式視頻均衡編碼算法。主要思路是采用局部邊界匹配算法(PBMA)和4種靈活形式的模式?jīng)Q策算法,有效解決了在編碼器中的運動估計和模式?jīng)Q策的高計算復(fù)雜度,實現(xiàn)了編碼器計算復(fù)雜度向解碼器的均衡轉(zhuǎn)移,降低了總體計算復(fù)雜度。上述實驗過程通過Matlab仿真模擬進行了驗證,為更進一步驗證算法的性能,在今后的工作中考慮采用硬件對算法進行具體實現(xiàn),使得實驗結(jié)果更加接近于實際應(yīng)用,提高對應(yīng)用的指導(dǎo)意義。

    猜你喜歡
    解碼器編碼器復(fù)雜度
    科學解碼器(一)
    科學解碼器(二)
    科學解碼器(三)
    線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
    一種低復(fù)雜度的慣性/GNSS矢量深組合方法
    基于FPGA的同步機軸角編碼器
    求圖上廣探樹的時間復(fù)雜度
    基于PRBS檢測的8B/IOB編碼器設(shè)計
    某雷達導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進
    JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
    電子器件(2015年5期)2015-12-29 08:42:24
    连州市| 邹平县| 伊金霍洛旗| 于都县| 项城市| 双城市| 永胜县| 夏邑县| 类乌齐县| 饶河县| 怀集县| 娄烦县| 大余县| 咸丰县| 兴海县| 从江县| 临夏县| 博乐市| 霸州市| 浙江省| 山阴县| 七台河市| 邹平县| 万载县| 潞城市| 赤城县| 常山县| 崇明县| 灌南县| 孝义市| 黄骅市| 浮山县| 松溪县| 大洼县| 无极县| 柯坪县| 镇远县| 麻栗坡县| 武穴市| 徐汇区| 错那县|