VTM3.0代码阅读:decompressCtu函数

decompressCtu函数负责将coding_tree_unit解码后的数据解析并恢复,通过解码的运动参数重建CTU的重建像素信息。该函数遍历CTU内的所有CU,依据CU的预测模式(intra或inter)执行帧内或帧间像素重建。尽管整体流程与VTM1相似,但VTM3.0中涉及的模式更加丰富。
摘要由CSDN通过智能技术生成

decompressCtu函数对coding_tree_unit函数解码得到的数据进行解析恢复,根据解码得到的运动参数恢复ctu的重建像素reco信息。
入口参数cs是picture的cs,其中包括了一帧内所有ctu的所有信息。
函数获取ctu区域内的所有cu,判断这些cu的预测模式是intra还是inter,然后分别进行帧内和帧间的像素重建。
函数流程与VTM1中基本没有差别,当然,其中需要解析恢复的各种模式肯定是增多了。

void DecCu::decompressCtu( CodingStructure& cs, const UnitArea& ctuArea )
{
   
  const int maxNumChannelType = cs.pcv->chrFormat != CHROMA_400 && CS::isDualITree( cs ) ? 2 : 1;
						//DualITree时maxNumChannelType=2,即I帧且亮度色度双重树时,ctu对亮度域和色度域有两套划分树,有两套cu,所以分开处理
 
 for( int ch = 0; ch < maxNumChannelType; ch++ )	//DualITree时亮度和色度分开处理;非DualITree时这个for循环只进行一次
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值