“天创恒达” 新闻中心行业新闻视频编码器的性能决你的带宽成本

视频编码器的性能决你的带宽成本

2017-11-03来源:天创恒达阅读:48

导语:1.0时代是广电视频时代,我们通过电视看视频;2.0时代就是网络视频时代,我们通过电脑和一根网线看视频;到了3.0的移动视频时代,我们通过移动端比如手机、pad看视频、玩直播和“调戏”主播。是不是越来越先进啦! 而3.0时代的移动视频,是短视频分享、视频直播和VR/AR的天下,对于每一个视频码农来说,视频应用的基础设施之一是设备端或云端所使用的视频编码器。这个视频编码器是一个将设备采集或者用户上传

1.0时代是广电视频时代,我们通过电视看视频;2.0时代就是网络视频时代,我们通过电脑和一根网线看视频;到了3.0的移动视频时代,我们通过移动端比如手机、pad看视频、玩直播和“调戏”主播。是不是越来越先进啦!

 而3.0时代的移动视频,是短视频分享、视频直播和VR/AR的天下,对于每一个视频码农来说,视频应用的基础设施之一是设备端或云端所使用的视频编码器。这个视频编码器是一个将设备采集或者用户上传的视频数据进行格式转换,压缩成体积更小、质量损失较少的视频数据流的软硬件装置。

所以,应用本身所调用的编解码器的性能既决定了应用开发者的带宽成本,也决定了包括流量资费、卡顿和视频清晰度在内的用户使用体验。对于视频直播APP的从业者来说,可谓是成败的命脉。

商用视频编码器到底哪家强?

既然视频编码器如此重要,那么问题来了,商用视频编码器到底哪家强呢?

 咳咳!下面,小编将会用专业的知识,和你一起探讨一下这个问题。

 一款视频应用可使用的编码器大体分为两类——软件编码库和硬件编码模块,它们的优缺点如表一所示。

总体来说,软件编码具有压缩效率高、调用灵活度高的特点,硬件编码则具有CPU负载低、温度控制佳的优势。

表一. 软硬件视频编码对比

编码器

灵活度

画质

压缩率

功耗

CPU占用

软件编码

5~10编码速度级别

较好

较高

较大

较多

硬件编码

单一

较差

较低

较小

较少

表二对比了运行在iPad mini 2下的软件H.264(X264)和iPad mini 2的内置硬件H.264编码的结果。可以看到,硬件编码的编码速度提升了一倍多(相同编码速度下CPU占用率更低),但软件编码节省了20%带宽。

随着移动处理器能力的不断提升,软件编码在功耗和CPU占用率问题上也会逐渐改善,软件编码的适用场景也会越来越广泛。

 表二. 视频会议直播场景下的软硬件H.264编码结果对比   

测试视频

硬件编码压缩效率降低

硬件编码速度提升

mobile_25_640x360.yuv

11.0%

94.4%

talk_chen_room_25_640x360.yuv

67.7%

53.6%

BQMall_832x480_60.yuv

5.2%

110.3%

moblie_25_832x480.yuv

-5.5%

206.2%

Johnny_1280x720_60.yuv

24.2%

155.5%

FourPeople_1280x720_60.yuv

18.2%

147.1%

KristenAndSara_1280x720_60.yuv

19.8%

164.8%

         平均

20.1%

133.1%

视频3.0时代的代表性应用中,VR视频压缩、短视频转码、云直播、云转码、PC直播以及高质量移动直播等均要求编码器能实现高画质、低带宽编码。


由于最新一代的视频编码标准H.265理论上可以相比H.264节省一半码率,H.265编码便成为视频3.0时代商用编码器的主要发展方向。现在市场上主流的商用H.265编码器也可以划分为软件H.265编码和硬件H.265编码两大类。


我们来比较软件H.265和硬件H.265编码的优劣。首先,如表三所示,目前大部分中低端手机芯片均不支持H.265硬件编码。其次,手机芯片硬件H.265编码的压缩效率优势不明显。

 表三. 主流手机芯片对H.265的支持 

高通芯片

265编码

265解码

代表机型

32 bit 

骁龙xxx

800/801

NO

NO

小米3,Galaxy note 3

小米4, Galaxy S5

805

NO

YES 4K

galaxy note 4(高通版)

64 bit 

骁龙xxx

410/615

NO

NO

红米2,大神F2

魅蓝Note 电信版

650/652/808

NO

YES 4K

红米note3, Galaxy A9

vivo xplay5,Oppo R9plus

小米4c/4s

810/820

YES 4K

YES 4K

小米note, 小米5

三星Galaxy S7

联发科芯片 

265编码

265解码

代表机型

32 bit

6588/6592

NO

YES 1080P

荣耀3X,大神F1

黄金斗士, 红米note 

6595/6732/6735

YES 4K

YES 4K

魅族4,大神X7

魅蓝, 魅蓝2

64 bit

6752/6753/6755(p10)/6795(x10)/ 6797(x20)

YES 4K

YES 4K

魅蓝note,黄金斗士note

HTC 820S, Oppo R7

 魅蓝note2, Oppo R9

魅蓝note 3, 乐视1

MX5,红米note2, MX6

三星芯片 

265编码

265解码

代表机型

32 bit    

Exynos    

4210/4412/5410

NO

NO

三星Note,三星Galaxy S2

魅族MX, 三星Note II

三星Galaxy S3

魅族MX2,魅族MX3

三星Galaxy S4

5430

NO

YES 1080P

魅族MX4 Pro

三星Galaxy S5

64 bit  

Exynos 

7410/7420/8890

YES 4K

YES 4K

魅蓝note,HTC 820S,

 oppo R7, 魅族MX5 plus

三星Galaxy S6

Galaxy S7

海思芯片 

265编码

265解码

代表机型

32bit 

K3V2/麒麟910/920/925

NO

NO

Ascend DX系列,荣耀3,

华为荣耀3C, MATE2,

华为荣耀6, 6plus,mate7

64 bit 

麒麟930/935

NO

NO

华为荣耀 X2,华为 P8

麒麟950

NO

YES 4K

华为mate 8,荣耀v8

 

表四的测试表明,相比于x265@ultrafast,三星芯片的硬件H.265的编码码率增加达到了27.6%,基本降至与X264@veryfast编码效率相近的水平。


显然,移动芯片中的硬件H.265编码谈实用为时过早,而商用H.265软件编码效率和速度就显得格外重要。


表四. 软硬件H.265编码结果对比 

        测试视频

X265@ultrafast vs. 三星手机H.265编码

JCTVC Class A

-31.0%

JCTVC Class B

-29.1%

JCTVC Class C

-20.4%

JCTVC Class D

-17.6%

JCTVC Class E

-47.5%

平均

-27.6%


那么,国内互联网领域可用的商用H.265软件编码器都有哪些呢?经过调研,我们不幸地发现,国内的互联网和云服务厂商在视频编解码领域的积累非常少。


即使是百度云、腾讯云、阿里云这样的大型云服务公司,他们既未参与H.265的标准制定,也缺少视频编解码技术的关键专利。


 

如表五所示,这些公司的互联网视频云产品都严重依赖使用最广泛的开源H.265软件编码器——X265。

表五. 国内视频云公司的H.265编码器 

公司

百度云

腾讯云

阿里云

乐视云

编码

X265参数调整

自研低延迟视频编码

X265参数调整

X265编码算法优化

效果

X265某种参数调整的结果

直播、点播电影等视频压缩仍依赖X265

X265某种参数调整的结果

优化幅度不大,4K编码有一定加速

但由于X265编码速度严重落后于X264(详见表六),使其对包括视频直播在内的对编码速度依赖较高的场景有先天的不足。这就导致H.265在视频云服务,尤其是视频直播服务领域进展缓慢。

表六. X265和X264的编码性能比较 

比较

X265 ultrafast 

vs X264 veryfast

X265 placebo 

vs x264 placebo

视频分类

相同质量下的码率

编码速度

相同质量下的码率

编码速度

Class A

-20.1%

-64.0%

-28.6%

-122.0%

Class B

-24.6%

-69.8%

-31.3%

-86.1%

Class C

-9.6%

-84.6%

-22.1%

-198.2%

Class D

-2.6%

-81.3%

-20.3%

-319.7%

ClassE

-10.5%

-58.4%

-21.2%

-66.9%

Average

-13.5%

-73.1%

-24.8%

-163.7%

KSC265包含superfast到placebo共七个编码速度级别。速度越慢则压缩效率越高,所以金山云的KSC265编码器可以灵活方便地供用户选择适合的速度和场景。

例如,移动直播可以选择superfast或veryfast级别,在线转码服务可以选择fast, medium或slow级别,离线转码则可以选择veryslow或placebo级别。此外,使用说明中详细解释了码率控制以及恒定质量编码的各种参数。


由于测试报告中所使用的测试video均为公开的H.265标准制定过程中使用的测试视频,如表七所示,我们可以清晰地对比验证出,KSC265在移动云直播、云服务转码和极致压缩三个方面都实现了较大的压缩效率提升和编码加速,很好地解决了X265编码速度不理想、难以商用的问题。

 表七. KSC265与X264和X265的编码性能比较(码率控制模式)     

 

KSC265

vsX264_veryfast

KSC265 

vs X265_ultrafast

视频分类

同质量文件

大小

速度提升

同质量文件大小

速度提升

Class A

-42.5%

1.3%

-22.5%

65.4%

Class B

-55.8%

15.1%

-31.2%

84.9%

Class C

-42.9%

-21.3%

-33.3%

63.3%

Class D

-42.0%

-31.5%

-39.3%

49.8%

ClassE

-52.7%

36.7%

-42.2%

95.1%

平均

-47.9%

-1.3%

-34.3%

71.8%

KSC265_slow 

vs X264_slow

KSC265_slow 

vs X265_slow

视频分类

同质量文件

大小

速度提升

同质量文件大小

速度提升

Class A

-35.9%

-11.9%

-16.8%

151.9%

Class B

-45.0%

1.4%

-17.0%

192.8%

Class C

-34.8%

-27.5%

-15.2%

115.1%

Class D

-29.9%

-24.1%

-12.4%

114.4%

ClassE

-47.0%

9.9%

-26.8%

201.2%

平均

-38.7%

-10.7%

-17.2%

155.0%

极致

压缩

KSC265_veryslow 

vs X264_placebo

KSC265_veryslow 

vs X265_placebo

视频分类

同质量文件

大小

速度提升

同质量文件大小

速度提升

Class A

-38.8%

40.6%

-10.2%

162.5%

Class B

-42.6%

84.6%

-11.2%

170.7%

Class C

-32.7%

17.9%

-10.6%

216.1%

Class D

-29.5%

-17.8%

-9.2%

301.9%

Class E

-38.5%

71.3%

-17.2%

138.1%

平均

-36.4%

39.9%

-11.5%

203.6%

 其中,在云直播档次(KSC265@veryfast vs. X264@veryfast vs. X265@ultrafast),在与X264编码速度相当的情况下,KSC265实现了相同质量下的47.9%的带宽节省;相比X265编码速度提升70%的情况下,则有近35%的带宽节省。

在云转码档次下(KSC265@slow vs. X264@slow vs. X265@slow),在相比X264编码速度略降的情况下,KSC265实现了平均近40%的带宽节省;相比X265速度提升155%的情况下,KSC265又实现了17.2%的带宽节省。

在极致压缩档次下(KSC265@veryslow vs. X264@placebo vs. X265@placebo),在比X264编码速度提升近40%的情况下,KSC265实现了平均超过35%的带宽节省;相比X265三倍编码速度的情况下,KSC265实现了超过10%的带宽节省。

业内的行家们都知道H.265标准工作组实际上提供了编码速度很慢(所以难以商用)、但可以作为压缩效率参考的H.265编码测试模型HM,那KSC265跟HM的压缩效率对比又是怎么样的呢?


这里可以参考图1的曲线图。图中的三条曲线分别是X264、 X265和KSC265在码率控制&离线编码下的编码结果(具体配置如表8所示),纵轴表示编码Class B\C\D\E近20个video的平均编码速度(每秒钟编码多少幅图像),横轴表示压缩效率跟HM的差距(正值表示效率比HM低,负值表示比HM高),每条线上的若干个点是三种编码器的若干个编码速度级别。

表八. 编码器对比测试参数

编码器

测试参数



X265

-o out.264 /home/qytest/yuvfiles/BQSquare_416x240_60.yuv --input-res 416x240 --preset [veryfast/slow/placebo] --fps [framerate] --profile high --aq-mode 0 --no-psy --psnr --bitrate [number] --keyint [framerate * 10] --frames 1000000



X264

-o out.265 --input /home/qytest/yuvfiles/BQSquare_416x240_60.yuv --input-res 416x240 --preset [ultrafast/slow/placebo] --fps [framerate] --aq-mode 0 --no-psy-rd --no-psy-rdoq --psnr --bitrate [number] --keyint [framerate * 10] --frames 1000000


KSC265

-b out.265 -i /home/qytest/yuvfiles/BQSquare_416x240_60.yuv -preset [veryfast/slow/veryslow] -tune offline -psnr 2 -rc 1 -br [number] -frms 1000000 -iper [framerate * 10]

其中,HM使用的配置为lowdelay B编码,是HM给出的多种测试配置中最接近互联网应用的一种配置(虽然RA配置下将I帧间隔设为10秒可以获得更优编码性能,但HM没给出这种配置的测试结果)。

图1的共同的特性是,商用编码器的编码速度越高,压缩效率跟HM-LB的差距越大。如图1所示,最重要的是,我们可以总结出:


1) KSC265能做到在三种速度级别下较HM-LB的压缩效率有所提升(placebo、slow、medium)

2) KSC265的总体编码速度跟X264持平,仅在superfast级别比X264慢较多

3) KSC265可以做到在相同压缩效率下,编码速度远高于X264和X265

4) KSC265可以做到在相同速度下,压缩效率远高于X264和X265

Tags标签:视频编码器编码器

产品中心
热门产品