CN118014819A - 图像处理装置、方法、芯片、电子设备及可读存储介质 - Google Patents
图像处理装置、方法、芯片、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN118014819A CN118014819A CN202410208013.1A CN202410208013A CN118014819A CN 118014819 A CN118014819 A CN 118014819A CN 202410208013 A CN202410208013 A CN 202410208013A CN 118014819 A CN118014819 A CN 118014819A
- Authority
- CN
- China
- Prior art keywords
- information
- interpolation
- register
- interpolation points
- read
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims description 38
- 238000005070 sampling Methods 0.000 claims abstract description 47
- 238000003672 processing method Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000014759 maintenance of location Effects 0.000 claims description 8
- 230000003139 buffering effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种图像处理装置、方法、芯片、电子设备及可读存储介质,属于图像处理技术领域,该装置包括:读控制模块、存储模块和生成模块,读控制模块,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,存储模块中每个读地址存储有两个插值点的插值信息,插值信息用于表征所述输入图像的像素信息;存储模块,用于根据读请求信息,输出第一读地址和第二读地址存储的插值点的插值信息;生成模块,用于根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息,四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
Description
技术领域
本申请属于图像处理技术领域,具体涉及一种图像处理装置、方法、芯片、电子设备及可读存储介质。
背景技术
随着图像处理技术的高速发展,双线性插值技术得到了非常广泛的应用,双线性插值技术是一种已知四个插值点,以及待插值点和四个插值点之间的位置关系,从而映射出新点的技术。可知,在图像处理时,需要获取四个插值点,以利用双线性插值技术实现图像处理。
目前,可以从查找表中获取双线性插值技术的四个插值点,查找表中插值点的插值信息用于表征输入图像的像素信息,其中,查找表通常是存储在存储模块中,且是一个插值点存储至存储模块的一个地址中。这样,在进行插值点的插值信息读取时,通常只能一次读取一个插值点,使得图像处理的功耗较大。
发明内容
本申请实施例的目的是提供一种图像处理装置、方法、芯片、电子设备及可读存储介质,可以降低访问存储模块的次数,从而可以降低图像处理的功耗,提高图像处理的效率。
第一方面,本申请实施例提供了一种图像处理装置,所述装置包括:读控制模块、存储模块和生成模块,所述读控制模块的输出端与所述存储模块的输入端相连接,所述存储模块的输出端与所述生成模块的输入端相连接;其中,
所述读控制模块,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于所述存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
所述存储模块,用于根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
所述生成模块,用于根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
第二方面,本申请实施例提供了一种图像处理方法,所述方法包括:
根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
通过所述存储模块根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
第三方面,本申请实施例提供了一种图像处理电路,所述电路包括:读控制器、存储器和生成器,所述读控制器的输出端与所述存储器的输入端相连接,所述存储器的输出端与所述生成器的输入端相连接;其中,
所述读控制器,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于所述存储器中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储器中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
所述存储器,用于根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
所述生成器,用于根据所述存储器输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第二方面所述的图像处理方法的步骤。
第五方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第二方面所述的图像处理方法的步骤。
第六方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第二方面所述的图像处理方法的步骤。
第七方面,本申请实施例提供了一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第二方面所述的图像处理方法的步骤。
在本申请实施例中,通过在存储模块的一个地址中存储两个插值点的插值信息,并根据输入图像的像素位置和采样窗口信息,生成包括第一位置对应的第一读地址和第二位置对应的第二读地址的读请求信息,通过存储模块根据读请求信息,输出第一读地址和第二读地址分别存储的两个插值点的插值信息,之后根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息。这样,可以进行存储模块的读取时,可以从一个读地址中读取两个插值点的插值信息,从而可以降低访问存储模块的次数,进而可以降低访问存储模块带来的动态功耗,提高图像处理的效率。
附图说明
图1是本申请的一些实施例提供的双线性插值的窗口结构示意图;
图2是本申请的一些实施例提供的图像处理装置的结构示意图之一;
图3是本申请的一些实施例提供的查找表与输入图像的映射示意图;
图4是本申请的一些实施例提供的查找表存储至SRAM的关系示意图;
图5是本申请的一些实施例提供的查找表与输入图像的关系示意图;
图6是本申请的一些实施例提供的SRAM读取和缓存的原理示意图;
图7是本申请的一些实施例提供的图像处理装置的结构示意图之二;
图8是本申请的一些实施例提供的图像处理装置的结构示意图之三;
图9是本申请的一些实施例提供的点生成单元的工作原理示意图;
图10是本申请的一些实施例提供的图像处理电路的结构示意图;
图11是本申请的一些实施例提供的图像处理方法的流程图;
图12是本申请的一些实施例提供的电子设备的结构示意图;
图13为本申请的一些实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像处理装置进行详细地说明。
需要说明的是,本申请实施例提供的图像处理是图像采样处理,可以是图像上采样处理,也可以是图像下采样处理,这里不进行具体限定。
可以采用双线性插值技术来实现图像采样处理。以一个3x3的窗口为例,如图1所示,lu,ru,lb,rb分别代表左上、右上、左下和右下四个插值点,整个3x3窗口的9个点均是通过与lu、ru、lb、rb四个插值点的物理位置关系映射得到。而本实施例的目的即在于根据输入图像的像素位置,获取查找表中与该像素位置对应的四个第一插值点的插值信息,并利用这四个第一插值点的插值信息和像素位置进行双线性插值计算,以得到输出图像的像素信息,实现图像处理。
图2是本申请实施例提供的图像处理装置的结构示意图,如图2所示,该装置包括:读控制模块201、存储模块202和生成模块203,所述读控制模块201的输出端与所述存储模块202的输入端相连接,所述存储模块202的输出端与所述生成模块203的输入端相连接;其中,
所述读控制模块,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于所述存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
所述存储模块,用于根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
所述生成模块,用于根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
其中,所述查找表是根据所述输入图像的分辨率和采样窗口信息按照像素排布方式将插值点进行排列的。
采样窗口信息指示输入图像的像素点与查找表中的插值点的映射关系,采样窗口信息包括采样窗口的行和列,用mxn表示,其中,m表示行,n表示列,m和n可以相同,也可以不相同,以下实施例中以mxm的采样窗口为例进行说明。若采样窗口为2x2,则输入图像的4个像素点映射为查找表中一个插值点。
如图3所示,左图为查找表,右图中一格表示输入图像的一格像素点,采样窗口为2x2,其映射关系是输入图像中2x2的像素点映射为查找表中相对应的一个插值点。
查找表是根据输入图像的分辨率和采样窗口信息按照像素排布方式将插值点进行排列的,比如,输入图像的分辨率为1364x 1024,采样窗口是32x 32,则查找表的行为1364/32,为42行,查找表的列为1024/32,为32列,即查找表的大小为42x32。
可以将查找表中插值点的插值信息,两两一组存入存储模块中,存储模块可以为静态随机存取存储器(Static Random Access Memory,SRAM)中,将其按照插值所需的分辨率成矩形排布,如图4所示。
为了保证插值后的图像像素点的连续性,在根据输入图像的像素点的像素位置选择插值点时,可以采用一种四舍五入的方式,比如,采样窗口为32x 32,像素点的像素位置为(16,16),表示输入图像中第16行和第16列的像素点,16/32=0.5,四舍五入,表示L1行,以及s1的插值点,则该像素位置对应的第一插值点为(s0,s1,si,si+1)。其中,查找表中行和列的标号可以是从0开始的,如图3中黑框区域301内像素点的四个插值点(lu,ru,lb,rb)映射为查找表中(s0,s1,si,si+1),依次类推。
在一些实施例中,图像边界可能会超出采样窗口,比如,输入图像的分辨率为1364x 1024,采样窗口为32x32,因此,由于1364/32无法整除,输入图像与查找表无法完全对应,此时,会存在图像边界超出采样窗口的边界。
如图5所示,内实框501表示查找表,外实框502表示图像边界,2x2的虚线框表示采样窗口。为了保证插值后的图像像素点的连续性,在根据输入图像的像素点的像素位置选择插值点时,图像左边界或右边界越界时,则所选择的四个插值点中lu和ru相等,或者lb和rb相等,图像上边界或下边界越界时,则所选择的四个插值点中lu和lb相等,或者ru和rb相等。
第一位置为up位置,第二位置为bottom位置,如图1所示,lu和ru即位于up位置,lb和rb即位于bottom位置。读控制模块可以根据像素位置和采样窗口信息,确定四个第一插值点的up位置、bottom位置、左边位置和右边位置,其中,lu和lb位于左边位置,ru和rb位于右边位置,基于up位置、bottom位置、左边位置和右边位置,生成up位置对应的第一读地址和bottom位置对应的第二读地址,以从存储模块中读取出输入图像的像素位置对应的四个第一插值点的插值信息。
如图6所示,从列方向看插值的窗口,对于一个m×m的采样窗口,输入图像的像素位置位于前k1行(边框601表示)和后至少k1行(边框602)表示,up位置和bottom位置是相同的,k1为m除以2向下取整的值,如边框601中,up位置和bottom位置均是位于L0行。对于像素位置位于其余图像行,按照行计数器的值的对m四舍五入的结果,确定出bottom位置位于查找表的L行,则up位置位于L-1行。
在行方向上,先根据输入图像的像素点的有效标志位和有效标志位的像素点的像素位置设置列计数器,前k2列和后至少k2列,四个第一插值点中位于左边和右边的两个值是相同的,即lu和ru相同,或者lb和rb相同,k2为m除以2向下取整的值,其余列按照列计数器的值的对m四舍五入的结果,确定出右边位置位于查找表的位置,则左边位置相应在查找表中与右边位置相邻的位置。
可选的,如图7所示,所述读控制模块201包括读控制单元2011和请求生成单元2012,所述读控制单元2011的输出端与所述请求生成单元2012的输入端相连接,所述请求生成单元2012的输出端与所述存储模块202的输入端相连接;其中,
所述读控制单元,用于根据所述像素位置和所述查找表的结构信息,生成读使能控制信息,并根据所述像素位置和采样窗口信息,生成所述第一读地址和所述第二读地址,所述读使能控制信息用于控制所述存储模块是否输出插值点的插值信息,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
所述请求生成单元,用于根据所述第一读地址、第二读地址和读使能控制信息,生成读请求信息,所述读请求信息还包括所述读使能控制信息。
查找表中每行插值点的数量用i表示,如果i是奇数,取i除以2向上取整的值为a,up位置(或者bottom位置)对应查找表的行的奇数行时,如up位置对应查找表的第1行,列计数器可以在2m*a+k和行首处产生up位置(或者bottom位置)的读使能。在up位置(或者bottom位置)对应查找表的行为偶数时,如bottom位置对应查找表的第2行,列计数器可以在2m*a+(m+k)和行首处产生up位置(或者bottom位置)的读使能。如果i为偶数,则不需要分up位置和bottom位置所属查找表的行奇偶情况,列计数器可以在2m*a+k和行首处产生up位置(或者bottom位置)的读使能。
如图6所示,从行方向看插值的窗口,读控制单元可以在像素位置在三角形位置603产生读使能信号,读使能控制信息可以包括读使能信号。
读控制单元可以根据像素位置和采样窗口信息,生成up位置对应的第一读地址和bottom位置对应的第二读地址,其读地址生成见表1所示。
表1读地址生成表
其中,表1中addr_up为up位置对应的第一读地址,addr_bottom为bottom位置对应的第二读地址。情况1是up位置对应查找表的行是偶数的情况,情况2是查找表的行数量是奇数,且up位置对应的查找表的行是奇数的情况。
相应的,请求生成单元可以根据读控制单元生成的第一读地址、第二读地址和读使能控制信息,生成读请求信息,并将读请求信息传送给存储模块。
存储模块可以根据读请求信息中读使能控制信息,在读使能的情况下,输出第一读地址和第二读地址存储的插值点的插值信息。
另外,图像边界超出采样窗口区域采用镜像方式映射时,在图像的前m/2行和图像最后至少m/2行可以关断lb和rb的SRAM读使能;每行的前n/2个和行末最少n/2个像素点可以关断ru和rb的SRAM读使能。
在进行存储模块的读过程中,可以将bottom位置对应的第二读地址的读使能信号往后打一拍,先进行up位置对应的第一读地址的读动作,在下一个时间周期再进行bottom位置对应的第二读地址的读动作,这样SRAM将连续两个时间周期读,相应输出第一读地址和第二读地址存储的插值点的插值信息。
生成模块可以根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息。生成模块可以从存储模块输出的插值点的插值信息中获取四个第一插值点的插值信息。
本实施例中,通过在存储模块的一个地址中存储两个插值点的插值信息,并根据输入图像的像素位置和采样窗口信息,生成包括第一位置对应的第一读地址和第二位置对应的第二读地址的读请求信息,通过存储模块根据读请求信息,输出第一读地址和第二读地址分别存储的两个插值点的插值信息,之后根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息。这样,可以进行存储模块的读取时,可以从一个读地址中读取两个插值点的插值信息,从而可以降低访问存储模块的次数,进而可以降低访问存储模块带来的动态功耗,提高图像处理的效率。
在一些实施例中,生成模块可以根据存储模块输出的第一读地址和第二读地址的插值点的插值信息,可以直接得到四个第一插值点的插值信息。比如,第一读地址存储的是(s0,s1),第二读地址存储的是(si,si+1),而四个第一插值点为(s0,s1,si,si+1),则根据存储模块输出的第一读地址和第二读地址的插值点的插值信息,可以直接得到四个第一插值点的插值信息。
在一些实施例中,第一读地址存储的是(s2,s3),第二读地址存储的是(si+2,si+3),而四个第一插值点为(s1,s2,si+1,si+2),在存储模块的该次读取中,仅能读取到两个第一插值点即s2和si+2,需要根据存储模块的前次读取的插值点,来获取当前像素位置对应的四个第一插值点的插值信息,因此,可以增加缓存功能来进行插值点的像素信息的缓存。
可选的,如图8所示,所述生成模块203包括缓存单元2031和点生成单元2032,所述存储模块202的输出端与所述缓存单元2031的输入端相连接,所述缓存单元2031的输出端与所述点生成单元2032的输入端相连接;其中,
所述缓存单元,用于缓存所述存储模块输出的插值点的插值信息;
所述点生成单元,用于根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
点生成单元可以根据像素位置,确定四个第一插值点的缓存位置,并根据缓存位置,从缓存单元缓存的插值点的插值信息中获取四个第一插值点的插值信息。
可选的,如图8所示,所述缓存单元2031包括第一寄存器组20311和第二寄存器组20312,所述存储模块202的输出端分别与所述第一寄存器组20311和所述第二寄存器组20312的输入端相连接,所述第一寄存器组20311和所述第二寄存器组20312的输出端分别与所述点生成单元2032的输入端相连接;其中,
所述第一寄存器组缓存的插值点的插值信息用于生成所述第一位置对应的两个第一插值点的插值信息;
所述第二寄存器组缓存的插值点的插值信息用于生成所述第二位置对应的两个第一插值点的插值信息。
可以将up位置对应的第一读地址存储的两个插值点的插值信息存储至第一寄存器组中,并将bottom位置对应的第二读地址存储的两个插值点的插值信息存储至第二寄存器组中,可以在每个存储模块的读使能的下一拍将SRAM输出的两个插值点的插值信息分别存入第一寄存器组和第二寄存器组中。
可选的,如图8所示,所述第一寄存器组20311包括第一寄存器A和第二寄存器B,所述存储模块202的输出端与所述第一寄存器A的输入端相连接,所述第一寄存器A的输出端与所述第二寄存器B的输入端相连接,所述第一寄存器A和所述第二寄存器B的输出端分别与所述点生成单元2032的输入端相连接;其中,
所述第一寄存器,用于缓存所述存储模块输出的所述第一读地址存储的两个插值点的插值信息;
所述第二寄存器,用于在所述第一寄存器更新的情况下,缓存所述第一寄存器更新前存储的两个插值点的插值信息。
在存储模块的每个读使能的下一拍,可以将SRAM输出的up位置对应的第一读地址的值存入第一寄存器A,而在第一寄存器A更新的情况下,将第一寄存器A更新前存储的两个插值点的插值信息缓存至第二寄存器B中,这样,可以缓存存储模块的两次读取中不同第一读地址的插值点的插值信息,如第一寄存器A缓存存储模块输出的第一读地址的两个插值点(s0,s1)的插值信息,在存储模块下一次读取第一读地址的时间周期内,可以将第一寄存器A中缓存的(s0,s1)存储至第二寄存器B中,这样存储模块输出的第一读地址的两个插值点(s2,s3)的插值信息可以缓存至第一寄存器A,即可以实现第一寄存器A的更新,又可以将第一寄存器A上一次缓存的值保持至第二寄存器B中,从而可以根据第一寄存器A和第二寄存器B中缓存的数据生成第一位置对应的两个第一插值点的插值信息。
可选的,如图8所示,所述第二寄存器组20311包括第三寄存器C和第四寄存器D,所述存储模块202的输出端与所述第三寄存器C的输入端相连接,所述第三寄存器D的输出端与所述第四寄存器D的输入端相连接,所述第三寄存器C和所述第四寄存器D的输出端分别与所述点生成单元2032的输入端相连接;其中,
所述第三寄存器,用于缓存所述存储模块输出的所述第二读地址存储的两个插值点的插值信息;
所述第四寄存器,用于在所述第三寄存器更新的情况下,缓存所述第三寄存器更新前存储的两个插值点的插值信息。
在存储模块的每个读使能的下一拍,可以将SRAM输出的bottom位置对应的第二读地址的值存入第三寄存器C,而在第三寄存器C更新的情况下,将第三寄存器C更新前存储的两个插值点的插值信息缓存至第四寄存器D中,这样,可以缓存存储模块的两次读取中不同第二读地址的插值点的插值信息,如第三寄存器C缓存存储模块输出的第二读地址的两个插值点(si,si+1)的插值信息,在存储模块下一次读取第二读地址的时间周期内,可以将第三寄存器A中缓存的(si,si+1)存储至第四寄存器D中,这样存储模块输出的第二读地址的两个插值点(si+2,si+3)的插值信息可以缓存至第三寄存器C,即可以实现第三寄存器C的更新,又可以将第三寄存器C上一次缓存的值保持至第四寄存器D中,从而可以根据第三寄存器C和第四寄存器D中缓存的数据生成第二位置对应的两个第一插值点的插值信息。
在一些实施例中,在存储模块的每个读使能的下一拍,可以将SRAM的值分别存入第一寄存器A和第三寄存器C中,第一寄存器A或第三寄存器C的值,可以根据当前像素点的像素位置,在特定情况下存入第二寄存器B和第二寄存器D中,其中第一寄存器A和第二寄存器B接收来自up位置对应的第一读地址的数据,并且,根据第一寄存器A和第二寄存器B中的数据,生成插值点lu和ru,同理,根据第三寄存器C和第四寄存器D中的数据,生成插值点lb和rb。
之后,第一寄存器A、第二寄存器B、第三寄存器C、第四寄存器D的值在up位置对应的第一读地址的读使能信号到来的第4个时间周期均送入点生成单元中,点生成单元根据第一寄存器A、第二寄存器B、第三寄存器C、第四寄存器D的值,生成双线性插值需要的四个第一插值点。
如此,使用两个寄存器分别获取来自上下两行的SRAM数据,再使用两个寄存器分别作为上下两行寄存器的保持寄存器,从而可以获得该像素位置对应的四个第一插值点的插值信息。
可选的,所述缓存单元,还用于:
根据所述像素位置和所述查找表的结构信息,生成保持使能控制信息;
其中,所述保持使能控制信息用于控制所述缓存单元的同一寄存器组中不同寄存器之间的插值点的插值信息的缓存,所述结构信息指示所述查找表中每行插值点的数量奇偶性。
可以根据像素位置和查找表的结构信息,生成第二寄存器B的保持使能信号,该保持使能信号用于控制第二寄存器B接收第一寄存器A的数据,以保持第一寄存器A中的数据。也可以根据像素位置和查找表的结构信息,生成第四寄存器D的保持使能信号,该保持使能信号用于控制第四寄存器D接收第三寄存器C的数据,以保持第三寄存器C中的数据。其中,保持使能控制信息包括保持使能信号。
在一些实施例中,查找表中每行插值点的数量用i表示,如果i是奇数,取i除以2向上取整的值为a,up位置(或者bottom位置)对应查找表的行的奇数行时,如up位置对应查找表的第1行,列计数器可以在列计数器值为2m*a+k处产生第二寄存器B或D的保持使能信号。在up位置(或者bottom位置)对应查找表的行为偶数时,如bottom位置对应查找表的第2行,列计数器值为2m*a+(m+k)以及行首处产生第二寄存器B或D的保持使能信号。如果i为偶数,则不需要分up位置和bottom位置所属查找表的行奇偶情况,列计数器可以在2m*a+k和行首处产生产生第二寄存器B或D的保持使能信号。
如图6所示,从行方向看插值的窗口,读控制单元可以在像素位置在粗实线位置604产生保持使能信号。
本实施例中,在查找表中插值点两两一组进行SRAM存储的情况下,可以根据输入图像的像素位置分别设置一个列计数器和行计数器,用这两个计数器的值获取访问SRAM的up位置对应的第一读地址和bottom位置对应的第二读地址、读地址的读使能信号以及第二寄存器和第四寄存器的保持使能信号,从而实现查找表中插值点的插值信息先出现第一寄存器和第三寄存器中,接着更新到第二寄存器和第四寄存器中,实现查找表中up位置和bottom位置对应的插值点的生存周期达到两个采样窗口时间。采用四个寄存器来处理up位置对应的第一读地址和bottom位置对应的第二读地址读出的插值点的插值信息,只需要4个周期就可以输出四个第一插值点的插值信息。
可选的,所述点生成单元,具体用于:
根据所述像素位置和所述查找表的结构信息,确定第一状态信息,所述第一状态信息用于指示从所述第一寄存器和所述第二寄存器中获取所述第一位置对应的两个第一插值点的方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第一状态信息,从所述第一寄存器和所述第二寄存器缓存的插值点的插值信息中获取所述第一位置对应的两个第一插值点的插值信息。
可选的,所述点生成单元,具体用于:
根据所述像素位置和所述查找表的结构信息,确定第二状态信息,所述第二状态信息用于指示所述第二位置对应的两个第一插值点的获取方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第二状态信息,从所述第三寄存器和所述第四寄存器中缓存的插值点的插值信息中获取所述第二位置对应的两个第一插值点的插值信息;或者,根据所述第二状态信息,将所述第一位置对应的两个第一插值点的插值信息确定为所述第二位置对应的两个第一插值点的插值信息。
本实施例中,查找表中的插值点的插值信息先流入第一寄存器A和第三寄存器C中,后更新保持在第二寄存器B和第四寄存器D中,以up位置对应的采样窗口举例,即up位置对应的两个第一插值点(lu,ru)的值将依次为(A_low,A_low)、(B_low,B_high)、(B_high,A_low)、(B_low,B_high),将一开始出现的(A_low,A_low)作为初始状态,则后面将出现循环,如图9所示。
而up位置对应的两个第一插值点的切换可以根据第一状态信息确定,第一状态信息可以为状态标志state_flg或图像边界状态,图像边界状态可以包括初始状态和结束状态,state_flg等于列计数器的值减去k之后,对m取整后获得值的奇偶性,取整获得的值为偶数时state_flg=0,取整获得的值为奇数时state_flg=1,列计数器的值减去k出现负数的时刻便是初始状态,其变化规律见表2所示。
表2不同状态下点生成单元的结果
如果i是偶数,则结束状态为(B_high,B_high),否则结束状态为(B_low,B_low)。
需要说明的是,A_low表示从第一寄存器A中获取低位的插值点,A_high表示从第一寄存器A中获取高位的插值点,如(s0,s1),s0即表示低位的插值点,s1表示高位的插值点。B_low表示从第二寄存器B中获取低位的插值点,B_high表示从第二寄存器B中获取高位的插值点,如(s2,s3),s2即表示低位的插值点,s3表示高位的插值点。
相应的,可以根据第一状态信息,从第一寄存器A和第二寄存器B中获取up位置对应的两个第一插值点的插值信息。
对于bottom位置对应的采样窗口,与up位置对应的采样窗口不同的是,在图像边界状态时,即第二状态信息指示像素位置位于图像边界状态时,其bottom位置对应的两个第一插值点等于up位置对应的两个第一插值点,而第二状态信息为状态标志state_flg时,其是按照如上表2所示的方式,从第三寄存器C和第四寄存器D中缓存的插值点的插值信息中获取bottom位置对应的两个第一插值点的插值信息。其中,上表2中,第一寄存器A与第三寄存器C对应,第二寄存器B与第四寄存器D对应。
相应的,可以根据第二状态信息,获取bottom位置对应的两个第一插值点的插值信息。
另外,输入图像的像素点可以按照1ppc的输入速率输入至图像处理装置中,而对于2ppc以及4pcc这种偶数的输入序列,图像处理装置也可以高度复用,只是访问的查找表不同。在缓存查找表的时候,为了避免出现奇偶的复杂情况,可以在i出现奇数的时候进行高比特补0,来凑出偶数,这样可以极大简化本设计,实现更小的面积开销。
本申请实施例中的图像处理装置可以是装置,也可以是图像处理装置中的部件、集成电路、或芯片。该图像处理装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network AttachedStorage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的图像处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例还提供一种图像处理电路,参见图10,图10是本申请实施例提供的图像处理电路的结构示意图,如图10所示,所述电路包括:读控制器1001、存储器1002和生成器1003,所述读控制器1001的输出端与所述存储器1002的输入端相连接,所述存储器1002的输出端与所述生成器1003的输入端相连接;其中,
所述读控制器1001,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于所述存储器中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储器中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
所述存储器1002,用于根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
所述生成器1003,用于根据所述存储器输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
可选的,所述生成器1003包括缓存器10031和点生成器10032,所述存储器的输出端与所述缓存器的输入端相连接,所述缓存器的输出端与所述点生成器的输入端相连接;其中,
所述缓存器10031,用于缓存所述存储器输出的插值点的插值信息;
所述点生成器10032,用于根据所述缓存器缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
可选的,所述缓存器10031包括第一寄存器组100311和第二寄存器组100312,所述存储器的输出端分别与所述第一寄存器组和所述第二寄存器组的输入端相连接,所述第一寄存器组和所述第二寄存器组的输出端分别与所述点生成器的输入端相连接;其中,
所述第一寄存器组缓存的插值点的插值信息用于生成所述第一位置对应的两个第一插值点的插值信息;
所述第二寄存器组缓存的插值点的插值信息用于生成所述第二位置对应的两个第一插值点的插值信息。
可选的,所述第一寄存器组100311包括第一寄存器和第二寄存器,所述存储器的输出端与所述第一寄存器的输入端相连接,所述第一寄存器的输出端与所述第二寄存器的输入端相连接,所述第一寄存器和所述第二寄存器的输出端分别与所述点生成器的输入端相连接;其中,
所述第一寄存器,用于缓存所述存储器输出的所述第一读地址存储的两个插值点的插值信息;
所述第二寄存器,用于在所述第一寄存器更新的情况下,缓存所述第一寄存器更新前存储的两个插值点的插值信息。
可选的,所述点生成器10032,具体用于:
根据所述像素位置和查找表的结构信息,确定第一状态信息,所述第一状态信息用于指示从所述第一寄存器和所述第二寄存器中获取所述第一位置对应的两个第一插值点的方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第一状态信息,从所述第一寄存器和所述第二寄存器缓存的插值点的插值信息中获取所述第一位置对应的两个第一插值点的插值信息。
可选的,所述第二寄存器组100312包括第三寄存器和第四寄存器,所述存储器的输出端与所述第三寄存器的输入端相连接,所述第三寄存器的输出端与所述第四寄存器的输入端相连接,所述第三寄存器和所述第四寄存器的输出端分别与所述点生成器的输入端相连接;其中,
所述第三寄存器,用于缓存所述存储器输出的所述第二读地址存储的两个插值点的插值信息;
所述第四寄存器,用于在所述第三寄存器更新的情况下,缓存所述第三寄存器更新前存储的两个插值点的插值信息。
可选的,所述点生成器10032,具体用于:
根据所述像素位置和查找表的结构信息,确定第二状态信息,所述第二状态信息用于指示所述第二位置对应的两个第一插值点的获取方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第二状态信息,从所述第三寄存器和所述第四寄存器中缓存的插值点的插值信息中获取所述第二位置对应的两个第一插值点的插值信息;或者,根据所述第二状态信息,将所述第一位置对应的两个第一插值点的插值信息确定为所述第二位置对应的两个第一插值点的插值信息。
可选的,所述缓存器10031,还用于:
根据所述像素位置和查找表的结构信息,生成保持使能控制信息;
其中,所述保持使能控制信息用于控制所述缓存器的同一寄存器组中不同寄存器之间的插值点的插值信息的缓存,所述结构信息指示所述查找表中每行插值点的数量奇偶性。
可选的,所述读控制器1001包括读使能控制器10011和请求生成器10012,所述读使能控制器的输出端与所述请求生成器的输入端相连接,所述请求生成器的输出端与所述存储器的输入端相连接;其中,
所述读使能控制器,用于根据所述像素位置和查找表的结构信息,生成读使能控制信息,并根据所述像素位置和采样窗口信息,生成所述第一读地址和所述第二读地址,所述读使能控制信息用于控制所述存储器是否输出插值点的插值信息,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
所述请求生成器,用于根据所述第一读地址、第二读地址和读使能控制信息,生成读请求信息,所述读请求信息还包括所述读使能控制信息。
本申请实施例的图像处理电路中,读控制器可以实现图像处理装置中读控制模块的相应功能,存储器可以实现图像处理装置中存储模块的相应功能,生成器可以实现图像处理装置中生成模块的相应功能,缓存器可以实现图像处理装置中缓存单元的相应功能,点生成器可以实现图像处理装置中点生成单元的相应功能,读使能控制器可以实现图像处理装置中读控制单元的相应功能,请求生成器可以实现图像处理装置中请求生成单元的相应功能,为避免重复,这里不对其进行赘述。
本实施例中,通过在存储模块的一个地址中存储两个插值点的插值信息,并根据输入图像的像素位置和采样窗口信息,生成包括第一位置对应的第一读地址和第二位置对应的第二读地址的读请求信息,通过存储模块根据读请求信息,输出第一读地址和第二读地址分别存储的两个插值点的插值信息,之后根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息。这样,可以进行存储模块的读取时,可以从一个读地址中读取两个插值点的插值信息,从而可以降低访问存储模块的次数,进而可以降低访问存储模块带来的动态功耗,提高图像处理的效率。
本申请实施例还提供一种图像处理方法,参见图11,图11是本申请实施例提供的图像处理方法的流程图,包括以下步骤:
步骤1101,根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
步骤1102,通过所述存储模块根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
步骤1103,根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
可选的,所述步骤1103具体包括:
通过缓存单元缓存所述存储模块输出的插值点的插值信息;
根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
可选的,所述根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,包括:
通过缓存单元缓存所述存储模块输出的插值点的插值信息;
根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
可选的,所述缓存单元包括第一寄存器组和第二寄存器组,所述根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息,包括:
根据所述第一寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第一位置对应的两个第一插值点的插值信息;
根据所述第二寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第二位置对应的两个第一插值点的插值信息。
可选的,所述第一寄存器组包括第一寄存器和第二寄存器,所述第一寄存器,用于缓存所述存储模块输出的所述第一读地址存储的两个插值点的插值信息;所述第二寄存器,用于在所述第一寄存器更新的情况下,缓存所述第一寄存器更新前存储的两个插值点的插值信息;所述根据所述第一寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第一位置对应的两个第一插值点的插值信息,包括:
根据所述像素位置和查找表的结构信息,确定第一状态信息,所述第一状态信息用于指示从所述第一寄存器和所述第二寄存器中获取所述第一位置对应的两个第一插值点的方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第一状态信息,从所述第一寄存器和所述第二寄存器缓存的插值点的插值信息中获取所述第一位置对应的两个第一插值点的插值信息。
可选的,所述第二寄存器组包括第三寄存器和第四寄存器,所述第三寄存器,用于缓存所述存储模块输出的所述第二读地址存储的两个插值点的插值信息,所述第四寄存器,用于在所述第三寄存器更新的情况下,缓存所述第三寄存器更新前存储的两个插值点的插值信息;所述根据所述第二寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第二位置对应的两个第一插值点的插值信息,包括:
根据所述像素位置和查找表的结构信息,确定第二状态信息,所述第二状态信息用于指示所述第二位置对应的两个第一插值点的获取方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第二状态信息,从所述第三寄存器和所述第四寄存器中缓存的插值点的插值信息中获取所述第二位置对应的两个第一插值点的插值信息;或者,根据所述第二状态信息,将所述第一位置对应的两个第一插值点的插值信息确定为所述第二位置对应的两个第一插值点的插值信息。
可选的,所述方法还包括:
根据所述像素位置和查找表的结构信息,生成保持使能控制信息;
其中,所述保持使能控制信息用于控制所述缓存单元的同一寄存器组中不同寄存器之间的插值点的插值信息的缓存,所述结构信息指示所述查找表中每行插值点的数量奇偶性。
可选的,所述步骤1101具体包括:
根据所述像素位置和查找表的结构信息,生成读使能控制信息,所述读使能控制信息用于控制所述存储模块是否输出插值点的插值信息,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述像素位置和采样窗口信息,生成所述第一读地址和所述第二读地址;
根据所述第一读地址、第二读地址和读使能控制信息,生成读请求信息,所述读请求信息还包括所述读使能控制信息。
本实施例中,通过在存储模块的一个地址中存储两个插值点的插值信息,并根据输入图像的像素位置和采样窗口信息,生成包括第一位置对应的第一读地址和第二位置对应的第二读地址的读请求信息,通过存储模块根据读请求信息,输出第一读地址和第二读地址分别存储的两个插值点的插值信息,之后根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息。这样,可以进行存储模块的读取时,可以从一个读地址中读取两个插值点的插值信息,从而可以降低访问存储模块的次数,进而可以降低访问存储模块带来的动态功耗,提高图像处理的效率。
本申请实施例提供的图像处理装置和图像处理电路均能够实现图11的方法实施例实现的各个过程,达到相同的技术效果,为避免重复,这里不再赘述。
可选的,如图12所示,本申请实施例还提供一种电子设备1200,包括处理器1201,存储器1202,存储在存储器1202上并可在所述处理器1201上运行的程序或指令,该程序或指令被处理器1201执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图13为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备1300包括但不限于:射频单元1301、网络模块1302、音频输出单元1303、输入单元1304、传感器1305、显示单元1306、用户输入单元1307、接口单元1308、存储器1309、以及处理器1310等部件。所述电子设备1300还设有屏下指纹感应区域。
本领域技术人员可以理解,电子设备1300还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图13中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
处理器1310,用于:
根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
通过所述存储模块根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
本实施例中,通过在存储模块的一个地址中存储两个插值点的插值信息,并根据输入图像的像素位置和采样窗口信息,生成包括第一位置对应的第一读地址和第二位置对应的第二读地址的读请求信息,通过存储模块根据读请求信息,输出第一读地址和第二读地址分别存储的两个插值点的插值信息,之后根据存储模块输出的插值点的插值信息,生成四个第一插值点的插值信息。这样,可以进行存储模块的读取时,可以从一个读地址中读取两个插值点的插值信息,从而可以降低访问存储模块的次数,进而可以降低访问存储模块带来的动态功耗,提高图像处理的效率。
可选的,处理器1310,还用于:
通过缓存单元缓存所述存储模块输出的插值点的插值信息;
根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
可选的,所述缓存单元包括第一寄存器组和第二寄存器组,处理器1310,还用于:
根据所述第一寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第一位置对应的两个第一插值点的插值信息;
根据所述第二寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第二位置对应的两个第一插值点的插值信息。
可选的,所述第一寄存器组包括第一寄存器和第二寄存器,所述第一寄存器,用于缓存所述存储模块输出的所述第一读地址存储的两个插值点的插值信息;所述第二寄存器,用于在所述第一寄存器更新的情况下,缓存所述第一寄存器更新前存储的两个插值点的插值信息;处理器1310,还用于:
根据所述像素位置和查找表的结构信息,确定第一状态信息,所述第一状态信息用于指示从所述第一寄存器和所述第二寄存器中获取所述第一位置对应的两个第一插值点的方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第一状态信息,从所述第一寄存器和所述第二寄存器缓存的插值点的插值信息中获取所述第一位置对应的两个第一插值点的插值信息。
可选的,所述第二寄存器组包括第三寄存器和第四寄存器,所述第三寄存器,用于缓存所述存储模块输出的所述第二读地址存储的两个插值点的插值信息,所述第四寄存器,用于在所述第三寄存器更新的情况下,缓存所述第三寄存器更新前存储的两个插值点的插值信息;处理器1310,还用于:
根据所述像素位置和查找表的结构信息,确定第二状态信息,所述第二状态信息用于指示所述第二位置对应的两个第一插值点的获取方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第二状态信息,从所述第三寄存器和所述第四寄存器中缓存的插值点的插值信息中获取所述第二位置对应的两个第一插值点的插值信息;或者,根据所述第二状态信息,将所述第一位置对应的两个第一插值点的插值信息确定为所述第二位置对应的两个第一插值点的插值信息。
可选的,处理器1310,还用于:
根据所述像素位置和查找表的结构信息,生成保持使能控制信息;
其中,所述保持使能控制信息用于控制所述缓存单元的同一寄存器组中不同寄存器之间的插值点的插值信息的缓存,所述结构信息指示所述查找表中每行插值点的数量奇偶性。
可选的,处理器1310,还用于:
根据所述像素位置和查找表的结构信息,生成读使能控制信息,所述读使能控制信息用于控制所述存储模块是否输出插值点的插值信息,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述像素位置和采样窗口信息,生成所述第一读地址和所述第二读地址;
根据所述第一读地址、第二读地址和读使能控制信息,生成读请求信息,所述读请求信息还包括所述读使能控制信息。
应理解的是,本申请实施例中,输入单元1304可以包括图形处理器(GraphicsProcessing Unit,GPU)13041和麦克风13042,图形处理器13041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1306可包括显示面板13061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板13061。用户输入单元1307包括触控面板13071以及其他输入设备13072中的至少一种。触控面板13071,也称为触摸屏。触控面板13071可包括触摸检测装置和触摸控制器两个部分。其他输入设备13072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器1309可用于存储软件程序以及各种数据。存储器1309可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1309可以包括易失性存储器或非易失性存储器,或者,存储器1309可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)。本申请实施例中的存储器1309包括但不限于这些和任意其它适合类型的存储器。
处理器1310可包括一个或多个处理单元;在一些实施例中,处理器1310集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1310中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (20)
1.一种图像处理装置,其特征在于,所述装置包括:读控制模块、存储模块和生成模块,所述读控制模块的输出端与所述存储模块的输入端相连接,所述存储模块的输出端与所述生成模块的输入端相连接;其中,
所述读控制模块,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于所述存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
所述存储模块,用于根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
所述生成模块,用于根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
2.根据权利要求1所述的装置,其特征在于,所述生成模块包括缓存单元和点生成单元,所述存储模块的输出端与所述缓存单元的输入端相连接,所述缓存单元的输出端与所述点生成单元的输入端相连接;其中,
所述缓存单元,用于缓存所述存储模块输出的插值点的插值信息;
所述点生成单元,用于根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
3.根据权利要求2所述的装置,其特征在于,所述缓存单元包括第一寄存器组和第二寄存器组,所述存储模块的输出端分别与所述第一寄存器组和所述第二寄存器组的输入端相连接,所述第一寄存器组和所述第二寄存器组的输出端分别与所述点生成单元的输入端相连接;其中,
所述第一寄存器组缓存的插值点的插值信息用于生成所述第一位置对应的两个第一插值点的插值信息;
所述第二寄存器组缓存的插值点的插值信息用于生成所述第二位置对应的两个第一插值点的插值信息。
4.根据权利要求3所述的装置,其特征在于,所述第一寄存器组包括第一寄存器和第二寄存器,所述存储模块的输出端与所述第一寄存器的输入端相连接,所述第一寄存器的输出端与所述第二寄存器的输入端相连接,所述第一寄存器和所述第二寄存器的输出端分别与所述点生成单元的输入端相连接;其中,
所述第一寄存器,用于缓存所述存储模块输出的所述第一读地址存储的两个插值点的插值信息;
所述第二寄存器,用于在所述第一寄存器更新的情况下,缓存所述第一寄存器更新前存储的两个插值点的插值信息。
5.根据权利要求4所述的装置,其特征在于,所述点生成单元,具体用于:
根据所述像素位置和查找表的结构信息,确定第一状态信息,所述第一状态信息用于指示从所述第一寄存器和所述第二寄存器中获取所述第一位置对应的两个第一插值点的方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第一状态信息,从所述第一寄存器和所述第二寄存器缓存的插值点的插值信息中获取所述第一位置对应的两个第一插值点的插值信息。
6.根据权利要求3所述的装置,其特征在于,所述第二寄存器组包括第三寄存器和第四寄存器,所述存储模块的输出端与所述第三寄存器的输入端相连接,所述第三寄存器的输出端与所述第四寄存器的输入端相连接,所述第三寄存器和所述第四寄存器的输出端分别与所述点生成单元的输入端相连接;其中,
所述第三寄存器,用于缓存所述存储模块输出的所述第二读地址存储的两个插值点的插值信息;
所述第四寄存器,用于在所述第三寄存器更新的情况下,缓存所述第三寄存器更新前存储的两个插值点的插值信息。
7.根据权利要求6所述的装置,其特征在于,所述点生成单元,具体用于:
根据所述像素位置和查找表的结构信息,确定第二状态信息,所述第二状态信息用于指示所述第二位置对应的两个第一插值点的获取方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第二状态信息,从所述第三寄存器和所述第四寄存器中缓存的插值点的插值信息中获取所述第二位置对应的两个第一插值点的插值信息;或者,根据所述第二状态信息,将所述第一位置对应的两个第一插值点的插值信息确定为所述第二位置对应的两个第一插值点的插值信息。
8.根据权利要求3所述的装置,其特征在于,所述缓存单元,还用于:
根据所述像素位置和查找表的结构信息,生成保持使能控制信息;
其中,所述保持使能控制信息用于控制所述缓存单元的同一寄存器组中不同寄存器之间的插值点的插值信息的缓存,所述结构信息指示所述查找表中每行插值点的数量奇偶性。
9.根据权利要求1所述的装置,其特征在于,所述读控制模块包括读控制单元和请求生成单元,所述读控制单元的输出端与所述请求生成单元的输入端相连接,所述请求生成单元的输出端与所述存储模块的输入端相连接;其中,
所述读控制单元,用于根据所述像素位置和查找表的结构信息,生成读使能控制信息,并根据所述像素位置和采样窗口信息,生成所述第一读地址和所述第二读地址,所述读使能控制信息用于控制所述存储模块是否输出插值点的插值信息,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
所述请求生成单元,用于根据所述第一读地址、第二读地址和读使能控制信息,生成读请求信息,所述读请求信息还包括所述读使能控制信息。
10.一种图像处理方法,其特征在于,所述方法包括:
根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于存储模块中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储模块中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
通过所述存储模块根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
11.根据权利要求10所述的方法,其特征在于,所述根据所述存储模块输出的插值点的插值信息,生成所述四个第一插值点的插值信息,包括:
通过缓存单元缓存所述存储模块输出的插值点的插值信息;
根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息。
12.根据权利要求11所述的方法,其特征在于,所述缓存单元包括第一寄存器组和第二寄存器组,所述根据所述缓存单元缓存的插值点的插值信息和所述像素位置,生成所述四个第一插值点的插值信息,包括:
根据所述第一寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第一位置对应的两个第一插值点的插值信息;
根据所述第二寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第二位置对应的两个第一插值点的插值信息。
13.根据权利要求12所述的方法,其特征在于,所述第一寄存器组包括第一寄存器和第二寄存器,所述第一寄存器,用于缓存所述存储模块输出的所述第一读地址存储的两个插值点的插值信息;所述第二寄存器,用于在所述第一寄存器更新的情况下,缓存所述第一寄存器更新前存储的两个插值点的插值信息;所述根据所述第一寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第一位置对应的两个第一插值点的插值信息,包括:
根据所述像素位置和查找表的结构信息,确定第一状态信息,所述第一状态信息用于指示从所述第一寄存器和所述第二寄存器中获取所述第一位置对应的两个第一插值点的方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第一状态信息,从所述第一寄存器和所述第二寄存器缓存的插值点的插值信息中获取所述第一位置对应的两个第一插值点的插值信息。
14.根据权利要求12所述的方法,其特征在于,所述第二寄存器组包括第三寄存器和第四寄存器,所述第三寄存器,用于缓存所述存储模块输出的所述第二读地址存储的两个插值点的插值信息,所述第四寄存器,用于在所述第三寄存器更新的情况下,缓存所述第三寄存器更新前存储的两个插值点的插值信息;所述根据所述第二寄存器组缓存的插值点的插值信息和所述像素位置,生成所述第二位置对应的两个第一插值点的插值信息,包括:
根据所述像素位置和查找表的结构信息,确定第二状态信息,所述第二状态信息用于指示所述第二位置对应的两个第一插值点的获取方式,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述第二状态信息,从所述第三寄存器和所述第四寄存器中缓存的插值点的插值信息中获取所述第二位置对应的两个第一插值点的插值信息;或者,根据所述第二状态信息,将所述第一位置对应的两个第一插值点的插值信息确定为所述第二位置对应的两个第一插值点的插值信息。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
根据所述像素位置和查找表的结构信息,生成保持使能控制信息;
其中,所述保持使能控制信息用于控制所述缓存单元的同一寄存器组中不同寄存器之间的插值点的插值信息的缓存,所述结构信息指示所述查找表中每行插值点的数量奇偶性。
16.根据权利要求10所述的方法,其特征在于,所述根据输入图像的像素位置和采样窗口信息,生成读请求信息,包括:
根据所述像素位置和查找表的结构信息,生成读使能控制信息,所述读使能控制信息用于控制所述存储模块是否输出插值点的插值信息,所述结构信息指示所述查找表中每行插值点的数量奇偶性;
根据所述像素位置和采样窗口信息,生成所述第一读地址和所述第二读地址;
根据所述第一读地址、第二读地址和读使能控制信息,生成读请求信息,所述读请求信息还包括所述读使能控制信息。
17.一种图像处理电路,其特征在于,所述电路包括:读控制器、存储器和生成器,所述读控制器的输出端与所述存储器的输入端相连接,所述存储器的输出端与所述生成器的输入端相连接;其中,
所述读控制器,用于根据输入图像的像素位置和采样窗口信息,生成读请求信息,所述读请求信息包括第一位置对应的第一读地址和第二位置对应的第二读地址,所述第一读地址和所述第二读地址均位于所述存储器中,所述第一位置和所述第二位置表征所述像素位置对应的四个第一插值点的相对位置,所述第一位置位于第一行,所述第二位置位于第二行,所述存储器中每个读地址存储有两个插值点的插值信息,所述插值信息用于表征所述输入图像的像素信息;
所述存储器,用于根据所述读请求信息,输出所述第一读地址和所述第二读地址存储的插值点的插值信息;
所述生成器,用于根据所述存储器输出的插值点的插值信息,生成所述四个第一插值点的插值信息,所述四个第一插值点的插值信息用于进行插值计算处理,以生成输出图像的像素信息。
18.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求10-16任一项所述的图像处理方法的步骤。
19.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求10-16任一项所述的图像处理方法的步骤。
20.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求10-16任一项所述的图像处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410208013.1A CN118014819A (zh) | 2024-02-26 | 2024-02-26 | 图像处理装置、方法、芯片、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410208013.1A CN118014819A (zh) | 2024-02-26 | 2024-02-26 | 图像处理装置、方法、芯片、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118014819A true CN118014819A (zh) | 2024-05-10 |
Family
ID=90960074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410208013.1A Pending CN118014819A (zh) | 2024-02-26 | 2024-02-26 | 图像处理装置、方法、芯片、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118014819A (zh) |
-
2024
- 2024-02-26 CN CN202410208013.1A patent/CN118014819A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4663619A (en) | Memory access modes for a video display generator | |
WO2022218253A1 (zh) | 图像块的处理方法、装置、电子设备、可读存储介质 | |
JPH0628485A (ja) | テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法 | |
US5621866A (en) | Image processing apparatus having improved frame buffer with Z buffer and SAM port | |
CN106780415B (zh) | 一种直方图统计电路及多媒体处理系统 | |
CN118014819A (zh) | 图像处理装置、方法、芯片、电子设备及可读存储介质 | |
JPH0310380A (ja) | 画像変換回路 | |
CN106780291B (zh) | 一种实时畸变图像处理加速装置 | |
KR100608766B1 (ko) | 이동 통신 단말기의 표시 장치 및 방법 | |
Jiao et al. | Histogram equalization image enhancement based on FPGA algorithm design and implementation | |
JP2005228073A (ja) | 画像処理装置、マイクロコンピュータ及び電子機器 | |
CN108696670A (zh) | 在成像时进行瓦片重用 | |
CN117710185A (zh) | 图像处理装置、方法、芯片、电子设备及可读存储介质 | |
JP3928730B2 (ja) | 半導体装置、マイクロコンピュータ及び電子機器 | |
CN114862659A (zh) | 图像直方图生成方法、装置、电子设备及存储介质 | |
CN116957939A (zh) | 图像缩放方法、装置、电子设备及可读存储介质 | |
WO2023082867A1 (zh) | 一种图像处理方法、芯片、电子设备及存储介质 | |
CN116974475A (zh) | 数据缓存方法、装置及电子设备 | |
WO2021115229A1 (zh) | 电子书的显示方法、装置、存储介质及电子设备 | |
JP2887122B2 (ja) | 画像データ処理装置及びそれを用いたシステム | |
JP2656754B2 (ja) | 画像データ処理装置及びそれを用いたシステム | |
CN117255256A (zh) | 图像数据处理方法、装置、电子设备及可读存储介质 | |
US20060109285A1 (en) | Method and apparatus for writing a non-rectangular frame to a display device | |
JP2005175705A (ja) | 画像処理装置、マイクロコンピュータ及び電子機器 | |
CN117274028A (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 |