CN110365962B - 色域转换处理方法、装置以及电子设备 - Google Patents
色域转换处理方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN110365962B CN110365962B CN201910647555.8A CN201910647555A CN110365962B CN 110365962 B CN110365962 B CN 110365962B CN 201910647555 A CN201910647555 A CN 201910647555A CN 110365962 B CN110365962 B CN 110365962B
- Authority
- CN
- China
- Prior art keywords
- color gamut
- picture
- gamut conversion
- resource occupation
- occupation degree
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/643—Hue control means, e.g. flesh tone control
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开了一种色域转换处理方法、装置以及电子设备。所述方法包括:获取待进行色域转换处理的图片;检测所述图片进行色域转换的资源占用程度;若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换;若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。通过该方法可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。
Description
技术领域
本申请涉及图像处理技术领域,更具体地,涉及一种色域转换处理方法、装置以及电子设备。
背景技术
带屏幕的电子设备应用随着社会的发展,其应用范围不断地扩大。例如,利于屏幕显示图片以及视频等图像。而相关电子设备不能很好的在色域转换过程中进行处理资源的调度,造成用户体验不佳。
发明内容
鉴于上述问题,本申请提出了一种色域转换处理方法、装置以及电子设备,以改善上述问题。
第一方面,本申请提供了一种色域转换处理方法,应用于电子设备,所述方法包括:获取待进行色域转换处理的图片;检测所述图片进行色域转换的资源占用程度;若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换;若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。
第二方面,本申请提供了一种色域转换处理装置,运行于电子设备,所述装置包括:图片获取单元,用于获取待进行色域转换处理的图片;信息获取单元,用于检测所述图片进行色域转换的资源占用程度;处理单元,用于若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换;若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。
第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请提供的一种色域转换处理方法、装置以及电子设备,首先会获取待进行色域转换处理的图片,然后检测所述图片进行色域转换的资源占用程度,若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换,若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。通过该方法可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提出的一种图像处理的环境图;
图2示出了本申请实施例提出的一种色域转换处理方法的流程图;
图3示出了本申请实施例提出的另一种色域转换处理方法中一种待显示图片的示意图;
图4示出了本申请实施例提出的另一种色域转换处理方法中另一种待显示图片的示意图;
图5示出了本申请另一实施例提出的一种色域转换处理方法的流程图;
图6示出了本申请另一实施例提出的一种色域转换处理方法中纯色区域的示意图;
图7示出了本申请另一实施例提出的另一种色域转换处理方法中控制控件的示意图;
图8示出了本申请再一实施例提出的一种色域转换处理方法的流程图;
图9示出了本申请实施例出的一种色域转换处理装置的结构框图;
图10示出了本申请另一实施例出的另一种色域转换处理装置的结构框图;
图11示出了本申请再一实施例出的另一种色域转换处理装置的结构框图;
图12示出了本申请的用于执行根据本申请实施例的色域转换处理方法的电子设备的结构框图;
图13是本申请实施例的用于保存或者携带实现根据本申请实施例的图像处理方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着电子设备的硬件性能的提升,更多的电子设备可以支持进行清晰度更高的图片进行显示。然而发明人在研究中发现,影响图片显示效果的因素除了图片本身的信息外,还有图片信息与进行图片显示的屏幕之间的匹配程度。
以色域空间为例。色域即色域空间,是对一种颜色进行编码的方法,也指一个技术***能够产生的颜色的总和。在计算机图形处理中,色域是颜色的某个完全的子集。色域空间可以包括有sRGB色域、Adobe RGB色域或者DCI-P3色域。其中,sRGB是最早期的色域标准之一,并得到了来自业界的W3C、Exif、Intel、Pantone、Corel以及其它许多业界厂商的支持。Adobe RGB色域主要就是提高了在青绿色系上的显示,因此大概可以覆盖50%CIE1931XYZ色彩空间。DCI-P3是一种应用于数字影院的色域,它是一种以人类视觉体验为主导的色域标准,尽可能匹配电影场景中能展现的全部色域。它也不是色域最广的标准(目前最新的标准为BT.2020),但是在Rec.709标准之上,拥有更广阔的红色/绿色系范围。
而发明人发现,当图片的色域空间与屏幕的色域空间不一致时,直接在该屏幕上显示色域空间不一致的图片会造成无法显示图片原本被采集时的显示效果。例如,当对应的色域空间更广的图片显示在对应的色域空间更窄的屏幕上时,所显示的图片会变得更加的过饱和。而当对应的色域空间更窄的图片显示在对应的色域空间更广的屏幕上时,所显示的图片会变得更加的暗淡。那么为了改善色域不适配所造成的显示效果问题,电子设备可以对图片的色域空间进行转换,以便使得图片转换为与屏幕适配的色域空间。然而,发明人进一步的发现,在色域空间的转换过程中需要消耗电子设备一定的处理资源。因此,发明人提出了本申请提供的可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。
下面先对本申请实施例所运行的环境进行介绍。
如图1所示,在本申请实施例中在画布(Canvas)中进行界面(例如activity)中的图片的色域转换处理,要进行色域转换的图片会先经过图形处理函数库(Skia)的处理得到对应的位图,然后基于位图进行色域转换。在色域转换过程中可能会被基于CPU进行色域转换处理,也可能会被基于GPU进行色域转换处理。此外,也可以将部分区域基于CPU进行色域转换处理,而将另外部分区域基于GPU进行色域转换处理。
下面将结合具体实施例对本申请内容进行介绍。
请参阅图2,本申请提供的一种色域转换处理方法,应用于电子设备,所述方法包括:
步骤S110:获取待进行色域转换处理的图片。
其中,待进行色域转换处理的图片为待显示的且需要进行色域转换的图片。
其中,作为一种方式,待显示图片为还未展示图片本身的内容,并且被用户选中的图片。例如,如图3所示,在界面99中展示有多个图片的图标,当检测到其中某个图标被用户选中以后,则确定该被选中的图标所对应的图片为待显示图片。作为一种方式,当检测到其中某个图标为用户触控后,确定该被触控的图标被用户选中。作为另外一种方式,当检测到有作用于展示图标的界面内按压操作,且在保持该按压操作移动一定距离所划分的区域内有图标时,将处于该区域内的图标对应的图片作为待显示图片。例如,如图4所示,在图4中,先检测到用户作用于触控点98的按压操作,并保持按压持续移动到触控点97,那么图中的虚线框所围绕的区域内的4个图标就是被选中的图标,进一步的被选中的图标所对应的图片为待显示图片。
作为另外一种方式,待显示图片为展示了预览图像,且被用户选中进行放大以进行全屏显示的图片。
当获取到待显示图片的色域空间后,会进一步的将待显示图片的色域空间与屏幕的色域空间进行比对,若将待显示图片的色域空间与屏幕的色域空间不一致,那么该待显示图片即可被确定为待进行色域转换处理的图片。
其中,而对于电子设备可以有多种方式来获取待显示图片的色域空间。
作为一种方式,可以直接读取图片的EXIF(Exchangeable Image File)信息,从EXIF信息中读取出图片的色域空间。其中,EXIF信息是一种专门为数字照片设定的格式。这样的格式能够用来记录数字照片的属性信息,如相机的品牌及型号、相片的拍摄时间、拍摄时所设置的光圈大小、快门速度、ISO等信息以及色域空间等。
作为另外一种方式,可以直接基于图片的ICC profile文件来获取到图片的色域空间。
作为再一种方式,电子设备可以在采集图像时,生成EXIF信息的同时,还生成一个图像信息伴随文件。在该文件中存储图片后续会因为再次编辑而被修改的信息,例如,图片的色域空间或者饱和度等。然后将所采集的图片的信息做哈希运算以得到一个全局唯一的标识符,将该标识符***到该图像信息伴随文件中。并件该图像信息伴随文件同步到云端,那么当在其他电子设备上展示前述采集的图片时,即使该图片已经被再次编辑而造成EXIF信息中的信息已经不是最初被采集时的信息时(例如,因为颜色被编辑而造成色域空间变化),其他的电子设备可以通过云端来获取到图像信息伴随文件来查找到图片最初被采集时的信息(例如,色域空间),以便可以更好的恢复图片被采集时的显示效果。
再者,作为一种方式,可以在电子设备的***中配置一文件用于存储屏幕的当前色域空间。那么在这种方式下,电子设备可以通过读取该文件的方式获取到所述屏幕的色域空间。
那么基于前述方式在获取到待显示图片的色域空间与待显示图片所在的应用程序的色域空间不一致,或者获取到待显示图片的色域空间与屏幕的色域空间不一致的情况下,则该待显示图片为待进行色域转换处理的图片。例如,若待显示图片的色域空间为sRGB色域(例如,查询到图片的ICC profile文件中描述的色域空间为sRGB色域),而该待显示图片所属应用程序的色域空间为Adobe RGB色域(其中,可以通过查询应用程序的配置文件来查询得到应用程序的色域空间),在sRGB色域和Adobe RGB色域为不同色域空间的情况下,那么就可以识别出该待显示图片为待进行色域转换处理的图片。再或者,若待显示图片的色域空间为sRGB色域(例如,通过前述的伴随文件获取到图片的色域空间),而屏幕的色域空间为DCI-P3色域,在sRGB色域与DCI-P3色域不同的情况下,那么就可以识别出该待显示图片为待进行色域转换处理的图片。
步骤S120:检测所述图片进行色域转换的资源占用程度。
可以理解的是,电子设备进行色域转换处理的过程可以看做是数据运算的过程。那么也就意味着需要消耗处理资源来进行数据运算,而需要运算的数据越多,也就意味着所需要消耗的处理资源也就越多。那么为了便于后续的处理资源调配,电子设备可以先检测待进行色域转换的图片完成色域转换需要消耗多少的处理资源,也就是在色域转换的过程中对于资源的占用程度是如何的。
作为一种方式,所述检测所述图片进行色域转换的资源占用程度的步骤包括:
获取用于表征进行色域转换的资源占用程度的特征参数,所述特征参数为表征所述图片的资源占用程度的参数,所述特征参数的值越大所表征的所述资源占用程度越大,若所述特征参数大于指定阈值,判定所述资源占用程度满足第一目标条件;若所述特征参数不大于指定阈值,判定所述资源占用程度满足第二目标条件。
其中,可选的,所述特征参数为所述图片的尺寸,所述指定阈值为指定尺寸阈值。需要说明的是,尺寸表征的是图片所实际占用的显示面积的大小,在一定程度上,尺寸越大的图片所占用的显示面积也就越大,也可能就意味着图片所包括的内容就越多,那么需要进行色域转换的部分就越多。那么作为一种方式,可以预先对不同尺寸的图片进行色域转换处理的资源占用程度进行计算,建立资源占用程度与图片尺寸的映射关系,以便电子设备在获取到待进行色域转换处理的图片后,可以直接通过查找映射关系的方式来获取到对应的资源占用程度。
可选的,所述特征参数还可以为所述图片的分辨率,对应的,所述指定阈值为指定分辨率阈值。可以理解的是,图片的分辨率越高那么也意味着图片越清晰,那么图片所携带的资源占用程度也就越大,进而在进行色域转换处理的过程中所消耗的处理资源也就越多。
再者需要说明的是,即使是对应的尺寸相同,那么也能因为图片的压缩比或者分辨率造成图片在处理过程中所占用的处理资源会有所区别。那么作为一种方式,所述特征参数可以同时包括图片的尺寸以及图片的分辨率,那么在这种方式下,电子设备可以预先建立一个图片的尺寸、分辨率以及资源占用程度之间的映射关系的数据表,进而在获取到待进行色域转换的图片以后,同时查询尺寸以及分辨率以获取到对应的进行色域转换所需要的资源占用程度。然后将对应的资源占用程度与目标资源占用程度进行比对,若大于目标资源占用程度则表征需要进行GPU进行色域转换操作。
例如,如表所示:
尺寸 | 分辨率 | 资源占用度 |
a*b | Aaa*bbb | m% |
c*d | Ccc*ddd | n% |
在上表中,尺寸这个字段表征图片的尺寸,而分辨率这个字段表征图片的分辨率,而资源占用度这个字段表征图片进行色域转换所需要消耗的资源占用度。其中,作为一种方式,可以通过CPU的使用率来表征资源占用程度。那么在这种方式下,CPU使用率越高所表征的资源占用程度越高。例如,若识别到待进行色域转换处理的图片的尺寸为a*b,其识别到其分辨率为Aaa*bbb,那么可以对应的获取到对应的资源占用度为m%,然后进而可以将m%与目标资源占用程度进行比对,以确定是用CPU还是GPU进行色域转换。
其中,需要说明的是,其中的目标资源占用程度可以通过多种方式来确定。
作为一种方式,可以通过预先配置的方式来设定目标资源占用程度。再者,作为另外一种方式,可以动态的根据电子设备当前的处理资源的剩余量来进行动态的配置。可选的,将电子设备的当前的处理资源的剩余量作为目标资源占用程度。例如,以CPU的使用率为例,若当前的CPU的使用率为95%,那么对应的电子设备当前的处理资源的剩余量为5%的CPU使用率。那么在这种方式下,可以将该5%的CPU使用率作为目标资源占用程度。那么当获取到待进行色域转换的图片进行色域转换的资源占用程度低于5%的CPU使用率,那么就通过CPU来进行色域转换处理,进而减少调用GPU所使用的额外开销,也能在不影响电子设备的其他性能的情况下,就完成图片的色域转换处理。而若进行色域转换的图片进行色域转换的资源占用程度不低于5%的CPU使用率,那么就会基于GPU来完成色域转换处理。
再者,需要说明的是,在一种相关的方式中,电子设备为了保证有充足的CPU使用资源来进行数据处理,会配置一个缓冲区间,而使得CPU的使用率并不会真正的达到100%。那么在这种方式,目标资源占用程度为电子设备剩余量的处理资源减去对应的缓冲区间所对应的处理资源。例如,若配置的缓存区间为3%的CPU使用率,那么在这种方式下,若电子设备当前的处理资源的剩余量为5%的CPU使用率,那么对应的目标资源占用程度为5%的CPU使用率减去3%的CPU使用率,为2%的CPU使用率。
步骤S130:若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换。
步骤S140:若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。
需要说明的是,本实施例中的目标条件表征待进行色域转换的图片的资源占用程度的大小,那么若所述资源占用程度满足第一目标条件,则表征待进行色域转换处理的图片的资源占用程度相对较大,那么为了在一定程度上减轻CPU的负担,避免过度占用CPU的处理资源进而造成电子设备卡顿,可以将待进行色域转换的图片交由GPU来完成所述图片的色域转换。
对应的,那么若所述资源占用程度满足第二目标条件,则表征待进行色域转换处理的图片的资源占用程度相对较小,因为即使是调用GPU也是需要CPU来负责向GPU来发送控制指令的,也就意味着依然会消耗一定的CPU的处理资源,那么在待进行色域转换处理的图片的资源占用程度相对较小的情况下,就可以直接由CPU来完成待进行色域转换的图片的色域转换,避免因为调用GPU所消耗的CPU资源。
需要说明的是,在本申请实施例中不满足第一目标条件,可以理解为满足第二目标条件。
本申请提供的一种色域转换处理方法,首先会获取待进行色域转换处理的图片,然后检测所述图片进行色域转换的资源占用程度,若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换,若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。通过该方法可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。
请参阅图5,本申请提供的一种色域转换处理方法,应用于电子设备,所述方法包括:
步骤S210:获取待进行色域转换处理的图片。
步骤S220:检测所述图片进行色域转换的资源占用程度。
步骤S230:若所述资源占用程度满足第一目标条件,识别所述待进行色域转换处理的图片是否存储有预先标定的纯色区域。
需要说明的是,CPU与GPU在进行数据处理的过程中,各自有各自的优势。其中,CPU更擅长处理不重复且复杂的操作,而GPU擅长处理重复度高的动作。发明人在研究中发现,若对于纯色区域进行色域转换处理,那其实是在不断的进行相同的色域转换处理操作。例如,若图片每个像素的颜色值(RGB值)都是相同的,那么其实在转换某一个像素对应的色域空间得人参数后,其他的像素的色域空间的准换其实都是重复性的动作。那么对于纯色区域的色域转换更适合交给GPU来进行处理。
再者,对于图片的像素的颜色值的识别其实需要消耗一定的时间,那么为了提升识别的效率,可以预先进行图片的像素的颜色值的识别。例如,可以在图片被下载到本地或者在被采集时,就进行纯色区域的标记操作。进一步的,在进行纯色区域的标记操作后,可以进一步的建立以图片的某个定点像素为(0,0)点的坐标系,进而建立坐标与像素的映射关系,从而通过坐标来标记纯色区域的范围,以便电子设备可以识别将那些范围的内容交给CPU进行色域转换处理,而将哪些内容交给GPU来进行色域转换处理。
那么在这种方式下,识别到的像素的颜色值相同的个数超过目标个数的区域为纯色区域。可选的,电子设备可以将待进行纯色区域识别的图片预先划分为多个子区域,然后识别每个子区域内是否有颜色值相同的且数量超过目标个数的像素点,若有就直接将该有颜色值相同的且数量超过目标个数的像素点的子区域作为纯色区域。例如,如图6所示,待进行纯色区域识别的图片被划分为了6个区域,分别为区域A、区域B、区域C、区域D、区域E以及区域F。若其中的目标个数为5000,那么在识别到区域A、区域B、区域C、区域D、区域E以及区域F依次对应的包括有颜色值相同的个数的像素点的数量为4000,6000,8000,3000,2000,6000的情况下,可以识别到区域B、区域C以及区域E为纯色区域。
作为一种方式,在完成对图片的纯色区域进行标定以后,可以通过图片的配置文件存储所标定出的纯色区域。例如,可以建立一个配置文件来存储所述所标定出的纯色区域。那么,在这种方式下,电子设备可以通读取应用程序的该配置文件便可以获取到所有的图片的纯色区域。
需要说明的是,一些应用程序可以自己完成对于图片的纯色区域的标定,但是有些应用程序的配置文件是仅能允许应用程序本身才能访问的,那么在通过配置文件来存储应用程序所有内容界面对应的色域空间的这种情况下,电子设备可能无法有效获取到应用程序中的所有内容界面的所配置的色域空间。那么在这种情况下,可以在电子设备中建立一个***程序以外的第三方应用程序均可以访问的公用配置文件。该公用配置文件可以用于存储一些非保密的信息,例如,应用程序的开发商、应用程序所包括的图片的纯色区域、应用程序的版本号或者是应用程序配置的色域空间等。那么在这种方式下,当检测到有应用程序被安装时,就可以由所安装的应用程序主动将自己的应用程序的开发商、所包括的图片(从网络下载的图片或者调用摄像头采集的图片)的纯色区域、应用程序的版本号或者是应用程序配置的色域空间存储到该公用配置文件中。当然,在进行存储时,还会存储应用程序的标识以便可以识别公用配置文件中所存储的信息所属的应用程序。其中,该应用程序的标识可以为包名。
那么基于上述方式,当电子设备需要获取到某个应用程序的时,就可以通过查询前述的公用配置文件来实现获取到该应用程序所包括的图片的纯色区域,进而实现即使在电子设备无法直接获取到应用程序本身的配置文件的情况下,依然可以获取到应用程序中所有图片的纯色区域。
需要说明的是,前述公用配置文件中所存储的信息不仅仅限于前述示例性指出的应用程序的开发商、应用程序的版本号或者是应用程序配置的色域空间等,还可以包括更多的信息。例如,还可以包括应用程序所需要获取的权限信息等。
可选的,该是否开启将应用程序私有的配置信息写入到前述公用配置文件中是针对电子设备全局而言。也可以是针对某单个应用程序而言。在针对某单个应用程序的这种方式中。电子设备可以设置一个配置界面,以便用户可以控制哪些应用程序将应用程序私有的配置信息写入到公用的配置文件,而哪些应用程序不用将私有的配置信息写入到公用的配置文件。而对于哪些应用程序将应用程序私有的配置信息写入到公用的配置文件,可以通过建立名单的方式来进行区别,其中,名单中的应用程序为需要将私有的配置信息写入到前述公用配置文件。
例如,如图7所示,在图7所示的界面中显示有多个应用程序,以及每个应用程序对应的控制控件的状态。可以理解的是,若应用程序对应的控制控件的状态为图示的“关”,那么表示该应用程序移除或者不加入到上述名单中,若应用程序对应的控制控件的状态为图示的“开”,那么表示该应用程序加入到上述名单中。例如,对于名称为“应用程序A”的应用程序,其对应的控制控件的状态为“开”,即表示“应用程序A”这个应用程序会存在于前述的名单中。而对于名称为“应用程序B”的应用程序,其对应的控制控件的状态为“关”,那么表示“应用程序B”这个应用程序不会存在于前述的名单中。可以理解的是,存在于名单中的应用程序则表征在进行界面展示时会开启色域转换。
其中,可以理解的是,电子设备可以建立一个变量,然后利用变量值来标识控制控件的状态。例如,若变量值为0,则表示应用程序不需要将应用程序私有的配置信息写入到前述公用配置文件中,而若变量值为1,则表示需要将应用程序私有的配置信息写入到前述公用配置文件中。可选的,该变量值可以存储在预先建立的数据表中。在这种情况下,电子设备可以通过查表的方式来确定是否需要将应用程序私有的配置信息写入到前述公用配置文件中。
此外,当某个应用程序被安装在电子设备后,其对应的配置文件的存储位置是相对固定的,作为另外一种方式,该变量值还可以存储在所对应的应用程序的配置文件中。在这种情况下,电子设备在检测到有应用程序安装后,且检测到该安装的应用程序被设置为设定的应用程序后,可以在该应用程序的配置文件夹中查找任一txt格式的文件,然后在该查找到的txt格式的文件中添加一个变量,进而将该变量的值作为前述的变量值。通过这种方式,可以在不新增加文件的情况下,利用应用程序本申请的配置文件即可实现控制控件的状态检测,并且因为是利用的应用程序自身的配置文件,那么可以很好的区分某一个应用程序对应的控制控件的状态。
在这种情况下,为了避免对配置文件原本功能的影响,作为一种方式,可以以注释的方式,将变量添加到配置文件中。例如,对于txt格式的文件,其中以“//”或者“/*”开头的字符位注释内容。那么在这种情况下,电子设备配置的变量为hqv的情况下,向txt文件中***的内容可以为“//hqv=1”,即表征开启色域转换。
需要说明的是,对于一些应用程序被更新或者重新安装后,其对应的配置文件会被修改或者被其他文件替换掉。那么在这种情况下,若检测到设定的应用程序更新后或者重新安装后,可以先检测是否还存在之前选中的txt格式的文件,若存储则进一步的检测更新后的或者重新安装后的应用程序对应的之前被选中的txt中是否还可以读取出之前***的变量,若读取失败,则重新以前述的方式***变量。若检测到已经不存在之前选中的txt格式的文件,则重新选择txt文件。
下面再通过具体的应用程序来对上述的内容来进行说明。
若电子设备检测到名称为应用程序A的应用程序被安装后,会进一步的检测应用程序A是否被配置为前述名单中的应用程序。若检测到应用程序A被配置为了前述名单中的应用程序。那么电子设备会进一步的存储应用程序A的配置文件的文件夹中搜寻txt格式的文件。在任一搜寻到一个名字为tx.txt后,会向该tx.txt中***一条数据,数据内容为“//hqv=1”,以表征应用程序需要将应用程序私有的配置信息写入到前述公用配置文件中,那么对应的若检测到应用程序A对应的控制控件被触控后,电子设备会对应的将原本***的内容修改为“//hqv=0”,以表征应用程序A被切换为不需要将应用程序私有的配置信息写入到前述公用配置文件中。
那么,电子设备检测到应用程序A被更新或者重新安装后,会检测应用程序A对应的配置文件中是否还存在tx.txt这个文件,若存在则进一步的检测是否还能从tx.txt中读取出“//hqv=1”或者“//hqv=1”的内容,若可以,则表征之前的配置依然有效,若不能读取出,则默认向tx.txt中***“//hqv=1”。若电子设备发现已经无法查找到tx.txt文件后,可以再重新选择一个txt文件。
需要说明的是,对于每个应用程序所对应的被选择的存储变量的文件,可以以数据表的方式存储在电子设备中,以便电子设备查找。需要说明的是,前述的txt格式的文件,以及变量值都是示例性的,本申请不做具体限定。电子设备可以根据可以查找到的格式文件具体设定。例如,还可以使用xml格式的文件存储变量值。
那么在这种情况下,电子设备可以先检测当前在前台运行的应用程序是哪个,然后再进一步的检测当前前台运行的应用程序是否在该名单中,若在,那么就判定当前处于视频播放状态。其中,作为一种方式,若电子设备为Android操作***,可以通过执行ActivityManager的getRunningTasks方法来获取到当前在前台运行的应用程序的名称。此外,电子设备还可以通过UsageStatsManager来获取用户使用的程序的列表,将该列表中记录的最近使用的应用程序识别为当前的前台应用。再者,还可以通过Android自带无障碍功能,监控窗口焦点的变化,拿到焦点窗口对应包名作为当期在前台运行的应用程序。
步骤S231:若有,将所述纯色区域分配给所述GPU来完成色域转换。
步骤S232:将所述图片中的除所述纯色区域以外的区域分配给CPU来完成色域转换。
步骤S233:若无,则基于GPU来完成所述图片的色域转换。
需要说明的是,作为一种方式,为了便于实现色域转换处理的一致性,步骤S231和S232可以不分先后可以同时进行。此外,也可以根据纯色区域的大小来调整步骤顺序,例如,若纯色区域大于非纯色区域,那么可以先执行步骤S231,然后再执行步骤S232,而若纯色区域小于非纯色区域,那么可以先执行步骤S232,再执行步骤S231,以便可以实现纯色区域和非纯色区域的色域转换处理可以同步完成。
步骤S240:若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。
本申请提供的一种色域转换处理方法,该方法可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。并且,在检测到满足目标条件的情况下,还可以进一步的识别待进行色域转换处理的图片中是否有纯色区域,进而利用CPU擅长处理复杂度高的操作,而GPU擅长处理量大但是重复性高的操作的特性,将纯色区域的色域转换操作交给GPU来处理,而将非纯色区域的色域转换依然保留给CPU进行处理,从而进一步的提升了处理资源调度的灵活性,能够最大程度的利用处理资源,提升资源利用的有效性。
请参阅图8,本申请提供的一种色域转换处理方法,应用于电子设备,所述方法包括:
步骤S310:获取待进行色域转换处理的图片,所述图片为选中进行全屏展示的图片。
步骤S320:检测所述图片进行色域转换的资源占用程度。
步骤S330:若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换。
步骤S331:获取当前处于运行状态的应用程序,将所述处于运行状态的应用程序正在调用GPU的线程挂起。
可以理解的是,若图片为进行全屏显示的图片,那么对于其他应用程序的展示内容会被切换到后台。因而,即使其对应的调用GPU的线程挂起也不会影响用户的体验。
其中,作为一种方式,若电子设备为Android操作***,可以通过执行ActivityManager的getRunningTasks方法来获取到当前在前台运行的应用程序的名称。此外,电子设备还可以通过UsageStatsManager来获取用户使用的程序的列表,将该列表中记录的最近使用的应用程序识别为当前的前台应用。再者,还可以通过Android自带无障碍功能,监控窗口焦点的变化,拿到焦点窗口对应包名作为当期在前台运行的应用程序。
步骤S332:获取所述处于运行状态的应用程序中的目标应用程序;降低所述目标应用程序对于CPU的使用率。
其中,作为一种方式,将优先级低于对所述图片进行全屏展示的应用程序的应用程序作为目标应用程序。
步骤S340:若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。
本申请提供的一种色域转换处理方法,该方法可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。并且,在进行色域转换处理之前,还可以将将其他非显示在前台的应用程序调用GPU的线程挂起,进而进一步的提升该待进行色域转换处理的图片的色域转换效率。
请参阅图9,本申请提供的一种色域转换处理装置400,运行于电子设备,所述装置400包括:
图片获取单元410,用于获取待进行色域转换处理的图片。
信息获取单元420,用于检测所述图片进行色域转换的资源占用程度。
信息获取单元420,具体用于获取用于表征进行色域转换的资源占用程度的特征参数,所述特征参数为表征所述图片的资源占用程度的参数,所述特征参数的值越大所表征的所述资源占用程度越大;若所述特征参数大于指定阈值,判定所述资源占用程度满足第一目标条件;若所述特征参数不大于指定阈值,判定所述资源占用程度满足第二目标条件。其中,所述特征参数为所述图片的尺寸,所述指定阈值为指定尺寸阈值或者所述特征参数为所述图片的分辨率,所述指定阈值为指定分辨率阈值。
处理单元430,用于若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换;若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。
作为一种方式,如图10所示,所述装置400还包括:
图片识别单元440,用于识别所述待进行色域转换处理的图片是否存储有预先标定的纯色区域。在这这种方式下,处理单元430,用于若有,将所述纯色区域分配给所述GPU来完成色域转换;将所述图片中的除所述纯色区域以外的区域分配给CPU来完成色域转换。若无,处理单元430,用于基于GPU来完成所述图片的色域转换。
作为一种方式,如图11所示,所述装置400还包括:
应用程序管理单元450,用于所述图片为选中进行全屏展示的图片的情况下,若所述资源占用程度满足第一目标条件,获取当前处于运行状态的应用程序;
将所述处于运行状态的应用程序正在调用GPU的线程挂起。还用于获取所述处于运行状态的应用程序中的目标应用程序;降低所述目标应用程序对于CPU的使用率。其中,可选的,应用程序管理单元450,具体用于将优先级低于对所述图片进行全屏展示的应用程序的应用程序作为目标应用程序。
下面将结合图12对本申请提供的一种电子设备进行说明。
请参阅图12,基于上述的图像处理方法、装置,本申请实施例还提供的另一种可以执行前述终端控制方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104、网络模块106、图像处理模块108、摄像头110以及支持基于多种色域空间进行图像显示的屏幕112。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和无线接入点进行通讯。所述网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。
该图像处理模块108可以用于对摄像头110所采集的图像进行编码,或者对网络模块106从网络请求的数据进行解码,以便传输到屏幕112进行显示。还可以用于对图片的色域空间进行转换。具体的,图像处理模块108可以为GPU、专用的DSP、FPGA、ASIC芯片等。
请参考图13,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
综上所述,本申请提供的一种色域转换处理方法、装置以及电子设备,首先会获取待进行色域转换处理的图片,然后检测所述图片进行色域转换的资源占用程度,若所述资源占用程度满足第一目标条件,基于GPU来完成所述图片的色域转换,若所述资源占用程度满足第二目标条件,基于CPU来完成所述图片的色域转换。通过该方法可以灵活的基于待进行色域转换处理的图片的在色域转换过程中的资源占用程度来确定具体是调度GPU还是调度CPU来完成色域转换处理,进而提升了色域转换过程中的处理资源调度的灵活性。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (5)
1.一种色域转换处理方法,其特征在于,应用于电子设备,所述方法包括:
获取待进行色域转换处理的图片;
获取用于表征进行色域转换的资源占用程度的特征参数,所述特征参数为表征所述图片的资源占用程度的参数,所述特征参数的值越大所表征的所述资源占用程度越大;
若所述特征参数大于指定阈值,判定所述资源占用程度满足第一目标条件;
若所述特征参数不大于指定阈值,判定所述资源占用程度满足第二目标条件;
若所述资源占用程度满足第一目标条件,识别所述待进行色域转换处理的图片是否存储有预先标定的纯色区域;
若有,将所述纯色区域分配给GPU来完成色域转换;
将所述图片中的除所述纯色区域以外的区域分配给CPU来完成色域转换;
若所述资源占用程度满足第二目标条件,基于所述CPU来完成所述图片的色域转换。
2.根据权利要求1所述的方法,其特征在于,所述特征参数为所述图片的尺寸,所述指定阈值为指定尺寸阈值或者所述特征参数为所述图片的分辨率,所述指定阈值为指定分辨率阈值。
3.一种色域转换处理装置,其特征在于,运行于电子设备,所述装置包括:
图片获取单元,用于获取待进行色域转换处理的图片;
信息获取单元,用于获取用于表征进行色域转换的资源占用程度的特征参数,所述特征参数为表征所述图片的资源占用程度的参数,所述特征参数的值越大所表征的所述资源占用程度越大;若所述特征参数大于指定阈值,判定所述资源占用程度满足第一目标条件;若所述特征参数不大于指定阈值,判定所述资源占用程度满足第二目标条件;
处理单元,用于若所述资源占用程度满足第一目标条件,识别所述待进行色域转换处理的图片是否存储有预先标定的纯色区域;若有,将所述纯色区域分配给GPU来完成色域转换;将所述图片中的除所述纯色区域以外的区域分配给CPU来完成色域转换;若所述资源占用程度满足第二目标条件,基于所述CPU来完成所述图片的色域转换。
4.一种电子设备,其特征在于,包括一个或多个处理器、视频编解码器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-2任一所述的方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-2任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647555.8A CN110365962B (zh) | 2019-07-17 | 2019-07-17 | 色域转换处理方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647555.8A CN110365962B (zh) | 2019-07-17 | 2019-07-17 | 色域转换处理方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110365962A CN110365962A (zh) | 2019-10-22 |
CN110365962B true CN110365962B (zh) | 2021-08-17 |
Family
ID=68221149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910647555.8A Active CN110365962B (zh) | 2019-07-17 | 2019-07-17 | 色域转换处理方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110365962B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328824B (zh) * | 2020-07-21 | 2024-06-18 | 北京沃东天骏信息技术有限公司 | 图片检测方法及其***、计算机***和计算机可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289782A (zh) * | 2010-06-18 | 2011-12-21 | 索尼公司 | 信息处理装置、用于控制信息处理装置的方法、和程序 |
CN103870148A (zh) * | 2012-12-18 | 2014-06-18 | 中兴通讯股份有限公司 | 一种移动终端及其界面显示方法 |
CN104980752A (zh) * | 2015-06-11 | 2015-10-14 | 武汉大千信息技术有限公司 | 利用cpu和gpu实现多路自适应并行转码的方法及*** |
CN105120293A (zh) * | 2015-08-26 | 2015-12-02 | 中国航空工业集团公司洛阳电光设备研究所 | 基于cpu和gpu的图像协同解码方法及装置 |
CN106258011A (zh) * | 2014-04-30 | 2016-12-28 | 高通股份有限公司 | 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 |
CN109379628A (zh) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及计算机可读介质 |
-
2019
- 2019-07-17 CN CN201910647555.8A patent/CN110365962B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289782A (zh) * | 2010-06-18 | 2011-12-21 | 索尼公司 | 信息处理装置、用于控制信息处理装置的方法、和程序 |
CN103870148A (zh) * | 2012-12-18 | 2014-06-18 | 中兴通讯股份有限公司 | 一种移动终端及其界面显示方法 |
CN106258011A (zh) * | 2014-04-30 | 2016-12-28 | 高通股份有限公司 | 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 |
CN104980752A (zh) * | 2015-06-11 | 2015-10-14 | 武汉大千信息技术有限公司 | 利用cpu和gpu实现多路自适应并行转码的方法及*** |
CN105120293A (zh) * | 2015-08-26 | 2015-12-02 | 中国航空工业集团公司洛阳电光设备研究所 | 基于cpu和gpu的图像协同解码方法及装置 |
CN109379628A (zh) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110365962A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377391B (zh) | 图片显示方法、装置、移动终端及存储介质 | |
CN108737482B (zh) | 文档分享方法、装置和*** | |
US11810529B2 (en) | Screen color gamut control method, electronic device and storage medium | |
US20220139296A1 (en) | Image information processing method, electronic device and storage medium | |
JP7169449B2 (ja) | 映像増強制御方法、装置、電子機器及び記憶媒体 | |
CN105279006B (zh) | 基于Android***的屏幕截图方法及终端 | |
CN110569008B (zh) | 屏幕数据处理方法、装置以及电子设备 | |
CN106453572A (zh) | 基于云服务器同步图像的方法及*** | |
CN113766120A (zh) | 拍摄模式的切换方法及电子设备 | |
CN111083496A (zh) | 数据处理方法及相关产品 | |
JP2022509191A (ja) | 映像デコーディング制御方法、装置、電子機器及び記憶媒体 | |
WO2016065196A1 (en) | Method and apparatus for screen capture on a display device | |
CN114816308B (zh) | 信息分区显示方法及相关设备 | |
US8971647B2 (en) | Image compression apparatus, image compression method, and storage medium | |
CN110365962B (zh) | 色域转换处理方法、装置以及电子设备 | |
CN113038141B (zh) | 视频帧处理方法及电子设备 | |
US10079959B2 (en) | Creating image data for a tile on an image | |
CN110377773B (zh) | 图片处理方法、装置、移动终端以及存储介质 | |
CN110378973B (zh) | 图像信息处理方法、装置以及电子设备 | |
JP2012060459A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
CN114724522A (zh) | 显示设备背光亮度的调节方法、装置、显示设备及介质 | |
CN109309839B (zh) | 数据处理方法及装置、电子设备及存储介质 | |
CN110362188B (zh) | 图片处理方法、装置、移动终端以及存储介质 | |
CN114416089A (zh) | 页面显示方法、装置、移动终端以及存储介质 | |
CN113592717A (zh) | 视频图像字符叠加方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |