《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 結(jié)合場(chǎng)景分析的視頻監(jiān)控系統(tǒng)編解碼優(yōu)化方案
結(jié)合場(chǎng)景分析的視頻監(jiān)控系統(tǒng)編解碼優(yōu)化方案
2015年微型機(jī)與應(yīng)用第14期
賀文強(qiáng),謝維波
(華僑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門 361021)
摘要: 利用監(jiān)控視頻中靜態(tài)場(chǎng)景較多且無(wú)意義和動(dòng)態(tài)場(chǎng)景明顯且集中的特點(diǎn),基于業(yè)內(nèi)領(lǐng)先的HITAV編解碼算法,提出了一種結(jié)合動(dòng)靜態(tài)場(chǎng)景分析的監(jiān)控視頻編解碼方案。運(yùn)用該方案和TI公司推出的雙核架構(gòu)高性能芯片OMAPL138,實(shí)現(xiàn)了一個(gè)基于異構(gòu)多核的嵌入式視頻監(jiān)控系統(tǒng)。實(shí)驗(yàn)證明,該方案降低了系統(tǒng)在有靜態(tài)場(chǎng)景時(shí)的平均傳輸碼流,提高了視頻的平均壓縮比。
Abstract:
Key words :

  摘  要: 利用監(jiān)控視頻中靜態(tài)場(chǎng)景較多且無(wú)意義和動(dòng)態(tài)場(chǎng)景明顯且集中的特點(diǎn),基于業(yè)內(nèi)領(lǐng)先的HITAV編解碼算法,提出了一種結(jié)合動(dòng)靜態(tài)場(chǎng)景分析的監(jiān)控視頻編解碼方案。運(yùn)用該方案和TI公司推出的雙核架構(gòu)高性能芯片OMAPL138,實(shí)現(xiàn)了一個(gè)基于異構(gòu)多核的嵌入式視頻監(jiān)控系統(tǒng)。實(shí)驗(yàn)證明,該方案降低了系統(tǒng)在有靜態(tài)場(chǎng)景時(shí)的平均傳輸碼流,提高了視頻的平均壓縮比。

  關(guān)鍵詞: 場(chǎng)景分析;監(jiān)控系統(tǒng);OMAPL138;Syslink

0 引言

  監(jiān)控視頻不同于其他用于廣告、宣傳、娛樂(lè)等的多媒體視頻,它存在的目的是確保被監(jiān)控區(qū)域的安全、檢測(cè)被監(jiān)控區(qū)域發(fā)生的變動(dòng)。在相當(dāng)長(zhǎng)的時(shí)間里,監(jiān)控區(qū)域是沒(méi)有變動(dòng)且冗余的靜態(tài)場(chǎng)景,因此,按照固定幀率工作的通用視頻編解碼算法在視頻監(jiān)控系統(tǒng)中并不合適。為了既能靈活有效地檢測(cè)出被監(jiān)控區(qū)域發(fā)生的變動(dòng),又不影響監(jiān)控視頻的分辨率,提高監(jiān)控的效率,同時(shí)最大程度地減少視頻傳輸?shù)臄?shù)據(jù)量,本文提出了一種動(dòng)靜態(tài)場(chǎng)景分析算法,來(lái)檢測(cè)監(jiān)控視頻中的場(chǎng)景變動(dòng),把監(jiān)控視頻分類為靜態(tài)場(chǎng)景和動(dòng)態(tài)場(chǎng)景視頻。通過(guò)動(dòng)靜態(tài)場(chǎng)景分析算法與編解碼算法的結(jié)合,實(shí)現(xiàn)了一種基于動(dòng)靜態(tài)場(chǎng)景分析的監(jiān)控視頻編解碼優(yōu)化方案,該方案能有效區(qū)分監(jiān)控視頻的場(chǎng)景狀態(tài),并根據(jù)不同的場(chǎng)景特征進(jìn)行不同的處理,一旦檢測(cè)到靜態(tài)場(chǎng)景,監(jiān)控視頻數(shù)據(jù)無(wú)需編碼和傳輸。通過(guò)把該算法成功移植于OMAPL138,驗(yàn)證了算法在降低碼流上的有效性。

1 算法設(shè)計(jì)

  1.1 動(dòng)靜態(tài)場(chǎng)景分析算法

  動(dòng)態(tài)場(chǎng)景視頻即所在區(qū)域的視頻畫面有運(yùn)動(dòng)物體出現(xiàn),與背景幀在某些區(qū)域有很大的差別;靜態(tài)場(chǎng)景視頻即視頻畫面在一定范圍內(nèi)沒(méi)有變化,與背景圖像差別不大。目前,運(yùn)動(dòng)檢測(cè)中最常用的方法有:幀間差分法、背景減除法、光流計(jì)算法和基于統(tǒng)計(jì)學(xué)的方法等[1]。幀間差分法相對(duì)于其他運(yùn)動(dòng)檢測(cè)算法,具有算法實(shí)現(xiàn)簡(jiǎn)單、靈敏度高、實(shí)時(shí)性好、對(duì)場(chǎng)景光線和動(dòng)態(tài)環(huán)境適應(yīng)性較強(qiáng)等特點(diǎn)[2]。由于本文只檢測(cè)視頻場(chǎng)景狀態(tài)即視頻中運(yùn)動(dòng)物體的有和無(wú),因此很好地避免了幀間差分法在目標(biāo)檢測(cè)中目標(biāo)區(qū)域產(chǎn)生“空洞”的問(wèn)題[3]?;诖耍疚奶岢隽嘶诒O(jiān)控視頻的動(dòng)靜態(tài)場(chǎng)景分析算法,算法是基于“怎樣快速地檢索到兩幀圖像有差別”這個(gè)基本問(wèn)題提出的。場(chǎng)景分析算法不必檢測(cè)出兩幀圖像的所有差別,檢測(cè)的是一幀視頻的整體狀態(tài),故只需要對(duì)有代表性的少數(shù)像素點(diǎn)進(jìn)行運(yùn)算,這是動(dòng)靜態(tài)場(chǎng)景分析算法區(qū)別于其他所有運(yùn)動(dòng)目標(biāo)檢測(cè)算法的最大優(yōu)勢(shì)。算法實(shí)現(xiàn)步驟如下:

 ?。?)對(duì)視頻進(jìn)行前期處理,主要是把彩色圖像轉(zhuǎn)化為灰度圖像(YUV格式的視頻提取Y分量即可)。

 ?。?)對(duì)得到的灰度圖像進(jìn)行采樣處理,提高算法效率。

 ?。?)設(shè)第一幀為背景幀,G(n)表示第n幀圖像,BG表示背景幀,背景幀的更新公式如下:

  1.png

 ?。?)第二幀開(kāi)始與背景幀逐像素值相減,相減后大于閾值T1,則f(k)等于1,否則等于0。G(k,n)表示第n幀第k個(gè)像素點(diǎn)的像素值,其中1≤k≤M×N(圖像有M行N列),BG(k)表示背景幀第k個(gè)點(diǎn)的像素值,公式如下:

  2.png

 ?。?)f(k)的累加值一旦超過(guò)閾值T2,則判定G(n)為動(dòng)態(tài)幀且退出,否則為靜態(tài)幀,公式如下:

  3.png

  動(dòng)靜態(tài)場(chǎng)景分析算法與運(yùn)動(dòng)目標(biāo)檢測(cè)算法的區(qū)別如下:

  (1)通過(guò)動(dòng)靜態(tài)場(chǎng)景分析后只有兩種狀態(tài):動(dòng)態(tài)場(chǎng)景和靜態(tài)場(chǎng)景。

 ?。?)場(chǎng)景分析算法不必檢測(cè)出兩幀圖像的所有差別,檢測(cè)的是一幀視頻的整體狀態(tài),只需要對(duì)少數(shù)像素點(diǎn)進(jìn)行運(yùn)算是動(dòng)靜態(tài)場(chǎng)景分析算法區(qū)別于其他所有運(yùn)動(dòng)目標(biāo)檢測(cè)算法的最大優(yōu)勢(shì)。

 ?。?)場(chǎng)景越復(fù)雜,算法運(yùn)行時(shí)間越短。

 ?。?)場(chǎng)景分析算法不求差分圖像,滿足條件立即退出。

  對(duì)算法的進(jìn)一步優(yōu)化:(1)雖然第(2)步采樣會(huì)有一定的抑制噪聲的能力,但因?yàn)槭遣蓸雍蟮闹鹣袼叵鄿p,還是不可避免地會(huì)有噪聲的干擾,為了抑制噪聲的影響,可以在小區(qū)域內(nèi)利用統(tǒng)計(jì)量的方法,如在4個(gè)點(diǎn)的小區(qū)域內(nèi)有3個(gè)點(diǎn)的差值大于T1才判斷f(k)=1;(2)考慮到從中間開(kāi)始會(huì)縮短檢索時(shí)間且處理算法的DSP有多個(gè)運(yùn)算器,故采用從中間向兩端檢索的方式,上半部分從左到右從下到上,下半部分從左到右從上到下。

  1.2 HITAV編解碼算法

  本文用到的HITAV算法,即為翰華信息科技有限公司自主研發(fā)的音視頻編解碼算法,HITAV的基本壓縮算法是小波模型(wavelet)[4]、多級(jí)樹(shù)集合群、廣義小波和數(shù)學(xué)形態(tài)小波,不同于基于離散余弦(DCT)模型的H264/MPEG4算法。HITAV利用小波模型和多級(jí)樹(shù)集合群的多級(jí)分解與收斂算法,它不是靠降幀率(犧牲流暢性)或者利用人的視覺(jué)誤差(犧牲畫質(zhì))限制靜態(tài)場(chǎng)景來(lái)實(shí)現(xiàn)低碼流,而是從源頭-視頻編碼模型上實(shí)現(xiàn)真正意義上的低碼流,它的編碼效率(壓縮比)根據(jù)不同的分辨率分別是H.264的2~5倍。在監(jiān)控系統(tǒng)中,HITAV的低碼流能大大地提高程序的運(yùn)行效率和實(shí)時(shí)性。HITAV編碼后的幀結(jié)構(gòu)主要部分如圖1所示。

001.jpg

  其中,width和height表示視頻圖像的寬和高;添加st_cnt字段用于標(biāo)示靜態(tài)場(chǎng)景狀態(tài)的持續(xù)時(shí)間;stream_length表示編碼后視頻數(shù)據(jù)的長(zhǎng)度,本文的場(chǎng)景狀態(tài)也由stream_length標(biāo)示,stream_length等于零表示靜態(tài)場(chǎng)景,stream_length大于零表示動(dòng)態(tài)場(chǎng)景。

  1.3 動(dòng)靜態(tài)場(chǎng)景分析算法與HITAV的結(jié)合

  編碼時(shí),原始視頻通過(guò)動(dòng)靜態(tài)場(chǎng)景分析之后分成動(dòng)態(tài)幀和靜態(tài)幀,動(dòng)態(tài)幀通過(guò)HITAV算法編碼,并把標(biāo)記值flag設(shè)為1,編碼后的幀結(jié)構(gòu)體中的stream_length不變;只有當(dāng)flag=1時(shí)才做靜態(tài)幀處理并把處理后的flag值設(shè)為0,通過(guò)靜態(tài)幀處理后,stream_length=0,即無(wú)數(shù)據(jù)部分。故經(jīng)過(guò)編碼,所有的動(dòng)態(tài)幀都得以壓縮,連續(xù)出現(xiàn)靜態(tài)幀表明系統(tǒng)進(jìn)入靜態(tài)場(chǎng)景狀態(tài),并對(duì)第一幀做靜態(tài)幀處理,其余靜態(tài)幀拋棄;在處理動(dòng)態(tài)幀時(shí),動(dòng)態(tài)幀中st_cnt記錄了在它之前的靜態(tài)幀量,以便存儲(chǔ)。編碼流程如圖2所示。

002.jpg

  解碼時(shí),根據(jù)接收到的視頻數(shù)據(jù)結(jié)構(gòu)體中的stream_length值判斷視頻監(jiān)控的場(chǎng)景狀態(tài),如果為動(dòng)態(tài)場(chǎng)景(即stream_length>0)則進(jìn)行HITAV算法解碼,并把解碼后的數(shù)據(jù)覆蓋顯示緩沖區(qū);如果為靜態(tài)場(chǎng)景(即stream_length=0)則標(biāo)志系統(tǒng)進(jìn)入靜態(tài)場(chǎng)景狀態(tài),并持續(xù)到下一個(gè)動(dòng)態(tài)場(chǎng)景幀的出現(xiàn)。解碼流程如圖3所示。

003.jpg

2 實(shí)驗(yàn)與分析

  2.1 基于OMAPL138的實(shí)驗(yàn)

  OMAPL138 CPU基于C674x Fixed/Floating-Point VLIWDSP+ARM926EJ-S雙核設(shè)計(jì),集成128 MB DDR2和512 MB NAND Flash,DDR2作為運(yùn)行內(nèi)存,NAND Flash用于存儲(chǔ)bootloader、啟動(dòng)時(shí)系統(tǒng)環(huán)境變量、Linux內(nèi)核、文件系統(tǒng)。系統(tǒng)接口模塊主要有JTAG調(diào)試接口、自適應(yīng)10/100 M網(wǎng)絡(luò)接口、RS232串口等[5]。

004.jpg

  系統(tǒng)靈活運(yùn)用Davinci架構(gòu)的異構(gòu)多核通信的基礎(chǔ)組件Syslink[6],實(shí)現(xiàn)了視頻數(shù)據(jù)在ARM核心和DSP核心之間的傳輸。Syslink為異構(gòu)多核處理器間提供了高效的多核協(xié)作和通信機(jī)制。系統(tǒng)視頻信號(hào)處理流程如圖4所示。在ARM9中把捕獲的視頻數(shù)據(jù)復(fù)制到共享內(nèi)存區(qū),通過(guò)Syslink的地址映射,使得DSP得以訪問(wèn)。DSP中運(yùn)行了基于場(chǎng)景分析的編碼/解碼算法,ARM9主處理器完成網(wǎng)絡(luò)功能和本地播放。

  2.2 分析

  通過(guò)在OMAPL138中同時(shí)運(yùn)行基于動(dòng)靜態(tài)場(chǎng)景分析的HITAV算法和原始的HITAV算法,實(shí)驗(yàn)生成了兩組數(shù)據(jù),一組為視頻通過(guò)動(dòng)靜態(tài)場(chǎng)景分析編碼后的視頻數(shù)據(jù),一組為通過(guò)原始的HITAV編碼后的視頻數(shù)據(jù)。編碼后視頻幀的長(zhǎng)度變化和場(chǎng)景狀態(tài)變化如圖5所示,視頻分辨率為480×800,選取其中1 000幀。

005.jpg

  視頻格式為YUV420,一幀原始視頻的大小為480×800×1.5 B。由圖5可知,通過(guò)基于場(chǎng)景分析的HITAV算法編碼后長(zhǎng)度為零即表示監(jiān)控視頻在靜態(tài)場(chǎng)景狀態(tài),這部分的視頻幀在經(jīng)過(guò)該算法后得以濾去?;趫?chǎng)景分析的編解碼算法攔截了無(wú)意義的靜態(tài)場(chǎng)景視頻數(shù)據(jù)。有場(chǎng)景分析和無(wú)場(chǎng)景分析的靜態(tài)視頻百分比與平均壓縮比如表1所示。

006.jpg

  由表1可知,基于場(chǎng)景分析的HITAV算法的平均壓縮比明顯高于原始HITAV算法的平均壓縮比,且靜態(tài)視頻百分比越大,平均壓縮比的差值越大。

3 結(jié)論

  本文介紹了一種基于動(dòng)靜態(tài)場(chǎng)景分析的監(jiān)控視頻編解碼優(yōu)化方案,詳細(xì)介紹了動(dòng)靜態(tài)場(chǎng)景分析算法的基本原理,描述了動(dòng)靜態(tài)場(chǎng)景分析算法與HITAV算法的結(jié)合。通過(guò)實(shí)驗(yàn)證明,動(dòng)靜態(tài)場(chǎng)景分析算法有效地避免了視頻監(jiān)控中靜態(tài)場(chǎng)景視頻幀的傳輸,從而降低了視頻的傳輸量,提高了視頻的平均壓縮比。

  參考文獻(xiàn)

  [1] SONKA M, HLAVAC V, BOYLE R. 圖像處理、分析與機(jī)器視覺(jué)(第二版)[M].艾海舟,武勃,譯.北京:人民郵電出版社,2003.

  [2] MONNET A, MITTAL A, PARAGIOS N, et al. Background modeling and subtraction of dynamic scenes[C]. IEEE International Conference on Computer Vision, 2003:1305-1312.

  [3] 呂國(guó)亮,趙曙光,趙俊.基于三幀差分和連通性檢驗(yàn)的圖像運(yùn)動(dòng)目標(biāo)檢測(cè)新方法[J].液晶與顯示,2007,22(1):87-93.

  [4] 王相海,張躍平.基于小波的圖像及視頻編碼研究進(jìn)展[J].計(jì)算機(jī)工程與應(yīng)用,2004(11):78-80.

  [5] Texas Instruments Incorporated. OMAP-L138 C6000 DSP+ARM processor[EB/OL]. http://www.ti.com.cn/cn/lit/ds/symlink/omap-l138.pdf,2011.

  [6] Texas Instruments Incorporated. Syslink user guide[EB/OL].[2012-09-04](2015-03-01). http://processors.wiki.ti.com/index.php/SysLink_ UserGuide.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。