视频编码基础
文章平均质量分 91
chenyuanxu
人品之不高,因利字看不破;学业之不进,为懒字丢不开
展开
-
ECM8.0——CCCM相关代码
在计算出参考区域信息后,函数将返回一个降采样后的luma buffer,该buffer是参考区域包括填充的2D滤波器所需的大小,并将指针指向参考区域左上角。在代码中,通过一系列的if语句和for循环,获取了采样所需的位置信息,并调用xCccmGetLumaVal函数,获取对应位置的luma值,并填充到refLuma中。对当前块需要参考的区域范围内的每个采样点进行逐一遍历,根据像素位置计算出其在参考帧中的位置,并从参考帧中获取相应的亮度值,写入到参考亮度缓冲区域中。原创 2023-04-13 15:44:35 · 1147 阅读 · 2 评论 -
ECM8.0——代码整体初窥
看起来pos()和size()返回的都是 *this,但其实返回类型是不一样的,返回的this会变成对应的类,可以说是基类指针和子类指针的区别,也可以说是一种运行时多态的实现方式。原创 2023-04-04 17:22:56 · 657 阅读 · 0 评论 -
VVC之编码结构
每个PU包含且仅包含一幅完整图像的编码数据。当一个AU包含多个PU时,每个PU可以是特定质量或分辨率(可分级视频流)图像,也可以是多视点视频的某一视点,以及深度、反射率等属性信息。因此,AU中的不同PU被归属为不同的层(Layer)。参数集是一个独立的数据单位,它包含视频不同层级编码单元的共用信息。VPS:PU间相互依赖关系,哪些PU解码图像可以输出之类的。主要用来支持分层编码。SPS:一个CVS中所有图像共用的信息,如档次级别,编码工具开关标志等。PPS:一幅图像所有Slice的共用信息。原创 2023-04-12 15:42:42 · 996 阅读 · 0 评论 -
VVC之跨分量预测
且第一个参考像素点位置为16>>(2+1)=2,参考像素的间隔为16>>(1+1)=4,因此,选取的4个参考像素点的位置分别为:2,6,10,14。在H.266中,首先根据亮度Y的大小,将较大的2对参考点分成1组,较小的两对参考点分成1组,然后对每组参考点的亮度值和色度值求平均值,得到一对亮度和色度均值。下图是CCLM的预测过程示意图,对于YUV420的格式,亮度分量需要通过下采样和色度分量之间的空间分辨率保持一致,然后根据参考像素的亮度和色度计算线性模型参数,然后利用亮度重建值来计算色度预测值。原创 2023-04-03 15:57:33 · 783 阅读 · 0 评论 -
AVS3代码阅读HPM4.0
参考AVS3代码阅读(HPM6.0)(一.整体架构以及CU划分部分代码)版本:HPM4.0核心文件:app_encoder.c 要做的是帧间预测,所以前面的函数先暂时不管了,挖个坑以后再填。直接从enc_pic看起。enc_pic() ...原创 2020-12-13 18:33:56 · 2771 阅读 · 9 评论 -
《H.265/HEVC——视频编码新标准及其扩展》一:视频编码基础
视频编码基础1.2.1 图像的自相关系数1.2.2 像素差值的自相关函数1.3 混合编码1.3.3 运动估计和运动补偿 声明:在专业课学习上都已经接触过的内容,在本博客中不再赘述。1.2.1 图像的自相关系数 图像的相关函数:可以直接反映任意图像像素之间的关联程度,可以在统计平均的意义上来计算他们之间的相似程度。个人觉得(1.13)的公式出错了,公式分子上的两个求和符号应该是没有的,并且应该×N2\times N^2×N2【有读者给我评论一起探讨吗?】1.2.2 像素差值的自相关函数原创 2020-11-18 21:48:14 · 2008 阅读 · 7 评论