<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 用數字信號處理器優(yōu)化視頻編碼器

用數字信號處理器優(yōu)化視頻編碼器

作者: 時(shí)間:2009-01-06 來(lái)源:網(wǎng)絡(luò ) 收藏
比標準的各種特性為技術(shù)人員提供了廣闊的空間,在復雜性、延遲以及其他約束實(shí)時(shí)性能的因素之間獲得最佳平衡。

編碼進(jìn)行能夠在盡可能降低容量的同時(shí)保持可接受的視頻質(zhì)量。但是,為便于傳輸和存儲而降低大小的視頻可能會(huì )犧牲一些圖像質(zhì)量。此外,視頻壓縮還要求處理器具備較高性能,并且在設計中要支持豐富的功能,因為不同類(lèi)型的視頻應用在分辨率、帶寬以及靈活性方面都有著(zhù)不同的要求。具有更高靈活性的(DSP)不僅能夠充分滿(mǎn)足上述需求,而且還可充分發(fā)揮高級視頻壓縮標準提供的豐富選項來(lái)幫助系統開(kāi)發(fā)人員實(shí)現產(chǎn)品。

本文引用地址:http://dyxdggzs.com/article/167091.htm

視頻編解碼()算法的固有結構和復雜性促使我們必須采用方案。非常重要,因為它們不但必須滿(mǎn)足應用要求,而且也是視頻應用進(jìn)行大量處理任務(wù)的主要部分。雖然是基于信息理論之上的,但在實(shí)施過(guò)程中仍需要在不同因素間權衡取舍,因此會(huì )非常復雜。應當具有高度的可配置性,并能針對各種視頻應用提供簡(jiǎn)單易用的系統接口且實(shí)現性能最佳化,從而使開(kāi)發(fā)人員受益匪淺。

視頻壓縮的特性

原始視頻的傳輸或存儲需要占用大量空間。像H.264/MPEG-4 AVC等高級視頻能實(shí)現高達60:1到100:1的壓縮比并確保持續不變的吞吐量,這使我們能夠利用較窄的傳輸通道實(shí)現傳輸,并能減少視頻存儲所占的空間。

與靜態(tài)影像領(lǐng)域的JPEG標準一樣,ITU與MPEG視頻編碼算法也需要結合采用離散轉換編碼(DCT或類(lèi)似技術(shù))、量化和可變長(cháng)度編碼等技術(shù)來(lái)壓縮幀中的宏塊。一旦算法建立了基線(xiàn)編碼內(I幀),只需通過(guò)視覺(jué)內容的差值或它們之間的殘留值進(jìn)行編碼,就可建立眾多的后續預測幀(P幀)。我們可用所謂運動(dòng)補償技術(shù)來(lái)實(shí)現這種幀間差值。該算法首先估算前一參考幀宏塊移入到當前幀的位置,然后再消除冗余并壓縮剩余部分。

圖1給出了一般性運動(dòng)補償視頻編碼器的結構圖。運動(dòng)矢量(MV)數據描述了各塊的移動(dòng)位置,該數據在估算階段創(chuàng )建,這通常是算法中計算強度最大的階段。

圖1:一般性運動(dòng)補償視頻編碼器的結構圖。
圖1:一般性運動(dòng)補償視頻編碼器的結構圖。

圖2顯示了P幀(右)及其參考幀(左)。在P幀下方,剩余部分(黑色部分)顯示了計算出運動(dòng)矢量(藍色部分)后剩余的編碼量。

圖2:顯示計算運動(dòng)矢量后剩余編碼量的P 幀及參考幀。
圖2:顯示計算運動(dòng)矢量后剩余編碼量的P 幀及參考幀。

視頻壓縮標準僅指定位流語(yǔ)法與解碼進(jìn)程,從而使編碼器擁有很大的創(chuàng )新空間。速率控制也是一個(gè)可以創(chuàng )新的領(lǐng)域,使編碼器能分配量化參數,從而以適當的方式確定視頻信號中的噪聲。此外,高級H.264/MPEG-4 AVC標準還可提供宏塊大小、運動(dòng)補償四分之一像素分辨率(quarter-pel resolution)、多參考幀、雙向幀預測(B幀)以及自適應環(huán)內去塊濾波(in-loop deblocking)等多種選擇,從而既提高了靈活性同時(shí)還增強了功能。

多樣化的應用需求

視頻應用要求差異很大。高級壓縮標準的各種特性為技術(shù)人員提供了廣闊的空間,在復雜性、延遲以及其他約束實(shí)時(shí)性能的因素之間獲得最佳平衡。例如,我們可以設想,視頻電話(huà)、視頻會(huì )議以及數碼攝像機(DVR)對視頻就有著(zhù)不同的要求。

視頻電話(huà)與視頻會(huì )議

就視頻電話(huà)與視頻會(huì )議應用而言,傳輸帶寬通常是最重要的問(wèn)題。根據鏈接的不同,帶寬傳輸的范圍可介于每秒數十到數千KB之間。在某些情況下,我們可以確保傳輸速度,但對于互聯(lián)網(wǎng)及眾多企業(yè)內部網(wǎng)而言,傳輸速度會(huì )有很大差異。因此,視頻會(huì )議編碼器通常需要滿(mǎn)足不同類(lèi)型的鏈路,并應實(shí)時(shí)適應不斷變化的可用帶寬。發(fā)送系統收到接收端條件后,應不斷調節編碼輸出,以確保盡可能以最少的視頻中斷提供最佳的視頻質(zhì)量。如果條件較差,則編碼器可以采取降低平均比特率、跳幀或更改圖像組(GoP,即I幀與P幀相混合)等方法來(lái)應對。I幀的壓縮程度低于P幀,因此帶有較少I(mǎi)幀的GoP所需的整體帶寬較低。由于視頻會(huì )議的可視內容通常不會(huì )變化,因此可減少I(mǎi)幀的使用數量,使其低于娛樂(lè )應用的水平。

H.264采用自適應環(huán)路內去塊濾波器處理塊的邊緣,以保持視頻在當前幀與后續幀之間的平滑,從而提高視頻編碼質(zhì)量,這點(diǎn)在低比特率時(shí)尤其有效。此外,關(guān)閉過(guò)濾器也能提高在既定比特率下可視化數據的數量,并可將運動(dòng)估算分辨率從四分之一像素精度提高到二分之一乃至更高。在某些情況下,我們可能需要降低去塊濾波質(zhì)量或降低分辨率,從而減小編碼工作的復雜性。

由于互聯(lián)網(wǎng)的分組提供不能確保質(zhì)量,因此視頻會(huì )議通常能從可提高容錯率的編碼機制中受益。如圖3所示,P幀的連續圖像條(progressive strip)可用做幀內編碼(I圖像條),這樣在初始幀之后就不再需要完整的I幀了,并能減少整個(gè)I幀被丟棄和圖像破損的問(wèn)題。

圖3:P 幀的連續條狀圖像可用做幀內編碼。
圖3:P 幀的連續條狀圖像可用做幀內編碼。

數字錄像

適用于家庭娛樂(lè )的數碼攝像機(DVR)可能是使用范圍最廣的實(shí)時(shí)視頻編碼器應用了。對于這種系統來(lái)說(shuō),如何實(shí)現存儲容量和畫(huà)質(zhì)之間的最佳平衡是一大問(wèn)題。與不能容忍延遲的視頻會(huì )議不同,如果系統緩沖可用的存儲器足夠的話(huà),則視頻錄制的壓縮可以承受一定的實(shí)時(shí)延遲。要滿(mǎn)足實(shí)際要求的設計意味著(zhù)讓輸出緩沖器可以處理數個(gè)幀,這樣才足以保持磁盤(pán)能獲得穩定持續的數據流。不過(guò),在某些情況下,由于可視信息變化非???,導致算法產(chǎn)生大量P幀數據,這時(shí)緩沖器就可能出現阻塞。只要解決了阻塞問(wèn)題,圖像質(zhì)量就能重新提升。

有效進(jìn)行權衡取舍的機制之一就是即時(shí)改變量化參數Qp。量化是壓縮數據算法最后階段的步驟之一。提高量化可減少算法的比特率輸出,但圖像失真會(huì )與Qp的平方成正比增長(cháng)。提高Qp會(huì )降低算法的比特率輸出,但同時(shí)也會(huì )影響畫(huà)質(zhì)。不過(guò),由于這種變化是實(shí)時(shí)發(fā)生的,因此有助于減少跳幀或畫(huà)面破損的現象。如果可視內容更改非???,例如緩沖器擁塞時(shí),那么這時(shí)雖然畫(huà)質(zhì)降低,但卻不會(huì )像內容緩慢變化時(shí)那樣引人注意??梢晝热莘祷剌^低比特率且緩沖器清空后,就能將Qp重設為正常值。

編碼器的靈活性

由于開(kāi)發(fā)人員可在各種視頻應用中使用DSP,因此DSP編碼器在設計時(shí)就應當考慮到要發(fā)揮自身在壓縮標準方面的靈活性?xún)?yōu)勢。例如,基于德州儀器(TI)移動(dòng)應用領(lǐng)域OMAP媒體處理器、TMS320C64x+DSP或達芬奇(DaVinci?)處理器的編碼器就具備高度靈活性。為了最大限度地提高壓縮性能,每個(gè)編碼器都可用于充分利用其平臺的DSP架構,其中包括某些處理器中內置的視頻與圖像協(xié)處理器(VICP)。

所有編碼器均使用一套采用默認參數的基本API,因此無(wú)論使用何種類(lèi)型的系統,系統接口都不會(huì )改變。擴展的API參數可使編碼器滿(mǎn)足特定應用的要求。默認情況下,可將參數預設為高質(zhì)量,此外還提供高速預設設置。程序使用擴展參數可以覆蓋所有預設參數。

擴展參數使應用能滿(mǎn)足H.264或MPEG-4的要求。編碼器可支持若干選項,如YUV 4:2:2與YUV 4:2:0輸入格式、最小四分之一像素分辨率的運動(dòng)補償、各種I幀間隔(從每幀都為I幀到首個(gè)I幀后無(wú)后續I幀)、Qp比特率控制、存取運動(dòng)矢量、去塊濾波器控制、同時(shí)編碼兩個(gè)或更多通道以及I圖像條(strip)等等。編碼器可動(dòng)態(tài)不受限制地確定默認運動(dòng)矢量的搜索范圍,這種技術(shù)相對于固定范圍搜索而言是一個(gè)進(jìn)步。

此外,通常都會(huì )存在最佳操作點(diǎn)(sweet spot),也就是既定輸入分辨率和每秒幀數(fps)情況下最佳的輸出比特率。開(kāi)發(fā)人員應當認識到編碼器的這個(gè)最佳點(diǎn),從而在設計方案中實(shí)現系統傳輸與畫(huà)質(zhì)的最佳設計平衡。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>