引入首款 VP8 硬件编码 IP 版本 Anthill

上周,WebM 芬兰团队最终完成了我们的 H1 硬件 RTL 设计。H1 是世界上首款 VP8 硬件编码器。首个版本,我们称之为“Anthill”(蚁冢),现已通过 WebM 项目硬件页面提供。Google 不征收任何许可费用,或因使用 H1 编码器 RTL 而产生的版税。

为什么叫“Anthill”? 芬兰有 77% 被森林覆盖,芬兰人非常喜欢它们。芬兰享受大自然的自由权利允许任何人漫步丛林,摘取野果、花卉与蘑菇。我们觉得适合按字母表顺序以芬兰的常绿之中可以找到的事物命名各 VP8 硬件版。

H1 编码器将整个 VP8 视频编码任务从宿主 CPU 卸载到 SOC 上的独立加速器块。这将显著降低耗电量,并允许以 30 fps 全帧速编码 1080p 分辨率的视频,或以 60 fps 编码 720p 视频。没有像 H1 这样的硬件加速器,现代的多核移动设备只能编码 VGA 25 FPS 左右的视频,而且很难同时执行其他任务。

为了说明我们硬件的特性,我们将其与 WebM 项目的 VP8 软件编码器* (libvpx) 作比较。下图显示的是 30 帧/秒 VGA 分辨率视频所需的处理器周期数,并按以 1 GHz# 频率运行 Tegra2 时达到的帧速缩放。

注: 耗电量测量为 TSMC 65nm 技术 ARM 核心与 H1 编码器核心的对比。ARM 耗电量通过 http://www.arm.com/products/processors/cortex-a/cortex-a9.php 给出的 65nm 图例估算。H1 编码器核心通过 RTL netlist 与 Synopsys Power Compiler 测量。

在画质方面,硬件实现的实时编码器通常弱于软件,因为运动搜索与模式选择(或确切速率失真优化)相关的适应算法在硬件中通常不是可行的选项。下面的图像显示了 720p 视频会议使用情况的 PSNR 质量量度与 H1 Anthill 版本和 libvpx Bali 版本在不同复杂度模式的比较(PSNR 越高越好)。

这些图像说明 H1 硬件编码器可以以低耗电量、几乎不使用 CPU 时钟周期达到高画质。下一版本中,我们计划缩短 libvpx“最佳”模式与硬件实现的质量隔阂,同时进一步减少耗电量。下一版本预计在 Q2 初期发布。

一些顶级半导体合作伙伴已经开始将 H1 IP 整合进他们的新芯片集众,我们迫不及待地想与新合作伙伴分享这项技术。

关于 H1 的技术与授权细节,请见我们的硬件页面

Aki Kuusela 是 WebM 项目芬兰奥卢硬件团队的工程经理。


*libvpx Aylesbury 与 Bali 软件编码器版本,运行在 NVidia Tegra2 开发版,双核 ARM Cortex A9 处理器上。测试中 libvpx 同时使用双核,以最低速度与最高速度的实时设置(-cpu-used=-5-cpu-used=-16)。

#例如如果 Tegra2 运行在 1000 MHz 取得 6 FPS,30 FPS 要求 5000 MHz (30/6=5)。

原文链接:Introducing “Anthill,” the First VP8 Hardware Encoder IP Release by John Luther
本文翻译:@xslidian

1 评论

  1. Pingback: “Blueberry” VP8 硬件编码器 IP 发布 « WebM 项目

发表评论

电子邮件地址不会被公开。 必填项已用*标注