0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大串流时代,VPU的优先级甚至高过GPU

E4Life 来源:电子发烧友 作者:周凯扬 2024-05-24 00:16 次阅读

电子发烧友网报道(文/周凯扬)无论是长视频串流平台,还是短视频社交媒体,每日庞大的视频上传数据和访问量都对其背后的硬件平台提出了极高的要求,比如网络带宽、时延、视频处理等,为了进一步优化成本,硬件的选择成了一大难题。比如在视频编解码上,面临效率较低的CPU软件转码和成本较高的GPU硬件转码,不少公司决心改用更具性价比的VPU。

为什么我们需要VPU?

对于视频流媒体网站而言,高效的编码可以在有效节省带宽成本的同时,保证视频质量不变,诸如H265、VP9和AV1等。然而,依赖软件编码虽然能够带来极高的画面质量,但对硬件占用和配置要求高,使得编码效率极低,远不如FPGA、GPU之类的硬件加速。而基于ASIC的VPU,则进一步提高了编码效率,在成本上也要低于FPGA、GPU等硬件。无论是租用服务器还是采用本地服务器,都能使性价比成倍增长。

除了视频串流之外,VPU在另一个云端应用场景中同样起到了至关重要的作用,那就是云游戏。对于云游戏而言,服务器内部的GPU和CPU已经贡献出了一部分算力用于游戏的运行和图形处理,如果再加上视频编码的工作,无疑会进一步加重负载,这也就意味着同规格硬件的并发数会进一步降低。这样的改变反映到租用服务器的游戏厂商上,就等效于支持单个用户的成本降低。

坐拥全球最大视频网站,谷歌选择了自研VPU

要论播放量、规模、地区覆盖以及视频质量,排名第一的视频网站自然是谷歌的Youtube。每分钟500小时以上的视频上传量,超过19亿的月活跃用户,让其成为独一档的视频串流与分享平台。然而,在各大视频网站中,谷歌在图像质量上依然有着绝对的优势,这一方面归功于谷歌的网络基础设施建设,另一方面也与其自研的VPU脱不了干系。

从2015年起谷歌就开始研究独立的视频处理单元,从而用到更加高效的编码,比如VP9。2021年,谷歌发布了首个自研的视频处理单元,谷歌将其称为Argos VCU。这个谷歌自研的ASIC芯片,对最高4K60fps的H.264和VP9编码提供了完整的支持,同时支持单/多输出转码、速度/质量微调等。

wKgZomZPF-iAHLtLABQn0twAveY694.png
谷歌VPU / 谷歌

谷歌声称,相比在传统服务器上使用经过优化的软件转码方案,VCU给他们带来了20到33倍的计算效率提升。与此同时,与谷歌的TPU一样,谷歌已经准备好了硬件迭代的方案,比如增加对AV1编码的支持、进一步提高负载等。

第三方ASIC VPU,智能化成为趋势

有了谷歌的前车之鉴,不少厂商都开始打起了VPU的主意,这也包括了不少第三方VPU设计厂商。以NETINT为例,他们推出了Codensity G5这一ASIC芯片,单芯片可以支持32个1080p30、8个4kp30和2个8kp30视频流的实时编码,时延仅有8ms。Codensity G5既支持H.264、HEVC、AV1的编码,也支持H.264、HEVC和VP9等格式的解码。

与此同时,基于Codensity G5打造的VPU模组还具备18TOPS的AI算力,可以用于视频分析之类的AI从处理器,比如背景去除、画面加强、面部检测和物体检测等。Codensity G5也可与不同架构的CPU混合使用,比如x86的AMD EPYC处理器、Arm的Amepre Altra Max处理器等等。

wKgZomZPF_aAAWQMAAQCySQEh7g545.png
Alveo MA35D / AMD


除此之外,还有曾经以FPGA媒体加速卡方案闻名的AMD/Xilinx,其Alveo U30就是一款混合了ASIC和FPGA设计的处理器。但从去年发布的Alveo MA35D媒体加速卡开始,就成了不折不扣的ASIC VPU方案。相比上一代Alveo U30,Alveo MA35D实现了4倍的通道密度和1.8倍的压缩效率,编解码除了支持主流格式外,也新增了AV1的编码和VP9、AV1的解码。同样是4Kp60的视频,相较于U30的32ms转码时延,MA35D也能做到与Codensity G5一样的8ms。

写在最后

对于多数视频平台而言,有关视频处理类的工作也不仅仅是依赖VPU等硬件,还有一整套预处理管线等。但随着视频在社交媒体内的占比越来越高,VPU能够带来的成本、部署时间优势将越来越明显,尤其在带宽费用寸土寸金的国内。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4661

    浏览量

    128528
  • vpu
    vpu
    +关注

    关注

    0

    文章

    15

    浏览量

    11756
收藏 人收藏

    评论

    相关推荐

    freertos中断优先级在哪设置

    FreeRTOS是一个流行的实时操作系统,它广泛应用于嵌入式系统开发。在FreeRTOS中,中断优先级是一个重要的概念,因为它决定了中断处理的顺序和响应时间。 1. 理解中断优先级 在讨论如何设置
    的头像 发表于 09-02 14:17 456次阅读

    APS智能优化排产软件的优先级应用

    资源、订单需求和约束条件,自动计算出最优的生产计划。在这个过程中,订单排产的优先规则起着至关重要的作用。1.交期优先级交期优先级是订单排产中最基本的优先规则。根据
    的头像 发表于 06-26 17:43 296次阅读
    APS智能优化排产软件的<b class='flag-5'>优先级</b>应用

    ESP32S2如何设置中断优先级

    ESP32S2有六中断, 如何设置中断优先级? 比如在GPIO例程里 ,这种中断优先级是如何设置的呢? 中断寄存器列表里 ,只有简称,哪里能获取这个名称所对应的功能??
    发表于 06-21 07:59

    请问有什么方法降低WIFI中断的优先级

    因为项目对时序输出要求比较严格,WIFI中断优先级比硬件定时器中断优先级要高,在定时器中断里面对GPIO管脚控制被延长执行,请问有什么方法降低WIFI中断的优先级
    发表于 06-19 07:37

    systick的中断优先级是否应该设置为最高优先级的嵌套中断?

    最近在学习ucosii有这样一个疑问,关于stm32的systick作为ucosii的基准时钟,systick的中断优先级是否应该设置为最高优先级的嵌套中断。理由是什么?各位大侠求指教!!!
    发表于 05-16 06:44

    创建了两个task如果一个优先级高 一个优先级低,高优先级的那个一直在做,什么时候会调度到低优先级的呢?

    创建了两个task如果一个优先级高一个优先级低, 我看到任务的函数都是用死循环做的,那个高优先级的那个一直在做,什么时候会调度到低优先级的呢?
    发表于 05-13 07:13

    求助,关于stm32F4中断优先级0无法抢占的问题求解

    使用F407遇到一个抢占优先级的问题: 现设置优先级分组 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);也就是15个优先级分组。按照手册说明0
    发表于 04-23 07:26

    STM32F103的寄存器NVIC_IPRx抢占优先级和子优先级是怎么设置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,抢占优先级和子优先级是怎么设置的? 如果,中断分组2,抢占优先级3,子优先级3 那下面这样写对吗? SCB->AIR
    发表于 03-27 07:48

    Hightec对芯片中断优先级分配时,中断号越高中断优先级越高吗?

    请问大佬,Hightec对芯片中断优先级分配时,中断号越高中断优先级越高吗?看网上的帖子说中断号越低优先级越高。
    发表于 02-27 06:13

    RTTnano的用户main函数中的优先级是多少?

    RTTnano 的用户main函数中的优先级是多少?为什么会出现创建新的task之后,main函数会抢占掉低优先级的task,例如RT_THREAD_PRIORITY_MAX设置为8 ,低于3
    发表于 02-26 08:01

    华为和思科默认路由优先级

    优先级值不同,则优先级值最小的为最优路由(无论开销值是否相同,另一种理解就是对不同路由来源或路由协议之间的比较)。
    的头像 发表于 01-11 10:47 1017次阅读

    GD32如何配置中断优先级分组以及中断优先级

    使用GD32 MCU的过程中,大家可能会有以下疑问:中断优先级如何配置和使用?
    的头像 发表于 01-10 10:30 2841次阅读
    GD32如何配置中断<b class='flag-5'>优先级</b>分组以及中断<b class='flag-5'>优先级</b>

    python中运算符的优先级大小

    Python中运算符的优先级决定了表达式中各个运算符的计算顺序。了解运算符的优先级对于正确理解和编写复杂的表达式非常重要。本文将详细介绍Python中运算符的优先级,并给出一些示例来帮助读者更好地理
    的头像 发表于 11-29 16:21 2918次阅读

    python运算符优先级顺序口诀

    Python是一种非常流行的编程语言,具有广泛的应用领域。在Python中,运算符是进行各种数学和逻辑运算的关键部分。了解运算符的优先级顺序对于正确理解和书写Python代码至关重要。在本文中,我们
    的头像 发表于 11-22 14:34 2032次阅读

    单片机的中断优先级是怎么确定的?

    单片机的中断优先级是怎么确定的,如果设定优先级后怎么确定设定的对不对?
    发表于 11-03 06:32