CN102724581A - 基于2d图像加速器实现像素叠加的方法 - Google Patents

基于2d图像加速器实现像素叠加的方法 Download PDF

Info

Publication number
CN102724581A
CN102724581A CN2012101759585A CN201210175958A CN102724581A CN 102724581 A CN102724581 A CN 102724581A CN 2012101759585 A CN2012101759585 A CN 2012101759585A CN 201210175958 A CN201210175958 A CN 201210175958A CN 102724581 A CN102724581 A CN 102724581A
Authority
CN
China
Prior art keywords
color value
pixel
color
0xff
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012101759585A
Other languages
English (en)
Other versions
CN102724581B (zh
Inventor
黄德胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201210175958.5A priority Critical patent/CN102724581B/zh
Publication of CN102724581A publication Critical patent/CN102724581A/zh
Application granted granted Critical
Publication of CN102724581B publication Critical patent/CN102724581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种基于电视盒的2D图像加速器实现像素叠加的方法,1、配置2D图像加速器的Alpha-Blending公式Cd’=Cs+Cd*As/0xff;2、配置2D图像加速器的自动饱和功能3、电视盒播放视频,一帧是一张画布,处理视频图像时,在电视盒中分配一存储颜色值为0xff000008的数据的缓冲区buffer;4、将视频源画布与分配的缓冲区buffer中颜色值为0xff000008的数据进行Alpha-Blending处理,来完成像素的叠加过程。本发明无需CPU处理,可使用户界面区域的像素点为黑色部分不会被过滤掉,能显示出来。TV BOX出现用户界面时,用户通过鼠标操作比较流畅不会卡。

Description

基于2D图像加速器实现像素叠加的方法
【技术领域】
本发明涉及视频处理技术,尤其涉及一种基于2D图像加速器实现像素叠加的方法。
【背景技术】
现在的游戏,不管是2D还是3D的,为了追求透明光影效果,通常都会使用到Alpha-Blending技术。所谓Alpha-Blending技术,是按照“Alpha”混合向量的值来混合源像素和目标像素的一种图像处理技术。Alpha混合向量一般表示了图片的透明度。两个像素的α混合:首先,把源像素和目标像素的RGB的红、绿、蓝三个颜色分量分离。然后把源像素的三个颜色分量分别乘上Alpha的值,并把目标像素的三个颜色分量分别乘上Alpha的反值。接下来把结果按对应颜色分量相加,再对最后求得的每个分量结果除以Alpha的最大值;最后把三个颜色分量重新合成为一个像素输出。
TV BOX(智能电视盒)内置android(安卓)操作系统,视频播放采用Overlay(覆盖)模式进行显示,用户界面UI对应的缓存数据最终显示在帧缓存(Frame Buffer,简称FB)上,FB覆盖在Overlay上方,即用户界面数据在视频数据的上方(如带有前进、后退和暂停键的对话框用户界面在视频的数据上方);一般智能电视盒的显示屏LCD像素点的关键色(Color Key)是设置为黑色,即黑色(0x0000)作为过滤色,这样FB上除了用户界面UI区域外的其他像素点都为黑色,这样最后的显示效果就是能透过FB的黑色区域看到视频的图像。但是当用户界面UI区域中也有像素点为黑色时,也会被过滤掉,这样用户界面的数据就显示不出来,为了使黑色的用户界面UI区域不被当做过滤色,也能显示出来,那么需要用电视盒的CPU对格式是ARGB的UI进行逐点处理,判断每个像素点的A分量,如果A分量值不等于0x00,则对像素点的B分量进行处理,A分量等于0x00的像素点是不需要显示出来的,故不作处理。这样用CPU对UI进行逐点判断和运算带来的问题是CPU耗时较多,特别在UI较大(1280*720)用CPU来处理,耗时很长需要120ms左右,相当于UI刷新只有8.3fps,这样导致TV BOX的鼠标滑动非常卡顿,滑动不顺畅,用户体验非常差。
现有技术中提供了一种“进行图像混合的处理方法和处理装置”,公开号为:CN102281381A;公开日为:2011.12.14的中国专利,其处理方法包括:通过用户接口选定第一图像格式的预定颜色的色值作为关键色色值;通过所述关键色色值计算所述预定颜色在第二图像格式中的色值,作为关键色转换值;根据所述关键色转换值,获得第二图像格式的图层中的关键色区域和非关键色区域,对所述关键色区域进行预设的图像混合运算,获得所述关键色区域的处理结果,并将所述处理结果和所述非关键色区域叠加在第一图像格式的图层上,获得图像混合结果。该发明在对不同格式的同一种颜色进行处理时,能够避免换算色值的麻烦,提高处理效率。但该发明只是针对两种不同格式的同一种颜色进行处理,不能对同种格式的不同种颜色进行处理。
【发明内容】
本发明要解决的技术问题,在于提供一种基于2D图像加速器实现像素叠加的方法。
本发明是这样实现的:基于电视盒的2D图像加速器实现像素叠加的方法,包括如下步骤:
步骤10、配置2D图像加速器的Alpha-Blending公式为Cd’=Cs+Cd*As/0xff;其中Cd’表示最后计算出新的颜色值,Cs表示源的颜色值,Cd表示目标的颜色值,As表示源的alpha值;
步骤20、配置2D图像加速器的Alpha-Blending的自动饱和功能,所述自动饱和功能为:所述公式Cs+Cd*As计算出新的颜色值Cd’>0xff时,将计算出新的颜色值Cd’置为0xff;
步骤30、电视盒的用户界面播放一帧图像时,该播放的帧图像为视频源画布;在电视盒中分配一块缓冲区buffer,所述缓冲区大小与视频源画布大小一致,在所述缓冲区中存储颜色值为0xff000008的数据,该颜色值即为目标的颜色值;
步骤40、所述视频源画布与所述分配的缓冲区buffer中颜色值为0xff000008的数据进行Alpha-Blending处理,将视频源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值,从而完成像素的叠加过程。
进一步地,所述步骤40将视频源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值具体为:将视频源画布中的每个像素的RGB的红、绿、蓝三个颜色进行分量分离,将颜色值为0xff000008的数据RGB也进行分量分离,将视频源画布的各颜色分量和对应的颜色值为0xff000008的数据RGB的颜色分量根据公式Cd’=Cs+Cd*As/0xff计算得到对应新的颜色分量,如果新的颜色分量值>0xff时,将新的颜色分量值置为0xff,最后将三个新的颜色分量重新合成一个叠加后的像素的颜色值。
进一步地,所述缓冲区buffer支持的图像格式为ARGB8888。
本发明具有如下优点:本发明在电视盒的播放视频时,视频以帧为单位,一帧可以认为是一张画布,该播放的一帧图像为源画布,在电视盒中分配一块缓冲区buffer,在所述缓冲区中存储颜色值为0xff000008的数据,所述视频源画布与所述分配的缓冲区buffer中颜色值为0xff000008的数据进行Alpha-Blending处理,将视频源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值,从而完成像素的叠加过程。本发明用2D图像加速器取代CPU对ARGB格式的用户界面UI画布逐点处理,解决了CPU开销大、鼠标滑动不顺畅的问题;且实现了无需CPU处理,即可使用户界面区域的像素点为黑色部分不会被过滤掉,能在视频上显示出来。
【附图说明】
图1为本发明方法流程示意图。
图2为本发明电视盒的用户界面播放的视频源画布的示意图。
图3为本发明电视盒中分配一块缓冲区buffer的示意图。
图4为本发明叠加后的画布的示意图。
【具体实施方式】
请参阅图1所示,基于电视盒的2D图像加速器实现像素叠加的方法,包括如下步骤:
步骤10、配置2D图像加速器的Alpha-Blending公式为Cd’=Cs+Cd*As/0xff;其中Cd’表示最后计算出新的颜色值,Cs表示源的颜色值,Cd表示目标的颜色值,As表示源的alpha值;
步骤20、配置2D图像加速器的Alpha-Blending的自动饱和功能,所述自动饱和功能为:所述公式Cs+Cd*As计算出新的颜色值Cd’>0xff时,将计算出新的颜色值Cd’置为0xff,这样避免新的颜色值溢出带来的颜色跳变的问题(如:当B分量的颜色值是0xfe,加上8后B分量的颜色值直接设置为0xff,而不是0x06);
步骤30、电视盒的用户界面播放一帧图像时,该播放的帧图像为源画布;(电视盒播放视频时,视频以帧为单位,一帧可以认为是一张画布,该播放的一帧图像为源画布)在电视盒中分配一块缓冲区buffer,所述缓冲区大小与视频源画布大小一致,支持图像格式为ARGB8888,在所述缓冲区中存储颜色值为0xff000008的数据,该颜色值即为目标的颜色值(Alpha-Blending公式中的Cd);
步骤40、所述视频源画布与所述分配的缓冲区buffer中颜色值为0xff000008的数据进行Alpha-Blending处理,将源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值,从而完成像素的叠加过程。其中将源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值具体为:将源画布中的每个像素的RGB的红、绿、蓝三个颜色进行分量分离,将颜色值为0xff000008的数据RGB也进行分量分离,将源画布的各颜色分量和对应的颜色值为0xff000008的数据RGB的颜色分量根据公式Cd’=Cs+Cd*As/0xff计算得到对应新的颜色分量,如果新的颜色分量值>0xff时,将新的颜色分量值置为0xff,最后将三个新的颜色分量重新合成一个叠加后的像素的颜色值。
下面结合一具体实施例对本发明作进一步说明。
1、配置电视盒的2D图像加速器的Alpha-Blending公式为Cd’=Cs+Cd*As/0xff;其中Cd’表示最后计算出新的颜色值,Cs表示源的颜色值,Cd表示目标的颜色值,As表示源的alpha值;
2、配置2D图像加速器的Alpha-Blending的自动饱和功能,所述自动饱和功能为:所述公式Cs+Cd*As计算出新的颜色值Cd’>0xff时,将计算出新的颜色值Cd’置为0xff;
3、如图2所示,电视盒的用户界面播放播放一帧图像时,该播放的一帧图像为源画布;该源画布的前4个像素点的ARGB颜色值分别为第一点ARGB=0xff000000,第二点ARGB=0xff7d19fa,第三点ARGB=0xff000000,第四点ARGB=0xfff4f168;如图3所示,在电视盒中分配一块缓冲区buffer,所述缓冲区大小与源画布大小一致,并支持ARGB格式,在所述缓冲区中存储颜色值为0xff000008的数据,该颜色值即为目标的颜色值;
4、将所述源画布与所述分配的缓冲区buffer中颜色值为0xff000008的数据进行Alpha-Blending处理,将源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值,从而完成像素的叠加过程。其中将源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值具体为:将源画布中的第一像素点ARGB=0xff000000的RGB的红、绿、蓝三个颜色进行分量分离,即ARGB=0xff000000进行隔位分离A=0xff、R=0x00、G=0x00、B=0x00;将颜色值为0xff000008的数据RGB也进行分量分离,即R’=0x00、G’=0x00、B’=0x08;则根据公式Cd’=Cs+Cd*As/0xff,即红的分量Cd’=0x00(即为R)+0x00(即为R’)*0xff(即为A)/0xff=0x00;绿的分量Cd’=0x00(即为G)+0x00(即为G’)*0xff(即为A)/0xff=0x00;蓝的分量Cd’=0x00(即为B)+0x08(即为B’)*0xff(即为A)/0xff=0x08;将新的红的分量0x00,绿的分量0x00,蓝的分量0x08重新合成一个叠加后的像素的颜色值0xff000008;将源画布中的第二像素点ARGB=0xff7d19fa的RGB的红、绿、蓝三个颜色进行分量分离,即ARGB=0xff7d19fa进行隔位分离A=0xff、R=0x7d、G=0x19、B=0xfa;将颜色值为0xff000008的数据RGB也进行分量分离,即R’=0x00、G’=0x00、B’=0x08;则根据公式Cd’=Cs+Cd*As/0xff,即红的分量Cd’=0x7d(即为R)+0x00(即为R’)*0xff(即为A)/0xff=0x7d;绿的分量Cd’=0x19(即为G)+0x00(即为G’)*0xff(即为A)/0xff=0x19;蓝的分量Cd’=0xfa(即为B)+0x08(即为B’)*0xff(即为A)/0xff=0xff;将新的红的分量0x7d,绿的分量0x19,蓝的分量0xff重新合成一个叠加后的像素的颜色值0xff7d19ff;同理将源画布中的第三像素点ARGB=0xff000000,第四像素点ARGB=0xfff4f168;经过处理后得到叠加后的像素的颜色值对应为0xff000008、0xfff4f170;从而完成像素的叠加过程。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (3)

1.基于电视盒的2D图像加速器实现像素叠加的方法,其特征在于:包括如下步骤:
步骤10、配置2D图像加速器的Alpha-Blending公式为Cd’=Cs+Cd*As/0xff;其中Cd’表示最后计算出新的颜色值,Cs表示源的颜色值,Cd表示目标的颜色值,As表示源的alpha值;
步骤20、配置2D图像加速器的Alpha-Blending的自动饱和功能,所述自动饱和功能为:所述公式Cs+Cd*As计算出新的颜色值Cd’>0xff时,将计算出新的颜色值Cd’置为0xff;
步骤30、电视盒的用户界面播放一帧图像时,该播放的帧图像为视频源画布;在电视盒中分配一块缓冲区buffer,所述缓冲区大小与视频源画布大小一致,在所述缓冲区中存储颜色值为0xff000008的数据,该颜色值即为目标的颜色值;
步骤40、所述视频源画布与所述分配的缓冲区buffer中颜色值为0xff000008的数据进行Alpha-Blending处理,将视频源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值,从而完成像素的叠加过程。
2.根据权利要求1所述的基于电视盒的2D图像加速器实现像素叠加的方法,其特征在于:所述步骤40将视频源画布中的每个像素与颜色值为0xff000008的数据根据公式Cd’=Cs+Cd*As/0xff和Alpha-Blending的自动饱和功能计算出叠加后像素的颜色值具体为:将视频源画布中的每个像素的RGB的红、绿、蓝三个颜色进行分量分离,将颜色值为0xff000008的数据RGB也进行分量分离,将视频源画布的各颜色分量和对应的颜色值为0xff000008的数据RGB的颜色分量根据公式Cd’=Cs+Cd*As/0xff计算得到对应新的颜色分量,如果新的颜色分量值>0xff时,将新的颜色分量值置为0xff,最后将三个新的颜色分量重新合成一个叠加后的像素的颜色值。
3.根据权利要求1所述的基于电视盒的2D图像加速器实现像素叠加的方法,其特征在于:所述缓冲区buffer支持的图像格式为ARGB8888。
CN201210175958.5A 2012-05-31 2012-05-31 基于2d图像加速器实现像素叠加的方法 Active CN102724581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210175958.5A CN102724581B (zh) 2012-05-31 2012-05-31 基于2d图像加速器实现像素叠加的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210175958.5A CN102724581B (zh) 2012-05-31 2012-05-31 基于2d图像加速器实现像素叠加的方法

Publications (2)

Publication Number Publication Date
CN102724581A true CN102724581A (zh) 2012-10-10
CN102724581B CN102724581B (zh) 2014-08-13

Family

ID=46950219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210175958.5A Active CN102724581B (zh) 2012-05-31 2012-05-31 基于2d图像加速器实现像素叠加的方法

Country Status (1)

Country Link
CN (1) CN102724581B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108391065A (zh) * 2018-04-13 2018-08-10 西安微电子技术研究所 一种高清视频实时半透明叠加方法
CN113706428A (zh) * 2021-07-02 2021-11-26 杭州海康威视数字技术股份有限公司 一种图像生成方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030184553A1 (en) * 2002-03-27 2003-10-02 Dawson Thomas Patrick Graphics and video integration with alpha and video blending
CN1812517A (zh) * 2005-12-23 2006-08-02 北京中星微电子有限公司 一种用于在视频信号上叠加多个图形信号的控制装置及其方法
CN101119454A (zh) * 2006-08-02 2008-02-06 深圳Tcl新技术有限公司 一种电视功能界面透明显示的方法及其装置
CN101170651A (zh) * 2007-11-22 2008-04-30 中兴通讯股份有限公司 一种实现图层叠加的方法
CN102281381A (zh) * 2010-06-12 2011-12-14 无锡中星微电子有限公司 一种进行图像混合的处理方法和处理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030184553A1 (en) * 2002-03-27 2003-10-02 Dawson Thomas Patrick Graphics and video integration with alpha and video blending
CN1812517A (zh) * 2005-12-23 2006-08-02 北京中星微电子有限公司 一种用于在视频信号上叠加多个图形信号的控制装置及其方法
CN101119454A (zh) * 2006-08-02 2008-02-06 深圳Tcl新技术有限公司 一种电视功能界面透明显示的方法及其装置
CN101170651A (zh) * 2007-11-22 2008-04-30 中兴通讯股份有限公司 一种实现图层叠加的方法
CN102281381A (zh) * 2010-06-12 2011-12-14 无锡中星微电子有限公司 一种进行图像混合的处理方法和处理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108391065A (zh) * 2018-04-13 2018-08-10 西安微电子技术研究所 一种高清视频实时半透明叠加方法
CN108391065B (zh) * 2018-04-13 2021-06-15 西安微电子技术研究所 一种高清视频实时半透明叠加方法
CN113706428A (zh) * 2021-07-02 2021-11-26 杭州海康威视数字技术股份有限公司 一种图像生成方法及装置
CN113706428B (zh) * 2021-07-02 2024-01-05 杭州海康威视数字技术股份有限公司 一种图像生成方法及装置

Also Published As

Publication number Publication date
CN102724581B (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
CN105472440B (zh) 视频节目的预览方法及智能电视
CN103905744B (zh) 一种渲染合成方法及系统
KR102567633B1 (ko) 오버레이 지시를 사용하는 적응적 하이 다이나믹 레인지 톤 매핑
US9756282B2 (en) Method and apparatus for processing a video signal for display
CN102427504A (zh) 一种基于背景拼接墙的图像处理方法、装置及系统
CN102595023B (zh) 移动终端及其图像处理方法
CN105872419A (zh) 一种显示方法、装置及液晶电视
CN103731615A (zh) 显示方法与显示装置
WO2019003227A3 (en) Method and system for fusing user specific content into a video production
CN102724582A (zh) 基于用户界面对关键色进行显示的方法
CN108052565A (zh) 一种页面的透明处理方法及装置
CN102566952A (zh) 应用于嵌入式数字娱乐点播系统的显示系统和方法
CN105100870A (zh) 一种截屏方法及终端设备
CN105578172B (zh) 基于Unity3D引擎的裸眼3D视频显示方法
KR20180000729A (ko) 디스플레이 장치 및 이의 제어 방법
CN104680518A (zh) 一种基于色度溢出处理的蓝屏抠像方法
CN110012336A (zh) 直播界面的图片配置方法、终端及装置
CN104539837A (zh) 一种录制变速回放视频的方法及装置
CN102724581B (zh) 基于2d图像加速器实现像素叠加的方法
CN111052869B (zh) 改善用户观察到的图像的透视颜色感知的照明方法和系统
CN104240213A (zh) 一种显示方法及显示装置
CN105611388A (zh) 一种多画面预览的实现方法及系统
CN104469226A (zh) 投影融合的方法及融合设备
CN103051967A (zh) 一种智能电视功能配置的用户引导方法及系统
KR101373631B1 (ko) 실시간 크로마키 합성 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Patentee after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Patentee before: Fuzhou Rockchip Semiconductor Co., Ltd.

CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.

CP01 Change in the name or title of a patent holder