Microchip PolarFire® FPGA H.264 編碼器 IP 用戶指南

介紹

H.264 是一種流行的視頻壓縮標準,用於壓縮數字視頻。 它也稱為 MPEG-4 Part10 或高級視頻編碼 (MPEG-4 AVC)。 H.264 使用塊方式來壓縮視頻,其中塊大小定義為 16×16,這樣的塊稱為宏塊。 壓縮標準支持各種專業files 定義了壓縮比和實現的複雜性。 待壓縮的視頻幀按I幀、P幀和B幀處理。 I 幀是幀內編碼幀,其中使用幀內包含的信息進行壓縮。 解碼 I 幀不需要其他幀。 AP 幀通過使用相對於可以是 I 幀或 P 幀的較早幀的更改來壓縮。 B 幀的壓縮是通過使用相對於較早幀和即將到來的幀的運動變化來完成的。

I幀壓縮過程有四個stages——幀內預測、整數變換、量化和熵編碼。 H.264 支持兩種類型的編碼——上下文自適應可變長度編碼 (CAVLC) 和上下文自適應二進制算術編碼 (CABAC)。 當前版本的IP實現了Baseline profile 並使用 CAVLC 進行熵編碼。 此外,IP 僅支持對 I 幀進行編碼。

主要特點

  • 對 YCbCr 420 視頻格式實施壓縮
  • 期望 YCbCr 422 視頻格式的輸入
  • 每個分量(Y、Cb 和 Cr)支持 8 位
  • 符合 ITU-T H.264 Annex B 標準的 NAL 字節流輸出
  • 不需要獨立操作、CPU 或處理器協助
  • 運行時用戶可配置的品質因數 QP
  • 以每時鐘 1 個像素的速率計算
  • 支持分辨率高達 1080p 60 fps 的壓縮。
支持的家庭
  • PolarFire® SoC FPGA
  • PolarFire® FPGA

硬件實現

下圖顯示了 H.264 I 幀編碼器 IP 框圖。
硬件實現
圖 1-1。 H.264 I 幀編碼器 IP 框圖

輸入和輸出

下表列出了 H.264 Frame Encoder IP 的輸入和輸出端口。

表 1-1。 H.264 I Frame Encoder IP的輸入輸出端口

訊號名稱 方向 寬度 港口 有效的 在下面 描述
復位_N 輸入 1 設計的低電平有效異步復位信號。
系統時鐘 輸入 1 輸入像素的輸入時鐘amp引領。
數據_Y_I 輸入 8 8 格式的 422 位 Luma 像素輸入。
數據_C_I 輸入 8 8 格式的 422 位色度像素輸入。
數據有效_I 輸入 1 輸入像素數據有效信號。
FRAME_END_I 輸入 1 幀結束指示。
FRAME_START_I 輸入 1 幀開始指示。 該信號的上升沿被認為是幀開始。
HRES_I 輸入 16 輸入圖像的水平分辨率。 它必須是 16 的倍數。
VRES_I 輸入 16 輸入圖像的垂直分辨率。 它必須是 16 的倍數。
QP_I 輸入 6 H.264 量化的品質因數。 取值範圍為 0 到 51,其中 0 代表最高質量和最低壓縮,51 代表最高壓縮。
數據_O 輸出 8 H.264 編碼數據輸出,包含 NAL 單元、切片頭、SPS、PPS 和宏塊的編碼數據。
數據有效_O 輸出 1 表示編碼數據的信號是有效的。

配置參數

H.264 I 幀編碼器 IP 不使用配置參數。

H.264 I 幀編碼器 IP 的硬件實現

下圖顯示了 H.264 I 幀編碼器 IP 框圖。

硬件實現
圖 1-2。 H.264 I 幀編碼器 IP 框圖

H.264 I 幀編碼器 IP 的設計說明

本節介紹 H.264 I 幀生成器 IP 的不同內部模塊。 輸入到 IP 的數據必須採用 YCbCr 422 格式的光柵掃描圖像的形式。 IP使用422格式作為輸入,以420格式實現壓縮。

16×16矩陣成幀器

該模塊按照 H.16 規範為 Y 分量構建 16×264 宏塊。 行緩衝區用於存儲輸入圖像的 16 條水平線,並使用移位寄存器構成 16×16 矩陣。

8×8矩陣成幀器

該模塊根據 H.8 規範為 8 格式構建用於 C 組件的 264×420 宏塊。 行緩衝器用於存儲輸入圖像的 8 條水平線,並使用移位寄存器構成 8×16 矩陣。 從 8×16 矩陣中,分離出 Cb 和 Cr 分量以構成每個 8×8 矩陣。

4×4矩陣成幀器

整數變換、量化和 CAVLC 編碼對宏塊內的 4×4 子塊進行操作。 4×4 矩陣成幀器從 4×4 或 16×16 宏塊生成 8×8 子塊。 該矩陣生成器在進入下一個宏塊之前跨越一個宏塊的所有子塊。

幀內預測

H.264 使用各種幀內預測模式來減少 4×4 塊中的信息。 IP 中的幀內預測塊僅使用 4×4 矩陣大小的 DC 預測。 DC 分量是從相鄰的頂部和左側 4×4 塊計算的。

整數變換

H.264 使用整數離散餘弦變換,其中係數分佈在整數變換矩陣和量化矩陣中,因此整數變換中沒有乘法或除法。 整數變換 stage 使用 shift 和 add 操作實現轉換。

量化

量化將整數變換的每個輸出與由 QP 用戶輸入值定義的預定量化值相乘。 QP 值的範圍是 0 到 51。任何大於 51 的值都是 clamped 到 51。較低的 QP 值表示較低的壓縮和較高的質量,反之亦然。

CAVLC

H.264 使用兩種類型的熵編碼——上下文自適應可變長度編碼 (CAVLC) 和上下文自適應二進制算術編碼 (CABAC)。 IP 使用 CAVLC 對量化輸出進行編碼。

標題生成器

標頭生成器塊根據視頻幀的實例生成塊標頭、切片標頭、序列參數集 (SPS)、圖片參數集 (PPS) 和網絡抽象層 (NAL) 單元。

H.264 流發生器

H.264 流生成器塊將 CAVLC 輸出與標頭組合在一起,以根據 H.264 標準格式創建編碼輸出。

試驗台

提供測試平台來檢查 H.264 I 幀編碼器 IP 的功能。

模擬

模擬使用 YCbCr224 格式的 224×422 圖像,由兩個表示 files,分別以 Y 和 C 作為輸入並生成一個 H.264 file 包含兩個幀的格式。 以下步驟描述瞭如何使用測試平台模擬內核。

  1. 轉到 Libero SoC 目錄 > View > Windows > 目錄,然後展開解決方案-視頻。 雙擊 H264_Iframe_Encoder,然後單擊確定。
    模擬
    圖 2-1。 Libero SoC 目錄中的 H.264 I 幀編碼器 IP 內核
  2. 前往 Files 選項卡並選擇 模擬 > 進口 Files.
    進口 Files
    圖 2-2。 進口 Files
  3. 導入 H264_sim_data_in_y.txt、H264_sim_data_in_c.txt 和 H264_refOut.txt files 來自以下路徑:..\\component\Microsemi\SolutionCore\H264_Iframe_Encoder\1.0.0\Stimulus。
  4. 導入不同的 file, 瀏覽包含所需文件的文件夾 file,然後單擊打開。 進口的 file 列在仿真下,見下圖。
    進口 Files
    圖 2-3。 進口的 Files
  5. 去刺激 等級制度 選項卡並選擇 H264_frame_Encoder_tb (H264_frame_Encoder_tb.v) >
    模擬預合成器設計 > 交互式打開。 IP 模擬兩幀。
    預綜合設計
    圖 2-4。 模擬預綜合設計

ModelSim 打開測試台 file 如下圖所示。
模擬窗口
圖 2-5。 ModelSim 仿真窗口

筆記: 如果模擬由於 DO 中指定的運行時間限製而中斷 file,使用run -all命令完成模擬。

執照

H.264 I 幀編碼器 IP 僅在許可下以加密形式提供。

安裝說明

內核必須安裝到 Libero SoC 軟件中。 它是通過 Libero SoC 軟件或 CPZ 中的目錄更新功能自動完成的 file 可以使用添加核心目錄功能手動添加。 當 CPZ file 安裝在 Libero 中,可以在 SmartDesign 中配置、生成和實例化核心,以包含在 Libero 項目中。

有關核心安裝、許可和一般使用的更多說明,請參閱 Libero SoC 在線幫助。

資源利用

下表列出了 as 的資源利用率ample H.264 I frame Encoder IP設計為PolarFire FPGA(MPF300TS-1FCG1152I封裝),使用4:2:2 s生成壓縮數據amp輸入數據。

表 5-1。 H.264 I 幀編碼器 IP 的資源利用

元素 用法
4LUT 15160
DFF 15757
大容量靜態隨機存取存儲器 67
微靜態隨機存取存儲器 23
數學積木 18
接口 4 輸入 LUT 3336
接口 DFF 3336

修訂歷史

修訂歷史表描述了文檔中實施的更改。 更改按修訂列出,從最新的出版物開始。

修訂 日期 描述
A 01/2022 該文件的首次發布。

微芯片 FPGA 支持

Microchip FPGA 產品組為其產品提供各種支持服務,包括客戶服務、客戶技術支持中心、 web網站和全球銷售辦事處。 建議客戶在聯繫支持之前訪問 Microchip 在線資源,因為他們的查詢很可能已經得到解答。

通過以下方式聯繫技術支持中心 web站點位於 www.microchip.com/support. 提及 FPGA 器件部件號,選擇合適的案例類別,然後上傳設計 files 同時創建技術支持案例。

聯繫客戶服務以獲得非技術產品支持,例如產品定價、產品升級、更新信息、訂單狀態和授權。

  • 從北美撥打 800.262.1060
  • 來自世界其他地方,請致電 650.318.4460
  • 來自世界任何地方的傳真, 650.318.8044
微芯片 Web地點

Microchip 透過我們的網站提供線上支持 web站點位於 www.microchip.com/。這 web網站用於製作 file客戶可以輕鬆獲取資訊和資訊。一些可用的內容包括:

  • 產品支援 – 數據表和勘誤表、應用筆記和 samp文件程式、設計資源、使用者指南和硬體支援文件、最新軟體版本和存檔軟體
  • 一般技術支持 – 常見問題 (FAQ)、技術支持請求、在線討論組、Microchip 設計合作夥伴計劃成員列表
  • 微芯科技業務 – 產品選擇和訂購指南、最新的 Microchip 新聞稿、研討會和活動列表、Microchip 銷售辦事處、分銷商和工廠代表列表。
產品變更通知服務

Microchip 的產品變更通知服務有助於讓客戶了解 Microchip 產品的最新信息。 每當有與特定產品系列或感興趣的開發工具相關的更改、更新、修訂或勘誤表時,訂閱者都會收到電子郵件通知。

要註冊,請訪問 www.microchip.com/pcn 並依照註冊說明進行操作。

客戶支援

Microchip 產品的使用者可以透過多種管道獲得協助:

  • 經銷商或代表
  • 當地銷售辦事處
  • 嵌入式解決方案工程師 (ESE)
  • 技術支援

客戶應聯絡其經銷商、代表或 ESE 尋求支援。當地銷售辦事處也可以為客戶提供協助。本文檔中包含銷售辦事處和地點的清單。

技術支援可透過 web網站位於: www.microchip.com/support

Microchip 設備代碼保護功能

請注意 Microchip 產品上代碼保護功能的以下詳細資訊:

  • Microchip 產品符合其特定 Microchip 資料表中所包含的規格。
  • Microchip 相信,其產品系列在按預期方式、符合操作規範和正常條件下使用時是安全的。
  • Microchip 重視並積極保護其知識產權。 嚴禁嘗試違反 Microchip 產品的代碼保護功能,這可能違反《數字千年版權法》。
  • Microchip 和任何其他半導體製造商都不能保證其代碼的安全性。 代碼保護並不意味著我們保證產品“牢不可破”。 代碼保護在不斷發展。 Microchip 致力於不斷改進我們產品的代碼保護功能。
法律聲明

本出版物及其信息僅可用於 Microchip 產品,包括設計、測試 Microchip 產品並將其與您的應用程序集成。 以任何其他方式使用此信息均違反這些條款。 有關設備應用程序的信息僅為您提供方便而提供,可能會被更新所取代。 您有責任確保您的應用程序符合您的規範。 如需更多支持,請聯繫您當地的 Microchip 銷售辦事處,或通過以下網址獲取更多支持 www.microchip.com/en-us/support/design-help/client-support-services.

此資訊由 MICROCHIP 「按原樣」提供。 MICROCHIP 不就這些資訊做出任何明示或暗示、書面或口頭、法定或其他形式的陳述或保證,包括但不限於不侵權、適銷性和特定用途適用性的任何暗示保證,或保證與其狀況、質量或性能有關。

在任何情況下,MICROCHIP 均不對與本資訊或其使用相關的任何類型的間接、特殊、懲罰性、附帶或後果性損失、損壞、成本或費用承擔責任,無論其原因為何,即使 MICROCHIP 已被告知可能性或損害是可以預見的。在法律允許的最大範圍內,MICROCHIP 對與該資訊或其使用相關的任何方式的所有索賠的全部責任不會超過您就該資訊直接向 MICROCHIP 支付的費用金額(如果有)。

在生命維持和/或安全應用中使用 Microchip 設備的風險完全由買方承擔,買方同意為 Microchip 辯護、賠償並使 Microchip 免受因此類使用而造成的任何及所有損害、索賠、訴訟或費用。除非另有說明,否則任何 Microchip 智慧財產權均不會以暗示或其他方式授予任何授權。

商標

Microchip 名稱和徽標、Microchip 徽標、Adaptec、AnyRate、AVR、AVR 徽標、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、 maXTouch、MediaLB、megaAVR、Microsemi、Microsemi 徽標、MOST、MOST 徽標、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32 徽標、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST 徽標、SuperFlash 、Symmetricom、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron 和 XMEGA 是 Microchip Technology Incorporated 在美國和其他國家的註冊商標。

AgileSwitch、APT、ClockWorks、嵌入式控制解決方案公司、EtherSynch、Flashtec、Hyper Speed Control、HyperLight Load、IntelliMOS、Libero、motorBench、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plus 徽標、Quiet-Wire、 SmartFusion、SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime、WinPath 和 ZL 是 Microchip Technology Incorporated 在美國的註冊商標

相鄰密鑰抑制、AKS、模擬數字時代、任何電容器、AnyIn、AnyOut、增強開關、BlueSky、BodyCom、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、動態平均匹配、DAM , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 在線串行編程, ICSP, INICnet, 智能並行, 芯片間連接, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE , Ripple Blocker, RTAX, RTG4, SAMICE, 串行四 I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY,

ViewSpan、WiperLock、XpressConnect 和 ZENA 是 Microchip Technology Incorporated 在美國和其他國家/地區的商標。 SQTP 是 Microchip Technology Incorporated 在美國的服務標誌
Adaptec 徽標、Frequency on Demand、Silicon Storage Technology、Symmcom 和 Trusted Time 是 Microchip Technology Inc. 在其他國家/地區的註冊商標。
GestIC 是 Microchip Technology Germany II GmbH & Co. KG 的註冊商標,Microchip 的子公司
科技公司,在其他國家。 本文提及的所有其他商標均為其各自公司的財產。
© 2022,Microchip Technology Incorporated 及其子公司。 版權所有。
ISBN: 978-1-5224-9663-2

品質管理體系

有關 Microchip 品質管理系統的信息,請訪問 www.microchip.com/quality.

全球銷售和服務

美洲

公司辦公室
西錢德勒大道 2355 號
亞利桑那州錢德勒 85224-6199
電話: 480-792-7200
傳真: 480-792-7277
技術支援: www.microchip.com/support
Web 地址: www.microchip.com

亞特蘭大
喬治亞州德盧斯
電話: 678-957-9614
傳真: 678-957-1455

德州奧斯汀
電話: 512-257-3370

波士頓
馬薩諸塞州韋斯特伯勒
電話: 774-760-0087
傳真: 774-760-0088

芝加哥
伊利諾伊州艾塔斯卡
電話: 630-285-0071
傳真: 630-285-0075

達拉斯
德克薩斯州艾迪生
電話: 972-818-7423
傳真: 972-818-2924

底特律
密西根州諾維
電話: 248-848-4000

德州休士頓
電話: 281-894-5983

印第安納波利斯
印第安納州諾布爾斯維爾
電話: 317-773-8323
傳真: 317-773-5453
電話: 317-536-2380

洛杉磯
加州米申維耶霍
電話: 949-462-9523
傳真: 949-462-9608
電話: 951-273-7800

北卡羅來納州羅利
電話: 919-844-7510

紐約州紐約市
電話: 631-435-6000

加州聖荷西
電話: 408-735-9110
電話: 408-436-4270

加拿大 – 多倫多
電話: 905-695-1980
傳真: 905-695-2078

亞太

澳洲 – 雪梨
電話:61-2-9868-6733

中國 – 北京
電話:86-10-8569-7000

中國 – 成都
電話:86-28-8665-5511

中國 – 重慶
電話:86-23-8980-9588

中國 – 東莞
電話:86-769-8702-9880

中國 – 廣州
電話:86-20-8755-8029

中國 – 杭州
電話:86-571-8792-8115

中國 - 香港特別行政區
電話:852-2943-5100

中國 – 南京
電話:86-25-8473-2460

中國 – 青島
電話:86-532-8502-7355

中國 – 上海
電話:86-21-3326-8000

中國 – 沉陽
電話:86-24-2334-2829

中國 – 深圳
電話:86-755-8864-2200

中國 – 蘇州
電話:86-186-6233-1526

中國 – 武漢
電話:86-27-5980-5300

中國 – 西安
電話:86-29-8833-7252

中國 – 廈門
電話:86-592-2388138

中國 – 珠海
電話:86-756-3210040

印度 – 班加羅爾
電話:91-80-3090-4444

印度 - 新德里
電話:91-11-4160-8631

印度 – 浦那
電話:91-20-4121-0141

日本 - 大阪
電話:81-6-6152-7160

日本 – 東京
電話:81-3-6880-3770

韓國——大邱
電話:82-53-744-4301

韓國 – 首爾
電話:82-2-554-7200

馬來西亞–吉隆坡
電話:60-3-7651-7906

馬來西亞 – 檳城
電話:60-4-227-8870

菲律賓 – 馬尼拉
電話:63-2-634-9065

新加坡
電話:65-6334-8870

台灣 – 新竹
電話:886-3-577-8366

台灣 – 高雄
電話:886-7-213-7830

台灣 – 台北
電話:886-2-2508-8600

泰國 – 曼谷
電話:66-2-694-1351

越南——胡志明
電話:84-28-5448-2100

歐洲

奧地利 - 韋爾斯
電話:43-7242-2244-39
傳真:43-7242-2244-393

丹麥 – 哥本哈根
電話:45-4485-5910
傳真:45-4485-2829

芬蘭 – 埃斯波
電話:358-9-4520-820

法國 – 巴黎
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79

德國 – 加興
電話:49-8931-9700

德國 – 漢
電話:49-2129-3766400

德國 – 海爾布隆
電話:49-7131-72400

德國——卡爾斯魯厄
電話:49-721-625370

德國 – 慕尼黑
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44

德國——羅森海姆
電話:49-8031-354-560

以色列——拉阿納納
電話:972-9-744-7705

意大利——米蘭
電話:39-0331-742611
傳真:39-0331-466781

意大利——帕多瓦
電話:39-049-7625286

荷蘭 – Drunen
電話:31-416-690399
傳真:31-416-690340

挪威 – 特隆赫姆
電話:47-72884388

波蘭 – 華沙
電話:48-22-3325737

羅馬尼亞 – 布加勒斯特
Tel: 40-21-407-87-50

西班牙 – 馬德里
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91

瑞典——哥德堡
Tel: 46-31-704-60-40

瑞典 – 斯德哥爾摩
電話:46-8-5090-4654

英國 – 沃金厄姆
電話:44-118-921-5800
傳真:44-118-921-5820

標識

文件/資源

Microchip PolarFire® FPGA H.264 編碼器 IP [pdf] 使用者指南
PolarFire FPGA 編碼器、H.264 編碼器、FPGA H.264 編碼器、編碼器 IPIP
MICROCHIP PolarFire FPGA H.264 編碼器 IP [pdf] 使用者指南
PolarFire FPGA H.264 編碼器 IP、PolarFire FPGA、H.264 編碼器 IP

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *