数字视频系统中多功能叠加字符显示电路 本发明涉及数字视频技术,具体涉及一种适用于数字视频系统中使用的多功能叠加字符显示电路,更具体地说,涉及一种具有字符镶边处理、字符周围图像的低背景处理、字符的淡入淡出控制及字符颜色、亮度的程序控制/自动控制等功能的数字视频系统中多功能叠加字符显示电路。
传统的视频系统中,屏幕字符显示功能是由专用的叠加字符显示(下简称OSD)芯片完成,只能提供固定的、简单的功能,提供给高层开发的资源也相对较少,例如难以实现字符镶边处理、字符周围图像的低背景处理、字符的淡入淡出控制及字符颜色、亮度的程序控制/自动控制等功能等。由于用户在设计自己的视频系统时可扩展的余地有限,尤其是在数字视频系统设计过程中,OSD的外挂式结构,已经制约了系统整体功能的提高。
本发明的目的在于提供一种数字视频系统中多功能叠加字符显示电路,将OSD技术与数字视频系统紧密结合,利用数字信号处理技术使得OSD具有丰富的显示功能和视觉效果,在增加系统灵活性和通用性的同时提高系统的集成度,更具体地说本发明的目的是提供一种多功能叠加字符显示电路,可以提供字符镶边处理、字符周围图像的低背景处理、菜单字符的淡入淡出控制及字符颜色及亮度地程序控制/自动控制等功能,并可为数字视频系统的集成电路设计过程中全部或部分采用,也可在可编程逻辑器件中设计完成。
本发明的目的是这样实现的,构造一种数字视频系统中多功能叠加字符显示电路,可接受外部CPU指令实现多功能视频字符叠加功能,其特征在于包括对所述CPU指令进行解码的CPU指令解码器2、字符信号发生器3、镶边信号发生器4以及字符显示属性控制器1,所述字符信号发生器3接收时钟和同步信号将产生的字符信号输出到镶边信号发生器4,所述字符显示属性控制器1接收数字RGB信号和镶边信号发生器4输出的信号而输出数字RGB信号。
按照本发明提供的电路,其特征在于,所述字符信号发生器3包括用于存放字符编码和字符属性的显示缓冲区31,用于存放显示字符点阵数据的字库存储器32,所述字库存储器32是可编程的,可以包含有多个字符点阵库,每个点阵库可以根据需要进行切换和加载。
按照本发明提供的电路,其特征在于,所述字符信号发生器3有两种工作状态,在字符显示状态,由时序电路产生同步于行、场同步信号的显示地址,按特定的组合方式寻址显示缓冲区31和字库存储区32,输出字符点信号;在字符编程状态,由外部CPU分别接管显示缓冲区31和字库存储区32的地址总线和数据总线,对其进行数据的更新操作,所述字符信号发生器3的所述两种工作状态的切换是由指令解码器2控制。
按照本发明提供的电路,其特征在于,所述镶边信号发生器4在当前显示点本身无效而与该点相邻的8个方向的位置的任何一个或一个以上点信号有效时产生镶边信号。
按照本发明提供的电路,其特征在于,所述镶边信号发生器4包括:第一行缓冲器401、第二行缓冲器402,第1到第9字符点缓冲器403-411,字符点信号发生器的字符点信号首先经2个行缓冲器401、402延时后,产生相邻3行并行的字符点信号HD0、HD1、HD2,三行数据各自再经3个字符点缓冲器延时后,各产生水平方向相邻的3个并行字符点信号P1~P9,将字符点信号经1行加上2个象素的延时输入当前点P5点信号和字符属性数据,以保证字符显示时,其颜色、背景属性和镶边信号与字符点信号保持一致。
按照本发明提供的电路,其特征在于,所述字符属性控制器1包括背景衰减系数乘法器101、低背景控制开关102、镶边信号开关103、字符点信号开关104、平均亮度检测单元105、平均亮度控制开关106、平均亮度乘法器107、字符颜色选择单元108、透明控制开关109、加法器110、透明系数乘法器111、补码乘法器112、补码发生器113,其中,背景衰减系数乘法器101用于将背景衰减系数与视频输入信号进行乘法运算而将结果送所述低背景控制开关102的A输入端,所述低背景控制开关102的B输入端接收视频输入信号,所述低背景控制开关102的输出端与所述镶边信号开关103的B输入端连接,所述镶边信号开关103的A输入端输入有镶边信号而其输出端连接到字符点信号开关104的A输入端,所述平均亮度检测单元105对输入端的视频输入信号进行平均亮度检测并将该检测信号输入到平均亮度控制开关106的A输入端,所述平均亮度控制开关106的B输入端接收字符亮度系数而其输出信号则和字符颜色选择单元108的输出信号分别成为平均亮度乘法器107的两个输入信号,而平均亮度乘法器107的输出端连接到透明控制开关109的A输入端、补码乘法器112的输入端,补码乘法器112的另一个输入端接收补码发生器113的输出,所述补码发生器113用于产生透明系数的补码,透明系数乘法器111将透明系数与视频信号相乘而将结果信号输入到透明信号加法器110的一个输入端,所述透明信号加法器110的另一个输入端接收所述补码乘法器112的输出信号,而透明信号加法器110的输出信号输送到透明控制开关109的B输入端,透明控制开关109的输出端连接到所述字符点信号开关104的B输入端,所述字符颜色选择单元108用于根据字符属性中的字符颜色位从预置的颜色参数选出对应的颜色。
按照本发明提供的电路,其特征在于,所述低背景控制开关102在由字符代码的背景属性位产生的低背景信号控制下,将视频输入信号与由外部CPU设置的低背景系数进行乘法运算,输出比例于低背景系统的视频数据。
按照本发明提供的电路,其特征在于,所述平均亮度检测电路105包括:单一象素亮度计算单元,用于根据每一象素的数字RGB信号计算该象素的亮度;区域象素亮度累加单元,用于将来自所述单一象素计算单元的输出数据进行累加;区域平均亮度暂存单元,用于暂存来自所述累加单元的累加结果数据;第一控制单元,用于在所述区域内第一个象素时刻,对所述区域象素亮度累加单元清零;第二控制单元,用于在所述区域内最后一个象素时刻,对所述区域象素亮度累加单元的数据送到所述区域平均亮度暂存单元。
按照本发明提供的电路,其特征在于,所述单一象素计算单元包括加法器151和除4除法器152,所述加法器151的三个输入端分别输入所述数字RGB信号中R、G、B信号,所述加法器151的另一个输入端输入一个固定数值,所述加法器151的输出端连接到所述除4除法器152的输入端,所述除4除法器152的输出端提供信号给所述区域象素累加单元。
按照本发明提供的电路,其特征在于,所述区域象素亮度累加单元包括一个加法器153、第一双口随机存储器156,所述加法器153的第一输入端口输入来自所述单一象素亮度计算单元152的数据,所述加法器153的第二端口输入来自所述第一双口随机存储器156的已存储数据,所述加法器153的输出端连接到所述第一双口随机存储器156的第一端口。
按照本发明提供的平均亮度检测电路,其特征在于,所述区域平均亮度暂存单元包括第二双口随机存储器159,其中第一端口为写端口,用于输入来自所述区域象素累加单元156的数据的高8位,其中第二端口输出8位的亮度平均值。
按照本发明提供的平均亮度检测电路,其特征在于,所述第一控制单元包括一个与门154和一个或门157,所述或门157输入区域象素计数信号,所述与门154的输出端连接所述加法器153的第二端口,所述与门154的第一输入端与所述第一双口随机存储器156的第二端口,所述与门154的第二输入端连接到所述或门157的输出端,所述或门157输入区域象素计数信号。
按照本发明提供的电路,其特征在于,所述区域象素计数信号可以由水平数字时序信号和垂直数字时序信号的低位提供。
按照本发明提供的平均亮度检测电路,其特征在于,所述第二控制单元包括一个与门158,所述与门158输入区域象素计数信号,所述与门158的输出端信号控制所述第二双口随机存储器159的数据写入,所述第二双口随机存储器159的数据写入或读出的时钟同步信号为字符缓冲器的地址信号。
实施本发明提供的数字视频系统中多功能叠加字符显示电路,在字符信号产生、字符属性化控制、字符镶边处理、字符周围图像的低背景处理、字符颜色及亮度的程序控制/自动控制以及菜单字符的淡入淡出控制等方面提供了现有技术所不具备或比之更优越的性能,将OSD技术与数字视频系统紧密结合,利用数字信号处理技术使得OSD具有丰富的显示功能和视觉效果,在增加系统灵活性和通用性的同时提高系统的集成度,这种多功能叠加字符显示电路可以全部或部分应用于数字视频系统的集成电路设计过程中,也可在可编程逻辑器件中设计完成。
下面结合附图和实施例,进一步说明本发明的特点,附图中:
图1是本发明提供的多功能叠加字符显示电路的总体框图;
图2是说明图形方式的字符信号发生器的示意图;
图3是说明文本方式的字符信号发生器的示意图;
图4是说明字符代码的构成及其含义的示意图;
图5是说明产生镶边信号条件的示意图;
图6是检测镶边信号的原理示意图;
图7是本发明提出的镶边信号处理电路的框图;
图8是本发明提出的字符信号发生器电路框图;
图9是本发明提出的字符属性控制电路;
图10是本发明提出的平均亮度检测电路。
本发明的电路可以运用在数字视频系统中需要在图像上叠加字符显示(OSD)的场合,其总电路框图如图1所示,该电路可接受外部CPU(未示出)指令提供多种视频字符叠加功能,该电路主要包括字符信号发生器3、镶边信号发生器4、字符属性控制器1和CPU指令解码器2,其中CPU指令解码器2用于解释CPU的指令,产生其它模块中所需的参数和控制信号。以下将根据各模块功能框图对本发明的原理作详细说明。1、采用文本方式产生字符信号
字符信号的产生有2种方式:1)图形方式;2)文本方式。图2和图3分别示出了2种方式的电路结构。
图2所示的图形方式显示字符是指屏幕上显示的字符,其每一个点对应显示缓冲区中的每一个存储单元,由显示时序电路201控制显示缓冲区202中的每一位的顺序输出,就可在输出端获得与写入的字符点阵相对应的字符信号。在这种方式下,由于显示缓冲区202每一单元的状态都可由外部CPU任意编程,所以在软件的支持下可显示任意特定的图形及字符,但此种方式有两点不足之处:1)硬件开销大。由于每个象素对应一个存储单元,加上字符属性等附加信息,就需要大量的显示缓冲区,这样就会占用大量的集成电路芯片资源。2)软件开销大。由于对每个显示字符的控制都必须对组成该字符点阵的每个位进行操作,因此软件执行周期长,在保证字符更新速度的前提下,对CPU及相关硬件的速度要求就会很高。
图3所示的文本方式显示字符是指显示缓冲区31只存放字符代码,显示时,输出的字符代码根据显示时序发生器去寻址存放字符点阵的字库存储器32,被寻址的字库32输出相应的点阵信号形成字符的每一位,这样CPU对显示缓冲区31的控制,只针对字符代码,硬件和软件开销都会很小。至于字符点阵库32的容量,只需能够存放系统所用的字符点阵的数据即可,并且可根据同屏字符种类,分组形成多个字符点阵库,在需要时重新加载,这样可进一步降低硬件的资源占用,尤其适合于同屏输出字符种类有限的场合。因此,文本显示方式配合可编程点阵字库是简化硬件和软件的最佳方法,同时,由于点阵字库的可编程性,因此显示的汉字化得以简单实现。
本发明的电路采用图3所示文本方式产生字符信号,即显示缓冲区与点阵字库分离的方式,可减少硬件及软件的开销。另外,通过对字库区的重新加载,可显示多种特殊符号,并很容易实现汉字化。2、字符属性与字符编码的同步处理
本发明的电路采用字符属性与字符编码的同步处理,使得字符显示功能更加丰富,也为字符颜色控制,图像低背景处理,字符镶边产生,字符亮度的程序控制/自动控制,以及菜单的淡入淡出效果提供了支持。
具体地说,在本发明采用的字符方式显示字符过程中,在显示缓冲区中存放代表每一个要显示字符的数据成为字符代码,它是由字符编码和字符属性构成的,图4示出了8位字符代码的构成及含义,字符编码是指在当前点阵字库中字符的顺序编号,确定了字符的形状,字符属性是指该字符的显示颜色编码以及是否有图像低背景控制。按图4定义,确定了同屏字符种类是32个,同屏字符颜色种类是4种。3、镶边信号处理
字符与图像合成显示后,当图像内容的亮度与字符的亮度相近时,会使字符难以辨别,字符镶边的功能是在字符显示的点阵四周形成一道阴影,使字符在任何图像亮度背景下都能使其轮廓清晰可见。
镶边信号产生的逻辑条件是:在某一时刻,如图5中P5点,当与该点相邻的8个方向的位置(P1~P4,P6~P9),有一个或一个以上的字符点信号有效时,则P5点就应产生镶边信号,当然,如该位置本身字符点信号有效时,则不属于该情况。图6示出了在P5点产生镶边信号的电路逻辑关系。
图7示出了字符镶边信号产生电路的原理,其中401、402为行缓冲器,403-411为字符点缓冲器。来自字符信号发生器(图8)的字符点信号首先经2个行缓冲器401、402延时后,产生相邻3行并行的字符点信号HD0、HD1、HD2,其中HD0定义为下一行,HD1为当前行,HD2为上一行,3行数据各自再经3个字符点缓冲器延时后,各产生水平方向相邻的3个并行字符点信号P1~P9,图中P5定义为当前点,其它为其屏幕上相邻的8个字符点信号,因此,在P5位置上产生镶边信号的逻辑电路关系如图6示意。由于P5点实际上是输入数据流经过了1行加上2个象素的延时,为了同步于镶边信号,字符点信号和字符属性信号也应在时间关系上做出同步处理,所以字符点信号直接取自P5,而字符属性的3个信号也都经过1行加2个象素点延时,由图中行缓冲器412、字符点缓冲器413和414完成此功能,这样才能保证字符显示时,其颜色、背景属性和镶边信号与字符点信号保持一致。4、图像低背景处理
图像低背景处理是指在字符显示区域附近,图像的内容以低对比度方式显示,以减弱图像对字符的影响,从而能够更生动地突出字符显示效果,尤其适应于菜单多行字符显示的场合。
关于图像低背景控制理论,在专利申请号为94116694、2的已公开专利“字符信息处理电路”中,提出了一种模拟控制方法,其低背景控制信号是产生于专用OSD芯片输出的字符背景消隐信号,低背景的参数是以电位器方式调节,但没有考虑电平配合以及插入字符所产生的图像失真等问题。
本发明完全采用数字化处理方法,图像低背景系数可由CPU指令任意设置。具体方法是:在低背景信号控制下,数字视频数据与CPU设置的低背景系数进行乘法运算,输出比例于低背景系统的视频数据,因此低背景图像的对比度和色彩均可进行任意设置,也不会产生模拟方法带来的电平配合等其它问题。图像低背景控制信号是由字符代码的背景属性位产生的,可由软件设置。5、字符信号发生器
图8示出了产生字符点信号及字符属性信号的电路框图,其中显示缓冲区31用于存放显示字符代码,包括字符编码和字符属性;字符点阵库32用于存放显示字符的点阵数据。
字符信号发生器有2种工作状态:
1)字符显示状态,由时序电路产生同步于行、场同步信号的显
示地址,按特定的组合方式寻址显示缓冲区31和字库存储
区32,输出字符点信号。
2)字符编程状态:是由外部CPU分别接管显示缓冲区31和字
库存储区32的地址总线和数据总线,对其进行数据的更新
操作。
字符信号发生器的两种工作状态的切换是CPU通过指令解码器2进行控制的,当处于字符显示状态时,多路选择器35选择B,显示区写数据开关36截止,多路选择器37选择B,字库写数据开关38截止,此时显示缓存31和字库存储区32均处于读出状态。
水平计数器33和垂直计数器34由行场同步信号同步,分别产生了水平和垂直数字时序信号,此实例子中字符点阵结构是16×16,所以水平和垂直地址信息中的低4位属于每个字符代码的点阵地址,高位地址代表的是显示缓冲区的字符代码地址,因此显示缓存区31地址由V[8··4]和H[9··4]组成。显示缓存区31的输出数据代表字符代码,此实例中,其高3位为字符属性,低5位为字符编码,此处,每个字符在垂直方向占有16行位置,在水平方向占有16个象素位置,所以字符代码在垂直方向16行和水平方向16个象素中,显示缓存区31将输出相同的字符代码,输入到字库存储区32的地址是字符编码与垂直计数器低4位信号合成,使字库存储区32输出的相邻16行点阵数据组成一行字符,它与显示缓冲区31中的一行字符代码相对应。字库存储区32的数据宽度是16位,对应每个字符的水平方向16个象素,16选1选择器39由水平计数器33的低4位控制,因此在一个字符显示时间内,选择器39将并行的水平16位数据转换成16位串行的数据输出,形成字符的水平点阵数据。
以上字符显示状态,产生了同步于输入时序的字符点信号和字符属性信号,经过后续合成处理能在图像上稳定显示。
字符编程状态又分为2种情况:
1)对字库的编程,以便显示不同的字符集。
2)对显示缓冲区31的编程,使在指定的屏幕位置上显示指定
的字符。
对字库32的编程,首先由CPU控制多路选择器37选择A,使指定的字库写地址联通到字库32的地址总线上,控制字库写数据开关38导通,使指定的字库写数据加到字库区32的数据总线上,然后由CPU发出字库写使能信号,将指定的数据写入到字库存储区32指定的单元中去,上述过程的多次操作,可完成对整个字库的编程。
在对字库编程时,为防止屏幕上出现乱字符干扰,可在后续的字符属性控制电路中将字符信号关闭。由于每个字符库的设计是按系统同屏显示所包含的字符集来组织的,每个同屏显示的菜单中所有字符,组合在相应的字库中,因此更换字库可在更换菜单情况下进行,此时关闭字符不会产生字符的闪烁现象。
对显示缓冲区31的编程,也是通过切换地址总线和数据总线的方法完成,但对显示缓冲区31的编程不能采用上述关闭字符显示的方法,否则会引起同屏显示的其它字符产生明暗闪烁,而CPU对显示缓冲区31的随机操作,又会中断正常的字符显示,将导致屏幕乱字符的干扰。为消除干扰和闪烁,本发明设计了一种逆程操作控制电路,保证对显示缓冲区31的所有操作在行周期的逆程进行。其原理是:当CPU写显示缓冲区31时,只是由指令解码器2锁定提供给显示缓冲区31的地址和数据信息,并未控制多路选择器35和开关36动作,随后使能逆程控制电路30,该电路记忆此状态,等待下一个行同步脉冲来临之时,选通多路选择器35的A通道并打开开关36,同时发出写信号给显示缓存区31,完成写操作之后,并立即回到原始状态,当下一行正程来到时,字符显示就已经被更新。
此处对CPU写入显示缓冲区的速度有一定的限制,因为每行只能写入1个数据,为保证每个数据可靠写入显示缓存区31中,CPU的写操作在时间上应有大于1行周期的间隔,这个速度等效于每场能更新200~300个字符,可达到主观实时效果。6、字符显示属性控制电路
图9为本发明提供的字符属性控制电路的原理框图,该电路具有字符背景控制、镶边信号插入、字符点信号插入等功能,其中字符点信号的控制包括颜色属性选择、字符亮度程控/自动设置,字符淡入淡出控制等逻辑。
字符的颜色由字符代码中2个颜色属性位B6、B5(见图4)控制,从4个预置的颜色中选择一个,同屏显示的全部字符中,每个字符可以有4种颜色选择,在CPU控制下,这4种预置颜色可以是224即16兆色中的任意组合。字符亮度可由CPU调节,在不同图像情况下,合适的字符亮度既可保证清晰可辨,又不会因为过亮的字符对图像产生影响。另外,本发明中每个字符亮度还可根据字符位置区域的图像平均亮度分别进行了自动调节,以实现最佳的字符显示效果。字符透明效果是用于菜单的淡入淡出场合,在字符与图像明暗交替过程中,字符应具有透明效果,也就是在字符亮度变化过程中,字符点信号下的图像信号的亮度同时也作变化,但二者的亮度变化方向相反,亮度系数互为补码。
图9中,乘法器101和多路选择器102组成低背景产生电路。乘法器101的一个输入端来自输入视频数据流,另一输入是由CPU预置的背景衰减系数。
乘法器101输出的视频数据,其对比度将低于输入数据,当显示的字符属性中包含低背景控制信号时,则控制多路选择器102选择A通道,输出该低对比度背景信号。
多路选择器103用于产生字符镶边数据,在来自附图6的镶边信号控制下,适时选择A通道,在视频数据流中插入字符镶边数据,该镶边数据的大小可由CPU预置在合适的数值,以形成最佳的字符识别效果。
多路选择器104用于插入字符点数据,在来自附图6的字符点信号控制下,适时选择B通道,在视频数据流中插入字符点数据,该字符点数据根据显示字符的属性以及CPU指令控制,可以呈现出不同的字符显示效果:1)字符颜色的变化;2)字符亮度的变化;3)字符透明度的变化。
字符颜色的选择是由字符属性的2个颜色控制位决定的,它们控制多路选择器108从4个CPU预置的颜色中选择一个作为字符颜色。字符亮度是由乘法器107调节的,它将来自多路选择器108输出的字符颜色数据与一个决定字符亮度的系数相乘,得到所需亮度字符数据,经多路选择器109和104插入到视频数据流中。这个决定字符亮度的系数可以是CPU预置的字符亮度系数,也可以是在字符位置图像平均亮度的对应值,这是CPU通过控制多路选择器106进行选择的。
当多路开关106选择B通道,即选择CPU预置的字符亮度系数时,全部显示字符的亮度将是统一的;当多路开关106选择A通道,即选择平均亮度检测电路的输出时,加入到乘法器107的字符亮度系数将随图像的平均亮度自动调节,以产生自适应的字符亮度数据。
字符透明效果是用于菜单的淡入淡出场合,当字符与图像明暗交替过程中,字符应具有透明效果,方法是:在CPU控制下,字符信号数据与图像信号数据进行加权求和,图9中,乘法器111和112分别为图像信号和字符信号的加权乘法器,二者加权系数互为补码,由CPU控制,加权后的2路信号相加,在CPU控制下,多路选择器109选择B通道输出,在字符点信号切换下,将透明字符信号插入到视频数据流中。
7、图象平均亮度检测
图像平均亮度检测是以16×16象素为区域,对该区域图像数值进行算术平均,其输出值对应于上一场图像平均亮度的大小,由于图像在时间上的相关性,此值可作为当前场字符的亮度系数。由于平均亮度是以16×16为检测区域,因此每个字符内各点的亮度是不变的,而不同位置上的字符亮度则是随各自位置上的图像平均亮度变化而自适应调节。
图10示出了本发明实施例中平均亮度检测电路的内部结构,其中加法器151将R、G、B三色数据相加,其输出视为于图像亮度值,双口存储器156地址与字符显示缓冲区相同,双口RAM 156中存储的是16×16区域各象素亮度的累加值,与门154用于双口存储器156在检测区域的第一个象素置入初值0,双口RAM 159是由与门158控制写操作,在检测区域最后一个象素位置将双口RAM 156的累加值的高8位值,即16×16区域的亮度平均值存入双口RAM 159中,由于双口RAM 159地址总线也是与显示缓冲区地址相同,所以,RAM159输出的图像亮度平均值与字符同步,用此数值去作为字符亮度的乘法系数,能同步控制字符亮度。
需要注意的是,加法器151输入端除了三路RGB数据外,增加了一路0FFH常量数值,这是给字符亮度乘法系数提供最小值,以便当图像平均亮度很低时,字符仍能以四分之一最大亮度显示。
系统设计时,要考虑数据的同步问题,由于视频数据的高速率,数据的流水线操作是提高运算速度的有效方法,但流水线操作会造成数据的延时,因此在图像与字符合成时,应加入与流入线长度相同的同步延时,确保图像的连续性。
将本发明以上实施例的特性说明如下:1)字符点阵结构:16(V)×16(H);2)同屏显示字符种类:32种;3)同屏字符颜色数:4种;4)同屏图像背景效果:1种。