专利名称:实现屏上显示字幕的模块和方法
技术领域:
本发明是一种用于在手机或移动终端上显示字幕的方法与装置,具体是应用于利用软硬件结合处理,以很小的存储代价在液晶(LCD)屏幕上实现高质量卡拉OK,MTV等字幕信息的模块方法与模块。
背景技术:
目前,公知的屏上显示(OSD)技术需要存储需显示内容的全彩信息(24bit),而这样的显示方法对于特殊的应用场合,比如卡拉OK字幕等会造成很大的存贮资源的浪费。同是,公知的屏上显示(OSD)技术所产生的字幕在不同尺寸的应用下,因为只有一种尺寸的字幕,经过缩放会产生比较明显的锯齿或模糊,从而影响质量。
为了减少字幕信息存储资源,本发明利用卡拉OK和MTV字幕的特点,利用2比特表示每一个点的信息,从而可以表示3种特定颜色,以及无色,这样的应用对于卡拉OK和MTV来说已经足够了。同时,本发明为了提高在不同尺寸下的字幕显示质量,预先在字幕文件中存贮按2的步长缩小的几个尺寸的图片,对于特定的显示尺寸,选取最靠近的字幕做缩放操作,从而可以得到高质量的结果。
本发明解决其技术问题所采用的技术方案是对于播放的卡拉OK文件或MTV文件,首先确定播放应用的字幕尺寸,然后选取最靠近该尺寸的预定字幕,利用类似双线性(Bilinear)的缩放方法产生需要的字幕信息。该字幕信息同样是2比特(2bits)每像素(Pixel)。然后,根据该字幕信息,利用寄存器(register)中设定的像素颜色值查找产生最后的字幕。
本发明的有益效果是能够有效的节省缓冲器(Buffer)以及字幕信息的存储资源,从而使系统实现成本大大降低,同时提供不同尺寸的字幕,从而提高系统灵活性和显示质量。
下面结合附图和实施例对本发明进一步说明。
图1是本发明的数据通路原理图。
图2是多尺寸字幕信息在文件中的存放方式。
图3是实现类似双线性(Bilinear)缩放方法的说明示意。
图4是字幕在屏上显示的几何数据示意图。
图5是该模块的算法流程图。
图中1.字幕缩放模块,2.背景图像缓存,3.字幕信息缓存器,4.颜色查找模块,5.控制字幕叠加模块,6.Alpha混合操作。
具体实施例方式
如图1中所示,字幕缩放模块(1)利用背景图像(2)的尺寸选择一种最合适的尺寸,并结合背景尺寸产生合适的字幕信息,具体方法结合图3,图4解释如下字幕信息在文件中存放方式如图2,利用类似金字塔形的尺寸结构,从M×N,M/2×N/2,...M/2K×N/2K。所以共需要存储资源
Σi=0k1/4i*M*N*2bits=(1-1/4k+1)*4/3*M*N*2bits<3/2*M*N*2bits---(1)]]>所以是全彩存储M*N*24bits的1/8的资源。
利用显示图像尺寸P×Q找到最接近的字幕信息,设为M/2L×N/2L。设需要产生的字幕大小为J×R利用如图3所示的类似双线性(Bilinear)插值方法产生新的字幕信息。具体方法是将字幕信息看成图像,然后将目标尺寸大小的图像反投影到原始图上,每一个单元u_out会投影在4个单元中间(u1,u2,u3,u4),如果u_out离u1的水平距离为sx,垂直距离为sy。那么,u_out由以下逻辑得出if sx<=1/2if sy<=1/2u_out=u1;elseu_out=u2;(2)elseif sy<=1/2u_out=u3;elseu_out=u4;模块1产生的字幕信息存储到字幕缓存器(Buffer)中,该缓存器只需要J*R*2比特bits,只是存储全彩图片需要的J*R*24比特bits的1/12的缓存器(Buffer)资源。
下面Alpha混合模块6在空间坐标控制模块5的控制下,如图3所示,从字幕起始行开始,到字幕信息存储器3中取得相应点的字幕信息,利用颜色查找模块4找到相应的颜色值和背景图像做Alpha混合操作。具体算法为设当前点字幕信息值为a(i,j),我们有3种颜色值,分别用Yi,Ui,Vi i=1~3表示亮度和色度信息。Alpha为系统的Alpha混合值。Start_line为字幕起始行,out_y,out_u,out_v为输出图像的亮度和色度信息,in_y,in_u,in_v为输入图像的亮度和色度信息。
For each pixel(s,t)//(s,t)为该像素的坐标位置s>=start_lineif a(s-start_line,t)==0 ∥没有字幕out_y(s,t)=in_y(s,t).
out_u(s,t)=in_u(s,t).
out_v(s,t)=in_v(s,t).
else if a(s-start_line,t)==1∥颜色1out_y(s,t)=alpha*in_y(s,t)+(1-alpha)*Y1(s-start_line,t)out_u(s,t)=alpha*in_u(s,t)+(1-alpha)*U1(s-start_line,t)out_v(s,t)=alpha*in_v(s,t)+(1-alpha)*V1(s-start_line,t)else if a(s-start_line,t)==2∥颜色2out_y(s,t)=alpha*in_y(s,t)+(1-alpha)*Y2(s-start_line,t)out_u(s,t)=alpha*in_u(s,t)+(1-alpha)*U2(s-start_line,t)(3)out_v(s,t)=alpha*in_v(s,t)+(1-alpha)*V2(s-start_line,t)
else if a(s-start_line,t)==3∥颜色3out_y(s,t)=alpha*in_y(s,t)+(1-alpha)*Y3(s-start_line,t)out_u(s,t)=alpha*in_u(s,t)+(1-alpha)*U3(s-start_line,t)out_v(s,t)=alpha*in_v(s,t)+(1-alpha)*V3(s-start_line,t)整个模块的算法流程如图5所示。
综上所述,本发明利用颜色查找模块和多尺寸字幕信息以很小存储资源产生好质量的字幕信息。
权利要求
1.一种屏上显示方法和模块,该模块是将任意尺寸字幕显示在任意尺寸的背景上。
2.根据权利要求1所述的屏上显示模块,其特征是利用2比特表示字幕信息。
3.根据权利要求1所述的屏上显示模块,其特征是利用式(2)所述的缩放字幕的方法产生最后的字幕信息。
4.根据权利要求1所述的屏上显示模块,其特征是有多尺寸字幕信息,并且如图2的金字塔方法存储在存储资源中。
5.根据权利要求1所述的屏上显示模块,其特征是利用式(3)的方法,将2比特信息转换为颜色信息。
全文摘要
一种用于在手机或移动终端上显示字幕的方法与装置,具体是应用于利用软硬件结合处理,以很小的存储代价在液晶(LCD)屏幕上实现高质量卡拉OK,MTV等字幕信息的模块方法与模块。
文档编号H04N5/445GK1787622SQ20051002815
公开日2006年6月14日 申请日期2005年7月26日 优先权日2005年7月26日
发明者罗巍, 杨晓松, 胡健 申请人:智多微电子(上海)有限公司