《基于IPTV中电子节目指南页面的字符截取方法及系统.pdf》由会员分享,可在线阅读,更多相关《基于IPTV中电子节目指南页面的字符截取方法及系统.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102364961A43申请公布日20120229CN102364961ACN102364961A21申请号201110369594X22申请日20111118H04N21/472201101G06F17/2120060171申请人百视通网络电视技术发展有限责任公司地址200050上海市长宁区长宁路1027号1008E72发明人汪文彬鲁晓74专利代理机构上海百一领御专利代理事务所普通合伙31243代理人陈贞健54发明名称基于IPTV中电子节目指南页面的字符截取方法及系统57摘要本发明适用于IPTV技术领域,提供了一种基于IPTV中电子节目指南页面的字符截取方法,所述方法包括步。
2、骤有获取不同浏览器中各类字符的各种字号的字符宽度;根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。相应地,本发明还提供一种基于IPTV中电子节目指南页面的字符截取系统。借此,本发明其能够跨浏览器地对电子节目指南页面的字符进行精确字符截取。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图4页CN102364982A1/2页21一种基于IPTV中电子节目指南页面的字符截取方法,其特征在于,所述方法包括步骤如下获取不同浏览器中各类字符的各种字号的字符宽度;根据所述电子节目指南页。
3、面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。2根据权利要求1所述的字符截取方法,其特征在于,所述获取不同浏览器中各类字符的各种字号的字符宽度的步骤包括在所述电子节目指南页面中形成一着色层,并控制所述着色层的宽度;选择某一所述浏览器的某类字符的某种字号的字符,将所述字符在所述电子节目指南页面连续输出N个;将所述着色层的宽度调到与N个所述字符的宽度相同;将所述着色层的宽度除以N即得出所述字符的宽度;重复上述步骤,得出不同浏览器中各类字符的各种字号的字符宽度。3根据权利要求2所述的字符截取方法,其特征在于,所述在电子节目指南页面中形成一。
4、着色层,并控制所述着色层的宽度的步骤包括通过超文本标记语言中DIV元素在所述电子节目指南页面中形成一着色层,由所述DIV元素的背景颜色属性来实现所述着色层的着色,并由所述DIV元素的宽度属性来控制所述着色层的宽度。4根据权利要求1所述的字符截取方法,其特征在于,所述获取不同浏览器中各类字符的各种字号的字符宽度的步骤之后包括引入一字符配置表,在所述字符配置表中加载一数组类型对象;将所获取的各类字符的各种字号的字符宽度加载到所述数组类型对象中;将所述字符配置表加载到所述电子节目指南的APPLICATION全局域中。5根据权利要求4所述的字符截取方法,其特征在于,所述根据电子节目指南页面的字符显示区。
5、域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符的步骤包括分析所述字符显示区域中所述输入字符的数量、类型和字号;根据所述字符配置表对应的字符宽度,计算出所述输入字符的字符宽度;将超过所述字符显示区域的宽度的字符进行截取。6根据权利要求4所述的字符截取方法,其特征在于,所述根据电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符的步骤包括对该输入字符中各字符进行迭代分析,分析当前迭代字符的类型和字号;从所述字符配置表中获取所述当前迭代字符的字符宽度;将所述字符显示区域的宽度依次减去所述。
6、当前迭代字符的字符宽度;当所述字符显示区域的宽度小于0时,截取当前迭代字符及其之后的所有字符。7根据权利要求1所述的字符截取方法,其特征在于,所述字符显示区域为节目标题显示行。8根据权利要求1所述的字符截取方法,其特征在于,所述字符包括字母、数字、汉字权利要求书CN102364961ACN102364982A2/2页3或者特殊字符。9根据权利要求1所述的字符截取方法,其特征在于,所述字符截取方法应用于IPTV的后台服务器。10一种实现如权利要求19任一项所述方法的基于IPTV中电子节目指南页面的字符截取系统,其特征在于,所述字符截取系统包括字符宽度获取模块,用于获取不同浏览器中各类字符的各种字。
7、号的字符宽度;字符截取模块,用于根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。权利要求书CN102364961ACN102364982A1/6页4基于IPTV中电子节目指南页面的字符截取方法及系统技术领域0001本发明涉及IPTV(INTERNETPROTOCOLTELEVISION,因特网协议电视)技术领域,尤其涉及一种基于IPTV中电子节目指南页面的字符截取方法及系统。背景技术0002在IPTV领域存在ENREACH(影立驰)、OPERA(欧普拉)、IPANEL(茁壮网络)等多种浏览器,而且同种浏览器还存在。
8、不同的软件版本。这种情况下,数字、字母、汉字、特殊字符等不同类型字符的字符宽度会存在非常大的不同。在IPTV节目内容日益增加的过程中,内容的标题、简介等信息也丰富多彩,但IPTV的EPG(ELECTRONICPROGRAMGUIDE,电子节目指南)页面的布局空间有限,在一个有限的宽度内精确的显示一段文字信息,即要考虑到布局的限制,又要让用户看到尽可能多的信息,因此对字符显示区域的字符截取是必不可少的一项工作,通常所用的截字方式有如下几种1)简单的客户端脚本截字方式。此种截字方法运用浏览器引擎本身的脚本控制能力对字符进行截取。该方式的优点是操作简单,代码简短,采用客户端截字对服务器没有性能影响。。
9、缺点是脚本只是简单的将中英文做了21的简单判定,即两个英文等于1个中文,但实际上在不同的浏览器中2个英文字母所占的页面显示宽度不等于1个中文所占的,可见这样做并不精确。另外,截字的参数也只是一个简单的数字,一般表示该字符显示区域内显示的汉字数量。举例来说,如果一个标题显示区域内预计显示10个汉字,正常情况下,标题正好都是汉字,那客户端脚本截字效果会非常好,但如果标题是英文,那截字程序就会截取20个英文字母,而这20个英文字母的宽度实际上超过了10个汉字所占的宽度,从显示上看就可能会出现超越边界或标题换行的情况。00032)服务器端后台程序截字方式。操作过程与客户端截字方式类似,只是截字程序转到。
10、了后台,利用实现后台应用的语言对STRING字符串类对象的截取操作(通常是SUBSTRING函数)。同样存在客户端截字的问题,并且在某些语言中比如JAVA,可能会出现截字时由于内容中存在中英文混排而截到一个汉字的中间,出现乱码的情况。这种情况的出现概率不小,并且对用户的操作体验影响很大。0004综上可知,现有EPG页面的字符截取技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。发明内容0005针对上述的缺陷,本发明的目的在于提供一种基于IPTV中电子节目指南页面的字符截取方法及系统,其能够跨浏览器地对电子节目指南页面的字符进行精确字符截取。0006为了实现上述目的,本发明提供一种基于I。
11、PTV中电子节目指南页面的字符截取方法,所述方法包括步骤如下获取不同浏览器中各类字符的各种字号的字符宽度;根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字说明书CN102364961ACN102364982A2/6页5符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。0007根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述获取不同浏览器中各类字符的各种字号的字符宽度的步骤包括在所述电子节目指南页面中形成一着色层,并控制所述着色层的宽度;选择某一所述浏览器的某类字符的某种字号的字符,将所述字符在所述电子节目指南页面连续输出N个;将所述着色层的宽度。
12、调到与N个所述字符的宽度相同;将所述着色层的宽度除以N即得出所述字符的宽度;重复上述步骤,得出不同浏览器中各类字符的各种字号的字符宽度。0008根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述在电子节目指南页面中形成一着色层,并控制所述着色层的宽度的步骤包括通过超文本标记语言中DIV元素在所述电子节目指南页面中形成一着色层,由所述DIV元素的背景颜色属性来实现所述着色层的着色,并由所述DIV元素的宽度属性来控制所述着色层的宽度。0009根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述获取不同浏览器中各类字符的各种字号的字符宽度的步骤之后包括引入一字符配置表,。
13、在所述字符配置表中加载一数组类型对象;将所获取的各类字符的各种字号的字符宽度加载到所述数组类型对象中;将所述字符配置表加载到所述电子节目指南的APPLICATION全局域中。0010根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述根据电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符的步骤包括分析所述字符显示区域中所述输入字符的数量、类型和字号;根据所述字符配置表对应的字符宽度,计算出所述输入字符的字符宽度;将超过所述字符显示区域的宽度的字符进行截取。0011根据本发明所述的基于IPTV中电子节目指南页面的。
14、字符截取方法,所述根据电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符的步骤包括对该输入字符中各字符进行迭代分析,分析当前迭代字符的类型和字号;从所述字符配置表中获取所述当前迭代字符的字符宽度;将所述字符显示区域的宽度依次减去所述当前迭代字符的字符宽度;当所述字符显示区域的宽度小于0时,截取当前迭代字符及其之后的所有字符。0012根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述字符显示区域为节目标题显示行。0013根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述字符包括字母、数字、汉字或。
15、者特殊字符。0014根据本发明所述的基于IPTV中电子节目指南页面的字符截取方法,所述字符截取方法应用于IPTV的后台服务器。0015本发明还提供一种实现上述方法的基于IPTV中电子节目指南页面的字符截取系说明书CN102364961ACN102364982A3/6页6统,包括字符宽度获取模块,用于获取不同浏览器中各类字符的各种字号的字符宽度;字符截取模块,用于根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。0016本发明通过预先配置每种浏览器的各类字符的各种字号的字符宽度,对EPG页面的输入字符进行逐字分析,精。
16、确计算输入字符的字符宽度,将超出字符显示区域的宽度的字符进行截取,从而本发明能够跨浏览器地对EPG页面的字符进行精确字符截取,保证了用户能在有限的字符显示区域内看到最多、最准确的信息,进而大大提升了IPTV用户的操作体验。附图说明0017图1是本发明基于IPTV中EPG页面的字符截取系统的结构示意图;图2是本发明优选的字符截取系统的结构示意图;图3是本发明基于IPTV中EPG页面的字符截取方法的流程图;图4是本发明获取字符宽度的实例流程图;图5是本发明第一实施例提供的字符截取方法的流程图;以及图6是本发明第二实施例提供的字符截取方法的流程图。具体实施方式0018为了使本发明的目的、技术方案及优。
17、点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0019图1示出了本发明基于IPTV中EPG页面的字符截取系统的结构,所述字符截取系统100应用于IPTV的后台服务器,可以是内置于后台服务器的软件单元,硬件单元或软硬件结合单元。所述字符截取系统100至少包括字符宽度获取模块10和字符截取模块20,其中字符宽度获取模块10,获取不同浏览器中各类字符的各种字号的字符宽度。所述浏览器可以是ENREACH、OPERA、IPANEL等;所述字符类别可以包括字母、数字、汉字或者特殊字符等;所述字号可以是16、18、2。
18、0、22、24等。0020字符截取模块20,根据EPG页面的字符显示区域的宽度和各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。具体而言,字符截取模块20通过精确计算字符显示区域中输入字符的字符宽度,将超出字符显示区域的宽度的字符进行截取,所述字符显示区域优选为EPG页面的节目标题显示行。0021本发明针对了现有技术中EPG页面截字不精确以及截字多以字数为参数的软肋,提出了以EPG页面显示宽度为参数的精确解决方案。对每种浏览器中各类字符(包括字母、数字、汉字、特殊字符)的宽度进行配置,精确计算输入字符的字符宽度,将超出字符显示区域的宽度的字符进行截取,从而实现跨。
19、浏览器地对EPG页面的字符进行精确字符截取。0022图2是本发明优选的字符截取系统的结构示意图,所述字符截取系统100包括字符宽度获取模块10、字符截取模块20、配置表生成模块30以及配置表加载模块40,其中说明书CN102364961ACN102364982A4/6页7字符宽度获取模块10进一步包括色层生成子模块11,用于在EPG页面中形成一着色层,并控制所述着色层的宽度。优选的是,通过HTML(超文本标记语言)中DIV元素在EPG页面中形成一着色层,由DIV元素的背景颜色属性(BACKGROUNDCOLOR)来实现着色层的着色,并由DIV元素的宽度属性(WIDTH)来控制着色层的宽度。00。
20、23字符输入子模块12,用于选择某一浏览器的某类字符的某种字号的字符,将字符在EPG页面连续输出N个(N1),目的是拉伸宽度使宽度显示更明显。0024色层宽度控制子模块13,用于将着色层的宽度调到与N个字符的宽度相同。0025字符宽度计算子模块14,用于将着色层的宽度除以N即得出字符的宽度。0026配置表生成模块30,用于引入一字符配置表,在字符配置表中加载一数组类型对象,并将所获取的各种浏览器的各类字符的各种字号的字符宽度加载到所述数组类型对象中。具体的配置方法是在模板文件中引入一个字符配置表,该字符配置表中加载一个数组类型对象,将每种字符以及对应的宽度信息加入该数组类型对象中。0027配置。
21、表加载模块40,用于将字符配置表加载到EPG的APPLICATION全局域中,用以在所需EPG页面随时使用。0028字符截取模块20,用于根据EPG页面的字符显示区域的宽度和各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。0029图3是本发明基于IPTV中EPG页面的字符截取方法的流程图,所述字符截取方法应用于IPTV的后台服务器,并且可通过如图1或图2所示的字符截取系统100实现,具体包括步骤如下步骤S301,获取不同浏览器中各类字符的各种字号的字符宽度,本步骤可由字符宽度获取模块10实现。所述浏览器可以是ENREACH、OPERA、IPANEL等;所述字符类。
22、别可以包括字母、数字、汉字或者特殊字符等;所述字号可以是16、18、20、22、24等。0030步骤S302,根据EPG页面的字符显示区域的宽度和各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符,所述字符显示区域优选为节目标题显示行,本步骤可由字符截取模块20实现。具体而言,通过精确计算当前浏览器的EPG页面的字符显示区域中输入字符的字符宽度,将超出字符显示区域的宽度的字符进行截取。0031所述步骤301中获取不同浏览器中各类字符的各种字号的字符宽度,优选是通过对每种浏览器中各类型字符在显示上所占的宽度像素进行测算,并做配置,可包括如图4所示的步骤步骤S401,在。
23、EPG页面中形成一着色层,并控制着色层的宽度(即像素),本步骤可由色层生成子模块11实现。优选的是,通过HTML(超文本标记语言)中DIV元素在EPG页面中形成一着色层,由DIV元素的背景颜色属性(BACKGROUNDCOLOR)来实现着色层的着色,并由DIV元素的宽度(WIDTH)属性来控制着色层的宽度。0032步骤S402,选择某一浏览器的某类字符的某种字号的字符,将字符在EPG页面连续输出N个(N1),本步骤可由字符输入子模块12实现。选取任意一个需要进行配置的字符,比如字符A,在EPG页面上连续输出10个字符A,输出10个字符A是为了拉伸宽度,使宽度显示更明显,以达到肉眼可辨。说明书C。
24、N102364961ACN102364982A5/6页80033步骤S403,将着色层的宽度调到与N个字符的宽度相同,本步骤可由色层宽度控制子模块13实现。例如将着色层与10个字符A的字符宽度做比较,直至将着色层的宽度调整到与10个字符A的宽度相同,此时着色层的WIDTH属性值即为10个字符A的宽度。0034步骤S404,将着色层的宽度除以N即得出字符的宽度,本步骤可由字符宽度计算子模块14实现。例如,将所述着色层的WIDTH属性值除10便得到了此字符A在该浏览器中所占的字符宽度。0035重复上述步骤S401S404,便可得出不同浏览器中各类字符的各种字号的字符宽度以进行配置。0036需要重点。
25、强调的是,在各种不同的字号(字体大小)的情况下,每个字符所占的宽度不一定呈比例放大缩小。故需要在不同的字号中都做测算,此发明采用了EPG中常用的16号到24号字体作为测算样本。以大写字母Q为例,选取字号为16号。首先将Q加入字符配置表,在测试页面中打印连续排列的10个Q。然后在其下方画出一个着色层(DIV层的BACKGROUNDCOLOR假设为红色),不断调整此DIV层的WIDTH宽度值,直至看上去着色层与10个连续的Q平齐,此时DIV层的WIDTH宽度值为120,则单一的字母Q占据在像素值为12。将12加入数组中与字母Q对应的位置,则字母Q在字号16号的场景下的配置完成。接下去,用同样的方法。
26、完成其它字符在字号16号场景下的配置。然后改变字号场景(比如18,20,22,24等字号),完成所有需要的字号下的字符宽度像素配置。0037图5是本发明第一实施例提供的字符截取方法的流程图,其可以通过如图2所示的字符截取系统100实现,所述字符截取方法包括步骤如下步骤S501,获取不同浏览器中各类字符的各种字号的字符宽度。0038步骤S502,引入一字符配置表,在字符配置表中加载一数组类型对象,本步骤可由配置表生成模块30实现。具体的配置方法是在模板文件中引入一个字符配置表,该字符配置表中加载一个数组类型对象。0039步骤S503,将所获取的各类字符的各种字号的字符宽度加载到数组类型对象中,本。
27、步骤可由配置表生成模块30实现。0040步骤S504,将字符配置表加载到EPG的APPLICATION全局域中,用以在所需EPG页面随时使用,本步骤可由配置表加载模块40实现。0041步骤S505,分析字符显示区域中输入字符的数量、类型和字号。0042步骤S506,根据字符配置表对应的字符宽度,计算出输入字符的字符宽度。0043步骤S507,将超过字符显示区域的宽度的字符进行截取。0044图6是本发明第二实施例提供的字符截取方法的流程图,其采用迭代分析方式,可以通过如图2所示的字符截取系统100实现,所述字符截取方法包括步骤如下步骤S601,获取不同浏览器中各类字符的各种字号的字符宽度。004。
28、5步骤S602,引入一字符配置表,在字符配置表中加载一数组类型对象。0046步骤S603,将所获取的各类字符的各种字号的字符宽度加载到数组类型对象中。0047步骤S604,将字符配置表加载到EPG的APPLICATION全局域中。0048步骤S605,对该输入字符中各字符进行迭代分析,分析当前迭代字符的类型和字号。0049步骤S606,从字符配置表中获取当前迭代字符的字符宽度。说明书CN102364961ACN102364982A6/6页90050步骤S607,将字符显示区域的宽度依次减去当前迭代字符的字符宽度。0051步骤S608,当字符显示区域的宽度小于0时,截取当前迭代字符及其之后的所有。
29、字符。0052在如图6所示的迭代分析方案中,后台服务器程序对字符显示区域的输入字符进行逐字分析,这里的逐字指字母、数字、汉字、特殊字符等各种字符,对每种字符,后台程序会比对全局字符配置表中的字符宽度像素,以及此时EPG页面所用的字号进行运算。最终的计算结果,也就是后台程序的输出,是所指定宽度的字符显示区域内精确截字后的字符串内容。举例来说,在IPTV点播节目列表页面,每行显示节目标题,呈现的区域宽度受限,从页面设计美观的角度出发,每行标题可占据共400个像素。此时,节目标题长度超过400个像素以上的内容就应该被截取。后台程序对标题中的每个字符进行迭代分析,比对之前加载的字符配置表,将当前迭代遇。
30、到的字符的宽度像素取出,从400个像素中去除。在迭代过程中,当400个像素被全部消耗完(400这个值作为总宽度被每个迭代的字符宽度减),之后的所有字符将被截取,不显示在页面区域。当然如果标题总长不足400个像素,应该被完整的展现出来。0053综上所述,本发明通过预先配置每种浏览器的各类字符的各种字号的字符宽度,对EPG页面的输入字符进行逐字分析,精确计算输入字符的字符宽度,将超出字符显示区域的宽度的字符进行截取,从而本发明能够跨浏览器地对EPG页面的字符进行精确字符截取,保证了用户能在有限的字符显示区域内看到最多、最准确的信息,进而大大提升了IPTV用户的操作体验。0054当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。说明书CN102364961ACN102364982A1/4页10图1图2说明书附图CN102364961ACN102364982A2/4页11图3图4说明书附图CN102364961ACN102364982A3/4页12图5说明书附图CN102364961ACN102364982A4/4页13图6说明书附图CN102364961A。