一種圖像融合的基于行的硬件實現(xiàn)方法
【專利摘要】本發(fā)明屬于數(shù)字視頻【技術(shù)領域】,具體為一種圖像融合的基于行的硬件實現(xiàn)方法。對于一個普適的視頻拼接應用,需要執(zhí)行獲取、投影、匹配、縮放和旋轉(zhuǎn)、校正、縫合、拼接、輸出等一系列操作。本發(fā)明將匹配操作交由軟件執(zhí)行一次,剩余的獲取、校正、縫合、拼接和輸出操作交由硬件執(zhí)行;圖像獲取使用帶有先入先出緩存的攝像頭加以配合,圖像校正,使用三個乘法器來完成;圖像縫合使用基于行的縫合算法,圖像拼接使用基于行的拼接算法,圖像輸出采用兩種模式。本發(fā)明可以將處理單位從一幀像素縮減到一行像素,有效地減少硬件實現(xiàn)下的處理速度,從而高效地實現(xiàn)數(shù)字視頻的實時融合操作。
【專利說明】-種圖像融合的基于行的硬件實現(xiàn)方法
【技術(shù)領域】
[0001] 本發(fā)明屬于數(shù)字視頻處理【技術(shù)領域】,具體涉及一種適用于圖像融合的基于行的硬 件實現(xiàn)方法。
【背景技術(shù)】
[0002] 隨著電子多媒體的長足發(fā)展,人們對于寬屏乃至全景視頻的需求也越來越胚盛。 不管是看電影、玩游戲、還是視頻會議、車載監(jiān)控,人們都在追求更寬更大的視頻體驗。該種 追求來源于寬屏全景能夠提供普通視頻所不能提供的沉浸式體驗。在沉浸式的體驗中,從 情感上,人們能夠更為身臨其境地感受視頻的氛圍;從功能上,人們能夠從視頻中獲取更多 的信息。
[0003] 為了實現(xiàn)寬屏乃至全景,傳統(tǒng)的方法是利用廣角鏡頭進行拍攝。但該種方法會不 可避免地引入至少W下H種問題。其一、由于拍攝范圍過大所導致的細節(jié)分辨率下降;其 二、由于廣角鏡頭所引入的邊緣扭曲甚至崎形;其H、昂貴的鏡頭和攝像機費用。
[0004] 作為廣角鏡頭的候選方法,視頻拼接慢慢地為人們所關注。該方向致力于從若干 個分辨率較低的攝像頭中獲取源視頻,通過拼接處理,從而產(chǎn)生出一個分辨率較高的融合 后視頻。由于每個攝像頭只用于拍攝拼接后視頻中的一部分區(qū)域,因此細節(jié)分辨率較高;普 通鏡頭避免了廣角引入的崎變;而由于實際使用的攝像頭分辨率較低,因此成本相較低廉 (此處并未考慮拼接成本)。
[0005] 對于一個普適的視頻拼接應用,如圖1所示,需要執(zhí)行W下操作: 1、 獲取,包含了對于處理前視頻的格式轉(zhuǎn)換乃至視頻解碼; 2、 投影,實際上,攝像頭在攝影過程當中隱式地包含了由H維空間到二維空間的投影, 該一投影會或多或少地導致邊界處的扭曲W及相對于視頻中也的失配。為了更好地進行匹 配操作,需要將視頻投影到一個更為合適的平面上,例如一個圓柱面,W減少扭曲或者失配 所引入的影響; 3、 匹配,利用SIFT、SURF或者其他算法,尋找視頻間的特征點,并生成對應的轉(zhuǎn)換矩陣 和相對位移; 4、 縮放和旋轉(zhuǎn),根據(jù)轉(zhuǎn)換矩陣完成對于視頻的縮放和旋轉(zhuǎn)操作; 5、 校正,消除由于攝像頭之間的失配所導致的色差; 6、 縫合,在被拼接視頻中尋找最佳的縫合線; 7、 拼接,沿著縫合線拼接視頻; 8、 輸出,包含了對于處理后視頻的格式轉(zhuǎn)換乃至視頻編碼。
[0006] 該些操作往往都是W峽做為單位的,即對于一峽圖像,在完成了投影之后才能對 其進行匹配,在完成了縫合之后才能進行拼接等,直接導致了圖像融合模塊對于存儲空間 和數(shù)據(jù)帶寬的大量占用。該種占用最終會體現(xiàn)為效率低下和成本昂貴。
[0007] 本發(fā)明可W將處理單位從一峽像素縮減到一行像素,有效地減少硬件實現(xiàn)下的處 理速度,從而高效地實現(xiàn)數(shù)字視頻的實時融合操作。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的在于提出一種可W克服現(xiàn)有技術(shù)不足的、能有效進行圖像融合的基 于行的硬件實現(xiàn)方法。
[0009] 本發(fā)明方法針對具有W下特征的圖像融合;可W忽略的尺寸失配、可W忽略的角 度失配、固定的攝像頭位置和角度。該特征的典型應用為視頻會議、可視電話、全景監(jiān)控等。 由于上述特征,投影、縮放和旋轉(zhuǎn)可W不必執(zhí)行,匹配操作可W只執(zhí)行一次。由于該個原因, 本發(fā)明將匹配操作交由軟件執(zhí)行一次,將剩余的獲取、校正、縫合、拼接和輸出操作交由硬 件執(zhí)行。
[0010] 對于圖像的獲取,本發(fā)明使用帶有先入先出緩存(FIFO)的攝像頭加W配合,該使 得對于圖像數(shù)據(jù)的獲取可W是間斷的,由獲取模塊控制的,而不必由于圖像數(shù)據(jù)源源不斷 的進入而使用片外存儲器,并占用數(shù)據(jù)帶寬。同時,該也使得對于圖像的獲取操作可W是基 于行進行的。
[0011] 對于圖像的校正,本發(fā)明使用H個乘法器來完成。乘法器的一組因數(shù)是像素在紅 綠藍(RGB)通道中的數(shù)值,另一組因數(shù)是各通道的校正系數(shù),如圖2所示。該系數(shù)同樣由軟 件計算得到,用于調(diào)整RGB的相對權(quán)重和絕對權(quán)重。由于攝像頭是固定的,該一數(shù)值也只需 要被計算一次。值得注意的是該一校正算法實際是基于像素點的,因此,可W被擴充為基于 行的。
[0012] 對于圖像的縫合,本發(fā)明使用如下的基于行的縫合算法: 依據(jù)公式(1)計算第1行內(nèi)重疊部分所有對應像素的絕對差,取值最小的一對像素點 的位置作為縫合線的起點,并記為i,:
【權(quán)利要求】
1. 一種圖像融合的基于行的硬件實現(xiàn)方法,在視頻融合過程中,以一幀圖像為單位執(zhí) 行獲取、投影、匹配、縮放和旋轉(zhuǎn)、校正、縫合、拼接、輸出一系列操作;具體針對具有以下特 征的圖像融合:可以忽略尺寸失配、可以忽略角度失配、固定攝像頭位置和角度,基于上述 特征,投影、縮放和旋轉(zhuǎn)不必執(zhí)行,匹配操作只執(zhí)行一次;其特征在于: 將匹配操作交由軟件執(zhí)行一次,剩余的獲取、校正、縫合、拼接和輸出操作交由硬件執(zhí) 行; 對于圖像的獲取,使用帶有先入先出緩存(FIFO)的攝像頭加以配合,使得對于圖像數(shù) 據(jù)的獲取是間斷的,并由獲取模塊控制,這也使得對于圖像的獲取操作基于行進行; 對于圖像的校正,使用三個乘法器來完成;乘法器的一組因數(shù)是像素在紅綠藍(RGB) 通道中的數(shù)值,另一組因數(shù)是各通道的校正系數(shù);該系數(shù)同樣由軟件計算得到,用于調(diào)整紅 綠藍(RGB)的相對權(quán)重和絕對權(quán)重; 對于圖像的縫合,使用如下的基于行的縫合算法: 依據(jù)公式(1)計算第1行內(nèi)重疊部分所有對應像素的絕對差,取值最小的一對像素點 的位置作為縫合線的起點,并記為:
其中,i是像素所處的列坐標,J是像素所處的行坐標,以視頻源重疊的部分作為起點, 之y是重疊部分第J行第i?列的對應像素的絕對差,y和u分別是第1個視頻源和 第2個視頻源重疊部分第J行第i列的像素,而所謂重疊部分指的是兩個視頻源所拍攝到 的相同的一部分鏡頭,需要在融合時合并為一個鏡頭,?是重疊部分的總列數(shù); 依據(jù)公式(2)計算第2行直至最后1行的在范圍內(nèi)的所有對應像素的 絕對差,取差值最小的一對像素點的位置作為該行的縫合點,并根據(jù)當前行數(shù)J'記為i/:
其中,i是像素所處的列坐標,J是像素所處的行坐標,以視頻源重疊的部分作為起點, 之y是重疊部分第J行第i?列的對應像素的絕對差,y和u分別是第1個視頻源和 第2個視頻源重疊部分第J行第i列的像素,/7是重疊部分的總行數(shù); 最后,將縫合線的起點i,和后續(xù)的縫合點4, i,,之,……,4連接,即可得到縫合線; 對于圖像的拼接,使用如下基于行的拼接算法: 根據(jù)公式(3)計算對應點拼接后的值:
其中,F(xiàn)表示融合后圖像,/7表示當前點,J7表示被融合圖像,/=1、2, iy是當前行的縫 合點,是執(zhí)行拼接的范圍,〃表示融合系數(shù),由公式4計算都得到:
其中,¢/表示當前點/7到拼接范圍的邊界的距離; 對于圖像的輸出,采用兩種模式: 模式一,將視頻源的數(shù)據(jù)直接輸出,以供軟件處理以完成只需要執(zhí)行一次的匹配操作 和對于校正數(shù)據(jù)的計算; 模式二,將融合后的圖像輸出; 上述兩種模式也都是基于行完成,即在模式一情況下,輸出緊跟著對于一行原始數(shù)據(jù) 的獲取之后立刻進行;模式二情況下,輸出緊跟這對于一行數(shù)據(jù)的拼接操作之后立刻進行。
2. 根據(jù)權(quán)利要求1所述的硬件實現(xiàn)方法,其特征在于采用基于行的乒乓操作,即在執(zhí) 行對于當行像素的獲取的同時,執(zhí)行對于前一行像素的校正、縫合和拼接,執(zhí)行對于當行像 素的校正、縫合和拼接的同時,執(zhí)行對于下一行像素的獲取。
3. 根據(jù)權(quán)利要求2所述的硬件實現(xiàn)方法,其特征在于對于視頻源A和B,進行融合操 作,其對應的系統(tǒng)包括:軟件處理器,片外存儲器,接口,輸送總線,獲取模塊,縫合模塊,拼 接模塊,輸出模塊,乒乓緩存1,乒乓緩存2,融合數(shù)據(jù)緩存;其中,獲取模塊、縫合模塊、拼接 模塊、輸出模塊等分別對應實現(xiàn)獲取、縫合、拼接、輸出操作;乒乓緩存1、乒乓緩存2用于緩 存基于行的乒乓操作過程中數(shù)據(jù);融合數(shù)據(jù)緩存用于緩存拼接后數(shù)據(jù);融合操作具體過程 為: (1) 令輸出模塊工作在模式一下,依次將視頻源的一幀圖像數(shù)據(jù)和視頻源的一幀圖像 數(shù)據(jù),通過接口和總線輸送到片外存儲器上; (2) 軟件處理器執(zhí)行匹配算法計算出兩個視頻源的重疊部分,并得到對于色彩的校正 系數(shù); (3) 軟件處理器將得到的結(jié)果輸送到本硬件架構(gòu); (4) 啟動獲取模塊,根據(jù)處理器計算的結(jié)果,從視頻源中讀入對應的第一行數(shù)據(jù),通過 校正用的三個乘法器,最終存入乒乓緩存1 ; (5) 啟動縫合模塊,根據(jù)處理器計算的結(jié)果,尋找乒乓緩存1中的重疊部分的縫合點; (6) 啟動拼接模塊,根據(jù)縫合點對乒乓緩存1中對應的數(shù)據(jù)進行拼接,得到拼接后數(shù) 據(jù),存入融合數(shù)據(jù)緩存; (7) 啟動輸出模塊,并令其工作在模式二下,將融合數(shù)據(jù)輸出; (8)在5-7執(zhí)行的過程中,同時啟動獲取模塊,根據(jù)處理器計算的結(jié)果,從視頻源中讀 入對應的第二行數(shù)據(jù),通過校正用的三個乘法器,最終存入乒乓緩存2 ; (9) 啟動縫合模塊,根據(jù)處理器計算的結(jié)果,尋找乒乓緩存2中的重疊部分的縫合點; (10) 啟動拼接模塊,根據(jù)縫合點對乒乓緩存2中對應的數(shù)據(jù)進行拼接,得到拼接后數(shù) 據(jù),存入融合數(shù)據(jù)緩存; (11) 啟動輸出模塊,并令其工作在模式二下,將融合數(shù)據(jù)輸出; (12) 在9-10執(zhí)行的過程中,同時啟動獲取模塊,根據(jù)處理器計算的結(jié)果,從視頻源中 讀入對應的第二行數(shù)據(jù),通過校正用的三個乘法器,最終存入乒乓緩存1 ;
【文檔編號】H04N5/262GK104363385SQ201410590976
【公開日】2015年2月18日 申請日期:2014年10月29日 優(yōu)先權(quán)日:2014年10月29日
【發(fā)明者】范益波, 黃磊磊, 程魏, 金怡澤, 曾曉洋 申請人:復旦大學