李潤(rùn)祥,孫 軍,高志勇,陳 立
(上海交通大學(xué) 圖像通信與信息處理上海市重點(diǎn)實(shí)驗(yàn)室,上海 200240)
實(shí)時(shí)超高清電影模式檢測(cè)算法及其實(shí)現(xiàn)
李潤(rùn)祥,孫 軍,高志勇,陳 立
(上海交通大學(xué) 圖像通信與信息處理上海市重點(diǎn)實(shí)驗(yàn)室,上海 200240)
為了解決當(dāng)幀率上變換算法遇見超高清電影模式序列時(shí),由于重復(fù)幀導(dǎo)致運(yùn)動(dòng)矢量場(chǎng)無法收斂到真實(shí)軌跡,設(shè)計(jì)了一種高效率的電影模式檢測(cè)與實(shí)現(xiàn)的方法。將視頻圖像進(jìn)行分塊不規(guī)則采樣,對(duì)各個(gè)子塊進(jìn)行像素直方圖統(tǒng)計(jì),根據(jù)統(tǒng)計(jì)結(jié)果來進(jìn)行電影模式處理,最后經(jīng)過FPGA硬件驗(yàn)證及RC綜合。實(shí)驗(yàn)結(jié)果證明,該算法設(shè)計(jì)在實(shí)時(shí)處理50/60 Hz超高清序列大數(shù)據(jù)流量時(shí)僅需很小的存儲(chǔ)器資源,并且可以快捷準(zhǔn)確地對(duì)電影模式進(jìn)行實(shí)時(shí)檢測(cè)處理,特別是局部運(yùn)動(dòng)的序列檢測(cè)。
分塊;不規(guī)則采樣;大數(shù)據(jù)量
近年來,消費(fèi)者大眾追求高品質(zhì)視覺享受的市場(chǎng)需求和視頻處理技術(shù)快速發(fā)展的客觀條件共同促進(jìn)了超高清電視產(chǎn)業(yè)的飛速發(fā)展。然而現(xiàn)今傳輸系統(tǒng)帶寬的約束,超高清電視視頻流只能以較低的速率傳輸。與此同時(shí),超高清顯示設(shè)備的刷新頻率又有較大的提升,視頻播放幀率低于屏幕刷新率,這一失配直接導(dǎo)致圖像出現(xiàn)停頓、模糊、拖影等現(xiàn)象,造成視覺效果不佳。因此視頻幀率上變換技術(shù)必然成為重要的視頻后處理方式,能有效提升顯示視頻的幀率,在高刷新率的顯示屏上提高視頻的主觀質(zhì)量。
受限于實(shí)現(xiàn)復(fù)雜度,目前幀率上變換設(shè)備多采用基于有限數(shù)目運(yùn)動(dòng)候選矢量的方法,此類方法的矢量場(chǎng)經(jīng)過若干幀后趨于收斂[1]。電影在電視里播放時(shí),通常采用3∶2或2∶2重復(fù)幀技術(shù),此技術(shù)通過添加一定的重復(fù)幀使得滿足電視幀率要求。當(dāng)對(duì)這種電影模式進(jìn)行FRC時(shí),添加的重復(fù)幀導(dǎo)致運(yùn)動(dòng)矢量場(chǎng)不斷重新歸零,從而無法收斂到真實(shí)的運(yùn)動(dòng)軌跡。因此需要對(duì)視頻流進(jìn)行實(shí)時(shí)檢測(cè),以便在發(fā)現(xiàn)電影模式信號(hào)時(shí)及時(shí)進(jìn)行特殊處理。對(duì)滿足一定播放幀率的超高清視頻進(jìn)行實(shí)時(shí)檢測(cè),首先需要解決的是算法在實(shí)現(xiàn)上必須滿足30 Hz/50 Hz/60 Hz超高清視頻流的處理速度;其次必須考慮算法在實(shí)現(xiàn)后所耗費(fèi)的資源大??;最后必須在以上條件下有較高的檢測(cè)正確率[2]。
傳統(tǒng)常見的電影模式檢測(cè)方法通常包括兩種:第一種比較前后兩幀像素絕對(duì)差判定[3],第二種直方圖統(tǒng)計(jì)[4-5]。前者至少預(yù)存取兩幀的數(shù)據(jù)量,再前后進(jìn)行絕對(duì)差值,統(tǒng)計(jì)絕對(duì)差和與閾值進(jìn)行比較。這種方式的電影模式檢測(cè)準(zhǔn)確度高,但存儲(chǔ)量和計(jì)算量非常大不適合硬件實(shí)現(xiàn);相反地,直方圖統(tǒng)計(jì)方法相對(duì)存儲(chǔ)量較小,它把所有數(shù)據(jù)按照灰度范圍進(jìn)行直方圖統(tǒng)計(jì)計(jì)數(shù),有效地減少了存儲(chǔ)數(shù)據(jù)量,但是由于直方圖統(tǒng)計(jì)通常只能反映全局統(tǒng)計(jì)信息,其檢測(cè)的準(zhǔn)確率很低,尤其對(duì)于局部運(yùn)動(dòng)或小速率運(yùn)動(dòng)更是難以檢測(cè)出來。因此,尋求一種超高清序列下低復(fù)雜度、低存儲(chǔ)資源、高檢測(cè)率的電影模式檢測(cè)方法非常必要。本文算法設(shè)計(jì)正是基于這樣的背景下,解決以上問題的最佳實(shí)現(xiàn)處理方法。
1.1 算法設(shè)計(jì)架構(gòu)
本文采用一種對(duì)圖像進(jìn)行不規(guī)則采樣和分塊直方圖統(tǒng)計(jì)像素信息的方式,巧妙地達(dá)到了既大大減少數(shù)據(jù)存儲(chǔ)量同時(shí)又增強(qiáng)算法的靈敏度的目的。算法流程如圖1所示。
圖1 電影模式檢測(cè)算法流程
如圖1所示,電影模式檢測(cè)算法包括以下步驟:
1)將序列中的每一幀圖像劃分成多個(gè)圖像子塊,每個(gè)子塊對(duì)應(yīng)一個(gè)直方圖統(tǒng)計(jì);
2)圖像子塊進(jìn)行不規(guī)則采樣,選擇特定像素進(jìn)行直方圖統(tǒng)計(jì);
3)計(jì)算兩幀對(duì)應(yīng)各圖像子塊的直方圖絕對(duì)值差和,根據(jù)此值判斷是否為重復(fù)幀;
4)根據(jù)重復(fù)幀出現(xiàn)的模式推斷出序列是否為電影模式。
1.2 圖像分塊、不規(guī)則采樣算法
圖像概要采樣如圖2所示,分辨率為3 840×2 160。其中黑色代表有效的采樣像素點(diǎn),對(duì)圖像進(jìn)行分塊直方圖統(tǒng)計(jì),寬、高平均分為6等份共6×6個(gè)子塊,圖中方框代表一個(gè)子塊,每個(gè)子塊的尺寸則為640×360。其中采用圖像分塊技術(shù)對(duì)算法性能進(jìn)行分析。
對(duì)整幀圖像進(jìn)行36等分,及做36個(gè)獨(dú)立的直方圖統(tǒng)計(jì)表,每個(gè)直方圖統(tǒng)計(jì)表只和前后相鄰幀的對(duì)應(yīng)位置的分塊像素值有關(guān)聯(lián)。這種方式與傳統(tǒng)的全局直方圖統(tǒng)計(jì)的優(yōu)點(diǎn)如圖3所示。
圖2 3 840×2 160圖像概要采樣方式
圖3 分塊直方圖統(tǒng)計(jì)
當(dāng)序列出現(xiàn)小物體局部運(yùn)動(dòng)時(shí),如圖3所示分為1、2、3、4子塊直方圖單獨(dú)統(tǒng)計(jì),小球從1移動(dòng)到4,采用分塊直方圖統(tǒng)計(jì)的方式進(jìn)行圖像運(yùn)動(dòng)的檢測(cè)。相鄰的直方圖統(tǒng)計(jì)分塊沒有數(shù)據(jù)之間的聯(lián)系,最終統(tǒng)計(jì)各個(gè)直方圖數(shù)值絕對(duì)值差和,會(huì)檢測(cè)到雙倍小物體像素值顯示前后兩幀圖像之間的誤差。因此,分塊方式能有效檢測(cè)出小物體運(yùn)動(dòng)的情況。
下面對(duì)基于分塊直方圖的不規(guī)則采樣方式進(jìn)行詳細(xì)分析,每個(gè)子塊的采樣方式如圖4所示。
圖4 640×360子塊概要采樣方式
相鄰的子塊之間采用相同的采樣方式,然而各個(gè)子塊內(nèi)部又再分4塊采樣區(qū),相鄰采樣區(qū)的采樣率和采樣方式卻不相同,采用不規(guī)則采樣技術(shù)對(duì)算法性能進(jìn)行分析。
當(dāng)對(duì)整幅圖像進(jìn)行如圖4所示大小的子塊進(jìn)行分塊以后,進(jìn)一步對(duì)子塊進(jìn)行如圖4所示的不規(guī)則采樣,及各個(gè)分塊中兩兩相鄰的采樣區(qū)進(jìn)行不規(guī)則采樣。這樣的做法與傳統(tǒng)均勻采樣方式有明顯的優(yōu)勢(shì),非常適用在物體的小范圍運(yùn)動(dòng)情形下,如圖5所示。
當(dāng)前后幀圖像中有物體在子塊內(nèi)局部運(yùn)動(dòng)時(shí),如圖5所示小球晃動(dòng),若采用傳統(tǒng)分塊直方圖均勻采樣方式,顯然根據(jù)采樣得到的直方圖統(tǒng)計(jì)數(shù)據(jù)幾乎檢測(cè)不出運(yùn)動(dòng)結(jié)果。但是,若采用不規(guī)則采樣方式進(jìn)行檢測(cè),如圖中物體小范圍運(yùn)動(dòng),球體某部分必將跨越采樣率多和采樣率少的區(qū)域。由于采樣數(shù)據(jù)量的不同,最終表現(xiàn)在分塊直方圖統(tǒng)計(jì)中的效果便是明顯的差異。因此基于分塊直方圖統(tǒng)計(jì)不規(guī)則采樣方式的算法能準(zhǔn)確地檢測(cè)出物體小范圍運(yùn)動(dòng)的情況。
圖5 不規(guī)則采樣圖
正是由于這種圖像分塊非均勻采樣,使得在采樣量減少的情況下檢測(cè)率依然很高。
1.3 算法實(shí)現(xiàn)結(jié)構(gòu)資源分析
以下說明電影模式檢測(cè)硬件架構(gòu)及實(shí)現(xiàn)過程。
如圖6所示,本文算法電影模式檢測(cè)包括控制、存儲(chǔ)器、判斷三大模塊。
1)控制模塊:對(duì)視頻流數(shù)據(jù)進(jìn)行選擇控制,允許通入的像素進(jìn)行分塊直方圖統(tǒng)計(jì);根據(jù)像素所在的灰度級(jí)計(jì)算存儲(chǔ)器的訪問地址;并產(chǎn)生相應(yīng)的讀寫使能及片選信號(hào)。
2)存儲(chǔ)器模塊:用于存儲(chǔ)連續(xù)兩幀圖像子塊的像素直方圖,以及它們的直方圖差。
3)判斷模塊:用于計(jì)算直方圖差總和,并和預(yù)定的非零閾值作比較,并產(chǎn)生二值信號(hào);并根據(jù)連續(xù)的二值模式規(guī)律判斷該序列是否為電影模式以及所述電影模式的類型。當(dāng)連續(xù)相互符合的次數(shù)達(dá)到進(jìn)入閾值時(shí),判斷進(jìn)入電影模式;否則跳出電影模式,進(jìn)入正常的電視模式。
圖6 電影模式檢測(cè)算法硬件框圖
現(xiàn)使用60 Hz幀率超高清視頻源,僅對(duì)灰度值采樣。分析本文算法實(shí)時(shí)實(shí)現(xiàn)的性能和所占用資源。
由于采用以上不規(guī)則采樣方式,并且考慮到設(shè)計(jì)時(shí)鐘頻率控制在穩(wěn)定區(qū)域,可采用在以上采樣方式下再進(jìn)行均勻間隔3像素采樣,不影響算法效果。
基于上述實(shí)現(xiàn)方式,由公式可知,算法根據(jù)視頻數(shù)據(jù)流實(shí)際處理有效像素的頻率是
式中:fclk是算法實(shí)際需要處理像素的頻率;fvideo為輸入視頻的幀率此處為60 Hz,Width和Height為輸入視頻的分辨率,此處分別為3 840和2 160;α為進(jìn)入視頻的采樣格式,此處只采樣亮度值故為1;β為對(duì)輸入數(shù)據(jù)的間隔采樣率,此處為1/4。
由式(1)可知處理有效像素的頻率為124.4 MHz。每幀圖像所采樣的有效數(shù)據(jù)占總量的1/8。若用寄存器全部存取,將依然耗費(fèi)很大資源。然而相對(duì)于寄存器存儲(chǔ),使用RAM存儲(chǔ)相同數(shù)據(jù)使用面積僅為1/6。為進(jìn)一步減少占用資源,設(shè)計(jì)如圖6所示的RAM存儲(chǔ)器模塊存儲(chǔ)數(shù)據(jù),使用2片block RAM做存儲(chǔ),面積大為減少。不過使用block RAM做存儲(chǔ)后所帶來的問題:?jiǎn)慰谌雴慰诔龅腷lock RAM,每處理一個(gè)有效像素首先需要從RAM中讀出對(duì)應(yīng)位置的直方圖統(tǒng)計(jì)值,進(jìn)行加1或減1后再寫入到對(duì)應(yīng)的RAM位置共需要耗費(fèi)4個(gè)時(shí)鐘,在原來頻率上擴(kuò)大4倍。頻率過高將嚴(yán)重影響RAM正常的讀取。采取如圖7所示方式,使用有效數(shù)據(jù)拼接的方法對(duì)數(shù)據(jù)進(jìn)行處理,可有效地解決時(shí)鐘問題,使處理有效像素頻率降為248.8 MHz。
圖7 有效像素拼湊成RAM地址過程
由此可見,此算法在處理超大數(shù)據(jù)流量時(shí)可以使用最少的資源占用最少的面積。
本文算法選取4K、YUV(只取Y分量)、10 bit格式共50個(gè)測(cè)試序列,其中包含電影模式和非電影模式,作為實(shí)驗(yàn)輸入序列??紤]算法在實(shí)現(xiàn)上的復(fù)雜度和可行性,故選取復(fù)雜度低的算法進(jìn)行對(duì)比,分別實(shí)現(xiàn)基于全局直方圖統(tǒng)計(jì)算法[4]、基于前后幀像素(SAD)檢測(cè)算法[3],還有分塊直方圖統(tǒng)計(jì)算法[5]的性能比較。
2.1 不同算法的檢測(cè)率比較
分析表1,前后幀SAD算法的檢測(cè)率最高,由于存儲(chǔ)了至少2幀數(shù)據(jù)故占用資源也最多且計(jì)算量最大。全局直方圖算法跟分塊直方圖算法把像素信息進(jìn)行分段計(jì)數(shù)后統(tǒng)計(jì),資源降低,然而對(duì)處理小運(yùn)動(dòng)物體和小范圍運(yùn)動(dòng)物體檢測(cè)率太低,都不適合做實(shí)時(shí)超高清序列檢測(cè)。相對(duì)比本文的算法設(shè)計(jì)利用不規(guī)則分塊采樣方式,在傳統(tǒng)算法基礎(chǔ)上既減少了總體采樣像素值,同時(shí)增強(qiáng)了算法檢測(cè)的靈敏度。雖檢測(cè)率比前后幀SAD稍有不足,可占用資源最少且復(fù)雜度不大,滿足實(shí)時(shí)超高清序列檢測(cè)的要求。
表1 不同算法性能比較
另外閾值的設(shè)定與信道傳輸?shù)男旁氡扔嘘P(guān),通信信道質(zhì)量越高,信噪比越高,閾值越低,檢測(cè)率越高。
2.2 RC綜合及硬件驗(yàn)證
以下是對(duì)本文算法詳細(xì)的性能分析:實(shí)驗(yàn)采用cadence公司軟件RC工具在65 nm工藝下,設(shè)置時(shí)鐘約束為300 MHz,經(jīng)過綜合后所占用的資源消耗如表2所示。
表2 ISE 14.4綜合布線Utilization Summary結(jié)果
如表2所示,綜合后資源共使用561 175 μm2約0.56 mm2面積。由以上報(bào)表可知,算法綜合實(shí)現(xiàn)后耗費(fèi)很少資源。由1.3節(jié)分析所知,在使用幀率為60 Hz超高清視頻序列作為視頻源,時(shí)鐘需求是248.8 MHz。本次實(shí)驗(yàn)時(shí)鐘約束設(shè)為300 MHz,綜合后Timing Report中Timing slack為1 ns,表示滿足300 MHz時(shí)鐘約束,由此可見本文算法實(shí)現(xiàn)后完全滿足248.8 MHz時(shí)鐘約束。得出以下結(jié)論:本文算法在資源和時(shí)鐘頻率都滿足要求的情況下,可以高效地實(shí)時(shí)檢測(cè)30 Hz/ 50 Hz/60 Hz超高清電影模式序列。
本文采用一種圖像分塊直方圖、不規(guī)則采樣檢測(cè)算法分析前后兩幀圖像的像素信息,高效地實(shí)時(shí)檢測(cè)出電影模式序列。圖像分塊且不規(guī)則采樣的策略保證本算法對(duì)局部運(yùn)動(dòng)或小運(yùn)動(dòng)敏感,準(zhǔn)確率高。并且采用2片Single-port RAM來存取信息值,使算法在處理高速視頻流數(shù)據(jù)時(shí)既有很高的成功檢測(cè)率且占用最少的邏輯資源。
[1]DE H G,BIEZEN P W A C,HUIJGEN H,et al.True-motion esti?mation with 3-D recursive search block matching[J].IEEE Trans.Circuits and Systems for Video Technology,1993,3(5):368-379.
[2]陳遠(yuǎn)崢.一種應(yīng)用于實(shí)時(shí)FRC中的淡入淡出檢測(cè)算法[J].電視技術(shù),2014,38(11):24-27.
[3] 劉強(qiáng),陳濤.電影模式視頻信號(hào)檢測(cè)方法:中國(guó),200810306453 [P].2011-01-12.
[4] 克維克,喬利,格莫德.用于檢測(cè)電影模式或攝像機(jī)模式的方法:中國(guó),200910252679[P].2010-06-23.
[5] KANG S-J,YOO S,KIM Y H.Scene change detection using multiple histogram,for motion-compensated frame rate up conver?sion[J].Journal of Display Technology,2012,8(3):121-126.
責(zé)任編輯:閆雯雯
Algorithm and Implementation of UHDTV Film Mode Detection for Real-time
LI Runxiang,SUN Jun,GAO Zhiyong,CHEN Li
(Image Communication and Network Technology Institute,Shanghai Jiaotong Unversity,Shanghai 200240,China)
In order to solve the problem of motion vector field unable to converge to the real movement trace,as repeated frames, when meet a sequence of UHD film mode in the algorithm of the frame rate conversion,the high efficient way of implementation and design of film mode detection is designed in this paper.The video sequences are divided into many blocks,which are irregular sampling,for each block through building pixels histogram to perform film mode detection,then the film mode function to be triggered according to the film mode detection results.Meanwhile,the verification and implementation are also processed based on FPGA and RC.The results prove that the algorithm of design has very small storage resources,and can accurately verify the film mode,when it process big data,such as 50/60 Hz UHDTV,especially for the sequential of local movement.
blocks;irregular sampling;big data
TN949.198
A
10.16280/j.videoe.2015.08.010
2014-10-15
【本文獻(xiàn)信息】李潤(rùn)祥,孫軍,高志勇,等.實(shí)時(shí)超高清電影模式檢測(cè)算法及其實(shí)現(xiàn)[J].電視技術(shù),2015,39(8).
國(guó)家自然科學(xué)基金項(xiàng)目(61133009)