CN114862659A - 图像直方图生成方法、装置、电子设备及存储介质 - Google Patents

图像直方图生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114862659A
CN114862659A CN202210392957.XA CN202210392957A CN114862659A CN 114862659 A CN114862659 A CN 114862659A CN 202210392957 A CN202210392957 A CN 202210392957A CN 114862659 A CN114862659 A CN 114862659A
Authority
CN
China
Prior art keywords
pixel point
memory
image
statistical value
writing
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.)
Pending
Application number
CN202210392957.XA
Other languages
English (en)
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202210392957.XA priority Critical patent/CN114862659A/zh
Publication of CN114862659A publication Critical patent/CN114862659A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种图像直方图生成方法、装置、电子设备及存储介质。该方法包括:在获取到目标图像数据的情况下,对目标图像数据中每个图像帧进行分离采样,得到图像帧对应的至少一个第一像素点和至少一个第二像素点;第一像素点为图像帧上像素点位数为奇数的像素点,第二像素点为图像帧上像素点位数为偶数的像素点;基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;第一读写操作和第二读写操作均为时分复用的读写操作,第一存储器和第二存储器均为单端口随机存取存储器;基于第一统计值和第二统计值,得到目标图像数据对应的图像直方图。

Description

图像直方图生成方法、装置、电子设备及存储介质
技术领域
本申请属于图像处理领域,具体涉及图像直方图生成方法、装置、电子设备及存储介质。
背景技术
图像直方图是图像的一个基本信息,图像直方图可以表示图像中像素值的分布情况,且图像直方图在图像增强、图像分割和图像匹配等方面被广泛应用。在对图像进行处理的过程中,涉及对图像直方图的生成。
目前,通常通过芯片上的双端口随机存取存储器(Random Access Memory,RAM)进行图像直方图的统计。然而,上述双端口RAM占用了芯片上较大的面积,导致功耗大。
发明内容
本申请实施例的目的是一种图像直方图生成方法、装置、电子设备及存储介质,能够解决在生成图像直方图的过程中存在功耗大的问题。
第一方面,本申请实施例提供了一种图像直方图生成方法,该方法包括:
在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点;所述第一像素点为所述图像帧上像素点位数为奇数的像素点,所述第二像素点为所述图像帧上像素点位数为偶数的像素点;
基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;所述第一读写操作和第二读写操作均为时分复用的读写操作,所述第一存储器和第二存储器均为单端口随机存取存储器;
基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
第二方面,本申请实施例提供了一种图像直方图生成装置,该装置包括:
采样模块,用于在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点;所述第一像素点为所述图像帧上像素点位数为奇数的像素点,所述第二像素点为所述图像帧上像素点位数为偶数的像素点;
第一处理模块,用于基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;所述第一读写操作和第二读写操作均为时分复用的读写操作,所述第一存储器和第二存储器均为单端口随机存取存储器;
第二处理模块,用于基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
本申请实施例中,基于时分复用的读写操作,在一个单端口RAM上写入图像帧中像素点位数为奇数的像素点的统计值,在另一个单端口RAM上写入图像帧中像素点位数为偶数的像素点的统计值,以此得到图像数据的图像直方图。上述图像直方图的统计过程中,只使用到了占用芯片面积较小以及运行功耗较低的单端口RAM,以此降低了在生成图像直方图过程中产生的功耗,同时还降低了方案设计的复杂度。
附图说明
图1是本申请实施例提供的图像直方图生成方法的流程图;
图2是本申请实施例提供的图像直方图生成方法的应用场景图之一;
图3是本申请实施例提供的图像直方图生成方法的应用场景图之二;
图4是本申请实施例提供的图像直方图生成方法的应用场景图之三;
图5是本申请实施例提供的图像直方图生成方法的应用场景图之四;
图6是本申请实施例提供的图像直方图生成方法的应用场景图之五;
图7是本申请实施例提供的图像直方图生成方法的应用流程图;
图8是本申请实施例提供的图像直方图生成装置的结构图;
图9是本申请实施例提供的电子设备的结构图;
图10是本申请实施例提供的电子设备的硬件结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像直方图统计方法进行详细地说明。
请参阅图1,图1是本申请实施例提供的图像直方图统计方法的流程图。本申请实施例提供的图像直方图统计方法包括以下步骤:
S101,在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点。
本申请实施例提供的图像直方图生成方法应用于图像直方图生成装置,上述目标图像数据可以是图像直方图生成装置接收的图像数据,也可以是图像直方图生成装置获取的图像数据。
本步骤中,在获取到目标图像数据的情况下,对目标图像数据进行奇偶分离下采样处理,即按照图像帧中每行像素点的奇偶像素位置,得到图像帧对应的第一像素点和第二像素点,其中,第一像素点为图像帧上像素点位数为奇数的像素点,第二像素点为图像帧上像素点位数为偶数的像素点。可以通过上述奇偶分离下采样处理将图像帧分为奇数点数据通路与偶数点数据通路,其中,上述奇数点数据通路包括所有第一像素点的像素值数据,上述偶数点数据通路包括所有第二像素点的像素值数据。
请参阅图2,如图2所示,假设图像帧中的一行包括4个像素点,则对图像帧进行分离采样后,得到的奇数点数据通路和偶数点数据通路中相邻像素点之间时钟间隔大于或等于1个时钟周期。其中,1个时钟周期可以理解为单端口RAM的一个处理周期。
应理解,若目标图像数据是连续输入至图像直方图生成装置,则上述每个数据通路相邻像素点之间的时钟间隔为1个时钟周期。若目标图像数据是离散输入至图像直方图生成装置,则上述每个数据通路相邻像素点之间的时钟间隔大于1个时钟周期。
S102,基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值。
图像直方图生成装置包括2个单端口RAM,其中一个单端口RAM称为第一存储器,另一个单端口RAM称为第二存储器。通常,2个单端口RAM的功耗小于1个双口RAM的功耗。且采用单口RAM的方案设计复杂程度低于采用双口RAM的方案设计复杂程度。
本步骤中,在得到图像帧对应的第一像素点和第二像素点之后,可以基于第一读写操作,将每个第一像素点的第一统计值写入第一存储器中,即将上述奇数点数据通路包括的所有第一统计值写入第一存储器。
可以基于第二读写操作,将每个第二像素点的第二统计值写入第二存储器中,即将上述偶数点数据通路包括的所有第二统计值写入第二存储器。这样,第一存储器存储有图像帧一半的图像直方图统计结果,第二存储器存储有图像帧另一半的图像直方图统计结果。
具体的如何在第一存储器中写入第一统计值以及在第二存储器中写入第二统计值的实施方式,请参阅后续实施例。
应理解,上述统计值可以为像素点的灰度值、亮度值或色度值,统计值的具体类型与图像直方图的类型相关,例如,在图像直方图的类型为灰度图像直方图的情况下,设定上述统计值为像素点的灰度值。应理解,上述第一读写操作和第二读写操作均为时分复用的读写操作。
应理解,在图像帧表征的图像的高度为H,宽度为W,数据位宽为N的情况下,设置上述单端口RAM的宽度为log2(H*W/2),深度为2^N。
S103,基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
本步骤中,在将所有第一像素点的第一统计值写入第一存储器,以及所有第二像素点的第二统计值写入第二存储器之后,可以基于第一存储器存储的图像直方图统计结果与第二存储器存储的图像直方图统计结果,得到目标图像数据对应的图像直方图。可选地,可以将第一存储器存储的图像直方图统计结果与第二存储器存储的图像直方图统计结果合并,得到目标图像数据对应的图像直方图。
本申请实施例中,基于时分复用的读写操作,在一个单端口RAM上写入图像帧中像素点位数为奇数的像素点的统计值,在另一个单端口RAM上写入图像帧中像素点位数为偶数的像素点的统计值,以此得到图像数据的图像直方图。上述图像直方图的统计过程中,只使用到了占用芯片面积较小以及运行功耗较低的单端口RAM,以此降低了在生成图像直方图过程中产生的功耗,同时还降低了方案设计的复杂度。
以下,具体说明如何在第一存储器中写入第一统计值:
可选地,所述基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值包括:
在第一个时钟周期,读取第一个第一像素点的第一统计值,并每间隔N个时钟周期,按照每个第一像素点在所述图像帧上的排列顺序,读取一个第一像素点的第一统计值;
在第一目标时钟周期,在第一存储器中写入所述第一个第一像素点的第一统计值,并每间隔N个时钟周期,在第一存储器中写入一个第一像素点的第一统计值。
本实施例中在第一存储器的第一个时钟周期,读取第一个第一像素点的第一统计值,并每间隔N个时钟周期,读取一个第一像素点的第一统计值,N为大于或等于1的正整数。应理解,若目标图像数据是连续输入至图像直方图生成装置中,则上述N的值为1;若目标图像数据是离散输入至图像直方图生成装置中,则上述N的值与图像直方图生成装置获取到目标图像数据的时间相关。也就是说,在N为1的情况下,在第三个时钟周期,读取第二个第一像素点的第一统计值,在第五个时钟周期,读取第三个第一像素点的第一统计值。其中,上述排列顺序可以每行像素点上从左至右的顺序,也可以是每行像素点上从右至左的顺序,在此不做具体限制。
本实施例中,在第一存储器的第一目标时钟周期,写入第一个第一像素点的第一统计值。其中,上述第一目标时钟周期为读取第二个第一像素点的第一统计值之后的时钟周期,在实际的应用场景中,上述第一目标时钟周期可以理解为第四个时钟周期。
每间隔N个时钟周期,写入一个第一像素点的第一统计值,也就是说,在N为1的情况下,在第六个时钟周期,写入第三个第一像素点的第一统计值,在第八个时钟周期,写入第四个第一像素点的第一统计值。
如上所述,由于第一像素点为图像帧上像素点位数为奇数的像素点,因此第一个第一像素点即图像帧的第1个像素点,第二个第一像素点即图像帧的第3个像素点。
为便于理解,请参阅图3,如图3所示,图3示出的是N为1的应用场景,且在图3示出的应用场景中,图像帧包括960个第一像素点,其中,图3中的“data0”表示第一个第一像素点,“data2”表示第二个第一像素点,“data1918”表示最后一个第一像素点。第一存储器在第一个时钟周期第一个第一像素点执行读操作,即读取第一个第一像素点的第一统计值,在第二个时钟周期不执行写操作,在第三个时钟周期执行读操作,即读取第二个第一像素点的第一统计值,随后,每间隔一个时钟周期执行读操作,读取对应的第一像素点的第一统计值。第一存储器在第四个时钟周期执行写操作,即写入第二个第一像素点的第一统计值,随后,每间隔一个时钟周期执行写操作,写入对应的第一像素点的第一统计值。
本实施例中,通过基于时分复用的第一读写操作,在第一存储器上写入图像帧中像素点位数为奇数的像素点的统计值,在第一存储器上存储图像直方图的部分统计结果,进而得到图像数据的图像直方图。
可选地,所述基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值包括:
在第一个时钟周期,读取第一个第二像素点的第二统计值,并每间隔M个时钟周期,读取一个第二像素点的第二统计值;
在第二目标时钟周期,在第二存储器中写入所述第一个第二像素点的第二统计值,并每间隔M个时钟周期,在第二存储器中写入一个第二像素点的第二统计值。
本实施例中在第二存储器的第一个时钟周期,读取第一个第二像素点的第二统计值,并每间隔M个时钟周期,读取一个第二像素点的第二统计值,M为大于或等于1的正整数。应理解,若目标图像数据是连续输入至图像直方图生成装置中,则上述M的值为1;若目标图像数据是离散输入至图像直方图生成装置中,则上述M的值与图像直方图生成装置获取到目标图像数据的时间相关。也就是说,在M为1的情况下,在第三个时钟周期,读取第二个第二像素点的第二统计值,在第五个时钟周期,读取第三个第二像素点的第二统计值。
本实施例中,在第二存储器的第二目标时钟周期,写入第一个第二像素点的第二统计值,其中,上述第二目标时钟周期为读取第二个第二像素点的第二统计值之后的时钟周期,在实际的应用场景中,上述第二目标时钟周期可以理解为第四个时钟周期。
每间隔M个时钟周期,写入一个第二像素点的第二统计值,也就是说,在M为1的情况下,在第六个时钟周期,写入第三个第二像素点的第二统计值,在第八个时钟周期,写入第四个第二像素点的第二统计值。
如上所述,由于第二像素点为图像帧上像素点位数为偶数的像素点,因此第一个第二像素点即图像帧的第2个像素点,第二个第二像素点即图像帧的第4个像素点。
本实施例中,通过基于时分复用的第二读写操作,在第二存储器上写入图像帧中像素点位数为偶数的像素点的统计值,在第二存储器上存储图像直方图的部分统计结果,进而得到图像数据的图像直方图。
可选地,所述得到所述目标图像数据对应的图像直方图之后,所述方法还包括:
在接收到读取指令的情况下,将所述图像直方图写入第三存储器;
在所述图像直方图全部写入所述第三存储器的情况下,从所述第三存储器中读取所述图像直方图,以对所述目标图像数据进行图像处理。
本实施例中的图像直方图统计装置还包括第三存储器,该第三存储器为单端口随机存取存储器。本实施例中,在第一存储器写入所有第一像素点对应的第一统计值以及第二存储器写入所有第二像素点对应的第二统计值,获得图像直方图之后,可以将图像直方图写入第三存储器。
上述读取指令可以是用户向图像直方图装置输入的指令,上述读取指令用于表征读取第三存储器中写入的图像直方图。本实施例中,在图像直方图装置接收到读取指令的情况下,第三存储器执行写操作,写入图像直方图。具体而言,合并第一存储器写入的第一统计值和第二存储器写入的第二统计值,生成图像直方图,并将图像直方图写入第三存储器。在图像直方图全部写入第三存储器的情况下,执行软件读操作,即从第三存储器中读取图像直方图,以使得图像直方图统计装置上安装的应用软件根据读取到的图像直方图对目标图像数据进行后续的图像处理。
为便于理解,请参阅图4,如图4所示,在第三存储器的前K个时钟周期,执行“缓存写操作”,即在第三存储器中写入图像直方图;在第K个时钟周期之后,执行“软件读操作”,即应用软件读取第三存储器写入的图像直方图,直至在第2^(K+1)个时钟周期,应用软件读取全部的图像直方图。其中,K为正整数。
本实施例中,将图像直方图统计结果采用单端RAM缓存,应用软件可以在单端RAM缓存全部的图像直方图后,从单端RAM读取全部的图像直方图,使得软件可以通过更为灵活的方式实现对图像直方图的读取。
可选地,所述得到所述目标图像数据对应的图像直方图之后,所述方法还包括:
在接收到读取指令的情况下,将所述图像直方图写入第三存储器;
在将图像直方图写入所述第三存储器的过程中,每间隔一个时钟周期,从所述第三存储器中读取已写入的图像直方图数据,以对所述目标图像数据进行图像处理。
上述读取指令可以是用户向图像直方图装置输入的指令,上述读取指令用于表征读取第三存储器中写入的图像直方图。其中,第三存储器为单端口随机存取存储器。
本实施例中,在图像直方图装置接收到读取指令的情况下,基于时分复用的读写方式,在第三存储器中写入图像直方图,并控制软件从第三存储器中读取已写入的图像直方图数据,以使得图像直方图统计装置上安装的应用软件根据读取到的图像直方图对目标图像数据进行后续的图像处理。
为便于理解,请参阅图5,如图5所示,在第三存储器的第1个时钟周期,写入图像直方图数据,并每间隔一个时钟周期,执行“缓存写操作”即写入图像直方图数据;在第三存储器的第2个时钟周期,执行“软件读操作”即读取第三存储器写入的图像直方图数据,直至在第三存储器的第2^(K+1)个时钟周期,应用软件读取全部的图像直方图。
本实施例中,使用基于时分复用的读写方式,在第三存储器中写入图像直方图,并控制软件从第三存储器中读取已写入的图像直方图数据,使得软件可以通过更为灵活的方式实现对图像直方图的读取。
可选地,所述对所述目标图像数据中每个图像帧进行分离采样之前,所述方法包括:
将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第一状态;
所述基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值之后,所述方法包括:
将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第二状态。
在相关技术中,在获取图像帧之后,双端RAM先占用大量时钟周期进行写零处理,例如,在图像帧每行像素包括1024个像素点的情况下,需要在双端RAM的1024个标志位置写入0,在双端RAM每读取一个像素点的统计值之后,将该像素点对应的标志位置置1。这样,由于双端RAM需要耗费大量时钟周期进行写零处理,降低了图像直方图统计的效率。
本实施例应用的图像直方图统计装置还包括寄存器,上述寄存器可以是统计清零标志寄存器,上述寄存器为单比特寄存器,且上述寄存器的数量与图像帧的亮度范围或者灰度阶相同,例如,对于数据位宽为K比特的图像,设置寄存器的数量为2^K。可选地,可以将上述寄存器称为第一寄存器。
本实施例中,在对图像帧进行分离采样之前,需要对与图像帧对应的图像直方图相关联的寄存器进行清零操作,即将寄存器的工作状态调整为第一状态,可选地,可以将寄存器置0。应理解,当寄存器处于第一状态时,表示该寄存器相关联的图像直方图中的统计值未被单端RAM读取。
本实施例中,在读取完像素点的统计值之后,将与图像帧对应的图像直方图相关联的寄存器调整为第二状态,其中,当寄存器处于第二状态时,表示该寄存器相关联的图像直方图的统计值被单端RAM读取。可选地,可以将寄存器置1。应理解,在读取完每个第一像素点的第一统计值以及第二像素点对应的第二统计值之后,每个寄存器的工作状态为第二状态。
本实施例中,设置有与图像帧对应的图像直方图相关联的寄存器,这样,在使用单端RAM读取统计值的过程中,使用寄存器的工作状态表征相关联的图像直方图统计值的读取状态,不需要在单端RAM的标志位置进行写零处理,以此提高了图像直方图统计的效率。
可选地,本实施例应用的图像直方图统计装置还包括临时寄存器,可选地,上述临时寄存器的数量为1。在单端RAM对目标像素点执行读写操作的过程中,目标像素点对应的临时寄存器用于缓存上一个像素点的统计信息,上述统计信息包括统计值和地址信息,其中,上述上一个像素点为单端RAM最近执行的读写操作相关联的像素点。根据上一个像素点的地址信息和目标像素点的地址信息,判断目标像素点与上一个像素点为同一像素点,以此确定单端RAM是否已经读取目标像素点的统计值,若目标像素点与上一个像素点为同一像素点,则单端RAM不进行读写操作;若目标像素点与上一个像素点不为同一像素点,则单端RAM对目标像素点执行读写操作。
为便于理解整体技术方案,请参阅图6和图7,如图6所示,图像直方图统计装置包括4个模块,分别为读写控制模块、统计模块和缓存模块。图7示出的是各个模块的工作流程示意图,装置执行奇偶分离下采样操作,并同步执行清零操作,得到图像帧对应的奇数像素点和偶数像素点;上述读写控制模块执行直方图统计读写操作,具体而言,每个单端RAM基于时分复用的方式进行读写操作,即在一个时钟周期执行读操作,在一个时钟周期执行写操作;上述统计模块用于进行直方图统计,具体而言,一个单端RAM写入奇数像素点的统计值,得到半帧的直方图统计结果,另一个单端RAM写入偶数像素点的统计值,得到半帧的直方图统计结果;上述缓存模块用于缓存图像直方图,将图像直方图写入单端RAM,响应与软件的读取操作,从单端RAM中读取已写入的图像直方图。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像直方图生成装置进行详细地说明。
如图8所示,图像直方图生成装置800包括:
采样模块801,用于在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点;
第一处理模块802,用于基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;
第二处理模块803,用于基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
可选地,所述第一处理模块802,具体用于:
在第一个时钟周期,读取第一个第一像素点的第一统计值,并每间隔N个时钟周期,按照每个第一像素点在所述图像帧上的排列顺序,读取一个第一像素点的第一统计值;
在第一目标时钟周期,在第一存储器中写入所述第一个第一像素点的第一统计值,并每间隔N个时钟周期,在第一存储器中写入一个第一像素点的第一统计值。
可选地,所述第一处理模块802,还具体用于:
在第一个时钟周期,读取第一个第二像素点的第二统计值,并每间隔M个时钟周期,按照每个第二像素点在所述图像帧上的排列顺序,读取一个第二像素点的第二统计值;
在第二目标时钟周期,在第二存储器中写入所述第一个第二像素点的第二统计值,并每间隔M个时钟周期,在第二存储器中写入一个第二像素点的第二统计值。
可选地,所述图像直方图生成装置800还包括:
第一写入模块,用于在接收到读取指令的情况下,将所述图像直方图写入第三存储器;
第一读取模块,用于在所述图像直方图全部写入所述第三存储器的情况下,从所述第三存储器中读取所述图像直方图,以对所述目标图像数据进行图像处理。
可选地,所述图像直方图生成装置800还包括:
第二写入模块,用于在接收到读取指令的情况下,将所述图像直方图写入第三存储器;
第二读取模块,用于在将图像直方图写入所述第三存储器的过程中,每间隔一个时钟周期,从所述第三存储器中读取已写入的图像直方图数据,以对所述目标图像数据进行图像处理。
可选地,所述图像直方图生成装置800还包括:
第一调整模块,用于将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第一状态;
第二调整模块,用于将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第二状态。
本申请实施例中,基于时分复用的读写操作,在一个单端口RAM上写入图像帧中像素点位数为奇数的像素点的统计值,在另一个单端口RAM上写入图像帧中像素点位数为偶数的像素点的统计值,以此得到图像数据的图像直方图。上述图像直方图的统计过程中,只使用到了占用芯片面积较小以及运行功耗较低的单端口RAM,以此降低了在生成图像直方图过程中产生的功耗,同时还降低了方案设计的复杂度。
本申请实施例中的图像直方图生成装置可以是电子设备,也可以是电子设备中的部件、例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的图像直方图生成装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供图像直方图生成装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图9所示,本申请实施例还提供一种电子设备900,包括处理器901,存储器902,存储在存储器902上并可在所述处理器901上运行的程序或指令,该程序或指令被处理器901执行时实现上述图像直方图生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图10为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器1010,还用于在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点;
基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;
基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
其中,处理器1010,还用于在第一个时钟周期,读取第一个第一像素点的第一统计值,并每间隔N个时钟周期,按照每个第一像素点在所述图像帧上的排列顺序,读取一个第一像素点的第一统计值;
在第一目标时钟周期,在第一存储器中写入所述第一个第一像素点的第一统计值,并每间隔N个时钟周期,在第一存储器中写入一个第一像素点的第一统计值。
其中,处理器1010,还用于在第一个时钟周期,读取第一个第二像素点的第二统计值,并每间隔M个时钟周期,按照每个第二像素点在所述图像帧上的排列顺序,读取一个第二像素点的第二统计值;
在第二目标时钟周期,在第二存储器中写入所述第一个第二像素点的第二统计值,并每间隔M个时钟周期,在第二存储器中写入一个第二像素点的第二统计值。
其中,处理器1010,还用于在接收到读取指令的情况下,将所述图像直方图写入第三存储器;
在所述图像直方图全部写入所述第三存储器的情况下,从所述第三存储器中读取所述图像直方图,以对所述目标图像数据进行图像处理。
其中,处理器1010,还用于在接收到读取指令的情况下,将所述图像直方图写入第三存储器;
在将图像直方图写入所述第三存储器的过程中,每间隔一个时钟周期,从所述第三存储器中读取已写入的图像直方图数据,以对所述目标图像数据进行图像处理。
其中,处理器1010,还用于将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第一状态;
将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第二状态。
本申请实施例中,基于时分复用的读写操作,在一个单端口RAM上写入图像帧中像素点位数为奇数的像素点的统计值,在另一个单端口RAM上写入图像帧中像素点位数为偶数的像素点的统计值,以此得到图像数据的图像直方图。上述图像直方图的统计过程中,只使用到了占用芯片面积较小以及运行功耗较低的单端口RAM,以此降低了在生成图像直方图过程中产生的功耗,同时还降低了方案设计的复杂度。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10071。用户输入单元1007包括触控面板10071以及其他输入设备10072中的至少一种。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器1009可用于存储软件程序以及各种数据。存储器1009可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1009可以包括易失性存储器或非易失性存储器,或者,存储器1009可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器1009包括但不限于这些和任意其它适合类型的存储器。
处理器1010可包括一个或多个处理单元;可选的,处理器1010集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像直方图生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图像直方图生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述图像直方图生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (15)

1.一种图像直方图生成方法,其特征在于,包括:
在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点;所述第一像素点为所述图像帧上像素点位数为奇数的像素点,所述第二像素点为所述图像帧上像素点位数为偶数的像素点;
基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;所述第一读写操作和第二读写操作均为时分复用的读写操作,所述第一存储器和第二存储器均为单端口随机存取存储器;
基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
2.根据权利要求1所述的方法,其特征在于,所述基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值包括:
在第一个时钟周期,读取第一个第一像素点的第一统计值,并每间隔N个时钟周期,按照每个第一像素点在所述图像帧上的排列顺序,读取一个第一像素点的第一统计值;N为大于或等于1的正整数;
在第一目标时钟周期,在第一存储器中写入所述第一个第一像素点的第一统计值,并每间隔N个时钟周期,在第一存储器中写入一个第一像素点的第一统计值;所述第一目标时钟周期为读取第二个第一像素点的第一统计值之后的时钟周期。
3.根据权利要求1所述的方法,其特征在于,所述基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值包括:
在第一个时钟周期,读取第一个第二像素点的第二统计值,并每间隔M个时钟周期,按照每个第二像素点在所述图像帧上的排列顺序,读取一个第二像素点的第二统计值;M为大于或等于1的正整数;
在第二目标时钟周期,在第二存储器中写入所述第一个第二像素点的第二统计值,并每间隔M个时钟周期,在第二存储器中写入一个第二像素点的第二统计值;所述第二目标时钟周期为读取第二个第二像素点的第二统计值之后的时钟周期。
4.根据权利要求1所述的方法,其特征在于,所述得到所述目标图像数据对应的图像直方图之后,所述方法包括:
在接收到读取指令的情况下,将所述图像直方图写入第三存储器;所述第三存储器为单端口随机存取存储器;
在所述图像直方图全部写入所述第三存储器的情况下,从所述第三存储器中读取所述图像直方图,以对所述目标图像数据进行图像处理。
5.根据权利要求1所述的方法,其特征在于,所述得到所述目标图像数据对应的图像直方图之后,所述方法包括:
在接收到读取指令的情况下,将所述图像直方图写入第三存储器;所述第三存储器为单端口随机存取存储器;
在将图像直方图写入所述第三存储器的过程中,每间隔一个时钟周期,从所述第三存储器中读取已写入的图像直方图数据,以对所述目标图像数据进行图像处理。
6.根据权利要求1所述的方法,其特征在于,所述对所述目标图像数据中每个图像帧进行分离采样之前,所述方法还包括:
将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第一状态;
所述基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值之后,所述方法还包括:
将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第二状态。
7.一种图像直方图生成装置,其特征在于,包括:
采样模块,用于在获取到目标图像数据的情况下,对所述目标图像数据中每个图像帧进行分离采样,得到所述图像帧对应的至少一个第一像素点和至少一个第二像素点;所述第一像素点为所述图像帧上像素点位数为奇数的像素点,所述第二像素点为所述图像帧上像素点位数为偶数的像素点;
第一处理模块,用于基于第一读写操作在第一存储器中写入每个第一像素点的第一统计值,并基于第二读写操作在第二存储器中写入每个第二像素点的第二统计值;所述第一读写操作和第二读写操作均为时分复用的读写操作,所述第一存储器和第二存储器均为单端口随机存取存储器;
第二处理模块,用于基于所述第一统计值和所述第二统计值,得到所述目标图像数据对应的图像直方图。
8.根据权利要求7所述的装置,其特征在于,所述第一处理模块,具体用于:
在第一个时钟周期,读取第一个第一像素点的第一统计值,并每间隔N个时钟周期,按照每个第一像素点在所述图像帧上的排列顺序,读取一个第一像素点的第一统计值;N为大于或等于1的正整数;
在第一目标时钟周期,在第一存储器中写入所述第一个第一像素点的第一统计值,并每间隔N个时钟周期,在第一存储器中写入一个第一像素点的第一统计值;所述第一目标时钟周期为读取第二个第一像素点的第一统计值之后的时钟周期。
9.根据权利要求7所述的装置,其特征在于,所述第一处理模块,还具体用于:
在第一个时钟周期,读取第一个第二像素点的第二统计值,并每间隔M个时钟周期,按照每个第二像素点在所述图像帧上的排列顺序,读取一个第二像素点的第二统计值;M为大于或等于1的正整数;
在第二目标时钟周期,在第二存储器中写入所述第一个第二像素点的第二统计值,并每间隔M个时钟周期,在第二存储器中写入一个第二像素点的第二统计值;所述第二目标时钟周期为读取第二个第二像素点的第二统计值之后的时钟周期。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一写入模块,用于在接收到读取指令的情况下,将所述图像直方图写入第三存储器;所述第三存储器为单端口随机存取存储器;
第一读取模块,用于在所述图像直方图全部写入所述第三存储器的情况下,从所述第三存储器中读取所述图像直方图,以对所述目标图像数据进行图像处理。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二写入模块,用于在接收到读取指令的情况下,将所述图像直方图写入第三存储器;所述第三存储器为单端口随机存取存储器;
第二读取模块,用于在将图像直方图写入所述第三存储器的过程中,每间隔一个时钟周期,从所述第三存储器中读取已写入的图像直方图数据,以对所述目标图像数据进行图像处理。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一调整模块,用于将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第一状态;
第二调整模块,用于将与所述图像帧对应的图像直方图相关联的寄存器的工作状态,调整为第二状态。
13.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6中任一项所述的图像直方图生成方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6中任一项所述的图像直方图生成方法的步骤。
15.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6中任一项所述的图像直方图生成方法的步骤。
CN202210392957.XA 2022-04-14 2022-04-14 图像直方图生成方法、装置、电子设备及存储介质 Pending CN114862659A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210392957.XA CN114862659A (zh) 2022-04-14 2022-04-14 图像直方图生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210392957.XA CN114862659A (zh) 2022-04-14 2022-04-14 图像直方图生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114862659A true CN114862659A (zh) 2022-08-05

Family

ID=82631827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210392957.XA Pending CN114862659A (zh) 2022-04-14 2022-04-14 图像直方图生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114862659A (zh)

Similar Documents

Publication Publication Date Title
EP3248171B1 (en) Virtual linebuffers for image signal processors
US10936937B2 (en) Convolution operation device and convolution operation method
US10929965B2 (en) Histogram statistics circuit and multimedia processing system
US10070134B2 (en) Analytics assisted encoding
CN108537729B (zh) 图像无级缩放方法、计算机装置及计算机可读存储介质
CN106062662A (zh) 用于在dram存储器系统中提供省电的静态图像显示刷新的系统和方法
CN112927144A (zh) 图像增强方法、图像增强装置、介质和电子设备
CN115035128A (zh) 基于fpga的图像重叠滑窗分割方法及系统
CN113918233A (zh) 一种ai芯片控制方法、电子设备及ai芯片
CN108024116B (zh) 一种数据缓存方法及装置
CN100571325C (zh) 一种数据缓存方法、垂直缩放电路及终端
CN114862659A (zh) 图像直方图生成方法、装置、电子设备及存储介质
CN108875733B (zh) 一种红外小目标快速提取系统
CN115439386A (zh) 图像融合方法、装置、电子设备和存储介质
CN110060196A (zh) 图像处理方法及装置
CN115205099A (zh) 图像数据传输方法、装置和电子设备
CN106780291B (zh) 一种实时畸变图像处理加速装置
US10152766B2 (en) Image processor, method, and chipset for increasing intergration and performance of image processing
CN114782251A (zh) 视频超分方法、装置、电子设备及可读存储介质
CN114638742A (zh) 场景画面处理方法和电子设备
CN110428453B (zh) 数据处理方法、装置、数据处理设备及存储介质
US11972504B2 (en) Method and system for overlapping sliding window segmentation of image based on FPGA
CN115456858B (zh) 图像处理方法、装置、计算机设备及计算机可读存储介质
CN116974475A (zh) 数据缓存方法、装置及电子设备
CN116527908B (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