變換 係數的編碼 一

2021-08-11 06:40:18 字數 2090 閱讀 9815

係數掃瞄模式的初始化:

// scanning order table  

uint* g_auisiglastscan[ 3 ][ max_cu_depth ]; //!< [pattern][depth]

const uint g_siglastscan8x8[ 3 ][ 4 ] =

, //!< right-up diagonal

, //!< horizontal

//!< vertical

};

uint g_siglastscancg32x32[ 64 ];

void initsiglastscan(uint* pbuffd, uint* pbuffh, uint* pbuffv, int iwidth, int iheight, int idepth)  

for( uint uiscanline = 0; uinextscanpos < uinumscanpos; uiscanline++ )

while( iprimdim >= 0 && is***dim < iwidth ) //!< 設定矩陣中某一條反對角線上(左下到右上)的元素的序號

} }

if( iwidth > 4 )

uint offsety = initblkpos / uinumblkside; //!< 當前4x4塊垂直方向的偏移量

uint offsetx = initblkpos - offsety * uinumblkside; //!< 當前4x4塊水平方向的偏移量

uint offsetd = 4 * ( offsetx + offsety * iwidth ); //!< 當前4x4塊第乙個位置序號

uint offsetscan = 16 * uiblk; //!< 每乙個4x4塊包含了16個畫素(即係數),用於給出當前4x4塊第乙個位置相對於第1個4x4塊第乙個位置的偏移量

for( uint uiscanline = 0; uinextscanpos < 16; uiscanline++ ) //!< 對每個4x4塊進行掃瞄順序的確定

while( iprimdim >= 0 && is***dim < 4 ) //!< 設定矩陣中某一條反對角線上(左下到右上)的元素的序號

} }

} uint uicnt = 0;

if( iwidth > 2 )

} }

} //!< 垂直掃瞄模式

uicnt = 0;

for(int blkx=0; blkx < numblkside; blkx++) //!< 以4x4塊為單元,列優先

} } //!< for(int blky=0; blky < numblkside; blky++)

} //!< for(int blkx=0; blkx < numblkside; blkx++)

} //!< if( iwidth > 2 )

else //!< if( iwidth <= 2 )

} //!< vertical scan pattern

uicnt = 0;

for(int ix=0; ix < iwidth; ix++)

}

} //!< else //!< if( iwidth <= 2 )

}

4x4內部自然只能以畫素為單位進行掃瞄了,按照規定的三種pattern之一進行掃瞄。更大的塊,則是以4x4塊為單位掃瞄的,這也可以理解為乙個遞迴的過程。

規定的三種掃瞄方式:4*4塊內乙個掃瞄順序,塊之間也是乙個掃瞄順序。初始化三種順序的時候,要分if (iwidth > 4),if(iwidth > 2)

還詳細解析係數的文件。就是說明:coeff_abs_level_greater1_flag[n], coeff_abs_level_greater2_flag[ n ]等的文件:"transform coefficient coding in hevc"

HEVC學習(二十五) 變換係數的編碼之一

本文首先介紹係數掃瞄模式的初始化。直接給出 及相應的注釋 scanning order table uint g auisiglastscan 3 max cu depth pattern depth const uint g siglastscan8x8 3 4 right up diagonal...

座標變換係數的選取對電機控制演算法的影響

今天看了一篇上海交通大學乙個碩士發表的一篇文章 座標變換係數的選取及對電機控制演算法的影響 對clark變換矩陣前的係數的取值對電機模型及控制演算法所產生的影響進行了分析和公式推導,對我們這些剛從事電機控制的人員是一篇不錯的文章。以前只知道根據幅值不變係數為2 3,根據功率不變係數為sqrt 2 3...

如何看懂數碼單反的規格引數 1 焦距轉換係數

通過規格來選擇判斷和比較數碼單反 單反數碼 的檔次,是消費者選擇數碼單反時最直接的辦法。消費級數位相機的選擇上,我們常常根據 畫素 變焦倍數 螢幕大小 去比較,但是,當很多人第一次接觸到數碼單反的規格時,會感到完全無所適從。那麼,在數碼單反的選擇上,我們該看哪些規格和引數呢?這些規格和引數又都代表什...