基于IPP庫的MPEG-4視頻傳輸系統(tǒng)設(shè)計
2.2.3 MPEG-4編解碼中的關(guān)鍵IPP庫函數(shù)
基于IPP庫的MPEG-4編解碼系統(tǒng)框圖如圖3所示,下面來具體介紹MPEG4編解碼中用到的關(guān)鍵的IPP庫函數(shù)[1,4]:
DCT變換:
ippiDCT8x8Fwd_Video_8u16s_C1R(const Ipp8u * pSrc, int srcStep, Ipp16s * pDst);
功能描述:將pSrc指向的8X8圖像塊采樣點(空間域)進行前向離散余弦變換,轉(zhuǎn)換到 pDst指向的一組變換系數(shù)(變換域)。
量化:
ippiQuantIntra_MPEG4_16s_I (Ipp16s * pSrcDst, Ipp8u QP, int blockIndex, const int * pQMatrix);
功能描述:將輸入的DCT系數(shù)量化后,重新存儲到pSrcDst指向的存儲空間,其中QP是量化系數(shù)
VLC編碼:
ippiEncodeVLCZigzag_Inter_MPEG4_16s1u 對幀間塊進行之字型掃描并VLC編碼
運動估計和運動補償:
ippiMCBlock_RoundOff_8u----進行運動補償并將補償結(jié)果復(fù)制到當前塊
ippiMotionEstimation_16x16_SEA----完成16X16大小的運動補償,它不僅覆蓋了16X16,還包括了8X8的整像素和半像素搜索。同時,該函數(shù)還決定了幀內(nèi)或幀間的選擇
ippiEncodeMV_MPEG4_8u16s----搜索預(yù)測的運動向量并對殘差進行編碼
以上只選取了MPEG4編碼端用到的幀內(nèi)/幀間關(guān)鍵的IPP庫函數(shù),而解碼端的VLC解碼,逆量化以及逆DCT變換是編碼的逆過程,對于各個功能模塊相對應(yīng)的IPP庫函數(shù)在IPP庫參考文檔中有詳細敘述,在此不再贅述。
圖3 MPEG-4編解碼系統(tǒng)框圖
評論