CN113781302B - 多路图像拼接方法、系统、可读存储介质、及无人车 - Google Patents
多路图像拼接方法、系统、可读存储介质、及无人车 Download PDFInfo
- Publication number
- CN113781302B CN113781302B CN202110984382.6A CN202110984382A CN113781302B CN 113781302 B CN113781302 B CN 113781302B CN 202110984382 A CN202110984382 A CN 202110984382A CN 113781302 B CN113781302 B CN 113781302B
- Authority
- CN
- China
- Prior art keywords
- line
- path
- spliced
- data
- image
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 239000000872 buffer Substances 0.000 claims abstract description 207
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 2
- 238000005429 filling process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Images
Classifications
-
- 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/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
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是本公开一示例性实施例所示出的一种多路图像拼接系统的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在介绍本公开的多路图像拼接方法、系统、可读存储介质、及无人车之前,首先对本公开的应用场景进行介绍。本公开所提供的各实施例可以用于对无人车的多路摄像头采集的多路图像的环视拼接场景。在一些实施例中,无人车至少可以包括自动驾驶车辆和远程遥控驾驶车辆。值得说明的,本公开所提供的各实施例还可以用于其他需要得到环视拼接图像的场景。例如,视频监控场景。
相关技术中,可以通过纯软件算法实现多路图像的环视拼接,然而,该方法至少存在以下的一种缺陷:(1)部署于现场可编程门阵列(Field Programmable Gate Array,FPGA)平台端的算法复杂,在FPGA平台部署时需占用大量数字信号处理(Digital SignalProcessing,DSP)、块RAM(Block RAM,BRAM)及查找表(LUTs)等逻辑资源,不利于降成本;(2)通过算法拟合方式完成畸变校正,校正后图像普遍存在扭曲变形失真情况,导致拼接图像存在扭曲变形失真;(3)延迟大,仅适合低速泊车等应用场景;(4)多通道视频数据接入、拼接数据的读写需占用大量存储带宽;(5)纯软件的拼接存在拼接性能瓶颈,无法应对高帧率、高路数、低畸变、高视距摄像头数据接入带宽需求。
为此,本公开提供一种多路图像拼接方法。图1是本公开一示例性实施例所示出的一种多路图像拼接方法的流程图,所述方法可以用于现场可编程门阵列(FieldProgrammable Gate Array,FPGA)平台。FPGA平台可以是专用集成电路中的一种半定制电路,是可编程的逻辑阵列。在一些实施例中,FPGA平台可以部署于无人车中,以在无人车的显示屏上显示拼接图像,辅助无人车的安全驾驶。所述方法包括:
步骤102,针对多路待拼接图像中的每路,执行以下处理,以得到所述多路待拼接图像中每路的多行行缓冲数据:重复执行获取行数据,并基于预设映射表,将所述行数据包括的像素数据写入该路待拼接图像对应的行缓冲区,得到行缓冲数据的过程,直至满足第一预设条件,得到所述该路待拼接图像的所述多行行缓冲数据。
在一些实施例中,待拼接图像可以是需要进行环视拼接的图像。环视拼接可以是指将采集的多个方向的图像(即多路图像)进行拼接,得到全景环视图像。多路待拼接图像可以由多路摄像设备获取。例如,从多路摄像设备采集的视频数据中分别提取对应的图像帧。在一种可实施的场景,多路摄像设备可以是无人车上安装的摄像设备,用于采集车辆不同方向的图像。
在一些实施例中,多路摄像设备的数量可以根据实际情况进行具体设置,例如,四路、六路等。以四路摄像设备为例,摄像设备可以安装在车辆前后左右的位置去采集四个方向的图像。在一些实施例中,摄像设备的类型至少可以包括鱼眼摄像头和/或广角摄像头。值得说明的,多路摄像头各自的安装位置及类型可根据实际情况灵活设置,本公开并不对此做任何限制。
在一些实施例中,多行行缓冲数据可以是对待拼接图像的所有行数据写入行缓冲区后得到缓冲数据。在一些实施例中,多路待拼接图像可以对应不同的行缓冲区,对应的,每路待拼接图像的行数据可以写入对应的行缓冲区。具体的,FPGA平台可以执行以下处理得到每路待拼接图像的多行行缓冲数据:针对多路待拼接图像中的每路,重复执行获取行数据,并基于预设映射表,将行数据包括的像素数据写入该路待拼接图像对应的行缓冲区,得到行缓冲数据的过程,直至满足预设条件,得到该路待拼接图像的多行行缓冲数据。
在一些实施例中,待拼接图像可以具备不同的分辨率。例如,1920*1080像素、2560*1440像素。一般地,待拼接图像的分辨率可以与用于显示拼接图像的显示屏的分辨率相同。例如,1080P显示屏的像素分辨率为1920*1080像素。又例如,2K显示屏的像素分辨率为2560*1440像素。基于待拼接图像的分辨率可以将图像分为多行行数据,每行行数据包括对应的像素数据。例如,以分辨率为1920*1080像素为例,待拼接图像可以被分为1920行,每行中有1080个像素点,该1080个像素点即为该行的行数据对应的像素数据。
在一些实施例中,FPGA平台可以通过预设接口获取行数据,并对行数据进行格式转换。关于获取行数据的具体细节可以参加图3及其相关描述,在此不再赘述。
在一些实施例中,预设映射表可以基于历史待拼接图像与历史拼接图像之间的像素数据的映射关系得到。基于历史待拼接图像和历史拼接图像,可以得到两者对应的像素点之间的坐标变换关系,从而得到两者对应的像素点之间的映射关系,基于该映射关系可以构建预设映射表。因此,预设映射表可以反映历史待拼接图像中各位置的像素点,与历史拼接图像中各位置的像素点的坐标值映射关系。例如,预设映射表反映历史待拼接图像中第1行行数据的第1个像素点,与历史拼接图像中第1行行数据的第1个像素点存在对应映射关系,则可以将待拼接图像的第1行行数据的第1个像素点写入行缓冲区的第1行的第1个像素点。
在一些实施例中,预设映射表可以预先存储于内存区域中。例如,存储于双倍速率的SDRAM(Double Data Rate SDRAM,DDR)参数块中。通过将预设映射表存储于内存区域中,在对行数据的像素数据进行写入时,可以直接从内存中读取预设映射表即可执行写入操作,减少了读写带宽。
在一些实施例中,第一预设条件可以是待拼接图像数据的所有行数据的像素数据写入完成,由此,可以得到该路待拼接图像的多行行缓冲数据。参考图2,图2是本公开一示例性实施例所示出的一行行数据的像素数据的写入过程的示例性示意图。如图2所示,假设待拼接图像中的第1行行数据T1包含10个像素点,根据预设映射表可以将T1中的第1个像素点映射为行缓冲区的第1行T1′的第1个像素点,将T1中的第2个像素点映射为行缓冲区的第2行T2′的第2个像素点,将T1中的第3个像素点映射为行缓冲区的第100行T1′00的第6个像素点,为避免赘述,关于T1中的第4-10个像素点的映射过程省略。假设待拼接图像的行数据包括的像素点最多只能映射到T1′00,由此可知,通过对每路待拼接图像的每行行数据执行图2示例的行数据的像素数据的写入过程,可以得到多行的行缓冲数据,即100行的行缓冲数据。
在一些实施例中,对待拼接图像的去畸变和仿射变换过程,可以反映为像素坐标值在待拼接图像和拼接图像上的重映射。本说明书实施例通过历史待拼接图像和历史拼接图像,预先构建反映像素数据的映射关系的预设映射表,其为点点映射关系,因此,在行数据的像素点的写入过程中,可以通过查询预设映射表中的对应像素点的映射位置进行精准写入。避免通过拟合算法去畸变导致的误差,进而解决了拟合算法实现图像拼接导致的图像扭曲非线性畸变问题,能够在拼接斜边无缝对齐。
在一些实施例中,可以基于每路摄像设备的实际畸变大小,在每路待拼接图像对应的行缓冲区中预留预设内存空间,以供每路待拼接图像的行数据的像素数据的写入。仍以上述示例为例,假设摄像设备为鱼眼摄像头,该鱼眼摄像头的实际畸变大小需要进行100行行数据的写入,则可以预留100行的预设内存空间。在一些实施例中,可以选择实际畸变小的摄像设备,以减少写入行缓冲区的次数,从而降低拼接延迟。
在一些实施例中,针对多路待拼接图像中的每路,可以并行执行上述得到多行行缓冲数据的处理,以得到多路待拼接图像中每路的多行行缓冲数据。通过多路待拼接图像的并行处理,可以降低图像拼接过程中的延迟。
步骤104,将所述多路待拼接图像中每路的所述多行行缓冲数据写入帧缓冲区,并对每路所述待拼接图像的所述多行行缓冲数据执行填充处理,得到拼接帧缓冲数据。
由于待拼接图像存在畸变,因此,将待拼接图像的行数据的像素数据写入行缓冲区时,原像素数据被稀疏化,进而,得到的多行行缓冲数据存在数据缺失,即存在缺失像素值。在一些实施例中,可以对多行行缓冲数据执行填充处理,以实现对缺失数据的填充。在一些实施例中,填充处理可以包括加权重构填充处理,例如,线性插值。填充处理可以参见相关技术中的说明,本公开对此不做赘述。
在一些实施例中,拼接帧缓冲数据可以包括写入至帧缓存区的行缓冲数据。在一些实施例中,可以在将多路待拼接图像中每路的多行行缓冲数据写入帧缓冲区的过程中,对每路待拼接图像的多行行缓冲数据执行填充处理,得到拼接帧缓冲数据。通过在写入帧缓冲区的过程中,执行填充处理,相当于帧缓冲写入和填充处理并行执行,从而进一步降低图像拼接的延迟。
在一些实施例中,FPGA平台可以以行为写入单位,将多路待拼接图像中每路的多行行缓冲数据写入帧缓冲区。例如,以第1路待拼接图像为例,则可以每次写入一行行缓冲数据。通过以行为写入单位,其延迟为行数据的写入延迟,而以帧缓冲数据为写入单位,其延迟为帧数据的写入延迟,行数据的写入延迟明显低于帧数据的写入延迟,由此可知,以行为写入单位可以降低写入延迟,进而可以降低图像拼接的延迟。同时,以行为写入单位,可以降低行数据写入过程中由反复读取产生的带宽占用。在一些实施例中,FPGA平台可以在每行行缓冲数据的写入过程中,对该行行缓冲数据执行填充处理。通过在每行行缓冲数据的写入过程中,并行执行填充处理,可以进一步降低图像拼接的延迟。
在一些实施例中,FPGA平台以行为写入单位,基于轮询仲裁模式,将多路待拼接图像中每路的多行行缓冲数据写入帧缓冲区。在一些实施例中,轮询仲裁模式可以用于动态调整多路待拼接图像的多行行缓冲数据中每行写入帧缓冲区的顺序。在一些实施例中,轮询仲裁模式可以用于:基于FPGA平台对多路待拼接图像的每行行缓冲数据的读取时间顺序,将多路待拼接图像的多行行缓冲数据写入帧缓冲区。例如,假设读取行缓冲数据的时间顺序依次为:第1路待拼接图像的第1行行缓冲数据第3路待拼接图像的第1行行缓冲数据第2路待拼接图像的第1行行缓冲数据第4路待拼接图像的第1行行缓冲数据,则基于轮询仲裁模式可以按顺序将前述每行行缓冲数据依次写入至帧缓冲区。通过采用轮询仲裁模式对多路待拼接图像的多行行缓冲数据写入帧缓冲区,可以实现对多路待拼接图像的多行行缓冲数据的动态写入,避免对同一路待拼接图像一直进行处理,不处理其他路待拼接图像,从而进一步降低图像拼接的延迟。
在一些实施例中,本公开实施例提供的多路图像拼接方法可以应用于AXI(Advanced eXtensible Interface)总线系统。在一些实施例中,FPGA平台可以通过AXI4总线将多路待拼接图像中每路的多行行缓冲数据写入帧缓冲区。
步骤106,对所述拼接帧缓冲数据执行预处理,得到拼接图像。
在一些实施例中,预处理可以包括编码处理和解码处理。在一些实施例中,FPGA平台可以在每次写入预设行的行缓冲数据后,对预设行的行缓冲数据进行编码处理,直至满足第二预设条件,得到编码图像;对编码图像进行解码,得到拼接图像。在一些实施例中,预设行可以根据实际情况具体设置。第二预设条件可以包括多路待拼接图像的多行行缓冲数据写入完毕。通过每写入预设行行缓冲数据即执行编码处理,使得编码延迟是预设行行数据的延迟,而非一整帧数据的延迟,可以大大降低编码延迟,进而降低图像拼接的延迟。
在一些实施例中,可以利用现场可编程门阵列平台内置的编码器,在每次写入所述预设行的所述行缓冲数据后,对所述预设行的行缓冲数据进行所述编码处理,直至满足所述第二预设条件,得到所述编码图像。在一些实施例中,编码器可以是硬核H265编码器,在此情况下,预设行可以是16行。H265编码器可以基于自身性能,在每16行行缓冲数据写入帧缓冲区后,对写入的16行行缓冲数据进行编码,进而降低编码延迟。且通过现场可编程门阵列平台内设的编码器即可实现降低编码延迟,减少硬件器件,降低现场可编程门阵列平台的设计复杂度。
在本说明书实施例中,本公开的多路图像拼接方法通过FPGA平台实现,仅使用FPGA内部的储存资源,算法简单,占用储存和逻辑资源小。且FPGA为硬件平台,可以适用于高帧率(例如,1080P60)、高路数(例如,6路或以上)、低畸变、高视距摄像设备数据接入带宽需求。
图3是本公开一示例性实施例所示出的获取行数据的流程图。如图3所示,该流程可以包括:
步骤302,对基于预设接口接收的目标摄像设备输出的预设接口信号进行解码,得到解码信息;其中,所述解码信息至少包括行场同步信号和所述待拼接图像的像素数据;所述目标摄像设备为所述该路待拼接图像的摄像设备。
在一些实施例中,预设接口可以是FPGA平台接收摄像设备输出的信号的接口。在一些实施例中,预设接口可以根据实际情况具体设置,例如,MIPI接口。对应的,预设接口信号为MIPI信号,通过对MIPI信号进行解码,可以得到包括行场同步信号和待拼接图像的像素数据的解码信息。
步骤304,在基于所述行场同步信号,从所述待拼接图像的所述像素数据中获取到初始格式的行数据后,对该行数据进行格式转换,得到目标格式的行数据。
行场同步信号可以反映一行(场)结束的信息。因此,通过行场同步信息,可以从待拼接图像的像素数据中得到每行的行数据。一般地,通过MIPI接口传输的像素数据的初始格式为YUV422格式,即,行数据的初始格式为YUV422格式。而对行数据中的像素数据进行处理所需的格式为RGB格式或NV12格式,因此,在一些实施例中,可以对行数据进行格式转换,得到RGB格式或NV12格式的行数据,该RGB格式或NV12格式即目标格式。在一些实施例中,获取初始格式的行数据和格式转码可以并行执行,通过该并行执行可以进一步降低图像拼接的延迟。
基于同一发明构思,本公开还提供了一种多路图像拼接系统,应用于现场可编程门阵列平台。图4是本公开所示出的多路图像拼接系统的框图,如图4所示,该所系统400包括:
多行缓冲模块402,用于针对多路待拼接图像中的每路,重复执行获取行数据,并基于预设映射表,将所述行数据包括的像素数据写入该路待拼接图像对应的行缓冲区,得到行缓冲数据的过程,直至满足第一预设条件,以得到所述该路待拼接图像的所述多行行缓冲数据;其中,所述预设映射表基于历史待拼接图像与历史拼接图像之间的所述像素数据的映射关系得到;
帧缓冲写模块404,用于将所述多路待拼接图像中每路的所述多行行缓冲数据写入帧缓冲区,并对每路所述待拼接图像的所述多行行缓冲数据执行填充处理,得到拼接帧缓冲数据;
拼接处理模块406,用于对所述拼接帧缓冲数据执行预处理,得到拼接图像。
可选地,所述帧缓冲写模块404包括:
并行填充子模块,用于以行为写入单位,将所述多路待拼接图像中每路的所述多行行缓冲数据写入所述帧缓冲区,并在每行所述行缓冲数据的写入过程中,对该行行缓冲数据执行所述填充处理,得到所述拼接帧缓冲数据。
可选地,所述并行填充子模块包括:
仲裁写入子单元,用于以所述行为所述写入单位,基于轮询仲裁模式,将所述多路待拼接图像中每路的所述多行行缓冲数据写入所述帧缓冲区。
可选地,所述多行缓冲模块402包括:
解码子模块,用于对基于预设接口接收的目标摄像设备输出的预设接口信号进行解码,得到解码信息;其中,所述解码信息至少包括行场同步信号和所述待拼接图像的像素数据;所述目标摄像设备为所述该路待拼接图像的摄像设备;
格式转换子模块,用于在基于所述行场同步信号,从所述待拼接图像的所述像素数据中获取到初始格式的行数据后,对该行数据进行格式转换,得到目标格式的行数据。
可选地,所述多行缓冲模块402包括:
并行行缓冲子模块,用于针对所述多路待拼接图像中的每路,并行执行所述处理,以得到所述多路待拼接图像中每路的所述多行行缓冲数据。
可选地,所述拼接处理模块406包括:
编码子模块,用于在每次写入预设行的所述行缓冲数据后,对所述预设行的行缓冲数据进行编码处理,直至满足第二预设条件,得到编码图像;
解码子模块,用于对所述编码图像进行解码,得到拼接图像。
可选地,所述编码子模块包括:
编码子单元,用于利用所述现场可编程门阵列系统内置的编码器,在每次写入所述预设行的所述行缓冲数据后,对所述预设行的行缓冲数据进行所述编码处理,直至满足所述第二预设条件,得到所述编码图像。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的多路图像拼接方法的步骤。
在另一示例性实施例中,还提供了一种无人车,包括本公开所提供的多路图像拼接系统。无人车可以基于多路图像拼接系统,将无人车采集的多路图像进行拼接,并在无人车的显示屏中显示,可以辅助无人车的安全驾驶,例如,辅助无人车的泊车,提高了无人车的安全性能。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种多路图像拼接方法,其特征在于,应用于现场可编程门阵列平台,所述方法包括:
针对多路待拼接图像中的每路,执行以下处理,以得到所述多路待拼接图像中每路的多行行缓冲数据:
重复执行获取行数据,并基于预设映射表,将所述行数据包括的像素数据写入该路待拼接图像对应的行缓冲区,得到行缓冲数据的过程,直至满足第一预设条件,得到所述该路待拼接图像的所述多行行缓冲数据;
其中,所述预设映射表基于历史待拼接图像与历史拼接图像之间的所述像素数据的映射关系得到;
将所述多路待拼接图像中每路的所述多行行缓冲数据写入帧缓冲区,并对每路所述待拼接图像的所述多行行缓冲数据执行填充处理,得到拼接帧缓冲数据;
对所述拼接帧缓冲数据执行预处理,得到拼接图像。
2.如权利要求1所述的方法,其特征在于,所述将所述多路待拼接图像中每路的所述多行行缓冲数据写入帧缓冲区,并对每路所述待拼接图像的所述多行行缓冲数据执行填充处理,得到拼接帧缓冲数据,包括:
以行为写入单位,将所述多路待拼接图像中每路的所述多行行缓冲数据写入所述帧缓冲区,并在每行所述行缓冲数据的写入过程中,对该行行缓冲数据执行所述填充处理,得到所述拼接帧缓冲数据。
3.如权利要求2所述的方法,其特征在于,所述以行为写入单位,将所述多路待拼接图像中每路的所述多行行缓冲数据写入所述帧缓冲区,包括:
以所述行为所述写入单位,基于轮询仲裁模式,将所述多路待拼接图像中每路的所述多行行缓冲数据写入所述帧缓冲区。
4.如权利要求1所述的方法,其特征在于,所述获取行数据,包括:
对基于预设接口接收的目标摄像设备输出的预设接口信号进行解码,得到解码信息;其中,所述解码信息至少包括行场同步信号和所述待拼接图像的像素数据;所述目标摄像设备为所述该路待拼接图像的摄像设备;
在基于所述行场同步信号,从所述待拼接图像的所述像素数据中获取到初始格式的行数据后,对该行数据进行格式转换,得到目标格式的行数据。
5.如权利要求1所述的方法,其特征在于,所述针对多路待拼接图像中的每路,执行以下处理,以得到所述多路待拼接图像中每路的多行行缓冲数据,包括:
针对所述多路待拼接图像中的每路,并行执行所述处理,以得到所述多路待拼接图像中每路的所述多行行缓冲数据。
6.如权利要求2所述的方法,其特征在于,所述对所述拼接帧缓冲数据执行预处理,得到拼接图像,包括:
在每次写入预设行的所述行缓冲数据后,对所述预设行的行缓冲数据进行编码处理,直至满足第二预设条件,得到编码图像;
对所述编码图像进行解码,得到拼接图像。
7.如权利要求6所述的方法,其特征在于,所述在每次写入预设行的所述行缓冲数据后,对所述预设行的行缓冲数据进行编码处理,直至满足第二预设条件,得到编码图像;
利用所述现场可编程门阵列系统内置的编码器,在每次写入所述预设行的所述行缓冲数据后,对所述预设行的行缓冲数据进行所述编码处理,直至满足所述第二预设条件,得到所述编码图像。
8.一种多路图像拼接系统,其特征在于,应用于现场可编程门阵列平台,所述系统包括:
多行缓冲模块,用于针对多路待拼接图像中的每路,重复执行获取行数据,并基于预设映射表,将所述行数据包括的像素数据写入该路待拼接图像对应的行缓冲区,得到行缓冲数据的过程,直至满足第一预设条件,以得到所述该路待拼接图像的多行行缓冲数据;其中,所述预设映射表基于历史待拼接图像与历史拼接图像之间的所述像素数据的映射关系得到;
帧缓冲写模块,用于将所述多路待拼接图像中每路的所述多行行缓冲数据写入帧缓冲区,并对每路所述待拼接图像的所述多行行缓冲数据执行填充处理,得到拼接帧缓冲数据;
处理模块,用于对所述拼接帧缓冲数据执行预处理,得到拼接图像。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种无人车,其特征在于,包括如权利要求8所述的多路图像拼接系统。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110984382.6A CN113781302B (zh) | 2021-08-25 | 2021-08-25 | 多路图像拼接方法、系统、可读存储介质、及无人车 |
PCT/CN2022/071845 WO2023024421A1 (zh) | 2021-08-25 | 2022-01-13 | 多路图像拼接方法、系统、可读存储介质、及无人车 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110984382.6A CN113781302B (zh) | 2021-08-25 | 2021-08-25 | 多路图像拼接方法、系统、可读存储介质、及无人车 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113781302A CN113781302A (zh) | 2021-12-10 |
CN113781302B true CN113781302B (zh) | 2022-05-17 |
Family
ID=78839408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110984382.6A Active CN113781302B (zh) | 2021-08-25 | 2021-08-25 | 多路图像拼接方法、系统、可读存储介质、及无人车 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113781302B (zh) |
WO (1) | WO2023024421A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113781302B (zh) * | 2021-08-25 | 2022-05-17 | 北京三快在线科技有限公司 | 多路图像拼接方法、系统、可读存储介质、及无人车 |
CN117240934B (zh) * | 2023-11-14 | 2024-01-23 | 四川赛狄信息技术股份公司 | 一种基于帧处理的异类信号转换系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103165104A (zh) * | 2011-12-12 | 2013-06-19 | 宁波Gqy视讯股份有限公司 | 用于拼接屏的视频信号同步显示方法 |
CN103686314A (zh) * | 2012-09-04 | 2014-03-26 | 深圳中兴力维技术有限公司 | 采用高清视频通道传输多路标清视频的解复用装置及方法 |
CN104601935A (zh) * | 2013-10-31 | 2015-05-06 | 深圳市朗驰欣创科技有限公司 | 一种画面拼接方法及装置 |
CN109168068A (zh) * | 2018-08-23 | 2019-01-08 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及计算机可读介质 |
CN110874817A (zh) * | 2018-08-29 | 2020-03-10 | 上海商汤智能科技有限公司 | 图像拼接方法和装置、车载图像处理装置、电子设备、存储介质 |
CN110910312A (zh) * | 2019-11-21 | 2020-03-24 | 北京百度网讯科技有限公司 | 图像处理方法和装置、自动驾驶车辆、电子设备 |
CN112422888A (zh) * | 2019-08-23 | 2021-02-26 | 浙江宇视科技有限公司 | 视频拼接方法、装置、电子设备及计算机可读存储介质 |
CN113286098A (zh) * | 2021-05-27 | 2021-08-20 | 深圳爱特天翔科技有限公司 | 图像处理方法和图像拼接设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI565303B (zh) * | 2015-08-24 | 2017-01-01 | 晨星半導體股份有限公司 | 影像處理系統及影像處理方法 |
WO2019000357A1 (zh) * | 2017-06-30 | 2019-01-03 | 深圳市大疆创新科技有限公司 | 处理图像的方法和装置 |
CN113781302B (zh) * | 2021-08-25 | 2022-05-17 | 北京三快在线科技有限公司 | 多路图像拼接方法、系统、可读存储介质、及无人车 |
-
2021
- 2021-08-25 CN CN202110984382.6A patent/CN113781302B/zh active Active
-
2022
- 2022-01-13 WO PCT/CN2022/071845 patent/WO2023024421A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103165104A (zh) * | 2011-12-12 | 2013-06-19 | 宁波Gqy视讯股份有限公司 | 用于拼接屏的视频信号同步显示方法 |
CN103686314A (zh) * | 2012-09-04 | 2014-03-26 | 深圳中兴力维技术有限公司 | 采用高清视频通道传输多路标清视频的解复用装置及方法 |
CN104601935A (zh) * | 2013-10-31 | 2015-05-06 | 深圳市朗驰欣创科技有限公司 | 一种画面拼接方法及装置 |
CN109168068A (zh) * | 2018-08-23 | 2019-01-08 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及计算机可读介质 |
CN110874817A (zh) * | 2018-08-29 | 2020-03-10 | 上海商汤智能科技有限公司 | 图像拼接方法和装置、车载图像处理装置、电子设备、存储介质 |
CN112422888A (zh) * | 2019-08-23 | 2021-02-26 | 浙江宇视科技有限公司 | 视频拼接方法、装置、电子设备及计算机可读存储介质 |
CN110910312A (zh) * | 2019-11-21 | 2020-03-24 | 北京百度网讯科技有限公司 | 图像处理方法和装置、自动驾驶车辆、电子设备 |
CN113286098A (zh) * | 2021-05-27 | 2021-08-20 | 深圳爱特天翔科技有限公司 | 图像处理方法和图像拼接设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023024421A1 (zh) | 2023-03-02 |
CN113781302A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10462372B2 (en) | Imaging device, imaging system, and imaging method | |
CN107249096B (zh) | 全景摄像机及其拍摄方法 | |
CN113781302B (zh) | 多路图像拼接方法、系统、可读存储介质、及无人车 | |
US8570334B2 (en) | Image processing device capable of efficiently correcting image data and imaging apparatus capable of performing the same | |
US20090180000A1 (en) | Image processing system and camera including the same | |
US7583280B2 (en) | Image display device | |
EP3528490B1 (en) | Image data frame synchronization method and terminal | |
US9332212B2 (en) | Imaging apparatus with improved pre-processing | |
US10997689B1 (en) | High dynamic range sensor system with row increment operation | |
US8639029B2 (en) | Image processor and image processing method | |
US11302035B2 (en) | Processing images using hybrid infinite impulse response (TTR) and finite impulse response (FIR) convolution block | |
US7868913B2 (en) | Apparatus for converting images of vehicle surroundings | |
JP2011066498A (ja) | 画像処理装置及び車載用撮像システム | |
CN216625908U (zh) | 一种视频存储装置及内窥镜设备 | |
WO2017086029A1 (ja) | 画像処理装置、画像処理方法、移動体、身体装着型電子機器及びコンピュータプログラム | |
US20100254618A1 (en) | Method for Accessing Image Data and Related Apparatus | |
CN112991237B (zh) | 一种图像畸形校正系统及方法 | |
US20220058768A1 (en) | Low latency streaming remapping engine | |
CN117676097B (zh) | 基于虚拟isp的三目摄像头拼接显示装置及方法 | |
CN112689134B (zh) | 一种用于机载货舱的具有梯形校正的信息显示终端 | |
US20220261963A1 (en) | Image sensors with variable resolution image format | |
CN110708460B (zh) | 一种自动泊车系统图像获取方法 | |
US10466926B1 (en) | Efficient scheme for reversing image data in a memory buffer | |
CN117788532A (zh) | 一种安防领域基于fpga的超高清双光融合配准方法 | |
CN115225841A (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 |