一种超长字幕数据处理的方法

文档序号:7695119阅读:154来源:国知局
专利名称:一种超长字幕数据处理的方法
技术领域
本发明涉及广播电视领域,尤其涉及一种超长字幕数据处理的方法。
背景技术
计算机的字幕和图形技术已经广泛的应用于广播电影、电视领域。如字 幕图形的应用涉及电视台节目制作的方方面面,包括新闻的直播、演播室, 所有的综艺、体育、财经、气象等,也包括影视剧的制作都涉及在内。在制 播、后期和编辑域、演播室和播出线,字幕图形都是最为常用的元素。随着 字幕的广泛应用,根据功能和效果的不同,字幕又可以分为普通字幕、唱词 字幕和滚屏字幕等。字幕是由计算机将文字符号渲染成特定视觉效果的图像, 图像的大小取决于字符的大小、多少等。因此,字幕渲染时需要为图像动态 分配内存。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题 将字符一次渲染到一块内存中可能出现以下问题,包括超长字幕需要 大块的内存,而内存区域总是有限的,可能导致堆栈緩冲溢出,造成大块内 存分配失败;图像越大渲染的时间越长,对于实时的动态字幕可能造成字幕 播出不流畅,有停顿感;在固定大小的内存块下,会不可避免的出现跨越两 个内存块的边界字符,由于误差等原因,会在两个内存块分别渲染的同一字 符拼接时出现瑕疵。

发明内容
本发明提供 一种超长字幕数据处理的方法,以实现超长字幕播放时的 数据处理。
本发明提供一种超长字幕数据处理的方法,其特征在于,包括以下步骤 终端将内存分配给字幕图像,形成内存链表,终端播放所述内存链表的
4内存块字幕;
所述终端将内存块指针从所述内存链表表头移除,加入链表尾,所述内 存链表表头指向下一个内存块;
所述终端记录内存块空白内容指针,此内存块为某个字符不能在当前内 存块中完全渲染时记录的当前内存块中未填充区域的指针,然后进入下一个 内存块并从所述字符开始渲染;
所述内存为N+l块同样大小的内存;
所述N+1块同样大小的内存中有N块内存用于存储屏幕显示区大小的字 幕图像,l块内存用于存储将要显示的字幕图像;
所述内存链表表头指向下一个内存块时,所示终端将更新原表头现表尾 内存块的字幕内容;
终端根据播放屏幕的大小和所述字幕的数据量确定所述内存的大小和N 的取值,然后所述终端将内存分配给字幕图像;
所述终端将内存分配给字幕图像具体包括内存存储的字幕图像不断更 新,只是存储马上要播放的字幕图像;
在所述链表表头的内存块字幕图像播^:完的同时,原表头现表尾内存块 将同步的更新字幕图像,终端将删除原表头现表尾内存块的原存储图像内容, 存入将要播放的图像内容;
在所述终端记录内存块空白内容指针的时候,所述终端使用的是固定大 小的内存块。
与现有技术相比,本发明具有以下优点
本发明中,通过采用多个固定大小的内存块为字幕图像分配内存,使超 长字幕所需要的大块内存可以通过多个小的内存块更新存储图像实现;图像 分成d、块分步渲染并依次存储在内存链表的内存块上,降低图像渲染时间, 使实时的动态字幕播出流畅;使内存块中的每个字符都完全渲染,不会出现 边界字符造成的瑕疵问题。


图1为本发明中的一种超长字幕数据处理的方法流程图2为本发明中的一种超长字幕数据处理的方法另一流程图3为本发明中的出现边界字符的处理方法示意图4为本发明中的左滚超长字幕处理方法的示意图5为本发明中的一种超长字幕数据处理的系统示意具体实施例方式
下面结合附图和具体实施例对本发明进行详细介绍。 本发明提供了一种超长字幕数据处理的方法,如图1所示,包括如下步

步骤S101,终端将内存分配给字幕图像,形成内存链表,然后播放内存 链表的内存块字幕。
步骤S102,终端将内存块指针从内存链表表头移除,加入链表尾,随后 内存链表表头指向下一个内存块。
步骤S103,终端记录内存块空白内容指针,此内存块为某个字符不能在 当前内存块中完全渲染时记录的当前内存块中未填充区域的指针。
本发明提供的另一种超长字幕数据处理的方法,如图2所示,包括如下 步骤
步骤S201,终端根据播放屏幕的大小和字幕的数据量来确定所述内存的 大小和N的取值。
步骤S202,终端为字幕图像分配N+l块同样大小的内存,形成内存链表。 其中有N块内存用于存储屏幕显示区大小的字幕图像,1块内存用于存储将 要显示的字幕图像。
步骤S203,终端渲染N+1块同样大小的字幕图象并依次存储到内存链表 的内存块中。
步骤S204,播放内存链表的内存块字幕;内存存储的字幕图像不断的更 新,只是存储马上要播放的字幕图像,从而完成所述超长字幕图像的移动存 储。步骤S205,当内存链表表头的内存块字幕显示完毕,终端将内存块指针 从内存链表表头移除,加入链表尾。内存链表表头指向下一个内存块,终端 将更新原表头现表尾内存块的字幕内容,终端将原表头现表尾内存的原存储 图像内容删除,然后存入将要播放的图像内容。
步骤S206,在两个固定大小的内存块之间,会出现跨越两个内存块的边 界字符,在两个内存块分别渲染同一字符,拼接时会出现瑕疵。在保证内存 块中的每个字符都完全渲染的情况下,就需要采用固定大小的内存块,用终 端来记录内存块空白内容指针,此内存块为某个字符不能在当前内存块中完 全渲染时记录的当前内存块中未填充区域的指针;然后进入下一个内存块并 从此字符开始渲染。例如,字符D位于内存1和内存2之间,由于误差等原 因,在内存1和内存2分别渲染字符D的时候,拼接就会出现瑕疵。这时就 必需要保证内存块1和内存块2中的每个字符都完全渲染,而不出现两次渲 染边界字符D的情况。如图3所示,采用固定大小内存块,当字符D不能在 当前的内存块1中完全渲染时,记录此时内存块的空白内容指针,进入到下 一个内存块2,从该字符D开始渲染。
下面以左滚超长字幕的数据处理为例进行详细说明,如图4所示。
图中灰色区域为屏幕显示字幕,当内存链表表头的内存块字幕显示完毕, 此内存块指针从内存链表表头移除,加入链表尾,内存链表表头指向下一个 内存块,更新原表头现表尾内存块的字幕内容,由于显示区域图像分成了 N 块比较小的内存,每块内存渲染时间很短,不会造成字幕移动的不连贯。
本发明提供了一种超长字幕数据处理的系统,如图5所示,包括
确定模块510,用于根据播放屏幕的大小和所述字幕的数据量确定所述内 存的大小和N的取值。
分配模块520,用于为字幕图像分配内存。计算机将N+1块同样大小的 内存分配给字幕图像,形成内存链表;其中,N块内存用于存储屏幕显示区 大小的字幕图像,1块内存用于存储将要显示的字幕图像。
调整模块530,用于调整内存中存储的字幕图像内容,使内存中始终存放 屏幕显示区的字幕图像和将要显示的字幕图像。记录模块540,用于记录内存块空白内容的指针,此内存块为某个字符不 能在当前内存块中完全渲染时记录的当前内存块中未填充区域的指针。 具体的,分配模块520进一步包括 图像存储单元521,用于存储初始的字幕图像。
图像删除单元522,用于所述链表表头内存字幕图像播放完毕的同时,删 除原表头现表尾内存块中存储的图像内容。
图像存入单元523,用于存入将要播放的图像内容。 具体的,调整模块530进一步包括
同步更新单元531,用于原表头内存块图像播放完毕时,更新原表头内存 块的字幕内容。
链表表头更新单元532,用于链表表头内存字幕图像播放完毕,此内存块 指针从内存链表表头移除,加入链表尾,内存链表表头指向下一个内存块。 具体的,记录模块540进一步包括
判断单元541 ,用于判断字符是否为跨越两个内存块的的边界字符。 记录单元542,用于记录内存块空白内容的指针。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体
现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等) 执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1、一种超长字幕数据处理的方法,其特征在于,包括以下步骤终端将内存分配给字幕图像,形成内存链表,所述终端播放所述内存链表的内存块字幕;所述终端将内存块指针从所述内存链表表头移除,加入链表尾,所述内存链表表头指向下一个内存块;所述终端记录内存块空白内容指针,此内存块为某个字符不能在当前内存块中完全渲染时记录的当前内存块中未填充区域的指针,然后进入下一个内存块并从所述字符开始渲染。
2、 如权利要求1所述超长字幕数据处理的方法,其特征在于,所述内存 为N+l块同样大小的内存。
3、 如权利要求2所述超长字幕数据处理的方法,其特征在于,所述N+1 块同样大小的内存中有N块内存用于存储屏幕显示区大小的字幕图像,1块 内存用于存储将要显示的字幕图像。
4、 如权利要求1所述超长字幕数据处理的方法,其特征在于,所述内存 链表表头指向下一个内存块时,所示终端将更新原表头现表尾内存块的字幕 内容。
5、 如权利要求1所述超长字幕数据处理的方法,其特征在于,所述终端 根据播放屏幕的大小和所述字幕的数据量确定所述内存的大小和N的取值, 然后所述终端将内存分配给字幕图像。
6、 如权利要求1所述超长字幕数据处理的方法,其特征在于,所述终端 将内存分配给字幕图像具体包括内存存储的字幕图像不断更新,只是存储 马上要播放的字幕图像。
7、 如权利要求1所述超长字幕数据处理的方法,其特征在于,在所述链 表表头的内存块字幕图像播放完毕的同时,原表头现表尾内存块将同步的更 新字幕图像,终端将删除原表头现表尾内存块的原存储图像内容,存入将要 播放的图像内容。
8、 如权利要求1所述超长字幕数椐处理的方法,其特征在于,在所述终端记录内存块空白内容指针的时候,所述终端使用的是固定大小的内存块
全文摘要
本发明公开了一种超长字幕数据处理的方法,其特征在于,包括以下步骤终端将内存分配给字幕图像,形成内存链表,所述终端播放所述内存链表的内存块字幕;所述终端将内存块指针从所述内存链表表头移除,加入链表尾,所述内存链表表头指向下一个内存块;所述终端记录内存块空白内容指针,此内存块为某个字符不能在当前内存块中完全渲染时记录的当前内存块未填充区域的指针,然后进入下一个内存块并从所述字符开始渲染。本发明中通过采用多个固定大小的内存块为字幕图像分配内存,使超长字幕所需要的大块内存可以通过多个内存块更新存储图像实现;图像分别存储在不同内存块上,降低图像渲染时间,使实时的动态字幕播出流畅;使内存块中的每个字符都完全渲染,不会出现边界字符造成的瑕疵问题。
文档编号H04N5/278GK101594478SQ200810113848
公开日2009年12月2日 申请日期2008年5月30日 优先权日2008年5月30日
发明者袁慧晶 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1