在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于DE2開發板和NiosII處理器實現H.264編碼器的設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:楊超,張玲,何偉 ? 2021-03-16 14:12 ? 次閱讀

引言

H.264標準作為新一代視頻編碼標準,是面向多比特率的視頻編碼標準,也稱JVT/AVC標準,既可用于高碼率的HDTV和數字存儲系統,也可用于低碼率的實時通信系統。在相同的圖像質量情況下,H.264比H.263和MPEG一4可以節省20%~50%的碼率。就其基本檔次而言,編碼器的復雜度是 H.263的10倍左右。H.264良好的網絡親和性和優異的壓縮性能使其成為視頻應用的首選,但其巨大的運算量成為許多應用的瓶頸。基于 NiosII設計了一種低碼率實時應用的編碼系統。該系統充分利用FPGA的并行設計結構,對視頻數據采用高壓縮比的H.264標準編碼,能很好地滿足低碼率實時編碼的要求。

1 H.264編碼系統結構設計

根據H.264/AVC編碼器原理及結構,同時考慮到現有硬件資源的限制以及該設計的應用需求,設計了圖1所示的H.264/AVC編碼系統結構。

基于DE2開發板和NiosII處理器實現H.264編碼器的設計

攝像頭攝入的視頻圖像首先經過視頻采集模塊處理,并將當前幀的圖像數據存入SRAM。然后,以宏塊MB(macroblock)為單元,從SRAM中讀取原始圖像,并根據MB所在圖像幀內的位置,讀取重建幀中的參考像素進行幀內預測,并將預測宏塊與當前宏塊像素做差即可得到預測殘差。接下來,對殘差圖像進行整數DCT變換或Had—amard變換,并對變換輸出進行量化。量化輸出的殘差圖像一方面通過反變換和反量化處理生成重建圖像供幀內預測作為參考,另一方面經過重排序、熵編碼處理得到最終的圖像壓縮碼流輸出。

根據H.264/AVC標準,將所設計的整個編碼系統從結構上劃分為圖像采集、幀內預測、變換量化、熵編碼等幾個主要部分。各個模塊之間通過流水線的方式進行處理,可以有效地提高硬件的執行效率。

2 基于Cyclone II FPGA的H.264編碼器的實現

系統采用SOPC的設計方式,主要由視頻采集模塊、NiosII處理器系統組成。采用Altera公司的DE2開發板為開發平臺,將視頻采集、 NiosII處理器集成到一個SOPC系統中。其中NiosII處理器系統要承擔圖像采集控制、圖像的H.264壓縮編碼工作。為了保證實時性,在充分分析H.264軟件算法運行時間后,采用自定義模塊對H.264編碼器關鍵算法進行硬件加速。

2.1 視頻采集模塊

視頻采集是視頻圖像處理、傳輸的前提,采集到的數字視頻圖像好壞將直接影響到視頻處理的結果。圖2給出了圖像處理系統的視頻采集結構。

ADI公司的多制式視頻解碼芯片ADV7181B對采集的視頻圖像進行模數轉換。ADV7181B可以自動檢測諸如NTSC、PAL和SEC0M制式的基帶視頻信號,并將其轉換為基于4:2:2取樣的16/8位兼容的CCIR601/CCIR656格式的數字視頻信號;具有6路模擬視頻輸入端口,且采用單一的27 MHz晶振時鐘輸入;用戶可以通過兩線的I2C接口對ADV7181B的工作模式進行配置。

系統上電時,首先使用I2C模塊對ADV7181B的內部寄存器進行配置。由于攝像頭輸出的是PAL制式的模擬視頻信號,因此需要相應地將 ADV7181B配置為PAL制式的模擬視頻信號輸入,并將其轉換為CCIR656格式的數字視頻信號。ADV7181B將轉換得到的實時數字視頻圖像的亮度信號、色度信號(TD_DAT)以及行、場同步信號(TD_HS/VS)同時輸入到FPGA芯片中,通過圖像采集模塊提取需要的數字圖像信息,并將其轉存至AlteraDE2開發板提供的具有512 KB存儲容量的SRAM中,用于緩存待處理圖像幀。

下面介紹圖像采集模塊的設計與實現方法。

根據上面對視頻采集部分硬件結構的分析,設計了圖3所示的視頻采集模塊結構框圖。可以看出,圖像采集模塊主要包含圖像提取、色度取樣率變換、 Y/Cb/Cr圖像分量分離以及圖像緩存SRAM讀寫控制等單元。

其中圖像提取子模塊在H.264/AVC編碼模塊的視頻采集控制信息的控制下,從ADV7181B轉換輸出的PAL制數字視頻圖像中提取需要的圖像數據。攝像頭采集的實際圖像大小為768×576像素的隔行掃描視頻輸入信號,其中基數場和偶數場在時間上先后輸入。由于系統處理的圖像大小為320×240像素,因此需要對輸入的數字視頻進行截取,以滿足系統的處理要求。

考慮到在一幀圖像中的頂場與底場數據差異不大,因此在對圖像進行截取時,僅對底場中間240行的連續320個相鄰像素點進行提取,以輸出320×240像素的視頻圖像數據。其具體提取流程如圖4所示。

H.264/AVC支持對色度取樣為4:2:O格式的逐行或隔行掃描數字圖像進行處理,因此需要對提取的數字圖像進行色度取樣率變換。通過對相鄰奇數行和偶數行的色度圖像分量進行簡單的平均,可實現由4:4:4向4:2:O的色度取樣率變換,如圖5所示。

經過取樣率變換后的圖像數據需要根據Y/Cb/Cr圖像類型在SRAM中分片區緩存,以方便后續的H_264的編碼處理。圖6給出了實際圖像的色度分量在取樣率變換前后的效果。

2.2 H.264編碼器核心模塊

綜合現有的硬件資源、實時性與實現難度等因素,設計中僅采用了幀內預測方式,編碼器包括幀內預測模塊、變換量化模塊和CAVLC熵編碼模塊。處理時以宏塊 (16×16)為單位,亮度和色度塊分別進行幀內預測、變換量化和反變換反量化,然后進行CAVLC熵編碼,圖像的亮色比為Y:U:V=4:2:O。

H.264編碼器設計前期先用VC++在PC機上實現,后期移植到FPGA上用自定義硬件模塊實現,二者所需時間如表1所列。可以看出,用硬件實現 H.264壓縮編碼一幀圖像只需約16 ms,較PC機實現有很大提高,而且硬件模塊占用的資源不到50%,性價比較高。

由于自定義幀內預測硬件模塊較軟件實現對系統性能提高較大,這里重點分析幀內預測模塊硬件結構設計。

根據H.264幀內預測算法,幀內預測模塊是在非率失真優化模式下設計的。它通過接口模塊從SDRAM中讀入一個MB(16×16)的亮度和色度圖像數據,在亮度和色度預測模塊中對當前MB進行預測和預測模式選擇,輸出預測殘差及最佳預測模式;同時將預測結果與經過反DCT變換和反量化之后的殘差值相加,經重構模塊補償重構后寫回SDRAM。主要結構如圖7所示,整個模塊分為4個子模塊:接口模塊、亮度預測、色度預測和圖像重構模塊。

接口模塊中設計了4個RAM,用于存放讀入的原始圖像和用于預測的參考圖像數據:RAM0存放亮度預測像素,深度32,地址0~15存放上側預測參考像素,地址16~31存放左側預測參考像素;RAMl存放當前宏塊亮度原始值,深度為256;RAM2存放色度預測參考像素,深度32,地址0~7存放上側 Cb預測參考像素,地址8~15存放左側Cb預測參考像素,地址16~23存放上側cr預測參考像素,地址24~31存放左側Cr預測參考像素;RAM3 存放當前宏塊色度原始值,深度為128。

亮度預測模塊的內部結構如圖8所示。

①模式選擇模塊根據當前宏塊的預測參考像素可用信息(avail)指定當前宏塊按一定順序做預測,如avail=“11”表示上側和左側預測參考像素均可用,則對當前宏塊順序做DC、HOR、VERT、PLANE四種方式預測。在殘差處理模塊中,采用了2個RAM順序保存各種預測模式的預測殘差,所以在模式選擇模塊里會比較當前預測模式的代價函數和前一種預測模式代價函數的大小。如果當前預測模式的代價函數較小,則說明當前預測模式較優,在做下一種模式預測時將預測殘差指定保存在上次較差預測模式的殘差RAM中。當前宏塊的可用預測模式都預測結束后,模式選擇模塊根據每一種模式預測代價函數決定出最優預測模式,并指出該預測模式對應殘差處理模塊中存放的RAM,將相應的殘差輸入到整數變換模塊。

②預測模塊包含了DC、HOR、VERT、PLANE四種預測模式的實現實體,根據模式選擇模塊決定的預測模式從接口模塊讀取預測參考像素和原始像素值,預測后殘差輸出到殘差處理模塊,預測值輸出到補償重構模塊保存。

③殘差處理模塊采用2個存放殘差的RAM,每個宏塊可先并行做2種預測,殘差分別保存到2個RAM中,選擇其中較佳預測模式,再做下一種預測模式與前面所選較佳預測模式比較,直到完成所有預測模式選擇出最佳預測模式。

④預測代價模塊是計算每一種預測模式的預測代價,以4×4塊為單位作hadamard變換,將變換后每個4×4塊DC系數再做一次hadamard變換,將所有變換結果進行絕對值累加就是對應的預測代價。

色度預測模塊結構基本和亮度預測相同,只是由于色度有Cb、Cr兩個分量,殘差在RAM中的存放方式略有差別;同一個宏塊的色度預測和亮度預測是并行執行的,由于要處理的色度數據比亮度少一半,筆者在后面的整數變換中采用先處理色度,再處理亮度的方法,使得流水更加緊湊,減少等待時間,提高整個模塊的運行速度。

3 結論

筆者設計的基于NiosII的低碼率實時H.264視頻編碼系統,在系統時鐘頻率100 MHz時,壓縮一幀320×240的彩色圖像需16.283 ms,在量化參數選擇30時,圖像壓縮比達到2%,實時監控圖像幀率25幀/s。系統具有資源占用較少,低成本,低碼率,高清視頻質量的特點,具有較好的發展前景。

圖9為集成開發環境下綜合仿真后系統的資源占用情況。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19286

    瀏覽量

    229852
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603419
  • 編碼器
    +關注

    關注

    45

    文章

    3643

    瀏覽量

    134524
收藏 人收藏

    評論

    相關推薦

    采用FPGA和NiosII實現實時H264視頻編碼器

    H.263和MPEG一4可以節省20%~50%的碼率。就其基本檔次而言,編碼器的復雜度是H.263的10倍左右。H.264良好的網絡親和性和優異的壓縮性能使其成為視頻應用的首選,但其巨
    發表于 07-29 06:52

    怎么設計基于DSP的H.264編碼器電路?

    H.264標準的編解碼運算速度要求。因此,在穩定的媒體處理器平臺上實現H.264標準有著較好的工程意義和應用前景。
    發表于 09-04 06:19

    如何去實現并優化一種H.264視頻編碼器

    什么是H.264視頻編碼技術?如何去實現并優化一種H.264視頻編碼器
    發表于 06-03 07:00

    怎樣去設計一種低碼率實時H.264視頻編碼器

    一種基于NiosII的低碼率實時H.264視頻編碼器設計
    發表于 06-07 07:06

    h.264編碼器下載

    Changes for Version JM7.3 to JM 7.2h.264編碼器源代碼,帶有H.264編碼器流程圖。Bug fixes- encoder: DPB for fie
    發表于 06-25 11:46 ?164次下載

    基于TMS320DM642平臺的H.264編碼器優化

    H.264 實時編碼器的研究和實現是目前視頻通信研究領域的一個熱點問題,本文介紹了基于TMS320DM642 平臺的H.264 編碼器的優化
    發表于 12-18 12:13 ?19次下載

    基于ADSP-BF561的H.264視頻編碼器實現

    基于ADSP-BF561的H.264視頻編碼器實現 H.264/AVC是ITU-T VCEG和ISO/IECMPEG聯合制定的最新視頻
    發表于 12-26 14:43 ?773次閱讀

    基于TMS320DM6446的H.264編碼器實現與優化

    基于TMS320DM6446的H.264編碼器實現與優化 1 引言   H.264是ITU-T的視頻編碼專家組(VCEG)和ISO/I
    發表于 02-10 09:20 ?1449次閱讀
    基于TMS320DM6446的<b class='flag-5'>H.264</b><b class='flag-5'>編碼器</b><b class='flag-5'>實現</b>與優化

    Jointwave發布的H.264編碼器實現1080p

    Jointwave發布的H.264編碼器實現1080p Jointwave發布的H.264編碼器技術提供了單芯片HD和超低功耗廣播級視頻
    發表于 01-04 08:41 ?1202次閱讀

    H.264視頻編碼器在DSP上的實現與優化

    摘要:在DM642 EVM平臺上實現H.264視頻編碼器,并從內存分配、Cache優化、代碼優化以及匯編程序級優化等幾個方面對編碼
    發表于 01-10 14:12 ?3372次閱讀
    <b class='flag-5'>H.264</b>視頻<b class='flag-5'>編碼器</b>在DSP上的<b class='flag-5'>實現</b>與優化

    基于嵌入式平臺的H264視頻編碼器實現

    介紹了基于嵌入式平臺PXA255的h.264視頻編碼器實現。在描述了視頻編碼器的硬件結構設計及視頻采集軟件的實現的基礎上,詳細介紹了
    發表于 09-02 16:41 ?87次下載
    基于嵌入式平臺的<b class='flag-5'>H264</b>視頻<b class='flag-5'>編碼器</b>的<b class='flag-5'>實現</b>

    基于TMS320DM3730的H.264編碼器移植與優化方法

    提出了一種在TI公司高性能數字信號處理器TMS320DM3730上進行H.264編碼器(即x264編碼器)移植與優化的方法,詳細描述了在CC
    發表于 01-08 18:27 ?69次下載

    基于PowerPC的H.264編碼器中斷處理程序解析

    基于PowerPC的H.264編碼器中斷處理程序解析
    發表于 01-04 15:26 ?6次下載

    針對DSP、ASIC與FPGA三種產品平臺的H.264編碼器方案

    目前的視頻監控行業,基于DSP的H.264編碼器解決方案占有絕對優勢的市場份額,這是由DSP方案開發周期相對較短的特性決定的。在ASIC或FPGA方案仍處于研發階段時,DSP方案已捷足先登,并較好地解決了視頻監控行業中
    的頭像 發表于 10-29 08:21 ?1.3w次閱讀

    基于NiosII的低碼率實時H.264視頻編碼器

    系統。在相同的圖像質量情況下,H.264H.263和MPEG一4可以節省20%~50%的碼率。就其基本檔次而言,編碼器的復雜度是 H.263的10倍左右。
    發表于 02-27 07:04 ?495次閱讀
    基于<b class='flag-5'>NiosII</b>的低碼率實時<b class='flag-5'>H.264</b>視頻<b class='flag-5'>編碼器</b>
    主站蜘蛛池模板: 国产视频h| 亚洲一区二区视频在线观看| 欧美日韩一区二区三区毛片| 天天做天天摸| 成人午夜免费视频| 亚洲欧美在线播放| 色福利网站| 2014天堂| 亚洲第一永久在线观看| caopon在线| 射在老师的里面真爽| 亚洲天堂资源网| 国产在线色| 国产夜夜操| 亚洲综合色婷婷| 国模大胆一区二区三区| 国产精品免费久久| 亚洲春色在线| 亚洲国产精品嫩草影院| 国产精品久久久久久久久| 午夜影院免费视频| 高清成年美女黄网站色大| 亚洲卡5卡6卡7国色天香| 天天操伊人| 国产毛片毛片精品天天看| 种子在线搜索bt| 日韩a免费| 国产一区二区三区美女在线观看| 九色九色九色在线综合888| 22eee在线播放成人免费视频| 亚洲一级毛片免费在线观看| 国产网红精品| 久久久免费观看| 性殴美高清视频| 精品成人在线观看| 色综合色综合色综合色综合| 91大神在线看| 天天视频色版| 午夜高清视频在线观看| 丁香六月激情网| 欧美伦理影院|