多媒體系統(tǒng)芯片的應(yīng)用與技術(shù)架構(gòu)─以MPEG-4為例
2004年9月A版
多媒體系統(tǒng)在信息傳播與記錄上的應(yīng)用已日趨普遍,且成為信息傳播的主流。在多媒體的傳輸當(dāng)中,視頻占了很大的比重。由于視頻數(shù)據(jù)量十分龐大,在實(shí)際的儲(chǔ)存與傳輸上都有困難,因此已有許多壓縮標(biāo)準(zhǔn)被制訂出來(lái)。如:應(yīng)用在VCD的產(chǎn)業(yè)上,成為VCD標(biāo)準(zhǔn)的MPEG-1;應(yīng)用在DVD和HDTV上,現(xiàn)有的DVD也已經(jīng)成功應(yīng)用的MPEG-2;應(yīng)用在ISDN上的H.261;與應(yīng)用在GSTN上的H.263和H.263+等等。其中,國(guó)際標(biāo)準(zhǔn)組織 (ISO) 于1998年底完成制訂了一個(gè)新的視頻壓縮標(biāo)準(zhǔn),也就是MPEG-4。在這個(gè)標(biāo)準(zhǔn)之下,包含了許多新的功能,目的就是為了支持在新的傳輸環(huán)境下,有更好的視頻影像傳輸效果及更加生動(dòng)的功能,而相對(duì)的,MPEG-4的復(fù)雜度也較以往的其它標(biāo)準(zhǔn)為高。因此,我們就以MPEG-4為例,介紹一個(gè)多媒體系統(tǒng)芯片的應(yīng)用以及技術(shù)架構(gòu)。
運(yùn)算量分析
在過(guò)去,許多視頻標(biāo)準(zhǔn)在各種軟件與硬件的平臺(tái)上能夠有效的實(shí)現(xiàn),是基于運(yùn)算資源能否有效利用與整合分配。因此,需要對(duì)MPEG-4算法做詳盡完整的運(yùn)算特性與復(fù)雜度分析?;谶@些分析,才能對(duì)運(yùn)算資源做有效規(guī)劃,以取得最佳的設(shè)計(jì)取舍,并決定后續(xù)實(shí)現(xiàn)的方式。
表1及表2為現(xiàn)有對(duì)MPEG-4 Core Profile Level 2這樣的規(guī)格之下,MPEG-4所需要的運(yùn)算資源,這些運(yùn)算資源包含有數(shù)據(jù)處理運(yùn)算(Data Processing)與內(nèi)存存取量 (Data Transfer)。首先,可看出MPEG-4編碼的運(yùn)算遠(yuǎn)遠(yuǎn)大于解碼的運(yùn)算,且在實(shí)時(shí)的應(yīng)用下,以現(xiàn)今常見(jiàn)的高階運(yùn)算處理器也很難提供如此巨額的運(yùn)算需求。此外,在編碼算法中,最主要的運(yùn)算就是全搜尋法移動(dòng)估計(jì)運(yùn)算 (Full Search Motion Estimation, ME)以及二元形狀編碼法運(yùn)算(Shape Coding) ,占去整個(gè)視頻編碼運(yùn)算約百分之九十的運(yùn)算負(fù)載。其中二元形狀編碼是在MPEG-4中特有的運(yùn)算。而其它的部份如以MB為基本單位的移動(dòng)補(bǔ)償 (Motion Compensation, MC)、以Block為基本單位的離散余弦轉(zhuǎn)換 (Discrete Cosine Transform, DCT)、以Bit為基本單位不定長(zhǎng)度編碼 (Variable Length Coding, VLC) 等,所占的運(yùn)算量都不大。表3為這些主要運(yùn)算的特性。根據(jù)這些特性,在架構(gòu)設(shè)計(jì)時(shí),即可將數(shù)據(jù)平行化 (data parallelism)、運(yùn)算管線化 (task-pipelining)、硬件尋址 (hardware addressing) 與數(shù)據(jù)重用 (data reuse) 等技巧套用上去,以實(shí)現(xiàn)MPEG-4視頻編解碼系統(tǒng)。
移動(dòng)估計(jì) (Motion Estimation)
ME的設(shè)計(jì)已被廣泛的討論于許多文獻(xiàn)中,其具有高度數(shù)據(jù)平行運(yùn)算的特性。由于ME的算法有全搜尋法 (Full search) 與快速算法 (Fast algorithm)兩大類(lèi),此二者在搜尋時(shí)所需數(shù)據(jù)的順序大不相同,因此也產(chǎn)生出各自適合的架構(gòu)。對(duì)全搜尋法,常見(jiàn)的為systolic array的架構(gòu);但對(duì)于快速算法,架構(gòu)上的設(shè)計(jì)就需要搭配算法,以得到較高的效率。近年來(lái)的作法,是針對(duì)不同的應(yīng)用,以不同的算法來(lái)處理,因而產(chǎn)生了一種混合式的設(shè)計(jì),是可在全搜尋法與快速算法間作切換。此種作法共分成三個(gè)處理程序,第一級(jí)為Pattern Generation,根據(jù)不同的Search Pattern來(lái)產(chǎn)生適當(dāng)?shù)乃褜の恢茫纾涸谌褜し〞r(shí)可采用螺旋狀(Spiral Pattern),而在快速算法(例如Diamond Search)時(shí)為Diamond Pattern,并且將此搜尋位置送入第二級(jí)FIFO,以提高第三級(jí)的硬件使用率。第三級(jí)為Distortion Calculation,使用加法樹(shù)來(lái)計(jì)算Distortion并且累加成為SAD值。此外,由于ME需要存取大量的數(shù)據(jù),因此如何減少內(nèi)存存取便成為一個(gè)重要的課題,一般的作法會(huì)是以內(nèi)存的重新排序或是其它技巧以達(dá)到數(shù)據(jù)重復(fù)使用的目的。
形狀編碼 (Shape Coding)
二元形狀編碼法為MPEG-4視頻標(biāo)準(zhǔn)中用以支持對(duì)象導(dǎo)向功能最為核心關(guān)鍵的一個(gè)技術(shù),因其內(nèi)含大量的位層次運(yùn)算以及大量的數(shù)據(jù)交換特性,導(dǎo)致在精簡(jiǎn)指令集計(jì)算器運(yùn)算上的瓶頸。在設(shè)計(jì)上可采用延遲線模型(Delay Line Model)來(lái)實(shí)現(xiàn),利用一些緩存器及適當(dāng)安排的數(shù)據(jù)排程,便可達(dá)到數(shù)據(jù)重用的目的,以減少對(duì)內(nèi)存的存取。另外,對(duì)于CAE (Context Arithmetic Encoder)的運(yùn)算,需要因應(yīng)不同的Template與不同Block(塊)大小(16
評(píng)論