CN107341835A - 图像处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
图像处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107341835A CN107341835A CN201710548915.XA CN201710548915A CN107341835A CN 107341835 A CN107341835 A CN 107341835A CN 201710548915 A CN201710548915 A CN 201710548915A CN 107341835 A CN107341835 A CN 107341835A
- Authority
- CN
- China
- Prior art keywords
- result
- pixel value
- row
- value
- plane
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 abstract description 35
- 238000006243 chemical reaction Methods 0.000 abstract description 16
- 238000003860 storage Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明涉及图像处理方法、装置、电子设备及计算机可读存储介质,属于图像处理技术领域。该方法包括:获得待转换的ARGB图像;从所述ARGB图像中分别获取Y平面掩码和UV平面掩码;从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数;根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值;根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。该方法与现有技术相比,优化了RGB格式转换成YUV格式的效率,提高了转换效率,解决了现有转换方法在较大分辨率图像下,转换效率比较低下的问题。
Description
技术领域
本发明属于图像处理技术领域,具体涉及图像处理方法、装置、电子设备及计算机可读存储介质。
背景技术
在进行H264编码时,需要将RGB格式的像素转换为YUV格式的像素,这样才能进行H264编码。通常的做法是利用YUV与RGB间的相关转换算法,在CPU(Central Process Unit)上执行RGB格式转换成YUV格式,如果这种方法没有经过相关优化,那么在图像分辨率很大的情况下,将会非常消耗CPU资源,转换效率比较低下。如何解决现有转换方法在较大分辨率图像下,转换效率比较低下的问题,成为了行业内关注的焦点。
发明内容
鉴于此,本发明的目的在于提供一种图像处理方法、装置、电子设备及计算机可读存储介质,以有效地改善上述问题。
本发明的实施例是这样实现的:
一方面,本发明实施例提供了一种图像处理方法,包括:获得待转换的ARGB图像;从所述ARGB图像中分别获取Y平面掩码和UV平面掩码;从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数;根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值;根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。
第二方面,本发明实施例提供了一种图像处理装置,包括:ARGB图像获取单元,用于获得待转换的ARGB图像。掩码获取单元,用于从所述ARGB图像中分别获取Y平面掩码和UV平面掩码。像素获取单元,用于从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数。Y平面像素值获取单元,用于根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值。UV平面像素值获取单元,用于根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。
第三方面,本发明实施例提供了一种电子设备,其特征在于,包括:处理器和存储器,所述处理器与所述存储器耦合。所述存储器用于存储程序。所述处理器用于调用存储在所述存储器中的程序,执行上述图像处理方法。
第四方面,本发明实施例提供了一种计算机可读存储介质。所述可读取存储介质存储有处理器可执行的程序代码于计算机内。所述可读取存储介质包括多条指令,所述程序代码多条指令被配置成使所述处理器执行上述方法。
本发明实施例提供的图像处理方法、装置、电子设备及计算机可读存储介质,与现有技术相比,在将RGB格式转换成YUV格式时,一次性可以处理多个像素,例如,2、3、4,因而优化了RGB格式转换成YUV格式的效率,提高了转换效率,解决了现有转换方法在较大分辨率图像下,转换效率比较低下的问题。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1示出了本发明实施例提供的一种电子设备的结构框图。
图2示出了本发明实施例提供的一种图像处理方法的方法流程图。
图3示出了本发明实施例提供的一种获得图2中的步骤S204的方法流程图。
图4示出了本发明实施例提供的一种获得图2中的步骤S205的方法流程图。
图5示出了本发明实施例提供的一种获得图4中的步骤S403的方法流程图。
图6示出了本发明实施例提供的一种图像处理装置的功能模块框图。
图7示出了本发明实施例提供的一种图6中的Y平面像素值获取单元的功能模块框图。
图8示出了本发明实施例提供的一种图6中的UV平面像素值获取单元的功能模块框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,图1示出了本发明实施例提供的一种电子设备100的结构框图。所述电子设备100包括:图像处理装置110、存储器120、存储控制器130和处理器140。
所述存储器120、存储控制器130、处理器140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述图像处理装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述图像处理装置110包括的软件功能模块或计算机程序。
其中,存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,后述本发明实施例任一实施例揭示的流程定义的电子设备100所执行的方法可以应用于处理器140中,或者由处理器140实现。
处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在进行H264编码时,需要将RGB格式的像素转换为YUV格式的像素,这样才能进行H264编码。首先对RGB和YUV分别作出解释:
RGB色彩模式(Red、Green、Blue,红、绿、蓝三色色彩模式)是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到不同的颜色,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
其中,ARGB像素格式是RGB颜色格式中的一种,使用32位来表示一个像素,RGB分量各用去8位,剩下的8位用作透明度Alpha。在内存中ARGB各分量的排列顺序为:B0、G0、R0、A0、B1、G1、R1、A1、B2、G2、R2、A2。
YUV(颜色编码方法)格式分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。YUV格式主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV格式传输数据占用的频宽极少。YUV码流的存储格式与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0。YUV格式有两大类:planar平面格式和packed打包格式。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交错存储的。
其中,NV12像素格式属于YUV420格式,是一种two-plane模式,即Y和UV分为两个平面,但是UV(CbCr)为交错存储的。其中我们假设一幅NV12图像的宽是width、高是height,那么它的Y平面的宽是width,Y平面一行像素的字节数是width,Y平面的高度是height;而它的UV平面的宽是width/2,UV平面一行像素的字节数是width,UV平面的高度是height/2。
基于以上分析,本发明第一实施例提供了一种图像处理方法如图2所示,其中,图2示出了本发明第一实施例提供的一种图像处理方法的流程图,具体包括:步骤S201-S205。
步骤S201:获得待转换的ARGB图像。
在将一种格式的图像转化为另一种格式的图像时,需要先获得待转换的图像,本实施例中,优选地,该待转换的图像为ARGB图像,即,获得需要进行图像转换的ARGB图像。
步骤S202:从所述ARGB图像中分别获取Y平面掩码和UV平面掩码。
由于SSE指令是一种单指令多数据的指令,也就是说SSE的一条机器指令能够处理多条数据,而传统的CPU指令只能够处理单条数据。对于ARGB格式的像素来说,其一个像素包含Alpha透明度分量,红色分量,绿色分量,蓝色分量,每个分量一个字节,也就是说一个像素占用4个字节的内存空间,普通的CPU指令处理ARGB像素时,一次只能够处理4个字节的数据,也就是一个像素;而利用SSE指令时,一次可以处理16个字节的数据,也就是4个像素。也就是说SSE指令的一次转换操作相当于普通CPU指令的4次转换,所以利用SSE指令转换的效率至少是普通CPU指令的4倍。
由于ARGB像素格式使用32位来表示一个像素,而采用SSE指令处理ARGB像素时,一次可以处理16个字节的数据,也就是4个像素。故本实施例中,在利用SSE指令转换时,使用的是128位的__m128i数据类型,以最大化提高其转换效率。其中,需要说明的是,本实施例中,仅以SSE指令一次处理4个像素的情形为例进行说明,其一次处理2或3个像素的情形与之类似,为了避免累赘,不再一一举例示出。
在利用SSE指令进行转换时,从所述ARGB图像中获取Y平面掩码,例如,调用SSE指令的_mm_set1_epi32将0x0000FF00扩展到128,获取NV12格式中的Y平面掩码,并且将该值存储到lumMask中。
在利用SSE指令进行转换时,从所述ARGB图像中获取UV平面掩码,例如,调用SSE指令的_mm_set1_epi16将0x00ff扩展到128位,获取NV12格式的UV平面掩码,并将该值存储到uvMask中。
步骤S203:从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数。
从所述ARGB图像中获取第i行的M个像素值,例如,调用SSE指令的_mm_load_si128指令将第i行的4个像素值存储到__m128i line1变量中。
从所述ARGB图像中获取第i+1行的M个像素值,例如,调用SSE指令的调用_mm_load_si128指令将第i+1行的4个像素值存储到__m128i line2变量中。
步骤S204:根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值。
通过获得的Y平面掩码值、第i行的M个像素值以及第i+1行的M个像素值,便可获得Y平面的像素值。作为一种实施方式,优选地,可以通过如图3所示方法步骤根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值。其中,图3所示的方法步骤具体包括:步骤S301-S305。
步骤S301:将获得的所述Y平面掩码值与所述第i行的M个像素值进行与运算,得到第一结果。
将获得的Y平面掩码值与第i行的M个像素值进行与运算后,得到第一结果,例如,调用SSE指令的mm_and_si128指令将line1变量值(第i行的4个像素值)与lumMask值(Y平面掩码值)进行与运算,得到第一结果,并将第一结果存储到andResult1中。
步骤S302:将获得的所述Y平面掩码值与所述第i+1行的M个像素值进行与运算,得到第二结果。
将获得的Y平面掩码值与第i+1行的M个像素值进行与运算后,得到第二结果,例如,调用SSE指令的_mm_and_s128i指令将line2变量(第i+1行的4个像素值)与lumMask值(Y平面掩码值)进行与运算,得到第二结果,并将第二结果存储到andResult2中。
步骤S303:对得到的所述第一结果进行算术右移,得到第三结果。
将获得的Y平面掩码值与第i行的M个像素值进行与运算后,得到第一结果,然后对得到的第一结果进行算术右移,得到第三结果,例如,调用_mm_srli_si128将上步中的andResult1(第一结果)算术右移一位,得到第三结果,并将第三结果存储到srlResult1中。
步骤S304:对得到的所述第二结果进行算术右移,得到第四结果。
将获得的Y平面掩码值与第i+1行的M个像素值进行与运算后,得到第二结果,然后对得到的第二结果进行算术右移,得到第四结果,例如,调用_mm_srli_si128将上步中的andResult2(第二结果)算术右移一位,得到第四结果,并将第四结果存储到srlResult2中。
步骤S305:根据得到的所述第三结果和所述第四结果,获得Y平面的像素值。
根据获得的第三结果和第四结果,便可以获得Y平面的像素值。即,第三结果中的低八字节便为第i行的Y像素值,第四结果中的低八字节便为第i+1行的Y像素值。其中,Y平面的像素值包括:第i行的Y像素值和第i+1行的Y像素值。为了便于运算及存储,优选地,将所述第三结果中的低8字节的数据存储到指针数组A中的低8字节中,将所述第四结果中的低8字节的数据存储到指针数组A中的高8字节中,将所述指针数组A中的第一个整数值作为第i行的Y像素值,第二个整数值作为第i+1行的Y像素值。例如,调用SEE指令的__mm_packs_epi32指令将上步中的srlResult1(第三结果)的低8字节和srlResult2(第四结果)的低8字节存储到变量packVal中。其中srlResult1的低8字节在packVal的低8字节中,srlResult2的低8字节在packVal的高8字节中,将上步中获取到的packVal结构中的m128i_u32数组中的第一个整数值就是第i行的Y像素值,m128i_u32数组中的第二个整数值就是第i+1行的Y像素值。
其中,指针数组A中的第一个整数值即为第三结果中的低8字节,指针数组A中的第二个整数值即为第四结果中的低8字节。其中,指针数组A可以为上述的packVal。
步骤S205:根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。
通过获得的UV平面掩码值、第i行的M个像素值以及第i+1行的M个像素值,便可获得UV平面的像素值。
作为一种实施方式,优选地,可以通过如图4所示方法步骤根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。其中,图4所示的方法步骤具体包括:步骤S401-S403。
步骤S401:将获得的所述UV平面掩码值与所述第i行的M个像素值进行与运算,得到第五结果。
将获得的UV平面掩码值与第i行的M个像素值进行与运算后,得到第五结果,例如,调用_mm_and_si128指令将line1变量值(第i行的4个像素值)与uvMask值(UV平面掩码值)进行与运算,得到第五结果,并将第五结果存储到uvandResult1中。
步骤S402:将获得的所述UV平面掩码值与所述第i+1行的M个像素进行与运算,得到第六结果。
将获得的UV平面掩码值与第i+1行的M个像素值进行与运算后,得到第六结果,例如,调用_mm_and_s128i指令将line2变量值(第i行的4个像素值)与uvMask值(UV平面掩码值)进行与运算,得到第六结果,并将第六结果存储到uvandResult2中。
步骤S403:根据获得的所述第五结果和所述第六结果获得UV平面的像素值。
通过获得的第五结果和第六结果,便可获得UV平面的像素值。作为一种实施方式,优选地,可以通过如图5所示方法步骤根据获得的所述第五结果和所述第六结果获得UV平面的像素值。其中,图5所示的方法步骤具体包括:步骤S501-S504。
步骤S501:将所述第五结果和所述第六结果进行加法运算,得到第七结果。
获得第五结果和第六结果后,将第五结果和第六结果进行加法运算,得到第七结果,例如,调用SSE指令的_mm_add_epi64指令将uvandResult1(第五结果)和uvandResult2(第六结果)相加,得到第七结果,并将第七结果存储到addVal变量中。
步骤S502:将所述第七结果中的第二个32位整数同第一个32位整数进行交换,第三个32位整数与第4个32位整数进行交换后得到第八结果。
获得第七结果后,对第七结果中的整数进行交换运算,优选地,将第七结果中的第二个32位整数同第一个32位整数进行交换,第三个32位整数与第4个32位整数进行交换后得到第八结果。例如,调用SSE指令的_mm_shuffle_epi32指令将addVal(第七结果)的第三个32位整数与第4个32位整数进行交换,并且将addVal(第七结果)的第二个32位整数同第一个32位整数进行交换后得到第八结果,并将第八结果存储到addValShuffle变量中。
步骤S503:将所述第八结果与所述第七结果相加后取平均值得到第九结果。
得到第八结果后,将第八结果与第七结果相加,然后对相加的结果取平均值得到第九结果。例如,调用SSE指令_mm_add_epi64指令将addVal(第七结果)与addValShuffle(第八结果)相加,然后调用_mm_srai_epi16指令对相加后的结果取平均值得到第九结果,并将第九结果存储到avgVal变量中。
步骤S504:将所述第九结果中的第二个32位整数同第四个32位整数进行交换,将第一个32位整数同第三个32位整数进行交换后,得到UV平面的像素值。
得到第九结果后,对第七结果中的整数进行交换运算,优选地,将所述第九结果中的第二个32位整数同第四个32位整数进行交换,将第一个32位整数同第三个32位整数进行交换后得到UV平面的像素值。例如,调用SSE指令的_mm_shuffle_epi32指令对avgVal(第九结果)的第二个32位整数同第四个32位整数进行交换,并且对第一个32位整数同第三个32位整数进行交换,将得到的结果存储到avgValShuffle变量中。其中,存储于avgValShuffle变量中的m128i_u32数组中的第一个32位整数值就是第i行的UV像素值,即为UV平面的像素值。其中UV平面的像素值包括:第i行的UV像素值。
其中,需要再次强调的是,本实施例中,仅以SSE指令一次处理4个像素的情形为例进行说明,其一次处理2或3个像素的情形与之类似,为了避免累赘,不再一一举例示出。因此,并不能将其理解成是对本发明的限制
通过上面这些步骤,实现了利用SSE指令将ARGB像素转换为NV12像素的过程,由于SSE指令一个指令可以处理多条数据的特性,使得该方法比现有的转换算法在效率上至少快4倍,所以极大提供了转换效率。
本发明实施例还提供一种图像处理装置110,如图6所示。该图像处理装置110包括:ARGB图像获取单元111、掩码获取单元112、像素获取单元113、Y平面像素值获取单元114和UV平面像素值获取单元115。
所述ARGB图像获取单元111,用于获得待转换的ARGB图像。
所述掩码获取单元112,用于从所述ARGB图像中分别获取Y平面掩码和UV平面掩码。
所述像素获取单元113,用于从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数。
所述Y平面像素值获取单元114,用于根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值。
所述UV平面像素值获取单元115,用于根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。
其中,如图7所示,所述Y平面像素值获取单元114包括:第一结果获取子单元1141、第二结果获取子单元1142、第三结果获取子单元1143、第四结果获取子单元1144和Y平面像素值获取子单元1145。
所述第一结果获取子单元1141,用于将获得的所述Y平面掩码值与所述第i行的M个像素值进行与运算,得到第一结果。
所述第二结果获取子单元1142,用于将获得的所述Y平面掩码值与所述第i+1行的M个像素值进行与运算,得到第二结果。
所述第三结果获取子单元1143,用于对得到的所述第一结果进行算术右移,得到第三结果。
所述第四结果获取子单元1144,用于对得到的所述第二结果进行算术右移,得到第四结果。
所述Y平面像素值获取子单元1145,根据得到的所述第三结果和所述第四结果,获得Y平面的像素值。
其中,如图8所示,所述UV平面像素值获取单元115包括:第五结果获取子单元1151、第六结果获取子单元1152、第七结果获取子单元1153、第八结果获取子单元1154、第九结果获取子单元1155和UV平面像素值获取子单元1156。
所述第五结果获取子单元1151,用于将获得的所述UV平面掩码值与所述第i行的M个像素值进行与运算,得到第五结果。
所述第六结果获取子单元1152,用于将获得的所述UV平面掩码值与所述第i+1行的M个像素进行与运算,得到第六结果。
所述第七结果获取子单元1153,用于将所述第五结果和所述第六结果进行加法运算,得到第七结果。
所述第八结果获取子单元1154,用于将所述第七结果中的第二个32位整数同第一个32位整数进行交换,第三个32位整数与第4个32位整数进行交换后得到第八结果。
所述第九结果获取子单元1155,用于将所述第八结果与所述第七结果相加后取平均值得到第九结果。
所述UV平面像素值获取子单元1156,用于将所述第九结果中的第二个32位整数同第四个32位整数进行交换,将第一个32位整数同第三个32位整数进行交换后,得到UV平面的像素值。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的图像处理装置110,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
获得待转换的ARGB图像;
从所述ARGB图像中分别获取Y平面掩码和UV平面掩码;
从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数;
根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值;
根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。
2.根据权利要求1所述的图像处理方法,其特征在于,所述的根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值的步骤包括:
将获得的所述Y平面掩码值与所述第i行的M个像素值进行与运算,得到第一结果;
将获得的所述Y平面掩码值与所述第i+1行的M个像素值进行与运算,得到第二结果;
对得到的所述第一结果进行算术右移,得到第三结果;
对得到的所述第二结果进行算术右移,得到第四结果;
根据得到的所述第三结果和所述第四结果,获得Y平面的像素值。
3.根据权利要求2所述的图像处理方法,其特征在于,所述的根据得到的所述第三结果和所述第四结果,获得Y平面的像素值的步骤包括:
将所述第三结果中的低8字节的数据存储到指针数组A中的低8字节中;
将所述第四结果中的低8字节的数据存储到指针数组A中的高8字节中;
将所述指针数组A中的第一个整数值作为第i行的Y像素值,第二个整数值作为第i+1行的Y像素值。
4.根据权利要求1所述的图像处理方法,其特征在于,所述的根据获得的所述UV平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素获得UV平面的像素值的步骤包括:
将获得的所述UV平面掩码值与所述第i行的M个像素值进行与运算,得到第五结果;
将获得的所述UV平面掩码值与所述第i+1行的M个像素进行与运算,得到第六结果;
根据获得的所述第五结果和所述第六结果获得UV平面的像素值。
5.根据权利要求4所述的图像处理方法,其特征在于,所述的根据获得的所述第五结果和所述第六结果获得UV平面的像素值的步骤包括:
将所述第五结果和所述第六结果进行加法运算,得到第七结果;
将所述第七结果中的第二个32位整数同第一个32位整数进行交换,第三个32位整数与第4个32位整数进行交换后得到第八结果;
将所述第八结果与所述第七结果相加后取平均值得到第九结果;
将所述第九结果中的第二个32位整数同第四个32位整数进行交换,将第一个32位整数同第三个32位整数进行交换后,得到UV平面的像素值。
6.根据权利要求1所述的图像处理方法,其特征在于,所述M的数值为4。
7.一种图像处理装置,其特征在于,包括:
ARGB图像获取单元,用于获得待转换的ARGB图像;
掩码获取单元,用于从所述ARGB图像中分别获取Y平面掩码和UV平面掩码;
像素获取单元,用于从所述ARGB图像中分别获取第i行的M个像素值和第i+1行的M个像素值,其中,M为大于1的整数;
Y平面像素值获取单元,用于根据获得的所述Y平面掩码值、所述第i行的M个像素值和所述第i+1行的M个像素值,获得Y平面的像素值;
UV平面像素值获取单元,用于根据获得的所述UV平面掩码值、所述第i行M个像素值和所述第i+1行M个像素值,获得UV平面的像素值。
8.根据权利要求7所述的图像处理装置,其特征在于,所述M的数值为4。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器与所述存储器耦合;
所述存储器用于存储程序;
所述处理器用于调用存储在所述存储器中的程序,执行所述权利要求1-6任一项所述图像处理方法。
10.一种计算机可读存储介质,其特征在于,所述可读取存储介质存储有处理器可执行的程序代码于计算机内,所述可读取存储介质包括多条指令,所述程序代码多条指令被配置成使所述处理器执行所述权利要求1-6任一项所述图像处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710548915.XA CN107341835B (zh) | 2017-07-07 | 2017-07-07 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
PCT/CN2017/112951 WO2019006965A1 (zh) | 2017-07-07 | 2017-11-24 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710548915.XA CN107341835B (zh) | 2017-07-07 | 2017-07-07 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341835A true CN107341835A (zh) | 2017-11-10 |
CN107341835B CN107341835B (zh) | 2018-08-03 |
Family
ID=60219196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710548915.XA Active CN107341835B (zh) | 2017-07-07 | 2017-07-07 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107341835B (zh) |
WO (1) | WO2019006965A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019006965A1 (zh) * | 2017-07-07 | 2019-01-10 | 武汉斗鱼网络科技有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN110324598A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种图像处理方法、装置及计算机设备 |
CN113596581A (zh) * | 2021-07-30 | 2021-11-02 | 上海商汤临港智能科技有限公司 | 一种图像格式转换方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003271947A (ja) * | 2002-03-18 | 2003-09-26 | Ricoh Co Ltd | 自動画像合成装置、自動画像合成方法、およびそのプログラム |
CN101489144A (zh) * | 2008-01-17 | 2009-07-22 | 华晶科技股份有限公司 | 相机的自动色彩空间与情境转换方法 |
CN102231206A (zh) * | 2011-07-14 | 2011-11-02 | 浙江理工大学 | 适用于汽车辅助驾驶系统的彩色夜视图像亮度增强方法 |
CN106228581A (zh) * | 2016-08-01 | 2016-12-14 | 武汉斗鱼网络科技有限公司 | 通过gpu将像素格式由argb转换为nv12的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798753A (en) * | 1995-03-03 | 1998-08-25 | Sun Microsystems, Inc. | Color format conversion in a parallel processor |
US7940280B2 (en) * | 2007-12-06 | 2011-05-10 | Seiko Epson Corporation | System and method for color format conversion in a graphics environment |
US9710622B2 (en) * | 2015-02-23 | 2017-07-18 | Intel Corporation | Instructions and logic to fork processes of secure enclaves and establish child enclaves in a secure enclave page cache |
CN107341835B (zh) * | 2017-07-07 | 2018-08-03 | 武汉斗鱼网络科技有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
-
2017
- 2017-07-07 CN CN201710548915.XA patent/CN107341835B/zh active Active
- 2017-11-24 WO PCT/CN2017/112951 patent/WO2019006965A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003271947A (ja) * | 2002-03-18 | 2003-09-26 | Ricoh Co Ltd | 自動画像合成装置、自動画像合成方法、およびそのプログラム |
CN101489144A (zh) * | 2008-01-17 | 2009-07-22 | 华晶科技股份有限公司 | 相机的自动色彩空间与情境转换方法 |
CN102231206A (zh) * | 2011-07-14 | 2011-11-02 | 浙江理工大学 | 适用于汽车辅助驾驶系统的彩色夜视图像亮度增强方法 |
CN106228581A (zh) * | 2016-08-01 | 2016-12-14 | 武汉斗鱼网络科技有限公司 | 通过gpu将像素格式由argb转换为nv12的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019006965A1 (zh) * | 2017-07-07 | 2019-01-10 | 武汉斗鱼网络科技有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN110324598A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种图像处理方法、装置及计算机设备 |
CN113596581A (zh) * | 2021-07-30 | 2021-11-02 | 上海商汤临港智能科技有限公司 | 一种图像格式转换方法、装置、计算机设备和存储介质 |
CN113596581B (zh) * | 2021-07-30 | 2023-10-27 | 上海商汤临港智能科技有限公司 | 一种图像格式转换方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107341835B (zh) | 2018-08-03 |
WO2019006965A1 (zh) | 2019-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106228581B (zh) | 通过gpu将像素格式由argb转换为nv12的方法及系统 | |
US20030025835A1 (en) | Method for independently controlling hue or saturation of individual colors in a real time digital video image | |
CN107341835A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN111161683B (zh) | 图像处理方法、图像处理器和显示装置 | |
CN107799093A (zh) | 调节终端屏幕亮度的方法、终端及计算机可读存储介质 | |
US20090080769A1 (en) | Image data processing apparatus and method | |
CN108471536B (zh) | Alpha通道传输方法及装置、终端装置及存储介质 | |
CN110324598A (zh) | 一种图像处理方法、装置及计算机设备 | |
CN103731608B (zh) | 一种能支持多种颜色及自动反色的字符叠加显示方法 | |
CN1267813C (zh) | 处理色差信号4∶2∶0平面图像数据格式存储器的系统与方法 | |
CN110335279A (zh) | 实时绿幕抠像方法、装置、设备及存储介质 | |
CN112200747B (zh) | 一种图像处理方法、装置及计算机可读存储介质 | |
JPH08147453A (ja) | ルックアップテーブル作成方法及びルックアップテーブル作成装置 | |
WO2016184762A1 (en) | Method and device for processing color image data representing colors of a color gamut. | |
US20120087576A1 (en) | Image processing device | |
CN104008523A (zh) | 图形处理方法 | |
CN1220960C (zh) | 有效存储颜色色域的彩色信号处理装置及其方法 | |
CN114493983A (zh) | 字符数据的压缩方法、装置、存储介质及电子设备 | |
EP3096510A1 (en) | Method and device for processing color image data representing colors of a color gamut | |
CN105631212A (zh) | 一种dicom影像原始数据的png格式承载方法 | |
CN101996615A (zh) | 显示设备的色彩强化方法 | |
CN108282643A (zh) | 图像处理方法、图像处理装置及电子设备 | |
CN116260975B (zh) | 一种基于cuda的视频压缩方法、设备及存储介质 | |
CN109712206A (zh) | 数据压缩方法、显示装置和计算机可读存储介质 | |
CN103970496B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231219 Address after: 400000, 2nd Floor, No. 27-5 Fengsheng Road, Jinfeng Town, Chongqing High tech Zone, Jiulongpo District, Chongqing Patentee after: CHONGQING BIO NEWVISION MEDICAL EQUIPMENT Ltd. Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |