CU分割信息提取(更新续)

2024-04-07 07:18
文章标签 分割 更新 cu 信息提取

本文主要是介绍CU分割信息提取(更新续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文主要针对feixiang_john,HEVC_CJL,zhuix7788,yangxiao_xiang等人的CSDN的博客,进行有关CU分割内容的学习和运用。具体相关内容请参考他们的博客:
feixiang_john:HEVC/H.265参考代码跟踪
http://blog.csdn.net/feixiang_john/article/details/7876227#comments
HEVC_CJL:CU的最终划分
http://blog.csdn.net/hevc_cjl/article/details/8275260
http://blog.csdn.net/hevc_cjl/article/details/8299529
http://blog.csdn.net/hevc_cjl/article/details/8639835
zhuix7788:模式以及划分信息
http://blog.csdn.net/zhuix7788/article/details/8214685
yangxiao_xiang: HEVC帧内预测编码之LCU四叉树结构分块
http://blog.csdn.net/yangxiao_xiang/article/details/8270723
http://blog.csdn.net/yangxiao_xiang/article/details/8275181
http://blog.csdn.net/yangxiao_xiang/article/details/8478283

注意在cpp文件开头加上头文件#include <fstream>


====================================================================================================================
// Public member functions
// ====================================================================================================================/** \param  rpcCU pointer of CU data class*/
//一句话总结获取CU最佳划分的方法:
//在HM中调用完xCompressCU之后(至少也应该是compressCU调用完它之后,此时最佳PU为m_ppcBestCU[0]),
//在调用encodeCU之前(也可以之后,这个只要保证pcCU没被修改过即可),
//对compressCU的参数pcCU进行类似语句: pcCU->getDepth( uiAbsPartIdx ),
//即可获得Z order为uiAbsPartIdx的4x4块的深度,如果把整个CU每个4x4块的深度确定下来,那么它的划分自然也就确定下来了。
Void TEncCu::compressCU( TComDataCU*& rpcCU )
{// initialize CU datam_ppcBestCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() );m_ppcTempCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() );#if RATE_CONTROL_LAMBDA_DOMAINm_addSADDepth      = 0;m_LCUPredictionSAD = 0;m_temporalSAD      = 0;
#endif// analysis of CUxCompressCU( m_ppcBestCU[0], m_ppcTempCU[0], 0 );//获取最佳PU为m_ppcBestCU[0]//=======LCU分割单元深度信息输出2013.3.27================ UInt LCUDepth[256] ;  ofstream outfile("BasketballdrillCU.txt",ios::in|ios::app);for (Int i=0;i<256;i+=4)  //CU分割最大为8x8,而存储分割信息是4x4,故i+=4处理{  LCUDepth[i]=  m_ppcBestCU[0]->getDepth(i);  outfile<<LCUDepth[i]<<;outfile<<endl;  }//--------------------------------------------------------#if ADAPTIVE_QP_SELECTIONif( m_pcEncCfg->getUseAdaptQpSelect() ){if(rpcCU->getSlice()->getSliceType()!=I_SLICE) //IIII{xLcuCollectARLStats( rpcCU);}}
#endif
}



注释:由于是basketballdrive.yuv第一帧,且分辨率为1920x1080,像素点数目不是8的倍数,故出现了最后一行的分割情况异样。




这篇关于CU分割信息提取(更新续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881965

相关文章

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Python如何将大TXT文件分割成4KB小文件

《Python如何将大TXT文件分割成4KB小文件》处理大文本文件是程序员经常遇到的挑战,特别是当我们需要把一个几百MB甚至几个GB的TXT文件分割成小块时,下面我们来聊聊如何用Python自动完成这... 目录为什么需要分割TXT文件基础版:按行分割进阶版:精确控制文件大小完美解决方案:支持UTF-8编码

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面