專利名稱:一種確定圖像中像素鍵值的方法
技術領域:
本發明屬于視頻及圖像的特效處理及合成技術領域,具體涉及一種確定圖像中像
素鍵值的方法。本發明尤其適用于高質量、高效率的視頻或圖像的特效處理及合成中。
背景技術:
在圖像或視頻處理軟件中,將圖像或視頻中某一類顏色摳掉是一種很廣泛的需求。這類方法的實質就是給定一種顏色(也可能附加別的參數)對圖像中每個像素都計算出一個鍵值,圖像中和這個顏色相同或接近的顏色的像素的鍵值為零或者比較小,顏色相差比較大的像素的鍵值比較大或者為1。那么這個鍵值就可以作為該圖像與背景圖像進行合成時的alpha通道,從而達到摳像的目的。 目前這類的方法很多,每種都用各自的優點和缺點。有些方法速度很快,但摳像的效果不好,也就是該摳掉的沒摳掉,不該摳掉的反而摳掉了 ;有些方法雖然摳像效果很好,但十分復雜,不易于實現,也很難提高效率。
發明內容
針對現有技術中存在的缺陷,本發明的目的是提供一種速度即快、效果又好的確定圖像中像素鍵值的方法。 為了實現上述目的,本發明采用的技術方案為一種確定圖像中像素鍵值的方法,包括以下步驟 (1)根據給定的鍵顏色、孔徑和軟邊參數確定待處理圖像中每個像素在色度空間中的反鍵值ikey ; (2)根據給定的鍵顏色的亮度值和待處理圖像中每個像素的亮度值調整每個像素的反鍵值ikey ; (3)根據反鍵值ikey與鍵值key之間的關系key = 1-ikey,確定每個像素的鍵值key。 如上所述的一種確定圖像中像素鍵值的方法,將給定的鍵顏色的YUV空間分量值分別記為ky、ku和kv,將待處理圖像的每個像素P的YUV空間分量記為py、pu和pv ;步驟(1)中所述的根據給定的鍵顏色、孔徑和軟邊參數確定待處理圖像中每個像素在色度空間中的反鍵值的方法包括以下步驟 ①將UV空間壓縮成一個正方形空間,在壓縮后的UV空間中計算給定的鍵顏色的kv值和待處理圖像的每個像素的pv值;將點(ku, kv)到原點的距離記為m,
m= &2 +^v2 ,將點(ku, kv)的角度記為angle, angle = atan2(kv, ku); ②將待處理圖像中每個像素的顏色在UV空間旋轉-angle角度,旋轉后的像素記
為(PU' ,PV'),再令PV' = |pv' I ; ③根據給定的孔徑aperture與m確定一條直線L, L經過點(m,O),角度為即erture/2 ;沿像素(pu' ,pv')作一條水平輔助線與L相交于點A, A點的U值記為tu,tu = m_pu' X tan (即erture/2-pi/2),其中pi = n 5 ④根據給定的軟邊softness參數按照下述公式確定一個軟邊長度si :如 果softness > = 0,則si =m + softness x V^" x 0.436;如果softness < 0,則si = m+softnessXm ;其中-1 <= softness <= 1 ; ⑤記lbu = tu-sl,按照下述公式計算出反鍵值ikey :如果pu' <= lbu,則ikey 二0;如果lbu〈pu' < tu,則ikey = (pu' -lbu)/si ;如果pu' > = tu,則ikey = 1 。
如上所述的一種確定圖像中像素鍵值的方法,步驟①中將UV空間壓縮成一個正 方形空間采用的公式為V = VXM/N,其中M為U的最大值,N為V的最大值,N大于M。
如上所述的一種確定圖像中像素鍵值的方法,步驟②中將待處理圖像中每個像素 的顏色在UV空間旋轉-angle角度的公式為pu' = puX cos (-angle)-pvX sin (-angle), pv' = puX sin (-angle)+pvX cos (-angle)。如上所述的一種確定圖像中像素鍵值的方法,
步驟(2)中調整每個像素的反鍵值的具體方法是將每個像素的反鍵值減去^M,其中
ky表示鍵顏色的亮度值,py表示每個像素的亮度值。然后將調整后每個像素的反鍵值限幅 在
區間之內。 本發明所述方法,在確定待處理圖像中像素的鍵值過程中既考慮了色度的影響, 又考慮了亮度的影響,因此比現有的色度鍵的質量好,提高了摳像的效果。而且本發明所述 方法比較簡單,易于優化,因此速度快、效率高。
圖1是本發明所述方法流程圖; 圖2是具體實施方式
中所述方法的幾何意義示意圖;
圖3是具體實施方式
中的待處理圖像; 圖4是具體實施方式
中圖3所示待處理圖像摳藍天顏色后的鍵圖像。
具體實施例方式
下面結合具體實施方式
和附圖對本發明進行詳細描述。 本發明是一種色度鍵與亮度鍵的混合方法,工作在YUV空間,即該方法在計算圖 像中像素鍵值的過程中,既考慮到色度UV的影響,又考慮到亮度Y的影響。
圖1出示了本發明所述確定圖像中像素鍵值的方法流程,主要包括以下步驟
(1)根據給定的鍵顏色、孔徑和軟邊參數確定待處理圖像中每個像素在色度空間 中的反鍵值ikey。 本發明所述方法主要涉及三個參數鍵顏色(key color)、孔徑(即erture)和軟 邊(softness)。其中,鍵顏色是指需要被摳掉的顏色,孔徑和軟邊用于調控摳像的范圍。
假設鍵顏色的YUV空間分量為ky、ku、kv,待處理圖像的每個像素P的YUV空間分 量記為py、pu和pv。其中Y表示亮度,U、V表示色度。由于YUV空間中U和V的最大值不 同(U的最大值M為0. 436,而V的最大值N為0. 615),因此需要將V值壓縮,使得UV空間 成為一個正方形空間。壓縮V值的公式為令V = VXM/N,即V = VX0. 436/0. 615。
在壓縮后的UV空間中計算給定的鍵顏色的kv值和待處理圖像的每個像素的pv值。假設點(ku,kv)到原點的距離記為m,m-^77^7,將點(ku,kv)的角度記為angle, angle = atan2(kv, ku)。 為了計算方便,首先將待處理圖像中每個像素的顏色在UV空間旋 轉-angle角度。假設將旋轉后的像素記為(pu ' , pv '),旋轉的計算公式為pu '= puX cos (-angle) _pvX sin (-angle) ,pv' = puX sin (-angle)+pvX cos (-angle)。然后令 pv' = |pv' l,即取pv'的絕對值,這是因為后續的計算是根據U軸對稱的。
根據給定的孔徑aperture與m確定 一 條直線L, L經過點(m, 0),角度為 即erture/2。沿像素(pu' ,pv')作一條水平輔助線與L相交于點A, A點的U值記為tu, tu = m_pu' X tan (鄰erture/2-pi/2),其中pi = n 。 根據給定的軟邊softness參數按照下述公式確定一個軟邊長度si :如果 softness > = 0,貝U si =m + softness x 0.436;如果softness < 0,貝U si =
m+softnessXm ;其中_1 <= softness <= 1。 記lbu二tu-sl,按照下述公式計算出反鍵值ikey :如果pu' <=lbuJUikey = 0;如果lbu〈pu' < tu,貝U ikey = (pu' -lbu)/si ;如果pu' > = tu,則ikey = 1 。
上述方法的幾何意義可以參見圖2。 (2)根據給定的鍵顏色的亮度值ky和待處理圖像中每個像素的亮度值py調整每 個像素的反鍵值ikey。 在UV空間中計算出待處理圖像中所有像素的反鍵值后,還要根據每個像素的亮 度值py與鍵顏色的亮度值ky的關系來進一步調整像素的反鍵值。調整方法如下 ^^ = /fe;;-^M ,其中,等號左側的ikey表示調整后的反鍵值,等號右側的 ikey表示調整前的反鍵值。 然后將調整后每個像素的ikey限幅在
區間之內。 (3)根據反鍵值ikey與鍵值key之間的關系key = l_ikey,計算出待處理圖像中 每個像素的鍵值key。 假設圖3為待處理圖像,采用本發明所述方法摳藍天顏色后的鍵圖像的效果如圖 4所示。其中,藍天為圖3中建筑的背景。 為了提高本發明所述方法的實現效率,優選采用intel的SIMD增強指令集SSE2。 由于SSE2可以進行整數或者浮點的矢量計算,所以可以同時計算多個像素的鍵值。另外由 于SSE2指令很容易實現掩模計算,使得在計算鍵值時沒有任何條件分支語句,從而也提高 了速度。 試驗結果表明在一臺主頻為2.5GHz的處理器上,計算一幅720x576大小圖像 (BGRA空間)的鍵值只需要2. 5ms。如果再利用多核或超線程技術,將計算平均分配到每個 核上面或者硬件線程上,則一個四核的CPU處理上述圖像只需要lms左右。
本發明并不限于上述具體實施方式
,本領域的技術人員根據本發明的技術方案得 出的其他實施方式,同樣屬于本發明的技術創新范圍。
權利要求
一種確定圖像中像素鍵值的方法,包括以下步驟(1)根據給定的鍵顏色、孔徑和軟邊參數確定待處理圖像中每個像素在色度空間中的反鍵值ikey;(2)根據給定的鍵顏色的亮度值和待處理圖像中每個像素的亮度值調整每個像素的反鍵值ikey;(3)根據反鍵值ikey與鍵值key之間的關系key=1-ikey,確定每個像素的鍵值key。
2. 如權利要求1所述的一種確定圖像中像素鍵值的方法,將給定的鍵顏色的YUV空間分量值分別記為ky、 ku和kv,將待處理圖像的每個像素P的YUV空間分量記為py、 pu和pv;其特征在于,步驟(1)中所述的根據給定的鍵顏色、孔徑和軟邊參數確定待處理圖像中每個像素在色度空間中的反鍵值的方法包括以下步驟① 將UV空間壓縮成一個正方形空間,在壓縮后的UV空間中計算給定的鍵顏色的kv值和待處理圖像的每個像素的pv值;將點(ku,kv)到原點的距離記為<formula>formula see original document page 2</formula>,將點(ku, kv)的角度記為angle, <formula>formula see original document page 2</formula>② 將待處理圖像中每個像素的顏色在UV空間旋轉-angle角度,旋轉后的像素記為(PU' ,PV'),再令<formula>formula see original document page 2</formula>③ 根據給定的孔徑即erture與m確定一條直線L,L經過點(m, 0),角度為即erture/2 ;沿像素(pu' ,pv')作一條水平輔助線與L相交于點A, A點的U值記為tu, <formula>formula see original document page 2</formula>其中pi = n 5④ 根據給定的軟邊softness參數按照下述公式確定一個軟邊長度si :如果softness>=O,貝<formula>formula see original document page 2</formula>如果softness < O,貝U <formula>formula see original document page 2</formula>其中<formula>formula see original document page 2</formula>⑤ 記<formula>formula see original document page 2</formula>按照下述公式計算出反鍵值ikey :如果pu' <= lbu,則ikey二0 ;如果<formula>formula see original document page 2</formula>貝U <formula>formula see original document page 2</formula>如果pu' > = tu,則ikey = 1 。
3. 如權利要求2所述的一種確定圖像中像素鍵值的方法,其特征在于步驟①中將UV空間壓縮成一個正方形空間采用的公式為<formula>formula see original document page 2</formula>其中M為U的最大值,N為V的最大值,N大于M。
4. 如權利要求2或3所述的一種確定圖像中像素鍵值的方法,其特征在于步驟②中將待處理圖像中每個像素的顏色在UV空間旋轉-angle角度的公式為<formula>formula see original document page 2</formula>
5. 如權利要求1至3之一所述的一種確定圖像中像素鍵值的方法,其特征在于步驟(2)中調整每個像素的反鍵值的具體方法是將每個像素的反鍵值減去^M ,其中ky表示鍵顏色的亮度值,py表示每個像素的亮度值。
6. 如權利要求5所述的一種確定圖像中像素鍵值的方法,其特征在于步驟(2)中,將調整后每個像素的反鍵值限幅在[O,l]區間之內。
全文摘要
本發明公開了一種確定圖像中像素鍵值的方法,屬于視頻及圖像的特效處理及合成技術領域。現有方法要么速度很快,但摳像的效果差;要么摳像效果很好,但效率低。本發明所述方法首先根據給定的鍵顏色、孔徑和軟邊參數確定待處理圖像中每個像素在色度空間中的反鍵值;然后根據給定的鍵顏色的亮度值和待處理圖像中每個像素的亮度值調整每個像素的反鍵值;最后根據反鍵值與鍵值之間的關系確定每個像素的鍵值。本發明在確定待處理圖像中像素的鍵值過程中既考慮了色度的影響,又考慮了亮度的影響,因此摳像的效果好;而且方法簡單,易于優化,速度快,效率高。本發明尤其適用于高質量、高效率的視頻或圖像的特效處理及合成中。
文檔編號H04N1/62GK101764909SQ20081023898
公開日2010年6月30日 申請日期2008年12月8日 優先權日2008年12月8日
發明者劉鐵華, 孫季川, 見良, 鄭鵬程 申請人:新奧特(北京)視頻技術有限公司