专利名称:一种osd控制器的制作方法
技术领域:
本发明属于数字视频图像处理与显示技术领域,涉及一种0SD(0r^Creen Display,屏幕显示)控制器。
背景技术:
目前,OSD的应用非常普遍,是各种显示器,尤其是液晶显示器(LiquidCrystal Display),都必须具备的一项功能。OSD可以为用户提供对显示器进行参数调节或对主控制 器进行软件控制的示意和提示等信息,方便用户对显示器进行调节或者对主控设备的控制 等。此外,OSD还可以在原视频图像上叠加特殊的图像信息或文字。OSD控制器就是完成这 项功能的系统。中国专利公开号为CN 1713264的发明专利(发明名称为“基于FPGA的数字OSD 控制器”)是本发明的一个接近的现有技术。该发明是一种为液晶显示器LCD提供数字OSD 图像、用现场可编程门阵列FPGA实现的OSD控制器。该发明运用OSD管理模块对整个OSD 控制器的运行进行控制,包括扫描时序、工作状态、控制字、窗口属性等。在该发明专利中仅 提供了一种字符和可变位图的显示方法,软件不能灵活的对输出窗口和矩形的大小、位置 等属性进行设置。对于与视频信号进行叠加时的透明效果,采用整体透明,不能对分别各个 部分进行有选择的透明。对于位图,每一行显示之前需要MCU频繁进行RAM更新,这样就增 加了 MCU的资源消耗,给复杂系统中的MCU的控制带来不必要的开销。
发明内容
本发明需要解决的技术问题是现有技术中字符、图片、窗口、矩形等组成部分的工 作不能独立实现,MCU资源开销大,不能灵活的对输出窗口和矩形的大小、位置等属性进行 设置,透明效果单一。为了解决上述技术问题,本发明提供一种OSD控制器,包括MCU接口模块、字符处 理模块、位图处理模块、矩形生成模块、窗口生成模块和混合输出模块;通过所述MCU接口模块设置OSD控制器内的控制寄存器和属性参数寄存器、读取 OSD控制器的当前工作状态;所述字符处理模块根据字符及其参数生成字符数据;所述位 图处理模块根据位图及其参数生成位图数据;所述矩形生成模块根据矩形的参数生成矩形 数据;所述窗口生成模块根据窗口的参数生成窗口数据;所述混合输出模块根据预设的优 先级将所述字符数据、位图数据、矩形和窗口数据进行叠加后输出。可选的,所述字符参数包括所述MCU接口模块提供的共有参数和存储于字符属性 存储器(CHAR_RAM)中的特有属性参数。MCU接口模块仅提供字符的共有参数,有利于节约 MCU资源。可选的,所述字符存储于字库存储器中,供所述字符处理模块读取。可选的,所述字库存储器为可擦写存储器RAM,不仅能够更换不同语言的字库,而 且可以在换页显示之前更新字库。
可选的,所述字符存储采用12X18的点阵,可以节省空间,在存储容量一定的情 况下增加字符的数量。可选的,所述位图、窗口、矩形参数包括各自的位置和属性。可选的,所述位图存储于位图存储器(IC0N_RAM)中,供所述位图处理模块读取。可选的,所述字符数据、位图数据、窗口数据和矩形数据包含M位颜色值。可选的,所述字符处理模块、位图处理模块、窗口生成模块和矩形生成模块还分别 产生对应的字符数据有效信号、位图数据有效信号、窗口数据有效信号和矩形数据有效信 号,分别用于指示当前对应的字符数据、位图数据、窗口数据和矩形数据有效。可选的,所述窗口生成模块和矩形生成模块还分别产生各自的透明有效信号,分 别用于指示当前对应的窗口和矩形的透明状态。可选的,所述MCU接口模块还分别向所述窗口生成模块和矩形生成模块提供控制 窗口和矩形整体透明状态的信号。可选的,其特征在于,所述窗口以所述字符的点阵为单位,所述矩形以像素为单 位。可选的,所述混合输出模块的输出信号在后续模块与其他视频信号进行混合叠 加。与传统的OSD控制器相比,本发明提供的OSD控制器具有以下优点和有益效果1、字符、图片、窗口、矩形等组成部分通过各自的模块分别实现,然后再叠加,有利 于对各个部分单独修改和配置。2、以字符点阵为单位的窗口和以像素为单位的矩形,可方便软件对各个窗口和矩 形的属性进行独立配置,丰富了 OSD需要表达的信息和方便了各种方案的设计;3、在输出OSD的过程中,不需要MCU进行大量RAM写操作,可节省MCU的资源开 销;4、窗口和矩形通过各自的模块选择透明方案,MCU选择各个窗口和矩形整体是否 透明;5、在实际性能方面,在可接受的面积范围内可通过的综合最高频率达165MHz,适 用于较大尺寸的IXD TV的显示;6、字符取12X18的点阵时,可节省存储空间,在存储空间一定时可存储更多的字 符。
图1是本发明提供的OSD控制器一个实施例的内部功能框图;图2是字符处理模块和窗口生成模块一个实施例的工作原理图;图3是字符存储方式一个实施例的原理图;图4是位图处理模块的一个实施例的结构框图;图5是矩形生成模块一个实施例的工作原理图;图6是矩形位置计算流水线串行处理方式示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。参见图1,图1是本发明提供的OSD控制器一个实施例的内部功能框图。从图1中 可以看出,OSD控制器主要由以下几个部分构成字符处理模块、位图处理模块、窗口生成 模块、矩形生成模块,MCU接口模块、以及混合输出模块。用户可以通过MCU接口模块,设置OSD控制器内的控制寄存器和属性参数寄存器、 读取OSD控制器的当前工作状态,本实施例中,MCU接口模块设定在LCD屏幕上所有字符的 整体位置、字符的共有属性等字符共有参数以及位图、窗口、矩形的位置、属性等参数信息。 所谓字符共有参数指的是所有显示在LCD屏幕上的字符所具有的相同的参数。字符处理模块从MCU接口模块中获取显示在IXD屏幕上的字符的整体位置和共有 属性等字符共有参数。字符存储于一个字库存储器F0NT_RAM中。每一字符在字符库中有 一个地址,即字符编码(或字符ID),作为一种优选方式,该字符ID以及每个字符具有的特 有属性参数(包括字符颜色、字符效果等)存储于一个字符属性存储器CHAR_RAM中。字符 处理模块从CHAR_RAM读取字符ID和特有属性参数,根据字符ID从字库存储器F0NT_RAM 中读取相应的字符。字符处理模块根据字符和对应的字符参数(包括字符共有参数和特有 属性参数)生成字符数据输出至下一级。为了适用于多种语言,方便更新字库,存储字库采 用可擦写存储器RAM,而不是ROM。这样,不仅能够更换不同语言的字库,而且可以在换页显 示之前更新字库。位图处理模块从MCU接口模块中获取显示在IXD屏幕上的位图的位置和属性等参 数,根据需要可选择双色、4色、8色、16色等。位图存储于一个位图存储器IC0N_RAM中。位 图处理模块从该位图存储器IC0N_RAM中读取所需要的位图。位图处理模块根据位图和对 应的位图参数生成位图数据输出到下一级。例如,4色位图的一个像素对应2个bits,可实 现10个位图的同时显示。在行、场同步信号到来时,判断每个位图的位置,在当前行显示优 先级最高的位图。每个位图都配有自己的颜色查找表,采用较少bit存储时仍可实现更多 更丰富的颜色输出。矩形生成模块,从MCU接口模块中获取显示在IXD屏幕上的矩形的位置、大小和属 性等参数,可同时实现多个矩形的显示(可达到18个)。MCU配置矩形的大小、位置等参数 后,矩形生成模块判断各个矩形所在位置以及该位置处的矩形的优先级和属性,然后将生 成的矩形数据输出到下一级。矩形生成模块中的矩形以像素为单位。窗口生成模块,从MCU接口模块中获取显示在IXD屏幕上的窗口的位置和属性等 参数。为方便与字符配合显示窗口,窗口生成模块可以以当前选择的字符点阵为单位,结合 窗口参数实现多个窗口的输出。混合输出模块,根据各个部分(包括字符、窗口、矩形和位图)预先设定好的叠加优 先级,将各个部分的输出信号进行叠加,输出后在后续模块与其他视频信号进行混合叠加。这样字符,位图,窗口,矩形等组成部分,通过字符处理模块、位图处理模块、窗口 处理模块、矩形处理模块分别实现,然后再叠加。图2是字符处理模块和窗口生成模块一个实施例的工作原理图。从图2中可以看 出,窗口大小是以字符点阵为单位的。窗口的一行或一列宽度为一个字符,对应的一个字符宽度的行称为字符行,一个字符宽度的列称为字符列。本申请文件的其他地方所说的字符 行、字符列也采用这里的定义。因此,作为一种优选的实施方式,本实施例中字符处理模块 200和窗口生成模块210共用字符行计数模块、字符列计数模块、字符像素行计数模块和字 符像素列计数模块。对于字符处理模块200,字符像素行计数模块、字符像素列计数模块、字符行计数 模块和字符列计数模块分别计数当前像素点为字符的第几行和第几列,以及当前为第几行 和第几列字符,即当前是第几字符行、第几字符列。根据字符行计数值、字符列计数值,字符 属性地址计算模块(本实施例中为多个加法器)计算出当前对应字符在字符属性存储器 CHAR_RAM中的地址。字符属性读取模块根据该计算得出的字符地址读取字符特有属性和字 符ID。字符地址计算模块根据字符像素行、列计数值以及从字符属性存储器CHAR_RAM中取 得的字符ID计算得到对应的字符在字库存储器F0NT_RAM中的地址。字符读取模块根据该 地址从字库存储器F0NT_RAM中读取相应的字符。效果处理模块将取得的字符和字符属性 存储器CHAR_RAM中对应字符的特有属性以及MCU接口模块中的字符共有参数等字符内容 转换成颜色查找表的地址。输出控制模块根据该颜色查找表的地址查找到对应的颜色值后 输出M位颜色值,即R、G、B各8位,共M位的颜色值,也就是字符数据。同时输出字符数 据有效信号,指示当前的字符数据有效。作为一种优选方式,本实施例窗口生成模块210的窗口范围判断模块共用字符处 理模块200的字符行计数模块、字符列计数模块、字符像素行计数模块和字符像素列计数 模块。窗口范围判断模块中的比较器将MCU所设置的窗口大小及起始地址与当前的行、列 计数值进行比较,输出各个窗口的范围标志信号。圆角、阴影、凹凸或边框效果的大小或宽 度选择按需求由MCU设置。圆角效果产生模块,采用查表的方式,在窗口的第一个字符列、 字符像素列计数值等于圆角的起始像素列时,开始窗口的行有效像素标志信号输出。在窗 口的最后一个字符列、字符像素列计数值等于圆角的结束像素列时,结束窗口的行有效像 素标志信号输出。阴影效果产生模块,通过计数,延长行有效像素标志信号,逐行增加一个 像素点,直到需要的宽度,用以产生窗口右侧阴影。在输出的最后一个行后,增加一系列行 有效像素标志信号。这些行有效像素标志信号的起始像素点逐行加一,直到所需要增加的 最后一行。需要增加多少行有效像素标志信号根据阴影的大小决定。凹凸或边框效果产生 模块,在窗口的设置范围内,计数器计数所需要的凹凸或边框宽度,然后输出标志信号。效 果处理模块将从圆角效果产生模块、阴影效果产生模块、凹凸或边框效果产生模块的输出 信号中获取的内容转换成颜色查找表的地址。输出控制模块根据该颜色查找表的地址查找 到对应的颜色值后输出M位颜色值,也就是窗口数据。同时输出窗口数据有效信号,指示 当前窗口数据有效。窗口生成模块还可以产生透明有效信号,控制对应窗口的透明状况,即 该窗口哪些地方透明、哪些地方不透明。图3是字符存储方式一个实施例的原理图。对于由3个8位拼成的M位的存储 器,12X18、16XM、24X32等三种不同的字符存储方式分别如图3中第1、2、3行所示。当 采用12 X 18的点阵时,将2 X 12bits并成一个Mbits,这样可以节省空间,在存储容量一定 的情况下增加字符的数量。图4是位图处理模块的一个实施例的结构框图。从图中可以看出,10个位图位置 比较模块0 9,该模块中用比较器将各个位图的起始和结束行列位置与当前的行、列计数值进行比较,然后输出位图的范围标志信号。位图选择模块中的选择器,根据既定的位图优 先级,选择并输出当前优先级最高的位图的范围标志信号。位图地址产生模块用若干个加 法器产生位图在位图存储器IC0N_RAM中的地址后输出该地址信号。位图读取模块产生读 信号,并和地址信号一起输出到位图存储器IC0N_RAM,取得16位存储值后输出。位图效果 产生模块,产生加边框或反色等特殊效果后输出位图数据有效信号Icon—valid,指示当前 位图数据有效和相应的M位RGB信号(即位图数据)。由于需要根据位图ID、大小等寄存 器的值计算位图存储器IC0N_RAM的读取地址,位图的输出会延迟几个时钟周期,位图寄存 器缓存模块将位图的范围标志信号进行延迟后与后续模块同步。图5是矩形生成模块一个实施例的工作原理图。本实施例采用了流水线串行处 理的方式,在矩形行、列位置计算模块中在5个时钟周期内,经过若干个加法器计算出每个 矩形的行、列起始位置(根据不同的边界形状设置,每行的列起始位置会不一样)。这样经 过12个周期后9个矩形的起始行、列位置都计算完成。每一行同步信号到来后的第6个时 钟周期开始,依次输出9个矩形加入效果后的位置坐标值。9个位置判断模块中的比较器 将当前行、列像素计数值和每个矩形的位置坐标进行比较,产生矩形有效像素的标志信号 PIXEL_IN_RECT。优先级控制模块按设定的优先级判断矩形有效像素的标志信号PIXEL_IN_ RECT是否有效,从而用选择器选择并锁存当前像素对应矩形的属性,以及产生凹凸等属性 标志信号。输出控制模块根据前一级模块(优先级控制模块)所锁存的当前像素对应矩形 的属性、凹凸等属性标志,输出颜色查找表的地址;然后读取颜色查找表中对应的寄存器, 输出RGB信号,同时输出矩形数据有效信号,指示当前矩形数据有效。矩形生成模块还可以 产生透明有效信号,控制对应矩形的透明状况,即该矩形哪些地方透明、哪些地方不透明。由于18个矩形全部采用串行流水线方式会导致较大的延时,所以9个寄存器为一 组计算矩形行、列起始位置。行列流水线如图6所示,图6列出了三个矩形所经过的5个阶 段( 印1-乂印幻,每个矩形的位置计算均需经过印5。因此把18个矩形分成两 组,从第一个矩形的位置计算开始,到第九个矩形位置计算结束,共需要13个时钟周期。下面详细阐述本发明所提供的OSD控制器各部分的工作过程初始化3块存储器(字符属性存储器CHAR_RAM、字库存储器F0NT_RAM、位图存储 器IC0N_RAM)后,MCU配置各个寄存器,输入驱动屏幕需要的行、场同步信号等,各个模块开 始工作。字符处理模块从字符属性存储器CHAR_RAM中读取显示区域的各个字符的特有属 性(如颜色索引、文字效果等)和字符在字符库中的编码即字符ID等,然后根据字符ID值 从字符库中取出对应的字符。之后根据字符参数,包括共有参数和特有属性参数,输出对应 每个点的对位1 、6、8值;位图处理模块从位图存储器IC0N_RAM中读出图片,根据配置好的属性,进行解码 和处理。多个图形叠加后,输出在屏上对应的M位R、G、B值;位图数据存储在位宽为16 位的SRAM中,数据存储的方式在读取存储器数据时首先需要计算地址。具体过程为根据位 图ID寄存器的值确定基地址;根据当前行计数、列计数、位图行宽、位图列宽等在相应的寄 存器中设定的值以及位图颜色控制选择寄存器的设定值计算出地址偏移量,加上基地址得 出当前的读地址。以16XM的8色位图的bitO为例偏移地址=((CURRENT_LINES-START_LINES)/24) X IC0N_C0L_NUMX3X24+ ((CURRENT_C0LS-START_C0LS)/16) X3X24+ (CURRENT_LINES_ST ART_LINES) mod 24)。其中,IIC0N_ID 图标对应的ID寄存器的值;CURRENT_LINES 当前显示行START_LINES 当前显示位图的起始行IC0N_C0L_NUM 当前位图一行所包含的16X24的个数CURRENT_C0LS 当前显示列START_C0LS 当前显示位图的起始列矩形生成模块直接根据MCU接口模块中相应的寄存器定义的矩形位置,大小,颜 色等属性,根据矩形优先级,输出各个点对应的优先级最高的矩形M位R、G、B值;矩形的输 出区域是由矩形的位置、大小和形状决定的。位置由矩形的行起始位置、列起始位置控制, 大小由行起始、列起始、行结束及列结束位置共同控制。本实施例共提供了三种基本的矩形形状方矩形、圆角矩形、左圆右方矩形。其中 圆角的实现是设计的难点,采用的算法是根据矩形的行数用一次分段函数计算该行列的起 始位置和结束位置。(若计算结果列起始位置>列结束位置,则该行不输出)分段函数如
权利要求
1.一种OSD控制器,其特征在于包括MCU接口模块、字符处理模块、位图处理模块、矩 形生成模块、窗口生成模块和混合输出模块;通过所述MCU接口模块设置OSD控制器内的 控制寄存器和属性参数寄存器、读取OSD控制器的当前工作状态;所述字符处理模块根据 字符及其参数生成字符数据;所述位图处理模块根据位图及其参数生成位图数据;所述矩 形生成模块根据矩形的参数生成矩形数据;所述窗口生成模块根据窗口的参数生成窗口数 据;所述混合输出模块根据预设的优先级将所述字符数据、位图数据、矩形和窗口数据进行 叠加后输出。
2.根据权利要求1所述的OSD控制器,其特征在于,所述字符参数包括所述MCU接口模 块提供的共有参数和存储于字符属性存储器(CHAR_RAM)中的特有属性参数。
3.根据权利要求1或2所述的OSD控制器,其特征在于,所述字符存储于字库存储器 中,供所述字符处理模块读取。
4.根据权利要求3所述的OSD控制器,其特征在于,所述字库存储器为可擦写存储器RAM0
5.根据权利要求3所述的OSD控制器,其特征在于,所述字符存储采用12x18的点阵。
6.根据权利要求1所述的OSD控制器,其特征在于,所述位图、窗口、矩形参数包括各自 的位置和属性。
7.根据权利要求1或5所述的OSD控制器,其特征在于,所述位图存储于位图存储器 (IC0N_RAM)中,供所述位图处理模块读取。
8.根据权利要求1所述的OSD控制器,其特征在于,所述字符数据、位图数据、窗口数据 和矩形数据包含M位颜色值。
9.根据权利要求1所述的OSD控制器,其特征在于,所述字符处理模块、位图处理模块、 窗口生成模块和矩形生成模块还分别产生对应的字符数据有效信号、位图数据有效信号、 窗口数据有效信号和矩形数据有效信号,分别用于指示当前对应的字符数据、位图数据、窗 口数据和矩形数据有效。
10.根据权利要求1或8所述的OSD控制器,其特征在于,所述窗口生成模块和矩形 生成模块还分别产生各自的透明有效信号,分别用于指示当前对应的窗口和矩形的透明状 态。
11.根据权利要求9所述的OSD控制器,其特征在于,所述MCU接口模块还分别向所述 窗口生成模块和矩形生成模块提供控制窗口和矩形整体透明状态的信号。
12.根据权利要求1、2、5、8、10中的一项所述的OSD控制器,其特征在于,所述窗口以所 述字符的点阵为单位。
13.根据权利要求1、2、5、8、10中的一项所述的OSD控制器,其特征在于,所述矩形以像 素为单位。
14.根据权利要求1所述的OSD控制器,其特征在于,所述混合输出模块的输出信号在 后续模块与其他视频信号进行混合叠加。
全文摘要
一种OSD控制器,包括MCU接口模块、字符处理模块、位图处理模块、矩形生成模块、窗口生成模块和混合输出模块;通过所述MCU接口模块设置OSD控制器内的控制寄存器和属性参数寄存器、读取OSD控制器的当前工作状态;所述字符处理模块根据字符及其参数生成字符数据;所述位图处理模块根据位图及其参数生成位图数据;所述矩形生成模块根据矩形的参数生成矩形数据;所述窗口生成模块根据窗口的参数生成窗口数据;所述混合输出模块根据预设的优先级将所述字符数据、位图数据、矩形和窗口数据进行叠加后输出。字符、图片、窗口、矩形等组成部分通过各自的模块分别实现,然后再叠加,有利于对各个部分单独修改和配置。
文档编号H04N5/445GK102103849SQ20091020158
公开日2011年6月22日 申请日期2009年12月22日 优先权日2009年12月22日
发明者冯海英, 施彦 申请人:无锡华润矽科微电子有限公司