国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙線性內(nèi)插算法的多路視頻縮放設(shè)計(jì)

2015-05-05 02:30:04陳全兵習(xí)友寶
電視技術(shù) 2015年1期
關(guān)鍵詞:視頻信號(hào)狀態(tài)機(jī)流程圖

陳全兵,習(xí)友寶

(電子科技大學(xué) 電子工程學(xué)院,四川 成都 611731)

基于雙線性內(nèi)插算法的多路視頻縮放設(shè)計(jì)

陳全兵,習(xí)友寶

(電子科技大學(xué) 電子工程學(xué)院,四川 成都 611731)

基于雙線性內(nèi)插算法,設(shè)計(jì)改進(jìn)了一種以FPGA為硬件平臺(tái)的多路視頻信號(hào)的圖像縮放裝置。把與期望位置相鄰的兩行像素緩存在RAM中,先對(duì)垂直方向進(jìn)行插值運(yùn)算,再對(duì)水平方向進(jìn)行插值運(yùn)算。利用FPGA并行處理的優(yōu)勢(shì)實(shí)現(xiàn)多路視頻信號(hào)的實(shí)時(shí)縮放。

雙線性內(nèi)插算法;FPGA;多路視頻圖像縮放

隨著生活水平的提高,人們對(duì)視頻圖像的分辨率和流暢度的要求也越來(lái)越高。在視頻圖像的處理過(guò)程中,既要求提高分辨率又要保證圖像的傳輸速度(即輸出幀率);在涉及到多路視頻信號(hào)同時(shí)處理時(shí),處理速度就成為了一個(gè)瓶頸性問(wèn)題?;贔PGA并行處理速度快的優(yōu)勢(shì),設(shè)計(jì)本圖像縮放裝置,用以實(shí)現(xiàn)多路視頻圖像的實(shí)時(shí)縮放。

1 圖像縮放概述

圖像縮放變換屬于圖像幾何變換的一種類型,圖像縮放要實(shí)現(xiàn)的就是在輸出像素和輸入像素之間建立一種映射關(guān)系,使得在輸出圖像的每一個(gè)位置均有待輸出像素值產(chǎn)生。輸出像素和輸入像素之間的映射關(guān)系可以有兩種不同的定義方法:前向映射和逆向映射[1]。

前向映射將輸出像素的坐標(biāo)定義為輸入像素的坐標(biāo)的函數(shù)mf,如式1所示,其中Q[u,v]表示輸出像素坐標(biāo),I(x,y)表示輸入像素坐標(biāo)。前向映射有兩個(gè)問(wèn)題:1),如果對(duì)圖像進(jìn)行放大操作,在輸出圖像中將會(huì)有部分像素點(diǎn)沒(méi)有相對(duì)應(yīng)的輸入像素,即產(chǎn)生空洞現(xiàn)象;2),如果對(duì)圖像進(jìn)行縮小操作,輸出圖像中的部分像素點(diǎn)將會(huì)對(duì)應(yīng)輸入像素中的多個(gè)像素點(diǎn),使得輸出出現(xiàn)混亂。

(1)

逆向映射將輸入像素的坐標(biāo)定義為輸出像素的坐標(biāo)的函數(shù)me,如式(2)所示,其中Q[u,v]表示輸出像素坐標(biāo),I(x,y)表示輸入像素坐標(biāo)。逆向映射對(duì)每一個(gè)輸出像素逆向映射出對(duì)應(yīng)的輸入像素,因此更適合產(chǎn)生輸出數(shù)據(jù)流。當(dāng)采用逆向映射對(duì)圖像進(jìn)行縮放操作時(shí),被逆向映射出的坐標(biāo)值往往不是整數(shù),為了估計(jì)輸出的像素值通常要在期望位置處對(duì)輸入像素值進(jìn)行重采樣,等效于用一個(gè)采樣插值核對(duì)輸入的像素值進(jìn)行加權(quán)[1],如式(3)所示,其中C(x,y)表示采樣函數(shù),I[x,y]表示輸入像素坐標(biāo),K[x,y]表示插值內(nèi)核。

(2)

(3)

2 圖像插值算法的選取

常見的圖像插值算法有最近鄰內(nèi)插算法、雙線性內(nèi)插算法、雙三次內(nèi)插算法和B樣條插值算法[2]。

最近鄰內(nèi)插算法是最簡(jiǎn)單的圖像插值算法,該算法的原理為直接選取距離期望位置最近的源圖像位置的像素值作為輸出像素值。該算法丟失了源圖像中的大量信息,使得圖像變得模糊邊緣部分不清晰,放大后有馬賽克現(xiàn)象,縮小后有嚴(yán)重失真[3]。

雙線性內(nèi)插算法用與期望位置最近鄰的4個(gè)像素值估計(jì)期望位置的像素值,若用(x,y)表示期望位置,用Q(x,y)表示輸出像素值,I(x,y)表示輸入像素值,雙線性內(nèi)插算法的賦值公式為

(4)

雙三次內(nèi)插算法用期望位置最近鄰的16個(gè)像素值估計(jì)期望位置的像素值。雙三次插值算法可分離為分段三次插值核[4],如式(5)所示,其中a為自由參數(shù),KKeys(s)表示插值核為

(5)

B樣條插值算法的原理是以期望位置為中心利用B樣條核對(duì)源像素值進(jìn)行估計(jì)從而得出期望像素值。3次B樣條核的解析公式為

(6)

雙三次內(nèi)插算法主要應(yīng)用于商業(yè)圖像編輯程序(如Adobe Photoshop等)中,算法復(fù)雜度較高。B樣條插值算法在使用過(guò)程中需要用到矩陣求逆等運(yùn)算[5],算法復(fù)雜度更高??紤]到現(xiàn)實(shí)應(yīng)用場(chǎng)景和FPGA的資源情況,本次設(shè)計(jì)選用雙線性內(nèi)插算法。

3 基于FPGA的雙線性內(nèi)插原理

采用逆向映射計(jì)算出的期望位置往往不是整數(shù),設(shè)計(jì)中把期望位置的坐標(biāo)分解為整數(shù)部分和小數(shù)部分。考慮到FPGA不方便進(jìn)行浮點(diǎn)運(yùn)算,因此把期望位置的坐標(biāo)放大256倍(即左移8位)后取后8位作為小數(shù)部分,如式(7)所示。其中(xr,yr)為整數(shù)部分,用以確定源像素點(diǎn)的位置;(xi,yi)為小數(shù)部分,用以確定各像素點(diǎn)的權(quán)重,對(duì)各像素點(diǎn)經(jīng)行加權(quán)處理進(jìn)而估計(jì)出期望位置的像素值。雙線性內(nèi)插算法示意圖如圖1所示,其中陰影部分為期望位置,I(x,y)為各像素點(diǎn)的像素值。

(7)

4 基于FPGA實(shí)現(xiàn)圖像雙線性內(nèi)插算法

該圖像縮放模塊為全景視頻拼接系統(tǒng)的一部分,圖像在進(jìn)行縮放前已經(jīng)做了去隔行、桶形畸變矯正等預(yù)處理操作,經(jīng)過(guò)預(yù)處理操作后的視頻數(shù)據(jù)存儲(chǔ)在外部DDR2存儲(chǔ)器(Double Data Rate 2 SDRAM)中,在進(jìn)行圖像縮放前各路視頻數(shù)據(jù)已經(jīng)經(jīng)過(guò)DDR2讀取模塊讀取到FPGA的先入先出隊(duì)列(First Input First Output,F(xiàn)IFO)中進(jìn)行緩存。

圖1 雙線性內(nèi)插算法示意圖

圖像縮放的關(guān)鍵是根據(jù)映射關(guān)系確定讀寫時(shí)序和讀寫地址。雙線性內(nèi)插算法需要用到期望位置附近的兩行視頻圖像數(shù)據(jù),因此利用兩組RAM對(duì)視頻信號(hào)進(jìn)行緩存,用FPGA控制RAM的讀寫地址,從而可以保證讀寫地址的正確性??紤]到進(jìn)行縮放時(shí)讀寫緩存RAM的時(shí)序復(fù)雜性,對(duì)讀寫時(shí)序的控制利用狀態(tài)機(jī)實(shí)現(xiàn),從而可以保證縮放時(shí)讀寫RAM時(shí)序的正確性。對(duì)圖像進(jìn)行縮放操作可以用4個(gè)狀態(tài)機(jī)協(xié)同合作來(lái)實(shí)現(xiàn),包括寫RAM狀態(tài)機(jī)、讀RAM狀態(tài)機(jī)、垂直縮放狀態(tài)機(jī)和水平縮放狀態(tài)機(jī)。

1)寫RAM狀態(tài)機(jī)完成對(duì)對(duì)視頻信號(hào)進(jìn)行緩存的兩組緩存RAM的寫操作。2組RAM具有相同的讀寫地址,可以保證讀取到的視頻數(shù)據(jù)為同一列的數(shù)據(jù),對(duì)兩組RAM進(jìn)行寫操作時(shí)利用片選信號(hào),實(shí)現(xiàn)兩組RAM的乒乓操作。寫RAM狀態(tài)機(jī)完成的主要工作是產(chǎn)生寫RAM的地址,控制寫RAM的時(shí)序,控制寫RAM的片選信號(hào)。寫RAM狀態(tài)機(jī)的流程圖如圖2所示。

圖2 寫RAM狀態(tài)機(jī)流程圖

2)讀RAM狀態(tài)機(jī)的主要工作是產(chǎn)生讀取RAM的地址,對(duì)讀出RAM的數(shù)據(jù)個(gè)數(shù)進(jìn)行計(jì)數(shù)從而控制讀RAM時(shí)序。讀RAM狀態(tài)機(jī)的流程圖如圖3所示。

圖3 讀RAM狀態(tài)機(jī)流程圖

3)垂直縮放狀態(tài)機(jī)的主要工作是移動(dòng)垂直采樣窗口,讀取FIFO中與期望位置相鄰的兩行數(shù)據(jù)并寫入RAM中進(jìn)行緩存,同時(shí)計(jì)算該兩行數(shù)據(jù)的權(quán)重。垂直縮放狀態(tài)機(jī)的流程圖如圖4所示。

圖4 垂直縮放狀態(tài)機(jī)流程圖

4)水平縮放狀態(tài)機(jī)的主要工作是:第一,對(duì)縮放后的圖像的行像素個(gè)數(shù)進(jìn)行計(jì)數(shù),產(chǎn)生行結(jié)束標(biāo)志從而控制垂直和水平縮放的時(shí)序;第二,平移水平采樣窗口,讀取緩存RAM中與期望位置相鄰的水平方向上的兩個(gè)像素點(diǎn)并計(jì)算此兩點(diǎn)的權(quán)重。水平縮放狀態(tài)機(jī)的流程圖如圖5所示。

基于FPGA的線性內(nèi)插算法的運(yùn)算順序?yàn)橄冗M(jìn)行垂直方向的插值運(yùn)算,再以垂直方向的插值運(yùn)算結(jié)果為基礎(chǔ)進(jìn)行水平方向的插值運(yùn)算。插值運(yùn)算模塊的功能框圖如圖6所示,其中data1_in和data2_in為像素?cái)?shù)據(jù)輸入端口,data1_weight和data2_weight端口分別對(duì)應(yīng)像素?cái)?shù)據(jù)輸入端口的權(quán)重。插值運(yùn)算模塊以像素?cái)?shù)據(jù)以及其對(duì)應(yīng)的權(quán)重為基礎(chǔ)計(jì)算出插值運(yùn)算后的像素?cái)?shù)據(jù)data_out。插值運(yùn)算模塊的仿真波形如圖7所示,從仿真波形中可以看出在像素?cái)?shù)據(jù)輸入3個(gè)時(shí)鐘后輸出插值運(yùn)算后的像素?cái)?shù)據(jù)。

圖5 水平縮放狀態(tài)機(jī)流程圖

圖6 插值運(yùn)算模塊功能框圖

圖7 插值運(yùn)算模塊仿真波形(截圖)

上述各模塊協(xié)調(diào)工作可以實(shí)現(xiàn)1路視頻信號(hào)的縮放操作,效果圖如圖8所示,其中圖8a為縮放前的原始圖像,圖8b為放大后的圖像,圖8c為縮小后的圖像。把上述視頻圖像縮放模塊例化出多個(gè),每個(gè)模塊連接不同的視頻數(shù)據(jù)碼流可以實(shí)現(xiàn)多路視頻信號(hào)的縮放處理,2路視頻信號(hào)的縮放效果圖如圖9所示,其中圖9a為縮放前的原始圖像,圖9b為放大后的圖像,圖9c為縮小后的圖像。

5 小結(jié)

本文基于雙線性內(nèi)插算法在FPGA平臺(tái)上設(shè)計(jì)實(shí)現(xiàn)的多路視頻信號(hào)的縮放裝置為全景視頻拼接系統(tǒng)的一部分,利用FPGA并行處理的優(yōu)勢(shì)可以實(shí)現(xiàn)多路視頻信號(hào)的同時(shí)縮放操作,從而保證了拼接后視頻的實(shí)時(shí)性。根據(jù)美國(guó)電子消費(fèi)品制造協(xié)會(huì)(Consumer Electronics Association,CEA)制定的未壓縮數(shù)字視頻標(biāo)準(zhǔn)CEA-861所提供的傳輸時(shí)序,該裝置可輸出1 080p(1 920×1 080)的高清數(shù)字視頻至數(shù)字顯示器顯示,輸出幀率為60 f/s(幀/秒)。4路視頻信號(hào)實(shí)現(xiàn)同時(shí)縮放的效果圖如圖10所示。

圖8 1路視頻信號(hào)縮放效果圖

圖9 2路視頻信號(hào)縮放效果圖

[1]DONALD G B. 基于FPGA的嵌入式圖像處理系統(tǒng)設(shè)計(jì)[M]. 原魁,何文浩,肖晗,譯. 北京:電子工業(yè)出版社,2013.

圖10 4路視頻信號(hào)同時(shí)縮放效果圖

[2]RAFAEL C G, RICHARD E W. 數(shù)字圖像處理[M].3版. 阮秋琦,阮宇智,譯. 北京:電子工業(yè)出版社,2011.

[3]趙煌,彭勇. 雙線性插值算法的優(yōu)化及其應(yīng)用[J]. 電視技術(shù),2012, 36(17):30-32.

[4]ROBERT G K. Cubic convolution interpolation for digital image processing[J]. IEEE Trans. Acoustics,Speech and Signal Processing,1981,29(6):1153-1160.

[5]MICHAEL U, AKRAM A, MURRAY E. Fast B-spline transforms for continuous image representation and interpolation[J]. IEEE Trans. Pattern Analysis and Machine Intelligence, 1991,13(3):277-285.

Design of Multi-channel Video Zoom Based on Bilinear Interpolation Algorithm

CHEN Quanbing, XI Youbao

(SchoolofElectronicsEngineering,UniversityofElectronicScienceandTechnologyofChina,Chengdu611731,China)

A multi-channel video zoom device, which bases on bilinear interpolation algorithm and FPGA hardware platform, is designed in this paper. The two lines pixels, which are next to the desired position, are stored in the RAM. The vertical interpolation data are calculated firstly. Then, the horizontal interpolation data are calculated. The image can be scaled in real time by using this device, which takes advantage of FPGA’s parallel computation ability.

bilinear interpolation algorithm;FPGA;multi-channel video zoom

TN949.1

A

10.16280/j.videoe.2015.01.011

2014-07-10

【本文獻(xiàn)信息】陳全兵,習(xí)友寶.基于雙線性內(nèi)插算法的多路視頻縮放設(shè)計(jì)[J].電視技術(shù),2015,39(1).

陳全兵(1989— ),碩士生,主研FPGA邏輯芯片在圖像處理中的應(yīng)用;

習(xí)友寶(1964— ),教授,主研片上系統(tǒng)(SOC)設(shè)計(jì)。

責(zé)任編輯:李 薇

猜你喜歡
視頻信號(hào)狀態(tài)機(jī)流程圖
基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
淺析新一代視頻信號(hào)ICtCp
短距視頻信號(hào)無(wú)線通信網(wǎng)絡(luò)
專利申請(qǐng)審批流程圖
河南科技(2016年8期)2016-09-03 08:08:22
專利申請(qǐng)審批流程圖
河南科技(2016年6期)2016-08-13 08:18:29
寧??h村級(jí)權(quán)力清單36條
小飛鴿ZY—2250D數(shù)字機(jī)無(wú)視頻輸出故障的應(yīng)急處理
《天津醫(yī)藥》稿件處理流程圖
FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
洛宁县| 南川市| 牙克石市| 攀枝花市| 东阿县| 舒兰市| 平昌县| 海伦市| 汉源县| 旬阳县| 高平市| 密山市| 松溪县| 公安县| 南皮县| 林甸县| 房山区| 额尔古纳市| 文昌市| 钟山县| 武汉市| 望城县| 巴彦县| 仲巴县| 凤阳县| 崇文区| 仪陇县| 广德县| 独山县| 庆安县| 西乡县| 绥棱县| 钟山县| 新河县| 绥江县| 娄烦县| 竹山县| 莱州市| 合肥市| 象州县| 阳东县|