Xilinx FPGA,“加速”视频质量提升
Photo by Chris Peeters from Pexels
本文内容来自Xilinx 张吉帅在LiveVideoStackCon2019深圳站上的精彩分享,他将重点讨论异构计算中非常具有潜力的一部分 —— FPGA,并详细介绍赛灵思以及其技术生态合作伙伴在有关视频加速,图片转码等方面的解决方案。
文 / 张吉帅
整理 / LiveVideoStack
1. FPGA的优势
大家好,我是来自Xilinx的张吉帅,随着视频内容的火爆,其在网络上的传输量越来越大,对视频编解码算力也有了更高的需求;此外,视频压缩的标准也在不断提升,对于H.264视频编码压缩,CPU基本可以勉强支持,但对于H.265、VP9、AV1等更高的视频编码标准来说则难以胜任。根据实际数据显示,相较于CPU与GPU在BASE LAN加速卡上的表现,基于FPGA可以实现对H.265 1080P 120帧/秒的视频编码压缩,并且在压缩率、压缩质量以及功耗上都具有更大的优势。除此之外,与ASIC相比,其性价比会高于FPGA。FPGA还占有相当大一部分市场份额的原因主要是因为FPGA从方案设计开发到实际应用,整体流程周期非常短。
具体地说,赛灵思所提供的各种硬件加速解决方案,架构通常为FPGA+CPU的异构方式。从开发者或者应用的角度,实际CPU端包含一个应用程序,FPGA端则包含一段二进制的FPGA逻辑代码。而从使用的角度来看,只需要考虑图中横线以上部分的使用,与传统软件类似,使用起来相对简单。
在实际应用中,FPGA部分实现的是编码相关的功能,CPU部分则是通过框架加插件的方式实现FFmpeg的应用,并且插件部分已经集成,无需开发,用户只要简单调用FFmpeg,即可使用赛灵思高性能的H.264编码器。
图为赛灵思H.264、HEVC、VP9、AV1等FPGA相关IP产品。FPGA异构计算的灵活性体现在我们可以将多种不同IP放入同一芯片,完成多种不同工作。例如GPU或ASIC可以实现编码相关工作,而对于赛灵思FPGA,我们可以在芯片中加入HEVC和ABRScaler的IP,从而实现多种不同码率视频流的生成。除此之外,还有低延迟等更多特性。
2. Xilinx Media Accelerator(XMA)
赛灵思提供了一整套的API,即Xilinx Media Accelerator(XMA),用户可以基于API完成一系列的开发。从CPU通过PCIE到赛灵思芯片,0拷贝的XMA,可以支持多线程、多进程,当然还包括刚才提到的到FFmpeg框架的接口API。
2.1 FPGA接入VP9编码器
与ASIC不同的是,赛灵思FPGA芯片可用于不同工作。例如接入的是VP9编码器,图中浅蓝色部分为CPU进行的工作,红色部分为FPGA芯片进行的工作。数据进入芯片,通过CPU完成解码,进行音频和视频的解码调试,将解码出的视频发送至ABR的IP,再将结果传递给VP9编码器,最终与音频进行调制,生成VP9编码的音视频媒体流。
2.2 HEVC+VP9编码视频流生成
在上述方案的基础上,只需要加载HEVC的IP,即可在同一芯片中实现VP9编码视频流以及生成HEVC编码视频流。
2.3 人脸识别
除此之外,如果我们希望实现视频中人脸识别的功能,还可以在其中加入Machine Learning的IP。
2.4 同一芯片中可接入多个IP
上述内容中所提到的ABR的IP,H.264的IP,在同一芯片中可以接入多个,并通过CPU进程进行调度。
编码器多路视频流输入、输出的应用
3. 赛灵思实时视频转码架构
如上架构图所示,赛灵思实时视频转码包含两种不同的途径,XMA和OpenCL。按照层次结构,向下划分为HAL硬件抽象层,驱动以及最底层的数据通道和管理通道。
实现编码器编程所需要了解的XMA的相关API
上述XMA相关API事实上是对编码、解码等行为的抽象,因此我们可以看到基本上都是初始化的过程,即发送数据到Lower Edge,再到Video Kernel。
Video Kernel与芯片中相关IP接入时的代码
文末给出的参考链接,github中的代码可以直接运行
如果不需要通过FPGA开发新的功能,只是简单的使用编码器,如图左所示为传统的FFmpeg框架,如图右所示为赛灵思编码器中FFmpeg的调用。
点击【阅读原文】访问购票页面
Xilinx FPGA,“加速”视频质量提升相关推荐
- android log 码率,webrtc之Android视频质量提升:保帧率降码率
前言: 我们的产品是在一款跑着Android系统的特定芯片上使用webrtc开发的一个视频通话业务,当前的情况是在网络正常的情况下帧率也比较低,弱网环境下适应能力较差.基于此,我了解了webrtc A ...
- 短视频质量提升(包装)——Ins风格漫画特效短视频特效模板
Ins风格漫画特效短视频特效模板 这是一个明亮的动态动画Premiere Pro模板,使用丰富多彩的效果组合来揭示和增强您的媒体.包含6个充满乐趣和奇妙的动画设计.你可以用它们来显示你的漫画人物概念, ...
- xilinx c语言u16,Xilinx FPGA LVDS应用
最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...
- 基于Xilinx FPGA生态,加速提升视频处理质量
随着5G开启万物互联的崭新纪元,用户.流量.应用场景不断扩张,视频服务不仅会深入渗透全产业领域,也将为各行各业的产品应用增值赋能.不断提升的存储.传输与计算资源,从分辨率.码率.色彩与传输稳定性上全方 ...
- 视频加速方案的最优解 - Xilinx硬件加速技术专场(深圳站)
从AI到编码.转码,硬件加速方案正在扮演越来越重要的角色.12月13日·深圳 | LiveVideoStack联合赛灵思出品[赛灵思视频加速技术]专题,将展现基于FPGA的硬件加速特性,在视频.图片编 ...
- 视频加速方案的最优解 - Xilinx硬件加速技术专场
从AI到编码.转码,硬件加速方案正在扮演越来越重要的角色.8月23日·北京 | LiveVideoStack联合赛灵思出品[赛灵思视频加速技术]专题,将展现基于FPGA的硬件加速特性,在视频.图片编码 ...
- 压缩 质量不变_来了!业内首个HEIF图像高质量压缩FPGA加速方案
近日,元脑生态伙伴深维科技与浪潮联合发布业内首个基于FPGA的HEIF图像处理加速方案.相比于CPU处理,在保持图像质量不变的情况下,该方案的处理性能提升5倍以上并显著降低计算成本.HEIF是一种新型 ...
- 快手团队长文解读:基于FPGA加速的自动语音识别在大规模直播和短视频场景的应用...
来源:机器之心 本文约6000字,建议阅读10分钟 本文介绍了基于FPGA加速的自动语音识别在大规模直播和短视频场景的应用. 典型的实时流式自动语音识别业务如语音搜索.语音输入等和用户操作相关,直接影 ...
- AI周报丨快手团队长文解读:基于FPGA加速的自动语音识别在大规模直播和短视频场景的应用
AI周报 - 热门论文 - 题目:On Training Implicit Models 本文主要研究无限层隐式模型的训练问题.具体地说,以前的工作采用隐式微分,并为反向传播计算精确的梯度.然而,是否 ...
最新文章
- Go 学习笔记(25)— 并发(04)[有缓冲/无缓冲通道、WaitGroup 协程同步、select 多路监听通道、close 关闭通道、channel 传参或作为结构体成员]
- 二维数组 类型_Java第六章 | 二维数组的创建及使用、数组排序算法
- toj 4601 好老师
- MyBatis学习总结(13)——Mybatis查询之resultMap和resultType区别
- 重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor
- DAY8-Nessus漏洞扫描
- 自制AMD CS5536关机代码和嵌入式
- 使用自制ADempiere 3.6.0 LTS安装软件进行安装(基于Ubuntu Desktop 12.04 LTS)
- VC6编译64位程序
- phpstudy安装及简单使用教程
- django book学习笔记
- 使用max函数计算EXCEL个税公式
- 您还差宝贝一张语文教学光盘!教你如何制作ISO文件
- Shell脚本——免交互
- 微信订阅号要租服务器吗,订阅号怎么向认证号借权-微信订阅号已经认证是否有网页授权功能...
- 基于Huffman编码的C语言解压缩文件程序
- js实现图片无缝滚动特效
- 苹果Swift编程语言入门教程【中文版】
- RESTful API 末尾斜杠
- 对uni-app框架的认识
热门文章
- matplotlib.pyplot---------Python强大的绘图功能软件
- 第16章 C预处理器和C库 16.3 在#define中使用参数
- 【原】a.class与a .class的区别
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
- 【蒲公英技术征文】如何在 ESP-12F/ESP8266 上实现 webserver
- 更新整理本人所有博文中提供的代码与工具(Java,2013.11)
- 关注并订阅Autodesk地理信息解决方案相关技术博客赢取Autodesk权威开发专家编写的官方推荐教材!!...
- DiskFileUpload类常用方法
- 八部委宰割C类电商 消费者必遭殃
- CodeForces - 830C Bamboo Partition(数学+推公式)