專利名稱:一種基于sse2的圖像混合處理方法
技術領域:
本發(fā)明涉及廣播電視領域,特別是涉及一種基于SSE2的圖像混合處理方法。
背景技術:
中央處理器CPU依靠指令來計算和控制系統(tǒng),每款CPU在設計時就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。SSE2 (Streaming SIMD Extensions 2)是Intel公司在SSE指令集的基礎上發(fā)展起來的SMD流技術擴展2或數(shù)據流單指令多數(shù)據擴展指令集2,增強了CPU的多媒體、圖形圖像和Internet等的處理能力。如果圖形卡具有32位總線,附加的8位信號就被用來保存不可見的透明度信號以方便處理用,這就是Alpha通道。該通道用256級灰度來記錄圖形圖像中的透明度信息,定義透明、不透明和半透明區(qū)域,其中黑表示全透明,白表示不透明,黑白之間的灰階用來定義半透明象素。在一定混合規(guī)則下,把源像素和目標像素進行混合,從而使所得場景更加逼真。對于混合操作,簡單理解就是把像素點的RGB成分看成是它的顏色,把Alpha成分看成是它的透明度。透明和半透明表面的不透明性要低于不透明表面,也就是它們的Alpha值要低于不透明表面。例如,如果透過綠色玻璃觀察一個物體,我們所看到的顏色部分來自于玻璃的綠色,部分來自與物體的顏色。這兩種顏色所占的比例取決于玻璃的轉播屬性,以及物體的透明度。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題現(xiàn)有技術中,每次混合操作所處理像素點數(shù)量為1-2個,函數(shù)調用開銷較大以及處理效率較低;混合操作中間參與數(shù)據多數(shù)以查表方式給出,從而大大增加了緩存缺失的發(fā)生,降低了處理速度及效率;現(xiàn)有多數(shù)方法為了提高效率,簡化了混合規(guī)則,并未使源像素和目標像素的Alpha部分都參與運算,從而降低了混合的真實性。
發(fā)明內容
本發(fā)明實施例要解決的問題是提供一種基于SSE2的圖像混合處理方法,提高數(shù)據并行處理的效率,每次混合操作4個像素點;降低緩存缺失的發(fā)生次數(shù),用直接計算代替查表法;提高混合操作精度,使源像素和目標像素的Alpha部分都參與運算,得到最佳的混合效果。本發(fā)明提供了一種基于SSE2的圖像混合處理方法,包括讀取源和目標圖形圖像數(shù)據;選取所述源和目標圖形圖像中像素點,對其進行并行處理;判斷并行像素點中是否有特殊像素點,對特殊像素點進行標志位記錄;改變并行數(shù)據中已記錄標志位的特殊像素點Alpha值,使其可以參與并行計算,并得到結果;
根據所記錄的標志位,通過并行計算修正已改變Alpha值的特殊像素點計算結果并保存。本發(fā)明實施例具有以下優(yōu)點(I)提高了并行計算數(shù)據量,每次操作4個像素,大大提高了效率;(2)引入了特殊像素點標志位判斷恢復機制,保證了并行計算的正確進行;
(3)舍棄了查表計算方法,更高效的利用了 CPU的性能,從而提高了計算速度,縮短了計算時間;(4)復雜混合規(guī)則更大程度上提高了圖形圖像混合結果的逼真性、真實性。
圖I是本發(fā)明中一種基于SSE2的圖像混合處理方法流程圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,需要指出的是,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述本發(fā)明提供了一種基于SSE2的圖像混合處理方法,如圖I所示,包括以下步驟步驟S101,讀取源和目標圖形圖像數(shù)據;步驟S102,選取源和目標圖形圖像中像素點,對其進行并行處理。選取源和目標圖形圖像各4個相鄰像素點,對其進行并行處理。并行處理即可以通過單指令達到多數(shù)據的結果,例如簡單例子A+B,A、B為操作數(shù);+為指令,進行并行處理也就是指,已然通過一個+的指令,可以達到A+B,C+D,.....的效果,進行單指令多數(shù)據的操作。步驟S103,判斷并行像素點中是否有特殊像素點,對特殊像素點進行標志位記錄。判斷并行像素點中是否有特殊像素點,即Alpha值為0或255的點,對特殊像素點進行標志位記錄。若并行像素點全部為特殊像素點,則直接并行計算并保存計算結果,并返回步驟S102。因為當Alpha值為0時,該像素點視為完全透明,而當Alpha值為255時,該像素點完全不透明,所以在Alpha值為0或255時,均本質上與Alpha值為1-254中任意一值的一般像素點不同。如果像素點是特殊點的話,其實不用參加復雜的運算,因為結果就是源像素值或目的像素值;具體計算時,0,255這種特殊值,會造成0成為除數(shù)錯誤情況,那么我們?yōu)榱讼噜徦膫€像素同時進行計算,就必須對特殊點進行處理后參加運算。步驟S104,改變并行數(shù)據中已記錄標志位的特殊像素點Alpha值,使其可以參與并行計算,并得到結果。判斷步驟S103中所記錄的標志位,改變并行數(shù)據中特殊像素點Alpha值為1_254中任意一個值,使其可以參與并行計算,并得到結果。一般像素點的混合過程如下若Cb為目標像素點,Cf為源像素點,則結果像素點Alpha值為,Cb. A = (Cf. A+(I-Cf. A/255. 0) *Cb. A);若Sf、Sb是在結果像素點中Cb、Cf像素值所占權重,則,
Sf = Cf. A/Cb. A ;Sb = I-Sf ;結果像素點RGB值為,Cb. R = (BYTE) (Sf*Cf. R+Sb*Cb. R);Cb. G = (BYTE) (Sf*Cf. G+Sb*Cb. G);Cb. B = (BYTE) (Sf*Cf. B+Sb*Cb. B)。步驟S105,根據所記錄的標志位,通過并行計算修正已改變Alpha值的特殊像素點計算結果并保存。
根據步驟S103中所記錄的標志位,修正步驟S104中所有通過改變Alpha值并行計算的特殊像素點的結果,即根據所述特殊像素點ALPHA值為0、255的不同情況即標志位記錄,將其計算結果恢復為源或目的圖形圖像像素點值,同時合并其他一般像素點的并行運算結果,保存所有像素點的運算結果,然后返回步驟S102,循環(huán)此過程。通過本發(fā)明實施例提供的圖像混合處理方法提高了并行計算數(shù)據量,每次操作4個像素,大大提高了效率;引入了特殊像素點標志位判斷恢復機制,保證了并行計算的正確進行;舍棄了查表計算方法,更高效的利用了 CPU的性能,從而提高了計算速度,縮短了計算時間;復雜混合規(guī)則更大程度上提高了圖形圖像混合結果的逼真性、真實性。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發(fā)明的保護范圍。
權利要求
1.一種基于SSE2的圖像混合處理方法,其特征在于,包括 讀取源和目標圖形圖像數(shù)據; 選取所述源和目標圖形圖像中像素點,對其進行并行處理; 判斷并行像素點中是否有特殊像素點,對特殊像素點進行標志位記錄; 改變并行數(shù)據中已記錄標志位的特殊像素點Alpha值,使其可以參與并行計算,并得至丨J結果; 根據所記錄的標志位,通過并行計算修正已改變Alpha值的特殊像素點計算結果并保存。
2.如權利要求I所述基于SSE2的圖像混合處理方法,其特征在于,選取所述源和目標 圖形圖像中像素點具體為每次操作從所述源和目標圖形圖像中各選取4個相鄰像素點。
3.如權利要求I所述基于SSE2的圖像混合處理方法,其特征在于,所述判斷并行像素點中是否有特殊像素點,具體為判斷并行像素點中是否有Alpha值為O或255的像素點。
4.如權利要求3所述基于SSE2的圖像混合處理方法,其特征在于,當所述并行像素點全部非特殊像素點時,直接并行計算并保存結果。
5.如權利要求I所述基于SSE2的圖像混合處理方法,其特征在于,所述改變并行數(shù)據中已記錄標志位的特殊像素點Alpha值,具體為將特殊像素點Alpha值修改為1_254中任意一個值。
6.如權利要求I所述基于SSE2的圖像混合處理方法,其特征在于,所述通過并行計算修正已改變AIpha值的特殊像素點計算結果,具體為根據所述特殊像素點AIpha值為O、255的不同標志位記錄,將其計算結果恢復為源或目的圖形圖像像素點值。
7.如權利要求6所述基于SSE2的圖像混合處理方法,其特征在于,所述通過并行計算修正已改變Alpha值的特殊像素點計算結果,同時保留非特殊像素點的并行運算結果。
全文摘要
本發(fā)明公開了一種基于SSE2的圖像混合處理方法,包括讀取源和目標圖形圖像數(shù)據;選取所述源和目標圖形圖像中像素點,對其進行并行處理;判斷并行像素點中是否有特殊像素點,對特殊像素點進行標志位記錄;改變并行數(shù)據中已記錄標志位的特殊像素點Alpha值,使其可以參與并行計算,并得到結果;根據所記錄的標志位,通過并行計算修正已改變Alpha值的特殊像素點計算結果并保存。通過本發(fā)明提供的圖像混合處理方法增加了并行計算數(shù)據量,提高了效率;引入了特殊像素點標志位判斷恢復機制,保證了并行計算的正確進行;更高效的利用了CPU的性能,從而提高了計算速度,縮短了計算時間;復雜混合規(guī)則更大程度上提高了圖形圖像混合結果的逼真性、真實性。
文檔編號H04N5/265GK102724432SQ20111012693
公開日2012年10月10日 申請日期2011年5月17日 優(yōu)先權日2011年5月17日
發(fā)明者廖健, 沈季, 袁慧晶, 鄭培楓 申請人:新奧特(北京)視頻技術有限公司