[AV1] Segment
返回专栏目录
在AV1中,有一种编码手段,类似于HEVC中的Slice,叫做Segment。segmentation技术将一帧分为若干个部分,然后对这些部分提供单独的参数。这些参数可以包含
- 量化参数(绝对值或者delta值)
- loop filter 强度(strength)
- 预测参考值信息
- 块skip信息
Segmentation
在一帧中,最多可以定义8个segment,也就是说,最多只会有8套segment参数传输到解码端,在SVT-AV1中有宏定义
#define MAX_SEGMENTS 8
同时,每一个segment都会有一个segment ID,指定当前块属于哪一个segment,在SVT-AV1代码中,关于segment的参数由一个叫SegmentationParam的结构体存储
typedef struct {/*!< 1: 启用Segmentation 功能* 0: 表示当前帧不使用Segmentation功能*/uint8_t segmentation_enabled;/*!< 1: 表示解码此帧时需要同时更新 Segmentation map* 0: 表示直接从上一帧拿 segmentation map*/uint8_t segmentation_update_map;/*!< 1: 表示当前帧的segmentation map的更新是有参考了已有的segmentation map* 0: 表示不参考已有的segmentation map,直接传一张新的map */uint8_t segmentation_temporal_update;/*!< 1: segment 添加新的parameter* 0: segment 使用已有的parameter */uint8_t segmentation_update_data;/*!< feature data */int16_t feature_data[MAX_SEGMENTS][SEG_LVL_MAX];/*!< 该segment启用了哪些特性 */int16_t feature_enabled[MAX_SEGMENTS][SEG_LVL_MAX];/*!< qm level */int16_t seg_qm_level[MAX_SEGMENTS][SEG_LVL_MAX];/*!< 当前segmentation id最大值,也就是已经分配了多少个segment */uint8_t last_active_seg_id;/*!< 1: 先读segment id 再读 skip syntax element* 0: 先读 skip syntax element */uint8_t seg_id_pre_skip;//qp-binningint16_t variance_bin_edge[MAX_SEGMENTS];} SegmentationParams;
这个结构体中的信息会被放到Frame Header里,这也就意味着针对每一帧,segment的划分是有存在差异的可能性的。
[AV1] Segment相关推荐
- [AV1] 谈谈AV1中的 S-Frame
前几天在看AV1代码的时候,偶然在代码中看到了一个Switch Frame的概念,也称为S-Frame,因为之前我只看过HEVC,从来没有见过此概念,所以特地查了下,感觉跟H.264的extended ...
- [AV1] AV1技术专栏(正在更新中)
AV1 专栏 学习AV1必备的利器: 手把手教你本地搭建 AV1 Analyzer 这个专栏是我花了半年的时间阅读libav1,SVT-AV1以及dav1d的源码后摸索总结出来的AV1技能树,希望能帮 ...
- 手把手教你搭建自己的 AV1 Analyzer
随着最近H.266标准的完成,其惊人的复杂度令人生畏,与此同时,新兴的AOM组织于2018年年中耗时3年完成的AV1标准吸引了不少业内人的眼球,不仅仅是其有竞争力的编码性能,还有其在流媒体方面的优异表 ...
- OpenCV中的快速特征检测——FAST(Features from Accelerated Segment Test)
OpenCV中的快速特征检测--FAST(Features from Accelerated Segment Test) 1. 效果图 2. 源码 参考 OpenCV中的尺度不变特征变换(SIFT S ...
- 【FFmpeg】警告:[hls] pkt.duration = 0, maybe the hls segment duration will not precise
1.问题描述 在使用ffmpeg编程生成m3u8文件时,报警告 [hls @ 0x7f26b4181840] pkt->duration = 0, maybe the hls segment d ...
- 【Qt】QPixmap加载图片报错:Corrupt JPEG data: premature end of data segment Didn‘t expect more than one scan
1.问题描述 在使用QPixmap加载图片时失败,错误信息如下 Corrupt JPEG data: premature end of data segment Didn't expect more ...
- AV1时代要来了,超高清视频时代视频编码技术的机遇与挑战
近些年随着视频行业的迅猛发展,尤其像短视频.点播.直播.VR等领域的爆发,人们对于高清.超高清视频体验的追求越来越强烈,流媒体平台如何在提升观众观看体验,同时降低播放成本,利用技术降低带宽消耗的同时又 ...
- 了解你所不知道的SMON功能(十二):Shrink UNDO(rollback) SEGMENT
SMON对于Undo(Rollback)segment的日常管理还不止于OFFLINE UNDO SEGMENT 转载于:https://blog.51cto.com/maclean/1278486
- 视频分割--Learning to Segment Instances in Videos with Spatial Propagation Network
Learning to Segment Instances in Videos with Spatial Propagation Network CVPRW2017 https://github.co ...
- 视频动作识别--Temporal Segment Networks: Towards Good Practices for Deep Action Recognition
Temporal Segment Networks: Towards Good Practices for Deep Action Recognition ECCV2016 https://githu ...
最新文章
- 在python中嵌入c/c++
- 【CyberSecurityLearning 35】基础环境搭建
- js中document.referrer认识
- php如何直接使用iview,iview安装使用
- Java虚拟机详解04----GC算法和种类
- 计算机网络实验指导书 pdf,计算机网络实验指导书-20210608153043.pdf-原创力文档
- Python学习杂记_1_PyCharm使用的一些收获
- DevOps使用教程 华为云(9)代码检查
- 网站转换APP源代码/WebAPP源代码/网站生成APP源代码/Flutter项目/带控制端
- Intel汇编指令在线手册
- 项目管理知识体系(PMBOK)
- 基于HTML5+JavaScript实现的网页录屏器设计
- 一种逐样本的偏AUC优化框架
- web开发入门,css背景图片自适应屏幕宽度
- BUAACTF 2021校赛
- 2023年经济危机要来了,如何度过这个难关?
- [jvm-sandbox] 多个agent并用
- 【ML/DL】python3学习《机器学习实战》书中的报错及解决办法
- 如何将网址链接生成在微信可用的网址二维码
- STM32移植uC/OSIII