一种纹理图片的加载方法及显示终端、服务器和系统的制作方法

文档序号:7860247阅读:125来源:国知局
专利名称:一种纹理图片的加载方法及显示终端、服务器和系统的制作方法
技术领域
本发明涉及ー种纹理图片的加载方法及显示终端、服务器和系统。
背景技术
在现有的字幕播报系统中,在显示端缺乏字体的情况下,服务器把目标字库的字幕通过渲染引擎绘制成图片的格式并压缩,再将压缩的字幕图片发送给显示端进行显示。由于字幕长度较长,字幕图片一般是分块的图片。显示端在接收到压缩的字幕图片后,将压缩的图像 数据转换成像素信息,并进行字幕纹理加载。字幕纹理的加载的方式有两种ー是,在字幕播放前,一次完成字幕纹理的加载;ニ是,在字幕播放吋,陆续加载字幕纹理。前者会导致字幕播放的延迟,降低字幕播放的实时性,而且当字幕纹理的数量较多时,显卡会因为资源不足而不能加载新的字幕纹理;后者会导致播放过程中因为加载字幕纹理出现播放的不流畅。此外,在字幕纹理加载过程中,显示端会将内存中的像素信息复制到显存,这将导致CPU因复制像素信息耗费大量资源,造成CPU假死,使得字幕的渲染线程被阻塞,从而出现字幕播报的卡顿现象。因此,目前亟需ー种新的字幕纹理加载方式解决上述存在的问题。

发明内容
有鉴于此,本发明实施例提供ー种纹理图片的加载方法及显示终端、服务器和系统,以解决由于加载较多的字幕纹理而导致的字幕播放不流畅、CPU假死、字幕播报卡顿的问题。ー种纹理图片的加载方法,包括显示终端获得第一纹理图片、所述第一纹理图片的播放时间点,以及第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后;在所述第一纹理图片的播放时间点之前,所述显示終端将获得的第一纹理图片加载至所述显示终端的显存;在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,所述显示終端将获得的第二纹理图片加载至所述显示终端的显存。ー种显示终端,包括获取单元,用于获取第一纹理图片、所述第一纹理图片的播放时间点、第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后,以及将所述第一纹理图片、所述第一纹理图片的播放时间点、所述第ニ纹理图片和所述第二纹理图片的播放时间点传输给处理单元;处理单元,用于接收所述获取単元传输的所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点,以及用于在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存,以及用于在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示終端的显存。一种服务器,包括生成単元,用于生成纹理图片,以及将所述纹理图片传输给时间定义単元;获取单元,用于获取与所述服务器连接的显示终端的本地时间,以及将所述显示终端的本地时间传输给时间定义単元;时间定义单元,用于接收所述生成単元传输的所述纹理图片 和所述获取単元传输的所述显示终端的本地时间,根据所述显示终端的本地时间,定义所述纹理图片在显示终端的播放时间点,以及将所述纹理图片和所述纹理图片在显示终端的播放时间点传输给所述发送单元;发送单元,用于接收所述时间定义单元传输的所述纹理图片和所述纹理图片在显示终端的播放时间点,将所述纹理图片和所述纹理图片在显示终端的播放时间点发送给所述显示终端。ー种显示系统,包括上述的服务器和上述的显示终端,所述服务器连接所述显示終端。本发明实施例将播放时间点在前的纹理图片先进行加载,而将播放时间点在后的纹理图片安排在图形处理器(GPU,Graphic Processing Unit)具有空闲资源时,进行加载。由于只有播放时间点在前的纹理图片先进行加载,加载的纹理图片数量较所有纹理图片的总数量少,从而可以防止显示终端在加载纹理图片吋,CPU因复制大量纹理图片的像素信息至显存而耗费所有的资源,避免造成CPU假死。当CPU有足够的处理能力将纹理图片从内存中复制到显存吋,图片播放流畅,不会出现卡顿现象。此外,由于本发明是陆续加载纹理图片,保证了图片播放的实时性。


图I是本发明实施例I ー种纹理图片的加载方法流程示意图;图2是本发明实施例2 —种纹理图片的加载方法示意图;图3是本发明实施例3 —种显示终端的单元结构示意图;图4是本发明实施例4 ー种显示终端的单元结构示意图;图5是本发明实施例5 —种服务器単元结构示意图;图6是本发明实施例6 —种显示系统单元结构示意图;图7是本发明实施例6 —种显示系统播报字幕的方法流程示意图。
具体实施例方式下面介绍本发明提供的一种多终端同步显示方法。实施例I如图I所示,本实施例提供了一种多终端同步显示方法,其包括101、显示终端获得第一纹理图片、所述第一纹理图片的播放时间点,以及第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后。102、在所述第一纹理图片的播放时间点之前,所述显示終端将获得的第一纹理图片加载至所述显示终端的显存。103、在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,所述显示終端将获得的第二纹理图片加载至所述显示终端的显存。本实施例方法中,显示终端将接收的多块纹理图片分为第一部分的纹理图片和第ニ部分的纹理图片,其中,第二部分的纹理图片的播放时间点都在第一部分的纹理图片的播放时间点之后,换而言之,第一部分的纹理图片属于第一纹理图片,第二部分的纹理图片 属于第二纹理图片。由于第一纹理图片先于第二纹理图片开始显示,因此,显示終端在接收到第一纹理图片后,可以通过开放式图形接ロ 0penGL(0pen Graphics Library)对第ー纹理图片进行加载,将第一纹理图片加载至显示终端的显存。由于第二纹理图片后于第一纹理图片开始显示,因此,第二纹理图片不必与第一纹理图片同时进行OpenGL纹理加载,其可以播放时间点之前,当显示终端检测到GPU具有空闲资源时,再进行加载,以减轻单位时间内显示终端的CPU和GPU的负担,防止CPU短时间从内存复制大量纹理图片至显存而耗费大量资源,阻塞CPU,造成CPU假死,同吋,又不影响第二纹理图片的及时显示。实施例2如图2所示,本实施例提供了一种多终端同步显示方法,其包括201、显示终端获得第一纹理图片、所述第一纹理图片的播放时间点,以及第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后。202、若所述第一纹理图片的播放时间点与当前时间点的间隔时长小于预设的加载时长,则所述显示終端在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示終端的显存。203、若所述第二纹理图片的播放时间点与当前时间点的间隔时长大于预设的加载时长,则所述显示終端在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示終端的显存。可选的,在所述显示終端将获得的第二纹理图片加载至所述显示终端的显存之前,所述显示終端将所述第二纹理图片复制至所述显示终端的映射显存地址的内存中;所述显示終端将获得的第二纹理图片加载至所述显示终端的显存具体为所述显示終端通过直接存储器存取DMA的方式将保存于所述映射显存地址的内存中的第二纹理图片复制至所述显示终端的显存。以下以显示終端加载字幕纹理图片为例,显示终端接收服务器发送的字幕文件,该字幕文件包括多块字幕纹理图片和每块字幕纹理图片的播放时间点。显示终端根据每块字幕纹理图片的播放时间点与当前时间点的间隔时长,对字幕纹理图片划分加载优先级。当一字幕纹理图片的间隔时长小于预设的加载时长时,则该字幕纹理图片的加载优先级为高。当一字幕纹理图片的间隔时长大于预设的加载时长时,则该字幕纹理图片的加载优先级为低。显示终端预设的加载时长的设定可以參考通常情况下的字幕纹理图片加载的时长,一般可以设为2秒,则优先级高的字幕纹理图片的数量将比优先级低的字幕纹理图片少,因此,优先级高的字幕纹理图片占全部字幕纹理图片的比例小。显然,这里所述的优先级高的字幕纹理图片对应于上述的第一纹理图片,优先级低的字幕纹理图片对应于上述的第一纹理图片。在本实施例中,显示终端先将优先级高的字幕纹理图片进行OpenGL纹理加载,由于优先级高的字幕纹理图片少,其一般不会阻塞CPU。对于优先级低的字幕纹理图片,显示终端的CPU将创建ー个解码线程,将优先级低的字幕纹理图片置于解码线程中,并按照先到先解码的原则进行解码,并将解码后的字幕纹理图片的像素信息,如红绿蓝(RGB,Red、Green、Blue)或者红绿蓝阿尔法(RGBA,Red、Green, Blue, Alpha)象素信息,保存在解码线程的准备队列中。当解码线程解码完成吋,CPU的渲染主线程将检查解码线程的准备队列是否有解码完成的像素信息,若有 ,则渲染主线程将创建像素缓冲区对象(PB0,Pixel Buffer Object),该PBO绑定ー个空白纹理,将空白纹理在显存的地址映射至内存,然后采用内存拷贝的方式将解码后的像素信息复制到映射显存地址的内存中。当检测到GPU具有空闲资源吋,PBO将内存中的像素信息通过DMA技术复制到显存,完成优先级低的字幕纹理图片的加载。由于优先级低的字幕纹理图片是在GPU空闲时加载的,因此,本实施例方法合理分配了 CPU和GPU的资源,从而使字幕纹理图片播放流畅,避免卡顿现象出现。买施例3如图3所示,本实施例提供ー种显示终端,其包括获取单元301,用于获取第一纹理图片、所述第一纹理图片的播放时间点、第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后,以及将所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点传输给处理单元302 ;处理单元302,用于接收所述获取単元301传输的所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点,在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存,在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示终端的显存。本实施例一种显示終端通过获取単元301获取服务器发送的多块纹理图片和纹理图片的播放时间点,再由处理单元302根据纹理图片的播放时间点,先对播放时间点在前的纹理图片进行加载,再在GPU具有空闲资源时,对播放时间点在后的纹理图片进行加载,避免CPU在同一时间内对所有纹理图片进行加载,实现对GPU和CPU资源的合理分配,从而实现纹理图片的流畅显示。实施例4如图4所示,本实施例提供另ー种显示终端,其包括获取单元401和处理单元402。获取单元401用于获取第一纹理图片、所述第一纹理图片的播放时间点、第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后,以及将所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点传输给处理单元402 ;处理单元402用于接收所述获取単元401传输的所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点,在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存,在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源吋,将获得的第二纹理图片加载至所述显示终端的显存。所述处理単元402包括第一加载单元403,所述第一加载单元403用于若所述第一纹理图片的播放时间点与当前时间点的间隔时长小于预设的加载时长,则在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存。所述处理単元402还包括第二加载单元404,所述第二加载单元404用于若所述第ニ纹理图片的播放时间点与当前时间点的间隔时长大于预设的加载时长,则在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示终端的显存。 可选的,所述第二加载单元404还用于将获取単元401获取的第二纹理图片复制至所述显示终端的映射显存地址的内存中,以及在所述第二纹理图片的播放时间点之前,且在第一加载单元403加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,通过直接存储器存取DMA的方式将保存于映射显存地址的内存中的第二纹理图片复制至所述显示终端的显存。本实施例中,由第一加载单元403先对第一纹理图片进行加载,第一纹理图片的播放时间点与当前时间点的间隔时长小于预设的加载时长;由第二加载单元404在GPU具有空闲资源时,对第二纹理图片进行加载,第二纹理图片的播放时间点与当前时间点的间隔时长大于预设的加载时长。因此,本实施例显示终端实现对CPU和GPU资源的合理分配,纹理图片播放流畅。实施例5如图5所示,本实施例提供一种服务器,包括生成単元501,用于生成纹理图片,以及将所述纹理图片传输给时间定义単元503 ;获取单元502,用于获取与所述服务器连接的显示终端的本地时间,以及将所述显示终端的本地时间传输给时间定义単元503 ;时间定义单元503,用于接收所述生成単元501传输的所述纹理图片和所述获取単元502传输的所述显示终端的本地时间,根据所述显示终端的本地时间,定义所述纹理图片在显示终端的播放时间点,以及将所述纹理图片和所述纹理图片在显示终端的播放时间点传输给所述发送単元504 ;发送单元504,用于接收所述时间定义单元503传输的所述纹理图片和所述纹理图片在显示终端的播放时间点,将所述纹理图片和所述纹理图片在显示终端的播放时间点发送给所述显示終端。本发明服务器根据显示终端的本地时间,定义纹理图片在显示终端的播放时间点,以使纹理图片的播放时间点遵循显示终端的本地时间,以利于显示终端在正确时刻显示纹理图片。
实施例6如图6所示,本实施例提供ー种显示系统,包括如实施例5所述的服务器601和如实施例I或实施例2所述的显示終端602,所述服务器601连接所述显示終端602。例如,本实施例ー种显示系统可以为字幕播报系统,该字幕播报系统包括上位服务器和显示终端。该字幕播报系统播报字幕的方法流程如图7所示,具体流程包括701、上位服务器渲染文字,将文字的点阵信息转换成图片格式,以及将转换的字幕图片进行分块,形成多块的字幕图片。字幕图片格式可以为PNG或JPG等格式。702、上位服务器获取显示终端的本地时间,根据该显示终端的本地时间,定义字幕图片的播放时间点,以及将字幕图片和字幕图片的播放时间点发送给显示終端。
703、显示终端接收字幕图片和字幕图片的播放时间点,根据字幕图片的播放时间点,对字幕图片进行分类。字幕图片块分为优先级高的字幕图片和优先级低的字幕图片。具体的,若字幕图片的播放时间点与当前时间点的间隔时长小于预设的加载时长,则将该字幕图片设为优先级高的字幕图片;若字幕图片的播放时间点与当前时间点的间隔时长大于预设的加载时长,则将该字幕图片设为优先级低的字幕图片。704、优先级高的字幕图片将进行OpenGL纹理加载。705、优先级低的字幕图片将加入解码线程,并按加入的先后顺序进行解码。706、显示终端将优先级低的字幕图片的解码后的像素信息复制到映射有PBO绑定的纹理所在显存地址的内存中。上述字幕播报系统由于将字幕图片进行优先级分类,避免了 CPU —次加载所有字幕图片导致的CPU假死、字幕播报卡顿现象,实现字幕的流畅播放。以上对本发明实施例所提供的ー种纹理图片的加载方法及显示终端、服务器和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的系统及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种纹理图片的加载方法,其特征在于,包括 显示终端获得第一纹理图片、所述第一纹理图片的播放时间点,以及第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后; 在所述第一纹理图片的播放时间点之前,所述显示终端将获得的第一纹理图片加载至所述显示终端的显存; 在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,所述显示终端将获得的第二纹理图片加载至所述显示终端的显存。
2.根据权利要求I所述的纹理图片的加载方法,其特征在于,所述显示终端将获得的第一纹理图片加载至所述显示终端的显存包括 若所述第一纹理图片的播放时间点与当前时间点的间隔时长小于预设的加载时长,则所述显示终端在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存。
3.根据权利要求I或2所述的纹理图片的加载方法,其特征在于,所述显示终端将获得的第二纹理图片加载至所述显示终端的显存包括 若所述第二纹理图片的播放时间点与当前时间点的间隔时长大于预设的加载时长,则所述显示终端在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示终端的显存。
4.根据权利要求3所述的纹理图片的加载方法,其特征在于,还包括 在所述显示终端将获得的第二纹理图片加载至所述显示终端的显存之前,所述显示终端将所述第二纹理图片复制至所述显示终端的映射显存地址的内存中; 所述显示终端将获得的第二纹理图片加载至所述显示终端的显存具体为所述显示终端通过直接存储器存取DMA的方式将保存于所述映射显存地址的内存中的第二纹理图片复制至所述显示终端的显存。
5.一种显示终端,其特征在于,包括 获取单元,用于获取第一纹理图片、所述第一纹理图片的播放时间点、第二纹理图片和所述第二纹理图片的播放时间点,所述第二纹理图片的播放时间点在所述第一纹理图片的播放时间点之后,以及将所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点传输给处理单元; 处理单元,用于接收所述获取单元传输的所述第一纹理图片、所述第一纹理图片的播放时间点、所述第二纹理图片和所述第二纹理图片的播放时间点,以及用于在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存,以及用于在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示终端的显存。
6.根据权利要求5所述的显示终端,其特征在于,所述处理单元包括第一加载单元,所述第一加载单元用于若所述第一纹理图片的播放时间点与当前时间点的间隔时长小于预设的加载时长,则在所述第一纹理图片的播放时间点之前,将获得的第一纹理图片加载至所述显示终端的显存。
7.根据权利要求5或6所述的显示終端,其特征在于,所述处理单元还包括第二加载单元,所述第二加载单元用于若所述第二纹理图片的播放时间点与当前时间点的间隔时长大于预设的加载时长,则在所述第二纹理图片的播放时间点之前,且在加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,将获得的第二纹理图片加载至所述显示终端的显存。
8.根据权利要求7所述的终端,其特征在干, 所述第二加载单元还用于将获取单元获取的第二纹理图片复制至所述显示终端的映射显存地址的内存中,以及在所述第二纹理图片的播放时间点之前,且在第一加载单元加载所述第一纹理图片之后,且在所述显示终端的图形处理器GPU具有空闲资源时,通过直接存储器存取DMA的方式将保存于映射显存地址的内存中的第二纹理图片复制至所述显 示终端的显存。
9.一种服务器,其特征在于,包括 生成単元,用于生成纹理图片,以及将所述纹理图片传输给时间定义単元; 获取单元,用于获取与所述服务器连接的显示终端的本地时间,以及将所述显示终端的本地时间传输给时间定义単元; 时间定义单元,用于接收所述生成単元传输的所述纹理图片和所述获取単元传输的所述显示终端的本地时间,根据所述显示终端的本地时间,定义所述纹理图片在显示终端的播放时间点,以及将所述纹理图片和所述纹理图片在显示终端的播放时间点传输给所述发送单元; 发送单元,用于接收所述时间定义单元传输的所述纹理图片和所述纹理图片在显示终端的播放时间点,将所述纹理图片和所述纹理图片在显示终端的播放时间点发送给所述显示终端。
10.ー种显示系统,其特征在于,包括如权利要求9所述的服务器和如权利要求I或2所述的显示終端,所述服务器连接所述显示終端。
全文摘要
本发明实施例公开了一种多终端同步显示方法,包括显示终端获得第一纹理图片、第一纹理图片的播放时间点,以及第二纹理图片和第二纹理图片的播放时间点,第二纹理图片的播放时间点在第一纹理图片的播放时间点之后;在第一纹理图片的播放时间点之前,显示终端将获得的第一纹理图片加载至显示终端的显存;在第二纹理图片的播放时间点之前,且在加载第一纹理图片之后,且在显示终端的图形处理器GPU具有空闲资源时,显示终端将获得的第二纹理图片加载至显示终端的显存。本发明还提供了相应的显示终端及显示系统。本发明实施例解决由于加载较多的字幕纹理而导致的字幕播放不流畅、CPU假死、字幕播报卡顿的问题。
文档编号H04N21/235GK102857819SQ201210337098
公开日2013年1月2日 申请日期2012年9月12日 优先权日2012年9月12日
发明者吴炜彬, 蔡才冠 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1