The visual world is full of textures and structures that may be described as pseudo-periodic. From man-made objects such as shingle roofs, brick walls or striped clothing, to natural or biological objects such as trees, grass or blown sand, these pseudo-periodicities abound at many scales. Neuroscience teaches that the mammalian visual system processes visual information in a localized, patch-by-patch manner. The main benefit of this type of decomposition is that visual information is more efficiently represented. Mathematical models and transform algorithms have been developed to mimic this type of behavior in order to decrease the representation cost of a dataset to improve analysis and compression. Transform algorithms include the Discrete Cosine Transform (DCT) used in JPEG (JPEG-DCT), the Wavelet Transform (WT), the Wavelet Packets (WP), the Local Trigonometric Transforms (LTT), and the Brushlet Transform (BT).
These methods provide techniques for localizing both a signal and its frequency content. In addition, the Local Fourier Transform (LFT) and the Brushlet Transform are equipped with a phase. But all of these approaches suffer from a crucial problem of how to effectively treat the initial signal to provide boundary conditions which match those of bases associated with each particular transform. Without any information outside of the original interval, there lacks an effective way to both provide proper boundary conditions matching the associated transform bases, and also recover the original signal from the transformed coefficients in a stable manner. Furthermore, many of these methods operate by folding, or mixing, information between adjacent intervals. Instability of this folding process on or near an edge can increase edge effects which translate recursively to all lower levels of the transform. This can result in inefficient representation, improper segmentation and incorrect analysis of the signal.
The present invention provides localized analysis based on a Continuous Boundary Local Trigonometric Transform (CBLTT) that corrects the shortcomings of the LTT. The LTT projects a signal onto smooth overlapping basis functions, whereas the CBLTT decomposes the signal into regions that are assumed to be independent of one another. Each independent subspace then undergoes an invertible, nonlinear transformation to reduce an edge effect, and is immediately projected onto an orthogonal basis; e.g., Fourier basis, Sine/Cosine basis, Wavelet basis. As a tensor product, it can be applied to multi-dimensional data; e.g., signals, images, video. This method efficiently segments the frequency domain of a signal, and generates a new version of the Brushlet Transform. This new class of transforms has many applications ranging from compression to segmentation to steganography, for example. The application of this new class of transforms to steganography and other applications is disclosed, described, and claimed herein.
One embodiment of the invention is a method for digital signal compression executed by a processor including the steps of: a) applying a first extension to a first boundary and a second extension to a second boundary of a global subspace of a signal; b) performing isometric folding at the first boundary and the second boundary of the subspace; c) discarding the first extension and the second extension of the subspace; d) scaling the subspace; e) applying a discrete transform to the subspace to generate a transformed subspace; f) storing the transformed subspace in a best basis tree; g) halving the scaled subspace of step d) into a first half subspace and a second half subspace; h) recursively repeating steps a) through f) on the first half subspace and the second half subspace; and i) applying a metric for a best basis algorithm performed on the best basis tree when a bottom of the best basis tree is reached.
The folding may be performed at a gridpoint or a midpoint. The discrete transform is DST-IV using sine polarity or DCT-IV using cosine polarity. The folding is full, fixed or multiple. Periodized folding may be performed with a fast Fourier transform after step d). A complex valued or a real-valued fast Fourier transform may be applied to the signal before step a). The best basis metric includes sparsity and entropy. The discrete transform is one of DCT-I, DCT-II, DCT-III, DST-1, DST-II, DST-III and the folding is mixed polarity or hybrid polarity. Step b) performs shift isometric folding. One of the first extension and the second extension is used in folding and unfolding. The first extension and the second extension, a shift value of the isometric folding, and a scale value of the scaling may be stored. The isometric folding includes a folding operator determined as a function of a rising cutoff function.
A result of step i) may be applied as a tensor product to higher dimensional data. The higher dimensional data includes at least one of audio, image and video data. An inverse operation may be performed to each of steps a) through i). A predetermined set of transform coefficients of the transformed subspace are discarded and a remaining set of the transform coefficients are used to invert the transformed subspace to reconstruct a compressed version of the digital signal.
In another embodiment, a method for embedding hidden data into an object includes: a) applying a first extension to a first boundary and a second extension to a second boundary of a global subspace of a digital signal of the object; b) performing isometric folding at the first boundary and the second boundary of the subspace; c) discarding the first extension and the second extension of the subspace; d) scaling the subspace; e) applying a discrete transform to the subspace to generate a transformed subspace; f) modifying transform coefficients of the transformed subspace to include the hidden data such that transforming the modified transform coefficients generates a modified digital signal; g) storing the transformed subspace in a best basis tree; h) halving the scaled subspace of step d) into a first half subspace and a second half subspace; i) recursively repeating steps a) through f) on the first half subspace and the second half subspace; and j) applying a metric for a best basis algorithm performed on the best basis tree when a bottom of the best basis tree is reached. Non-limiting examples of an object into which hidden data may be embedded include printed media, clothing, metal objects, audio data, image data, video data, webpages, product packaging, product hang-tags, wristbands, blister packaging, machine parts, billboards, and window tint.
In yet another embodiment, a method of extracting hidden data in an object by a device includes capturing an image of the object, converting the image to a digital signal, and includes: a) applying a first extension to a first boundary and a second extension to a second boundary of a global subspace of a digital signal of the image of the object; b) performing isometric folding at the first boundary and the second boundary of the subspace; c) discarding the first extension and the second extension of the subspace; d) scaling the subspace; e) applying a discrete transform to the subspace to generate a transformed subspace; f) storing the transformed subspace in a best basis tree; g) halving the scaled subspace of step d) into a first half subspace and a second half subspace; h) recursively repeating steps a) through f) on the first half subspace and the second half subspace; applying a metric for a best basis algorithm performed on the best basis tree when a bottom of the best basis tree is reached; and extracting the hidden data from the transformed subspace. The device may be, for example, a mobile device.
These and further embodiments are described in the following detailed description and examples.
In order to understand the invention and to see how it may be carried out in practice, embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which:
Particular embodiments of the invention will now be described in detail with reference to the accompanying drawings. In the following description, specific details are set forth in order to provide a sufficient understanding of the inventive subject matter. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without including all of these specific details. Moreover, the particular embodiments described herein are provided by way of example and do not limit the scope of the invention.
The present invention applies a continuous boundary local trigonometric transform to provide analysis of a signal in a localized, patch by patch manner. To construct a continuous boundary local trigonometric transform, a set of operators are defined as follows. Let x(t) be a signal and Ik=(αk,αk+1) be an interval. Then:
where U(rα∈)is a unitary operator associated with the region t ∈(α−∈,α+∈) and is defined as:
In other words, UI) with d ∈
)of the Heaviside step function satisfying the following condition:
An example of a Cm() rising cutoff function is illustrated in graph 200 of
Other possible choices of rising cutoff functions exist, each with varying properties. As can be seen, the folding operator U(r, α,∈) makes a signal locally even for the region (α,α+∈) and locally odd for the region (α−∈,α). Because of this polarity, the folding operator U is a cosine polarity folding operator.
The adjoint operator of U(r, α,∈) is the unitary unfolding operator:
The unitary unfolding operator provides a signal locally odd for the region (α,α+∈) and locally even for the region (α−∈,α). U* is therefore a sine polarity folding operator.
For the operator UI
With the folding operators as defined above, computation of discrete versions of these operators may be performed. To be specific, it may be advantageous to fold at gridpoint locations or at midpoint locations that are between gridpoints. If midpoint folding is implemented, then the rk consists of discrete points indexed from −R≦k≦R −1 where R is the radius of the rising cutoff function. In this case, cosine polarity folding of a function xn for n=0, . . . , R−1 takes the form:
{tilde over (x)}
n
=r
n
x
n
+r
−n−1
x
−n−1
{tilde over (x)}
N−n
=r
n
x
N−n
−r
−n−1
x
N+n+1
where represents the folded signal. This version of midpoint folding is straightforward to implement. However, if folding occurs at gridpoints, then an odd number of discrete values indexed from −R≦k≦R for rk are used. For example, if cosine folding is employed, then:
{tilde over (x)}
n
=r
n
x
n
+r
−n
x
−n
{tilde over (x)}
N−n
=r
n+1
x
N−n
−r
−n−1
x
N+n+2 for n=0, . . . , R−2
The above operators are modified to provide the periodized unfolding operator W*I
The periodized folding operator WI
While there are an infinite number of possible continuous extensions, it is necessary to create one with properties for stable inversion. The reason for this requirement is that after folding is performed in the forward direction, the folded extension is discarded. Thus, inverse folding cannot be performed unless an inverse formula can be derived from the structure of the artificial extension. Finding a stable inverse is not a simple task. To begin with, an inverse does not always exist in the continuous case. However, this issue may be circumvented for a discrete setting.
In one embodiment, an even extension with midpoint folding is constructed as follows. Let x, be a function of N+1 discrete points indexed from 0to N. For simplicity, let R be the radius of the rising cutoff function such that
and let n=0, . . . , R−1 for all of the following formulas.
Then, one embodiment of the discrete even extension can be constructed by letting x−n−1=xn for values of the extension to the left of xq, and xN+n+1=xN−n for values of the extension to the right of xn. Accordingly, folding at the left hand edge becomes {tilde over (x)}n=(rn +r−n−1) and folding at the right hand edge is represented by {tilde over (x)}N−n=(rn−r−n−1)xN−n.
Inversion simply becomes
Next, two methods are disclose that each guarantee isometry. The first method begins with applying a first extension as an even reflection about a first boundary of a subspace interval of a signal. Odd polarity folding at the first boundary of the subspace is performed, and the folded first extension is discarded. A second extension is applied as an even reflection about a second boundary of the subspace, and a predetermined amount s is added to the signal and the second extension. Even polarity folding at the second boundary of the subspace is performed. Thereafter, the predetermined amount s is subtracted from the signal and the second extension to preserve continuity throughout the interval. The folded second extension is then discarded. Periodized unfolding may be performed if desired, by for example, projecting onto a Fourier basis.
A generalized isometric folding formula for the left half interval is:
For inversion:
The value of s may be determined via a root finding method, but since these are slow to converge, an explicit formula is provided using the definition of an isometry.
For the forward direction:
For the inverse direction:
The second method for guaranteeing an isometry is to globally scale the data.
The scale factor p for the forward direction is:
The scale factor p for the inverse direction is:
where zn is the result of applying the standard continuous unfolding routines to {tilde over (x)}2p,n.
A continuous boundary local trigonometric transform may thus be instantiated by applying a first extension to a first boundary and a second extension to a second boundary of a global subspace of a signal. Standard isometric folding is performed at the first boundary and the second boundary of the subspace such as with midpoint cosine polarity with full folding. The first extension and the second extension of the subspace are discarded. The subspace results are scaled by a value p and the DCT-IV of the subspace is taken and the results are stored in a best basis tree. The scaled subspace is split in half, and the steps of applying extensions through scaling the subspace are performed recursively. When a bottom of the best basis tree is reached, a best basis algorithm is performed on the best basis tree using a comparison metric such as sparsity, entropy, etc.
All of these methods may be applied to higher dimensional data (e.g., images, video, etc.) by applying them as a tensor product. For example,
In other embodiments, information may be encoded so as to be hidden in other information by utilizing the CBLTT. A first signal to be hidden within a second signal may be provided by converting the second signal into a frequency domain using the CBLTT as discussed above. The first signal is then broken up and encoded into different sections of the transformed second signal. The frequency domain second signal encoded with the first signal is then transformed back into the time domain using an inverse CBLTT on each of the sections.
The second signal encoded with the first signal is recovered by performing a CBLTT transform from time domain to frequency domain. The first signal is then extracted from the frequency domain and an inverse CBLTT may be performed to recover the first signal.
The CBLTT is effective in embedding large quantities of data in a manner imperceptible to the human eye. The methods discussed above are further robust enough to be implemented in various environments to overcome associated channel noise. The methods are easily adapted to existing manufacturing techniques and are difficult to counterfeit.
At a retail store, a consumer that selects the product for purchase at step 830 may be offered a discount if a mobile device scans the product packaging and extracts the hidden CBLTT data at step 840. The mobile device captures an image of the product packaging and determines if the image contains hidden CBLTT data using the inverse CBLTT. If so, the discount promotion may be offered to the user. In other embodiments, decoding of the hidden CBLTT data may confirm authenticity of the product, return an image, video, text, audio, and/or hyperlink to the mobile device, and/or return software to the mobile device which directs the phone to act on the software, etc. At step 850, the hidden CBLTT data and associated data gathered by the application may then be transmitted to an external server of the product manufacturer, retailer, etc. for consumer analytics purposes and may be used, for example, to generate shopping trend reports.
The extracted CBLTT data and associated data transmitted by the mobile device may undergo complete back-end analytics. For example, the hidden CBLTT data transmitted to a network operations center may be analyzed to track hidden CBLTT data usage on a worldwide basis as shown in
In another implementation, the hidden CBLTT data embedded into a product provides supply chain tracking and authentication. Each level of a supply chain (e.g., raw materials, supplier, manufacturing, distribution, customer and consumer) may include a product or article embedded with the hidden CBLTT data. For example, the product at each level of the supply chain may be marked with different hidden CBLTT data, thereby allowing precise tracking and authentication of the product throughout the supply chain. In supply chain 1100 of
As shown in
In the embodiment of
The system and method of the present invention described herein may be implemented in any type of computer system or programming or processing environment including personal computing devices, smart-phones, pad computers, cameras, scanners, augmented reality systems and the like. The methods described herein may be implemented as instructions in software code or hardware and may be executed by any suitable microprocessor, central processing unit (CPU) or the like, and may be embodied in any form of computer program product, meaning any medium or memory such as RAM, ROM or the like, that is configured to store or transport computer readable code, or in which computer readable code may be embedded.
Application code may be embodied in any form of computer program product. A computer program product comprises a medium configured to store or transport computer readable code, or in which computer readable code may be embedded. Some examples of computer program products are CD-ROM disks, ROM cards, floppy disks, magnetic tapes, computer hard drives, servers on a network, and carrier waves.
As disclosed herein, features consistent with the present inventions may be implemented via computer-hardware, software and/or firmware. For example, the systems and methods disclosed herein may be embodied in various forms including, for example, a data processor, such as a computer that also includes a database, digital electronic circuitry, firmware, software, computer networks, servers, or in combinations of them. Further, while some of the disclosed implementations describe specific hardware components, systems and methods consistent with the innovations herein may be implemented with any combination of hardware, software and/or firmware. Moreover, the above-noted features and other aspects and principles of the innovations herein may be implemented in various environments. Such environments and related applications may be specially constructed for performing the various routines, processes and/or operations according to the invention or they may include a general-purpose computer or computing platform selectively activated or reconfigured by code to provide the necessary functionality. The processes disclosed herein are not inherently related to any particular computer, network, architecture, environment, or other apparatus, and may be implemented by a suitable combination of hardware, software, and/or firmware. For example, various general-purpose machines may be used with programs written in accordance with teachings of the invention, or it may be more convenient to construct a specialized apparatus or system to perform the required methods and techniques.
It should also be noted that the various logic and/or functions disclosed herein may be enabled using any number of combinations of hardware, firmware, and/or as data and/or instructions embodied in various machine-readable or computer-readable media, in terms of their behavioral, register transfer, logic component, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, and so on).
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
This application claims the benefit of priority of U.S. Provisional application Ser. No. 61/944,833, filed on Feb. 26, 2014, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61944833 | Feb 2014 | US |