CCLM的改进

跨分支线性模型(Cross-component linear model,CCLM)是VVC新增的帧内预测技术,它假设同一个编码块的色度像素值和对应的亮度像素值有线性关系,所以CCLM使用一个线性模型直接使用亮度像素的重建值生成对应色度像素的预测值。 

其中α和β是模型参数,有色度相邻像素求得。  Rec_{L}^{'}[x,y]是色度像素对应亮度像素的重建值,对于YUV420格式视频需要对亮度进行下采样,如图1。

图1 CCLM下采样

为了进一步提高CCLM的编码效率,在ECM中对CCLM进行了改进,有以下三个方面:

  • 多模型LM,Multi-model LM (MMLM)

  • 多滤波器LM,Multi-filter LM (MFLM)

  • 结合角度的LM,LM-Angular combined prediction (LAP)

MMLM

在CCLM中,同一个CU的亮度和色度间只有一个线性模型。而MMLM为同一个CU提供了多个模型。在MMLM中,邻域的亮度和色度像素被分为不同类别,每个类别中的像素分别用于求不同的模型参数alpha和β。

在MMLM中,像素可被分为2类或3类,分别记为MMLM2和MMLM3,原始的CCLM方法记为LM,编码器根据RDO结果选择最优模式。

当分为2类时,根据阈值threshold对邻域像素分类,threshold为邻域亮度重建像素的均值。两个类别分别求出不同的模型,然后分别根据CCLM计算色度预测值,如下式。

图2 MMLM2示例

图2是分为2类的一个示例,阈值为17,两个类别使用不同的线性模型。

MFLM

在CCLM中,需要对亮度重建像素进行下采样以匹配对应色度像素。MFLM提供了4种下采样方法。

LAP

LAP的原理是色度像素的预测值由传统帧内预测值P1和MMLM2求得的预测值P2加权得到,

P1是由传统帧内预测模式(角度、DC、Planar模型)计算的预测值,P2是由MMLM2计算的预测值。如果当前色度块未使用LM模式只使用了传统的帧内预测模式,则需要传输一个标志位表示是否使用了LAP。

实验结果

参考文献

[1]KaiZhang, Jianle Chen, Li Zhang, Marta Karczewicz,JVET-D0110,"Enhanced Cross-componentLinear Model Intra-prediction,"October 2016.

感兴趣的请关注微信公众号Video Coding

### MMLM 和 AP 评估指标的定义及应用场景 #### Masked Multi-Layer Model (MMLM) Masked Multi-layer Model (MMLM) 并不是一个广泛使用的标准术语,尤其是在信息检索或机器学习领域。如果指的是类似于 BERT 中采用的 Masked Language Modeling (MLM),那么该方法是指一种预训练策略,其中模型被训练来预测输入序列中随机遮蔽掉的一些单词[^1]。 这种机制允许模型理解上下文并学会双向编码器表示,从而更好地捕捉文本中的语义关系。在实际应用中,MLM 被用于各种自然语言处理任务前的任务无关阶段,即预训练阶段,之后再针对具体的下游任务进行微调。 #### Average Precision (AP) Average Precision (AP) 是衡量信息检索系统性能的一个重要度量,在二分类或多标签分类问题中也经常使用。它综合考虑了查准率(Precision)和查全率(Recall)两个方面: - **Precision at k**: 对于给定查询返回的结果列表,取前k个文档中有多少是相关文档的比例。 - **Recall at k**: 前k个文档中找到的相关文档占所有真实相关文档总数的比例。 AP 计算方式如下:对于每一个召回水平 r ∈ {0, ..., R}(R 表示最大可能的召回),计算此时对应的精度 p(r),然后求这些精度值的平均值得到最终的 AP 分数。当存在多个相关项时,AP 可以看作是对不同阈值下 precision-recall 曲线下面积的一种估计[^2]。 ```python def average_precision(relevant_items, retrieved_items): """ Calculate the Average Precision. :param relevant_items: List of items that are actually relevant to the query. :param retrieved_items: Ordered list of items returned by a search engine or classifier. :return: The calculated Average Precision score as float value between 0 and 1. """ if not relevant_items: return 0 num_relevant = sum([1 for item in retrieved_items[:len(relevant_items)] if item in relevant_items]) ap_sum = 0.0 hit_count = 0 for i, doc_id in enumerate(retrieved_items): if doc_id in relevant_items: hit_count += 1 precision_at_k = hit_count / (i + 1) ap_sum += precision_at_k avg_prec = ap_sum / min(len(relevant_items), len(retrieved_items)) return avg_prec ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值