新的开源编码器XVC,AV1和HEVC之外的另外选项?

简介:

视频数据是目前互联网流量中最大的一部分,占用的带宽比重较大。而通常在视频流媒体应用中,播放端可以达到的最高质量水平与可用带宽直接相关,因此高效的视频编码器对于视频内容提供商而言可以有效降低带宽成本。目前市场上最主要的视频编解码器AVC/H.264被广泛用于流媒体应用,但是构建H.264的编码技术已经过时,而像HEVC这样的新一代视频编解码器可以在保持视频质量不变的同时将带宽需求降低高达50%。但是,由于许可费用昂贵且具有不确定性,HEVC从发布到现在已经有四年多的时间了,目前还没有被广泛部署。近期,总部位于斯德哥尔摩的一家名为Divideon的公司发布了一款新的视频编解码器xvc(开源地址:https://github.com/divideon/xvc),采用了一种新颖的设计来简化编解码器的定价问题。

xvc codec是于2017年9月首次发布的一款新的视频编解码器。该编解码器是一种灵活的基于软件实现的视频压缩工具,其中包括参考编码器和参考解码器。 xvc编解码器包含的视频压缩技术工具主要来源于MPEG标准(例如AVC/H.264和HEVC),但它同时也包含了一些超越这些标准的压缩技术,能够实现较高的视频压缩性能。xvc codec已有的测试结果表明,与HEVC相比,保持同等视频质量所需的带宽可以进一步减小。下面将介绍xvc编解码器的特点、性能表现以及独特的许可授权。

特点:

xvc编解码器由大约60个独立编码工具构成,它们共同提供xvc高效的视频压缩性能。 有关这些工具的详细信息,请根据参考资料中给出的源码地址查阅相关内容。

xvc是基于目前先进的编码技术构建的基于块的混合(帧间/帧内)视频编解码器。xvc codec对原始YUV图像数据进行处理并将其压缩为NAL(网络抽象层)单元结构化比特流,内部同样包括帧内帧间预测,DCT变换,量化,上下文自适应熵编码以及边界滤波后处理等模块。每个模块中的各种技术工具可以通过码流中的控制信息在运行时进行开关控制。

xvc编解码器的设计主要是以流媒体服务为主要用途,部分原因是因为这是一个迅速增长的领域,需要非常高效的压缩技术,而且在这种场景下客户端远程连接到服务器并且支持远程更新(与许可证有关,详见本文后续介绍)。此外,它还具有轻量级的高级语法层,以及在自适应比特率(ABR)应用中进行码流间转换的新方法。

xvc编解码器在视频格式方面非常灵活。 图像尺寸可以从例如256×144和320×180到4K,8K甚至16K视频。位深度bitdepth和色度格式chroma format也同样支持多种组合。 xvc编解码器原生支持的色度格式和位深度的各种组合如下表所示,而解码器的输出格式可通过解码器配置进行控制。

表1 xvc支持的chroma format和bitdepth组合

性能:

视频编解码器最重要的一个方面就是能够尽可能地将视频序列压缩到尽可能小的同时视觉质量尽可能高。将新旧不同的编解码器进行比较时,通常观察在维持特定质量水平时比特率可以降低多少。下面使用JCTVC-Z1100中描述的测试条件,将xvc(2017年9月发布)的版本1.0与HEVC参考软件HM(版本16.15)和x265(版本2.5)进行比较。编码使用的CPU为Intel Xeon E5-2660 CPU。

三种编解码器的编码参数如下:

  • x265编码使用 high-bitdepth版本(2017/08/21),运行时使用以下参数:-output-depth 10 -keyint 48 -min-keyint 48 -qp %QP% -preset placebo -no -wpp -tune psnr -frame-threads 1 -pools none
  • HM使用16.15版本,编码参数为:-c encoder_randomaccess_main10.cfg -q %QP%,并加入IntraPeriod = 48
  • xvc使用1.0版本,编码参数为:-internal-bitdepth 10 -qp %QP% -max-keypic-distance 48 -tune 1

下图展示了在JCT-VC测试序列BasketballDrill上四个不同比特率下的PSNR值。

图1 三种编码器在BasketballDrill上的性能比较

从图中可以看出,在各个码率点下,xvc表现出了更高的性能增益(PSNR)。对于该测试序列,xvc编解码器实现了7.8%的BD-Rate增益(与HM相比),与x265相比增益更高,为30.4%。

另外,基于所有测试序列(Class A-D)的HM(anchor)vs. xvc 1.0 BD-Rate(PSNR)结果可以在表2中看到,在相同质量下xvc比特率节省平均达到4%。

表2 HM与xvc 1.0的性能比较

当不在多线程配置下运行xvc时,其编码时间大致类似于HM(xvc慢4%),而xvc解码时间平均快49%。

表3展示了x265(anchor)vs. xvc 1.0的BD-Rate(PSNR)结果,可以看出xvc能够提供平均18.8%的比特率节省。xvc和x265编码器都是在没有多线程的情况下运行的,在这种配置下,xvc编码器的编码速度平均慢了65%。

表3 x265与xvc 1.0的性能比较

另外,在码率相同时,xvc可以提供比AVC/H.264以及HEVC更好的视觉质量。图2展示了xvc与x264码流的解码质量,画面是从以300Kbps码率编码的分辨率为1280x512的视频中截取的。

图2 x264(上)和xvc(下)解码视频视觉质量比较

此外,xvc解码器已经在少数移动设备上进行了测试,以初步确定移动设备的解码能力和对电池使用时长的影响。大多数具有至少四个内核的智能手机可以实时运行xvc软件解码器解码高清视频。在其中一项测试中,三星Galaxy 8+智能手机使用xvc软件解码器能够以低于500 Kbit/s的速率解码标清视频,持续播放时间为9小时3分钟。对于同一视频序列,如果使用H.264 codec编码成相近的质量,并使用H.264硬件解码器解码,播放时间可以持续9小时20分钟。而在另一项测试中,三星Galaxy 8+使用H.264 codec能够以800 Kbit/s左右的速率解码720p视频,持续播放时间为8小时45分钟,而使用xvc codec在类似编码质量下,码率大约400 Kbit/s,持续时长为7个小时。一般来说,已有的测试表明,在视频比特率低于1 Mbps的情况下,处理器所消耗的电量与显示屏幕等器件相比几乎可以忽略不计。预计xvc软件解码器的后续优化将进一步降低电池消耗。

许可:

视频编码标准在制定的过程中往往经过了大量的研究,不少技术提案贡献者已经获得了其中一些编码工具的专利。ISO/IEC和ITU-T(其中包括MPEG和VCEG)等标准制定组织通常要求技术贡献者承诺其编码技术在FRAND(Fair, Reasonable And Non-Discriminatory)条款下是可用的,从而确保在标准完成后参与标准化工作的组织不会要求不合理的索赔。尽管FRAND在一些方面作为基本原则是合理的,但是在实践中很难实施,特别是在为标准中的专利方法确定价格的时候。

HEVC目前存在的两个主要的专利权相关的问题包括:专利权保留和版权堆叠。专利权保留是指在技术被接受之前等待申报专利权的做法。早期的技术采用者在没有成本估算的情况下选择第三方技术,而一旦被某个技术吸引住,后期技术变革的成本就非常高,以至于知识产权所有者可能会收取比开始时更高的版税。而多个不同版权的堆叠,也会导致总成本飙升。HEVC复杂而昂贵的许可授权使得许多视频服务厂商望而却步,转而寻找新的codec作为替代。

xvc是一款通用的视频编解码器,可用于流媒体服务、广播、监控及视频会议等多种场景。与HEVC复杂而且昂贵许可授权相比,xvc是比较灵活方便的,独特的授权模式确保了xvc编解码器的用户只需要获得一个许可证,而不必担心潜在的外部第三方版税索赔。而且xvc的许可证对于如何应用xvc没有任何限制。但是,xvc codec主要针对具有远程接收和安装软件更新功能的连接设备。这个基本特征不仅是为了给用户推送性能改进或其他新的功能,而且是为了移除确定将不被xvc许可证覆盖的个别技术工具。也就是说,如果第三方机构已经申请专利的技术不愿意接受xvc的许可证条款,将会从xvc codec发布的新版本中移除。虽然将更新推送给客户端的功能对使用xvc的服务或应用程序提出了一些额外的要求,但是如果没有这种能力,xvc将面临与其他编解码器(例如HEVC)类似的许可授权十分复杂的处境,并在使用中受到多种不确定性以及不合理的版税索赔的限制。

xvc编解码器提供了一个保证,即专利持有者的版税将在合同周期内保持固定,从而避免出现类似Velos专利池的情况。因此在构建编解码器时,Divideon将与每个技术组件相关的IP追溯到对应的发明者。专利持有人如果拒绝参与Divideon方面的专利注册登记,那么他们的技术将不会被包含在codec中。登记在xvc参考软件专利列表的组织和个人有权通过xvc许可证发放获得收入份额。单个许可方可能拥有多个包含在xvc参考软件中的专利。根据以下模式,向许可方支付的收入与经过验证的专利数量成正比:

其中,Rx是分配给公司X的收入份额,Px是公司X的专利数量,Y是总收入,Pall是专利总数。在xvc总收入中,70%分配给专利持有人,30%分配给Divideon。

由于编解码器的设计是模块化的,所以如果发生任何侵权行为,Divideon可以直接从编解码器中删除该技术组件。具体地,如果xvc许可证持有者遭到侵权索赔,Divideon将在侵权声明发出60天内采取以下措施:

1. 有关专利被添加到xvc许可证所涵盖的专利列表中

2. Divideon同意支付所有费用和损失,包括诉讼等潜在费用(如果法院认定涉嫌侵权是有效的)

3. 将专利技术从xvc编解码器中删除,并发布新版本的编解码器,即Divideon在收到侵权声明之日起60天内提供新版本的xvc参考软件

侵权声明需要具体针对哪个专利被侵权以及参考软件的哪个功能侵犯专利。针对收到的侵权主张,Divideon可以自行决定采取哪一种应对措施。但是如果专利持有者意外退出,迫使Divideon从编解码器中删除其IP,可能会导致xvc codec损失性能。如果发生这种情况,xvc许可证持有者将不得不在某个时间进行版本更新或转换到其他codec,如果已经在硬件中部署了xvc,则可能会出现比较严重的问题。我们知道,没有什么解决方案是没有风险的

原文发布于微信公众号 - 媒矿工厂(media_tech)

原文发表时间:2018-02-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏理论坞

互联网术语大全(一)

PM:Product Manager「产品经理」或 Project Manager 「项目经理」

19820
来自专栏大宽宽的碎碎念

如何积累知识和技能答网友-如何积累知识和技能一个故事凡事都有目标形象化关联不断的学,灵动的用结论

371130
来自专栏Golang语言社区

Android手机与vr交互暴风魔镜3D效果显示原理

首先讲到VR,谈谈个人体会,半年前看到淘宝上的vr眼镜盒为了促销标题图片都是非常性感的,还有海量你懂得资源。到最近在淘宝搜索vr暴风魔镜都正规了,而且销售量庞大...

40540
来自专栏用户2442861的专栏

知乎几条不错的想法

作者:大狐狸 链接:https://www.zhihu.com/question/36426051/answer/76031743 来源:知乎 著作权归作...

10910
来自专栏俞其荣的博客

记自己2018年三月份的面试经历烦烦烦烦面试的几家公司写在结尾

381120
来自专栏AI研习社

2017 年关于 Python 案例的 Top45 文章

本文为雷锋字幕组编译的年度盘点系列,原标题Python Top 45 Articles for the Past Year (v.2018),作者Mybrid...

44460
来自专栏Crossin的编程教室

我从编程教室毕业

这篇文章在我的草稿箱里躺了有一年多,今天总算是发出来了。本文的作者是之前编程教室的实训生之一,原本在汽车制造车间里工作,后来成功转行为一名程序员,从事车载语音识...

11130
来自专栏SDNLAB

白盒交换机操作系统混战

白盒交换机的出现给了用户选择最佳软硬件平台的权利,它仅仅提供交换机硬件和ONIE(开放网络安装环境),用户可以自行选择最合适的交换机芯片,降低成本实现最大效益。...

45420
来自专栏牛客网

Android应用工程师面经 - OPPO校招提前批

面试官是Android转到Java后台的,开始自我介绍,看我项目有Java后台相关的,就问我为什么不报Java后台,为什么选择Android。

17210
来自专栏腾讯大讲堂的专栏

自由测试人 Jarod 的一天

上午10:05 五道口漫咖啡,Jarod摆弄着新淘来的Nexus5手机,时而饮一口桌上的焦糖拿铁,间或偷眼瞄一下邻桌的长腿妹子。 上午10:30 Alliso...

27650

扫码关注云+社区

领取腾讯云代金券