【技术实现步骤摘要】
图像中的数据嵌入和提取
技术介绍
图像在被创建后,主要用于以视觉方式来传递信息。人类可以从视觉上有效地获知图像所呈现的信息,但机器可能难以理解或恢复出图像隐含的信息。例如,图表作为数据的图形表示,可以由专门的编辑工具来编辑并且可以被创建成图像文件,以用于插入到其他类型的文档、网页等各种文件中,以便向观看者可视化地呈现相关数据。然而,一旦以图像形式呈现,数据实际上就被锁定在图像的像素值中,很难由机器准确地提取出来,以便对数据进行重编辑、增强、重定义等后续操作。
技术实现思路
根据本公开的实现,提出了一种用于图像中的数据嵌入和提取的方案。在数据嵌入时,从源图像,例如图表图像中确定用于数据嵌入的目标区域。要被嵌入的目标数据被转换成以预定格式表示的逻辑值序列。基于逻辑值序列,目标区域中的一个或多个图像单元的图像值被改变,从而使得目标区域中的图像值能够用于传递目标数据对应的逻辑值序列。图像值的改变在预定范围内,从而在嵌入数据的同时不会引起显著的视觉感知失真。在后续过程中,被嵌入的数据也可以容易地从图像中提取出以供使用。提供
技术实现思路
部分是为了以简化的形式来介绍相关概念,其在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。附图说明图1示出了能够实施本公开的多个实现的环境的框图;图2示出了根据本公开的一个实现的用于在图像中嵌入数据的过程的流程图;图3示出了根据本公开的一个实现的从源图像确定可嵌入数据的目标区域的示例;r>图4示出了根据本公开的一个实现的逻辑值序列的示例分组;图5示出了根据本公开的一个实现的从数据块的逻辑值到图像单元的示例对应关系;图6A和图6B示出了根据本公开的一个实现的在目标区域中开始标记块、数据块和结束标记块的示例布置;图7A示出了根据本公开的一个实现的第一同步对齐块的图案的示例;图7B示出了根据本公开的一个实现的第二同步对齐块的图案的示例;图8示出了根据本公开的一个实现的用于从图像中提取数据的过程的流程图;图9示出了根据本公开的一个实现的用于在图像中嵌入数据的过程的流程图;以及图10示出了能够实现本公开的多个实现的计算设备的框图。这些附图中,相同或相似参考符号用于表示相同或相似元素。具体实施方式现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如以上提及的,图像所呈现的数据难以被机器理解,并且也难以准确被提取用于进一步编辑和处理。在一些呈现数值、文本等数据的图像中,图像所呈现的数据是希望能够进行后续处理的。例如,量化数据经常以图表这种可视化的方式有效地呈现给使用者,诸如电子表单等编辑工具可以用于方便地以多种方式将量化数据组织成易于人们理解的图表。图表可能被制作成图表图像,以便发布到诸如电子文档、网页、书面文件等传播媒介中。然而,在图表图像中呈现的数据难以由机器准确理解或标识其中的准确数值信息。此外,图像作为单独的文件,可能会以传输、复制、缩放、截图、打印、变换格式、通过图像采集装置进行拍摄等各种各样的手段被传播。除了图像中视觉呈现的信息之外,其他附加信息在上述过程中难以随着图像一起相关联地传递而不被丢失,除非将这些附加信息作为图像元素的一部分呈现在图像里。为了从图像中提取数据,常规方案是利用光学字符识别(OCR)技术和图像识别技术来识别图像中呈现图表类型和视觉编码或者得到图像可视化呈现的数据。尽管已经在OCR和图像识别技术上进行了大量研究,但数据提取的结果仍然不够完整、准确,错误率较高。此外,这些技术通常依赖于图像的视觉呈现来提取数据,因而所能得到的数据应当以视觉方式显著呈现在图像上。没有以视觉方式呈现在图像上的数据,上述方法是无法取得的。示例环境和基本工作原理图1示出了能够实施本公开的多个实现的环境100的框图。在环境100中,数据嵌入器110被配置为用于将目标数据104嵌入图像102中,以获得具有数据嵌入的图像112。图像102可以被称为数据嵌入的源图像,图像112可以被称为数据嵌入的目标图像。目标图像112可以被提供用于各种用途,例如被插入到电子文档、网页中,被复制到其他存储位置,被传输到其他设备,被打印、拍摄或者被重新编辑等。在图1的示例中,示意性示出了目标图像112被插入到电子文档130中作为插图。在环境100中,数据提取器120被配置为从可获得的图像122提取所嵌入的目标数据104。由数据提取器120提取的目标数据104可以被提供用于任何后续处理。图像122可以被称为数据提取的目标图像。图像122可能已经经过一些候选操作,因此与数据嵌入器110输出的图像112可能不是完全相同。例如,图像122可以是从电子文档130中通过截图的方式获得的,并且相对于图像112被缩放。当然,在一些实现中,数据提取器120所处理的图像122与数据嵌入器110输出的图像112完全相同。数据嵌入器110和数据提取器120可以被集成在单个计算设备或计算系统中,或者可以被分布在不同计算设备或计算系统中。数据嵌入器110和数据提取器120中的一个或多个的功能可以作为图像的数据嵌入和提取的功能库,从而可以根据需要被调用。在一些实现中,数据嵌入器110的数据嵌入功能可以由图像102的编辑工具调用或者被集成到编辑工具中,以用于向所编辑的图像集成数据。例如,用于编辑图表和创建图表数据的编辑工具,诸如电子表单应用(例如,Excel应用)、商业智能(PowerBI)工具等,可以调用数据嵌入器110,以便将任何期望数据嵌入到所生成的图像中。在一些实现中,从各个数据源获得的图像可以被提供给数据提取器120,以尝试从中提取所嵌入的数据。数据提取器120的数据提取功能可以由可获得图像122的应用调用或者被集成到这样的应用中,或者由数据提取器120提取的目标数据可以被提供给这样的应用。这样的应用工具的示例可以是用于编辑或创建可插入图像的电子文档的应用,诸如文字处理应用、演示文档应用、图像处理应用、电子表单应用,以及任何其他应用。应当理解,图1中示出了各个图像以及图像的应用仅仅是示例。任何其他类型的图像也可以被应用于数据嵌入和提取,并且具有数据嵌入的图像可以被用于很多其他用途。根据本公开的实现,期望向图像中嵌入数据,并且不降低图像的感知质量,同时期望所嵌入的数据能够准确地被提取。为了更好了解本公开的多个实现中提出的数据嵌入和提取的方案,首先简要分析专利技术人发现的在图像中嵌入数据所面临的一些挑本文档来自技高网...
【技术保护点】
1.一种计算机实现的方法,包括:/n从源图像确定可嵌入数据的目标区域,所述源图像包括以行和列布置的多个图像单元,并且所述目标区域包括所述源图像中的一个或多个平坦区域或者带纹理区域;/n将目标数据转换成以预定格式表示的逻辑值序列;以及/n通过基于所述逻辑值序列在预定范围内改变所述目标区域的图像单元中的至少一个图像单元的图像值,来生成具有所述目标数据嵌入的目标图像,所述目标区域中的所述图像单元的不同图像值分别指示所述预定格式中的不同逻辑值。/n
【技术特征摘要】
1.一种计算机实现的方法,包括:
从源图像确定可嵌入数据的目标区域,所述源图像包括以行和列布置的多个图像单元,并且所述目标区域包括所述源图像中的一个或多个平坦区域或者带纹理区域;
将目标数据转换成以预定格式表示的逻辑值序列;以及
通过基于所述逻辑值序列在预定范围内改变所述目标区域的图像单元中的至少一个图像单元的图像值,来生成具有所述目标数据嵌入的目标图像,所述目标区域中的所述图像单元的不同图像值分别指示所述预定格式中的不同逻辑值。
2.根据权利要求1所述的方法,其中生成具有所述目标数据嵌入的所述目标图像包括:
将所述逻辑值序列按预定顺序封装到多个数据块中,每个数据块包括以行和列放置的第一预定数目的逻辑值;以及
将所述多个数据块嵌入所述目标区域,每个数据块中的逻辑值由所述目标区域中第二预定数目的图像单元的图像值指示。
3.根据权利要求2所述的方法,其中将所述逻辑值序列封装到所述多个数据块中包括:
向所述逻辑值序列增加前缀部分,所述前缀部分包括以所述预定格式表示的至少一个逻辑值,以指示所述逻辑值序列的长度;以及
将所述前缀部分和所述逻辑值序列封装到所述多个数据块。
4.根据权利要求2所述的方法,其中将所述逻辑值序列封装到所述多个数据块中包括:
将至少所述逻辑值序列划分成多个分组,每个分组包括头部部分和有效载荷部分,所述有效载荷部分包括所述逻辑值序列中第三预定数目的逻辑值,并且所述头部部分包括以所述预定格式表示的至少一个逻辑值,以指示以下信息中的至少一项:头部标记、所述分组的标识以及所述有效载荷部分的检验码;以及
将所述多个分组包括的逻辑值封装到所述多个数据块中。
5.根据权利要求2所述的方法,其中所述多个数据块中的至少一个数据块还包括以下逻辑值中的至少一个:
第一管理逻辑值,指示所述至少一个数据块中所包括的逻辑值与图像单元的图像值之间的对应关系,以及
第二管理逻辑值,指示所述至少一个数据块的类型。
6.根据权利要求2所述的方法,其中所述目标区域包括分别由多个连续图像单元组成的子区域,并且将所述多个数据块嵌入所述目标区域包括:
在所述子区域中嵌入开始标记块,所述开始标记块包括以行和列布置的多个逻辑值,用于指示所述子区域中数据嵌入的开始;以及
在所述开始标记块之后嵌入所述多个数据块中的至少一个数据块。
7.根据权利要求6所述的方法,其中将所述多个数据块嵌入所述目标区域还包括:
在所述子区域中,在所述至少一个数据块之后嵌入结束标记块,所述结束标记块包括以行和列布置的多个逻辑值,以指示所述子区域中数据嵌入的结束。
8.根据权利要求1所述的方法,进一步包括:
在所述目标区域中嵌入至少一个第一同步对齐块,每个第一同步对齐块具有第一预定图案,所述第一预定图案通过在所述预定范围内改变所述第一同步对齐块所覆盖的图像单元的图像值来限定。
9.根据权利要求1所述的方法,进一步包括:
在所述目标区域中嵌入多个第二同步对齐块,每个第二同步对齐块具有第二预定图案,所述第二预定图案通过在所述预定范围内改变所述第二同步对齐块所覆盖的图像单元的图像值来限定,被嵌入的所述多个第二同步对齐块中每两个相邻第二同步对齐块在行方向或列方向上的距离选自一组预定距离。
10.根据权利要求1所述的方法,其中确定所述目标区域包括:
将所述源图像划分为前景区域和背景区域;以及
从所述背景区域中选择所述目标区域。
...
【专利技术属性】
技术研发人员:朱斌,张海东,汤媛媛,黄河,戈颂,张冬梅,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。