香不菇最新文章

VVC解码流程(6)—Slice Header

[u(1)] sh_picture_header_in_slice_header_flag:等于1表示PH语法结构存在于slice header 中。 [ue(v)] sh_slice_type: [u(1)] sh_num_ref_idx_active_override_flag:[ue(v)]

Read More »

VVC解码流程(5)—Picture Header

Picture Header可以以单独的Non-VCL NALU (PH_NUT) 进行传输,也可以放在Slice Header中进行传输。 [u(1)] ph_gdr_or_irap_pic_flag:等于1表示当前图片是GDR或IRAP图片。[u(1)] ph_non_ref_pic_flag:

Read More »

VVC解码流程(4)—PPS

[u(6)] pps_pic_parameter_set_id:pps_id, 取值范围0-63。[u(4)] pps_seq_parameter_set_id:pps_id, 取值范围0-15。[u(1)] pps_mixed_nalu_types_in_pic_flag:等于1指定引用pps的每

Read More »

VVC解码流程(3)—SPS

SPS中包含了很多参数和控制信息。 [u(4)] sps_seq_parameter_set_id:sps_id, 取值范围0-15。[u(4)] sps_video_parameter_set_id:vps_id, 取值范围0-15。[u(3)] sps_max_sublayers_minus1:

Read More »

VVC解码流程(2)—NAL unit header

一个NALU单元包含两部分,即2个字节的 NALU header 和 NALU payload 组成。NALU payload 即 raw byte sequence payload (RBSP),这里不多赘述,本文只详细介绍 NALU header。 NALU header由固定的两个字节组成,下

Read More »

VVC解码流程(1)—NALU start code

视频码流是由多个NALU组成的,start code是为了识别NALU,当解码器识别出start code,就认为是一个新的NALU到来。 NALU start code是0x000001或者0x00000001,如果NALU是DCI_NUT, OPI_NUT, VPS_NUT, SPS_NUT,

Read More »

Matrix-Based Intra Prediction(MIP)

VVC的 MIP 模式代表了通过数据驱动方法设计的帧内预测器的新概念。整个MIP过程的概述如图6所示。W和H表示给定块的宽度和高度,MIP的输入由直接位于块上方的W个参考样本refT和直接位于块左侧的H个参考样本refL组成。从这个输入中,MIP帧内预测样本是通过应用平均化、矩阵矢量乘法和线性插值来

Read More »

编译反馈优化(PGO)

原文: 字节跳动在PGO反馈优化技术上的探索与实践 PGO(Profile-guided optimization)通常也叫做 FDO(Feedback-directed optimization),它是一种编译优化技术,它的原理是编译器使用程序的运行时 profiling 信息,生成更高质量的代码

Read More »

Adaptive Loop Filter (ALF)

Karczewicz, Marta, et al. “VVC in-loop filters.” IEEE Transactions on Circuits and Systems for Video Technology 31.10 (2021): 3907-3925. A

Read More »

Bi-Directional Optical Flow (BDOF)

传统的双向预测是来自先前编码的图片的两个预测块的加权组合。 两个MV用于分别从List0参考图片和List1参考图片获得两个预测块。 然而,由于基于块的MC的限制,两个预测块内的样本之间通常存在剩余位移。 BDOF 的目的是在原始块级 MV 之上补偿每个预测样本的精细位移。 与基于块的运动补偿相反,

Read More »