图像处理方法技术

技术编号:39669540 阅读:6 留言:0更新日期:2023-12-11 18:34
本申请公开了一种图像处理方法

【技术实现步骤摘要】
图像处理方法、图像处理电路、装置及电子设备


[0001]本申请属于图像处理
,具体涉及一种图像处理方法

图像处理电路

装置及电子设备


技术介绍

[0002]在数字图像处理领域,经常需要并行实施多行相邻图像的滤波电路

这些并行的滤波电路滤波核以及计算单元都相同,只是参与滤波的像素矩阵不同

[0003]如图1所示,为并行滤波电路的示意图
(
以三路并行的3×3均值滤波为例
)
,每一路滤波电路实现均值滤波功能,即滤波窗口内的3×3个像素求平均值

现有方法中,每一路计算单元均消耗8个加法器以及一个除法器

但从图1中的像素矩阵可以发现,部分某一路滤波窗口的一些计算过程在相邻路中重复出现,比如
output data22
对应的下路中
pixel33+pixel23
,在
output data32
中路里也有相同的计算,即现有方法存在冗余的计算逻辑,导致增大整体电路面积与功耗的问题


技术实现思路

[0004]本申请实施例的目的是提供一种图像处理方法

图像处理电路

装置及电子设备,能够解决现有图像处理方法因存在冗余的计算逻辑,而导致的增大整体电路面积与功耗的问题

[0005]第一方面,本申请实施例提供了一种图像处理方法,该方法包括:
[0006]获取待处理的图像帧,所述图像帧包括
M

N
列像素点,
M、N
为大于或者等于1的正整数;
[0007]对于所述图像帧中的每个像素块,利用多个第一运算器,对所述像素块进行纵向运算处理,得到多个中间运算结果;其中,所述像素块中多次参与运算的像素点使用相同的所述第一运算器;以
M

n
列像素点为一个像素块,
n
为大于或者等于1,且小于
N
的正整数;
[0008]利用多个第二运算器,对连续
m
个所述像素块对应的中间运算结果进行横向运算处理,得到多个最终运算结果,其中,连续
m
个所述像素块对应的中间运算结果存储于对应的寄存器内,
m
为大于1的正整数;
[0009]基于多个所述最终运算结果,进行预设运算处理,得到处理后的结果

[0010]第二方面,本申请实施例提供了一种图像处理装置,该装置包括:
[0011]获取模块,用于获取待处理的图像帧,所述图像帧包括
M

N
列像素点,
M、N
为大于或者等于1的正整数;
[0012]第一处理模块,用于对于所述图像帧中的每个像素块,利用多个第一运算器,对所述像素块进行纵向运算处理,得到多个中间运算结果;其中,所述像素块中多次参与运算的像素点使用相同的所述第一运算器;以
M

n
列像素点为一个像素块,
n
为大于或者等于1,且小于
N
的正整数;
[0013]第二处理模块,用于利用多个第二运算器,对连续
m
个所述像素块对应的中间运算
结果进行横向运算处理,得到多个最终运算结果,其中,连续
m
个所述像素块对应的中间运算结果存储于对应的寄存器内,
m
为大于1的正整数;
[0014]第三处理模块,用于基于多个所述最终运算结果,进行预设运算处理,得到处理后的结果

[0015]第三方面,本申请实施例提供了一种图像处理电路,包括:
[0016]图像帧缓存电路,用于缓存待处理的图像帧;
[0017]纵向多级第一运算器,纵向每级包括至少一个所述第一运算器;其中,在滤波窗口内,若每级第一运算器的个数多于1,则在先一级所述第一运算器中,两两为一组,每组中的两个所述第一运算器分别连接对应的在后一级的一个所述第一运算器;每组中的两个所述第一运算器为相邻的两个所述第一运算器;
[0018]针对每个所述滤波窗口设置有依次连接的多个寄存器,其中一寄存器与最后一级所述第一运算器连接;多个所述寄存器用于对应存储于最后一级所述第一运算器输出的中间运算结果;
[0019]横向多级第二运算器,横向每级包括多个所述第二运算器;其中,在滤波窗口内,若每级第二运算器的个数多于1,则在先一级所述第二运算器中,两两为一组,每组中的两个所述第二运算器分别连接对应的在后一级的一个所述第二运算器;每组中的两个所述第二运算器为相邻的两个所述第二运算器;
[0020]分别与所述图像帧缓存电路和所述寄存器连接的逻辑控制电路,所述逻辑控制电路用于控制所述图像帧中的像素输入至相应的所述第一运算器,并控制所述寄存器中的中间运算结果输入至相应的所述第二运算器;
[0021]针对每个所述滤波窗口设置有至少一个第三运算器,所述第三运算器和与之对应的最后一级所述第二运算器连接

[0022]第四方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的图像处理方法的步骤

[0023]第五方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的图像处理方法的步骤

[0024]第六方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的图像处理方法

[0025]第七方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的图像处理方法

[0026]在本申请实施例中,通过获取待处理的图像帧,所述图像帧包括
M

N
列像素点,
M、N
为大于或者等于1的正整数;对于所述图像帧中的每个像素块,利用多个第一运算器,对所述像素块进行纵向运算处理,得到多个中间运算结果;其中,该像素块中多次参与运算的像素点使用相同的第一运算器;以
M

n
列像素点为一个像素块,
n
为大于或者等于1,且小于
N
的正整数;之后,利用多个第二运算器,对连续
m
个所述像素块对应的中间运算结果进行横向运算处理,得到多个最终运算结果,其中,连续
m
个所述像素块对应的中间运算结果存储于对应的寄存器内,
m
为大于1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种图像处理方法,其特征在于,包括:获取待处理的图像帧,所述图像帧包括
M

N
列像素点,
M、N
为大于或者等于1的正整数;对于所述图像帧中的每个像素块,利用多个第一运算器,对所述像素块进行纵向运算处理,得到多个中间运算结果;其中,所述像素块中多次参与运算的像素点使用相同的所述第一运算器;以
M

n
列像素点为一个像素块,
n
为大于或者等于1,且小于
N
的正整数;利用多个第二运算器,对连续
m
个所述像素块对应的中间运算结果进行横向运算处理,得到多个最终运算结果,其中,连续
m
个所述像素块对应的中间运算结果存储于对应的寄存器内,
m
为大于1的正整数;基于多个所述最终运算结果,进行预设运算处理,得到处理后的结果
。2.
根据权利要求1所述的方法,其特征在于,所述利用多个第一运算器,对所述像素块进行纵向运算处理,得到多个中间运算结果,包括:对于所述像素块的每列像素点,每连续
k
行像素点为一个像素组,每个所述像素组经过纵向上
k
‑1个所述第一运算器后,得到一个中间运算结果;其中,像素点列方向上相邻两个所述像素组内存在多个相同的像素点,且相邻两个所述像素组中的最小行索引相差为1,每相邻两个所述像素组构成一个像素子块,每个所述像素子块中的两个所述像素组执行运算所使用的所述第一运算器中存在相同的所述第一运算器,
k
为大于1的奇数
。3.
根据权利要求2所述的方法,其特征在于,所述每个所述像素组经过纵向上
k
‑1个所述第一运算器后,得到一个中间运算结果,包括:将连续
k
行像素点中每两个相邻像素点经过纵向第一级运算中的一个所述第一运算器,得到
(k

1)/2
个纵向临时运算结果;其中,所述纵向第一级运算中相邻的两个所述第一运算器执行运算的像素点各不相同;若
(k

1)/2
为1,则将所述纵向临时运算结果和剩余的一个所述像素点经过一个所述第一运算器,得到一个中间运算结果;若
(k

1)/2
不为1,则将纵向第
i
级运算中,两两为一组,每组中的两个所述第一运算器输出的纵向临时运算结果经过纵向第
i+1
级运算中的一个所述第一运算器,得到
(k

1)/2
i+1
个纵向临时运算结果,每组中的两个所述第一运算器为相邻的两个所述第一运算器,
i
表示运算级数,从1开始取值,;若
(k

1)/2
i+1
不为1,则将
i+1
赋值给
i
,返回执行上一步骤直至
(k

1)/2
i+1
为1;若
(k

1)/2
i+1
为1,则将所述纵向临时运算结果和剩余的一个所述像素点经过一个所述第一运算器,得到一个中间运算结果
。4.
根据权利要求2所述的方法,其特征在于,
k
的取值等于滤波窗口的高度
。5.
根据权利要求1所述的方法,其特征在于,
n
的取值由在一个时钟输入的像素的个数确定;其中,
n
为1时,
m
的取值等于滤波窗口的宽度;
n
不为1时,
m
的取值由所述滤波窗口的宽度和
n
共同决定
。6.
根据权利要求2所述的方法,其特征在于,所述利用多个第二运算器,对连续
m
个所述像素块对应的中间运算结果进行横向运算处理,得到多个最终运算结果,包括:以连续
m
个所述像素块中

像素点行方向上每连续
h
个像素组对应的中间运算结果为一
个集合,每个所述集合经过横向上
h
‑1个所述第二运算器后,得到一个最终运算结果;其中,连续
h
个所述像素组的每个所述像素组具有相同的行索引,
h
为大于1的奇数
。7.
根据权利要求6所述的方法,其特征在于,所述每个所述集合经过横向上
h
‑1个所述第二运算器后,得到一个最终运算结果,包括:将连续
h
个中间运算结果中每两个相邻中间运算结果经过横向第一级运算中的一个所述第二运算器,得到
(h

1)/2
个横向临时运算结果;其中,所述横向第一级运算中相邻的两个所述第二运算器执行运算的中间运算结果各不相同;若
(h

1)/2
为1,则将所述横向临时运算结果和剩余的一个所述中间运算结果经过一个所述第二运算器,得到一个最终运算结果;若
(h

1)/2
不为1,则将横向第
j
级运算中每相邻的两个所述第二运算器输出的横向临时运算结果经过横向第
j+1
级运算中的一个所述第二运算器,得到
(h

1)/2
j+1
个横向临时运算结果,
j
表示运算级数,从1开始取值;若
(h

1)/2
j+1
不为1,则将
j+1
赋值给
j
,返回执行上一步骤直至
(h

1)/2
j+1
为1;若
(h

1)/2
j+1
为1,则将所横向临时运算结果和剩余的一个所述中间运算结果经过一个所述第二运算器,得到一个最终运算结果
。8.
根据权利要求6所述的方法,其特征在于,
h
的取值等于滤波窗口的宽度
。9.
一种图像处理装置,其特征在于,包括:获取模块,用于获取待处理的图像帧,所述图像帧包括
M

N
列像素点,
M、N
为大于或者等于1的正整数;第一处理模块,用于对于所述图像帧中的每个像素块,利用多个第一运算器,对所述像素块进行纵向运算处理,得到多个中间运算结果;其中,所述像素块中多次参与运算的像素点使用相同的所述第一运算器;以
M

n
列像素点为一个像素块,
n
为大于或者等于1,且小于
N
的正整数;第二处理模块,用于利用多个第二运算器,对连续
m
个所述像素块对应的中间运算结果进行横向运算处理,得到多个最终运算...

【专利技术属性】
技术研发人员:沈飘海
申请(专利权)人:维沃移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1