AVS3编码块划分

AVS是由中国主持修订的视频编码标准,从AVS1开始到现在已经发展出AVS3标准了。AVS采用的是经典的基于块的混合编码框架,整个编码流程如下图所示。

图1 AVS编码框架

编码块划分


对于AVS1来说,intra macroblock固定为8x8大小,而inter macroblock为16x16,还可以划分为2个8x16块或2个16x8块,也可以划分为4个8x8块。

AVS2采用了更灵活的划分方式:四叉树划分。最大的块为64x64,可以按照四叉树最小划分到8x8的CU。CU还可以进一步划分为PU和TU,其中intra PU有4种划分方式,inter PU有8种划分方式。TU还允许划分为非正方形。具体如图2所示。

图2 AVS编码块划分

AVS3编码块划分


AVS3支持更加灵活的划分方式,支持最大CTU尺寸为128x128,最小为4x4,除了支持四叉树QT和二叉树BT划分,还支持增强四叉树划分(Extended quad-tree partition,EQT),如图2所示,四叉树的叶子节点可以进一步进行BT或EQT划分,但是BT或EQT的叶子节点不允许进行四叉树划分,BT的叶子节点可以进行EQT划分,EQT的叶子节点也可以进行BT划分。此外,对intra模式还支持DT(Derived Tree)划分。图3是AVS3划分的一个实例。

图3 AVS3划分实例

 

DT划分


DT划分仅针对intra模式的亮度分量,它在四叉树的叶子节点上进一步划分,有6种划分模式,如图4所示。

图4 DT划分

DT划分一共4种模式,两种对称模式(2NxhN、hNx2N)和四种非对称模式(2NxnU、2NxnD、nLx2N、nRx2N)。对于每个子块可独立进行帧内预测,对于非对称划分中较大的子块在预测和变换时还可以进一步划分,但是模式相同,如图5。

图5 2NxnU预测过程

图5中该块采用2NxnU划分,红色虚线是两个子块的边界,灰色部分是已重建区域,白色部分是待编码区域。较大的子块在预测时可以分为三个区域b、c、d,在c进行预测时可以使用b的重建像素,由于b、c距离近空域相似度更高所以预测效率更高,不过b、c、d需要使用同一种预测模式。

为了提高效率和降低复杂度,水平(垂直)类DT模式只对高(宽)在16到64间的块使用,且宽高比(高宽比)大于2的块不使用DT模式。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值