专利名称:由屏幕菜单式调节方式实现隐藏式字幕显示的方法
技术领域:
本发明涉及一种内存调度方法。
背景技术:
隐藏式字幕CC(Closed Captions)是为听力障碍人士准备的很详细的字幕。通常出现在说话人物的下方,其中包括片中物体的声响和音乐描述等。该功能不但可以用在广播电视、电缆电视上,还可用在DVD、录象带等装置上。美国规定,从1993年开始,美国出售的大于13英寸的电视机都须有CC解码器。
CC是把文字加入到视频信号中的一种标准化编码方式。在接收端,用户可通过打开电视机(或其他的接受装置)的CCD功能来收看这些文字信息。为此,在视频接收端,接收装置的内置解码器或独立解码器必须能将这些编码在视频信号中的文字给解码并显示出来(即CCD功能)。在接收端,解码器解码出CCD数据以后,必须根据EIA-608标准在屏幕上显示出这些数据所代表的文字及属性。通常做法是使用屏幕菜单式调节方式OSD(on-screendisplay)进行显示将要显示OSD字符数据存储到OSD RAM中,然后按显示顺序寻址相应数据进行显示,一般每页OSD显示的字符都不会很多,因此,对显示OSD来说,这种方法完全可行。然而,根据EIA-608标准,每页CCD文本由15行,34列组成,这就需要存储OSD字符个数为34×15=510个,由于一般OSD RAM中最多可存储的位图个数为256个,这样就大大超出了OSD可存储的范围。有监于此,通过软件优化处理方法尽可能减少对OSD RAM的利用,对用OSD显示CC字符,将是非常重要的一环。
发明内容本发明的目的就是为了解决以上问题,提供一种易实现、低成本的由屏幕菜单式调节方式实现隐藏式字幕显示的方法。
为实现上述目的,本发明提出一种由屏幕菜单式调节方式实现隐藏式字幕显示的方法,包括如下步骤隐藏式字幕解码器解码隐藏式字幕显示数据;系统判断该显示数据所对应的字符位图数据是否已存在于屏幕菜单显示存储单元中,如果已存在,则直接调用显示;如果不存在,则加载该字符位图数据至屏幕菜单显示存储单元中,进行显示。
上述的方法,所述判断要显示的字符是否已存在的方法包括屏幕菜单显示存储单元中同时存储有已显示的字符的使用次数,当要显示一个字符位图时,首先判断该使用次数,当该值不为零时,则屏幕菜单显示存储单元中存在该要显示的字符位图,如该值为零,则屏幕菜单显示存储单元中不存在该要显示的字符位图。
上述的方法,当从屏幕菜单中删除字符时,需同时更新该字符的使用次数。所述删除字符的步骤包括检查该字符的使用次数,当使用次数大于1时,该使用次数存储单元的值减1;当使用次数小于或等于1时,设置该使用次数存储单元为0,查找被删除字符相应类型的地址索引存储单元,并将该存储单元设为未使用过上述的方法,当一个隐藏式字幕画面需要显示的不同字符个数大于所述屏幕菜单显示存储单元中的最大字符存储数时,则查找该字符对应的其他类型字符是否存在于屏幕菜单显示存储单元中,如果存在则直接调用显示该字符对应的其他类型字符;如果不存在,则调用显示空格。所述查找优先级由高到底为常规字符、斜体字符、下划线字符、斜体下划线字。
上述的方法,屏幕菜单显示存储单元中开辟有用于存放已使用过的字符被使用次数的空间,当判断该要显示的字符位图已存在于屏幕菜单显示存储单元中并直接调用时,同时设置该字符显示次数存储单元的次数加1。屏幕菜单显示存储单元中开辟有用于存放已使用过的字符被使用次数的空间,当加载新的字符位图数据至屏幕菜单显示存储单元中时,设置该字符的使用次数为1,并保存字符存储索引。
上述的方法,所述用于存放已使用过的字符被用过次数的存储单元的相对地址用于表示该字符位图在屏幕菜单显示存储单元中的地址索引;如果存储单元值为0,则表示该存储单元相对地址所对应的屏幕菜单显示存储单元中的存储位置无字符;如该存储单元的存储值不为0,则表示该偏移量指向的屏幕菜单显示存储单元存储位置有字符,且该字符被用过的次数为该单元的存储值。
由于采用了以上的方案,在进行CCD显示时,先从OSD RAM中进行字符位图的调用,只有OSD RAM中不存在需要显示的字符时,才加载该字符位图数据到OSD中进行显示,因此,本发明的方法在现有只有较小存储空间的OSD存储单元中,就可以实现CCD功能,成本低、易实现。
图1是本发明的OSD RAM的存储单元分配图。
图2是本发明的地址索引引存储结构示意图。
图3是本发明的删除OSD RAM内某字符的流程示意图。
图4是本发明的OSD RAM内显示某字符的流程示意图。
具体实施方式下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
请参考图1所示,显示了该算法的OSD RAM的存储单元分配情况。由于字符位图是放在以0x00开始的OSD RAM中(根据芯片要求可能有所不同),所以,先预留出存放256个字符单元的OSD RAM空间用于存放字符位图,即0x00-0x2dff(本例用的位图是16×23)。
根据EIA-608标准,CCD显示可能用字符数为正常字176、斜体字176、下画线字176、斜体下画线字176,给这四类字符分别分配176个存储空间,用于存放某字符位图编码在OSD RAM中的地址索引,以识别字符位图的开始地址。当存储单元数据为0xff,则表示该字符在OSD RAM中不存在(字符没用过),默认值为0xff。
OSD RAM中开辟一个255个字符的空间,用于存放已使用过的字符被用过的次数,用来识别某字符位图是否存在。同时,该255个存储单元的相对地址(相对于255个存储单元的起始位置)表示字符位图在OSD RAM中的地址索引。如果存储单元值为0,则表示该存储单元相对地址所对应的OSD RAM中的存储位置无字符。如该存储单元的存储值不为0,则表示该偏移量指向的OSD RAM存储位置有字符,且该字符被用过的次数为该单元的存储值。
假设0x2b2开始的46个单元存放字符为斜体的“/”,假设“/”,使用次数为2。0x2b2开始的46个单元为第15个字,因为是斜体,所以斜体对应的地址索引区的第15个存储单元(0X2F3F)设置为OSD RAM中的字地址索引,即0x0f。从0x2f3f中调出字符地址索引,根据地址索引可找到字符位图数据位于OSD RAM中位置。字符使用次数存储区的第15个存储单元设置为2,其存储结构如图2所示。
请参考如图3、4所示本发明的流程在CCD需要显示某个字符时,先判断该字符是否为显示过的字符,如果是,则直接读取该字符位图的存储索引进行显示,同时设置显示次数存储单元加1;如果否,则判断CCD画面中出现的不同字符个数是否大于255个,如果出现的不同字符个数大于255个,则查找该字符对应的另外类型字符是否存在,查找优先级由高到底为常规字符、斜体字符、下划线字符、斜体下划线字;如果有其他类型字符,则显示该字符,设置显示次数存储单元加1;如果该字符的其他类型字符均不存在,则显示空格;如果出现的不同字符个数不大于255个,则将该字符的位图数据加载到OSD RAM中,同时设置显示次数为1,保存字符存储索引。
当删除某个字符时,检查该字符的使用次数,当使用次数大于1时,该使用次数存储单元的值减1;当使用次数小于或等于1时,设置该使用次数存储单元为0,查找被删除字符相应类型的地址索引存储单元,并将该存储单元设为未使用过。
据统计,一般很难出现CCD画面中不同字符个数大于255个的特殊情况,且本发明为此条件设定了相应的保护措施,即在某页CCD画面不同字符个数大于255时,用其他类型代替,这样不会影响用户识别CCD信息。而在这种条件下,某字符四种类型字均不存在的几率更是几乎为0。
根据上述方法,在CCD字符为704个,每页最大显示字符为510个的情况下,使用最大显示OSD的字符数为256的芯片完全可以实现。
目前,该发明在信号发生器PM5418、FLUKE-54200、TG19以及中央信号上检测,均无异常,已通过检测中心验证。
权利要求
1.一种由屏幕菜单式调节方式实现隐藏式字幕显示的方法,包括如下步骤隐藏式字幕解码器解码隐藏式字幕显示数据;系统判断该要显示的字符位图是否已存在于屏幕菜单显示存储单元中,如果已存在,则直接调用显示;如果不存在,则加载该字符位图数据至屏幕菜单显示存储单元中,进行显示。
2.如权利要求1所述的方法,其特征是所述判断要显示的字符是否已存在的方法包括屏幕菜单显示存储单元中同时存储有已显示的字符的使用次数,当要显示一个字符位图时,首先判断该使用次数,当该值不为零时,则屏幕菜单显示存储单元中存在该要显示的字符位图,如该值为零,则屏幕菜单显示存储单元中不存在该要显示的字符位图。
3.如权利要求1所述的方法,其特征是当从屏幕菜单中擦除字符时,同时更新该字符的使用次数。
4.如权利要求1所述的方法,其特征是当一个隐藏式字幕画面需要显示的不同字符个数大于所述屏幕菜单显示存储单元中的最大字符存储数时,则查找该字符对应的其他类型字符是否存在于屏幕菜单显示存储单元中,如果存在则直接调用显示该字符对应的其他类型字符;如果不存在,则调用显示空格。
5.如权利要求1所述的方法,其特征是屏幕菜单显示存储单元中开辟有用于存放已使用过的字符被使用次数的空间,当判断该要显示的字符位图已存在于屏幕菜单显示存储单元中并直接调用时,同时设置该字符显示次数存储单元的次数加1。
6.如权利要求1所述的方法,其特征是屏幕菜单显示存储单元中开辟有用于存放已使用过的字符被使用次数的空间,当加载新的字符位图数据至屏幕菜单显示存储单元中时,设置该字符的使用次数为1,并保存字符存储索引。
7.如权利要求3所述的方法,其特征是所述删除字符的步骤包括检查该字符的使用次数,当使用次数大于1时,该使用次数存储单元的值减1;当使用次数小于或等于1时,设置该使用次数存储单元为0,查找被删除字符的地址索引存储单元,并将该存储单元设为未使用过。
8.如权利要求5或6所述的方法,其特征是所述用于存放已使用过的字符被用过次数的存储单元的相对地址用于表示该字符位图在屏幕菜单显示存储单元中的地址索引;如果存储单元值为0,则表示该存储单元相对地址所对应的屏幕菜单显示存储单元中的存储位置无字符;如该存储单元的存储值不为0,则表示该偏移量指向的屏幕菜单显示存储单元存储位置有字符,且该字符被用过的次数为该单元的存储值。
9.如权利要求4所述的方法,其特征是所述查找优先级由高到底为常规字符、斜体字符、下划线字符、斜体下划线字。
全文摘要
本发明公开一种由屏幕菜单式调节方式实现隐藏式字幕显示的方法,包括如下步骤隐藏式字幕解码器解码隐藏式字幕显示数据;系统判断该要显示的字符位图是否已存在于屏幕菜单显示存储单元中,如果已存在,则直接调用显示;如果不存在,则加载该字符位图数据至屏幕菜单显示存储单元中,进行显示。本发明的方法利用现有只有较小存储空间的OSD存储单元,就可以实现CCD功能,成本低、易实现。
文档编号H04N5/278GK1889648SQ200610021078
公开日2007年1月3日 申请日期2006年5月26日 优先权日2006年5月26日
发明者何国文, 杨颖 , 周方标 申请人:深圳创维-Rgb电子有限公司