專利名稱:機頂盒在16位顯示模式下實現圖片alpha混疊的方法
機頂盒在16位顯示模式下實現圖片alpha混疊的方法
技術領域:
本發明涉及一種機頂盒領域技術,特別是一種機頂盒在16位顯示模式下實現圖 片alpha混疊的方法。
背景技術:
隨著國家數字電視的大規模普及,作為數字電視終端產品的數字電視機頂盒的顯 示也逐漸從8位色板顯示模式過度到效果更加出眾的16色真彩色顯示模式,而在16位真 彩色顯示模式為了提高顯示效果大量的使用了帶有alpha通道的圖片數據,而在進行圖片 alpha混疊時需要完整的RGB32位的圖片數據進行alpha混疊,因此需要把原有的16位圖 片數據轉換為32位數據,然后進行相應的混疊操作,最后再把混疊后的數據轉換成新的16 位的圖片數據。傳統32位的圖片數據表示為ARGB或者是RGBA,A是alpha值。R,G,B分 別代表圖片中像素點上的紅色分量,綠色分量,藍色分量。每個分量用一個字節表示,每個 分量的取值范圍是0-255。傳統的16位的圖片數據一般有1555和565兩種格式,其中1555 格式的16位顯示系統中從高位到低位中,最高位即15位表示是否透明,14-10位共5位表 示紅色分量,9-5位共5位表示綠色分量,4-0位共5位表示藍色分量。其中565格式的16 位顯示系統中從高位到低位中,15-11位共5位表示紅色分量,10-5位共6位表示綠色分 量,4-0位共5位表示藍色分量。傳統的Alpha混疊的基本原理為源顏色為Cl,目的顏色 為C2,新的顏色為C3,先把Cl,C2根據公式轉換為32位數據Cll,C21。其中16位565數據 轉換為32位數據的顏色分量的方法為紅色分量Rll = (ClMOxOOFFOOOO) >> 16 ;綠色 分量 Gll = (Cl && 0x0000 FF 00) >>8 ;藍色分量 Bll = (ClMOxOOOOOOFF) >> 0 ;從 而得出數據Cll,C21同理。然后將顏色分量Rl 1,Gll,Bll和R21,G21,B21分別按照公式 R31 = (Rll*alpha+R21*(255-alpha))/255 ;G31 = (Gll*alpha+G21* (255-alpha))/255 ; B31 = (Bll*alpha+B21*(255-alpha))/255 ;來計算,其中 R11,R21,R31,G11,G21,G31,B11, B21,B31都是8位的顏色分量。最后再把R31,G31,B31組合成一個顏色值C31,然后再根 據公式C3 = R31 << 11|G31 << 5 |B31,把C31轉換為16位數據C3,把每個像素點都進 行如上計算,完成16位顯示模式下的alpha混疊操作。從以上原理可知現有的機頂盒對與 16位顯示模式下的進行圖片混疊的方式需要完整的RGB32位的圖片數據進行alpha混疊, 因此需要把原有的16位圖片數據轉換為32位數據,然后進行相應的混疊操作,最后再把混 疊后的數據轉換成新的16位圖片數據。遇到大量圖片數據時,cpu的運算量非常巨大,系 統負擔加重,嚴重時會拖累系統的運行。
發明內容本發明要解決的技術問題之一,在于提供一種機頂盒在16位顯示模式下實現圖 片alpha混疊的方法,16位顯示模式為565格式的16位顏色數據,該方法減輕系統的運算 量,加速16位顯示模式下圖片的alpha混疊速度。本發明要解決的技術問題之二,在于提供一種機頂盒在16位顯示模式下實現圖片alpha混疊的方法,16位顯示模式為1555格式的16位顏色數據,該方法減輕系統的運算 量,加速16位顯示模式下圖片的alpha混疊速度。本發明技術之一是這樣實現的機頂盒在16位顯示模式下實現圖片alpha混疊的 方法,其特征在于,所述16位顯示模式為565格式的16位顏色數據,所述方法包括以下步 驟步驟10、首先把范圍為0-255的alpha值根據公式alphal = alpha >>3壓縮換 算成新的alphal ;步驟20、接著根據公式 C51 = (((C5 << 16) | C5) &0x7e0f81f), C61 = (((C6 << 16) C6)&0x7e0f81f) ,C8 = ((C51-C61)*alphal) >>5+C61 分別計算出 32 位源顏色 值C51,32位目的顏色值C61,新的顏色中間臨時值C8,其中C5為565格式的16位源顏色 數據,C6為565格式的16位目的顏色數據;步驟30、最后把565格式的32位數據分成2個16位的數據D1/D2,根據以下公 式D1 = (C8&0xFFFF0000) >> 16,D2 = (C8&0x0000FFFF),C7 = Dl|D2,算出新的 565 格 式的16位顏色數據C7。本發明技術之二是這樣實現的機頂盒在16位顯示模式下實現圖片alpha混疊的 方法,其特征在于所述16位顯示模式為1555格式的16位顏色數據,所述方法包括以下步 驟步驟10、首先把范圍為0-255的alpha值根據公式alphal = alpha >>3壓縮換 算成新的alphal ;步驟20、接著根據公式 C51 = (((C5 < < 16) | C5)&0x83E07ClF),C61 = (((C6 << 16) |C6)&0x83E07ClF),C8 = ((C51-C61)*alphal) >> 5+C61 分別計算出 32 位源顏 色值C51,32位目的顏色值C61,新的顏色中間臨時值C8,其中C5為1555格式的16位源顏 色數據,C6為1555格式的16位目的顏色數據;步驟30、最后把1555格式的32位數據分成2個16位的數據D1/D2,根據以下公 式D1 = (C8&0xFFFF0000) >> 16,D2 = (C8&0x0000FFFF),C7 = Dl|D2,算出新的 1555 格 式的16位顏色數據C7。本發明具有如下優點使用快速的alpha算法來減少整個混疊過程的復雜程度, 克服傳統混疊方式速度慢,大量消耗系統資源的問題。減輕系統的運算量,加速16位顯示 模式下圖片的alpha混疊速度。
圖1為本發明實施例一的方法流程示意圖。
圖2為本發明實施例二的方法流程示意圖。
圖3為565格式的16位數據結構。
圖4為565格式的32位數據結構。
圖5和圖6為32位數據拆分成565格式的16位數據結構。
圖7為1555格式的16位數據結構。
圖8為1555格式的32位數據結構。
圖9和圖10為32位數據拆分成1555格式的16位數據結構。
具體實施方式下面參照圖結合兩個具體實施例對本發明作進一步的說明。實施例一把16位真彩色顯示模式下的565格式的16位圖片數據轉換成一個經 alpha混疊后的565格式的16位圖片數據,結合圖1其方法如下圖3為565格式的16位數據,圖4為565格式的32位數據,首先把565格式的 16位數據轉換成565格式的32位數據先對取值范圍為0-255的alpha值,換算成新的 alphal 根據公式alphal = alpha>>3 ;即把新的alphal值的取值范圍壓縮到0-31的范 圍。接著假設16位源顏色為C5,目的顏色為C6,新的顏色為C7,新的顏色中間臨時值為C8, 根據公式 C51 = (((C5 < < 16) C5)&0x7e0f81f) ,C61 = (((C6 < < 16) C6) &0x7e0f81f), C8 = ((C51-C61)*alphal) >> 5+C61分別計算出32位源顏色值從C51,32位目的顏色 值C61,新的顏色中間臨時值C8,其中C5為16位源顏色,C6為目的顏色;把如圖4所示的 565格式的32位數據分成如圖5和圖6的兩個565格式的16位數據,然后進行或運算。第 一個16位數據Dl,第二個16位數據D2,計算公式D1 = (C8&0xFFFF0000) >>16 ;D2 = (C8&0x0000FFFF) ;C7 = Dl |D2 ;C7就是所需的565格式的16位混疊后的數據。C7的數據 結構如圖3。實施例二 把16位真彩色顯示模式下的1555格式的16位圖片數據轉換成一個經 alpha混疊后的1555格式的16位圖片數據,結合圖2其方法如下圖7為1555格式的16位數據,圖8為1555格式的32位數據,首先把1555格 式的16位數據轉換成1555格式的32位數據先對取值范圍為0-255的alpha值,換 算成新的alphal 根據公式alphal = alpha > > 3 ;即把新的alphal值的取值范圍壓 縮到0-31的范圍。接著假設16位源顏色為C5,目的顏色為C6,新的顏色為C7,新的顏 色中間臨時值為 C8,根據公式 C51 = (((C5 < < 16) |C5)&0x83E07ClF),C61 = (((C6 << 16) |C6)&0x83E07ClF),C8 = ((C51-C61)*alphal) >> 5+C61 分別計算出 32 位源顏 色值從C51,32位目的顏色值C61,新的顏色中間臨時值C8,其中C5為16位源顏色,C6為 目的顏色;把如圖8所示的1555格式的32位數據分成如圖9和圖10的兩個1555格式的 16位數據,然后進行或運算。第一個16位數據Dl,第二個16位數據D2,計算公式如D1 = (C8&0xFFFF0000) > > 16 ;D2 = (C8&0x0000FFFF) ;C7 = Dl |D2 ;C7就是所需的1555格式的16位混疊后的數 據。C7的數據結構如圖7。以上所述僅為本發明的較佳實施例,凡依本發明申請專利范圍所做的均等變化與 修飾,皆應屬本發明的涵蓋范圍。
權利要求
機頂盒在16位顯示模式下實現圖片alpha混疊的方法,其特征在于,所述16位顯示模式為565格式的16位顏色數據,所述方法包括以下步驟步驟10、首先把范圍為0 255的alpha值根據公式alpha1=alpha>>3壓縮換算成新的alpha1;步驟20、接著根據公式C51=(((C5<<16)|C5)&0x7e0f81f),C61=(((C6<<16)|C6)&0x7e0f81f),C8=((C51 C61)*alpha1)>>5+C61分別計算出32位源顏色值C51,32位目的顏色值C61,新的顏色中間臨時值C8,其中C5為565格式的16位源顏色數據,C6為565格式的16位目的顏色數據;步驟30、最后把565格式的32位數據分成2個16位的數據D1/D2,根據以下公式D1=(C8&0xFFFF0000)>>16,D2=(C8&0x0000FFFF),C7=D1|D2,算出新的565格式的16位顏色數據C7。
2.機頂盒在16位顯示模式下實現圖片alpha混疊的方法,其特征在于所述16位顯 示模式為1555格式的16位顏色數據,所述方法包括以下步驟步驟10、首先把范圍為0-255的alpha值根據公式alphal = alpha >> 3壓縮換算成 新的 alphal ;步驟 20、接著根據公式 C51 = (((C5 < < 16) C5)&0x83E07ClF), C61 = (((C6 << 16) |C6)&0x83E07ClF),C8 = ((C51-C61)*alphal) >> 5+C61 分別計算出 32 位源顏 色值C51,32位目的顏色值C61,新的顏色中間臨時值C8,其中C5為1555格式的16位源顏 色數據,C6為1555格式的16位目的顏色數據;步驟30、最后把1555格式的32位數據分成2個16位的數據D1/D2,根據以下公式D1 =(C8&0xFFFF0000) >> 16,D2 = (C8&0x0000FFFF),C7 = Dl|D2,算出新的 1555 格式的 16位顏色數據C7。
全文摘要
本發明提供一種機頂盒在16位顯示模式下實現圖片alpha混疊的方法,該方法需要把原有的16位圖片數據轉換為32位圖片數據,然后進行相應的快速alpha方法混疊操作,最后再把混疊后的數據轉換成新的16位圖片數據。從而減輕系統的運算量,加速16位顯示模式下圖片的alpha混疊速度。
文檔編號H04N5/00GK101924867SQ20101027451
公開日2010年12月22日 申請日期2010年9月7日 優先權日2010年9月7日
發明者方立 申請人:福建新大陸通信科技股份有限公司