一種并行多核fpga數(shù)字圖像實(shí)時(shí)縮放處理方法和裝置制造方法
【專利摘要】一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法及裝置,該方法中首先獲取待處理的原始視頻圖像數(shù)據(jù),將原始視頻圖像數(shù)據(jù)輸入FPGA芯片,然后確定縮放核數(shù)目,并將原始視頻圖像數(shù)據(jù)分割成與縮放核數(shù)目一致的圖像子塊,然后將分割后的數(shù)據(jù)存儲(chǔ)到緩存器中,再將緩存器中的數(shù)據(jù)返回到FPGA中,將每個(gè)圖像子塊分別經(jīng)由一個(gè)縮放核進(jìn)行并行縮放處理,完成縮放,將縮放后的所有圖像子塊進(jìn)行拼接處理后顯示。本發(fā)明對(duì)數(shù)字視頻圖像的高吞吐量、高實(shí)時(shí)性應(yīng)用有一定的指導(dǎo)作用。
【專利說明】-種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種圖像的放大或縮小的處理方法和裝置,具體地說是一種并行多核 FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法和裝置。
【背景技術(shù)】
[0002] 電子產(chǎn)品和電子技術(shù)的日新月異,帶動(dòng)了顯示技術(shù)的不斷提高。隨著視頻顯示技 術(shù)和顯示終端制造技術(shù)的不斷發(fā)展,各類視頻應(yīng)用所要求的分辨率以及顯示終端的尺寸都 在不斷提高,不但出現(xiàn)了 1920X1080以及更高的分辨率,而且顯示終端的尺寸也不斷的突 破制造工藝的極限,尤其是屏幕拼接技術(shù)和投影融合技術(shù)的出現(xiàn)更是進(jìn)一步提高了顯示終 端的顯示分辨率和尺寸。同時(shí),現(xiàn)代化的媒體宣傳、櫥窗展示以及公眾演示等應(yīng)用使得分布 式視頻顯示技術(shù)得以工程化。隨著這類應(yīng)用的日益推廣,人們開始追求單個(gè)視頻顯示節(jié)點(diǎn) 的高清以及更高分辨率的視頻顯示,甚至某些由屏幕拼接系統(tǒng)和投影融合系統(tǒng)構(gòu)成的大型 視頻顯示節(jié)點(diǎn)也被部署在分布式視頻顯示系統(tǒng)中,這大大提高了單個(gè)視頻節(jié)點(diǎn)的視頻數(shù)據(jù) 吞吐量和運(yùn)算量。
[0003] 這些顯示技術(shù)和需求,不僅包括如何以更大的屏幕來顯示更高分辨率的視頻信 息,還包括如何將低分辨率的視頻信息實(shí)時(shí)地放大到相應(yīng)顯示器屏幕尺寸的高分辨率顯示 屏幕上。由此不難看出,視頻顯示技術(shù)的發(fā)展已經(jīng)不再僅僅受制于顯示技術(shù)本身,而是在 某些應(yīng)用中更多的受制于所需視頻信息的質(zhì)量、實(shí)時(shí)性以及處理方式和處理芯片的運(yùn)算能 力。
[0004] 隨著半導(dǎo)體工藝的不斷改進(jìn),處理器單位面積上集成了數(shù)以百萬計(jì)的晶體管。這 種集成度的提高雖然使處理器具備更強(qiáng)大的處理能力,但是也使處理器的功耗和散熱問題 日益突出。由于CMOS晶體管特征尺寸的縮小導(dǎo)致單位面積上晶體管數(shù)目的增加,加上時(shí)鐘 頻率的提升,使得單位面積上晶體管漏電流不斷增大。研究表明,處理器性能每提升1 %,功 耗將增加3%。如果按照這種趨勢發(fā)展而不采取其他降低功耗措施的話,在2015年,每平方 厘米面積上的功耗密度將達(dá)到上千瓦。由此而導(dǎo)致的熱量積聚將使得芯片根本無法工作。 有學(xué)者指出,在單一處理器的條件下,系統(tǒng)性能提高幅度正比于系統(tǒng)復(fù)雜度提高幅度的平 方根。如前所述,在系統(tǒng)復(fù)雜度不變的前提下,如何提高系統(tǒng)的處理效率就變得尤為重要。 在屏幕拼接及投影融合【技術(shù)領(lǐng)域】中,經(jīng)常要將數(shù)字視頻圖像進(jìn)行實(shí)時(shí)縮放以滿足不同顯示 終端的分辨率。由于數(shù)字視頻圖像的數(shù)據(jù)量大,實(shí)時(shí)性要求高,要求縮放系統(tǒng)要具有較大的 數(shù)據(jù)吞吐能力和較高的處理效率,所以系統(tǒng)的處理能力尤為重要,并行處理的方式作為一 種高效的處理方法,在視頻圖像縮放時(shí)得到應(yīng)用。
[0005] 在中國專利CN103269416A,公開了一種采用并行處理方式實(shí)現(xiàn)視頻圖像拼接顯 示的裝置及方法,包括以下步驟:(1)將解碼后的數(shù)字視頻圖像信號(hào)進(jìn)行識(shí)別,確定視頻格 式,并按顯示區(qū)域分割為至少兩部分;(2)同時(shí)對(duì)分割后的視頻圖像信號(hào)分別進(jìn)行圖像處 理;(3)將處理后的各個(gè)視頻圖像信號(hào)分別轉(zhuǎn)換成可供外接的終端顯示單元進(jìn)行顯示的視 頻圖像信號(hào);(4)將所有的終端顯示單元顯示的視頻圖像信號(hào)拼接為一幅完整的圖像。其 中,在步驟(2)中圖像處理單元對(duì)輸入的視頻圖像信號(hào)進(jìn)行圖像處理之前還包括對(duì)分割后 的視頻圖像進(jìn)行暫存以及對(duì)圖像分割和圖像處理的處理速度進(jìn)行匹配的步驟。該方法中采 用并行處理方式實(shí)現(xiàn)視頻圖像拼接顯示的方法通過采用先進(jìn)行圖像分割再進(jìn)行圖像處理 的順序,并且在圖像處理部分采用了并行同步的處理方法,不僅處理的數(shù)據(jù)率大大降低,也 克服了現(xiàn)有技術(shù)中存在的響應(yīng)速度慢、發(fā)熱嚴(yán)重、散熱慢等問題。但是,由于在該方法對(duì)應(yīng) 的裝置中,需要采用多路并行處理的芯片,包括圖像分割單元與視頻格式偵測單元一體的 FPGA芯片、多路緩存芯片、多路圖像處理芯片、多路接口芯片以及終端顯示設(shè)備,多路處理 無疑增加了系統(tǒng)成本,此外當(dāng)將視屏圖像分為多組單獨(dú)進(jìn)行處理時(shí),同步是一個(gè)非常重要 的問題,直接影響到圖像在終端的顯示情況。
【發(fā)明內(nèi)容】
[0006] 為此,本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)中的視頻圖像并行處理方法中,系統(tǒng)成本 高、需要保持同步的問題,提出一種簡化了系統(tǒng)結(jié)構(gòu)、無需同步則可實(shí)現(xiàn)的并行多核FPGA 數(shù)字圖像實(shí)時(shí)縮放處理方法及其裝置。
[0007] 為解決上述技術(shù)問題,本發(fā)明的目的之一是提供一種并行多核FPGA數(shù)字圖像實(shí) 時(shí)縮放處理方法,包括如下過程:
[0008] (1)獲取待處理的原始視頻圖像數(shù)據(jù),將所述原始視頻圖像數(shù)據(jù)輸入FPGA芯片;
[0009] (2)根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上限工作時(shí)鐘頻 率確定縮放核數(shù)目;
[0010] (3)按照所述縮放核的數(shù)目,將所述原始視頻圖像數(shù)據(jù)按縱向均勻分割成與縮放 核數(shù)目一致的圖像子塊,任意一個(gè)圖像子塊左右兩側(cè)邊緣均需向外擴(kuò)展一列;
[0011] (4)將分割后的圖像數(shù)據(jù)存儲(chǔ)到外部緩存器中;
[0012] (5)將所述外部緩存器中的圖像數(shù)據(jù)逐行讀取到FPGA芯片中進(jìn)行處理,分割后的 每個(gè)圖像子塊獨(dú)立使用一個(gè)縮放核進(jìn)行縮放處理,所述縮放核并行運(yùn)行;
[0013] (6)將縮放后的所有圖像子塊按像素點(diǎn)逐行進(jìn)行拼接處理,得到縮放后的數(shù)字視 頻圖像。
[0014] 在所述的一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的步驟(2)中,所述根據(jù) 輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上限工作時(shí)鐘頻率確定縮放核數(shù)目 的過程包括:獲取輸入像素時(shí)鐘頻率CLK in和輸出像素時(shí)鐘頻率CLK^,進(jìn)行比較后得到像 素時(shí)鐘最高頻率CLK = max {CLKin,CLO,單個(gè)縮放核的上限工作時(shí)鐘頻率為CLKSmax,則縮 放核數(shù)目η為正整數(shù),且η彡CLK/CLK Smax。
[0015] 更進(jìn)一步,在所述的一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法中,所述的像 素時(shí)鐘最高頻率CLK和單個(gè)縮放核的上限工作時(shí)鐘頻率CLK Smax,當(dāng)CLK/CLKSmax為整數(shù)時(shí),η =CLK/CLKSmax ;當(dāng) CLK/CLKSmax 為非整數(shù)時(shí),n = [CLK/CLKSmax]+l。
[0016] 在所述的一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的步驟(4)中,所述的外 部緩存器為雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
[0017] 在所述的一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的步驟(5)中,所述的縮 放處理是采用雙線性插值算法。
[0018] 本發(fā)明的另一目的是提供一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理裝置,該裝 置包括:
[0019] 輸入模塊:獲取待處理的原始視頻圖像數(shù)據(jù),并將所述原始視頻圖像數(shù)據(jù)輸入 FPGA芯片;
[0020] 縮放核計(jì)算模塊:根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上 限工作時(shí)鐘頻率確定縮放核數(shù)目;
[0021] 分割模塊:按照所述縮放核的數(shù)目,對(duì)所述原始視頻圖像數(shù)據(jù)進(jìn)行分割并得到分 割后的各個(gè)圖像子塊;
[0022] 存儲(chǔ)模塊:作為緩存器與FPGA芯片的雙向數(shù)據(jù)傳輸接口,負(fù)責(zé)存取和讀取圖像子 塊數(shù)據(jù)的功能;
[0023] 縮放模塊:通過存儲(chǔ)模塊從緩存器中逐行讀取圖像數(shù)據(jù),每個(gè)分割圖像子塊單獨(dú) 使用一個(gè)縮放核進(jìn)行縮放處理;
[0024] 拼接輸出模塊:將縮放后的所有圖像子塊以像素點(diǎn)方式逐行進(jìn)行拼接處理,得到 縮放后的數(shù)字視頻圖像。
[0025] 本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn),
[0026] 1本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,獲取待處理的原始視 頻圖像數(shù)據(jù),將所述原始視頻圖像數(shù)據(jù)輸入FPGA芯片,然后確定縮放核數(shù)目,并將所述原 始視頻圖像數(shù)據(jù)分割成與縮放核數(shù)目一致的圖像子塊,然后將分割后的數(shù)據(jù)存儲(chǔ)到緩存器 中,再將緩存器中的數(shù)據(jù)返回到FPGA中,將每個(gè)圖像子塊分別經(jīng)由一個(gè)縮放核進(jìn)行并行縮 放處理,完成縮放,將縮放后的所有圖像子塊進(jìn)行拼接處理后顯示。該方法中先通過FPGA 進(jìn)行圖像分割,然后將分割后的數(shù)據(jù)存入緩存區(qū)中緩存,再將緩存區(qū)中的信息返回到FPGA 中進(jìn)行分割后的圖像處理。而現(xiàn)有技術(shù)中,通過FPGA將視頻圖像分割后放入緩沖區(qū),緩存 之后需要送入圖像處理單元再進(jìn)行處理。與現(xiàn)有技術(shù)相比,本方案中省去了后續(xù)的圖像處 理單元,通過FPGA實(shí)現(xiàn)了分割和處理的兩個(gè)功能,大大減少了系統(tǒng)成本,此外,現(xiàn)有技術(shù)中 需要將圖像分為多組單獨(dú)進(jìn)行,由于采用不同的設(shè)備組成的通道進(jìn)行并行處理,因此同步 是一個(gè)非常重要的問題,而在本發(fā)明中,圖像處理都在同一個(gè)FPGA中進(jìn)行,無需考慮同步。 本發(fā)明所采用的方案,通過多核并行處理技術(shù),較好的平衡了系統(tǒng)處理能力和數(shù)字視頻圖 像縮放算法對(duì)吞吐量、實(shí)時(shí)性要求較高之間的矛盾,不僅降低了縮放系統(tǒng)的計(jì)算時(shí)鐘頻率, 也降低了系統(tǒng)成本、提高了系統(tǒng)處理效率,同時(shí)對(duì)數(shù)字視頻圖像的高吞吐量、高實(shí)時(shí)性應(yīng)用 有一定的指導(dǎo)作用。此外,該技術(shù)方案中采用性能適中、成本較低的中低端FPGA芯片進(jìn)行 多核并行數(shù)字視頻圖像縮放處理,達(dá)到在不嚴(yán)格要求芯片性能和外部環(huán)境的條件下,占用 資源少、在硬件上可實(shí)現(xiàn)的目的。
[0027] 2本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,縮放核的數(shù)目大于或 等于像素時(shí)鐘最高頻率與單個(gè)縮放核的上限工作時(shí)鐘頻率的比值。這樣,設(shè)計(jì)人員可以通 過更改縮放核的數(shù)量實(shí)現(xiàn)任意復(fù)雜度的視頻圖像縮放處理系統(tǒng),根據(jù)芯片處理能力動(dòng)態(tài)配 置縮放核數(shù)量,從而使得數(shù)字視頻圖像的實(shí)時(shí)縮放可以在普通硬件平臺(tái)上高效率運(yùn)行,降 低計(jì)算時(shí)鐘頻率,同時(shí)降低了系統(tǒng)成本。該技術(shù)可作為視頻圖像實(shí)時(shí)縮放、拼接系統(tǒng)的核心 技術(shù),降低了圖像縮放處理的復(fù)雜度,有效地提高了 FPGA固件的設(shè)計(jì)效率。
[0028] 3本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,縮放核的數(shù)目n,當(dāng) CLK/CLKSmax 為整數(shù)時(shí),n = CLK/CLKSmax ;當(dāng) CLK/CLKSmax 為非整數(shù)時(shí),n = [CLK/CLKSmax]+l,這 種方式在滿足圖像子塊處理的基礎(chǔ)上,使得縮放核的數(shù)據(jù)設(shè)置的盡量少,從而保證并行處 理時(shí)并行的數(shù)目保持在最優(yōu)的數(shù)量上,并行處理的同時(shí)兼顧了每路的處理效率。
[0029] 4本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,所述縮放處理采用雙 線性插值算法,待求解點(diǎn)的像素值僅與其周圍4個(gè)原始像素點(diǎn)相關(guān),由于雙線性插值中待 求解點(diǎn)像素值與其周圍4個(gè)像素點(diǎn)的像素值相關(guān),所以在得到分割后數(shù)字圖像數(shù)據(jù)兩行后 即可開始并行縮放運(yùn)算,因此大大提高了處理效率,節(jié)約了時(shí)間。
[0030] 5本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,對(duì)所述原始視頻圖像 數(shù)據(jù)分割時(shí)米用縱向均勻分割的方法。由于顯不器一般按照raster scan(光柵掃描)方 式工作,像素點(diǎn)按照從左上到右下的順序依次輸出。因此在本發(fā)明的方案中,根據(jù)raster scan方式的特點(diǎn)對(duì)視頻圖像進(jìn)行縱向均勻劃分,視頻圖像的縱向劃分可以有效的減少每個(gè) 圖像子塊縮放后需要緩存的數(shù)據(jù)量,并且能夠減小輸入視頻圖像與輸出視頻圖像之間的延 遲,提高縮放系統(tǒng)的實(shí)時(shí)性。本方案中,針對(duì)計(jì)算機(jī)輸出視頻圖像的特點(diǎn),在預(yù)處理過程中 將視頻圖像進(jìn)行縱向劃分來分割,有效的減少了每個(gè)圖像子塊縮放后需要緩存的數(shù)據(jù)量, 降低了對(duì)系統(tǒng)高速緩存的吞吐量和容量的要求。因此,本發(fā)明的視頻圖像預(yù)處理技術(shù)中的 縱向分割方法,可以減少輸入視頻圖像與輸出視頻圖像之間的延遲時(shí)間,提高縮放系統(tǒng)的 處理效率,極大地提高了實(shí)時(shí)性,并為算法的硬件可實(shí)現(xiàn)奠定了基礎(chǔ)。
[0031] 6本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,每個(gè)分割后的子塊在 均勻分割線的基礎(chǔ)上,向外擴(kuò)展一列后作為分割后的圖像子塊。此處的圖像分割方法與所 采用的縮放算法相關(guān)。由于采用的雙線性插值算法中,待求解點(diǎn)的像素值僅與其周圍4個(gè) 原始像素點(diǎn)相關(guān),將分割后的每個(gè)子塊的分界線各向外擴(kuò)展一列的區(qū)域,保證了每個(gè)分割 后的圖像子塊在計(jì)算待求解點(diǎn)時(shí)所需的像素點(diǎn)像素值都存在,而不需要在處理時(shí)再次進(jìn)行 復(fù)制邊緣,減小處理的復(fù)雜程度。
[0032] 7本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,所述緩存器為雙倍速 率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,具有更高的讀取和存儲(chǔ)的速度以及較好的同步性能,因此,整體上 提高了該方法的處理效率。視頻圖像的實(shí)時(shí)處理系統(tǒng)需要具有一定的數(shù)據(jù)吞吐量,這不僅 要求系統(tǒng)具有一定的計(jì)算能力,也要求系統(tǒng)要有一定的數(shù)據(jù)緩存能力。合理的數(shù)據(jù)緩存方 式不僅能夠提高算法的處理效率,也能夠降低對(duì)系統(tǒng)緩存的數(shù)據(jù)吞吐量和容量的要求,雙 倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DDR-SDRAM)則很好的滿足了此處的要求。
[0033] 8本發(fā)明所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,每個(gè)圖像子塊經(jīng)由一 個(gè)縮放核進(jìn)行縮放處理,采用并行運(yùn)行的方式,多個(gè)縮放核同時(shí)并行處理。本發(fā)明采用多核 并行處理技術(shù),減小單個(gè)縮放核的計(jì)算量,在權(quán)衡運(yùn)算速度和系統(tǒng)資源消耗的基礎(chǔ)上,實(shí)現(xiàn) 實(shí)時(shí)的視頻圖像縮放處理。該方法單個(gè)縮放核的計(jì)算量小、整體算法處理效率高,具備在硬 件上實(shí)現(xiàn)的條件。
【專利附圖】
【附圖說明】
[0034] 為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)本發(fā)明的具體實(shí)施例并結(jié)合 附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明,其中:
[0035] 圖1是本發(fā)明實(shí)施例1中并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的流程圖;
[0036] 圖2是本發(fā)明實(shí)施例中并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的系統(tǒng)框圖;
[0037] 圖3是本發(fā)明實(shí)施例中并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的算法流程框 圖;
[0038] 圖4是本發(fā)明實(shí)施例中raster scan與縱向分割方式示意圖;
[0039] 圖5是本發(fā)明實(shí)施例中預(yù)處理分割方法示意圖;
[0040] 圖6(a)和圖6(b)分別是原始圖像的像素點(diǎn)和縮放后的圖像的像素點(diǎn)的示意圖;
[0041] 圖7(a) -圖7(d)為雙線性插值的算法示意圖。
【具體實(shí)施方式】
[0042] 實(shí)施例1 :
[0043] 隨著技術(shù)的發(fā)展,對(duì)視頻顯示技術(shù)的需求,不再單獨(dú)局限于如何以更大的屏幕來 顯示更高分辨率的視頻信息,還包括如何將低分辨率的視頻信息實(shí)時(shí)地放大到相應(yīng)顯示器 屏幕尺寸的高分辨率顯示屏幕上。由此不難看出,視頻顯示技術(shù)的發(fā)展已經(jīng)不再僅僅受制 于顯示技術(shù)本身,而是在某些應(yīng)用中更多的受制于所需視頻信息的質(zhì)量、實(shí)時(shí)性以及處理 方式和處理芯片的運(yùn)算能力。
[0044] 基于此,本實(shí)施例提供一種高處理效率的并行數(shù)字視頻圖像實(shí)時(shí)縮放處理方法, 以平衡系統(tǒng)處理能力和數(shù)字視頻圖像縮放對(duì)吞吐量、實(shí)時(shí)性的較高要求之間的矛盾,從而 達(dá)到降低系統(tǒng)成本、提高系統(tǒng)處理效率的目的。本實(shí)施例中的方案可以應(yīng)用于屏幕拼接和 投影融合【技術(shù)領(lǐng)域】中,實(shí)現(xiàn)待顯示圖像分辨率與顯示終端分辨率之間的良好匹配。
[0045] 本實(shí)施例提供一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其流程圖如圖1所 示,包括如下過程:
[0046] (1)獲取待處理的原始視頻圖像數(shù)據(jù),將所述原始視頻圖像數(shù)據(jù)輸入FPGA芯片。
[0047] 在本步驟中,將計(jì)算機(jī)顯示適配器(顯卡)信號(hào)通過VGA或DVI接口輸入到視頻 采集設(shè)備,如果接收的信號(hào)為模擬信號(hào)時(shí),則要先通過AD轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,將模擬信 號(hào)轉(zhuǎn)換為數(shù)據(jù)信號(hào)。當(dāng)接收信號(hào)為數(shù)字信號(hào)時(shí),則直接通過解碼器解碼,從而得到數(shù)字視頻 圖像信號(hào)。將此處獲得的數(shù)字視頻圖像信號(hào)作為原始視頻圖像數(shù)據(jù)輸入到FPGA芯片中。
[0048] (2)根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上限工作時(shí)鐘頻 率確定縮放核數(shù)目。
[0049] 此處的縮放核是指一種具有縮放功能的軟核,通過編程已經(jīng)具有縮放功能,然后 將它嵌入到FPGA中,實(shí)現(xiàn)縮放功能?,F(xiàn)在的FPGA設(shè)計(jì),規(guī)模巨大而且功能復(fù)雜,因此設(shè)計(jì)的 每一個(gè)部分都是從頭開始是不切實(shí)際的。對(duì)于較為通用的部分可以重用現(xiàn)有的功能模塊, 而把主要的時(shí)間和資源用在設(shè)計(jì)中的那些全新的、獨(dú)特的部分。此處所用的縮放核就是一 種軟核,具有縮放的處理功能,類似于MATLAB中的庫函數(shù)可以被調(diào)用。
[0050] 在一個(gè)FPGA中設(shè)置縮放核的數(shù)目是根據(jù)輸入像素時(shí)鐘頻率、輸出時(shí)鐘像素頻率 以及單核的時(shí)鐘頻率來確定的。首先由輸入及輸出像素時(shí)鐘頻率來確定最高頻率CLK,然后 看此最高頻率和單個(gè)縮放核的上限工作時(shí)鐘頻率的倍數(shù)關(guān)系,根據(jù)此關(guān)系來確定縮放核的 數(shù)目。
[0051] 在確定縮放核數(shù)目時(shí),根據(jù)判斷此時(shí)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率及單 核時(shí)鐘頻率的關(guān)系來確定。首先,判斷輸入及輸出像素時(shí)鐘的最高頻率(Pixel Clock)CLK, CLK = Max(Clkin,Clkwt)),然后看該最高頻率與單個(gè)縮放核的上限工作時(shí)鐘頻率的倍數(shù)關(guān) 系,根據(jù)這個(gè)倍數(shù)關(guān)系來確定縮放核的數(shù)量,單個(gè)縮放核的上限工作時(shí)鐘頻率與縮放核數(shù) 目的乘積以不能小于(即大于或等于)該最高頻率才行。
[0052] 也就是說,如果輸入像素時(shí)鐘頻率CLKin、輸出像素時(shí)鐘頻率ακ_,進(jìn)行比較后得 到像素時(shí)鐘最高頻率CLK = max{CLKin,CLO,單個(gè)縮放核的上限工作時(shí)鐘頻率為CLKSmax, 則縮放核數(shù)目η為正整數(shù),且η彡CLK/CLK Smax。
[0053] (3)按照所述縮放核的數(shù)目,將所述原始視頻圖像數(shù)據(jù)分割成與縮放核數(shù)目一致 的圖像子塊。這樣通過此過程中的預(yù)處理分割步驟,將輸入FPGA的原始視頻圖像數(shù)據(jù)進(jìn)行 均勻分割,得到了與縮放核數(shù)量一致的圖像子塊。
[0054] 上述步驟都是為通過縮放核處理圖像子塊并行處理做準(zhǔn)備。
[0055] (4)將分割后的圖像數(shù)據(jù)存儲(chǔ)到緩存器中,此處的緩存器為雙倍速率同步動(dòng)態(tài)隨 機(jī)存儲(chǔ)器(Double Data Rate SDRAM,即 DDRSDRAM)。
[0056] 視頻圖像的實(shí)時(shí)處理系統(tǒng)需要具有一定的數(shù)據(jù)吞吐量,這不僅要求系統(tǒng)具有一定 的計(jì)算能力,也要求系統(tǒng)要有一定的數(shù)據(jù)緩存能力。合理的數(shù)據(jù)緩存方式不僅能夠提高算 法的處理效率,也能夠降低對(duì)系統(tǒng)緩存的數(shù)據(jù)吞吐量和容量的要求,雙倍速率同步動(dòng)態(tài)隨 機(jī)存儲(chǔ)器(DDRSDRAM)則很好的滿足了此處的要求。
[0057] 視頻圖像的縮放算法實(shí)際上是根據(jù)原始圖像中各點(diǎn)的像素值計(jì)算縮放后圖像中 各點(diǎn)的像素值的過程。其實(shí)質(zhì)是一種集合間的映射關(guān)系,如圖6(a)和圖6(b)所示,圖中, 實(shí)心點(diǎn)表示原始圖像中的像素點(diǎn),空心點(diǎn)表示待求解的像素點(diǎn)。
[0058] (5)將緩存器中的數(shù)據(jù)返回到FPGA芯片中進(jìn)行處理,分割后的每個(gè)圖像子塊分別 經(jīng)由一個(gè)縮放核進(jìn)行縮放處理,所述縮放處理在各個(gè)縮放核中并行運(yùn)行,如圖3所示。通過 FPGA與緩沖區(qū)的數(shù)據(jù)交換與共享完成縮放過程中大量數(shù)據(jù)信息的存儲(chǔ)。根據(jù)所采用的縮放 算法,在得到相應(yīng)行數(shù)的數(shù)字圖像數(shù)據(jù)后進(jìn)行多通道并行縮放運(yùn)算。其中,通過FPGA與雙 倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate SDRAM)即DDR SDRAM之間的數(shù)據(jù)交換完 成縮放過程中大量數(shù)據(jù)信息的存儲(chǔ)。
[0059] (6)將縮放后的所有圖像子塊進(jìn)行拼接處理,得到縮放后的數(shù)字視頻圖像。由顯示 驅(qū)動(dòng)模塊經(jīng)過VGA或DVI接口輸出到大屏幕顯示設(shè)備上。
[0060] 本發(fā)明采用性能適中、成本較低的中低端FPGA芯片進(jìn)行多核并行數(shù)字視頻圖像 縮放處理,達(dá)到在不嚴(yán)格要求芯片性能和外部環(huán)境的條件下,占用資源少、在硬件上可實(shí)現(xiàn) 的目的,整個(gè)系統(tǒng)的框圖如圖2所示。本方案可以在中、低復(fù)雜度的系統(tǒng)中實(shí)現(xiàn)數(shù)字視頻圖 像的實(shí)時(shí)縮放,并且可根據(jù)芯片處理能力動(dòng)態(tài)配置縮放核數(shù)量,從而使得數(shù)字視頻圖像的 實(shí)時(shí)縮放可以在普通硬件平臺(tái)上高效率運(yùn)行,降低計(jì)算時(shí)鐘頻率,同時(shí)降低了系統(tǒng)成本。
[0061] 實(shí)施例2 :
[0062] 本實(shí)施例中縮放核在選擇其所需的數(shù)量時(shí),選擇最少數(shù)目的縮放核,輸入像 素時(shí)鐘頻率CLK in、輸出像素時(shí)鐘頻率CLK^,進(jìn)行比較后得到像素時(shí)鐘最高頻率CLK = max {CLKin,CLKJ,單個(gè)縮放核的上限工作時(shí)鐘頻率為CLKSmax,則縮放核數(shù)目η為正整數(shù),則 當(dāng) CLK/CLKSmax 為整數(shù)時(shí),n = CLK/CLKSmax ;當(dāng) CLK/CLKSmax 為非整數(shù)時(shí),n = [CLK/CLKSmax]+l, [·]表示取整運(yùn)算。
[0063] 此外,本實(shí)施例中對(duì)所述原始視頻圖像數(shù)據(jù)分割時(shí)采用縱向均勻分割的方法。由 于顯示器按照raster scan (光柵掃描)方式工作,像素點(diǎn)按照從左上到右下的順序依次輸 出。本實(shí)施例中,根據(jù)raster scan方式的特點(diǎn)對(duì)視頻圖像進(jìn)行縱向均勻劃分,如圖4所示, 視頻圖像的縱向劃分可以有效的減少每個(gè)圖像子塊縮放后需要緩存的數(shù)據(jù)量,并且能夠減 小輸入視頻圖像與輸出視頻圖像之間的延遲,提高縮放系統(tǒng)的實(shí)時(shí)性。
[0064] 進(jìn)一步,圖像的分割方法與所采用的縮放算法相關(guān)。本實(shí)施例中所述縮放處理采 用雙線性插值算法,待求解點(diǎn)的像素值僅與其周圍4個(gè)原始像素點(diǎn)相關(guān),因此在進(jìn)行圖像 分割時(shí)采用如圖5所示的預(yù)處理分割方法,即縱向均勻分割后,每個(gè)分割后的子塊在均勻 分割線的基礎(chǔ)上,向外擴(kuò)展一列后作為分割后的圖像子塊。從而保證每個(gè)分割后的圖像子 塊在計(jì)算待求解點(diǎn)時(shí)所需的像素點(diǎn)像素值都存在,而不需要在處理時(shí)再次進(jìn)行復(fù)制邊緣, 減小處理的復(fù)雜程度。
[0065] 實(shí)施例3 :
[0066] 一種使用實(shí)施例1或2所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的裝置, 包括
[0067] 輸入模塊:采用Silicon Image公司的SiI1161芯片獲取待處理的原始視頻圖像 數(shù)據(jù),將所述原始視頻圖像數(shù)據(jù)輸入Xi 1 inx公司生產(chǎn)的Spartan-6XC6SLX100型號(hào)FPGA芯 片;
[0068] 縮放核計(jì)算模塊:根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上 限工作時(shí)鐘頻率確定縮放核數(shù)目;
[0069] 分割模塊:按照所述縮放核的數(shù)目,對(duì)所述原始視頻圖像數(shù)據(jù)進(jìn)行分割并得到分 割后的各個(gè)圖像子塊;
[0070] 存儲(chǔ)模塊:將分割后的圖像數(shù)據(jù)存儲(chǔ)到外部DDR緩存器中,其型號(hào)為Micron公司 MT47H32M16-25 ;
[0071] 縮放模塊:將緩存器中的數(shù)據(jù)返回到FPGA芯片中進(jìn)行處理,分割后的每個(gè)圖像子 塊經(jīng)過一個(gè)縮放核進(jìn)行縮放處理,通過FPGA與緩沖區(qū)的數(shù)據(jù)交換與共享完成縮放過程中 大量數(shù)據(jù)信息的存儲(chǔ);
[0072] 拼接輸出模塊:將縮放后的所有圖像子塊進(jìn)行拼接處理,得到縮放后的數(shù)字視頻 圖像,經(jīng)Silicon Image公司的SiI164輸出至顯示器。
[0073] 該裝置中先通過FPGA進(jìn)行圖像分割,然后將分割后的數(shù)據(jù)存入緩存區(qū)中緩存,再 將緩存區(qū)中的信息返回到FPGA中進(jìn)行分割后的圖像處理。與現(xiàn)有技術(shù)相比,省去了后續(xù)的 圖像處理單元,通過FPGA實(shí)現(xiàn)了分割和處理的兩個(gè)功能,大大減少了系統(tǒng)成本。此外,而在 本方案中,圖像處理都在同一個(gè)FPGA中進(jìn)行,不需要在單獨(dú)的多個(gè)芯片中并行運(yùn)行,因此 無需考慮同步的問題,降低了系統(tǒng)的復(fù)雜程度。本發(fā)明所采用的方案,通過多核并行處理技 術(shù),較好的平衡了系統(tǒng)處理能力和數(shù)字視頻圖像縮放算法對(duì)吞吐量、實(shí)時(shí)性要求較高之間 的矛盾,不僅降低了縮放系統(tǒng)的計(jì)算時(shí)鐘頻率,也降低了系統(tǒng)成本、提高了系統(tǒng)處理效率, 同時(shí)對(duì)數(shù)字視頻圖像的高吞吐量、高實(shí)時(shí)性應(yīng)用有一定的指導(dǎo)作用。此外,該方案中采用性 能適中、成本較低的中低端FPGA芯片進(jìn)行多核并行數(shù)字視頻圖像縮放處理,達(dá)到在不嚴(yán)格 要求芯片性能和外部環(huán)境的條件下,占用資源少、在硬件上可實(shí)現(xiàn)的目的。
[0074] 實(shí)施例4 :
[0075] 上述實(shí)施例中的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法及裝置可適用于對(duì)圖 像進(jìn)行縮小或放大處理。下面給出一個(gè)對(duì)圖像進(jìn)行放大處理的實(shí)施例。
[0076] 本實(shí)施例中以將1280X720標(biāo)清數(shù)字視頻在型號(hào)為XC6SLX100的FPGA芯片上采 用雙線性插值算法放大為1920X1080高清數(shù)字視頻。
[0077] 由輸入和輸出的圖像尺寸可知,此時(shí)輸入像素時(shí)鐘頻率Clkin = 74. 250MHz,輸出 像素時(shí)鐘頻率CllVrt = 148. 500MHz。即像素時(shí)鐘最高頻率CLK = 148. 500MHz。通過設(shè)計(jì) 和驗(yàn)證,得知在FPGA芯片上采用雙線性插值算法所能達(dá)到的最大時(shí)鐘頻率為120MHz,此處 的120MHZ是通過實(shí)驗(yàn)仿真得到的,在Altera Cyclone III3C120平臺(tái)上進(jìn)行仿真。主要的 設(shè)置參數(shù)有每像素十比特,一個(gè)顏色通道,邏輯芯片571,寄存器237, 3個(gè)9 X 9的放大器,8 個(gè)18X18的放大器。在此平臺(tái)上仿真得出應(yīng)使用大于120MHZ的時(shí)鐘頻率。
[0078] S卩,此情況下單個(gè)縮放核的上限工作時(shí)鐘頻率ClkSmax = 120MHz。由于 CLK〈ClkSmax〈2*CLK,因此至少需要采用2個(gè)縮放核進(jìn)行并行縮放運(yùn)算。
[0079] 具體實(shí)現(xiàn)步驟如下:
[0080] 第一步:視頻采集模塊通過VGA或DVI接口對(duì)輸入視頻進(jìn)行采集,獲得待處理的原 始視頻圖像數(shù)據(jù)。
[0081] 第二步:將采集到的原始數(shù)視頻圖像數(shù)據(jù)輸入FPGA,在進(jìn)行預(yù)處理分割時(shí),通過 輸入原始視頻圖像的尺寸和輸出視頻圖像的尺寸來確定放大倍數(shù)以及縮放算法的復(fù)雜程 度。確定放大倍數(shù)是為了給縮放核提供參數(shù),縮放核具有縮放功能需要給定參數(shù)后才能工 作。確定縮放算法的復(fù)雜程度即可確定所需要的縮放核的數(shù)目。同時(shí),根據(jù)單個(gè)縮放核的 上限工作時(shí)鐘頻率可以判斷出需要采用2個(gè)縮放核進(jìn)行并行縮放運(yùn)算。
[0082] 圖像預(yù)處理分割的方法與所采用的縮放算法相關(guān),本例中僅以"雙線性插值縮放 算法"為例闡述其圖像預(yù)處理分割的過程。在"雙線性插值縮放算法"中,縮放后圖像中待 求解點(diǎn)的像素值與其臨近的4個(gè)像素點(diǎn)像素值相關(guān),視頻圖像分割后的每個(gè)子塊都要在均 勻分割分界線的基礎(chǔ)上,再向外擴(kuò)展一列,因此,上述視頻圖像應(yīng)按照?qǐng)D4所示的預(yù)處理方 式縱向分割為2個(gè)子塊。
[0083] 第三步:由于雙線性插值中待求解點(diǎn)像素值與其周圍4個(gè)像素點(diǎn)的像素值相關(guān), 所以在得到分割后數(shù)字圖像數(shù)據(jù)兩行后即可開始并行縮放運(yùn)算。
[0084] 此處的并行縮放算法采用的是雙線性插值法。首先根據(jù)輸出的像素分布,確定其 在輸入圖像中的位置。例如,將一幅4 X 3的圖像放大為5 X 4的圖像,輸出圖像如圖7 (a)所 示,輸入圖像如圖7(b)所示,圖7(c)中給出了輸出圖像在輸入圖像中的像素對(duì)應(yīng)位置(其 余位置同所示)。圖中黑色點(diǎn)為待求解的像素值。由圖7(c)可見它可以由周圍的四個(gè)像素 值所計(jì)算,同時(shí)可以看出在輸入兩行后即可以進(jìn)行運(yùn)算。以第一個(gè)點(diǎn)為例,如圖7(d)中所 示,它將四個(gè)已知輸入圖像中的像素點(diǎn)所在區(qū)域劃分為四個(gè)區(qū)域,分別為(1) (2) (3) (4),四 個(gè)像素點(diǎn)分別用1,2, 3,4表示。則所求像素點(diǎn)的值即為:1的像素值X (4)的面積+2的像 素值X (3)的面積+3的像素值X (2)的面積+4的像素值X (1)的面積。此縮放算法即為 雙線性插值算法。
[0085] 此處的"并行縮放運(yùn)算"在本實(shí)施例中是在兩個(gè)單獨(dú)的縮放核中對(duì)兩個(gè)分割后的 圖像并行進(jìn)行處理。
[0086] 其中,通過FPGA與雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate SDRAM,即 DDR SDAM)之間的數(shù)據(jù)交換與共享完成縮放過程中大量數(shù)據(jù)信息的存儲(chǔ)與計(jì)算。本實(shí)施例 中用DDR模塊(DDR SDAM)實(shí)現(xiàn)幀的存儲(chǔ)。首先進(jìn)行圖像的采集,將其輸入到FPGA模塊(此 模塊中包括縮放核),由于縮放模塊中輸入和輸出前后的屏幕刷新頻率可能會(huì)有稍微的差 另IJ,輸入比輸出的大零點(diǎn)幾赫茲,那么就可以利用DDR模塊首先進(jìn)行存儲(chǔ),如果不經(jīng)過存儲(chǔ) 輸出將會(huì)跟不上輸入的速度,連續(xù)多幀后輸出的縮放圖像出現(xiàn)錯(cuò)亂。進(jìn)行縮放時(shí)從DDR模 塊中得到數(shù)據(jù)輸入到FPGA中的縮放模塊進(jìn)行縮放,縮放時(shí)利用前面所述的雙線性插值算 法,需要幾行數(shù)據(jù)就從DDR模塊中讀取幾行。縮放完成后直接輸出,不需要再次返回到DDR 模塊中。
[0087] 第四步:將每一路經(jīng)過雙線性插值放大的圖像進(jìn)行拼接處理,從而得到縮放后的 數(shù)字視頻圖像。最終通過顯示驅(qū)動(dòng),經(jīng)過VGA或DVI接口輸出到大屏幕顯示設(shè)備上。
[0088] 作為可以替換的實(shí)施方式,常見的縮放算法有本發(fā)明中所用的雙線性插值算法以 及最小鄰域插值算法。雙線性插值算法的具體操作如前面所述,它的優(yōu)點(diǎn)是算法復(fù)雜度較 低且易于實(shí)現(xiàn),缺點(diǎn)是它類似于一個(gè)低通濾波器,使高頻分量被去除,導(dǎo)致邊緣模糊。若采 用最小鄰域插值法即選擇離它所映射到的位置最近的輸入像素的灰度值為插值結(jié)果。優(yōu)點(diǎn) 是計(jì)算量很小,算法也簡單,因此運(yùn)算速度較快。但它僅使用離待測采樣點(diǎn)最近的像素的灰 度值作為該采樣點(diǎn)的灰度值,而沒考慮其他相鄰像素點(diǎn)的影響,因而重新采樣后灰度值有 明顯的不連續(xù)性,圖像質(zhì)量損失較大,會(huì)產(chǎn)生明顯的馬賽克和鋸齒現(xiàn)象。雙線性插值法效果 要好于最近鄰插值,只是計(jì)算量稍大一些,算法復(fù)雜些,程序運(yùn)行時(shí)間也稍長些,但縮放后 圖像質(zhì)量高,基本克服了最近鄰插值灰度值不連續(xù)的特點(diǎn),因?yàn)樗紤]了待測采樣點(diǎn)周圍 四個(gè)直接鄰點(diǎn)對(duì)該采樣點(diǎn)的相關(guān)性影響。
[0089] 實(shí)施例5 :
[0090] 本實(shí)施例中給出一個(gè)采用本發(fā)明中的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法 及裝置進(jìn)行圖像縮小的具體應(yīng)用實(shí)例。本實(shí)施例中將1920X1080高清數(shù)字視頻在型號(hào)為 XC6SLX100的FPGA芯片上采用雙線性插值算法縮小為1280X720標(biāo)清數(shù)字視頻。
[0091] 由輸入和輸出的圖像尺寸可知,此時(shí)輸入像素時(shí)鐘頻率Clkin= 148. 500MHz,輸出 像素時(shí)鐘頻率elk- = 74. 250MHz。即像素時(shí)鐘最高頻率CLK = 148. 500MHz。通過設(shè)計(jì)和 驗(yàn)證,得知在FPGA芯片上采用雙線性插值算法所能達(dá)到的最大時(shí)鐘頻率為120MHz,S卩,此 情況下單個(gè)縮放核的上限工作時(shí)鐘頻率Clk Smax = 120MHz。由于0^〈(:11^_〈2*0^,可知, 至少需要采用2個(gè)縮放核進(jìn)行并行縮放運(yùn)算。
[0092] 本實(shí)施例中的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,具體實(shí)現(xiàn)步驟如下:
[0093] 第一步:視頻采集模塊通過VGA或DVI接口對(duì)輸入視頻進(jìn)行采集,獲得待處理的原 始視頻圖像數(shù)據(jù)。
[0094] 第二步:將采集到的原始數(shù)視頻圖像數(shù)據(jù)輸入FPGA,其中的預(yù)處理分割模塊通過 輸入原始視頻圖像的尺寸和輸出視頻圖像的尺寸來確定放大倍數(shù)以及縮放算法的復(fù)雜程 度,同時(shí),根據(jù)單個(gè)縮放核的上限工作時(shí)鐘頻率可以判斷出需要采用2個(gè)縮放核進(jìn)行并行 縮放運(yùn)算。
[0095] 圖像預(yù)處理分割的方法與所采用的縮放算法相關(guān),本例中可采用最小鄰域插值 法,即選擇離它所映射到的位置最近的輸入像素的灰度值為插值結(jié)果。該算法的優(yōu)點(diǎn)是計(jì) 算量很小,算法也簡單,因此運(yùn)算速度較快。但它僅使用離待測采樣點(diǎn)最近的像素的灰度值 作為該采樣點(diǎn)的灰度值,而沒考慮其他相鄰像素點(diǎn)的影響,因而重新采樣后灰度值有明顯 的不連續(xù)性,圖像質(zhì)量損失較大,會(huì)產(chǎn)生明顯的馬賽克和鋸齒現(xiàn)象。
[0096] 作為其他的實(shí)施方式,也可以采用上述實(shí)施例4中的雙線性插值法,與上述實(shí)施 例4的計(jì)算方式相同。
[0097] 第三步:通過FPGA與雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate SDRAM, 即DDR SDRAM)之間的數(shù)據(jù)交換與共享完成縮放過程中大量數(shù)據(jù)信息的存儲(chǔ)與計(jì)算,該過程 與上述實(shí)施例4相同。
[0098] 第四步:將每一路經(jīng)過雙線性插值縮小的圖像進(jìn)行拼接處理,從而得到縮放后的 數(shù)字視頻圖像。最終通過顯示驅(qū)動(dòng),經(jīng)過VGA或DVI接口輸出到大屏幕顯示設(shè)備上。
[〇〇99] 顯然,上述實(shí)施例僅僅是為清楚地說明所作的舉例,而并非對(duì)實(shí)施方式的限定。對(duì) 于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或 變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。而由此所引伸出的顯而易見的變化或 變動(dòng)仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。
【權(quán)利要求】
1. 一種并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征在于:該方法包括如下過 程: (1) 獲取待處理的原始視頻圖像數(shù)據(jù),將所述原始視頻圖像數(shù)據(jù)輸入FPGA芯片; (2) 根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上限工作時(shí)鐘頻率確 定縮放核數(shù)目; (3) 按照所述縮放核的數(shù)目,將所述原始視頻圖像數(shù)據(jù)按縱向均勻分割成與縮放核數(shù) 目一致的圖像子塊,任意一個(gè)圖像子塊左右兩側(cè)邊緣均需向外擴(kuò)展一列; (4) 將分割后的圖像數(shù)據(jù)存儲(chǔ)到外部緩存器中; (5) 將所述外部緩存器中的圖像數(shù)據(jù)逐行讀取到FPGA芯片中進(jìn)行處理,分割后的每個(gè) 圖像子塊獨(dú)立使用一個(gè)縮放核進(jìn)行縮放處理,所述縮放核并行運(yùn)行; (6) 將縮放后的所有圖像子塊按像素點(diǎn)逐行進(jìn)行拼接處理,得到縮放后的數(shù)字視頻圖 像。
2. 根據(jù)權(quán)利要求1所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征在于: 所述根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上限工作時(shí)鐘頻率確定 縮放核數(shù)目的過程包括:獲取輸入像素時(shí)鐘頻率CLK in和輸出像素時(shí)鐘頻率ακ_,進(jìn)行比 較后得到像素時(shí)鐘最高頻率CLK = max{CLKin,CLO,單個(gè)縮放核的上限工作時(shí)鐘頻率為 CLKSmax,則縮放核數(shù)目η為正整數(shù),且η彡CLK/CLKSmax。
3. 根據(jù)權(quán)利要求2所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征在于:所 述的像素時(shí)鐘最高頻率CLK和單個(gè)縮放核的上限工作時(shí)鐘頻率CLK Smax,當(dāng)CLK/CLKSmax為整 數(shù)時(shí),n = CLK/CLKSmax ;當(dāng) CLK/CLKSmax 為非整數(shù)時(shí),n = [CLK/CLKSmax]+l。
4. 根據(jù)權(quán)利要求1或2或3所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征 在于:所述的縮放處理采用雙線性插值算法。
5. 根據(jù)權(quán)利要求4所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征在于:對(duì) 所述原始視頻圖像數(shù)據(jù)分割時(shí)采用均勻分割的方法。對(duì)所述原始視頻圖像數(shù)據(jù)分割時(shí)采用 縱向均勻分割的方法。
6. 根據(jù)權(quán)利要求5所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征在于:所 述均勻分割為縱向均勻分割。
7. 根據(jù)權(quán)利要求5所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法,其特征在于:每 個(gè)分割后的子塊在均勻分割線的基礎(chǔ)上,向外擴(kuò)展一列后作為分割后的圖像子塊。
8. 根據(jù)權(quán)利要求1或2或3或5或6所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方 法,其特征在于:所述的外部緩存器為雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
9. 根據(jù)權(quán)利要求1或2或3或5或6所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方 法,其特征在于:所述原始視頻圖像數(shù)據(jù)的像素點(diǎn)采用從左上到右下的順序依次輸出。
10. -種使用權(quán)利要求1-9所述的并行多核FPGA數(shù)字圖像實(shí)時(shí)縮放處理方法的裝置, 其特征在于:包括 輸入模塊:獲取待處理的原始視頻圖像數(shù)據(jù),將所述原始視頻圖像數(shù)據(jù)輸入FPGA芯 片; 縮放核計(jì)算模塊:根據(jù)輸入像素時(shí)鐘頻率、輸出像素時(shí)鐘頻率和單個(gè)縮放核的上限工 作時(shí)鐘頻率確定縮放核數(shù)目; 分割模塊:按照所述縮放核的數(shù)目,對(duì)所述原始視頻圖像數(shù)據(jù)進(jìn)行分割并得到分割后 的各個(gè)圖像子塊; 存儲(chǔ)模塊:將分割后的圖像數(shù)據(jù)存儲(chǔ)到緩存器中; 縮放模塊:將緩存器中的數(shù)據(jù)返回到FPGA芯片中進(jìn)行處理,分割后的每個(gè)圖像子塊經(jīng) 過一個(gè)縮放核進(jìn)行縮放處理,通過FPGA與緩沖區(qū)的數(shù)據(jù)交換與共享完成縮放過程中大量 數(shù)據(jù)信息的存儲(chǔ); 拼接輸出模塊:將縮放后的所有圖像子塊進(jìn)行拼接處理,得到縮放后的數(shù)字視頻圖像。
【文檔編號(hào)】G06T1/20GK104104888SQ201410312009
【公開日】2014年10月15日 申請(qǐng)日期:2014年7月1日 優(yōu)先權(quán)日:2014年7月1日
【發(fā)明者】楊大偉, 張汝波, 劉冠群, 毛琳, 吳俊偉 申請(qǐng)人:大連民族學(xué)院