前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​边缘计算架构如何融合视频编码与存储

​边缘计算架构如何融合视频编码与存储

原创
作者头像
LiveVideoStack
修改2019-10-25 17:55:33
1.6K0
修改2019-10-25 17:55:33
举报
文章被收录于专栏:音视频技术音视频技术

NETINT是一家在高性能存储和视频编码领域拥有多项世界前沿技术的芯片设计公司,在上海、温哥华、多伦多三地设有研发中心。NETINT公司的CodensityTM系列和EdgeFusionTM系列芯片和产品为云数据中心和边缘计算场景提供了颠覆性的超高密度视频转码和存储解决方案。本文来自NETINT公司的联合创始人兼COO 刘伟在LiveVideoStackCon2019北京站上的精彩分享。

文 / 刘伟

整理 / LiveVideoStack

NETINT是一家在高性能存储和视频编码领域拥有前沿技术的芯片设计公司,在上海、温哥华、多伦多三地设有研发中心,并且有将近一百名资深研发工程师。经过了四年的研发NETINT拥有了世界上第一款可计算存储架构的融合存储功能和视频编解码功能的SoC芯片,这款芯片正式通过了PCIe SIG的认证测试,是世界上第一款支持PCIe 4.0接口的高性能芯片,在这项技术上,NETINT要远超其它芯片公司。

今天主要想和大家分享5G爆发的前提下,边缘计算场景中对于视频的各种应用有什么样的机会和挑战,通过NETINT自身的案例出发,与大家一起交流和讨论如何推进市场的发育和成长。

1. 市场趋势

上图中摘要的内容我相信大家在其他会议上都看过很多次,在整个互联网流量中,到2022年为止会有82%的流量是基于IP视频的流量,未来很长一段时间内,与视频业务相关的内容都会得到急剧的增长,比如直播到2022年预计会有15倍以上的增长,也包括长视频点播、短视频以及其他创新型应用,各种各样不断新涌现的应用和爆款场景也在推动用户对视频内容和质量的上升。

在最开始关注游戏直播时,当时有很多人称720P为高清,结果很快这个标准就被推升到1080P,目前在Twitch上1080P 60帧每秒的直播到处都是,不仅仅是在手机、平板等移动设备上,将其投在客厅的4K电视上会带给用户非常好的体验,但这也只是开始。Twitch当前也在经历每几个月就翻一番的发展速度,同样的情况也发生在中国,这种需求增长会不断推动系统架构和业务形态的创新,以求解决上述问题。

1.1 基于中心式编解码的架构缺陷

上图是从视频源到编解码处理单元、并通过CDN传输的多个显示设备的一个简要的直播流程。编解码器把高分辨率的视频依据不同用户需求转成不同的分辨率大小,同时也会进行H.264和H.265之间不同的变换,并通过CDN发送给不同的用户显示设备。编解码单元在系统中可以有不同的集成位置,对于比较大型的云视频公司会放在系统内部,CDN在外部只负责传输;同时,也有一部分云视频公司会选择把所有业务都外包给CDN网络提供商,由它来负责视频传输和转换工作。

基于数据中心的处理方式具有一定优势的同时也存在很大的缺点。首先一个优点是第一次资本采购的支出会比较小,可以充分利用现有空闲的CPU时间进行转码和编码的各种运算。然而这样的架构会使日常运行的费用非常的高。视频编解码,尤其是编码对CPU的消耗非常的高,对于直播场景来说,头部内容占比不到10%,其他绝大部分的内容由于热度不够,都采用云转码来实现会造成很大的资源浪费。

另外从视频源的产生到云中心再到观看者之前的数据链路非常长,容易造成视频质量变化,这对于客户的体验是一个比较大的挑战。而随着视频分辨率的不断增加和其他创新型应用的出现,云中心的数据处理压力变得越来越大,当达到服务器峰值的时候可能会出现没有资源可再分配的情况,为了实现5%的增益可能会付出40%-50%的成本,更为严重的是,系统资源成为约束业务进一步增长的瓶颈,这对于竞争日趋激烈的视频相关产业而言,是大家都无法接受的一个情况。

传统上内容为了照顾到不同的显示设备和生态会大量采用H.264,随着更高分辨率的内容出现,对于更新型的内容应用,大家都更多采用VP9和H.265,也有不少公司在筹划未来的AV1。从4K内容开始,到8K等高端内容出现时,H.264将会成为过去式。新型Codec编码需求对算力来说也有很大的挑战,以H.264到H.265变化举例,1080P 30帧每秒的视频编码消耗H.265是H.264的3-4倍,对于场景比较复杂的视频,编码难度更高,经常要额外预留50%的算力来防止质量抖动,这些都加剧了中心式编解码的架构压力。

2. 边缘计算架构

当前越来越多的公司把目光都转向了边缘计算架构。5G的高速和其它新颖特性带来很多系统架构创新的机会。人们一方面在5G环境下想充分利用它的高带宽,但又不想付出太多的成本的,很多人对边缘计算架构抱有很大的期待。总体而言,边缘计算把内容的产生和处理和消费靠的越近,就越能提升用户的体验,提高QoE的值。对于与会大家关心的内容而言,通过边缘计算进行视频处理可以达到更实时的效果,大家可以实现一些之前没办法做到的事情,进入新颖的低延迟场景。将边缘云计算打造成云数据中心,并不是孤立的新创立的边缘节点,而是云的计算力向下沉到边缘节点的实例。

2.1 视频边缘计算的典型用例

在5G条件下哪一部分将成为下一个爆款应用,这个问题需要结合现有经验去看未来,虽然不是很准确,但可以断定下一个爆款应用一定是与视频相关。与视频相关可以大概分为Edge CDN for video on demand、User generatedLive Video、AR/VR、Cloud Gaming、Analytics at Edge和Autonomous Car data Edgestorage六个部分。

2.2 用例1:边缘计算

上图是简化后的一个从云数据中心到区域型数据中心最后到Edge型数据中心的分布,无论数据源在哪里都要推送到数据中心进行编解码和处理,然后通过区域型数据中心和边缘数据节点送达到显示设备上。但对于很多场景下的长尾内容或是特殊事件,很多时候内容本身都有很强的区域性的特点,对于这样视频的处理完全没必要返回数据中心。而利用边缘计算节点进行就近及时处理,并在本地进行视频内容的消费,是更优化的方式。

还有一种应用是关于视频监控的。视频监控在国内发展的非常快,但在具体实施上其实有很多值得诟病的地方,比如一个小区有一套监控系统,数据基本存储在本地,从架构上来看其实是一个个的数据孤岛,没办法对内容进行进一步的分析和处理。现在有越来越多的厂商开始基于云架构的监控,现场只负责采集,所有采集的数据都实时上传到云进行处理,并可以在不同终端查看监控数据。但这种方法也存在一定的弊端,比如一枚1080P的摄像头放置在一个较为活跃的场景下,每月产生的数据量会达到300GB,成千上万摄像头对成本和带宽消耗都是非常惊人的。

利用边缘计算模式来处理视频监控内容是最受关注的发展之一。

另外利用在边缘节点进行计算的低延迟特性,可以促进高互动视频内容的生产和消费,比如VR/AR就属于这种性质。有了低延迟和实时芯片级别的处理能力,从内容产生到用户消费反馈再到新一轮内容的产生,整个过程控制在20ms以内,这个数据已经过了VR眩晕的阙值,在20ms内基本不容易产生眩晕感,VR和AR技术的再一次火爆也就指日可待。

2.3 用例2:边缘CDN

在VOD场景中,可以借鉴NETFLIX公开的技术文档,他们的数据不是全部存储在云数据中心,然后通过CDN传输视频,而是在全球建立了两万多个分布式的区域数据中心,将内容按照区域特征和流行统计,在非繁忙时刻把数据提前下载到区域数据中心进行分发,通过这一方式NETFLIX节省了95%的带宽。现在有了边缘计算,可以将带宽节省做得更加极致,从区域型数据中心下沉到边缘节点,存储的分配会更加智能,带宽会得到更大程度的减少。

2.4 用例3:边缘编码和存储-MEC和Edge端Open Cache

对于CDN厂商来说,现在是5G发展的关键时间点,大家都在布局新一代的CDN网络。在这个背景下,电信运营商或CDN厂商不再仅扮演传统数据通道的角色,在5G条件下,可以将数据下载到边缘数据中心,建立一个开放式的边缘计算节点,并通过这个节点将所有算力虚拟化,提供开放的接口给不同的云公司来订购服务,在同样的CDN边缘节点当中,以与视频相关的角度来看,不仅仅是传统的catch部分工作,还包含更多的大文件存储。

另外视频编解码能力也会下放到边缘数据中心,当然AI和其他数据分析的内容也是必不可少的。通过这种方式就可以让整个边缘节点(数据中心)算力得到巨大的发展。边缘计算与云数据中心、区域数据中心相结合的架构,大量的数据发生和处理在本地进行,终端到云的访问次数将减少80%左右。边缘计算的优点很多,但并不是所有的企业都能投入这么大的资本去在全球部署节点。有了开放式的边缘计算节点,客户就可以从运营商处订他们所提供的虚拟边缘节点计算功能,仅需在有需要时,比如在有热点内容出现时,可以临时订购边缘节点的计算功能,很多厂商都预期这种部署可以在一分钟内完成。

3. 云视频监控处理正在走向边缘

上图是之前提到的智慧城市中两种不同的处理方式,监控不再是之前各个私有的小区型监控,都是在本地采集数据同步到数据中心,而这一步也分为两种处理方式,一种是把视频内容直接采集发送到中央数据库,另一种是通过边缘节点的方式。对于边缘计算的处理方式就显得灵活很多,可以在靠近视频产生的边缘节点建立视频处理分析的能力,在此对视频内容进行快速的抽帧分析分析、存储,只把分析出的时间、警报的mate data传送给中央的数据中心,这样做绝大部分的数据流都会被节省下来。

3.1 视频监控工作流程

具体到服务内部,上图是NETINT建议的一种方式,由摄像头所产生的数据输入到边缘服务器之后,首先会对数据进行H.264、H.265的解码,抽帧并发送YUV数据给服务器,在服务器端可以对YUV数据进行基于人工智能的处理分析、图像增强并提取其它有价值的信息。在此之后SSD可以做很高速的cache,或者把处理过的YUV数据发回编码器进行二次编码来优化分辨率,码率或转码成为另外的codec,在边缘节点进行长期的保存,而不用上传到云中心。

另外在此插入了一个NETINT在北美的实际应用案例: 我们有一个为视频监控内容进行增值服务的客户,他们可以拿到全美国的交通视频监控内容,在拿到实时视频后,他们对摄像头产生的视频内容进行H.265二次高效转码,并利用直播的技术将视频内容实时提供给全美快速响应的团队。借助NETINT基于自研芯片的高效视频转码能力,客户实现了非常可观的社会和经济效益。

3.2 基于ASIC的编码

如果想在边缘节点实现上述这些功能其实会有很多挑战,首先边缘节点的数据机房是无人值守的,其中的工作要做到非常稳定、非常高效、以及尽量低的功耗。这样的要求只有芯片级别的解决方案可以做到。用户不可能在每个节点插入很多个GPU,除去昂贵的服务器成本、电费的成本,占用大量的机架空间之外,其工作中产生的热量也是很难解决的一个工程问题。在此我们也也粗浅比较了一下以NETINT基于自研SoC的编解码和传统CPU、GPU、FPGA的不同特点。基于SoC芯片的编解码功耗最低且效率最高,在质量上也有特定的优势。更为独特的是,NETINT这款转码产品其实是以SSD的形态出现,可以充分利用现有存储服务器的资源,非常易于安装和维护。

3.3 可计算存储:在SSD当中进行视频处理

NETINT有两款芯片,一款是专注视频的编解码芯片,另一款是PCle 4.0 NVMe SSD Controller芯片,NETINT也分别开发出了板卡级的产品。两者的形态都是SSD硬盘,只要有PCle接口就可以即插即用。

在八月初NETINT还发布了最新的EdgeFusion系列产品,能够将上述两款芯片的功能结合在一起,在功能更强大的同时形态保持不变。

3.4 视频转码和存储

NETINT芯片的架构图
NETINT芯片的架构图

3.5 关于服务器存储架构

谈到服务器存储架构,NETINT所做的产品是通过标准的NVMe接口,以SSD硬盘的形式出现,可以在现有的标准服务器当中做到即插即用,一个1U的标准服务器不需进行任何定制改造就可以插10张卡,2U的标准服务器可以插24张卡。由于所有的编解码能力是由NETINT芯片完成,CPU不参与编解码,也就不再是整个系统的性能瓶颈。只需插入更多的转码卡,就能实现编解码能力的线性增长。

3.6 下一代前沿架构

除了服务器内部,NETINT也在与前沿客户讨论如何在机架级别做Scaling-out,上图是一个典型的机架,最上端为Switch,在机架内部还连接有一些计算节点,再往下是基于NVMe-oF的存储节点,最后是基于NVMe-oF/ Video Codec节点。这些Video Codec的服务器节点包含Fabric Port和PCle Switch,而PCle Switch连接着一定数量的T480模块,只需在机架上插入一个这样的Video Codec 节点就就具备了36或24 个4Kp60帧的编解码能力。而且通过NVMe-oF的高速接口进行连通,对于服务器和应用看到的内容都相当于存在本地,在性能方面没有任何的瓶颈。这样的架构在目前来看还比较前沿,需要一定时间的继续推进以及与客户的磨合后才能进行推广。

3.7 Codensity软件集成

关于软件部分,NETINT的软件可以做到与FFmpeg无缝结合,NETINT所做的工作是提供一个库,将库提供给客户之后只需要重新编译FFmpeg就可以直接使用,客户现有基于FFmpeg的工作流完全不用变化,与硬件一样具有即插即用的特性。

3.8 Virtual Machines和Containers支持

对于真正的生产环境来说,大家都是通过VM或者容器来做。NETINT的转码卡是在SSD存储的架构上设计的,因此对于VM和容器的支持有着非常好的基础,并可以支持以下几种方式。使用Device-passthrough模式,NETINT将T408作为一个整体提供给VM或容器,一个VM或容器可以连接一个或多个卡。

另外也可以使用在存储方面应用比较多的SR-IOV技术来进行虚拟化,这样就可以做更细粒度的分配,通过SR-IOV可以把SSD和不同的转码实例分配不同的的namespace,这样可以使每一个VM连接不同的instance,能够在更细粒度上进行虚拟化和应用,对灵活分配算力和运维来说是比较有效的技术。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 市场趋势
    • 1.1 基于中心式编解码的架构缺陷
    • 2. 边缘计算架构
      • 2.1 视频边缘计算的典型用例
        • 2.2 用例1:边缘计算
          • 2.3 用例2:边缘CDN
            • 2.4 用例3:边缘编码和存储-MEC和Edge端Open Cache
            • 3. 云视频监控处理正在走向边缘
              • 3.1 视频监控工作流程
                • 3.2 基于ASIC的编码
                  • 3.3 可计算存储:在SSD当中进行视频处理
                    • 3.4 视频转码和存储
                      • 3.5 关于服务器存储架构
                        • 3.6 下一代前沿架构
                          • 3.7 Codensity软件集成
                            • 3.8 Virtual Machines和Containers支持
                            相关产品与服务
                            图像处理
                            图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档