CN105745597A - 数据承载介质 - Google Patents

数据承载介质 Download PDF

Info

Publication number
CN105745597A
CN105745597A CN201380081081.6A CN201380081081A CN105745597A CN 105745597 A CN105745597 A CN 105745597A CN 201380081081 A CN201380081081 A CN 201380081081A CN 105745597 A CN105745597 A CN 105745597A
Authority
CN
China
Prior art keywords
data
code word
phase invariant
carrying medium
row
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.)
Granted
Application number
CN201380081081.6A
Other languages
English (en)
Other versions
CN105745597B (zh
Inventor
M.D.高巴茨
R.A.尤利奇尼
S.J.辛斯克
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN105745597A publication Critical patent/CN105745597A/zh
Application granted granted Critical
Publication of CN105745597B publication Critical patent/CN105745597B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32288Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32288Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
    • H04N1/32293Repeating the additional information in a regular pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32288Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
    • H04N1/32304Embedding different sets of additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32256Spatial or amplitude domain methods in halftone data

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

依照本公开的各方面的用于形成数据承载介质的示例方法包括设置与数据承载介质相关联的变量,变量包括码字的位长度,基于变量标识相位不变码字,以及利用相位不变码字布置数据承载介质的行。

Description

数据承载介质
背景技术
用于使得能够实现数据承载硬拷贝的技术提供了众多有意思的应用,一般包括标签、封装、引导标示和文档。数据承载介质的非限制性示例可以包括数据承载磁性介质(例如磁性存储设备)、数据承载光学介质(例如光学存储设备)、数据承载原子介质(例如原子存储设备)、数据承载图像等。例如,数据承载图像可以包括数据承载半色调图像(例如其中显式数据通过以受控/因果方式更改半色调结构来添加的半色调图像)、图形字母——数字、条形码等。
使得能够实现数据承载性质的一个方案可以是以可恢复(可读)方式在图像的半色调中编码信息。半色调屏幕(screening)技术表示成像公司已经用于改进所打印的片段质量的方法之一。这些技术可以可能地改进所打印的复制品的美学质量和逼真度。群集点半色调技术将原始图像转换成变化大小的一系列点以模拟色调差异,从而显示图像中的细节。图像的较暗区域以较大点打印并且较亮区域以较小点打印。这些不同大小的点以变化的量吸收从纸张反射的光,因而在利用黑色墨打印的同时给出不同灰色阴影的错觉。
附图说明
在以下详细描述中并且参照附图描述示例实现,其中:
图1图示了依照实现的示例数据承载介质;
图2A图示了依照实现的数据串的右循环移位的示例的表格;
图2B图示了另一数据串的右循环移位的示例的表格;
图3图示了依照实现的另一数据串的右循环移位的示例的表格;
图4图示了二维数据位阵列的示例;
图5图示了与相位不变的码字集合相关联的长度的表格的示例;
图6图示了作为代码长度的函数的唯一码字的数目的表格的示例;
图7图示了数据承载介质生成系统的示例的框图;
图8图示了用于形成数据承载介质的方法的示例的流程图;
图9图示了数据恢复系统的示例的框图;
图10图示了用于从数据承载介质恢复数据的方法的示例的流程图;
图11图示了编码数据承载半色调图像的经裁剪区的示例;
图12图示了从数据承载半色调图像的所有高亮部分裁剪的经裁剪区的示例;
图13图示了从数据承载半色调图像的所有阴影部分裁剪的经裁剪区的示例;以及
图14图示了从其中出现高亮和阴影二者的数据承载半色调图像的部分裁剪的经裁剪区的示例。
具体实施方式
本文所描述的各种实现涉及产生具有编码消息的高质量图像。更具体地,并且如以下更加详细描述的,本公开的各种方面涉及实现过程集合以遍及图像编码当检查该图像的子集或窗口时可以恢复的消息的方式。这可以在不损失半色调质量的情况下完成。
本文所描述的本公开的各方面实现允许从某种数据承载介质恢复数据的全面且集成的工具。根据本公开的各种方面,本文所描述的方案允许用户查看信息而不必捕获整个数据承载元素阵列,诸如整个数据承载介质。相应地,本文所描述的方案允许使用具有小于整个数据承载介质的视场的捕获设备,这意味着可以捕获数据承载介质的部分。
而且,本文所描述的本公开的各方面还公开了表示位阵列的数据承载介质的结构化数据承载元素阵列,其中位阵列中的位的某个数目重复并且其中位在位阵列的每一条线(例如行或列)中的定位从该位在紧接于之前的线中的定位循环移位。更具体地,在一个实现中,行到行移位固定。在另一实现中,行到行移位是任意的,即每行移位可以不承载与另一个的特定关系。除其它之外,该方案允许数据承载介质的部分至少包括表示消息的位集合的经移位版本,即没有同步码字的码字,即定位位的任何子序列的开端或结尾,以便解释来自数据承载介质的部分的任何给定窗口中的数据。相应地,该方案有利地允许消息(即有效载荷)从数据承载介质的部分恢复而不捕获整个数据承载介质。这样的方面,除其它之外,增加操作的简化性,从而提供快速解决方案。另外,该方案允许处理在大小上可能很大的消息并且找到可以在其中编码完整消息的数据承载介质的最小尺寸。
在依照本公开的一个示例中,提供了一种用于形成数据承载介质的方法。方法包括设置与数据承载介质相关联的变量,变量包括码字的位长度和行到行偏移量集合,其标识相位不变码字,并且布置具有相位不变码字的标准形式的数据承载介质行。在另一示例中,表格包括标准形式的每一个相位不变码字,标准形式是每一个码字的循环移位版本。
在依照本公开的另一示例中,提供了一种用于从数据承载介质恢复有效载荷的方法。方法包括将数据承载介质中的数据承载元素解码成位阵列,计算针对位阵列中的每一位的平均值,基于平均值建立相位不变码字,将相位不变码字映射到标准形式的相位不变码字,定位对应于标准形式的相位不变码字的表格中的条目,以及基于条目返回消息。
在依照本公开的另外的示例中,提供了一种数据承载介质。数据承载介质包括数据承载元素的阵列,其中数据承载元素的阵列表示位阵列,其中使用基于与数据承载介质相关联的变量生成的表格标识相位不变码字,变量包括行到行偏移量的集合,其中位阵列的行布置有相位不变码字,并且其中位在位阵列的每一行中的定位基于每一个行到行偏移量而从该位在紧接于之前的行中的定位循环移位。在另一示例中,除行到行偏移量的集合之外,变量包括码字的位长度。在又一示例中,表格包括标准形式的每一个相位不变码字。
图1图示了依照实现的数据承载介质100,诸如数据承载光学、磁性或原子介质或数据承载图像。数据承载介质100可以包括具有高亮区域和阴影区域的图像,并且数据可以携带在图像的高亮区域中的黑色集群上,和在阴影区域中的白色集群上。应当容易明显的是,数据承载介质100表示一般化描绘并且介质可以进行修改或重布置而不脱离于本公开的范围。
在一个实现中,数据(例如其可以称为有效载荷)可以编码在可以由数据恢复系统读取的数据承载介质100中的数据承载元素的阵列中。数据承载介质100可以包括数据承载半色调、图形字母——数目、条形码或数据承载图像的其它示例,其中数据承载元素可以是编码有效载荷的符号。在示例中,有效载荷可以以位(例如位码)串的形式,诸如一和零。串中的每一位可以编码在数据承载介质的一个数据承载元素中(例如编码在数据承载图像中的一个符号中)。另外,诸如数据承载半色调图像之类的数据承载介质100可以用于在诸如照片、图形、文本或诸如页面背景之类的区域之类的原始灰阶图像(例如源图像)中编码码字P。
在另一实现中,码字可以遍及数据承载介质100重复。重复码字可以具有位的某个数目(B)。可以向图像中的每一个单元分配一位,并且每一个单元可以是数据承载或非数据承载性的。对于图像中的每一个单元线,码字可以重复直到线的结尾。在一个实现中,可以使用通过循环移位(例如通过右循环移位)码字位串中的位的位定位而形成的位串来编码码字位串。
码字可以从作为数据承载介质100的诸如裁剪之类的部分(例如子集)的区110恢复,例如没有原始图像的尺寸、总体内容等的任何知识。在一个实现中,区110可以是可以表示经编码图像的所捕获窗口的区域的经典半色调屏幕中的某个大小(例如23x23)单元区域的分段的示例。在一个示例中,区110可以是可以用于从数据承载介质100恢复码字的码字恢复系统所使用的诸如CID(电荷注入设备)相机之类的图像捕获设备的图像捕获区域的大小。可替换地,区110的大小可以等于或大于数据承载介质100的图像。
区110可以包括高亮模块(例如高亮单元)130和阴影单元120。例如,区110中的每一个单元可以对应于数据承载元素,诸如数据承载符号,例如其可以编码一位。高亮单元130可以由灰色方形表示并且阴影单元120可以由白色单元表示。在亮图像区域中,阴影单元120可以完全是白色并且因而不能携带任何数据,而高亮单元130可以渲染为能够携带数据的小黑色集群。在暗图像区域中,高亮单元130可以完全是黑色而阴影单元120渲染为可以携带数据的小白色集群。应当容易明显的是,虽然所捕获的窗口110单元显示为棋盘格(例如阴影单元120和高亮单元130),但是图1中图示的数据承载介质100的其余部分包括跨整个图像的单元,并且为了简化而示出和描述了所捕获的区110单元。
在一个实现中,区110可以具有150符号长的长度(L)23和140符号宽的宽度(W)23的23x23单元区域。在数据承载半色调图像的亮部分中,阴影单元120可以完全是白色的并且因而不能够携带任何数据,而高亮单元130可以渲染为能够借助于例如移位携带数据的小黑色集群。在数据承载半色调图像的暗区域中,高亮单元130可以完全是黑色的并且不能携带任何数据,而阴影单元120可以渲染为例如可以携带数据的小白色集群。
图2A图示了可以如何右循环移位位P=1100(例如其中B=4)的码字串的示例实现,其中“移位”是码字中的位按其右循环轮转的位定位数目。图2A提供了码字的每一个经移位版本。应当指出的是,位定位b3到b0分别指代图2A中的最高到最低有效位定位,其中位定位b3是图2A中的最高有效位定位,并且位定位b0是图2A中的最低有效位定位。在示例中,位串1100可以是消息的经加密版本。
对于一位的每一个右循环移位,每一位可以向右移动一个位定位,并且右边最后定位中(例如在最右定位中)的位可以移动到第一定位(例如最左定位)。对于两个移位,分别在码字1100中的定位b2和b1中的位10分别移动到位定位b0和b3。对于每一条接连线,码字可以相对于其上方的行循环移位。在一个实现中,线可以是指按行串。在另一实现中,线可以是指按列串。
在一个实现中,码字位串可以映射回到消息,即使用具有有效载荷位串的所有可能移位的最低十进制值的码字的经移位版本进行解码。例如,具有有效载荷位串的所有可能移位的最低十进制值的有效载荷的经移位版本可以称为有效载荷的标准形式(例如标准相位)S。因此,对于图2A的示例,有效载荷P=1100可以使用经移位版本S=0011(其对应于两个位定位的右循环移位)来解码。如图2A中所示,每一个移位使每一个位定位中的位值改变,并且因此每一个经移位的位串可以具有图2A中的不同十进制值。另外,每一个经移位的位串具有码字的B=4位,其中值B对图2A中的编码器和解码器二者已知。在一个实现中,一些码字的经移位版本可以具有相同值。码字P=1010是一个这样的示例,如图2B中所示。标准形式S=0101可以利用1或3的右循环移位实现。应当指出的是,可以由B位表示的独立串的数目小于2的B次方(其中B>1)。
图3图示了16位码字(例如对于具有B=16位的码字)的右循环移位的示例以及针对每一个移位的十进制值。位串0000010101011001是码字(P)位串1011001000001010的标准形式(S)。位定位b15到b0分别指代图3中的最高到最低有效位定位,其中位定位b15是最高有效位定位并且位定位b0是最低有效位定位。码字的经移位版本,例如来自图2的标准形式S=0011或来自图3的标准形式S=0000010101011001,可以在二维位阵列中重复,并且二维位阵列的每一个相继行中的位可以以作为产生码字的经移位版本的右循环移位(例如对于图2的示例的两个位定位的右循环移位或对于图3的示例的九个位定位的右循环移位)的整数倍的右循环移位从紧接于之前的行中的位右循环移位。
图4图示了依照实现的二维数据位阵列400的示例。串410(例如阵列400的某个数目的位)可以是例如位0011的单位串。串410遍及阵列400重复。串410是码字1100的经移位版本,并且通过以两个位定位向右右移位码字1100的位来获得,如以上结合图2所讨论的。串410是码字P=1100的标准形式S=0011。应当指出的是,标准形式具有码字的所有位(但是以不同的次序)。
图5图示了依照一个实现的示例表格500。表格500示出码字长度1到4的所有相位不变集合。表格500包括位长度(B)510、长度B510的相位不变码字520的数目、长度B510的唯一相位不变码字530的数目、唯一码字540的列表,以及唯一码字540的循环版本550。
在一个实现中,码字(P)可以包括二维一位符号阵列中的B位。相位不变代码530可以表示作为B位序列的某个范围[1,2M]中的自然数,其中M表示在二维一位符号阵列中所表示的消息中的位数。给定序列的所有循环移位可以映射到相同数字或索引。例如,以下长度-5序列将全部用于表示相同数字:10100,01010,00101,10010和01001。相应地,如果代码在数据流中反复重复,任何长度-B子序列可以用于重构原始数字:1010010100101001010010100101001010010100101001010010100…。
在一个实现中,每行循环移位(D)可以固定。D可以是图像中的码字的行到行偏移量(例如二维位阵列400中的位定位中的行到行右循环移位)。另外,每一行比其上方的行多循环移位D个位定位而不管码字如何。
在另一实现中,相位不变码字可以包括长于有效载荷的代码。在这样的实现中,方案可以允许信息以使得解码器可以在不同步所接收的流(即,在所接收的流中建立码字的开始和结束)的情况下起作用的方式编码。包含充足数目的符号的码字的任何部分可以映射回到原始数据。另外,重复填充码字的标准相位的行,并且其中每一个码字行比上方的行多循环移位D位。
图6图示了依照一个实现的用于将数字数据映射到相位不变二进制序列的示例机制600。查找表600的大小可以由可以通过码字的相位不变集合表示的索引数目来确定。表格600表示可以利用B位序列表示的唯一相位不变码字的数目。在一个实现中,二进制数据可以使用唯一码字的数目的以2为底的对数的整数部分而映射到相位不变码字。另外,可以在没有复合码字和计算的情况下确定相位不变查找表(LUT)大小。在另一实现中,可以使用用于将数据映射到相位不变二进制序列的可替换机制。在这样的情形中,可以使用迭代计算而不是查找表。
在其中长度B代码是素数的一个示例中,唯一码字的数目可以直接计算为B的函数。该数目QB由下式给出:
QB=(2B-2)/B+2
可以使用QB的集合表示的数据位的数目:
log2(QB)=log2((2B-2)/B+2)>log2(2B/B)=B-log2B
相应地,解码器可以通过下式从B的传输值导出M的值:
M=[B-log2B]
图7图示了依照实现的可以生成诸如数据承载介质100之类的数据承载介质的数据承载介质生成系统700的示例的框图。例如,数据承载介质生成系统700可以生成本文所公开的数据承载介质。系统700可以包括可以允许系统700执行本文所公开的方法和功能以用于(例如自动地)生成本文所公开的数据承载介质的控制器720。在一个实现中,一个或多个操作由诸如系统700之类的设备响应于事件而执行而没有用户介入,并且可以如自动执行的那样采取一个或多个操作。
控制器720可以包括用于处理诸如处理器可读(例如计算机可读)指令之类的机器可读指令的处理器722。机器可读指令可以将处理器722配置成允许控制器720允许系统700执行与(例如自动地)生成本文所公开的数据承载介质相关联的方法和功能。
机器可读指令可以存储在耦合到处理器722的诸如非暂时性计算机可使用介质之类的存储器724中,并且可以以软件、固件、硬件或其组合的形式。在硬件解决方案中,机器可读指令可以硬编码为处理器722的部分,例如专用集成电路(ASIC)芯片。在软件或固件解决方案中,指令可以被存储以供处理器722检索。非暂时性计算机可使用介质的一些附加示例可以包括静态或动态随机存取存储器(SRAM或DRAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)存储器,诸如闪速存储器、磁性介质和光学介质(无论是永久的还是可移除的)等。一些面向消费者的计算机应用是以例如来自因特网的下载或诸如致密盘只读存储器(CD-ROM)或数字视频盘(DVD)之类的可移除计算机可使用非暂时性介质的形式提供给用户的软件解决方案。
控制器720可以包括存储设备726,诸如硬盘驱动器、可移除闪速存储器等。存储设备726可以存储对应于(例如表示)本文所公开的数据承载介质的数字图像数据(例如位图、PDF、TIFF、JPEG等)。存储设备726可以存储加密密钥,诸如PKI和IBE加密密钥,以对编码到数据承载介质中的数据进行加密。
人机接口730可以耦合到控制器720。接口730可以与诸如键盘和/或包括例如鼠标的定点设备之类的数个输入设备对接。接口730可以与可以包括可以充当输入设备的触摸屏的显示器735对接。控制器720可以耦合到数据网络,诸如互联网、局域网(LAN)等,和/或经由接口740耦合到计算机。系统700可以包括耦合到控制器720的打印机750。打印机750可以用于将对应于数据承载介质的数字图像数据打印为硬拷贝图像。打印机750可以利用用于在例如原子数据承载介质、磁性数据承载介质、光学数据承载介质等上创建数据承载元素的装置取代。
处理器722、存储器724和存储设备726可以是诸如例如个人计算机之类的计算机的部分。照此,机器可读指令可以将处理器722配置成允许计算机创建数据承载介质的电子版本。例如,计算机可以耦合到打印机,诸如打印机750,其可以将数据承载介质的电子版本打印为硬拷贝图像。
应当认识到的是,参照图7描述的各种块组件的功能可能不一定分离成数据承载介质生成系统的分立组件或组件部分。例如,数据承载介质生成系统的单个组件或组件部分可以适配成执行图7的多于一个块组件的功能。可替换地,数据承载介质生成系统的一个或多个组件或组件部分可以组合以执行图7的单个块组件的功能。
现在转向数据承载介质100的操作,图8图示了依照实现的示例过程流程图800。过程800描绘了可以生成诸如数据承载介质100之类的数据承载介质的数据承载介质生成系统700的示例。机器可读指令可以指令处理器722允许数据承载介质生成系统700执行如图8中的流程图所图示的过程800。在一个实现中,数据承载介质生成系统700可以响应于从用户接收到指令而执行过程800以形成数据承载介质。
过程800可以在块805处开始,其中接收例如来自用户的指令以形成数据承载介质。特别地,该过程可以涉及设置码字的位长度(B)。在一个实现中,还可以设置用于移位每一行的机制和行到行偏移量的集合。在另一实现中,行到行偏移量全部等同并且被给出参数(D)。在另一实现中,码字位长度可以为奇数,并且行到行偏移量可以是偶数。
在块810处,控制器720将M位消息映射到B位移位不变代码。特别地,该过程可以涉及使用查找表。在一个实现中,M位消息的值可以充当对表格的索引,其可以用于检索移位不变码字(可能地以标准形式S)。特别地,标准形式对应于产生最小值的码字的经移位位序列。在一个实现中,位串可以是由控制器720加密的消息的经加密版本。例如,控制器720可以接收消息并且加密消息。
在块815处,控制器720重复地向行填充相位不变码字,其中每一行包含B位码字的重复版本的经循环移位版本。在一个实现中,每一行可以比上方的行多循环移位行到行偏移量(D)位。特别地,该过程可以涉及布置二维位阵列使得二维位阵列的每一个接连行中的位从紧接于之前的行中的位循环移位(例如右循环移位)。在另一实现中,行内容由标准形式S的经移位版本限定。
图9图示了从诸如数据承载介质100之类的数据承载介质恢复例如有效载荷的数据的数据恢复系统900(例如数据承载介质读取器)的示例的框图。例如,数据恢复系统900可以从诸如数据承载半色调之类的本文所公开的数据承载介质的示例恢复数据。系统900可以是移动(例如手持)设备,其可以相对于在数据承载介质移动经过它的同时保持静止或固定的静止数据承载介质或静止或固定定位设备而移动。
系统900可以捕获数据承载介质的部分,诸如作为图1中的数据承载介质100的部分(例如裁剪)的区(例如经裁剪区)110。数据承载介质的经裁剪区(例如区110)中的数据承载元素的数目是LxW,其中L是在裁剪的列(例如竖直)方向上的裁剪中的数据承载元素的数目,并且W是在裁剪的行(例如水平)方向上的裁剪中的数据承载元素的数目。
系统900可以包括数据承载介质捕获设备,例如图像捕获设备910,诸如相机(例如CID相机)或扫描仪,以捕获数据承载介质,例如数据承载介质的图像。图像捕获设备910可以将所捕获的图像转换成例如数字图像数据(例如位图、PDF、TIFF、JPEG等)。在示例中,数据承载介质捕获设备的所捕获区域可以是图1中的区110的大小。在一个实现中,捕获设备910可以捕获(例如检测)原子数据承载介质、磁性数据承载介质、光学数据承载介质等上的数据承载元素。
在示例中,系统900可以包括光照源,诸如光源915,以在读取数据承载介质之前光照数据承载介质。例如,光源915可以光照数据承载介质的部分,诸如区110。
系统900可以包括可以允许系统900执行本文所公开的方法和功能以用于从数据承载介质(例如从数据承载图像的部分)恢复诸如有效载荷之类的数据的控制器920(例如解码器)。将数据承载介质的所捕获图像转换成表示数据承载介质的数字图像数据的图像捕获设备910的功能可以合并在控制器920中。
控制器920可以包括用于处理诸如处理器可读(例如计算机可读)指令之类的机器可读指令的处理器922。机器可读指令可以指令处理器922允许控制器920允许系统900执行与从数据承载介质(例如从数据承载介质的部分)恢复有效载荷相关联的本文所公开的方法和功能。例如,机器可读指令可以指令控制器920允许系统900执行与例如从可以是数据承载介质的部分的数据承载介质的所捕获区恢复数据承载介质的有效载荷而不读取整个数据承载介质相关联的方法和功能。
机器可读指令可以存储在耦合到处理器922的存储器924(诸如非暂时性计算机可使用介质)中,并且可以以软件、固件、硬件或其组合的形式。在硬件解决方案中,机器可读指令可以硬编码为处理器922的部分,例如专用集成电路(ASIC)芯片。在软件或固件解决方案中,指令可以被存储以供处理器922检索。
控制器920可以包括存储设备926,诸如硬盘驱动器、可移除闪速存储器等。存储设备926可以存储解密密钥,诸如PKI(公钥基础设施)和IBE(基于身份的加密)解密密钥,以分别解密从数据承载介质解码的数据。例如,控制器920可以解密可以被加密的经恢复的有效载荷。
人机接口930可以耦合到控制器920。接口930可以与诸如键盘和/或包括例如鼠标的定点设备之类的数个输入设备对接。接口930可以与可以包括可以充当输入设备的触摸屏的显示器935对接。控制器920可以耦合到诸如互联网、局域网(LAN)等之类的数据网络,和/或经由接口940耦合到计算机。
应当认识到,参照图9描述的各种块组件的功能可能不一定分离成数据恢复系统的分立组件或组件部分。例如,数据恢复系统的单个组件或组件部分可以适配成执行图9的多于一个块组件的功能。可替换地,数据恢复系统的一个或多个组件或组件部分可以组合以执行图9的单个块组件的功能。
处理器922、存储器924、存储设备926和/或人机接口930可以实现在例如计算机中,并且捕获设备(例如图像捕获设备910)可以例如耦合到计算机。
现在转向数据恢复系统900的操作,图10图示了依照实现的示例过程流程图1000。过程1000描绘了可以在诸如数据承载介质100之类的数据承载介质中找到M位消息的数据恢复系统900的示例。机器可读指令可以将处理器922配置成允许控制器920允许数据恢复,允许系统900执行从诸如图1中的数据承载介质100之类的数据承载介质自动恢复有效载荷的过程1000,例如如图10中的流程图所图示的。数据恢复系统900可以响应于捕获到数据承载介质100的至少区110(的例如图像)而执行过程1000。
在一个实现中,B,码字中的位数,可以是数据承载介质生成系统700对系统900的输入并且存储在存储设备926中。此外或可替换地,行到行偏移量可以是数据承载介质生成系统700对系统900的输入并且存储在存储设备926中。控制器920可以知晓图像为具有循环码的数据承载介质的先验。该信息可以由用户输入到系统900。可替换地,系统900可以专用于处置例如具有循环码的数据承载介质。此外,控制器920可能要搞清楚图像的取向(例如顶部、底部和/或侧部的方向)。例如,图像可以以相对于系统900的某种方式取向。例如,系统900可以指令用户例如经由显示器935、固定到系统900的标签或其它构件来对图像或系统900取向。
在一个实现中,解码器可以具有码字长度和行间移位关系的知识。在另一实现中,如果所期望的冗余R充分高,则可以估计码字长度和行间移位关系。在另外的实现中,码字长度和/或每行移位关系可以经由捕获窗口中的行的相关分析来得到。
过程1000可以在块1005处开始,其中控制器920可以接收指令以发起过程以将数据承载介质中的数据承载元素恢复成对应于数据承载介质的部分的位阵列。特别地,该过程可以涉及向数据承载元素分配零、一或弃权。在一个实现中,控制器920可以向由于损坏、噪声而降级或以其它方式不可解码的任何数据承载元素分配弃权标签。可替换地或此外,控制器920可以排除被分配弃权的数据承载元素。
例如,可以测试候选移位,并且可以在存在噪声的情况下恢复表示位值一的码字符号的十三个样本。在该示例中,七个符号可以由恢复系统确定为相对没有噪声并且可以被分配值一。其余六个符号可能由于噪声而降级,导致针对四个符号的恢复值零和针对两个符号的一。在不使用弃权的情况下,针对该位的平均恢复值可以是9/13≈0.69,而如果恢复系统向六个有噪声符号分配弃权并且排除有噪声的符号,结果得到的平均值可以是7/7=1.00。
在块1010处,可以针对每一个位定位{bB-1,…,b1,b0}计算所有非弃权值的平均值。在块1015处,建立码字P。特别地,该过程可以涉及确定平均值是否小于0.5。如果平均值小于0.5,可以分配零值,并且如果平均值大于或等于0.5,可以分配值一。在一个实现中,位的不确定性范围可以是从0到0.5。在另一实现中,置信水平可以乘以100以表述为百分数。
在块1020处,移位不变码字P可以映射到标准形式S。在块1025处,定位对应于标准形式的编码查找表中的条目,并且在块1030处,返回对应于原始消息的M位索引。
图11图示了表示经编码数据承载半色调图像的所捕获部分的经裁剪区1100。例如,区1100可以对应于图1中的区110并且可以是数据承载介质100的部分。区1100可以包括高亮模块(例如高亮单元)1110和阴影单元1120。例如,区1100中的每一个单元可以对应于诸如数据承载符号之类的例如可以编码一位的数据承载元素。例如,区1100可以是L=23符号长并且W=23符号宽。
在数据承载半色调图像的亮部分中,阴影单元1120可以完全是白色的并且因而不能携带任何数据,而高亮单元1110可以渲染为能够借助于例如移位而携带数据的小黑色集群。在数据承载半色调图像的暗区域中,高亮单元1110可以完全是黑色的并且不能携带任何数据,而阴影单元1120可以渲染为可以例如携带数据的小白色集群。
通过使用图11的示例中的半色调单元图案,所有高亮区1200可以从数据承载半色调图像的所有高亮部分捕获,如图12的示例中所示,其中半色调单元的边界重叠。例如,每一个阴影单元1220可以全部是白色的并且因而不能够携带数据。
通过使用图11的示例中的半色调单元图案,所有阴影区1300可以从数据承载半色调图像的所有阴影部分捕获,如图13的示例中所示,其中半色调单元的边界重叠。例如,每一个单元高亮单元1310可以全部是黑色的并且不能够携带数据。
还可能的是从其中出现高亮和阴影二者的数据承载半色调图像的部分捕获区1400,如图14的示例中那样。例如,在图14中,取代于重叠单元边界,点1405示出在每一个阴影单元中以示出在哪里单元是数据承载性的(例如小白色集群)和非数据承载性的(例如实心白色单元)。例如,图14论证了人们不能依赖于棋盘格图案来定位潜在数据承载单元。
已经参照前述示例性实现示出和描述了本公开。尽管已经在本文中图示和描述了具体示例,但是显然意图在于所要求保护的主题的范围仅由随附权利要求及其等同物限制。然而,要理解的是,可以做出其它形式、细节和示例而不脱离于在随附权利要求中限定的本公开的精神和范围。

Claims (15)

1.一种形成数据承载介质的方法,包括:
设置与数据承载介质相关联的变量,变量包括码字的位长度;
基于变量标识相位不变码字;以及
利用相位不变码字布置数据承载介质的行。
2.权利要求1所述的方法,其中标识相位不变码字还包括使用查找表。
3.权利要求1所述的方法,其中标识相位不变码字还包括执行穷举迭代计算。
4.权利要求1所述的方法,其中相位不变码字包括作为位序列的来自范围1,2M的自然数,其中M是相位不变码字所表示的消息的位长度。
5.权利要求4所述的方法,其中给定序列的循环移位映射到消息。
6.权利要求1所述的方法,其中布置数据承载介质的行还包括布置二维位阵列。
7.权利要求6所述的方法,其中位在二维位阵列的每一行中的定位从该位在紧接于之前的行中的定位循环移位每行偏移量。
8.权利要求7所述的方法,其中每行偏移量固定。
9.权利要求1所述的方法,其中数据承载元素包括以某种方式移位以编码其相应位的半色调集群。
10.一种从数据承载介质恢复消息的方法,包括:
将数据承载介质中的数据承载元素解码成位阵列;
计算针对位阵列中的每一位的平均值;
基于平均值建立相位不变码字;
将相位不变码字映射到相位不变码字的标准形式;以及
确定对应于相位不变码字的标准形式的消息。
11.权利要求10所述的方法,其中确定对应于相位不变码字的标准形式的消息还包括确定对应于相位不变码字的表格中的条目。
12.权利要求10所述的方法,其中确定对应于相位不变码字的标准形式的消息还包括经由迭代、穷举计算执行。
13.权利要求10所述的方法,其中基于平均值建立码字还包括:
如果平均值小于0.5,向位分配值0;以及
如果平均值大于或等于0.5,向位分配值1。
14.一种数据承载介质,包括:
数据承载元素阵列;
其中数据承载元素阵列表示位阵列;
其中相位不变码字使用基于与数据承载介质相关联的变量生成的表格来标识,变量包括行到行偏移量的集合;
其中位阵列的行布置有重复相位不变代码;并且
其中位在位阵列的每一行中的定位基于每一个行到行偏移量而从该位在紧接于之前的行中的定位循环移位。
15.权利要求14所述的数据承载介质,包括指代相位不变码字的位长度的变量。
CN201380081081.6A 2013-09-20 2013-09-20 数据承载介质 Expired - Fee Related CN105745597B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/060960 WO2015041684A1 (en) 2013-09-20 2013-09-20 Data-bearing medium

Publications (2)

Publication Number Publication Date
CN105745597A true CN105745597A (zh) 2016-07-06
CN105745597B CN105745597B (zh) 2019-07-16

Family

ID=52689219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380081081.6A Expired - Fee Related CN105745597B (zh) 2013-09-20 2013-09-20 数据承载介质

Country Status (4)

Country Link
US (1) US9984318B2 (zh)
EP (1) EP3047353B1 (zh)
CN (1) CN105745597B (zh)
WO (1) WO2015041684A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110313169A (zh) * 2017-04-18 2019-10-08 惠普发展公司,有限责任合伙企业 数据承载介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116148A2 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Groups of phase invariant codewords
CN104299249B (zh) * 2014-08-20 2016-02-24 深圳大学 高鲁棒性的标志点解码方法及系统
WO2016137483A1 (en) * 2015-02-27 2016-09-01 Hewlett-Packard Development Company, L.P. Recursive halftoning and gray value substitution
WO2019209246A1 (en) * 2018-04-23 2019-10-31 Hewlett-Packard Development Company, L.P. Reflection and inversion invariant codes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095484A (en) * 1989-11-13 1992-03-10 International Business Machines Company Corporation Phase invariant rate 8/10 matched spectral null code for PRML
CN1365482A (zh) * 1999-06-18 2002-08-21 I.C.码有限公司 用于数据传输和检索的条形码的自动产生
US20100077176A1 (en) * 2008-09-22 2010-03-25 Advanced Micro Devices, Inc. Method and apparatus for improved calculation of multiple dimension fast fourier transforms
US20110069328A1 (en) * 2009-09-21 2011-03-24 Robert Alan Ulichney System and method for creating a data-bearing image
CN104969174A (zh) * 2013-01-30 2015-10-07 惠普发展公司,有限责任合伙企业 数据承载媒介

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA02009619A (es) 2000-03-31 2004-07-30 Eruro Celtique S A Aminopiridinas y su uso como anticonvulsivos y bloqueadores del canal de sodio.
WO2002017214A2 (en) 2000-08-24 2002-02-28 Digimarc Corporation Watermarking recursive hashes into frequency domain regions and wavelet based feature modulation watermarks
EP1559063B1 (en) * 2002-10-25 2010-12-15 Silverbrook Research Pty. Limited Orientation-indicating cyclic position codes
WO2004107640A1 (ja) * 2003-05-28 2004-12-09 Mitsubishi Denki Kabushiki Kaisha 再送制御方法および通信装置
US8644377B2 (en) 2008-04-14 2014-02-04 Cisco Technology Inc. System and method for embedding data in video
US8508357B2 (en) 2008-11-26 2013-08-13 The Nielsen Company (Us), Llc Methods and apparatus to encode and decode audio for shopper location and advertisement presentation tracking
EP2341708B1 (en) 2010-01-05 2017-03-08 Irdeto B.V. Broadcasting variants of digital signals in a conditional access system
WO2011093870A1 (en) * 2010-01-29 2011-08-04 Hewlett Packard Development Company, L.P. Parallel test payload
US8284987B2 (en) * 2010-09-17 2012-10-09 Hewlett-Packard Development Company, L.P. Payload recovery systems and methods
US8594453B2 (en) * 2011-08-18 2013-11-26 Hewlett-Packard Development Company, L.P. Method of robust alignment and payload recovery for data-bearing images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095484A (en) * 1989-11-13 1992-03-10 International Business Machines Company Corporation Phase invariant rate 8/10 matched spectral null code for PRML
CN1365482A (zh) * 1999-06-18 2002-08-21 I.C.码有限公司 用于数据传输和检索的条形码的自动产生
US20100077176A1 (en) * 2008-09-22 2010-03-25 Advanced Micro Devices, Inc. Method and apparatus for improved calculation of multiple dimension fast fourier transforms
US20110069328A1 (en) * 2009-09-21 2011-03-24 Robert Alan Ulichney System and method for creating a data-bearing image
CN104969174A (zh) * 2013-01-30 2015-10-07 惠普发展公司,有限责任合伙企业 数据承载媒介

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110313169A (zh) * 2017-04-18 2019-10-08 惠普发展公司,有限责任合伙企业 数据承载介质
US11113592B2 (en) 2017-04-18 2021-09-07 Hewlett-Packard Development Company, L.P. Data-bearing medium
CN110313169B (zh) * 2017-04-18 2022-04-29 惠普发展公司,有限责任合伙企业 数据承载介质

Also Published As

Publication number Publication date
CN105745597B (zh) 2019-07-16
EP3047353A4 (en) 2017-04-19
US9984318B2 (en) 2018-05-29
EP3047353A1 (en) 2016-07-27
EP3047353B1 (en) 2020-04-08
WO2015041684A1 (en) 2015-03-26
US20160217358A1 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
US8594453B2 (en) Method of robust alignment and payload recovery for data-bearing images
CN105745597B (zh) 数据承载介质
US20210165860A1 (en) Watermark embedding and extracting method for protecting documents
JP4898771B2 (ja) バーコード除去装置及びその除去方法
US20160088181A1 (en) Encoding system and method for generating a data-bearing halftone image, and decoding system and method for decoding the data-bearing image
US11102376B2 (en) Recursive halftoning and gray value substitution
JP2007226678A (ja) 同定機能付き印刷物、画像生成装置、画像処理装置及びその方法
Degara-Quintela et al. Visible encryption: Using paper as a secure channel
Fang et al. An optimization model for aesthetic two-dimensional barcodes
US8544741B2 (en) Data block offset encoding method for coordinates
US9665813B2 (en) Data-bearing media
US9591173B2 (en) System and method for digital analysis of authenticity and integrity of documents using portable devices
Duda et al. Image-like 2d barcodes using generalizations of the Kuznetsov–Tsybakov problem
US9569709B2 (en) Data bearing medium
Erlangga et al. Increasing Secret Data Hiding Capacity in QR Code Using Subcells
US10560117B2 (en) Groups of phase invariant codewords
CN107408214A (zh) M进制循环编码
JP2006324713A (ja) 画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法及びこれらのプログラム
JP2000278537A (ja) 画像の符号化システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20190716