CN104969174B - 数据承载媒介 - Google Patents
数据承载媒介 Download PDFInfo
- Publication number
- CN104969174B CN104969174B CN201380071854.2A CN201380071854A CN104969174B CN 104969174 B CN104969174 B CN 104969174B CN 201380071854 A CN201380071854 A CN 201380071854A CN 104969174 B CN104969174 B CN 104969174B
- Authority
- CN
- China
- Prior art keywords
- data
- payload
- version
- cyclic shift
- carrying
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06187—Record 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 magnetically detectable marking
- G06K19/06196—Constructional details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32288—Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32288—Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
- H04N1/32293—Repeating the additional information in a regular pattern
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32288—Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
- H04N1/32304—Embedding different sets of additional information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32203—Spatial or amplitude domain methods
- H04N1/32256—Spatial or amplitude domain methods in halftone data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
一种数据承载介质具有数据承载元素的阵列。数据承载元素的阵列表示位阵列。某一数量的位在位阵列内重复。位阵列的每一行中的位的位置从紧接在前的行中的位的位置被循环移位。
Description
技术领域
本公开涉及数据承载媒介。
背景技术
数据承载媒介的非限制性示例可能包括数据承载磁性媒介(例如磁性储存器)、数据承载光学媒介(例如光学储存器)、数据承载原子媒介(例如原子储存器)、数据承载图像等。例如,数据承载图像可能包括数据承载半色调图像(例如隐写式半色调(steganographic halftone)图像)、图形字母数字、条形码等。
附图说明
图1是数据承载介质的示例。
图2A是数据串的右循环移位的示例。
图2B是另一个数据串的右循环移位的示例。
图3是另一个数据串的右循环移位的示例。
图4是数据位的二维阵列的示例。
图5是数据承载介质的示例。
图6是图示图4中数据位的二维阵列中的位的位置的示例。
图7是数据承载介质生成系统的示例的框图。
图8是用于自动形成数据承载介质的方法的示例的流程图。
图9是数据恢复系统的示例的框图。
图10是用于从数据承载介质自动恢复数据的方法的示例的流程图。
图11A-11D图示确定有效载荷(payload)的版本的示例。
图12是数据串的右循环移位的示例。
图13是编码的数据承载半色调图像的经裁剪的区域的示例。
图14是从数据承载半色调图像的所有高亮(highlight)部分裁剪的经裁剪的区域的示例。
图15是从数据承载半色调图像的所有阴影(shadow)部分裁剪的经裁剪的区域的示例。
图16是从其中高亮和阴影二者发生的数据承载半色调图像的一部分裁剪的经裁剪的区域的示例。
图17是具有在其上叠加的编码的数据的位位置的数据承载半色调图像的经裁剪的区域的示例。
图18是具有在其上叠加的编码的数据的位位置的数据承载半色调图像的经裁剪的区域的另一个示例。
图19是具有在其上叠加的编码的数据的位位置的数据承载半色调图像的经裁剪的区域的另一个示例。
图20是具有在其上叠加的编码的数据的位位置的数据承载半色调图像的经裁剪的区域的另一个示例。
具体实施方式
在下面的详细描述中,对形成其一部分并且在附图中通过图示、具体示例的方式示出的附图做出参考。可在不脱离本公开的范围的情况下做出过程、逻辑和电学改变。因此下面的详细描述不应被视为具有限制意义。
可在可由数据恢复系统读取的数据承载介质中的数据承载元素的阵列中编码数据(例如其可被称为有效载荷)。诸如数据承载半色调(例如隐写式半色调图像)、图形字母数字、条形码等之类的数据承载媒介是数据承载图像的示例,其中数据承载元素可能是对有效载荷进行编码的符号。
诸如数据承载半色调图像之类的一些数据承载媒介可用于在诸如照片、图形、文本或区块(诸如页面的背景)之类的原始灰度图像(例如源图像)中编码有效载荷。例如,隐写式半色调(例如stegatone(隐写色调))可用于在图像的半色调中编码有效载荷,例如使用诸如群集点(cluster-dot)半色调之类的技术。群集点半色调过程可获得任何灰度图像和作为输入被编码在其中的有效载荷,并产生具有被移位以携带有效载荷的许多位的所选的半色调群集的灰度图像的双色调群集点半色调。例如,某一位可由半色调群集的中心中的某一移位来表示。
在原子数据承载媒介中,例如,数据承载元素可能是表示诸如一之类的位值的额外的原子,而另一个数据承载元素可能是空区域,所述空区域表示另一个位值,诸如零。磁性数据承载媒介中的数据承载元素可能包括磁化区块,例如不同的磁性可能编码不同的位值。例如,原子的不同磁自旋极性可能编码不同的位值。在光学数据承载媒介中的数据承载元素可能包括不同反射率的区块;例如相对低反射率(例如黑色区域或凹陷)的区域可能编码一,而相对高反射率(例如白色区域或升高的区域)的区域可能编码零。
从一些数据承载媒介恢复数据可涉及捕获数据承载元素的整个阵列,诸如整个数据承载介质。然而,一些数据恢复系统可能使用具有比整个数据承载介质小的视野的捕获设备,这意味着仅可捕获数据承载介质的一部分。
在示例中,数据承载介质的数据承载元素的阵列可能表示位阵列,其中位阵列中某一数量的位重复,并且其中位阵列的每一行中位的位置从紧接在前的行中的位的位置被循环移位。例如,位阵列中某一数量的位可能是数据承载介质的有效载荷的经循环移位版本。例如,位阵列的每一行中的位的位置可按某一数量的位中的位从数据承载介质的有效载荷中的位被移位的位位置的数量的整数倍的位置数量而从紧接在前的行中的位的位置被循环移位。
例如,这允许数据承载介质的一部分至少包括有效载荷的经移位版本和行到行移位,意味着有效载荷的经移位版本和行到行移位可从数据承载介质的一部分中确定。例如,然后可通过按行到行移位的整数倍对经移位版本进行移位来恢复有效载荷。例如,这有利地允许有效载荷从数据承载介质的一部分恢复,而无需捕获整个数据承载介质。
这样,有利地使能具有比诸如数据承载图像之类的整个数据承载介质小的视野的捕获设备。例如,有利地允许对有效载荷的位进行编码而在解码期间无需查找表,例如,如有时用在现有的数据恢复系统中。
图1图示数据承载介质100,诸如数据承载光学、磁性或原子介质或数据承载图像,诸如数据承载半色调图像,例如stegatone、图形字母数字、条形码等。数据承载介质100可用于在诸如照片、图形、文本或区块(诸如页面的背景)之类的原始灰度图像(例如源图像)中编码例如诸如数据之类的信息的有效载荷P,例如其可能包括空缩放图(voidpantograph)。例如,有效载荷可能以诸如一和零之类的位串(例如位码)的形式,其中串中的每个位可能被编码在数据承载介质的一个数据承载元素中(例如被编码在数据承载图像中的一个符号中)。
例如,可能贯穿数据承载介质来重复有效载荷。例如,重复的有效载荷可能具有某一数量(B)的位。例如,有效载荷可例如在没有原始图像的任何知识的情况下从区域110中恢复,所述区域110是数据承载介质100的一部分(例如子集),诸如裁剪。例如,区域110可能是由有效载荷恢复系统使用的诸如CID(电荷注入设备)摄像机之类的图像捕获设备的图像捕获面积的大小,所述有效载荷恢复系统可用于从数据承载介质恢复有效载荷。可替代地,区域110的大小可等于或大于图像100。
在示例中,可能使用通过对有效载荷位串(payload string of bits)中位的位位置进行循环移位(例如通过右循环移位)而形成的位串来对有效载荷位串进行编码。例如,图2A示出有效载荷位串P=1100(例如在B=4的情况下)可能如何被右循环移位,其中“移位”是有效载荷中的位被右循环移位的位位置的数量。例如,图2A给出有效载荷的每个经移位版本。
注意到位位置b3至b0分别表示图2A中的最高至最低有效位位置,其中位位置b3是图2A中的最高有效位位置,而位位置b0是图2A中的最低有效位位置。在示例中,位串1100可以是有效载荷的经加密版本。
对于一个位的每个右循环移位,将每个位向右移动一个位位置,并且右边最后位置中(例如在最右边的位置中)的位被移动到第一位置(例如最左边的位置)。注意到对于二的移位,分别在有效载荷1100中位置b2和b1中的位10分别被移动到位位置b0和b3。
在示例中,可能使用具有有效载荷位串的所有可能移位的最低十进制值的有效载荷的经移位版本对有效载荷位串进行编码。例如,具有有效载荷位串的所有可能移位的最低十进制值的有效载荷的经移位版本可能被称为有效载荷的标准形式(例如标准相)S。因此,对于图2A的示例,可能使用经移位版本S=0011对有效载荷P=1100进行编码,所述经移位版本对应于两个位位置的右循环移位。注意到在图2的示例中,每个移位使得每个位位置中的位值改变,意味着每个经移位的位串在图2A中可具有不同的十进制值。进一步注意到每个经移位的位串在图2A中具有B=4位。
注意到一些有效载荷的经移位版本可具有相同的值。有效载荷P=1010是一个这样的示例,如图错误!未找到引用源2B中所示。注意到可用1或3的右循环移位来实现标准形式S=0101,并且哪一个用于在图2B中对有效载荷P=1010进行编码并不重要。
图3图示16位有效载荷(例如对于具有B=16位的有效载荷)的右循环移位和针对每个移位的十进制值的示例。例如,具有零移位的位串(例如位串0101100100000101)可以是有效载荷,并且有效载荷可能被编码在有效载荷的所有可能移位的具有最低十进制值的有效载荷的经循环移位版本中,例如具有九的移位的位串0000101010110010。注意到位串0000010101011001是有效载荷位串1011001000001010的标准形式。例如,S=0000010101011001且P=1011001000001010。进一步注意到位位置b15至b0分别表示图3中的最高至最低有效位位置,其中位位置b15是最高有效位位置,而位置b0是最低有效位位置。
可能在位的二维阵列中重复有效载荷的经移位版本,例如,来自图2的标准形式S=0011或来自图3的标准形式S=0000010101011001,并且位的二维阵列的每个连续行中的位可能按产生有效载荷的经移位版本的右循环移位的整数倍的右循环移位而从紧接在前的行中的位被右循环移位(例如用于图2的示例的两个位位置的右循环移位或用于图3的示例的九个位位置的右循环移位)。
在图4示例中的数据位的二维阵列400中,贯穿阵列400重复位0011的诸如单位串(unit string)之类的串410(例如阵列400的某一数量的位)。注意到串410是有效载荷1100的经右移位版本,并且是通过对有效载荷1100的位向右进行右移位两个位位置来获得的,如以上结合图2所讨论的。例如,串410是有效载荷P=1100的标准形式S=0011。注意到标准形式可具有有效载荷的所有位,但以不同的次序。
二维阵列400中位的每一行按可以是串410中的位从有效载荷位被移位的右循环移位的整数倍的右循环移位而从紧接在前的行中的位被右循环移位。例如,二维阵列400中的位的每一行可按位位置的数量而从紧接在前的行中的位被右循环移位,所述位位置的数量可以是以有效载荷P的标准形式S中的位从有效载荷P中的位被右循环移位的位位置的数量的整数倍。
例如,行到行右循环移位(例如位的每一行可从紧接在前的行中的位被右循环移位的位数)是D=kC,其中D是位的二维阵列(例如阵列400)中位位置中的行到行右循环移位,C是二维阵列中重复串(例如以有效载荷的标准形式的串410)中的位从有效载荷中的位被右循环移位的位位置的数量,并且k是整数。注意到C可以是以有效载荷的标准形式的位从有效载荷中的位被移位的位位置的数量。
在示例中,整数k可能是一,并且由于串410中的位从有效载荷位被移位C=2个位位置,阵列400中位的每一行中的位可从紧接在前的行中的位被右循环移位D=2个位位置。注意到例如C还给出以有效载荷的标准形式的位可能被右循环移位以获得有效载荷的位位置的数量。
阵列400中的每个位可由数据承载介质中的数据承载元素表示(例如被编码在其中)。在示例中,二维阵列400可能被转换成数据承载元素(例如符号)的二维阵列以形成数据承载介质。例如,串410中的位0011将分别被编码在符号的单位串中的符号中,符号的单位串将在数据承载介质中重复(例如周期性地),例如以与串410相同的重复率,即符号的每行的循环移位数量。例如,注意到可能在半色调群集中、在光学元件、磁性元件以及光学元件等中的移位中编码(例如表示)位。
在示例中,数据承载介质可能包括具有数据承载元素的子集(例如数据承载元素的单位串)的多个重复的数据承载元素的二维阵列,其中符号的二维阵列的每一行中的数据承载元素的位置从紧接在前的行中的数据承载元素的位置被右循环移位。例如,行中数据承载元素从紧接在前的行被循环移位的位置的数量可能等于由重复子集的数据承载元素编码的数据位从数据承载介质的有效载荷的位被循环移位的位位置的数量的整数倍。重复子集可能是连续的和/或可能周期性地重复,例如具有等于子集中的位的数量的周期。例如,数据承载元素的子集可能包含一个或多个数据承载元素。
图5是数据承载介质500的示例,诸如二维条形码,数据承载介质500将阵列400中的数据位编码在数据承载元素(诸如符号)的二维阵列中,例如在诸如黑色和白色模块之类的双色调模块的二维阵列中。例如,可能在白色(W)模块中编码零,并且可能在黑色(K)模块中编码一,或反之亦然。这样,串410的经移位的有效载荷位0011可分别被编码为WWKK,例如对应于符号的单位串510。例如,可分别在单位串510的白色模块511、白色模块512、黑色模块513和黑色模块514中编码位0011。对于其它示例,黑色和白色模块可能表示光学媒介中相对低和高的反射区块、磁性介质中的不同磁性的区块或者原子介质的包含原子的区块和空区块。
在示例中,数据承载介质500可能包括单位串510的多个周期性的、连续的重复,其中单位串510包括数据承载介质500的黑色和白色模块的子集。数据承载介质500的每一行中的黑色和白色模块的位置可从紧接在前的行中的黑色和白色模块被右循环移位。例如,行5202中的白色模块5112、白色模块5122、黑色模块5132和黑色模块5142的位置可能从行5201中的白色模块5111、白色模块5121、黑色模块5131和黑色模块5141的位置被右循环移位两个位位置。
图6对应于图4和图5,并图示图4中的阵列400中的位的位置和串410中的位的位置的阵列600。例如,位位置b3、b2、b1和b0分别是串410的位0011的位位置。注意到位位置b3至b0在图6中分别表示最高至最低有效位位置,其中位位置b3是图6中的最高有效位位置,而位位置b0是图6中的最低有效位位置。例如,图6示出在位的每一行中的位的位置按串410的位0011从有效载荷位1100被移位的循环移位(例如两个位位置)的整数倍的循环移位而从紧接在前的行中的位被右循环移位,例如,如以上结合图2所讨论的。
此外,图6中的位位置b3、b2、b1和b0分别对应于图5中的白色模块511、白色模块512、黑色模块513和黑色模块514。例如,这意味着数据承载介质500的每一行中的黑色和白色模块按等于串410的位0011从有效载荷位1100被移位的位位置的数量的模块数量而从紧接在前的行中的黑色和白色模块被右循环移位。例如,数据承载介质500中的黑色和白色模块中的行到行右循环移位可能等于D=kC,其中k=1,并且C是串410的位0011从有效载荷位1100被移位的位位置的数量。
图7是数据承载介质生成系统700的示例的框图,数据承载介质生成系统700可被配置成生成数据承载媒介,诸如数据承载媒介100和500。例如,数据承载介质生成系统700可被配置成生成本文公开的数据承载媒介,诸如数据承载半色调(例如stegatone),图形字母数字,条形码,数据承载磁性、原子和光学媒介等。系统700可包括控制器720,控制器720可被配置成允许系统700执行本文公开的方法和功能以用于生成(例如自动地)本文公开的数据承载媒介。注意到例如,当一个或多个操作由诸如系统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对接,显示器735可包括用作输入设备的触摸屏。控制器720可经由接口740耦合到诸如因特网、局域网(LAN)等之类的数据网络和/或计算机。系统700可包括耦合到控制器720的打印机750。打印机750可用于将对应于数据承载媒介的数字图像数据打印为硬拷贝图像。例如,打印机可能被用于在原子数据承载媒介、磁性数据承载媒介、光学数据承载媒介等上创建数据承载元素的装置替换。
处理器722、存储器724和储存器726可能是诸如例如个人计算机之类的计算机的一部分。这样,机器可读指令可将处理器722配置成允许计算机创建数据承载媒介的电子版本。例如,计算机可耦合到诸如打印机750之类的打印机,该打印机可将数据承载媒介的电子版本打印为硬拷贝图像。
应当认识到:参考图7所述的各种块组件的功能可能不一定被分成数据承载媒介生成系统的不同组件或组件部分。例如,数据承载媒介生成系统的单个组件或组件部分可适于执行图7的多于一个块组件的功能。可替代地,数据承载媒介生成系统的一个或多个组件或组件部分可被组合以执行图7的单个块组件的功能。
机器可读指令可将处理器722配置成允许控制器720来允许数据承载媒介生成系统700来执行自动形成诸如图5中的数据承载介质500之类的数据承载介质的方法800,如由图8中的流程图所图示。数据承载介质生成系统700可响应于例如从用户接收将形成数据承载介质的指令而执行方法800。
在块810处,控制器720可能从将是数据承载介质的有效载荷的第一位串形成第二位串,例如图4中的串410,使得第二串中的位的位置按第一循环移位而从第一串中的位的位置被循环移位(例如右循环移位)。例如,控制器720可接收第一位串作为输入,并响应于所述输入而形成第二位串。
第一位串可能是由控制器720加密的有效载荷的经加密版本。例如,控制器720可能接收有效载荷,并在形成第二位串之前将有效载荷加密成第一位串。
在块820处,控制器720可能在诸如阵列400(图4)之类的位的二维阵列中重复第二位串。在块830处,控制器720可能布置位的二维阵列,使得位的二维阵列的每一连续行中的位按第二循环移位而从紧接在前的行中的位被循环移位(例如右循环移位),第二循环移位是第一循环移位的整数倍。
在块840处,控制器720可能将位的二维阵列转换成数据承载介质的数据承载元素的二维阵列,使得数据承载元素对位的二维阵列中的位进行编码。例如,每个数据承载元素可能对位的二维阵列中的位中的一个进行编码。在包括数据承载半色调图像的示例中,不多于一半的数据承载元素可能对位的二维阵列中的位进行编码。例如,数据承载元素可能包括半色调群集,所述半色调群集以某一方式被移位以对它们相应的位进行编码。
在示例中,对第二位串进行编码的数据承载元素的串可能在符号的二维阵列内重复。例如,在数据承载元素的二维阵列的每一行中的数据承载元素的位置可能按第二循环移位而从紧接在前的行中的数据承载元素的位置被循环移位(例如右循环移位)。例如,控制器840可能使打印机750将数据承载介质打印为硬拷贝图像。
图9是数据恢复系统900(例如数据承载介质读取器)的示例的框图,数据恢复系统900被配置成从诸如数据承载媒介100和500之类的数据承载介质恢复数据,例如有效载荷。例如,数据恢复系统900被配置成从本文公开的数据承载媒介的示例(诸如数据承载半色调(例如隐写式半色调,诸如stegatone)、图形字母数字、条形码等)恢复数据。系统900可以是移动(例如手持式)设备,其可相对于静止的数据承载介质或者静止或固定位置设备移动,所述静止或固定位置设备在数据承载介质移动经过其时保持静止或固定。
系统900可能被配置成捕获数据承载介质的一部分,诸如是图1中数据承载介质100的一部分(例如裁剪)的区域(例如经裁剪的区域)110,或者是图5中数据承载介质500的一部分(例如裁剪)的区域(例如经裁剪的区域)550。
在数据承载介质的经裁剪的区域(例如区域110或区域550)中的数据承载元素的数量是L×W,其中L是裁剪的列(例如垂直)方向上的裁剪中数据承载元素的数量,而W是裁剪的行(例如水平)方向上的裁剪中数据承载元素的数量。例如,对于区域550,L是每列中模块的数量(例如6),而W是每行中模块的数量(例如9)。例如,注意到在每个数据承载元素编码一个位的情况下,符号的数量可能等于位数。例如,区域550中的每个模块编码图6中区域650中的位b之一以及图4中区域450中的一或零之一,意味着区域450和650具有6×9=54位。
例如,在一些半色调数据承载图像中的数据承载元素的每一个例如可能不对位进行编码。例如,在一些半色调数据承载媒介中不大于某一分数(例如1/2)的数据承载元素可能对位进行编码。因此,半色调图像的裁剪可能包含NLW位,其中N是对位进行编码的数据承载元素的分数。注意到对于区域550来说,N=1。
在示例中,位数NLW可能不小于(例如大于或等于)BR,其中B是重复有效载荷的位数(例如在图4-6的示例中是四),而R是在经裁剪的区域中重复有效载荷的每个位的重复的平均数量。例如,NLW≥BR。
虽然图5将对经循环移位的有效载荷进行编码的单位串510示为具有比对应于区域550宽度的数据承载元素数量W少的数据承载元素,但在其它示例中,单位串510中的数据承载元素的数量可大于或等于W。因此,例如,有效载荷中的位的数量(例如B)可大于或等于经裁剪的区域的行中的位的数量。
系统900可包括被配置成捕获数据承载介质(例如数据承载介质的图像)的数据承载媒介捕获设备,例如图像捕获设备910,诸如摄像机(例如CID摄像机)。例如,图像捕获设备910可被配置成将捕获的图像转换成数字图像数据(例如位图、PDF、TIFF、JPEG等)。在示例中,数据承载媒介捕获设备的捕获面积可能是图1中区域110或图5中区域550的大小。例如,注意到捕获设备可能被配置成捕获(例如检测)原子数据承载媒介、磁性数据承载媒介、光学数据承载媒介等上的数据承载元素。
在示例中,系统900可包括被配置成在读取数据承载介质之前照亮数据承载介质的照明源,诸如光源915。例如,光源915可能照亮数据承载介质的一部分,诸如区域110或区域550。
系统900可包括控制器920(例如解码器),控制器920可被配置成允许系统900执行本文公开的方法和功能以用于从数据承载介质(例如从数据承载图像的一部分)恢复诸如有效载荷之类的数据。图像捕获设备910的功能可并入控制器920中,所述图像捕获设备910将数据承载介质的捕获的图像转换成表示数据承载介质的数字图像数据。
控制器920可包括用于处理诸如处理器可读(例如计算机可读)指令之类的机器可读指令的处理器922。机器可读指令可将处理器922配置成允许控制器920来允许系统900执行与从数据承载介质(例如从数据承载介质的一部分)恢复有效载荷相关联的本文公开的方法和功能。例如,机器可读指令可将控制器920配置成允许系统900执行以下方法和功能:所述方法和功能与在例如不读取整个数据承载介质的情况下从可能是数据承载介质的一部分的数据承载介质的捕获的区域恢复数据承载介质的有效载荷相关联。
机器可读指令可被存储在耦合到处理器922的存储器924(诸如非临时性计算机可用介质)中,并且可以软件、固件、硬件或其组合的形式。在硬件解决方案中,机器可读指令可被硬编码为例如专用集成电路(ASIC)芯片的处理器922的一部分。在软件或固件解决方案中,指令可被存储以供处理器922检索。
控制器920可包括存储设备926,诸如硬驱动器、可拆卸闪速存储器等。存储设备926可被配置成存储解密密钥,诸如PKI(公共密钥基础设施)和IBE(基于身份的加密)解密密钥,所述解密密钥被配置成分别对从数据承载介质解码的数据进行解密。例如,控制器920可能被配置成对可能被加密的经恢复的有效载荷进行解密。
人机接口930可耦合到控制器920。接口930可被配置成与诸如键盘和/或例如包括鼠标的指点设备之类的许多输入设备对接。接口930可被配置成与显示器935对接,所述显示器935可包括用作输入设备的触摸屏。控制器920可经由接口940耦合到诸如因特网、局域网(LAN)等之类的数据网络和/或计算机。
应当认识到:参考图9所述的各种块组件的功能可能不一定被分成数据恢复系统的不同组件或组件部分。例如,数据恢复系统的单个组件或组件部分可适于执行图9的多于一个块组件的功能。可替代地,数据恢复系统的一个或多个组件或组件部分可被组合以执行图9的单个块组件的功能。
例如,可在计算机中实现处理器922、存储器924、存储设备926和/或人机接口930,并且例如,捕获设备(例如图像捕获设备910)可能可拆卸地可耦合到计算机。
例如,机器可读指令可将处理器922配置成允许控制器920来允许数据恢复系统900执行从诸如图5中数据承载介质500之类的数据承载介质自动恢复有效载荷的方法1000,如由图10中的流程图所图示。数据恢复系统900可响应于至少捕获数据承载介质500的区域550(例如其图像)而执行方法1000。
注意到有效载荷中的位的数量B可能由用户输入到系统900,或者可能被预编程在系统900中,并存储在储存器926中。注意:表达式D=kC中的整数倍k可能由用户输入到系统900,或者可能被预编程在系统900中,并存储在储存器926中。控制器920可能先验地知道:图像是具有循环码的数据承载介质。此信息可能由用户输入到系统900。可替代地,例如,系统900可能专用于处理具有循环码的数据承载介质。另外,控制器920可能需要知道图像的哪一侧是顶部。例如,可能需要相对于系统900以某一方式定向图像。例如,系统900可能指示用户如何定向图像或系统900,例如经由显示器935、固定到系统900的标签等等。
在块1010处,控制器920可将数据承载介质中的数据承载元素解码成对应于数据承载介质的一部分的位阵列。例如,控制器920可能解码数据承载图像的一部分(例如区域550)中的数据承载元素。控制器920可能向数据承载元素分配零、一或弃权(abstain)。例如,控制器可能向图5中的区域550中的符号分配在图4中阵列400的区域(例如子阵列)450中的位。在示例中,控制器920可能被配置成向由于损坏、噪声而被降级或以其它方式不可编码的任何数据承载元素分配弃权标签。例如,控制器920可能被配置成从恢复过程中排除弃权。
通过示例的方式,为了更好地理解弃权,考虑其中正在测试正确的候选移位并在存在噪声的情况下恢复表示一的位值的有效载荷符号的13个样本的示例。在此示例中,七个符号可能由恢复系统确定为相对无噪声,并且被分配值一。剩余的六个符号可能由噪声降级,导致对于符号中的4个的恢复值零,而对于符号中的2个的一。在不使用弃权的情况下针对该位的平均恢复值将是9/13≈0.69。然而,如果恢复系统向6个噪声符号分配弃权并且排除它们,则所得到的平均将是7/7=1.00。
例如,位阵列可能是阵列(例如子阵列)450,阵列450是图4中阵列400的一部分。例如,图5中的区域550中的符号可能对图4中的阵列450中的位进行编码。
在块1020处,控制器920可确定来自位阵列的位中的有效载荷的版本(例如潜在的版本)P*以及对应于有效载荷的版本的循环移位(例如右循环移位)。在块1030处,控制器920可确定有效载荷的版本的标准形式。在块1040处,控制器920可按对应于有效载荷的标准形式和有效载荷的原始形式之间的移位的循环移位对以标准形式的有效载荷的版本进行移位,以恢复位中的有效载荷。
下面是控制器920可能如何确定来自位阵列的位中的有效载荷的版本P*和对应于有效载荷的版本P*的循环移位(例如参见图10中的块1020)的示例。例如,有效载荷的版本P*可能是有效载荷P的经移位版本,并且可能从P*的多个候选版本Pi'中被确定,其中i=0,k,2k,…,(B-1)k,其中k是来自以上定义的关系D=kC的整数,而B是有效载荷中位(例如位位置)的数量。例如,注意到每个候选版本Pi'可能是有效载荷P的经移位版本。
例如,注意到可从候选行到行循环移位(例如偏移)di确定(例如估计)每个候选版本Pi'。例如,针对从经裁剪的区域(例如区域550)解码的阵列(例如区域450中的阵列)中位的所有可能的行到行循环移位中的每一个获得候选版本Pi'。
图11A-11D图示针对图5中数据承载介质500的区域550和从解码区域550获得的图4中区域450中的位的对应阵列以及给出区域450中位的位位置b的图6中的区域650从多个候选版本Pi'确定有效载荷P的版本P*的示例。注意到图11A、11B、11C和11D分别对应于0、1、2和3的行到行候选移位,并且从而对应于d0、d1、d2和d3的候选行到行偏移,其中对于图4-6的示例,k=1并且B=4。
对应于从候选版本Pi'确定的有效载荷的版本P*的候选行到行偏移d给出D,在例如区域450、550和650的经裁剪的区域中的以及从而在整体数据承载介质(例如数据承载图像500)和对应于整体数据承载介质的整体数据阵列(例如阵列400和600)中的行到行右循环移位。此信息允许确定C(例如根据D=kC),有效载荷P的标准形式S中的位从有效载荷P被右循环移位的位位置的数量以及从而S中的位需要被右循环移位以获得P的位位置的数量。
图11A对应于d0=0的行到行偏移(例如零的候选移位),意味着候选位分配与图6的区域650中相同,并且数据与图4的区域450中相同。图11A中的b3数据(例如加阴影的一和零)被如下求和:0+1+0+1+0+1+0+1+0+1+0+1+0+1+0+1+0+1=9。图11A中的b2数据被如下求和:1+0+1+0+1+0+1+0+1+0+1+0=6,b1和b0数据也是。然后通过将相应的总和除以求和中样本的数量来确定对于每个{bB-1,…,b1,b0}的总和的平均。例如,对于位位置b3的总和除以18个样本。图11A给出对于位位置b中的每一个的总和以及对于零的行到行偏移的每个位位置的总和的平均。
图11B对应于d1=1的行到行偏移(例如一的候选移位),意味着图11B中的每一行从紧接在前的行被右循环移位一个位位置。图11B中的b3数据(例如加阴影的一和零)被如下求和:0+0+0+0+1+1+0+0+0+0+1+1+0+0=4。图11B中的b2数据被如下求和:1+1+1+0+0+0+1+1+1+0+0+0+1=7,b1和b0数据也是。然后通过将相应总和除以求和中样本的数量来确定对于每个{bB-1,…,b1,b0}的总和的平均。例如,将对于位位置b3的总和除以14个样本。图11B给出对于位位置b中的每一个的总和以及对于一的行到行偏移的每个位位置的总和的平均。
图11C对应于d2=2的行到行偏移(例如二的候选移位),意味着图11C中的每一行从紧接在前的行被右循环移位两个位位置。图11C中的b3数据(例如加阴影的一和零)被如下求和:0+0+0+0+0+0+0+0+0+0+0+0+0+0+0=0。图11C中的b2数据被如下求和:1+1+1+1+1+1+1+1+1+1+1+1+1+1=12,b1和b0数据也是。然后通过将相应总和除以求和中样本的数量来确定对于每个{bB-1,…,b1,b0}的总和的平均。例如,将对于位位置b3的总和除以15个样本。图11C给出对于位位置b中的每一个的总和以及对于二的行到行偏移的每个位位置的总和的平均。
图11D对应于d3=3e的行到行偏移(例如三的候选移位),意味着图11D中的每一行从紧接在前的行被右循环移位三个位位置。图11D中的b3数据(例如加阴影的一和零)被如下求和:0+0+0+1+1+1+0+0+0+1+1+1+0+0=6。图11D中的b2数据被如下求和:1+1+1+1+0+0+1+1+1+1+0+0+1+1=10,b1和b0数据也是。然后通过将相应总和除以求和中样本的数量来确定对于每个{bB-1,…,b1,b0}的总和的平均。例如,将对于位位置b3的总和除以14个样本。图11D给出对于位位置b中的每一个的总和以及对于三的行到行偏移的每个位位置的总和的平均。
通过向小于0.5的平均值分配零的值并向大于或等于0.5的平均值分配一的值,可从位位置{bB-1,…,b1,b0}的平均值确定对于每个候选移位的候选版本Pi'的位位置{bB-1,…,b1,b0}中的位。例如,这是为分别针对分别在图11A、11B、11C和11D中的0、1、2和3的候选移位的候选版本P0'、P1'、P2'和P3'示出的。
在示例中,在每个位位置中的不确定性uj可被确定为在位位置中的平均值和分配给位位置的位值之间的差的绝对值,如图11A-11D中所示。例如,对于每个候选移位的候选版本Pi'的置信水平可被计算为CL=1-(2/B)∑uj,其中求和是从j=0,1,2,...,(B-1)。在图11A、11B、11C和11D中分别给出对于候选版本P0'、P1'、P2'和P3'中的每一个的每个位中的不确定性,如乘以100以将它们表达为百分比的置信水平也是。例如,对于1的候选移位,对于P2'和B=4的确定性水平是CL=1-(2/4)(0.29+0.46+0.38+0.43)=0.22或百分之22。
在示例中,具有最高置信水平的候选版本Pi'被取为位中的有效载荷的版本P*,并且给出具有最高置信度的候选版本Pi'的候选移位di给出在裁剪区域以及从而整体数据承载介质中的行到行右循环移位D。例如,在图11A-11D的示例中,P2'=0110具有最高置信水平,而给出P2'=0110的候选移位d2是二。这意味着P*=P2'=0110并且D=d2=2。因此,在区域450、550和650中以及从而在数据承载介质500和对应阵列400和600中的行到行右循环移位是D=2。
控制器920然后可确定有效载荷的确定版本P*的标准形式(例如标准相)S。例如,控制器可能通过将P*中的位右循环移位到不同位置而确定有效载荷的版本P*的多个版本。例如,图12中给出P*=0110的所有可能的循环移位及其十进制值。例如对应于最低的十进制值的P*=0110的标准相是S=0011。
控制器920然后可从D=kC确定C,标准相需要被移位的位位置的数量。注意到对于本示例k是1,意味着C=D=2。控制器920然后可按对应于有效载荷的版本的右循环移位C对有效载荷的版本P*的标准形式S进行右循环移位,以恢复位中的有效载荷。例如,控制器920可能按二对S=0011进行右循环移位,以恢复有效载荷P=1100,如从图12显而易见。
对于一些实施例,可能针对诸如stegatone之类的一些数据承载半色调图像来修改上述示例。
图13是经裁剪的区域1300的示例,经裁剪的区域1300可表示诸如stegatone之类的编码的数据承载半色调图像的捕获的部分。例如,区域1300可能对应于图1中的区域110,并且可能是数据承载介质100的一部分。区域1300可能包括高亮模块(例如高亮单元)1310和阴影单元1320。例如,区域1300中的每个单元可能对应于例如可能编码一位的数据承载元素,诸如数据承载符号。例如,区域1300可以是L=23个符号长和W=23个符号宽。
例如,在数据承载半色调图像的亮部分中,阴影单元1320可能完全白色,并且从而不能携带任何数据,而高亮单元1310可被渲染为能够通过移位携带数据的小黑色群集。例如,在数据承载半色调图像的暗区中,高亮单元1310可能完全黑色,并且不能携带任何数据,而阴影单元1320可能被渲染为可携带数据的小白色群集。因此,例如,在数据承载半色调图像的亮区或暗区中,不多于一半的单元(例如符号)可能编码数据。
使用图13的示例中的半色调单元图案,可能可从数据承载半色调图像的所有高亮部分捕获所有高亮区域1400,如图14的示例中所示,其中半色调单元的边界被叠加。例如,每个阴影单元1420可能是全白色,并且从而不能携带数据。
使用图13的示例中的半色调单元图案,可能从数据承载半色调图像的所有阴影部分捕获所有阴影区域1500,如图15的示例中所示,其中半色调单元的边界被叠加。例如,每个单元高亮单元1510可能是全黑色,并且不能携带数据。
从其中发生高亮和阴影二者的数据承载半色调图像的一部分捕获区域1600也是可能的,如在图16的示例中。例如,在图16中,代替叠加单元边界,在阴影单元的每一个中示出点1605,以示出单元在哪里是数据承载(例如小白色群集)和非数据承载(例如实心白色单元)。例如,图16证实人们不能依赖于棋盘图案来定位潜在的数据承载单元。
例如,注意到连同全白色和全黑色单元,其它单元也可能被确定为不能携带数据,例如所以在半色调数据承载图像中最多仅有一半的单元可能可用于携带(例如编码)数据。例如,在关系NLW≥BR中,N可能是1/2或更小。例如,注意到不能编码数据的单元在以上结合图4-6和11A-11D所讨论的示例中可能被视为弃权。
图17图示来自其中位位置被叠加在高亮单元1310和阴影单元1320上的图13的示例的区域1300。例如,图17中单元中的数给出在那些单元中编码的位的位置。也就是说,例如,位位置是可从区域1300解码而获得的位阵列内的位置。
在图17的示例中,有效载荷(例如,以及从而至少为有效载荷的移位版本,诸如有效载荷的标准版本)中位的数量B是64,并且行到行右循环移位是41。注意到由于区域1300在行方向上具有W=23个单元(例如符号),并在列方向上具有小于B的L=23个单元(例如符号),并且每个单元有一位,图17中的每一行具有小于B的23个单元(例如符号)。例如,这意味着:对有效载荷进行编码的符号的数量可超过在行和/或列方向上的经裁剪的区域中的符号数量,例如其中每个符号编码一位。因此,例如,在有效载荷以及从而有效载荷的移位版本中的位数可大于或等于在从区域1300解码的位阵列中的行和/或列中的位数。注意到至少编码有效载荷的移位版本的数据承载介质中的符号数量可大于经裁剪的区域的列方向上的符号数量L和/或经裁剪的区域的行方向上的符号数量W。
注意到在图17的示例中,有效载荷位位置是b63至b0,其中在图17中仅示出下标。注意到有效载荷的位的所有位位置以及从而有效载荷的所有位出现在阵列1300中。这意味着阵列至少包括有效载荷中所有位的移位版本,尽管B大于L和W二者。
如果从数据承载半色调图像的高亮部分捕获区域1300(例如,如在图14中),则所有的阴影单元1320是弃权,并且没有任何奇数位是可解码的,因为所有的阴影单元将是实心白色,并且从而不能包含任何数据。如果从数据承载半色调图像的阴影部分捕获区域1300(例如,如在图15中),则所有的高亮单元1310是弃权,并且没有任何偶数位是可解码的,因为所有的高亮单元将是实心黑色,并且从而不能包含任何数据。每当B是偶数时,这些问题可持续。
因此,例如,对于一些数据承载半色调图像,B应当是奇数。例如,向有效载荷添加位(B=65)可解决此问题,如图18中所示。也就是说,例如,使得B为奇数允许在高亮单元1310中和在阴影单元1320中的偶数位和奇数位二者,如图18中所示。例如,如果裁剪区域足够大(例如有效载荷位重复足够的次数)并且D的值是偶数,则对于全阴影或全高亮的情况,有效载荷位的奇数数量B独自可能为所有的位起作用。
然后,例如,在至少编码有效载荷的移位版本的数据承载介质中符号的重复串中的符号数量可能是B,并且从而是奇数。此外,例如,符号的每一行从紧接在前的行的符号被右循环移位的位置数量可能是D,并且从而是偶数。
注意到在全阴影或全高亮区块中,经裁剪的区域1300中不多于一半的单元可编码数据。因此在全阴影或全高亮的区块中,N可能是1/2,意味着从NLW≥BR的等式部分中,图18(例如对于B=65,L=W=23)中每个有效载荷位的平均数重复是R=(1/2)(23)(23)/65=4,例如意味着可从经裁剪的区域1300中恢复有效载荷,其中B>W和/或L。
在图19的示例中,行到行移位D是奇数(例如1)并且不起作用。这是因为不存在位位置9至28,并且存在的位的一半在数据承载半色调图像的高亮或阴影部分中可能是弃权。因此,例如,对于一些数据承载半色调图像,D应当是偶数。
图20图示数据承载半色调图像(例如stegatone)的经裁剪的区域(诸如经裁剪的区域2000)的示例,其中B是奇数并且等于65,而D是偶数并且等于二。这是根据以上结合图4-6和11A-11B所讨论的方法可以在不捕获整个数据承载介质的情况下从中恢复有效载荷P的裁剪区域的示例。注意到图11A-11D中样本的1/2对于经裁剪的区域2000将是弃权,例如,在表达式NLW≥BR中的N将是1/2。进一步注意:例如因为表达式D=kC中的k将是二,行到行移位D将是偶数。此外,有效载荷位的数量B将是奇数。
对于诸如stegatone之类的数据承载半色调图像,D=0的行到行移位(由于C=0的右循环移位)可能在所得的半色调中创建垂直图案,并可能对于小的经裁剪的区域导致不可恢复的有效载荷。以一位为代价,这可被避免,例如通过总是将有效载荷的最高有效位设置为一。例如,这将迫使C为非零,只要在有效载荷中存在至少一个零位,例如,有效载荷的标准版本将总是在最高有效位中具有零,因此迫使非零的C。注意:当有效载荷的所有位是1时,这将不发生。对于这一个不寻常的情况,所有的行将以相同的方式移位而不管C。
虽然本文已经图示和描述了具体示例,但其显然意图在于所要求保护的主题的范围仅由下面的权利要求及其等同物限制。
Claims (15)
1.一种数据承载介质,包括:
数据承载元素的阵列;
其中数据承载元素的阵列表示位阵列;
其中在位阵列内重复某一数量的位;以及
其中位阵列的每一行中的位的位置从紧接在前的行中的位的位置被循环移位。
2.根据权利要求1所述的数据承载介质,其中某一数量的位包括数据承载介质的有效载荷的经循环移位版本。
3.根据权利要求1所述的数据承载介质,其中位阵列的每一行中的位的位置按某一数量的位中的位从数据承载介质的有效载荷中的位被移位的位位置的数量的整数倍的位置数量而从紧接在前的行中的位的位置被循环移位。
4.根据权利要求1所述的数据承载介质,其中某一数量的位包括奇数数量的位。
5.根据权利要求1所述的数据承载介质,其中位阵列的每一行中的位的位置按位置的偶数数量而从紧接在前的行中的位的位置被循环移位。
6.根据权利要求1所述的数据承载介质,其中数据承载介质包括数据承载半色调图像、条形码、原子数据承载介质、磁性数据承载介质或光学数据承载介质。
7.一种自动形成数据承载介质的方法,包括:
从将是数据承载介质的有效载荷的第一位串形成第二位串,使得第二串中的位的位置按第一循环移位而从第一串中的位的位置被循环移位;
在位的二维阵列中重复第二位串;
布置位的二维阵列,使得位的二维阵列的每一行中的位的位置按第二循环移位而从紧接在前的行中的位的位置被循环移位,所述第二循环移位是第一循环移位的整数倍;以及
将位的二维阵列转换成数据承载介质的数据承载元素的二维阵列,使得数据承载元素对位的二维阵列中的位进行编码。
8.根据权利要求7所述的方法,其中数据承载元素包括以某一方式被移位以编码其相应的位的半色调群集。
9.一种从数据承载介质自动恢复有效载荷的方法,包括:
将数据承载介质中的数据承载元素解码成位阵列;
确定来自位阵列的位中的有效载荷的版本以及对应于有效载荷的所述版本的循环移位;
确定有效载荷的所述版本的标准形式;以及
按对应于有效载荷的所述版本的循环移位对有效载荷的所述版本的标准形式进行移位,以恢复位中的有效载荷。
10.根据权利要求9所述的方法,其中确定来自位阵列的位中的有效载荷的版本包括:确定位阵列的多个经循环移位版本以及来自位阵列的多个经循环移位版本中的每一个的针对有效载荷的所述版本的候选。
11.根据权利要求10所述的方法,其中每个候选包括:根据从中确定候选的位阵列的经循环移位版本中的位的平均值而确定的位。
12.根据权利要求10所述的方法,其中确定来自位阵列的位中的有效载荷的版本进一步包括:确定针对每个候选的置信水平,并将有效载荷的所述版本取为具有最高置信水平的候选。
13.根据权利要求12所述的方法,其中对应于有效载荷的所述版本的循环移位是从中确定具有最高置信水平的候选的位阵列的经循环移位版本的循环移位的整数倍。
14.根据权利要求9所述的方法,其中确定有效载荷的所述版本的标准形式包括:确定有效载荷的所述版本的所有可能的经循环移位版本,并将具有最低十进制值的有效载荷的所述版本的经循环移位版本取为有效载荷的所述版本的标准形式。
15.根据权利要求9所述的方法,其中有效载荷包括超过位阵列的行和/或列中的位的数量的位数。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/023729 WO2014120138A1 (en) | 2013-01-30 | 2013-01-30 | Data-bearing media |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104969174A CN104969174A (zh) | 2015-10-07 |
CN104969174B true CN104969174B (zh) | 2018-07-10 |
Family
ID=51262706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380071854.2A Active CN104969174B (zh) | 2013-01-30 | 2013-01-30 | 数据承载媒介 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9665813B2 (zh) |
EP (1) | EP2951675B1 (zh) |
CN (1) | CN104969174B (zh) |
WO (1) | WO2014120138A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3047353B1 (en) * | 2013-09-20 | 2020-04-08 | Hewlett-Packard Development Company, L.P. | Data-bearing medium |
CN106687298B (zh) | 2014-09-19 | 2020-02-14 | 惠普发展公司,有限责任合伙企业 | 多有效负荷缩放图 |
TWI514840B (zh) * | 2014-10-20 | 2015-12-21 | Univ Nat Taipei Technology | 半色調資料隱寫編碼系統及半色調資料隱寫解碼系統 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3731949B2 (ja) * | 1996-09-17 | 2006-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記録媒体の読み出し装置 |
JP2001035091A (ja) * | 1999-05-18 | 2001-02-09 | Hitachi Ltd | サーボ帯域の広い且つデータフォーマット効率の良いサーボフォーマット及びデータフォーマットを有する磁気ディスク並びにその磁気ディスクを用いた磁気ディスク装置、及びそのサーボフォーマット及びデータフォーマットの作成方法 |
WO2001016869A1 (en) | 1999-09-01 | 2001-03-08 | Digimarc Corporation | Watermarking digital images with intensity specified by area |
US6296192B1 (en) * | 1999-12-16 | 2001-10-02 | Xerox Corporation | Machine-readable record with a two-dimensional lattice of synchronization code interleaved with data code |
US20010037455A1 (en) * | 2000-03-09 | 2001-11-01 | Lawandy Nabil M. | Authentication using a digital watermark |
JP4389373B2 (ja) * | 2000-10-11 | 2009-12-24 | ソニー株式会社 | 2元巡回符号を反復型復号するための復号器 |
WO2002043000A2 (en) | 2000-11-22 | 2002-05-30 | S. H. Hi Start Ltd. | Hiding images in halftone pictures |
JP3614784B2 (ja) | 2001-02-01 | 2005-01-26 | 松下電器産業株式会社 | 情報埋め込み装置、情報埋め込み方法、情報取り出し装置、および情報取り出し方法 |
US6667695B2 (en) * | 2001-06-25 | 2003-12-23 | Anoto Ab | Position code |
US7480072B2 (en) | 2001-08-29 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Efficient and flexible multi-bit halftoning |
US7145556B2 (en) * | 2001-10-29 | 2006-12-05 | Anoto Ab | Method and device for decoding a position-coding pattern |
DE10211982B4 (de) | 2002-03-18 | 2004-05-06 | Mediasec Technologies Gmbh | Verfahren zur Markierung eines Datensatzes |
EP1656633B1 (en) * | 2003-06-13 | 2016-05-04 | Anoto AB | On-demand printing of coding patterns |
US20050259820A1 (en) | 2004-05-24 | 2005-11-24 | Eastman Kodak Company | Temporally distributed watermarking for image sequences |
SE0401647D0 (sv) * | 2004-06-28 | 2004-06-28 | Anoto Ab | Coding and decoding of data |
US7240849B2 (en) * | 2004-08-27 | 2007-07-10 | Hewlett-Packard Development Company, L.P. | Glyph pattern generation and glyph pattern decoding |
US8872869B2 (en) * | 2004-11-23 | 2014-10-28 | Hewlett-Packard Development Company, L.P. | System and method for correcting defective pixels of a display device |
US20060242562A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Embedded method for embedded interaction code array |
RU2008120711A (ru) * | 2005-10-26 | 2009-12-10 | Конинклейке Филипс Электроникс Н.В. (Nl) | Способ внедрения данных в информационный сигнал |
US7991153B1 (en) * | 2008-08-26 | 2011-08-02 | Nanoglyph, LLC | Glyph encryption system and related methods |
US8456699B2 (en) * | 2009-09-21 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | System and method for creating a data-bearing image |
JP5344045B2 (ja) * | 2009-09-30 | 2013-11-20 | 富士通株式会社 | 無線通信装置および無線通信方法 |
WO2011093870A1 (en) | 2010-01-29 | 2011-08-04 | Hewlett Packard Development Company, L.P. | Parallel test payload |
-
2013
- 2013-01-30 WO PCT/US2013/023729 patent/WO2014120138A1/en active Application Filing
- 2013-01-30 US US14/654,108 patent/US9665813B2/en active Active
- 2013-01-30 EP EP13873303.5A patent/EP2951675B1/en active Active
- 2013-01-30 CN CN201380071854.2A patent/CN104969174B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP2951675A4 (en) | 2016-09-14 |
WO2014120138A1 (en) | 2014-08-07 |
US20150356392A1 (en) | 2015-12-10 |
EP2951675A1 (en) | 2015-12-09 |
EP2951675B1 (en) | 2020-07-08 |
CN104969174A (zh) | 2015-10-07 |
US9665813B2 (en) | 2017-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gutub et al. | A novel Arabic text steganography method using letter points and extensions | |
JP5253352B2 (ja) | 文書内にメッセージを埋め込む方法、及び距離場を使用して文書内にメッセージを埋め込む方法 | |
JP4269861B2 (ja) | 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法 | |
CN101520885B (zh) | 图像解密装置和图像解密方法 | |
JP4898771B2 (ja) | バーコード除去装置及びその除去方法 | |
JP2010191944A (ja) | 認証情報を格納するための、印刷文書上の二次元バーコードスタンプの作成と配置 | |
JP2010016816A (ja) | 重要コンテンツを認証データに保持した状態で文書を自己認証する方法 | |
JP2010262558A (ja) | 情報表現画像、印刷物、画像処理装置及び画像処理プログラム | |
CN104969174B (zh) | 数据承载媒介 | |
Hel-Or | Watermarking and copyright labeling of printed images | |
WO2002089464A1 (en) | Detecting halftone modulations embedded in an image | |
CN105745597B (zh) | 数据承载介质 | |
JP2007042054A (ja) | 再コード化一次元/二次元コード、再コード化一次元/二次元コードシステム、再コード化一次元/二次元コード符号化装置、及び再コード化一次元/二次元コード復号装置 | |
Tseng et al. | Data hiding for binary images using weight mechanism | |
JP4232676B2 (ja) | 情報検出装置,画像処理システム,および情報検出方法 | |
Braci et al. | Security evaluation of informed watermarking schemes | |
Pamboukian et al. | Reversible data hiding and reversible authentication watermarking for binary images | |
Yeh et al. | Content-based watermarking in image authentication allowing remedying of tampered images | |
US9569709B2 (en) | Data bearing medium | |
Chen et al. | Robust watermarking scheme for binary images using a slice-based large-cluster algorithm with a Hamming Code | |
Shen et al. | Visual cryptography based multiparty copyright protect scheme | |
JP2006186509A (ja) | 電子透かしシステム | |
Tiwari | High capacity and secured methodologies for steganography | |
JPWO2009087764A1 (ja) | ウェーブレット変換した2次元バーコードの情報符号化方法 | |
JP2006270434A (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 |