基于IPTV中电子节目指南页面的字符截取方法及系统.pdf

上传人:1** 文档编号:971102 上传时间:2018-03-22 格式:PDF 页数:13 大小:521.61KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110369594.X

申请日:

2011.11.18

公开号:

CN102364961A

公开日:

2012.02.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 21/472申请日:20111118|||公开

IPC分类号:

H04N21/472(2011.01)I; G06F17/21

主分类号:

H04N21/472

申请人:

百视通网络电视技术发展有限责任公司

发明人:

汪文彬; 鲁晓

地址:

200050 上海市长宁区长宁路1027号1008E

优先权:

专利代理机构:

上海百一领御专利代理事务所(普通合伙) 31243

代理人:

陈贞健

PDF下载: PDF下载
内容摘要

本发明适用于IPTV技术领域,提供了一种基于IPTV中电子节目指南页面的字符截取方法,所述方法包括步骤有:获取不同浏览器中各类字符的各种字号的字符宽度;根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度,对该字符显示区域的输入字符进行逐字分析并截取字符。相应地,本发明还提供一种基于IPTV中电子节目指南页面的字符截取系统。借此,本发明其能够跨浏览器地对电子节目指南页面的字符进行精确字符截取。

权利要求书

1: 一种基于 IPTV 中电子节目指南页面的字符截取方法, 其特征在于, 所述方法包括步 骤如下 : 获取不同浏览器中各类字符的各种字号的字符宽度 ; 根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字 符宽度, 对该字符显示区域的输入字符进行逐字分析并截取字符。
2: 根据权利要求 1 所述的字符截取方法, 其特征在于, 所述获取不同浏览器中各类字 符的各种字号的字符宽度的步骤包括 : 在所述电子节目指南页面中形成一着色层, 并控制所述着色层的宽度 ; 选择某一所述浏览器的某类字符的某种字号的字符, 将所述字符在所述电子节目指南 页面连续输出 N 个 ; 将所述着色层的宽度调到与 N 个所述字符的宽度相同 ; 将所述着色层的宽度除以 N 即得出所述字符的宽度 ; 重复上述步骤, 得出不同浏览器中各类字符的各种字号的字符宽度。
3: 根据权利要求 2 所述的字符截取方法, 其特征在于, 所述在电子节目指南页面中形 成一着色层, 并控制所述着色层的宽度的步骤包括 : 通过超文本标记语言中 DIV 元素在所述电子节目指南页面中形成一着色层, 由所述 DIV 元素的背景颜色属性来实现所述着色层的着色, 并由所述 DIV 元素的宽度属性来控制 所述着色层的宽度。
4: 根据权利要求 1 所述的字符截取方法, 其特征在于, 所述获取不同浏览器中各类字 符的各种字号的字符宽度的步骤之后包括 : 引入一字符配置表, 在所述字符配置表中加载一数组类型对象 ; 将所获取的各类字符的各种字号的字符宽度加载到所述数组类型对象中 ; 将所述字符配置表加载到所述电子节目指南的 application 全局域中。
5: 根据权利要求 4 所述的字符截取方法, 其特征在于, 所述根据电子节目指南页面的 字符显示区域的宽度和所述各类字符的各种字号的字符宽度, 对该字符显示区域的输入字 符进行逐字分析并截取字符的步骤包括 : 分析所述字符显示区域中所述输入字符的数量、 类型和字号 ; 根据所述字符配置表对应的字符宽度, 计算出所述输入字符的字符宽度 ; 将超过所述字符显示区域的宽度的字符进行截取。
6: 根据权利要求 4 所述的字符截取方法, 其特征在于, 所述根据电子节目指南页面的 字符显示区域的宽度和所述各类字符的各种字号的字符宽度, 对该字符显示区域的输入字 符进行逐字分析并截取字符的步骤包括 : 对该输入字符中各字符进行迭代分析, 分析当前迭代字符的类型和字号 ; 从所述字符配置表中获取所述当前迭代字符的字符宽度 ; 将所述字符显示区域的宽度依次减去所述当前迭代字符的字符宽度 ; 当所述字符显示区域的宽度小于 0 时, 截取当前迭代字符及其之后的所有字符。
7: 根据权利要求 1 所述的字符截取方法, 其特征在于, 所述字符显示区域为节目标题 显示行。
8: 根据权利要求 1 所述的字符截取方法, 其特征在于, 所述字符包括字母、 数字、 汉字 2 或者特殊字符。
9: 根据权利要求 1 所述的字符截取方法, 其特征在于, 所述字符截取方法应用于 IPTV 的后台服务器。
10: 一种实现如权利要求 1~9 任一项所述方法的基于 IPTV 中电子节目指南页面的字符 截取系统, 其特征在于, 所述字符截取系统包括 : 字符宽度获取模块, 用于获取不同浏览器中各类字符的各种字号的字符宽度 ; 字符截取模块, 用于根据所述电子节目指南页面的字符显示区域的宽度和所述各类字 符的各种字号的字符宽度, 对该字符显示区域的输入字符进行逐字分析并截取字符。

说明书


基于 IPTV 中电子节目指南页面的字符截取方法及系统

    技术领域 本发明涉及 IPTV(Internet Protocol Television, 因特网协议电视) 技术领域, 尤其涉及一种基于 IPTV 中电子节目指南页面的字符截取方法及系统。
     背景技术 在 IPTV 领域存在 enreach(影立驰) 、 opera(欧普拉) 、 ipanel(茁壮网络) 等多种 浏览器, 而且同种浏览器还存在不同的软件版本。这种情况下, 数字、 字母、 汉字、 特殊字符 等不同类型字符的字符宽度会存在非常大的不同。在 IPTV 节目内容日益增加的过程中, 内 容的标题、 简介等信息也丰富多彩, 但 IPTV 的 EPG(Electronic Program Guide, 电子节目 指南) 页面的布局空间有限, 在一个有限的宽度内精确的显示一段文字信息, 即要考虑到布 局的限制, 又要让用户看到尽可能多的信息, 因此对字符显示区域的字符截取是必不可少 的一项工作, 通常所用的截字方式有如下几种 : 1) 简单的客户端脚本截字方式。 此种截字方法运用浏览器引擎本身的脚本控制能力对 字符进行截取。 该方式的优点是操作简单, 代码简短, 采用客户端截字对服务器没有性能影 响。缺点是脚本只是简单的将中英文做了 2 : 1 的简单判定, 即两个英文等于 1 个中文, 但实 际上在不同的浏览器中 2 个英文字母所占的页面显示宽度不等于 1 个中文所占的, 可见这 样做并不精确。 另外, 截字的参数也只是一个简单的数字, 一般表示该字符显示区域内显示 的汉字数量。举例来说, 如果一个标题显示区域内预计显示 10 个汉字, 正常情况下, 标题正 好都是汉字, 那客户端脚本截字效果会非常好, 但如果标题是英文, 那截字程序就会截取 20 个英文字母, 而这 20 个英文字母的宽度实际上超过了 10 个汉字所占的宽度, 从显示上看就 可能会出现超越边界或标题换行的情况。
     2)服务器端后台程序截字方式。操作过程与客户端截字方式类似, 只是截字 程序转到了后台, 利用实现后台应用的语言对 String 字符串类对象的截取操作 (通常是 substring 函数) 。同样存在客户端截字的问题, 并且在某些语言中比如 java, 可能会出现 截字时由于内容中存在中英文混排而截到一个汉字的中间, 出现乱码的情况。这种情况的 出现概率不小, 并且对用户的操作体验影响很大。
     综上可知, 现有 EPG 页面的字符截取技术在实际使用上, 显然存在不便与缺陷, 所 以有必要加以改进。
     发明内容 针对上述的缺陷, 本发明的目的在于提供一种基于 IPTV 中电子节目指南页面的 字符截取方法及系统, 其能够跨浏览器地对电子节目指南页面的字符进行精确字符截取。
     为了实现上述目的, 本发明提供一种基于 IPTV 中电子节目指南页面的字符截取 方法, 所述方法包括步骤如下 : 获取不同浏览器中各类字符的各种字号的字符宽度 ; 根据所述电子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字
     符宽度, 对该字符显示区域的输入字符进行逐字分析并截取字符。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述获取不 同浏览器中各类字符的各种字号的字符宽度的步骤包括 : 在所述电子节目指南页面中形成一着色层, 并控制所述着色层的宽度 ; 选择某一所述浏览器的某类字符的某种字号的字符, 将所述字符在所述电子节目指南 页面连续输出 N 个 ; 将所述着色层的宽度调到与 N 个所述字符的宽度相同 ; 将所述着色层的宽度除以 N 即得出所述字符的宽度 ; 重复上述步骤, 得出不同浏览器中各类字符的各种字号的字符宽度。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述在电子 节目指南页面中形成一着色层, 并控制所述着色层的宽度的步骤包括 : 通过超文本标记语言中 DIV 元素在所述电子节目指南页面中形成一着色层, 由所述 DIV 元素的背景颜色属性来实现所述着色层的着色, 并由所述 DIV 元素的宽度属性来控制 所述着色层的宽度。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述获取不 同浏览器中各类字符的各种字号的字符宽度的步骤之后包括 : 引入一字符配置表, 在所述字符配置表中加载一数组类型对象 ; 将所获取的各类字符的各种字号的字符宽度加载到所述数组类型对象中 ; 将所述字符配置表加载到所述电子节目指南的 application 全局域中。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述根据电 子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度, 对该字符 显示区域的输入字符进行逐字分析并截取字符的步骤包括 : 分析所述字符显示区域中所述输入字符的数量、 类型和字号 ; 根据所述字符配置表对应的字符宽度, 计算出所述输入字符的字符宽度 ; 将超过所述字符显示区域的宽度的字符进行截取。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述根据电 子节目指南页面的字符显示区域的宽度和所述各类字符的各种字号的字符宽度, 对该字符 显示区域的输入字符进行逐字分析并截取字符的步骤包括 : 对该输入字符中各字符进行迭代分析, 分析当前迭代字符的类型和字号 ; 从所述字符配置表中获取所述当前迭代字符的字符宽度 ; 将所述字符显示区域的宽度依次减去所述当前迭代字符的字符宽度 ; 当所述字符显示区域的宽度小于 0 时, 截取当前迭代字符及其之后的所有字符。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述字符显 示区域为节目标题显示行。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述字符包 括字母、 数字、 汉字或者特殊字符。
     根据本发明所述的基于 IPTV 中电子节目指南页面的字符截取方法, 所述字符截 取方法应用于 IPTV 的后台服务器。
     本发明还提供一种实现上述方法的基于 IPTV 中电子节目指南页面的字符截取系统, 包括 : 字符宽度获取模块, 用于获取不同浏览器中各类字符的各种字号的字符宽度 ; 字符截取模块, 用于根据所述电子节目指南页面的字符显示区域的宽度和所述各类字 符的各种字号的字符宽度, 对该字符显示区域的输入字符进行逐字分析并截取字符。
     本发明通过预先配置每种浏览器的各类字符的各种字号的字符宽度, 对 EPG 页面 的输入字符进行逐字分析, 精确计算输入字符的字符宽度, 将超出字符显示区域的宽度的 字符进行截取, 从而本发明能够跨浏览器地对 EPG 页面的字符进行精确字符截取, 保证了 用户能在有限的字符显示区域内看到最多、 最准确的信息, 进而大大提升了 IPTV 用户的操 作体验。 附图说明
     图 1 是本发明基于 IPTV 中 EPG 页面的字符截取系统的结构示意图 ; 图 2 是本发明优选的字符截取系统的结构示意图 ; 图 3 是本发明基于 IPTV 中 EPG 页面的字符截取方法的流程图 ; 图 4 是本发明获取字符宽度的实例流程图 ; 图 5 是本发明第一实施例提供的字符截取方法的流程图 ; 以及 图 6 是本发明第二实施例提供的字符截取方法的流程图。 具体实施方式 为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。
     图 1 示出了本发明基于 IPTV 中 EPG 页面的字符截取系统的结构, 所述字符截取系 统 100 应用于 IPTV 的后台服务器, 可以是内置于后台服务器的软件单元, 硬件单元或软硬 件结合单元。 所述字符截取系统 100 至少包括字符宽度获取模块 10 和字符截取模块 20, 其 中: 字符宽度获取模块 10, 获取不同浏览器中各类字符的各种字号的字符宽度。所述浏览 器可以是 enreach、 opera、 ipanel 等 ; 所述字符类别可以包括字母、 数字、 汉字或者特殊字 符等 ; 所述字号可以是 16、 18、 20、 22、 24 等。
     字符截取模块 20, 根据 EPG 页面的字符显示区域的宽度和各类字符的各种字号的 字符宽度, 对该字符显示区域的输入字符进行逐字分析并截取字符。 具体而言, 字符截取模 块 20 通过精确计算字符显示区域中输入字符的字符宽度, 将超出字符显示区域的宽度的 字符进行截取, 所述字符显示区域优选为 EPG 页面的节目标题显示行。
     本发明针对了现有技术中 EPG 页面截字不精确以及截字多以字数为参数的软肋, 提出了以 EPG 页面显示宽度为参数的精确解决方案。对每种浏览器中各类字符 (包括字母、 数字、 汉字、 特殊字符) 的宽度进行配置, 精确计算输入字符的字符宽度, 将超出字符显示区 域的宽度的字符进行截取, 从而实现跨浏览器地对 EPG 页面的字符进行精确字符截取。
     图 2 是本发明优选的字符截取系统的结构示意图, 所述字符截取系统 100 包括字 符宽度获取模块 10、 字符截取模块 20、 配置表生成模块 30 以及配置表加载模块 40, 其中 :
     字符宽度获取模块 10 进一步包括 : 色层生成子模块 11, 用于在 EPG 页面中形成一着色层, 并控制所述着色层的宽度。 优选 的是, 通过 HTML (超文本标记语言) 中 DIV 元素在 EPG 页面中形成一着色层, 由 DIV 元素的背 景颜色属性 (background color) 来实现着色层的着色, 并由 DIV 元素的宽度属性 (width) 来控制着色层的宽度。
     字符输入子模块 12, 用于选择某一浏览器的某类字符的某种字号的字符, 将字符 在 EPG 页面连续输出 N 个 (N ≥ 1) , 目的是拉伸宽度使宽度显示更明显。
     色层宽度控制子模块 13, 用于将着色层的宽度调到与 N 个字符的宽度相同。
     字符宽度计算子模块 14, 用于将着色层的宽度除以 N 即得出字符的宽度。
     配置表生成模块 30, 用于引入一字符配置表, 在字符配置表中加载一数组类型对 象, 并将所获取的各种浏览器的各类字符的各种字号的字符宽度加载到所述数组类型对象 中。具体的配置方法是在模板文件中引入一个字符配置表, 该字符配置表中加载一个数组 类型对象, 将每种字符以及对应的宽度信息加入该数组类型对象中。
     配置表加载模块 40, 用于将字符配置表加载到 EPG 的 application 全局域中, 用以 在所需 EPG 页面随时使用。 字符截取模块 20, 用于根据 EPG 页面的字符显示区域的宽度和各类字符的各种字 号的字符宽度, 对该字符显示区域的输入字符进行逐字分析并截取字符。
     图 3 是本发明基于 IPTV 中 EPG 页面的字符截取方法的流程图, 所述字符截取方法 应用于 IPTV 的后台服务器, 并且可通过如图 1 或图 2 所示的字符截取系统 100 实现, 具体 包括步骤如下 : 步骤 S301, 获取不同浏览器中各类字符的各种字号的字符宽度, 本步骤可由字符宽度 获取模块 10 实现。所述浏览器可以是 enreach、 opera、 ipanel 等 ; 所述字符类别可以包括 字母、 数字、 汉字或者特殊字符等 ; 所述字号可以是 16、 18、 20、 22、 24 等。
     步骤 S302, 根据 EPG 页面的字符显示区域的宽度和各类字符的各种字号的字符宽 度, 对该字符显示区域的输入字符进行逐字分析并截取字符, 所述字符显示区域优选为节 目标题显示行, 本步骤可由字符截取模块 20 实现。具体而言, 通过精确计算当前浏览器的 EPG 页面的字符显示区域中输入字符的字符宽度, 将超出字符显示区域的宽度的字符进行 截取。
     所述步骤 301 中获取不同浏览器中各类字符的各种字号的字符宽度, 优选是通过 对每种浏览器中各类型字符在显示上所占的宽度像素进行测算, 并做配置, 可包括如图 4 所示的步骤 : 步骤 S401, 在 EPG 页面中形成一着色层, 并控制着色层的宽度 (即像素) , 本步骤可由色 层生成子模块 11 实现。优选的是, 通过 html(超文本标记语言) 中 DIV 元素在 EPG 页面中 形成一着色层, 由 DIV 元素的背景颜色属性 (background color) 来实现着色层的着色, 并 由 DIV 元素的宽度 (width) 属性来控制着色层的宽度。
     步骤 S402, 选择某一浏览器的某类字符的某种字号的字符, 将字符在 EPG 页面连 续输出 N 个 (N ≥ 1) , 本步骤可由字符输入子模块 12 实现。选取任意一个需要进行配置的 字符, 比如字符 A, 在 EPG 页面上连续输出 10 个字符 A, 输出 10 个字符 A 是为了拉伸宽度, 使宽度显示更明显, 以达到肉眼可辨。
     步骤 S403, 将着色层的宽度调到与 N 个字符的宽度相同, 本步骤可由色层宽度控 制子模块 13 实现。例如将着色层与 10 个字符 A 的字符宽度做比较, 直至将着色层的宽度 调整到与 10 个字符 A 的宽度相同, 此时着色层的 width 属性值即为 10 个字符 A 的宽度。
     步骤 S404, 将着色层的宽度除以 N 即得出字符的宽度, 本步骤可由字符宽度计算 子模块 14 实现。例如, 将所述着色层的 width 属性值除 10 便得到了此字符 A 在该浏览器 中所占的字符宽度。
     重复上述步骤 S401~S404, 便可得出不同浏览器中各类字符的各种字号的字符宽 度以进行配置。
     需要重点强调的是, 在各种不同的字号 (字体大小) 的情况下, 每个字符所占的宽 度不一定呈比例放大缩小。故需要在不同的字号中都做测算, 此发明采用了 EPG 中常用的 16 号到 24 号字体作为测算样本。以大写字母 Q 为例, 选取字号为 16 号。首先将 Q 加入字 符配置表, 在测试页面中打印连续排列的 10 个 Q。然后在其下方画出一个着色层 (div 层 的 background color 假设为红色) , 不断调整此 div 层的 width 宽度值, 直至看上去着色层 与 10 个连续的 Q 平齐, 此时 div 层的 width 宽度值为 120, 则单一的字母 Q 占据在像素值 为 12。将 12 加入数组中与字母 Q 对应的位置, 则字母 Q 在字号 16 号的场景下的配置完成。 接下去, 用同样的方法完成其它字符在字号 16 号场景下的配置。然后改变字号场景 (比如 18, 20, 22, 24 等字号) , 完成所有需要的字号下的字符宽度像素配置。 图 5 是本发明第一实施例提供的字符截取方法的流程图, 其可以通过如图 2 所示 的字符截取系统 100 实现, 所述字符截取方法包括步骤如下 : 步骤 S501, 获取不同浏览器中各类字符的各种字号的字符宽度。
     步骤 S502, 引入一字符配置表, 在字符配置表中加载一数组类型对象, 本步骤可由 配置表生成模块 30 实现。具体的配置方法是在模板文件中引入一个字符配置表, 该字符配 置表中加载一个数组类型对象。
     步骤 S503, 将所获取的各类字符的各种字号的字符宽度加载到数组类型对象中, 本步骤可由配置表生成模块 30 实现。
     步骤 S504, 将字符配置表加载到 EPG 的 application 全局域中, 用以在所需 EPG 页 面随时使用, 本步骤可由配置表加载模块 40 实现。
     步骤 S505, 分析字符显示区域中输入字符的数量、 类型和字号。
     步骤 S506, 根据字符配置表对应的字符宽度, 计算出输入字符的字符宽度。
     步骤 S507, 将超过字符显示区域的宽度的字符进行截取。
     图 6 是本发明第二实施例提供的字符截取方法的流程图, 其采用迭代分析方式, 可以通过如图 2 所示的字符截取系统 100 实现, 所述字符截取方法包括步骤如下 : 步骤 S601, 获取不同浏览器中各类字符的各种字号的字符宽度。
     步骤 S602, 引入一字符配置表, 在字符配置表中加载一数组类型对象。
     步骤 S603, 将所获取的各类字符的各种字号的字符宽度加载到数组类型对象中。
     步骤 S604, 将字符配置表加载到 EPG 的 application 全局域中。
     步骤 S605, 对该输入字符中各字符进行迭代分析, 分析当前迭代字符的类型和字 号。
     步骤 S606, 从字符配置表中获取当前迭代字符的字符宽度。
     步骤 S607, 将字符显示区域的宽度依次减去当前迭代字符的字符宽度。 步骤 S608, 当字符显示区域的宽度小于 0 时, 截取当前迭代字符及其之后的所有字符。 在如图 6 所示的迭代分析方案中, 后台服务器程序对字符显示区域的输入字符进 行逐字分析, 这里的逐字指字母、 数字、 汉字、 特殊字符等各种字符, 对每种字符, 后台程序 会比对全局字符配置表中的字符宽度像素, 以及此时 EPG 页面所用的字号进行运算。最终 的计算结果, 也就是后台程序的输出, 是所指定宽度的字符显示区域内精确截字后的字符 串内容。举例来说, 在 IPTV 点播节目列表页面, 每行显示节目标题, 呈现的区域宽度受限, 从页面设计美观的角度出发, 每行标题可占据共 400 个像素。此时, 节目标题长度超过 400 个像素以上的内容就应该被截取。后台程序对标题中的每个字符进行迭代分析, 比对之前 加载的字符配置表, 将当前迭代遇到的字符的宽度像素取出, 从 400 个像素中去除。在迭代 过程中, 当 400 个像素被全部消耗完 (400 这个值作为总宽度被每个迭代的字符宽度减) , 之 后的所有字符将被截取, 不显示在页面区域。当然如果标题总长不足 400 个像素, 应该被完 整的展现出来。
     综上所述, 本发明通过预先配置每种浏览器的各类字符的各种字号的字符宽度, 对 EPG 页面的输入字符进行逐字分析, 精确计算输入字符的字符宽度, 将超出字符显示区 域的宽度的字符进行截取, 从而本发明能够跨浏览器地对 EPG 页面的字符进行精确字符截 取, 保证了用户能在有限的字符显示区域内看到最多、 最准确的信息, 进而大大提升了 IPTV 用户的操作体验。
     当然, 本发明还可有其它多种实施例, 在不背离本发明精神及其实质的情况下, 熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形, 但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
    

基于IPTV中电子节目指南页面的字符截取方法及系统.pdf_第1页
第1页 / 共13页
基于IPTV中电子节目指南页面的字符截取方法及系统.pdf_第2页
第2页 / 共13页
基于IPTV中电子节目指南页面的字符截取方法及系统.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《基于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。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1