tag 标签: mpsoc

相关博文
  • 2024-11-1 16:38
    212 次阅读|
    0 个评论
    1.引言 随着网络视频平台的发展,用户对于4K高清画质的需求日益增长。然而,许多用户发现,即使购买了视频平台的会员,观看4K内容时画质却不如预期,有时甚至还会出现模糊、卡顿的情况。这种现象背后涉及到视频编码、网络带宽、和视频传输的诸多因素。 近期“影视飓风”发布的视频《清晰度不如4年前!视频变糊是你的错觉吗?》因讨论视频平台降低码率和改变编码格式以压缩视频画质,影响了内容表达。 4K视频清晰度下降的一个主要原因是平台为了节省带宽而压缩视频流,有时导致比特率降低,无法发挥4K分辨率的全部潜力。 在这种背景下,如何 高效地压缩和传输4K视频成为了一个关键技术难题 。本文将探讨如何通过 米尔电子的ZU4EV MPSoC平台, 接入真4k 60UHD-SDI视频源后,使用VCU进行高效H.265编解码,再通过 SGMII万兆以太网 实现 网络推流,以确保高质量4K视频的流畅传输。 2.视频质量下降的原因与优化方法 1) 带宽瓶颈 :在用户数量增加的情况下,服务器和网络的带宽常常无法满足4K视频流的需求。 2) 压缩算法不足 :传统的视频压缩技术在高分辨率内容上表现不佳,容易导致画面模糊。 3) 视频流传输的优化 在推流过程中,网络带宽和视频压缩效率直接决定了视频播放的清晰度与流畅度。为了确保4K视频在万兆以太网上的高效传输,本设计采用以下优化措施: 合理的码率控制 :在保证视频清晰度的前提下,调整H.265编码的目标码率,避免过低的码率影响视频质量或过高的码率导致带宽浪费或。通过CBR或VBR模式可以根据网络情况动态调整码率。 低延时模式 :VCU支持低延时编码模式,确保视频在压缩和传输过程中保持尽可能低的延迟,提升用户的观看体验。 网络传输协议选择 :根据应用场景选择合适的传输协议。对于实时性要求较高的场景,可选择UDP传输,而对于数据可靠性要求较高的场景,则推荐使用TCP协议。 3.MPSoC与VCU架构在4K UHD音视频广播领域的优势 1. 高性能与低功耗的结合 :Zynq UltraScale+ MPSoC采用了16nm FinFET工艺,集成了多核处理器和可编程逻辑,能够在提高性能的同时降低功耗,这对于音视频广播领域来说至关重要,因为它可以在保证高清晰度视频传输的同时,减少能源消耗。 2. 实时压缩与解压缩能力 :集成的VCU支持H.264/AVC和H.265/HEVC标准,能够实现高达4K UHD分辨率的视频的实时压缩和解压缩。这意味着在广播应用中,可以利用VCU进行高效的视频编码,减少存储空间和带宽的需求,同时保持视频质量。 3. 多视频流处理能力 :VCU能够同时处理多达八个不同的视频流,这对于需要同时广播多个视频源的4K UHD广播应用来说非常有用。这种多任务处理能力使得MPSoC成为多媒体中心和视频服务器的理想选择。 4. 灵活性和可扩展性 :MPSoC的可编程逻辑(PL)提供了任意到任意高速视频/音频接口的灵活性,可以为多媒体管道带来定制图像及视频处理功能的差异化效果。这种可编程性使得系统能够适应不断变化的音视频广播需求。 5. 专用硬件加速 :MPSoC提供了专用的处理引擎,如基于ARM Cortex A53的APU、Mali图形处理单元等,这些专用硬件能够加速图形和视频处理任务,提高系统的整体性能。 6. 支持多种视频格式 :VCU支持高达4:2:2 10位UHD-4K的视频格式,适合专业和高端消费级的制作与后期制作解决方案。这种广泛的格式支持使得MPSoC可以应用于各种不同的音视频广播场景。 7. 集成的多媒体框架支持 :MPSoC结合常见的多媒体框架GStreamer,可以开发硬件加速型多媒体应用。这种集成支持简化了开发过程,使得开发者能够快速实现复杂的音视频处理任务。 8. 优化的功耗管理 :Zynq UltraScale+ MPSoC将处理引擎、硬件编解码器等组件放置在具有独立电轨的不同电源域中,这种配置可用于为整个系统设计优化功耗管理方案,进一步降低系统功耗。 9. 高速互联外设 :MPSoC提供高速互联外设,如集成式DisplayPort接口模块,支持高达6 Gb/s的工作速率,这有助于处理来自PS或PL的实时音视频流,进一步降低系统BOM成本。 10. 支持新一代地面数字电视广播技术 :随着超高清电视时代的到来,MPSoC与VCU架构能够支持新一代地面数字电视广播技术,如DVB-T2、ATSC 3.0和DTMB-A等,这些技术支持更高的视频质量和新的广播应用模式。 综上所述,MPSoC与VCU架构在4K UHD音视频广播领域提供了高性能、低功耗、实时压缩解压缩、多视频流处理、灵活性、硬件加速、广泛格式支持、多媒体框架集成、优化的功耗管理和高速互联外设等多重优势,使其成为该领域理想的解决方案。 4.系统架构概述 在本设计中,我们使用Zynq UltraScale+ MPSoC平台(具体型号为MYIR XCZU4EV),通过FPGA实现对SDI视频的H265压缩,并通过SGMII接口推送到万兆以太网上。系统架构主要包括以下几个部分: 1. 视频输入 :输入源可以是SDI摄像机、SDI信号发生器或通过HDMI转SDI设备从电脑接入的HDMI信号。视频信号通过TI公司的LMH1219芯片做均衡处理,并将单端信号转换为差分信号后输入FPGA。 2. SDI视频解码 :FPGA中的UHD-SDI GT IP核用于SDI视频的解串,并将视频信号转换为AXI4-Stream格式供后续处理。通过SMPTE UHD-SDI RX SUBSYSTEM IP核,SDI视频被解码为RGB格式。 3. 视频帧缓存与处理 :解码后的视频信号存储在PS侧的DDR4中,通过Xilinx提供的Video Frame Buffer Write IP核实现。在这一阶段,可以对视频帧进行颜色转换、缩放等处理。 4. H.265视频压缩 :使用Zynq UltraScale+ VCU IP核对存储的RGB视频帧进行H.265编码压缩。VCU支持YUV420格式的视频,编码分辨率最高可达到4K@60fps。 5. SGMII万兆以太网传输 :经过H.265压缩后的视频流通过SGMII接口推送至万兆以太网。通过PetaLinux系统,利用TCP/UDP协议将压缩后的码流传输到PC或服务器端,用户可以通过VLC播放器等软件实时播放接收到的H.265码流。 5.工程设计主要流程 1. SDI输入 :通过LMH1219进行信号均衡,SDI信号转换为AXI4-Stream格式。 通过HDMI转SDI盒子,通过12G UHD-SDI输出4K 60FPS视频给FPGA,用户也可以使用SDI 工业相机; 2. 视频解码 :UHD-SDI GT IP核完成视频解串,SMPTE UHD-SDI RX SUBSYSTEM IP核将视频解码为RGB信号。 3. 视频缓存 :使用Video Frame Buffer Write IP核将视频写入DDR4。 用户可以选择在这里做出customer ISP,例如图像缩放,拼接 4. 视频压缩 :通过Zynq UltraScale+ VCU IP核对视频进行H265压缩。 5. 网络传输 :通过SGMII万兆以太网接口,将压缩后的H265视频流通过UDP协议推送至PC端,使用VLC播放器播放。 6.结论 在视频内容不断向4K发展的大背景下, 通过Zynq UltraScale+ MPSoC平台,基于VCU实现的SGMII万兆以太网视频压缩推流方案,不仅能够高效地压缩和传输4K视频,还可以确保较低的延迟和高质量的图像输出。该方案适用于视频监控、医疗影像、工业自动化等对高分辨率视频有需求的应用场景。 对于希望在网络视频平台上获得更好观看体验的用户来说,视频平台和服务提供商则需要在视频编码、网络传输等方面进行优化,以满足用户对于4K视频的画质需求。 7.互动环节 在SGMII网兆以太网推流到PC端,因为是万兆网,CPU无法负担这里的高速吞吐率,这里我们需要用到网络卸载,米尔电子的MYC-J7A100T双芯设计核心板可通过SFP采集SGMII万兆以太网数据后,PC通过PCIE读取视频源,实现万兆网口数据包卸载,我们会在后续系列文章中做出分享基于米尔MYC-J7A100TSFP采集后PCIE XDMA中断读取。
  • 热度 2
    2019-10-10 11:01
    3365 次阅读|
    1 个评论
    MPSOC学习之HELLO WORLD
    XILINX 新一代 SOC,Zynq UltraScale+ MPSOC 系列性能强悍无比,相比ZYNQ 7000系列每瓦性能提升5倍,作为一名电子发烧友,都想体验一把这高性能的MPSOC开发板。现在用米尔MPSOC开发板来一个hello world。MPSOC学习之HELLO WORLD,分享给大家。 米尔MPSOC开发板采用Zynq UltraScale+ MPSOC系列处理器设计(具体型号XCZU3EG-1SFVC784,未来可选用XCZU2CG,XCZU3CG.XCZU4EV,XCZU5EV) ,且单芯片融合4核心Cortex-A53(Up to 1.5GHZ),2核心Cortex-R5, GPU和154KLE的FPGA(包含DSP模块)。配备4GB DDR4(64bit ,2400MHZ), 4GB eMMC,128MB QSPI flash 且板载千兆以太网/USB PHY的情况下仍将尺寸控制在62*50mm。米尔MPSOC开发板非常适合人工智能,工业控制,嵌入式视觉,ADAS,算法加速,云计算,有线/无线通信等广泛领域。米尔的板子向来追求做工精致,这款新推出的MPSOC开发板也是如此: 下面是MPSOC之HELLO WORLD学习笔记: 开发环境:vivado 2017.4,开发板型号:米尔MYD-CZU3EG, 主芯片XCZU3EG-1SFVC784。(这个系列板子还有4EV,5EV等版本,手里的3EG版本不支持SFP,因此板上相应接口(白色部分)是空贴的。) Step1 新建vivado工程 New Project, 点击Next进入下一步,填写工程名和选择工程保存路径,点击Next。继续往下,按照截图的配置选择开发板型号为 xczu3eg-sfvc784-1-e ,点击Next,点击Finish。新建的vivado工程,如下图所示 tep2 新建Block Design 点击导航栏的Create Block Design,出现Create Block Design对话框。这里可以自己填写名称,我这里直接用默认的名称,点击OK。新建的Block设计区如下图: Step3 调用ZYNQ IP核并配置 点击Add IP,在导航栏输入ZYNQ,然后双击ZYNQ UltraScale+MPSoC。添加的ZYNQ核,如下图所示: 双击ZYNQ IP核导入配置文件 Apply Configuration 添加配置文件 导入 hello_world.tcl配置文件,点击OK 点击OK,完成ZYNQ 核配置。 Step4 综合 Generate Output Products 点击Generate Step 5 生成顶层文件 Create HDL Wrapper 点击OK,完成生成顶层文件步骤。 Step6 生成bit文件 点击快捷工具栏上的Generate Bitstream 连续点击OK,bit生成成功,点击Cancel关闭对话框。 Step7 导出硬件配置文件 Export Hardware 勾选Include bitstream,点击OK Step8 打开SDK Launch SDK,点击OK Step9 新建fsbl Application Project,添加工程名fsbl,点击Next 选择Zynq MP FSBL,点击Finis Step10 新建hello_world工程 Application Project。填写工程名 hello_world, 点击Next 选择Hello_World模板,点击Finish Step11 生成BOOT.bin文件 Create Boot Image,点击Create Image。生成的BOOT.bin文件,如下图所示,然后将这个生成的BOOT.bin文件拷贝到SD卡上 MPSOC开发板模式设置,这里我们设置为SD卡启动模式 MPSOC开发板连接12V电源、连接uart串口、插入SD卡 MPSOC开发板上电运行 串口打印输出 Hello World 好啦,用MPSOC上输出HELLO WORLD已经完成。其实也不难,关键是要多看开发手册、光盘资料,在配置细节上留意(因为篇幅太长,这里缩减了许多步骤图片)。另外,有不明白的地方可以找米尔技术支持。
  • 热度 3
    2019-10-10 10:37
    5182 次阅读|
    1 个评论
    米尔UltraScale+ MPSoC平台开发板评测
    来源:电路城 米尔科技推出的MYD-CZU3EG开发套件搭载的就是UltraScale+ MPSoC平台器件 — XCZU3EG,它集成了四核Cortex™-A53 处理器,双核 Cortex™-R5 实时处理单元以及Mali-400 MP2 图形处理单元及 16nm FinFET+ 可编程逻辑相结合的异构处理系统,具有高性能,低功耗,高扩展等特性,除了这款异构SOC之外,板子还搭载了丰富的接口和完善的开发资料,可以帮助开发人员降低产品开发周期,实现产品快速上市,下面我们来一探究竟。 开箱 暖色调的简洁外包装上印有一行“Make Your idea Real”,不免给人一种立马开箱动手躁起来的冲动。 开箱之后就是摆放在内衬中的板卡和配套设备。除了板卡之外,配套的电源、数据线、SD卡和光盘等等,可谓考虑齐全。 板卡资源介绍 笔者迫不及待的拆开板卡的防静电袋,下面来看一下这块性能小怪兽的样子。MYD-CZU3EG 开发板由MYC-CZU3EG 核心板加MYB-CZU3EG 底板组成。散热器下面是核心板,这是一个CPU最小系统模块,集成了主处理器和存储。底板是一块外设接口板,集成了电源和多种接口,方便评估或集成。 下面我们详细的了解一下板卡详细的组成结构,首先,核心板基于Xilinx XCZU3EG全可编程处理器,4核Cortex-A53(Up to 1.5GHZ)+FPGA(154K LE),具体型号:XCZU3EG-1SFVC784,(未来可选配XCZU2CG, XCZU3CG,XCZU4EV,XCZU5EV),性能强大;板载4GB DDR4 SDRAM(64bit,2400MHZ) 及丰富的存储资源,从容应对复杂运算;板载千兆以太网PHY 和USB PHY , 轻松实现高速互联,如此奢华的配置,板子尺寸只有62*50mm,紧凑程度令人赞叹。 另外,板子选材和用料讲究,据称使用了Intel电源模块,松下的M6 PCB板材,Micron存储,村田电容,还是非常良心的。 底板的外设接口丰富,板载了串口,网口,HDMI,DP,SATA,PCIE,USB3.0 Type-C,LCD,PMOD,Arduino,FMC-LPC,TF 卡接口,SFP,ADC,CAN等多种接口,方便用户评估或集成。这些接口根据SOC的结构,有的接在PS端,有的接在PL端。 MPSoC开发板配置 PS 单元: 1 路千兆以太网 1 路USB3.0 typeC 接口 1 路DisplayPort 接口 1 路PCIE2.1 x1 接口 1 路SATA3.1 接口 1 路CAN 接口 1 路RS232 串口 1 路TF 卡接口 1 路I2C 接口 1 个复位按键,2 个用户按键, 1 路JTAG 内置实时时钟 PL 单元: XADC 接口 1 路Xilinx 标准LPFMC 接口 1 路HDMI 接口,RGB 24bit,不支持音频 1 路LCD DIP/LPC 接口,RGB 24bit,与HDMI 复用显示信号 电阻式电容式触摸屏接口,集成在LCD 触摸屏接口 2 路PMoD 5 个电源指示灯 4 路SFP 模块接口 1 路Arduino 接口 除了板卡之外,套件内的光盘提供了包括用户手册,使用示例、PDF底板原理图,外扩接口驱动,BSP 源码包,开发工具等,为开发者提供了完善的软件开发环境,帮助降低产品开发周期,实现产品快速上市。 Zynq UltraScale+ MPSoC介绍 1.真正的全可编程异构多处理SOC 在使用板子之前,我们先来了解一下这款板卡的核心芯片——XCZU3EG,这是Xilinx继ZYNQ-7000系列之后推出的真正的全可编程异构平台,Zynq® UltraScale+ MPSoC 器件不仅提供 64 位处理器可扩展性,同时还将实时控制与软硬件引擎相结合,支持图形、视频、波形与数据包处理。置于包含通用实时处理器和可编程逻辑的平台上,三个不同变体包括双应用处理器 (CG) 器件、四核应用处理器和 GPU (EG) 器件、以及视频编解码器 (EV) 器件, 为 5G 无线、下一代 ADAS 和工业物联网创造了无限可能性。 MYD-CZU3EG开发套件目前搭载的是EG器件,后期还可以选配CG或EV器件。EG 器件采用运行速率高达 1.5GHz 的四核 ARM® Cortex-A53 平台与双核 Cortex-R5 实时处理器、Mali-400 MP2 图形处理单元及 16nm FinFET+ 可编程逻辑相结合。 该器件有着无与伦比的集成度、高性能和低功耗特点,与 Zynq-7000 SoC 相比,系统级性能功耗比提升5 倍,为交付最低系统功耗而精心设计,官方给出的典型应用包括基带 L1 加速、公共安全与移动无线电和8x8 100 MHz TD-LTE 远端射频单元等场景。 2. 多媒体的理想系统 说到应用,不得不提Zynq UltraScale+ MPSoC最最擅长的领域——面向视频编解码器和图形引擎的前沿多媒体解决方案。赛灵思SoC为多媒体解决方案提供了多种支持,包括: 集成型视频编解码器单元 (VCU) 集成型图形处理单元 (GPU) 含集成式 DisplayPort 接口模块 集成型可编程逻辑 (PL) EV 器件带有集成型 GPU 和H.264 / H.265视频编解码器,专为超高清 (UHD) 视频而设计带有集成型 H.264 / H.265 视频编解码器,能够同时编解码达 4Kx2K (60fps) 的视频,可实现单芯片4K视频处理,当然MYD-CZU3EG开发板使用的是EG器件,没有视频编解码器,但是有Mali-400 MP2 GPU。 Mali-400 MP2 GPU与 APU 直接绑定,还可在帧缓存中加速视频图形渲染,从而实现显示器输出。GPU 可通过独立的并行引擎进行像素渲染,速度远高于依靠 CPU 来处理图形,而且与需要设计人员添加片外 GPU 引擎的解决方案相比,成本与功耗均更低。GPU 通过全面可编程的架构加速 2D 和 3D 图形,该架构既支持基于着色器的图形 API ,也支持固定功能图形 API 。GPU 具有抗锯齿功能,能实现最佳图像质量,且几乎不会造成额外的性能损耗。Xilinx配套提供经实践检验的全套 Linux 驱动程序,能自动将图形命令从 APU 转到 CPU 处理。 另外,Zynq UltraScale+ MPSoC 提供高速互联外设,后者包含集成式 DisplayPort 接口模块。DisplayPort接口位于 PS 端,可多路复用至四个专用高速串行收发器中的两个,工作速率高达 6 Gb/s。该架构摆脱了对于额外显示芯片的需求,进一步降低了系统 BOM 成本。 DisplayPort 接口基于 VESA DisplayPort Standard Version 1 和 Revision 2a 开发,其提供的多个接口能处理来自 PS 或 PL 的实时音视频流,也能存储来自存储器帧缓存的音视频。它同时支持两个音视频流水线,支持 alpha 混合、chroma 复采样、色彩空间转换和音频混合等功能的动态渲染。DisplayPort 既可使用一个 PS PLL,也能使用 PL 的时钟生成像素时钟。 除视频编解码器和图形处理之外,多媒体应用还需要其他重要组件,如视频数据的输入输出管理 , 以及处理高速视频数据的功能。在 PL 内可设计定制化逻辑,用于捕获来自直播源的视频。例如,SDI RX、HDMI RX、MIPI CSI IP 等协议均可用于捕获不同来源的原始视频。视觉算法可用于采集来自原始数据的重要信息,如路标识别和针对驾驶员辅助技术的动作检测、视频监控面部识别、高级拍摄应用的物体与动作识别等。除收集数据外,算法还可用于音视频广播和视频会议等用例中处理与操控原始数据。考虑到今后几年视频分辨率不可避免的攀升态势,有关算法需要具备极高的工作速度。PL 为此类算法提供了所需的硬件加速功能,便于大幅提高性能,满足下一代技术需求。 Zynq UltraScale+ MPSoC 的灵活性能加速计算密集型应用程序,在 GPU、CPU 和 PL 之间共享工作负载,在 PL 中可卸载复杂的算数计算以实现硬件加速,并且在 APU 上可预先计算 OpenGL 着色语言 (GLSL) 一致变量。GPU 着色器核心上的计算仅适用于顶点和片断之间不同的值。整批顶点中所有保持常量的值在 CPU 上处理最为有效。 3. 无与伦比的系统性能功耗比 Zynq UltraScale+ MPSoC 在设计之初就考虑了高效电源管理问题,该器件被分为四个电源域: 处理系统 (PS) 中的电池电源域包含实时时钟和电池供电的 RAM。 PS 中的低电源域包含 RPU、通用外设、片上存储器 (OCM)、平台管理单元,以及配置安全单元。 PS 中的全电源域包含 APU、高速外设、系统存储器管理器和 DDR 控制器 可编程逻辑 (PL) 位于自身的电源域中 Zynq UltraScale+ MPSoC 含有可控制电源域的创新型平台管理单元 (PMU),。PMU 负责器件的安全管理,并监管电源域内的电源。不用的电源域可在启动时关闭,然后智能地通过中断或事件唤醒,实现精细的电源管理。 我们已经知道Zynq UltraScale+ MPSoC 内部分了多个处理核心,四核ARM Cortex-A53是应用处理单元,具有高效的基线性能,适合Linux应用处理;双核 ARM Cortex-R5是实时处理单元理想适用于低时延确定性应用,诸如安全模块和 APU 任务分担等,另外图形引擎,高速外设等针对特定应用做了优化,各个模块各司其职,系统性能明显提升。该器件采用了台积电 (TSMC) 的 16nm FinFET 工艺节点,。该工艺节点采用更高效的晶体管实现方案,具备最佳的开关速度以及比平面工艺更低的漏电流,因此能实现更高性能和更低功耗。从 28nm 的 Zynq-7000 到 16nm 的 Zynq UltraScale+ MPSoC,性能提升了 60%,功耗降低 20%,使原始处理器性能提升 2.7 倍。 示例 板 子QSPI闪存预先烧录了Linux镜像,默认也是从QSPI闪存启动的,使用数据线连接板子串口和PC,连接电源,板子上电,打开putty,可以看到系统启动信息。通过命令行可以登录,默认密码是root。 光盘中也提供了系统的镜像文件,用户如果不熟悉Linux系统编译,可以直接使用。 另外,MYD-CZU3EG 光盘中提供了常用外设的演示程序,例如: 使用Linux API 操作开发板上的LED 使用Linux API 操作开发板上的按键 使用Linux API 操作开发板上的CAN 使用Linux API 进行网络通讯 程序以及源码都位于“/Examples/”,用户可以根据目录内的Makefile 进行编译。 这里我们使用Xilinx Vivado新建一个HelloWorld工程,生成启动镜像,从TF卡启动。整个过程分为: 生成开发板的硬件平台 将硬件平台导出到SDK 创建一个“HelloWorld”工程 产生Boot Loader(fsbl) 生成SD 卡启动映像,从microSD启动 尔科技作为国内首款Zynq UltraScale+ MPSoC平台开发板,MYD-CZU3EG核心板性能配置强大且设计紧凑可靠,外设底板接口资源丰富,厂家为开发者提供的软件开发环境也比较完善,非常适合人工智能,工业控制,嵌入式视觉,ADAS,算法加速,云计算,有线/无线通信等应用领域做原型开发。
相关资源