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

摩托车开机动画显示控制方法、控制装置及显示系统与流程

2022-02-22 05:09:41 来源:中国专利 TAG:


1.本发明涉及摩托车仪表技术领域,尤其涉及一种摩托车开机动画显示控制方法、摩托车开机动画显示控制装置及摩托车开机动画显示系统。


背景技术:

2.摩托车液晶仪表越来越普及,能让车主享受更好的驾驶体验,受到了不少消费者的喜爱。摩托车液晶仪表应用场景越来越多,不仅可以通过wifi实现导航投屏功能,还可以通过蓝牙连接蓝牙头盔实现音乐播放功能和接听电话功能。
3.摩托车仪表上电实现快速开机动画功能,可以提高用户对摩托车仪表的体验,增强产品的竞争力。由于摩托车仪表与汽车仪表相比价格差别大,导致摩托车方案的硬件性能远弱于汽车仪表,摩托车仪表在没有硬件解码功能,上电实现快速开机动画变得相当困难。
4.现有方案中,一般采用具有较大片内sram容量的芯片,把显示区域放置在该区域内,实现摩托车快速开机动画播放功能,缺点是会增加硬件成本。


技术实现要素:

5.本发明提供了一种摩托车开机动画显示控制方法、摩托车开机动画显示控制装置及摩托车开机动画显示系统,解决相关技术中存在的无法低成本的实现摩托车快速开机动画显示的问题。
6.作为本发明的第一个方面,提供一种摩托车开机动画显示控制方法,其中,包括:获取编码文件,所述编码文件为上位机根据开机动画数据压缩形成;对所述编码文件进行数据解压缩,得到待显示开机动画数据;将所述待显示开机动画数据发送至显示屏进行显示。
7.进一步地,所述编码文件为上位机根据开机动画数据压缩形成,包括:所述上位机能够将开机动画数据的第一帧显示画面数据通过lz4算法进行压缩,形成第一编码文件;所述上位机能够将开机动画数据中除去第一帧显示画面外的剩余帧显示画面中的每一帧显示画面均依次与前一帧显示画面通过脏矩形算法生成差分数据,以及能够将所述差分数据通过lz4算法进行压缩,形成第二编码文件;所述第一编码文件和所述第二编码文件组成所述编码文件。
8.进一步地,所述上位机能够将开机动画数据的第一帧显示画面数据通过lz4算法进行压缩,形成第一编码文件,包括:所述上位机能够将rgb888格式的第一帧显示画面数据作为数据处理流,通过lz4算法进行压缩得到第一编码文件,其中所述lz4算法包括: lz4数据块中的多个lz4序列通过每次移动单位字节的进行扫描,当遇到重复的数据则进行压缩。
9.进一步地,所述上位机能够将开机动画数据中除去第一帧显示画面外的剩余帧显
示画面中的每一帧显示画面均依次与前一帧显示画面通过脏矩形算法生成差分数据,以及能够将所述差分数据通过lz4算法进行压缩,形成第二编码文件,包括:所述上位机能够将所述开机动画数据中除去第一帧显示画面外的剩余帧显示画面中的后一帧显示画面与相邻前一帧显示画面进行比较,并计算得到后一帧显示画面相比相邻前一帧显示画面发生改变的区域,将发生改变的区域形成对应的列表,所述列表记录显示画面发生改变区域的坐标位置、长度与宽度以及区域变化的元数据信息;将所述列表通过lz4算法进行压缩,形成第二编码文件。
10.进一步地,所述对所述编码文件件进行数据解压缩,得到待显示开机动画数据,包括:根据lz4算法对所述编码文件逐帧进行解压;对解压后的数据根据脏矩形算法进行差分运算得到rgb888格式的视频数据,所述rgb888格式的视频数据为所述待显示开机动画数据。
11.进一步地,所述根据lz4算法对所述编码文件逐帧进行解压,包括:将lz4数据块中的第一个lz4序列的第一个字节作为当前操作位置;将当前操作位置作为token,取出其高四位的数据作为字面序列长度;根据所述字面序列长度读取所有字面序列,并将所有字面序列拷贝到输出缓存中;以与读取字面序列相同的方法读取所有匹配序列,并将所有匹配序列拷贝到输出缓存中;重复上述读取所有字面序列的步骤直至所有lz4数据块均解压完成。
12.进一步地,所述对解压后的数据根据脏矩形算法进行差分运算得到rgb888格式的视频数据,包括:对解压后的除去第一帧显示数据外的剩余每一帧显示数据,均在前一帧的基础上通过后一帧差分数据的叠加形成后一帧数据,得到rgb888格式的视频数据。
13.作为本发明的另一个方面,提供一种摩托车开机动画显示控制装置,用于实现前文所述的摩托车开机动画显示控制方法,其中,包括:获取模块,用于获取编码文件,所述编码文件为上位机根据开机动画数据压缩形成;解压缩模块,用于对所述编码文件进行数据解压缩,得到待显示开机动画数据;发送模块,用于将所述待显示开机动画数据发送至显示屏进行显示。
14.作为本发明的另一个方面,提供一种摩托车开机动画显示系统,其中,包括:上位机、flash、sdram、显示屏和前文所述的摩托车开机动画显示控制装置,所述摩托车开机动画显示控制装置与所述上位机通信连接,所述flash、sdram和显示屏均与所述摩托车开机动画显示控制装置通信连接,所述上位机能够根据开机动画数据进行压缩形成编码文件;所述flash用于存储所述编码文件;所述摩托车开机动画显示控制装置能够将所述编码文件进行数据解压缩;所述显示屏能够通过所述sdram对解压后的待显示开机动画数据实现开机动画显
示。
15.进一步地,所述摩托车开机动画显示控制装置包括单片机。
16.本发明提供的摩托车开机动画显示控制方法,通过上位机形成编码文件,可以减少开机读取视频数据的时间,并且通过lz4算法与脏矩形算法的结合对开机动画数据进行压缩可以减少主控芯片的运算,加快首次出图的时间,另外,通过lz4算法与脏矩形算法的结合实现解码,最终实现开机动画显示。这种摩托车开机动画显示控制方法能够将摩托车仪表上电显示开机动画的时间缩短至200毫秒,且实现成本低。
附图说明
17.附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:图1为本发明提供的摩托车开机动画显示控制方法的流程图。
18.图2为本发明提供的lz4算法生成的数据块序列格式图。
19.图3为本发明提供的lz4算法压缩算法的示例过程图。
20.图4为本发明提供的脏矩形算法生成差分数据的示例图。
21.图5为本发明提供的脏矩形算生成动画数据的示例图。
22.图6为本发明使用的lz4解压算法与其它算法的比较图。
23.图7为本发明提供的摩托车仪表开机动画的压缩和解压流程图。
24.图8为本发明提供的摩托车开机动画显示系统的结构框图。
具体实施方式
25.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互结合。下面将参考附图并结合实施例来详细说明本发明。
26.为了使本领域技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.在本实施例中提供了一种摩托车开机动画显示控制方法,图1是根据本发明实施例提供的摩托车开机动画显示控制方法的流程图,如图1所示,包括:s110、获取编码文件,所述编码文件为上位机根据开机动画数据压缩形成;具体地,所述编码文件为上位机根据开机动画数据压缩形成,包括:所述上位机能够将开机动画数据的第一帧显示画面数据通过lz4算法进行压缩,形成第一编码文件;
所述上位机能够将开机动画数据中除去第一帧显示画面外的剩余帧显示画面中的每一帧显示画面均依次与前一帧显示画面通过脏矩形算法生成差分数据,以及能够将所述差分数据通过lz4算法进行压缩,形成第二编码文件;所述第一编码文件和所述第二编码文件组成所述编码文件。
29.在本发明实施例中,所述编码文件是在所述上位机上通过算法进行压缩形成,这样可以减少开机读取视频数据的时间,并且通过算法优化可以减少摩托车上主控芯片的运算,对性能较弱的摩托车主控芯片上也能够实现流畅视频播放。
30.需要说明的是,传统的摩托车仪表在开机动画方案上一般依懒于片内的sram,但是受限于片内sram的容量,导致无法采用双缓区和三缓区机制,且没有使用脏矩形算法,没有实现局部刷新功能,并且需要对显示数据做色彩空间转换,导致无法快速出图。本发明采用lz4算法和脏矩形算法,通过压缩视频文件减少开机读取视频数据的时间和通过算法优化减少主控芯片的运算,加快首次出图的时间,在性能较弱的主控芯片上实现流畅视频播放。目前通过该方法将摩托车仪表上电显示开机动画的时间缩短至200毫秒,相比传统开机1.5秒的开机时长,提升了700%。
31.进一步具体地,所述上位机能够将开机动画数据的第一帧显示画面数据通过lz4算法进行压缩,形成第一编码文件,包括:所述上位机能够将rgb888格式的第一帧显示画面数据作为数据处理流,通过lz4算法进行压缩得到第一编码文件,其中所述lz4算法包括: lz4数据块中的多个lz4序列通过每次移动单位字节的进行扫描,当遇到重复的数据则进行压缩。
32.在本发明实施例中,将rgb888格式的第一帧显示画面数据当作数据处理流,使用lz4算法进行压缩,lz4数据块由多个lz4序列组成。lz4序列格式图2示所示,压缩过程以至少4个字节为扫描窗口查找匹配,每次移动一个字节进行扫描,遇到重复的就进行压缩,处理过程如图2所示,并将第一帧视频源数据经lz4算法处理过的数据写入编码文件当中。lz4压缩过程如图3所示。
33.进一步具体地,所述上位机能够将开机动画数据中除去第一帧显示画面外的剩余帧显示画面中的每一帧显示画面均依次与前一帧显示画面通过脏矩形算法生成差分数据,以及能够将所述差分数据通过lz4算法进行压缩,形成第二编码文件,包括:所述上位机能够将所述开机动画数据中除去第一帧显示画面外的剩余帧显示画面中的后一帧显示画面与相邻前一帧显示画面进行比较,并计算得到后一帧显示画面相比相邻前一帧显示画面发生改变的区域,将发生改变的区域形成对应的列表,所述列表记录显示画面发生改变区域的坐标位置、长度与宽度以及区域变化的元数据信息;将所述列表通过lz4算法进行压缩,形成第二编码文件。
34.在本发明实施例中,将后一帧显示数据与前一帧显示数据做比较,计算后一帧显示数据上发生改变的区域,并保存成一个对应的列表,该列表记录数据发生改变区域的作标位置、长度与宽度和区域变化的元数据信息。如图4所示,列表区域为diff1 diff2数据区域。并将diff1 diff2数据区域通过lz4算法进行压缩,写入编码文件当中。最后将编码文件转换成数组,编译进程序当中。
35.s120、对所述编码文件进行数据解压缩,得到待显示开机动画数据;
具体地,根据lz4算法对所述编码文件逐帧进行解压;对解压后的数据根据脏矩形算法进行差分运算得到rgb888格式的视频数据,所述rgb888格式的视频数据为所述待显示开机动画数据。
36.进一步具体地,所述根据lz4算法对所述编码文件逐帧进行解压,包括:将lz4数据块中的第一个lz4序列的第一个字节作为当前操作位置;将当前操作位置作为token,取出其高四位的数据作为字面序列长度;根据所述字面序列长度读取所有字面序列,并将所有字面序列拷贝到输出缓存中;以与读取字面序列相同的方法读取所有匹配序列,并将所有匹配序列拷贝到输出缓存中;重复上述读取所有字面序列的步骤直至所有lz4数据块均解压完成。
37.进一步具体地,所述对解压后的数据根据脏矩形算法进行差分运算得到rgb888格式的视频数据,包括:对解压后的除去第一帧显示数据外的剩余每一帧显示数据,均在前一帧的基础上通过后一帧差分数据的叠加形成后一帧数据,得到rgb888格式的视频数据。
38.在本发明实施例中,摩托车仪表上电之后,主控芯片将flash中的150帧包含开机动画的编码数据,使用lz4算法和脏矩形算法依次进行解压至lcd三缓冲区机制所在的sdram位置当中,显示单元输出图像至lcd显示屏实现视频动画显示功能。
39.具体地,lz4解码算法的具体实现大致如下:(1)数据块中将block第一个sequence的第一个字节作为当前操作位置。视当前操作位置为token,取出其高四位的数据作为字面序列长度。如果得到的长度是15,则读取token后面的字节,加到字面序列长度中,直到读取到的字节不是255。
40.(2)根据字面序列长度,读取所有字面序列,并拷贝到输出缓存中。字面序列后是2个字节的offset,读取之后,从输出缓存的当前位置往前追溯offset个字节,即可得到匹配位置。
41.(3)再以类似2的方法读取匹配序列长度。
42.(4)拷贝匹配序列到输出缓存。继续进行2操作,除非本block已解压完成。
43.(5)继续执行1操作,直到所有block模块都解压完成。
44.lz4解压算法是目前解压速度最快的算法,如图6所示。其中脏矩形算法在视频显示中的应用如图5所示,在前一帧数据的基础上,通过后一帧差分数据的叠加,生成后一帧数据,大大减少cpu的运算,保证显示流畅度,达到产品要求。
45.s130、将所述待显示开机动画数据发送至显示屏进行显示。
46.应当理解的是,最终待显示开机动画数据通过lcd显示接口发送至lcd显示屏进行显示。
47.需要说明的是,lcd显示接口采用三缓冲机制,这三个帧缓冲(framebuffer)的角色为:online framebuffer,用于存当前显示的 framebuffer;offline framebuffer,用于存储当前绘制的framebuffer;next framebuffer ,用于存储绘制就绪的 framebuffer,下一个周期切换成online framebuffer。
48.综上,本发明实施例提供的摩托车开机动画显示控制方法,通过上位机形成编码
文件,可以减少开机读取视频数据的时间,并且通过lz4算法与脏矩形算法的结合对开机动画数据进行压缩可以减少主控芯片的运算,加快首次出图的时间,另外,通过lz4算法与脏矩形算法的结合实现解码,最终实现开机动画显示。这种摩托车开机动画显示控制方法能够将摩托车仪表上电显示开机动画的时间缩短至200毫秒,且实现成本低。
49.下面结合具体实例对本发明提供的摩托车开机动画显示控制方法的实现过程进行详细说明。
50.将某电动摩托车厂提供的开机动画(分辫率800*480,时长5秒,采用rgb888格式)转换成编码文件,编译进仪表程序当中;摩托车仪表上电时,主控程序读取解压编码文件,播放开机动画。
51.lcd接口使用rgb888格式,每个像素需要3个byte,150帧的数据格式需要的数据量是800*480*3*150 = 165mb,为了在5秒内实现连续播放,需要读取动画的速度至少要165mb/5s = 33mb/s,对于主控芯片而言,读取性能上难以满足,且浪费存储空间,增加硬件成本。所以使用lz4算法和脏矩形算法对原始数据进行处理,最终开机动画的数据只占5.9mb的空间,极大减少数据的读取时间和硬件成本。
52.如图7所示,开机动画原始数据在上位机上进行处理,生成编码数据文件,编译进程序当中。通过主控芯片的程序烧录口jtag将程序烧录进外部flash当中,摩托车仪表上电之后,主控程序初始化lcd显示控制器,主控程序解码flash上的开机动画数据到lcd缓冲区机当中,lcd显示单元输出图像至lcd显示屏实现视频动画显示功能。
53.作为本发明的另一实施例,提供一种摩托车开机动画显示控制装置,用于实现前文所述的摩托车开机动画显示控制方法,其中,包括:获取模块,用于获取编码文件,所述编码文件为上位机根据开机动画数据压缩形成;解压缩模块,用于对所述编码文件进行数据解压缩,得到待显示开机动画数据;发送模块,用于将所述待显示开机动画数据发送至显示屏进行显示。
54.关于本发明实施例的摩托车开机动画显示控制装置的具体工作原理可以参照前文的摩托车开机动画显示控制方法的描述,此处不再赘述。
55.作为本发明的另一实施例,提供一种摩托车开机动画显示系统,其中,如图8所示,包括:上位机、flash、sdram、显示屏和前文所述的摩托车开机动画显示控制装置,所述摩托车开机动画显示控制装置与所述上位机通信连接,所述flash、sdram和显示屏均与所述摩托车开机动画显示控制装置通信连接,所述上位机能够根据开机动画数据进行压缩形成编码文件;所述flash用于存储所述编码文件;所述摩托车开机动画显示控制装置能够将所述编码文件进行数据解压缩;所述显示屏能够通过所述sdram对解压后的待显示开机动画数据实现开机动画显示。
56.应当理解的是,所述摩托车开机动画显示控制装置即为前文所述的主控芯片,具体可以为单片机。
57.应当理解的是,所述上位机具体能够根据输入的开机视频图片通过编码算法(具体可以采用前文所述的lz4算法)进行处理,得到编码文件,然后对编码文件进行编译后,得
到编译程序,这一编译程序可以直接被所述摩托车开机动画显示控制装置,也就是是被主控芯片下载后使用。具体所述摩托车开机动画显示控制装置下载后对其进行解压缩等过程可以参照前文的摩托车开机动画显示控制方法的描述,此处不再赘述。
58.优选地,所述主控芯片系统可以采用nxp公司的rt1052作为主控芯片进行设计,在主控芯片上运行freertos操作系统,它支持多任务调度,用于运行驱动及开机动画、仪表业务功能和hmi软件。
59.本发明实施例中的主控芯片可以内置jtag接口,用于将程序烧录至flash当中,flash用于存放程序及开机动画视频编码文件,sdram用于运行程序及存放开机动画数据,lcd显示屏用于显开开机动画。
60.关于本发明实施例提供的摩托车开机动画显示系统的工作原理可以参照前文的摩托车开机动画显示控制方法的描述,此处不再赘述。
61.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
再多了解一些

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

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

相关文献