HEVC中LCU分割 划分查看

相比于H.264,HEVC中特别采用了Coding Unit(CU)的概念。为了查看编码过程中, LCU的最终划分,因此简单做了一个LCU分割划分的查看的代码。虽然做得比较粗糙,但是勉强能用。因为Matlab进行图片显示和操作比较容易,这里用了Matlab。


1、首先,在HEVC的测试代码HM中的函数,加入一段代码,讲LCU划分的信息保存下来。在Void TEncCu::compressCU( TComDataCU*& rpcCU ) 函数中加入

{

.........

xCompressCU( m_ppcBestCU[0], m_ppcTempCU[0], 0 );

//  Add the code from here

ofstream DepthInfo;

  TComDataCU* DepthCU = m_ppcBestCU[0];
  DepthInfo.open("BestDepth.txt", ios::app);
  
  for(UInt iPartitionNum = 0; iPartitionNum < DepthCU->getTotalNumPart(); iPartitionNum++)
  {
  DepthInfo << DepthCU->getDepth()[iPartitionNum];
  }

DepthInfo.close();

}

当运行完HM代码后,就会产生 BestDepth.txt文件。


2、讲BestDepth.txt文件 拷贝到 Matlab的工作目录下, 从以下链接中下载Matlab代码:


http://download.csdn.net/detail/minbiao880224/6789725



Matlab代码其实是一个这样的函数:

function LCU_View(YUV_FileName, LCU_FileName, Width, Height, NumFrame)


YUV_FileName : 为测试序列YUV的路径和文件名,

LCU_FileName: 为BestDepth.txt文件的路径和文件名,

Width                   : 为测试序列的Width

Height                 : 为测试序列的Height

NumFrame        : 为测试的帧数



这里,给出本人做的五帧的一个例子:

HEVC中LCU分割 划分查看_第1张图片

HEVC中LCU分割 划分查看_第2张图片HEVC中LCU分割 划分查看_第3张图片

HEVC中LCU分割 划分查看_第4张图片HEVC中LCU分割 划分查看_第5张图片


你可能感兴趣的:(HEVC,/,H.265)