999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DSP平臺H.264編碼器的實現與優化

2008-04-12 00:00:00矯田廣劉曉志
現代電子技術 2008年19期

摘 要:相對于以前其他的標準,H.264標準在分層編碼、幀內/幀間預測編碼、多幀參考、預測精度等技術方面做了巨大的改進。因此,在TMS320DM642平臺上實現H.264基檔次編碼器的移植與優化顯得格外實用和必要。基于對DSP平臺的結構特性和H.264的計算復雜度分析,主要從以下3個方面對H.264編碼器進行了優化:核心算法、數據傳輸和存儲器/Cache使用。實驗結果表明,對于CIF格式的視頻序列,最優化后的H.264編碼器能夠達到每秒高于24幀的編碼速度,滿足了視頻處理對于實時性的要求。

關鍵詞:預測精度;H.264編碼器;最優化;TMS320DM642

中圖分類號:TP391文獻標識碼:B文章編號:1004373X(2008)1912605

Implementation and Optimization of H.264 Encoder Based on DSP Platform

ZHANG Shi,JIAO Tianguang,LIU Xiaozhi

(Northeastern University,Shenyang,110004,China)

Abstract:Compared with other previous standards,H.264 standard has great improvement in aspects of hierarchical encoding,intra/inter prediction coding,multi-frame reference and prediction accuracy.It′s practical and necessary that the optimization and implementation of H.264 baseline profile encoder on the platform of TMS320DM642.Based on the architectural features of DSP and the computational complexity analysis of H.264 encoder,the H.264 encoder is optimized from the following three aspects:core algorithms,data transfer and memory/Cache use.The experimental results demonstrate that the optimized H.264 encoder can achieve the encoding speed of more than 24 frames/s for the video sequences with CIF format,which can meet the real-time requirements of the applications.

Keywords:prediction accuracy;H.264 encoder;optimization;TMS320DM642

1 引 言

H.264/AVC是ITU-T和ISO/IEC共同成立的聯合視頻工作組JVT開發的新一代視頻壓縮編碼標準。2002年5月,JVT形成委員會草案,7月形成最終委員會草案,12月形成最終國際標準草案。2003年5月, H.264/AVC標準正式推出,正式名稱為H.264 MPEG-4 part 10 AVC (Advanced Video Coding),以下簡稱為H.264標準[4]

H.264標準的提出是為了滿足日益增長的視頻應用對運動圖像更高的壓縮性能的需要,如視頻會議、電視廣播、流媒體等。H.264極大地降低了發送視頻圖像所需要的帶寬,能使編碼的視頻顯示以靈活的方式應用于多樣化的網絡環境。目前,已經有幾種手段可以實現H.264標準,例如PC,DSP,ASIC,FPGA,在它們當中,通用DSP以其高性能和低功耗的特點成為一種較好的解決方案。

與以前的編碼標準相比,H.264標準主要有以下幾個方面特點:高壓縮編碼效率,高質量視頻圖像,錯誤恢復功能,網絡友好性等。H.264定義了4種檔次:基本檔次,主要檔次,擴展檔次和高端檔次[1]。每一種檔次支持一類特定的編碼工具集。基本檔次支持幀內和幀間編碼,上下文自適應變長編碼。基于視頻傳輸應用方向的考慮,進而實現了H.264基本檔次的標準。

TMS320DM642 DSP是TI 推出的一款最新的適合于多媒體應用的可編程定點 DSP,其結構如圖1所示[2]。它以 TMS320C64x 為核,該器件具有超長指令(Very Long Instruction Word,VLIW)架構、256 kB的SRAM和32 MB的外部存儲器、2 級存儲器/高速緩存層次結構以及 EDMA 引擎等關鍵特性。DM642通過增強的直接存儲器訪問(EDMA)控制器控制內部存儲器,外部存儲器和外圍設備之間數據傳輸。因此,通過EDMA技術的使用使得DSP的速度能夠得到合理的改善。與通用C6000指令相比,DM642格外擴展了88條指令,并能依據不同的條件靈活地選擇最佳指令,以便于芯片能夠獲得更好的性能,并且更易實現圖像處理算法,從而使其成為計算強度較大的視頻/影像應用(如視頻編碼)的最佳選擇之一。

圖1C64x DSP結構

2 H.264編碼器算法復雜度分析

H.264編碼器框架[3]如圖2所示,它依然沿用了先前H.263等標準的混合編碼框架。盡管如此,H.264也采用了一些先進壓縮技術,包括幀內預測,多模式運動估計,整數余弦變換,去塊濾波器和熵編碼,這些技術的應用在很大程度上提高了壓縮效率。

圖2 H.264編碼器框架

在H.264的基本檔次中,當對4幅參考幀操作時,運動估計部分占用了全部計算時間的70%,而基于上下文的可變長編碼和整數變換兩個部分分別約占用了12%。另外需要注意的是,在運動補償時,不是分塊越小越好,分塊的減小會必然會造成搜索算法復雜度的上升,傳輸的運動矢量數目增多,隨之而來的是,傳輸這些矢量帶來的額外比特消耗可能會高于降低殘差圖像能量而帶來的比特數,造成得不償失的情況。因此,運動估計操作是H.264編碼器中最集中,最耗時的部分,理應成為主要的優化對象。

H.264支持7種幀間編碼模式并且每一種模式都有不同的塊大小,這有助于提高壓縮性能。然而,支持7種不同的塊大小在很大程度上也會增加計算復雜度。文中對Forman視頻序列分別用了4種編碼方式進行編碼。前三種方式分別使用了16×16,8×8,4×4的塊大小,最后一種使用了所有的模式。測試結果表明小的幀間宏塊大小對壓縮效率貢獻很小,也就是說,4×4的塊大小對最小化峰值信噪比增益貢獻極小。這一實驗結果是采用多模式運動估計優化來表示的。

3 H.264編碼器優化

從多方面來看,PC和DSP是兩種截然不同的結構。如果H.264編碼器未經優化直接移植到DSP平臺,編碼速度不足以滿足實時處理的要求。因此,依據DSP的結構特點進行適當優化顯得非常必要,實現流程一般分三個階段:第一階段產生和評估C代碼;第二階段優化和評估C代碼;第三階段編寫和評估線性匯編。文中主要從以下3個方面進行了優化:核心算法,數據傳輸,存儲器/Cache的使用。實驗結果表明,對于CIF格式的視頻序列,優化后的H.264編碼器能夠達對實時性的要求。

3.1 算法優化

如上所述,運動估計,整數余弦變換/反整數余弦變換,量化是H.264編碼器中最耗時的部分。因此,這3項是優化的主要對象。

3.1.1 運動估計

視頻序列圖像在時間上存在很強的相關性,采用運動估計和運動補償技術可以消除時間冗余以提高編碼效率。運動估計粗略分為全局運動估計、基于像素點運動估計、基于塊運動估計和基于區域地運動估計。H.264標準采用塊運動估計匹配算法,它包含匹配原則(主要有MAD、MSE和NCCF三類),搜索范圍,搜索方案等。但是搜索算法是影響塊匹配算法性能的主要因素。在整像素的運動估計中,采用了基于菱形搜索算法,如圖3所示。和絕對差值和(SAD)匹配原則,如下式:

SAD(i,j)=∑Mm=0∑Nn=0fk(m,n)-fk-1(m+i,n+j)

圖3 菱形搜索算法

如圖1所示,DM642有8個獨立的功能單元,它們能夠同時運行,同時它也提供了7個特殊指令用來降低絕對差值和的耗時。它還有3個可配置的雙通道視頻端口,最多可處理6路視頻采集數據; 具有64個獨立通道的EDMA(擴展的直接存儲器訪問)控制器,負責片內L2與其他外設之間的數據傳輸。LDNDW/LDNW,SUBABS4和DOTPU4三條特殊指令非常有助于代碼的運行并行度,同時使得絕對差值和函數運行的更加高效。

為了提高編碼器的速度,采用快速算法預測最可能的模式,通過計算絕對差值和,最終確定最佳模式。如前所述,小塊模式對編碼性能貢獻微弱,因此,把快速算法幀間模式分為3種類型,分別為大塊模式、小塊模式和幀內模式,它們的選擇是依據預設閾值。在大、小模式中,使用相鄰宏塊相關性對編碼模式進行預測會減少計算復雜度。基于DSP的結構特點,采用如圖4所示的快速算法[5]

圖4 P幀預測模式

為了保證編碼效率盡可能的不被影響,在整數像素運動補償部分僅僅使用了快速算法,并且使用了線性匯編語言作為子像素運動估計的編碼,這些匯編指令充分地發揮了DSP的性能優勢。

3.1.2 ICT/反ICT和量化

原始的ICT/IICT和量化算法不能夠充分發揮DSP的并行優勢,以至于8個功能單元在編碼的過程中都處于閑置狀態,存儲器中的數據被頻繁重復的訪問也導致了DSP運行效率的降低。為了提高H.264編碼器的運行速度,原始的編碼速度理應得到提高。在圖5所示中,提出對于ICT/IICT和量化部分的算法圖例,一個宏塊中所有基于4×4塊的ICT/IICT變換都能夠同時執行,這充分利用了DSP的8個功能單元。此外,量化/反量化和Z掃描在一個模塊中被組合在一起,也能夠有效的降低存儲器的訪問次數。實驗結果表明,經量化后,計算一個ICT/IICT的4×4塊僅僅需要14個平均周期。這一優化不但提高了算法的速度又顯著地降低了碼流大小。

圖5 ICT/反ICT和量化流程圖

3.2 數據傳輸

在編碼過程中,CPU需要頻繁地處理大量待傳輸的數據。增強直接存儲器訪問(EDMA)技術是一種高效的數據傳輸手段,它能夠在沒有CPU干預的情況下獨立地完成與外設之間的數據傳輸。與DMA控制器相比,EDMA提供了16個增強通道,可以在可設置優先級的情況下實現數據傳輸的連接。同時,EDMA和CPU能夠同時運行,這在很大程度上提升了DSP的處理速度。圖6給出了EDMA的數據傳輸方案[5]

圖6 EDMA數據傳輸方案

所有的數據都可以由EDMA來傳輸,包括宏塊數據,參考幀,重建宏塊和輸出比特流。數據傳輸的過程中用到了乒乓緩存模式,例如,當CPU正在處理A緩存中的數據時,B緩存中的數據可以傳輸。進而,CPU不在訪問外部存儲器,僅僅訪問內部存儲器。這一方案有效地解決了CPU訪問外部存儲器時的延時問題。

3.3 存儲器和Cache使用

Cache是一種存在于存儲器和CPU之間的高速小型化的存儲器設備,它能從存儲器有效地讀取程序和數據。為了滿足視頻編碼器實時編碼的要求,我們必須最大限度地提高代碼的性能,除了進行相應的優化外,還可以通過減少由于數據和代碼的讀取導致的延時,最大效率地提高Cache的性能,從而提高編碼器性能。

DM642有一個兩級(Level 2)高性能Cache結構,一級程序Cache和一級數據Cache,它們都有16 kB的獨立存儲器,并且均可以被存入兩級Cache中。兩級Cache可以被設置為Cache,SRAM或者Cache,SRAM的一部分。因為一些SRAM通常用于存儲數據(例如宏塊,參考幀,全局數組),所以可以將Cache設為64 kB。CPU與Cache之間的數據讀取過程如圖7所示。

圖7 CPU讀取數據過程

基于EDMA的數據傳輸使得CPU可以單一訪問內部存儲器,并有效地減少訪問外部存儲器的延遲。以前的視頻編碼器單獨地處理每一個宏塊,編碼量比兩級Cache的64 kB還要大,在整個編碼的進程中,需要在外部存儲器和兩級Cache之間頻繁地傳送數據,這極有可能使得大量Cache數據丟失,降低DSP的執行效率。

為了充分發揮兩級 Cache的性能優勢,出于從處理數據長度、數組和代碼的重新組織等方面的考慮,進而修改了H.264編碼器的框架。修訂后的框架如圖8所示,它包含3個回路,即編碼回路、基于上下文的變長編碼( CAVLC )回路、去塊回路。在單一的回路中,幾個宏塊可以分別單獨處理。在一個宏塊的條帶被編碼之后,編碼器將傳輸下一個回路模塊。修訂的新框架有效減少兩級Cache的損耗,并在很大程度上提高了CPU訪問外部存儲器的速度。

圖8 修訂框架

4 實驗結果

在600 MHz的TMS320DM642平臺上,對CIF格式的5個視頻序列(Akiyo,News,Foreman,Football,Mobile)進行了相關實驗。在這5個視頻序列中,Akiyo和News序列有較低的運動級別,背景變化畫面人物運動幅度不大,而Foreman和Football有高的運動級別,運動劇烈有場景切換,最后一種Mobile序列則有復雜的背景。每一種序列均以IPPP…模式進行編碼,30幀組成一個圖像組(GOP)。表1 列出了在量化步長(QP)為25的情況下,原始H.264編碼器和優化后的H.264編碼器之間的對比結果。從中可以看出,原始的編碼器的編碼速度是2~3 f/s,而優化后的編碼速度是前者的10倍多。表2示出了編碼性能方面的比較結果。

表1 試驗結果(QP=25)

AkiyoNewsForemanFootballMobile

優化前幀率 /f/s3.783.582.862.693.11

峰值信噪比 /dB42.1141.2839.2340.2235.88

比特率 /kb/s198.6415.6939.51 548.33 055.6

優化后幀率 /f/s54.2248.5333.3626.8828.65

峰值信噪比 /dB42.7941.7239.6841.7136.06

比特率 /kb/s249.6499.91187.31 901.33 242.5

表2 編碼性能的比較結果

AkiyoNewsForemanFootballMobile

ΔPSNR /dB-0.68-0.54-0.45-1.49-0.18

圖9是峰值信噪比(PSNR)的比較結果。從圖中分析得知,優化后的H.264編碼器在性能方面會有某種程度的下降。

圖9 PSNR對比結果

對于Football序列,峰值信噪比平均下降了1.49 dB,Mobile序列是0.18 dB。這是因為在Football序列存在劇烈的運動,運動估計主要用于減少復雜度從而導致了運動估計精確度下降。然而,優化后的H.264編碼器的編碼速度可以達到24 f/s,滿足了視頻處理中對于實時性的要求。

文中的所有優化手段都起到了優化的作用,當然,在整個優化過程中核心算法優化是最重要的部分,它直接決定了編碼器的編碼性能。這一部分主要從以下3個方面考慮:一是通過調整整體代碼的流程和使用快速算法以及通過對CCS提供的不同編譯選項設置來實現的; 二是基于C代碼的整體優化方案,包括使用volatile,restrict關鍵字、定義函數為內聯、減少函數的調用等; 三是對那些反復調用的,對程序性能影響很大的函數用匯編語言來改寫。另外,基于EDMA的數據傳輸優化是非常有效的,它有效地降低了訪問外部存儲器的時間。

5 結 語

基于DM642的結構特性和H.264編碼器的編碼構架,主要從3個方面進行了優化:核心算法,數據傳輸和存儲器/Cache的使用。實驗結果表明經優化后的H.264編碼器能夠達到24 f/s的編碼速率,滿足了視頻處理對于實時性的要求。

參考文獻

[1]ISO/IEC 14496-10.Information Technology-Coding of Audio-Visual Objects-Part 10:Advanced Video Coding [S].Hong Kong:ISO/IEC JTC 1/SC 29,2005.

[2]江思敏,劉暢.TMS320C6000 DSP應用開發教程[M].北京:機械工業出版社,2005.

[3]Iain E G Richardson.H.264和MPEG-4視頻壓縮新一代多媒體的視頻編碼技術[M].歐陽合,韓軍,譯.湖南:國防科技大學出版社,2004.

[4]侯艷艷.基于DM642的H.264編碼器的優化與設計[D].山東:山東大學,2007.

[5]David Dagan,Wang Qiang.Optimization and Implementation of H.264 Encoder on DSP Platform[J].ICME,2007,36(12):232-235.

作者簡介

張 石 1963年出生,遼寧沈陽人,教授,現任東北大學電子信息工程研究所所長,遼寧省高等學校電工學研究會理事長。多年來,承擔多項科研課題,科研項目涉及PLC應用、嵌入式技術的應用、管理信息系統等。

矯田廣 1983年出生,遼寧大連人,碩士研究生,現就讀于遼寧省沈陽市東北大學電子工程研究所,信號與信息處理專業。主要研究方向為嵌入式系統及多媒體信息處理,研究課題為基于TMS320DM642平臺的H.264編碼器實現與優化。

劉曉志 1968年出生,遼寧沈陽人,副教授。主要學術方向為復雜系統魯棒分散控制、組合時滯系統分散控制等。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 一本色道久久88| 久久久久久久久久国产精品| 色婷婷在线播放| 在线国产资源| 日韩一区二区三免费高清 | 99视频有精品视频免费观看| 无码AV日韩一二三区| 国产精品一区在线麻豆| 青青草原国产av福利网站| 日本免费福利视频| 国产成人艳妇AA视频在线| 国产在线一区视频| 啊嗯不日本网站| 三上悠亚在线精品二区| 无码AV高清毛片中国一级毛片| 日韩成人高清无码| 丰满的少妇人妻无码区| 高清无码一本到东京热| 久久久噜噜噜久久中文字幕色伊伊| 91啦中文字幕| 国产精品一区二区无码免费看片| 亚洲性视频网站| 99热国产在线精品99| 91在线国内在线播放老师| 伊在人亚洲香蕉精品播放| 精品国产免费第一区二区三区日韩| 亚洲性视频网站| 91精品国产一区自在线拍| 成人午夜免费观看| 亚洲国产欧美国产综合久久 | 成人日韩视频| 精品亚洲国产成人AV| 无码AV动漫| 免费观看国产小粉嫩喷水| 亚洲色图狠狠干| www中文字幕在线观看| 国产精品美女在线| 国产精品xxx| 欧美久久网| 2022国产91精品久久久久久| 东京热高清无码精品| 国产福利一区视频| 国产亚洲精品精品精品| 国产成人a毛片在线| 亚洲综合狠狠| 在线亚洲精品自拍| AV不卡无码免费一区二区三区| 国产黑丝视频在线观看| 亚洲天堂网2014| 久久一级电影| 好吊色国产欧美日韩免费观看| 免费Aⅴ片在线观看蜜芽Tⅴ| 成人免费午间影院在线观看| 欧美高清三区| 亚洲aⅴ天堂| 女同国产精品一区二区| 久久综合色视频| 老司国产精品视频91| 亚洲高清日韩heyzo| 99re精彩视频| 好紧好深好大乳无码中文字幕| 国产精品永久在线| 精品国产91爱| 日韩亚洲高清一区二区| 亚洲一区二区约美女探花| 日韩精品专区免费无码aⅴ| 天堂成人在线| 精品91视频| 影音先锋丝袜制服| 精品在线免费播放| 日韩欧美视频第一区在线观看| 九色视频在线免费观看| 国产成人精品第一区二区| 久久精品无码一区二区国产区| 欧美成人一区午夜福利在线| 伊人无码视屏| 激情综合图区| 丁香综合在线| 麻豆AV网站免费进入| 久久精品电影| 2020国产精品视频| 免费国产小视频在线观看|