HEVC中打印CU划分
轉(zhuǎn)載,原文地址:http://blog.csdn.net/minbiao880224/article/details/17685935,結(jié)合我的第一篇HM編碼的使用,自己完全可以理解他的MATLAB代碼和打印思路,作者原文中給了5張,其實(shí)有多少幀最后會(huì)出來(lái)多少個(gè)CU劃分圖。
相比于H.264,HEVC中特別采用了Coding Unit(CU)的概念。為了查看編碼過(guò)程中, LCU的最終劃分,因此簡(jiǎn)單做了一個(gè)LCU分割劃分的查看的代碼。雖然做得比較粗糙,但是勉強(qiáng)能用。因?yàn)镸atlab進(jìn)行圖片顯示和操作比較容易,這里用了Matlab。
1、首先,在HEVC的測(cè)試代碼HM中的函數(shù),加入一段代碼,講LCU劃分的信息保存下來(lái)。在Void TEncCu::compressCU( TComDataCU*& rpcCU ) 函數(shù)中加入
{
.........
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();
}
當(dāng)運(yùn)行完HM代碼后,就會(huì)產(chǎn)生 BestDepth.txt文件。
2、講BestDepth.txt文件 拷貝到 Matlab的工作目錄下, 從以下鏈接中下載Matlab代碼:
http://download.csdn.net/detail/minbiao880224/6789725
Matlab代碼其實(shí)是一個(gè)這樣的函數(shù):
function LCU_View(YUV_FileName, LCU_FileName, Width, Height, NumFrame)
YUV_FileName : 為測(cè)試序列YUV的路徑和文件名,
LCU_FileName: 為BestDepth.txt文件的路徑和文件名,
Width ? ? ? ? ? ? ? ? ? : 為測(cè)試序列的Width
Height ? ? ? ? ? ? ? ? : 為測(cè)試序列的Height
NumFrame ? ? ? ?: 為測(cè)試的幀數(shù)
這里,給出本人做的一個(gè)例子:
總結(jié)
以上是生活随笔為你收集整理的HEVC中打印CU划分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html母亲节主题网页源码jd
- 下一篇: C/C++ 机房预约系统