当前位置:文档之家› VP9熵解码器的硬件设计

VP9熵解码器的硬件设计

F

福建电脑

UJIAN COMPUTER

福建电脑

2018年第4期

1VP9概述

VP9是一个由Google 开发的开放格式、无使用授权费的视频压缩标准。VP9的目标之一是相同质量下相对于VP8可以减少50%的比特率。VP9提供了与HEVC 相似的性能,但使用HEVC 需要收取高昂的专利授权费。目前,Firefox 、Chrome 、Opera 等主流浏览器都支持VP9。

2VP9熵解码关键技术2.1预测块大小

VP9的宏块称为superblock ,VP9的图像由一个个的superblock 组成,profile0只支持64x64的superblock ,superblock 再往下拆分称为block ,允许以四叉树形式将64x64块划分到4x4。VP9预测块的大小有13种类型:64x64,64x32,32x64,32x32,32x16,16x32,16x16,16x8,8x16,8x8,8x4,4x8,4x4,[1]其中只有NXN 的block 才能继续往下拆分。Block 内部按光栅序扫描。

2.2自适应熵解码

VP9采用布尔编码(Bool code)作为底层的算术编码。[2]其解码过程是基于递归间隔细分的原则。对于一个二进制判决(0,1),给出一个概率估计p(0)和p(1)=1-p(0),对于一个初始给定的范围为range 的码字子间隔,相应的将被再细分到范围为p(0)*range 和range-p(0)*range 的两个子间隔中。根据被观察到的判决,相应的子间隔被作为新的码字间隔,并且指向那个间隔的二进制码串将成为观察到的二进制判决序列。这对于区分上区间和下区间是有用的,这样二进制判决被看作是一个对区间的判决过程,上区间为0或下区间为1。在这过程中,每一个语法元素的概率由prob/256的值规定,prob 位于1-255之间。

如图1所示,是二进制的算术解码过程。本过程的输入是

prob ,range 和value ;输出是解码的值binval 和更新的变量range 和value 。其中,变量split 的值为:split=(range-1)*prob>>8+1;

—如果value 大于或等于split ,变量binval 置为1,value 减去split ,且range 减去split 。

—否则,变量binval 置为0。

根据range 的当前值,应执行规定的重归一化。3VP9熵解码器设计实现3.1VP9熵解码器框图实现

VP9熵解码器vp9_dec 由三个模块构成,如图2所示,分别是vp9_cal_dec,vp9_stream_table,vp9_ctrl 。其中vp9_cal_dec 实现的是二进制的算术解码单元;vp9_stream_table 实现的是语法元素的概率prob 的数值的存储与读取;vp9_ctrl 实现的是熵解码的主控,按宏块进行解析。Vp9_dec 输入的是码流数据stream_in;vp9_dec 输出的是解析后的语法元素。

3.2vp9_cal_dec 的模块设计

Vp9_cal_dec 实现了图1二进制的算术解码过程,它的硬件实现如图3所示。其中图3左为直接根据图1所做的硬件设计,图3右为优化后的硬件设计,主要目的为减少了range 到binval 间的关键路径,使得range 到binval 之间的路径少了一个加法器。

算术解码单元的解码速度直接影响到VP9熵解码器的解码速度,当算术解码单元只由一个decision unit 构成时,解码的

VP9熵解码器的硬件设计

陈梅芬

(厦门海洋职业技术学院信息系福建厦门361000)

【摘要】VP9是一个由Google 开发的开放格式、无使用授权费的视频压缩标准,并具有高压缩率的特点。

对VP9熵解码的关键技术进行了分析,包括预测块大小,

自适应熵解码。对VP9熵解码器的硬件设计进行了模块划分,并对关键模块进行了描述。在TSMC28nm 的工艺下,

可以达到2160P@30fps 的解码性能。【关键词】VP9;熵解码;算术解码;2160P@30fps 图1二进制的算术解码过

图2vp9_dec 框图实现

图3VP9算术解码的硬件

实现

DOI:10.16707/https://www.doczj.com/doc/256427416.html,ki.fjpc.2018.04.073

139··

相关主题
文本预览
相关文档 最新文档