行车影像显示方法、装置及平台、存储介质、嵌入式设备与流程

    专利2022-07-08  97


    本发明涉及视频显示技术领域,尤其涉及一种行车影像显示方法、装置及平台、存储介质、嵌入式设备。



    背景技术:

    随着图像、视觉技术的快速发展,越来越多的相关技术被应用到车载电子领域,传统行车影像系统利用安装在车尾的单路摄像头,仅能覆盖车尾周围视角有限的区域,无法环视车辆周围的信息,这将大大增加驾驶员的行车安全隐患。

    目前新型的全景行车影像系统使用多路摄像头感知车辆周围环境信息,通过360度(或记作“360°”)的平面二维(2d)模式或360°的三维(3d)立体模式得到车辆行驶信息。市场上常见的相机(camera)采集设备的输出帧率为30帧每秒(framespersecond,简称fps),帧间隔约为33毫秒(ms),输出格式为yuv。其中,yuv,是一种颜色编码方法,“y”表示明亮度(luminance或luma),也就是灰阶值,“u”和“v”表示的则是色度。然而,目前新型的全景行车影像系统只能通过360°的平面2d模式,无法感知车辆360°的3d环境信息,或者是只能显示360°的3d模式,无法与2d平面模式兼容。

    如果要同时显示2d和3d画面,嵌入式设备受到性能和功耗的影响,无法在车机平台上实现全功率、长时间运行,所以在嵌入式平台上无优化的直接运行2d/3d算法会造成帧率达不到30fps的情况。此时,同时显示2d和3d画面则会造成2d/3d的显示帧率降低,造成显示延迟,显示的实时性无法得到满足。在驾驶员处理车辆起步、行车转弯、泊车入位、窄道会车、规避障碍等情况时,延迟可能造成的距离偏移,继而会给驾驶员的判断造成影响,危害行车安全。



    技术实现要素:

    本发明解决的技术问题是如何解决现有的全景行车影像系统同时显示2d和3d画面时的显示帧率降低、显示延迟的问题。

    为解决上述问题,本发明实施例提供了一种行车影像显示方法,包括:在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;获取cpu的运行信息,所述cpu包含多个核;根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或变更执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    可选的,所述cpu的运行信息包括所述cpu的温度和/或所述cpu的频率。

    可选的,所述2d显示参数包括显示2d环境信息的显示帧率,所述3d显示参数包括显示3d环境信息的显示帧率。

    可选的,所述cpu核包括至少一个大核和若干个小核,调整执行核包括:如果需要设定的cpu频率值调整到频率最大值、且所述cpu的温度在第一预设时间内增加,将所述执行核变更为大核。

    可选的,所述将所述执行核变更为大核之后,还包括:如果所述cpu的温度在第二预设时间内下降,将所述执行核变更为小核。

    可选的,根据下述公式调整需要设定的cpu频率值:

    所述p的取值满足公式:

    其中,freqnew为需要设定的cpu频率,freqmax为所述频率最大值,k为过度因子,load为cpu的当前负载,loadmax为cpu的最大负载,p为补偿因子,cputemp为cpu的温度,fps2d/3d为2d/3d的显示帧率。

    可选的,所述方法还包括:控制无执行任务的cpu核进入浅睡眠模式。

    可选的,所述根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整执行核之前,还包括:从应用层获取2d显示参数和3d显示参数;从cpu内核中获取所述cpu的温度和所述cpu的频率。

    可选的,所述目标线程至少包括:拍摄图像获取线程、2d算法处理线程和3d算法处理线程。

    可选的,所述方法还包括:通过所述拍摄图像获取从车辆的若干个相机获取拍摄图像,并将获取的拍摄图像存储到缓存区,所述拍摄图像包括2d图像和3d图像;每次从所述缓存区截取至少一帧2d图像发送至所述2d算法处理线程,并由所述2d算法处理线程对所述2d图像进行处理,以得到可显示的2d环境信息;每次从所述缓存区截取至少一帧3d图像发送至所述3d算法处理线程,并由所述3d算法处理线程对所述3d图像进行处理,以得到可显示的3d环境信息。

    可选的,所述方法还包括:定义至少5个指针,所述指针包括第一指针、第二指针、第三指针、第四指针和第五指针;在每次从所述缓存区截取至少一帧2d图像时,第一指针和第二指针分别指向本次截取的开始位置和停止位置;在每次从所述缓存区截取至少一帧3d图像时,第三指针和第四指针分别指向本次截取的开始位置和停止位置;所述第五指针指向所述缓存区的最大容量位置,所述第一指针、第二指针、第三指针和第四指针指向的位置均不能超出第五指针指向的位置。

    可选的,至少在下述其中一个操作中使用zero-copy技术:获取拍摄图像、截取2d图像、截取3d图像。

    可选的,所述方法还包括:接收车载中控和/或档位控制器发出的控制信息;根据所述控制信号同步显示2d环境信息和3d环境信息。

    可选的,同步显示2d环境信息和3d环境信息时,显示2d环境信息的区域尺寸小于显示3d环境信息的区域尺寸。

    本发明实施例还提供一种行车影像显示装置,所述装置包括:参数获取模块,用于在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;cpu运行信息获取模块,用于获取cpu的运行信息,所述cpu包含多个核;执行核调整模块,用于根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或变更执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行任一项所述方法的步骤。

    本发明实施例还提供一种嵌入式设备,所述嵌入式设备的cpu为多核,所述嵌入式设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行任一项所述方法的步骤。

    本发明实施例还提供一种行车影像显示平台,所述平台包括若干个采集车辆的环境信息并获取拍摄图像的相机、嵌入式设备和用于显示2d环境信息和/或3d环境信息的车载显示终端。

    与现有技术相比,本发明实施例的技术方案具有以下有益效果:

    本发明实施例提供了一种行车影像显示方法,包括:在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;获取cpu的运行信息,所述cpu包含多个核;根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或变更执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。较之现有技术,本发明提供了同时显示2d和3d画面的方案,为避免嵌入式设备上直接运行2d/3d算法造成显示帧率降低的情况,可实时监控2d算法和3d算法的执行情况和cpu的运行信息,在无法支持2d和3d环境信息的同步实时显示时,调整执行核,以保证硬件支持,从而保证2d/3d显示的帧率和实时性,解决了现有的全景行车影像系统同时显示2d和3d画面时的显示帧率降低、显示延迟的问题。

    进一步地,在调度策略中只允许cpu处于浅睡眠模式,禁止进入深度睡眠模式,以减少唤醒延迟。

    进一步地,将拍摄图像获取线程、2d算法处理线程和3d算法处理线程分为三个独立的线程,避免各个线程相互干扰,提高处理效率。

    进一步地,针对2d/3d算法处理线程,buffer方法中定义至少5个指针。能够同时运行的2d/3d算法处理线程就能够通过两组数据读取指针(一组为第一指针和第二指针,另一组为第三指针和第四指针)同时读取buffer中的数据。

    进一步地,同时使用zero-copy技术,在buffer数据中使用多指针指向方法,使得多线程访问中能够并发的获得buffer的数据,并在数据解析、封装和传递的过程中使用指针拷贝传递,减少数据实拷贝造成的延迟。并将获取camera数据和处理2d/3d算法进行解耦,使用多线程加速和zero-copy技术来减少数据和算法处理延迟。

    附图说明

    图1为本发明实施例的一种行车影像显示方法的流程示意图;

    图2为本发明实施例的一种调度策略的示意图;

    图3为本发明实施例提供的3个线程的示意图;

    图4为图3中线程1的一个具体实施例的执行步骤示意图;

    图5为本发明实施例的定义的5个指针的指向位置的示意图;

    图6为本发明实施例的一种行车影像显示装置的结构示意图;

    图7为本发明实施例的一种行车影像显示平台的结构示意图。

    具体实施方式

    如背景技术所言,现有技术中存在全景行车影像系统同时显示2d和3d画面时的显示帧率降低、显示延迟的问题。

    具体地,目前市场上常用的嵌入式视频采集设备输出帧率为30fps,每fps需要33ms时间,如果2d/3d显示fps存在延迟,则延迟帧率与时间的关系为可以采用公式(1)表示:

    t=0.033×n(1);

    其中,n为延迟帧率,t为延迟总时间。

    如果驾驶员处理车辆起步、行车转弯、泊车入位、窄道会车、规避障碍等情况时,以10千米每小时(km/h)的速度运行,则由于延迟造成的距离偏移可以用公式(2)表示:

    s=t×2.8,单位:米每秒(m/s)(2);

    其中,s为延迟偏移距离。

    如果视频采集设备以30fps的速度输出图像,但是2d/3d显示输出帧率为25fps,这就造成了5fps的延迟,使用上述方法延迟的距离偏移为:0.46m。可以看出,速度越快造成的偏移越大。该问题的原因是嵌入式设备受到性能和功耗的影响,无法在车机平台上实现全功率、长时间运行,所以在嵌入式平台上无优化的直接运行2d/3d算法会造成帧率达不到30fps的情况。如果需要2d/3d满足实时性的帧率要求,需要在每帧之间的间隔时间33ms内处理完2d/3d算法。

    基于上述技术问题,本发明实施例提供了一种行车影像显示方法,包括:在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;获取cpu的运行信息,所述cpu包含多个核;根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    通过该方案,能够解决全景行车影像系统同时显示2d和3d画面时的显示帧率降低、显示延迟的问题,以提高行车安全。

    为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

    请参见图1,图1为本发明实施例的一种行车影像显示方法,该方法包括以下步骤:

    步骤s101,在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;

    其中,2d环境信息为在显示设备(如屏幕等)上显示的车辆周围环境信息的图像。3d环境信息为在显示设备上显示的车辆周围环境信息的图像。

    2d/3d显示参数为执行2d/3d算法时、用于体现算法执行情况的属性参数,例如,执行2d/3d算法的线程的运算情况等;或者输出要显示的2d/3d环境信息的属性参数,如2d/3d环境信息的显示帧率等。其中,显示帧率为每秒传输帧数(framespersecond,简称fps),是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。fps是测量用于保存、显示动态视频的信息数量。每秒钟帧数越多,所显示的视频动作就会越流畅。

    在一个具体实施例中,所述2d显示参数包括显示2d环境信息的显示帧率,所述3d显示参数包括显示3d环境信息的显示帧率。由此,能够通过2d/3d环境信息的显示帧率以实时监控当前的显示是否可能发生显示延迟。

    步骤s102,获取cpu的运行信息,所述cpu包含多个核;

    中央处理器(centralprocessingunit,简称cpu)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。可选的,cpu可以包括对称多处理器(symmetricmultiprocessing,简称smp)或者异构多处理器(heterogeneousmultiprocessing,简称hmp)的多核结构。其中,在smp中所有的处理器都是对等的,它们通过总线连接共享同一块物理内存,这也就导致了系统中所有资源(cpu、内存、输入输出接口(i/o)等)都是共享的。hmp可以在系统内实现不同类型cpu、图形处理器(graphicsprocessingunit,简称gpu)和其他处理引擎的动态配置,在实际工作中确保最合适的任务分配、最优的性能、最低的功耗。借助多处理器技术,使得系统级芯片(system-on-a-chip,简称soc)的复杂计算能力可以得到充分释放。

    cpu的运行信息为用于表示cpu在运行时的状态的相关信息,如cpu的占用量(或占用率)、cpu的频率、cpu的温度等等。在一个具体实施例中,所述cpu的运行信息包括所述cpu的温度和/或所述cpu的频率。

    步骤s103,根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或更换执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    在在同步显示2d环境信息和3d环境信息时,根据2d显示参数、3d显示参数监控2d算法和3d算法的执行情况,通过cpu的运行信息监控实现所述方法的硬件设备的运行情况,当检测到cpu的执行核无法支持2d和3d环境信息的同步实时显示时,可调整cpu的频率和/或更换执行核。

    可选的,所述cpu核包括至少一个大核和若干个小核,大核的计算能力比小核强,现有的多核cpu可以包括2个大核和6个小核,或者4个大核和4个小核等。调整执行核也可以包括将目标线程从大核转到小核上运行,或者由小核转到大核上运行。

    步骤s103设置了一种cpu的调度策略,以8个cpu核(2个大核(图2中的bigcore1和bigcore2)和6个小核(图2中的littlecore1,…,littlecore6))为例,该调度策略的示意图可参见图2通过cpu调频模块(如图2所示的cpufreq模块),调度策略本质上是对cpu的计算资源按需分配。将cpu调频操作集成在调度策略中,由于cpu的运行信息和2d/3d显示参数发生变化,需要实时更新该策略所管理cpu的频率。

    可选的,cpufreq模块还可以用于将目标线程更换到其他cpu核上运行。由于调度策略管理了多个cpu核,可通过识别不同架构下cpu核之间的性能和功耗差异,来调度计算资源在不同的核心上运行。

    可调度策略中,cpufreq模块可以决定动态电压频率调整(dynamicvoltageandfrequencyscaling,简称dvfs),即动态的去调整电压和频率来平衡性能和功耗。具体地,根据芯片所运行的应用程序对cpu计算能力的不同需要,动态调节芯片的运行频率和电压,其中,对于同一芯片,频率越高,需要的电压也越高。

    另外,同步显示2d环境信息和3d环境信息时,显示2d环境信息的区域尺寸小于显示3d环境信息的区域尺寸。

    可选的,2d环境信息与3d环境信息可以在同一屏幕上显示,也可以在不同的屏幕上显示。可选的,若在同一屏幕上显示时,显示2d环境信息的区域尺寸占该屏幕总尺寸的三分之一,显示3d环境信息的区域尺寸占该屏幕总尺寸的三分之二。

    图1的实施例提供一种同时显示2d和3d画面的方案,为避免嵌入式设备上直接运行2d/3d算法造成显示帧率降低的情况,可实时监控2d算法和3d算法的执行情况和cpu的运行信息,在无法支持2d和3d环境信息的同步实时显示时,调整执行核,以保证硬件支持,从而保证2d/3d显示的帧率和实时性,解决了现有的全景行车影像系统同时显示2d和3d画面时的显示帧率降低、显示延迟的问题。

    在一个实施例中,执行所述方法的硬件设备的cpu核包括至少一个大核和若干个小核,步骤s103中调整执行核的操作可以为:如果需要设定的cpu频率值调整到频率最大值、且所述cpu的温度在第一预设时间内增加,将所述执行核变更为大核。

    其中,需要设定的cpu的频率值为能够满足2d/3d显示需求的频率值。频率最大值为设定的cpu的阈值,当cpu频率调整到一个阈值,将结合cpu的温度进行大小核切换,以计算能力更强的大核作为执行核,保证同步显示。

    可选的,所述将所述执行核变更为大核之后,还包括:如果所述cpu的温度在第二预设时间内下降,将所述执行核变更为小核。

    当cpu的温度在第二预设时间内下降,结合调度策略则将2d/3d算法又调度到小核心上运行。其中,第一预设时间可以与第二预设时间相同,也可以不同,该两段时间为监控cpu运行的时间,可根据需要设定。

    在一个实施例中,调度策略中的cpu频率线性调整公式和大小核切换判断可参照下述公式(3)和公式(4)。

    所述p的取值满足公式:

    其中,freqnew为需要设定的cpu频率,freqmax为所述频率最大值,k为过度因子,load为cpu的当前负载,loadmax为cpu的最大负载,p为补偿因子,cputemp为cpu的温度,fps2d/3d为2d/3d的显示帧率。

    在一个实施例中,请参见图1和图2,所述的方法还包括:控制无执行任务的cpu核进入浅睡眠模式。

    可选的,在cpu的调度策略中通过cpu空闲(idle)(如图2所示)模块来控制执行任务的cpu核进入睡眠模式。

    其中,cpu核的睡眠模式可包括深度睡眠模式和浅(度)睡眠模式,虽然深度睡眠模式的cpu核心功耗最低,但是唤醒的延迟时间也明显较长,所以为了减少唤醒延迟,在调度策略中只允许cpu处于浅睡眠模式,禁止进入深度睡眠模式。

    在一个实施例中,所述根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整执行核之前,还包括:从应用层(图2中的application层)获取2d显示参数和3d显示参数;该2d/3d显示参数可以为显示2d/3d环境信息的显示帧率(在图2中简记作显示帧率)。从cpu内核(kernel)中获取所述cpu的温度和所述cpu的频率。

    在一个实施例中,图1中的目标线程至少包括图3中的3个线程:拍摄图像获取线程(如图3中线程1)、2d算法处理线程(如图3中线程2)和3d算法处理线程(如图3中线程3)。

    其中,拍摄图像获取线程用于从拍摄车辆周围环境的一个或多个相机(camera)获取相机拍摄的数据,并进行数据解析和数据封装(图3中已示出)。通常,多个相机包括采集车辆的前、后、左、右四个方向的相机。进一步,数据解析是为了将多个camera的数据按照需求进行分解,如果camera安装在车辆的前后左右四个方向,则需要把获得的一组数据解析为前、后、左、右四个独立数据组。进一步,camera采集的数据为yuv格式,可以将前、后、左、右四路独立数据再次解析为y分量和uv分量的数据组。数据封装是为了将分离后的数据分别以缓存(buffer)的方法进行表达。

    2d算法处理线程和3d算法处理线程同时读取buffer中存储的数据,2d算法处理线程用于将获取的数据进行处理以得到可显示的2d环境信息,并将得到的2d环境信息进行数据传递以供显示设备显示。3d算法处理线程用于将获取的数据进行处理以得到可显示的3d环境信息,并将得到的2d环境信息进行数据传递以供显示设备显示。

    本实施例中,将拍摄图像获取线程、2d算法处理线程和3d算法处理线程分为三个独立的线程,避免各个线程相互干扰,提高处理效率。

    在一个实施例中,请参见图4,图3中线程1的执行步骤包括:

    步骤s401,通过所述拍摄图像获取从车辆的若干个相机获取拍摄图像,并将获取的拍摄图像存储到缓存区,所述拍摄图像包括2d图像和3d图像;

    步骤s402,每次从所述缓存区截取至少一帧2d图像发送至所述2d算法处理线程,并由所述2d算法处理线程对所述2d图像进行处理,以得到可显示的2d环境信息;

    步骤s403,每次从所述缓存区截取至少一帧3d图像发送至所述3d算法处理线程,并由所述3d算法处理线程对所述3d图像进行处理,以得到可显示的3d环境信息。

    其中,步骤s402和步骤s403的执行顺序不限定,也可同时进行。

    在一个实施例中,所述方法还包括:定义至少5个指针,所述指针包括第一指针、第二指针、第三指针、第四指针和第五指针,该5个指针的指向位置如图5所示;步骤s402中在每次从所述缓存区截取至少一帧2d图像时,第一指针和第二指针分别指向本次截取的开始位置(图5中的开始位置1)和停止位置(即图5中的停止位置1);步骤s403中在每次从所述缓存区截取至少一帧3d图像时,第三指针和第四指针分别指向本次截取的开始位置(图5中的开始位置2)和停止位置(即图5中的停止位置2);所述第五指针指向所述缓存区的最大容量位置(图5中已标示),所述第一指针、第二指针、第三指针和第四指针指向的位置均不能超出第五指针指向的位置。

    读取2d图像时,只需要移动开始位置1的第一指针和停止位置1的第二指针,即以分片段的形式在buffer中获得数据位置和长度,第一指针和第二指针的指向不能超过第五指针指向的位置。读取3d图像时,只需要移动开始位置2的第三指针和停止位置2的第四指针,即以分片段的形式在buffer中获得数据位置和长度,第三指针和第四指针的指向不能超过第五指针指向的位置。

    由此,能够同时运行的2d/3d算法处理线程就能够通过两组数据读取指针(一组为第一指针和第二指针,另一组为第三指针和第四指针)同时读取buffer中的数据。

    在一个实施例中,至少在下述其中一个操作中使用zero-copy技术:获取拍摄图像、截取2d图像、截取3d图像。

    具体地,在步骤s402和步骤s403中,每次从所述缓存区截取至少一帧2d/3d图像发送至所述2d/3d算法处理线程时,可以将截取2d/3d图像的指针(第一指针和第二指针,或第三指针和第四指针)传递到2d/3d处理算法中,通过指针的方式传递指向的数据值可以减少大量数据实拷贝造成的延时,实现zero-copy技术。

    可选的,在拍摄图像获取的线程1进行数据封装时,将解析的数据组以zero-copy技术中所述的buffer方法进行表达,然后将封装的数据分别传递到2d与3d算法处理的线程2和线程3。

    各个线程间的数据传输可使用zero-copy技术,多线程加速用于解耦拍摄图像获取和2d/3d处理算法的运行。目前已有的camera数据(也即拍摄图像对应的数据)存储到buffer方法中,只存在一组数据读取指针,如果存在多线程同时读取buffer中的数据则无法进行并发处理。一种基于嵌入式设备的全景行车影像实时显示方法中,需要注意的是,若基于本发明的内容采用多数据读取指针实现的zero-copy技术,并不影响本发明的实质内容,均视为本发明的保护范围。

    同时使用zero-copy技术,在buffer数据中使用多指针指向方法,使得多线程访问中能够并发的获得camerabuffer的数据,并在数据解析、封装和传递的过程中使用指针拷贝传递,减少数据实拷贝造成的延迟。并将获取camera数据和处理2d/3d算法进行解耦,使用多线程加速和zero-copy技术来减少数据和算法处理延迟。

    在一个实施例中,所述方法还包括:接收车载中控和/或档位控制器发出的控制信息;根据所述控制信号同步显示2d环境信息和3d环境信息。

    控制信息通过车载中控和/或挡位控制器发出,使用车载中控的控制按钮或者是倒挡/前进挡位进行开启和停止2d/3d的显示,以及切换车载显示2d环境信息和3d环境信息的ui界面。例如,在倒挡时开启2d和3d的同步显示,若车辆正常前进,则仅开启2d显示即可。

    请参见图6,本发明实施例还提供一种行车影像显示装置60,包括:

    参数获取模块601,用于在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;

    cpu运行信息获取模块602,用于获取cpu的运行信息,所述cpu包含多个核;

    执行核调整模块603,用于根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或变更执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    关于上述行车影像显示装置60的工作原理、工作方式的更多内容,可以参照上述图1至图5中所述方法的相关描述,这里不再赘述。

    本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行图1至图5所述方法的步骤。所述存储介质可以是计算机可读存储介质,例如可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。

    本发明实施例还提供一种嵌入式设备。所述终端可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行图1至图5所述方法的步骤。

    请参见图7,本发明实施例还提供一种行车影像显示平台70,所述平台包括若干个采集车辆的环境信息并获取拍摄图像的相机701、嵌入式设备703和用于显示2d环境信息和/或3d环境信息的车载显示终端704。其中,2d环境信息在车载显示终端704中的2d显示区域中显示,3d环境信息在车载显示终端704中的3d显示区域中显示。可选的,2d显示区域的尺寸小于3d显示区域的尺寸。2d与3d的显示基于操作系统创建的不同表层(surface)。

    2d与3d的显示基于不同的surface,所以在不同的surface中2d和3d的显示帧率会存在差异,通过本发明实施例提供的行车影像显示方法,在相机等图像采集设备输出帧率的间隔(常用的嵌入式camera采集设备输出帧率为30fps,间隔时间约为33ms)处理2d与3d算法,使得2d/3d的显示帧率与camera采集设备的输出帧率能够同步。

    可选的,行车影像显示平台70通过车载电源702供电。且嵌入式设备也可以由车载电源702单独供电,车载电源702的稳定供电也决定了cpu运行的稳定性。上述图1至图5所示全景行车影像实时显示方法可以在嵌入式设备或者汽车的行车影像显示平台的cpu中运行,cpu包括smp或者mpp的多核结构。

    可选的,嵌入式设备或行车影像显示平台70的硬件可以包括基于x86、arm、mipis和powpc架构的cpu,执行上述方法的软件系统可以包括基于android、ios、windows和linux的操作系统。需要注意的是,若基于本发明的内容采用其他硬件系统和软件系统实现的基于嵌入式设备的全景行车影像实时显示方法,并不影响本发明的实质内容,均视为本发明的保护范围。

    具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessingunit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

    还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,简称rom)、可编程只读存储器(programmablerom,简称prom)、可擦除可编程只读存储器(erasableprom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccessmemory,简称ram)可用,例如静态随机存取存储器(staticram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronousdram,简称sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlinkdram,简称sldram)和直接内存总线随机存取存储器(directrambusram,简称drram)。

    综上,本发明实现了一种行车影像显示方法及装置及平台、存储介质、嵌入式设备,实现在相机等图像采集设备输出为30fps的情况下。在每帧之间的间隔时间33ms内处理完2d/3d算法,保证2d/3d显示的帧率和实时性。本发明实施例具体包括以下效果:

    1、可以维持2d/3d显示帧率与camera采集设备的输出帧率同步。

    2、利用嵌入式设备多核的特点,在cpu调度策略中融合2d/3d的fps和cpu频率和温度,及时调整2d/3d算法在大核还是小核上运行。

    3、使用zero-copy技术,在buffer数据中使用多指针指向方法,使得多线程访问中能够并发的获得camerabuffer数据,并在数据解析、封装和传递的过程中使用指针拷贝传递,减少数据实拷贝造成的延迟。

    其中,如果将拍摄图像的获取和2d/3d算法进行串行耦合处理,会造成延迟帧率增加。所以该方法中将获取camera数据和处理2d/3d算法进行解耦,使用多线程加速和zero-copy技术来减少数据和算法处理延迟。

    应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。

    本申请实施例中出现的“多个”是指两个或两个以上。

    本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。

    本申请实施例中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本申请实施例对此不做任何限定。

    虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。


    技术特征:

    1.一种行车影像显示方法,其特征在于,所述方法包括:

    在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;

    获取cpu的运行信息,所述cpu包含多个核;

    根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或变更执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    2.根据权利要求1所述的方法,其特征在于,所述cpu的运行信息包括所述cpu的温度和/或所述cpu的频率。

    3.根据权利要求2所述的方法,其特征在于,所述2d显示参数包括显示2d环境信息的显示帧率,所述3d显示参数包括显示3d环境信息的显示帧率。

    4.根据权利要求3所述的方法,其特征在于,所述cpu核包括至少一个大核和若干个小核,调整执行核包括:

    如果需要设定的cpu频率值调整到频率最大值、且所述cpu的温度在第一预设时间内增加,将所述执行核变更为大核。

    5.根据权利要求4所述的方法,其特征在于,所述将所述执行核变更为大核之后,还包括:

    如果所述cpu的温度在第二预设时间内下降,将所述执行核变更为小核。

    6.根据权利要求4所述的方法,其特征在于,根据下述公式调整需要设定的cpu频率值:

    所述p的取值满足公式:

    其中,freqnew为需要设定的cpu频率,freqmax为所述频率最大值,k为过度因子,load为cpu的当前负载,loadmax为cpu的最大负载,p为补偿因子,cputemp为cpu的温度,fps2d/3d为2d/3d的显示帧率。

    7.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:

    控制无执行任务的cpu核进入浅睡眠模式。

    8.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整执行核之前,还包括:

    从应用层获取2d显示参数和3d显示参数;

    从cpu内核中获取所述cpu的温度和所述cpu的频率。

    9.根据权利要求1所述的方法,其特征在于,所述目标线程至少包括:拍摄图像获取线程、2d算法处理线程和3d算法处理线程。

    10.根据权利要求9所述的方法,其特征在于,所述方法还包括:

    通过所述拍摄图像获取从车辆的若干个相机获取拍摄图像,并将获取的拍摄图像存储到缓存区,所述拍摄图像包括2d图像和3d图像;

    每次从所述缓存区截取至少一帧2d图像发送至所述2d算法处理线程,并由所述2d算法处理线程对所述2d图像进行处理,以得到可显示的2d环境信息;

    每次从所述缓存区截取至少一帧3d图像发送至所述3d算法处理线程,并由所述3d算法处理线程对所述3d图像进行处理,以得到可显示的3d环境信息。

    11.根据权利要求10所述的方法,其特征在于,所述方法还包括:

    定义至少5个指针,所述指针包括第一指针、第二指针、第三指针、第四指针和第五指针;

    在每次从所述缓存区截取至少一帧2d图像时,第一指针和第二指针分别指向本次截取的开始位置和停止位置;

    在每次从所述缓存区截取至少一帧3d图像时,第三指针和第四指针分别指向本次截取的开始位置和停止位置;

    所述第五指针指向所述缓存区的最大容量位置,所述第一指针、第二指针、第三指针和第四指针指向的位置均不能超出第五指针指向的位置。

    12.根据权利要求9至11任一所述的方法,其特征在于,至少在下述其中一个操作中使用zero-copy技术:获取拍摄图像、截取2d图像、截取3d图像。

    13.根据权利要求1所述的方法,其特征在于,所述方法还包括:

    接收车载中控和/或档位控制器发出的控制信息;

    根据所述控制信号同步显示2d环境信息和3d环境信息。

    14.根据权利要求1所述的方法,其特征在于,同步显示2d环境信息和3d环境信息时,显示2d环境信息的区域尺寸小于显示3d环境信息的区域尺寸。

    15.一种行车影像显示装置,其特征在于,所述装置包括:

    参数获取模块,用于在同步显示2d环境信息和3d环境信息时,获取2d显示参数和3d显示参数,其中,所述2d显示参数为显示2d环境信息时的参数,所述3d显示参数为显示3d环境信息时的参数;

    cpu运行信息获取模块,用于获取cpu的运行信息,所述cpu包含多个核;

    执行核调整模块,用于根据所述2d显示参数、所述3d显示参数和/或所述cpu的运行信息调整所述cpu的频率和/或变更执行核,所述执行核为运行目标线程的cpu核,所述目标线程为用于处理2d环境信息和/或3d环境信息的线程。

    16.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至14任一项所述方法的步骤。

    17.一种嵌入式设备,其特征在于,所述嵌入式设备的cpu为多核,所述嵌入式设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行权利要求1至14任一项所述方法的步骤。

    18.一种行车影像显示平台,其特征在于,所述平台包括若干个采集车辆的环境信息并获取拍摄图像的相机、权利要求17所述的嵌入式设备和用于显示2d环境信息和/或3d环境信息的车载显示终端。

    技术总结
    一种行车影像显示方法、装置及平台、存储介质、嵌入式设备,该方法包括:在同步显示2D环境信息和3D环境信息时,获取2D显示参数和3D显示参数,其中,所述2D显示参数为显示2D环境信息时的参数,所述3D显示参数为显示3D环境信息时的参数;获取CPU的运行信息,所述CPU包含多个核;根据所述2D显示参数、所述3D显示参数和/或所述CPU的运行信息调整所述CPU的频率和/或变更执行核,所述执行核为运行目标线程的CPU核,所述目标线程为用于处理2D环境信息和/或3D环境信息的线程。通过本实施方案能够解决现有的全景行车影像系统同时显示2D和3D画面时的显示帧率降低、显示延迟的问题。

    技术研发人员:倪俊超;陈小强;周勃;王志伟;赵从富
    受保护的技术使用者:展讯半导体(成都)有限公司
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22927.html

    最新回复(0)