VVC普通量化

2021-10-10 07:33:34 字數 2220 閱讀 3482

總結一下vvc普通量化部分

void quant::

quant

(transformunit &tu,

const componentid &compid,

const ccoeffbuf &psrc, tcoeff &uiabssum,

const qpparam &cqp,

const ctx& ctx)

主要用到的變數:

const ccoeffbuf &picoef   = psrc;

//變換係數

coeffbuf piqcoef = tu.

getcoeffs

(compid)

;//量化後係數

//根據縮放型別獲取量化係數矩陣

int*piquantcoeff =

getquantcoeff

(scalinglisttype, cqp.

rem(usetransformskip)

, uilog2trwidth, uilog2trheight)

;

//獲取預設量化係數 mf值

// cqp.per表示floor(qp/6)的值

// cqp.rem表示qp%6的值

const

int defaultquantisationcoefficient = g_quantscales[needsqrtadjustment?1:

0][cqp.

rem(usetransformskip)];

// itranformshift表示整數dct變換的縮放因子,該因子和變換尺寸有關

int itransformshift =

gettransformshift

(channelbitdepth, rect.

size()

, maxlog2trdynamicrange)

+( needsqrtadjustment?-1

:0);

//計算qbit,quant_shift =14,cqp.per=floor(qp/6),qbit=14+floor(qp/6)

//如果使用的不是變換跳過模式,則再加上dct係數的縮放因子

const

int iqbits = quant_shift + cqp.

per(usetransformskip)

+(usetransformskip ?

0: itransformshift)

;

// 計算f'=f<<(qbit+t)

const

int64_t iadd =

int64_t

(tu.cs-

>slice-

>

isirap()

?171:85

)<<

int64_t

(iqbits -9)

;const

int qbits8 = iqbits -

8;

//最大係數數目

const

int maxnumberofcoeffs = lfnstidx >0?

((( uiwidth ==

4&& uiheight ==4)

||( uiwidth ==

8&& uiheight ==8)

)?8:

16): piqcoef.

area()

;

然後,用for迴圈遍歷塊內所有係數,分別對其量化:

for

(int uiscanpos =

0; uiscanpos < maxnumberofcoeffs; uiscanpos++

)// for nif(

(tu.cu-

>bdpcmmode &&

isluma

(compid))||

(tu.cu-

>bdpcmmodechroma &&

ischroma

(compid)))

if( cctx.

signhiding()

)}}//if rdoq

//return;

}

高通量資料

sra是ncbi 推出的儲存高通量資料的格式,而平常我們工作用得多是fastq格式。如果需要把sra 轉成fastq sratoolkit.2.1.16 centos linux64,解壓就可以用 sratoolkit.2.1.16 centos linux64 bin fastq dump 然後使...

VVC編碼工具之Intra Prediction

1.intra mode coding with 67 intra prediction modes 1 vtm4將幀內角度 模式從33擴充套件到了65種,新增的mode為圖9中的紅色虛線 2 對於矩形塊,傳統的角度 模式會被wide angle intra prediction modes代替,見...

openFOAM中通量的生成

標頭檔案createphi.h和compressiblecreatephi.h 使用openfoam處理守恆方程時,經常需要處理通過網格面的通量。廣義通量表示為phi。由於密度 速度等值儲存在網格中心的,因此為了計算網格面上的通量,必須進行一定的處理。openfoam通過呼叫createphi.h或...