圖像合成裝置及方法
【技術領域】
[0001]本發明涉及圖像處理領域,具體地,是涉及電子顯示設備的圖像合成裝置以及使用這種圖像合成裝置對圖像進行合成的圖像合成方法。
【背景技術】
[0002]嵌入式電子設備對輸出顯示的圖像通常需要進行處理,在圖像處理領域,通常要將不同的圖像進行合成處理,使得多幅圖像源合成一幅圖像并輸出顯示。圖像的合成處理通常是由中央處理器(CPU)或者圖像處理單元(GPU)實現,而處理圖像前,需要將圖像的數據寫入緩沖存儲器內,由中央處理器或者圖像處理單元從緩沖存儲器讀取數據,待中央處理器或者圖像處理器將圖像數據合成完畢后,又將處理完畢的圖像數據輸出。
[0003]由于圖像合成通常是將多幅圖像合成形成一幅圖像,因此合成的圖像源的數據量較大,而中央處理器或者圖像處理單元從緩沖存儲器讀取的數據量也較大,這樣就占用中央處理器或者圖像處理單元大量的運算資源,影響嵌入式系統的運算速度。
[0004]另外,由于圖像處理過程中需要對圖像進行縮放、透明度調節等處理,導致中央處理器或者圖像處理單元在對圖像合成過程中消耗大量的時間,影響到圖像的合成效率。如中央處理器短時間內處理大量的圖像合成操作,還會影響到其他程序的運行速度,導致電子設備的其他程序運行緩慢的現象。
【發明內容】
[0005]本發明的主要目的是提供一種提高電子設備的圖像合成速度的圖像合成裝置。
[0006]本發明的另一目的是提供一種應用上述圖像合成裝置實現的圖形合成方法。
[0007]為了實現上述的主要目的,本發明提供的圖像合成裝置具有圖像源獲取單元,獲取二張以上的圖像源,并且,圖像合成裝置還包括:甄選單元,將圖像源甄選至二條以上的圖像處理通道上,每一條圖像處理通道具有一個覆蓋模塊,覆蓋模塊接收一張以上的圖像源;合成單元,將圖像處理通道輸出的圖像輸出至合成模塊進行疊加處理,獲得需要輸出的圖像;釋放單元,將存儲圖像源的數據的存儲空間釋放。
[0008]由上述方案可見,在電子設備內設置顯示引擎,顯示引擎由多條圖像處理通道、合成模塊構成,每一條圖像處理通道具有覆蓋模塊,通過覆蓋模塊接收多個圖像源,并且根據圖像源的優先級將圖像進行覆蓋處理,再由合成模塊將多條圖像處理通道輸出的圖像數據進行合成處理。這樣,電子設備設置專門的圖像處理硬件,而不僅僅通過中央處理器或者圖像處理單元對圖像進行合成工作,可以大大減小圖像數據從緩沖存儲器讀入到中央處理器或者圖像處理單元時所占用的帶寬,也減小占用中央處理器或者圖像處理單元的資源,進而提高圖像的合成效率,有利于視頻的流暢播放。
[0009]—個優選的方案是,至少一個圖像處理通道上設有縮放模塊,縮放模塊接收覆蓋模塊輸出的圖像并進行縮放處理。
[0010]由此可見,圖像處理通道內設置縮放模塊可以在圖像處理通道內先對圖像源進行縮放處理,顯示引擎所實現的功能更為強大。
[0011]進一步的方案是,每一條圖像處理通道所接收的二張以上的圖像源具有相同的縮放系數。
[0012]由于每一條圖像處理通道只設置一個縮放模塊,因此需要其接收的多張圖像源具有相同的縮放系數,以便于使用一個縮放模塊對覆蓋模塊所接收的圖像進行縮放處理。
[0013]更進一步的方案是,二條以上的圖像處理通道至少包括一條特殊格式圖像處理通道,特殊格式圖像處理通道用于接收特定格式的圖像源。
[0014]由此可見,通過設置特殊格式圖像處理通道以對特定格式的圖像進行處理,提高顯示引擎的圖像處理能力。
[0015]進一步的方案是,合成單元使用合成模塊對圖像進行疊加處理前,調整二條以上圖像處理通道所輸出圖像的優先級。
[0016]可見,合成單元對圖像處理通道輸出的圖像的優先級進行調整,在保證原有圖像顯示內容效果的前提下,通過調節輸入圖像源的優先級,減少硬件資源的開啟,節省能耗,減小帶寬。
[0017]為實現上述的另一目的,本發明提供的圖像合成方法包括圖像源獲取步驟,獲取二張以上的圖像源,還包括甄選步驟,將圖像源甄選至二條以上的圖像處理通道上,每一條圖像處理通道具有一個覆蓋模塊,覆蓋模塊接收一張以上的圖像源;合成步驟,將圖像處理通道輸出的圖像輸出至合成模塊進行疊加處理,獲得需要輸出的圖像;釋放步驟,將存儲圖像源的數據的存儲空間釋放。
[0018]由上述方案可見,圖像合成方法應用電子設備內設置的顯示引擎的硬件資源對圖像進行合成處理,通過顯示引擎的顯示處理通道、合成模塊對多張圖像源的數據進行覆蓋、縮放、疊加等處理,可以減小使用中央處理器、圖像顯示單元進行圖像數據處理,進而減小占用中央處理器、圖像處理單元的硬件資源,有利于提高電子設備的圖像處理速度。
【附圖說明】
[0019]圖1是本發明圖像合成方法實施例所使用的顯示引擎的結構示意框圖。
[0020]圖2是本發明圖像合成裝置實施例的結構框圖。
[0021]圖3是本發明圖像合成方法實施例的流程圖。
[0022]圖4是本發明圖像合成方法實施例一個圖像處理通道對多個圖像源進行覆蓋的示意圖。
[0023]圖5是本發明圖像合成方法實施例工作流程的示意圖。
[0024]以下結合附圖及實施例對本發明作進一步說明。
【具體實施方式】
[0025]本發明的圖像合成裝置是運行在電子設備的軟件程序,用于對多張圖像源進行合成形成一張圖像,圖像合成裝置應用設置在電子設備上的顯示引擎、圖像處理單元(GPU)的硬件資源對圖像進行合成處理,包括對圖像進行縮放、透明度調整等處理。本發明的圖像合成方法是應用上述的圖像合成裝置對多張圖像源進行合成的方法。
[0026]圖像合成裝置對圖像進行處理時應用顯示引擎以及圖像處理單元等硬件,參見圖1,顯示引擎(display engine)具有多條圖像處理通道,如圖1中的圖像處理通道10、圖像處理通道20等,并且設置合成模塊,用于對圖像進行合成。每一條圖像處理通道內均設有一個覆蓋模塊以及縮放模塊,如圖像處理通道10內設置覆蓋模塊11以及縮放模塊12,覆蓋模塊11可以接收多個圖像源,如圖像源0、圖像源I...圖像源η等,覆蓋模塊11接收的多個圖像源均具有自身的優先級,圖像源的優先級是表示圖像合成過程中,該圖像源被其他圖像源所覆蓋或所遮擋的優先級,圖像源的優先級越高,表示該圖像源位于合成后的圖像的上層,不被其他圖像源覆蓋或者被少量的其他圖像源所覆蓋,如圖像源的優先級越低,表示該圖像源位于合成后的圖像源的底層,被較多的其他圖像源所遮擋。
[0027]覆蓋模塊11接收多張圖像源后,依據每一圖像源的優先級進行覆蓋處理,即將優先級高的圖像源覆蓋在優先級低的圖像源上。然后,覆蓋模塊11將覆蓋后的圖像數據輸出至縮放模塊12,縮放模塊12根據縮放系數對圖像進行縮放處理,并將縮放處理后的圖像數據輸出至合成模塊15。
[0028]圖像處理通道20也設有覆蓋模塊21以及縮放模塊22,覆蓋模塊21也可以接收多張圖像源的數據,并且根據多張圖像源的優先級進行覆蓋處理,縮放模塊22對覆蓋模塊21輸出的圖像進行縮放后輸出至合成模塊15。
[0029]合成模塊15接收多個圖像處理通道輸出的圖像數據,并進行圖像的合成處理,根據每張圖像源的透明度進行合成運算,合成輸出成一張圖像。
[0030]由于圖像處理通道10的縮放模塊12對覆蓋模塊11輸出的圖像數據進行整體的縮放處理,因此覆蓋模塊11所接收的所有的圖像源在圖像合成過程中均具有相同的縮放系數,以便于縮放模塊12對覆蓋模塊11輸出的圖像進行整體縮放。當然,多條圖像處理通道中,并非所有圖像處理通道均需要設置縮放模塊,如某些圖像源不需要經過縮放即可以被使用,圖像處理通道也可以僅僅設置覆蓋模塊,專用于處理無需經過縮放的圖像源。
[0031]另外,由于圖像處理通道為硬件,為了減少圖像處理通道的生產成本,可以將大部分的圖像處理通道設置成兼容少量常見的圖像格式的硬件,另外,顯示引擎中設置一條或多條能夠處理特殊格式的圖像源的圖像處理通道,如設置一條能夠對YUV視頻源的圖像進行處理的圖像處理通道,可以使得色彩更加艷麗。
[0032]參見圖2,圖像合成裝置具有圖像源獲取單元30、甄選單元31、合成單元32以及釋放單元33,圖像合成裝置對圖像源進行處理時需要使用上述的顯示引擎以及圖像處理單元,并需要使用緩沖器來臨時存儲圖像源的數據、輸出的圖像數據等。
[0033]圖像源獲取單元30用于獲取圖像源,甄選單元31根據圖像源獲取單元30所獲取的多張圖像源進行甄選,根據圖像源的特性將圖像源分配至不同的圖像處理通道或者圖像處理單元,由顯示引擎以及圖像處理單元對圖像源進行處理,合成單元32用于接收圖像處理通道以及圖像處理單元所輸出的圖像,并將圖像輸出至合成模塊15進行疊加處理并最終需要輸出的圖像。釋放單元33