一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像处理方法、装置及相关组件与流程

2021-10-29 22:53:00 来源:中国专利 TAG:图像处理 组件 装置 特别 方法


1.本技术涉及图像处理领域,特别涉及一种图像处理方法、装置及相关组件。


背景技术:

2.在居民生活、工业生产、航空航天领域,数字图像处理技术越来越重要。由于图像的数据量大,因此,需要采用图像压缩编码技术以满足高质量下使图像以较小的比特率传输的目的。本地视频图像经过vga(video graphics array,视频图形阵列)处理以后存入vga独有的内存空间ddr(double data rate,双倍速率同步动态随机存储器)中。为了实现视频图像的远程传输,jpeg压缩模块从ddr中读取视频源图像数据进行图像压缩,将压缩后的压缩图像数据存入ddr中,以太网控制器从ddr中读取压缩图像数据,通过以太网传输到远程终端。
3.现有技术中,vga以帧为单位将视频源图像数据存入ddr中,整帧视频源图像数据存储完成后,jpeg压缩模块从ddr中读取视频源图像数据,进行整帧视频源图像数据的rgb转yuv格式转换,然后对格式转换后的图像数据进行图像压缩。在传输大分辨率的视频图像时,整帧源图像数据的读写增大了传输延迟,且需要在jpeg压缩模块内实现整帧图像的分块,浪费系统资源。
4.因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。


技术实现要素:

5.本技术的目的是提供一种图像处理方法、装置、电子设备及计算机可读存储介质,能够降低数据传输延迟,减少系统资源的浪费。
6.为解决上述技术问题,本技术提供了一种图像处理方法,包括:判断ddr中的源图像数据的写入行数是否为预设行数或停止写入行数;所述预设行数为根据压缩条件确定的图像块的行数的整数倍,所述图像块为基于整帧图像确定的图像块矩阵中的任一所述图像块;若是,基于当前图像块的读取首地址、所述行数及列数从所述ddr中读取所述当前图像块的源图像数据;对所述当前图像块的源图像数据进行压缩处理得到压缩数据,并将所述压缩数据写入所述ddr。
7.可选的,所述判断ddr中的源图像数据的写入行数是否为预设行数的过程包括:检测ddr中的当前写地址是否为预设地址;若是,判定所述ddr中的源图像数据的写入行数为预设行数;若否,判定所述ddr中的源图像数据的写入行数不为所述预设行数。
8.可选的,所述基于当前图像块的读取首地址、所述行数及列数从所述ddr中读取所述当前图像块的源图像数据之前,该图像处理方法还包括:
若所述当前图像块为所述图像块矩阵中最后一列的所述图像块,判断所述ddr中所述源图像数据的列数是否为所述图像块的列数的整数倍;若否,对所述ddr中所述源图像数据进行列边缘处理。
9.可选的,所述列边缘处理包括以所述ddr中最后一列的所述源图像数据进行补齐操作,以使所述源图像数据的列数为所述图像块的列数的整数倍。
10.可选的,所述基于当前图像块的读取首地址、所述行数及列数从所述ddr中读取所述当前图像块的源图像数据之前,该图像处理方法还包括:若所述当前图像块为所述图像块矩阵中最后一行的所述图像块,判断所述ddr中所述源图像数据的行数是否为所述图像块的行数的整数倍;若否,对所述ddr中所述源图像数据进行行边缘处理。
11.可选的,所述行边缘处理包括以所述ddr中最后一行的所述源图像数据进行补齐操作,以使所述ddr中所述源图像数据的行数为所述图像块的行数的整数倍。
12.可选的,所述压缩处理包括rgb转yuv格式转换操作、dct变换操作、量化操作及熵编码操作。
13.为解决上述技术问题,本技术还提供了一种图像处理装置,包括:判断模块,用于判断ddr中的源图像数据的写入行数是否为预设行数或停止写入行数,若是,生成第一触发信号;所述预设行数为根据压缩条件确定的图像块的行数的整数倍,所述图像块为基于整帧图像确定的图像块矩阵中的任一所述图像块;读取模块,用于当接收到所述第一触发信号,基于当前图像块的读取首地址、所述行数及列数从所述ddr中读取所述当前图像块的源图像数据;压缩模块,用于对所述当前图像块的源图像数据进行压缩处理得到压缩数据,并将所述压缩数据写入所述ddr。
14.为解决上述技术问题,本技术还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上文任意一项所述的图像处理方法的步骤。
15.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的图像处理方法的步骤。
16.本技术提供了一种图像处理方法,每当ddr中写入的源图像数据达到压缩条件对应的图像块的行数或者达到停止写入行数时,读取ddr中的源图像数据构成当前图像块进行压缩处理,而无需等待整帧源图像数据均写入ddr后再处理,相对于现有的整帧读写方案,本技术每次读写的数据量要少,从而降低数据传输延迟,同时本技术在压缩之前完成整帧图像的分块,减少了系统资源的浪费。本技术还提供了一种图像处理装置、电子设备及计算机可读存储介质,具有和上述图像处理方法相同的有益效果。
附图说明
17.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人
员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本技术所提供的一种图像处理方法的步骤流程图;图2为本技术所提供的一种图像处理系统的结构示意图;图3为本技术所提供的另一种图像处理系统的结构示意图。
具体实施方式
19.本技术的核心是提供一种图像处理方法、装置、电子设备及计算机可读存储介质,能够降低数据传输延迟,减少系统资源的浪费。
20.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.请参照图1,图1为本技术所提供的一种图像处理方法的步骤流程图,该图像处理方法包括:s101:判断ddr中的源图像数据的写入行数是否为预设行数或停止写入行数,若是,执行s102;预设行数为根据压缩条件确定的图像块的行数的整数倍,图像块为基于整帧图像确定的图像块矩阵中的任一图像块;具体的,基于压缩条件可以确定每一个图像块的行数和列数,再基于整帧图像的分辨率就可以确定图像块矩阵的行数和列数,举例说明,在基于dct的jpeg压缩过程中,每一图像块的尺寸都是8
×
8,即图像块的行数和列数均为8,jpeg图像数据是rgb888格式时,一个图像块的数据是8
×8×
4byte。可以理解的是,假设整帧图像的分辨率是640
×
480,图像块的尺寸为8
×
8,则图像块矩阵的尺寸为80
×
60。不同的压缩条件对图像块的尺寸有不同的要求,相应的,图像块矩阵的行列数也会相应调整。可以理解的是,ddr中存储的源图像数据的行数和列数大于图像块的行数和列数。
22.为提高图像数据处理效率,需要对vga写入ddr中的源图像数据进行监控,每当源图像数据写满8行,即每当ddr中的源图像数据的写入行数为图像块的行数的整数倍时,即可以读取并处理ddr中的源图像数据,从而避免整帧图像存储后再进行处理所带来的弊端。当然,考虑到一帧图像的源图像数据在ddr中写完时,其行数可能并不是图像块的行数的整数倍,因此,当判定整帧图像的所有源图像数据均写入ddr后,即判定满足停止写入行数。作为一种可选的实施例,判断ddr中的源图像数据的写入行数是否为预设行数的过程包括:检测ddr中的当前写地址是否为预设地址;若是,判定ddr中的源图像数据的写入行数为预设行数;若否,判定ddr中的源图像数据的写入行数不为预设行数。
23.具体的,通过axi(advanced extensible interface,高级可扩展接口)主控判断ddr中awaddr写入地址是否为预设地址来判断ddr中的源图像数据的写入行数是否为预设行数。
24.s102:基于当前图像块的读取首地址、行数及列数从ddr中读取当前图像块的源图像数据;具体的,当ddr中的源图像数据的写入行数达到预设行数后,首先确定当前图像块
是否为图像块矩阵中最后一行的图像块,如果不是,则根据当前图像块的读取首地址以及图像块的行数、列数从ddr中读取当前图像块的源图像数据。本步骤中完成了对整帧图像的分块处理,以便提高图像数据处理效率。可以理解的是,图像块矩阵中首行首列第一个图像块的读取首地址为整帧图像的首地址,其他图像块的读取首地址基于第一个图像块的读取首地址、整帧图像的分辨率以及块序列号即可得到。
25.可以理解的是,预设行数是指图像块的行数的整数倍,以8
×
8的图像块为例,那么预设行数为8、16、24、32
……
,以此类推,第一次读取是写满8行,图像块矩阵中第一行的各图像块读取的源图像数据即ddr中1

8行的源图像数据,第二次读取是写满16行,图像块矩阵中第二行的各图像块读取的源图像数据即ddr中9

16行的源图像数据,以此类推。
26.s103:对当前图像块的源图像数据进行压缩处理得到压缩数据,并将压缩数据写入ddr。
27.具体的,当获取到当前图像块的源图像数据后,对当前图像块的源图像数据进行压缩处理,得到压缩数据,并将压缩数据写回ddr。可以理解的是,源图像数据和压缩数据在ddr中分区存储。
28.具体的,在基于dct(discrete cosine transform,离散余弦变换)的jpeg压缩过程,对源图像数据进行压缩,包括rgb转yuv格式转换操作、dct变换操作、量化操作及熵编码操作。具体的,将读取到的当前图像块的源图像数据进行rgb转yuv格式转换,然后基于dct变换,将数据依据量化表进行量化,最后通过熵编码得到压缩数据。可以理解的是,本技术在对源图像数据进行jpeg压缩之前完成了整帧图像的分块,可以节约jpeg压缩资源。
29.进一步的,为保证数据处理的完整性,当读取到当前图像块的源图像数据后,可将源图像数据输入到读fifo(first in first out,先入先出队列),由于读取到的源图像数据都是8
×
8大小的,所以读fifo的深度不需要很大,节省了一部分fifo资源。相应的,基于jpeg压缩处理完得到压缩数据后,也可以将压缩数据通过写fifo输出给ddr。
30.可见,本实施例中,每当ddr中写入的源图像数据达到压缩条件对应的图像块的行数或者达到停止写入行数时,读取ddr中的源图像数据构成当前图像块进行压缩处理,而无需等待整帧源图像数据均写入ddr后再处理,相对于现有的整帧读写方案,本技术每次读写的数据量要少,从而降低数据传输延迟,同时本技术在压缩之前完成整帧图像的分块,减少了系统资源的浪费。
31.在上述实施例的基础上:作为一种可选的实施例,基于当前图像块的读取首地址、行数及列数从ddr中读取当前图像块的源图像数据之前,该图像处理方法还包括:若当前图像块为图像块矩阵中最后一列的图像块,判断ddr中源图像数据的列数是否为图像块的列数的整数倍;若否,对ddr中源图像数据进行列边缘处理。
32.作为一种可选的实施例,列边缘处理包括以ddr中最后一列的源图像数据进行补齐操作,以使源图像数据的列数为图像块的列数的整数倍。
33.作为一种可选的实施例,基于当前图像块的读取首地址、行数及列数从ddr中读取当前图像块的源图像数据之前,该图像处理方法还包括:若当前图像块为图像块矩阵中最后一行的图像块,判断ddr中源图像数据的行数
是否为图像块的行数的整数倍;若否,对ddr中源图像数据进行行边缘处理。
34.作为一种可选的实施例,行边缘处理包括以ddr中最后一行的源图像数据进行补齐操作,以使ddr中源图像数据的行数为图像块的行数的整数倍。
35.可以理解的是,ddr中的源图像数据的行数和列数可能并不是图像块的行数和列数的整数倍,因此,为了维持整帧图像的视觉连续性,需要对图像块矩阵中最后一列的图像块以及最后一行的图像块的源图像数据进行边缘处理。
36.具体的,当ddr中源图像数据写满预设行数,即满足与该预设行数对应的图像块矩阵中某一行图像块的读取条件,考虑到由于ddr中的源图像数据的列数可能不是图像块的列数的整数倍,因此,读取到的源图像数据的大小不满足图像块的尺寸,此时,对ddr中的源图像数据进行列边缘处理,通过ddr中最后一列的源图像数据或通过补0的方式补齐边缘部分,以使读取到的本行最后一个图像块的源图像数据满足压缩条件。
37.相应的,若整帧图像的源图像数据都写入ddr后,此时该读取图像块矩阵中最后一行的各图像块的源图像数据,考虑到存在ddr中的源图像数据的行数不是图像块行数的整数倍的情况,为保证整帧图像的视觉连续性,当判定ddr中的源图像数据的行数不是图像块行数的整数倍时,对ddr中的源图像数据进行行边缘处理,通过ddr中最后一行的源图像数据或通过补0的方式补齐边缘部分,以使读取的最后一行的图像块的源图像数据满足压缩条件。
38.下面以8
×
8的图像块为例,对本技术中基于axi协议的源图像数据读取方案进行说明。
39.步骤201:系统初始化,通过检测awaddr判断vga写入ddr的源图像数据是否已经大于8行,如果没有大于8行,则等待,直到写入ddr的数据足够图像块读取。
40.步骤202:如果写入ddr的源图像数据大于8行,确定图像块矩阵的首行首列图像块的读取首地址 。
41.步骤203:axi主控读取图像块矩阵首行的源图像数据,首先读取图像块矩阵首行首列块的源图像数据,即m=0,n=0,按照从左到右的原则,确定图像块矩阵首行的下一个图像块的读取首地址,即 m=0,n 。判断下一个图像块是否是首行的最后一个图像块,如果不是首行的最后一个图像块,axi主控按照该图像块的读取首地址从ddr中读取源图像数据,如果是首行的最后一个图像块,判断ddr中源图像数据的列数是否是8的整数倍,如果源图像数据的列数是8的倍数,则不需要对源图像数据进行列边缘处理,直接读取即可,如果不是,则需要对源图像数据进行列边缘处理,列边缘处理完后,axi主控读取ddr中的源图像数据首行的最后一个图像块的源图像数据。
42.步骤204:判断awaddr是否满足图像块矩阵下一行的源图像数据的读取条件,不满足则等待;步骤205:如果满足读取条件,则产生图像块矩阵的下一行的第一图像块的读取首地址,即m ,n=0。
43.步骤206:判断当前行是否为图像块矩阵的最后一行,如果此行不是图像块矩阵的最后一行,则axi主控读取此行的第一图像块的源图像数据,依次确定此行的下一个图像块的读取首地址,判断当前图像块是否是此行的最后一个图像块,如果不是最后一个图像块,
则axi主控依次从ddr中读取此行的下一图像块的源图像数据,如果此图像块是此行的最后一个图像块,判断ddr中源图像数据的列数是否是8的倍数,如果是8的倍数,则不需要进行列边缘处理,如不是8的倍数,则进行列边缘处理,列边缘处理完毕后,axi主控读取此行的最后一图像块的源图像数据。进入步骤204,依次读取图像块矩阵的下一行的源图像数据。
44.步骤207:如果下一行是图像块矩阵的最后一行,则判断ddr中源图像数据的行数是否是8的倍数,如果不是8的倍数,则进行行边缘处理,处理完毕后,axi主控读取末行第一个图像块的源图像数据,然后确定下一个图像块的读取首地址。判断下一个图像块是否是末行的最后一个图像块,如果不是末行的最后一个图像块,axi主控读取当前图像块的源图像数据。如果是末行的最后一个图像块,判断ddr中源图像数据的列数是否是8的倍数,如果此图像块是此行的最后一个图像块,判断ddr中源图像数据的列数是否是8的倍数,如果是8的倍数,则不需要进行列边缘处理,如不是8的倍数,则进行列边缘处理,列边缘处理完毕后,axi主控读取此行的最后一图像块的源图像数据,一帧图像完成捕获。
45.综上所述,本技术不需要等待vga模块存入ddr中的源图像数据整帧完成,在存入的源图像数据大于一个图像块的数据时,从ddr中读取源图像数据,以图像块数据为单位进行源图像数据捕获,以及后续的格式转换以及jpeg图像压缩。节省了源图像数据的捕获时间,极大的降低了数据传输的时间延迟,并且基于axi协议的捕获方法代替了jpeg图像压缩前的分块单元,节省了系统资源。
46.请参照图2,图2为本技术所提供的一种图像处理装置的结构示意图,该图像处理装置包括:判断模块1,用于判断ddr中的源图像数据的写入行数是否为预设行数或停止写入行数,若是,生成第一触发信号;预设行数为根据压缩条件确定的图像块的行数的整数倍,图像块为基于整帧图像确定的图像块矩阵中的任一图像块;读取模块2,用于当接收到第一触发信号,基于当前图像块的读取首地址、行数及列数从ddr中读取当前图像块的源图像数据;压缩模块3,用于对当前图像块的源图像数据进行压缩处理得到压缩数据,并将压缩数据写入ddr。
47.可见,本实施例中,每当ddr中写入的源图像数据达到压缩条件对应的图像块的行数或者达到停止写入行数时,读取ddr中的源图像数据构成当前图像块进行压缩处理,而无需等待整帧源图像数据均写入ddr后再处理,相对于现有的整帧读写方案,本技术每次读写的数据量要少,从而降低数据传输延迟,同时本技术在压缩之前完成整帧图像的分块,减少了系统资源的浪费。
48.作为一种可选的实施例,判断ddr中的源图像数据的写入行数是否为预设行数的过程包括:检测ddr中的当前写地址是否为预设地址;若是,判定ddr中的源图像数据的写入行数为预设行数;若否,判定ddr中的源图像数据的写入行数不为预设行数。
49.作为一种可选的实施例,该图像处理装置还包括:边缘处理模块4,用于若当前图像块为图像块矩阵中最后一列的图像块,判断ddr中源图像数据的列数是否为图像块的列数的整数倍,若否,对ddr中源图像数据进行列边缘
处理。
50.作为一种可选的实施例,列边缘处理包括以ddr中最后一列的源图像数据进行补齐操作,以使源图像数据的列数为图像块的列数的整数倍。
51.作为一种可选的实施例,边缘处理模块4,还用于若当前图像块为图像块矩阵中最后一行的图像块,判断ddr中源图像数据的行数是否为图像块的行数的整数倍,若否,对ddr中源图像数据进行行边缘处理。
52.作为一种可选的实施例,行边缘处理包括以ddr中最后一行的源图像数据进行补齐操作,以使ddr中源图像数据的行数为图像块的行数的整数倍。
53.作为一种可选的实施例,压缩处理包括rgb转yuv格式转换操作、dct变换操作、量化操作及熵编码操作。
54.作为一种优选的实施例,参照图3所示,该图像处理装置还包括:块地址产生模块5,用于当接收到第一触发信号,依次生成图像块矩阵中各个图像块的首地址;读fifo 6,用于传输读取模块2获取到的源图像数据;写fifo 7,用于传输压缩模块3处理后的压缩数据。
55.另一方面,本技术还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上文任意一个实施例所描述的图像处理方法的步骤。
56.本技术所提供的一种电子设备具有和上述图像处理方法相同的有益效果。
57.对于本技术所提供的一种电子设备的介绍请参照上述实施例,本技术在此不再赘述。
58.另一方面,本技术还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的图像处理方法的步骤。
59.本技术所提供的一种计算机可读存储介质具有和上述图像处理方法相同的有益效果。
60.对于本技术所提供的一种计算机可读存储介质的介绍请参照上述实施例,本技术在此不再赘述。
61.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
62.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其他实施例中实现。因此,本技术
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜