版面分析方法、阅读辅助设备、电路和介质转让专利

申请号 : CN201910408950.0

文献号 : CN109934210B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓松蔡海蛟冯歆鹏周骥

申请人 : 上海肇观电子科技有限公司

摘要 :

本申请公开一种版面分析方法、阅读辅助设备、电路和介质。所述版面分析方法包括:获得图像中的一个或多个文字行的坐标信息;通过在数据结构中与所述一个或多个文字行的坐标信息对应的区域中设置文字数据,生成与所述图像对应的版面模型,所述文字数据包括表示存在文字的数据;以及对所生成的版面模型进行扫描以读取所述版面模型中的所述文字数据,并且基于所读取的所述文字数据在所述版面模型中的相对位置关系,对所述版面模型进行段落划分。

权利要求 :

1.一种版面分析方法,包括:

获得图像中的一个或多个文字行的坐标信息;

通过在数据结构中与所述一个或多个文字行的坐标信息对应的区域中设置文字数据,生成与所述图像对应的版面模型,所述文字数据包括表示存在文字的数据并且与文字的语义无关;以及对所生成的版面模型进行逐扫描行的扫描以读取所述版面模型中的所述文字数据,并且基于所读取的所述文字数据在所述版面模型中的相对位置关系,对所述版面模型进行段落划分,所述扫描行是在水平方向上贯穿版面模型的数据行。

2.如权利要求1所述的版面分析方法,其中,获得图像中的一个或多个文字行的坐标信息包括:对所述图像进行文字识别,以获得各个文字的坐标信息;

将相邻文字间距小于阈值间距的文字的序列作为文字行;以及

获得包含各个文字行的相应矩形的坐标信息,作为所述一个或多个文字行的相应坐标信息。

3.如权利要求1所述的版面分析方法,其中,与所述一个或多个文字行的坐标信息对应的区域包括:由各文字行的坐标信息确定的区域以及从该文字行的坐标信息在垂直方向上扩展特定距离的区域。

4.如权利要求1所述的版面分析方法,其中,生成与所述图像对应的版面模型还包括:在所述数据结构中与所述图像的非文字区域对应的区域中设置空白数据,所述空白数据是表示不存在文字的数据。

5.如权利要求4所述的版面分析方法,其中,所述文字数据为“1”,所述空白数据为“0”。

6.如权利要求1所述的版面分析方法,其中,对所述版面模型进行段落划分包括:如果相邻前一扫描行中不存在文字数据序列与当前扫描行中的文字数据序列在水平方向上的重叠率大于阈值重叠率,则确定所述当前扫描行中的该文字数据序列属于新段落。

7.如权利要求1所述的版面分析方法,

其中,所述文字数据包含表示文字行的高度的数据,以及

其中,对所述版面模型进行段落划分包括:如果当前扫描行中的文字数据序列的文字数据的值与相邻前一扫描行中的文字数据序列的文字数据的值之间的差大于阈值高度差,则确定所述当前扫描行中的该文字数据序列属于新段落。

8.如权利要求1所述的版面分析方法,其中,对所述版面模型进行段落划分包括:如果当前扫描行中的文字数据序列与相邻前一扫描行中的多个文字数据序列在水平方向上的重叠率均大于阈值重叠率,则确定所述当前扫描行中的该文字数据序列属于新段落。

9.如权利要求1所述的版面分析方法,其中,对所述版面模型进行段落划分包括:如果当前扫描行中存在多个文字数据序列与相邻前一扫描行中的同一文字数据序列在水平方向上的重叠率均大于阈值重叠率,则确定所述当前扫描行中的所述多个文字数据序列分别属于各自的新段落。

10.如权利要求6-9中任一项所述的版面分析方法,其中,确定所述当前扫描行中的文字数据序列属于新段落包括:将所述当前扫描行中的该文字数据序列的坐标信息设置作为所述新段落的坐标信息。

11.如权利要求1所述的版面分析方法,其中,在对所述版面模型进行段落划分过程中,将当前扫描行中的文字数据序列划分到相邻前一扫描行中的文字数据序列所属于的段落的必要条件包括:所述当前扫描行中的文字数据序列与所述相邻前一扫描行中的文字数据序列在水平方向上的重叠率大于阈值重叠率。

12.如权利要求1所述的版面分析方法,

其中,所述文字数据包含表示文字行的高度的数据,以及

其中,在对所述版面模型进行段落划分过程中,将当前扫描行中的文字数据序列划分到相邻前一扫描行中的文字数据序列所属于的段落的必要条件包括:当前扫描行中的文字数据序列的文字数据的值与相邻前一扫描行中的文字数据序列的文字数据的值之间的差不大于阈值高度差。

13.如权利要求11或12所述的版面分析方法,其中,将当前扫描行中的文字数据序列划分到相邻前一扫描行中的文字数据序列所属于的段落包括:基于能够包含当前的所述段落以及所述当前扫描行中的文字数据序列这两者的最小矩形的坐标信息,更新所述段落的当前坐标信息。

14.如权利要求11或12所述的版面分析方法,其中,对所述版面模型进行段落划分还包括:基于能够包含某一段落中的所有文字数据序列的最小矩形的坐标信息,确定该段落的坐标信息。

15.如权利要求1所述的版面分析方法,还包括:将版面模型中通过段落划分而得到的各个段落的坐标信息映射到所述图像中,以获得所述图像中的段落划分。

16.一种芯片电路,包括:

被配置为执行根据权利要求1-15中任一项所述的方法的步骤的电路单元。

17.一种阅读辅助设备,包括:

传感器,被配置为获取图像;以及

如权利要求16所述的芯片电路,所述芯片电路还包括:被配置为对图像进行文字识别以获得文字的电路单元;以及被配置为按照段落划分结果而将逐个段落中的文字转换成声音数据的电路单元;

所述阅读辅助设备还包括声音输出设备,所述声音输出设备被配置为输出所述声音数据。

18.一种电子设备,包括:

处理器;以及

存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-15中任一项所述的方法。

19.如权利要求18所述的电子设备,其中,所述程序还包括在由所述处理器执行时按照段落划分结果而将逐个段落中的文字转换成声音数据的指令。

20.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行根据权利要求1-15中任一项所述的方法。

说明书 :

版面分析方法、阅读辅助设备、电路和介质

技术领域

[0001] 本公开涉及数据处理领域,特别涉及一种版面分析方法、阅读辅助设备、电子设备以及相应的芯片电路和计算机可读存储介质。

背景技术

[0002] 相关技术中存在对图像进行版面分析的技术,例如将图像中的文字进行段落划分而获得多个段落,并将所获得的段落用于后续的处理。这种版面技术可用于电子书的生成以及有声读物的生成等应用中。相关技术中的版面分析技术主要依赖于文字的图像数据或文字的语义信息,利用图像处理、聚类算法或语义分析算法等技术将图像中的文字划分到多个段落中。这类技术通常算法较复杂且计算量较大。
[0003] 在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

发明内容

[0004] 根据本公开的一个方面,提供一种版面分析方法,包括:获得图像中的一个或多个文字行的坐标信息;通过在数据结构中与所述一个或多个文字行的坐标信息对应的区域中设置文字数据,生成与所述图像对应的版面模型,所述文字数据包括表示存在文字的数据;以及对所生成的版面模型进行扫描以读取所述版面模型中的所述文字数据,并且基于所读取的所述文字数据在所述版面模型中的相对位置关系,对所述版面模型进行段落划分。
[0005] 根据本公开的另一个方面,提供一种芯片电路,包括:被配置为执行根据本公开中所述的方法的步骤的电路单元。
[0006] 根据本公开的另一个方面,提供一种阅读辅助设备,包括:传感器,被配置为获取所述图像;如前所述的芯片电路,所述芯片电路还包括:被配置对所述图像进行文字识别以获得文字数据的电路单元;以及被配置为按照段落划分结果而将逐个段落中的文字数据转换成声音数据的电路单元。所述阅读辅助设备还包括声音输出设备,被配置为输出所述声音数据。
[0007] 根据本公开的另一个方面,提供一种电子设备,包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行本公开中所述的方法。
[0008] 根据本公开的另一个方面,提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行本公开中所述的方法。
[0009] 从下面结合附图描述的示例性实施例中,本公开的更多特征和优点将变得清晰。

附图说明

[0010] 附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
[0011] 图1是示出根据本公开的示例性实施例的版面分析方法的流程图;
[0012] 图2是示出根据本公开的示例性实施例的包含文字行的图像及其相应版面模型的例子的示意图;
[0013] 图3是示出根据本公开的示例性实施例的获得文字行的坐标信息的示例性方法的流程图;
[0014] 图4是示出根据本公开的示例性实施例的生成版面模型的示例性方法的流程图;
[0015] 图5是示出根据本公开的示例性实施例的版面模型的数据结构中与文字行的坐标信息对应的区域的例子的示意图;
[0016] 图6是示出根据本公开的示例性实施例的扫描版面模型以进行段落划分的示例性方法的流程图;
[0017] 图7是示出用于例示根据本公开的示例性实施例的段落划分的示例性版面模型的例子的示意图;
[0018] 图8是示出用于例示根据本公开的示例性实施例的两个文字数据序列的重叠率的计算的示意图;
[0019] 图9(a)和图9(b)是示出用于例示根据本公开的示例性实施例的段落划分的示例性版面模型的例子的示意图;
[0020] 图10是用于例示根据本公开的示例性实施例的段落坐标信息更新处理的示意图;
[0021] 图11是示出根据本公开的示例性实施例的阅读辅助设备的结构框图;
[0022] 图12是示出能够应用于示例性实施例的示例性计算设备的结构框图。

具体实施方式

[0023] 在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
[0024] 在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
[0025] 在本公开中,对于图像,“水平”是指基本上平行于文字行(例如,夹角小于45度)的图像边的方向,而“垂直”是指垂直于“水平”的另一图像边的方向。对于版面模型,“水平”是指版面模型的数据结构的行方向,其与图像的“水平”相对应,而“垂直”是指版面模型的数据结构的列方向,其与图像的“垂直”相对应。
[0026] 对本公开的以下描述主要基于文本行相对于读者在基本上左右方向上延伸(即横版读物)的情况,但是本公开的技术方案不限于此,本公开的技术方案也适用于文本行相对于读者在基本上上下方向上延伸(即竖版读物)的情况,即本公开的算法也适用于竖版读物的情况。在文本行在基本上上下方向上延伸的情况下,本公开中的水平方向可意味着基本上上下方向,而垂直方向可意味着基本上左右方向。换言之,本公开中的“水平”、“垂直”等术语并不具有绝对的含义,而是只要其是两种相互垂直的方向即可。在文字行具有基本上为上下方向的情况下,本公开中的“上下”与“左右”方向互换即可。
[0027] 诸如书籍或杂志之类的读物通常会有一定的排版,例如,读物中的内容会被分成不同的段落(例如包括上下的分段和左右的分栏等)。阅读这些读物时,人们通过视觉捕获视野中的图像,通过大脑识别出图像中的段落并阅读段落中的文字。然而,如果是由机器来“阅读”这些读物,则不仅需要对图像中的文字进行文字识别,还要通过一定算法对这些文字进行段落划分,从而能够以正确的段落次序“阅读”读物中的文字。例如,在将纸质书转换成电子书的应用中,或者在将图像中的文字转换成声音信号并输出该声音信号的应用中,可能会用到这种段落划分技术。在本公开中,“段落划分”是指将图像中的文字或版面模型中的文字数据划分为成不同段落。上下的段落划分也可称为分段,而左右的段落划分也可称为分栏。
[0028] 本公开提供了一种段落划分方法,其避免对文字图像直接进行复杂的图像处理,也无需进行语义分析,而是将包含文字的图像转化为模拟图像中的文字分布但结构更为简单的版面模型,其中版面模型中包括的数据例如可不包含语义内容而仅包含代表何处有文字存在的简单数据,进而对该版面模型中的数据进行位置分析以进行段落划分。以下将结合附图对本公开的版面分析方法的示例性实施例进行进一步描述。
[0029] 图1是示出根据本公开的示例性实施例的版面分析方法的流程图。如图1所示,该版面分析方法例如可以包括以下步骤:获得文字行的坐标信息(步骤S101),生成版面模型(步骤S103)以及对版面模型进行扫描以进行段落划分(步骤S105)。
[0030] 在步骤S101中,获得图像中的一个或多个文字行的坐标信息。
[0031] 由于本公开的示例性方法主要采用文字的坐标信息而非文字的原图像本身进行版面分析,因此在此步骤中,从图像中获得文字行的坐标信息,供后续处理使用。
[0032] 所述图像可以是通过图像传感器获取的电子图像数据。根据一些实施例,图像传感器可以设置于用户的可穿戴设备或眼镜等物品上,从而所述图像可以是由该图像传感器拍摄的由用户握持的读物(例如书籍或杂志等)的版面的图像。所述图像可包含文字(可以包括各种国家和地区的文字、数字、字符、标点符号等)、图片等内容。根据一些实施例,所述图像可以是经过了预处理的图像,所述预处理例如可以包括但不限于倾斜校正、模糊去除等等。根据一些实施方式,所述图像可以在被图像传感器获取之后存储在存储设备或存储介质中,并被读出以供处理。
[0033] 所述文字行是指连续的一行文字,其例如可以是水平方向上相邻文字间距小于阈值间距的文字的序列。上述的相邻文字间距例如可以是相邻文字的等位坐标之间的距离,例如相邻文字左上角坐标之间、右下角坐标之间、或质心坐标之间在文字行方向上的距离等。根据一些实施例,如果相邻文字间距不大于所述阈值间距,则可认为所述相邻文字连续,从而将其划分到同一文字行中;而如果相邻文字间距大于所述阈值间距,则可认为所述相邻文字不连续(例如有可能分别属于左右两栏),从而将其划分到不同的文字行中。
[0034] 根据一些实施例,一个文字行的坐标信息可以是包含该文字行的矩形(例如包含该文字行的最小矩形,或者将包含该文字行的最小矩形向上、下、左和/或右膨胀一定倍数后得到的矩形)的坐标信息。文字行的坐标信息例如可以包括所述矩形的四个顶点的坐标信息,所述文字行的坐标信息也可包括所述矩形的任一顶点的坐标信息以及该矩形的高度信息和长度信息。然而,文字行的坐标信息定义不限于此,只要其能够代表文字行占据的空间位置和尺寸即可。
[0035] 根据一些实施例,文字行的坐标信息例如可以从其他机器(例如远程服务器或云计算设备)或其他应用(例如光学文字识别OCR之类的文字识别应用)获得,但也可以在本地应用中通过文字识别处理来获得。
[0036] 图2是示出根据本公开的示例性实施例的包含文字行的图像及其相应版面模型的例子的示意图,其中示出了图像201中的文字行TL1 TL6,以及用虚线框示出了包含图像201~
中各文字行的矩形。
[0037] 在步骤S103中,通过在数据结构中与所述一个或多个文字行的坐标信息对应的区域中设置文字数据,生成与所述图像对应的版面模型。
[0038] 此步骤通过与在前一步骤中获得的文字行对应的区域中设置比文字图像本身更为简单的“文字数据”,从而构建对所述图像中的文字分布进行模拟的版面模型,供后续处理使用。
[0039] 本公开中所称的版面模型是为了对图像中的文字行的位置分布进行模拟而构建的模型,其中各位置的数据与图像中的相应位置的像素构成对应和映射关系。版面模型是通过在数据结构的位置中设置表示图像中的相应位置处存在文字的数据而被构建的。
[0040] 根据一些实施例,所述数据结构可以是存储器(例如,内存、缓存等)中的一个文件,或者是用像素表达的图像,也可以是一个表格或者数据阵列。所述数据结构不限于任何具体的数据结构,只要其中的数据能够对图像中的文字行进行模拟即可。该数据结构的尺寸可以与图像尺寸相同,也可以具有相对于图像尺寸按照比例缩放的尺寸。例如,如果图像具有3840 x 2160的像素尺寸,则该数据结构(以及相应的版面模型)可以与图像具有相同尺寸(即,具有3840 x 2160个像素或数据),可以仅在水平方向上进行缩放(例如,具有1920 x 2160个像素或数据),可以仅在垂直方向上进行缩放(例如,具有3840 x 1080个像素或数据),也可以在水平方向和垂直方向两者上进行缩放(例如,具有1920 x 1080个像素或数据,或具有1280 x 1080个像素或数据)等等。无论数据结构的尺寸与图像尺寸相同或具有相对于图像尺寸按照比例缩放的尺寸,该数据结构的数据或像素均可以与图像的像素按照图像中的区域位置建立对应或映射关系。
[0041] 根据一些实施例,所述文字数据包括表示存在文字的数据,其可以表示与文字的坐标信息对应的区域中是否存在文字,而与文字的语义或内容无关。此外,还可以在所述数据结构中与所述图像的非文字区域对应的区域中设置空白数据,所述空白数据是表示不存在文字的数据。根据一些实施例,所述文字数据例如可以是“1”,所述空白数据例如可以是“0”。然而文字数据不限于“0”和“1”,也可以是任何其他数据,只要能区分在该区域中是否存在文字或文字行即可。
[0042] 根据一些实施例,在版面模型的尺寸相对于图像尺寸有缩放的情况下,版面模型的数据结构中与文字行的坐标信息对应的区域的坐标相对于图像的文字行区域的坐标也可成比例进行缩放。在版面模型的数据结构的尺寸小于图像尺寸的情况下,要将图像中的多个像素根据映射规则映射为版面模型中的一个数据或像素。如果图像中的多个像素既包括文字行中的像素也包括空白区域中的像素,则该映射规则例如可以规定为将所述多个像素映射为文字数据,该映射规则例如也可以规定为将所述多个像素映射为空白数据。作为替换方案,映射规则例如可以包括:如果图像中的多个像素中文字行中的像素数量与空白区域中的像素数量之比不小于一个预定比值,则将所述多个像素映射为文字数据,否则映射为空白数据。作为替换方案,映射规则例如也可以包括:例如如果将N个像素行映射为版面模型中的一个数据或像素行,则每N个像素行中抽取一个像素行并映射为版面模型中的一个数据或像素行。
[0043] 图2所示的例子示出了与图像201对应的版面模型203,可以看出,在版面模型203中与文字行TL1 TL6对应的区域R1 R6中设置了文字数据(此例中为“1”),而其他空白区域~ ~设置了空白数据(此例中为“0”)。能够看出,版面模型203中文字数据的位置布局很好地模拟了图像201中的文字行的位置布局。在版面模型203中,相对于图像201的缩放比例使得版面模型203的数据结构中的一个数据行(像素行)恰好对应于图像201中的一个文字行。然而应理解,在很多实施例中,如果采用其他缩放比例或根本不进行缩放,则可使得通过版面模型203中的多个数据行(像素行)来表示图像201中的一个文字行。例如,图5中示出了通过版面模型503中的2个数据行(像素行)来表示图像501中的一个文字行的例子。作为另一个例子,如果图像201中的文字高度例如为10个像素,则版面模型203中的数据结构也可以用5个或10个数据行(像素行)来表示一个文字行。
[0044] 在步骤S105中,对所生成的版面模型进行扫描以读取所述版面模型中的所述文字数据,并且基于所读取的所述文字数据在所述版面模型中的相对位置关系,对所述版面模型进行段落划分。
[0045] 此步骤通过对前一步骤中获得的版面模型中的数据进行扫描读取,对版面模型中的文字数据进行段落划分。
[0046] 根据一些实施例,扫描可以是对版面模型的数据结构进行逐数据或逐像素的扫描读取。例如,版面模型是与所述图像对应的另一幅图像或数据阵列时,所述扫描例如可以是对于所述另一幅图像或数据阵列的逐行扫描。一个扫描行例如可以是在水平方向上贯穿版面模型的一个数据行或者像素行。一个文字行可能对应多个扫描行,如图5中文字行TL1对应的两个扫描行SL1和SL2所示。一个扫描行也可能会涉及在水平方向上隔开的多个不同的文字行,即可能包含多个文字数据序列。在图2的例子中,版面模型203中的扫描行SL涉及文字行TL1和TL2,即包含区域R1和R2中的相应的文字数据序列。这里,文字数据序列是指连续文字数据的序列(即文字数据之间不存在空白数据),或者相邻文字数据之间的空白数据数量小于阈值的文字数据的序列,此阈值例如可以是若干个文字数据,例如3个文字数据或5个文字数据。在文字数据用“1”表示的情况下,典型的文字数据序列例如可以是连续的“1”的串,如图2和图5所示。
[0047] 通过上述扫描,能够读取所生成的版面模型中的文字数据(及空白数据)的值并分析出其相对位置关系,从而基于这种相对位置关系对版面模型进行段落划分。
[0048] 根据图1所示的方法,由于通过基于包含文字(文字行)的图像生成包含表示某区域中是否存在文字行的简单数据的版面模型,即用包含更简单的信息的版面模型对原图像进行模拟,因此将版面分析问题从复杂的图像处理问题转化成相对简单的位置分析问题,从而可在基本保持版面分析精度的同时显著降低算法复杂度和计算量,减轻计算机分析版面问题时的运算负荷。此外,在版面模型的尺寸相对于图像尺寸有缩小的情况下,则能进一步减小待处理的数据量,从而进一步减轻计算机分析版面问题时的运算负荷。
[0049] 以上已结合图1 2对于本公开的版面分析方法进行了描述。下面将结合图3 10进~ ~
一步详细描述上述步骤S101、S103和S105的示例性实施方式以及其他实施例,其中图3示出步骤S101中的获得文字行的处理的示例性实施例,图4示出步骤S103中的生成版面模型的处理的示例性实施例,图6示出步骤S105中的对版面模型进行扫描以获得段落划分的处理的示例性实施例。需要注意的是,前文中参照图1-2描述的各种定义、实施例、实施方式和例子等也均可适用于之后描述的示例性实施例或与其进行组合。
[0050] 图3是示出根据本公开的示例性实施例的获得文字行的坐标信息的示例性方法的流程图,其可作为前述的步骤S101的一种示例性实施方式,即步骤S101可包含图3中的流程图的步骤。
[0051] 在步骤S301中,对图像进行文字识别,以获得各个文字的坐标信息。相关技术中的诸如光学文字识别(OCR)技术的各种文字识别技术均可用于此步骤中。文字的坐标信息例如可以包括但不限于包含文字的矩形的四个顶点的坐标和/或文字的宽高信息等。任何相关技术中的文字坐标均可作为此处的坐标信息,只要其能够体现文字在图像中的位置以及所占据的区域即可。
[0052] 在步骤S301之后的各步骤中,从图像中的第一个文字开始,基于文字的坐标信息来依次处理各个文字,以获得文字行。
[0053] 在步骤S303中,判断当前处理的文字与前一文字之间的间距是否小于阈值间距。如果不小于该阈值间距(步骤S303,“否”),则确定为当前文字属于新的文字行(步骤S305);
否则(步骤S303,“是”)将当前文字划分到前一文字所属的文字行中(步骤S309)。
[0054] 根据一些实施例,所述阈值间距例如可以根据应用需求(例如语种、字符种类等)来确定,例如可以设为平均文字宽度的特定倍数(例如1.2倍 3.5倍),也可以设为被事先确~定的同一段落中的平均相邻文字间距的特定倍数(例如1.5倍 3.5倍)。但阈值间距的确定~
方法不限于此,只要其能够用来区分相邻文字是否属于相同段落即可。
[0055] 在图2的例子中,阈值间距例如被设置为文字平均宽度的2.5倍。由于文字行TL1中“be”和“as”中的相邻文字“e”和“a”之间的间距小于阈值间距,因此它们被划分到同一文字行TL1中。而由于文字行TL1结尾处的“your”中的“r”和文字行TL2开头处的“A”之间的间距大于阈值间距,因此它们被分别划分到不同文字行TL1和TL2中。
[0056] 在将当前文字划分到前一文字行或新文字行之后,在步骤S311中,判断图像中是否有下一文字,如果有下一文字(步骤S311,“是”),则将该下一文字作为当前文字,并继续通过从步骤S303开始的处理对其进行文字行的划分;如果没有下一文字(步骤S311,“否”),则意味着图像中所有的文字均已被划分到文字行中。
[0057] 根据一些实施例,在步骤S305中确定当前文字属于新的文字行之后,即意味着前一文字是前一文字行中的最后一个文字,因此例如可在步骤S307中将包含前一文字行的矩形的坐标信息作为所述前一文字行的坐标信息。根据另一些实施例,可以不执行步骤S307,而是在步骤S305、S309和S311中将图像中的所有文字均划分到相应文字行中之后,在步骤S313中对于各文字行确定包含该文字行的矩形的坐标信息作为该文字行的坐标信息。根据一些实施例,所述矩形的各边与图像的各边分别平行,即具有水平方向和垂直方向。
[0058] 相关技术中的文字识别算法(例如光学文字识别OCR算法)中存在这样的技术,其能够对图像中的每个文字进行识别并得到该文字的坐标信息,并且还能够确定包含文字行的矩形及其坐标信息。各种文字识别算法中的相关技术都可以应用于此。因而,本公开的技术能够充分利用相关技术中的文字识别算法所能得到的结果,提高算法效率。
[0059] 在一些情况下,图像中的文字行相对于包含该文字行的所述矩形的水平边(其平行于图像的水平边)具有一定倾斜度。在此倾斜度小于阈值倾斜度(例如20度或30度)的情况下,不会对段落划分结果产生实质性的影响。在此倾斜度大于或等于阈值倾斜度的情况下,可以对图像进行预处理以校正文字的倾斜,并基于倾斜校正后的图像进行图3中所述的步骤以及后续处理。根据另一些实施例,在此倾斜度大于或等于阈值倾斜度的情况下,也可以提示用户改善握持读物的姿势以减小图像的倾斜度。
[0060] 图4是示出根据本公开的示例性实施例的生成版面模型的示例性方法的流程图,其可作为前述的步骤S103的一种示例性实施方式,即步骤S103可包含图4中的流程图的步骤。
[0061] 例如根据步骤S101或图3的流程图在获得文字行的坐标信息之后,从图像中的第一个文字行开始逐一处理所获得的各个文字行。
[0062] 在步骤S401中,读取当前文字行的坐标信息。在步骤S403中,确定与当前文字行的坐标信息对应的区域。在步骤S405中,在数据结构中与当前文字行的坐标信息对应的区域中设置文字数据。在步骤S407中,判断是否还是有下一文字行,如果还有下一文字行(步骤S407,“是”),则将下一文字行作为当前文字行,并继续通过从步骤S401开始的处理对其进行文字行的划分;如果没有下一文字行(步骤S407,“否”),则意味着图像中所有的文字行均已被建模到版面模型中。
[0063] 根据一些实施例,所述数据结构中与所述一个或多个文字行的坐标信息对应的区域可以包括数据结构中由各文字行的坐标信息确定的区域。在图像中一个文字行的坐标信息为某一矩形的坐标信息的情况下,在数据结构中与各文字行的坐标信息对应的区域中设置文字数据就意味着在版面模型中相应位置处的矩形中的数据区域或像素区域中设置文字数据。在图2的例子中,在基于文字行TL1 TL6的坐标信息确定的区域R1 R6中设置文字数~ ~
据“1”,以形成图像201的版面模型203。
[0064] 根据一些实施例,所述与所述一个或多个文字行的坐标信息对应的区域不仅包括由各文字行的坐标信息确定的区域,而且还可以包括从该文字行的坐标信息在垂直方向上(例如,向上和/或向下)扩展特定距离的区域。换言之,在步骤S403之前,还可以包括从该文字行的坐标信息在垂直方向上(例如,向上和/或向下)扩展特定距离的步骤。根据一些实施例,所述特定距离取决于图像中在与文字行垂直的方向上相邻的文字行的行距(即,上文字行与相邻下文字行之间的空白的高度)。如果仅向上扩展或仅向下扩展,则该特定距离例如可覆盖同一段落中的上下文字行之间的全部空白,则该特定距离例如可以是图像中的相邻文字行的平均行距的1倍 1.5倍。如果同时向上和向下扩展,则该特定距离例如可覆盖同一~段落中的上下文字行之间的部分空白,则该特定距离例如可以是图像中的相邻文字行的平均行距的0.5倍 0.7倍,从而上文字行和下文字行均进行扩展则能够共同覆盖其间的空白。
~
[0065] 图5是示出根据本公开的示例性实施例的版面模型的数据结构中与文字行的坐标信息对应的区域的例子的示意图。在图5所示的例子中,TL1和TL2是图像501中的两个文字行。根据一些实施例,版面模型503的数据结构中与文字行TL1的坐标信息对应的区域R1包括数据结构中由文字行TL1的坐标信息确定的区域513,对于文字行TL2和区域R2也是类似。
根据另一些实施例,版面模型505的数据结构中与文字行TL1的坐标信息对应的区域R1不仅包括数据结构中由文字行TL1的坐标信息确定的区域513,而且还包括从该文字行TL1的坐标信息向下扩展2个像素行的区域515,对于文字行TL2和区域R2也是类似。
[0066] 可见,通过上述的扩展,如果上下两个文字行在同一段落中,则版面模型的数据结构中与这些文字行的坐标信息对应的区域不仅可以覆盖这些文字行本身,而且还可以覆盖它们之间的行间空白,使得在版面模型中,同一段落中的上下两个相邻文字行的对应文字数据之间不存在空白数据而是能够融为一体,从而有助于简化之后的扫描处理算法。然而这种扩展不是必须的,也可以在之后的扫描处理算法中处理同一段落中的上下两个相邻文字行之间的空白数据。
[0067] 图6是示出根据本公开的示例性实施例的扫描版面模型以进行段落划分的示例性方法的流程图,其可作为前述的步骤S105的一种示例性实施方式,即步骤S105可包含图6中的流程图的步骤。
[0068] 根据图6,例如根据步骤S103或图4的流程图在生成版面模型之后,对版面模型中的数据或像素进行逐行扫描。将参照图7描述图6的流程,图7是示出用于例示根据本公开的示例性实施例的段落划分的示例性版面模型的例子的示意图,其中对版面模型701中的文字数据进行段落划分。图7中用“1”来表示文字数据,并且省略了可能存在的空白数据的图示。
[0069] 在步骤S601中,读取当前扫描行,例如图7中所示的第1扫描行。在步骤S603中判断当前扫描行中是否存在文字数据。如果当前扫描行中存在文字数据(步骤S603,“是”),则进入步骤S605;否则(步骤S603,“否”),判断是否有下一扫描行(步骤S613)。如果在步骤S613中判断有下一扫描行(步骤S613,“是”),则将所述下一扫描行作为当前扫描行,并继续进行从步骤S601开始的处理。如果在步骤S613中判断无下一扫描行(步骤S613,“否”),则判断为已结束对版面模型的扫描。由于图7中的第1扫描行中存在连续的文字数据的序列(即“文字数据序列”)STDS1和STDS2,因此判断为存在文字数据,并进入步骤S605。
[0070] 在步骤605中,对于当前扫描行中的当前文字数据序列(例如,图7中的第1扫描行中的文字数据序列STDS1),判断相邻前一扫描行中是否存在文字数据序列与当前扫描行中的文字数据序列在水平方向上的重叠率大于阈值重叠率(规则(a))。如果存在(步骤S605,“是”),则将当前扫描行的文字数据序列划分到相邻前一扫描行的文字数据序列所属于的段落(步骤S609);如果不存在(步骤S605,“否”),则确定所述当前扫描行中的该文字数据序列属于新段落(步骤S607)。
[0071] 特别地,如果在步骤S605中确定为相邻前一扫描行中不存在文字数据序列与当前扫描行中的文字数据序列的重叠率大于阈值重叠率,则相当于(1)确定为相邻前一扫描行中根本不存在文字数据序列,或者(2)确定为相邻前一扫描行中存在文字数据序列但其与当前扫描行中的当前文字数据序列的重叠率不大于阈值重叠率。(1)的情况意味着相邻前一扫描行是没有文字数据的空白扫描行,则当前扫描行中的当前文字数据序列很可能代表新段落的起始文字数据;而(2)的情况意味着虽然相邻前一扫描行中存在文字数据,但该文字数据序列由于在水平方向上与当前文字数据序列重叠较少,因此当前文字数据序列很可能不属于前一扫描行中的文字数据序列所属于的段落,因而当前文字数据序列很可能属于新段落(例如另一段落或另一栏)。在本公开中,两个文字数据序列在水平方向上重叠意味着这两个文字数据序列在水平方向上的坐标轴上的投影存在共同的部分。
[0072] 根据一些实施例,两个文字数据序列的重叠率可以定义为OVR=max(OVL/L1,OVL/L2),其中max表示括号中较大的数,OVL表示这两个文字数据序列在水平方向上的重叠的长度(例如文字数据个数或像素个数),L1和L2分别表示这两个文字数据序列的长度(例如,文字数据个数或像素个数)。图8是示出两个文字数据序列的重叠率的计算的示意图。在图8的例子中,OVL=12,L1=20,L2=17,因此这两个文字数据序列的重叠率OVR=max(OVL/L1,OVL/L2)=12/17。虽然这里给出了重叠率的概念和计算方法,但应理解,重叠率的概念和计算方法不限于此,只要其能够表达两个栏在水平方向上的重叠状况即可。
[0073] 所述阈值重叠率可以根据具体应用需求来任意预先确定。根据一些实施方式,所述阈值重叠率例如可以设为0.5 0.8中的任意数值。~
[0074] 在步骤S607和S609中确定当前扫描行被划分到相邻前一扫描行中的文字数据序列所属于的段落还是被划分到新段落之后,在步骤S611中判断当前扫描行中是否还有下一个文字数据序列。如果当前扫描行中还有下一个文字数据序列(步骤S611,“是”),则前往步骤S605以继续处理当前扫描行中的下一个文字数据序列。如果当前扫描行中没有下一个文字数据序列(步骤S611,“否”),则意味着当前扫描行中的文字数据序列均已处理完,并且前往步骤S613以判断是否还有下一个扫描行。
[0075] 对于图7的例子,由于第1扫描行不存在相邻前一扫描行,因此确定文字数据序列STDS1属于新段落P1。由于第1扫描行中除了文字数据序列STDS1以外,还有下一个文字数据序列STDS2,因此继续处理文字数据序列STDS2,类似地,确定文字数据序列STDS2属于新段落P2。
[0076] 由于文字数据序列STDS2之后,第1扫描行中不再存在下一个文字数据序列,因此继续处理第2扫描行。由于第2扫描行中的文字数据序列STDS3与相邻前一扫描行即第1扫描行中的文字数据序列STDS1之间的重叠率为1,其大于阈值重叠率(例如,0.75),因此将文字数据序列STDS3划分到文字数据序列STDS1所属于的段落P1中。类似地,将文字数据序列STDS4划分到文字数据序列STDS2所属于的段落P2中,将文字数据序列STDS5划分到文字数据序列STDS3所属于的段落P1中。
[0077] 虽然第4扫描行中的文字数据序列STDS6的相邻前一扫描行即第3扫描行中存在文字数据序列STDS5,但这两个文字数据序列之间的重叠率为0,因此将文字数据序列STDS6划分到新段落P3。
[0078] 第6扫描行中的文字数据序列STDS7的相邻前一扫描行即第5扫描行中不存在文字数据序列,因此将文字数据序列STDS7划分到新段落P4。第7扫描行中的文字数据序列STDS8因其与文字数据序列STDS7的重叠率大于阈值重叠率因而也被划分到段落P4。
[0079] 如上所述,根据图6的流程图中的示例性扫描方法,图7的例子中的版面模型被划分为段落P1 P4。~
[0080] 根据一些实施例,所述文字数据可以包含表示文字行的高度的数据。所述表示文字行的高度的数据例如可以基于某一预设高度(例如但不限于平均文字高度的若干分之一,例如十分之一)进行归一化,并可以进行取整(例如四舍五入或向上取整等)。例如,可以将所述预设高度设为1个像素,则文字行高度为10个像素的文字行的文字数据可以设为10。
根据这样的实施例,可以在步骤S605中增加判断规则(规则(b)):即,如果当前扫描行中的文字数据序列的文字数据的值与相邻前一扫描行中的文字数据序列的文字数据的值之间
的差大于阈值高度差,则确定所述当前扫描行的该文字数据序列属于新段落。换言之,可以在步骤S605中将“当前扫描行中的文字数据序列的文字数据的值与相邻前一扫描行中的文字数据序列的文字数据的值之间的差不大于阈值高度差”这一条件作为将当前扫描行的文字数据序列划分到相邻前一扫描行中的文字数据序列所属于的段落的必要条件。所述阈值高度差可以是预设的像素数,例如3个像素或5个像素等,也可以是一个比值,例如可以是比较对象中较小文字行的高度的若干分之一等等。
[0081] 根据一些实施例,可以在步骤S605中增加判断规则(规则(c)):即,如果当前扫描行中的文字数据序列与相邻前一扫描行中的多个文字数据序列在水平方向上的重叠率均大于阈值重叠率,则确定所述当前扫描行中的该文字数据序列属于新段落。
[0082] 图9(a)是示出用于例示根据本公开的示例性实施例的段落划分的示例性版面模型的例子的示意图,其中示出了文字数据序列STDS1和STDS3被划分到段落P1,且文字数据序列STDS2和STDS4被划分到段落P2。对于第3扫描行中的文字数据序列STDS5,虽然其相邻前一扫描行即第2扫描行中存在重叠率大于阈值重叠率的文字数据序列STDS3和STDS4,但如果考虑前述规则(c),则因为文字数据序列STDS5与第2扫描行中的多个文字数据序列STDS3和STDS4在水平方向上的重叠率均大于阈值重叠率,因此在规则(a)与规则(c)共同作用下,将文字数据序列STDS5划分到新段落P3。
[0083] 根据一些实施例,可以在步骤S605中增加判断规则(规则(d)):即,如果当前扫描行中存在多个文字数据序列与相邻前一扫描行中的同一文字数据序列在水平方向上的重叠率均大于阈值,则确定所述当前扫描行中的所述多个文字数据序列分别属于各自的新段落。
[0084] 图9(b)是示出用于例示根据本公开的示例性实施例的段落划分的示例性版面模型的例子的示意图,其中示出了文字数据序列STDS1和STDS2被划分到段落P1。对于当前扫描行即第3扫描行中的文字数据序列STDS3和STDS4,虽然其相邻前一扫描行即第2扫描行中存在重叠率大于阈值重叠率的文字数据序列STDS2,但如果考虑前述规则(d),则因为第3扫描行中的多个文字数据序列STDS3和STDS4与第2扫描行中的文字数据序列STDS2在水平方向上的重叠率均大于阈值重叠率,因此在规则(a)与规则(d)共同作用下,将文字数据序列STDS3和STDS4分别划分到各自的新段落P2和P3。
[0085] 根据规则(c)和规则(d),如果排版形式发生变化(例如一个扫描行体现出不分栏的排版而相邻扫描行体现出分栏的排版),则可认为不同排版形式的扫描行中的文字数据序列属于不同段落。
[0086] 注意,如果组合使用前述规则(a)(d)中的任何两个或更多个,则组合使用的这些~规则中的每一个均为将当前文字数据序列划分到新段落的充分条件;即任何一个规则成
立,则将当前文字数据序列划分到新段落。换言之,在组合使用这些规则的情况下,仅有在组合使用的规则都不成立的情况下,才将当前文字数据序列划分到相邻前一扫描行中的文字数据序列。通过上述的规则(b)(d)中的任何一个或多个,可以将某些应用场景中虽然紧~
挨在一起但实际上可能分属于不同段落的文字区分开。
[0087] 根据一些实施方式,在步骤S607中确定所述当前扫描行的文字数据序列属于新段落的情况下,可将所述当前扫描行的该文字数据序列的坐标信息设置作为所述新段落的坐标信息。“段落的坐标信息”例如是能够包含该段落中的所有文字数据序列的最小矩形的坐标信息,例如可通过左上坐标(X1,Y1)、右上坐标(X2,Y1)、左下坐标(X1,Y2)和右下坐标(X2,Y2)来表示。例如,可以假设X坐标轴以向右为正方向,Y坐标轴以向下为正方向。然而,使用其他方向的坐标系也可实施本公开的方法,只需按照坐标轴方向相应调整坐标的正负符号即可。如果确定当前文字数据序列属于新段落,则该新段落中当前仅包括所述当前文字数据序列,新段落的左上坐标与左下坐标重叠,右上坐标与右下坐标重叠。如果当前文字数据序列的起点(例如左)坐标和终点(例如右)坐标例如分别为(CX1,CY1)以及(CX2,CY1),则该新段落的坐标信息为:左上坐标(CX1,CY1)、右上坐标(CX2,CY1)、左下坐标(CX1,CY1)和右下坐标(CX2,CY1)。
[0088] 根据一些实施方式,在步骤S609中确定将当前扫描行的文字数据序列划分到相邻前一扫描行中的文字数据序列所属于的段落的情况下,可基于能够包含当前的所述段落以及所述当前扫描行中的文字数据序列这两者的最小矩形的坐标信息,更新所述段落的当前坐标信息。根据一些实施例,假设当前段落具有左上坐标(X1,Y1)、右上坐标(X2,Y1)、左下坐标(X1,Y2)和右下坐标(X2,Y2),当前文字数据序列具有起点坐标(CX1,CY1)和终点坐标(CX2,CY1),则通过包括了当前文字数据序列而更新后的段落的坐标信息应为:左上坐标(min(X1,CX1),Y1)、右上坐标(max(X2,CX2),Y1)、左下坐标(min(X1,CX1),CY1)和右下坐标(max(X2,CX2),CY1),其中min表示取最小值,max表示取最大值。
[0089] 图10是示出用于例示根据本公开的示例性实施例的段落坐标信息更新处理的示例性版面模型的例子的示意图。在图10的例子中,确定将第3扫描行(当前扫描行)的文字数据序列STDS3(当前文字数据序列)划分到第2扫描行(相邻前一扫描行)中的文字数据序列STDS2所属于的段落P1(当前段落)中。在这种情况下,由于段落P1新包括了文字数据序列STDS3,因此可按照上述方式根据文字数据序列STDS3的坐标更新段落P1的坐标。更特别地,可将所述段落P1的当前坐标信息更新为能够包含当前的所述段落P1以及所述当前扫描行
中的文字数据序列STDS3这两者的最小矩形(即矩形P1_UD)的坐标信息。由于本例子中CX1X2,因此更新后的段落P1(即矩形P1_UD)具有如下坐标信息:左上坐标(CX1,Y1)、右上坐标(CX2,Y1)、左下坐标(CX1,CY1)和右下坐标(CX2,CY1)。
[0090] 根据一些实施方式,可以不像上文中那样在每次将一个文字数据序列划分到段落之后生成或更新段落的坐标,而是在将版面模型中的所有文字数据序列都划分到相应段落之后,为各个段落生成段落的坐标信息。在这种情况下,将能够包含一个段落中的所有文字数据序列的最小矩形的坐标信息作为该段落的坐标信息。假设该段落中的所有文字数据序列具有起点坐标(CX1i,CY1i)和终点坐标(CX2i,CY1i),其中i表示该段落中的第i个文字数据序列,则该段落可以具有如下坐标信息:左上坐标(min(CX1i),min(CY1i))、右上坐标(max(CX2i),min(CY1i))、左下坐标(min(CX1i),max(CY1i))和右下坐标(max(CX2i),max(CY1i))。
[0091] 根据图6流程图中的示例性方法,对版面模型扫描结束时,也即能够得到对版面模型的段落划分,算法较简单且计算量较小。
[0092] 虽然附图中没有示出,本公开的方法还可以包括:在完成版面模型的段落划分之后,将版面模型中通过段落划分而得到的各个段落的坐标信息映射到图像中,以获得所述图像中的段落划分。在版面模型的尺寸与图像的尺寸相同的情况下,图像中的段落的坐标信息与版面模型中的段落的坐标信息一致。在版面模型的尺寸与图像的尺寸相比有缩放的情况下,图像中的段落的坐标信息也相对于版面模型中的段落的坐标信息进行相应的反向缩放即可。
[0093] 以上已经结合附图描述了根据本公开的版面分析的示例性方法。在进行版面分析之后,还可以进行后续处理,例如可以结合文字识别结果,按照段落划分结果而将逐个段落中识别出的文字数据转换成声音数据,这可以用于例如与有声读物相关的应用以及视障辅助应用中。
[0094] 本公开的一个方面可包括一种阅读辅助设备。图11是示出根据本公开的示例性实施例的阅读辅助设备的结构框图。如图11所示,所述阅读辅助设备1100包括:传感器1101(例如可实现为摄像头、照相机等),被配置为获取前述的图像(图像例如可以是静态图像或视频图像,图像中可包含文字);以及芯片电路1103,所述芯片电路被配置为执行根据前述任何方法的步骤的电路单元。所述芯片电路还可以包括被配置对所述图像进行文字识别以获得文字数据的电路单元,以及被配置为按照段落划分结果而将逐个段落中的文字数据转换成声音数据的电路单元。所述被配置对所述图像进行文字识别以获得文字数据的电路单元例如可以利用任何文字识别(例如光学文字识别OCR)软件或电路,所述被配置为按照段落划分结果而将逐个段落中的文字数据转换成声音数据的电路单元例如可以利用任何文字语音转换软件或电路。这些电路单元例如可通过ASIC芯片或FPGA芯片来实现。所述阅读辅助设备1100还可以包括声音输出设备1105(例如扬声器、耳机等等),被配置为输出所述声音数据(即语音数据)。
[0095] 本公开的一个方面可包括一种电子设备,该电子设备可包括处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行前述任何方法。根据一些实施例,所述程序还可以包括在由所述处理器执行时按照段落划分结果而将逐个段落中的文字数据转换成声音数据的指令。根据一些实施例,这种电子设备例如可以是阅读辅助设备。根据一些实施例,这种电子设备可以是与阅读辅助设备进行通信的另一设备(例如手机、计算机、服务器等)。在这种电子设备是与阅读辅助设备进行通信的另一设备的情况下,阅读辅助设备可以将拍摄到的图像发送到所述另一设备,由另一设备执行前述任何方法,再将方法的处理结果(例如版面分析结果、文字识别结果、和/或将文字数据转换而成的声音数据等等)返回到阅读辅助设备,并由阅读辅助设备执行之后的处理(例如,将声音数据播放给用户)。
[0096] 根据一些实施方式,所述阅读辅助设备可以被实施为可穿戴设备,例如可以被实施为可作为眼镜形式而被佩戴的设备、头戴式设备(例如头盔或帽子等)、可佩戴在耳朵上的设备、可附接到眼镜(例如眼镜架、眼镜腿等)上的配件、可附接到帽子上的配件等等。
[0097] 借助该阅读辅助设备,视力障碍用户可以与视力正常读者一样,采用类似的阅读姿势即可实现对常规读物(例如书本、杂志等)的“阅读”。在“阅读”过程中,阅读辅助设备按照前述实施例中的方法自动对捕获的版面图像进行段落划分,并依照段落划分后的顺序依次将段落中的文字转化为声音,通过扬声器或耳机等输出装置发出供用户聆听。
[0098] 本公开的一个方面可包括存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行前述任何方法。参照图12,现将描述计算设备2000,其是可以应用于本公开的各方面的硬件设备的示例。计算设备2000可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、智能电话、车载计算机、可穿戴设备或其任何组合。根据一些实施方式,上述的阅读辅助设备或电子设备也可以全部或至少部分地由计算设备2000或类似设备或系统实现。
[0099] 计算设备2000可以包括(可能经由一个或多个接口)与总线2002连接或与总线2002通信的元件。例如,计算设备2000可以包括总线2002、一个或多个处理器2004(其可以用于实施前述的阅读辅助设备所包含的处理器或芯片电路)、一个或多个输入设备2006以及一个或多个输出设备2008。一个或多个处理器2004可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。
输入设备2006可以是能向计算设备2000输入信息的任何类型的设备,并且可以包括但不限于传感器(例如前文所述的获取图像的传感器)、鼠标、键盘、触摸屏、麦克风和/或遥控器。
输出设备2008可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器(例如可用于实施前文所述的输出声音数据的输出设备)、视频/音频输出终端、振动器和/或打印机。计算设备2000还可以包括非暂时性存储设备2010或者与非暂时性存储设备
2010连接,所述非暂时性存储设备(例如可以用于实施前文所述的计算机可读存储介质)可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备2010可以从接口拆卸。非暂时性存储设备2010可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。计算设备2000还可以包括通信设备2012。通信设备2012可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
[0100] 计算设备2000还可以包括工作存储器2014(其可以用于实施前述的阅读辅助设备所包含的存储器),其可以是可以存储对处理器2004的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
[0101] 软件要素(程序)可以位于工作存储器2014中,包括但不限于操作系统2016、一个或多个应用程序2018、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序2018中。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如上述存储设备2010)中,并且在执行时可以被存入工作存储器2014中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
[0102] 在将图12所示的计算设备2000应用于本公开的实施方式时,存储器2014可以存储用于执行本公开的流程图的程序代码和/或待识别的包含文字内容的图像,其中应用2018中可以包括由第三方提供的光学字符识别应用(例如Adobe)、语音转换应用、可编辑文字处理应用等等。输入设备2006可以是传感器用于获取包含文字内容的图像。其中所存储的包含文字内容的图像或者所获取的图像可以被OCR应用处理为包含文字的输出结果,输出设备2008例如是扬声器或耳机用于语音播报,其中处理器2004用于根据存储器2014中的程序代码来执行根据本公开的各方面的方法步骤。
[0103] 还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件(例如上述的芯片电路)。例如,所公开的方法和设备中的一些或全部(例如上述的芯片电路中的各个电路单元)可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C ++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
[0104] 还应该理解,计算设备2000的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算系统2000的其他组件也可以类似地分布。这样,计算设备2000可以被解释为在多个位置执行处理的分布式计算系统。
[0105] 虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。