CN113326677A - 字幕渲染方法及装置、设备、计算机可读存储介质 - Google Patents
字幕渲染方法及装置、设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113326677A CN113326677A CN202110556251.8A CN202110556251A CN113326677A CN 113326677 A CN113326677 A CN 113326677A CN 202110556251 A CN202110556251 A CN 202110556251A CN 113326677 A CN113326677 A CN 113326677A
- Authority
- CN
- China
- Prior art keywords
- rendered
- word
- typesetting
- subtitle
- font
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000014509 gene expression Effects 0.000 claims abstract description 86
- 230000000694 effects Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了一种字幕渲染方法及装置、设备、计算机可读存储介质。本申请通过根据获取到的待渲染字幕数据,确定待渲染字的排版方式,其中若待渲染字的排版方式为竖向排版,则确定待渲染字对竖写形式的支持情况,若待渲染字对竖写形式予以支持,则获取待渲染字竖写形式的可缩放矢量图形SVG字形表达串,并根据SVG字形表达串,渲染待渲染字;解决了相关技术中字幕渲染准确率低的问题。也即在待渲染字为竖向排版且支持竖写形式时,根据待渲染字对应的SVG字形表达串来对其进行渲染,实现了将待渲染字正确渲染为竖向排版显示效果,避免了因字体文件因素导致的第三方渲染工具始终将可以竖向排版的待渲染字错误地渲染为横向排版显示的现象。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种字幕渲染方法及装置、设备、计算机可读存储介质。
背景技术
随着字幕规范的进一步演变,当前多媒体播放中字幕的重要性越发突出,其中,无论是CEA/EIA608-708标准还是TTML2标准等其他标准,都可以通过字幕渲染模块所依赖的第三方渲染工具进行渲染,以达到字幕所要表达的显示效果。
可以理解的是,字幕的排版方式存在横向排版和竖向排版两种排版方式;其中,在字幕的竖向排版上,除了需要字体文件中存在该形式的排版字形外,还需要字体文件的设计能被第三方渲染工具正确识别与引用;当字体文件设计存在缺陷时,如同一个字的竖写形式和横写形式采用不同的编码数值,或采用相同编码数值但缺少区分二者的字段信息时,都将导致第三方渲染工具无法依照所提供的字体文件渲染出正确的竖向排版显示效果。
因此,如何提升字幕渲染的准确率是亟待解决的问题。
发明内容
本申请的主要目的在于提供一种字幕渲染方法及装置、设备、计算机可读存储介质,旨在解决相关技术中字幕渲染准确率低的问题。
为实现上述目的,本申请提供一种字幕渲染方法,所述字幕渲染方法包括:
获取待渲染字幕数据;
根据所述待渲染字幕数据,确定待渲染字的排版方式;
若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况;
若所述待渲染字对竖写形式予以支持,则获取所述待渲染字竖写形式的可缩放矢量图形SVG字形表达串,并根据所述SVG字形表达串,渲染所述待渲染字。
可选的,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况的步骤,包括:
若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字的编码数值;
根据所述待渲染字的编码数值,判断SVG字体文件中是否包含所述待渲染字;
若包含,则确定所述待渲染字对竖写形式予以支持;
若不包含,则确定所述待渲染字对竖写形式不予支持;
其中,所述SVG字体文件中预置有多个支持竖写形式的字的SVG字形表达串,以及所述支持竖写形式的字在编码字符集中的编码数值。
可选的,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字的编码数值的步骤之前,所述字幕渲染方法还包括:
确定所述待渲染字的字体类型;
根据所述字体类型,确定与所述字体类型对应的所述SVG字体文件。
可选的,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字的编码数值的步骤之前,所述字幕渲染方法还包括:
将TTF字体文件转换为SVG字体中间文件;
从所述SVG字体中间文件中获取所有支持竖写形式的字的SVG字形表达串;
根据所述支持竖写形式的字的SVG字形表达串,以及所述支持竖写形式的字在编码字符集中对应的编码数值,生成所述SVG字体文件。
可选的,所述根据所述待渲染字幕数据,确定待渲染字的排版方式的步骤,包括:
从所述待渲染字幕数据中获取字幕文本信息和字幕排版信息;
根据所述字幕文本信息确定所述待渲染字;
根据所述字幕排版信息确定所述待渲染字的排版方式。
可选的,所述根据所述待渲染字幕数据,确定待渲染字的排版方式的步骤之后,所述字幕渲染方法还包括以下步骤:
若所述待渲染字的排版方式为横向排版,则获取所述待渲染字的TTF字形表达串;
根据所述TTF字形表达串,渲染所述待渲染字。
可选的,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况的步骤之后,所述字幕渲染方法还包括以下步骤:
若所述待渲染字的排版方式为竖向排版,且所述待渲染字对竖写形式不予支持,则获取所述待渲染字的TTF字形表达串;
根据所述TTF字形表达串,渲染所述待渲染字。
可选的,所述若所述待渲染字的排版方式为横向排版,则获取所述待渲染字的TTF字形表达串的步骤,包括:
若所述待渲染字的排版方式为横向排版,则确定所述待渲染字的编码数值;
根据所述待渲染字的编码数值,从TTF字体文件中获取所述待渲染字横写形式的TTF字形表达串;其中,所述TTF字体文件中预置多个支持横向形式和竖向形式的字的TTF字形表达串,以及所述支持横向形式和竖向形式的字在编码字符集中的编码数值。
可选的,所述若所述待渲染字的排版方式为竖向排版,但所述待渲染字对竖写形式不予支持,则获取所述待渲染字的TTF字形表达串的步骤,包括:
若所述待渲染字对竖写形式不予支持,则确定所述待渲染字的编码数值;
根据所述待渲染字的编码数值,从TTF字体文件中获取所述待渲染字竖写形式的TTF字形表达串;其中,所述TTF字体文件中预置多个支持横向形式和竖向形式的字的TTF字形表达串,以及所述支持横向形式和竖向形式的字在编码字符集中的编码数值。
此外,为实现上述目的,本申请还提出一种字幕渲染装置,所述字幕渲染装置包括:
第一获取模块,用于获取待渲染字幕数据;
确定模块,用于根据所述待渲染字幕数据,确定待渲染字的排版方式;
第二获取模块,用于若所述待渲染字的排版方式为竖向排版且支持竖向形式,则获取所述待渲染字竖写形式的可缩放矢量图形SVG字形表达串;
渲染模块,用于根据所述SVG字形表达串,渲染所述待渲染字。
此外,为实现上述目的,本申请还提出一种字幕渲染设备,所述字幕渲染设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的字幕渲染程序,所述字幕渲染程序被所述处理器执行时实现上述所述的字幕渲染方法的步骤。
此外,为实现上述目的,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有字幕渲染程序,所述字幕渲染程序被处理器执行时实现上述所述的字幕渲染方法的步骤。
本申请提供的技术方案,通过获取待渲染字幕数据,并根据获取到的待渲染字幕数据,确定待渲染字的排版方式,其中若待渲染字的排版方式为竖向排版,则确定待渲染字对竖写形式的支持情况,若待渲染字对竖写形式予以支持,则获取待渲染字竖写形式的可缩放矢量图形SVG字形表达串,并根据SVG字形表达串,渲染待渲染字;解决了相关技术中字幕渲染准确率低的问题。也即,本申请提供的技术方案中,是在待渲染字为竖向排版且支持竖写形式时,根据待渲染字对应的SVG字形表达串来对其进行渲染,从而实现了将待渲染字正确渲染为竖向排版显示效果,避免了因字体文件因素导致的第三方渲染工具始终将可以竖向排版的待渲染字错误地渲染为横向排版显示的现象,提升了字幕渲染的准确率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本申请实施例方案涉及的硬件运行环境的字幕渲染设备结构示意图;
图2为本申请字幕渲染方法第一实施例的流程示意图;
图3为本申请字幕渲染方法第二实施例的流程示意图;
图4为本申请字幕渲染方法第三实施例的流程示意图;
图5-1为本申请字幕渲染方法第四实施例的界面示意图一;
图5-2为本申请字幕渲染方法第四实施例的界面示意图二;
图5-3为本申请字幕渲染方法第四实施例的界面示意图三;
图6为本申请字幕渲染装置第一实施例的结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
请参见图1所示,图1为本申请实施例方案涉及的硬件运行环境的字幕渲染设备结构示意图。
字幕渲染设备包括:至少一个处理器101、存储器102以及存储在存储器上并可在处理器上运行的字幕渲染程序,字幕渲染程序配置为实现如下任一实施例的字幕渲染方法的步骤。
处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关字幕渲染方法操作,使得字幕渲染方法模型可以自主训练学习,提高效率和准确度。
存储器102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储字幕渲染设备、闪存存储字幕渲染设备。在一些实施例中,存储器102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本申请中方法实施例提供的字幕渲染方法。
在一些实施例中,字幕渲染设备还可选包括有:通信接口103和至少一个外围设备。处理器101、存储器102和通信接口103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口103相连。具体地,外围设备包括:射频电路104、显示屏105和电源106中的至少一种。
通信接口103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器101和存储器102。在一些实施例中,处理器101、存储器102和通信接口103被集成在同一芯片或电路板上;在一些其他实施例中,处理器101、存储器102和通信接口103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路104通过电磁信号与通信网络以及其他通信字幕渲染设备进行通信。射频电路104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏105是触摸显示屏时,显示屏105还具有采集在显示屏105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器101进行处理。此时,显示屏105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏105可以为一个,字幕渲染设备的前面板;在另一些实施例中,显示屏105可以为至少两个,分别设置在字幕渲染设备的不同表面或呈折叠设计;在一些实施例中,显示屏105可以是柔性显示屏,设置在字幕渲染设备的弯曲表面上或折叠面上。甚至,显示屏105还可以设置成非矩形的不规则图形,也即异形屏。显示屏105可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源106用于为字幕渲染设备中的各个组件进行供电。电源106可以是交流电、直流电、一次性电池或可充电电池。当电源106包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图1中示出的结构并不构成对字幕渲染设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述硬件结构,提出本申请的各实施例。
请参见图2所示,图2为本申请字幕渲染方法第一实施例的流程示意图,字幕渲染方法包括以下步骤:
步骤S201:获取待渲染字幕数据。
本实施例中待渲染字幕数据指的是将字幕渲染出来以显示在显示屏上所涉及的相关数据,可选地,待渲染字幕数据包括但不限于字幕文本信息和字幕排版信息。
其中,字幕文本信息指的是等待渲染的字幕本体,其包括至少一个待渲染字,可选地,待渲染字包括但不限于文字、字母、符号等,文字可以为中文、日文、韩文等。
其中,字幕排版信息指的是等待渲染的字幕的排版方式,也表示为writing-mode,可以理解的是,排版方式包括横向排版和竖向排版两种排版方式;可选地,常见横向排版指的是从左到右,从上到下的横排布局,也表示为lrtb;常见竖向排版指的是从上到下,从右到左的竖排布局,也表示为tbrl。
在一些示例中,可以每隔预设时间段去获取待渲染字幕数据,这样可以节省系统消耗,避免电量浪费等;例如可以每隔20ms去获取待渲染字幕数据,在实际应用中,预设时间段可以根据具体应用场景进行灵活调整。
在一些示例中,可以实时去获取待渲染字幕数据,即无需间隔时间段去获取,这样可以提升获取待渲染字幕数据的即时性,提升渲染效率等。
步骤S202:根据待渲染字幕数据,确定待渲染字的排版方式。
本实施例中,根据待渲染字幕数据,确定待渲染字的排版方式的步骤,可以包括以下步骤:
首先,从待渲染字幕数据中获取字幕文本信息和字幕排版信息;
然后,根据字幕文本信息确定待渲染字;
其次,根据字幕排版信息确定待渲染字的排版方式。
也即,本实施例中步骤S202根据待渲染字幕数据,确定待渲染字的排版方式,具体可以是通过首先从待渲染字幕数据中获取字幕文本信息和字幕排版信息,然后根据字幕文本信息确定待渲染字,再根据字幕排版信息确定待渲染字的排版方式来实现。其中,根据字幕文本信息确定待渲染字的步骤,与根据字幕排版信息确定待渲染字的排版方式的步骤,可以并行执行也可以任意交换顺序执行;在实际应用中,可以根据具体应用场景做灵活调整。
举例说明,例如首先从待渲染字幕数据A中获取到字幕文本信息a1和字幕排版信息a2,然后从字幕文本信息a1中确定出待渲染字为“我下班后立刻回家”这8个待渲染字,再从字幕排版信息a2中确定出8个待渲染字“我下班后立刻回家”的排版方式均为竖向排版。
可以理解的是,本实施例中根据待渲染字幕数据,确定待渲染字的排版方式包含两种情况;其中,第一种情况,根据待渲染字幕数据,确定待渲染字的排版方式为竖向排版,第二种情况,根据待渲染字幕数据,确定待渲染字的排版方式为横向排版。
步骤S203:若待渲染字的排版方式为竖向排版,则确定待渲染字对竖写形式的支持情况。
本实施例中无论根据待渲染字幕数据,确定待渲染字的排版方式为竖向排版还是横向排版,都需要确定待渲染字是否支持竖写形式。
本实施例中,若待渲染字的排版方式为竖向排版,则确定待渲染字对竖写形式的支持情况的步骤,可以包括以下步骤:
首先,若待渲染字的排版方式为竖向排版,则确定待渲染字的编码数值;
然后,
若根据待渲染字的编码数值,从SVG字体文件中查找到待渲染字,则确定待渲染字对竖写形式予以支持;
若根据待渲染字的编码数值,未从SVG字体文件中查找到待渲染字,则确定待渲染字对竖写形式不予支持。
也即,本实施例中步骤S203若待渲染字的排版方式为竖向排版,则确定待渲染字对竖写形式的支持情况,具体可以是通过首先确定待渲染字的编码数值,其中如果根据待渲染字的编码数值,能够从SVG字体文件中查找到待渲染字,则确定待渲染字对竖写形式予以支持,如果根据待渲染字的编码数值,不能从SVG字体文件中查找到待渲染字,则确定待渲染字对竖写形式不予支持来实现。
应当明确的是,本实施例中SVG字体文件中预置有多个支持竖写形式的字的SVG字形表达串,以及支持竖写形式的字在编码字符集中的编码数值。
其中,编码字符集指的是满足国际标准的标准编码字符集,例如编码字符集可以为UTF-8(8位元,Universal Character Set/Unicode Transformation Format),或者可以为Unicode(又称统一码、万国码、单一码)等。可以理解的是,UTF-8是针对Unicode的一种可变长度字符编码,它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改后,便可继续使用。Unicode包括编码字符集、编码方案等,其是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
其中,根据编码字符集对应的编码数值即可确定具体是哪个字符;例如字符“《”,其对应的编码字符集若为UTF-8,则对应的数值为E3808A,其对应的编码字符集若为Unicode,则对应的数值为《。
举例说明,例如确定待渲染字对应的编码数值为k1,则根据待渲染字对应的编码数值k1在SVG字体文件中进行查找,如果查找到编码数值k1,此时则可以确定该待渲染字对竖写形式予以支持,如果没有查找到编码数值k1,此时则可以确定该待渲染字对竖写形式不予支持。
本实施例中,若待渲染字的排版方式为竖向排版,则确定待渲染字的编码数值的步骤之前,字幕渲染方法还可以包括以下步骤:
首先,将TTF字体文件转换为SVG字体中间文件;
然后,从SVG字体中间文件中获取所有支持竖写形式的字的SVG字形表达串;
其次,根据支持竖写形式的字的SVG字形表达串,以及支持竖写形式的字在编码字符集中对应的编码数值,生成SVG字体文件。
也即,本实施例中根据SVG字体文件确定待渲染字对竖写形式的支持情况的步骤之前,还需要先生成SVG字体文件。
在一些示例中,请参见表一所示,为一种示例的SVG字体文件。
表一
在上述表一中,仅示例了两种字形的SVG表达,其中编码字符集为UTF-8,在SVG表达中包含了字形名称glyph-name、unicode以及SVG字形表达串d。
在一些示例中,请参见表二所示,为一种示例的SVG字体文件。
表二
在上述表二中,同样仅示例了两种字形的SVG表达,其中编码字符集为Unicode,在SVG表达中包含了字形名称glyph-name、unicode以及SVG字形表达串d。
其中,本实施例中生成的SVG字体文件还可以包含除支持竖写形式的字的编码字符集对应数值,以及SVG字形表达串之外的其他内容;在实际应用中,SVG字体文件所包含的内容可以根据具体应用场景进行灵活调整。
需要说明的是,本实施例中生成的SVG字体文件所包含的SVG字形集合信息可以导入到对应的项目文件中,从而能够方便渲染模块查找/获取到;也可以通过外部导入的方式,在有外字需要扩展时,直接修改SVG字体文件即可,无需对项目文件本身进行修改,复用度高、可维护性强。
本实施例中,若待渲染字的排版方式为竖向排版,则确定待渲染字的编码数值的步骤之前,字幕渲染方法还可以包括以下步骤:
首先,确定待渲染字的字体类型;
然后,根据字体类型,确定与字体类型对应的SVG字体文件。
可以理解的是,由于不同字体类型对应的SVG字体文件不同;因此,为了提升确定待渲染字对竖写形式的支持情况的准确率,本实施例中根据SVG字体文件确定待渲染字对竖写形式的支持情况的步骤之前,还需要首先确定待渲染字的字体类型,进而根据待渲染字的字体类型确定与该字体类型对应的SVG字体文件;这样在找到正确字体类型对应的SVG字体文件之后,才能根据该正确的SVG字体文件确定出待渲染字对竖写形式的支持情况。
在一些示例中,请参见表三所示,为一种示例的SVG字体文件。
表三
在上述表三中,仅示例了两种字体类型,在实际应用中,字体类型可以根据具体应用场景进行灵活调整;其中可以对应一个SVG字体文件,只需要根据不同字体类型进行划分即可,如上述表三所示;或者可以对应多个SVG字体文件,只需要将相同字体类型的字对应的SVG字形表达串划分为同一个SVG字体文件即可。
本实施例中,通过区分不同字体类型以生成同一个但分类后的SVG字体文件,或以生成不同SVG字体文件,能够使得根据SVG字体文件确定待渲染字对竖写形式的支持情况的效率更高;并且使得不同字体类型的字均能确定出SVG字形表达串,保证了不同字体类型的字的均能够正确渲染为竖向排版显示效果,进一步提升了字幕渲染准确率。
步骤S204:若待渲染字对竖写形式予以支持,则获取待渲染字竖写形式的可缩放矢量图形SVG字形表达串,并根据SVG字形表达串,渲染待渲染字。
本实施例中若待渲染字对竖写形式予以支持,则需要获取待渲染字的可缩放矢量图形SVG(Scalable Vector Graphics,可缩放矢量图形)字形表达串,以便根据该待渲染字的SVG字形表达串来渲染该待渲染字,从而实现将渲染得到的字进行显示。
本实施例中,获取待渲染字竖写形式的可缩放矢量图形SVG字形表达串的步骤,具体可以是通过根据待渲染字的编码数值,从SVG字体文件中查找到待渲染字,并获取对应的SVG字形表达串来实现。
本实施例中,根据SVG字形表达串,渲染待渲染字的步骤,具体可以是字幕渲染模块根据第三方渲染工具skia的drawPath函数来绘制SVG字形表达串,从而得以渲染待渲染字。
本实施例中,通过在获取到待渲染字的排版方式为竖向排版且待渲染字支持竖写形式时,根据SVG字体文件确定待渲染字的SVG字形表达串,进而根据drawPath函数来绘制SVG字形表达串;实现了竖向排版的待渲染字的渲染,避免了竖向排版的待渲染字始终以TTF字体文件为依据,被错误地渲染为横向排版显示的现象,提升了字幕渲染的准确率;并且未对原始TTF字体文件进行修改,不侵犯原始TTF字体文件的版权,渲染逻辑简单、程序复杂度低、易于实现。
基于上述实施例,提出本申请字幕渲染方法第二实施例。
请参见图3所示,图3为本申请字幕渲染方法第二实施例的流程示意图;本实施例中,步骤S202根据待渲染字幕数据,确定待渲染字的排版方式的步骤之后,字幕渲染方法还可以包括以下步骤:
步骤S205:若待渲染字的排版方式为横向排版,则获取待渲染字的TTF字形表达串,并根据TTF字形表达串,渲染待渲染字。
在一些示例中,步骤S205若待渲染字的排版方式为横向排版,则获取待渲染字的TTF字形表达串的步骤,可以包括以下步骤:
首先,若待渲染字的排版方式为横向排版,则确定待渲染字的编码数值;
然后,根据待渲染字的编码数值,从TTF字体文件中获取待渲染字横写形式的TTF字形表达串。
也即,本实施例中步骤S205若待渲染字的排版方式为横向排版,则获取待渲染字的TTF字形表达串,具体可以是通过首先确定待渲染字的编码数值,然后根据待渲染字的编码数值,从TTF字体文件中获取待渲染字横写形式的TTF字形表达串来实现。
应当明确的是,本实施例中的TTF字体文件中预置多个支持横向形式和竖向形式的字的TTF字形表达串,以及支持横向形式和竖向形式的字在编码字符集中的编码数值。
本实施例中,根据TTF字形表达串,渲染待渲染字的步骤,具体可以是字幕渲染模块根据第三方渲染工具skia的drawText函数来绘制TTF字形表达串,从而得以渲染待渲染字。
本实施例中,在获取到待渲染字的排版方式为横向排版时,根据TTF字体文件确定待渲染字的TTF字形表达串,进而根据drawText函数来绘制字符表达串,实现横向排版的待渲染字的渲染,过程简单、便捷。
基于上述实施例,提出本申请字幕渲染方法第三实施例。
请参见图4所示,图4为本申请字幕渲染方法第三实施例的流程示意图;本实施例中,步骤S203若待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况的步骤之后,字幕渲染方法还可以包括以下步骤:
步骤S206:若待渲染字对竖写形式不予支持,则获取待渲染字的TTF字形表达串,并根据TTF字形表达串,渲染待渲染字。
在一些示例中,步骤S206若待渲染字对竖写形式不予支持,则获取待渲染字的TTF字形表达串的步骤,可以包括以下步骤:
首先,若待渲染字对竖写形式不予支持,则确定待渲染字的编码数值;
然后,根据待渲染字的编码数值,从TTF字体文件中获取待渲染字竖写形式的TTF字形表达串。
也即,本实施例中步骤S206若待渲染字的排版方式为竖向排版,但待渲染字对竖写形式不予支持,则获取待渲染字的TTF字形表达串,具体可以是通过首先确定待渲染字的编码数值,然后根据待渲染字的编码数值,从TTF字体文件中获取待渲染字竖写形式的TTF字形表达串来实现。
应当明确的是,本实施例中的TTF字体文件中预置多个支持横向形式和竖向形式的字的TTF字形表达串,以及支持横向形式和竖向形式的字在编码字符集中的编码数值。
本实施例中,根据TTF字形表达串,渲染待渲染字的步骤,具体可以是字幕渲染模块根据第三方渲染工具skia的drawText函数来绘制TTF字形表达串,从而得以渲染待渲染字。
本实施例中,在获取到待渲染字的排版方式为竖向排版,但待渲染字对竖写形式不予支持时,根据TTF字体文件确定待渲染字的TTF字形表达串,进而根据drawText函数来绘制字符表达串,实现竖向排版的待渲染字的渲染,过程简单、便捷。
基于上述实施例,提出本申请字幕渲染方法第四实施例。
本实施例以一个具体示例进行说明,请参见图5-1至图5-3所示。
其中,图5-1至图5-3中获取到的待渲染字幕数据对应的字幕文本信息均为“HELLO”。
而图5-1中获取到的待渲染字幕数据对应的排版信息为“竖向排版”,且“HELLO”中只有“H”支持竖写形式;具体实现可以采用第一实施例中的步骤。
而图5-2中获取到的待渲染字幕数据对应的排版信息为“横向排版”;具体实现可以采用第二实施例中的步骤。
而图5-3中获取到的待渲染字幕数据对应的排版信息为“竖向排版”,且“HELLO”中没有任何一个字母支持竖写形式;具体实现可以采用第三实施例中的步骤。
此外,请参见图6所示,本申请实施例在上述字幕渲染方法的基础上,还提出一种字幕渲染装置,字幕渲染装置包括:
第一获取模块601,用于获取待渲染字幕数据;
确定模块602,用于根据待渲染字幕数据,确定待渲染字的排版方式;
第二获取模块603,用于若待渲染字的排版方式为竖向排版且支持竖向形式,则获取待渲染字竖写形式的可缩放矢量图形SVG字形表达串;
渲染模块604,用于根据SVG字形表达串,渲染待渲染字。
本申请字幕渲染装置还包括其他可选的模块,并采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读存储介质,计算机可读存储介质上存储有字幕渲染程序,字幕渲染程序被处理器执行时实现如上述字幕渲染方法的步骤。
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically EraableProgrammable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本申请各个实施例的方法。
以上仅为本申请的可选实施例,并非因此限制本申请的专利范围,凡是在本申请的发明构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。
Claims (12)
1.一种字幕渲染方法,其特征在于,所述字幕渲染方法包括以下步骤:
获取待渲染字幕数据;
根据所述待渲染字幕数据,确定待渲染字的排版方式;
若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况;
若所述待渲染字对竖写形式予以支持,则获取所述待渲染字竖写形式的可缩放矢量图形SVG字形表达串,并根据所述SVG字形表达串,渲染所述待渲染字。
2.如权利要求1所述的字幕渲染方法,其特征在于,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况的步骤,包括:
若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字的编码数值;
根据所述待渲染字的编码数值,判断SVG字体文件中是否包含所述待渲染字;
若包含,则确定所述待渲染字对竖写形式予以支持;
若不包含,则确定所述待渲染字对竖写形式不予支持;
其中,所述SVG字体文件中预置有多个支持竖写形式的字的SVG字形表达串,以及所述支持竖写形式的字在编码字符集中的编码数值。
3.如权利要求2所述的字幕渲染方法,其特征在于,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字的编码数值的步骤之前,所述字幕渲染方法还包括:
确定所述待渲染字的字体类型;
根据所述字体类型,确定与所述字体类型对应的所述SVG字体文件。
4.如权利要求2所述的字幕渲染方法,其特征在于,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字的编码数值的步骤之前,所述字幕渲染方法还包括:
将TTF字体文件转换为SVG字体中间文件;
从所述SVG字体中间文件中获取所有支持竖写形式的字的SVG字形表达串;
根据所述支持竖写形式的字的SVG字形表达串,以及所述支持竖写形式的字在编码字符集中对应的编码数值,生成所述SVG字体文件。
5.如权利要求1-4中任一项所述的字幕渲染方法,其特征在于,所述根据所述待渲染字幕数据,确定待渲染字的排版方式的步骤,包括:
从所述待渲染字幕数据中获取字幕文本信息和字幕排版信息;
根据所述字幕文本信息确定所述待渲染字;
根据所述字幕排版信息确定所述待渲染字的排版方式。
6.如权利要求1-4中任一项所述的字幕渲染方法,其特征在于,所述根据所述待渲染字幕数据,确定待渲染字的排版方式的步骤之后,所述字幕渲染方法还包括以下步骤:
若所述待渲染字的排版方式为横向排版,则获取所述待渲染字的TTF字形表达串;
根据所述TTF字形表达串,渲染所述待渲染字。
7.如权利要求1-4中任一项所述的字幕渲染方法,其特征在于,所述若所述待渲染字的排版方式为竖向排版,则确定所述待渲染字对竖写形式的支持情况的步骤之后,所述字幕渲染方法还包括以下步骤:
若所述待渲染字对竖写形式不予支持,则获取所述待渲染字的TTF字形表达串;
根据所述TTF字形表达串,渲染所述待渲染字。
8.如权利要求6所述的字幕渲染方法,其特征在于,所述若所述待渲染字的排版方式为横向排版,则获取所述待渲染字的TTF字形表达串的步骤,包括:
若所述待渲染字的排版方式为横向排版,则确定所述待渲染字的编码数值;
根据所述待渲染字的编码数值,从TTF字体文件中获取所述待渲染字横写形式的TTF字形表达串;其中,所述TTF字体文件中预置多个支持横向形式和竖向形式的字的TTF字形表达串,以及所述支持横向形式和竖向形式的字在编码字符集中的编码数值。
9.如权利要求7所述的字幕渲染方法,其特征在于,所述若所述待渲染字对竖写形式不予支持,则获取所述待渲染字的TTF字形表达串的步骤,包括:
若所述待渲染字对竖写形式不予支持,则确定所述待渲染字的编码数值;
根据所述待渲染字的编码数值,从TTF字体文件中获取所述待渲染字竖写形式的TTF字形表达串;其中,所述TTF字体文件中预置多个支持横向形式和竖向形式的字的TTF字形表达串,以及所述支持横向形式和竖向形式的字在编码字符集中的编码数值。
10.一种字幕渲染装置,其特征在于,所述字幕渲染装置包括:
第一获取模块,用于获取待渲染字幕数据;
确定模块,用于根据所述待渲染字幕数据,确定待渲染字的排版方式;
第二获取模块,用于若所述待渲染字的排版方式为竖向排版且支持竖向形式,则获取所述待渲染字竖写形式的可缩放矢量图形SVG字形表达串;
渲染模块,用于根据所述SVG字形表达串,渲染所述待渲染字。
11.一种字幕渲染设备,其特征在于,所述字幕渲染设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行字幕渲染程序,所述字幕渲染程序被所述处理器执行时实现如权利要求1-9中任一项所述的字幕渲染方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有字幕渲染程序,所述字幕渲染程序被处理器执行时实现如权利要求1-9中任一项所述的字幕渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556251.8A CN113326677A (zh) | 2021-05-20 | 2021-05-20 | 字幕渲染方法及装置、设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556251.8A CN113326677A (zh) | 2021-05-20 | 2021-05-20 | 字幕渲染方法及装置、设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326677A true CN113326677A (zh) | 2021-08-31 |
Family
ID=77416367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110556251.8A Pending CN113326677A (zh) | 2021-05-20 | 2021-05-20 | 字幕渲染方法及装置、设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326677A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117236280A (zh) * | 2023-09-13 | 2023-12-15 | 北京饼干科技有限公司 | 竖排文字显示方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050034062A1 (en) * | 2003-06-18 | 2005-02-10 | Bufkin Michael P. | Methods and systems for encoding geographic coordinates and features in a portable document format file |
US20090305743A1 (en) * | 2006-04-10 | 2009-12-10 | Streamezzo | Process for rendering at least one multimedia scene |
US20100232690A1 (en) * | 2007-06-29 | 2010-09-16 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and computer program |
US20120072978A1 (en) * | 2010-09-16 | 2012-03-22 | International Business Machines, Inc. | Desired Font Rendering |
US20150370445A1 (en) * | 2014-06-18 | 2015-12-24 | Vmware, Inc. | Connection paths for application topology |
CN107066440A (zh) * | 2016-12-19 | 2017-08-18 | 广州视源电子科技股份有限公司 | 竖排文本的输入控制方法及系统 |
CN107092585A (zh) * | 2017-04-11 | 2017-08-25 | 王建明 | 基于可缩放矢量图形的蒙古文显示方法及系统 |
US20170249294A1 (en) * | 2014-12-01 | 2017-08-31 | Mototsugu Emori | Image processing device, image processing method, and computer-readable storage medium |
US20170337902A1 (en) * | 2016-05-18 | 2017-11-23 | Blackberry Limited | Variable glyph encoding |
KR20200058754A (ko) * | 2018-11-20 | 2020-05-28 | 그린캣소프트(주) | Svg 포맷을 이용한 폰트 편집 방법, 시스템 및 컴퓨터 판독 가능한 기록매체 |
CN111210496A (zh) * | 2018-11-19 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 一种图片解码方法、装置以及设备 |
US20210124796A1 (en) * | 2019-10-29 | 2021-04-29 | Adobe Inc. | Automatic Generation of Responsive Font Effects Based on Font Elements |
-
2021
- 2021-05-20 CN CN202110556251.8A patent/CN113326677A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050034062A1 (en) * | 2003-06-18 | 2005-02-10 | Bufkin Michael P. | Methods and systems for encoding geographic coordinates and features in a portable document format file |
US20090305743A1 (en) * | 2006-04-10 | 2009-12-10 | Streamezzo | Process for rendering at least one multimedia scene |
US20100232690A1 (en) * | 2007-06-29 | 2010-09-16 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and computer program |
US20120072978A1 (en) * | 2010-09-16 | 2012-03-22 | International Business Machines, Inc. | Desired Font Rendering |
US20150370445A1 (en) * | 2014-06-18 | 2015-12-24 | Vmware, Inc. | Connection paths for application topology |
US20170249294A1 (en) * | 2014-12-01 | 2017-08-31 | Mototsugu Emori | Image processing device, image processing method, and computer-readable storage medium |
US20170337902A1 (en) * | 2016-05-18 | 2017-11-23 | Blackberry Limited | Variable glyph encoding |
CN107066440A (zh) * | 2016-12-19 | 2017-08-18 | 广州视源电子科技股份有限公司 | 竖排文本的输入控制方法及系统 |
CN107092585A (zh) * | 2017-04-11 | 2017-08-25 | 王建明 | 基于可缩放矢量图形的蒙古文显示方法及系统 |
CN111210496A (zh) * | 2018-11-19 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 一种图片解码方法、装置以及设备 |
KR20200058754A (ko) * | 2018-11-20 | 2020-05-28 | 그린캣소프트(주) | Svg 포맷을 이용한 폰트 편집 방법, 시스템 및 컴퓨터 판독 가능한 기록매체 |
US20210124796A1 (en) * | 2019-10-29 | 2021-04-29 | Adobe Inc. | Automatic Generation of Responsive Font Effects Based on Font Elements |
Non-Patent Citations (3)
Title |
---|
任志豪;赖源劲;: "基于SVG的思维导图的系统实现", 现代计算机(专业版), no. 09, 25 March 2016 (2016-03-25) * |
朱笑笑;张丰;杜震洪;刘仁义;余华芬;: "顾及要素空间分布特征的稠疏矢量瓦片构建方法研究", 浙江大学学报(理学版), no. 05, 15 September 2017 (2017-09-15) * |
王克城;杜晓荣;吴正伟;: "SVG渲染引擎设计与实现", 计算机工程与设计, no. 13, 16 July 2008 (2008-07-16) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117236280A (zh) * | 2023-09-13 | 2023-12-15 | 北京饼干科技有限公司 | 竖排文字显示方法及装置 |
CN117236280B (zh) * | 2023-09-13 | 2024-05-24 | 北京饼干科技有限公司 | 竖排文字显示方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11580314B2 (en) | Document translation method and apparatus, storage medium, and electronic device | |
US11954455B2 (en) | Method for translating words in a picture, electronic device, and storage medium | |
CN106776677A (zh) | 文件转换方法、装置及文件传输系统 | |
RU2406142C2 (ru) | Система и способ для сохранения документа в последовательном двоичном формате | |
US11763103B2 (en) | Video translation method and apparatus, storage medium, and electronic device | |
CN106326194A (zh) | 一种应用于文件格式转换场景下的目录生成方法和装置 | |
CN101963954A (zh) | 一种文字显示的方法及装置 | |
CN105956133B (zh) | 智能终端上显示文件的方法及装置 | |
CN111104197A (zh) | 显示语言的切换方法、装置及存储介质 | |
CN113326677A (zh) | 字幕渲染方法及装置、设备、计算机可读存储介质 | |
CN104978045A (zh) | 一种汉字输入方法及装置 | |
CN112910925A (zh) | 域名检测方法、模型训练方法及装置、设备、存储介质 | |
EP2442256A1 (en) | Method of encoding and decoding text on a matrix code symbol | |
CN105320641B (zh) | 一种文本校验方法及用户终端 | |
CN113012683A (zh) | 语音识别方法及装置、设备、计算机可读存储介质 | |
CN115268904A (zh) | 一种用户界面设计文件生成方法、装置、设备及介质 | |
CN106776527B (zh) | 电子书数据的显示方法、装置及终端设备 | |
CN106406561B (zh) | 一种基于发电机组控制器的字库点阵生成方法 | |
CN109614592B (zh) | 文本的处理方法、装置、存储介质和电子设备 | |
CN1310561A (zh) | 字符显示技术 | |
CN111143749A (zh) | 一种网页展示方法、装置、设备及存储介质 | |
CN113038184B (zh) | 数据处理方法、装置、设备及存储介质 | |
EP4195011A1 (en) | Character display method and apparatus, and electronic device and computer-readable storage medium | |
CN104850316B (zh) | 电子图书字体调整方法及装置 | |
CN111460762A (zh) | 一种移动端app文章的无障碍阅读方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |