AVS3:双向光流BIO

AVS3引入了双向光流(BI-directional Optical flow,BIO)技术,和H.266/VVC中的BDOF类似,BIO用于解决基于块的预测会存在块内某些区域仍会有偏差的现象导致需要划分更小的块。通过补偿小的像素区域的位移,BIO可以使用更大的块来编码从而节省码率,达到像素级预测的效果。如图1,左侧是双向光流补偿前的预测结果,右侧是补偿后的预测结果。

图1 补偿前后的预测

传统的双向预测对两个已重建的块进行加权平均得到当前块的预测值,其中两个已编码的块一个来自于前向参考帧,另一个来自于后向参考帧。但是经过双向预测后,仍可发现在当前块的部分区域存在运动偏差。双向光流BIO技术利用光流原理对双向预测后的运动进行运动补偿。

双向光流仅适用于双向预测的情况,且仅用于亮度分量。根据光流微分方程使前向和后向预测值差值最小从而技术修正量。其对前后向预测块的每一个像素分别计算x方向和y方向的梯度值,并依据像素值及梯度值计算每个像素的计算因子。为了降低复杂度,认为每个簇(cluster)内所有像素有相同的运动矢量,而使用比簇更大的窗(window)可以提高计算得到的运动矢量的准确度。在BIO中,簇的尺寸为4x4,窗的尺寸是6x6,即4x4的簇的运动矢量 是根据以簇为中心窗进行计算得到的。对每一个簇,利用簇所在窗内所有像素位置的计算因子算出运动矢量 ,最后对簇内的每一个像素计算预测值。

在BIO中,梯度计算使用8抽头滤波器,如表1

表1 梯度滤波器系数
MV positioncoefficients
0-4,11,-39,-1,41,-14,8,-2
1/4-2,6,-19,-31,53,-12,7,-2
1/20,-1,0,-50,50,0,1,0
3/42,-7,12,-53,31,19,-6,2

BIO在满足下列条件时开启:

  • 双向预测

  • 亮度分量

  • 前向参考帧和后向参考帧分别在当前帧的两侧

  • 小于64x64

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 FFmpeg 进行 AVS3 编码,需要先编译 FFmpeg 并启用 AVS3 的支持。下面是一个简单的编译和配置过程: 1. 下载 FFmpeg 源代码 首先,你需要从 FFmpeg 官网下载最新的源代码。 2. 安装 AVS3 相关依赖 FFmpeg 需要依赖以下软件包来支持 AVS3 编码: - AVS3-P2 reference software - xavs3 库 你可以从 AVS3 官方网站上下载这些软件包,并按照它们的指导进行安装。 3. 配置 FFmpeg 在配置 FFmpeg 时,你需要启用 AVS3 的支持。你可以使用以下命令进行配置: ``` ./configure --enable-libxavs3 --enable-version3 --enable-shared --enable-hardcoded-tables --enable-gpl --enable-nonfree ``` 其中,`--enable-libxavs3` 表示启用 xavs3 库的支持,`--enable-version3` 表示使用最新的库版本,`--enable-shared` 表示编译动态链接库,`--enable-hardcoded-tables` 表示启用硬编码的表格,`--enable-gpl` 表示启用 GPL 许可证,`--enable-nonfree` 表示启用非自由许可证。 4. 编译 FFmpeg 在配置完成后,你可以使用以下命令编译 FFmpeg: ``` make ``` 5. 安装 FFmpeg 编译完成后,你可以使用以下命令将 FFmpeg 安装到系统中: ``` make install ``` 6. 使用 FFmpeg 进行 AVS3 编码 现在,你可以使用 FFmpeg 进行 AVS3 编码了。例如,如果你要将一个视频文件编码为 AVS3 格式,你可以使用以下命令: ``` ffmpeg -i input.mp4 -c:v libxavs3 output.avs ``` 其中,`-i` 表示输入文件,`-c:v libxavs3` 表示使用 libxavs3 库进行视频编码,`output.avs` 表示输出文件的名称。 注意:AVS3 是中国提出的一种新型视频编码标准,目前尚未得到广泛的应用和支持。因此,在使用 FFmpeg 进行 AVS3 编码时,你需要先确认你的播放器或设备是否支持 AVS3 格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值