加速车机和移动端交互信息处理的方法,系统及存储介质与流程

文档序号:29624441发布日期:2022-04-13 14:05阅读:155来源:国知局
加速车机和移动端交互信息处理的方法,系统及存储介质与流程

1.本发明涉及信息通讯技术领域,尤其是涉及一种加速车机和移动端交互信息处理的方法,系统及存储介质。


背景技术:

2.随着车载信息娱乐系统的发展,车机和手机的互联应用也越来越多,比如carplay,androidauto,carlife,hicar等。这些交互都需要手机将视频数据传到车机,车机进行解码显示。所以需要车机的解码显示也有要足够的流畅,比如carplay点击界面,需要140ms内反应。意味着140ms内需要完成指令发送,接收视频数据,解码,渲染,显示整个过程,完成本轮数据处理再进行下一帧数据处理。按照串行处理往往达不到要求,每一帧都执行一个循环,60帧的刷新率,就会有不流畅的体验。


技术实现要素:

3.针对上述技术问题,本发明提出一种加速车机和移动端交互信息处理的方法,系统及存储介质, 其中,所述方法包括以下步骤:s1:移动端与车机端通讯连接,移动端将视频数据传送到车机端;s2:所述车机端对所述视频数据进行解码并将decodebuffer保存至数据池ring buffer中,并进行数据帧的序列号标识;s3:渲染线程renderthread()调用setbuffer函数根据所述序列号标识从ring buffer中提取所述decodebuffer帧进行渲染和显示。
4.其中,所述渲染线程renderthread()在每次渲染前,判断所述decodebuffer帧与前一帧的序列号标识差值是否大于或等于2,若是,则判为丢帧,不执行渲染操作;否则,进行渲染和显示。
5.进一步的,定对于完成渲染操作的decodebuffer帧,数据池ring buffer进行数据同步更新并在完成渲染后将数据释放。
6.进一步的,所述数据池ring buffer每释放一帧数据,则接收并保存新的decodebuffer,并继承前一释放decodebuffer帧的序列号标识。
7.进一步的,所述序列号标识记为i,i取值1,2,...,n;所述渲染线程根据序列号标识i从1到n按序依次进行渲染操作,完成后进入下一轮1到n渲染操作。
8.所述移动端至少包括手机,平板,或笔记本电脑中的一种。
9.作为优选的,本发明还提供一种加速车机和移动端交互信息处理的系统,包括:数据解码单元,持续接收移动端发来的视频数据,并调用解码程序完成视频数据解码并将decodebuffer保存至数据池ring buffer。
10.所述ring buffer,对所述decodebuffer进行数据帧的序列号标识,并一边接收所述数据解码单元数据,一边响应setbuffer函数输出decodebuffer帧数据至渲染单元。
11.所述渲染单元,调用渲染线程renderthread()对所述decodebuffer帧进行渲染。
12.显示单元,接收所述渲染单元完成渲染的数据进行显示。
13.进一步的,所述渲染线程renderthread()在每次渲染前,判断所述decodebuffer帧与前一帧的序列号标识差值是否大于或等于2,若是,则判为丢帧,不执行渲染操作;否则,进行渲染和显示;对于完成渲染操作的decodebuffer帧,数据池ring buffer进行数据同步更新并在完成渲染后将数据释放。
14.进一步的,所述数据池ring buffer每释放一帧数据,则接收并保存新的decodebuffer,并继承前一释放decodebuffer帧的序列号标识;所述序列号标识记为i,i取值1,2,...,n;所述渲染线程根据序列号标识i从1到n按序依次进行渲染操作,完成后进入下一轮1到n渲染操作。
15.作为另一优选的,本发明还提供了一种存储介质,包括设置在车机端的存储介质,处理器及存储在所述存储介质上可被所述处理器执行的计算机程序,所述计算机程序用于执行如上所述的方法。
16.综上所述,本发明提供一种加速车机和移动端交互信息处理的方法,系统及存储介质,通过在车机端设置数据池ring buffer作为移动端与车机端的数据传输中间站,进行存储车机端解码的decodebuffer保存并进行数据帧的序列号标识,再同时通过渲染线程renderthread()调用setbuffer函数根据所述序列号标识从ring buffer中提取所述decodebuffer帧进行渲染和显示,从而保证车机端数据显示的流畅和及时性,60帧数据优化至少240ms,有效节省数据处理时间,提高用户体验感。
附图说明
17.图1 为本发明所述的一种加速车机和移动端交互信息处理的方法的流程图。
具体实施方式
18.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.如图1所示,本发明提出一种加速车机和移动端交互信息处理的方法,系统及存储介质, 其中,所述方法包括以下步骤:s1:移动端与车机端通讯连接,移动端将视频数据传送到车机端;s2:所述车机端对所述视频数据进行解码并将decodebuffer保存至数据池ring buffer中,并进行数据帧的序列号标识;s3:渲染线程renderthread()调用setbuffer函数根据所述序列号标识从ring buffer中提取所述decodebuffer帧进行渲染和显示。
20.其中,所述渲染线程renderthread()在每次渲染前,判断所述decodebuffer帧与前一帧的序列号标识差值是否大于或等于2,若是,则判为丢帧,不执行渲染操作;否则,进行渲染和显示。
21.进一步的,定对于完成渲染操作的decodebuffer帧,数据池ring buffer进行数据
同步更新并在完成渲染后将数据释放。
22.进一步的,所述数据池ring buffer每释放一帧数据,则接收并保存新的decodebuffer,并继承前一释放decodebuffer帧的序列号标识。
23.进一步的,所述序列号标识记为i,i取值1,2,...,n;所述渲染线程根据序列号标识i从1到n按序依次进行渲染操作,完成后进入下一轮1到n渲染操作。
24.其中,所述移动端至少包括手机,平板,或笔记本电脑中的一种,但不限于此。
25.为了更好的解释说明上述交互信息处理的方法,本发明在数据处理过程中所采用的程序原理如下:beginphonenotifydata() /*通知数据准备来了*/( 打开解码器;
ꢀꢀ
if 打开成功then(do 启动renderthread)
ꢀꢀ
else
ꢀꢀ
return
ꢀꢀ
end if)phonestreamdate(数据rawbuffer) /* 手机会不断的传数据过来*/{
ꢀꢀꢀ
if 解码器已经打开 then
ꢀꢀ
(do对rawbuffer进行解码,解码后的数据放到decodebuffer并标记每一帧的序列标识;)elsereturn
ꢀꢀꢀ
end if }renderthread() /* 渲染显示线程*/{while(解码器打开)( if 《ringbuffer中的decode帧小于等于2》 then
ꢀꢀ
(
ꢀꢀꢀꢀ
从decodebuffer中获取一个数据帧;
ꢀꢀꢀꢀꢀ
if 《获取到帧标识有效》 then
ꢀꢀꢀꢀꢀ
(
ꢀꢀꢀꢀꢀꢀꢀ
do 渲染显示一个数据帧;
ꢀꢀꢀꢀꢀꢀꢀ
do 释放该数据帧。
26.ꢀꢀꢀꢀꢀꢀ
)
ꢀꢀꢀꢀꢀꢀ
else
ꢀꢀꢀꢀꢀꢀꢀ
return;)else(
ꢀꢀꢀ
不渲染,丢掉该帧;
ꢀꢀꢀ
return;)
ꢀꢀ
end if)}end本发明将解码和渲染显示设置成并行处理。手机发送的数据解码后放到一个数据池中如下的ring buffer,并进数据帧的序列号标识。渲染的线程再根据帧序列号从中提取解码后的数据帧进行渲染和显示。渲染线程每次渲染前,会判断ring buffer大小,超过2时会进行丢帧,不执行渲染操作。解决渲染性能不足导致的图像延迟问题,同时不影响使用体验。同时这个数据池会根据数据帧的序列号做好数据的同步,完成渲染后就将数据释放。保证了手机发送数据进行解码后马上循环需要等待渲染,只需要从数据池中并行渲染即可。
27.作为优选的,本发明还提供一种加速车机和移动端交互信息处理的系统,包括:数据解码单元,持续接收移动端发来的视频数据,并调用解码程序完成视频数据解码并将decodebuffer保存至数据池ring buffer。
28.所述ring buffer,对所述decodebuffer进行数据帧的序列号标识,并一边接收所述数据解码单元数据,一边响应setbuffer函数输出decodebuffer帧数据至渲染单元。
29.所述渲染单元,调用渲染线程renderthread()对所述decodebuffer帧进行渲染。
30.显示单元,接收所述渲染单元完成渲染的数据进行显示。
31.进一步的,所述渲染线程renderthread()在每次渲染前,判断所述decodebuffer帧与前一帧的序列号标识差值是否大于或等于2,若是,则判为丢帧,不执行渲染操作;否则,进行渲染和显示;对于完成渲染操作的decodebuffer帧,数据池ring buffer进行数据同步更新并在完成渲染后将数据释放。
32.进一步的,所述数据池ring buffer每释放一帧数据,则接收并保存新的decodebuffer,并继承前一释放decodebuffer帧的序列号标识;所述序列号标识记为i,i取值1,2,...,n;所述渲染线程根据序列号标识i从1到n按序依次进行渲染操作,完成后进入下一轮1到n渲染操作。
33.作为另一优选的,本发明还提供了一种存储介质,包括设置在车机端的存储介质,处理器及存储在所述存储介质上可被所述处理器执行的计算机程序,所述计算机程序用于执行如上所述的方法。
34.综上可见,采用本发明所述的交互信息处理的方法,经测算,每一帧数据节省了4到7毫秒的数据,60帧数据优化至少240ms,相比于现有技术,取得了明显的改进。
35.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1