MICROCHIP-标志

MICROCHIP H.264 4K I 帧编码器 IP 核

MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-产品

介绍

H.264 是一种流行的视频压缩标准,用于压缩数字视频。 它也称为 MPEG-4 Part10 或高级视频编码 (MPEG-4 AVC)。 H.264 使用逐块方法来压缩视频,其中块大小定义为 16 x 16,这样的块称为宏块。 压缩标准支持各种专业file定义压缩比和实现的复杂性。 要压缩的视频帧被视为I帧、P帧和B帧。 I 帧是内部编码帧,其中通过使用帧内包含的信息来完成压缩。 不需要其他帧来解码 I 帧。 P 帧是通过使用相对于较早帧(可以是 I 帧或 P 帧)的更改来压缩的。 B 帧的压缩是通过使用相对于较早帧和即将到来的帧的运动变化来完成的。 I帧压缩过程有四个步骤tages—帧内预测、整数变换、量化和熵编码。 H.264 支持两种类型的编码:上下文自适应可变长度编码 (CAVLC) 和上下文自适应二进制算术编码 (CABAC)。 当前版本的IP实现了Baseline profile 并使用CAVLC进行熵编码。 此外,该 IP 仅支持高达 4K 分辨率的 I 帧编码。

特征

H.264 I 帧编码器支持以下主要功能:

  • 对 YCbCr 420 视频格式进行压缩
  • 需要 YCbCr 422 视频格式的输入
  • 每个分量支持 8 位(Y、Cb 和 Cr)
  • 支持符合 ITU-T H.264 Annex B 标准的 NAL 字节流输出
  • 无需独立操作、CPU 或处理器帮助
  • 用户可在运行时配置品质因数 QP
  • 以每时钟 1 像素的速率进行计算
  • 支持分辨率高达 4K (3840 × 2160) 60 fps 的压缩
  • 最小延迟(全高清或 252 条水平线为 17 μs)
  • 支持2片和4片

支持的家庭
H.264 4K I 帧编码器支持以下系列:

  • PolarFire® SoC FPGA
  • 极地火FPGA

硬件实现

下图显示了 H.264 4K I 帧编码器 IP 框图。
图 1-1。 H.264 4K I 帧编码器 IP 框图MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (1)

输入和输出
下表列出了 H.264 4K I 帧编码器 IP 的输入和输出端口。
表 1-1。 H.264 4K I帧编码器IP的输入和输出端口

信号名称 方向 宽度 描述
复位_N 输入 1 设计的低电平有效异步复位信号。
PIX_CLK_I 输入 1 输入像素的输入时钟amp引领。
DDR_CLK_I 输入 1 来自 DDR 内存控制器的时钟。
HRES_I 输入 16 输入图像的水平分辨率。 它必须是 16 的倍数。
VRES_I 输入 16 输入图像的垂直分辨率。 它必须是 16 的倍数。
QP_I 输入 6 H.264 量化的品质因数。 值范围从 0 到 51,其中 0 代表最高质量和最低压缩,51 代表最高压缩。
数据0_O 输出 16 H.264 Slice0 编码数据输出,包含 NAL 单元、Slice header、SPS、PPS 和宏块的编码数据。
数据有效0 输出 1 表示Slice0编码数据的信号有效。
数据1_O 输出 16 H.264 Slice1编码数据输出,包含Slice头和宏块的编码数据。
数据有效1 输出 1 表示Slice1编码数据的信号有效。
数据2_O 输出 16 H.264 Slice2编码数据输出,包含Slice头和宏块的编码数据。
数据有效2 输出 1 表示Slice2编码数据的信号有效。
………..继续
信号名称 方向 宽度 描述
数据3_O 输出 16 H.264 Slice3编码数据输出,包含Slice头和宏块的编码数据。
数据有效3 输出 1 表示Slice3编码数据的信号有效。
DDR_LINE_GAP_I 输入 16 DDR 存储器中输入图像水平线之间的线间隙。
帧起始地址 输入 7/8 DDR 帧缓冲区地址。 当帧间隙配置为 7 MB 时为 32 位。 当帧间隙配置为 8 MB 时为 16 位。
FRAME_END_O 输出 1 帧的 H.264 比特流结束。
读取通道 0 仲裁器接口端口
数据0_I 输入 输入数据宽度 从仲裁器读取数据
有效值0_I 输入 1 从仲裁器读取有效数据
准备好0 输入 1 仲裁者确认
总线用户0 输入 1 读取完成
附加地址0_O 输出 32 必须开始读取的 DDR 地址
验证码: 输出 1 向仲裁者读取请求
ARSIZE0_O 输出 8 读取突发大小
读取通道 1 仲裁器接口端口
数据1_I 输入 输入数据宽度 从仲裁器读取数据
有效值1_I 输入 1 从仲裁器读取有效数据
准备好1 输入 1 仲裁者确认
总线用户1 输入 1 读取完成
附加地址1_O 输出 32 必须开始读取的 DDR 地址
验证码: 输出 1 向仲裁者读取请求
ARSIZE1_O 输出 8 读取突发大小
读取通道 2 仲裁器接口端口
数据2_I 输入 输入数据宽度 从仲裁器读取数据
有效值2_I 输入 1 从仲裁器读取有效数据
准备好2 输入 1 仲裁者确认
总线用户2 输入 1 读取完成
附加地址2_O 输出 32 必须开始读取的 DDR 地址
验证码: 输出 1 向仲裁者读取请求
ARSIZE2_O 输出 8 读取突发大小
读取通道 3 仲裁器接口端口
数据3_I 输入 输入数据宽度 从仲裁器读取数据
有效值3_I 输入 1 从仲裁器读取有效数据
………..继续
信号名称 方向 宽度 描述
准备好3 输入 1 仲裁者确认
总线用户3 输入 1 读取完成
附加地址3_O 输出 32 必须开始读取的 DDR 地址
验证码: 输出 1 向仲裁者读取请求
ARSIZE3_O 输出 8 读取突发大小

配置参数
下表列出了 H.264 4K I 帧编码器硬件实现中使用的通用配置参数的描述,这些参数可能会根据应用要求而有所不同。
表 1-2。 H.264 4K I 帧编码器配置参数

姓名 描述
16x16_DC_INTRA_预测 启用 16 x 16 帧内直流预测和 4 x 4 帧内直流预测的选项。
切片数量 选择 2 个切片以支持 4 fps 的 30K。 选择 4 个切片以支持 4 fps 的 60K。
DDR_AXI_数据_宽度 选择读取通道的DATA宽度,必须连接视频仲裁器IP。
帧间隙 选择帧缓冲区大小。 对于 4K,选择 32 MB。

IP配置器
下图显示了 H.264 4K I 帧编码器 IP 配置器。

图 1-2。 IP 配置MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (2)

H.264 4K I 帧编码器 IP 的硬件实现
H.264 4K I 帧编码器 IP 将每个帧分为 2/4 片,并使用片编码器进行编码。 DDR 读取逻辑期望 DDR 存储器中的帧数据为 YCbCr 422 格式。 DDR 存储器中帧的每个水平行之间的行间隙必须通过 DDR_LINE_GAP_I 输入指定。 IP采用422格式作为输入,并以420格式实现压缩。 Slice0 输出还包含 SPS 和 PPS 标头。 所有切片比特流均单独提供。 所有切片比特流组合在一起成为最终的H.264比特流。 下图显示了 H.264 4K I-Frame 编码器 IP 框图。
图 1-3。 H.264 4K I 帧编码器 IP 框图MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (3)

下图显示了切片编码器框图。

图 1-4。 切片编码器框图MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (4)

设计描述 切片编码器
本节介绍切片编码器的不同内部模块。
16 x 16 矩阵成帧器
该模块根据 H.16 规范为 Y 分量构建 16 x 264 宏块。 行缓冲区用于存储输入图像的 16 条水平行,并使用移位寄存器构建 16 x 16 矩阵。
8 x 8 矩阵成帧器
该模块根据 8 格式的 H.8 规范为 C 组件构建 264 x 420 宏块。 行缓冲区用于存储输入图像的 8 条水平行,并使用移位寄存器构建 8 x 16 矩阵。 从 8 x 16 矩阵中,将 Cb 和 Cr 分量分离以构成每个 8 x 8 矩阵。
4 x 4 矩阵成帧器
整数变换、量化和 CAVLC 编码对宏块内的 4 x 4 子块进行操作。 4 x 4 矩阵成帧器从 4 x 4 或 16 x 16 宏块生成 8 x 8 子块。 该矩阵生成器在进入下一个宏块之前跨越宏块的所有子块。
帧内预测
H.264 使用各种帧内预测模式来减少 4 x 4 块中的信息。 IP中的帧内预测块仅使用4 x 4或16 x 16 DC预测。 如果在 IP 配置器中启用了 16 x 16 DC 内预测,则 35 x 16 用于大于 16 的 QP 值。 DC 分量是根据相邻的顶部和左侧 4 x 4 或 16 x 16 块计算的。
整数变换
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 4K I 帧编码器 IP 的功能。
模拟
该模拟使用 YCbCr432 格式的 240 x 422 图像,由两个表示 files,每个 Y 和 C 作为输入并生成具有 264 个切片的 H.4 file 包含两个帧的格式。
以下步骤描述了如何使用测试台模拟内核:

  1. 转至 Libero® SoC 目录 > View > 窗口 > 目录,然后展开解决方案-视频。 双击“H264_4K_Iframe_Encoder”,然后单击“确定”。 H264_4K_Iframe-Encoder IP 显示在 SmartDesign 画布上。
    图 2-1。 Libero® SoC 目录中的 H.264 4K I 帧编码器 IP 核MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (5)
  2. 前往 Files 选项卡并选择模拟 > 导入 Files.
    图 2-2。 进口 FilesMICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (6)
  3. 导入 H264_sim_data_in_y.txt、H264_sim_data_in_c.txt 和 H264_refOut.txt file来自以下路径:..\ \组件\Microsemi\SolutionCore\ H264_4K_Iframe_Encoder\ \刺激。
  4. 导入不同的 file, 浏览包含所需文件的文件夹 file,然后单击打开。 进口的 file 列在仿真下,见下图。
    图 2-3。 进口 FilesMICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (7)
  5. 转到 Design Hierarchy 选项卡,右键单击 H264_4K_Iframe_Enc_C0 并选择 Set As Root。 图 2-4。 设置为根MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (8)
  6. 转到 Stimulus Hierarchy 选项卡并选择 H264_4K_Iframe_Encoder_tb (H264_4K_Iframe_Encoder_tb.v) > Simulate Pre-Synth Design > Open Interactively。 IP 是针对两个帧进行模拟的。 图 2-5。 模拟预综合设计MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (9)
  7. ModelSim 打开测试台 file 如下图所示。

图 2-6。 ModelSim 仿真窗口MICROCHIP-H-264-4K-I-Frame-编码器-IP-核-FIG-1 (10)

重要的: 如果仿真由于 .do 中指定的运行时间限制而中断 file,使用run -all命令完成模拟。

执照

  • H.264 4K I 帧编码器 IP 仅在许可下以加密形式提供。
  • 加密的RTL源代码是许可证锁定的,必须单独购买。 您可以使用 Libero 设计套件对现场可编程门阵列 (FPGA) 芯片进行仿真、综合、布局和编程。
  • 免费提供评估许可证以检查 H.264 编码器功能。 评估许可证在硬件上使用一小时后到期。

安装说明

  • 该内核必须安装到 Libero SoC 软件中。 这是通过目录更新功能自动完成的
  • Libero SoC 软件,或 CPZ file 可以使用添加核心目录功能手动添加。 当 CPZ file 安装在 Libero 中,可以在 SmartDesign 中配置、生成和实例化核心,以包含在 Libero 项目中。
  • 有关核心安装、许可和一般使用的更多说明,请参阅 Libero SoC 在线帮助。

下表列出了 as 的资源利用率amp为 PolarFire FPGA(MPF264TS-4FCG300I 封装)设计的 H.1 1152K I 帧编码器 IP 设计,并使用 4:2:2 秒生成压缩数据amp输入数据。
表 5-1。 H.264 4K I 帧编码器 IP 的资源利用

元素 4 片 2 片
4LUT 73588 37017
DFF 67543 33839
大容量静态随机存取存储器 592 296
微SRAM 84 42
数学块 89 45
接口 4 输入 LUT 25524 12780
接口 DFF 25524 12780

修订历史

修订历史表描述了文档中实施的更改。 更改按修订列出,从最新的出版物开始。
表 6-1。 修订历史

修订 日期 描述
A 01/2023 初始版本。

微芯片 FPGA 支持

Microchip FPGA 产品组为其产品提供各种支持服务,包括客户服务、客户技术支持中心、 web网站和全球销售办事处。 建议客户在联系支持人员之前先访问 Microchip 在线资源,因为他们的疑问很可能已经得到解答。 通过以下方式联系技术支持中心 web网站 www.microchip.com/support。 提及 FPGA 器件部件编号,选择适当的案例类别,然后上传设计  file在创建技术支持案例时。 联系客户服务获取非技术产品支持,例如产品定价、产品升级、更新信息、订单状态和授权。

  • 从北美拨打 800.262.1060
  • 从世界其他地方拨打 650.318.4460
  • 传真,来自世界各地,650.318.8044

微芯信息

微芯片 Web地点
Microchip 通过以下方式提供在线支持 web网址为 www.microchip.com/。 这 web网站用于制作 files 和信息易于客户获取。可用的内容包括:

  • 产品支持 – 数据表和勘误表、应用笔记和 samp文件程序、设计资源、用户指南和硬件支持文档、最新软件版本和存档软件
  • 一般技术支持 – 常见问题 (FAQ)、技术支持请求、在线讨论组、Microchip 设计合作伙伴计划成员列表
  • 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、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 在美国的注册商标 Adjacent Key Suppression、AKS、模拟数字时代、Any Capacitor、AnyIn、AnyOut、Augmented Switching , 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、膜、Mindi、MiWi、MPASM、MPF、MPLAB 认证徽标、MPLIB、MPLINK、MultiTRAK、NetDetach、Omniscient 代码生成、PICDEM、PICDEM.net、PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE、Ripple Blocker、RTAX 、RTG4、SAM ICE、串行四路 I/O、简单映射、SimpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、总耐久性、可信时间、TSARC、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 German II GmbH & Co. KG 在其他国家的注册商标。 本文提及的所有其他商标均为其各自公司的财产。 © 2023,Microchip Technology Incorporated 及其子公司。 版权所有。 国际标准书号:978-1-6683-1888-1

质量管理体系
有关 Microchip 质量管理体系的信息,请访问 www.microchip.com/quality.

全球销售和服务

美洲 

公司办公室

亚特兰大

德克萨斯州奥斯汀

波士顿

芝加哥

达拉斯

底特律

德克萨斯州休斯顿

印第安纳波利斯

洛杉矶

北卡罗来纳州罗利

纽约州纽约市

加利福尼亚州圣何塞

加拿大 – 多伦多

亚太

  • 澳大利亚 – 悉尼
    • 电话: 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

© 2023 Microchip Technology Inc. 及其子公司 DS50003486A-

文件/资源

MICROCHIP H.264 4K I 帧编码器 IP 核 [pdf] 用户指南
H.264 4K I 帧编码器 IP 核、H.264 4K、I 帧编码器 IP 核、编码器 IP 核、IP 核

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *