CN101594480B - 一种字幕数据处理的方法 - Google Patents

一种字幕数据处理的方法 Download PDF

Info

Publication number
CN101594480B
CN101594480B CN 200810113852 CN200810113852A CN101594480B CN 101594480 B CN101594480 B CN 101594480B CN 200810113852 CN200810113852 CN 200810113852 CN 200810113852 A CN200810113852 A CN 200810113852A CN 101594480 B CN101594480 B CN 101594480B
Authority
CN
China
Prior art keywords
data
member variable
character
caption data
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 200810113852
Other languages
English (en)
Other versions
CN101594480A (zh
Inventor
袁慧晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN 200810113852 priority Critical patent/CN101594480B/zh
Publication of CN101594480A publication Critical patent/CN101594480A/zh
Application granted granted Critical
Publication of CN101594480B publication Critical patent/CN101594480B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种字幕数据处理的方法,其特征在于,包括以下步骤:程序中自定义一种数据结构,增加一个成员变量,用所述成员变量记录页码;随后调用API函数得到原始数据;然后将原始数据转换成自定义的数据结构。本发明通过一个成员变量记录页码,不转换成浮点型数据,使得图形信息的数据类型不发生改变、精度不变,也就不会出现因为数值失真造成的渲染错误。而且,所有数据都是整型,运算效率高,可以直接进行相等性的判断。

Description

一种字幕数据处理的方法
技术领域
本发明涉及广播电视领域,尤其涉及一种字幕数据处理的方法。 
背景技术
利用图形图像处理技术可以渲染出具有丰富特效的字幕,如凹凸、光泽等,或者三维字符的渲染,往往需要得到字符的图形矢量信息。对于Win32系统,系统的DLL(Dynamic Link Library,动态链接程序库)提供了相关的API(Application Programming Interface,应用程序接口)。通过调用GetGlyphOutline函数可以获取指定字符的字模,得到显示字符的图形数据。字符的图形数据就是描述字符轮廓曲线的一系列点的集合。 
点的数据结构的定义为: 
typedef struct tagPOINTFX{ 
  FIXED x; 
  FIXED y; 
其中,POINTFX数据点用定点实数结构描述了二维空间上点的x,y方向坐标。FIXED结构的定义为: 
typedef struct_FIXED{ 
  WORD  fract; 
  short value; 
}FIXED; 
FIXED结构中的value代表整数部分范围是-32768~32767,而fract代表小数部分能精确到1/65536。在图文系统中坐标平移等坐标变换是必不可少的,通常将定点实数转换成浮点数以扩大数值范围。float型的单精度浮点数是字长为4个字节共32位的二进制数,数的范围是3.4×10-38E~3.4×10+38E。 double型的双精度浮点数是字长为8个字节共64位的二进制数,数的范围是1.7x10-308E~1.7x10+308E。例如,在超长字幕渲染时,字符之间的相对距离较大,直接在FIXED结构上做坐标平移,很容易造成数据溢出。而转换成浮点数后,能够有效的避免数据溢出。 
在实现本发明的过程中,发明人发现现有技术至少存在以下问题: 
float类型只有7位有效位,保存的是近似值,而不是精确值,有可能源数据在给float赋值后,float保存的值已近失真。例如float a=12345.6789;而实际运行结果往往是12345.67XX。对一个字符,尤其是笔画较多的中文字符,轮廓曲线距离较近,曲线点的坐标要求的精度比较高,失真的数值会造成错误的渲染结果。超长字幕中在大多数编译器的实现中,使用double类型都能获得更高的时间效率和可靠度。然而,double数据结构需要两倍于float、FIXED的存储空间。而且,浮点数不存在0这个数值,这是浮点数的误差问题,在程序实现时不能显式判断浮点数的相等性和不等性。 
发明内容
本发明提供一种字幕数据处理的方法,以实现数据的高效率,以及数据的无失真。 
本发明提供一种字幕数据处理的方法,其特征在于,包括以下步骤: 
调用GetGlyphOutline函数获取指定字符的字模,得到显示字符的图形数据,所述字符的图形数据是描述字符轮廓曲线的一系列点的集合; 
自定义一种数据结构,对原始数据结构进行扩展,所述数据结构增加一个成员变量,用所述成员变量记录页码; 
调用API函数得到原始数据; 
将所述原始数据转换成所述自定义的数据结构。 
所述成员变量记录页码的宽高固定。 
在所述自定义一种数据结构,对原始数据结构进行扩展,所述数据结构增加一个成员变量步骤之前,该方法还包括:通过调用所述API函数得到所述原始数据,所述原始数据将小数部分精确到1/65536,所述原始数据的整数的范围为-32768~32767。 
所述原始数据为字符轮廓曲线的点的数据结构。 
与现有技术相比,本发明具有以下优点: 
本发明中,通过一个成员变量记录页码,不转换成浮点型数据,使得图形信息的数据类型不发生改变、精度不变,也就不会出现因为数值失真造成的渲染错误。而且,所有数据都是整型,运算效率高,可以直接进行相等性的判断。 
附图说明
图1为本发明中的一种字幕数据处理的方法流程图; 
图2为本发明中的一种字幕数据处理的方法另一流程图; 
图3为本发明中的左滚超长字幕的示意图。 
下面结合附图和具体实施例对本发明进行详细介绍。 
具体实施方式
本发明提供了一种字幕数据处理的方法,如图1所示,包括如下步骤: 
步骤S101,程序自定义一种数据结构,增加一个记录页码的成员变量; 
步骤S102,程序调用API函数得到原始数据; 
步骤S103,程序将原始数据转换成自定义的数据结构。 
本发明提供的一种字幕数据处理的方法,如图2所示,包括如下步骤: 
步骤S201,通过调用API函数得到了字符轮廓曲线的点的原始数据,点的数据结构为: 
typedef struct tagPOINTFX{ 
  FIXED x; 
  FIXED y; 
},其中POINTFX数据点用定点实数结构描述了二维空间上点的x,y方向坐标。 
步骤S202,自定义一种数据结构,对原始数据FIXED结构进行扩展,新的FIXEDEx数据结构为: 
typedef struct_FIXEDEx{ 
  WORD  fract; 
  short value; 
  WORD  page; 
}FIXEDEx; 
步骤S203,原始数据表示小数部分的成员变量fract的值直接赋值给自定义结构中表示小数部分的成员变量fract,变量fract将小数的精确到1/65536。 
步骤S204:原始数据表示整数部分的成员变量的值直接赋值给自定义结构中表示整数部分的成员变量,变量value将整数的范围定义为-32768~32767。 
步骤S205:自定义结构中扩展的成员变量page记录页码,其中页码的宽高固定,具体大小根据使用的需要设定。以左滚超长字幕为例,如图3所示:图像中灰色区域为屏幕显示字幕,当内存链表表头的内存块字幕显示完毕,此内存块指针从内存链表表头移除,加入链表尾,内存链表表头指向下一个内存块,更新原表头现表尾内存块的字幕内容。设置记录页码对应页的大小与内存链表中一个内存块存储的图像大小相同,由于页宽有限,同页的字符在页内的坐标平移不会发生数据溢出。 
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。 
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。 

Claims (4)

1.一种字幕数据处理的方法,其特征在于,包括以下步骤:
调用API函数GetGlyphOutline获取指定字符的字模,得到显示字符的字幕数据,所述字符的字幕数据是描述字符轮廓曲线的一系列点的集合;
自定义一种数据结构,具体为:结构体名为FIXEDEx,包含成员变量value、fract和page,所述成员变量value的数据类型是16位整型,所述成员变量fract的数据类型是16位无符号整型,所述成员变量page的数据类型是16位无符号整型,对字符的字幕数据结构进行扩展,所述字符的字幕数据结构增加一个所述成员变量page,用所述成员变量page记录页码;
调用API函数GetGlyphOutline得到所述字符的字幕数据;
所述字符的字幕数据增加所述成员变量记录页码,转换成所述自定义的数据结构,形成新的字幕数据;
其中,所述字符的字幕数据结构中表示小数部分的成员变量fract的值直接赋值给自定义结构中表示小数部分的成员变量;所述字符的字幕数据结构中表示整数部分的成员变量的值直接赋值给自定义结构中表示整数部分的成员变量。
2.如权利要求1所述字幕数据处理的方法,其特征在于,所述成员变量page记录页码,在同一系统中页码对应页的宽高值固定。
3.如权利要求1所述字幕数据处理的方法,其特征在于,在对所述字符的字幕数据结构进行扩展,所述字符的字幕数据结构增加一个所述成员变量page步骤之前,该方法还包括:
通过调用所述API函数GetGlyphOutline得到所述字符的字幕数据,所述字符的字幕数据将小数部分精确到1/65536,所述字符的字幕数据的整数的范围为-32768~32767。
4.如权利要求3所述字幕数据处理的方法,其特征在于,所述字符的字幕数据为字符轮廓曲线的点的数据结构,
其中,点的数据结构定义为:名为POINTFX的结构体,所述结构体包含成员变量x和y,成员变量x和y的数据类型是定点数FIXED结构体,通过所述POINTFX用定点数结构描述了所述字符轮廓曲线上的点在二维空间上的x,y方向坐标;其中,所述FIXED结构体包含成员变量value和fract,所述成员变量value的数据类型是16位整型,所述成员变量fract的数据类型是16位无符号整型。
CN 200810113852 2008-05-30 2008-05-30 一种字幕数据处理的方法 Expired - Fee Related CN101594480B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810113852 CN101594480B (zh) 2008-05-30 2008-05-30 一种字幕数据处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810113852 CN101594480B (zh) 2008-05-30 2008-05-30 一种字幕数据处理的方法

Publications (2)

Publication Number Publication Date
CN101594480A CN101594480A (zh) 2009-12-02
CN101594480B true CN101594480B (zh) 2013-06-05

Family

ID=41408893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810113852 Expired - Fee Related CN101594480B (zh) 2008-05-30 2008-05-30 一种字幕数据处理的方法

Country Status (1)

Country Link
CN (1) CN101594480B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581123B (zh) * 2012-07-20 2018-09-21 南京中兴软件有限责任公司 网络数据的处理方法及装置、网络数据的发布方法及系统
CN110580633B (zh) * 2018-06-08 2021-03-02 北京三快在线科技有限公司 信息的推送方法、装置及服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1388462A (zh) * 2002-03-29 2003-01-01 上海汉峰信息科技有限公司 嵌入式应用以笔划中心线为基准描述的曲线字库

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1388462A (zh) * 2002-03-29 2003-01-01 上海汉峰信息科技有限公司 嵌入式应用以笔划中心线为基准描述的曲线字库

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《TrueType 字体在图形图像处理软件中的应用》;杨建红等;《武汉大学学报(工学版)》;20041231;第37卷(第6期);110-112 *
杨建红等.《TrueType 字体在图形图像处理软件中的应用》.《武汉大学学报(工学版)》.2004,第37卷(第6期),110-112.

Also Published As

Publication number Publication date
CN101594480A (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
CN111090628B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN107807982B (zh) 一种异构数据库的一致性校验方法及装置
CN110008045A (zh) 微服务的聚合方法、装置、设备及存储介质
CN108628898B (zh) 数据入库的方法、装置和设备
CN111666442B (zh) 一种图像检索方法、装置及计算机设备
JP2020123953A (ja) イメージファイルのブロック間の差を利用した圧縮率向上方法およびシステム
CN114610650A (zh) 内存压缩方法、装置、存储介质及电子设备
CN111491169B (zh) 一种数字图像压缩方法、装置、设备、介质
CN101594480B (zh) 一种字幕数据处理的方法
CN110569230A (zh) 数据库设计模型与设计文档互相转换方法、系统及设备
CN105320669A (zh) 数据存储、读取方法及数据存储、读取装置
CN111246249A (zh) 一种图像编码方法、编码装置、解码方法、解码装置及存储介质
CN114722781B (zh) 一种将流式文档转换为ofd文档的方法和装置
CN115904240A (zh) 数据处理方法、装置、电子设备和存储介质
CN113379038A (zh) 数据处理方法和电子设备
CN114238250A (zh) 程序文件压缩方法、装置及电子设备
CN111324587A (zh) Obj文件的数据的压缩方法、解析方法以及系统
CN113504896B (zh) 一种应用程序的业务数据处理方法、装置及移动终端
US7075539B1 (en) Apparatus and method for processing dual format floating-point data in a graphics processing system
CN116320067A (zh) 图像数据的传输方法、装置及计算机设备
CN111639055B (zh) 差分包计算方法、装置、设备及存储介质
CN109446226B (zh) 一种数据集合确定的方法及设备
CN113568578B (zh) 一种图片处理方法、装置、电子设备和可读存储介质
CN116342366A (zh) 稀疏参数的获取方法、装置、电子设备及存储介质
CN111259177B (zh) 一种黑白二值签名图片存储方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130605

Termination date: 20170530