MICROCHIP H.264 PolarFire I 帧编码器 IP

产品信息
该产品是 H.264 I 帧编码器 IP。 它是一种将数据编码为 H.264 格式的硬件实现。 IP 框图显示了编码器的各种输入和输出。
主要特点:
- 支持H.264编码
- 提供亮度和色度像素数据的输入
- 支持帧开始、帧结束和数据有效性的各种控制信号
- 允许设置量化品质因数
- 输出H.264编码数据
支持的系列:用户手册中未提供此信息。
产品使用说明
硬件实现
要实现 H.264 I 帧编码器,请执行以下步骤:
- 将以下输入连接到适当的源:
- RESET_N:连接到低电平有效异步复位信号。
- SYS_CLK:连接到输入像素的输入时钟amp引领。
- DATA_Y_I:连接到 8 格式的 422 位亮度像素输入。
- DATA_C_I:连接到 8 格式的 422 位色度像素输入。
- DATA_VALID_I:连接输入像素数据有效信号。
- FRAME_END_I:连接帧结束指示信号。
- FRAME_START_I:连接到帧开始指示信号。
- HRES_I:连接输入图像的水平分辨率。 它必须是 16 的倍数。
- VRES_I:连接输入图像的垂直分辨率。 它必须是 16 的倍数。
- QP_I:连接到 H.264 量化的品质因数。 取值范围为0~51。
- H.264 编码数据输出 DATA_O 应连接到所需的目的地。
- 确保为硬件实现提供适当的电源和接地。
输入和输出端口
| 信号名称 | 方向 | 宽度 | 端口有效期限 | 描述 |
|---|---|---|---|---|
| 复位_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 是一种流行的视频压缩标准,用于压缩数字视频。 它也称为 MPEG-4 Part10 或高级视频编码 (MPEG-4 AVC)。 H.264 使用块方式来压缩视频,其中块大小定义为 16×16,这样的块称为宏块。 压缩标准支持各种专业file定义压缩比和实现的复杂性。 待压缩的视频帧被视为I帧、P帧和B帧。 I 帧是内部编码帧,其中通过使用帧内包含的信息来完成压缩。 不需要其他帧来解码 I 帧。 P 帧是通过使用相对于较早帧(可以是 I 帧或 P 帧)的更改来压缩的。 B 帧的压缩是通过使用相对于较早帧和即将到来的帧的运动变化来完成的。
I帧压缩过程有四个步骤tages——帧内预测、整数变换、量化和熵编码。 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-Frame 编码器 IP 框图。
图 1-1。 H.264 I 帧编码器 IP 结构图

输入和输出
下表列出了 H.264 Frame Encoder IP 的输入和输出端口。
表 1-1。 H.264 I帧编码器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-Frame 编码器 IP 不使用配置参数。
H.264 I帧编码器IP的硬件实现
下图显示了 H.264 I-Frame 编码器 IP 框图。
图 1-2。 H.264 I 帧编码器 IP 结构图

H.264 I 帧编码器 IP 的设计说明
本节介绍 H.264 I-Frame Generator 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-Frame 编码器 IP 的功能。
模拟
模拟使用 YCbCr224 格式的 224×422 图像,由两个表示 files,分别以 Y 和 C 作为输入并生成一个 H.264 file 包含两个帧的格式。 以下步骤描述了如何使用测试平台模拟内核。
- 转至 Libero® SoC 目录 > View > Windows > 目录,然后展开解决方案-视频。 双击 H264_Iframe_Encoder,然后单击确定。
图 2-1。 Libero SoC 目录中的 H.264 I-Frame 编码器 IP 核
- 前往 Files 选项卡并选择模拟 > 导入 Files.
图 2-2。 进口 Files
- 导入 H264_sim_data_in_y.txt、H264_sim_data_in_c.txt 和 H264_refOut.txt file来自以下路径:..\ \组件\Microsemi\SolutionCore\ H264_Iframe_Encoder\ 1.0.0\Stimulus。
- 导入不同的 file, 浏览包含所需文件的文件夹 file,然后单击打开。 进口的 file 列在仿真下,见下图。
图 2-3。 进口的 Files
- 转到 Stimulus Hierarchy 选项卡并选择 H264_frame_Encoder_tb (H264_frame_Encoder_tb.v) > Simulate Pre-Synth Design > Open Interactively。 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 design for PolarFire FPGA (MPF300TS-1FCG1152I package) 并使用4:2:2 s生成压缩数据amp输入数据。
表 5-1。 H.264 I-Frame 编码器 IP 的资源利用
| 元素 | 用法 |
| 4LUT | 15160 |
| DFF | 15757 |
| 大容量静态随机存取存储器 | 67 |
| 微SRAM | 23 |
| 数学块 | 18 |
| 接口 4 输入 LUT | 3336 |
| 接口 DFF | 3336 |
修订历史
修订历史表描述了文档中实施的更改。 更改按修订列出,从最新的出版物开始。
| 修订 | 日期 | 描述 |
| B | 06/2022 | 将标题从“PolarFire FPGA H.264 编码器 IP 用户指南”更改为“PolarFire FPGA H.264 I-Frame 编码器 IP 用户指南”。 |
| 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网站用于制作 files 和信息很容易提供给客户。
一些可用的内容包括:
- 产品支持 – 数据表和勘误表、应用笔记和 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 徽标、Adaptec、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、Libero、motorBench、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plus 徽标、Quiet-Wire、SmartFusion、 SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime 和 ZL 是 Microchip Technology Incorporated 在美国的注册商标
相邻键抑制、AKS、模拟数字时代、任何电容器、AnyIn、AnyOut、增强型开关、BlueSky、BodyCom、Clockstudio、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、动态平均匹配, DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 在线串行编程, ICSP, INICnet, 智能并联, IntelliMOS, 芯片间连接, JitterBlocker, 显示旋钮, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX , RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox、VeriPHY、 ViewSpan、WiperLock、XpressConnect 和 ZENA 是 Microchip Technology Incorporated 在美国和其他国家/地区的商标。
SQTP 是美国 Microchip Technology Incorporated 的服务标志
Adaptec 徽标、Frequency on Demand、Silicon Storage Technology 和 Symmcom 是 Microchip Technology Inc. 在其他国家/地区的注册商标。
GestIC 是 Microchip Technology Inc. 的子公司 Microchip Technology Germany II GmbH & Co. KG 在其他国家的注册商标。
本文提及的所有其他商标均属于其各自公司的财产。
© 2022,Microchip Technology Incorporated 及其子公司。 版权所有。
ISBN: 978-1-6683-0715-1
质量管理体系
有关 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 法国 – 巴黎
电话:33-1-69-53-63-20 传真:33-1-69-30-90-79 德国 – Garching 电话:49-8931-9700 德国 – Haan
电话:49-2129-3766400 德国 – 海尔布隆 电话:49-7131-72400 德国 – 卡尔斯鲁厄 电话:49-721-625370 德国 – 慕尼黑 电话:49-89-627-144-0 传真:49-89-627-144 -44 德国 – Rosenheim 电话:49-8031-354-560 以色列 – Ra'anana
电话: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 罗马尼亚 – 布加勒斯特电话:40-21-407-87-50 西班牙 – 马德里
电话:34-91-708-08-90 传真:34-91-708-08-91 瑞典 – 哥德堡 电话:46-31-704-60-40 瑞典 – 斯德哥尔摩 电话:46-8-5090-4654 英国 –沃金厄姆
Tel: 44-118-921-5800 Fax: 44-118-921-5820
文件/资源
![]() |
MICROCHIP H.264 PolarFire I 帧编码器 IP [pdf] 用户指南 H.264、H.264 PolarFire I 帧编码器 IP、PolarFire I 帧编码器 IP、I 帧编码器 IP、编码器 IP、IP |





