CN110611817B - 基于文本图像内容的图像压缩 - Google Patents
基于文本图像内容的图像压缩 Download PDFInfo
- Publication number
- CN110611817B CN110611817B CN201910508732.4A CN201910508732A CN110611817B CN 110611817 B CN110611817 B CN 110611817B CN 201910508732 A CN201910508732 A CN 201910508732A CN 110611817 B CN110611817 B CN 110611817B
- Authority
- CN
- China
- Prior art keywords
- image
- text
- compression
- original image
- text string
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
接收包含文本串的原始图像。使用文本识别来确定原始图像中包含的文本串。应用于原始图像的第一压缩级别创建第一压缩图像。使用文本识别来确定第一压缩图像中包含的文本串。将原始图像中包含的文本串与第一压缩图像中包含的文本串进行比较。第一压缩级别递增以达到第二压缩级别。应用于原始图像的第二压缩级别创建第二压缩图像。使用文本识别来确定第二压缩图像中包含的文本串。将原始图像中包含的文本串与第二压缩图像中包含的文本串进行比较。确定不需要进一步图像压缩细化。
Description
背景技术
个人和实体越来越多地可以存储大量图像。存在用于压缩图像以节省存储空间的各种技术,无论是在硬盘驱动器还是其它存储介质上。图像压缩技术包括用于尽可能压缩图像而不损失任何数据的方法和用于以可接受的数据损失水平来压缩图像的方法。通常,用于压缩图像的方法以系统的(systematic)方式应用,诸如将所有图像压缩到原始大小的85%,而不考虑图像的内容。
发明内容
在此公开了用于压缩包含文本的图像同时保持文本可读性的方法、系统和计算机程序产品的实施例。接收包含文本串的原始图像。使用文本识别来确定原始图像中包含的文本串。将第一压缩级别应用于原始图像以创建第一压缩图像。使用文本识别来确定第一压缩图像中包含的文本串。将原始图像中包含的文本串与第一压缩图像中包含的文本串进行比较。基于原始图像中包含的文本串与第一压缩图像中包含的文本串的比较的结果,使用第一压缩增量值递增第一压缩级别以达到第二压缩级别。将第二压缩级别应用于原始图像以创建第二压缩图像。使用文本识别来确定第二压缩图像中包含的文本串。将原始图像中包含的文本串与第二压缩图像中包含的文本串进行比较。基于原始图像中包含的文本串与第二压缩图像中包含的文本串的比较的结果,确定不需要使用第一压缩增量值的进一步图像压缩细化(refinement)。
以上发明内容并非旨在描述本公开的每个所示实施例或每种实施方式。
附图说明
包括在本申请中的附图被并入说明书中并形成说明书的一部分。它们示出了本公开的实施例,并且与说明书一起用于解释本公开的原理。附图仅是对某些实施例的说明,并不限制本公开。
图1描绘了根据本公开的实施例的用于压缩包含文本的图像同时保持文本可读性的示例方法。
图2描绘了根据本公开的实施例的用于压缩包含文本的图像同时保持文本可读性的示例方法的子过程。
图3示出了根据本公开的一些实施例的用户设备的框图。
图4描绘了根据本公开的实施例的云计算环境。
图5描绘了根据本公开的实施例的抽象模型层。
虽然本公开可以进行各种修改和替换形式,但是其细节已经通过附图中的示例示出并且将被详细描述。然而,应该理解,其意图不是将本公开限制于所描述的特定实施例。相反,意图是覆盖落入本公开的精神和范围内的所有修改、等同物和替代物。
具体实施方式
本公开的各方面一般涉及图像压缩,并且更具体地,涉及基于文本图像内容的图像的迭代压缩。虽然本公开不一定限于这些应用,但是通过使用该上下文的各种示例的讨论可以理解本公开的各个方面。
当使用标准技术压缩图像时,通常压缩图像而不考虑图像是否具有风景、肖像、文本或任何其它类型的内容。然而,当观看非文本图像(例如,风景图像)时,由于观看者保持理解与原始图像相比的压缩图像的能力,因此可以接受更高级别的图像压缩。非文本图像的图像压缩可导致近似线性量的值损失(即,进一步压缩的图像可能变得更模糊或随着图像被进一步压缩而逐渐导致图像伪影)。相反,包含文本的图像可能无法被尽量压缩而不使得文本变得难以辨认。另外,当包含文本的图像被压缩到文本变得难以辨认的程度时,图像可能突然失去其值的全部(或大部分)。然而,包含文本的图像的压缩可以类似地以近似线性量的值损失进行(即,文本可能变得更模糊或者更难以阅读而又仍然可辨认),直到难以辨认的程度。
本公开的实施例包括图像压缩应用程序。图像压缩应用程序可以接收包含文本的原始图像。可以分析原始图像以确定图像内包含的文本。图像压缩应用程序可以确定要尝试的初始压缩级别和用于调节压缩级别的第一压缩增量。可以使用图像压缩技术将压缩级别应用于原始图像。图像压缩应用程序可以分析压缩图像以确定压缩图像内包含的文本,并将该文本与原始图像中的文本进行比较。基于该比较,图像压缩应用程序可以确定是否需要细化压缩级别。在具有高起始压缩水平的实施例中,如果图像被过量压缩则会发生这种情况,而在具有低起始压缩水平的实施例中,这可能在图像未被足够压缩时发生。如果需要细化,图像压缩应用程序可以增加压缩级别,应用新的压缩级别,并分析新的压缩图像。一旦确定不需要细化,图像压缩应用程序就可以完成压缩图像。
与已知解决方案相比,本公开提供了益处,包括:可以将包含文本的图像压缩到一定级别,以使得图像内的文本在压缩到适当程度时保持可读。这可以平衡图像文件大小与图像质量的竞争利益。在此描述的实施例使系统能够更有效地使用资源,诸如用于通过压缩图像来发送包含文本的图像的存储器存储空间和带宽,同时还使系统能够保留图像中的可辨认文本。这些改进和/或优点是示例优点的非详尽列表。存在本公开的实施例,其可以不包含前述优点和/或改进,或者包含前述优点和/或改进的部分或全部。
现在参考图1,描绘了根据本公开的实施例的用于压缩包含文本的图像同时保持文本可读性的示例方法100。方法100可以包括比所描绘的动作更多或更少的动作。方法100可以包括具有与所描绘的顺序不同的顺序的动作。在一些实施例中,可以使用运行图像压缩应用程序的用户设备(诸如图3中描绘的用户设备300)来执行方法100。在一些实施例中,方法100可以由使用图像压缩应用程序的图像压缩服务操作的一个或多个设备(包括由利用云计算技术的设备(诸如图4和图5中所示))来执行。在一些实施例中,方法100可以使用硬件设备来代替应用程序或者除了应用程序之外还使用硬件设备来实现。在以下讨论中,方法100将被描述为由图像压缩应用程序执行,但是本公开不限于此。
从开始102起,图像压缩应用程序在104处接收包含文本的原始图像。图像压缩应用程序可以一次接收多于一个的图像,并且在一些实施例中,可以针对接收的每个这种图像同时或顺序地执行方法100。在一些实施例中,用户可以向图像压缩应用程序提供多于一个的图像,并使图像压缩应用程序在它们中的一个上执行方法100,并将相同的压缩级别应用于其余图像。这可能发生在所有提供的图像相似或具有相似质量的情况下,使得相似的最终压缩级别对于所有图像都是足够的。图像压缩应用程序还可以接收不包含文本的图像。在一些实施例中,图像压缩应用程序可以执行初始分析以确定图像是否包含文本。在一些实施例中,用户可以选择要输入到图像压缩应用程序中的包含文本的图像。
在106处,图像压缩应用程序确定原始图像中包含的文本的内容。这可以使用光学字符识别(OCR)或用于识别文本的各种传统方法来执行。在图像压缩应用程序接收图像而不管它们是否包含文本并且执行分析以确定图像是否包含文本的实施例中,该操作可以与操作104组合。可以使用除方法100之外的技术丢弃或压缩任何不包含文本或不包含图像压缩应用程序可识别的文本的图像。图像压缩应用程序可以通过结合另一程序或功能来执行操作106,以确定原始图像中包含的文本的内容。诸如通过将文本存储在名为文本_原始的变量中(或任何其它命名变量或使用用于保存文本的任何其它手段),可以保存所确定的内容。例如,可以对具有路牌的道路的图像执行操作106,并且确定图像包含文本“52号公路北”。作为第二示例,可以对具有印刷文本的T恤的图像执行操作106,并确定图像包含文本“救生员”。
在一些实施例中,图像中包含的文本可以简单地指代字母数字字符。在其它实施例中,图像压缩应用程序可以确定附加符号,诸如和号(&)、百分比(%)等。在一些实施例中,图像压缩应用程序可以确定诸如表情图示或表情符号的符号。
在一些实施例中,图像压缩应用程序可以使用阈值数量的文本字符或文本字,使得仅在达到或超过阈值时才执行方法100。这可以防止在具有少量文本的图像上运行多个图像压缩迭代,这可以指示文本不是图像的焦点。在一些实施例中,用户可以覆写这种阈值并使用图像压缩应用程序对具有低于阈值数量的文本量的图像执行方法100。
在108处,图像压缩应用程序确定要应用的初始压缩级别。各种图像压缩技术以0到100的比例对图像应用压缩级别,其中0对应于极度压缩的图像,100对应于没有任何压缩的图像。从0到100的比例可以但不一定将压缩图像的文件大小称为原始文件大小的百分比。替代技术使用不同的范围,诸如1到12。在实施例中可以存在非数字压缩级别,诸如其中压缩级别由如“低”、“中”和“高”的字指定。图像压缩应用程序可以使用任何传统的图像压缩技术,并且要应用的初始压缩级别的确定可以取决于压缩级别的比例或其它标识符。在压缩级别在0到100的范围内的实施例中,可以在该范围内(包括端点)选择初始压缩级别,诸如初始压缩级别50。
一个或多个原始图像的初始压缩级别可以由图像压缩应用程序的用户确定,或者可以基于原始图像的一个或多个特性动态地确定。例如,较大或较高分辨率的原始图像可能相比于较小或较低分辨率的图像能够进一步压缩。因此,在使用数值压缩级别(其中数字越小,压缩越多)的一些实施例中,对于较大或较高分辨率的原始图像,图像压缩应用程序可以以较低的初始压缩级别开始,并且对于较小或较低分辨率的原始图像,图像压缩应用程序可以以较高的初始压缩级别开始。在一些实施例中,除非由用户调节,否则图像压缩应用程序可以使用默认初始压缩级别(无论是0、50还是任何其它数字)。
在一些实施例中,可以以低初始压缩级别数字开始使用方法100,并且在这导致过度压缩的图像的情况下,向上递增压缩级别数字,使得稍后的尝试产生压缩更少的图像。在其它实施例中,方法100可以以高初始压缩级别(包括指示没有压缩的如100的值)开始使用,并且向下递增压缩级别数字,使得稍后的尝试产生压缩更多的图像。
在110处,图像压缩应用程序确定第一压缩增量值。当压缩图像的第一次尝试不产生最终图像时(例如,所得图像压缩太多以至于文本不可读)可以使用第一压缩增量值,并且压缩级别可以向上或向下递增(诸如,采用负的第一压缩增量值)到新的压缩级别。在压缩级别从0到100的实施例中,示例第一压缩增量值可以是10。在初始压缩级别为50且第一压缩增量值为10的示例中,在图像压缩应用程序尝试以50来压缩之后,它可以尝试以60来压缩,然后以70来压缩等。在具有范围从1到12的压缩级别的实施例中,示例第一压缩增量值可以是1,使得压缩级别每次递增时改变1。
在一些实施例中,图像压缩应用程序的用户可以确定一个或多个原始图像的第一压缩增量值。较小的第一压缩增量值可导致图像压缩应用程序在图像压缩达到最终压缩级别之前尝试图像压缩更多次,并因此采用附加的时间和/或计算资源,但可达到更精确的压缩级别。在一些实施例中,图像压缩应用程序可以基于可用计算资源动态地确定用于一个或多个原始图像的第一压缩增量值,当存在足够可用资源时选择较小值,并且当存在较少可用资源时,诸如当许多其它进程同时运行时,选择较高值。在一些实施例中,除非由用户调节,否则图像压缩应用程序可以使用默认的第一压缩增量值(1、10或任何其它数字)。
使用初始压缩级别和第一压缩增量值,可以由图像压缩应用程序得到并使用公式C=X+Y*I。在该公式中,C是要应用的压缩级别,X是初始压缩级别,Y是增量数,并且I是第一压缩增量值。使用该公式,每次增量数改变时,要应用的压缩级别改变。总的来说,初始压缩级别和第一压缩增量值可以称为压缩参数。
在112处,图像压缩应用程序使用压缩级别来应用压缩。方法100第一次到达操作112时,要应用的压缩级别是初始压缩级别。当方法100从操作120到达操作112时,增量值将是非零数,并且可以使用上面的公式确定要应用的新压缩级别。在各种实施例中,图像压缩应用程序可以使用各种传统或新颖的图像压缩技术。
在114处,图像压缩应用程序确定包含在由操作112产生的压缩图像中的文本。这可以与操作106类似地发生,包括使用OCR或其它文本识别技术,但是应用于压缩图像而不是原始图像。诸如通过将文本存储在名为文本_压缩_到_“C”或文本_迭代#的变量中,可以保存所确定的内容,在该文本_压缩_到_“C”中,C对应于112中应用的压缩级别,在该文本迭代#中,#被替换为每次应用压缩时递增1的迭代次数(或任何其它命名变量或使用用于保存文本的任何其它手段)。
在116处,图像压缩应用程序将在114处确定的压缩图像中包含的文本与在106处确定的原始图像中包含的文本进行比较。这可以通过将保存到诸如文本_压缩_到_50的变量的文本串与保存到诸如文本_原始的变量的文本串进行比较来完成。在一些实施例中,该比较可以得出相同或不同的结论。在其它实施例中,该比较还可以包括确定文本之间有多少差异。例如,如果原始文本是“Highway 52North”,而压缩图像文本是“HighwayS2N0rth”,则图像压缩应用程序可以确定文本串不相同,并且在一些实施例中,确定文本串之间存在2个差异(在该示例中,原始数字“5”在压缩图像中被读作字母“S”,而字母“o”被读作数字“0”)。在包括确定文本之间有多少差异的实施例中,图像压缩应用程序可以在比较文本时使用可接受的差异数量的阈值(例如,阈值1可以指示:仅当存在2个或更多个差异时才需要细化,但是1个差异是可接受的)。
在118处,图像压缩应用程序确定是否需要使用第一压缩增量的细化。该确定可以在实施例中变化。在具有低初始压缩级别(导致高度压缩的图像)的实施例中,当压缩图像中的文本与原始图像不相同时(或者存在不可接受的差异数量的情况下),可能需要细化。在一些实施例中,用户可能可以指定需要细化。在具有高初始压缩水平的实施例中(导致图像没有太多压缩),当压缩图像中的文本与原始图像相同时(或者差异数量不是不可接受的),可能需要细化。在这种实施例中,图像压缩应用程序可以继续将压缩级别细化到更低级别(压缩更多的图像)以节省空间。最终在这种实施例中,可以进行细化直到压缩图像中的文本不再与原始图像相同(或者存在不可接受的差异数量的情况),并且图像压缩应用程序可以确定其中文本相同(或者存在不可接受的差异数量之前)的最后压缩级别是所需的压缩级别。
如果图像压缩应用程序在118处确定需要细化,则方法100进行到120,其中压缩级别递增第一压缩增量值。例如,如果在112处应用初始压缩级别50(在0到100的比例上),但是导致具有与原始图像不同的文本的压缩图像,并且第一压缩增量值为10,则在120处,压缩级别可以在方法100返回到112之前递增到60以应用新的压缩级别。该循环可以继续,直到图像压缩应用程序使用导致具有相同文本(或具有可接受的差异量)的图像的压缩级别为止。
在图像压缩应用程序在118处确定不需要细化之后(无论这发生在方法100第一次到达118时或在一些细化已经发生之后),方法100前进到122。在122处,图像压缩应用程序完成压缩图像。这可以在实施例中变化。在具有低初始压缩级别(例如,压缩更多)的实施例中,初始压缩值可能导致不相同的文本或不可接受的差异数量。在这种实施例中,后续迭代以递增的方式减少压缩量(例如,将数量从50增加到60而不是从50减少到40),直到达到产生与原始相同的文本或可接受的差异数量的压缩水平为止。在这种实施例中,完成压缩图像包括使用第一良好压缩值。如在此所用,良好的压缩值是导致文本与原始相同或可接受的差异数量的值。在实施例中,这可以涉及覆盖原始图像或保存由第一良好压缩值产生的压缩图像的副本。
在具有高初始压缩级别并且通过向下递增压缩级别而发生任何细化直到达到其中文本不再相同(或者达到不可接受的差异数量)的压缩级别的实施例中,完成压缩图像可以包括确定最后的良好压缩值。最后的良好压缩值可以是在文本差异发生或者达到不可接受的数量之前的一次迭代使用的压缩值。由最后的良好压缩值产生的压缩图像可以被保存为压缩图像。在一些实施例中,操作122可以包括如关于图2所讨论的压缩级别的进一步细化。在122处完成压缩图像之后,方法100在124处结束。
现在参考图2,描绘了根据本公开的实施例的用于压缩包含文本的图像同时保持文本可读性的示例方法的子过程200。子过程200可以包括比所描绘的动作更多或更少的动作。子过程200可以包括具有与所描绘的顺序不同的顺序的动作。在一些实施例中,可以使用运行图像压缩应用程序的用户设备(诸如图3中描绘的用户设备300)来执行子过程200。在一些实施例中,子过程200可以由使用图像压缩应用程序的图像压缩服务操作的一个或多个设备来执行,包括利用云计算技术的设备(诸如图4和图5中所示)。在一些实施例中,可以使用硬件设备而不是应用程序来实现子过程200。在以下讨论中,子过程200将被描述为由图像压缩应用程序执行,但是本公开不限于此。在一些实施例中,子过程200可以是方法100的操作122的一部分或可以替换方法100的操作122。
从开始202起,图像压缩应用程序可以在204处确定图像的先前压缩级别。当子过程200作为方法100的操作122的一部分发生时,这将在图像压缩应用程序将一个或多个压缩级别应用于图像并且在118处确定不需要使用第一压缩增量的细化之后发生。在204处,图像压缩应用程序可以确定在导致118处的确定的级别之前图像压缩应用程序尝试的压缩级别。例如,图像压缩应用程序尝试在初始压缩级别50处压缩图像,确定原始图像和压缩图像的文本之间存在差异,在级别60处并且然后再次在级别70处尝试压缩,在级别70处,文本是相同的并且确定不需要使用第一压缩增量的进一步细化。在该示例中,先前的压缩级别将为60,因为它是使用第一压缩增量的最后压缩级别,在该压缩级别处确定仍需要细化。
在206处,图像压缩应用程序确定第二压缩增量值。第二压缩增量值应该小于第一压缩增量值,但是可以以其它方式类似于第一压缩增量值来确定,如上面关于图1的操作110所讨论的。继续前面的示例,第一压缩增量为10(导致在50之后压缩级别为60和70),并且图像压缩应用程序可以基于用户输入或可用计算资源的确定将第二压缩增量值确定为2。
在208处,图像压缩应用程序采用第二压缩增量值递增先前的压缩级别。这可以类似于上面关于图1的操作120所讨论的那样发生。继续该示例,先前的压缩级别60可以递增到62。
在210处,图像压缩应用程序使用压缩级别来应用压缩。这可以类似于上面关于图1的操作112所讨论的那样发生。
在212处,图像压缩应用程序确定压缩图像中包含的文本。这可以类似于上面关于图1的操作114所讨论的那样发生。
在214处,图像压缩应用程序比较在压缩图像与原始图像中确定的文本。这可以类似于上面关于图1的操作116所讨论的那样发生。
在216处,图像压缩应用程序确定是否需要使用第二压缩增量值的细化。这可以类似于上面关于图1的操作118所讨论的那样发生。通过使用(较小的)第二压缩增量值再次迭代地递增,图像压缩应用程序最终可以达到比仅使用更大的第一压缩增量可能的更精确的压缩级别。继续该示例,方法200可以确定在达到压缩级别64之后不再需要细化,其允许相比于使用示例的更大第一压缩增量10确定的压缩级别70的进一步压缩。使用第三或随后的更小压缩增量的进一步迭代也是可能的。
在确定不需要使用第二压缩增量值的细化之后,可以在218处完成压缩图像,其可以包括以适当的压缩级别来保存图像,类似于上面关于图1的操作122所废弃的(disused)。在218处完成压缩图像之后,子过程200在220处结束。
现在参考图3,示出了根据本公开的一些实施例的用户设备300的框图。在一些实施例中,如上所述,用户设备300执行根据图1和/或图2的操作。用户设备300可以包括一个或多个处理器305(在此也称为CPU 305)、可以耦接到一个或多个I/O设备312的I/O设备接口310、网络接口315、互连(例如,总线)320、存储器330和存储装置340。
在一些实施例中,每个CPU 305可以检索并执行存储在存储器330或存储装置340中的编程指令。互连320可以用于在CPU 305、I/O设备接口310、网络接口315、存储器330和存储装置340之间移动诸如编程指令的数据。可以使用一个或多个总线来实现互连320。通常包括存储器330以代表随机存取存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM),或闪存)。
在一些实施例中,存储器330可以是模块的形式(例如,双列直插式存储器模块)。通常包括存储装置340以代表非易失性存储器,诸如硬盘驱动器、固态设备(SSD)、可移动存储卡、光存储装置或闪存设备。在替代实施例中,存储装置340可以由存储区域网络(SAN)设备、云,或经由I/O设备312连接到用户设备300或经由网络接口315连接到网络350的其它设备代替。
在各种实施例中,CPU 305可以是单CPU、多CPU、具有多处理核的单CPU,或者具有多处理核中的一个或多个的多CPU。在一些实施例中,处理器305可以是数字信号处理器(DSP)。CPU 305可以另外包括一个或多个存储器缓冲器或高速缓存(未示出),其为CPU 305提供指令和数据的临时存储。CPU 305可以包括被配置为执行与本公开的实施例一致的一个或多个方法的一个或多个电路。
用户设备300的存储器330包括文本识别指令332和图像压缩应用程序334。文本识别指令332是用于从包含文本的图像中提取文本并将提取的文本作为变量保存在文本文件中或者以其它方式保存文本的指令。文本识别指令332可以是传统的文本识别程序或指令,诸如光学字符识别程序或指令。文本识别指令332可以包括用于识别字母数字字符、符号、表情图示、表情符号或任何类似符号的指令。
图像压缩应用程序334可以是执行图1的方法100和/或图2的子过程200的应用程序。图像压缩应用程序334可以包括用于迭代地尝试图像压缩并将压缩图像中包含的文本与原始图像中包含的文本进行比较以实现包含与原始图像相同的文本的压缩图像的指令。图像压缩应用程序334可以包括用于执行图像压缩的指令和/或用于访问或实现可以这样做的指令的指令。
存储装置340包含原始图像342、压缩图像344和压缩参数346。原始图像342可以是包含文本的图像,其由用户输入到图像压缩应用程序以进行压缩。
压缩图像344可以是诸如根据图1的方法100和在图2的子过程200的一些情况下通过使用图像压缩应用程序334在一个或多个原始图像342上获得的图像。可以针对每个原始图像存在一个或多个压缩图像344,诸如在初始压缩级别获得的压缩图像和以递增的压缩级别获得的一个或多个压缩图像。
压缩参数346可以是图像压缩应用程序334使用的参数。压缩参数346可以包括初始压缩级别,其可以是图像压缩应用程序334所使用的可能压缩级别范围内的压缩级别(诸如但不限于,在0到100的范围内的初始压缩级别45)。压缩参数346可以包括一个或多个压缩增量值,用于递增压缩级别以迭代地将更高或更低的压缩级别应用于图像。
在如上所讨论的一些实施例中,存储器330存储文本识别指令332和图像压缩应用程序334,并且存储装置340存储原始图像342、压缩图像344和压缩参数346。然而,在各种实施例中,文本识别指令332、图像压缩应用程序334、原始图像342、压缩图像344,和压缩参数346中的每一个部分地存储在存储器330中并且部分地存储在存储装置340中,或者它们完全存储在存储器330中或完全存储在存储装置340中,或者它们经由网络接口315通过网络350访问。
在各种实施例中,I/O设备312可以包括能够呈现信息和接收输入的接口。例如,I/O设备312可以从用户接收输入并向用户和/或与用户设备300交互的设备呈现信息。
网络350可以(经由物理或无线连接)将用户设备300与其它网络和/或与用户设备交互的一个或多个设备连接。
整个用户设备300中的逻辑模块-包括但不限于存储器330、CPU 305,和I/O设备接口310-可以将故障和对一个或多个组件的改变传送到管理程序或操作系统(未示出)。管理程序或操作系统可以分配用户设备300中可用的各种资源,并跟踪存储器330中的数据的位置以及分配给各种CPU305的进程。在组合或重新排列元件的实施例中,可以组合或重新分配逻辑模块的方面和能力。这些变化对于本领域技术人员来说是显而易见的。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦接性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图4,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图4显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图5,其中显示了云计算环境50(图4)提供的一组功能抽象层。首先应当理解,图5所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及图像压缩96。图像压缩96可以是诸如上述图1和2描述的工作负载或功能。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种用于压缩包含文本的图像同时保持文本可读性的计算机实现的方法,所述方法包括:
接收包含文本串的原始图像;
使用文本识别来确定所述原始图像中包含的文本串;
将第一压缩级别应用于所述原始图像以创建第一压缩图像;
使用文本识别来确定所述第一压缩图像中包含的文本串;
将所述原始图像中包含的文本串与所述第一压缩图像中包含的文本串进行比较;
基于所述原始图像中包含的文本串与所述第一压缩图像中包含的文本串的比较的结果,使用第一压缩增量值递增所述第一压缩级别以达到第二压缩级别;
将所述第二压缩级别应用于所述原始图像以创建第二压缩图像;
使用文本识别来确定所述第二压缩图像中包含的文本串;
将所述原始图像中包含的文本串与所述第二压缩图像中包含的文本串进行比较;
基于所述原始图像中包含的文本串与所述第二压缩图像中包含的文本串的比较的结果,确定不需要使用所述第一压缩增量值的进一步图像压缩细化
确定第二压缩增量值;
使用所述第二压缩增量值递增所述第二压缩级别以达到第三压缩级别;
将所述第三压缩级别应用于所述原始图像以创建第三压缩图像;
使用文本识别来确定所述第三压缩图像中包含的文本串;以及
将所述原始图像中包含的文本串与所述第三压缩图像中包含的文本串进行比较。
2.根据权利要求1所述的方法,其中,所述文本串包括从包含字母数字字符、符号、表情图示和表情符号的组中选择的字符。
3.根据权利要求1所述的方法,其中,所述第一压缩级别是基于所述原始图像的分辨率动态选择的初始压缩级别。
4.根据权利要求1所述的方法,其中,基于可用计算资源量动态地选择所述第一压缩增量值。
5.根据权利要求1所述的方法,其中,确定不需要使用所述第一压缩增量值的进一步图像压缩细化进一步包括:
确定所述原始图像中包含的文本串与所述第二压缩图像中包含的文本串之间的差异数量;以及
将所述差异数量与阈值数量进行比较。
6.根据权利要求1所述的方法,其中,所述文本识别包括光学字符识别OCR。
7.一种用于压缩包含文本的图像同时保持文本可读性的系统,所述系统包括:
一个或多个处理器;以及
存储器,其通信地耦接到所述一个或多个处理器,
其中,所述存储器包括指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至6中任一项所述的方法。
8.一种用于压缩包含文本的图像同时保持文本可读性的系统,所述系统包括用于执行根据权利要求1至6中任一项所述的方法的步骤的部件。
9.一种用于压缩包含文本的图像同时保持文本可读性的计算机可读存储介质,包括具有在其中体现的程序指令,其中,所述计算机可读存储介质不是暂态信号本身,所述程序指令能够由计算机执行以执行根据权利要求1至6中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/008199 | 2018-06-14 | ||
US16/008,199 US10755130B2 (en) | 2018-06-14 | 2018-06-14 | Image compression based on textual image content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110611817A CN110611817A (zh) | 2019-12-24 |
CN110611817B true CN110611817B (zh) | 2021-08-06 |
Family
ID=68840023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910508732.4A Active CN110611817B (zh) | 2018-06-14 | 2019-06-13 | 基于文本图像内容的图像压缩 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10755130B2 (zh) |
CN (1) | CN110611817B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113822955B (zh) * | 2021-11-18 | 2022-02-22 | 腾讯医疗健康(深圳)有限公司 | 图像数据处理方法、装置、计算机设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109433A (en) * | 1989-10-13 | 1992-04-28 | Microsoft Corporation | Compressing and decompressing text files |
JP2000333019A (ja) * | 1999-05-24 | 2000-11-30 | Seiko Epson Corp | 画像圧縮装置及びその方法、並びにその画像圧縮装置を備えたプリンタ装置 |
US7139102B2 (en) * | 2000-05-02 | 2006-11-21 | Ricoh Company, Ltd. | Image processing device, image processing method and remote-scan image processing system using the same |
JP4019790B2 (ja) * | 2002-05-23 | 2007-12-12 | 富士ゼロックス株式会社 | 画像処理装置および画像処理プログラム |
US7236632B2 (en) * | 2003-04-11 | 2007-06-26 | Ricoh Company, Ltd. | Automated techniques for comparing contents of images |
EP1555804A3 (en) * | 2004-01-19 | 2006-08-16 | Ricoh Company, Ltd. | Image processing apparatus, image processing program and storage medium |
US7506071B2 (en) * | 2005-07-19 | 2009-03-17 | International Business Machines Corporation | Methods for managing an interactive streaming image system |
US20080086700A1 (en) * | 2006-10-06 | 2008-04-10 | Rodriguez Robert A | Systems and Methods for Isolating On-Screen Textual Data |
US20090129693A1 (en) * | 2007-11-15 | 2009-05-21 | Bloebaum L Scott | System and method for generating a photograph with variable image quality |
US8180164B2 (en) * | 2008-12-16 | 2012-05-15 | Xerox Corporation | OCR-guided text tokenization of digital images |
JP5036844B2 (ja) * | 2010-04-15 | 2012-09-26 | シャープ株式会社 | 画像圧縮装置、画像出力装置、画像読取装置、画像圧縮方法、コンピュータプログラム及び記録媒体 |
JP5847063B2 (ja) * | 2012-11-27 | 2016-01-20 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
US9202142B1 (en) * | 2013-01-24 | 2015-12-01 | Google Inc. | Automatic assessment of books to determine suitability for audio book conversion |
US9384562B2 (en) * | 2013-01-29 | 2016-07-05 | Documill Oy | Methods for visual content processing, and systems and computer program codes thereto |
US9484006B2 (en) | 2013-02-13 | 2016-11-01 | Documill Oy | Manipulation of textual content data for layered presentation |
US9495526B2 (en) * | 2013-03-15 | 2016-11-15 | Eyelock Llc | Efficient prevention of fraud |
EP3348038B1 (en) * | 2015-09-10 | 2021-09-08 | Vimmi Communications Ltd. | Content delivery network |
RU2640296C1 (ru) * | 2016-12-06 | 2017-12-27 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способ и устройство для определения пригодности документа для оптического распознавания символов (ocr) на сервере |
-
2018
- 2018-06-14 US US16/008,199 patent/US10755130B2/en not_active Expired - Fee Related
-
2019
- 2019-06-13 CN CN201910508732.4A patent/CN110611817B/zh active Active
Non-Patent Citations (1)
Title |
---|
OCR-based reate-distortion analysis of residual coding;O.E.Kia, D.S.Doermann;《Proceeding of International Conference on Image Processing》;19971029;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110611817A (zh) | 2019-12-24 |
US10755130B2 (en) | 2020-08-25 |
US20190385000A1 (en) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10346780B2 (en) | Extraction of system administrator actions to a workflow providing a resolution to a system issue | |
CN111033523A (zh) | 用于图像分类任务的数据增强 | |
CN109906597B (zh) | 向和从云网络中存储和取回受限制的数据集和非受限制的数据集 | |
US10169428B1 (en) | Mining procedure dialogs from source content | |
US10936753B2 (en) | Securely transferring data over a computer network | |
US11978060B2 (en) | Dynamic categorization of it service tickets using natural language description | |
US10642966B2 (en) | Passwords defined using sequences of images | |
CN111801666A (zh) | 虚拟代理系统中的查询识别弹性确定 | |
CN110611817B (zh) | 基于文本图像内容的图像压缩 | |
US10915710B2 (en) | Clause analysis based on collection coherence in legal domain | |
CN116524528A (zh) | 用于分离被检测为一个文本边界框的单词的文本检测算法 | |
US10671891B2 (en) | Reducing computational costs of deep reinforcement learning by gated convolutional neural network | |
US20230409553A1 (en) | Human-in-the-loop conflict resolution in a collaborative data labeling platform | |
US11972623B2 (en) | Selective mirror enhanced video stream | |
US20230021563A1 (en) | Federated data standardization using data privacy techniques | |
US10223463B2 (en) | Node controllers for hierarchical data structures | |
US11966822B2 (en) | Feature processing for machine learning | |
US10657079B1 (en) | Output processor for transaction processing system | |
US10296331B2 (en) | Log-based software porting | |
US11914733B2 (en) | Timing for user data erasure requests | |
US11205042B2 (en) | System and method to transform content and to generate a visual indicator of that transformation | |
US11481548B2 (en) | Zero pronoun recovery and resolution | |
US20220308978A1 (en) | Task simulation using revised goals | |
US20220043870A1 (en) | Webpage customization | |
US11217116B2 (en) | Interactive training for application providers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |