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 包含两个帧的格式。 以下步骤描述了如何使用测试平台模拟内核。
- 转到 Libero SoC 目录 > View > Windows > 目录,然后展开解决方案-视频。 双击 H264_Iframe_Encoder,然后单击确定。
图 2-1。 Libero SoC 目录中的 H.264 I 帧编码器 IP 内核 - 前往 Files 选项卡并选择 模拟 > 进口 Files.
图 2-2。 进口 Files - 导入 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。
- 导入不同的 file, 浏览包含所需文件的文件夹 file,然后单击打开。 进口的 file 列在仿真下,见下图。
图 2-3。 进口的 Files - 去刺激 等级制度 选项卡并选择 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 |
微SRAM | 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网站用于制作 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、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 |