本发明涉及视频处理领域,具体涉及一种提高图像流畅度的方法及系统。
背景技术:
现有技术中,编码器发送过来的远程业务系统的图像数据,是由软件通过CPU解码并控制GPU渲染输出到显示器显示的。目前较为主流的方法都是使用双线程技术,一个线程用来缓冲存储编码数据,另一个线程用来读取数据并解码显示。如申请号为2015107795536的中国发明专利公开的那样,但是这种方法存在以下问题:在CPU性能较低时,由于图像解码较慢和显示时间不均匀,导致编码器发送队列溢出而引起网络丢包,使得图像出现花屏、延时加深及流畅度降低等问题。
技术实现要素:
本发明的目的是解决现有技术的缺陷,提供一种提高图像流畅度的方法,采用的技术方案如下:
一种提高图像流畅度的方法,包括检测当前的图像数据发送帧率,根据当前图像数据发送帧率动态调节双线程中的数据存储及读取速率。
本发明的另一目的是解决现有技术的缺陷,提供一种提高图像流畅度的系统,采用的技术方案如下:
一种提高图像流畅度的系统,包括接收缓冲模块和处理模块;
所述接收缓冲模块用于接收存储图像数据,并检测图像数据的发送帧率,其存储速率根据图像的发送帧率调节;
所述处理模块用于读取图像数据并进行处理,其读取速率根据所述图像数据的发送帧率调节。
与现有技术相比,本发明的有益效果:
利用双线程技术,线程a用于网络数据接收存储。线程b用于图像解码显示。当CPU性能较低时,只会导致线程b图像解码较慢,但是对线程a的网络接收影响较小,不会引起网络丢包情况的发生。同时本发明检测当前图像数据发送帧率,根据图像数据发送帧率动态调节双线程中数据存储及读取速率,能够提升画面显示的流畅度、降低延时,有效地解决了图像花屏、延时加深及流畅度降低的问题,增强了系统的稳定性和兼容性。
附图说明
图1是本发明实施例1的方法流程图;
图2是本发明实施例2的系统结构示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述。
实施例1:
一种提高图像流畅度的方法,包括检测当前的图像数据发送帧率,根据当前图像数据发送帧率动态调节双线程中的数据存储及读取速率。
具体地,本实施例包括以下步骤:
通过预先创建的线程a接收图像数据,并在线程a中检测图像数据的发送帧率,根据所述发送帧率设置数据存储速率;
按设置的存储速率将接收到的图像数据存储到循环队列中;
根据所述发送帧率设置预先创建的用于对读取图像数据并进行处理的线程b的读取速率;
从所述循环队列中读取出图像数据,处理后进行显示。
其中,所述图像数据可以是编码器通过网络发送来的远端业务系统的图像数据,也可以是通过其他形式发送来的图像数据。所述处理模块对图像数据的处理包括解码、渲染。
实施例2:
一种提高图像流畅度的系统,包括接收缓冲模块和处理模块;
所述接收缓冲模块用于接收存储图像数据,并检测图像数据的发送帧率,其存储速率根据图像的发送帧率调节;
所述处理模块用于读取图像数据并进行处理,其读取速率根据所述图像数据的发送帧率调节。
具体地,本实施例的一种提高图像流畅度的系统具体包括网络接收模块、循环队列模块、处理模块和显示模块,所述网络接收模块用于接收图像数据并检测图像数据的发送帧率,所述循环队列模块用于存储图像数据,其存储速率根据所述发送帧率调节,所述处理模块用于从循环队列模块中读取图像数据进行处理并交由显示模块显示,其读取根据所述发送帧率调节。
其中,所述图像数据可以是编码器通过网络发送来的远端业务系统的图像数据,也可以是通过其他形式发送来的图像数据。所述处理模块对图像数据的处理包括解码、渲染。