系列文章目录
HEVC视频编解码标准简介
【x264编码器】章节1——x264编码流程及基于x264的编码器demo
【x264编码器】章节2——x264的lookahead流程分析
【x264编码器】章节3——x264的码率控制
【x264编码器】章节4——x264的帧内预测流程
【x264编码器】章节5——x264的帧间预测流程
【x264编码器】章节6——x264的变换量化
【x265编码器】章节1——lookahead模块分析
【x265编码器】章节2——编码流程及基于x265的编码器demo
【x265编码器】章节3——帧内预测流程
【x265编码器】章节4——帧间预测流程
【x265编码器】章节5——x265帧间运动估计流程
【x265编码器】章节6——x265的码率控制
【x265编码器】章节7——滤波模块
【x265编码器】章节8——变换量化模块
目录
系列文章目录
一、滤波流程
二、代码分析
1.创建分配空间 SAO::create
2.初始化和设置 SAO::startSlice
3.处理帧的每一行 FrameFilter::processRow
4.进行并行的DBK和SAO FrameFilter::ParallelFilter::processTasks
5.对CUT进行去块滤波 Deblock::deblockCTU
6.对CU进行去块滤波 Deblock::deblockCU
7.进行SAO参数的优化选择 SAO::rdoSaoUnitCu
8.对CU进行SAO处理 FrameFilter::ParallelFilter::processSaoCTU
9.对图像进行边界扩展 FrameFilter::ParallelFilter::processPostCu
点赞、收藏,会是我继续写作的动力!赠人玫瑰,手有余香。
一、滤波流程
x265的滤波模块有SAO和DBK,红色模块是滤波模块,其流程如下所示:
完整的x265流程:
1、SAO
SAO的Edge Offset处理过程中原本定义为offset为正/负值分别会使图形变得平滑或者锐利,但HEVC为了降低码率,只允许柔化处理,限定了符号,而不允许锐化的偏移;
Band Offset模式下,可能会出现线条位移的情况;
SAO的处理会让整体图像变得模糊,还可能像素偏离等等,但总体而言来说还是可以降低ringing的效果;