Osd产生和显示方法

文档序号:2541964阅读:829来源:国知局
专利名称:Osd产生和显示方法
技术领域
本发明涉及一种OSD产生和显示方法,更具体的涉及一种用于电视机等射 频设备的OSD产生和显示方法。
背景技术
随着具有各种丰富功能的视频设备不断上市,除了视频产品的外观越来越 时尚之外,日益华丽的OSD介面设计也成为了这些视频产品吸引用户的一个重 要因素。0SD的主要作用提供一个直观的图形介面,帮助用户完成各种对机器 的控制和资讯获知等任务。图1所示为一个用户可能经常看到的0SD外; 见。随 着系统处理能力的提高,现在的OSD甚至可以提供内建游戏、记事本和万年历 等各种附件功能。
目前有两种主要的0SD实现方法外部OSD产生器与视频处理器间的叠加 合成;视频处理器内部支持OSD,直接在视频緩冲存储器内部叠加OSD资讯。
外部OSD产生器与视频处理器间的叠加合成的实现原理是由一个MCU(微 控制器)内建的字符产生器及显示緩沖存储器,利用快速消隐(Fast-Blank)信 号切换电视的画面和0SD显示内容,使0SD的字符等内容叠加在最终的显示画 面上,在OSD和显示画面叠加处理过程中,透过调整两者之间的比例可以实现 0SD的半透明(Blending)效果。同时,对OSD信号中的红绿蓝信号进行重新编 码,可以得到不同的OSD颜色效果。
另外一种实现方法是视频处理器内部支援OSD,直接在视频緩沖存储器内 部叠加OSD资讯。这一类视频处理通常具有外部存储器或内部少量的行緩冲存 储器,同时具有OSD产生器,OSD的合成和控制直接在视频緩冲存储器内完成, 同样具有上述的半透明和颜色控制功能。
0SD具有字符型(Font-Based)和位图型(Bit-Map)两种。为了节约显示緩冲 存储器,早期及低成本的解决方桉中使用字符型0SD产生器,其原理是将0SD 中显示内容按照特定的格式(12 x 18、 12xl6等)进行分割成块,如数字0-9、 字母a-z、常用的亮度、对比度符号等,并把这些内容固化在ROM或Flash中, 在显示緩冲存储器中仅存放对应的索引号,这样的'字典,结构可以大幅度减 少显示缓冲存储器的需求。同时,为了提供对每个字符的颜色等属性的控制, 通常还具有一个与显示緩冲存储器一样大小的属性缓冲存储器,其属性(前景颜 色、背景颜色、闪烁等)对整个字符中的每个画素有效。为了弥补这种方式不能 为每个画素指定颜色的缺点,0SD产生器可以采用多个显示緩冲存储器合并的 方式呈现多色字符,其原理是每个显示緩冲存储器确定一种颜色方桉,当两个 甚至更多个显示緩沖存储器合并以后就可以'拼凑,出超过两种颜色的多色字 符。字符型OSD优点是可以使用0SD内部较少的显示緩沖存储器;并且MCU只 需要指定显示内容的索引即可显示对应0SD资讯,可以在比较低速的MCU上实 现。 .
相较字符型0SD,位图0SD的处理原理较直观和简单透过对最终显示内 容上特定区域的每个画素点进行改变,直接将0SD资讯叠加到最终的显示画面 上,其依照画素进行控制的方式可以保证具有多色及足够的表现能力。位图0SD 产生器通常内建在视频处理器内部,并共享使用其主显示緩冲存储器。位图0SD 的显示效果理论上可以做到非常完美的程度,可以提供类似Windows中具有立 体感的各种物件,如具有阴影的按钮、颜色丰富的图形和文字等,其缺点是必 须具有足够的0SD显示緩冲存储器,以及按画素进行处理而对MCU带来的速度 要求。通常在大尺寸的高阶平面电视和专业显示器上会使用这一类0SD。
虽然位图OSD的显示效果要好得多,但是考虑到成本的问题,目前大多数 的视频产品仍然使用字符型0SD。在使用字符型0SD模块时,如果在电视屏幕 上显示相对比较美观的用户菜单,那么菜单的响应速度就成为一个需要考虑的 问题。 一般的处理方法是将菜单每次都要显示的资源全部载入到一个帧存储器
中,然后将菜单显示出来。这种处理方法会有两个明显的问题对于固定大小 的帧存储器,空间利用率不高;每次从闪存Flash中载入的资源过多,影响0SD 菜单的响应速度。因此,本领域需要一种能充分利用0SD缓存,并且不影响OSD 响应速度的OSD产生和显示方法。

发明内容
为了解决上述问题,本发明提供了一种OSD产生和显示方法,将菜单中出 现频率较高的资源作为公用资源,载入并常驻OSD緩存,动态载入每个菜单其 余部分资源,不仅提高了緩存的空间利用率,而且加快了 OSD菜单响应速度。
具体的,本发明提供了一种OSD产生和显示方法,包括
纟会制至少两个OSD画面;
将每个OSD画面分割为若干个小块;
将所有小块和相关的OSD资源标记为控件;
将使用频率高的控件标记为公用资源,将其他控件标记为私有资源; 将所有控件存入存储器;
在OSD初始化时,将公用资源从存储器读入OSD緩存并常驻。 上述相关的OSD资源包括区域、标签、图标、文字、进度条、动画、数字、 可选图标、导航资讯中的一种或者多种。 上述小块可以为矩形小块。
当显示OSD画面时,从所述OSD缓存读取需要的公用资源,从所述存储器 读取需要的私有资源。
具体的,本发明所述的公用资源可以通过以下方法来获得将多个OSD画 面都需要的控件标记为公用资源。若所述多个OSD画面都需要的控件占用的空 间大小与数字和常用的字符占用的空间大小之和小于OSD緩存,将数字和常用 的字符标记为公用资源。计算除所述多个OSD画面都需要的控件和所述数字和 常用的字符之外的控件在OSD画面中出现概率,将出现概率大于一个第一特定 值的控件标记为公用资源。
若所述多个OSD画面都需要的控件占用的空间大小与数字和常用的字符占 用的空间大小之和大于0SD緩存,则计算除所述多个OSD画面都需要的控件之 外的控件在OSD画面中出现概率,将出现概率大于一个第二特定值的控件标记 为公用资源。
所述第一特定值或第二通过以下方程组计算获得<formula>formula see original document page 7</formula>
<formula>formula see original document page 7</formula>
其中,x为所述第一或第二特定值,F(x)表示出现概率为x的所有控件的 资源大小,b表示已经标记为公用资源的控件的资源大小,ci表示任一OSD画 面余下的资源大小,fb表示OSD緩存的大小,OSD画面的个数就是该方程组的 个数。
采用本发明的OSD产生和显示方法,不仅方便了OSD的开发,而且提高了 OSD缓存的空间利用率,而且加快了 OSD菜单响应速度,可以方便在采用低成 本的OSD方案的视频产品上实现相对比较美观的用户菜单等OSD显示功能。


图1所示为一个显示OSD的电视机的示意图。
图2所示为本发明的一个OSD产生和显示方法的实施例的示意图。
图3所示为将一个0SD画面分割为若干个小块的示意图。
图4所示为本发明的一种公用资源的选择方法。
图5所示为本发明的一个字符型0SD应用开发系统的实施例的结构示意图。
具体实施例方式
为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目的、 特征和优点能够更加明显易懂,下面以电-见机为例,结合附图和具体实施方式
对本发明作进一步详细的说明。
图2所示为本发明的一个OSD产生和显示方法的实施例的示意图。如图所 示,本实施例的OSD产生方法包括以下步骤
步骤110:绘制多个OSD画面。这里的多个0SD画面可以是某种0SD模式 下的所有画面,例如电视模式、录像模式、或者是工厂模式等等。如果多种模 式下的0SD画面比4交统一,这里的多个0SD画面也可以包括多种才莫式下的OSD 画面o
步骤120:将每个0SD画面分割为若干个小块。这里的小块可以是任意的 几何图形。为了方便,本实施例将每个OSD画面按照一定的格式和分割规则分 割为矩形,其大小可以不同也可以相同,这里的分割规则可以根据OSD的内容 来确定,例如对于多个0SD画面都具有的公共部分按照相同的格式来划分等等, 如图3所示。
步骤130:将相同的小块标记为一个控件,同时将其他的0SD资源也标记 为控件。如图3所示,由于除了包含文字、图片等有效信息的小块之外,大多 数的小块的颜色和大小都相同,这样,将相同的小块标记为一个控件,在接下 来的存储中只需占用一个小块的空间,可以节省大量的存储空间。另外,对于 同一^f莫式下的0SD画面,多数画面都有相同的部分,这些相同的部分的小块也 标记为一个控件。除了这些小块之外,其他的OSD资源也需要标记为控件,这 些OSD资源可以包括区域、标签、图标、文字、进度条、动画、数字、可选 图标、导航资讯等等。
步骤140:将使用频率高的控件标记为公用资源,将其他控件标记为私有 资源。 一般情况下,同一模式下的多个OSD画面的公共部分使用频率较高,这 些公共部分的控件可以标记为公用资源,而将仅在单个0SD画面出现的控件标 记为似有资源。除此之外,本实施例也可以根据OSD显示装置的緩存大小来确 定公用资源的多少。 一般来说,0SD显示装置的緩存越大,存入的公用资源越 多,0SD的显示速度就越快,反之0SD显示装置的缓存较小,存入的公用资源 就会少,0SD的显示速度就较慢。图4所示为本实施例的一种公用资源的选择
方法,纟夸在下面详细i兌明。
步骤150:将所有控件存入存储器。这里的存储器一般为系统存储器,当 系统启动时,0SD显示装置从系统存储器中读取这些控件,组织并生成OSD画 面。
步骤160:在0SD初始化时,将公用资源从存储器读入0SD緩存并常驻。 当显示一个OSD画面时,从所述OSD緩存读取需要的公用资源,从所述存储器 读取需要的私有资源。与OSD产生方法相对应,这样,由于经常用到的控件都 被标记为公用资源,因此,这些常用的控件在OSD初始化是就被读入OSD緩存, 并且常驻在0SD缓存里面,这不仅提高了 OSD緩存的利用率,还大大减少了 0SD 调用控件的次数,减少了 OSD调用资源的时间,提高了OSD的显示速度。
图4所示为本实施例的一种公用资源的选择方法。如图所示,本实施例的 公用资源的选择方法包括以下步骤
步骤210:将所有0SD画面都出现的控件标记为第一资源;
步骤220:将数字和常用的字符标记为第二资源;
步骤230:计算第一资源和第二资源占用的空间大小;
步骤240:如果第一资源和第二资源占用的空间大于OSD緩存,将第一资 源标记为公用资源;将第二资源和剩下的所有控件标记为第三资源;
步骤250:如果第一资源和第二资源占用的空间小于OSD緩存,将第一资 源和第二资源标记为公用资源;将剩下的所有控件标记为第三资源;
步骤260:计算第三资源包括的所有控件在菜单中出现的概率,将出现概 率大于一个特定值的控件标记为公用资源;这里的特定值可以通过以下方程组
计算获得
F(a)+b+cl<=fb F(a) +b+c2<=fb
F(a)+b+ci<=fb
在这个方程组中,F(a)表示出现概率为a的所有控件的资源大小,b表示 步骤240和250中已经标记的公用资源大小,ci表示任一 0SD画面余下的资源 大小,fb表示OSD緩存的大小,OSD画面的个数就是该方程组的个数,方程组 的解表示概率为a的资源可以作为公用资源的一部分。
通过上述过程,可以最大限度的将公用资源设定为最大,在0SD初始化时, 所有的公用资源将被读入OSD緩存并常驻,这就最大限度的利用了 OSD緩存, 提高了 0SD的显示速度。
图5所示为本发明的一个字符型0SD应用开发系统的实施例的结构示意图。 如图所示,本实施例的字符型OSD应用开发系统包括OSD硬件模块310、 OSD 驱动320、 OSD控件集合330、 OSD应用程序340、 OSD显示控制器350以及OSD i殳计工具360。 OSD设计工具360用户绘制多种OSD画面,OSD石更件^莫块310 将绘制好的OSD画面分割成若干个小块,分割成的小块通过OSD驱动320,被 制作成各式各样的控件,生成的控件则由OSD控件集合330划分为公用资源的 私有资源,这些公用资源和私有资源最终由OSD应用程序340调用生成完整的 0SD画面,最后由OSD显示控制器350控制显示。
传统的OSD产生方法是将特定场景下的OSD物件逐一用程序代码'画,出 来,在遇到特定的事件时,再利用一堆if else等类似的语句判断出特定场景 和作业对象,并做相应的OSD处理。在OSD较筒单的情况下,其不失为一个可 行的方法。但在遇到OSD场景和^^莫式较多的情况下,这个if else的结构会变 得很大,而且更为重要的是极易出错以及维护成本提高。而随着OSD越来越复 杂以及程序代码工作量的不断提高,软件工程师需要花费很多时间在这些'表 面文章,上,而真正重要的应用层和设备驱动层的开发时间会受到影响,进而 影响新产品的开发进度。软件工程师也不得不重覆编写同样程式码来满足不断 改变客户的特定OSD需要。
而使用本发明的OSD产生和显示方法,可以很方便的制作出精美的OSD画 面,开发人员只需要用画图工作画出一个OSD画面,本发明的OSD产生方法就 可以将这个OSD画面分割成各种控件,从而实现OSD画面的开发。这样做的直 接好处就是节省了 OSD画面的制作时间,提高了OSD的编程效率,同时也降低 了OSD的维护成本,便于升级,同时对于程序的健壮性也有帮助。同时,由于 经常用到的控件都被标记为公用资源,而在0SD初始化时就被读入0SD缓存, 并且常驻在OSD緩存里面,这不仅提高了 OSD緩存的利用率,还大大减少了 OSD 调用控件的次数,减少了 OSD调用资源的时间,提高了OSD的显示速度。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例, 本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加 或替换,也应属于本发明的保护范围。
权利要求
1、一种OSD产生和显示方法,其特征在于,所述OSD产生方法包括:绘制至少两个OSD画面;将每个OSD画面分割为若干个小块;将所有小块和相关的OSD资源标记为控件;将使用频率高的控件标记为公用资源,将其他控件标记为私有资源;将所有控件存入存储器;在OSD初始化时,将公用资源从存储器读入OSD缓存并常驻。
2、 根据权利要求1所述的OSD产生和显示方法,其特征在于所述相关的 OSD资源包括区域、标签、图标、文字、进度条、动画、数字、可选图标、导 航资讯中的一种或者多种。
3、 根据权利要求1所述的OSD产生和显示方法,其特征在于所述小块为 矩形小块。
4、 根据权利要求1所述的OSD产生和显示方法,其特征在于当显示OSD 画面时,从所述OSD緩存读取需要的公用资源,从所述存储器读取需要的私有 资源。
5、 根据权利要求1 - 4任一所述的OSD产生方法,其特征在于将多个OSD 画面都需要的控件标记为公用资源。
6、 根据权利要求5所述的OSD产生方法,其特征在于若所述多个OSD 画面都需要的控件占用的空间大小与数字和常用的字符占用的空间大小之和小 于OSD緩存,将数字和常用的字符标记为公用资源。
7、 根据权利要求6所述的OSD产生方法,其特征在于计算除所述多个 OSD画面都需要的控件和所述数字和常用的字符之外的控件在OSD画面中出现 概率,将出现概率大于一个第一特定值的控件标记为公用资源。
8、 根据权利要求7所述的0SD产生方法,其特征在于所述第一特定值通 过以下方程组计算获得: F(a)+b+cl<=fb F(a)+b+c2<=fbF(a) +b+ci<=fb其中,a为所述第一特定值,F(a)表示出现概率为a的所有控件的资源大 小,b表示已经标记为公用资源的控件的资源大小,ci表示任一OSD画面余下 的资源大小,fb表示OSD緩存的大小,OSD画面的个数就是该方程组的个数。
9、 根据权利要求5所述的OSD产生方法,其特征在于若所述多个OSD 画面都需要的控件占用的空间大小与数字和常用的字符占用的空间大小之和大 于OSD緩存,则计算除所述多个OSD画面都需要的控件之外的控件在OSD画面 中出现概率,将出现概率大于一个第二特定值的控件标记为公用资源。
10、 根据权利要求9所述的0SD产生方法,其特征在于所述第二特定值 通过以下方程组计算获得F(x) +b+cl<=fb F(x) +b+c2<=fbF(x) +b+ci<=fb其中,x为所述第二特定值,F(x)表示出现概率为x的所有控件的资源大 小,b表示已经标记为公用资源的控件的资源大小,ci表示任一OSD画面余下 的资源大小,fb表示OSD緩存的大小,OSD画面的个数就是该方程组的个数。
全文摘要
本发明提供了一种OSD产生和显示方法,将菜单中出现频率较高的资源作为公用资源,载入并常驻OSD缓存,动态载入每个菜单其余部分资源。具体的,本发明提供了一种OSD产生和显示方法,包括绘制至少两个OSD画面;将每个OSD画面分割为若干个小块;将所有小块和相关的OSD资源标记为控件;将使用频率高的控件标记为公用资源,将其他控件标记为私有资源;将所有控件存入存储器;在OSD初始化时,将公用资源从存储器读入OSD缓存并常驻。采用本发明的OSD产生和显示方法,不仅方便了OSD的开发,而且提高了OSD缓存的空间利用率,而且加快了OSD菜单响应速度,可以方便在采用低成本的OSD方案的视频产品上实现相对比较美观的用户菜单等OSD显示功能。
文档编号G09G5/40GK101377922SQ20081013882
公开日2009年3月4日 申请日期2008年8月1日 优先权日2008年8月1日
发明者静 张, 李云峰, 花红民, 陈世雷, 隋星光 申请人:青岛海信电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1