字幕显示方法和字幕显示装置与流程

文档序号:12279840阅读:610来源:国知局
字幕显示方法和字幕显示装置与流程

本发明涉及显示技术领域,尤其涉及一种字幕显示方法和字幕显示装置。



背景技术:

在播放视频等可视内容时,尝尝会伴有台词、背景音乐等音频内容,而对于听力有障碍的用户,则无法了解到这部分音频内容。因此在一些标准中提供了closed caption技术,也即将可视内容中的音频内容通过字幕显示出来,以便听力有障碍的用户能够了解到这部分音频内容。但是目前显示字幕的算法存在缺陷,在某些情况下会导致本应在较为靠下的行中显示的字幕却在较为靠前的行中显示,导致对观看者造成困扰。

例如图1所示,在字幕区域可显示字幕的行数为7行(第0行至第6行),16进制的行号范围是0x00至0x3F,换算为十进制就是0至63,当行号大于7时,会循环将字幕填入对应行。例如接收到的字幕“nlas”对应的行号为0xc,“uNas,sin embargo hay otros”对应的行号为0xd,“elementos,como una nsoqa,que”对应的行号为0xe,行号换算为十进制为12、13和14,行号0xc的字幕位于第5行,行号0xd的字幕位于第6行,行号0xe的字幕位于第7行,而第7行大于最大行数6,因此会按照循环的规则填入第0行进行显示,根据上述的方式显示字幕,会导致三行字幕中的最后一行字幕显示在最上方,影响用户对字幕的观看和理解。



技术实现要素:

本发明提供一种字幕显示方法和字幕显示装置,以解决相关技术中的不足。

根据本发明实施例的第一方面,提供一种字幕显示方法,应用于终端中,该方法包括:

在接收到多行字幕时依次获取每行字幕的行号;

计算所述终端的屏幕的字幕显示区域对应的可显示字幕的行数;

将每行字幕对应的所述行号与所述可显示字幕的行数作商并取余数;

确定所述行号对应的余数是否单调递增;

若确定不是单调递增,调整所述余数,以使调整后的余数单调递增,并将调整后的余数作为在所述字幕区域显示所述字幕的行号。

可选地,所述调整所述余数包括:

根据所述可显示字幕的行数对所述余数中等于零的余数的数值进行置换;

将所述余数中的每个余数数值减一;

确定调整后的余数是否为单调递增;

若不是单调递增,则继续根据所述可显示字幕的行数对所述余数中等于零的余数的数值进行置换,直至调整后的余数为单调递增。

可选地,上述方法还包括:

在接收所述字幕时,接收第一控制字、第二控制字和第三控制字;

所述计算所述终端的屏幕的字幕显示区域对应的可显示字幕的行数包括:

根据第一控制字确定字幕区域的尺寸,根据第二控制字确定显示字幕的字符的尺寸,根据第三控制字确定所述每行字符的行间距;

将所述字幕区域的尺寸的高度与所述字符的尺寸和所述行间距之和相除并取整数,将取到的整数作为所述可显示字幕的行数。

根据本发明实施例的第二方面,提供一种字幕显示装置,应用于终端中,该装置包括:

接收单元,用于在接收到多行字幕时获取每行字幕的行号;

计算单元,用于计算所述终端的屏幕的字幕显示区域对应的可显示字幕的行数;

取余单元,用于将每行字幕对应的所述行号与所述可显示字幕的行数作商并取余数;

确定单元,用于确定所述行号对应的余数是否单调递增;

调整单元,用于在确定不是单调递增时,调整所述余数,以使调整后的余数单调递增;

显示单元,用于将调整后的余数作为在所述字幕区域显示所述字幕的行号。

可选地,所述调整单元包括:

置数子单元,用于根据所述可显示字幕的行数对所述余数中等于零的余数的数值进行置换;

第一计算子单元,用于将所述余数中的每个余数数值减一;

第一确定子单元,用于确定调整后的余数是否为单调递增。

可选地,所述接收单元还用于在接收所述字幕时,接收第一控制字、第二控制字和第三控制字;

所述计算单元包括:

第二确定子单元,用于根据第一控制字确定字幕区域的尺寸,根据第二控制字确定显示字幕的字符的尺寸,根据第三控制字确定所述每行字符的行间距;

第二计算子单元,用于将所述字幕区域的尺寸的高度与所述字符的尺寸和所述行间距之和相除并取整数,将取到的整数作为所述可显示字幕的行数。

由上述实施例可知,本发明通过对字幕的行号与可显示字幕的行数作商得到的余数进行自适应调整作为新的行号,并根据新的行号显示字幕,可以总是保证先接收到的字幕具有较小的行号从而在靠前的行中显示,后接收到的字幕具有较大的行号从而在靠后的行中显示,以避免对用户的观看和理解造成困扰,提高用户的观看体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1示出了相关技术中显示字幕的示意图。

图2是根据本发明一个实施例的字幕显示方法的示意流程图。

图3是根据本发明一个实施例的显示字幕的示意图。

图4是根据本发明另一个实施例的字幕显示方法的示意流程图。

图5是根据本发明又一个实施例的字幕显示方法的示意流程图。

图6是根据本发明一个实施例的字幕显示装置的示意框图。

图7是根据本发明另一个实施例的字幕显示装置的示意框图。

图8是根据本发明又一个实施例的字幕显示装置的示意框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在相关技术中,在接收图像或视频的码流时,还会接收其中音频文件对应字幕的行号,由于屏幕中字幕区域可显示字幕的行数在显示字幕之前就已经通过计算确定了,因此在显示字幕时,只需要根据字幕的行号将字幕显示在字幕区域的对应行即可。

图2是根据本发明一个实施例的字幕显示方法的示意流程图,该实施例可以用于显示设备等终端中,包括以下步骤:

步骤S21,在接收到多行字幕时依次获取每行字幕的行号。

在一个实施例中,接收到行号一般是单调递增的,每次接收到的字幕的行数小于或等于所述可显示字幕的行数。

在一个实施例中,由于closed caption技术中的限定,每次接收到的字幕的行数小于或等于所述可显示字幕的行数,例如可显示字幕的行数与图1所示的实施例相同,也为7行,那么每次接收到的字幕最多为7行。

在一个实施例中,例如接收到的字幕和行号与图1所示的实施例相同,也即接收到的字幕“nlas”对应的行号为0xc,“uNas,sin embargo hay otros”对应的行号为0xd,“elementos,como una nsoqa,que”对应的行号为0xe,那么行号0xc、0xd、0xe是单调递增的。而且由于closed caption技术中的限定,先接收到的字幕的行号较小,后接收到的字幕的行号较大,因此一般无需重新对行号进行排列使其单调递增。

步骤S22,计算所述终端的屏幕的字幕显示区域对应的可显示字幕的行数。

在一个实施例中,可以在接收视频文件的码流时,从码流中提取有关可显示字幕的行数的数据,并根据该数据计算可显示字幕的行数。

步骤S23,将每行字幕对应的所述行号与所述可显示字幕的行数作商并取余数。

在一个实施例中,0xc、0xd和0xe行号换算为十进制分别为12、13和14,将其与可显示字幕的行数7作商并取余数,分别为5、6和0。

步骤S24,确定所述行号对应的余数是否单调递增。

在一个实施例中,例如上述余数为5、6、0,并非单调递增。

步骤S25,若确定不是单调递增,调整所述余数,以使调整后的余数单调递增,并将调整后的余数作为在所述字幕区域显示所述字幕的行号。

在一个实施例中,在上述余数不是单调递增的情况下,将会导致显示字幕时,先接收到的字幕“nlas”显示在第5行,而最后接收到的字幕“elementos,como una nsoqa,que”却显示在第0行,造成图1所示的情况。因此可以对余数进行调整,使得调整后的余数单调递增,例如将上述余数5、6、0调整为4、5、6,那么将调整后的余数作为在所述字幕区域显示所述字幕的行号,就可以如图3所示,字幕“nlas”、“uNas,sin embargo hay otros”、“elementos,como una nsoqa,que”就可以依次显示在第4行、第5行和第6行,从而解决了图1所示的问题。

根据上述实施例,通过对字幕的行号与可显示字幕的行数作商得到的余数进行自适应调整作为新的行号,并根据新的行号显示字幕,可以总是保证先接收到的字幕具有较小的行号从而在靠前的行中显示,后接收到的字幕具有较大的行号从而在靠后的行中显示,以避免对用户的观看和理解造成困扰,提高用户的观看体验。

在一个实施例中,若确定行号对应的余数为单调递增,那么可以直接将余数作为在所述字幕区域显示所述字幕的行号。

图4是根据本发明另一个实施例的字幕显示方法的示意流程图。如图4所示,在图1所示实施例的基础上,所述调整所述余数包括:

步骤S251,根据所述可显示字幕的行数对所述余数中等于零的余数的数值进行置换;

步骤S252,将所述余数中的每个余数数值减一;

步骤S253,确定调整后的余数是否为单调递增;

若不是单调递增,则继续步骤S251,直至调整后的行号对应的余数为单调递增。

在一个实施例中,由于closed caption技术中的限定,先接收到的字幕的行号较小,后接收到的字幕的行号较大,因此若行号与可显示字幕的行数作商得到的余数非单调递增,那么必然存在行号等于可显示字幕的行数整数倍的情况下,也即余数为0的情况。由于需要对余数做减法得到新的余数作为行数,而在余数等于0的情况下对其做减法将得到负数,作为行数是没有实际意义的,因此在这种情况下,可以将等于0的余数置为可显示字幕的行数,然后再进行减法操作。

例如对于上述余数5、6、0,可以先将0置为7,然后再分别将每个余数减去1,从而得到4、5、6,进而可以将显示在第五行、第六行和第0行的字幕调整为显示在第四行、第五行和第六行,保证了先接收到的字幕在靠前的行中显示,后接收到的字幕在靠后的行中显示,从而克服了图1所示的问题。

在一个实施例中,在接收字幕所在的码流时,码流中可以包括用于限定字幕在字幕区域插入位置的控制字,例如控制字APS用于指定字幕在字幕区域的插入位置,APS为(0,3)是指从第0行第3个字符开始插入字幕。其中,控制字APS中包含行号对应的数据,因此,图3所示的实施例可以针对控制字APS中与行号对应的数据进行计算。

例如控制字(0xc,0)中行数据对应的余数为5,那么可以将该控制字置为(5,0),也即从第5行第0个字符开始插入字幕;例如控制字(0xd,0)中行数据对应的余数为6,那么可以将该控制字置为(6,0),也即从第6行第0个字符开始插入字幕;例如控制字(0xe,0)中行数据对应的余数为0,那么可以将该控制字置为(0,0),也即从第0行第0个字符开始插入字幕。从而得到新的控制字(5,0)、(6,0)、(0,0)。

而由于在APS为(0,0)时,对其中行数据进行减法操作会得到(-1,0),而在字幕区域并不存在负值的行,因此可以将其中与行数对应的数据置为可显示字幕的行数,例如7,那么调整后控制字APS为(7,0),而在控制字APS为(5,0)、(6,0)以及(7,0)时,对其中的行号数据减一后得到的控制字为(4,0)、(5,0)以及(6,0),从而得到单调递增的行数据,进而根据调整后的控制字在字幕区域显示字幕,可以将字幕“nlas”、“uNas,sin embargo hay otros”、“elementos,como una nsoqa,que”依次显示在第4行、第5行和第6行,从而解决了图1所示的问题。

在一个实施例中,例如接收到4行字幕的行号为0xc、0xd、0xe和0xf,那么可以经过两轮步骤S251至S253来将4行字幕依次显示在第3行、第4行、第5行和第6行。

图5是根据本发明又一个实施例的字幕显示方法的示意流程图。如图5所示,在图2所示实施例的基础上,

在步骤S211中,在接收所述字幕时,接收第一控制字、第二控制字和第三控制字;

所述计算所述终端的屏幕的字幕显示区域对应的可显示字幕的行数包括:

步骤S221,根据第一控制字确定字幕区域的尺寸,根据第二控制字确定显示字幕的字符的尺寸,根据第三控制字确定所述每行字符的行间距;

步骤S222,将所述字幕区域的尺寸的高度与所述字符的尺寸和所述行间距之和相除并取整数,将取到的整数作为所述可显示字幕的行数。

在一个实施例中,在接收视频文件的码流时,码流中除了可以包含字幕,还可以包括多种控制字。例如控制字SDF可以用于指定字幕区域的尺寸,例如为608*390;控制字SSM可以用于指定字幕中字符的尺寸,例如为36*36;控制字SVS可以用于指定每行字符的间距,例如为16,上述尺寸的单位为平方毫米,间距的单位为毫米。

进而做除法SDF/(SSM+SVS)=390/(36+16),取整数为7,也即在字幕区域可以显示字幕的行数为7行。

与前述的字幕显示方法的实施例相对应,本公开还提供了字幕显示装置的实施例。

图6是根据本发明一个实施例的字幕显示装置的示意框图,该装置可以应用于显示设备等终端中。如图6所示,该装置包括:

接收单元61,用于在接收到多行字幕时获取每行字幕的行号;

计算单元62,用于计算所述终端的屏幕的字幕显示区域对应的可显示字幕的行数;

取余单元63,用于将每行字幕对应的所述行号与所述可显示字幕的行数作商并取余数;

确定单元64,用于确定所述行号对应的余数是否单调递增;

调整单元65,用于在确定不是单调递增时,调整所述余数,以使调整后的余数单调递增;

显示单元66,用于将调整后的余数作为在所述字幕区域显示所述字幕的行号。

图7是根据本发明另一个实施例的字幕显示装置的示意框图。如图7所示,在图6所示实施例的基础上,所述调整单元55包括:

置数子单元551,用于根据所述可显示字幕的行数对所述余数中等于零的余数的数值进行置换;

第一计算子单元552,用于将所述余数中的每个余数数值减一;

第一确定子单元553,用于确定调整后的余数是否为单调递增。

图8是根据本发明又一个实施例的字幕显示装置的示意框图。如图8所示,在图6所示实施例的基础上,所述接收单元51还用于在接收所述字幕时,接收第一控制字、第二控制字和第三控制字;

所述计算单元52包括:

第二确定子单元521,用于根据第一控制字确定字幕区域的尺寸,根据第二控制字确定显示字幕的字符的尺寸,根据第三控制字确定所述每行字符的行间距;

第二计算子单元522,用于将所述字幕区域的尺寸的高度与所述字符的尺寸和所述行间距之和相除并取整数,将取到的整数作为所述可显示字幕的行数。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1