CN113628304A - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113628304A CN113628304A CN202111176969.0A CN202111176969A CN113628304A CN 113628304 A CN113628304 A CN 113628304A CN 202111176969 A CN202111176969 A CN 202111176969A CN 113628304 A CN113628304 A CN 113628304A
- Authority
- CN
- China
- Prior art keywords
- module
- pixel
- command
- image processing
- filling
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
Abstract
本申请提供一种图像处理方法、装置、电子设备及存储介质,该方法应用于包括主机、图像映射模组和存储模块的图像处理装置,图像映射模组包括地址坐标转换模块、图像处理模块和数据返回模块,该方法中地址坐标转换模块接收主机发送的多个像素数据返回命令,先将其携带的虚拟存储地址映射为坐标信息,并向图像处理模块发送坐标访问命令,然后图像处理模块根据预设填充参数确定出有效像素点和填充像素点,对有效像素点,将其坐标信息映射得到真实存储地址,并从存储模块的该地址中获取有效像素数据,对填充像素点,在数据返回模块中生成填充像素数据,最后由数据返回模块返回给主机。本申请用硬件模组实现对图像的数据填充和拼接,节省了软件开销。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
在车载显示系统中,主机的数据处理器(Data Processing Unit,DPU)在读取内存中存储的某个图像时,如果该图像的尺寸小于最终需要显示的超帧尺寸,通常需要对图像进行按比例填充。由于DPU只能做整帧的处理,需要先通过软件进行memcpy处理,即将图像从内存拷贝出来并插入填充数据,然后才能在DPU中以超帧形式发出给外部芯片,然而,此种方式需要在软件中完成处理,而软件的开发和维护成本较高,对运行环境的要求也较高,且内存拷贝还会带来时间和带宽的消耗。
因此,现有的图像处理过程存在软件开销较大的技术问题,需要改进。
发明内容
本申请实施例提供一种图像处理方法、装置、电子设备及存储介质,用以缓解现有的图像处理过程中软件开销较大的技术问题。
为解决上述技术问题,本申请实施例提供以下技术方案:
本申请提供一种图像处理方法,应用于图像处理装置,所述图像处理装置包括相互连接的主机、图像映射模组和存储模块,所述图像映射模组包括地址坐标转换模块、图像处理模块和数据返回模块,所述图像处理方法包括:
所述地址坐标转换模块接收所述主机发送的填充帧图像读取命令,所述填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;
所述地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在所述填充帧图像中的坐标信息,根据所述坐标信息,生成并向所述图像处理模块发送各像素数据返回命令对应的坐标访问命令;
所述图像处理模块根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,所述第一分类信息包括有效像素点或填充像素点,根据所述坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;
所述图像处理模块根据所述第一分类信息,生成并向所述数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向所述存储模块发送各组中有效像素点对应的有效像素数据返回命令,所述有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;
所述数据返回模块接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给所述主机。
同时,本申请还提供一种图像处理装置,所述图像处理装置包括相互连接的主机、图像映射模组和存储模块,所述图像映射模组包括地址坐标转换模块、图像处理模块和数据返回模块;
所述地址坐标转换模块用于,接收所述主机发送的填充帧图像读取命令,所述填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;
所述地址坐标转换模块还用于,根据各像素数据返回命令和第一映射关系,得到各组像素点在所述填充帧图像中的坐标信息,根据所述坐标信息,生成并向所述图像处理模块发送各像素数据返回命令对应的坐标访问命令;
所述图像处理模块用于,根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,所述第一分类信息包括有效像素点或填充像素点,根据所述坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;
所述图像处理模块还用于,根据所述第一分类信息,生成并向所述数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向所述存储模块发送各组中有效像素点对应的有效像素数据返回命令,所述有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;
所述数据返回模块用于,接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给所述主机。
本申请还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述任一项所述的图像处理方法中的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述任一项所述的图像处理方法的步骤。
有益效果:本申请提供一种图像处理方法、装置、电子设备及存储介质,该图像处理方法应用于图像处理装置,图像处理装置为硬件设备,包括相互连接的主机、图像映射模组和存储模块,图像映射模组包括地址坐标转换模块、图像处理模块和数据返回模块,在该方法中,地址坐标转换模块先接收主机发送的针对填充帧图像的读取命令,该命令包括多个像素数据返回命令,每个像素数据返回命令携带填充帧图像中一组像素点的虚拟存储地址和像素传输长度,所有组像素点构成一个完整的填充帧图像,然后,对每组像素点,地址坐标转换模块将虚拟存储地址映射为本组像素点在填充帧图像中的坐标信息,生成并向图像处理模块发送该组像素数据返回命令对应的坐标访问命令,接着,图像处理模块根据预设填充参数确定出每组像素点中哪一类像素点属于有效像素点,哪一类像素点属于填充像素点,对于有效像素点,将其坐标信息进行映射得到各有效像素点对应的真实存储地址和像素传输长度,并向存储模块发送携带该真实存储地址的有效像素数据返回命令,对于填充像素点,直接向数据返回模块发送填充像素数据返回命令,最后,数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。通过上述方法,在主机和存储模块之间增加一个硬件模组来实现了对图像的数据填充和拼接,不需要软件进行内存拷贝和填充数据,节省了内存拷贝所带来的时间和带宽消耗,也节省了软件开销。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1是本申请实施例提供的图像处理系统的场景示意图。
图2为本申请实施例提供的图像处理装置的第一种结构示意图。
图3为本申请实施例提供的图像处理装置的第二种结构示意图。
图4为本申请实施例提供的图像处理方法的流程示意图。
图5为本申请实施例中预设拼接方式的示意图。
图6为本申请实施例中图像1的填充示意图。
图7为本申请实施例的拼接帧图像中各类型像素点的第一种排布示意图。
图8为本申请实施例的拼接帧图像中各类型像素点的第二种排布示意图。
图9为本申请实施例的拼接帧图像中各类型像素点的第三种排布示意图。
图10为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1为本申请实施例所提供的图像处理系统的场景示意图,该应用场景中包括主机10、图像映射模组20和存储模块30;其中:
主机10包括数据处理单元DPU,DPU是一种将读取到的填充帧图像直接发送给显示屏幕的模块,当主机需要输出一个超帧的填充帧图像时,给图像映射模组20发送填充帧图像读取命令,该命令包括多个像素数据读取命令,每个像素数据读取命令对应一个总线传输,用于读取超帧中某一组像素点的像素数据,所有组像素点组合起来对应一个超帧。图像映射模组20响应每一个像素数据读取命令,返回一组像素点的像素数据,并最终返回给主机10。填充帧图像可以是单独帧图像,也可以是由至少两幅图像拼接形成的拼接帧图像,当其为单独帧图像时,单独帧图像自身需要进行像素数据的填充,当其为拼接帧图像时,形成拼接帧图像的两幅或多幅图像中,至少一幅图像需要进行像素数据的填充。
图像映射模组20包括地址坐标转换模块、图像处理模块、命令缓存模块和数据返回模块,图像映射模组20为硬件模组,与主机10之间通过接口进行连接,图像映射模组20响应于主机10发送的像素数据返回命令,从存储模块30中获取有效像素数据或在图像映射模组20中直接生成填充像素数据,然后返回给主机10。
存储模块30为系统内存或其他存储器,存储模块30与图像映射模组20之间通过接口进行连接,实现命令和数据的传输,存储模块30存储有多路视频的图像对应的像素数据,当图像映射模组20需要有效像素数据时,向存储模块30发送有效存储数据返回命令,则存储模块30返回对应的有效存储数据,存储模块30与图像映射模组20之间通过接口进行连接,实现命令和数据的传输。
主机10、图像映射模组20和存储模块30通过接口进行数据和信号的传输,以实现三者之间的数据交互,其中:
图像映射模组20中的地址坐标转换模块接收主机10发送的填充帧图像读取命令,填充帧图像读取命令可以基于AXI协议或其他总线协议生成和发送,其包括多个像素数据读取命令,每个像素数据读取命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度,其中像素传输长度为本次命令需要读取的像素点总数量。由于填充帧图像读取命令携带虚拟存储地址,而直接根据虚拟存储地址无法直接读取到真实存储在内存中的图像,需要先根据各像素数据返回命令和第一映射关系,得到每组像素点在填充帧图像中的坐标信息,以确定需要获取的是填充帧图像中哪些像素点的像素数据,再根据这些像素点的坐标信息,生成并向图像处理模块发送像素数据返回命令对应的坐标访问命令。
存储模块中真实存储的图像尺寸与最终拼接所需的尺寸相比,可能存在尺寸偏小的情况,在形成超帧之前需要对这类图像进行填充,即根据预设的有效像素数据和填充像素数据的填充比例,在一幅图像中插入多行填充像素数据,通过原有的有效像素数据和插入的填充像素数据共同形成完整的图像,该图像的尺寸与最终拼接所需的填充帧图像尺寸一致,预设的填充比例可根据实际需要进行预先配置。以拼接帧图像为单独帧图像为例,最终的填充帧图像为第一图像101,存储模块30中原本存储的图像为图像1,图像1需要先根据预设的填充比例插入填充像素数据,才能形成第一图像101。
因此,在接收到坐标访问命令后,图像处理模块先根据预设填充参数确定每组像素点中各类像素点的第一分类信息,第一分类信息用于表示某一类像素点是有效像素点还是填充像素点,如果是有效像素点,对应的像素数据为有效像素数据,则根据坐标访问命令和第二映射关系,得到每组像素点中有效像素点对应的真实存储地址和像素传输长度,以确定这些有效像素点的有效像素数据在存储模块中的真实存储地址、以及本次命令需要读取的有效像素点总数量,且生成并向存储模块发送有效像素数据返回命令,有效像素数据返回命令携带真实存储地址和像素传输长度;如果是填充像素点,对应的像素数据为填充像素数据,则生成并向数据返回模块发送填充像素点对应的填充像素数据返回命令。
数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。
需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本申请实施例描述的服务以及场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图2,图2是本申请实施例提供的图像处理装置的第一种结构示意图,图像处理装置包括主机10、图像映射模组20和存储模块30,图像映射模组20包括地址检查模块21、地址坐标转换模块22、图像处理模块23、命令选择模块24、命令缓存模块25和数据返回模块26。
主机10通过命令接口0与图像映射模组20的地址检查模块21连接,通过数据接口2与图像映射模组20的数据返回模块26连接,其中命令接口0作为主机10的返回命令通道,数据接口2作为图像映射模组20的返回数据通道。存储模块30通过命令接口10与图像映射模组20的命令选择模块24连接,通过数据接口1与图像映射模组20的数据返回模块26连接,其中命令接口10作为图像映射模组20的读命令通道,数据接口1作为图像映射模组20的读数据通道。
地址检查模块21通过命令接口1与地址坐标转换模块22连接,通过命令接口9与命令选择模块24连接,通过命令接口11与命令缓存模块25连接。地址坐标转换模块22通过命令接口12与图像处理模块23连接,图像处理模块23通过命令接口13与命令选择模块24连接,通过命令接口14与命令缓存模块25连接。命令缓存模块25通过命令接口8与数据返回模块26连接。
请参阅图3,图3是本申请实施例提供的图像处理装置的第二种结构示意图,与图2的结构不同之处在于,图3中的图像处理装置中图像处理模块包括至少两个子图像处理模块,每个子图像处理模块用于处理形成拼接帧图像的两幅或多幅图像中的其中一幅图像,为方便说明,图3以图像处理模块包括第一子图像处理模块231和第二子图像处理模块232为例,但不以此为限,还可适用于更多图像的拼接和填充处理。
此时,地址坐标转换模块22通过命令接口2与第一子图像处理模块231连接,通过命令接口3与第二子图像处理模块232连接。第一子图像处理模块231通过命令接口4与命令选择模块24连接,通过命令接口6与命令缓存模块25连接,第二子图像处理模块232通过命令接口5与命令选择模块24连接,通过命令接口7与命令缓存模块25连接。
图2中的图像处理装置用于读取单独的填充帧图像,图3中的图像处理装置用于读取拼接的填充帧图像。当然,也可以直接用图3中的结构实现读取单独的填充帧图像,如通过相应的设置,将图3中的任意一个子图像处理模块作为单独帧图像的处理模块。本申请中图像处理装置中图像处理模块的结构可根据需要设置,既可以仅用于处理单独的填充帧图像,也可以仅用于处理拼接的填充帧图像,还可以同时用于处理单独和填充帧图像和拼接的填充帧图像。为便于解释,以下实施例以图3中的结构可同时用于处理单独和拼接的填充帧图像,且设置第一子图像处理模块231用于处理单独填充帧图像为例进行说明。
请参阅图4,图4是本申请实施例提供的图像处理方法的流程示意图,该方法应用于图3所示的图像处理装置,该方法具体包括:
S401:地址坐标转换模块接收主机发送的填充帧图像读取命令,填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度。
在本申请实施例中,填充帧图像指将真实存储在存储模块30中的图像经过填充后形成的图像,真实存储的图像可以直接填充后作为单独帧图像,也可以填充后与其他图像拼接形成拼接帧图像。
主机10读取的每个填充帧图像包括阵列排布的多个像素点,每个像素点显示对应的像素数据,多个像素点的像素数据共同作用显示一帧完整画面。如图3所示,当主机10想要获取某个填充帧图像时,先给图像映射模组20发送填充帧图像读取命令,由于图像包括多行像素点,每行像素点又包括多个像素点,而一次总线传输所能传输的像素点有限,对每一行像素点,在获取像素数据时只能一组一组地依次获取,每组包括若干个顺序排列的像素点。例如,一行包括1080个像素点,总线宽度为64bit,一个像素点为32bit,若一次总线传输包括16个transfer,则一次总线传输也只能传输32个像素点的像素数据,这32个像素点作为一组,一行需要多个总线传输才能将像素数据传输完成。因此,对于每个填充帧图像读取命令,其包括多个像素数据返回命令,每个像素数据返回命令用于读取填充帧图像中的一组像素点的像素数据,所有的像素数据返回命令均得到响应后,才能返回所有组像素点的像素数据,得到一个完整的填充帧图像。
主机10发送给图像映射模组20的所有命令均为总线访问命令,填充帧图像读取命令为其中一种类型的访问命令,除了填充帧图像读取命令外的总线访问命令均为其他访问命令,其他访问命令可以是读取不需填充的非拼接帧图像,或者可以是访问这些图像的配置文件等。每个总线访问命令均携带有存储地址,主机10发送的总线访问命令先通过命令接口0发送到地址检查模块21,地址检查模块21检查总线访问命令中的存储地址,以判断该总线访问命令为填充帧图像读取命令或其他访问命令。存储地址包括虚拟存储地址和真实存储地址,其中真实存储地址是图像在存储模块30中真实存在的地址,可直接根据真实存储地址从存储模块30中取出真实像素数据以及配置文件等;虚拟存储地址为自定义的存储地址,其与真实存储地址之间具有映射关系,根据虚拟存储地址不能直接从存储模块30中读取数据,而需要先将其进行映射为真实存储地址,再根据该真实存储地址去存储模块30取数据。
对于其他访问命令,由于不需要填充,其所需访问的所有数据在存储模块30中的存储位置都是确定的,因此其他访问命令携带的均为真实存储地址。而对于填充帧图像,由于填充数据没有真实存储在存储模块30中,主机10在读取之前,并不清楚填充帧图像中的各像素数据的真实存储情况,因此填充帧图像读取命令携带的均为虚拟存储地址。地址检查模块21先根据总线访问命令携带的存储地址,确定该命令是填充帧图像读取命令还是其他访问命令图像,再根据不同情况将总线访问命令发送给不同的模块。
当判断结果为总线访问命令为其他访问命令时,如读取单独的图像3,图像3为非填充帧图像,此时总线访问同样包括多个像素数据返回命令,各像素数据返回命令携带图像3中不同组像素点的虚拟存储地址和像素传输长度,地址检查模块21直接将该命令对应的多个像素数据返回命令依次发送给命令选择模块24,再由命令选择模块24通过命令接口10依次发送给存储模块30,在存储模块30中根据每个像素数据返回命令对应的真实存储地址读取所需像素数据,并通过数据接口1发送给数据返回模块26。同时,地址检查模块21通过命令接口11将每个像素数据返回命令发送给命令缓存模块25,命令缓存模块25再将每个像素数据返回命令通过命令接口8发送给数据返回模块26,数据返回模块26根据命令缓存模块25的具体命令内容去处理存储模块30返回的像素数据,并通过数据接口2返回给主机10。
需要说明的是,命令接口11只有在主机10使用一个ID去读取非拼接帧图像时才会用到,其用于保证从一个ID过来的图像读取命令的处理顺序,防止出现乱序的情况,如果主机10读取几个非拼接帧图像时使用的是多个不同的ID,则不需要使用命令接口11,因此此时不需要考虑返回数据的顺序,可以乱序。
当判断结果为总线访问命令为填充帧图像读取命令时,无论是单独帧图像还是填充帧图像,仅仅依靠一个虚拟存储地址无法确定目标行像素点的像素数据的来源,需要先将该像素数据返回命令通过命令接口1发送给地址坐标转换模块22进行转换。
需要说明的是,在本申请中,如图3所示,在填充帧图像为单独帧图像时,将单独帧图像所需的原始图像记为图像1,其真实存储在存储模块30中,将最终形成填充帧图像时的一幅图像记为第一图像,图像1的尺寸小于第一图像的尺寸。在填充帧图像为拼接帧图像时,如图3所示,将拼接帧图像所需的原始图像记为图像1和图像2,其真实存储在存储模块30中,将最终形成拼接帧图像时的两个图像记为第一图像和第二图像,图像1的尺寸小于或等于第一图像的尺寸,图像2的尺寸也小于或等于第二图像的尺寸。
S402:地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在填充帧图像中的坐标信息,根据坐标信息,生成并向图像处理模块发送各像素数据返回命令对应的坐标访问命令。
地址坐标转换模块22在接收到像素数据返回命令后,根据第一映射关系将虚拟存储地址转换成坐标信息,具体为将虚拟存储地址映射为某一组像素点中第一个像素点在填充帧图像中的坐标,并根据像素传输长度确定这一组其他像素点在填充帧图像中的位置。例如,设填充帧图像的尺寸为X*Y,X表示像素点的列数,Y表示像素点的行数,以填充帧图像的左上角为坐标原点(0,0),则第i行第j列的像素点坐标为(i-1,j-1),其中1≤i≤Y,1≤j≤Y,且i和j为整数。在某个像素数据返回命令映射得到(0,i-1)至(j-1,i-1)共j个坐标时,根据该坐标信息后生成坐标访问命令,坐标访问命令用于表示需要读取第i行从(0,i-1)开始共j个像素点的像素数据。
在生成坐标访问命令后,向图像处理模块发送该坐标访问命令。
当填充帧图像为单独帧图像时,由于仅涉及到一幅图,得到的在填充帧图像中的坐标信息也是在单独帧图像中的坐标信息,因此可以直接向第一子图像处理模块231发送该坐标访问命令。当填充帧图像为拼接帧图像时,由于图像处理模块包括第一子图像处理模块231和第二子图像处理模块232,每个子图像处理模块仅用于处理一幅图像,因此需要先将在填充帧图像的坐标信息转换成在每幅图像中的坐标信息,再生成不同的坐标访问命令,并分别发送给对应的子图像处理模块。
在一种实施例中,S402具体包括:地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在拼接帧图像中的第一坐标信息;地址坐标转换模块根据预设拼接方式,确定每组像素点中各类像素点的第二分类信息,第二分类信息包括各类像素点与各幅图像的归属关系;地址坐标转换模块根据所述第二分类信息,将第一坐标信息转换为各组像素点在形成拼接帧图像的各副图像中的第二坐标信息;根据第二坐标信息,生成并向各子图像处理模块发送对应的坐标访问命令。如图3所示,图像处理模块包括第一子图像处理模块231和第二子图像处理模块232,对于由两幅图像拼接形成的拼接帧图像,先确定出每组像素点中哪些像素点是属于第一图像的,哪些像素点是属于第二图像的,然后,对于属于第一图像的一类像素点,地址坐标转换模块22生成第一坐标访问命令并发送给第一子图像处理模块231,对于属于第二图像的一类像素点,地址坐标转换模块22生成第二坐标访问命令并发送给第二子图像处理模块232,即每个子图像处理模块分别处理其中一幅图像的坐标访问命令。
当拼接帧图像由两幅图像拼接形成时,通常有两种拼接方法,具体为图5中的A所示的左右拼接方式和图5中的B所示的上下拼接方式。对于不同的拼接方式,目标行像素点的第二分类信息不同。
当预设拼接方式为左右拼接,且左边为第二图像,右边为第一图像时,设拼接帧图像尺寸为2000*2000,其中第一图像尺寸为500*2000,第二图像尺寸为1500*2000,各数字表示每行和每列像素点的数量。根据左右拼接方式可知,每行的2000个像素点中,(0,1)至(1499,1)共1500个像素点属于第二图像,(1500,1)至(1999,1)共500个像素点属于第一图像。对于拼接帧图像,将左上角作为坐标原点,对于第一图像和第二图像,也将对应图像中的左上角作为坐标原点。
当虚拟存储地址和像素传输长度表示需要访问第2行的第1至第32个像素点的像素数据时,先根据第一映射关系得到这些像素点在拼接帧图像中的第一坐标信息(0,1)至(31,1),然后根据左右拼接方式,确定这一组像素点全部属于第二图像,再将第一坐标信息转换为在第二图像中的第二坐标信息。由于这些像素点在拼接帧图像中位于第2行的第1至第32个,在第二图像中也位于第2行的第1至第32个,转换后得到的第二坐标信息也为(0,1)至(31,1),根据第二坐标信息,生成访问第二图像中从(0,1)开始共32个像素点的第二坐标访问命令并发送给第二子图像处理模块232。
当虚拟存储地址和像素传输长度表示需要访问第2行的第1481至第1512个像素点的像素数据时,先根据第一映射关系得到这些像素点在拼接帧图像中的第一坐标信息(1480,1)至(1511,1),然后根据左右拼接方式可知,这些像素点中,前20个属于第二图像,转换得到的在第二图像中的第二坐标信息为(1480,1)至(1499,1),因此生成访问第二图像中从(1480,1)开始共20个像素点的第二坐标访问命令并发送给第二子图像处理模块232;后12个属于第一图像,转换得到的在第一图像中的第二坐标信息为(0,1)至(11,1),因此生成访问第一图像中从(0,1)开始共12个像素点的第一坐标访问命令并发送给第一子图像处理模块231。
当虚拟存储地址和像素传输长度表示需要访问第2行的第1560至第1591个像素点的像素数据时,先根据第一映射关系得到这些像素点在拼接帧图像中的第一坐标信息(1559,1)至(1590,1),然后根据左右拼接方式,确定这一组像素点全部属于第一图像,再将第一坐标信息转换为在第一图像中的第二坐标信息。由于这些像素点在拼接帧图像中位于第2行的第1560至第1591个,在第一图像中位于第2行的第60至第91个,转换后得到的第二坐标信息也为(59,1)至(90,1),根据第二坐标信息,生成访问第一图像中从(59,1)开始共32个像素点的第一坐标访问命令并发送给第一子图像处理模块231。
当预设拼接方式为上下拼接,且上边为第二图像,下边为第一图像时,设拼接帧图像尺寸为2000*2000,其中第一图像尺寸为2000*500,第二图像尺寸为2000*1500,根据上下拼接方式可知,前1500行中,每行的2000个像素点均属于第二图像,后500行中,每行的2000个像素点均属于第二图像。
当虚拟存储地址和像素传输长度表示需要访问第2行的第1至第32个像素点的像素数据时,先根据第一映射关系得到这些像素点在拼接帧图像中的第一坐标信息(0,1)至(31,1),然后根据上下拼接方式,确定这一组像素点全部属于第二图像,再将第一坐标信息转换为在第二图像中的第二坐标信息。由于这些像素点在拼接帧图像中位于第2行的第1至第32个,在第二图像中也位于第2行的第1至第32个,转换后得到的第二坐标信息也为(0,1)至(31,1),根据第二坐标信息,生成访问第二图像中从(0,1)开始共32个像素点的第二坐标访问命令并发送给第二子图像处理模块232。
当虚拟存储地址和像素传输长度表示需要访问第1800行的第1至第32个像素点的像素数据时,先根据第一映射关系得到这些像素点在拼接帧图像中的第一坐标信息(0,1799)至(31,1799),然后根据上下拼接方式,确定这一组像素点全部属于第一图像,再将第一坐标信息转换为在第二图像中的第二坐标信息。由于这些像素点在拼接帧图像中位于第1800行的第1至第32个,在第一图像中位于第300行的第1至第32个,转换后得到的第二坐标信息也为(0,299)至(31,299),根据第二坐标信息,生成访问第一图像中从(0,299)开始共32个像素点的第一坐标访问命令并发送给第一子图像处理模块231。
S403:图像处理模块根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,第一分类信息包括有效像素点或填充像素点,根据坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度。
由于填充帧图像具有要求的尺寸,而存储模块30中原始存储的图像1和图像2的尺寸可能并不符合填充帧图像的要求,则需要先对不符合要求的图像进行像素数据的填充处理,具体为按比例填充像素数据,将小图像按比例拉伸到大尺寸的近似大小,填充后有效像素数据和填充像素数据的整体能够符合拼接帧图像的要求。例如,主机10需要第一图像为2000行,而真实的图像1只有1000行,则对于图像1还需要1000行的填充像素数据才能得到2000行的第一图像。
图像处理模块先根据预设填充参数确定每组像素点中各类像素点的第一分类信息,预设填充参数包括填充位置和填充比例。以图6中第一图像为例,填充位置为图像1的相邻行之间,填充比例为2:1,以Display1 Line表示显示有效像素数据的一行像素点,Padding Line表示显示填充像素数据的一行像素点,每两行Display1 Line中间插入一行Padding Line。根据预设填充参数,可以确定出图像1中哪行像素点为Display1 Line,哪行像素点为Padding Line,将属于Display1 Line的像素点作为有效像素点,将属于PaddingLine的像素点作为填充像素点。然后,根据每组像素点在本幅图像中所处的位置,可确定每组像素点中哪些像素点属于有效像素点,哪些像素点属于填充像素点。
具体地,在确定有效像素点和填充像素点时,通过设置在每个子图像处理模块中的计数器来完成。在每个子图像处理模块中均设置有计数器,用于记录已输出的行数。具体地,以预设填充参数为有效像素数据和填充像素数据的行数比为2:1为例,则每三行作为一个循环,当计数器的记录表示已经发送了两行有效像素数据后,下一行不会发送有效像素数据,而是会发送填充有效数据,当计数器记录到发完一行填充像素数据后,完成一个循环,并继续开始下一个循环的计数。此外,计数器还会记录已发送的有效像素数据的总行数,当某个图像的所有有效像素数据行都被发送完成后,还没有达到填充帧行数的要求,则剩余行的像素数据均发填充有效数据。通过计数器的方式,可以确定哪一行应该发有效像素数据,哪一行应该返回填充像素数据,因此可以确定出哪一些像素点为有效像素点,哪一些像素点为填充像素点。
对于某组像素点,其在拼接帧图像中所处的位置不同,其包括的像素点类型可能仅包括有效像素点,也可能进包括填充像素点,也可能既包括有效像素点又包括填充像素点。对于其中的有效像素点,图像处理模块在接收到坐标访问命令后,根据第二映射关系将坐标信息转换成真实存储地址和像素传输长度,真实存储地址用于表示该组像素点中第一个有效像素点的有效像素数据在存储模块30中的真实存储位置,像素传输长度用于表示从第一个有效像素点开始还要传输多少个像素点的有效像素数据。
在一种实施例中,S403具体包括:各子图像处理模块根据预设填充参数,将每组像素点中属于对应图像的一类像素点确定为有效像素点或填充像素点;在第一分类信息表征存在包括有效像素点的目标组像素点时,有效像素点对应的子图像处理模块根据坐标访问命令和第二映射关系,得到目标组像素点中有效像素点对应的真实存储地址和像素传输长度。由于图像处理模块包括第一子图像处理模块231和第二子图像处理模块232,每个子图像处理模块仅用于处理一幅图像的命令映射和分类,而根据预设拼接方式和预设拼接参数的不同,结合图7至图9可知,每组像素点中各类像素点的类型可以分为以下几种情况:
1.一组像素点均为有效像素点,且有效像素点全部属于第一图像或全部属于第二图像(例如该组仅位于图7至图9中的Dispaly2 Line 0至Dispaly2 Line 12,或者仅位于图7至图9中的Dispaly1 Line 0至Dispaly1 Line 7)。
2.一组像素点均为有效像素点,且有效像素点一部分属于第一图像,另一部分属于第二图像(例如该组位于图7中第1行,且一部分像素点位于Dispaly2 Line 0,另一部分像素点位于Dispaly1 Line 0)。
3.一组像素点均为填充像素点,且填充像素点一部分属于第一图像,另一部分属于第二图像(例如该组位于图8中的第3行,且一部分像素点位于第二图像的Padding Line0,另一部分像素点位于第一图像的Padding Line 0)。
4.一组像素点同时包括有效像素点和填充像素点,且有效像素点属于第一图像和第二图像中的其中一者,填充像素点属于第一图像和第二图像中的另外一者(例如该组位于图7中的第3行,且一部分像素点位于第二图像的Dispaly2 Line 2,另一部分像素点位于第一图像的Padding Line 0)。
5.一组像素点同时包括有效像素点和填充像素点,且有效像素点和填充像素点全部属于第一图像或全部属于第二图像(例如该组位于图9中的第15行,且一部分像素点位于第一图像的Dispaly1 Line 7,另一部分像素点位于第一图像的Padding Line 7)。
图7至图9中的A均表示拼接帧图像,B均表示拼接帧图像中的第一图像和第二图像。对于上述各类情况,每个子图像处理模块均先根据预设填充参数确定出自己负责的像素点是有效像素点还是填充像素点,对于有效像素点,根据第二映射关系确定出对应的真实存储地址和像素传输长度。
需要说明的是,图7至图9仅示出了拼接帧图像的其中三种拼接方式,但不以此为限,对于第一图像和第二图像,其中的任意一者都有可能需要拼接,也都有可能不需要拼接,因此拼接帧图像的最终呈现状态还有更多种情况,在此不再枚举。根据拼接情况的不同,每组像素点的类型也会不同。
S404:图像处理模块根据第一分类信息,生成并向数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向存储模块发送各组中有效像素点对应的有效像素数据返回命令,有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度。
根据第一分类信息可知每组像素点中各类像素点属于有效像素点还是填充像素点,有效像素点对应的有效像素数据存储在存储模块30中,图像处理模块生成并向存储模块30发送对应的有效像素数据返回命令,以进行有效像素数据的读取,填充像素点对应的填充像素数据未存储在存储模块30中,图像处理模块生成并向数据返回模块26发送对应的填充像素数据返回命令,以在图像映射模组20中直接生成填充像素数据。
在一种实施例中,S404具体包括:在第一分类信息表征存在目标类像素点为有效像素点时,有效像素点对应的子图像处理模块生成并向存储模块发送有效像素数据返回命令;在第一分类信息表征存在目标类像素点为填充像素点时,填充像素点对应的子图像处理模块生成并向数据返回模块发送填充像素数据返回命令。
如图6所示,图6中的A和C表示第一图像,B表示图像1,对于单独帧图像,以某一组像素点位于图6中第一图像的第1行为例,该组像素点均为Dispaly1 Line 0,第一分类信息表征该组中所有像素点均有有效像素点,则第一子图像处理模块231向存储模块30发送对应的邮箱像素数据返回命令。而以某一组像素点位于图6中第一图像的第3行为例,该组像素点均为Padding Line 0,第一分类信息表征该组中所有像素点均有填充像素点,则第一子图像处理模块231向数据返回模块26发送对应的填充像素数据返回命令。
对于拼接帧图像,以某一组像素点位于图7中第1行,且一部分像素点位于Dispaly2 Line 0,另一部分像素点位于Dispaly1 Line 0为例,第一分类信息和第二分类信息表征该组中存在属于第二图像的有效像素点和属于第一图像的有效像素点,则第一子图像处理模块231和第二子图像处理模块232分别向存储模块30发送对应的有效像素数据返回命令。而以某一组像素点位于图7中的第3行,且一部分像素点位于第二图像的Dispaly2 Line 2,另一部分像素点位于第一图像的Padding Line 0为例,第一分类信息和第二分类信息表征该组中存在属于第二图像的有效像素点和属于第一图像的填充像素点,则第二子图像处理模块232向存储模块30发送对应的有效像素数据返回命令,第一子图像处理模块231向数据返回模块26发送对应的填充像素数据返回命令。
在上述步骤中提到,每个子图像处理模块中均设置有计数器,通过计数器来确定哪一行是有效像素数据,哪一行是填充像素数据。由于有效像素数据和填充像素数据在不同的模块中存储或产生,需要根据计数器的记录情况,确定当前应该发送那种类型的命令。以需要对图像1进行填充,且设定填充位置为图像1的相邻行之间,填充比例为2:1为例,则计数器从第一行开始计算,在第一子图像处理模块231向存储模块30发送了两行像素点对应的多个有效像素数据返回命令后,向数据返回模块26发送一行像素点对应的多个填充像素数据返回命令,然后继续计数,每发送两行的有效像素数据返回命令,向数据返回模块26发送一行的填充像素数据返回命令。
主机10发送的像素数据返回命令包括对应填充帧图像的命令和其他访问命令,其他访问命令会通过命令接口9发送到命令选择模块24,填充帧图像的命令会根据图像处理模块的处理结果,被第一子图像处理模块231通过命令接口4和/或被第二子图像处理模块232通过命令接口5发送到命令选择模块24,因此,命令选择模块24可以接收来自三个不同模块的命令,并根据各命令到来的先后顺序,依次发送给存储模块30。
S405:数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。
存储模块30接收到有效像素数据返回命令后,根据有效像素数据返回命令携带的真实存储地址和像素传输长度读取对应的有效像素数据,并通过数据接口1将有效像素数据发送给数据返回模块26;数据返回模块26接收到填充像素数据返回命令后,生成一个固定数值作为填充像素数据;存储模块30接收到其他访问命令后,也会根据该命令从真实存储地址中读取所需的数据,并同样通过数据接口1将数据发送给数据返回模块26。然后,由数据返回模块26将这些像素数据返回给主机10。
在一种实施例中,在S405之前还包括:图像处理模块根据第一分类信息和第二分类信息,确定每组像素点中各类像素点的排列顺序;根据排列顺序,各子图像处理模块向命令缓存模块发送每组像素点对应的有效像素返回命令和/或填充像素数据返回命令。根据第一分类信息可区分每组像素点中的有效像素点和填充像素点,根据第二分类信息可区分每组中有效像素点与第一图像和第二图像的归属关系、以及每组中填充像素点与第一图像和第二图像的归属关系,进而得到每组像素点中各类像素点的排列顺序。然后,按照该排列顺序依次向命令缓存模块25发送各类像素点对应的返回命令。
具体地,以从左到右读取的方式为例,当某一组像素点中各类像素点的排列顺序为第二图像的有效像素点-第一图像的填充像素点,则第二子图像处理模块232先通过命令接口7向命令缓存模块25发送有效像素数据返回命令,然后第一子图像处理模块231再通过命令接口6向命令缓存模块25发送填充像素数据返回命令。
在一种实施例中,S405具体包括:命令缓存模块处理各返回命令,并根据排列顺序向数据返回模块发送处理后的各返回命令,处理后的各返回命令携带拼接参数;数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并根据排列顺序和各返回命令携带的拼接参数,处理各组像素点对应的像素数据,并返回给主机。
命令缓存模块25用于缓存和处理从命令接口6、命令接口7和命令接口11发送来的返回命令,并按照接收命令的顺序将处理后的各返回命令依次发送给数据返回模块26,数据返回模块26再根据各返回命令的具体内容,去处理存储模块30返回的有效像素数据和直接生成的填充像素数据。在接收到返回命令时,命令缓存模块25将返回命令处理成数据返回模块26可读取的格式,并添加拼接参数,拼接参数用于表示当前返回命令对应的像素数据是否需要与下一条返回命令对应的像素数据进行拼接处理。当需要拼接时,处理后的返回命令会携带需要等待下一条返回命令的描述,则在数据返回模块26接收到该条返回命令后,不会马上处理,而是等待下一条返回命令过来之后,根据两条返回命令的内容去获取各自的像素数据,并拼接成一个完整像素数据,该完整像素数据对应一个完整的组。当不需要拼接时,处理后的返回命令可以携带不需要等待下一条返回命令的描述,或者默认不携带该描述,则在数据返回模块26接收到该条返回命令后,直接处理即可,而不需要等待下一条返回命令。
在上述实施例中提到,拼接帧图像的每组像素点中各类像素点的情况有5种,对于情况1,一组像素点仅包括一种类型,则存储模块30返回的有效像素数据即为该组像素点所需的全部像素数据,不需要再进行拼接,因此该情况下第一子图像处理模块231或第二子图像处理模块232发送给命令缓存模块25的有效像素返回命令,在处理后会表示不需要对像素数据进行拼接,则数据返回模块26根据该有效像素返回命令,直接将从存储模块30取到的有效像素数据返回给主机10即可。
对于情况2至情况5,由于一组像素点均包括两种类型,而两种类型的像素数据又是相互独立的,此时可根据需要选择将两种类型的像素数据单独返回给主机10,或者选择将两种类型的像素数据拼接成一个完整组的像素数据后再返回给主机10。对于前者,命令缓存模块25每发送一个返回命令给数据返回模块26,数据返回模块26会直接处理该命令,并将该命令对应的像素数据返回给主机10。对于后者,命令缓存模块25按照排列顺序依次发送两种类型像素点对应的返回命令,且在前一条返回命令中表示需要和下一条返回命令一起处理,在后一条返回命令中表示不需要和下一条返回命令一起处理,则数据返回模块26等两条返回命令都过来后,将存储模块30中取出的两个有效像素数据拼接成一个完整组像素数据后返回、或者将存储模块30中取出的一个有效像素数据和在数据返回模块26中直接生成的填充像素数据拼接成一个完整组像素数据后返回、或者将在数据返回模块26中直接生成的两个填充像素数据拼接成一个完整组像素数据后返回。
数据返回模块26在得到各组像素数据并进行上述步骤的处理后返回给主机10,然后主机10可以发送给外部芯片。对于单独帧图像,由外部芯片发送给需要的显示屏,对于拼接帧图像,由外部芯片将拼接后的两幅图像分别发送给不同的显示屏。
通过上述分析可知,在本申请的图像处理方法中,地址坐标转换模块先接收主机发送的针对填充帧图像的填充帧图像读取命令,填充帧图像读取命令包括多个像素数据返回命令,每个像素数据返回命令携带填充帧图像中一组像素点的虚拟存储地址和像素传输长度,所有组像素点构成一个完整的填充帧图像,然后,对每组像素点,地址坐标转换模块将虚拟存储地址映射为本组像素点在填充帧图像中的坐标信息,生成并向图像处理模块发送该组像素数据返回命令对应的坐标访问命令,接着,图像处理模块根据预设填充参数确定出每组像素点中哪一类像素点属于有效像素点,哪一类像素点属于填充像素点,对于有效像素点,将其坐标信息进行映射得到各有效像素点对应的真实存储地址和像素传输长度,并向存储模块发送携带该真实存储地址的有效像素数据返回命令,对于填充像素点,直接向数据返回模块发送填充像素数据返回命令,最后,数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。通过上述方法,在主机和存储模块之间增加一个硬件模组来实现了对图像的数据填充和拼接,不需要软件进行内存拷贝和填充数据,节省了内存拷贝所带来的时间和带宽消耗,也节省了软件开销。
在上述实施例所述方法的基础上,本实施例将从图像处理装置的角度进一步进行描述,请参阅图2和图3,图2和图3具体描述了本申请实施例提供的图像处理装置,该装置可以包括相互连接的主机10、图像映射模组20和存储模块30,图像映射模组20包括地址坐标转换模块22、图像处理模块和数据返回模块26,其中:
地址坐标转换模块22用于,接收主机10发送的填充帧图像读取命令,填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;
地址坐标转换模块22还用于,根据各像素数据返回命令和第一映射关系,得到各组像素点在填充帧图像中的坐标信息,根据坐标信息,生成并向图像处理模块发送各像素数据返回命令对应的坐标访问命令;
图像处理模块用于,根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,第一分类信息包括有效像素点或填充像素点,根据坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;
图像处理模块还用于,根据第一分类信息,生成并向数据返回模块26发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向存储模块30发送各组中有效像素点对应的有效像素数据返回命令,有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;
数据返回模块26用于,接收存储模块30返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机10。
在一种实施例中,图像映射模组还包括地址检查模块21,地址检查模块21用于,接收主机10发送的总线访问命令,根据总线访问命令携带的存储地址,判断总线访问命令为填充帧图像读取命令或其他访问命令;在总线访问命令为填充帧图像读取命令时,将填充帧图像读取命令发送给地址坐标转换模块22;在总线访问命令为其他访问命令时,将其他访问命令发送至存储模块30。
在一种实施例中,填充帧图像为至少两幅图像拼接形成的拼接帧图像,图像处理模块包括至少两个子图像处理模块,地址坐标转换模块22还用于,根据各像素数据返回命令和第一映射关系,得到各组像素点在拼接帧图像中的第一坐标信息;根据预设拼接方式,确定每组像素点中各类像素点的第二分类信息,第二分类信息包括各类像素点与各幅图像的归属关系;根据所述第二分类信息,将第一坐标信息转换为各组像素点在形成拼接帧图像的各副图像中的第二坐标信息;根据第二坐标信息,生成并向各子图像处理模块发送对应的坐标访问命令。
在一种实施例中,各子图像处理模块用于,根据预设填充参数,将每组像素点中属于对应图像的一类像素点确定为有效像素点或填充像素点;在第一分类信息表征存在包括有效像素点的目标组像素点时,有效像素点对应的子图像处理模块根据坐标访问命令和第二映射关系,得到目标组像素点中有效像素点对应的真实存储地址和像素传输长度。
在一种实施例中,各子图像处理模块还用于,在第一分类信息表征存在目标类像素点为有效像素点时,有效像素点对应的子图像处理模块生成并向存储模块30发送有效像素数据返回命令;在第一分类信息表征存在目标类像素点为填充像素点时,填充像素点对应的子图像处理模块生成并向数据返回模块26发送填充像素数据返回命令。
在一种实施例中,图像映射模组还包括命令缓存模块25,图像处理模块还用于,根据第一分类信息和第二分类信息,确定每组像素点中各类像素点的排列顺序;根据排列顺序,各子图像处理模块向命令缓存模块发送每组像素点对应的有效像素返回命令和/或填充像素数据返回命令。
在一种实施例中,命令缓存模块25用于,处理各返回命令,并根据排列顺序向数据返回模块26发送处理后的各返回命令,处理后的各返回命令携带拼接参数;数据返回模块26还用于,接收存储模块30返回的各有效像素数据和/或直接生成各填充像素数据,并根据排列顺序和各返回命令携带的拼接参数,处理各组像素点对应的像素数据,并返回给主机10。
区别于现有技术,本申请提供的图像处理装置,地址坐标转换模块先接收主机发送的针对填充帧图像的读取命令,该命令包括多个像素数据返回命令,每个像素数据返回命令携带填充帧图像中一组像素点的虚拟存储地址和像素传输长度,所有组像素点构成一个完整的填充帧图像,然后,对每组像素点,地址坐标转换模块将虚拟存储地址映射为本组像素点在填充帧图像中的坐标信息,生成并向图像处理模块发送该组像素数据返回命令对应的坐标访问命令,接着,图像处理模块根据预设填充参数确定出每组像素点中哪一类像素点属于有效像素点,哪一类像素点属于填充像素点,对于有效像素点,将其坐标信息进行映射得到各有效像素点对应的真实存储地址和像素传输长度,并向存储模块发送携带该真实存储地址的有效像素数据返回命令,对于填充像素点,直接向数据返回模块发送填充像素数据返回命令,最后,数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。通过上述方法,在主机和存储模块之间增加一个硬件模组来实现了对图像的数据填充和拼接,不需要软件进行内存拷贝和填充数据,节省了内存拷贝所带来的时间和带宽消耗,也节省了软件开销。
相应的,本申请实施例还提供一种电子设备,如图10所示,该电子设备可以包括射频(RF,Radio Frequency)电路1001、包括有一个或一个以上计算机可读存储介质的存储器1002、输入单元1003、显示单元1004、传感器1005、音频电路1006、WiFi模块1007、包括有一个或者一个以上处理核心的处理器1008、以及电源1009等部件。本领域技术人员可以理解,图10中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者行合某些部件,或者不同的部件布置。其中:
RF电路1001可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1008处理;另外,将涉及上行的数据发送给基站。存储器1002可用于存储软件程序以及模块,处理器1008通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元1003可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
显示单元1004可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意行合来构成。
电子设备还可包括至少一种传感器1005,比如光传感器、运动传感器以及其他传感器。音频电路1006包括扬声器,扬声器可提供用户与电子设备之间的音频接口。
WiFi属于短距离无线传输技术,电子设备通过WiFi模块1007可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1007,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器1008是电子设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行电子设备的各种功能和处理数据,从而对手机进行整体监控。
电子设备还包括给各个部件供电的电源1009(比如电池),优选的,电源可以通过电源管理系统与处理器1008逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器1008会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1008来运行存储在存储器1002中的应用程序,从而实现以下功能:
地址坐标转换模块接收主机发送的填充帧图像读取命令,填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在填充帧图像中的坐标信息,根据坐标信息,生成并向图像处理模块发送各像素数据返回命令对应的坐标访问命令;图像处理模块根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,第一分类信息包括有效像素点或填充像素点,根据坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;图像处理模块根据第一分类信息,生成并向数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向存储模块发送各组中有效像素点对应的有效像素数据返回命令,有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
地址坐标转换模块接收主机发送的填充帧图像读取命令,填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在填充帧图像中的坐标信息,根据坐标信息,生成并向图像处理模块发送各像素数据返回命令对应的坐标访问命令;图像处理模块根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,第一分类信息包括有效像素点或填充像素点,根据坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;图像处理模块根据第一分类信息,生成并向数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向存储模块发送各组中有效像素点对应的有效像素数据返回命令,有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;数据返回模块接收存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给主机。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种图像处理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (10)
1.一种图像处理方法,其特征在于,应用于图像处理装置,所述图像处理装置包括相互连接的主机、图像映射模组和存储模块,所述图像映射模组包括地址坐标转换模块、图像处理模块和数据返回模块,所述图像处理方法包括:
所述地址坐标转换模块接收所述主机发送的填充帧图像读取命令,所述填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;
所述地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在所述填充帧图像中的坐标信息,根据所述坐标信息,生成并向所述图像处理模块发送各像素数据返回命令对应的坐标访问命令;
所述图像处理模块根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,所述第一分类信息包括有效像素点或填充像素点,根据所述坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;
所述图像处理模块根据所述第一分类信息,生成并向所述数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向所述存储模块发送各组中有效像素点对应的有效像素数据返回命令,所述有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;
所述数据返回模块接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给所述主机。
2.如权利要求1所述的图像处理方法,其特征在于,所述图像映射模组还包括地址检查模块,在所述地址坐标转换模块接收所述主机发送的填充帧图像读取命令的步骤之前,还包括:
所述地址检查模块接收所述主机发送的总线访问命令,根据所述总线访问命令携带的存储地址,判断所述总线访问命令为填充帧图像读取命令或其他访问命令;
在所述总线访问命令为填充帧图像读取命令时,将所述填充帧图像读取命令发送给所述地址坐标转换模块;
在所述总线访问命令为其他访问命令时,将所述其他访问命令发送至所述存储模块。
3.如权利要求1所述的图像处理方法,其特征在于,所述填充帧图像为至少两幅图像拼接形成的拼接帧图像,所述图像处理模块包括至少两个子图像处理模块,所述地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在所述填充帧图像中的坐标信息,根据所述坐标信息,生成并向所述图像处理模块发送各像素数据返回命令对应的坐标访问命令的步骤,包括:
所述地址坐标转换模块根据各像素数据返回命令和第一映射关系,得到各组像素点在所述拼接帧图像中的第一坐标信息;
所述地址坐标转换模块根据预设拼接方式,确定每组像素点中各类像素点的第二分类信息,所述第二分类信息包括各类像素点与各幅图像的归属关系;
所述地址坐标转换模块根据所述第二分类信息,将所述第一坐标信息转换为各组像素点在形成拼接帧图像的各副图像中的第二坐标信息;
根据所述第二坐标信息,生成并向各子图像处理模块发送对应的坐标访问命令。
4.如权利要求3所述的图像处理方法,其特征在于,所述图像处理模块根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,所述第一分类信息包括有效像素点或填充像素点,根据所述坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度的步骤,包括:
各子图像处理模块根据预设填充参数,将每组像素点中属于对应图像的一类像素点确定为有效像素点或填充像素点;
在所述第一分类信息表征存在包括有效像素点的目标组像素点时,所述有效像素点对应的子图像处理模块根据所述坐标访问命令和第二映射关系,得到目标组像素点中有效像素点对应的真实存储地址和像素传输长度。
5.如权利要求4所述的图像处理方法,其特征在于,所述图像处理模块根据所述第一分类信息,生成并向所述数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向所述存储模块发送各组中有效像素点对应的有效像素数据返回命令,所述有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度的步骤,包括:
在所述第一分类信息表征存在目标类像素点为有效像素点时,所述有效像素点对应的子图像处理模块生成并向所述存储模块发送有效像素数据返回命令;
在所述第一分类信息表征存在目标类像素点为填充像素点时,所述填充像素点对应的子图像处理模块生成并向所述数据返回模块发送填充像素数据返回命令。
6.如权利要求5所述的图像处理方法,其特征在于,所述图像映射模组还包括命令缓存模块,在所述数据返回模块接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给所述主机的步骤之前,还包括:
所述图像处理模块根据所述第一分类信息和所述第二分类信息,确定每组像素点中各类像素点的排列顺序;
根据所述排列顺序,各子图像处理模块向所述命令缓存模块发送每组像素点对应的有效像素返回命令和/或填充像素数据返回命令。
7.如权利要求6所述的图像处理方法,其特征在于,所述数据返回模块接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给所述主机的步骤,包括:
所述命令缓存模块处理各返回命令,并根据所述排列顺序向所述数据返回模块发送处理后的各返回命令,处理后的各返回命令携带拼接参数;
所述数据返回模块接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,根据所述排列顺序和各返回命令携带的拼接参数,处理各组像素点对应的像素数据,并返回给所述主机。
8.一种图像处理装置,其特征在于,所述图像处理装置包括相互连接的主机、图像映射模组和存储模块,所述图像映射模组包括地址坐标转换模块、图像处理模块和数据返回模块;
所述地址坐标转换模块用于,接收所述主机发送的填充帧图像读取命令,所述填充帧图像读取命令包括多个像素数据返回命令,各像素数据返回命令携带填充帧图像中不同组像素点的虚拟存储地址和像素传输长度;
所述地址坐标转换模块还用于,根据各像素数据返回命令和第一映射关系,得到各组像素点在所述填充帧图像中的坐标信息,根据所述坐标信息,生成并向所述图像处理模块发送各像素数据返回命令对应的坐标访问命令;
所述图像处理模块用于,根据预设填充参数,确定各组像素点中各类像素点的第一分类信息,所述第一分类信息包括有效像素点或填充像素点,根据所述坐标访问命令和第二映射关系,得到各组像素点中有效像素点对应的真实存储地址和像素传输长度;
所述图像处理模块还用于,根据所述第一分类信息,生成并向所述数据返回模块发送各组中填充像素点对应的填充像素数据返回命令,和/或生成并向所述存储模块发送各组中有效像素点对应的有效像素数据返回命令,所述有效像素数据返回命令携带各组中有效像素点对应的真实存储地址和像素传输长度;
所述数据返回模块用于,接收所述存储模块返回的各有效像素数据和/或直接生成各填充像素数据,并返回给所述主机。
9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至7任一项所述的图像处理方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任一项所述的图像处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111176969.0A CN113628304B (zh) | 2021-10-09 | 2021-10-09 | 图像处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111176969.0A CN113628304B (zh) | 2021-10-09 | 2021-10-09 | 图像处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113628304A true CN113628304A (zh) | 2021-11-09 |
CN113628304B CN113628304B (zh) | 2021-12-03 |
Family
ID=78390893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111176969.0A Active CN113628304B (zh) | 2021-10-09 | 2021-10-09 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113628304B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829897A (zh) * | 2023-02-17 | 2023-03-21 | 湖北芯擎科技有限公司 | 一种图像融合处理方法、装置、电子设备及介质 |
CN115840828A (zh) * | 2023-02-13 | 2023-03-24 | 湖北芯擎科技有限公司 | 一种图像比对显示方法、装置、设备及介质 |
CN115952139A (zh) * | 2023-03-14 | 2023-04-11 | 武汉芯云道数据科技有限公司 | 一种移动设备多帧三维图像处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0287707A2 (en) * | 1982-11-26 | 1988-10-26 | The Board Of Trustees Of The University Of Alabama For Its Division University Of Alabama In Birmingham | Energy discriminating apparatus |
US20150009387A1 (en) * | 2007-10-12 | 2015-01-08 | Sony Corporation | Data processor, solid-state imaging device, imaging device, and electronic apparatus |
CN112673352A (zh) * | 2018-09-11 | 2021-04-16 | 华为技术有限公司 | 顺序计算dag的异构调度 |
CN113228095A (zh) * | 2020-06-30 | 2021-08-06 | 深圳市大疆创新科技有限公司 | 图像处理方法、显示处理装置和计算机可读存储介质 |
-
2021
- 2021-10-09 CN CN202111176969.0A patent/CN113628304B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0287707A2 (en) * | 1982-11-26 | 1988-10-26 | The Board Of Trustees Of The University Of Alabama For Its Division University Of Alabama In Birmingham | Energy discriminating apparatus |
US20150009387A1 (en) * | 2007-10-12 | 2015-01-08 | Sony Corporation | Data processor, solid-state imaging device, imaging device, and electronic apparatus |
CN112673352A (zh) * | 2018-09-11 | 2021-04-16 | 华为技术有限公司 | 顺序计算dag的异构调度 |
CN113228095A (zh) * | 2020-06-30 | 2021-08-06 | 深圳市大疆创新科技有限公司 | 图像处理方法、显示处理装置和计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
MI SONG 等: "Sub-Pixel Mapping with Multiple Shifted Hyperspectral Images Based on Multiobjective Evolutionary Algorithm", 《IGARSS 2019 - 2019 IEEE INTERNATIONAL GEOSCIENCE AND REMOTE SENSING SYMPOSIUM》 * |
沈国华 等: "一种在轨多路图像压缩传输技术的设计实现", 《一种在轨多路图像压缩传输技术的设计实现》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115840828A (zh) * | 2023-02-13 | 2023-03-24 | 湖北芯擎科技有限公司 | 一种图像比对显示方法、装置、设备及介质 |
CN115829897A (zh) * | 2023-02-17 | 2023-03-21 | 湖北芯擎科技有限公司 | 一种图像融合处理方法、装置、电子设备及介质 |
CN115952139A (zh) * | 2023-03-14 | 2023-04-11 | 武汉芯云道数据科技有限公司 | 一种移动设备多帧三维图像处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113628304B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113628304B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
EP3039530B1 (en) | Method and system for presenting content | |
CN104137172B (zh) | 电子装置 | |
CN110989952B (zh) | 一种基于多屏幕的鼠标共享实现方法、装置及系统 | |
US20220327758A1 (en) | Image rendering method in panoramic application and terminal device | |
US20240119223A1 (en) | Method, apparatus and electronic device for field merging | |
CN113467865A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN104579908A (zh) | 图像显示的方法及装置 | |
CN112351333A (zh) | 一种数据传输方法、设备及介质 | |
CN113038273B (zh) | 视频帧处理方法、装置、存储介质及电子设备 | |
CN106302011B (zh) | 基于多端的测试方法及终端 | |
CN112153459A (zh) | 用于投屏显示的方法和装置 | |
CN108427544B (zh) | 一种单双屏应用切换方法以及接口 | |
CN109445876B (zh) | Lut数据加载的方法及监视器 | |
CN109360142B (zh) | 一种基于zynq的多通道图形输出控制方法 | |
CN114422236A (zh) | 一种智能设备的访问方法、装置和电子设备 | |
CN114461157B (zh) | 一种idv客户端多屏分治方法及系统 | |
CN117216428B (zh) | 一种网页资源请求方法、终端设备及计算机可读存储介质 | |
CN111479075B (zh) | 拍照终端及其图像处理方法 | |
US20230418333A1 (en) | Display method and device | |
CN111610920B (zh) | 多设备控制方法、装置和系统 | |
CN111064908B (zh) | 信号传输方法、装置、设备及可读存储介质 | |
CN109144446B (zh) | 图像显示方法、装置、电子设备及计算机可读存储介质 | |
US20240094973A1 (en) | Display Method and Electronic Device | |
CN108959073B (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 |