視音頻編解碼軟件技術屬于在市場前景好、產(chǎn)業(yè)關聯(lián)度大、關系國民經(jīng)濟發(fā)展和國家安全的戰(zhàn)略性技術,是數(shù)字視音頻產(chǎn)業(yè)的核心技術。視音頻編解碼軟件的應用場合相當廣泛,包括可視電話(固定或移動)、實時視頻會議系統(tǒng)、視頻監(jiān)控系統(tǒng)、internet網(wǎng)視頻傳輸以及多媒體信息存儲等。由于安防行業(yè)中對監(jiān)控的視音頻信息長期大量存儲的迫切需求,視音頻編解碼技術的最新發(fā)展在該行業(yè)中得到了快速產(chǎn)業(yè)轉化,并形成了一定的規(guī)模。近年來,迅速發(fā)展的安防市場極大促進了視音頻編碼板卡和數(shù)字硬盤錄像機(DVR)的技術更新速度。而視音頻編碼板卡和DVR的關鍵技術就是數(shù)字視音頻編解碼技術。
國際上視音頻編解碼標準主要有兩大系列:ITU(最初是CCITT)針對多媒體通信制定的H.26x系列視頻編碼標準和G.7系列音頻編碼標準。
ISO/IEC制定的MPEG系列標準。中國也成立了自己的中國數(shù)字視音頻編解碼標準化技術工作組(AVS),正在制定自有知識產(chǎn)權的AVS標準。在視頻監(jiān)控領域由模擬向數(shù)字化的轉化過程中,MPEG-1技術起到了無可替代的作用,但近年來,由于MPEG-4壓縮技術在實時視頻監(jiān)控方面,無論是壓縮率,傳輸?shù)乃俾?,清晰度都比MPEG-1具有更大的優(yōu)勢,現(xiàn)在MPEG-4在視頻監(jiān)控上占有統(tǒng)治地位。同時,H.264在低碼率高畫質(zhì)方面有很大的優(yōu)勢,相信H.264也是未來的發(fā)展趨勢。本文首先重點講述MPEG-4,然后對H.264中引進的最新視頻編碼技術及我國"數(shù)字音視頻編解碼技術標準工作組"制定的AVS標準進行簡單的對比介紹。希望通過本文能使大家對視頻編碼技術有進一步的理解?!?/P>
MPEG-4視頻編碼技術
MPEG-4視頻編碼標準支持MPEG-1、MPEC-2中的大多數(shù)功能,它包含了H.263的核心設計,并增加了優(yōu)先特性和各種各樣創(chuàng)造性的新特性。它提供不同的視頻標準源格式、碼率、幀頻下矩形圖像的有效編碼,同時也支持基于內(nèi)容的圖像編碼。采納了基于對象(Object-Based)的編碼、基于模型(Model-based)的編碼等第二代編碼技術是MPEG-4標準的主要特征。
MPEG-4視頻編碼系統(tǒng)框圖(如圖)
MPEG-4視頻編碼中主要包含以下關鍵技術:
離散余弦編碼(DCT)DCT主要完成圖像數(shù)據(jù)由空域轉向頻域,各系數(shù)相互獨立,這意味著各系數(shù)可分開處理,同時,圖像的高頻系數(shù)大部分接近于零。人的視覺系統(tǒng)對低頻比對高頻敏感的多,因此可以用更大的量化步長來量化高頻系數(shù),使大部分高頻系數(shù)為零,從得到較高的壓縮比,而人眼很難察覺。[nextpage]
量化
量化是針對DCT變換系數(shù)進行的,量化過程就是以某個量化步長去除DCT系數(shù)。量化步長的大小稱為量化精度,量化步長越小,量化精度就越細,包含的信息越多,但所需的傳輸頻帶越高。不同的DCT變換系數(shù)對人類視覺感應的重要性是不同的,因此編碼器根據(jù)視覺感應準則,對一個8×8的DCT變換塊中的64個DCT變換系數(shù)采用不同的量化精度,以保證盡可能多地包含特定的DCT空間頻率信息,又使量化精度不超過需要。
Intra塊DC系數(shù)和AC系數(shù)的幀內(nèi)預測
由于Intra編碼方式的各塊之間的DC和AC有較強的連續(xù)性,所以我們量化后可以進一步進行預測。DC和AC的預測方向有兩個:水平方向和垂直方向。其預測方向主要取決于相鄰塊DC系數(shù)的相關性,AC的預測只對塊的第一行或第一列進行預測。是對第一行進行預測還是對第一列進行預測主要取決于預測方向,其預測方向和DC預測方向一致?!?/P>
之型掃描與游程編碼
由于經(jīng)量化后,大多數(shù)非零DCT系數(shù)集中于8′8二維矩陣的左上角,即低頻分量區(qū),之型掃描后,這些非零DCT系數(shù)就集中于一維排列數(shù)組的前部,后面跟著長串的量化為零的DCT系數(shù),這些就為游程編碼創(chuàng)造了條件。所謂游程編碼就是對掃描后64個系數(shù)進行編碼:用非0系數(shù)的大小(Level)、其前面連續(xù)0的個數(shù)(Run)及終止標志(Last:"0"便是其后還有不為0的系數(shù);"1"表示該系數(shù)為最后不為0的數(shù),余下的系數(shù)全為0)加起來構成一個三維矢量(Last,Run,Level)。然后就可以對這些矢量進行Huffman編碼。
變字長編碼(VLC)
游程編碼形成的三維矢量是一種有效表示方式,實際傳輸前,還須對其進行比特流編碼,產(chǎn)生用于傳輸?shù)臄?shù)字比特流。其中用得最多的就是Huffman編碼,Huffman編碼中,根據(jù)所有編碼信號的概率生成一個碼表,碼表中對大概率信號分配較少的比特表示,對小概率信號分配較多的比特表示,使得整個碼流的平均長度趨于最短。
運動估計
運動估計用于幀間編碼,即P幀和B幀編碼。通過在參考幀圖像中搜索到與當前塊最接近的塊。從而使傳輸?shù)恼`差塊可以用更少的比特表示,從而達到壓縮目的。運動估計的準確程度對幀間編碼的壓縮效果非常重要。運動估計以宏塊或塊為單位進行,計算被壓縮圖像與參考圖像的對應位置上的宏塊或塊間的位置偏移。這種位置偏移是叫運動矢量(MV),一個運動矢量代表水平和垂直兩個方向上的位移?,F(xiàn)在MPEG-4所用的運動估計算法主要有:MVFAST(MotionVectorFieldAdaptiveSearchTechnique),改進的PMVFAST(PredictiveMVFAST)和EPZS(EnhancedPredictiveZonalSearch)算法。