专利名称:Osd应用程序框架的实现方法、装置及多媒体终端的制作方法
技术领域:
本发明涉及电器领域,具体而言,涉及一种OSD应用程序框架的实现方法、装置及 多媒体终端。
背景技术:
众所周知,电视视频处理芯片为典型的嵌入式处理芯片,芯片处理能力、系统存储 资源都相当有限,使用软件工具生成芯片匹配的数据资源过程中,依据的OSD应用程序代 码框架就尤为关键。当前电视机OSD应用程序开发中,由于视频处理芯片OSD模块的硬件差异性较大, 各电视机研制公司,为提高开发速率及统一应用程序开发方式,会不同程度地统一 OSD菜 单结构及外观,但是OSD应用程序框架一直未得到统一,从而导致OSD应用程序开发,可重 用部件较少。而且由于OSD应用程序代码框架未与视频处理芯片OSD硬件模块适配,也导 致OSD应用程序在芯片硬件平台,执行效率低下。针对上述现有技术中根据芯片硬件的框架创建的数据结构组织的代码框架的缺 陷,导致芯片OSD硬件模块处理性能低、OSD应用程序开发和调试效率低的问题,目前尚未 提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种OSD应用程序框架的实现方法、装置及多媒体终 端,以解决现有技术中根据芯片硬件的框架创建的数据结构组织的代码框架的缺陷,导致 芯片OSD硬件模块处理性能低、OSD应用程序开发和调试效率低的问题。为了实现上述目的,根据本发明的一方面,提供了一种OSD应用程序框架的实现 方法。根据本发明的OSD应用程序框架的实现方法包括通过可视化设计器来设计与 OSD硬件芯片相匹配的数据资源,以定制OSD的UI程序;编译数据资源生成源代码文件;通 过仿真器调用并处理源代码文件来获取OSD硬件驱动软件的资源数据结构;根据资源数据 结构获取OSD应用程序的框架文件。进一步地,在根据资源数据结构获取OSD应用程序的框架文件之后,方法还包括 将框架文件压缩并按照预定的压缩路径保存至第一存储器。进一步地,将框架文件按照一种或多种压缩速度执行压缩的步骤。进一步地,在保存至第一存储器之后,方法还包括调用第一存储器中该压缩处理 后的框架文件;对压缩处理后的框架文件按照解压缩路径解压缩至第二存储器,获取框架 文件对应的OSD应用程序;基于流方式读取并显示OSD应用程序。进一步地,将压缩处理后的框架文件按照一种或多种解压缩速度执行解压缩的步 马聚ο进一步地,资源数据结构包括资源数据、颜色信息以及菜单结构。
进一步地,框架文件包括数据表源文件、资源表源文件、颜色表源文件、颜色信息 表源文件、字符串表源文件、部件表源文件、项目条表源文件、菜单信息表源文件以及汇编 数据文件。为了实现上述目的,根据本发明的另一个方面,提供了一种OSD应用程序框架的 实现装置。根据本发明的OSD应用程序框架的实现装置包括定制模块,用于通过可视化设 计器来设计与OSD硬件芯片相匹配的数据资源,以定制OSD的UI程序;编译模块,用于编译 数据资源生成源代码文件;仿真模块,用于通过仿真器调用并处理源代码文件来获取OSD 硬件驱动软件的资源数据结构;获取模块,用于根据资源数据结构获取OSD应用程序的框 架文件。进一步地,装置还包括压缩模块,用于将框架文件压缩并按照预定的压缩路径保 存至第一存储器。进一步地,装置还包括调用模块,用于调用第一存储器中该压缩处理后的框架文 件;解压缩模块,用于对压缩处理后的框架文件按照解压缩路径解压缩至第二存储器,获取 框架文件对应的OSD应用程序;显示模块,用于基于流方式读取并显示OSD应用程序。为了实现上述目的,根据本发明的再一方面,提供了一种多媒体终端,该多媒体终 端运行上述任意一种OSD应用程序框架的实现方法。通过本发明,采用通过可视化设计器来设计与OSD硬件芯片相匹配的数据资源, 以定制OSD的UI程序;编译数据资源生成源代码文件;通过仿真器调用并处理所述源代码 文件来获取OSD硬件驱动软件的资源数据结构;根据资源数据结构获取OSD应用程序的框 架文件,解决了现有技术中根据芯片硬件的框架创建的数据结构组织的代码框架的缺陷, 导致芯片OSD硬件模块处理性能低、OSD应用程序开发和调试效率低的问题,进而达到了提 高OSD硬件模块处理能力、提高OSD应用程序的开发效率的效果。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的OSD应用程序框架的实现系统的结构示意图;图2是根据本发明实施例的OSD应用程序框架的实现装置的结构示意图;图3是根据本发明实施例的OSD应用程序框架的实现方法的流程图;图4是根据本发明实施例的数据表与颜色表的组织结构示意图;图5是根据本发明实施例的菜单表与控件表的组织结构示意图;图6是根据本发明实施例的文件压缩和解压缩的流程示意图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。本发明提供了一种OSD应用程序框架的实现系统。图1是根据本发明实施例的 OSD应用程序框架的实现系统的结构示意图。如图1所示,该系统包括0SD设计,OSD编译输出,OSD硬件解压填充。其中OSD设计,即在可视化设计器进行资源制作(字符、字库、图 片等)、0SD控件制作布局及窗体结构层次设置;OSD编译输出,即根据UI资源数据,颜色信 息,菜单结构三部分,编译成资源文件,同时执行资源压缩;OSD硬件解压填充,即对压缩资 源进行解压,进行颜色填充,最后OSD显示输出。本发明提供了 一种OSD应用程序框架的实现装置。图2是根据本发明实施例的 OSD应用程序框架的实现装置的结构示意图。如图2所示,该装置包括定制模块201,用于通过可视化设计器来设计与OSD硬 件芯片相匹配的数据资源,以定制OSD的UI程序(该程序可以为设计的UI资源所对应的程 序);编译模块203,用于编译数据资源生成源代码文件;仿真模块205,用于通过仿真器调 用并处理源代码文件来获取OSD硬件芯片的资源数据结构;获取模块207,用于根据资源数 据结构获取OSD应用程序的框架文件,该模块可以综合OSD硬件特征、驱动软件数据结构, 构建获取OSD应用程序的框架文件。本发明的上述装置针对各种芯片硬件的框架,得出特定数据结构组织的代码框 架,使得系统最大程度地发挥芯片OSD硬件模块的处理性能,同时提高OSD应用程序的开发 调试效率,增加OSD资源的可重用性。其中,与OSD硬件芯片相匹配的数据资源可以包括控 件、控件属性以及菜单结构等数据。本发明实施例中的装置还可以包括压缩模块209,用于将框架文件压缩并按照 预定的压缩路径保存至第一存储器。本发明上述实施例装置还可以包括调用模块211,用于调用第一存储器中该压 缩处理后的框架文件;解压缩模块213,用于对压缩处理后的框架文件按照解压缩路径解 压缩至第二存储器,获取框架文件对应的OSD应用程序;显示模块215,用于基于流方式读 取并显示OSD应用程序。该实施例中的涉及到的在OSD资源存储前对OSD资源进行压缩处 理,从而有效降低OSD的资源占用空间,降低芯片存储设备成本。图3是根据本发明实施例的OSD应用程序框架的实现方法的流程图。如图3所示, 该方法包括如下步骤步骤S302,通过图2中的定制模块201实现通过可视化设计器来设计与OSD硬件 芯片相匹配的数据资源,以定制OSD的UI程序。该步骤中的与OSD硬件芯片相匹配的数据 资源可以包括控件、控件属性以及菜单结构等数据。步骤S304,通过图2中的编译模块203来编译数据资源生成源代码文件。步骤S306,通过图2中的仿真模块205实现通过仿真器调用并处理源代码文件来 获取OSD硬件驱动软件资源数据结构。步骤S308,通过图2中的获取模块207可以实现综合OSD硬件特征、驱动软件的资 源数据结构,构建获取OSD应用程序的框架文件。本发明上述实施例相比于原有电视OSD应用程序代码框架及实现方法,通过分析 仿真视频处理芯片硬软件映射关系,依据特定的数据结构把OSD资源、颜色信息、菜单结构 有效组织及自动生成,数据资源经压缩处理,由芯片硬件系统进行解压缩,还原为OSD有效 数据,减少OSD资源的存储空间,从而降低芯片成本,提高开发和测试效率,增加OSD资源的
可重用性。本发明所有实施例中的资源数据结构可以包括资源数据、颜色信息以及菜单结构。框架文件可以包括数据表源文件、资源表源文件、颜色表源文件、颜色信息表源文件、 字符串表源文件、部件表源文件、项目条表源文件、菜单信息表源文件以及汇编数据文件。依据视频处理芯片OSD硬件模块的结构,得出硬软件映射对应关系。通过对应关 系,分析仿真得出数据结构及处理算法,依据该数据结构,把OSD中的数据资源、颜色信息、 菜单结构进行组织生成。在代码框架及处理流程中,加入数据压缩功能,压缩后数据资源, 经芯片硬件系统进行解压缩动作,还原为OSD有效数据,减少OSD资源的存储空间,从而降 低芯片成本。通过该OSD应用程序代码框架及实现方法,提高开发和测试效率,增加OSD资 源的可重用性。本发明所涉及到的芯片硬件OSD通过MCU对配置初始化、中断控制寄存器以及设 置OSD颜色填充的方式,线性填充、矩阵填充、发散间隔填充三种方式可配置。首先OSD通过DMA从FLASH中读取、加载资源,将其扩展后写入SDRAM中,从SDRAM 中ColorTable中读取颜色值,进行像素扩展处理,从SDRAM读出与VIDEO进行同步和混合 输出。OSD硬件模块支持Blink,Mask,水平及垂直翻转,以及Alpha Blending功能。依照OSD硬件的OSD DMA读取机制、资源解压动作及支持硬件功能(Blink、Mask 等),分析仿真得出相应的资源组织数据结构,OSD应用程序代码框架依据该数据结构进行 组织编译。组织编译过程分四个步骤,首先读取、分析工程类别;接着加载窗体、控件、字符 串、图片、字符资源;其次进行资源分组综合,生成点阵二进制数组,完成颜色索引表的排 列;最后生成平台源代码分别输出 Data、Resource、Clut、ClutInfo、String、Widget,Item、 Menu模块对应的.c,.h文件,共16个源文件,另外还有一个ASM文件(Data资源应对的汇编 数组文件),总共17个源文件。上述17个文件中,不仅仅包括OSD的资源数组、颜色信息,还 包含OSD的菜单结构,Widget,Item,Menu的模块源文件中,有对应的信息描述“所属继承”、 “显示继承”、“结构继承”,协作控制OSD菜单布局及层次。“Enterltem'WommandFunc”、 “ApiId”、“Flag”用于控制OSD菜单动作。通过菜单资源、菜单布局和菜单动作三者的结合, 组成电视完整的OSD菜单功能。Data、Resource、Clut、ClutInfo、String五部分资源,均通过压缩处理。即下载至 芯片存储设备前,经压缩生成指定格式的数据资源,OSD解析显示时,由芯片硬件系统进行 解压缩动作,还原为OSD有效数据,从而减少OSD资源的存储空间。图4是根据本发明实施例的数据表与颜色表的组织结构示意图。如图4所示,该 数据表文件OsdData. c文件中为所有资源文件的二进制流数据,为十六进制方式(0x12,
0x12......)。位图资源由数据表、颜色表两部分组成,数据表即OsdData. c文件,颜色表信
息则保存在OsdClut. c中,每一个颜色由三个BYTE来描述,分别表现颜色的RGB值。图4 为中文字符‘图’,编译输出的点阵二进制数组,该资源为IBit资源,宽高均为16像素。颜 色对应着主Lut中的第0,1个元素。另一个例子为位图的点阵数组和颜色表的对应关系, 位图‘左下无图标.bmp’为SBit资源,宽高为8像素。图5是根据本发明实施例的菜单表与控件表的组织结构示意图。如图5所示, 该空间表OsdWidget. c文件把OSD菜单中所有控件按照控件类别分别输出至不同的数组 中,每类数组都分两种,即ResourceTable和ControlTable。OsdWidget. c中的每类控件 的数据结构,对应着芯片底层驱动中定义的结构。Osdltem. c文件中放置OSD菜单中所有 Item的数据、结构信息。Osdltem. h文件中放置Item顺序的枚举。OsdMenu. c文件中包含了 OSD菜单所有Menu的结构信息,以及Menu背景的数据信息。图5示例中,Menu枚举为 User MENU MainMenu,排列序列为1,对应着Menu背景数据数组的第1列,它的第一个成 员为&&g0sdBackground0000
,即为gOsdBackgroundOOOO数组的第1个元素,该元素为 类别为edftlmage (即图片控件),索引号为0x0000,该索引号对应于Osdffidget. c文件中 的图片控件数据的第 0x0000 个元素列,即/*0x0000*/{0/*X*/,258/*Y*/,64/*Width*/, 42/*Height*/,0x0000/*DisableID*/,0x4001/*SelectedID*/,0x4001/*UnSelectedID*八另外的,资源表OsdResource. c文件主要是为了组织各Bit的Data资源(包括虚 拟资源部分)的,根据l、2、4、8Bit类别,分别放置至对应Bit数组。每行Osd Resource有 四个信息资源数组名、偏移量、显示宽高、物理宽高。OsdString. c文件把OsdResource. c 文件中资源数组成员(字符部分),组织成字符串。优选的,在根据资源数据结构获取OSD应用程序的框架文件之后,方法还包括将 框架文件压缩并按照预定的压缩路径保存至第一存储器。且在保存至第一存储器之后,所 书方法还包括调用第一存储器中该压缩处理后的框架文件;对压缩处理后的框架文件按 照解压缩路径解压缩至第二存储器,获取框架文件对应的OSD应用程序;基于流方式读取 并显示OSD应用程序。图6是根据本发明实施例的文件压缩和解压缩的流程示意图。如图6所示,读取 OSD资源文件中的颜色及数据信息,该颜色信息输出为C类数组数据资源输出为二进制流 类型,并将获取到的颜色信息及数据资源等数据合并发送,然后将上述颜色信息和数据资 源信息按照预定格式进行划分隔离,可以以预定的大小220K为分隔线进行隔离,隔成该大 小的组合文件,将上述文件压缩后传输给OSD硬件芯片,硬件芯片进行各个文件的解压缩, 并通过流方式读取解压缩后的数据,解压缩后的数据按照0x12...文本格式C代码数组的 形式输出,然后将输出文件编译为Bin代码实现硬件OSD模块解压缩,并显示最后的输出结^ ο上述步骤实现将Flash中指定地址上压缩的数据包解压后存放于SDRAM的指定地 址中,每个压缩包均设定220KB的大小上限。然后并将该中间文件已流方式读取存储器中 压缩包,硬件芯片解压缩该中间文件,并显示解压缩后的文件内容,得到OSD应用程序的结^ ο在上述实施例中,可以将框架文件按照一种或多种压缩速度执行压缩的步骤。例 如,可以使用语句{Compress a[-m] [_df] [-epl]被压缩的文件名压缩后的文件名}来实现 文件的压缩,其中,参数a表示是进行压缩动作,参数_m表示指定压缩级别的参数,即可以 通过定义[-m]来划分和区别对文件的压缩级别,本发明中可以使现如下五级中的一种或 多种压缩级别-m0存储添加到压缩文件时不压缩文件;-ml最快使用最快方式(低压缩);-m2较快使用快速压缩方式;-m3标准使用标准(默认)压缩方式;-m4较好使用较好压缩方式(较好压缩,但是慢);-m5最好使用最大压缩方式(最好的压缩,但是最慢)。同理的,本发明实施例可以实现将压缩处理后的框架文件按照一种或多种解压缩
7速度执行解压缩的步骤,解压缩过程可以使用语句{UnCompresiK命令 >-< 参数1>-<参数 NX压缩包X文件...Xi列表文件...X解压缩路径\>}实现。在上述压缩及解压缩的两个过程中,要求传递三个参数,分别是资源地址、目标地 址和资源大小,资源地址即资源在Flash中存放的首地址,目标地址即数据解压后载入到 SDRAM中的首地址,资源大小指的是从资源地址开始需要解压的资源大小,以字节为单位。资源压缩数据为依据OSD应用程序代码框架生成,生成的数据中包含源资源地 址、压缩前大小和压缩后大小,载入地址由用户根据实际情况自定义,只需分配足够大小的 SDRAM空间即可。硬件方式进行资源解压后,通过OSD显示模块进行OSD的绘制和显示。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。本发明实施例还提供了一种多媒体终端,该多媒体终端可以运行上述实施例中的 任意一种OSD应用程序框架的实现方法。该多媒体终端可以是电视机或电视机机顶盒。即 在任意一种多媒体终端上都可以运行本发明所涉及到的OSD应用程序框架的实现方法,依 据视频处理芯片OSD硬件模块的结构,得出硬软件映射对应关系。通过对应关系,分析仿真 得出数据结构及处理算法,依据该数据结构,把OSD中的数据资源、颜色信息、菜单结构进 行组织生成。在代码框架及处理流程中,加入数据压缩功能,压缩后数据资源,经芯片硬件 系统进行解压缩动作,还原为OSD有效数据,减少OSD资源的存储空间,从而降低芯片成本。 通过该OSD应用程序代码框架及实现方法,提高开发和测试效率,增加OSD资源的可重用 性,在产品开发及后期维护中有着显著意义,尤其在电器产品开发过程中使用该方法有着 操作简便,易用性高的效果。本发明涉及到的多媒体终端可以是电视机、电视机机顶盒或者 其他多媒体播放器等电器,使用范围广泛,兼容性好。从以上的实施例描述中,可以看出,本发明实现了如下技术效果0SD资源通过特 定数组结构组织,提高了 OSD的开发效率,增加可重用性。高压缩比压缩OSD数据资源,减 少资源存储占用空间,降低芯片存储设备成本。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成多个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种OSD应用程序框架的实现方法,其特征在于,包括通过可视化设计器来设计与OSD硬件芯片相匹配的数据资源,以定制所述OSD的UI程序;编译所述数据资源生成源代码文件;通过仿真器调用并处理所述源代码文件来获取OSD硬件驱动软件的资源数据结构;根据所述资源数据结构获取OSD应用程序的框架文件。
2.根据权利要求1所述的方法,其特征在于,在根据所述资源数据结构获取OSD应用程 序的框架文件之后,所述方法还包括将所述框架文件压缩并按照预定的压缩路径保存至第一存储器。
3.根据权利要求2所述的方法,其特征在于,将所述框架文件按照一种或多种压缩速 度执行所述压缩的步骤。
4.根据权利要求2或3所述的方法,其特征在于,在保存至第一存储器之后,所述方法 还包括调用所述第一存储器中该压缩处理后的所述框架文件;对所述压缩处理后的所述框架文件按照解压缩路径解压缩至第二存储器,获取所述框 架文件对应的OSD应用程序;基于流方式读取并显示所述OSD应用程序。
5.根据权利要求4所述的方法,其特征在于,将所述压缩处理后的所述框架文件按照 一种或多种解压缩速度执行所述解压缩的步骤。
6.根据权利要求1所述的方法,其特征在于,所述资源数据结构包括资源数据、颜色 信息以及菜单结构。
7.根据权利要求1所述的方法,其特征在于,所述框架文件包括数据表源文件、资源 表源文件、颜色表源文件、颜色信息表源文件、字符串表源文件、部件表源文件、项目条表源 文件、菜单信息表源文件以及汇编数据文件。
8.—种OSD应用程序框架的实现装置,其特征在于,包括定制模块,用于通过可视化设计器来设计与OSD硬件芯片相匹配的数据资源,以定制 所述OSD的UI程序;编译模块,用于编译所述数据资源生成源代码文件;仿真模块,用于通过仿真器调用并处理所述源代码文件来获取OSD硬件驱动软件的资 源数据结构;获取模块,用于根据所述资源数据结构获取OSD应用程序的框架文件。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括压缩模块,用于将所述 框架文件压缩并按照预定的压缩路径保存至第一存储器。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括调用模块,用于调用所述第一存储器中该压缩处理后的所述框架文件;解压缩模块,用于对所述压缩处理后的所述框架文件按照解压缩路径解压缩至第二存 储器,获取所述框架文件对应的OSD应用程序;显示模块,用于基于流方式读取并显示所述OSD应用程序。
11.一种多媒体终端,其特征在于,运行权利要求1-7中任意一项所述的OSD应用程序 框架的实现方法。
全文摘要
本发明公开了一种OSD应用程序框架的实现方法、装置及多媒体终端,其中,该方法包括通过可视化设计器来设计与OSD硬件芯片相匹配的数据资源,以定制OSD的UI程序;编译数据资源生成源代码文件;通过仿真器调用并处理源代码文件来获取OSD硬件驱动软件的数据结构;综合OSD硬件特征、驱动软件数据结构,构建获取OSD应用程序的框架文件。通过本发明,能够提高OSD硬件模块处理能力、提高OSD应用程序的开发效率。
文档编号G06F9/44GK102004647SQ20101060696
公开日2011年4月6日 申请日期2010年12月24日 优先权日2010年12月24日
发明者刘西富, 曾小光, 陈世雷 申请人:青岛海信信芯科技有限公司