CN110758291A - 一种倒车影像***的控制方法、控制器、***及存储介质 - Google Patents
一种倒车影像***的控制方法、控制器、***及存储介质 Download PDFInfo
- Publication number
- CN110758291A CN110758291A CN201911108987.8A CN201911108987A CN110758291A CN 110758291 A CN110758291 A CN 110758291A CN 201911108987 A CN201911108987 A CN 201911108987A CN 110758291 A CN110758291 A CN 110758291A
- Authority
- CN
- China
- Prior art keywords
- hardware module
- module
- memory block
- hardware
- 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.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了一种倒车影像***的控制方法、控制器、***及存储介质,该方法包括接收多个硬件模块中某一硬件模块的申请请求;从多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块;将处于可用状态的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作;其中,可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块的写入和/或读取操作。通过上述方式,本申请能够保证任意内存区块只在单一硬件模块中使用,不会造成相邻的两个硬件模块间产生垃圾数据,使得倒车画面显示正常。
Description
技术领域
本申请涉及汽车电子技术领域,具体涉及一种倒车影像***的控制方法、控制器、***及存储介质。
背景技术
在车机领域中,倒车画面显示功能涉及到多个硬件协同工作,车机为完成倒车画面的显示,需要调用多个底层硬件进行驱动,协同完成信号采集、信号解码、图像增强以及图像显示等工作;多个底层硬件在物理层面属于独立部分,各硬件之间因物理上存在隔离,缺少硬件信号线相连,不存在信号或者数据的同步方法,且各模块因功能不一致,工作速度受输入工作时钟速度控制,各个模块承担任务不同,工作速度有差异,图像增强模块因为承担了过多任务,容易出现处理任务积压的情况,最终表现为车机显示画面跳帧或内容不连续等现象。
发明内容
本申请主要解决的问题是提供一种倒车影像***的控制方法、控制器、***及存储介质,能够保证任意内存区块只在单一硬件模块中使用,不会造成相邻的两个硬件模块间产生垃圾数据,使得倒车画面显示正常。
为解决上述技术问题,本申请采用的技术方案是提供一种倒车影像***的控制方法,该倒车影像***包括多个硬件模块、控制器以及内存,内存内设置有由多个硬件模块共用的多个内存区块,多个硬件模块按照时间顺序循环对每一内存区块进行倒车画面的写入和/或读取操作,该方法包括由控制器执行的以下步骤:接收多个硬件模块中某一硬件模块的申请请求;从多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块;将处于可用状态的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作;其中,可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块的写入和/或读取操作。
为解决上述技术问题,本申请采用的另一技术方案是提供一种控制器,该控制器包括处理器,处理器用于接收多个硬件模块中某一硬件模块的申请请求;从内存中的多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块;将处于可用状态的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作;其中,多个硬件模块共用多个内存区块,可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块的写入和/或读取操作。
为解决上述技术问题,本申请采用的另一技术方案是提供一种倒车影像***,该***包括:多个硬件模块、控制器以及内存,内存内设置有由多个硬件模块共用的多个内存区块,多个硬件模块用于按照时间顺序循环对每一内存区块进行倒车画面的写入和/或读取操作,控制器用于接收多个硬件模块中某一硬件模块的申请请求;从多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块;将处于可用状态的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作;其中,可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块的写入和/或读取操作。
为解决上述技术问题,本申请采用的另一技术方案是提供一种存储介质,该存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的倒车影像***的控制方法。
通过上述方案,本申请的有益效果是:通过控制器接收至少一硬件模块的申请请求,并利用控制器从内存中查询申请请求所对应的多个内存区块中处于可用状态的内存区块,然后将处于可用状态的内存区块分配给申请请求所对应的硬件模块,以便使得对应的硬件模块可以向所分配的内存区块写入倒车画面或从所分配的内存区块读取倒车画面,能够保证任意内存区块只在单一硬件模块中使用,不会造成相邻的两个硬件模块间产生垃圾数据,使得倒车画面显示正常。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的控制器一实施例的结构示意图;
图2是本申请提供的倒车影像***一实施例的结构示意图;
图3是本申请提供的倒车影像***另一实施例的结构示意图;
图4是本申请提供的倒车影像***的控制方法一实施例的流程示意图;
图5是本申请提供的倒车影像***的控制方法一实施例中控制器、硬件模块以及内存的交互示意图;
图6是本申请提供的倒车影像***的控制方法另一实施例的流程示意图;
图7是本申请提供的存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于各个底层硬件的差异性,导致同一份数据在不同底层硬件处理时,容易出现工作速度不匹配或多个硬件同时操作同一份数据,导致数据被多次改写,造成数据损坏,从而导致最终显示数据出现异常或跳帧等。在车机进入倒车状态时,为保证倒车画面流畅,不出现跳帧或丢帧等情况,现有技术中大多是通过各个模块利用Linux软件同步方法,完成数据状态的同步;在前一个模块完成数据处理后,通过Linux信号量的方式通知后续模块可以进行处理;但是各个模块呈现串联方式,相互之间依赖,若某个模块工作异常无法进行有效的自恢复,最终将导致倒车功能显示异常。
参阅图1,图1是本申请提供的控制器一实施例的结构示意图,该控制器11包括处理器111,处理器111用于接收多个硬件模块中某一硬件模块的申请请求;从内存中的多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块;将处于可用状态的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作。
多个硬件模块共用多个内存区块,可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块的写入和/或读取操作;本次循环的第一级硬件模块所对应的可用状态是上一次循环中的最后一级硬件模块已经完成对内存区块的写入和/或读取操作。
处理器111中记录有多个硬件模块对内存区块的写入和/或读取操作的完成时间;处理器111还用于当存在处于可用状态的至少两个内存区块时,根据上一级硬件模块对至少两个内存区块完成写入和/或读取操作的时间点,优先选择在可用状态下持续时间最长的内存区块分配给某一硬件模块。
处理器111还用于接收硬件模块的预设工作时钟,利用预设工作时钟,计算从第一预设时刻到第二预设时刻的预设时间内每个硬件模块的预设工作次数;根据统计的第一预设时刻与第二预设时刻每个硬件模块的实际工作次数,计算预设时间内每个硬件模块的实际工作次数;计算预计工作次数与实际工作次数的差值;对差值中绝对值最大的硬件模块的工作时钟进行调整,以使得多个硬件模块之间的工作速度的比值满足预设速度比值条件。
处理器111还用于获取预设时间内硬件模块的预计工作次数与预设时间内硬件模块的实际工作次数的比值与1的差值,将其作为调整比例对硬件模块的工作时钟进行比例调整。
在一具体的实施例中,多个硬件模块不存在直接的信号连接,它们均与控制器11连接,通过控制器11进行数据的交互;多个硬件模块包括图像采集模块和图像显示模块,图像采集模块用于将摄像头传入的模拟信号处理成数字信号,并写入至内存区块,图像显示模块用于从内存区块读取倒车画面,并进行显示;其中,图像采集模块和图像显示模块分别作为每次循环的第一级硬件模块和最后一级硬件模块。
在另一实施例中,硬件模块包括图像解码模块和图像增强模块,图像解码模块用于从内存区块读取数字信号,并将数字信号解码成倒车画面写入内存区块,图像增强模块用于从内存区块读取倒车画面,并进行图像增强后写入内存区块。
在其他实施例中,硬件模块包括图像采集模块、图像显示模块、图像解码模块以及图像增强模块,图像显示模块还用于从内存区块读取增强后的倒车画面,并进行显示,其他功能与上述类似,在此不在赘述。
本实施例解决了各个硬件模块同时操作相同数据带来的数据损坏问题,保证同一份数据只在单一硬件模块中被使用,避免造成相邻的两个硬件模块之间产生垃圾数据,使得倒车画面显示正常。
参阅图2,图2是本申请提供的倒车影像***一实施例的结构示意图,该倒车影像***包括:控制器11、多个硬件模块12以及内存13。
内存13内设置有由多个硬件模块12共用的多个内存区块131;硬件模块12可用于按照时间顺序循环对每一内存区块131进行倒车画面的写入和/或读取操作,各个硬件模块12物理上相互独立,即不存在直接的连接和数据通信关系,由控制器11进行调度。
控制器11用于接收多个硬件模块12中某一硬件模块的申请请求;从多个内存区块131中查询处于能够供某一硬件模块使用的可用状态的内存区块131;将处于可用状态的内存区块131分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块131进行倒车画面的写入和/或读取操作;该可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块131的写入和/或读取操作。
控制器11与每个硬件模块12连接,其用于接收多个硬件模块12中某一硬件模块的申请请求;从多个内存区块131中查询处于能够供某一硬件模块使用的可用状态的内存区块131;将处于可用状态的内存区块131分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块131进行倒车画面的写入和/或读取操作;该可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块131的写入和/或读取操作;控制器11能够掌握所有内存区块131的使用情况和各个硬件模块12的工作情况。
本次循环的第一级硬件模块所对应的可用状态是上一次循环中的最后一级硬件模块已经完成对内存区块131的写入和/或读取操作。
控制器11中记录有多个硬件模块12对内存区块131的写入和/或读取操作的完成时间;控制器11还用于当存在处于可用状态的至少两个内存区块131时,根据上一级硬件模块对至少两个内存区块131完成写入和/或读取操作的时间点,优先选择在可用状态下持续时间最长的内存区块131分配给某一硬件模块。
控制器11还用于接收硬件模块12的预设工作时钟,利用预设工作时钟,计算从第一预设时刻到第二预设时刻的预设时间内每个硬件模块12的预设工作次数;根据统计的第一预设时刻与第二预设时刻每个硬件模块12的实际工作次数,计算预设时间内每个硬件模块12的实际工作次数;计算预计工作次数与实际工作次数的差值;对差值中绝对值最大的硬件模块12的工作时钟进行调整,以使得多个硬件模块12之间的工作速度的比值满足预设速度比值条件。
控制器11还用于获取预设时间内硬件模块12的预计工作次数与预设时间内硬件模块12的实际工作次数的比值与1的差值,将其作为调整比例对硬件模块12的工作时钟进行比例调整。
在一具体的实施例中,如图3所示,多个硬件模块12包括:图像采集模块121、图像解码模块122、图像增强模块123以及图像显示模块124。
图像采集模块121用于将将摄像头传入的模拟信号处理成数字信号,并写入至内存区块131,具体地,图像采集模块121可作为每次循环的第一级硬件模块,该图像采集模块121可以将摄像头传入的模拟信号采集到车机平台。
图像解码模块122与图像采集模块121连接,其用于从内存区块131读取数字信号,并将数字信号解码成倒车画面写入内存区块131,以便后续模块能够进行进一步处理和显示,该倒车画面可以为数字图像。
图像增强模块123与图像解码模块122连接,其用于从内存区块131读取倒车画面,并进行图像增强后写入内存区块131;具体地,对倒车画面进行去噪、去隔行或放大处理以生成倒车画面,可以通过对倒车画面进行进一步地处理,从而增强倒车画面的质量。
图像显示模块124与图像增强模块123连接,其用于从内存区块131读取倒车画面,并进行显示;具体地,图像显示模块124可作为每次循环的最后一级硬件模块,其用于从内存区块131读取增强后的倒车画面,并将倒车画面显示到屏幕上,供用户倒车时观察。
在启动倒车过程中,依次会启动上述硬件模块12,各个硬件模块12之间通过控制器11进行数据传输,即图像采集模块121通过控制器11输出数据给图像解码模块122,图像解码模块122通过控制器11输出数据给图像增强模块123,图像增强模块123通过控制器11输出数据给图像显示模块124,配合完成倒车画面的显示。
由于相邻的两个硬件模块12不会同时读写到相同的数据,从根本上保证了任意数据只在单一硬件模块12中使用,不会造成相邻的两个硬件模块12间垃圾数据的出现,从而能够保证倒车功能涉及所有硬件模块12均不会出现垃圾数据,从而保证显示画面正常。
参阅图2和图4,图4是本申请提供的倒车影像***的控制方法一实施例的流程示意图,该方法可应用于倒车影像***,倒车影像***的具体结构如上述实施例中所示,该方法包括:
步骤41:接收多个硬件模块中某一硬件模块的申请请求。
该申请请求为硬件模块12向控制器11发送的申请内存资源的请求。
步骤42:从多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块。
该可用状态是指某一硬件模块在时间顺序的上一级硬件模块已经完成对内存区块131的写入和/或读取操作;控制器11可以在接收到硬件模块12发送的申请请求后,查询当前申请请求所对应的内存区块131是否可用,如果该内存区块131不是上一级硬件模块已经操作完成的区块,则不使用该内存区块131;如果该内存区块131当前未被其他的硬件模块12所占用,则可以使用该内存区块131;如果该内存区块131当前已被其他的硬件模块12所占用,则控制器11可以选择处于可用状态的内存区块131。
步骤43:将处于可用状态的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作。
控制器11在查询到具有可用状态的内存区块131时,将其分配给申请请求对应的硬件模块12,以便硬件模块12可以向此内存区块131中写入倒车画面或者从此内存区块131中读取倒车画面。
在一具体的实施例中,如图5所示,以任意两个相邻硬件模块A和B为例,模块A的输出数据为模块B的输入数据,若模块A和模块B未能做好数据同步,可能会出现模块B在读取数据时,模块A在写同一块数据,对模块B而言,其输入数据就是有问题的,致使模块B的处理结果错误,影响到了最终显示结果。
采用本实施例中的方案,模块A在准备开始工作时,向控制器11申请资源,控制器11会查询模块A名下所有内存区块A0-A3的状态,会发现模块A对应的内存区块A0在模块B中使用,此时不会再将内存区块A0分配给模块A,而是从其他内存区块A1-A3中挑选可用的内存区块分配给模块A,例如,将内存区块A1分配给模块A。
同样地,模块B在准备开始工作时,向控制器11申请资源,控制器11会查询作为模块B的输入资源A模块对应的可用内存区块,挑选原则为:内存区块存储最新结果且未被模块A使用。
当模块A和模块B分别完成了处理流程后,分别向控制器11发送处理完成信号,告知当前模块处理完成,控制器11分别将模块A使用的内存区块A1以及模块B使用的内存区块A0和内存区块B1置为可用状态。
由此可知,模块A和模块B不会同时读写到相同的内存区块,从根本上保证了任意内存区块只在单一模块中使用,不会造成模块A和模块B间垃圾数据的出现,在两两模块之间保证不出现垃圾数据,从而能够保证倒车功能涉及所有模块均不会出现垃圾数据,从而保证最终显示画面正常。
本实施例中控制器11接收至少一硬件模块12的申请请求,并从资源池内查询申请请求所对应的多个内存区块131中处于可用状态的内存区块131,然后将处于可用状态的内存区块131分配给申请请求所对应的硬件模块12,以便使得对应的硬件模块12可以向所分配的内存区块131写入倒车画面或从所分配的内存区块131读取倒车画面,能够保证任意内存区块131只在单一硬件模块12中使用,不会造成相邻的两个硬件模块12间产生垃圾数据,使得倒车画面显示正常。
参阅图2和6,图6是本申请提供的倒车影像***的控制方法另一实施例的流程示意图,该方法包括:
步骤61:接收多个硬件模块中某一硬件模块的申请请求。
本次循环的第一级硬件模块所对应的可用状态是上一次循环中的最后一级硬件模块已经完成对内存区块131的写入和/或读取操作。
步骤62:从多个内存区块中查询处于能够供某一硬件模块使用的可用状态的内存区块。
在控制器11将内存区块131分配给相应的硬件模块12的同时,可将所分配的内存区块131设置成占用状态,以便其他的硬件模块12禁止使用此内存区块131。
控制器11中记录有多个硬件模块12对内存区块131的写入和/或读取操作的完成时间;具体地,在硬件模块12对内存区块131进行了操作之后,控制器11可对多个硬件模块12对内存区块131的写入和/或读取操作的完成时间进行记录,并进行存储。
步骤63:当存在处于可用状态的至少两个内存区块时,根据上一级硬件模块对至少两个内存区块完成写入和/或读取操作的时间点,优先选择在可用状态下持续时间最长的内存区块分配给某一硬件模块,以允许某一硬件模块向所分配的内存区块进行倒车画面的写入和/或读取操作。
如果具有处于可用状态的至少两个内存区块131,则可以根据对各内存区块131进行读取和/或操作完成的时间点来对内存区块131进行分配,选择自完成读取和/或写入操作开始到当前时间为止时间最长的内存区块131进行分配;例如,上一级硬件模块将两帧图像的像素数据分别写入到内存区块A和B,写入的时间分别为自上电开始的第10s和第12s,某一硬件模块M预读取内存区块A和B中的数据,当前时间点为第15s,则控制器11先将内存区块A分配给硬件模块M,待硬件模块M读取完内存区块A中的数据,向控制器11发送申请请求时,控制器11再将内存区块B分配给硬件模块M。
发送申请请求的硬件模块12在处理完数据后,向控制器11发送处理完成消息,以告知控制器11其所使用的内存区块131中的数据可以被其他的硬件模块12所使用了,控制器11在接收到处理完成消息之后,将该硬件模块12对应的内存区块131设置成可用状态,以便其他的硬件模块12可以读取此内存区块131中的数据或改写此内存区块131中的数据。
步骤64:接收硬件模块的预设工作时钟,利用预设工作时钟,计算从第一预设时刻到第二预设时刻的预设时间内每个硬件模块的预设工作次数。
预设时间为第二预设时刻与第一预设时刻之间的时间差,控制器11先获取硬件模块12的工作时钟,根据该工作时钟,计算预设时间内的理论工作次数,作为预设工作次数。
步骤65:根据统计的第一预设时刻与第二预设时刻每个硬件模块的实际工作次数,计算预设时间内每个硬件模块的实际工作次数。
控制器11可以获取预设时间内每个硬件模块12的实际工作次数,利用每个硬件模块12的预设处理速度估计预设时间内每个硬件模块12的预计工作次数,然后计算预计工作次数与实际工作次数的差值,对差值中绝对值最大的硬件模块12的工作时钟进行调整。
进一步地,控制器11可以记录第一预设时刻硬件模块12的实际工作次数,记录第二预设时刻硬件模块12的实际工作次数,将第二预设时刻硬件模块12的实际工作次数和第一预设时刻硬件模块12的实际工作次数的差值作为预设时间内每个硬件模块12的实际工作次数。
步骤66:计算预计工作次数与实际工作次数的差值,并对差值中绝对值最大的硬件模块的工作时钟进行调整,以使得多个硬件模块之间的工作速度的比值满足预设速度比值条件。
可以采用以下公式获取的调整比例对硬件模块12的工作时钟进行比例调整:
K=|Iwork/Rwork-1|
其中,Iwork为预设时间内硬件模块12的预计工作次数,Rwork为预设时间内硬件模块12的实际工作次数,将当前工作时钟与调整比例相乘即可得到调整后的工作时钟。
在一具体的实施例中,如图3所示,假设倒车影像***包括四个硬件模块12:图像采集模块121、图像显示模块122、图像解码模块123以及图像增强模块124,图像采集模块121用于将摄像头传入的模拟信号处理成数字信号,并写入至内存区块131;图像显示模块124用于从内存区块131读取倒车画面,并进行显示;图像采集模块121和图像显示模块124可分别作为每次循环的第一级硬件模块和最后一级硬件模块;图像解码模块122用于从内存区块131读取数字信号,并将数字信号解码成倒车画面写入内存区块131;图像增强模块123用于从内存区块131读取倒车画面,并进行图像增强后写入内存区块131;图像显示模块124还用于从内存区块131读取增强后的倒车画面,并进行显示。
每个硬件模块12的工作速度只受到输入的工作时钟频率大小的影响,但由于工作时钟来自于外部模拟模块,不可避免出现误差;在长时间倒车的情况,各个硬件模块12的工作速度均会可能出现偏差,预设工作速度关系如下所示,此处速度以fps(画面每秒传输帧数)来计算:
2×f0=2×f1=f2=f3
其中,f0为信号采集的速度,f1为信号解码的速度,f2为图像增强的速度,f3为图像显示的速度。
实际应用中各硬件模块12的工作速度有可能出现如下情况:
2×f0<2×f1>f2<f3
从时间T0开始计时,控制器11在驱动各个硬件模块12工作时,分别记录各个硬件模块12的工作次数分别为:{Start0,Start1,Start2,Start3}。
从T0时间点开始记录工作次数,在经历了时间△T后,记录每个硬件模块12的工作次数分别为:{Finish0,Finish1,Finish2,Finish3}。
依次比较{Start0,Start1,Start2,Start3}和{Finish0,Finish1,Finish2,Finish3}之间的差值,即时间△T内,各个硬件模块12的实际工作次数为{Rwork0,Rwork1,Rwork2,Rwork3},其中,RworkX=FinishX-StartX,X={0,1,2,3};根据预设工作速度得到时间△T对应的预计工作次数为{work0,work1,work2,work3},从而得到经过时间△T后实际工作次数与预计工作次数的差值:{Diff0,Diff1,Diff2,Diff3},其中,DiffX=RworkX-workX,X={0,1,2,3}。
若差值列表中差值不为0,则调整差值列表中绝对值最大的硬件模块12的工作时钟,将硬件模块12的工作时钟频率调整预设百分比(|workX/RworkX-1|),并重新开始计时,进行闭环调整,不断调整工作速度较慢的硬件模块12的工作速度,直到Diff数组不存在差异为止。
例如,假设各个硬件模块12的预设工作速度为:10fps,10fps、20fps以及10fps,即相同时间内预设处理图像帧数为:N帧、N帧、2N帧以及N帧(N>0)。
在时间T0,记录各个硬件模块12的实际工作次数分别为:{200,200,300,200}。
在经历10s后,记录各个硬件模块12的实际工作次数分别为:{300,300,480,300},根据预设工作速度,各个硬件模块12的实际工作次数应该为{100,100,180,100},预计工作次数为:{100,100,200,100}。
经控制器11计算得到预计工作次数与实际工作次数的差值为{0,0,-20,0},由此可知第三个硬件模块12工作速度慢了,需要使得其工作时钟更快,调整比例为(|200/180-1|)≈11%。
在工作时钟补差后,由于模拟时钟始终存在误差,所以需要重新调整,进行闭环调整阶段;在该过程中,若长时间得不到对应硬件模块12的处理完成信号,根据超时处理,控制器11会对相应的硬件模块12进行检查,并进行重启该硬件模块12的动作,保证倒车功能不会因为某个单一硬件模块12的异常而失效。
由于硬件模块12均是由外部时钟模块进行驱动,外部时钟模块允许一定误差存在,因此不可避免带来各个硬件模块12和预设工作速度有差异;通过如上的闭环调节方式,在发生了工作速度不匹配时,虽然无法避免发生故障,但是利用检测和闭环调节的方式,能够进行工作速度的自我调整,从而达到恢复正常工作的目的,能够检测各个硬件模块12的工作状态,不会因为其中任一硬件模块12的异常导致倒车功能异常,从而保证了倒车画面的正常显示,可以解决倒车画面花屏、卡顿或者跳帧的问题。
此外,还可以通过加入各个硬件模块12的信号关联,完成工作速度同步,但是会增加一定的硬件成本,且可能会降低***的灵活性;或者在两两硬件模块12之间加入软件信号量,同步硬件模块12的工作信息。
控制器11可以为各个硬件模块12进行输入资源和输出资源的分配,由控制器11统一管控内存资源的使用情况,能够从根本上保证资源不存在冲突;通过对各个硬件模块12的工作速度进行统计,并通过计算综合考虑各个硬件模块12的工作速度,进行针对性地调整,使各个硬件模块12工作速度能够尽可能匹配,实现自适应调整各个硬件模块12的工作速度,使得倒车画面显示正常。
请参阅图7,图7是本申请提供的存储介质一实施例的结构示意图,存储介质70用于存储计算机程序71,计算机程序71在被处理器执行时,用于实现上述的倒车影像***的控制方法。
存储介质70可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及硬件模块,可以通过其它的方式实现。例如,以上所描述的硬件模块实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种倒车影像***的控制方法,其特征在于,所述倒车影像***包括多个硬件模块、控制器以及内存,所述内存内设置有由所述多个硬件模块共用的多个内存区块,所述多个硬件模块按照时间顺序循环对每一所述内存区块进行倒车画面的写入和/或读取操作,所述方法包括由所述控制器执行的以下步骤:
接收所述多个硬件模块中某一硬件模块的申请请求;
从所述多个内存区块中查询处于能够供所述某一硬件模块使用的可用状态的内存区块;
将处于所述可用状态的内存区块分配给所述某一硬件模块,以允许所述某一硬件模块向所分配的所述内存区块进行所述倒车画面的写入和/或读取操作;
其中,所述可用状态是指所述某一硬件模块在所述时间顺序的上一级硬件模块已经完成对所述内存区块的写入和/或读取操作。
2.根据权利要求1所述的倒车影像***的控制方法,其特征在于,
本次循环的第一级硬件模块所对应的所述可用状态是上一次循环中的最后一级硬件模块已经完成对所述内存区块的写入和/或读取操作。
3.根据权利要求2所述的倒车影像***的控制方法,其特征在于,
所述硬件模块包括图像采集模块和图像显示模块,所述图像采集模块用于将摄像头传入的模拟信号处理成数字信号,并写入至所述内存区块;所述图像显示模块用于从所述内存区块读取所述倒车画面,并进行显示;其中,所述图像采集模块和所述图像显示模块分别作为每次循环的所述第一级硬件模块和所述最后一级硬件模块。
4.根据权利要求2或3所述的倒车影像***的控制方法,其特征在于,
所述硬件模块包括图像解码模块和图像增强模块,所述图像解码模块用于从所述内存区块读取所述数字信号,并将所述数字信号解码成所述倒车画面写入所述内存区块;所述图像增强模块用于从所述内存区块读取所述倒车画面,并进行图像增强后写入所述内存区块;图像显示模块则从所述内存区块读取增强后的所述倒车画面,并进行显示。
5.根据权利要求1所述的倒车影像***的控制方法,其特征在于,所述控制器中记录有所述多个硬件模块对所述内存区块的写入和/或读取操作的完成时间;所述将处于可用状态的内存区块分配给所述某一硬件模块的步骤,包括:
当存在处于所述可用状态的至少两个内存区块时,根据所述上一级硬件模块对所述至少两个内存区块完成写入和/或读取操作的时间点,优先选择在所述可用状态下持续时间最长的所述内存区块分配给所述某一硬件模块。
6.根据权利要求1所述的倒车影像***的控制方法,其特征在于,所述将处于所述可用状态的内存区块分配给所述某一硬件模块,以允许所述某一硬件模块向所分配的所述内存区块进行所述倒车画面的写入和/或读取操作的步骤之后,包括:
接收所述硬件模块的预设工作时钟,利用所述预设工作时钟,计算从第一预设时刻到第二预设时刻的预设时间内每个所述硬件模块的预设工作次数;
根据统计的所述第一预设时刻与所述第二预设时刻每个所述硬件模块的实际工作次数,计算所述预设时间内每个所述硬件模块的实际工作次数;
计算所述预计工作次数与所述实际工作次数的差值;
对所述差值中绝对值最大的所述硬件模块的工作时钟进行调整,以使得所述多个硬件模块之间的工作速度的比值满足预设速度比值条件。
7.根据权利要求6所述的倒车影像***的控制方法,其特征在于,所述对所述差值中绝对值最大的所述硬件模块的工作时钟进行调整的步骤,包括:
采用以下公式获取的调整比例对所述硬件模块的工作时钟进行比例调整:
K=|Iwork/Rwork-1|
其中,Iwork为所述预设时间内所述硬件模块的预计工作次数,Rwork为所述预设时间内所述硬件模块的实际工作次数。
8.一种控制器,其特征在于,包括处理器,所述处理器用于接收多个硬件模块中某一硬件模块的申请请求;从内存中的多个内存区块中查询处于能够供所述某一硬件模块使用的可用状态的内存区块;将处于所述可用状态的内存区块分配给所述某一硬件模块,以允许所述某一硬件模块向所分配的所述内存区块进行所述倒车画面的写入和/或读取操作;其中,所述多个硬件模块共用所述多个内存区块,所述可用状态是指所述某一硬件模块在所述时间顺序的上一级硬件模块已经完成对所述内存区块的写入和/或读取操作。
9.一种倒车影像***,其特征在于,包括多个硬件模块、控制器以及内存,所述内存内设置有由所述多个硬件模块共用的多个内存区块,所述多个硬件模块用于按照时间顺序循环对每一所述内存区块进行倒车画面的写入和/或读取操作,所述控制器用于接收所述多个硬件模块中某一硬件模块的申请请求;从所述多个内存区块中查询处于能够供所述某一硬件模块使用的可用状态的内存区块;将处于所述可用状态的内存区块分配给所述某一硬件模块,以允许所述某一硬件模块向所分配的所述内存区块进行所述倒车画面的写入和/或读取操作;其中,所述可用状态是指所述某一硬件模块在所述时间顺序的上一级硬件模块已经完成对所述内存区块的写入和/或读取操作。
10.一种存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-7中任一项所述的倒车影像***的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911108987.8A CN110758291B (zh) | 2019-11-13 | 2019-11-13 | 一种倒车影像***的控制方法、控制器、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911108987.8A CN110758291B (zh) | 2019-11-13 | 2019-11-13 | 一种倒车影像***的控制方法、控制器、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110758291A true CN110758291A (zh) | 2020-02-07 |
CN110758291B CN110758291B (zh) | 2021-04-27 |
Family
ID=69338012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911108987.8A Active CN110758291B (zh) | 2019-11-13 | 2019-11-13 | 一种倒车影像***的控制方法、控制器、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110758291B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1410892A (zh) * | 2001-10-02 | 2003-04-16 | 株式会社日立制作所 | 图象处理设备和图象拾取装置 |
JP2008077221A (ja) * | 2006-09-19 | 2008-04-03 | Denso Corp | 車両用制御装置 |
CN101673473A (zh) * | 2009-09-24 | 2010-03-17 | 浙江大学 | 基于dsp的全景视觉泊车辅助装置及生成全景视觉图像的方法 |
CN102774325A (zh) * | 2012-07-31 | 2012-11-14 | 西安交通大学 | 一种后视倒车辅助***和形成后视障碍图像的方法 |
CN107920204A (zh) * | 2017-11-29 | 2018-04-17 | 珠海亿智电子科技有限公司 | 一种冷启动快速显示倒车视频的装置与方法 |
CN207354494U (zh) * | 2017-10-27 | 2018-05-11 | 上海先基半导体科技有限公司 | 一种图像处理*** |
CN109532673A (zh) * | 2018-12-29 | 2019-03-29 | 深圳市车智信科技有限公司 | 倒车影像控制组件、方法、***及存储介质 |
-
2019
- 2019-11-13 CN CN201911108987.8A patent/CN110758291B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1410892A (zh) * | 2001-10-02 | 2003-04-16 | 株式会社日立制作所 | 图象处理设备和图象拾取装置 |
JP2008077221A (ja) * | 2006-09-19 | 2008-04-03 | Denso Corp | 車両用制御装置 |
CN101673473A (zh) * | 2009-09-24 | 2010-03-17 | 浙江大学 | 基于dsp的全景视觉泊车辅助装置及生成全景视觉图像的方法 |
CN102774325A (zh) * | 2012-07-31 | 2012-11-14 | 西安交通大学 | 一种后视倒车辅助***和形成后视障碍图像的方法 |
CN207354494U (zh) * | 2017-10-27 | 2018-05-11 | 上海先基半导体科技有限公司 | 一种图像处理*** |
CN107920204A (zh) * | 2017-11-29 | 2018-04-17 | 珠海亿智电子科技有限公司 | 一种冷启动快速显示倒车视频的装置与方法 |
CN109532673A (zh) * | 2018-12-29 | 2019-03-29 | 深圳市车智信科技有限公司 | 倒车影像控制组件、方法、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110758291B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170148422A1 (en) | Refresh control method and apparatus of display device | |
US9293119B2 (en) | Method and apparatus for optimizing display updates on an interactive display device | |
US9383851B2 (en) | Method and apparatus for buffering sensor input in a low power system state | |
US6844879B2 (en) | Drawing apparatus | |
US8363893B2 (en) | Object detection control apparatus, object detecting system, object detection control method, and computer program | |
CN112216236A (zh) | 一种显示面板补偿方法、装置及*** | |
US10719458B2 (en) | Data transfer device, image processing device, and imaging device | |
CN110758291B (zh) | 一种倒车影像***的控制方法、控制器、***及存储介质 | |
US7023443B2 (en) | Memory management apparatus and method for preventing image tearing in video reproducing system | |
EP1455338A1 (en) | Image processor with frame-rate conversion | |
JP4011082B2 (ja) | 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法 | |
CN100379264C (zh) | 显示屏控制器和显示屏刷新的控制方法 | |
JP2001255860A (ja) | 映像データ転送装置及び映像データの転送方法 | |
CN112650462B (zh) | 图像处理方法及其装置、电子设备和存储介质 | |
US6515672B1 (en) | Managing prefetching from a data buffer | |
US20190087200A1 (en) | Method for displaying an animation during the starting phase of an electronic device and associated electronic device | |
JPH09116827A (ja) | 縮小映像信号処理回路 | |
US20120131315A1 (en) | Data processing apparatus | |
CN112714279A (zh) | 图像显示方法、装置和***以及视频源监视器 | |
US11496652B2 (en) | Electronic apparatus, method for controlling same, and computer readable medium | |
CN114727051B (zh) | 一种媒体资源传输装置、***及方法 | |
CN103680381A (zh) | 图像处理装置以及图像处理方法 | |
US20110026603A1 (en) | Method and apparatus of using system memory for 3d comb filtering for video decoding | |
JP2019087950A (ja) | 撮像装置 | |
TWI798840B (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 |