新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > MPEG-4在視頻監(jiān)控應(yīng)用中的軟件實現(xiàn)

MPEG-4在視頻監(jiān)控應(yīng)用中的軟件實現(xiàn)

作者: 時間:2011-04-07 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/166185.htm

3.2 Sprite 編碼
Sprite 編碼是新一代的編碼技術(shù),它利用全局運動估計生成視頻段背景的Sprite 圖像(全景圖),然后將這個Sprite 圖像編碼,以后各幀的背景編碼都只是對該幀相對于Sprite 圖像的運動參數(shù)進行編碼?;诒尘暗钠交图y理相關(guān)性大的特點,對Sprite 全景圖的編碼采用一種直接空間預(yù)測方法,基于篇幅限制,這里不作介紹,可參考[2]。Sprite 編碼包括兩部分,一是Sprite 的生成,使用全局運動估計來生成;二是Sprite 編碼。Sprite 在最初的VOP 編碼之前建立, 標準中定義了兩種類型的Sprite:靜態(tài)Sprite 和動態(tài)Sprite。在這里選用動態(tài)Sprite,因此我們僅討論動態(tài)Sprite 的生成與編碼。

動態(tài)Sprite 的編碼如圖2 所示:視頻序列的第一幀采用I-VOP 方法編碼,而第一幀的重構(gòu)圖像在編碼端和解碼端建立相同的初始Sprite 圖像;第二幀用全局運動估計算法估計當前VOP 與前一幀VOP 之間的全局運動,用參考點的軌跡描述兩個VOP 之間的運動。采用P-VOP 方法編碼第二幀的紋理,不同的是編碼該VOP 各個宏塊時,運動補償?shù)姆绞匠撕陦K和塊運動補償外,還可以用Sprite圖像為參考進行運動補償,此時宏塊的運動補償為全局運動補償。解碼器的解碼參考點的軌跡得到全局運動參數(shù),然后解碼紋理信息得到第二幀的重構(gòu)圖像,根據(jù)全局運動參數(shù)和第二幀重構(gòu)圖像更新Sprite 圖像。同樣的方法用來編碼序列后面的VOP。

圖2 動態(tài)Sprite 編碼框圖

3.3 可擴展編碼
根據(jù)的特點,當傳輸圖像的分辨率和幀率不是很高時,仍能達到一般要求下的監(jiān)控效果。因此我們可以采用 的基于對象的分層傳輸思想,使用空域分級功能調(diào)節(jié)空間分辨率,使用時域分級功能調(diào)節(jié)幀率。這樣做一方面可以方便地碼率控制,對網(wǎng)絡(luò)帶寬的變化具有很好的自適應(yīng)性,另一方面,用戶可以通過交互功能選擇分辨率和幀率,以得到更好的視頻效果或獲得某一對象局部的細節(jié)。 定義了一種通用的可分級擴展框架來空間和時間可分級擴展,如圖3 所示。

圖3 MPEG-4 通用的可分級擴展框架圖

當用于空域擴展時,可擴展預(yù)處理器對輸入的VOP 下采樣,得到由VOP編碼器處理的基本層VOP。中間處理器處理重建的基本層VOP,并對其進行上采樣,原始VOP 與中間處理器輸出的差作為增強層編碼器的輸入。在增強層中的編碼是以P-VOP 或B-VOP 方式編碼的。通過反復(fù)接器可以分別訪問基本層和增強層解碼器對應(yīng)的基本層和增強層碼流,解碼器端的中間處理器與編碼端執(zhí)行相同的操作,擴展后處理器執(zhí)行必要的轉(zhuǎn)換工作。
當擴展編碼使用時域擴展編碼時,可擴展預(yù)處理器在時域上將一個VO 分解成VOP 的兩個子流,其中一個被輸入到基本層編碼器中,另一個輸入到增強層編碼器中。在這種情況下,不需要中間處理器,而是簡單地將解碼的VOP 基本層輸入到VOP 增強層編碼器,增強層編碼器將使用它們進行時域預(yù)測??蓴U展后處理器只是簡單地輸出基本層的VOP,并不進行任何轉(zhuǎn)換,但是在時域上混合基本層和增強層VOP,以產(chǎn)生更高時域分辨率的增強輸出。

3.4 普通VOP 的形狀、運動、紋理編碼
形狀編碼是其他的編碼標準中所沒有的,編碼的信息有兩類:二值形狀信息(binary shapeinformation)和灰度級形狀信息(gray scale shape information)。二值形狀信息就是用0、1 的方法表示編碼的VOP 的形狀,0 表示非VOP 區(qū)域,1 表示VOP 的區(qū)域;灰度級形狀信息可取值0~255,類似于圖形學(xué)中的α 平面的概念,0 表示非VOP 區(qū)域(即透明區(qū)域),1~255 表示VOP 區(qū)域透明程度的不同,255 表示完全不透明。灰度級形狀信息的引入主要是為了使前景物體疊加到背景上時不至于界太明顯、太生硬,進行一下模糊處理。這里二值形狀采用基于上下文的算術(shù)編碼方法[4],整個編碼過程可分為以下五步:①對于給定VOP 的二值形狀圖重新確定形狀邊界,并將它分為若干個16×16 二值α塊(Binary Alpha Block,縮寫為BAB)。②對即將編碼的BAB 塊進行運動估計,得到運動矢量MVs(MV for shape 縮寫為MVs)。③對該VOP 中待編碼的BAB 塊確定編碼方式。④對待編碼的BAB 塊確定分辨率。⑤對BAB 塊進行編碼?;叶燃壘幋a形狀編碼與此類似。對普通視頻對象,MPEG-4 編碼算法支持三種類型的VOP:I-VOP、P-VOP、B-VOP。在MPEG-4 中運動預(yù)測和運動補償可以是基于16×16 宏塊,也可以為8×8 塊。如果宏塊完全位于VOP 內(nèi),運動估計使用一般的方法進行;倘若宏塊位于VOP 邊界,則使用圖像填充技術(shù)給VOP 外的像素指定值。然后利用這些值計算SAD。對于P-VOP 和B-VOP,運動矢量首先被差分編碼,然后再用可變長編碼運動矢量。

視頻對象的紋理信息用亮度Y 和兩個色差分量Cb、Cr 表示,對于I-VOP,紋理信息直接包含在亮度和色差分量中,在有運動補償?shù)那闆r下,紋理信息用運動補償后的殘差表示。紋理信息的編碼使用了標準的8*8 的DCT。紋理編碼中,幀內(nèi)VOP 和運動補償后的殘差數(shù)據(jù)都用相同的8×8 塊DCT 方案編碼,對亮度和色度分別做DCT。對于VOP 之內(nèi)的宏塊用與H.263 相同的技術(shù)編碼,對位于VOP 形狀邊緣的宏塊,有兩種選擇,一是用圖像填充技術(shù)填滿宏塊中VOP 以外的部分,另一種是用形狀自適應(yīng)DCT 編碼的方法。后者只對VOP 內(nèi)部的像素編碼,從而在比特率相同的情況下有較高的質(zhì)量,代價是的復(fù)雜度稍高,考慮到的實時要求,選用了圖像填充技術(shù)中的低通外推(Low PassExtrapolotion)方法。接著再做DCT。對DCT 后的數(shù)據(jù)量化、掃描與可變長編碼操作類似于MPEG- 2 和H.263,在此就不詳述了。

4 小結(jié)
本文根據(jù)圖像監(jiān)控系統(tǒng)的特點,吸取MPEG-4 編碼標準的思想,提出了用MPEG-4 在中的編碼的主要框架,相較目前使用較多的硬件方案,更能貼近實際的要求,具有很好的靈活性和可升級性,又可降低成本。但由于MPEG-4 的編碼非常復(fù)雜,加上其技術(shù)上還不是很完善,所以實現(xiàn)上有一定的難度尤其如何保持其實時性能上難度更大。隨著高速處理芯片的不斷出現(xiàn)及MPEG-4 在技術(shù)上的發(fā)展完善,這些問題將迎刃而解。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉